@stonecrop/graphql-middleware 0.7.0 → 0.7.2

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/dist/index.cjs CHANGED
@@ -1,33 +1,33 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const j=require("zod"),ce=require("node:fs"),Pe=require("node:path"),de=require("postgraphile/utils"),ge=j.z.enum(["Data","Text","Int","Float","Decimal","Check","Date","Time","Datetime","Duration","DateRange","JSON","Code","Link","Doctype","Attach","Currency","Quantity","Select"]),Ae={Data:{component:"ATextInput",fieldtype:"Data"},Text:{component:"ATextInput",fieldtype:"Text"},Int:{component:"ANumericInput",fieldtype:"Int"},Float:{component:"ANumericInput",fieldtype:"Float"},Decimal:{component:"ADecimalInput",fieldtype:"Decimal"},Check:{component:"ACheckbox",fieldtype:"Check"},Date:{component:"ADatePicker",fieldtype:"Date"},Time:{component:"ATimeInput",fieldtype:"Time"},Datetime:{component:"ADatetimePicker",fieldtype:"Datetime"},Duration:{component:"ADurationInput",fieldtype:"Duration"},DateRange:{component:"ADateRangePicker",fieldtype:"DateRange"},JSON:{component:"ACodeEditor",fieldtype:"JSON"},Code:{component:"ACodeEditor",fieldtype:"Code"},Link:{component:"ALink",fieldtype:"Link"},Doctype:{component:"ATable",fieldtype:"Doctype"},Attach:{component:"AFileAttach",fieldtype:"Attach"},Currency:{component:"ACurrencyInput",fieldtype:"Currency"},Quantity:{component:"AQuantityInput",fieldtype:"Quantity"},Select:{component:"ADropdown",fieldtype:"Select"}};function Fe(y){return Ae[y]?.component??"ATextInput"}const ve=j.z.union([j.z.string(),j.z.array(j.z.string()),j.z.record(j.z.string(),j.z.unknown())]),Ee=j.z.object({errorMessage:j.z.string()}).passthrough(),le=j.z.object({fieldname:j.z.string().min(1),fieldtype:ge,component:j.z.string().optional(),label:j.z.string().optional(),width:j.z.string().optional(),align:j.z.enum(["left","center","right","start","end"]).optional(),required:j.z.boolean().optional(),readOnly:j.z.boolean().optional(),edit:j.z.boolean().optional(),hidden:j.z.boolean().optional(),value:j.z.unknown().optional(),default:j.z.unknown().optional(),options:ve.optional(),mask:j.z.string().optional(),validation:Ee.optional()}),Te=j.z.object({label:j.z.string().min(1),handler:j.z.string().min(1),requiredFields:j.z.array(j.z.string()).optional(),allowedStates:j.z.array(j.z.string()).optional(),confirm:j.z.boolean().optional(),args:j.z.record(j.z.string(),j.z.unknown()).optional()}),Se=j.z.object({states:j.z.array(j.z.string()).optional(),actions:j.z.record(j.z.string(),Te).optional()}),_e=j.z.object({name:j.z.string().min(1),slug:j.z.string().min(1).optional(),tableName:j.z.string().optional(),fields:j.z.array(le),workflow:Se.optional(),inherits:j.z.string().optional(),listDoctype:j.z.string().optional(),parentDoctype:j.z.string().optional()});function Be(y){const _=le.safeParse(y);return _.success?{success:!0,errors:[]}:{success:!1,errors:_.error.issues.map(p=>({path:p.path,message:p.message}))}}function be(y){const _=_e.safeParse(y);return _.success?{success:!0,errors:[]}:{success:!1,errors:_.error.issues.map(p=>({path:p.path,message:p.message}))}}function He(y){return le.parse(y)}function ue(y){return _e.parse(y)}var fe={},me={exports:{}},Ge=me.exports,xe;function We(){return xe||(xe=1,(function(y){(function(_,p){y.exports?y.exports=p():_.moo=p()})(Ge,function(){var _=Object.prototype.hasOwnProperty,p=Object.prototype.toString,h=typeof new RegExp().sticky=="boolean";function l(t){return t&&p.call(t)==="[object RegExp]"}function r(t){return t&&typeof t=="object"&&!l(t)&&!Array.isArray(t)}function n(t){return t.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&")}function u(t){var c=new RegExp("|"+t);return c.exec("").length-1}function g(t){return"("+t+")"}function x(t){if(!t.length)return"(?!)";var c=t.map(function(f){return"(?:"+f+")"}).join("|");return"(?:"+c+")"}function s(t){if(typeof t=="string")return"(?:"+n(t)+")";if(l(t)){if(t.ignoreCase)throw new Error("RegExp /i flag not allowed");if(t.global)throw new Error("RegExp /g flag is implied");if(t.sticky)throw new Error("RegExp /y flag is implied");if(t.multiline)throw new Error("RegExp /m flag is implied");return t.source}else throw new Error("Not a pattern: "+t)}function $(t,c){return t.length>c?t:Array(c-t.length+1).join(" ")+t}function i(t,c){for(var f=t.length,A=0;;){var q=t.lastIndexOf(`
2
- `,f-1);if(q===-1||(A++,f=q,A===c)||f===0)break}var R=A<c?0:f+1;return t.substring(R).split(`
3
- `)}function a(t){for(var c=Object.getOwnPropertyNames(t),f=[],A=0;A<c.length;A++){var q=c[A],R=t[q],O=[].concat(R);if(q==="include"){for(var F=0;F<O.length;F++)f.push({include:O[F]});continue}var z=[];O.forEach(function(I){r(I)?(z.length&&f.push(b(q,z)),f.push(b(q,I)),z=[]):z.push(I)}),z.length&&f.push(b(q,z))}return f}function m(t){for(var c=[],f=0;f<t.length;f++){var A=t[f];if(A.include){for(var q=[].concat(A.include),R=0;R<q.length;R++)c.push({include:q[R]});continue}if(!A.type)throw new Error("Rule has no type: "+JSON.stringify(A));c.push(b(A.type,A))}return c}function b(t,c){if(r(c)||(c={match:c}),c.include)throw new Error("Matching rules cannot also include states");var f={defaultType:t,lineBreaks:!!c.error||!!c.fallback,pop:!1,next:null,push:null,error:!1,fallback:!1,value:null,type:null,shouldThrow:!1};for(var A in c)_.call(c,A)&&(f[A]=c[A]);if(typeof f.type=="string"&&t!==f.type)throw new Error("Type transform cannot be a string (type '"+f.type+"' for token '"+t+"')");var q=f.match;return f.match=Array.isArray(q)?q:q?[q]:[],f.match.sort(function(R,O){return l(R)&&l(O)?0:l(O)?-1:l(R)?1:O.length-R.length}),f}function d(t){return Array.isArray(t)?m(t):a(t)}var E=b("error",{lineBreaks:!0,shouldThrow:!0});function C(t,c){for(var f=null,A=Object.create(null),q=!0,R=null,O=[],F=[],z=0;z<t.length;z++)t[z].fallback&&(q=!1);for(var z=0;z<t.length;z++){var I=t[z];if(I.include)throw new Error("Inheritance is not allowed in stateless lexers");if(I.error||I.fallback){if(f)throw!I.fallback==!f.fallback?new Error("Multiple "+(I.fallback?"fallback":"error")+" rules not allowed (for token '"+I.defaultType+"')"):new Error("fallback and error are mutually exclusive (for token '"+I.defaultType+"')");f=I}var B=I.match.slice();if(q)for(;B.length&&typeof B[0]=="string"&&B[0].length===1;){var X=B.shift();A[X.charCodeAt(0)]=I}if(I.pop||I.push||I.next){if(!c)throw new Error("State-switching options are not allowed in stateless lexers (for token '"+I.defaultType+"')");if(I.fallback)throw new Error("State-switching options are not allowed on fallback tokens (for token '"+I.defaultType+"')")}if(B.length!==0){q=!1,O.push(I);for(var J=0;J<B.length;J++){var Q=B[J];if(l(Q)){if(R===null)R=Q.unicode;else if(R!==Q.unicode&&I.fallback===!1)throw new Error("If one rule is /u then all must be")}}var K=x(B.map(s)),G=new RegExp(K);if(G.test(""))throw new Error("RegExp matches empty string: "+G);var ee=u(K);if(ee>0)throw new Error("RegExp has capture groups: "+G+`
4
- Use (?: … ) instead`);if(!I.lineBreaks&&G.test(`
5
- `))throw new Error("Rule should declare lineBreaks: "+G);F.push(g(K))}}var Z=f&&f.fallback,se=h&&!Z?"ym":"gm",ne=h||Z?"":"|";R===!0&&(se+="u");var ze=new RegExp(x(F)+ne,se);return{regexp:ze,groups:O,fast:A,error:f||E}}function L(t){var c=C(d(t));return new N({start:c},"start")}function w(t,c,f){var A=t&&(t.push||t.next);if(A&&!f[A])throw new Error("Missing state '"+A+"' (in token '"+t.defaultType+"' of state '"+c+"')");if(t&&t.pop&&+t.pop!=1)throw new Error("pop must be 1 (in token '"+t.defaultType+"' of state '"+c+"')")}function k(t,c){var f=t.$all?d(t.$all):[];delete t.$all;var A=Object.getOwnPropertyNames(t);c||(c=A[0]);for(var q=Object.create(null),R=0;R<A.length;R++){var O=A[R];q[O]=d(t[O]).concat(f)}for(var R=0;R<A.length;R++)for(var O=A[R],F=q[O],z=Object.create(null),I=0;I<F.length;I++){var B=F[I];if(B.include){var X=[I,1];if(B.include!==O&&!z[B.include]){z[B.include]=!0;var J=q[B.include];if(!J)throw new Error("Cannot include nonexistent state '"+B.include+"' (in state '"+O+"')");for(var Q=0;Q<J.length;Q++){var K=J[Q];F.indexOf(K)===-1&&X.push(K)}}F.splice.apply(F,X),I--}}for(var G=Object.create(null),R=0;R<A.length;R++){var O=A[R];G[O]=C(q[O],!0)}for(var R=0;R<A.length;R++){for(var ee=A[R],Z=G[ee],se=Z.groups,I=0;I<se.length;I++)w(se[I],ee,G);for(var ne=Object.getOwnPropertyNames(Z.fast),I=0;I<ne.length;I++)w(Z.fast[ne[I]],ee,G)}return new N(G,c)}function v(t){for(var c=typeof Map<"u",f=c?new Map:Object.create(null),A=Object.getOwnPropertyNames(t),q=0;q<A.length;q++){var R=A[q],O=t[R],F=Array.isArray(O)?O:[O];F.forEach(function(z){if(typeof z!="string")throw new Error("keyword must be string (in keyword '"+R+"')");c?f.set(z,R):f[z]=R})}return function(z){return c?f.get(z):f[z]}}var N=function(t,c){this.startState=c,this.states=t,this.buffer="",this.stack=[],this.reset()};N.prototype.reset=function(t,c){return this.buffer=t||"",this.index=0,this.line=c?c.line:1,this.col=c?c.col:1,this.queuedToken=c?c.queuedToken:null,this.queuedText=c?c.queuedText:"",this.queuedThrow=c?c.queuedThrow:null,this.setState(c?c.state:this.startState),this.stack=c&&c.stack?c.stack.slice():[],this},N.prototype.save=function(){return{line:this.line,col:this.col,state:this.state,stack:this.stack.slice(),queuedToken:this.queuedToken,queuedText:this.queuedText,queuedThrow:this.queuedThrow}},N.prototype.setState=function(t){if(!(!t||this.state===t)){this.state=t;var c=this.states[t];this.groups=c.groups,this.error=c.error,this.re=c.regexp,this.fast=c.fast}},N.prototype.popState=function(){this.setState(this.stack.pop())},N.prototype.pushState=function(t){this.stack.push(this.state),this.setState(t)};var U=h?function(t,c){return t.exec(c)}:function(t,c){var f=t.exec(c);return f[0].length===0?null:f};N.prototype._getGroup=function(t){for(var c=this.groups.length,f=0;f<c;f++)if(t[f+1]!==void 0)return this.groups[f];throw new Error("Cannot find token type for matched text")};function e(){return this.value}if(N.prototype.next=function(){var t=this.index;if(this.queuedGroup){var c=this._token(this.queuedGroup,this.queuedText,t);return this.queuedGroup=null,this.queuedText="",c}var f=this.buffer;if(t!==f.length){var O=this.fast[f.charCodeAt(t)];if(O)return this._token(O,f.charAt(t),t);var A=this.re;A.lastIndex=t;var q=U(A,f),R=this.error;if(q==null)return this._token(R,f.slice(t,f.length),t);var O=this._getGroup(q),F=q[0];return R.fallback&&q.index!==t?(this.queuedGroup=O,this.queuedText=F,this._token(R,f.slice(t,q.index),t)):this._token(O,F,t)}},N.prototype._token=function(t,c,f){var A=0;if(t.lineBreaks){var q=/\n/g,R=1;if(c===`
6
- `)A=1;else for(;q.exec(c);)A++,R=q.lastIndex}var O={type:typeof t.type=="function"&&t.type(c)||t.defaultType,value:typeof t.value=="function"?t.value(c):c,text:c,toString:e,offset:f,lineBreaks:A,line:this.line,col:this.col},F=c.length;if(this.index+=F,this.line+=A,A!==0?this.col=F-R+1:this.col+=F,t.shouldThrow){var z=new Error(this.formatError(O,"invalid syntax"));throw z}return t.pop?this.popState():t.push?this.pushState(t.push):t.next&&this.setState(t.next),O},typeof Symbol<"u"&&Symbol.iterator){var o=function(t){this.lexer=t};o.prototype.next=function(){var t=this.lexer.next();return{value:t,done:!t}},o.prototype[Symbol.iterator]=function(){return this},N.prototype[Symbol.iterator]=function(){return new o(this)}}return N.prototype.formatError=function(A,c){if(A==null)var f=this.buffer.slice(this.index),A={text:f,offset:this.index,lineBreaks:f.indexOf(`
7
- `)===-1?0:1,line:this.line,col:this.col};var q=2,R=Math.max(A.line-q,1),O=A.line+q,F=String(O).length,z=i(this.buffer,this.line-A.line+q+1).slice(0,5),I=[];I.push(c+" at line "+A.line+" col "+A.col+":"),I.push("");for(var B=0;B<z.length;B++){var X=z[B],J=R+B;I.push($(String(J),F)+" "+X),J===A.line&&I.push($("",F+A.col+1)+"^")}return I.join(`
8
- `)},N.prototype.clone=function(){return new N(this.states,this.state)},N.prototype.has=function(t){return!0},{compile:L,states:k,error:Object.freeze({error:!0}),fallback:Object.freeze({fallback:!0}),keywords:v}})})(me)),me.exports}var ie={exports:{}},Ve=ie.exports,we;function Ye(){return we||(we=1,(function(y){(function(_,p){y.exports?y.exports=p():_.nearley=p()})(Ve,function(){function _(x,s,$){return this.id=++_.highestId,this.name=x,this.symbols=s,this.postprocess=$,this}_.highestId=0,_.prototype.toString=function(x){var s=typeof x>"u"?this.symbols.map(g).join(" "):this.symbols.slice(0,x).map(g).join(" ")+" ● "+this.symbols.slice(x).map(g).join(" ");return this.name+" → "+s};function p(x,s,$,i){this.rule=x,this.dot=s,this.reference=$,this.data=[],this.wantedBy=i,this.isComplete=this.dot===x.symbols.length}p.prototype.toString=function(){return"{"+this.rule.toString(this.dot)+"}, from: "+(this.reference||0)},p.prototype.nextState=function(x){var s=new p(this.rule,this.dot+1,this.reference,this.wantedBy);return s.left=this,s.right=x,s.isComplete&&(s.data=s.build(),s.right=void 0),s},p.prototype.build=function(){var x=[],s=this;do x.push(s.right.data),s=s.left;while(s.left);return x.reverse(),x},p.prototype.finish=function(){this.rule.postprocess&&(this.data=this.rule.postprocess(this.data,this.reference,n.fail))};function h(x,s){this.grammar=x,this.index=s,this.states=[],this.wants={},this.scannable=[],this.completed={}}h.prototype.process=function(x){for(var s=this.states,$=this.wants,i=this.completed,a=0;a<s.length;a++){var m=s[a];if(m.isComplete){if(m.finish(),m.data!==n.fail){for(var b=m.wantedBy,d=b.length;d--;){var E=b[d];this.complete(E,m)}if(m.reference===this.index){var C=m.rule.name;(this.completed[C]=this.completed[C]||[]).push(m)}}}else{var C=m.rule.symbols[m.dot];if(typeof C!="string"){this.scannable.push(m);continue}if($[C]){if($[C].push(m),i.hasOwnProperty(C))for(var L=i[C],d=0;d<L.length;d++){var w=L[d];this.complete(m,w)}}else $[C]=[m],this.predict(C)}}},h.prototype.predict=function(x){for(var s=this.grammar.byName[x]||[],$=0;$<s.length;$++){var i=s[$],a=this.wants[x],m=new p(i,0,this.index,a);this.states.push(m)}},h.prototype.complete=function(x,s){var $=x.nextState(s);this.states.push($)};function l(x,s){this.rules=x,this.start=s||this.rules[0].name;var $=this.byName={};this.rules.forEach(function(i){$.hasOwnProperty(i.name)||($[i.name]=[]),$[i.name].push(i)})}l.fromCompiled=function(i,s){var $=i.Lexer;i.ParserStart&&(s=i.ParserStart,i=i.ParserRules);var i=i.map(function(m){return new _(m.name,m.symbols,m.postprocess)}),a=new l(i,s);return a.lexer=$,a};function r(){this.reset("")}r.prototype.reset=function(x,s){this.buffer=x,this.index=0,this.line=s?s.line:1,this.lastLineBreak=s?-s.col:0},r.prototype.next=function(){if(this.index<this.buffer.length){var x=this.buffer[this.index++];return x===`
9
- `&&(this.line+=1,this.lastLineBreak=this.index),{value:x}}},r.prototype.save=function(){return{line:this.line,col:this.index-this.lastLineBreak}},r.prototype.formatError=function(x,s){var $=this.buffer;if(typeof $=="string"){var i=$.split(`
10
- `).slice(Math.max(0,this.line-5),this.line),a=$.indexOf(`
11
- `,this.index);a===-1&&(a=$.length);var m=this.index-this.lastLineBreak,b=String(this.line).length;return s+=" at line "+this.line+" col "+m+`:
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const Je=require("node:fs"),st=require("node:path"),_s=require("postgraphile/utils"),ue=require("postgraphile/grafast");var X;(function(p){p.assertEqual=o=>{};function t(o){}p.assertIs=t;function n(o){throw new Error}p.assertNever=n,p.arrayToEnum=o=>{const s={};for(const l of o)s[l]=l;return s},p.getValidEnumValues=o=>{const s=p.objectKeys(o).filter(u=>typeof o[o[u]]!="number"),l={};for(const u of s)l[u]=o[u];return p.objectValues(l)},p.objectValues=o=>p.objectKeys(o).map(function(s){return o[s]}),p.objectKeys=typeof Object.keys=="function"?o=>Object.keys(o):o=>{const s=[];for(const l in o)Object.prototype.hasOwnProperty.call(o,l)&&s.push(l);return s},p.find=(o,s)=>{for(const l of o)if(s(l))return l},p.isInteger=typeof Number.isInteger=="function"?o=>Number.isInteger(o):o=>typeof o=="number"&&Number.isFinite(o)&&Math.floor(o)===o;function i(o,s=" | "){return o.map(l=>typeof l=="string"?`'${l}'`:l).join(s)}p.joinValues=i,p.jsonStringifyReplacer=(o,s)=>typeof s=="bigint"?s.toString():s})(X||(X={}));var $s;(function(p){p.mergeShapes=(t,n)=>({...t,...n})})($s||($s={}));const R=X.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]),_e=p=>{switch(typeof p){case"undefined":return R.undefined;case"string":return R.string;case"number":return Number.isNaN(p)?R.nan:R.number;case"boolean":return R.boolean;case"function":return R.function;case"bigint":return R.bigint;case"symbol":return R.symbol;case"object":return Array.isArray(p)?R.array:p===null?R.null:p.then&&typeof p.then=="function"&&p.catch&&typeof p.catch=="function"?R.promise:typeof Map<"u"&&p instanceof Map?R.map:typeof Set<"u"&&p instanceof Set?R.set:typeof Date<"u"&&p instanceof Date?R.date:R.object;default:return R.unknown}},A=X.arrayToEnum(["invalid_type","invalid_literal","custom","invalid_union","invalid_union_discriminator","invalid_enum_value","unrecognized_keys","invalid_arguments","invalid_return_type","invalid_date","invalid_string","too_small","too_big","invalid_intersection_types","not_multiple_of","not_finite"]);class me extends Error{get errors(){return this.issues}constructor(t){super(),this.issues=[],this.addIssue=i=>{this.issues=[...this.issues,i]},this.addIssues=(i=[])=>{this.issues=[...this.issues,...i]};const n=new.target.prototype;Object.setPrototypeOf?Object.setPrototypeOf(this,n):this.__proto__=n,this.name="ZodError",this.issues=t}format(t){const n=t||function(s){return s.message},i={_errors:[]},o=s=>{for(const l of s.issues)if(l.code==="invalid_union")l.unionErrors.map(o);else if(l.code==="invalid_return_type")o(l.returnTypeError);else if(l.code==="invalid_arguments")o(l.argumentsError);else if(l.path.length===0)i._errors.push(n(l));else{let u=i,w=0;for(;w<l.path.length;){const d=l.path[w];w===l.path.length-1?(u[d]=u[d]||{_errors:[]},u[d]._errors.push(n(l))):u[d]=u[d]||{_errors:[]},u=u[d],w++}}};return o(this),i}static assert(t){if(!(t instanceof me))throw new Error(`Not a ZodError: ${t}`)}toString(){return this.message}get message(){return JSON.stringify(this.issues,X.jsonStringifyReplacer,2)}get isEmpty(){return this.issues.length===0}flatten(t=n=>n.message){const n={},i=[];for(const o of this.issues)if(o.path.length>0){const s=o.path[0];n[s]=n[s]||[],n[s].push(t(o))}else i.push(t(o));return{formErrors:i,fieldErrors:n}}get formErrors(){return this.flatten()}}me.create=p=>new me(p);const Qe=(p,t)=>{let n;switch(p.code){case A.invalid_type:p.received===R.undefined?n="Required":n=`Expected ${p.expected}, received ${p.received}`;break;case A.invalid_literal:n=`Invalid literal value, expected ${JSON.stringify(p.expected,X.jsonStringifyReplacer)}`;break;case A.unrecognized_keys:n=`Unrecognized key(s) in object: ${X.joinValues(p.keys,", ")}`;break;case A.invalid_union:n="Invalid input";break;case A.invalid_union_discriminator:n=`Invalid discriminator value. Expected ${X.joinValues(p.options)}`;break;case A.invalid_enum_value:n=`Invalid enum value. Expected ${X.joinValues(p.options)}, received '${p.received}'`;break;case A.invalid_arguments:n="Invalid function arguments";break;case A.invalid_return_type:n="Invalid function return type";break;case A.invalid_date:n="Invalid date";break;case A.invalid_string:typeof p.validation=="object"?"includes"in p.validation?(n=`Invalid input: must include "${p.validation.includes}"`,typeof p.validation.position=="number"&&(n=`${n} at one or more positions greater than or equal to ${p.validation.position}`)):"startsWith"in p.validation?n=`Invalid input: must start with "${p.validation.startsWith}"`:"endsWith"in p.validation?n=`Invalid input: must end with "${p.validation.endsWith}"`:X.assertNever(p.validation):p.validation!=="regex"?n=`Invalid ${p.validation}`:n="Invalid";break;case A.too_small:p.type==="array"?n=`Array must contain ${p.exact?"exactly":p.inclusive?"at least":"more than"} ${p.minimum} element(s)`:p.type==="string"?n=`String must contain ${p.exact?"exactly":p.inclusive?"at least":"over"} ${p.minimum} character(s)`:p.type==="number"?n=`Number must be ${p.exact?"exactly equal to ":p.inclusive?"greater than or equal to ":"greater than "}${p.minimum}`:p.type==="bigint"?n=`Number must be ${p.exact?"exactly equal to ":p.inclusive?"greater than or equal to ":"greater than "}${p.minimum}`:p.type==="date"?n=`Date must be ${p.exact?"exactly equal to ":p.inclusive?"greater than or equal to ":"greater than "}${new Date(Number(p.minimum))}`:n="Invalid input";break;case A.too_big:p.type==="array"?n=`Array must contain ${p.exact?"exactly":p.inclusive?"at most":"less than"} ${p.maximum} element(s)`:p.type==="string"?n=`String must contain ${p.exact?"exactly":p.inclusive?"at most":"under"} ${p.maximum} character(s)`:p.type==="number"?n=`Number must be ${p.exact?"exactly":p.inclusive?"less than or equal to":"less than"} ${p.maximum}`:p.type==="bigint"?n=`BigInt must be ${p.exact?"exactly":p.inclusive?"less than or equal to":"less than"} ${p.maximum}`:p.type==="date"?n=`Date must be ${p.exact?"exactly":p.inclusive?"smaller than or equal to":"smaller than"} ${new Date(Number(p.maximum))}`:n="Invalid input";break;case A.custom:n="Invalid input";break;case A.invalid_intersection_types:n="Intersection results could not be merged";break;case A.not_multiple_of:n=`Number must be a multiple of ${p.multipleOf}`;break;case A.not_finite:n="Number must be finite";break;default:n=t.defaultError,X.assertNever(p)}return{message:n}};let tt=Qe;function rt(){return tt}const at=p=>{const{data:t,path:n,errorMaps:i,issueData:o}=p,s=[...n,...o.path||[]],l={...o,path:s};if(o.message!==void 0)return{...o,path:s,message:o.message};let u="";const w=i.filter(d=>!!d).slice().reverse();for(const d of w)u=d(l,{data:t,defaultError:u}).message;return{...o,path:s,message:u}};function C(p,t){const n=rt(),i=at({issueData:t,data:p.data,path:p.path,errorMaps:[p.common.contextualErrorMap,p.schemaErrorMap,n,n===Qe?void 0:Qe].filter(o=>!!o)});p.common.issues.push(i)}class re{constructor(){this.value="valid"}dirty(){this.value==="valid"&&(this.value="dirty")}abort(){this.value!=="aborted"&&(this.value="aborted")}static mergeArray(t,n){const i=[];for(const o of n){if(o.status==="aborted")return B;o.status==="dirty"&&t.dirty(),i.push(o.value)}return{status:t.value,value:i}}static async mergeObjectAsync(t,n){const i=[];for(const o of n){const s=await o.key,l=await o.value;i.push({key:s,value:l})}return re.mergeObjectSync(t,i)}static mergeObjectSync(t,n){const i={};for(const o of n){const{key:s,value:l}=o;if(s.status==="aborted"||l.status==="aborted")return B;s.status==="dirty"&&t.dirty(),l.status==="dirty"&&t.dirty(),s.value!=="__proto__"&&(typeof l.value<"u"||o.alwaysSet)&&(i[s.value]=l.value)}return{status:t.value,value:i}}}const B=Object.freeze({status:"aborted"}),Se=p=>({status:"dirty",value:p}),ae=p=>({status:"valid",value:p}),ys=p=>p.status==="aborted",bs=p=>p.status==="dirty",ke=p=>p.status==="valid",Ue=p=>typeof Promise<"u"&&p instanceof Promise;var q;(function(p){p.errToObj=t=>typeof t=="string"?{message:t}:t||{},p.toString=t=>typeof t=="string"?t:t?.message})(q||(q={}));class pe{constructor(t,n,i,o){this._cachedPath=[],this.parent=t,this.data=n,this._path=i,this._key=o}get path(){return this._cachedPath.length||(Array.isArray(this._key)?this._cachedPath.push(...this._path,...this._key):this._cachedPath.push(...this._path,this._key)),this._cachedPath}}const ds=(p,t)=>{if(ke(t))return{success:!0,data:t.value};if(!p.common.issues.length)throw new Error("Validation failed but no issues detected.");return{success:!1,get error(){if(this._error)return this._error;const n=new me(p.common.issues);return this._error=n,this._error}}};function V(p){if(!p)return{};const{errorMap:t,invalid_type_error:n,required_error:i,description:o}=p;if(t&&(n||i))throw new Error(`Can't use "invalid_type_error" or "required_error" in conjunction with custom error map.`);return t?{errorMap:t,description:o}:{errorMap:(l,u)=>{const{message:w}=p;return l.code==="invalid_enum_value"?{message:w??u.defaultError}:typeof u.data>"u"?{message:w??i??u.defaultError}:l.code!=="invalid_type"?{message:u.defaultError}:{message:w??n??u.defaultError}},description:o}}class J{get description(){return this._def.description}_getType(t){return _e(t.data)}_getOrReturnCtx(t,n){return n||{common:t.parent.common,data:t.data,parsedType:_e(t.data),schemaErrorMap:this._def.errorMap,path:t.path,parent:t.parent}}_processInputParams(t){return{status:new re,ctx:{common:t.parent.common,data:t.data,parsedType:_e(t.data),schemaErrorMap:this._def.errorMap,path:t.path,parent:t.parent}}}_parseSync(t){const n=this._parse(t);if(Ue(n))throw new Error("Synchronous parse encountered promise.");return n}_parseAsync(t){const n=this._parse(t);return Promise.resolve(n)}parse(t,n){const i=this.safeParse(t,n);if(i.success)return i.data;throw i.error}safeParse(t,n){const i={common:{issues:[],async:n?.async??!1,contextualErrorMap:n?.errorMap},path:n?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:t,parsedType:_e(t)},o=this._parseSync({data:t,path:i.path,parent:i});return ds(i,o)}"~validate"(t){const n={common:{issues:[],async:!!this["~standard"].async},path:[],schemaErrorMap:this._def.errorMap,parent:null,data:t,parsedType:_e(t)};if(!this["~standard"].async)try{const i=this._parseSync({data:t,path:[],parent:n});return ke(i)?{value:i.value}:{issues:n.common.issues}}catch(i){i?.message?.toLowerCase()?.includes("encountered")&&(this["~standard"].async=!0),n.common={issues:[],async:!0}}return this._parseAsync({data:t,path:[],parent:n}).then(i=>ke(i)?{value:i.value}:{issues:n.common.issues})}async parseAsync(t,n){const i=await this.safeParseAsync(t,n);if(i.success)return i.data;throw i.error}async safeParseAsync(t,n){const i={common:{issues:[],contextualErrorMap:n?.errorMap,async:!0},path:n?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:t,parsedType:_e(t)},o=this._parse({data:t,path:i.path,parent:i}),s=await(Ue(o)?o:Promise.resolve(o));return ds(i,s)}refine(t,n){const i=o=>typeof n=="string"||typeof n>"u"?{message:n}:typeof n=="function"?n(o):n;return this._refinement((o,s)=>{const l=t(o),u=()=>s.addIssue({code:A.custom,...i(o)});return typeof Promise<"u"&&l instanceof Promise?l.then(w=>w?!0:(u(),!1)):l?!0:(u(),!1)})}refinement(t,n){return this._refinement((i,o)=>t(i)?!0:(o.addIssue(typeof n=="function"?n(i,o):n),!1))}_refinement(t){return new ve({schema:this,typeName:F.ZodEffects,effect:{type:"refinement",refinement:t}})}superRefine(t){return this._refinement(t)}constructor(t){this.spa=this.safeParseAsync,this._def=t,this.parse=this.parse.bind(this),this.safeParse=this.safeParse.bind(this),this.parseAsync=this.parseAsync.bind(this),this.safeParseAsync=this.safeParseAsync.bind(this),this.spa=this.spa.bind(this),this.refine=this.refine.bind(this),this.refinement=this.refinement.bind(this),this.superRefine=this.superRefine.bind(this),this.optional=this.optional.bind(this),this.nullable=this.nullable.bind(this),this.nullish=this.nullish.bind(this),this.array=this.array.bind(this),this.promise=this.promise.bind(this),this.or=this.or.bind(this),this.and=this.and.bind(this),this.transform=this.transform.bind(this),this.brand=this.brand.bind(this),this.default=this.default.bind(this),this.catch=this.catch.bind(this),this.describe=this.describe.bind(this),this.pipe=this.pipe.bind(this),this.readonly=this.readonly.bind(this),this.isNullable=this.isNullable.bind(this),this.isOptional=this.isOptional.bind(this),this["~standard"]={version:1,vendor:"zod",validate:n=>this["~validate"](n)}}optional(){return $e.create(this,this._def)}nullable(){return Ae.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return ce.create(this)}promise(){return Be.create(this,this._def)}or(t){return ze.create([this,t],this._def)}and(t){return Ze.create(this,t,this._def)}transform(t){return new ve({...V(this._def),schema:this,typeName:F.ZodEffects,effect:{type:"transform",transform:t}})}default(t){const n=typeof t=="function"?t:()=>t;return new ss({...V(this._def),innerType:this,defaultValue:n,typeName:F.ZodDefault})}brand(){return new Et({typeName:F.ZodBranded,type:this,...V(this._def)})}catch(t){const n=typeof t=="function"?t:()=>t;return new ts({...V(this._def),innerType:this,catchValue:n,typeName:F.ZodCatch})}describe(t){const n=this.constructor;return new n({...this._def,description:t})}pipe(t){return ls.create(this,t)}readonly(){return rs.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}}const nt=/^c[^\s-]{8,}$/i,ot=/^[0-9a-z]+$/,lt=/^[0-9A-HJKMNP-TV-Z]{26}$/i,ct=/^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/i,pt=/^[a-z0-9_-]{21}$/i,it=/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/,mt=/^[-+]?P(?!$)(?:(?:[-+]?\d+Y)|(?:[-+]?\d+[.,]\d+Y$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:(?:[-+]?\d+W)|(?:[-+]?\d+[.,]\d+W$))?(?:(?:[-+]?\d+D)|(?:[-+]?\d+[.,]\d+D$))?(?:T(?=[\d+-])(?:(?:[-+]?\d+H)|(?:[-+]?\d+[.,]\d+H$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:[-+]?\d+(?:[.,]\d+)?S)?)??$/,ut=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,_t="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$";let Ye;const $t=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,yt=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/(3[0-2]|[12]?[0-9])$/,bt=/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$/,dt=/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,ft=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,ht=/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,Is="((\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-((0[13578]|1[02])-(0[1-9]|[12]\\d|3[01])|(0[469]|11)-(0[1-9]|[12]\\d|30)|(02)-(0[1-9]|1\\d|2[0-8])))",xt=new RegExp(`^${Is}$`);function qs(p){let t="[0-5]\\d";p.precision?t=`${t}\\.\\d{${p.precision}}`:p.precision==null&&(t=`${t}(\\.\\d+)?`);const n=p.precision?"+":"?";return`([01]\\d|2[0-3]):[0-5]\\d(:${t})${n}`}function wt(p){return new RegExp(`^${qs(p)}$`)}function kt(p){let t=`${Is}T${qs(p)}`;const n=[];return n.push(p.local?"Z?":"Z"),p.offset&&n.push("([+-]\\d{2}:?\\d{2})"),t=`${t}(${n.join("|")})`,new RegExp(`^${t}$`)}function gt(p,t){return!!((t==="v4"||!t)&&$t.test(p)||(t==="v6"||!t)&&bt.test(p))}function vt(p,t){if(!it.test(p))return!1;try{const[n]=p.split(".");if(!n)return!1;const i=n.replace(/-/g,"+").replace(/_/g,"/").padEnd(n.length+(4-n.length%4)%4,"="),o=JSON.parse(atob(i));return!(typeof o!="object"||o===null||"typ"in o&&o?.typ!=="JWT"||!o.alg||t&&o.alg!==t)}catch{return!1}}function At(p,t){return!!((t==="v4"||!t)&&yt.test(p)||(t==="v6"||!t)&&dt.test(p))}class ie extends J{_parse(t){if(this._def.coerce&&(t.data=String(t.data)),this._getType(t)!==R.string){const s=this._getOrReturnCtx(t);return C(s,{code:A.invalid_type,expected:R.string,received:s.parsedType}),B}const i=new re;let o;for(const s of this._def.checks)if(s.kind==="min")t.data.length<s.value&&(o=this._getOrReturnCtx(t,o),C(o,{code:A.too_small,minimum:s.value,type:"string",inclusive:!0,exact:!1,message:s.message}),i.dirty());else if(s.kind==="max")t.data.length>s.value&&(o=this._getOrReturnCtx(t,o),C(o,{code:A.too_big,maximum:s.value,type:"string",inclusive:!0,exact:!1,message:s.message}),i.dirty());else if(s.kind==="length"){const l=t.data.length>s.value,u=t.data.length<s.value;(l||u)&&(o=this._getOrReturnCtx(t,o),l?C(o,{code:A.too_big,maximum:s.value,type:"string",inclusive:!0,exact:!0,message:s.message}):u&&C(o,{code:A.too_small,minimum:s.value,type:"string",inclusive:!0,exact:!0,message:s.message}),i.dirty())}else if(s.kind==="email")ut.test(t.data)||(o=this._getOrReturnCtx(t,o),C(o,{validation:"email",code:A.invalid_string,message:s.message}),i.dirty());else if(s.kind==="emoji")Ye||(Ye=new RegExp(_t,"u")),Ye.test(t.data)||(o=this._getOrReturnCtx(t,o),C(o,{validation:"emoji",code:A.invalid_string,message:s.message}),i.dirty());else if(s.kind==="uuid")ct.test(t.data)||(o=this._getOrReturnCtx(t,o),C(o,{validation:"uuid",code:A.invalid_string,message:s.message}),i.dirty());else if(s.kind==="nanoid")pt.test(t.data)||(o=this._getOrReturnCtx(t,o),C(o,{validation:"nanoid",code:A.invalid_string,message:s.message}),i.dirty());else if(s.kind==="cuid")nt.test(t.data)||(o=this._getOrReturnCtx(t,o),C(o,{validation:"cuid",code:A.invalid_string,message:s.message}),i.dirty());else if(s.kind==="cuid2")ot.test(t.data)||(o=this._getOrReturnCtx(t,o),C(o,{validation:"cuid2",code:A.invalid_string,message:s.message}),i.dirty());else if(s.kind==="ulid")lt.test(t.data)||(o=this._getOrReturnCtx(t,o),C(o,{validation:"ulid",code:A.invalid_string,message:s.message}),i.dirty());else if(s.kind==="url")try{new URL(t.data)}catch{o=this._getOrReturnCtx(t,o),C(o,{validation:"url",code:A.invalid_string,message:s.message}),i.dirty()}else s.kind==="regex"?(s.regex.lastIndex=0,s.regex.test(t.data)||(o=this._getOrReturnCtx(t,o),C(o,{validation:"regex",code:A.invalid_string,message:s.message}),i.dirty())):s.kind==="trim"?t.data=t.data.trim():s.kind==="includes"?t.data.includes(s.value,s.position)||(o=this._getOrReturnCtx(t,o),C(o,{code:A.invalid_string,validation:{includes:s.value,position:s.position},message:s.message}),i.dirty()):s.kind==="toLowerCase"?t.data=t.data.toLowerCase():s.kind==="toUpperCase"?t.data=t.data.toUpperCase():s.kind==="startsWith"?t.data.startsWith(s.value)||(o=this._getOrReturnCtx(t,o),C(o,{code:A.invalid_string,validation:{startsWith:s.value},message:s.message}),i.dirty()):s.kind==="endsWith"?t.data.endsWith(s.value)||(o=this._getOrReturnCtx(t,o),C(o,{code:A.invalid_string,validation:{endsWith:s.value},message:s.message}),i.dirty()):s.kind==="datetime"?kt(s).test(t.data)||(o=this._getOrReturnCtx(t,o),C(o,{code:A.invalid_string,validation:"datetime",message:s.message}),i.dirty()):s.kind==="date"?xt.test(t.data)||(o=this._getOrReturnCtx(t,o),C(o,{code:A.invalid_string,validation:"date",message:s.message}),i.dirty()):s.kind==="time"?wt(s).test(t.data)||(o=this._getOrReturnCtx(t,o),C(o,{code:A.invalid_string,validation:"time",message:s.message}),i.dirty()):s.kind==="duration"?mt.test(t.data)||(o=this._getOrReturnCtx(t,o),C(o,{validation:"duration",code:A.invalid_string,message:s.message}),i.dirty()):s.kind==="ip"?gt(t.data,s.version)||(o=this._getOrReturnCtx(t,o),C(o,{validation:"ip",code:A.invalid_string,message:s.message}),i.dirty()):s.kind==="jwt"?vt(t.data,s.alg)||(o=this._getOrReturnCtx(t,o),C(o,{validation:"jwt",code:A.invalid_string,message:s.message}),i.dirty()):s.kind==="cidr"?At(t.data,s.version)||(o=this._getOrReturnCtx(t,o),C(o,{validation:"cidr",code:A.invalid_string,message:s.message}),i.dirty()):s.kind==="base64"?ft.test(t.data)||(o=this._getOrReturnCtx(t,o),C(o,{validation:"base64",code:A.invalid_string,message:s.message}),i.dirty()):s.kind==="base64url"?ht.test(t.data)||(o=this._getOrReturnCtx(t,o),C(o,{validation:"base64url",code:A.invalid_string,message:s.message}),i.dirty()):X.assertNever(s);return{status:i.value,value:t.data}}_regex(t,n,i){return this.refinement(o=>t.test(o),{validation:n,code:A.invalid_string,...q.errToObj(i)})}_addCheck(t){return new ie({...this._def,checks:[...this._def.checks,t]})}email(t){return this._addCheck({kind:"email",...q.errToObj(t)})}url(t){return this._addCheck({kind:"url",...q.errToObj(t)})}emoji(t){return this._addCheck({kind:"emoji",...q.errToObj(t)})}uuid(t){return this._addCheck({kind:"uuid",...q.errToObj(t)})}nanoid(t){return this._addCheck({kind:"nanoid",...q.errToObj(t)})}cuid(t){return this._addCheck({kind:"cuid",...q.errToObj(t)})}cuid2(t){return this._addCheck({kind:"cuid2",...q.errToObj(t)})}ulid(t){return this._addCheck({kind:"ulid",...q.errToObj(t)})}base64(t){return this._addCheck({kind:"base64",...q.errToObj(t)})}base64url(t){return this._addCheck({kind:"base64url",...q.errToObj(t)})}jwt(t){return this._addCheck({kind:"jwt",...q.errToObj(t)})}ip(t){return this._addCheck({kind:"ip",...q.errToObj(t)})}cidr(t){return this._addCheck({kind:"cidr",...q.errToObj(t)})}datetime(t){return typeof t=="string"?this._addCheck({kind:"datetime",precision:null,offset:!1,local:!1,message:t}):this._addCheck({kind:"datetime",precision:typeof t?.precision>"u"?null:t?.precision,offset:t?.offset??!1,local:t?.local??!1,...q.errToObj(t?.message)})}date(t){return this._addCheck({kind:"date",message:t})}time(t){return typeof t=="string"?this._addCheck({kind:"time",precision:null,message:t}):this._addCheck({kind:"time",precision:typeof t?.precision>"u"?null:t?.precision,...q.errToObj(t?.message)})}duration(t){return this._addCheck({kind:"duration",...q.errToObj(t)})}regex(t,n){return this._addCheck({kind:"regex",regex:t,...q.errToObj(n)})}includes(t,n){return this._addCheck({kind:"includes",value:t,position:n?.position,...q.errToObj(n?.message)})}startsWith(t,n){return this._addCheck({kind:"startsWith",value:t,...q.errToObj(n)})}endsWith(t,n){return this._addCheck({kind:"endsWith",value:t,...q.errToObj(n)})}min(t,n){return this._addCheck({kind:"min",value:t,...q.errToObj(n)})}max(t,n){return this._addCheck({kind:"max",value:t,...q.errToObj(n)})}length(t,n){return this._addCheck({kind:"length",value:t,...q.errToObj(n)})}nonempty(t){return this.min(1,q.errToObj(t))}trim(){return new ie({...this._def,checks:[...this._def.checks,{kind:"trim"}]})}toLowerCase(){return new ie({...this._def,checks:[...this._def.checks,{kind:"toLowerCase"}]})}toUpperCase(){return new ie({...this._def,checks:[...this._def.checks,{kind:"toUpperCase"}]})}get isDatetime(){return!!this._def.checks.find(t=>t.kind==="datetime")}get isDate(){return!!this._def.checks.find(t=>t.kind==="date")}get isTime(){return!!this._def.checks.find(t=>t.kind==="time")}get isDuration(){return!!this._def.checks.find(t=>t.kind==="duration")}get isEmail(){return!!this._def.checks.find(t=>t.kind==="email")}get isURL(){return!!this._def.checks.find(t=>t.kind==="url")}get isEmoji(){return!!this._def.checks.find(t=>t.kind==="emoji")}get isUUID(){return!!this._def.checks.find(t=>t.kind==="uuid")}get isNANOID(){return!!this._def.checks.find(t=>t.kind==="nanoid")}get isCUID(){return!!this._def.checks.find(t=>t.kind==="cuid")}get isCUID2(){return!!this._def.checks.find(t=>t.kind==="cuid2")}get isULID(){return!!this._def.checks.find(t=>t.kind==="ulid")}get isIP(){return!!this._def.checks.find(t=>t.kind==="ip")}get isCIDR(){return!!this._def.checks.find(t=>t.kind==="cidr")}get isBase64(){return!!this._def.checks.find(t=>t.kind==="base64")}get isBase64url(){return!!this._def.checks.find(t=>t.kind==="base64url")}get minLength(){let t=null;for(const n of this._def.checks)n.kind==="min"&&(t===null||n.value>t)&&(t=n.value);return t}get maxLength(){let t=null;for(const n of this._def.checks)n.kind==="max"&&(t===null||n.value<t)&&(t=n.value);return t}}ie.create=p=>new ie({checks:[],typeName:F.ZodString,coerce:p?.coerce??!1,...V(p)});function Tt(p,t){const n=(p.toString().split(".")[1]||"").length,i=(t.toString().split(".")[1]||"").length,o=n>i?n:i,s=Number.parseInt(p.toFixed(o).replace(".","")),l=Number.parseInt(t.toFixed(o).replace(".",""));return s%l/10**o}class Re extends J{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte,this.step=this.multipleOf}_parse(t){if(this._def.coerce&&(t.data=Number(t.data)),this._getType(t)!==R.number){const s=this._getOrReturnCtx(t);return C(s,{code:A.invalid_type,expected:R.number,received:s.parsedType}),B}let i;const o=new re;for(const s of this._def.checks)s.kind==="int"?X.isInteger(t.data)||(i=this._getOrReturnCtx(t,i),C(i,{code:A.invalid_type,expected:"integer",received:"float",message:s.message}),o.dirty()):s.kind==="min"?(s.inclusive?t.data<s.value:t.data<=s.value)&&(i=this._getOrReturnCtx(t,i),C(i,{code:A.too_small,minimum:s.value,type:"number",inclusive:s.inclusive,exact:!1,message:s.message}),o.dirty()):s.kind==="max"?(s.inclusive?t.data>s.value:t.data>=s.value)&&(i=this._getOrReturnCtx(t,i),C(i,{code:A.too_big,maximum:s.value,type:"number",inclusive:s.inclusive,exact:!1,message:s.message}),o.dirty()):s.kind==="multipleOf"?Tt(t.data,s.value)!==0&&(i=this._getOrReturnCtx(t,i),C(i,{code:A.not_multiple_of,multipleOf:s.value,message:s.message}),o.dirty()):s.kind==="finite"?Number.isFinite(t.data)||(i=this._getOrReturnCtx(t,i),C(i,{code:A.not_finite,message:s.message}),o.dirty()):X.assertNever(s);return{status:o.value,value:t.data}}gte(t,n){return this.setLimit("min",t,!0,q.toString(n))}gt(t,n){return this.setLimit("min",t,!1,q.toString(n))}lte(t,n){return this.setLimit("max",t,!0,q.toString(n))}lt(t,n){return this.setLimit("max",t,!1,q.toString(n))}setLimit(t,n,i,o){return new Re({...this._def,checks:[...this._def.checks,{kind:t,value:n,inclusive:i,message:q.toString(o)}]})}_addCheck(t){return new Re({...this._def,checks:[...this._def.checks,t]})}int(t){return this._addCheck({kind:"int",message:q.toString(t)})}positive(t){return this._addCheck({kind:"min",value:0,inclusive:!1,message:q.toString(t)})}negative(t){return this._addCheck({kind:"max",value:0,inclusive:!1,message:q.toString(t)})}nonpositive(t){return this._addCheck({kind:"max",value:0,inclusive:!0,message:q.toString(t)})}nonnegative(t){return this._addCheck({kind:"min",value:0,inclusive:!0,message:q.toString(t)})}multipleOf(t,n){return this._addCheck({kind:"multipleOf",value:t,message:q.toString(n)})}finite(t){return this._addCheck({kind:"finite",message:q.toString(t)})}safe(t){return this._addCheck({kind:"min",inclusive:!0,value:Number.MIN_SAFE_INTEGER,message:q.toString(t)})._addCheck({kind:"max",inclusive:!0,value:Number.MAX_SAFE_INTEGER,message:q.toString(t)})}get minValue(){let t=null;for(const n of this._def.checks)n.kind==="min"&&(t===null||n.value>t)&&(t=n.value);return t}get maxValue(){let t=null;for(const n of this._def.checks)n.kind==="max"&&(t===null||n.value<t)&&(t=n.value);return t}get isInt(){return!!this._def.checks.find(t=>t.kind==="int"||t.kind==="multipleOf"&&X.isInteger(t.value))}get isFinite(){let t=null,n=null;for(const i of this._def.checks){if(i.kind==="finite"||i.kind==="int"||i.kind==="multipleOf")return!0;i.kind==="min"?(n===null||i.value>n)&&(n=i.value):i.kind==="max"&&(t===null||i.value<t)&&(t=i.value)}return Number.isFinite(n)&&Number.isFinite(t)}}Re.create=p=>new Re({checks:[],typeName:F.ZodNumber,coerce:p?.coerce||!1,...V(p)});class Ie extends J{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte}_parse(t){if(this._def.coerce)try{t.data=BigInt(t.data)}catch{return this._getInvalidInput(t)}if(this._getType(t)!==R.bigint)return this._getInvalidInput(t);let i;const o=new re;for(const s of this._def.checks)s.kind==="min"?(s.inclusive?t.data<s.value:t.data<=s.value)&&(i=this._getOrReturnCtx(t,i),C(i,{code:A.too_small,type:"bigint",minimum:s.value,inclusive:s.inclusive,message:s.message}),o.dirty()):s.kind==="max"?(s.inclusive?t.data>s.value:t.data>=s.value)&&(i=this._getOrReturnCtx(t,i),C(i,{code:A.too_big,type:"bigint",maximum:s.value,inclusive:s.inclusive,message:s.message}),o.dirty()):s.kind==="multipleOf"?t.data%s.value!==BigInt(0)&&(i=this._getOrReturnCtx(t,i),C(i,{code:A.not_multiple_of,multipleOf:s.value,message:s.message}),o.dirty()):X.assertNever(s);return{status:o.value,value:t.data}}_getInvalidInput(t){const n=this._getOrReturnCtx(t);return C(n,{code:A.invalid_type,expected:R.bigint,received:n.parsedType}),B}gte(t,n){return this.setLimit("min",t,!0,q.toString(n))}gt(t,n){return this.setLimit("min",t,!1,q.toString(n))}lte(t,n){return this.setLimit("max",t,!0,q.toString(n))}lt(t,n){return this.setLimit("max",t,!1,q.toString(n))}setLimit(t,n,i,o){return new Ie({...this._def,checks:[...this._def.checks,{kind:t,value:n,inclusive:i,message:q.toString(o)}]})}_addCheck(t){return new Ie({...this._def,checks:[...this._def.checks,t]})}positive(t){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!1,message:q.toString(t)})}negative(t){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!1,message:q.toString(t)})}nonpositive(t){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!0,message:q.toString(t)})}nonnegative(t){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!0,message:q.toString(t)})}multipleOf(t,n){return this._addCheck({kind:"multipleOf",value:t,message:q.toString(n)})}get minValue(){let t=null;for(const n of this._def.checks)n.kind==="min"&&(t===null||n.value>t)&&(t=n.value);return t}get maxValue(){let t=null;for(const n of this._def.checks)n.kind==="max"&&(t===null||n.value<t)&&(t=n.value);return t}}Ie.create=p=>new Ie({checks:[],typeName:F.ZodBigInt,coerce:p?.coerce??!1,...V(p)});class Xe extends J{_parse(t){if(this._def.coerce&&(t.data=!!t.data),this._getType(t)!==R.boolean){const i=this._getOrReturnCtx(t);return C(i,{code:A.invalid_type,expected:R.boolean,received:i.parsedType}),B}return ae(t.data)}}Xe.create=p=>new Xe({typeName:F.ZodBoolean,coerce:p?.coerce||!1,...V(p)});class Pe extends J{_parse(t){if(this._def.coerce&&(t.data=new Date(t.data)),this._getType(t)!==R.date){const s=this._getOrReturnCtx(t);return C(s,{code:A.invalid_type,expected:R.date,received:s.parsedType}),B}if(Number.isNaN(t.data.getTime())){const s=this._getOrReturnCtx(t);return C(s,{code:A.invalid_date}),B}const i=new re;let o;for(const s of this._def.checks)s.kind==="min"?t.data.getTime()<s.value&&(o=this._getOrReturnCtx(t,o),C(o,{code:A.too_small,message:s.message,inclusive:!0,exact:!1,minimum:s.value,type:"date"}),i.dirty()):s.kind==="max"?t.data.getTime()>s.value&&(o=this._getOrReturnCtx(t,o),C(o,{code:A.too_big,message:s.message,inclusive:!0,exact:!1,maximum:s.value,type:"date"}),i.dirty()):X.assertNever(s);return{status:i.value,value:new Date(t.data.getTime())}}_addCheck(t){return new Pe({...this._def,checks:[...this._def.checks,t]})}min(t,n){return this._addCheck({kind:"min",value:t.getTime(),message:q.toString(n)})}max(t,n){return this._addCheck({kind:"max",value:t.getTime(),message:q.toString(n)})}get minDate(){let t=null;for(const n of this._def.checks)n.kind==="min"&&(t===null||n.value>t)&&(t=n.value);return t!=null?new Date(t):null}get maxDate(){let t=null;for(const n of this._def.checks)n.kind==="max"&&(t===null||n.value<t)&&(t=n.value);return t!=null?new Date(t):null}}Pe.create=p=>new Pe({checks:[],coerce:p?.coerce||!1,typeName:F.ZodDate,...V(p)});class fs extends J{_parse(t){if(this._getType(t)!==R.symbol){const i=this._getOrReturnCtx(t);return C(i,{code:A.invalid_type,expected:R.symbol,received:i.parsedType}),B}return ae(t.data)}}fs.create=p=>new fs({typeName:F.ZodSymbol,...V(p)});class hs extends J{_parse(t){if(this._getType(t)!==R.undefined){const i=this._getOrReturnCtx(t);return C(i,{code:A.invalid_type,expected:R.undefined,received:i.parsedType}),B}return ae(t.data)}}hs.create=p=>new hs({typeName:F.ZodUndefined,...V(p)});class xs extends J{_parse(t){if(this._getType(t)!==R.null){const i=this._getOrReturnCtx(t);return C(i,{code:A.invalid_type,expected:R.null,received:i.parsedType}),B}return ae(t.data)}}xs.create=p=>new xs({typeName:F.ZodNull,...V(p)});class ws extends J{constructor(){super(...arguments),this._any=!0}_parse(t){return ae(t.data)}}ws.create=p=>new ws({typeName:F.ZodAny,...V(p)});class Ke extends J{constructor(){super(...arguments),this._unknown=!0}_parse(t){return ae(t.data)}}Ke.create=p=>new Ke({typeName:F.ZodUnknown,...V(p)});class ye extends J{_parse(t){const n=this._getOrReturnCtx(t);return C(n,{code:A.invalid_type,expected:R.never,received:n.parsedType}),B}}ye.create=p=>new ye({typeName:F.ZodNever,...V(p)});class ks extends J{_parse(t){if(this._getType(t)!==R.undefined){const i=this._getOrReturnCtx(t);return C(i,{code:A.invalid_type,expected:R.void,received:i.parsedType}),B}return ae(t.data)}}ks.create=p=>new ks({typeName:F.ZodVoid,...V(p)});class ce extends J{_parse(t){const{ctx:n,status:i}=this._processInputParams(t),o=this._def;if(n.parsedType!==R.array)return C(n,{code:A.invalid_type,expected:R.array,received:n.parsedType}),B;if(o.exactLength!==null){const l=n.data.length>o.exactLength.value,u=n.data.length<o.exactLength.value;(l||u)&&(C(n,{code:l?A.too_big:A.too_small,minimum:u?o.exactLength.value:void 0,maximum:l?o.exactLength.value:void 0,type:"array",inclusive:!0,exact:!0,message:o.exactLength.message}),i.dirty())}if(o.minLength!==null&&n.data.length<o.minLength.value&&(C(n,{code:A.too_small,minimum:o.minLength.value,type:"array",inclusive:!0,exact:!1,message:o.minLength.message}),i.dirty()),o.maxLength!==null&&n.data.length>o.maxLength.value&&(C(n,{code:A.too_big,maximum:o.maxLength.value,type:"array",inclusive:!0,exact:!1,message:o.maxLength.message}),i.dirty()),n.common.async)return Promise.all([...n.data].map((l,u)=>o.type._parseAsync(new pe(n,l,n.path,u)))).then(l=>re.mergeArray(i,l));const s=[...n.data].map((l,u)=>o.type._parseSync(new pe(n,l,n.path,u)));return re.mergeArray(i,s)}get element(){return this._def.type}min(t,n){return new ce({...this._def,minLength:{value:t,message:q.toString(n)}})}max(t,n){return new ce({...this._def,maxLength:{value:t,message:q.toString(n)}})}length(t,n){return new ce({...this._def,exactLength:{value:t,message:q.toString(n)}})}nonempty(t){return this.min(1,t)}}ce.create=(p,t)=>new ce({type:p,minLength:null,maxLength:null,exactLength:null,typeName:F.ZodArray,...V(t)});function we(p){if(p instanceof te){const t={};for(const n in p.shape){const i=p.shape[n];t[n]=$e.create(we(i))}return new te({...p._def,shape:()=>t})}else return p instanceof ce?new ce({...p._def,type:we(p.element)}):p instanceof $e?$e.create(we(p.unwrap())):p instanceof Ae?Ae.create(we(p.unwrap())):p instanceof de?de.create(p.items.map(t=>we(t))):p}class te extends J{constructor(){super(...arguments),this._cached=null,this.nonstrict=this.passthrough,this.augment=this.extend}_getCached(){if(this._cached!==null)return this._cached;const t=this._def.shape(),n=X.objectKeys(t);return this._cached={shape:t,keys:n},this._cached}_parse(t){if(this._getType(t)!==R.object){const d=this._getOrReturnCtx(t);return C(d,{code:A.invalid_type,expected:R.object,received:d.parsedType}),B}const{status:i,ctx:o}=this._processInputParams(t),{shape:s,keys:l}=this._getCached(),u=[];if(!(this._def.catchall instanceof ye&&this._def.unknownKeys==="strip"))for(const d in o.data)l.includes(d)||u.push(d);const w=[];for(const d of l){const r=s[d],y=o.data[d];w.push({key:{status:"valid",value:d},value:r._parse(new pe(o,y,o.path,d)),alwaysSet:d in o.data})}if(this._def.catchall instanceof ye){const d=this._def.unknownKeys;if(d==="passthrough")for(const r of u)w.push({key:{status:"valid",value:r},value:{status:"valid",value:o.data[r]}});else if(d==="strict")u.length>0&&(C(o,{code:A.unrecognized_keys,keys:u}),i.dirty());else if(d!=="strip")throw new Error("Internal ZodObject error: invalid unknownKeys value.")}else{const d=this._def.catchall;for(const r of u){const y=o.data[r];w.push({key:{status:"valid",value:r},value:d._parse(new pe(o,y,o.path,r)),alwaysSet:r in o.data})}}return o.common.async?Promise.resolve().then(async()=>{const d=[];for(const r of w){const y=await r.key,b=await r.value;d.push({key:y,value:b,alwaysSet:r.alwaysSet})}return d}).then(d=>re.mergeObjectSync(i,d)):re.mergeObjectSync(i,w)}get shape(){return this._def.shape()}strict(t){return q.errToObj,new te({...this._def,unknownKeys:"strict",...t!==void 0?{errorMap:(n,i)=>{const o=this._def.errorMap?.(n,i).message??i.defaultError;return n.code==="unrecognized_keys"?{message:q.errToObj(t).message??o}:{message:o}}}:{}})}strip(){return new te({...this._def,unknownKeys:"strip"})}passthrough(){return new te({...this._def,unknownKeys:"passthrough"})}extend(t){return new te({...this._def,shape:()=>({...this._def.shape(),...t})})}merge(t){return new te({unknownKeys:t._def.unknownKeys,catchall:t._def.catchall,shape:()=>({...this._def.shape(),...t._def.shape()}),typeName:F.ZodObject})}setKey(t,n){return this.augment({[t]:n})}catchall(t){return new te({...this._def,catchall:t})}pick(t){const n={};for(const i of X.objectKeys(t))t[i]&&this.shape[i]&&(n[i]=this.shape[i]);return new te({...this._def,shape:()=>n})}omit(t){const n={};for(const i of X.objectKeys(this.shape))t[i]||(n[i]=this.shape[i]);return new te({...this._def,shape:()=>n})}deepPartial(){return we(this)}partial(t){const n={};for(const i of X.objectKeys(this.shape)){const o=this.shape[i];t&&!t[i]?n[i]=o:n[i]=o.optional()}return new te({...this._def,shape:()=>n})}required(t){const n={};for(const i of X.objectKeys(this.shape))if(t&&!t[i])n[i]=this.shape[i];else{let s=this.shape[i];for(;s instanceof $e;)s=s._def.innerType;n[i]=s}return new te({...this._def,shape:()=>n})}keyof(){return js(X.objectKeys(this.shape))}}te.create=(p,t)=>new te({shape:()=>p,unknownKeys:"strip",catchall:ye.create(),typeName:F.ZodObject,...V(t)});te.strictCreate=(p,t)=>new te({shape:()=>p,unknownKeys:"strict",catchall:ye.create(),typeName:F.ZodObject,...V(t)});te.lazycreate=(p,t)=>new te({shape:p,unknownKeys:"strip",catchall:ye.create(),typeName:F.ZodObject,...V(t)});class ze extends J{_parse(t){const{ctx:n}=this._processInputParams(t),i=this._def.options;function o(s){for(const u of s)if(u.result.status==="valid")return u.result;for(const u of s)if(u.result.status==="dirty")return n.common.issues.push(...u.ctx.common.issues),u.result;const l=s.map(u=>new me(u.ctx.common.issues));return C(n,{code:A.invalid_union,unionErrors:l}),B}if(n.common.async)return Promise.all(i.map(async s=>{const l={...n,common:{...n.common,issues:[]},parent:null};return{result:await s._parseAsync({data:n.data,path:n.path,parent:l}),ctx:l}})).then(o);{let s;const l=[];for(const w of i){const d={...n,common:{...n.common,issues:[]},parent:null},r=w._parseSync({data:n.data,path:n.path,parent:d});if(r.status==="valid")return r;r.status==="dirty"&&!s&&(s={result:r,ctx:d}),d.common.issues.length&&l.push(d.common.issues)}if(s)return n.common.issues.push(...s.ctx.common.issues),s.result;const u=l.map(w=>new me(w));return C(n,{code:A.invalid_union,unionErrors:u}),B}}get options(){return this._def.options}}ze.create=(p,t)=>new ze({options:p,typeName:F.ZodUnion,...V(t)});function es(p,t){const n=_e(p),i=_e(t);if(p===t)return{valid:!0,data:p};if(n===R.object&&i===R.object){const o=X.objectKeys(t),s=X.objectKeys(p).filter(u=>o.indexOf(u)!==-1),l={...p,...t};for(const u of s){const w=es(p[u],t[u]);if(!w.valid)return{valid:!1};l[u]=w.data}return{valid:!0,data:l}}else if(n===R.array&&i===R.array){if(p.length!==t.length)return{valid:!1};const o=[];for(let s=0;s<p.length;s++){const l=p[s],u=t[s],w=es(l,u);if(!w.valid)return{valid:!1};o.push(w.data)}return{valid:!0,data:o}}else return n===R.date&&i===R.date&&+p==+t?{valid:!0,data:p}:{valid:!1}}class Ze extends J{_parse(t){const{status:n,ctx:i}=this._processInputParams(t),o=(s,l)=>{if(ys(s)||ys(l))return B;const u=es(s.value,l.value);return u.valid?((bs(s)||bs(l))&&n.dirty(),{status:n.value,value:u.data}):(C(i,{code:A.invalid_intersection_types}),B)};return i.common.async?Promise.all([this._def.left._parseAsync({data:i.data,path:i.path,parent:i}),this._def.right._parseAsync({data:i.data,path:i.path,parent:i})]).then(([s,l])=>o(s,l)):o(this._def.left._parseSync({data:i.data,path:i.path,parent:i}),this._def.right._parseSync({data:i.data,path:i.path,parent:i}))}}Ze.create=(p,t,n)=>new Ze({left:p,right:t,typeName:F.ZodIntersection,...V(n)});class de extends J{_parse(t){const{status:n,ctx:i}=this._processInputParams(t);if(i.parsedType!==R.array)return C(i,{code:A.invalid_type,expected:R.array,received:i.parsedType}),B;if(i.data.length<this._def.items.length)return C(i,{code:A.too_small,minimum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),B;!this._def.rest&&i.data.length>this._def.items.length&&(C(i,{code:A.too_big,maximum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),n.dirty());const s=[...i.data].map((l,u)=>{const w=this._def.items[u]||this._def.rest;return w?w._parse(new pe(i,l,i.path,u)):null}).filter(l=>!!l);return i.common.async?Promise.all(s).then(l=>re.mergeArray(n,l)):re.mergeArray(n,s)}get items(){return this._def.items}rest(t){return new de({...this._def,rest:t})}}de.create=(p,t)=>{if(!Array.isArray(p))throw new Error("You must pass an array of schemas to z.tuple([ ... ])");return new de({items:p,typeName:F.ZodTuple,rest:null,...V(t)})};class Fe extends J{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(t){const{status:n,ctx:i}=this._processInputParams(t);if(i.parsedType!==R.object)return C(i,{code:A.invalid_type,expected:R.object,received:i.parsedType}),B;const o=[],s=this._def.keyType,l=this._def.valueType;for(const u in i.data)o.push({key:s._parse(new pe(i,u,i.path,u)),value:l._parse(new pe(i,i.data[u],i.path,u)),alwaysSet:u in i.data});return i.common.async?re.mergeObjectAsync(n,o):re.mergeObjectSync(n,o)}get element(){return this._def.valueType}static create(t,n,i){return n instanceof J?new Fe({keyType:t,valueType:n,typeName:F.ZodRecord,...V(i)}):new Fe({keyType:ie.create(),valueType:t,typeName:F.ZodRecord,...V(n)})}}class gs extends J{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(t){const{status:n,ctx:i}=this._processInputParams(t);if(i.parsedType!==R.map)return C(i,{code:A.invalid_type,expected:R.map,received:i.parsedType}),B;const o=this._def.keyType,s=this._def.valueType,l=[...i.data.entries()].map(([u,w],d)=>({key:o._parse(new pe(i,u,i.path,[d,"key"])),value:s._parse(new pe(i,w,i.path,[d,"value"]))}));if(i.common.async){const u=new Map;return Promise.resolve().then(async()=>{for(const w of l){const d=await w.key,r=await w.value;if(d.status==="aborted"||r.status==="aborted")return B;(d.status==="dirty"||r.status==="dirty")&&n.dirty(),u.set(d.value,r.value)}return{status:n.value,value:u}})}else{const u=new Map;for(const w of l){const d=w.key,r=w.value;if(d.status==="aborted"||r.status==="aborted")return B;(d.status==="dirty"||r.status==="dirty")&&n.dirty(),u.set(d.value,r.value)}return{status:n.value,value:u}}}}gs.create=(p,t,n)=>new gs({valueType:t,keyType:p,typeName:F.ZodMap,...V(n)});class qe extends J{_parse(t){const{status:n,ctx:i}=this._processInputParams(t);if(i.parsedType!==R.set)return C(i,{code:A.invalid_type,expected:R.set,received:i.parsedType}),B;const o=this._def;o.minSize!==null&&i.data.size<o.minSize.value&&(C(i,{code:A.too_small,minimum:o.minSize.value,type:"set",inclusive:!0,exact:!1,message:o.minSize.message}),n.dirty()),o.maxSize!==null&&i.data.size>o.maxSize.value&&(C(i,{code:A.too_big,maximum:o.maxSize.value,type:"set",inclusive:!0,exact:!1,message:o.maxSize.message}),n.dirty());const s=this._def.valueType;function l(w){const d=new Set;for(const r of w){if(r.status==="aborted")return B;r.status==="dirty"&&n.dirty(),d.add(r.value)}return{status:n.value,value:d}}const u=[...i.data.values()].map((w,d)=>s._parse(new pe(i,w,i.path,d)));return i.common.async?Promise.all(u).then(w=>l(w)):l(u)}min(t,n){return new qe({...this._def,minSize:{value:t,message:q.toString(n)}})}max(t,n){return new qe({...this._def,maxSize:{value:t,message:q.toString(n)}})}size(t,n){return this.min(t,n).max(t,n)}nonempty(t){return this.min(1,t)}}qe.create=(p,t)=>new qe({valueType:p,minSize:null,maxSize:null,typeName:F.ZodSet,...V(t)});class vs extends J{get schema(){return this._def.getter()}_parse(t){const{ctx:n}=this._processInputParams(t);return this._def.getter()._parse({data:n.data,path:n.path,parent:n})}}vs.create=(p,t)=>new vs({getter:p,typeName:F.ZodLazy,...V(t)});class As extends J{_parse(t){if(t.data!==this._def.value){const n=this._getOrReturnCtx(t);return C(n,{received:n.data,code:A.invalid_literal,expected:this._def.value}),B}return{status:"valid",value:t.data}}get value(){return this._def.value}}As.create=(p,t)=>new As({value:p,typeName:F.ZodLiteral,...V(t)});function js(p,t){return new ge({values:p,typeName:F.ZodEnum,...V(t)})}class ge extends J{_parse(t){if(typeof t.data!="string"){const n=this._getOrReturnCtx(t),i=this._def.values;return C(n,{expected:X.joinValues(i),received:n.parsedType,code:A.invalid_type}),B}if(this._cache||(this._cache=new Set(this._def.values)),!this._cache.has(t.data)){const n=this._getOrReturnCtx(t),i=this._def.values;return C(n,{received:n.data,code:A.invalid_enum_value,options:i}),B}return ae(t.data)}get options(){return this._def.values}get enum(){const t={};for(const n of this._def.values)t[n]=n;return t}get Values(){const t={};for(const n of this._def.values)t[n]=n;return t}get Enum(){const t={};for(const n of this._def.values)t[n]=n;return t}extract(t,n=this._def){return ge.create(t,{...this._def,...n})}exclude(t,n=this._def){return ge.create(this.options.filter(i=>!t.includes(i)),{...this._def,...n})}}ge.create=js;class Ts extends J{_parse(t){const n=X.getValidEnumValues(this._def.values),i=this._getOrReturnCtx(t);if(i.parsedType!==R.string&&i.parsedType!==R.number){const o=X.objectValues(n);return C(i,{expected:X.joinValues(o),received:i.parsedType,code:A.invalid_type}),B}if(this._cache||(this._cache=new Set(X.getValidEnumValues(this._def.values))),!this._cache.has(t.data)){const o=X.objectValues(n);return C(i,{received:i.data,code:A.invalid_enum_value,options:o}),B}return ae(t.data)}get enum(){return this._def.values}}Ts.create=(p,t)=>new Ts({values:p,typeName:F.ZodNativeEnum,...V(t)});class Be extends J{unwrap(){return this._def.type}_parse(t){const{ctx:n}=this._processInputParams(t);if(n.parsedType!==R.promise&&n.common.async===!1)return C(n,{code:A.invalid_type,expected:R.promise,received:n.parsedType}),B;const i=n.parsedType===R.promise?n.data:Promise.resolve(n.data);return ae(i.then(o=>this._def.type.parseAsync(o,{path:n.path,errorMap:n.common.contextualErrorMap})))}}Be.create=(p,t)=>new Be({type:p,typeName:F.ZodPromise,...V(t)});class ve extends J{innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===F.ZodEffects?this._def.schema.sourceType():this._def.schema}_parse(t){const{status:n,ctx:i}=this._processInputParams(t),o=this._def.effect||null,s={addIssue:l=>{C(i,l),l.fatal?n.abort():n.dirty()},get path(){return i.path}};if(s.addIssue=s.addIssue.bind(s),o.type==="preprocess"){const l=o.transform(i.data,s);if(i.common.async)return Promise.resolve(l).then(async u=>{if(n.value==="aborted")return B;const w=await this._def.schema._parseAsync({data:u,path:i.path,parent:i});return w.status==="aborted"?B:w.status==="dirty"||n.value==="dirty"?Se(w.value):w});{if(n.value==="aborted")return B;const u=this._def.schema._parseSync({data:l,path:i.path,parent:i});return u.status==="aborted"?B:u.status==="dirty"||n.value==="dirty"?Se(u.value):u}}if(o.type==="refinement"){const l=u=>{const w=o.refinement(u,s);if(i.common.async)return Promise.resolve(w);if(w instanceof Promise)throw new Error("Async refinement encountered during synchronous parse operation. Use .parseAsync instead.");return u};if(i.common.async===!1){const u=this._def.schema._parseSync({data:i.data,path:i.path,parent:i});return u.status==="aborted"?B:(u.status==="dirty"&&n.dirty(),l(u.value),{status:n.value,value:u.value})}else return this._def.schema._parseAsync({data:i.data,path:i.path,parent:i}).then(u=>u.status==="aborted"?B:(u.status==="dirty"&&n.dirty(),l(u.value).then(()=>({status:n.value,value:u.value}))))}if(o.type==="transform")if(i.common.async===!1){const l=this._def.schema._parseSync({data:i.data,path:i.path,parent:i});if(!ke(l))return B;const u=o.transform(l.value,s);if(u instanceof Promise)throw new Error("Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.");return{status:n.value,value:u}}else return this._def.schema._parseAsync({data:i.data,path:i.path,parent:i}).then(l=>ke(l)?Promise.resolve(o.transform(l.value,s)).then(u=>({status:n.value,value:u})):B);X.assertNever(o)}}ve.create=(p,t,n)=>new ve({schema:p,typeName:F.ZodEffects,effect:t,...V(n)});ve.createWithPreprocess=(p,t,n)=>new ve({schema:t,effect:{type:"preprocess",transform:p},typeName:F.ZodEffects,...V(n)});class $e extends J{_parse(t){return this._getType(t)===R.undefined?ae(void 0):this._def.innerType._parse(t)}unwrap(){return this._def.innerType}}$e.create=(p,t)=>new $e({innerType:p,typeName:F.ZodOptional,...V(t)});class Ae extends J{_parse(t){return this._getType(t)===R.null?ae(null):this._def.innerType._parse(t)}unwrap(){return this._def.innerType}}Ae.create=(p,t)=>new Ae({innerType:p,typeName:F.ZodNullable,...V(t)});class ss extends J{_parse(t){const{ctx:n}=this._processInputParams(t);let i=n.data;return n.parsedType===R.undefined&&(i=this._def.defaultValue()),this._def.innerType._parse({data:i,path:n.path,parent:n})}removeDefault(){return this._def.innerType}}ss.create=(p,t)=>new ss({innerType:p,typeName:F.ZodDefault,defaultValue:typeof t.default=="function"?t.default:()=>t.default,...V(t)});class ts extends J{_parse(t){const{ctx:n}=this._processInputParams(t),i={...n,common:{...n.common,issues:[]}},o=this._def.innerType._parse({data:i.data,path:i.path,parent:{...i}});return Ue(o)?o.then(s=>({status:"valid",value:s.status==="valid"?s.value:this._def.catchValue({get error(){return new me(i.common.issues)},input:i.data})})):{status:"valid",value:o.status==="valid"?o.value:this._def.catchValue({get error(){return new me(i.common.issues)},input:i.data})}}removeCatch(){return this._def.innerType}}ts.create=(p,t)=>new ts({innerType:p,typeName:F.ZodCatch,catchValue:typeof t.catch=="function"?t.catch:()=>t.catch,...V(t)});class Es extends J{_parse(t){if(this._getType(t)!==R.nan){const i=this._getOrReturnCtx(t);return C(i,{code:A.invalid_type,expected:R.nan,received:i.parsedType}),B}return{status:"valid",value:t.data}}}Es.create=p=>new Es({typeName:F.ZodNaN,...V(p)});class Et extends J{_parse(t){const{ctx:n}=this._processInputParams(t),i=n.data;return this._def.type._parse({data:i,path:n.path,parent:n})}unwrap(){return this._def.type}}class ls extends J{_parse(t){const{status:n,ctx:i}=this._processInputParams(t);if(i.common.async)return(async()=>{const s=await this._def.in._parseAsync({data:i.data,path:i.path,parent:i});return s.status==="aborted"?B:s.status==="dirty"?(n.dirty(),Se(s.value)):this._def.out._parseAsync({data:s.value,path:i.path,parent:i})})();{const o=this._def.in._parseSync({data:i.data,path:i.path,parent:i});return o.status==="aborted"?B:o.status==="dirty"?(n.dirty(),{status:"dirty",value:o.value}):this._def.out._parseSync({data:o.value,path:i.path,parent:i})}}static create(t,n){return new ls({in:t,out:n,typeName:F.ZodPipeline})}}class rs extends J{_parse(t){const n=this._def.innerType._parse(t),i=o=>(ke(o)&&(o.value=Object.freeze(o.value)),o);return Ue(n)?n.then(o=>i(o)):i(n)}unwrap(){return this._def.innerType}}rs.create=(p,t)=>new rs({innerType:p,typeName:F.ZodReadonly,...V(t)});var F;(function(p){p.ZodString="ZodString",p.ZodNumber="ZodNumber",p.ZodNaN="ZodNaN",p.ZodBigInt="ZodBigInt",p.ZodBoolean="ZodBoolean",p.ZodDate="ZodDate",p.ZodSymbol="ZodSymbol",p.ZodUndefined="ZodUndefined",p.ZodNull="ZodNull",p.ZodAny="ZodAny",p.ZodUnknown="ZodUnknown",p.ZodNever="ZodNever",p.ZodVoid="ZodVoid",p.ZodArray="ZodArray",p.ZodObject="ZodObject",p.ZodUnion="ZodUnion",p.ZodDiscriminatedUnion="ZodDiscriminatedUnion",p.ZodIntersection="ZodIntersection",p.ZodTuple="ZodTuple",p.ZodRecord="ZodRecord",p.ZodMap="ZodMap",p.ZodSet="ZodSet",p.ZodFunction="ZodFunction",p.ZodLazy="ZodLazy",p.ZodLiteral="ZodLiteral",p.ZodEnum="ZodEnum",p.ZodEffects="ZodEffects",p.ZodNativeEnum="ZodNativeEnum",p.ZodOptional="ZodOptional",p.ZodNullable="ZodNullable",p.ZodDefault="ZodDefault",p.ZodCatch="ZodCatch",p.ZodPromise="ZodPromise",p.ZodBranded="ZodBranded",p.ZodPipeline="ZodPipeline",p.ZodReadonly="ZodReadonly"})(F||(F={}));const ee=ie.create,Ce=Xe.create,Ve=Ke.create;ye.create;const je=ce.create,Me=te.create,St=ze.create;Ze.create;de.create;const cs=Fe.create,Ds=ge.create;Be.create;$e.create;Ae.create;const Ms=Ds(["Data","Text","Int","Float","Decimal","Check","Date","Time","Datetime","Duration","DateRange","JSON","Code","Link","Doctype","Attach","Currency","Quantity","Select"]),Ls={Data:{component:"ATextInput",fieldtype:"Data"},Text:{component:"ATextInput",fieldtype:"Text"},Int:{component:"ANumericInput",fieldtype:"Int"},Float:{component:"ANumericInput",fieldtype:"Float"},Decimal:{component:"ADecimalInput",fieldtype:"Decimal"},Check:{component:"ACheckbox",fieldtype:"Check"},Date:{component:"ADatePicker",fieldtype:"Date"},Time:{component:"ATimeInput",fieldtype:"Time"},Datetime:{component:"ADatetimePicker",fieldtype:"Datetime"},Duration:{component:"ADurationInput",fieldtype:"Duration"},DateRange:{component:"ADateRangePicker",fieldtype:"DateRange"},JSON:{component:"ACodeEditor",fieldtype:"JSON"},Code:{component:"ACodeEditor",fieldtype:"Code"},Link:{component:"ALink",fieldtype:"Link"},Doctype:{component:"ATable",fieldtype:"Doctype"},Attach:{component:"AFileAttach",fieldtype:"Attach"},Currency:{component:"ACurrencyInput",fieldtype:"Currency"},Quantity:{component:"AQuantityInput",fieldtype:"Quantity"},Select:{component:"ADropdown",fieldtype:"Select"}};function Ct(p){return Ls[p]?.component??"ATextInput"}const Us=St([ee(),je(ee()),cs(ee(),Ve())]),Ps=Me({errorMessage:ee()}).passthrough(),He=Me({fieldname:ee().min(1),fieldtype:Ms,component:ee().optional(),label:ee().optional(),width:ee().optional(),align:Ds(["left","center","right","start","end"]).optional(),required:Ce().optional(),readOnly:Ce().optional(),edit:Ce().optional(),hidden:Ce().optional(),value:Ve().optional(),default:Ve().optional(),options:Us.optional(),mask:ee().optional(),validation:Ps.optional()}),zs=Me({label:ee().min(1),handler:ee().min(1),requiredFields:je(ee()).optional(),allowedStates:je(ee()).optional(),confirm:Ce().optional(),args:cs(ee(),Ve()).optional()}),Zs=Me({states:je(ee()).optional(),actions:cs(ee(),zs).optional()}),ps=Me({name:ee().min(1),slug:ee().min(1).optional(),tableName:ee().optional(),fields:je(He),workflow:Zs.optional(),inherits:ee().optional(),listDoctype:ee().optional(),parentDoctype:ee().optional()});function Nt(p){const t=He.safeParse(p);return t.success?{success:!0,errors:[]}:{success:!1,errors:t.error.issues.map(n=>({path:n.path,message:n.message}))}}function is(p){const t=ps.safeParse(p);return t.success?{success:!0,errors:[]}:{success:!1,errors:t.error.issues.map(n=>({path:n.path,message:n.message}))}}function Ot(p){return He.parse(p)}function ms(p){return ps.parse(p)}var Ss={},as={exports:{}},Rt=as.exports,Cs;function It(){return Cs||(Cs=1,(function(p){(function(t,n){p.exports?p.exports=n():t.moo=n()})(Rt,function(){var t=Object.prototype.hasOwnProperty,n=Object.prototype.toString,i=typeof new RegExp().sticky=="boolean";function o(a){return a&&n.call(a)==="[object RegExp]"}function s(a){return a&&typeof a=="object"&&!o(a)&&!Array.isArray(a)}function l(a){return a.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&")}function u(a){var _=new RegExp("|"+a);return _.exec("").length-1}function w(a){return"("+a+")"}function d(a){if(!a.length)return"(?!)";var _=a.map(function(x){return"(?:"+x+")"}).join("|");return"(?:"+_+")"}function r(a){if(typeof a=="string")return"(?:"+l(a)+")";if(o(a)){if(a.ignoreCase)throw new Error("RegExp /i flag not allowed");if(a.global)throw new Error("RegExp /g flag is implied");if(a.sticky)throw new Error("RegExp /y flag is implied");if(a.multiline)throw new Error("RegExp /m flag is implied");return a.source}else throw new Error("Not a pattern: "+a)}function y(a,_){return a.length>_?a:Array(_-a.length+1).join(" ")+a}function b(a,_){for(var x=a.length,v=0;;){var I=a.lastIndexOf(`
2
+ `,x-1);if(I===-1||(v++,x=I,v===_)||x===0)break}var L=v<_?0:x+1;return a.substring(L).split(`
3
+ `)}function c(a){for(var _=Object.getOwnPropertyNames(a),x=[],v=0;v<_.length;v++){var I=_[v],L=a[I],U=[].concat(L);if(I==="include"){for(var K=0;K<U.length;K++)x.push({include:U[K]});continue}var Q=[];U.forEach(function(z){s(z)?(Q.length&&x.push(f(I,Q)),x.push(f(I,z)),Q=[]):Q.push(z)}),Q.length&&x.push(f(I,Q))}return x}function $(a){for(var _=[],x=0;x<a.length;x++){var v=a[x];if(v.include){for(var I=[].concat(v.include),L=0;L<I.length;L++)_.push({include:I[L]});continue}if(!v.type)throw new Error("Rule has no type: "+JSON.stringify(v));_.push(f(v.type,v))}return _}function f(a,_){if(s(_)||(_={match:_}),_.include)throw new Error("Matching rules cannot also include states");var x={defaultType:a,lineBreaks:!!_.error||!!_.fallback,pop:!1,next:null,push:null,error:!1,fallback:!1,value:null,type:null,shouldThrow:!1};for(var v in _)t.call(_,v)&&(x[v]=_[v]);if(typeof x.type=="string"&&a!==x.type)throw new Error("Type transform cannot be a string (type '"+x.type+"' for token '"+a+"')");var I=x.match;return x.match=Array.isArray(I)?I:I?[I]:[],x.match.sort(function(L,U){return o(L)&&o(U)?0:o(U)?-1:o(L)?1:U.length-L.length}),x}function h(a){return Array.isArray(a)?$(a):c(a)}var N=f("error",{lineBreaks:!0,shouldThrow:!0});function j(a,_){for(var x=null,v=Object.create(null),I=!0,L=null,U=[],K=[],Q=0;Q<a.length;Q++)a[Q].fallback&&(I=!1);for(var Q=0;Q<a.length;Q++){var z=a[Q];if(z.include)throw new Error("Inheritance is not allowed in stateless lexers");if(z.error||z.fallback){if(x)throw!z.fallback==!x.fallback?new Error("Multiple "+(z.fallback?"fallback":"error")+" rules not allowed (for token '"+z.defaultType+"')"):new Error("fallback and error are mutually exclusive (for token '"+z.defaultType+"')");x=z}var se=z.match.slice();if(I)for(;se.length&&typeof se[0]=="string"&&se[0].length===1;){var fe=se.shift();v[fe.charCodeAt(0)]=z}if(z.pop||z.push||z.next){if(!_)throw new Error("State-switching options are not allowed in stateless lexers (for token '"+z.defaultType+"')");if(z.fallback)throw new Error("State-switching options are not allowed on fallback tokens (for token '"+z.defaultType+"')")}if(se.length!==0){I=!1,U.push(z);for(var le=0;le<se.length;le++){var be=se[le];if(o(be)){if(L===null)L=be.unicode;else if(L!==be.unicode&&z.fallback===!1)throw new Error("If one rule is /u then all must be")}}var he=d(se.map(r)),ne=new RegExp(he);if(ne.test(""))throw new Error("RegExp matches empty string: "+ne);var Te=u(he);if(Te>0)throw new Error("RegExp has capture groups: "+ne+`
4
+ Use (?: … ) instead`);if(!z.lineBreaks&&ne.test(`
5
+ `))throw new Error("Rule should declare lineBreaks: "+ne);K.push(w(he))}}var xe=x&&x.fallback,Ee=i&&!xe?"ym":"gm",Le=i||xe?"":"|";L===!0&&(Ee+="u");var et=new RegExp(d(K)+Le,Ee);return{regexp:et,groups:U,fast:v,error:x||N}}function Z(a){var _=j(h(a));return new O({start:_},"start")}function k(a,_,x){var v=a&&(a.push||a.next);if(v&&!x[v])throw new Error("Missing state '"+v+"' (in token '"+a.defaultType+"' of state '"+_+"')");if(a&&a.pop&&+a.pop!=1)throw new Error("pop must be 1 (in token '"+a.defaultType+"' of state '"+_+"')")}function g(a,_){var x=a.$all?h(a.$all):[];delete a.$all;var v=Object.getOwnPropertyNames(a);_||(_=v[0]);for(var I=Object.create(null),L=0;L<v.length;L++){var U=v[L];I[U]=h(a[U]).concat(x)}for(var L=0;L<v.length;L++)for(var U=v[L],K=I[U],Q=Object.create(null),z=0;z<K.length;z++){var se=K[z];if(se.include){var fe=[z,1];if(se.include!==U&&!Q[se.include]){Q[se.include]=!0;var le=I[se.include];if(!le)throw new Error("Cannot include nonexistent state '"+se.include+"' (in state '"+U+"')");for(var be=0;be<le.length;be++){var he=le[be];K.indexOf(he)===-1&&fe.push(he)}}K.splice.apply(K,fe),z--}}for(var ne=Object.create(null),L=0;L<v.length;L++){var U=v[L];ne[U]=j(I[U],!0)}for(var L=0;L<v.length;L++){for(var Te=v[L],xe=ne[Te],Ee=xe.groups,z=0;z<Ee.length;z++)k(Ee[z],Te,ne);for(var Le=Object.getOwnPropertyNames(xe.fast),z=0;z<Le.length;z++)k(xe.fast[Le[z]],Te,ne)}return new O(ne,_)}function E(a){for(var _=typeof Map<"u",x=_?new Map:Object.create(null),v=Object.getOwnPropertyNames(a),I=0;I<v.length;I++){var L=v[I],U=a[L],K=Array.isArray(U)?U:[U];K.forEach(function(Q){if(typeof Q!="string")throw new Error("keyword must be string (in keyword '"+L+"')");_?x.set(Q,L):x[Q]=L})}return function(Q){return _?x.get(Q):x[Q]}}var O=function(a,_){this.startState=_,this.states=a,this.buffer="",this.stack=[],this.reset()};O.prototype.reset=function(a,_){return this.buffer=a||"",this.index=0,this.line=_?_.line:1,this.col=_?_.col:1,this.queuedToken=_?_.queuedToken:null,this.queuedText=_?_.queuedText:"",this.queuedThrow=_?_.queuedThrow:null,this.setState(_?_.state:this.startState),this.stack=_&&_.stack?_.stack.slice():[],this},O.prototype.save=function(){return{line:this.line,col:this.col,state:this.state,stack:this.stack.slice(),queuedToken:this.queuedToken,queuedText:this.queuedText,queuedThrow:this.queuedThrow}},O.prototype.setState=function(a){if(!(!a||this.state===a)){this.state=a;var _=this.states[a];this.groups=_.groups,this.error=_.error,this.re=_.regexp,this.fast=_.fast}},O.prototype.popState=function(){this.setState(this.stack.pop())},O.prototype.pushState=function(a){this.stack.push(this.state),this.setState(a)};var G=i?function(a,_){return a.exec(_)}:function(a,_){var x=a.exec(_);return x[0].length===0?null:x};O.prototype._getGroup=function(a){for(var _=this.groups.length,x=0;x<_;x++)if(a[x+1]!==void 0)return this.groups[x];throw new Error("Cannot find token type for matched text")};function e(){return this.value}if(O.prototype.next=function(){var a=this.index;if(this.queuedGroup){var _=this._token(this.queuedGroup,this.queuedText,a);return this.queuedGroup=null,this.queuedText="",_}var x=this.buffer;if(a!==x.length){var U=this.fast[x.charCodeAt(a)];if(U)return this._token(U,x.charAt(a),a);var v=this.re;v.lastIndex=a;var I=G(v,x),L=this.error;if(I==null)return this._token(L,x.slice(a,x.length),a);var U=this._getGroup(I),K=I[0];return L.fallback&&I.index!==a?(this.queuedGroup=U,this.queuedText=K,this._token(L,x.slice(a,I.index),a)):this._token(U,K,a)}},O.prototype._token=function(a,_,x){var v=0;if(a.lineBreaks){var I=/\n/g,L=1;if(_===`
6
+ `)v=1;else for(;I.exec(_);)v++,L=I.lastIndex}var U={type:typeof a.type=="function"&&a.type(_)||a.defaultType,value:typeof a.value=="function"?a.value(_):_,text:_,toString:e,offset:x,lineBreaks:v,line:this.line,col:this.col},K=_.length;if(this.index+=K,this.line+=v,v!==0?this.col=K-L+1:this.col+=K,a.shouldThrow){var Q=new Error(this.formatError(U,"invalid syntax"));throw Q}return a.pop?this.popState():a.push?this.pushState(a.push):a.next&&this.setState(a.next),U},typeof Symbol<"u"&&Symbol.iterator){var m=function(a){this.lexer=a};m.prototype.next=function(){var a=this.lexer.next();return{value:a,done:!a}},m.prototype[Symbol.iterator]=function(){return this},O.prototype[Symbol.iterator]=function(){return new m(this)}}return O.prototype.formatError=function(v,_){if(v==null)var x=this.buffer.slice(this.index),v={text:x,offset:this.index,lineBreaks:x.indexOf(`
7
+ `)===-1?0:1,line:this.line,col:this.col};var I=2,L=Math.max(v.line-I,1),U=v.line+I,K=String(U).length,Q=b(this.buffer,this.line-v.line+I+1).slice(0,5),z=[];z.push(_+" at line "+v.line+" col "+v.col+":"),z.push("");for(var se=0;se<Q.length;se++){var fe=Q[se],le=L+se;z.push(y(String(le),K)+" "+fe),le===v.line&&z.push(y("",K+v.col+1)+"^")}return z.join(`
8
+ `)},O.prototype.clone=function(){return new O(this.states,this.state)},O.prototype.has=function(a){return!0},{compile:Z,states:g,error:Object.freeze({error:!0}),fallback:Object.freeze({fallback:!0}),keywords:E}})})(as)),as.exports}var ns={exports:{}},qt=ns.exports,Ns;function jt(){return Ns||(Ns=1,(function(p){(function(t,n){p.exports?p.exports=n():t.nearley=n()})(qt,function(){function t(d,r,y){return this.id=++t.highestId,this.name=d,this.symbols=r,this.postprocess=y,this}t.highestId=0,t.prototype.toString=function(d){var r=typeof d>"u"?this.symbols.map(w).join(" "):this.symbols.slice(0,d).map(w).join(" ")+" ● "+this.symbols.slice(d).map(w).join(" ");return this.name+" → "+r};function n(d,r,y,b){this.rule=d,this.dot=r,this.reference=y,this.data=[],this.wantedBy=b,this.isComplete=this.dot===d.symbols.length}n.prototype.toString=function(){return"{"+this.rule.toString(this.dot)+"}, from: "+(this.reference||0)},n.prototype.nextState=function(d){var r=new n(this.rule,this.dot+1,this.reference,this.wantedBy);return r.left=this,r.right=d,r.isComplete&&(r.data=r.build(),r.right=void 0),r},n.prototype.build=function(){var d=[],r=this;do d.push(r.right.data),r=r.left;while(r.left);return d.reverse(),d},n.prototype.finish=function(){this.rule.postprocess&&(this.data=this.rule.postprocess(this.data,this.reference,l.fail))};function i(d,r){this.grammar=d,this.index=r,this.states=[],this.wants={},this.scannable=[],this.completed={}}i.prototype.process=function(d){for(var r=this.states,y=this.wants,b=this.completed,c=0;c<r.length;c++){var $=r[c];if($.isComplete){if($.finish(),$.data!==l.fail){for(var f=$.wantedBy,h=f.length;h--;){var N=f[h];this.complete(N,$)}if($.reference===this.index){var j=$.rule.name;(this.completed[j]=this.completed[j]||[]).push($)}}}else{var j=$.rule.symbols[$.dot];if(typeof j!="string"){this.scannable.push($);continue}if(y[j]){if(y[j].push($),b.hasOwnProperty(j))for(var Z=b[j],h=0;h<Z.length;h++){var k=Z[h];this.complete($,k)}}else y[j]=[$],this.predict(j)}}},i.prototype.predict=function(d){for(var r=this.grammar.byName[d]||[],y=0;y<r.length;y++){var b=r[y],c=this.wants[d],$=new n(b,0,this.index,c);this.states.push($)}},i.prototype.complete=function(d,r){var y=d.nextState(r);this.states.push(y)};function o(d,r){this.rules=d,this.start=r||this.rules[0].name;var y=this.byName={};this.rules.forEach(function(b){y.hasOwnProperty(b.name)||(y[b.name]=[]),y[b.name].push(b)})}o.fromCompiled=function(b,r){var y=b.Lexer;b.ParserStart&&(r=b.ParserStart,b=b.ParserRules);var b=b.map(function($){return new t($.name,$.symbols,$.postprocess)}),c=new o(b,r);return c.lexer=y,c};function s(){this.reset("")}s.prototype.reset=function(d,r){this.buffer=d,this.index=0,this.line=r?r.line:1,this.lastLineBreak=r?-r.col:0},s.prototype.next=function(){if(this.index<this.buffer.length){var d=this.buffer[this.index++];return d===`
9
+ `&&(this.line+=1,this.lastLineBreak=this.index),{value:d}}},s.prototype.save=function(){return{line:this.line,col:this.index-this.lastLineBreak}},s.prototype.formatError=function(d,r){var y=this.buffer;if(typeof y=="string"){var b=y.split(`
10
+ `).slice(Math.max(0,this.line-5),this.line),c=y.indexOf(`
11
+ `,this.index);c===-1&&(c=y.length);var $=this.index-this.lastLineBreak,f=String(this.line).length;return r+=" at line "+this.line+" col "+$+`:
12
12
 
13
- `,s+=i.map(function(E,C){return d(this.line-i.length+C+1,b)+" "+E},this).join(`
14
- `),s+=`
15
- `+d("",b+m)+`^
16
- `,s}else return s+" at index "+(this.index-1);function d(E,C){var L=String(E);return Array(C-L.length+1).join(" ")+L}};function n(x,s,i){if(x instanceof l)var a=x,i=s;else var a=l.fromCompiled(x,s);this.grammar=a,this.options={keepHistory:!1,lexer:a.lexer||new r};for(var m in i||{})this.options[m]=i[m];this.lexer=this.options.lexer,this.lexerState=void 0;var b=new h(a,0);this.table=[b],b.wants[a.start]=[],b.predict(a.start),b.process(),this.current=0}n.fail={},n.prototype.feed=function(x){var s=this.lexer;s.reset(x,this.lexerState);for(var $;;){try{if($=s.next(),!$)break}catch(N){var b=new h(this.grammar,this.current+1);this.table.push(b);var i=new Error(this.reportLexerError(N));throw i.offset=this.current,i.token=N.token,i}var a=this.table[this.current];this.options.keepHistory||delete this.table[this.current-1];var m=this.current+1,b=new h(this.grammar,m);this.table.push(b);for(var d=$.text!==void 0?$.text:$.value,E=s.constructor===r?$.value:$,C=a.scannable,L=C.length;L--;){var w=C[L],k=w.rule.symbols[w.dot];if(k.test?k.test(E):k.type?k.type===$.type:k.literal===d){var v=w.nextState({data:E,token:$,isToken:!0,reference:m-1});b.states.push(v)}}if(b.process(),b.states.length===0){var i=new Error(this.reportError($));throw i.offset=this.current,i.token=$,i}this.options.keepHistory&&(a.lexerState=s.save()),this.current++}return a&&(this.lexerState=s.save()),this.results=this.finish(),this},n.prototype.reportLexerError=function(x){var s,$,i=x.token;return i?(s="input "+JSON.stringify(i.text[0])+" (lexer error)",$=this.lexer.formatError(i,"Syntax error")):(s="input (lexer error)",$=x.message),this.reportErrorCommon($,s)},n.prototype.reportError=function(x){var s=(x.type?x.type+" token: ":"")+JSON.stringify(x.value!==void 0?x.value:x),$=this.lexer.formatError(x,"Syntax error");return this.reportErrorCommon($,s)},n.prototype.reportErrorCommon=function(x,s){var $=[];$.push(x);var i=this.table.length-2,a=this.table[i],m=a.states.filter(function(d){var E=d.rule.symbols[d.dot];return E&&typeof E!="string"});if(m.length===0)$.push("Unexpected "+s+`. I did not expect any more input. Here is the state of my parse table:
17
- `),this.displayStateStack(a.states,$);else{$.push("Unexpected "+s+`. Instead, I was expecting to see one of the following:
18
- `);var b=m.map(function(d){return this.buildFirstStateStack(d,[])||[d]},this);b.forEach(function(d){var E=d[0],C=E.rule.symbols[E.dot],L=this.getSymbolDisplay(C);$.push("A "+L+" based on:"),this.displayStateStack(d,$)},this)}return $.push(""),$.join(`
19
- `)},n.prototype.displayStateStack=function(x,s){for(var $,i=0,a=0;a<x.length;a++){var m=x[a],b=m.rule.toString(m.dot);b===$?i++:(i>0&&s.push(" ^ "+i+" more lines identical to this"),i=0,s.push(" "+b)),$=b}},n.prototype.getSymbolDisplay=function(x){return u(x)},n.prototype.buildFirstStateStack=function(x,s){if(s.indexOf(x)!==-1)return null;if(x.wantedBy.length===0)return[x];var $=x.wantedBy[0],i=[x].concat(s),a=this.buildFirstStateStack($,i);return a===null?null:[x].concat(a)},n.prototype.save=function(){var x=this.table[this.current];return x.lexerState=this.lexerState,x},n.prototype.restore=function(x){var s=x.index;this.current=s,this.table[s]=x,this.table.splice(s+1),this.lexerState=x.lexerState,this.results=this.finish()},n.prototype.rewind=function(x){if(!this.options.keepHistory)throw new Error("set option `keepHistory` to enable rewinding");this.restore(this.table[x])},n.prototype.finish=function(){var x=[],s=this.grammar.start,$=this.table[this.table.length-1];return $.states.forEach(function(i){i.rule.name===s&&i.dot===i.rule.symbols.length&&i.reference===0&&i.data!==n.fail&&x.push(i)}),x.map(function(i){return i.data})};function u(x){var s=typeof x;if(s==="string")return x;if(s==="object"){if(x.literal)return JSON.stringify(x.literal);if(x instanceof RegExp)return"character matching "+x;if(x.type)return x.type+" token";if(x.test)return"token matching "+String(x.test);throw new Error("Unknown symbol type: "+x)}}function g(x){var s=typeof x;if(s==="string")return x;if(s==="object"){if(x.literal)return JSON.stringify(x.literal);if(x instanceof RegExp)return x.toString();if(x.type)return"%"+x.type;if(x.test)return"<"+String(x.test)+">";throw new Error("Unknown symbol type: "+x)}}return{Parser:n,Grammar:l,Rule:_}})})(ie)),ie.exports}var he;function Je(){return he||(he=1,(function(y){(function(_,p){for(var h in p)_[h]=p[h]})(y,(function(_){var p={};function h(l){if(p[l])return p[l].exports;var r=p[l]={i:l,l:!1,exports:{}};return _[l].call(r.exports,r,r.exports,h),r.l=!0,r.exports}return h.m=_,h.c=p,h.d=function(l,r,n){h.o(l,r)||Object.defineProperty(l,r,{enumerable:!0,get:n})},h.r=function(l){typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty(l,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(l,"__esModule",{value:!0})},h.t=function(l,r){if(r&1&&(l=h(l)),r&8||r&4&&typeof l=="object"&&l&&l.__esModule)return l;var n=Object.create(null);if(h.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:l}),r&2&&typeof l!="string")for(var u in l)h.d(n,u,(function(g){return l[g]}).bind(null,u));return n},h.n=function(l){var r=l&&l.__esModule?(function(){return l.default}):(function(){return l});return h.d(r,"a",r),r},h.o=function(l,r){return Object.prototype.hasOwnProperty.call(l,r)},h.p="",h(h.s=7)})([(function(_,p){_.exports=We()}),(function(_,p,h){Object.defineProperty(p,"__esModule",{value:!0}),p.unbox=p.doubleQuoted=p.box=p.track=p.tracking=p.trackingComments=p.lexerAny=p.lexer=void 0;const l=h(0),r=h(3),n={};for(const k of r.sqlKeywords)n["kw_"+k.toLowerCase()]=k;const u=k=>{const v=(0,l.keywords)(k);return N=>v(N.toUpperCase())};p.lexer=(0,l.compile)({word:{match:/[eE](?!')[A-Za-z0-9_]*|[a-df-zA-DF-Z_][A-Za-z0-9_]*/,type:u(n),value:k=>k.toLowerCase()},wordQuoted:{match:/"(?:[^"\*]|"")+"/,type:()=>"quoted_word",value:k=>k.substring(1,k.length-1)},string:{match:/'(?:[^']|\'\')*'/,value:k=>k.substring(1,k.length-1).replace(/''/g,"'")},eString:{match:/\b(?:e|E)'(?:[^'\\]|[\r\n\s]|(?:\\\s)|(?:\\\n)|(?:\\.)|(?:\'\'))+'/,value:k=>k.substring(2,k.length-1).replace(/''/g,"'").replace(/\\([\s\n])/g,(v,N)=>N).replace(/\\./g,v=>JSON.parse('"'+v+'"'))},qparam:{match:/\$\d+/},commentLine:/\-\-.*?$[\s\r\n]*/,commentFullOpen:/\/\*/,commentFullClose:/\*\/[\s\r\n]*/,star:"*",comma:",",space:{match:/[\s\t\n\v\f\r]+/,lineBreaks:!0},int:/\-?\d+(?![\.\d])/,float:/\-?(?:(?:\d*\.\d+)|(?:\d+\.\d*))/,lparen:"(",rparen:")",lbracket:"[",rbracket:"]",semicolon:";",dot:/\.(?!\d)/,op_cast:"::",op_colon:":",op_plus:"+",op_eq:"=",op_neq:{match:/(?:!=)|(?:\<\>)/,value:()=>"!="},op_membertext:"->>",op_member:"->",op_minus:"-",op_div:/\//,op_not_ilike:/\!~~\*/,op_not_like:/\!~~/,op_ilike:/~~\*/,op_like:/~~/,op_mod:"%",op_exp:"^",op_additive:{match:["||","-","#-","&&"]},op_compare:{match:[">",">=","<","<=","@>","<@","?","?|","?&","#>>",">>","<<","~","~*","!~","!~*","@@"]},ops_others:{match:["|","&","^","#"]},codeblock:{match:/\$\$(?:.|[\s\t\n\v\f\r])*?\$\$/s,lineBreaks:!0,value:k=>k.substring(2,k.length-2)}}),p.lexer.next=(k=>()=>{let v,N=null;for(;v=k.call(p.lexer);){if(v.type==="commentFullOpen"){if(N===null){N={nested:0,offset:v.offset,text:v.text};continue}N.nested++}if(N!=null){if(N.text+=v.text,v.type==="commentFullClose"){if(N.nested===0){g?.push(x(N)),N=null;continue}N.nested--}continue}if(v.type!=="space"){if(v.type==="commentLine"){g?.push(x(v));continue}break}}if($&&v){const U=v.offset,e={start:U,end:U+v.text.length};v._location=e}return v})(p.lexer.next),p.lexerAny=p.lexer;let g=null;const x=({offset:k,text:v})=>({_location:{start:k,end:k+v.length},comment:v});function s(k){if(g)throw new Error("WAT ? Recursive comments tracking 🤔🤨 ?");try{g=[];const v=k();return{comments:g,ast:v}}finally{g=null}}p.trackingComments=s;let $=!1;function i(k){if($)return k();try{return $=!0,k()}finally{$=!1}}p.tracking=i;function a(k,v){if(!$||!v||typeof v!="object")return v;const N=w(k,!0),U=w(k,!1);if(!N||!U)return v;if(N===U)v._location=N;else{const e={start:N.start,end:U.end};v._location=e}return v}p.track=a;const m=Symbol("_literal"),b=Symbol("_doublequoted");function d(k,v,N){return!$&&!N?v:a(k,{[m]:v,[b]:N})}p.box=d;function E(k){return Array.isArray(k)&&k.length===1&&(k=E(k[0])),Array.isArray(k)&&!k.length?null:k}function C(k){const v=E(k);if(typeof k=="object"&&v?.[b])return{doubleQuoted:!0}}p.doubleQuoted=C;function L(k){var v;return typeof k=="object"&&(v=k?.[m])!==null&&v!==void 0?v:k}p.unbox=L;function w(k,v){if(!k)return null;if(Array.isArray(k)){const N=v?1:-1;for(let U=v?0:k.length-1;U>=0&&U<k.length;U+=N){const e=w(k[U],v);if(e)return e}return null}return typeof k!="object"?null:k._location}}),(function(_,p,h){Object.defineProperty(p,"__esModule",{value:!0}),p.AstDefaultMapper=p.arrayNilMap=p.assignChanged=p.astMapper=void 0;const l=h(6);function r(i){const a=new x;return a.wrapped=i(a),a}p.astMapper=r;function n(i,a){if(!i)return i;let m=!1;for(const b of Object.keys(a))if(i[b]!==a[b]){m=!0;break}return m?(0,l.trimNullish)({...i,...a},0):i}p.assignChanged=n;function u(i,a){if(!i?.length)return i;let m=!1,b=i;for(let d=0;d<i.length;d++){const E=i[d],C=a(E);!m&&(!C||C!==E)&&(m=!0,b=i.slice(0,d)),C&&m&&b.push(C)}return b}p.arrayNilMap=u;function g(i){switch(i?.type){case"select":case"delete":case"insert":case"update":case"union":case"union all":case"with":return!0;default:return!1}}class x{super(){return new $(this)}statement(a){switch(a.type){case"alter table":return this.alterTable(a);case"alter index":return this.alterIndex(a);case"commit":case"start transaction":case"rollback":return this.transaction(a);case"create index":return this.createIndex(a);case"create table":return this.createTable(a);case"truncate table":return this.truncateTable(a);case"delete":return this.delete(a);case"insert":return this.insert(a);case"with":return this.with(a);case"with recursive":return this.withRecursive(a);case"select":return this.selection(a);case"update":return this.update(a);case"create extension":return this.createExtension(a);case"tablespace":return this.tablespace(a);case"set":return this.setGlobal(a);case"set timezone":return this.setTimezone(a);case"set names":return this.setNames(a);case"create sequence":return this.createSequence(a);case"alter sequence":return this.alterSequence(a);case"begin":return this.begin(a);case"drop table":case"drop index":case"drop sequence":case"drop type":case"drop trigger":return this.drop(a);case"create enum":return this.createEnum(a);case"alter enum":return this.alterEnum(a);case"create composite type":return this.createCompositeType(a);case"union":case"union all":return this.union(a);case"show":return this.show(a);case"prepare":return this.prepare(a);case"deallocate":return this.deallocate(a);case"create view":return this.createView(a);case"create materialized view":return this.createMaterializedView(a);case"refresh materialized view":return this.refreshMaterializedView(a);case"create schema":return this.createSchema(a);case"raise":return this.raise(a);case"comment":return this.comment(a);case"do":return this.do(a);case"create function":return this.createFunction(a);case"drop function":return this.dropFunction(a);case"values":return this.values(a);default:throw l.NotSupported.never(a)}}comment(a){return a}createView(a){const m=this.select(a.query);if(!m)return null;const b=this.tableRef(a.name);return b?n(a,{query:m,name:b}):null}createMaterializedView(a){const m=this.select(a.query);if(!m)return null;const b=this.tableRef(a.name);return b?n(a,{query:m,name:b}):null}refreshMaterializedView(a){return a}do(a){return a}createFunction(a){const m=u(a.arguments,d=>{const E=this.dataType(d.type);return n(d,{type:E})});let b;if(a.returns)switch(a.returns.kind){case"table":b=n(a.returns,{columns:u(a.returns.columns,d=>{const E=this.dataType(d.type);return E&&n(d,{type:E})})});break;case void 0:case null:case"array":b=this.dataType(a.returns);break;default:throw l.NotSupported.never(a.returns)}return n(a,{returns:b,arguments:m})}dropFunction(a){const m=u(a.arguments,b=>{const d=this.dataType(b.type);return n(b,{type:d})});return n(a,{arguments:m})}show(a){return a}createEnum(a){return a}alterEnum(a){return a}createCompositeType(a){const m=u(a.attributes,b=>n(b,{dataType:this.dataType(b.dataType)}));return n(a,{attributes:m})}drop(a){return a}alterSequence(a){return a.change.type==="set options"&&a.change.as&&this.dataType(a.change.as),a}begin(a){return a}createSequence(a){return a.options.as&&this.dataType(a.options.as),a}tablespace(a){return a}setGlobal(a){return a}setTimezone(a){return a}setNames(a){return a}update(a){if(!a)return a;const m=this.tableRef(a.table);if(!m)return null;const b=a.from&&this.from(a.from),d=a.where&&this.expr(a.where),E=u(a.sets,L=>this.set(L));if(!E?.length)return null;const C=u(a.returning,L=>this.selectionColumn(L));return n(a,{table:m,where:d,sets:E,from:b,returning:C})}insert(a){var m,b;const d=this.tableRef(a.into);if(!d)return null;const E=a.insert&&this.select(a.insert);if(!E)return null;const C=u(a.returning,k=>this.selectionColumn(k));let L=(m=a.onConflict)===null||m===void 0?void 0:m.on;switch(L?.type){case"on constraint":break;case"on expr":L=n(L,{exprs:u(L.exprs,k=>this.expr(k))});break;case null:case void 0:break;default:throw l.NotSupported.never(L)}let w=(b=a.onConflict)===null||b===void 0?void 0:b.do;if(w&&w!=="do nothing"){const k=u(w.sets,v=>this.set(v));k?.length?w.sets!==k&&(w={sets:k}):w="do nothing"}return n(a,{into:d,insert:E,returning:C,onConflict:w?n(a.onConflict,{do:w,on:L}):a.onConflict})}raise(a){return n(a,{formatExprs:a.formatExprs&&u(a.formatExprs,m=>this.expr(m)),using:a.using&&u(a.using,m=>n(m,{value:this.expr(m.value)}))})}delete(a){const m=this.tableRef(a.from);if(!m)return null;const b=a.where&&this.expr(a.where),d=u(a.returning,E=>this.selectionColumn(E));return n(a,{where:b,returning:d,from:m})}createSchema(a){return a}createTable(a){const m=u(a.columns,b=>{switch(b.kind){case"column":return this.createColumn(b);case"like table":return this.likeTable(b);default:throw l.NotSupported.never(b)}});return m?.length?n(a,{columns:m}):null}likeTable(a){const m=this.tableRef(a.like);return m?n(a,{like:m}):null}truncateTable(a){return a}constraint(a){switch(a.type){case"not null":case"null":case"primary key":case"unique":case"add generated":return a;case"default":{const m=this.expr(a.default);return m?n(a,{default:m}):null}case"check":{const m=this.expr(a.expr);return m?n(a,{expr:m}):null}case"reference":{const m=this.tableRef(a.foreignTable);return m?n(a,{foreignTable:m}):null}default:throw l.NotSupported.never(a)}}set(a){const m=this.expr(a.value);return m?n(a,{value:m}):null}dataType(a){return a}tableRef(a){return a}transaction(a){return a}createExtension(a){return a}createIndex(a){const m=u(a.expressions,b=>{const d=this.expr(b.expression);return d===b.expression?b:d?{...b,expression:d}:null});return m?.length?n(a,{expressions:m}):null}prepare(a){const m=this.statement(a.statement);return m?n(a,{args:u(a.args,b=>this.dataType(b)),statement:m}):null}deallocate(a){return a}alterIndex(a){return a}alterTable(a){var m;const b=this.tableRef(a.table);if(!b)return null;let d=[],E=!1;for(let C=0;C<(((m=a.changes)===null||m===void 0?void 0:m.length)||0);C++){const L=a.changes[C],w=this.tableAlteration(L,a.table);E=E||w!=L,w&&d.push(w)}return d.length?E?n(a,{table:b,changes:d}):a:null}tableAlteration(a,m){switch(a.type){case"add column":return this.addColumn(a,m);case"add constraint":return this.addConstraint(a,m);case"alter column":return this.alterColumn(a,m);case"rename":return this.renameTable(a,m);case"rename column":return this.renameColumn(a,m);case"rename constraint":return this.renameConstraint(a,m);case"drop column":return this.dropColumn(a,m);case"drop constraint":return this.dropConstraint(a,m);case"owner":return this.setTableOwner(a,m);default:throw l.NotSupported.never(a)}}dropColumn(a,m){return a}dropConstraint(a,m){return a}setTableOwner(a,m){return a}renameConstraint(a,m){return a}renameColumn(a,m){return a}renameTable(a,m){return a}alterColumn(a,m){let b;switch(a.alter.type){case"set default":b=this.setColumnDefault(a.alter,m,a.column);break;case"set type":b=this.setColumnType(a.alter,m,a.column);break;case"drop default":case"set not null":case"drop not null":b=this.alterColumnSimple(a.alter,m,a.column);break;case"add generated":b=this.alterColumnAddGenerated(a.alter,m,a.column);break;default:throw l.NotSupported.never(a.alter)}return b?n(a,{alter:b}):null}setColumnType(a,m,b){const d=this.dataType(a.dataType);return n(a,{dataType:d})}alterColumnAddGenerated(a,m,b){return a}alterColumnSimple(a,m,b){return a}setColumnDefault(a,m,b){const d=this.expr(a.default);return d?n(a,{default:d}):null}addConstraint(a,m){return a}addColumn(a,m){const b=this.createColumn(a.column);return b?n(a,{column:b}):null}createColumn(a){var m;const b=this.dataType(a.dataType);if(!b)return null;const d=(m=u(a.constraints,E=>this.constraint(E)))!==null&&m!==void 0?m:void 0;return n(a,{dataType:b,constraints:d})}select(a){switch(a.type){case"select":return this.selection(a);case"union":case"union all":return this.union(a);case"with":return this.with(a);case"values":return this.values(a);case"with recursive":return this.withRecursive(a);default:throw l.NotSupported.never(a)}}selection(a){var m,b;const d=u(a.from,N=>this.from(N)),E=u(a.columns,N=>this.selectionColumn(N)),C=a.where&&this.expr(a.where),L=u(a.groupBy,N=>this.expr(N)),w=a.having&&this.expr(a.having),k=this.orderBy(a.orderBy),v=n(a.limit,{limit:this.expr((m=a.limit)===null||m===void 0?void 0:m.limit),offset:this.expr((b=a.limit)===null||b===void 0?void 0:b.offset)});return n(a,{from:d,columns:E,where:C,groupBy:L,having:w,orderBy:k,limit:v})}orderBy(a){return u(a,m=>{const b=this.expr(m.by);return b?b===m.by?m:{...m,by:b}:null})}union(a){const m=this.select(a.left),b=this.select(a.right);return!m||!b?m??b:n(a,{left:m,right:b})}with(a){const m=u(a.bind,d=>{const E=this.statement(d.statement);return g(E)?n(d,{statement:E}):null});if(!m)return null;const b=this.statement(a.in);return g(b)?n(a,{bind:m,in:b}):null}withRecursive(a){const m=this.union(a.bind);if(!m||m.type!=="union"&&m.type!=="union all")return null;const b=this.statement(a.in);return g(b)?n(a,{bind:m,in:b}):null}from(a){switch(a.type){case"table":return this.fromTable(a);case"statement":return this.fromStatement(a);case"call":return this.fromCall(a);default:throw l.NotSupported.never(a)}}fromCall(a){const m=this.call(a);return!m||m.type!=="call"?null:n(a,m)}fromStatement(a){const m=this.select(a.statement);if(!m)return null;const b=a.join&&this.join(a.join);return n(a,{statement:m,join:b})}values(a){const m=u(a.values,b=>u(b,d=>this.expr(d)));return m?.length?n(a,{values:m}):null}join(a){const m=a.on&&this.expr(a.on);return!m&&!a.using?a:n(a,{on:m})}fromTable(a){const m=this.tableRef(a.name);if(!m)return null;const b=a.join&&this.join(a.join);return n(a,{name:m,join:b})}selectionColumn(a){const m=this.expr(a.expr);return m?n(a,{expr:m}):null}expr(a){if(!a)return a;switch(a.type){case"binary":return this.binary(a);case"unary":return this.unary(a);case"ref":return this.ref(a);case"string":case"numeric":case"integer":case"boolean":case"constant":case"null":return this.constant(a);case"list":case"array":return this.array(a);case"array select":return this.arraySelect(a);case"call":return this.call(a);case"cast":return this.cast(a);case"case":return this.case(a);case"member":return this.member(a);case"arrayIndex":return this.arrayIndex(a);case"ternary":return this.ternary(a);case"select":case"union":case"union all":case"with":case"with recursive":return this.select(a);case"keyword":return this.valueKeyword(a);case"parameter":return this.parameter(a);case"extract":return this.extract(a);case"overlay":return this.callOverlay(a);case"substring":return this.callSubstring(a);case"values":return this.values(a);case"default":return this.default(a);default:throw l.NotSupported.never(a)}}arraySelect(a){const m=this.select(a.select);return m?n(a,{select:m}):null}extract(a){const m=this.expr(a.from);return m?n(a,{from:m}):null}valueKeyword(a){return a}ternary(a){const m=this.expr(a.value),b=this.expr(a.lo),d=this.expr(a.hi);return!m||!b||!d?null:n(a,{value:m,lo:b,hi:d})}parameter(a){return a}arrayIndex(a){const m=this.expr(a.array),b=this.expr(a.index);return!m||!b?null:n(a,{array:m,index:b})}member(a){const m=this.expr(a.operand);return m?n(a,{operand:m}):null}case(a){const m=a.value&&this.expr(a.value),b=u(a.whens,E=>{const C=this.expr(E.when),L=this.expr(E.value);return!C||!L?null:n(E,{value:L,when:C})});if(!b?.length)return null;const d=a.else&&this.expr(a.else);return n(a,{value:m,whens:b,else:d})}cast(a){const m=this.expr(a.operand);return m?n(a,{operand:m}):null}call(a){var m;const b=u(a.args,w=>this.expr(w));if(!b)return null;const d=this.orderBy(a.orderBy),E=this.expr(a.filter),C=a.withinGroup?[a.withinGroup]:void 0,L=(m=this.orderBy(C))===null||m===void 0?void 0:m[0];return n(a,{args:b,orderBy:d,filter:E,withinGroup:L})}callSubstring(a){return n(a,{value:this.expr(a.value),from:this.expr(a.from),for:this.expr(a.for)})}callOverlay(a){return n(a,{value:this.expr(a.value),placing:this.expr(a.placing),from:this.expr(a.from),for:this.expr(a.for)})}array(a){const m=u(a.expressions,b=>this.expr(b));return m?n(a,{expressions:m}):null}constant(a){return a}default(a){return a}ref(a){return a}unary(a){const m=this.expr(a.operand);return m?n(a,{operand:m}):null}binary(a){const m=this.expr(a.left),b=this.expr(a.right);return!m||!b?null:n(a,{left:m,right:b})}}p.AstDefaultMapper=x;const s=x.prototype;for(const i of Object.getOwnPropertyNames(s)){const a=s[i];i==="constructor"||i==="super"||typeof a!="function"||Object.defineProperty(s,i,{configurable:!1,get(){return function(...m){var b;if(this.skipNext)return this.skipNext=!1,a.apply(this,m);const d=(b=this.wrapped)===null||b===void 0?void 0:b[i];return d?d.apply(this.wrapped,m):a.apply(this,m)}}})}class $ extends x{constructor(a){super(),this.parent=a}}for(const i of Object.getOwnPropertyNames(s)){const a=s[i];i==="constructor"||i==="super"||typeof a!="function"||Object.defineProperty($.prototype,i,{configurable:!1,get(){return function(...m){return this.parent.skipNext=!0,a.apply(this.parent,m)}}})}}),(function(_,p,h){Object.defineProperty(p,"__esModule",{value:!0}),p.sqlKeywords=void 0,p.sqlKeywords=["ALL","ANALYSE","ANALYZE","AND","ANY","ARRAY","AS","ASC","ASYMMETRIC","AUTHORIZATION","BINARY","BOTH","CASE","CAST","CHECK","COLLATE","COLLATION","CONCURRENTLY","CONSTRAINT","CREATE","CROSS","CURRENT_CATALOG","CURRENT_DATE","CURRENT_ROLE","CURRENT_SCHEMA","CURRENT_TIME","CURRENT_TIMESTAMP","CURRENT_USER","DEFAULT","DEFERRABLE","DESC","DISTINCT","DO","ELSE","END","EXCEPT","FALSE","FETCH","FOR","FOREIGN","FREEZE","FROM","FULL","GRANT","GROUP","HAVING","ILIKE","IN","INITIALLY","INNER","INTERSECT","INTO","IS","ISNULL","JOIN","LATERAL","LEADING","LEFT","LIKE","LIMIT","LOCALTIME","LOCALTIMESTAMP","NATURAL","NOT","NOTNULL","NULL","OFFSET","ON","ONLY","OR","ORDER","OUTER","OVERLAPS","PLACING","PRIMARY","REFERENCES","RETURNING","RIGHT","SELECT","SESSION_USER","SIMILAR","SOME","SYMMETRIC","TABLE","TABLESAMPLE","THEN","TO","TRAILING","TRUE","UNION","UNIQUE","USER","USING","VARIADIC","VERBOSE","WHEN","WHERE","WINDOW","WITH","PRECISION"]}),(function(_,p,h){Object.defineProperty(p,"__esModule",{value:!0}),p.intervalToString=p.normalizeInterval=p.buildInterval=void 0;const l=[["years",12],["months",30],["days",24],["hours",60],["minutes",60],["seconds",1e3],["milliseconds",0]];function*r($){if(typeof $[1]=="number")yield $;else for(const i of $)yield*r(i)}function n($,i){var a;const m={};if(i==="invalid")throw new Error(`invalid input syntax for type interval: "${$}"`);for(const[b,d]of r(i))m[b]=((a=m[b])!==null&&a!==void 0?a:0)+d;return m}p.buildInterval=n;function u($){var i,a,m,b,d,E,C,L,w;const k={...$};for(let U=0;U<l.length;U++){const[e,o]=l[U],t=(i=k[e])!==null&&i!==void 0?i:0,c=t>=0?Math.floor(t):Math.ceil(t);if(!t||c===t)continue;const f=(a=l[U+1])===null||a===void 0?void 0:a[0];f&&(k[f]=((m=k[f])!==null&&m!==void 0?m:0)+o*(t-c)),k[e]=c}if(k.months||k.years){const U=((b=k.months)!==null&&b!==void 0?b:0)+((d=k.years)!==null&&d!==void 0?d:0)*12;k.months=U%12,k.years=(U-k.months)/12}let v=((E=k.hours)!==null&&E!==void 0?E:0)*3600+((C=k.minutes)!==null&&C!==void 0?C:0)*60+((L=k.seconds)!==null&&L!==void 0?L:0)+((w=k.milliseconds)!==null&&w!==void 0?w:0)/1e3,N=1;v<0&&(N=-1,v=-v),v>=3600?(k.hours=N*Math.floor(v/3600),v-=N*k.hours*3600):delete k.hours,v>=60?(k.minutes=N*Math.floor(v/60),v-=N*k.minutes*60):delete k.minutes,v>0?(k.seconds=N*Math.floor(v),v-=N*k.seconds):delete k.seconds,v>0?k.milliseconds=N*Math.round(v*1e3):delete k.milliseconds;for(const[U]of l)k[U]||delete k[U];return k}p.normalizeInterval=u;function g($){var i,a,m;$=u($);const b=[];if($.years&&b.push($.years===1?"1 year":$.years+" years"),$.months&&b.push($.months===1?"1 month":$.months+" months"),$.days&&b.push($.days===1?"1 day":$.days+" days"),$.hours||$.minutes||$.seconds||$.milliseconds){let d=`${x((i=$.hours)!==null&&i!==void 0?i:0)}:${x((a=$.minutes)!==null&&a!==void 0?a:0)}:${x((m=$.seconds)!==null&&m!==void 0?m:0)}`;$.milliseconds&&(d=d+($.milliseconds/1e3).toString().substr(1)),(s($.hours)||s($.minutes)||s($.seconds)||s($.milliseconds))&&(d="-"+d),b.push(d)}return b.join(" ")}p.intervalToString=g;function x($){return $=Math.abs($),$<10?"0"+$:$.toString()}function s($){return $&&$<0}}),(function(_,p,h){Object.defineProperty(p,"__esModule",{value:!0}),p.astVisitor=void 0;const l=h(2);class r{super(){return new u(this)}}const n=l.AstDefaultMapper.prototype;for(const x of Object.getOwnPropertyNames(n)){const s=n[x];x==="constructor"||x==="super"||typeof s!="function"||Object.defineProperty(r.prototype,x,{configurable:!1,get(){return function(...$){const i=this.visitor[x];return i?(i.apply(this.visitor,$),$[0]):s.apply(this,$)}}})}class u{constructor(s){this.parent=s}}for(const x of Object.getOwnPropertyNames(n)){const s=n[x];x==="constructor"||x==="super"||typeof s!="function"||Object.defineProperty(u.prototype,x,{configurable:!1,get(){return function(...$){return s.apply(this.parent,$)}}})}function g(x){return(0,l.astMapper)(s=>{const $=new r;return $.mapper=s,$.visitor=x($),$})}p.astVisitor=g}),(function(_,p,h){Object.defineProperty(p,"__esModule",{value:!0}),p.trimNullish=p.NotSupported=void 0;class l extends Error{constructor(u){super("Not supported"+(u?": "+u:""))}static never(u,g){return new l(`${g??""} ${JSON.stringify(u)}`)}}p.NotSupported=l;function r(n,u=5){if(u<0||(n instanceof Array&&n.forEach(g=>r(g,u-1)),typeof n!="object"||n instanceof Date)||!n)return n;for(const g of Object.keys(n)){const x=n[g];x==null?delete n[g]:r(x,u-1)}return n}p.trimNullish=r}),(function(_,p,h){var l=this&&this.__createBinding||(Object.create?(function($,i,a,m){m===void 0&&(m=a);var b=Object.getOwnPropertyDescriptor(i,a);(!b||("get"in b?!i.__esModule:b.writable||b.configurable))&&(b={enumerable:!0,get:function(){return i[a]}}),Object.defineProperty($,m,b)}):(function($,i,a,m){m===void 0&&(m=a),$[m]=i[a]})),r=this&&this.__exportStar||function($,i){for(var a in $)a!=="default"&&!Object.prototype.hasOwnProperty.call(i,a)&&l(i,$,a)};Object.defineProperty(p,"__esModule",{value:!0}),p.normalizeInterval=p.intervalToString=p.toSql=p.astMapper=p.assignChanged=p.arrayNilMap=p.astVisitor=p.parseWithComments=p.parseIntervalLiteral=p.parseGeometricLiteral=p.parseArrayLiteral=p.parseFirst=p.parse=void 0;var n=h(8);Object.defineProperty(p,"parse",{enumerable:!0,get:function(){return n.parse}}),Object.defineProperty(p,"parseFirst",{enumerable:!0,get:function(){return n.parseFirst}}),Object.defineProperty(p,"parseArrayLiteral",{enumerable:!0,get:function(){return n.parseArrayLiteral}}),Object.defineProperty(p,"parseGeometricLiteral",{enumerable:!0,get:function(){return n.parseGeometricLiteral}}),Object.defineProperty(p,"parseIntervalLiteral",{enumerable:!0,get:function(){return n.parseIntervalLiteral}}),Object.defineProperty(p,"parseWithComments",{enumerable:!0,get:function(){return n.parseWithComments}});var u=h(5);Object.defineProperty(p,"astVisitor",{enumerable:!0,get:function(){return u.astVisitor}});var g=h(2);Object.defineProperty(p,"arrayNilMap",{enumerable:!0,get:function(){return g.arrayNilMap}}),Object.defineProperty(p,"assignChanged",{enumerable:!0,get:function(){return g.assignChanged}}),Object.defineProperty(p,"astMapper",{enumerable:!0,get:function(){return g.astMapper}});var x=h(19);Object.defineProperty(p,"toSql",{enumerable:!0,get:function(){return x.toSql}}),r(h(21),p);var s=h(4);Object.defineProperty(p,"intervalToString",{enumerable:!0,get:function(){return s.intervalToString}}),Object.defineProperty(p,"normalizeInterval",{enumerable:!0,get:function(){return s.normalizeInterval}})}),(function(_,p,h){var l=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(p,"__esModule",{value:!0}),p.parseGeometricLiteral=p.parseIntervalLiteral=p.parseArrayLiteral=p.parse=p.parseWithComments=p.parseFirst=void 0;const r=h(9),n=l(h(10)),u=l(h(11)),g=l(h(13)),x=l(h(15)),s=l(h(17)),$=h(4),i=h(1);let a,m,b,d,E;function C(e){return w(e)[0]}p.parseFirst=C;function L(e,o){return(0,i.trackingComments)(()=>w(e,o))}p.parseWithComments=L;function w(e,o){a||(a=r.Grammar.fromCompiled(n.default));const t=typeof o=="string"?o:o?.entry,c=typeof o=="string"?null:o,f=()=>U(e,a,t);let A=c?.locationTracking?(0,i.tracking)(f):f();return typeof o!="string"&&!Array.isArray(A)&&(A=[A]),A}p.parse=w;function k(e){return m||(m=r.Grammar.fromCompiled(u.default)),U(e,m)}p.parseArrayLiteral=k;function v(e){if(e.startsWith("P"))return E||(E=r.Grammar.fromCompiled(s.default)),(0,$.buildInterval)(e,U(e,E));{d||(d=r.Grammar.fromCompiled(x.default));const o=e.toLowerCase();return(0,$.buildInterval)(e,U(o,d))}}p.parseIntervalLiteral=v;function N(e,o){return b||(b=r.Grammar.fromCompiled(g.default)),U(e,b,o)}p.parseGeometricLiteral=N;function U(e,o,t){try{o.start=t??"main";const c=new r.Parser(o);c.feed(e);const f=c.finish();if(f.length){if(f.length!==1)throw new Error(`💀 Ambiguous SQL syntax: Please file an issue stating the request that has failed at https://github.com/oguimbal/pgsql-ast-parser:
13
+ `,r+=b.map(function(N,j){return h(this.line-b.length+j+1,f)+" "+N},this).join(`
14
+ `),r+=`
15
+ `+h("",f+$)+`^
16
+ `,r}else return r+" at index "+(this.index-1);function h(N,j){var Z=String(N);return Array(j-Z.length+1).join(" ")+Z}};function l(d,r,b){if(d instanceof o)var c=d,b=r;else var c=o.fromCompiled(d,r);this.grammar=c,this.options={keepHistory:!1,lexer:c.lexer||new s};for(var $ in b||{})this.options[$]=b[$];this.lexer=this.options.lexer,this.lexerState=void 0;var f=new i(c,0);this.table=[f],f.wants[c.start]=[],f.predict(c.start),f.process(),this.current=0}l.fail={},l.prototype.feed=function(d){var r=this.lexer;r.reset(d,this.lexerState);for(var y;;){try{if(y=r.next(),!y)break}catch(O){var f=new i(this.grammar,this.current+1);this.table.push(f);var b=new Error(this.reportLexerError(O));throw b.offset=this.current,b.token=O.token,b}var c=this.table[this.current];this.options.keepHistory||delete this.table[this.current-1];var $=this.current+1,f=new i(this.grammar,$);this.table.push(f);for(var h=y.text!==void 0?y.text:y.value,N=r.constructor===s?y.value:y,j=c.scannable,Z=j.length;Z--;){var k=j[Z],g=k.rule.symbols[k.dot];if(g.test?g.test(N):g.type?g.type===y.type:g.literal===h){var E=k.nextState({data:N,token:y,isToken:!0,reference:$-1});f.states.push(E)}}if(f.process(),f.states.length===0){var b=new Error(this.reportError(y));throw b.offset=this.current,b.token=y,b}this.options.keepHistory&&(c.lexerState=r.save()),this.current++}return c&&(this.lexerState=r.save()),this.results=this.finish(),this},l.prototype.reportLexerError=function(d){var r,y,b=d.token;return b?(r="input "+JSON.stringify(b.text[0])+" (lexer error)",y=this.lexer.formatError(b,"Syntax error")):(r="input (lexer error)",y=d.message),this.reportErrorCommon(y,r)},l.prototype.reportError=function(d){var r=(d.type?d.type+" token: ":"")+JSON.stringify(d.value!==void 0?d.value:d),y=this.lexer.formatError(d,"Syntax error");return this.reportErrorCommon(y,r)},l.prototype.reportErrorCommon=function(d,r){var y=[];y.push(d);var b=this.table.length-2,c=this.table[b],$=c.states.filter(function(h){var N=h.rule.symbols[h.dot];return N&&typeof N!="string"});if($.length===0)y.push("Unexpected "+r+`. I did not expect any more input. Here is the state of my parse table:
17
+ `),this.displayStateStack(c.states,y);else{y.push("Unexpected "+r+`. Instead, I was expecting to see one of the following:
18
+ `);var f=$.map(function(h){return this.buildFirstStateStack(h,[])||[h]},this);f.forEach(function(h){var N=h[0],j=N.rule.symbols[N.dot],Z=this.getSymbolDisplay(j);y.push("A "+Z+" based on:"),this.displayStateStack(h,y)},this)}return y.push(""),y.join(`
19
+ `)},l.prototype.displayStateStack=function(d,r){for(var y,b=0,c=0;c<d.length;c++){var $=d[c],f=$.rule.toString($.dot);f===y?b++:(b>0&&r.push(" ^ "+b+" more lines identical to this"),b=0,r.push(" "+f)),y=f}},l.prototype.getSymbolDisplay=function(d){return u(d)},l.prototype.buildFirstStateStack=function(d,r){if(r.indexOf(d)!==-1)return null;if(d.wantedBy.length===0)return[d];var y=d.wantedBy[0],b=[d].concat(r),c=this.buildFirstStateStack(y,b);return c===null?null:[d].concat(c)},l.prototype.save=function(){var d=this.table[this.current];return d.lexerState=this.lexerState,d},l.prototype.restore=function(d){var r=d.index;this.current=r,this.table[r]=d,this.table.splice(r+1),this.lexerState=d.lexerState,this.results=this.finish()},l.prototype.rewind=function(d){if(!this.options.keepHistory)throw new Error("set option `keepHistory` to enable rewinding");this.restore(this.table[d])},l.prototype.finish=function(){var d=[],r=this.grammar.start,y=this.table[this.table.length-1];return y.states.forEach(function(b){b.rule.name===r&&b.dot===b.rule.symbols.length&&b.reference===0&&b.data!==l.fail&&d.push(b)}),d.map(function(b){return b.data})};function u(d){var r=typeof d;if(r==="string")return d;if(r==="object"){if(d.literal)return JSON.stringify(d.literal);if(d instanceof RegExp)return"character matching "+d;if(d.type)return d.type+" token";if(d.test)return"token matching "+String(d.test);throw new Error("Unknown symbol type: "+d)}}function w(d){var r=typeof d;if(r==="string")return d;if(r==="object"){if(d.literal)return JSON.stringify(d.literal);if(d instanceof RegExp)return d.toString();if(d.type)return"%"+d.type;if(d.test)return"<"+String(d.test)+">";throw new Error("Unknown symbol type: "+d)}}return{Parser:l,Grammar:o,Rule:t}})})(ns)),ns.exports}var Os;function Dt(){return Os||(Os=1,(function(p){(function(t,n){for(var i in n)t[i]=n[i]})(p,(function(t){var n={};function i(o){if(n[o])return n[o].exports;var s=n[o]={i:o,l:!1,exports:{}};return t[o].call(s.exports,s,s.exports,i),s.l=!0,s.exports}return i.m=t,i.c=n,i.d=function(o,s,l){i.o(o,s)||Object.defineProperty(o,s,{enumerable:!0,get:l})},i.r=function(o){typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty(o,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(o,"__esModule",{value:!0})},i.t=function(o,s){if(s&1&&(o=i(o)),s&8||s&4&&typeof o=="object"&&o&&o.__esModule)return o;var l=Object.create(null);if(i.r(l),Object.defineProperty(l,"default",{enumerable:!0,value:o}),s&2&&typeof o!="string")for(var u in o)i.d(l,u,(function(w){return o[w]}).bind(null,u));return l},i.n=function(o){var s=o&&o.__esModule?(function(){return o.default}):(function(){return o});return i.d(s,"a",s),s},i.o=function(o,s){return Object.prototype.hasOwnProperty.call(o,s)},i.p="",i(i.s=7)})([(function(t,n){t.exports=It()}),(function(t,n,i){Object.defineProperty(n,"__esModule",{value:!0}),n.unbox=n.doubleQuoted=n.box=n.track=n.tracking=n.trackingComments=n.lexerAny=n.lexer=void 0;const o=i(0),s=i(3),l={};for(const g of s.sqlKeywords)l["kw_"+g.toLowerCase()]=g;const u=g=>{const E=(0,o.keywords)(g);return O=>E(O.toUpperCase())};n.lexer=(0,o.compile)({word:{match:/[eE](?!')[A-Za-z0-9_]*|[a-df-zA-DF-Z_][A-Za-z0-9_]*/,type:u(l),value:g=>g.toLowerCase()},wordQuoted:{match:/"(?:[^"\*]|"")+"/,type:()=>"quoted_word",value:g=>g.substring(1,g.length-1)},string:{match:/'(?:[^']|\'\')*'/,value:g=>g.substring(1,g.length-1).replace(/''/g,"'")},eString:{match:/\b(?:e|E)'(?:[^'\\]|[\r\n\s]|(?:\\\s)|(?:\\\n)|(?:\\.)|(?:\'\'))+'/,value:g=>g.substring(2,g.length-1).replace(/''/g,"'").replace(/\\([\s\n])/g,(E,O)=>O).replace(/\\./g,E=>JSON.parse('"'+E+'"'))},qparam:{match:/\$\d+/},commentLine:/\-\-.*?$[\s\r\n]*/,commentFullOpen:/\/\*/,commentFullClose:/\*\/[\s\r\n]*/,star:"*",comma:",",space:{match:/[\s\t\n\v\f\r]+/,lineBreaks:!0},int:/\-?\d+(?![\.\d])/,float:/\-?(?:(?:\d*\.\d+)|(?:\d+\.\d*))/,lparen:"(",rparen:")",lbracket:"[",rbracket:"]",semicolon:";",dot:/\.(?!\d)/,op_cast:"::",op_colon:":",op_plus:"+",op_eq:"=",op_neq:{match:/(?:!=)|(?:\<\>)/,value:()=>"!="},op_membertext:"->>",op_member:"->",op_minus:"-",op_div:/\//,op_not_ilike:/\!~~\*/,op_not_like:/\!~~/,op_ilike:/~~\*/,op_like:/~~/,op_mod:"%",op_exp:"^",op_additive:{match:["||","-","#-","&&"]},op_compare:{match:[">",">=","<","<=","@>","<@","?","?|","?&","#>>",">>","<<","~","~*","!~","!~*","@@"]},ops_others:{match:["|","&","^","#"]},codeblock:{match:/\$\$(?:.|[\s\t\n\v\f\r])*?\$\$/s,lineBreaks:!0,value:g=>g.substring(2,g.length-2)}}),n.lexer.next=(g=>()=>{let E,O=null;for(;E=g.call(n.lexer);){if(E.type==="commentFullOpen"){if(O===null){O={nested:0,offset:E.offset,text:E.text};continue}O.nested++}if(O!=null){if(O.text+=E.text,E.type==="commentFullClose"){if(O.nested===0){w?.push(d(O)),O=null;continue}O.nested--}continue}if(E.type!=="space"){if(E.type==="commentLine"){w?.push(d(E));continue}break}}if(y&&E){const G=E.offset,e={start:G,end:G+E.text.length};E._location=e}return E})(n.lexer.next),n.lexerAny=n.lexer;let w=null;const d=({offset:g,text:E})=>({_location:{start:g,end:g+E.length},comment:E});function r(g){if(w)throw new Error("WAT ? Recursive comments tracking 🤔🤨 ?");try{w=[];const E=g();return{comments:w,ast:E}}finally{w=null}}n.trackingComments=r;let y=!1;function b(g){if(y)return g();try{return y=!0,g()}finally{y=!1}}n.tracking=b;function c(g,E){if(!y||!E||typeof E!="object")return E;const O=k(g,!0),G=k(g,!1);if(!O||!G)return E;if(O===G)E._location=O;else{const e={start:O.start,end:G.end};E._location=e}return E}n.track=c;const $=Symbol("_literal"),f=Symbol("_doublequoted");function h(g,E,O){return!y&&!O?E:c(g,{[$]:E,[f]:O})}n.box=h;function N(g){return Array.isArray(g)&&g.length===1&&(g=N(g[0])),Array.isArray(g)&&!g.length?null:g}function j(g){const E=N(g);if(typeof g=="object"&&E?.[f])return{doubleQuoted:!0}}n.doubleQuoted=j;function Z(g){var E;return typeof g=="object"&&(E=g?.[$])!==null&&E!==void 0?E:g}n.unbox=Z;function k(g,E){if(!g)return null;if(Array.isArray(g)){const O=E?1:-1;for(let G=E?0:g.length-1;G>=0&&G<g.length;G+=O){const e=k(g[G],E);if(e)return e}return null}return typeof g!="object"?null:g._location}}),(function(t,n,i){Object.defineProperty(n,"__esModule",{value:!0}),n.AstDefaultMapper=n.arrayNilMap=n.assignChanged=n.astMapper=void 0;const o=i(6);function s(b){const c=new d;return c.wrapped=b(c),c}n.astMapper=s;function l(b,c){if(!b)return b;let $=!1;for(const f of Object.keys(c))if(b[f]!==c[f]){$=!0;break}return $?(0,o.trimNullish)({...b,...c},0):b}n.assignChanged=l;function u(b,c){if(!b?.length)return b;let $=!1,f=b;for(let h=0;h<b.length;h++){const N=b[h],j=c(N);!$&&(!j||j!==N)&&($=!0,f=b.slice(0,h)),j&&$&&f.push(j)}return f}n.arrayNilMap=u;function w(b){switch(b?.type){case"select":case"delete":case"insert":case"update":case"union":case"union all":case"with":return!0;default:return!1}}class d{super(){return new y(this)}statement(c){switch(c.type){case"alter table":return this.alterTable(c);case"alter index":return this.alterIndex(c);case"commit":case"start transaction":case"rollback":return this.transaction(c);case"create index":return this.createIndex(c);case"create table":return this.createTable(c);case"truncate table":return this.truncateTable(c);case"delete":return this.delete(c);case"insert":return this.insert(c);case"with":return this.with(c);case"with recursive":return this.withRecursive(c);case"select":return this.selection(c);case"update":return this.update(c);case"create extension":return this.createExtension(c);case"tablespace":return this.tablespace(c);case"set":return this.setGlobal(c);case"set timezone":return this.setTimezone(c);case"set names":return this.setNames(c);case"create sequence":return this.createSequence(c);case"alter sequence":return this.alterSequence(c);case"begin":return this.begin(c);case"drop table":case"drop index":case"drop sequence":case"drop type":case"drop trigger":return this.drop(c);case"create enum":return this.createEnum(c);case"alter enum":return this.alterEnum(c);case"create composite type":return this.createCompositeType(c);case"union":case"union all":return this.union(c);case"show":return this.show(c);case"prepare":return this.prepare(c);case"deallocate":return this.deallocate(c);case"create view":return this.createView(c);case"create materialized view":return this.createMaterializedView(c);case"refresh materialized view":return this.refreshMaterializedView(c);case"create schema":return this.createSchema(c);case"raise":return this.raise(c);case"comment":return this.comment(c);case"do":return this.do(c);case"create function":return this.createFunction(c);case"drop function":return this.dropFunction(c);case"values":return this.values(c);default:throw o.NotSupported.never(c)}}comment(c){return c}createView(c){const $=this.select(c.query);if(!$)return null;const f=this.tableRef(c.name);return f?l(c,{query:$,name:f}):null}createMaterializedView(c){const $=this.select(c.query);if(!$)return null;const f=this.tableRef(c.name);return f?l(c,{query:$,name:f}):null}refreshMaterializedView(c){return c}do(c){return c}createFunction(c){const $=u(c.arguments,h=>{const N=this.dataType(h.type);return l(h,{type:N})});let f;if(c.returns)switch(c.returns.kind){case"table":f=l(c.returns,{columns:u(c.returns.columns,h=>{const N=this.dataType(h.type);return N&&l(h,{type:N})})});break;case void 0:case null:case"array":f=this.dataType(c.returns);break;default:throw o.NotSupported.never(c.returns)}return l(c,{returns:f,arguments:$})}dropFunction(c){const $=u(c.arguments,f=>{const h=this.dataType(f.type);return l(f,{type:h})});return l(c,{arguments:$})}show(c){return c}createEnum(c){return c}alterEnum(c){return c}createCompositeType(c){const $=u(c.attributes,f=>l(f,{dataType:this.dataType(f.dataType)}));return l(c,{attributes:$})}drop(c){return c}alterSequence(c){return c.change.type==="set options"&&c.change.as&&this.dataType(c.change.as),c}begin(c){return c}createSequence(c){return c.options.as&&this.dataType(c.options.as),c}tablespace(c){return c}setGlobal(c){return c}setTimezone(c){return c}setNames(c){return c}update(c){if(!c)return c;const $=this.tableRef(c.table);if(!$)return null;const f=c.from&&this.from(c.from),h=c.where&&this.expr(c.where),N=u(c.sets,Z=>this.set(Z));if(!N?.length)return null;const j=u(c.returning,Z=>this.selectionColumn(Z));return l(c,{table:$,where:h,sets:N,from:f,returning:j})}insert(c){var $,f;const h=this.tableRef(c.into);if(!h)return null;const N=c.insert&&this.select(c.insert);if(!N)return null;const j=u(c.returning,g=>this.selectionColumn(g));let Z=($=c.onConflict)===null||$===void 0?void 0:$.on;switch(Z?.type){case"on constraint":break;case"on expr":Z=l(Z,{exprs:u(Z.exprs,g=>this.expr(g))});break;case null:case void 0:break;default:throw o.NotSupported.never(Z)}let k=(f=c.onConflict)===null||f===void 0?void 0:f.do;if(k&&k!=="do nothing"){const g=u(k.sets,E=>this.set(E));g?.length?k.sets!==g&&(k={sets:g}):k="do nothing"}return l(c,{into:h,insert:N,returning:j,onConflict:k?l(c.onConflict,{do:k,on:Z}):c.onConflict})}raise(c){return l(c,{formatExprs:c.formatExprs&&u(c.formatExprs,$=>this.expr($)),using:c.using&&u(c.using,$=>l($,{value:this.expr($.value)}))})}delete(c){const $=this.tableRef(c.from);if(!$)return null;const f=c.where&&this.expr(c.where),h=u(c.returning,N=>this.selectionColumn(N));return l(c,{where:f,returning:h,from:$})}createSchema(c){return c}createTable(c){const $=u(c.columns,f=>{switch(f.kind){case"column":return this.createColumn(f);case"like table":return this.likeTable(f);default:throw o.NotSupported.never(f)}});return $?.length?l(c,{columns:$}):null}likeTable(c){const $=this.tableRef(c.like);return $?l(c,{like:$}):null}truncateTable(c){return c}constraint(c){switch(c.type){case"not null":case"null":case"primary key":case"unique":case"add generated":return c;case"default":{const $=this.expr(c.default);return $?l(c,{default:$}):null}case"check":{const $=this.expr(c.expr);return $?l(c,{expr:$}):null}case"reference":{const $=this.tableRef(c.foreignTable);return $?l(c,{foreignTable:$}):null}default:throw o.NotSupported.never(c)}}set(c){const $=this.expr(c.value);return $?l(c,{value:$}):null}dataType(c){return c}tableRef(c){return c}transaction(c){return c}createExtension(c){return c}createIndex(c){const $=u(c.expressions,f=>{const h=this.expr(f.expression);return h===f.expression?f:h?{...f,expression:h}:null});return $?.length?l(c,{expressions:$}):null}prepare(c){const $=this.statement(c.statement);return $?l(c,{args:u(c.args,f=>this.dataType(f)),statement:$}):null}deallocate(c){return c}alterIndex(c){return c}alterTable(c){var $;const f=this.tableRef(c.table);if(!f)return null;let h=[],N=!1;for(let j=0;j<((($=c.changes)===null||$===void 0?void 0:$.length)||0);j++){const Z=c.changes[j],k=this.tableAlteration(Z,c.table);N=N||k!=Z,k&&h.push(k)}return h.length?N?l(c,{table:f,changes:h}):c:null}tableAlteration(c,$){switch(c.type){case"add column":return this.addColumn(c,$);case"add constraint":return this.addConstraint(c,$);case"alter column":return this.alterColumn(c,$);case"rename":return this.renameTable(c,$);case"rename column":return this.renameColumn(c,$);case"rename constraint":return this.renameConstraint(c,$);case"drop column":return this.dropColumn(c,$);case"drop constraint":return this.dropConstraint(c,$);case"owner":return this.setTableOwner(c,$);default:throw o.NotSupported.never(c)}}dropColumn(c,$){return c}dropConstraint(c,$){return c}setTableOwner(c,$){return c}renameConstraint(c,$){return c}renameColumn(c,$){return c}renameTable(c,$){return c}alterColumn(c,$){let f;switch(c.alter.type){case"set default":f=this.setColumnDefault(c.alter,$,c.column);break;case"set type":f=this.setColumnType(c.alter,$,c.column);break;case"drop default":case"set not null":case"drop not null":f=this.alterColumnSimple(c.alter,$,c.column);break;case"add generated":f=this.alterColumnAddGenerated(c.alter,$,c.column);break;default:throw o.NotSupported.never(c.alter)}return f?l(c,{alter:f}):null}setColumnType(c,$,f){const h=this.dataType(c.dataType);return l(c,{dataType:h})}alterColumnAddGenerated(c,$,f){return c}alterColumnSimple(c,$,f){return c}setColumnDefault(c,$,f){const h=this.expr(c.default);return h?l(c,{default:h}):null}addConstraint(c,$){return c}addColumn(c,$){const f=this.createColumn(c.column);return f?l(c,{column:f}):null}createColumn(c){var $;const f=this.dataType(c.dataType);if(!f)return null;const h=($=u(c.constraints,N=>this.constraint(N)))!==null&&$!==void 0?$:void 0;return l(c,{dataType:f,constraints:h})}select(c){switch(c.type){case"select":return this.selection(c);case"union":case"union all":return this.union(c);case"with":return this.with(c);case"values":return this.values(c);case"with recursive":return this.withRecursive(c);default:throw o.NotSupported.never(c)}}selection(c){var $,f;const h=u(c.from,O=>this.from(O)),N=u(c.columns,O=>this.selectionColumn(O)),j=c.where&&this.expr(c.where),Z=u(c.groupBy,O=>this.expr(O)),k=c.having&&this.expr(c.having),g=this.orderBy(c.orderBy),E=l(c.limit,{limit:this.expr(($=c.limit)===null||$===void 0?void 0:$.limit),offset:this.expr((f=c.limit)===null||f===void 0?void 0:f.offset)});return l(c,{from:h,columns:N,where:j,groupBy:Z,having:k,orderBy:g,limit:E})}orderBy(c){return u(c,$=>{const f=this.expr($.by);return f?f===$.by?$:{...$,by:f}:null})}union(c){const $=this.select(c.left),f=this.select(c.right);return!$||!f?$??f:l(c,{left:$,right:f})}with(c){const $=u(c.bind,h=>{const N=this.statement(h.statement);return w(N)?l(h,{statement:N}):null});if(!$)return null;const f=this.statement(c.in);return w(f)?l(c,{bind:$,in:f}):null}withRecursive(c){const $=this.union(c.bind);if(!$||$.type!=="union"&&$.type!=="union all")return null;const f=this.statement(c.in);return w(f)?l(c,{bind:$,in:f}):null}from(c){switch(c.type){case"table":return this.fromTable(c);case"statement":return this.fromStatement(c);case"call":return this.fromCall(c);default:throw o.NotSupported.never(c)}}fromCall(c){const $=this.call(c);return!$||$.type!=="call"?null:l(c,$)}fromStatement(c){const $=this.select(c.statement);if(!$)return null;const f=c.join&&this.join(c.join);return l(c,{statement:$,join:f})}values(c){const $=u(c.values,f=>u(f,h=>this.expr(h)));return $?.length?l(c,{values:$}):null}join(c){const $=c.on&&this.expr(c.on);return!$&&!c.using?c:l(c,{on:$})}fromTable(c){const $=this.tableRef(c.name);if(!$)return null;const f=c.join&&this.join(c.join);return l(c,{name:$,join:f})}selectionColumn(c){const $=this.expr(c.expr);return $?l(c,{expr:$}):null}expr(c){if(!c)return c;switch(c.type){case"binary":return this.binary(c);case"unary":return this.unary(c);case"ref":return this.ref(c);case"string":case"numeric":case"integer":case"boolean":case"constant":case"null":return this.constant(c);case"list":case"array":return this.array(c);case"array select":return this.arraySelect(c);case"call":return this.call(c);case"cast":return this.cast(c);case"case":return this.case(c);case"member":return this.member(c);case"arrayIndex":return this.arrayIndex(c);case"ternary":return this.ternary(c);case"select":case"union":case"union all":case"with":case"with recursive":return this.select(c);case"keyword":return this.valueKeyword(c);case"parameter":return this.parameter(c);case"extract":return this.extract(c);case"overlay":return this.callOverlay(c);case"substring":return this.callSubstring(c);case"values":return this.values(c);case"default":return this.default(c);default:throw o.NotSupported.never(c)}}arraySelect(c){const $=this.select(c.select);return $?l(c,{select:$}):null}extract(c){const $=this.expr(c.from);return $?l(c,{from:$}):null}valueKeyword(c){return c}ternary(c){const $=this.expr(c.value),f=this.expr(c.lo),h=this.expr(c.hi);return!$||!f||!h?null:l(c,{value:$,lo:f,hi:h})}parameter(c){return c}arrayIndex(c){const $=this.expr(c.array),f=this.expr(c.index);return!$||!f?null:l(c,{array:$,index:f})}member(c){const $=this.expr(c.operand);return $?l(c,{operand:$}):null}case(c){const $=c.value&&this.expr(c.value),f=u(c.whens,N=>{const j=this.expr(N.when),Z=this.expr(N.value);return!j||!Z?null:l(N,{value:Z,when:j})});if(!f?.length)return null;const h=c.else&&this.expr(c.else);return l(c,{value:$,whens:f,else:h})}cast(c){const $=this.expr(c.operand);return $?l(c,{operand:$}):null}call(c){var $;const f=u(c.args,k=>this.expr(k));if(!f)return null;const h=this.orderBy(c.orderBy),N=this.expr(c.filter),j=c.withinGroup?[c.withinGroup]:void 0,Z=($=this.orderBy(j))===null||$===void 0?void 0:$[0];return l(c,{args:f,orderBy:h,filter:N,withinGroup:Z})}callSubstring(c){return l(c,{value:this.expr(c.value),from:this.expr(c.from),for:this.expr(c.for)})}callOverlay(c){return l(c,{value:this.expr(c.value),placing:this.expr(c.placing),from:this.expr(c.from),for:this.expr(c.for)})}array(c){const $=u(c.expressions,f=>this.expr(f));return $?l(c,{expressions:$}):null}constant(c){return c}default(c){return c}ref(c){return c}unary(c){const $=this.expr(c.operand);return $?l(c,{operand:$}):null}binary(c){const $=this.expr(c.left),f=this.expr(c.right);return!$||!f?null:l(c,{left:$,right:f})}}n.AstDefaultMapper=d;const r=d.prototype;for(const b of Object.getOwnPropertyNames(r)){const c=r[b];b==="constructor"||b==="super"||typeof c!="function"||Object.defineProperty(r,b,{configurable:!1,get(){return function(...$){var f;if(this.skipNext)return this.skipNext=!1,c.apply(this,$);const h=(f=this.wrapped)===null||f===void 0?void 0:f[b];return h?h.apply(this.wrapped,$):c.apply(this,$)}}})}class y extends d{constructor(c){super(),this.parent=c}}for(const b of Object.getOwnPropertyNames(r)){const c=r[b];b==="constructor"||b==="super"||typeof c!="function"||Object.defineProperty(y.prototype,b,{configurable:!1,get(){return function(...$){return this.parent.skipNext=!0,c.apply(this.parent,$)}}})}}),(function(t,n,i){Object.defineProperty(n,"__esModule",{value:!0}),n.sqlKeywords=void 0,n.sqlKeywords=["ALL","ANALYSE","ANALYZE","AND","ANY","ARRAY","AS","ASC","ASYMMETRIC","AUTHORIZATION","BINARY","BOTH","CASE","CAST","CHECK","COLLATE","COLLATION","CONCURRENTLY","CONSTRAINT","CREATE","CROSS","CURRENT_CATALOG","CURRENT_DATE","CURRENT_ROLE","CURRENT_SCHEMA","CURRENT_TIME","CURRENT_TIMESTAMP","CURRENT_USER","DEFAULT","DEFERRABLE","DESC","DISTINCT","DO","ELSE","END","EXCEPT","FALSE","FETCH","FOR","FOREIGN","FREEZE","FROM","FULL","GRANT","GROUP","HAVING","ILIKE","IN","INITIALLY","INNER","INTERSECT","INTO","IS","ISNULL","JOIN","LATERAL","LEADING","LEFT","LIKE","LIMIT","LOCALTIME","LOCALTIMESTAMP","NATURAL","NOT","NOTNULL","NULL","OFFSET","ON","ONLY","OR","ORDER","OUTER","OVERLAPS","PLACING","PRIMARY","REFERENCES","RETURNING","RIGHT","SELECT","SESSION_USER","SIMILAR","SOME","SYMMETRIC","TABLE","TABLESAMPLE","THEN","TO","TRAILING","TRUE","UNION","UNIQUE","USER","USING","VARIADIC","VERBOSE","WHEN","WHERE","WINDOW","WITH","PRECISION"]}),(function(t,n,i){Object.defineProperty(n,"__esModule",{value:!0}),n.intervalToString=n.normalizeInterval=n.buildInterval=void 0;const o=[["years",12],["months",30],["days",24],["hours",60],["minutes",60],["seconds",1e3],["milliseconds",0]];function*s(y){if(typeof y[1]=="number")yield y;else for(const b of y)yield*s(b)}function l(y,b){var c;const $={};if(b==="invalid")throw new Error(`invalid input syntax for type interval: "${y}"`);for(const[f,h]of s(b))$[f]=((c=$[f])!==null&&c!==void 0?c:0)+h;return $}n.buildInterval=l;function u(y){var b,c,$,f,h,N,j,Z,k;const g={...y};for(let G=0;G<o.length;G++){const[e,m]=o[G],a=(b=g[e])!==null&&b!==void 0?b:0,_=a>=0?Math.floor(a):Math.ceil(a);if(!a||_===a)continue;const x=(c=o[G+1])===null||c===void 0?void 0:c[0];x&&(g[x]=(($=g[x])!==null&&$!==void 0?$:0)+m*(a-_)),g[e]=_}if(g.months||g.years){const G=((f=g.months)!==null&&f!==void 0?f:0)+((h=g.years)!==null&&h!==void 0?h:0)*12;g.months=G%12,g.years=(G-g.months)/12}let E=((N=g.hours)!==null&&N!==void 0?N:0)*3600+((j=g.minutes)!==null&&j!==void 0?j:0)*60+((Z=g.seconds)!==null&&Z!==void 0?Z:0)+((k=g.milliseconds)!==null&&k!==void 0?k:0)/1e3,O=1;E<0&&(O=-1,E=-E),E>=3600?(g.hours=O*Math.floor(E/3600),E-=O*g.hours*3600):delete g.hours,E>=60?(g.minutes=O*Math.floor(E/60),E-=O*g.minutes*60):delete g.minutes,E>0?(g.seconds=O*Math.floor(E),E-=O*g.seconds):delete g.seconds,E>0?g.milliseconds=O*Math.round(E*1e3):delete g.milliseconds;for(const[G]of o)g[G]||delete g[G];return g}n.normalizeInterval=u;function w(y){var b,c,$;y=u(y);const f=[];if(y.years&&f.push(y.years===1?"1 year":y.years+" years"),y.months&&f.push(y.months===1?"1 month":y.months+" months"),y.days&&f.push(y.days===1?"1 day":y.days+" days"),y.hours||y.minutes||y.seconds||y.milliseconds){let h=`${d((b=y.hours)!==null&&b!==void 0?b:0)}:${d((c=y.minutes)!==null&&c!==void 0?c:0)}:${d(($=y.seconds)!==null&&$!==void 0?$:0)}`;y.milliseconds&&(h=h+(y.milliseconds/1e3).toString().substr(1)),(r(y.hours)||r(y.minutes)||r(y.seconds)||r(y.milliseconds))&&(h="-"+h),f.push(h)}return f.join(" ")}n.intervalToString=w;function d(y){return y=Math.abs(y),y<10?"0"+y:y.toString()}function r(y){return y&&y<0}}),(function(t,n,i){Object.defineProperty(n,"__esModule",{value:!0}),n.astVisitor=void 0;const o=i(2);class s{super(){return new u(this)}}const l=o.AstDefaultMapper.prototype;for(const d of Object.getOwnPropertyNames(l)){const r=l[d];d==="constructor"||d==="super"||typeof r!="function"||Object.defineProperty(s.prototype,d,{configurable:!1,get(){return function(...y){const b=this.visitor[d];return b?(b.apply(this.visitor,y),y[0]):r.apply(this,y)}}})}class u{constructor(r){this.parent=r}}for(const d of Object.getOwnPropertyNames(l)){const r=l[d];d==="constructor"||d==="super"||typeof r!="function"||Object.defineProperty(u.prototype,d,{configurable:!1,get(){return function(...y){return r.apply(this.parent,y)}}})}function w(d){return(0,o.astMapper)(r=>{const y=new s;return y.mapper=r,y.visitor=d(y),y})}n.astVisitor=w}),(function(t,n,i){Object.defineProperty(n,"__esModule",{value:!0}),n.trimNullish=n.NotSupported=void 0;class o extends Error{constructor(u){super("Not supported"+(u?": "+u:""))}static never(u,w){return new o(`${w??""} ${JSON.stringify(u)}`)}}n.NotSupported=o;function s(l,u=5){if(u<0||(l instanceof Array&&l.forEach(w=>s(w,u-1)),typeof l!="object"||l instanceof Date)||!l)return l;for(const w of Object.keys(l)){const d=l[w];d==null?delete l[w]:s(d,u-1)}return l}n.trimNullish=s}),(function(t,n,i){var o=this&&this.__createBinding||(Object.create?(function(y,b,c,$){$===void 0&&($=c);var f=Object.getOwnPropertyDescriptor(b,c);(!f||("get"in f?!b.__esModule:f.writable||f.configurable))&&(f={enumerable:!0,get:function(){return b[c]}}),Object.defineProperty(y,$,f)}):(function(y,b,c,$){$===void 0&&($=c),y[$]=b[c]})),s=this&&this.__exportStar||function(y,b){for(var c in y)c!=="default"&&!Object.prototype.hasOwnProperty.call(b,c)&&o(b,y,c)};Object.defineProperty(n,"__esModule",{value:!0}),n.normalizeInterval=n.intervalToString=n.toSql=n.astMapper=n.assignChanged=n.arrayNilMap=n.astVisitor=n.parseWithComments=n.parseIntervalLiteral=n.parseGeometricLiteral=n.parseArrayLiteral=n.parseFirst=n.parse=void 0;var l=i(8);Object.defineProperty(n,"parse",{enumerable:!0,get:function(){return l.parse}}),Object.defineProperty(n,"parseFirst",{enumerable:!0,get:function(){return l.parseFirst}}),Object.defineProperty(n,"parseArrayLiteral",{enumerable:!0,get:function(){return l.parseArrayLiteral}}),Object.defineProperty(n,"parseGeometricLiteral",{enumerable:!0,get:function(){return l.parseGeometricLiteral}}),Object.defineProperty(n,"parseIntervalLiteral",{enumerable:!0,get:function(){return l.parseIntervalLiteral}}),Object.defineProperty(n,"parseWithComments",{enumerable:!0,get:function(){return l.parseWithComments}});var u=i(5);Object.defineProperty(n,"astVisitor",{enumerable:!0,get:function(){return u.astVisitor}});var w=i(2);Object.defineProperty(n,"arrayNilMap",{enumerable:!0,get:function(){return w.arrayNilMap}}),Object.defineProperty(n,"assignChanged",{enumerable:!0,get:function(){return w.assignChanged}}),Object.defineProperty(n,"astMapper",{enumerable:!0,get:function(){return w.astMapper}});var d=i(19);Object.defineProperty(n,"toSql",{enumerable:!0,get:function(){return d.toSql}}),s(i(21),n);var r=i(4);Object.defineProperty(n,"intervalToString",{enumerable:!0,get:function(){return r.intervalToString}}),Object.defineProperty(n,"normalizeInterval",{enumerable:!0,get:function(){return r.normalizeInterval}})}),(function(t,n,i){var o=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(n,"__esModule",{value:!0}),n.parseGeometricLiteral=n.parseIntervalLiteral=n.parseArrayLiteral=n.parse=n.parseWithComments=n.parseFirst=void 0;const s=i(9),l=o(i(10)),u=o(i(11)),w=o(i(13)),d=o(i(15)),r=o(i(17)),y=i(4),b=i(1);let c,$,f,h,N;function j(e){return k(e)[0]}n.parseFirst=j;function Z(e,m){return(0,b.trackingComments)(()=>k(e,m))}n.parseWithComments=Z;function k(e,m){c||(c=s.Grammar.fromCompiled(l.default));const a=typeof m=="string"?m:m?.entry,_=typeof m=="string"?null:m,x=()=>G(e,c,a);let v=_?.locationTracking?(0,b.tracking)(x):x();return typeof m!="string"&&!Array.isArray(v)&&(v=[v]),v}n.parse=k;function g(e){return $||($=s.Grammar.fromCompiled(u.default)),G(e,$)}n.parseArrayLiteral=g;function E(e){if(e.startsWith("P"))return N||(N=s.Grammar.fromCompiled(r.default)),(0,y.buildInterval)(e,G(e,N));{h||(h=s.Grammar.fromCompiled(d.default));const m=e.toLowerCase();return(0,y.buildInterval)(e,G(m,h))}}n.parseIntervalLiteral=E;function O(e,m){return f||(f=s.Grammar.fromCompiled(w.default)),G(e,f,m)}n.parseGeometricLiteral=O;function G(e,m,a){try{m.start=a??"main";const _=new s.Parser(m);_.feed(e);const x=_.finish();if(x.length){if(x.length!==1)throw new Error(`💀 Ambiguous SQL syntax: Please file an issue stating the request that has failed at https://github.com/oguimbal/pgsql-ast-parser:
20
20
 
21
21
  ${e}
22
22
 
23
- `)}else throw new Error("Unexpected end of input");return f[0]}catch(c){if(typeof c?.message!="string")throw c;let f=c.message,A=null;const q=[],R=/A (.+) token based on:/g;let O;for(;O=R.exec(f);)A=A??f.substr(0,O.index),q.push(` - A "${O[1]}" token`);throw A&&(f=A+q.join(`
23
+ `)}else throw new Error("Unexpected end of input");return x[0]}catch(_){if(typeof _?.message!="string")throw _;let x=_.message,v=null;const I=[],L=/A (.+) token based on:/g;let U;for(;U=L.exec(x);)v=v??x.substr(0,U.index),I.push(` - A "${U[1]}" token`);throw v&&(x=v+I.join(`
24
24
  `)+`
25
25
 
26
- `),c.message=f,c}}}),(function(_,p){_.exports=Ye()}),(function(_,p,h){Object.defineProperty(p,"__esModule",{value:!0});function l(e){return e[0]}const r=h(1),n=h(1);function u(e){return g(e,void 0)}function g(e,o){const t=d(e);return!o||o.length===0?(0,n.track)(e,{name:t}):(0,n.track)(e,{name:t,columns:o.map(c=>({name:d(c)}))})}function x(e){const o=d(e);return(0,n.track)(e,{value:o})}function s(e){return Array.isArray(e)&&e.length===1&&(e=s(e[0])),Array.isArray(e)&&!e.length?null:(0,n.unbox)(e)}const $=e=>o=>(0,n.track)(o,o[e]),i=e=>Array.isArray(e)?(0,n.track)(e[e.length-1],e[e.length-1]):e;function a(e){if(Array.isArray(e)){const o=[];for(const t of e)o.push(...a(t));return o}return e?[e]:[]}function m(e){var o;return e=(0,n.unbox)(e),(o=e?.value)!==null&&o!==void 0?o:e}function b(e){return a((0,n.unbox)(e)).filter(o=>!!o).map(o=>m(o)).filter(o=>typeof o=="string").map(o=>o.trim()).filter(o=>!!o)}function d(e,o){return b(e).join(o||"")}function E(e){const o={};for(const[t,c]of e)o[t]=c;return o}const C={sensitivity:"accent"},L=(e,o)=>e.localeCompare(o,void 0,C)===0,w=e=>(o,t,c)=>{const f=m(o[0]);return L(f,e)?(0,n.box)(o,e):c},k=w,v=(...e)=>{const o=new Set(e);return(t,c,f)=>{const A=typeof t[0]=="string"?t[0]:t[0].value;return o.has(A)?A:f}};function N(e,o){const t=new Set,c=o.map(n.unbox);for(const[f,A]of c){if(t.has(f))throw new Error("conflicting or redundant options");t.add(f),e[f]=(0,n.unbox)(A)}}const U={Lexer:r.lexerAny,ParserRules:[{name:"lparen",symbols:[r.lexerAny.has("lparen")?{type:"lparen"}:lparen]},{name:"rparen",symbols:[r.lexerAny.has("rparen")?{type:"rparen"}:rparen]},{name:"number$subexpression$1",symbols:["float"]},{name:"number$subexpression$1",symbols:["int"]},{name:"number",symbols:["number$subexpression$1"],postprocess:s},{name:"dot",symbols:[r.lexerAny.has("dot")?{type:"dot"}:dot],postprocess:l},{name:"float",symbols:[r.lexerAny.has("float")?{type:"float"}:float],postprocess:e=>(0,n.box)(e,parseFloat(s(e)))},{name:"int",symbols:[r.lexerAny.has("int")?{type:"int"}:int],postprocess:e=>(0,n.box)(e,parseInt(s(e),10))},{name:"comma",symbols:[r.lexerAny.has("comma")?{type:"comma"}:comma],postprocess:l},{name:"star",symbols:[r.lexerAny.has("star")?{type:"star"}:star],postprocess:e=>(0,n.box)(e,e[0].value)},{name:"string$subexpression$1",symbols:[r.lexerAny.has("string")?{type:"string"}:string]},{name:"string$subexpression$1",symbols:[r.lexerAny.has("eString")?{type:"eString"}:eString]},{name:"string",symbols:["string$subexpression$1"],postprocess:e=>(0,n.box)(e,s(e[0]).value)},{name:"ident",symbols:["word"],postprocess:$(0)},{name:"word",symbols:[r.lexerAny.has("kw_primary")?{type:"kw_primary"}:kw_primary],postprocess:e=>(0,n.box)(e,"primary")},{name:"word",symbols:[r.lexerAny.has("kw_unique")?{type:"kw_unique"}:kw_unique],postprocess:e=>(0,n.box)(e,"unique")},{name:"word",symbols:[r.lexerAny.has("quoted_word")?{type:"quoted_word"}:quoted_word],postprocess:e=>(0,n.box)(e,e[0].value,!0)},{name:"word",symbols:[r.lexerAny.has("word")?{type:"word"}:word],postprocess:e=>(0,n.box)(e,e[0].value)},{name:"collist_paren",symbols:["lparen","collist","rparen"],postprocess:$(1)},{name:"collist$ebnf$1",symbols:[]},{name:"collist$ebnf$1$subexpression$1",symbols:["comma","ident"],postprocess:i},{name:"collist$ebnf$1",symbols:["collist$ebnf$1","collist$ebnf$1$subexpression$1"],postprocess:e=>e[0].concat([e[1]])},{name:"collist",symbols:["ident","collist$ebnf$1"],postprocess:([e,o])=>[e,...o||[]]},{name:"kw_between",symbols:[r.lexerAny.has("word")?{type:"word"}:word],postprocess:w("between")},{name:"kw_conflict",symbols:[r.lexerAny.has("word")?{type:"word"}:word],postprocess:w("conflict")},{name:"kw_nothing",symbols:[r.lexerAny.has("word")?{type:"word"}:word],postprocess:w("nothing")},{name:"kw_begin",symbols:[r.lexerAny.has("word")?{type:"word"}:word],postprocess:w("begin")},{name:"kw_if",symbols:[r.lexerAny.has("word")?{type:"word"}:word],postprocess:w("if")},{name:"kw_exists",symbols:[r.lexerAny.has("word")?{type:"word"}:word],postprocess:w("exists")},{name:"kw_key",symbols:[r.lexerAny.has("word")?{type:"word"}:word],postprocess:w("key")},{name:"kw_index",symbols:[r.lexerAny.has("word")?{type:"word"}:word],postprocess:w("index")},{name:"kw_extension",symbols:[r.lexerAny.has("word")?{type:"word"}:word],postprocess:w("extension")},{name:"kw_schema",symbols:[r.lexerAny.has("word")?{type:"word"}:word],postprocess:w("schema")},{name:"kw_nulls",symbols:[r.lexerAny.has("word")?{type:"word"}:word],postprocess:w("nulls")},{name:"kw_first",symbols:[r.lexerAny.has("word")?{type:"word"}:word],postprocess:w("first")},{name:"kw_last",symbols:[r.lexerAny.has("word")?{type:"word"}:word],postprocess:w("last")},{name:"kw_start",symbols:[r.lexerAny.has("word")?{type:"word"}:word],postprocess:w("start")},{name:"kw_restart",symbols:[r.lexerAny.has("word")?{type:"word"}:word],postprocess:w("restart")},{name:"kw_filter",symbols:[r.lexerAny.has("word")?{type:"word"}:word],postprocess:w("filter")},{name:"kw_commit",symbols:[r.lexerAny.has("word")?{type:"word"}:word],postprocess:w("commit")},{name:"kw_tablespace",symbols:[r.lexerAny.has("word")?{type:"word"}:word],postprocess:w("tablespace")},{name:"kw_transaction",symbols:[r.lexerAny.has("word")?{type:"word"}:word],postprocess:w("transaction")},{name:"kw_work",symbols:[r.lexerAny.has("word")?{type:"word"}:word],postprocess:w("work")},{name:"kw_read",symbols:[r.lexerAny.has("word")?{type:"word"}:word],postprocess:w("read")},{name:"kw_write",symbols:[r.lexerAny.has("word")?{type:"word"}:word],postprocess:w("write")},{name:"kw_isolation",symbols:[r.lexerAny.has("word")?{type:"word"}:word],postprocess:w("isolation")},{name:"kw_level",symbols:[r.lexerAny.has("word")?{type:"word"}:word],postprocess:w("level")},{name:"kw_serializable",symbols:[r.lexerAny.has("word")?{type:"word"}:word],postprocess:w("serializable")},{name:"kw_rollback",symbols:[r.lexerAny.has("word")?{type:"word"}:word],postprocess:w("rollback")},{name:"kw_insert",symbols:[r.lexerAny.has("word")?{type:"word"}:word],postprocess:w("insert")},{name:"kw_value",symbols:[r.lexerAny.has("word")?{type:"word"}:word],postprocess:w("value")},{name:"kw_values",symbols:[r.lexerAny.has("word")?{type:"word"}:word],postprocess:w("values")},{name:"kw_update",symbols:[r.lexerAny.has("word")?{type:"word"}:word],postprocess:w("update")},{name:"kw_column",symbols:[r.lexerAny.has("word")?{type:"word"}:word],postprocess:w("column")},{name:"kw_set",symbols:[r.lexerAny.has("word")?{type:"word"}:word],postprocess:w("set")},{name:"kw_version",symbols:[r.lexerAny.has("word")?{type:"word"}:word],postprocess:w("version")},{name:"kw_alter",symbols:[r.lexerAny.has("word")?{type:"word"}:word],postprocess:w("alter")},{name:"kw_rename",symbols:[r.lexerAny.has("word")?{type:"word"}:word],postprocess:w("rename")},{name:"kw_sequence",symbols:[r.lexerAny.has("word")?{type:"word"}:word],postprocess:w("sequence")},{name:"kw_temp",symbols:[r.lexerAny.has("word")?{type:"word"}:word],postprocess:w("temp")},{name:"kw_temporary",symbols:[r.lexerAny.has("word")?{type:"word"}:word],postprocess:w("temporary")},{name:"kw_add",symbols:[r.lexerAny.has("word")?{type:"word"}:word],postprocess:w("add")},{name:"kw_owner",symbols:[r.lexerAny.has("word")?{type:"word"}:word],postprocess:w("owner")},{name:"kw_owned",symbols:[r.lexerAny.has("word")?{type:"word"}:word],postprocess:w("owned")},{name:"kw_including",symbols:[r.lexerAny.has("word")?{type:"word"}:word],postprocess:w("including")},{name:"kw_excluding",symbols:[r.lexerAny.has("word")?{type:"word"}:word],postprocess:w("excluding")},{name:"kw_none",symbols:[r.lexerAny.has("word")?{type:"word"}:word],postprocess:w("none")},{name:"kw_drop",symbols:[r.lexerAny.has("word")?{type:"word"}:word],postprocess:w("drop")},{name:"kw_operator",symbols:[r.lexerAny.has("word")?{type:"word"}:word],postprocess:w("operator")},{name:"kw_minvalue",symbols:[r.lexerAny.has("word")?{type:"word"}:word],postprocess:w("minvalue")},{name:"kw_maxvalue",symbols:[r.lexerAny.has("word")?{type:"word"}:word],postprocess:w("maxvalue")},{name:"kw_data",symbols:[r.lexerAny.has("word")?{type:"word"}:word],postprocess:w("data")},{name:"kw_type",symbols:[r.lexerAny.has("word")?{type:"word"}:word],postprocess:w("type")},{name:"kw_trigger",symbols:[r.lexerAny.has("word")?{type:"word"}:word],postprocess:w("trigger")},{name:"kw_delete",symbols:[r.lexerAny.has("word")?{type:"word"}:word],postprocess:w("delete")},{name:"kw_cache",symbols:[r.lexerAny.has("word")?{type:"word"}:word],postprocess:w("cache")},{name:"kw_cascade",symbols:[r.lexerAny.has("word")?{type:"word"}:word],postprocess:w("cascade")},{name:"kw_no",symbols:[r.lexerAny.has("word")?{type:"word"}:word],postprocess:w("no")},{name:"kw_timestamp",symbols:[r.lexerAny.has("word")?{type:"word"}:word],postprocess:w("timestamp")},{name:"kw_cycle",symbols:[r.lexerAny.has("word")?{type:"word"}:word],postprocess:w("cycle")},{name:"kw_function",symbols:[r.lexerAny.has("word")?{type:"word"}:word],postprocess:w("function")},{name:"kw_returns",symbols:[r.lexerAny.has("word")?{type:"word"}:word],postprocess:w("returns")},{name:"kw_language",symbols:[r.lexerAny.has("word")?{type:"word"}:word],postprocess:w("language")},{name:"kw_out",symbols:[r.lexerAny.has("word")?{type:"word"}:word],postprocess:w("out")},{name:"kw_inout",symbols:[r.lexerAny.has("word")?{type:"word"}:word],postprocess:w("inout")},{name:"kw_variadic",symbols:[r.lexerAny.has("word")?{type:"word"}:word],postprocess:w("variadic")},{name:"kw_action",symbols:[r.lexerAny.has("word")?{type:"word"}:word],postprocess:w("action")},{name:"kw_restrict",symbols:[r.lexerAny.has("word")?{type:"word"}:word],postprocess:w("restrict")},{name:"kw_truncate",symbols:[r.lexerAny.has("word")?{type:"word"}:word],postprocess:w("truncate")},{name:"kw_increment",symbols:[r.lexerAny.has("word")?{type:"word"}:word],postprocess:w("increment")},{name:"kw_by",symbols:[r.lexerAny.has("word")?{type:"word"}:word],postprocess:w("by")},{name:"kw_row",symbols:[r.lexerAny.has("word")?{type:"word"}:word],postprocess:w("row")},{name:"kw_rows",symbols:[r.lexerAny.has("word")?{type:"word"}:word],postprocess:w("rows")},{name:"kw_next",symbols:[r.lexerAny.has("word")?{type:"word"}:word],postprocess:w("next")},{name:"kw_match",symbols:[r.lexerAny.has("word")?{type:"word"}:word],postprocess:w("match")},{name:"kw_replace",symbols:[r.lexerAny.has("word")?{type:"word"}:word],postprocess:w("replace")},{name:"kw_recursive",symbols:[r.lexerAny.has("word")?{type:"word"}:word],postprocess:w("recursive")},{name:"kw_view",symbols:[r.lexerAny.has("word")?{type:"word"}:word],postprocess:w("view")},{name:"kw_cascaded",symbols:[r.lexerAny.has("word")?{type:"word"}:word],postprocess:w("cascaded")},{name:"kw_unlogged",symbols:[r.lexerAny.has("word")?{type:"word"}:word],postprocess:w("unlogged")},{name:"kw_global",symbols:[r.lexerAny.has("word")?{type:"word"}:word],postprocess:w("global")},{name:"kw_option",symbols:[r.lexerAny.has("word")?{type:"word"}:word],postprocess:w("option")},{name:"kw_materialized",symbols:[r.lexerAny.has("word")?{type:"word"}:word],postprocess:w("materialized")},{name:"kw_partial",symbols:[r.lexerAny.has("word")?{type:"word"}:word],postprocess:w("partial")},{name:"kw_partition",symbols:[r.lexerAny.has("word")?{type:"word"}:word],postprocess:w("partition")},{name:"kw_simple",symbols:[r.lexerAny.has("word")?{type:"word"}:word],postprocess:w("simple")},{name:"kw_generated",symbols:[r.lexerAny.has("word")?{type:"word"}:word],postprocess:w("generated")},{name:"kw_always",symbols:[r.lexerAny.has("word")?{type:"word"}:word],postprocess:w("always")},{name:"kw_identity",symbols:[r.lexerAny.has("word")?{type:"word"}:word],postprocess:w("identity")},{name:"kw_name",symbols:[r.lexerAny.has("word")?{type:"word"}:word],postprocess:w("name")},{name:"kw_enum",symbols:[r.lexerAny.has("word")?{type:"word"}:word],postprocess:w("enum")},{name:"kw_show",symbols:[r.lexerAny.has("word")?{type:"word"}:word],postprocess:w("show")},{name:"kw_ordinality",symbols:[r.lexerAny.has("word")?{type:"word"}:word],postprocess:w("ordinality")},{name:"kw_overriding",symbols:[r.lexerAny.has("word")?{type:"word"}:word],postprocess:w("overriding")},{name:"kw_over",symbols:[r.lexerAny.has("word")?{type:"word"}:word],postprocess:w("over")},{name:"kw_system",symbols:[r.lexerAny.has("word")?{type:"word"}:word],postprocess:w("system")},{name:"kw_comment",symbols:[r.lexerAny.has("word")?{type:"word"}:word],postprocess:w("comment")},{name:"kw_time",symbols:[r.lexerAny.has("word")?{type:"word"}:word],postprocess:w("time")},{name:"kw_names",symbols:[r.lexerAny.has("word")?{type:"word"}:word],postprocess:w("names")},{name:"kw_at",symbols:[r.lexerAny.has("word")?{type:"word"}:word],postprocess:w("at")},{name:"kw_zone",symbols:[r.lexerAny.has("word")?{type:"word"}:word],postprocess:w("zone")},{name:"kw_interval",symbols:[r.lexerAny.has("word")?{type:"word"}:word],postprocess:w("interval")},{name:"kw_hour",symbols:[r.lexerAny.has("word")?{type:"word"}:word],postprocess:w("hour")},{name:"kw_minute",symbols:[r.lexerAny.has("word")?{type:"word"}:word],postprocess:w("minute")},{name:"kw_local",symbols:[r.lexerAny.has("word")?{type:"word"}:word],postprocess:w("local")},{name:"kw_session",symbols:[r.lexerAny.has("word")?{type:"word"}:word],postprocess:w("session")},{name:"kw_prepare",symbols:[r.lexerAny.has("word")?{type:"word"}:word],postprocess:w("prepare")},{name:"kw_deallocate",symbols:[r.lexerAny.has("word")?{type:"word"}:word],postprocess:w("deallocate")},{name:"kw_raise",symbols:[r.lexerAny.has("word")?{type:"word"}:word],postprocess:w("raise")},{name:"kw_continue",symbols:[r.lexerAny.has("word")?{type:"word"}:word],postprocess:w("continue")},{name:"kw_share",symbols:[r.lexerAny.has("word")?{type:"word"}:word],postprocess:w("share")},{name:"kw_refresh",symbols:[r.lexerAny.has("word")?{type:"word"}:word],postprocess:w("refresh")},{name:"kw_nowait",symbols:[r.lexerAny.has("word")?{type:"word"}:word],postprocess:w("nowait")},{name:"kw_skip",symbols:[r.lexerAny.has("word")?{type:"word"}:word],postprocess:w("skip")},{name:"kw_locked",symbols:[r.lexerAny.has("word")?{type:"word"}:word],postprocess:w("locked")},{name:"kw_within",symbols:[r.lexerAny.has("word")?{type:"word"}:word],postprocess:w("within")},{name:"kw_ifnotexists",symbols:["kw_if",r.lexerAny.has("kw_not")?{type:"kw_not"}:kw_not,"kw_exists"]},{name:"kw_ifexists",symbols:["kw_if","kw_exists"]},{name:"kw_withordinality",symbols:[r.lexerAny.has("kw_with")?{type:"kw_with"}:kw_with,"kw_ordinality"]},{name:"kw_not_null",symbols:[r.lexerAny.has("kw_not")?{type:"kw_not"}:kw_not,r.lexerAny.has("kw_null")?{type:"kw_null"}:kw_null]},{name:"kw_primary_key",symbols:[r.lexerAny.has("kw_primary")?{type:"kw_primary"}:kw_primary,"kw_key"]},{name:"data_type$ebnf$1$subexpression$1$macrocall$2",symbols:["int"]},{name:"data_type$ebnf$1$subexpression$1$macrocall$1$ebnf$1",symbols:[]},{name:"data_type$ebnf$1$subexpression$1$macrocall$1$ebnf$1$subexpression$1",symbols:[r.lexerAny.has("comma")?{type:"comma"}:comma,"data_type$ebnf$1$subexpression$1$macrocall$2"],postprocess:i},{name:"data_type$ebnf$1$subexpression$1$macrocall$1$ebnf$1",symbols:["data_type$ebnf$1$subexpression$1$macrocall$1$ebnf$1","data_type$ebnf$1$subexpression$1$macrocall$1$ebnf$1$subexpression$1"],postprocess:e=>e[0].concat([e[1]])},{name:"data_type$ebnf$1$subexpression$1$macrocall$1",symbols:["data_type$ebnf$1$subexpression$1$macrocall$2","data_type$ebnf$1$subexpression$1$macrocall$1$ebnf$1"],postprocess:([e,o])=>[e,...o||[]]},{name:"data_type$ebnf$1$subexpression$1",symbols:["lparen","data_type$ebnf$1$subexpression$1$macrocall$1","rparen"],postprocess:$(1)},{name:"data_type$ebnf$1",symbols:["data_type$ebnf$1$subexpression$1"],postprocess:l},{name:"data_type$ebnf$1",symbols:[],postprocess:()=>null},{name:"data_type$ebnf$2$subexpression$1",symbols:[r.lexerAny.has("kw_array")?{type:"kw_array"}:kw_array]},{name:"data_type$ebnf$2$subexpression$1$ebnf$1$subexpression$1",symbols:[r.lexerAny.has("lbracket")?{type:"lbracket"}:lbracket,r.lexerAny.has("rbracket")?{type:"rbracket"}:rbracket]},{name:"data_type$ebnf$2$subexpression$1$ebnf$1",symbols:["data_type$ebnf$2$subexpression$1$ebnf$1$subexpression$1"]},{name:"data_type$ebnf$2$subexpression$1$ebnf$1$subexpression$2",symbols:[r.lexerAny.has("lbracket")?{type:"lbracket"}:lbracket,r.lexerAny.has("rbracket")?{type:"rbracket"}:rbracket]},{name:"data_type$ebnf$2$subexpression$1$ebnf$1",symbols:["data_type$ebnf$2$subexpression$1$ebnf$1","data_type$ebnf$2$subexpression$1$ebnf$1$subexpression$2"],postprocess:e=>e[0].concat([e[1]])},{name:"data_type$ebnf$2$subexpression$1",symbols:["data_type$ebnf$2$subexpression$1$ebnf$1"]},{name:"data_type$ebnf$2",symbols:["data_type$ebnf$2$subexpression$1"],postprocess:l},{name:"data_type$ebnf$2",symbols:[],postprocess:()=>null},{name:"data_type",symbols:["data_type_simple","data_type$ebnf$1","data_type$ebnf$2"],postprocess:e=>{let o=e[2];const t=s(e[0]);let c;if(c={...t,...Array.isArray(e[1])&&e[1].length?{config:e[1].map(s)}:{}},o){o[0].type==="kw_array"&&(o=[["array"]]);for(const f of o[0])c={kind:"array",arrayOf:c}}return(0,n.track)(e,c)}},{name:"data_type_list$ebnf$1",symbols:[]},{name:"data_type_list$ebnf$1$subexpression$1",symbols:["comma","data_type"],postprocess:i},{name:"data_type_list$ebnf$1",symbols:["data_type_list$ebnf$1","data_type_list$ebnf$1$subexpression$1"],postprocess:e=>e[0].concat([e[1]])},{name:"data_type_list",symbols:["data_type","data_type_list$ebnf$1"],postprocess:([e,o])=>[e,...o||[]]},{name:"data_type_simple",symbols:["data_type_text"],postprocess:e=>(0,n.track)(e,{name:d(e," ")})},{name:"data_type_simple",symbols:["data_type_numeric"],postprocess:e=>(0,n.track)(e,{name:d(e," ")})},{name:"data_type_simple",symbols:["data_type_date"]},{name:"data_type_simple",symbols:["qualified_name_mark_quotes"]},{name:"data_type_numeric$subexpression$1",symbols:[r.lexerAny.has("word")?{type:"word"}:word],postprocess:k("double")},{name:"data_type_numeric",symbols:["data_type_numeric$subexpression$1",r.lexerAny.has("kw_precision")?{type:"kw_precision"}:kw_precision]},{name:"data_type_text$subexpression$1",symbols:[r.lexerAny.has("word")?{type:"word"}:word],postprocess:v("character","bit")},{name:"data_type_text$subexpression$2",symbols:[r.lexerAny.has("word")?{type:"word"}:word],postprocess:k("varying")},{name:"data_type_text",symbols:["data_type_text$subexpression$1","data_type_text$subexpression$2"]},{name:"data_type_date$subexpression$1",symbols:[r.lexerAny.has("word")?{type:"word"}:word],postprocess:v("timestamp","time")},{name:"data_type_date$subexpression$2",symbols:[r.lexerAny.has("kw_with")?{type:"kw_with"}:kw_with]},{name:"data_type_date$subexpression$2",symbols:[r.lexerAny.has("word")?{type:"word"}:word],postprocess:k("without")},{name:"data_type_date$subexpression$3",symbols:[r.lexerAny.has("word")?{type:"word"}:word],postprocess:k("time")},{name:"data_type_date$subexpression$4",symbols:[r.lexerAny.has("word")?{type:"word"}:word],postprocess:k("zone")},{name:"data_type_date",symbols:["data_type_date$subexpression$1","data_type_date$subexpression$2","data_type_date$subexpression$3","data_type_date$subexpression$4"],postprocess:e=>(0,n.track)(e,{name:d(e," ")})},{name:"data_type_date$subexpression$5",symbols:[r.lexerAny.has("word")?{type:"word"}:word],postprocess:v("timestamp","time")},{name:"data_type_date$subexpression$6",symbols:["lparen","int","rparen"],postprocess:$(1)},{name:"data_type_date$subexpression$7",symbols:[r.lexerAny.has("kw_with")?{type:"kw_with"}:kw_with]},{name:"data_type_date$subexpression$7",symbols:[r.lexerAny.has("word")?{type:"word"}:word],postprocess:k("without")},{name:"data_type_date$subexpression$8",symbols:[r.lexerAny.has("word")?{type:"word"}:word],postprocess:k("time")},{name:"data_type_date$subexpression$9",symbols:[r.lexerAny.has("word")?{type:"word"}:word],postprocess:k("zone")},{name:"data_type_date",symbols:["data_type_date$subexpression$5","data_type_date$subexpression$6","data_type_date$subexpression$7","data_type_date$subexpression$8","data_type_date$subexpression$9"],postprocess:e=>(0,n.track)(e,{name:`timestamp ${d(e[2])} time zone`,config:[(0,n.unbox)(e[1])]})},{name:"ident_aliased$subexpression$1",symbols:[r.lexerAny.has("kw_as")?{type:"kw_as"}:kw_as,"ident"],postprocess:i},{name:"ident_aliased",symbols:["ident_aliased$subexpression$1"]},{name:"ident_aliased",symbols:["ident"],postprocess:s},{name:"table_ref",symbols:["qualified_name"],postprocess:s},{name:"qcolumn$ebnf$1$subexpression$1",symbols:["dot","ident"],postprocess:i},{name:"qcolumn$ebnf$1",symbols:["qcolumn$ebnf$1$subexpression$1"],postprocess:l},{name:"qcolumn$ebnf$1",symbols:[],postprocess:()=>null},{name:"qcolumn",symbols:["ident","dot","ident","qcolumn$ebnf$1"],postprocess:e=>e[3]?(0,n.track)(e,{schema:(0,n.unbox)(e[0]),table:(0,n.unbox)(e[2]),column:(0,n.unbox)(e[3])}):(0,n.track)(e,{table:(0,n.unbox)(e[0]),column:(0,n.unbox)(e[2])})},{name:"table_ref_aliased$ebnf$1",symbols:["ident_aliased"],postprocess:l},{name:"table_ref_aliased$ebnf$1",symbols:[],postprocess:()=>null},{name:"table_ref_aliased",symbols:["table_ref","table_ref_aliased$ebnf$1"],postprocess:e=>{const o=s(e[1]);return(0,n.track)(e,{...s(e[0]),...o?{alias:o}:{}})}},{name:"qualified_name",symbols:["qname_ident"],postprocess:e=>(0,n.track)(e,{name:d(e)})},{name:"qualified_name",symbols:["ident","dot","ident_extended"],postprocess:e=>{const o=d(e[0]),t=d(e[2]);return(0,n.track)(e,{schema:o,name:t})}},{name:"qualified_name",symbols:[r.lexerAny.has("kw_current_schema")?{type:"kw_current_schema"}:kw_current_schema],postprocess:e=>(0,n.track)(e,{name:"current_schema"})},{name:"qualified_name_mark_quotes",symbols:["qname_ident"],postprocess:e=>(0,n.track)(e,{name:d(e),...(0,n.doubleQuoted)(e)})},{name:"qualified_name_mark_quotes",symbols:["ident","dot","ident_extended"],postprocess:e=>{const o=d(e[0]),t=d(e[2]);return(0,n.track)(e,{schema:o,name:t,...(0,n.doubleQuoted)(e[2])})}},{name:"qualified_name_mark_quotes",symbols:[r.lexerAny.has("kw_current_schema")?{type:"kw_current_schema"}:kw_current_schema],postprocess:e=>(0,n.track)(e,{name:"current_schema"})},{name:"qname_ident",symbols:["ident"]},{name:"qname_ident",symbols:[r.lexerAny.has("kw_precision")?{type:"kw_precision"}:kw_precision]},{name:"qname",symbols:["qualified_name"],postprocess:s},{name:"any_keyword",symbols:[r.lexerAny.has("kw_all")?{type:"kw_all"}:kw_all]},{name:"any_keyword",symbols:[r.lexerAny.has("kw_analyse")?{type:"kw_analyse"}:kw_analyse]},{name:"any_keyword",symbols:[r.lexerAny.has("kw_analyze")?{type:"kw_analyze"}:kw_analyze]},{name:"any_keyword",symbols:[r.lexerAny.has("kw_and")?{type:"kw_and"}:kw_and]},{name:"any_keyword",symbols:[r.lexerAny.has("kw_any")?{type:"kw_any"}:kw_any]},{name:"any_keyword",symbols:[r.lexerAny.has("kw_array")?{type:"kw_array"}:kw_array]},{name:"any_keyword",symbols:[r.lexerAny.has("kw_as")?{type:"kw_as"}:kw_as]},{name:"any_keyword",symbols:[r.lexerAny.has("kw_asc")?{type:"kw_asc"}:kw_asc]},{name:"any_keyword",symbols:[r.lexerAny.has("kw_asymmetric")?{type:"kw_asymmetric"}:kw_asymmetric]},{name:"any_keyword",symbols:[r.lexerAny.has("kw_authorization")?{type:"kw_authorization"}:kw_authorization]},{name:"any_keyword",symbols:[r.lexerAny.has("kw_binary")?{type:"kw_binary"}:kw_binary]},{name:"any_keyword",symbols:[r.lexerAny.has("kw_both")?{type:"kw_both"}:kw_both]},{name:"any_keyword",symbols:[r.lexerAny.has("kw_case")?{type:"kw_case"}:kw_case]},{name:"any_keyword",symbols:[r.lexerAny.has("kw_cast")?{type:"kw_cast"}:kw_cast]},{name:"any_keyword",symbols:[r.lexerAny.has("kw_check")?{type:"kw_check"}:kw_check]},{name:"any_keyword",symbols:[r.lexerAny.has("kw_collate")?{type:"kw_collate"}:kw_collate]},{name:"any_keyword",symbols:[r.lexerAny.has("kw_collation")?{type:"kw_collation"}:kw_collation]},{name:"any_keyword",symbols:[r.lexerAny.has("kw_concurrently")?{type:"kw_concurrently"}:kw_concurrently]},{name:"any_keyword",symbols:[r.lexerAny.has("kw_constraint")?{type:"kw_constraint"}:kw_constraint]},{name:"any_keyword",symbols:[r.lexerAny.has("kw_create")?{type:"kw_create"}:kw_create]},{name:"any_keyword",symbols:[r.lexerAny.has("kw_cross")?{type:"kw_cross"}:kw_cross]},{name:"any_keyword",symbols:[r.lexerAny.has("kw_current_catalog")?{type:"kw_current_catalog"}:kw_current_catalog]},{name:"any_keyword",symbols:[r.lexerAny.has("kw_current_date")?{type:"kw_current_date"}:kw_current_date]},{name:"any_keyword",symbols:[r.lexerAny.has("kw_current_role")?{type:"kw_current_role"}:kw_current_role]},{name:"any_keyword",symbols:[r.lexerAny.has("kw_current_schema")?{type:"kw_current_schema"}:kw_current_schema]},{name:"any_keyword",symbols:[r.lexerAny.has("kw_current_time")?{type:"kw_current_time"}:kw_current_time]},{name:"any_keyword",symbols:[r.lexerAny.has("kw_current_timestamp")?{type:"kw_current_timestamp"}:kw_current_timestamp]},{name:"any_keyword",symbols:[r.lexerAny.has("kw_current_user")?{type:"kw_current_user"}:kw_current_user]},{name:"any_keyword",symbols:[r.lexerAny.has("kw_default")?{type:"kw_default"}:kw_default]},{name:"any_keyword",symbols:[r.lexerAny.has("kw_deferrable")?{type:"kw_deferrable"}:kw_deferrable]},{name:"any_keyword",symbols:[r.lexerAny.has("kw_desc")?{type:"kw_desc"}:kw_desc]},{name:"any_keyword",symbols:[r.lexerAny.has("kw_distinct")?{type:"kw_distinct"}:kw_distinct]},{name:"any_keyword",symbols:[r.lexerAny.has("kw_do")?{type:"kw_do"}:kw_do]},{name:"any_keyword",symbols:[r.lexerAny.has("kw_else")?{type:"kw_else"}:kw_else]},{name:"any_keyword",symbols:[r.lexerAny.has("kw_end")?{type:"kw_end"}:kw_end]},{name:"any_keyword",symbols:[r.lexerAny.has("kw_except")?{type:"kw_except"}:kw_except]},{name:"any_keyword",symbols:[r.lexerAny.has("kw_false")?{type:"kw_false"}:kw_false]},{name:"any_keyword",symbols:[r.lexerAny.has("kw_fetch")?{type:"kw_fetch"}:kw_fetch]},{name:"any_keyword",symbols:[r.lexerAny.has("kw_for")?{type:"kw_for"}:kw_for]},{name:"any_keyword",symbols:[r.lexerAny.has("kw_foreign")?{type:"kw_foreign"}:kw_foreign]},{name:"any_keyword",symbols:[r.lexerAny.has("kw_freeze")?{type:"kw_freeze"}:kw_freeze]},{name:"any_keyword",symbols:[r.lexerAny.has("kw_from")?{type:"kw_from"}:kw_from]},{name:"any_keyword",symbols:[r.lexerAny.has("kw_full")?{type:"kw_full"}:kw_full]},{name:"any_keyword",symbols:[r.lexerAny.has("kw_grant")?{type:"kw_grant"}:kw_grant]},{name:"any_keyword",symbols:[r.lexerAny.has("kw_group")?{type:"kw_group"}:kw_group]},{name:"any_keyword",symbols:[r.lexerAny.has("kw_having")?{type:"kw_having"}:kw_having]},{name:"any_keyword",symbols:[r.lexerAny.has("kw_ilike")?{type:"kw_ilike"}:kw_ilike]},{name:"any_keyword",symbols:[r.lexerAny.has("kw_in")?{type:"kw_in"}:kw_in]},{name:"any_keyword",symbols:[r.lexerAny.has("kw_initially")?{type:"kw_initially"}:kw_initially]},{name:"any_keyword",symbols:[r.lexerAny.has("kw_inner")?{type:"kw_inner"}:kw_inner]},{name:"any_keyword",symbols:[r.lexerAny.has("kw_intersect")?{type:"kw_intersect"}:kw_intersect]},{name:"any_keyword",symbols:[r.lexerAny.has("kw_into")?{type:"kw_into"}:kw_into]},{name:"any_keyword",symbols:[r.lexerAny.has("kw_is")?{type:"kw_is"}:kw_is]},{name:"any_keyword",symbols:[r.lexerAny.has("kw_isnull")?{type:"kw_isnull"}:kw_isnull]},{name:"any_keyword",symbols:[r.lexerAny.has("kw_join")?{type:"kw_join"}:kw_join]},{name:"any_keyword",symbols:[r.lexerAny.has("kw_lateral")?{type:"kw_lateral"}:kw_lateral]},{name:"any_keyword",symbols:[r.lexerAny.has("kw_leading")?{type:"kw_leading"}:kw_leading]},{name:"any_keyword",symbols:[r.lexerAny.has("kw_left")?{type:"kw_left"}:kw_left]},{name:"any_keyword",symbols:[r.lexerAny.has("kw_like")?{type:"kw_like"}:kw_like]},{name:"any_keyword",symbols:[r.lexerAny.has("kw_limit")?{type:"kw_limit"}:kw_limit]},{name:"any_keyword",symbols:[r.lexerAny.has("kw_localtime")?{type:"kw_localtime"}:kw_localtime]},{name:"any_keyword",symbols:[r.lexerAny.has("kw_localtimestamp")?{type:"kw_localtimestamp"}:kw_localtimestamp]},{name:"any_keyword",symbols:[r.lexerAny.has("kw_natural")?{type:"kw_natural"}:kw_natural]},{name:"any_keyword",symbols:[r.lexerAny.has("kw_not")?{type:"kw_not"}:kw_not]},{name:"any_keyword",symbols:[r.lexerAny.has("kw_notnull")?{type:"kw_notnull"}:kw_notnull]},{name:"any_keyword",symbols:[r.lexerAny.has("kw_null")?{type:"kw_null"}:kw_null]},{name:"any_keyword",symbols:[r.lexerAny.has("kw_offset")?{type:"kw_offset"}:kw_offset]},{name:"any_keyword",symbols:[r.lexerAny.has("kw_on")?{type:"kw_on"}:kw_on]},{name:"any_keyword",symbols:[r.lexerAny.has("kw_only")?{type:"kw_only"}:kw_only]},{name:"any_keyword",symbols:[r.lexerAny.has("kw_or")?{type:"kw_or"}:kw_or]},{name:"any_keyword",symbols:[r.lexerAny.has("kw_order")?{type:"kw_order"}:kw_order]},{name:"any_keyword",symbols:[r.lexerAny.has("kw_outer")?{type:"kw_outer"}:kw_outer]},{name:"any_keyword",symbols:[r.lexerAny.has("kw_overlaps")?{type:"kw_overlaps"}:kw_overlaps]},{name:"any_keyword",symbols:[r.lexerAny.has("kw_placing")?{type:"kw_placing"}:kw_placing]},{name:"any_keyword",symbols:[r.lexerAny.has("kw_primary")?{type:"kw_primary"}:kw_primary]},{name:"any_keyword",symbols:[r.lexerAny.has("kw_references")?{type:"kw_references"}:kw_references]},{name:"any_keyword",symbols:[r.lexerAny.has("kw_returning")?{type:"kw_returning"}:kw_returning]},{name:"any_keyword",symbols:[r.lexerAny.has("kw_right")?{type:"kw_right"}:kw_right]},{name:"any_keyword",symbols:[r.lexerAny.has("kw_select")?{type:"kw_select"}:kw_select]},{name:"any_keyword",symbols:[r.lexerAny.has("kw_session_user")?{type:"kw_session_user"}:kw_session_user]},{name:"any_keyword",symbols:[r.lexerAny.has("kw_similar")?{type:"kw_similar"}:kw_similar]},{name:"any_keyword",symbols:[r.lexerAny.has("kw_some")?{type:"kw_some"}:kw_some]},{name:"any_keyword",symbols:[r.lexerAny.has("kw_symmetric")?{type:"kw_symmetric"}:kw_symmetric]},{name:"any_keyword",symbols:[r.lexerAny.has("kw_table")?{type:"kw_table"}:kw_table]},{name:"any_keyword",symbols:[r.lexerAny.has("kw_tablesample")?{type:"kw_tablesample"}:kw_tablesample]},{name:"any_keyword",symbols:[r.lexerAny.has("kw_then")?{type:"kw_then"}:kw_then]},{name:"any_keyword",symbols:[r.lexerAny.has("kw_to")?{type:"kw_to"}:kw_to]},{name:"any_keyword",symbols:[r.lexerAny.has("kw_trailing")?{type:"kw_trailing"}:kw_trailing]},{name:"any_keyword",symbols:[r.lexerAny.has("kw_true")?{type:"kw_true"}:kw_true]},{name:"any_keyword",symbols:[r.lexerAny.has("kw_union")?{type:"kw_union"}:kw_union]},{name:"any_keyword",symbols:[r.lexerAny.has("kw_unique")?{type:"kw_unique"}:kw_unique]},{name:"any_keyword",symbols:[r.lexerAny.has("kw_user")?{type:"kw_user"}:kw_user]},{name:"any_keyword",symbols:[r.lexerAny.has("kw_using")?{type:"kw_using"}:kw_using]},{name:"any_keyword",symbols:[r.lexerAny.has("kw_variadic")?{type:"kw_variadic"}:kw_variadic]},{name:"any_keyword",symbols:[r.lexerAny.has("kw_verbose")?{type:"kw_verbose"}:kw_verbose]},{name:"any_keyword",symbols:[r.lexerAny.has("kw_when")?{type:"kw_when"}:kw_when]},{name:"any_keyword",symbols:[r.lexerAny.has("kw_where")?{type:"kw_where"}:kw_where]},{name:"any_keyword",symbols:[r.lexerAny.has("kw_window")?{type:"kw_window"}:kw_window]},{name:"any_keyword",symbols:[r.lexerAny.has("kw_with")?{type:"kw_with"}:kw_with]},{name:"ident_extended",symbols:["ident"]},{name:"ident_extended",symbols:["any_keyword"]},{name:"select_statement$ebnf$1",symbols:["select_from"],postprocess:l},{name:"select_statement$ebnf$1",symbols:[],postprocess:()=>null},{name:"select_statement$ebnf$2",symbols:["select_where"],postprocess:l},{name:"select_statement$ebnf$2",symbols:[],postprocess:()=>null},{name:"select_statement$ebnf$3$subexpression$1$ebnf$1",symbols:["select_having"],postprocess:l},{name:"select_statement$ebnf$3$subexpression$1$ebnf$1",symbols:[],postprocess:()=>null},{name:"select_statement$ebnf$3$subexpression$1",symbols:["select_groupby","select_statement$ebnf$3$subexpression$1$ebnf$1"]},{name:"select_statement$ebnf$3",symbols:["select_statement$ebnf$3$subexpression$1"],postprocess:l},{name:"select_statement$ebnf$3",symbols:[],postprocess:()=>null},{name:"select_statement$ebnf$4",symbols:["select_order_by"],postprocess:l},{name:"select_statement$ebnf$4",symbols:[],postprocess:()=>null},{name:"select_statement$ebnf$5",symbols:["select_limit_offset"],postprocess:l},{name:"select_statement$ebnf$5",symbols:[],postprocess:()=>null},{name:"select_statement$ebnf$6$subexpression$1$ebnf$1",symbols:["select_skip"],postprocess:l},{name:"select_statement$ebnf$6$subexpression$1$ebnf$1",symbols:[],postprocess:()=>null},{name:"select_statement$ebnf$6$subexpression$1",symbols:["select_for","select_statement$ebnf$6$subexpression$1$ebnf$1"]},{name:"select_statement$ebnf$6",symbols:["select_statement$ebnf$6$subexpression$1"],postprocess:l},{name:"select_statement$ebnf$6",symbols:[],postprocess:()=>null},{name:"select_statement",symbols:["select_what","select_statement$ebnf$1","select_statement$ebnf$2","select_statement$ebnf$3","select_statement$ebnf$4","select_statement$ebnf$5","select_statement$ebnf$6"],postprocess:e=>{let[o,t,c,f,A,q,R]=e;t=s(t);let O=f&&f[0],F=f&&f[1];O=O&&(O.length===1&&O[0].type==="list"?O[0].expressions:O),F=F&&s(F);let z=R&&R[0],I=R&&R[1];return I=s(I),(0,n.track)(e,{...o,...t?{from:Array.isArray(t)?t:[t]}:{},...O?{groupBy:O}:{},...F?{having:F}:{},...q?{limit:s(q)}:{},...A?{orderBy:A}:{},...c?{where:c}:{},...z?{for:z[1]}:{},...I?{skip:I}:{},type:"select"})}},{name:"select_from",symbols:[r.lexerAny.has("kw_from")?{type:"kw_from"}:kw_from,"select_from_items"],postprocess:i},{name:"select_from_items$ebnf$1",symbols:[]},{name:"select_from_items$ebnf$1$subexpression$1",symbols:["comma","select_from_item"],postprocess:i},{name:"select_from_items$ebnf$1",symbols:["select_from_items$ebnf$1","select_from_items$ebnf$1$subexpression$1"],postprocess:e=>e[0].concat([e[1]])},{name:"select_from_items",symbols:["select_from_item","select_from_items$ebnf$1"],postprocess:([e,o])=>[...e,...a(o)||[]]},{name:"select_from_item",symbols:["select_from_subject"]},{name:"select_from_item",symbols:["select_from_item_joins"],postprocess:$(0)},{name:"select_from_item_joins$subexpression$1",symbols:["select_from_item"],postprocess:$(0)},{name:"select_from_item_joins",symbols:["select_from_item_joins$subexpression$1","select_table_join"],postprocess:a},{name:"select_from_item_joins",symbols:["lparen","select_from_item_joins","rparen"],postprocess:$(1)},{name:"select_from_subject",symbols:["stb_table"],postprocess:s},{name:"select_from_subject",symbols:["stb_statement"],postprocess:s},{name:"select_from_subject",symbols:["stb_call"],postprocess:s},{name:"stb_opts$ebnf$1",symbols:["collist_paren"],postprocess:l},{name:"stb_opts$ebnf$1",symbols:[],postprocess:()=>null},{name:"stb_opts",symbols:["ident_aliased","stb_opts$ebnf$1"],postprocess:e=>(0,n.track)(e,{alias:d(e[0]),...e[1]&&{columnNames:(0,n.unbox)(e[1]).map(u)}})},{name:"stb_table$ebnf$1",symbols:["stb_opts"],postprocess:l},{name:"stb_table$ebnf$1",symbols:[],postprocess:()=>null},{name:"stb_table",symbols:["table_ref","stb_table$ebnf$1"],postprocess:e=>(0,n.track)(e,{type:"table",name:(0,n.track)(e,{...e[0],...e[1]})})},{name:"stb_statement$ebnf$1",symbols:[r.lexerAny.has("kw_lateral")?{type:"kw_lateral"}:kw_lateral],postprocess:l},{name:"stb_statement$ebnf$1",symbols:[],postprocess:()=>null},{name:"stb_statement",symbols:["stb_statement$ebnf$1","selection_paren","stb_opts"],postprocess:e=>(0,n.track)(e,{type:"statement",statement:s(e[1]),...e[0]&&{lateral:!0},...e[2]})},{name:"select_values",symbols:["kw_values","insert_values"],postprocess:e=>(0,n.track)(e,{type:"values",values:e[1]})},{name:"stb_call$ebnf$1",symbols:[r.lexerAny.has("kw_lateral")?{type:"kw_lateral"}:kw_lateral],postprocess:l},{name:"stb_call$ebnf$1",symbols:[],postprocess:()=>null},{name:"stb_call$ebnf$2",symbols:["kw_withordinality"],postprocess:l},{name:"stb_call$ebnf$2",symbols:[],postprocess:()=>null},{name:"stb_call$ebnf$3",symbols:["stb_call_alias"],postprocess:l},{name:"stb_call$ebnf$3",symbols:[],postprocess:()=>null},{name:"stb_call",symbols:["stb_call$ebnf$1","expr_function_call","stb_call$ebnf$2","stb_call$ebnf$3"],postprocess:e=>{const o=e[0],t=e[2],c=e[3];return!t&&!c?e[1]:(0,n.track)(e,{...e[1],...o&&{lateral:!0},...t&&{withOrdinality:!0},alias:c?g(c[0],c[1]):void 0})}},{name:"stb_call_alias$subexpression$1$ebnf$1",symbols:[r.lexerAny.has("kw_as")?{type:"kw_as"}:kw_as],postprocess:l},{name:"stb_call_alias$subexpression$1$ebnf$1",symbols:[],postprocess:()=>null},{name:"stb_call_alias$subexpression$1",symbols:["stb_call_alias$subexpression$1$ebnf$1","ident"],postprocess:i},{name:"stb_call_alias$ebnf$1",symbols:["stb_call_alias_list"],postprocess:l},{name:"stb_call_alias$ebnf$1",symbols:[],postprocess:()=>null},{name:"stb_call_alias",symbols:["stb_call_alias$subexpression$1","stb_call_alias$ebnf$1"]},{name:"stb_call_alias_list",symbols:["lparen","stb_call_alias_list_raw","rparen"],postprocess:$(1)},{name:"stb_call_alias_list_raw$ebnf$1",symbols:[]},{name:"stb_call_alias_list_raw$ebnf$1$subexpression$1",symbols:["comma","ident"],postprocess:i},{name:"stb_call_alias_list_raw$ebnf$1",symbols:["stb_call_alias_list_raw$ebnf$1","stb_call_alias_list_raw$ebnf$1$subexpression$1"],postprocess:e=>e[0].concat([e[1]])},{name:"stb_call_alias_list_raw",symbols:["ident","stb_call_alias_list_raw$ebnf$1"],postprocess:([e,o])=>[e,...o||[]]},{name:"select_table_join$ebnf$1",symbols:["select_table_join_clause"],postprocess:l},{name:"select_table_join$ebnf$1",symbols:[],postprocess:()=>null},{name:"select_table_join",symbols:["select_join_op",r.lexerAny.has("kw_join")?{type:"kw_join"}:kw_join,"select_from_subject","select_table_join$ebnf$1"],postprocess:e=>(0,n.track)(e,{...s(e[2]),join:{type:d(e[0]," "),...e[3]&&s(e[3])}})},{name:"select_table_join_clause",symbols:[r.lexerAny.has("kw_on")?{type:"kw_on"}:kw_on,"expr"],postprocess:e=>(0,n.track)(e,{on:i(e)})},{name:"select_table_join_clause$macrocall$2",symbols:["ident"]},{name:"select_table_join_clause$macrocall$1$ebnf$1",symbols:[]},{name:"select_table_join_clause$macrocall$1$ebnf$1$subexpression$1",symbols:[r.lexerAny.has("comma")?{type:"comma"}:comma,"select_table_join_clause$macrocall$2"],postprocess:i},{name:"select_table_join_clause$macrocall$1$ebnf$1",symbols:["select_table_join_clause$macrocall$1$ebnf$1","select_table_join_clause$macrocall$1$ebnf$1$subexpression$1"],postprocess:e=>e[0].concat([e[1]])},{name:"select_table_join_clause$macrocall$1",symbols:["select_table_join_clause$macrocall$2","select_table_join_clause$macrocall$1$ebnf$1"],postprocess:([e,o])=>[s(e),...o.map(s)||[]]},{name:"select_table_join_clause",symbols:[r.lexerAny.has("kw_using")?{type:"kw_using"}:kw_using,"lparen","select_table_join_clause$macrocall$1","rparen"],postprocess:e=>(0,n.track)(e,{using:e[2].map(u)})},{name:"select_join_op$subexpression$1$ebnf$1",symbols:[r.lexerAny.has("kw_inner")?{type:"kw_inner"}:kw_inner],postprocess:l},{name:"select_join_op$subexpression$1$ebnf$1",symbols:[],postprocess:()=>null},{name:"select_join_op$subexpression$1",symbols:["select_join_op$subexpression$1$ebnf$1"],postprocess:e=>(0,n.box)(e,"INNER JOIN")},{name:"select_join_op",symbols:["select_join_op$subexpression$1"]},{name:"select_join_op$subexpression$2",symbols:[r.lexerAny.has("kw_cross")?{type:"kw_cross"}:kw_cross],postprocess:e=>(0,n.box)(e,"CROSS JOIN")},{name:"select_join_op",symbols:["select_join_op$subexpression$2"]},{name:"select_join_op$subexpression$3$ebnf$1",symbols:[r.lexerAny.has("kw_outer")?{type:"kw_outer"}:kw_outer],postprocess:l},{name:"select_join_op$subexpression$3$ebnf$1",symbols:[],postprocess:()=>null},{name:"select_join_op$subexpression$3",symbols:[r.lexerAny.has("kw_left")?{type:"kw_left"}:kw_left,"select_join_op$subexpression$3$ebnf$1"],postprocess:e=>(0,n.box)(e,"LEFT JOIN")},{name:"select_join_op",symbols:["select_join_op$subexpression$3"]},{name:"select_join_op$subexpression$4$ebnf$1",symbols:[r.lexerAny.has("kw_outer")?{type:"kw_outer"}:kw_outer],postprocess:l},{name:"select_join_op$subexpression$4$ebnf$1",symbols:[],postprocess:()=>null},{name:"select_join_op$subexpression$4",symbols:[r.lexerAny.has("kw_right")?{type:"kw_right"}:kw_right,"select_join_op$subexpression$4$ebnf$1"],postprocess:e=>(0,n.box)(e,"RIGHT JOIN")},{name:"select_join_op",symbols:["select_join_op$subexpression$4"]},{name:"select_join_op$subexpression$5$ebnf$1",symbols:[r.lexerAny.has("kw_outer")?{type:"kw_outer"}:kw_outer],postprocess:l},{name:"select_join_op$subexpression$5$ebnf$1",symbols:[],postprocess:()=>null},{name:"select_join_op$subexpression$5",symbols:[r.lexerAny.has("kw_full")?{type:"kw_full"}:kw_full,"select_join_op$subexpression$5$ebnf$1"],postprocess:e=>(0,n.box)(e,"FULL JOIN")},{name:"select_join_op",symbols:["select_join_op$subexpression$5"]},{name:"select_what$ebnf$1",symbols:["select_distinct"],postprocess:l},{name:"select_what$ebnf$1",symbols:[],postprocess:()=>null},{name:"select_what$ebnf$2",symbols:["select_expr_list_aliased"],postprocess:l},{name:"select_what$ebnf$2",symbols:[],postprocess:()=>null},{name:"select_what",symbols:[r.lexerAny.has("kw_select")?{type:"kw_select"}:kw_select,"select_what$ebnf$1","select_what$ebnf$2"],postprocess:e=>(0,n.track)(e,{columns:e[2],...e[1]&&{distinct:(0,n.unbox)(e[1])}})},{name:"select_expr_list_aliased$ebnf$1",symbols:[]},{name:"select_expr_list_aliased$ebnf$1$subexpression$1",symbols:["comma","select_expr_list_item"],postprocess:i},{name:"select_expr_list_aliased$ebnf$1",symbols:["select_expr_list_aliased$ebnf$1","select_expr_list_aliased$ebnf$1$subexpression$1"],postprocess:e=>e[0].concat([e[1]])},{name:"select_expr_list_aliased",symbols:["select_expr_list_item","select_expr_list_aliased$ebnf$1"],postprocess:([e,o])=>[e,...o||[]]},{name:"select_expr_list_item$ebnf$1",symbols:["ident_aliased"],postprocess:l},{name:"select_expr_list_item$ebnf$1",symbols:[],postprocess:()=>null},{name:"select_expr_list_item",symbols:["expr","select_expr_list_item$ebnf$1"],postprocess:e=>(0,n.track)(e,{expr:e[0],...e[1]?{alias:u(e[1])}:{}})},{name:"select_distinct",symbols:[r.lexerAny.has("kw_all")?{type:"kw_all"}:kw_all],postprocess:e=>(0,n.box)(e,"all")},{name:"select_distinct$ebnf$1$subexpression$1",symbols:[r.lexerAny.has("kw_on")?{type:"kw_on"}:kw_on,"lparen","expr_list_raw","rparen"],postprocess:$(2)},{name:"select_distinct$ebnf$1",symbols:["select_distinct$ebnf$1$subexpression$1"],postprocess:l},{name:"select_distinct$ebnf$1",symbols:[],postprocess:()=>null},{name:"select_distinct",symbols:[r.lexerAny.has("kw_distinct")?{type:"kw_distinct"}:kw_distinct,"select_distinct$ebnf$1"],postprocess:e=>(0,n.box)(e,e[1]||"distinct")},{name:"select_where",symbols:[r.lexerAny.has("kw_where")?{type:"kw_where"}:kw_where,"expr"],postprocess:i},{name:"select_groupby",symbols:[r.lexerAny.has("kw_group")?{type:"kw_group"}:kw_group,"kw_by","expr_list_raw"],postprocess:i},{name:"select_having",symbols:[r.lexerAny.has("kw_having")?{type:"kw_having"}:kw_having,"expr"],postprocess:i},{name:"select_limit_offset$ebnf$1$subexpression$1",symbols:["select_offset"]},{name:"select_limit_offset$ebnf$1$subexpression$1",symbols:["select_limit"]},{name:"select_limit_offset$ebnf$1",symbols:["select_limit_offset$ebnf$1$subexpression$1"]},{name:"select_limit_offset$ebnf$1$subexpression$2",symbols:["select_offset"]},{name:"select_limit_offset$ebnf$1$subexpression$2",symbols:["select_limit"]},{name:"select_limit_offset$ebnf$1",symbols:["select_limit_offset$ebnf$1","select_limit_offset$ebnf$1$subexpression$2"],postprocess:e=>e[0].concat([e[1]])},{name:"select_limit_offset",symbols:["select_limit_offset$ebnf$1"],postprocess:(e,o)=>{const t=s(e);if(!Array.isArray(t))return(0,n.track)(e,t);if(t.length!=2)return o;const c=s(t[0]),f=s(t[1]);return c.offset&&f.offset||c.limit&&f.limit?o:(0,n.track)(e,{...c,...f})}},{name:"select_offset$ebnf$1$subexpression$1",symbols:["kw_row"]},{name:"select_offset$ebnf$1$subexpression$1",symbols:["kw_rows"]},{name:"select_offset$ebnf$1",symbols:["select_offset$ebnf$1$subexpression$1"],postprocess:l},{name:"select_offset$ebnf$1",symbols:[],postprocess:()=>null},{name:"select_offset",symbols:[r.lexerAny.has("kw_offset")?{type:"kw_offset"}:kw_offset,"expr_nostar","select_offset$ebnf$1"],postprocess:e=>(0,n.track)(e,{offset:s(e[1])})},{name:"select_limit$subexpression$1",symbols:["select_limit_1"]},{name:"select_limit$subexpression$1",symbols:["select_limit_2"]},{name:"select_limit",symbols:["select_limit$subexpression$1"],postprocess:e=>(0,n.track)(e,{limit:s(e)})},{name:"select_limit_1",symbols:[r.lexerAny.has("kw_limit")?{type:"kw_limit"}:kw_limit,"expr_nostar"],postprocess:i},{name:"select_limit_2$ebnf$1$subexpression$1",symbols:["kw_first"]},{name:"select_limit_2$ebnf$1$subexpression$1",symbols:["kw_next"]},{name:"select_limit_2$ebnf$1",symbols:["select_limit_2$ebnf$1$subexpression$1"],postprocess:l},{name:"select_limit_2$ebnf$1",symbols:[],postprocess:()=>null},{name:"select_limit_2$subexpression$1",symbols:["kw_row"]},{name:"select_limit_2$subexpression$1",symbols:["kw_rows"]},{name:"select_limit_2",symbols:[r.lexerAny.has("kw_fetch")?{type:"kw_fetch"}:kw_fetch,"select_limit_2$ebnf$1","expr_nostar","select_limit_2$subexpression$1",r.lexerAny.has("kw_only")?{type:"kw_only"}:kw_only],postprocess:$(2)},{name:"select_for$subexpression$1",symbols:["kw_update"],postprocess:e=>(0,n.track)(e,{type:"update"})},{name:"select_for$subexpression$1",symbols:["kw_no","kw_key","kw_update"],postprocess:e=>(0,n.track)(e,{type:"no key update"})},{name:"select_for$subexpression$1",symbols:["kw_share"],postprocess:e=>(0,n.track)(e,{type:"share"})},{name:"select_for$subexpression$1",symbols:["kw_key","kw_share"],postprocess:e=>(0,n.track)(e,{type:"key share"})},{name:"select_for",symbols:[r.lexerAny.has("kw_for")?{type:"kw_for"}:kw_for,"select_for$subexpression$1"]},{name:"select_skip$subexpression$1",symbols:["kw_nowait"],postprocess:e=>(0,n.track)(e,{type:"nowait"})},{name:"select_skip$subexpression$1",symbols:["kw_skip","kw_locked"],postprocess:e=>(0,n.track)(e,{type:"skip locked"})},{name:"select_skip",symbols:["select_skip$subexpression$1"]},{name:"select_order_by$subexpression$1",symbols:[r.lexerAny.has("kw_order")?{type:"kw_order"}:kw_order,"kw_by"]},{name:"select_order_by$ebnf$1",symbols:[]},{name:"select_order_by$ebnf$1$subexpression$1",symbols:["comma","select_order_by_expr"],postprocess:i},{name:"select_order_by$ebnf$1",symbols:["select_order_by$ebnf$1","select_order_by$ebnf$1$subexpression$1"],postprocess:e=>e[0].concat([e[1]])},{name:"select_order_by",symbols:["select_order_by$subexpression$1","select_order_by_expr","select_order_by$ebnf$1"],postprocess:([e,o,t])=>[o,...t||[]]},{name:"select_order_by_expr$ebnf$1$subexpression$1",symbols:[r.lexerAny.has("kw_asc")?{type:"kw_asc"}:kw_asc]},{name:"select_order_by_expr$ebnf$1$subexpression$1",symbols:[r.lexerAny.has("kw_desc")?{type:"kw_desc"}:kw_desc]},{name:"select_order_by_expr$ebnf$1",symbols:["select_order_by_expr$ebnf$1$subexpression$1"],postprocess:l},{name:"select_order_by_expr$ebnf$1",symbols:[],postprocess:()=>null},{name:"select_order_by_expr$ebnf$2$subexpression$1$subexpression$1",symbols:["kw_first"]},{name:"select_order_by_expr$ebnf$2$subexpression$1$subexpression$1",symbols:["kw_last"]},{name:"select_order_by_expr$ebnf$2$subexpression$1",symbols:["kw_nulls","select_order_by_expr$ebnf$2$subexpression$1$subexpression$1"],postprocess:i},{name:"select_order_by_expr$ebnf$2",symbols:["select_order_by_expr$ebnf$2$subexpression$1"],postprocess:l},{name:"select_order_by_expr$ebnf$2",symbols:[],postprocess:()=>null},{name:"select_order_by_expr",symbols:["expr","select_order_by_expr$ebnf$1","select_order_by_expr$ebnf$2"],postprocess:e=>(0,n.track)(e,{by:e[0],...e[1]&&{order:d(e[1]).toUpperCase()},...e[2]&&{nulls:d(e[2]).toUpperCase()}})},{name:"expr",symbols:["expr_nostar"],postprocess:s},{name:"expr",symbols:["expr_star"],postprocess:s},{name:"expr_nostar",symbols:["expr_paren"],postprocess:s},{name:"expr_nostar",symbols:["expr_or"],postprocess:s},{name:"expr_paren$subexpression$1",symbols:["expr_or_select"]},{name:"expr_paren$subexpression$1",symbols:["expr_list_many"]},{name:"expr_paren",symbols:["lparen","expr_paren$subexpression$1","rparen"],postprocess:$(1)},{name:"expr_or$macrocall$2$macrocall$2",symbols:[r.lexerAny.has("kw_or")?{type:"kw_or"}:kw_or]},{name:"expr_or$macrocall$2$macrocall$1",symbols:["expr_or$macrocall$2$macrocall$2"],postprocess:e=>(0,n.track)(e,{op:(d(e," ")||"<error>").toUpperCase()})},{name:"expr_or$macrocall$2",symbols:["expr_or$macrocall$2$macrocall$1"]},{name:"expr_or$macrocall$3",symbols:["expr_or"]},{name:"expr_or$macrocall$4",symbols:["expr_and"]},{name:"expr_or$macrocall$1$subexpression$1",symbols:["expr_or$macrocall$3"]},{name:"expr_or$macrocall$1$subexpression$1",symbols:["expr_paren"]},{name:"expr_or$macrocall$1$subexpression$2",symbols:["expr_or$macrocall$4"]},{name:"expr_or$macrocall$1$subexpression$2",symbols:["expr_paren"]},{name:"expr_or$macrocall$1",symbols:["expr_or$macrocall$1$subexpression$1","expr_or$macrocall$2","expr_or$macrocall$1$subexpression$2"],postprocess:e=>(0,n.track)(e,{type:"binary",left:s(e[0]),right:s(e[2]),...s(e[1])})},{name:"expr_or$macrocall$1",symbols:["expr_or$macrocall$4"],postprocess:s},{name:"expr_or",symbols:["expr_or$macrocall$1"]},{name:"expr_and$macrocall$2$macrocall$2",symbols:[r.lexerAny.has("kw_and")?{type:"kw_and"}:kw_and]},{name:"expr_and$macrocall$2$macrocall$1",symbols:["expr_and$macrocall$2$macrocall$2"],postprocess:e=>(0,n.track)(e,{op:(d(e," ")||"<error>").toUpperCase()})},{name:"expr_and$macrocall$2",symbols:["expr_and$macrocall$2$macrocall$1"]},{name:"expr_and$macrocall$3",symbols:["expr_and"]},{name:"expr_and$macrocall$4",symbols:["expr_not"]},{name:"expr_and$macrocall$1$subexpression$1",symbols:["expr_and$macrocall$3"]},{name:"expr_and$macrocall$1$subexpression$1",symbols:["expr_paren"]},{name:"expr_and$macrocall$1$subexpression$2",symbols:["expr_and$macrocall$4"]},{name:"expr_and$macrocall$1$subexpression$2",symbols:["expr_paren"]},{name:"expr_and$macrocall$1",symbols:["expr_and$macrocall$1$subexpression$1","expr_and$macrocall$2","expr_and$macrocall$1$subexpression$2"],postprocess:e=>(0,n.track)(e,{type:"binary",left:s(e[0]),right:s(e[2]),...s(e[1])})},{name:"expr_and$macrocall$1",symbols:["expr_and$macrocall$4"],postprocess:s},{name:"expr_and",symbols:["expr_and$macrocall$1"]},{name:"expr_not$macrocall$2$macrocall$2",symbols:[r.lexerAny.has("kw_not")?{type:"kw_not"}:kw_not]},{name:"expr_not$macrocall$2$macrocall$1",symbols:["expr_not$macrocall$2$macrocall$2"],postprocess:e=>(0,n.track)(e,{op:(d(e," ")||"<error>").toUpperCase()})},{name:"expr_not$macrocall$2",symbols:["expr_not$macrocall$2$macrocall$1"]},{name:"expr_not$macrocall$3",symbols:["expr_not"]},{name:"expr_not$macrocall$4",symbols:["expr_eq"]},{name:"expr_not$macrocall$1$subexpression$1",symbols:["expr_not$macrocall$3"]},{name:"expr_not$macrocall$1$subexpression$1",symbols:["expr_paren"]},{name:"expr_not$macrocall$1",symbols:["expr_not$macrocall$2","expr_not$macrocall$1$subexpression$1"],postprocess:e=>(0,n.track)(e,{type:"unary",...s(e[0]),operand:s(e[1])})},{name:"expr_not$macrocall$1",symbols:["expr_not$macrocall$4"],postprocess:s},{name:"expr_not",symbols:["expr_not$macrocall$1"]},{name:"expr_eq$macrocall$2$macrocall$2$subexpression$1",symbols:[r.lexerAny.has("op_eq")?{type:"op_eq"}:op_eq]},{name:"expr_eq$macrocall$2$macrocall$2$subexpression$1",symbols:[r.lexerAny.has("op_neq")?{type:"op_neq"}:op_neq]},{name:"expr_eq$macrocall$2$macrocall$2",symbols:["expr_eq$macrocall$2$macrocall$2$subexpression$1"]},{name:"expr_eq$macrocall$2$macrocall$1$macrocall$2",symbols:["expr_eq$macrocall$2$macrocall$2"]},{name:"expr_eq$macrocall$2$macrocall$1$macrocall$1",symbols:["expr_eq$macrocall$2$macrocall$1$macrocall$2"],postprocess:e=>(0,n.track)(e,{op:(d(e," ")||"<error>").toUpperCase()})},{name:"expr_eq$macrocall$2$macrocall$1",symbols:["expr_eq$macrocall$2$macrocall$1$macrocall$1"],postprocess:s},{name:"expr_eq$macrocall$2$macrocall$1",symbols:["kw_operator","lparen","ident","dot","expr_eq$macrocall$2$macrocall$2","rparen"],postprocess:e=>(0,n.track)(e,{op:(d(e[4]," ")||"<error>").toUpperCase(),opSchema:d(e[2])})},{name:"expr_eq$macrocall$2",symbols:["expr_eq$macrocall$2$macrocall$1"]},{name:"expr_eq$macrocall$3",symbols:["expr_eq"]},{name:"expr_eq$macrocall$4",symbols:["expr_is"]},{name:"expr_eq$macrocall$1$subexpression$1",symbols:["expr_eq$macrocall$3"]},{name:"expr_eq$macrocall$1$subexpression$1",symbols:["expr_paren"]},{name:"expr_eq$macrocall$1$subexpression$2",symbols:["expr_eq$macrocall$4"]},{name:"expr_eq$macrocall$1$subexpression$2",symbols:["expr_paren"]},{name:"expr_eq$macrocall$1",symbols:["expr_eq$macrocall$1$subexpression$1","expr_eq$macrocall$2","expr_eq$macrocall$1$subexpression$2"],postprocess:e=>(0,n.track)(e,{type:"binary",left:s(e[0]),right:s(e[2]),...s(e[1])})},{name:"expr_eq$macrocall$1",symbols:["expr_eq$macrocall$4"],postprocess:s},{name:"expr_eq",symbols:["expr_eq$macrocall$1"]},{name:"expr_star",symbols:["star"],postprocess:e=>(0,n.track)(e,{type:"ref",name:"*"})},{name:"expr_is$subexpression$1",symbols:["expr_is"]},{name:"expr_is$subexpression$1",symbols:["expr_paren"]},{name:"expr_is$subexpression$2",symbols:[r.lexerAny.has("kw_isnull")?{type:"kw_isnull"}:kw_isnull]},{name:"expr_is$subexpression$2",symbols:[r.lexerAny.has("kw_is")?{type:"kw_is"}:kw_is,r.lexerAny.has("kw_null")?{type:"kw_null"}:kw_null]},{name:"expr_is",symbols:["expr_is$subexpression$1","expr_is$subexpression$2"],postprocess:e=>(0,n.track)(e,{type:"unary",op:"IS NULL",operand:s(e[0])})},{name:"expr_is$subexpression$3",symbols:["expr_is"]},{name:"expr_is$subexpression$3",symbols:["expr_paren"]},{name:"expr_is$subexpression$4",symbols:[r.lexerAny.has("kw_notnull")?{type:"kw_notnull"}:kw_notnull]},{name:"expr_is$subexpression$4",symbols:[r.lexerAny.has("kw_is")?{type:"kw_is"}:kw_is,"kw_not_null"]},{name:"expr_is",symbols:["expr_is$subexpression$3","expr_is$subexpression$4"],postprocess:e=>(0,n.track)(e,{type:"unary",op:"IS NOT NULL",operand:s(e[0])})},{name:"expr_is$subexpression$5",symbols:["expr_is"]},{name:"expr_is$subexpression$5",symbols:["expr_paren"]},{name:"expr_is$ebnf$1",symbols:[r.lexerAny.has("kw_not")?{type:"kw_not"}:kw_not],postprocess:l},{name:"expr_is$ebnf$1",symbols:[],postprocess:()=>null},{name:"expr_is$subexpression$6",symbols:[r.lexerAny.has("kw_true")?{type:"kw_true"}:kw_true]},{name:"expr_is$subexpression$6",symbols:[r.lexerAny.has("kw_false")?{type:"kw_false"}:kw_false]},{name:"expr_is",symbols:["expr_is$subexpression$5",r.lexerAny.has("kw_is")?{type:"kw_is"}:kw_is,"expr_is$ebnf$1","expr_is$subexpression$6"],postprocess:e=>(0,n.track)(e,{type:"unary",op:"IS "+b([e[2],e[3]]).join(" ").toUpperCase(),operand:s(e[0])})},{name:"expr_is",symbols:["expr_compare"],postprocess:s},{name:"expr_compare$macrocall$2$macrocall$2",symbols:[r.lexerAny.has("op_compare")?{type:"op_compare"}:op_compare]},{name:"expr_compare$macrocall$2$macrocall$1$macrocall$2",symbols:["expr_compare$macrocall$2$macrocall$2"]},{name:"expr_compare$macrocall$2$macrocall$1$macrocall$1",symbols:["expr_compare$macrocall$2$macrocall$1$macrocall$2"],postprocess:e=>(0,n.track)(e,{op:(d(e," ")||"<error>").toUpperCase()})},{name:"expr_compare$macrocall$2$macrocall$1",symbols:["expr_compare$macrocall$2$macrocall$1$macrocall$1"],postprocess:s},{name:"expr_compare$macrocall$2$macrocall$1",symbols:["kw_operator","lparen","ident","dot","expr_compare$macrocall$2$macrocall$2","rparen"],postprocess:e=>(0,n.track)(e,{op:(d(e[4]," ")||"<error>").toUpperCase(),opSchema:d(e[2])})},{name:"expr_compare$macrocall$2",symbols:["expr_compare$macrocall$2$macrocall$1"]},{name:"expr_compare$macrocall$3",symbols:["expr_compare"]},{name:"expr_compare$macrocall$4",symbols:["expr_range"]},{name:"expr_compare$macrocall$1$subexpression$1",symbols:["expr_compare$macrocall$3"]},{name:"expr_compare$macrocall$1$subexpression$1",symbols:["expr_paren"]},{name:"expr_compare$macrocall$1$subexpression$2",symbols:["expr_compare$macrocall$4"]},{name:"expr_compare$macrocall$1$subexpression$2",symbols:["expr_paren"]},{name:"expr_compare$macrocall$1",symbols:["expr_compare$macrocall$1$subexpression$1","expr_compare$macrocall$2","expr_compare$macrocall$1$subexpression$2"],postprocess:e=>(0,n.track)(e,{type:"binary",left:s(e[0]),right:s(e[2]),...s(e[1])})},{name:"expr_compare$macrocall$1",symbols:["expr_compare$macrocall$4"],postprocess:s},{name:"expr_compare",symbols:["expr_compare$macrocall$1"]},{name:"expr_range$macrocall$2",symbols:["ops_between"]},{name:"expr_range$macrocall$3",symbols:[r.lexerAny.has("kw_and")?{type:"kw_and"}:kw_and]},{name:"expr_range$macrocall$4",symbols:["expr_range"]},{name:"expr_range$macrocall$5",symbols:["expr_others"]},{name:"expr_range$macrocall$1$subexpression$1",symbols:["expr_range$macrocall$4"]},{name:"expr_range$macrocall$1$subexpression$1",symbols:["expr_paren"]},{name:"expr_range$macrocall$1$subexpression$2",symbols:["expr_range$macrocall$4"]},{name:"expr_range$macrocall$1$subexpression$2",symbols:["expr_paren"]},{name:"expr_range$macrocall$1$subexpression$3",symbols:["expr_range$macrocall$5"]},{name:"expr_range$macrocall$1$subexpression$3",symbols:["expr_paren"]},{name:"expr_range$macrocall$1",symbols:["expr_range$macrocall$1$subexpression$1","expr_range$macrocall$2","expr_range$macrocall$1$subexpression$2","expr_range$macrocall$3","expr_range$macrocall$1$subexpression$3"],postprocess:e=>(0,n.track)(e,{type:"ternary",value:s(e[0]),lo:s(e[2]),hi:s(e[4]),op:(b(e[1]).join(" ")||"<error>").toUpperCase()})},{name:"expr_range$macrocall$1",symbols:["expr_range$macrocall$5"],postprocess:s},{name:"expr_range",symbols:["expr_range$macrocall$1"]},{name:"expr_others$macrocall$2$macrocall$2",symbols:[r.lexerAny.has("ops_others")?{type:"ops_others"}:ops_others]},{name:"expr_others$macrocall$2$macrocall$1$macrocall$2",symbols:["expr_others$macrocall$2$macrocall$2"]},{name:"expr_others$macrocall$2$macrocall$1$macrocall$1",symbols:["expr_others$macrocall$2$macrocall$1$macrocall$2"],postprocess:e=>(0,n.track)(e,{op:(d(e," ")||"<error>").toUpperCase()})},{name:"expr_others$macrocall$2$macrocall$1",symbols:["expr_others$macrocall$2$macrocall$1$macrocall$1"],postprocess:s},{name:"expr_others$macrocall$2$macrocall$1",symbols:["kw_operator","lparen","ident","dot","expr_others$macrocall$2$macrocall$2","rparen"],postprocess:e=>(0,n.track)(e,{op:(d(e[4]," ")||"<error>").toUpperCase(),opSchema:d(e[2])})},{name:"expr_others$macrocall$2",symbols:["expr_others$macrocall$2$macrocall$1"]},{name:"expr_others$macrocall$3",symbols:["expr_others"]},{name:"expr_others$macrocall$4",symbols:["expr_like"]},{name:"expr_others$macrocall$1$subexpression$1",symbols:["expr_others$macrocall$3"]},{name:"expr_others$macrocall$1$subexpression$1",symbols:["expr_paren"]},{name:"expr_others$macrocall$1$subexpression$2",symbols:["expr_others$macrocall$4"]},{name:"expr_others$macrocall$1$subexpression$2",symbols:["expr_paren"]},{name:"expr_others$macrocall$1",symbols:["expr_others$macrocall$1$subexpression$1","expr_others$macrocall$2","expr_others$macrocall$1$subexpression$2"],postprocess:e=>(0,n.track)(e,{type:"binary",left:s(e[0]),right:s(e[2]),...s(e[1])})},{name:"expr_others$macrocall$1",symbols:["expr_others$macrocall$4"],postprocess:s},{name:"expr_others",symbols:["expr_others$macrocall$1"]},{name:"expr_like$macrocall$2$macrocall$2",symbols:["ops_like"]},{name:"expr_like$macrocall$2$macrocall$1",symbols:["expr_like$macrocall$2$macrocall$2"],postprocess:e=>(0,n.track)(e,{op:(d(e," ")||"<error>").toUpperCase()})},{name:"expr_like$macrocall$2",symbols:["expr_like$macrocall$2$macrocall$1"]},{name:"expr_like$macrocall$3",symbols:["expr_like"]},{name:"expr_like$macrocall$4",symbols:["expr_in"]},{name:"expr_like$macrocall$1$subexpression$1",symbols:["expr_like$macrocall$3"]},{name:"expr_like$macrocall$1$subexpression$1",symbols:["expr_paren"]},{name:"expr_like$macrocall$1$subexpression$2",symbols:["expr_like$macrocall$4"]},{name:"expr_like$macrocall$1$subexpression$2",symbols:["expr_paren"]},{name:"expr_like$macrocall$1",symbols:["expr_like$macrocall$1$subexpression$1","expr_like$macrocall$2","expr_like$macrocall$1$subexpression$2"],postprocess:e=>(0,n.track)(e,{type:"binary",left:s(e[0]),right:s(e[2]),...s(e[1])})},{name:"expr_like$macrocall$1",symbols:["expr_like$macrocall$4"],postprocess:s},{name:"expr_like",symbols:["expr_like$macrocall$1"]},{name:"expr_in$macrocall$2$macrocall$2",symbols:["ops_in"]},{name:"expr_in$macrocall$2$macrocall$1",symbols:["expr_in$macrocall$2$macrocall$2"],postprocess:e=>(0,n.track)(e,{op:(d(e," ")||"<error>").toUpperCase()})},{name:"expr_in$macrocall$2",symbols:["expr_in$macrocall$2$macrocall$1"]},{name:"expr_in$macrocall$3",symbols:["expr_in"]},{name:"expr_in$macrocall$4",symbols:["expr_add"]},{name:"expr_in$macrocall$1$subexpression$1",symbols:["expr_in$macrocall$3"]},{name:"expr_in$macrocall$1$subexpression$1",symbols:["expr_paren"]},{name:"expr_in$macrocall$1$subexpression$2",symbols:["expr_in$macrocall$4"]},{name:"expr_in$macrocall$1$subexpression$2",symbols:["expr_paren"]},{name:"expr_in$macrocall$1",symbols:["expr_in$macrocall$1$subexpression$1","expr_in$macrocall$2","expr_in$macrocall$1$subexpression$2"],postprocess:e=>(0,n.track)(e,{type:"binary",left:s(e[0]),right:s(e[2]),...s(e[1])})},{name:"expr_in$macrocall$1",symbols:["expr_in$macrocall$4"],postprocess:s},{name:"expr_in",symbols:["expr_in$macrocall$1"]},{name:"expr_add$macrocall$2$macrocall$2$subexpression$1",symbols:[r.lexerAny.has("op_plus")?{type:"op_plus"}:op_plus]},{name:"expr_add$macrocall$2$macrocall$2$subexpression$1",symbols:[r.lexerAny.has("op_minus")?{type:"op_minus"}:op_minus]},{name:"expr_add$macrocall$2$macrocall$2$subexpression$1",symbols:[r.lexerAny.has("op_additive")?{type:"op_additive"}:op_additive]},{name:"expr_add$macrocall$2$macrocall$2",symbols:["expr_add$macrocall$2$macrocall$2$subexpression$1"]},{name:"expr_add$macrocall$2$macrocall$1$macrocall$2",symbols:["expr_add$macrocall$2$macrocall$2"]},{name:"expr_add$macrocall$2$macrocall$1$macrocall$1",symbols:["expr_add$macrocall$2$macrocall$1$macrocall$2"],postprocess:e=>(0,n.track)(e,{op:(d(e," ")||"<error>").toUpperCase()})},{name:"expr_add$macrocall$2$macrocall$1",symbols:["expr_add$macrocall$2$macrocall$1$macrocall$1"],postprocess:s},{name:"expr_add$macrocall$2$macrocall$1",symbols:["kw_operator","lparen","ident","dot","expr_add$macrocall$2$macrocall$2","rparen"],postprocess:e=>(0,n.track)(e,{op:(d(e[4]," ")||"<error>").toUpperCase(),opSchema:d(e[2])})},{name:"expr_add$macrocall$2",symbols:["expr_add$macrocall$2$macrocall$1"]},{name:"expr_add$macrocall$3",symbols:["expr_add"]},{name:"expr_add$macrocall$4",symbols:["expr_mult"]},{name:"expr_add$macrocall$1$subexpression$1",symbols:["expr_add$macrocall$3"]},{name:"expr_add$macrocall$1$subexpression$1",symbols:["expr_paren"]},{name:"expr_add$macrocall$1$subexpression$2",symbols:["expr_add$macrocall$4"]},{name:"expr_add$macrocall$1$subexpression$2",symbols:["expr_paren"]},{name:"expr_add$macrocall$1",symbols:["expr_add$macrocall$1$subexpression$1","expr_add$macrocall$2","expr_add$macrocall$1$subexpression$2"],postprocess:e=>(0,n.track)(e,{type:"binary",left:s(e[0]),right:s(e[2]),...s(e[1])})},{name:"expr_add$macrocall$1",symbols:["expr_add$macrocall$4"],postprocess:s},{name:"expr_add",symbols:["expr_add$macrocall$1"]},{name:"expr_mult$macrocall$2$macrocall$2$subexpression$1",symbols:[r.lexerAny.has("star")?{type:"star"}:star]},{name:"expr_mult$macrocall$2$macrocall$2$subexpression$1",symbols:[r.lexerAny.has("op_div")?{type:"op_div"}:op_div]},{name:"expr_mult$macrocall$2$macrocall$2$subexpression$1",symbols:[r.lexerAny.has("op_mod")?{type:"op_mod"}:op_mod]},{name:"expr_mult$macrocall$2$macrocall$2",symbols:["expr_mult$macrocall$2$macrocall$2$subexpression$1"]},{name:"expr_mult$macrocall$2$macrocall$1$macrocall$2",symbols:["expr_mult$macrocall$2$macrocall$2"]},{name:"expr_mult$macrocall$2$macrocall$1$macrocall$1",symbols:["expr_mult$macrocall$2$macrocall$1$macrocall$2"],postprocess:e=>(0,n.track)(e,{op:(d(e," ")||"<error>").toUpperCase()})},{name:"expr_mult$macrocall$2$macrocall$1",symbols:["expr_mult$macrocall$2$macrocall$1$macrocall$1"],postprocess:s},{name:"expr_mult$macrocall$2$macrocall$1",symbols:["kw_operator","lparen","ident","dot","expr_mult$macrocall$2$macrocall$2","rparen"],postprocess:e=>(0,n.track)(e,{op:(d(e[4]," ")||"<error>").toUpperCase(),opSchema:d(e[2])})},{name:"expr_mult$macrocall$2",symbols:["expr_mult$macrocall$2$macrocall$1"]},{name:"expr_mult$macrocall$3",symbols:["expr_mult"]},{name:"expr_mult$macrocall$4",symbols:["expr_exp"]},{name:"expr_mult$macrocall$1$subexpression$1",symbols:["expr_mult$macrocall$3"]},{name:"expr_mult$macrocall$1$subexpression$1",symbols:["expr_paren"]},{name:"expr_mult$macrocall$1$subexpression$2",symbols:["expr_mult$macrocall$4"]},{name:"expr_mult$macrocall$1$subexpression$2",symbols:["expr_paren"]},{name:"expr_mult$macrocall$1",symbols:["expr_mult$macrocall$1$subexpression$1","expr_mult$macrocall$2","expr_mult$macrocall$1$subexpression$2"],postprocess:e=>(0,n.track)(e,{type:"binary",left:s(e[0]),right:s(e[2]),...s(e[1])})},{name:"expr_mult$macrocall$1",symbols:["expr_mult$macrocall$4"],postprocess:s},{name:"expr_mult",symbols:["expr_mult$macrocall$1"]},{name:"expr_exp$macrocall$2$macrocall$2",symbols:[r.lexerAny.has("op_exp")?{type:"op_exp"}:op_exp]},{name:"expr_exp$macrocall$2$macrocall$1$macrocall$2",symbols:["expr_exp$macrocall$2$macrocall$2"]},{name:"expr_exp$macrocall$2$macrocall$1$macrocall$1",symbols:["expr_exp$macrocall$2$macrocall$1$macrocall$2"],postprocess:e=>(0,n.track)(e,{op:(d(e," ")||"<error>").toUpperCase()})},{name:"expr_exp$macrocall$2$macrocall$1",symbols:["expr_exp$macrocall$2$macrocall$1$macrocall$1"],postprocess:s},{name:"expr_exp$macrocall$2$macrocall$1",symbols:["kw_operator","lparen","ident","dot","expr_exp$macrocall$2$macrocall$2","rparen"],postprocess:e=>(0,n.track)(e,{op:(d(e[4]," ")||"<error>").toUpperCase(),opSchema:d(e[2])})},{name:"expr_exp$macrocall$2",symbols:["expr_exp$macrocall$2$macrocall$1"]},{name:"expr_exp$macrocall$3",symbols:["expr_exp"]},{name:"expr_exp$macrocall$4",symbols:["expr_unary_add"]},{name:"expr_exp$macrocall$1$subexpression$1",symbols:["expr_exp$macrocall$3"]},{name:"expr_exp$macrocall$1$subexpression$1",symbols:["expr_paren"]},{name:"expr_exp$macrocall$1$subexpression$2",symbols:["expr_exp$macrocall$4"]},{name:"expr_exp$macrocall$1$subexpression$2",symbols:["expr_paren"]},{name:"expr_exp$macrocall$1",symbols:["expr_exp$macrocall$1$subexpression$1","expr_exp$macrocall$2","expr_exp$macrocall$1$subexpression$2"],postprocess:e=>(0,n.track)(e,{type:"binary",left:s(e[0]),right:s(e[2]),...s(e[1])})},{name:"expr_exp$macrocall$1",symbols:["expr_exp$macrocall$4"],postprocess:s},{name:"expr_exp",symbols:["expr_exp$macrocall$1"]},{name:"expr_unary_add$macrocall$2$macrocall$2$subexpression$1",symbols:[r.lexerAny.has("op_plus")?{type:"op_plus"}:op_plus]},{name:"expr_unary_add$macrocall$2$macrocall$2$subexpression$1",symbols:[r.lexerAny.has("op_minus")?{type:"op_minus"}:op_minus]},{name:"expr_unary_add$macrocall$2$macrocall$2",symbols:["expr_unary_add$macrocall$2$macrocall$2$subexpression$1"]},{name:"expr_unary_add$macrocall$2$macrocall$1$macrocall$2",symbols:["expr_unary_add$macrocall$2$macrocall$2"]},{name:"expr_unary_add$macrocall$2$macrocall$1$macrocall$1",symbols:["expr_unary_add$macrocall$2$macrocall$1$macrocall$2"],postprocess:e=>(0,n.track)(e,{op:(d(e," ")||"<error>").toUpperCase()})},{name:"expr_unary_add$macrocall$2$macrocall$1",symbols:["expr_unary_add$macrocall$2$macrocall$1$macrocall$1"],postprocess:s},{name:"expr_unary_add$macrocall$2$macrocall$1",symbols:["kw_operator","lparen","ident","dot","expr_unary_add$macrocall$2$macrocall$2","rparen"],postprocess:e=>(0,n.track)(e,{op:(d(e[4]," ")||"<error>").toUpperCase(),opSchema:d(e[2])})},{name:"expr_unary_add$macrocall$2",symbols:["expr_unary_add$macrocall$2$macrocall$1"]},{name:"expr_unary_add$macrocall$3",symbols:["expr_unary_add"]},{name:"expr_unary_add$macrocall$4",symbols:["expr_various_constructs"]},{name:"expr_unary_add$macrocall$1$subexpression$1",symbols:["expr_unary_add$macrocall$3"]},{name:"expr_unary_add$macrocall$1$subexpression$1",symbols:["expr_paren"]},{name:"expr_unary_add$macrocall$1",symbols:["expr_unary_add$macrocall$2","expr_unary_add$macrocall$1$subexpression$1"],postprocess:e=>(0,n.track)(e,{type:"unary",...s(e[0]),operand:s(e[1])})},{name:"expr_unary_add$macrocall$1",symbols:["expr_unary_add$macrocall$4"],postprocess:s},{name:"expr_unary_add",symbols:["expr_unary_add$macrocall$1"]},{name:"expr_various_constructs$macrocall$2$macrocall$2",symbols:["various_binaries"]},{name:"expr_various_constructs$macrocall$2$macrocall$1",symbols:["expr_various_constructs$macrocall$2$macrocall$2"],postprocess:e=>(0,n.track)(e,{op:(d(e," ")||"<error>").toUpperCase()})},{name:"expr_various_constructs$macrocall$2",symbols:["expr_various_constructs$macrocall$2$macrocall$1"]},{name:"expr_various_constructs$macrocall$3",symbols:["expr_various_constructs"]},{name:"expr_various_constructs$macrocall$4",symbols:["expr_array_index"]},{name:"expr_various_constructs$macrocall$1$subexpression$1",symbols:["expr_various_constructs$macrocall$3"]},{name:"expr_various_constructs$macrocall$1$subexpression$1",symbols:["expr_paren"]},{name:"expr_various_constructs$macrocall$1$subexpression$2",symbols:["expr_various_constructs$macrocall$4"]},{name:"expr_various_constructs$macrocall$1$subexpression$2",symbols:["expr_paren"]},{name:"expr_various_constructs$macrocall$1",symbols:["expr_various_constructs$macrocall$1$subexpression$1","expr_various_constructs$macrocall$2","expr_various_constructs$macrocall$1$subexpression$2"],postprocess:e=>(0,n.track)(e,{type:"binary",left:s(e[0]),right:s(e[2]),...s(e[1])})},{name:"expr_various_constructs$macrocall$1",symbols:["expr_various_constructs$macrocall$4"],postprocess:s},{name:"expr_various_constructs",symbols:["expr_various_constructs$macrocall$1"]},{name:"expr_array_index$subexpression$1",symbols:["expr_array_index"]},{name:"expr_array_index$subexpression$1",symbols:["expr_paren"]},{name:"expr_array_index",symbols:["expr_array_index$subexpression$1",r.lexerAny.has("lbracket")?{type:"lbracket"}:lbracket,"expr_nostar",r.lexerAny.has("rbracket")?{type:"rbracket"}:rbracket],postprocess:e=>(0,n.track)(e,{type:"arrayIndex",array:s(e[0]),index:s(e[2])})},{name:"expr_array_index",symbols:["expr_member"],postprocess:s},{name:"expr_member$subexpression$1",symbols:["expr_member"]},{name:"expr_member$subexpression$1",symbols:["expr_paren"]},{name:"expr_member$subexpression$2",symbols:["string"]},{name:"expr_member$subexpression$2",symbols:["int"]},{name:"expr_member",symbols:["expr_member$subexpression$1","ops_member","expr_member$subexpression$2"],postprocess:e=>(0,n.track)(e,{type:"member",operand:s(e[0]),op:e[1],member:s(e[2])})},{name:"expr_member$subexpression$3",symbols:["expr_member"]},{name:"expr_member$subexpression$3",symbols:["expr_paren"]},{name:"expr_member",symbols:["expr_member$subexpression$3",r.lexerAny.has("op_cast")?{type:"op_cast"}:op_cast,"data_type"],postprocess:e=>(0,n.track)(e,{type:"cast",operand:s(e[0]),to:e[2]})},{name:"expr_member",symbols:[r.lexerAny.has("kw_cast")?{type:"kw_cast"}:kw_cast,"lparen","expr_nostar",r.lexerAny.has("kw_as")?{type:"kw_as"}:kw_as,"data_type","rparen"],postprocess:e=>(0,n.track)(e,{type:"cast",operand:s(e[2]),to:e[4]})},{name:"expr_member",symbols:["data_type","string"],postprocess:e=>(0,n.track)(e,{type:"cast",operand:(0,n.track)(e[1],{type:"string",value:(0,n.unbox)(e[1])}),to:(0,n.unbox)(e[0])})},{name:"expr_member",symbols:["expr_dot"],postprocess:s},{name:"expr_dot$subexpression$1",symbols:["word"]},{name:"expr_dot$subexpression$1",symbols:["star"]},{name:"expr_dot",symbols:["qname",r.lexerAny.has("dot")?{type:"dot"}:dot,"expr_dot$subexpression$1"],postprocess:e=>(0,n.track)(e,{type:"ref",table:s(e[0]),name:d(e[2])})},{name:"expr_dot",symbols:["expr_final"],postprocess:s},{name:"expr_final",symbols:["expr_basic"]},{name:"expr_final",symbols:["expr_primary"]},{name:"expr_basic",symbols:["expr_special_calls"]},{name:"expr_basic",symbols:["expr_call"]},{name:"expr_basic",symbols:["expr_array"]},{name:"expr_basic",symbols:["expr_case"]},{name:"expr_basic",symbols:["expr_extract"]},{name:"expr_basic",symbols:["word"],postprocess:e=>(0,n.track)(e,{type:"ref",name:s(e[0])})},{name:"expr_array$ebnf$1",symbols:["expr_subarray_items"],postprocess:l},{name:"expr_array$ebnf$1",symbols:[],postprocess:()=>null},{name:"expr_array",symbols:[r.lexerAny.has("kw_array")?{type:"kw_array"}:kw_array,r.lexerAny.has("lbracket")?{type:"lbracket"}:lbracket,"expr_array$ebnf$1",r.lexerAny.has("rbracket")?{type:"rbracket"}:rbracket],postprocess:e=>(0,n.track)(e,{type:"array",expressions:e[2]||[]})},{name:"expr_array",symbols:[r.lexerAny.has("kw_array")?{type:"kw_array"}:kw_array,"lparen","selection","rparen"],postprocess:e=>(0,n.track)(e,{type:"array select",select:s(e[2])})},{name:"expr_subarray$ebnf$1",symbols:["expr_subarray_items"],postprocess:l},{name:"expr_subarray$ebnf$1",symbols:[],postprocess:()=>null},{name:"expr_subarray",symbols:[r.lexerAny.has("lbracket")?{type:"lbracket"}:lbracket,"expr_subarray$ebnf$1",r.lexerAny.has("rbracket")?{type:"rbracket"}:rbracket],postprocess:$(1)},{name:"expr_subarray_items$macrocall$2",symbols:["expr_list_item"]},{name:"expr_subarray_items$macrocall$1$ebnf$1",symbols:[]},{name:"expr_subarray_items$macrocall$1$ebnf$1$subexpression$1",symbols:[r.lexerAny.has("comma")?{type:"comma"}:comma,"expr_subarray_items$macrocall$2"],postprocess:i},{name:"expr_subarray_items$macrocall$1$ebnf$1",symbols:["expr_subarray_items$macrocall$1$ebnf$1","expr_subarray_items$macrocall$1$ebnf$1$subexpression$1"],postprocess:e=>e[0].concat([e[1]])},{name:"expr_subarray_items$macrocall$1",symbols:["expr_subarray_items$macrocall$2","expr_subarray_items$macrocall$1$ebnf$1"],postprocess:([e,o])=>[e,...o||[]]},{name:"expr_subarray_items",symbols:["expr_subarray_items$macrocall$1"],postprocess:e=>e[0].map(s)},{name:"expr_subarray_items$macrocall$4",symbols:["expr_subarray"]},{name:"expr_subarray_items$macrocall$3$ebnf$1",symbols:[]},{name:"expr_subarray_items$macrocall$3$ebnf$1$subexpression$1",symbols:[r.lexerAny.has("comma")?{type:"comma"}:comma,"expr_subarray_items$macrocall$4"],postprocess:i},{name:"expr_subarray_items$macrocall$3$ebnf$1",symbols:["expr_subarray_items$macrocall$3$ebnf$1","expr_subarray_items$macrocall$3$ebnf$1$subexpression$1"],postprocess:e=>e[0].concat([e[1]])},{name:"expr_subarray_items$macrocall$3",symbols:["expr_subarray_items$macrocall$4","expr_subarray_items$macrocall$3$ebnf$1"],postprocess:([e,o])=>[e,...o||[]]},{name:"expr_subarray_items",symbols:["expr_subarray_items$macrocall$3"],postprocess:e=>e[0].map(o=>(0,n.track)(o,{type:"array",expressions:o[0].map(s)}))},{name:"expr_function_call$ebnf$1",symbols:["expr_list_raw"],postprocess:l},{name:"expr_function_call$ebnf$1",symbols:[],postprocess:()=>null},{name:"expr_function_call",symbols:["expr_fn_name","lparen","expr_function_call$ebnf$1","rparen"],postprocess:e=>(0,n.track)(e,{type:"call",function:s(e[0]),args:e[2]||[]})},{name:"expr_call$ebnf$1$subexpression$1",symbols:[r.lexerAny.has("kw_all")?{type:"kw_all"}:kw_all]},{name:"expr_call$ebnf$1$subexpression$1",symbols:[r.lexerAny.has("kw_distinct")?{type:"kw_distinct"}:kw_distinct]},{name:"expr_call$ebnf$1",symbols:["expr_call$ebnf$1$subexpression$1"],postprocess:l},{name:"expr_call$ebnf$1",symbols:[],postprocess:()=>null},{name:"expr_call$ebnf$2",symbols:["expr_list_raw"],postprocess:l},{name:"expr_call$ebnf$2",symbols:[],postprocess:()=>null},{name:"expr_call$ebnf$3",symbols:["select_order_by"],postprocess:l},{name:"expr_call$ebnf$3",symbols:[],postprocess:()=>null},{name:"expr_call$ebnf$4$subexpression$1",symbols:["kw_filter","lparen",r.lexerAny.has("kw_where")?{type:"kw_where"}:kw_where,"expr","rparen"],postprocess:$(3)},{name:"expr_call$ebnf$4",symbols:["expr_call$ebnf$4$subexpression$1"],postprocess:l},{name:"expr_call$ebnf$4",symbols:[],postprocess:()=>null},{name:"expr_call$ebnf$5",symbols:["expr_call_within_group"],postprocess:l},{name:"expr_call$ebnf$5",symbols:[],postprocess:()=>null},{name:"expr_call$ebnf$6",symbols:["expr_call_over"],postprocess:l},{name:"expr_call$ebnf$6",symbols:[],postprocess:()=>null},{name:"expr_call",symbols:["expr_fn_name","lparen","expr_call$ebnf$1","expr_call$ebnf$2","expr_call$ebnf$3","rparen","expr_call$ebnf$4","expr_call$ebnf$5","expr_call$ebnf$6"],postprocess:e=>(0,n.track)(e,{type:"call",function:s(e[0]),...e[2]&&{distinct:d(e[2])},args:e[3]||[],...e[4]&&{orderBy:e[4]},...e[6]&&{filter:s(e[6])},...e[7]&&{withinGroup:e[7]},...e[8]&&{over:s(e[8])}})},{name:"expr_call_over$ebnf$1$subexpression$1",symbols:["kw_partition","kw_by","expr_list_raw"],postprocess:i},{name:"expr_call_over$ebnf$1",symbols:["expr_call_over$ebnf$1$subexpression$1"],postprocess:l},{name:"expr_call_over$ebnf$1",symbols:[],postprocess:()=>null},{name:"expr_call_over$ebnf$2",symbols:["select_order_by"],postprocess:l},{name:"expr_call_over$ebnf$2",symbols:[],postprocess:()=>null},{name:"expr_call_over",symbols:["kw_over","lparen","expr_call_over$ebnf$1","expr_call_over$ebnf$2","rparen"],postprocess:e=>(0,n.track)(e,{...e[2]&&{partitionBy:e[2]},...e[3]&&{orderBy:e[3]}})},{name:"expr_call_within_group$subexpression$1",symbols:["kw_within",r.lexerAny.has("kw_group")?{type:"kw_group"}:kw_group]},{name:"expr_call_within_group$subexpression$2",symbols:[r.lexerAny.has("kw_order")?{type:"kw_order"}:kw_order,"kw_by"]},{name:"expr_call_within_group",symbols:["expr_call_within_group$subexpression$1","lparen","expr_call_within_group$subexpression$2","select_order_by_expr","rparen"],postprocess:e=>(0,n.track)(e,e[3])},{name:"expr_extract$subexpression$1",symbols:["word"],postprocess:k("extract")},{name:"expr_extract",symbols:["expr_extract$subexpression$1","lparen","word",r.lexerAny.has("kw_from")?{type:"kw_from"}:kw_from,"expr","rparen"],postprocess:e=>(0,n.track)(e,{type:"extract",field:u(e[2]),from:e[4]})},{name:"expr_primary",symbols:["float"],postprocess:e=>(0,n.track)(e,{type:"numeric",value:(0,n.unbox)(e[0])})},{name:"expr_primary",symbols:["int"],postprocess:e=>(0,n.track)(e,{type:"integer",value:(0,n.unbox)(e[0])})},{name:"expr_primary",symbols:["string"],postprocess:e=>(0,n.track)(e,{type:"string",value:(0,n.unbox)(e[0])})},{name:"expr_primary",symbols:[r.lexerAny.has("kw_true")?{type:"kw_true"}:kw_true],postprocess:e=>(0,n.track)(e,{type:"boolean",value:!0})},{name:"expr_primary",symbols:[r.lexerAny.has("kw_false")?{type:"kw_false"}:kw_false],postprocess:e=>(0,n.track)(e,{type:"boolean",value:!1})},{name:"expr_primary",symbols:[r.lexerAny.has("kw_null")?{type:"kw_null"}:kw_null],postprocess:e=>(0,n.track)(e,{type:"null"})},{name:"expr_primary",symbols:["value_keyword"],postprocess:e=>(0,n.track)(e,{type:"keyword",keyword:d(e)})},{name:"expr_primary",symbols:[r.lexerAny.has("qparam")?{type:"qparam"}:qparam],postprocess:e=>(0,n.track)(e,{type:"parameter",name:d(e[0])})},{name:"expr_primary",symbols:[r.lexerAny.has("kw_default")?{type:"kw_default"}:kw_default],postprocess:e=>(0,n.track)(e,{type:"default"})},{name:"ops_like",symbols:["ops_like_keywors"]},{name:"ops_like",symbols:["ops_like_operators"]},{name:"ops_like_keywors$ebnf$1",symbols:[r.lexerAny.has("kw_not")?{type:"kw_not"}:kw_not],postprocess:l},{name:"ops_like_keywors$ebnf$1",symbols:[],postprocess:()=>null},{name:"ops_like_keywors$subexpression$1",symbols:[r.lexerAny.has("kw_like")?{type:"kw_like"}:kw_like]},{name:"ops_like_keywors$subexpression$1",symbols:[r.lexerAny.has("kw_ilike")?{type:"kw_ilike"}:kw_ilike]},{name:"ops_like_keywors",symbols:["ops_like_keywors$ebnf$1","ops_like_keywors$subexpression$1"]},{name:"ops_like_operators$subexpression$1",symbols:[r.lexerAny.has("op_like")?{type:"op_like"}:op_like],postprocess:()=>"LIKE"},{name:"ops_like_operators",symbols:["ops_like_operators$subexpression$1"]},{name:"ops_like_operators$subexpression$2",symbols:[r.lexerAny.has("op_ilike")?{type:"op_ilike"}:op_ilike],postprocess:()=>"ILIKE"},{name:"ops_like_operators",symbols:["ops_like_operators$subexpression$2"]},{name:"ops_like_operators$subexpression$3",symbols:[r.lexerAny.has("op_not_like")?{type:"op_not_like"}:op_not_like],postprocess:()=>"NOT LIKE"},{name:"ops_like_operators",symbols:["ops_like_operators$subexpression$3"]},{name:"ops_like_operators$subexpression$4",symbols:[r.lexerAny.has("op_not_ilike")?{type:"op_not_ilike"}:op_not_ilike],postprocess:()=>"NOT ILIKE"},{name:"ops_like_operators",symbols:["ops_like_operators$subexpression$4"]},{name:"ops_in$ebnf$1",symbols:[r.lexerAny.has("kw_not")?{type:"kw_not"}:kw_not],postprocess:l},{name:"ops_in$ebnf$1",symbols:[],postprocess:()=>null},{name:"ops_in",symbols:["ops_in$ebnf$1",r.lexerAny.has("kw_in")?{type:"kw_in"}:kw_in]},{name:"ops_between$ebnf$1",symbols:[r.lexerAny.has("kw_not")?{type:"kw_not"}:kw_not],postprocess:l},{name:"ops_between$ebnf$1",symbols:[],postprocess:()=>null},{name:"ops_between",symbols:["ops_between$ebnf$1","kw_between"]},{name:"ops_member$subexpression$1",symbols:[r.lexerAny.has("op_member")?{type:"op_member"}:op_member]},{name:"ops_member$subexpression$1",symbols:[r.lexerAny.has("op_membertext")?{type:"op_membertext"}:op_membertext]},{name:"ops_member",symbols:["ops_member$subexpression$1"],postprocess:e=>{var o;return(o=s(e))===null||o===void 0?void 0:o.value}},{name:"expr_list_item",symbols:["expr_or_select"],postprocess:s},{name:"expr_list_item",symbols:["expr_star"],postprocess:s},{name:"expr_list_raw$macrocall$2",symbols:["expr_list_item"]},{name:"expr_list_raw$macrocall$1$ebnf$1",symbols:[]},{name:"expr_list_raw$macrocall$1$ebnf$1$subexpression$1",symbols:[r.lexerAny.has("comma")?{type:"comma"}:comma,"expr_list_raw$macrocall$2"],postprocess:i},{name:"expr_list_raw$macrocall$1$ebnf$1",symbols:["expr_list_raw$macrocall$1$ebnf$1","expr_list_raw$macrocall$1$ebnf$1$subexpression$1"],postprocess:e=>e[0].concat([e[1]])},{name:"expr_list_raw$macrocall$1",symbols:["expr_list_raw$macrocall$2","expr_list_raw$macrocall$1$ebnf$1"],postprocess:([e,o])=>[e,...o||[]]},{name:"expr_list_raw",symbols:["expr_list_raw$macrocall$1"],postprocess:([e])=>e.map(s)},{name:"expr_list_raw_many$macrocall$2",symbols:["expr_list_item"]},{name:"expr_list_raw_many$macrocall$1$ebnf$1$subexpression$1",symbols:[r.lexerAny.has("comma")?{type:"comma"}:comma,"expr_list_raw_many$macrocall$2"],postprocess:i},{name:"expr_list_raw_many$macrocall$1$ebnf$1",symbols:["expr_list_raw_many$macrocall$1$ebnf$1$subexpression$1"]},{name:"expr_list_raw_many$macrocall$1$ebnf$1$subexpression$2",symbols:[r.lexerAny.has("comma")?{type:"comma"}:comma,"expr_list_raw_many$macrocall$2"],postprocess:i},{name:"expr_list_raw_many$macrocall$1$ebnf$1",symbols:["expr_list_raw_many$macrocall$1$ebnf$1","expr_list_raw_many$macrocall$1$ebnf$1$subexpression$2"],postprocess:e=>e[0].concat([e[1]])},{name:"expr_list_raw_many$macrocall$1",symbols:["expr_list_raw_many$macrocall$2","expr_list_raw_many$macrocall$1$ebnf$1"],postprocess:([e,o])=>[e,...o||[]]},{name:"expr_list_raw_many",symbols:["expr_list_raw_many$macrocall$1"],postprocess:([e])=>e.map(s)},{name:"expr_or_select",symbols:["expr_nostar"],postprocess:s},{name:"expr_or_select",symbols:["selection"],postprocess:s},{name:"expr_list_many",symbols:["expr_list_raw_many"],postprocess:e=>(0,n.track)(e,{type:"list",expressions:e[0]})},{name:"expr_case$ebnf$1",symbols:["expr_nostar"],postprocess:l},{name:"expr_case$ebnf$1",symbols:[],postprocess:()=>null},{name:"expr_case$ebnf$2",symbols:[]},{name:"expr_case$ebnf$2",symbols:["expr_case$ebnf$2","expr_case_whens"],postprocess:e=>e[0].concat([e[1]])},{name:"expr_case$ebnf$3",symbols:["expr_case_else"],postprocess:l},{name:"expr_case$ebnf$3",symbols:[],postprocess:()=>null},{name:"expr_case",symbols:[r.lexerAny.has("kw_case")?{type:"kw_case"}:kw_case,"expr_case$ebnf$1","expr_case$ebnf$2","expr_case$ebnf$3",r.lexerAny.has("kw_end")?{type:"kw_end"}:kw_end],postprocess:e=>(0,n.track)(e,{type:"case",value:e[1],whens:e[2],else:e[3]})},{name:"expr_case_whens",symbols:[r.lexerAny.has("kw_when")?{type:"kw_when"}:kw_when,"expr_nostar",r.lexerAny.has("kw_then")?{type:"kw_then"}:kw_then,"expr_nostar"],postprocess:e=>(0,n.track)(e,{when:e[1],value:e[3]})},{name:"expr_case_else",symbols:[r.lexerAny.has("kw_else")?{type:"kw_else"}:kw_else,"expr_nostar"],postprocess:i},{name:"expr_fn_name$subexpression$1$ebnf$1$subexpression$1",symbols:["word",r.lexerAny.has("dot")?{type:"dot"}:dot]},{name:"expr_fn_name$subexpression$1$ebnf$1",symbols:["expr_fn_name$subexpression$1$ebnf$1$subexpression$1"],postprocess:l},{name:"expr_fn_name$subexpression$1$ebnf$1",symbols:[],postprocess:()=>null},{name:"expr_fn_name$subexpression$1",symbols:["expr_fn_name$subexpression$1$ebnf$1","word_or_keyword"],postprocess:e=>(0,n.track)(e,{name:(0,n.unbox)(s(e[1])),...e[0]&&{schema:d(e[0][0])}})},{name:"expr_fn_name",symbols:["expr_fn_name$subexpression$1"]},{name:"expr_fn_name$subexpression$2$subexpression$1",symbols:[r.lexerAny.has("kw_any")?{type:"kw_any"}:kw_any]},{name:"expr_fn_name$subexpression$2$subexpression$1",symbols:[r.lexerAny.has("kw_some")?{type:"kw_some"}:kw_some]},{name:"expr_fn_name$subexpression$2$subexpression$1",symbols:[r.lexerAny.has("kw_all")?{type:"kw_all"}:kw_all]},{name:"expr_fn_name$subexpression$2$subexpression$1",symbols:[r.lexerAny.has("kw_left")?{type:"kw_left"}:kw_left]},{name:"expr_fn_name$subexpression$2$subexpression$1",symbols:[r.lexerAny.has("kw_right")?{type:"kw_right"}:kw_right]},{name:"expr_fn_name$subexpression$2",symbols:["expr_fn_name$subexpression$2$subexpression$1"],postprocess:e=>(0,n.track)(e,{name:d(s(e))})},{name:"expr_fn_name",symbols:["expr_fn_name$subexpression$2"]},{name:"word_or_keyword",symbols:["word"]},{name:"word_or_keyword",symbols:["value_keyword"],postprocess:e=>(0,n.box)(e,d(e))},{name:"value_keyword",symbols:[r.lexerAny.has("kw_current_catalog")?{type:"kw_current_catalog"}:kw_current_catalog]},{name:"value_keyword",symbols:[r.lexerAny.has("kw_current_date")?{type:"kw_current_date"}:kw_current_date]},{name:"value_keyword",symbols:[r.lexerAny.has("kw_current_role")?{type:"kw_current_role"}:kw_current_role]},{name:"value_keyword",symbols:[r.lexerAny.has("kw_current_schema")?{type:"kw_current_schema"}:kw_current_schema]},{name:"value_keyword",symbols:[r.lexerAny.has("kw_current_timestamp")?{type:"kw_current_timestamp"}:kw_current_timestamp]},{name:"value_keyword",symbols:[r.lexerAny.has("kw_current_time")?{type:"kw_current_time"}:kw_current_time]},{name:"value_keyword",symbols:[r.lexerAny.has("kw_localtimestamp")?{type:"kw_localtimestamp"}:kw_localtimestamp]},{name:"value_keyword",symbols:[r.lexerAny.has("kw_localtime")?{type:"kw_localtime"}:kw_localtime]},{name:"value_keyword",symbols:[r.lexerAny.has("kw_session_user")?{type:"kw_session_user"}:kw_session_user]},{name:"value_keyword",symbols:[r.lexerAny.has("kw_user")?{type:"kw_user"}:kw_user]},{name:"value_keyword",symbols:[r.lexerAny.has("kw_current_user")?{type:"kw_current_user"}:kw_current_user]},{name:"expr_special_calls",symbols:["spe_overlay"]},{name:"expr_special_calls",symbols:["spe_substring"]},{name:"spe_overlay$subexpression$1",symbols:["word"],postprocess:k("overlay")},{name:"spe_overlay$subexpression$2",symbols:[r.lexerAny.has("lparen")?{type:"lparen"}:lparen,"expr_nostar"]},{name:"spe_overlay$subexpression$3",symbols:[r.lexerAny.has("kw_placing")?{type:"kw_placing"}:kw_placing,"expr_nostar"]},{name:"spe_overlay$subexpression$4",symbols:[r.lexerAny.has("kw_from")?{type:"kw_from"}:kw_from,"expr_nostar"]},{name:"spe_overlay$ebnf$1$subexpression$1",symbols:[r.lexerAny.has("kw_for")?{type:"kw_for"}:kw_for,"expr_nostar"]},{name:"spe_overlay$ebnf$1",symbols:["spe_overlay$ebnf$1$subexpression$1"],postprocess:l},{name:"spe_overlay$ebnf$1",symbols:[],postprocess:()=>null},{name:"spe_overlay",symbols:["spe_overlay$subexpression$1","spe_overlay$subexpression$2","spe_overlay$subexpression$3","spe_overlay$subexpression$4","spe_overlay$ebnf$1",r.lexerAny.has("rparen")?{type:"rparen"}:rparen],postprocess:e=>(0,n.track)(e,{type:"overlay",value:e[1][1],placing:e[2][1],from:e[3][1],...e[4]&&{for:e[4][1]}})},{name:"spe_substring$subexpression$1",symbols:["word"],postprocess:k("substring")},{name:"spe_substring$subexpression$2",symbols:[r.lexerAny.has("lparen")?{type:"lparen"}:lparen,"expr_nostar"]},{name:"spe_substring$ebnf$1$subexpression$1",symbols:[r.lexerAny.has("kw_from")?{type:"kw_from"}:kw_from,"expr_nostar"]},{name:"spe_substring$ebnf$1",symbols:["spe_substring$ebnf$1$subexpression$1"],postprocess:l},{name:"spe_substring$ebnf$1",symbols:[],postprocess:()=>null},{name:"spe_substring$ebnf$2$subexpression$1",symbols:[r.lexerAny.has("kw_for")?{type:"kw_for"}:kw_for,"expr_nostar"]},{name:"spe_substring$ebnf$2",symbols:["spe_substring$ebnf$2$subexpression$1"],postprocess:l},{name:"spe_substring$ebnf$2",symbols:[],postprocess:()=>null},{name:"spe_substring",symbols:["spe_substring$subexpression$1","spe_substring$subexpression$2","spe_substring$ebnf$1","spe_substring$ebnf$2",r.lexerAny.has("rparen")?{type:"rparen"}:rparen],postprocess:e=>(0,n.track)(e,{type:"substring",value:e[1][1],...e[2]&&{from:e[2][1]},...e[3]&&{for:e[3][1]}})},{name:"various_binaries",symbols:["kw_at","kw_time","kw_zone"],postprocess:()=>"AT TIME ZONE"},{name:"createtable_statement$ebnf$1",symbols:["createtable_modifiers"],postprocess:l},{name:"createtable_statement$ebnf$1",symbols:[],postprocess:()=>null},{name:"createtable_statement$ebnf$2",symbols:["kw_ifnotexists"],postprocess:l},{name:"createtable_statement$ebnf$2",symbols:[],postprocess:()=>null},{name:"createtable_statement$ebnf$3",symbols:["createtable_opts"],postprocess:l},{name:"createtable_statement$ebnf$3",symbols:[],postprocess:()=>null},{name:"createtable_statement",symbols:[r.lexerAny.has("kw_create")?{type:"kw_create"}:kw_create,"createtable_statement$ebnf$1",r.lexerAny.has("kw_table")?{type:"kw_table"}:kw_table,"createtable_statement$ebnf$2","qname","lparen","createtable_declarationlist","rparen","createtable_statement$ebnf$3"],postprocess:e=>{const o=e[6].filter(c=>"kind"in c),t=e[6].filter(c=>!("kind"in c));return(0,n.track)(e,{type:"create table",...e[3]?{ifNotExists:!0}:{},name:e[4],columns:o,...s(e[1]),...t.length?{constraints:t}:{},...i(e)})}},{name:"createtable_modifiers",symbols:["kw_unlogged"],postprocess:e=>e[0]?{unlogged:!0}:{}},{name:"createtable_modifiers",symbols:["m_locglob"]},{name:"createtable_modifiers",symbols:["m_tmp"]},{name:"createtable_modifiers",symbols:["m_locglob","m_tmp"],postprocess:([e,o])=>({...e,...o})},{name:"m_locglob$subexpression$1",symbols:["kw_local"]},{name:"m_locglob$subexpression$1",symbols:["kw_global"]},{name:"m_locglob",symbols:["m_locglob$subexpression$1"],postprocess:e=>({locality:d(e)})},{name:"m_tmp$subexpression$1",symbols:["kw_temp"]},{name:"m_tmp$subexpression$1",symbols:["kw_temporary"]},{name:"m_tmp",symbols:["m_tmp$subexpression$1"],postprocess:e=>({temporary:!0})},{name:"createtable_declarationlist$ebnf$1",symbols:[]},{name:"createtable_declarationlist$ebnf$1$subexpression$1",symbols:["comma","createtable_declaration"],postprocess:i},{name:"createtable_declarationlist$ebnf$1",symbols:["createtable_declarationlist$ebnf$1","createtable_declarationlist$ebnf$1$subexpression$1"],postprocess:e=>e[0].concat([e[1]])},{name:"createtable_declarationlist",symbols:["createtable_declaration","createtable_declarationlist$ebnf$1"],postprocess:([e,o])=>[e,...o||[]]},{name:"createtable_declaration$subexpression$1",symbols:["createtable_constraint"]},{name:"createtable_declaration$subexpression$1",symbols:["createtable_column"]},{name:"createtable_declaration$subexpression$1",symbols:["createtable_like"]},{name:"createtable_declaration",symbols:["createtable_declaration$subexpression$1"],postprocess:s},{name:"createtable_constraint$macrocall$2",symbols:["createtable_constraint_def"]},{name:"createtable_constraint$macrocall$1$ebnf$1$subexpression$1",symbols:[r.lexerAny.has("kw_constraint")?{type:"kw_constraint"}:kw_constraint,"word"]},{name:"createtable_constraint$macrocall$1$ebnf$1",symbols:["createtable_constraint$macrocall$1$ebnf$1$subexpression$1"],postprocess:l},{name:"createtable_constraint$macrocall$1$ebnf$1",symbols:[],postprocess:()=>null},{name:"createtable_constraint$macrocall$1",symbols:["createtable_constraint$macrocall$1$ebnf$1","createtable_constraint$macrocall$2"],postprocess:e=>{const o=e[0]&&u(e[0][1]);return o?(0,n.track)(e,{constraintName:o,...s(e[1])}):(0,n.track)(e,s(e[1]))}},{name:"createtable_constraint",symbols:["createtable_constraint$macrocall$1"],postprocess:s},{name:"createtable_constraint_def",symbols:["createtable_constraint_def_unique"]},{name:"createtable_constraint_def",symbols:["createtable_constraint_def_check"]},{name:"createtable_constraint_def",symbols:["createtable_constraint_foreignkey"]},{name:"createtable_constraint_def_unique$subexpression$1",symbols:[r.lexerAny.has("kw_unique")?{type:"kw_unique"}:kw_unique]},{name:"createtable_constraint_def_unique$subexpression$1",symbols:["kw_primary_key"]},{name:"createtable_constraint_def_unique",symbols:["createtable_constraint_def_unique$subexpression$1","lparen","createtable_collist","rparen"],postprocess:e=>(0,n.track)(e,{type:d(e[0]," "),columns:e[2].map(u)})},{name:"createtable_constraint_def_check",symbols:[r.lexerAny.has("kw_check")?{type:"kw_check"}:kw_check,"expr_paren"],postprocess:e=>(0,n.track)(e,{type:"check",expr:s(e[1])})},{name:"createtable_constraint_foreignkey",symbols:[r.lexerAny.has("kw_foreign")?{type:"kw_foreign"}:kw_foreign,"kw_key","collist_paren","createtable_references"],postprocess:e=>(0,n.track)(e,{type:"foreign key",localColumns:e[2].map(u),...e[3]})},{name:"createtable_references$ebnf$1",symbols:[]},{name:"createtable_references$ebnf$1",symbols:["createtable_references$ebnf$1","createtable_constraint_foreignkey_onsometing"],postprocess:e=>e[0].concat([e[1]])},{name:"createtable_references",symbols:[r.lexerAny.has("kw_references")?{type:"kw_references"}:kw_references,"table_ref","collist_paren","createtable_references$ebnf$1"],postprocess:e=>(0,n.track)(e,{foreignTable:s(e[1]),foreignColumns:e[2].map(u),...e[3].reduce((o,t)=>({...o,...t}),{})})},{name:"createtable_constraint_foreignkey_onsometing",symbols:[r.lexerAny.has("kw_on")?{type:"kw_on"}:kw_on,"kw_delete","createtable_constraint_on_action"],postprocess:e=>(0,n.track)(e,{onDelete:i(e)})},{name:"createtable_constraint_foreignkey_onsometing",symbols:[r.lexerAny.has("kw_on")?{type:"kw_on"}:kw_on,"kw_update","createtable_constraint_on_action"],postprocess:e=>(0,n.track)(e,{onUpdate:i(e)})},{name:"createtable_constraint_foreignkey_onsometing$subexpression$1",symbols:[r.lexerAny.has("kw_full")?{type:"kw_full"}:kw_full]},{name:"createtable_constraint_foreignkey_onsometing$subexpression$1",symbols:["kw_partial"]},{name:"createtable_constraint_foreignkey_onsometing$subexpression$1",symbols:["kw_simple"]},{name:"createtable_constraint_foreignkey_onsometing",symbols:["kw_match","createtable_constraint_foreignkey_onsometing$subexpression$1"],postprocess:e=>(0,n.track)(e,{match:d(i(e))})},{name:"createtable_constraint_on_action$subexpression$1",symbols:["kw_cascade"]},{name:"createtable_constraint_on_action$subexpression$1$subexpression$1",symbols:["kw_no","kw_action"]},{name:"createtable_constraint_on_action$subexpression$1",symbols:["createtable_constraint_on_action$subexpression$1$subexpression$1"]},{name:"createtable_constraint_on_action$subexpression$1",symbols:["kw_restrict"]},{name:"createtable_constraint_on_action$subexpression$1$subexpression$2",symbols:[r.lexerAny.has("kw_null")?{type:"kw_null"}:kw_null]},{name:"createtable_constraint_on_action$subexpression$1$subexpression$2",symbols:[r.lexerAny.has("kw_default")?{type:"kw_default"}:kw_default]},{name:"createtable_constraint_on_action$subexpression$1",symbols:["kw_set","createtable_constraint_on_action$subexpression$1$subexpression$2"]},{name:"createtable_constraint_on_action",symbols:["createtable_constraint_on_action$subexpression$1"],postprocess:e=>d(e," ")},{name:"createtable_collist$ebnf$1",symbols:[]},{name:"createtable_collist$ebnf$1$subexpression$1",symbols:["comma","ident"],postprocess:i},{name:"createtable_collist$ebnf$1",symbols:["createtable_collist$ebnf$1","createtable_collist$ebnf$1$subexpression$1"],postprocess:e=>e[0].concat([e[1]])},{name:"createtable_collist",symbols:["ident","createtable_collist$ebnf$1"],postprocess:([e,o])=>[e,...o||[]]},{name:"createtable_column$ebnf$1",symbols:["createtable_collate"],postprocess:l},{name:"createtable_column$ebnf$1",symbols:[],postprocess:()=>null},{name:"createtable_column$ebnf$2",symbols:[]},{name:"createtable_column$ebnf$2",symbols:["createtable_column$ebnf$2","createtable_column_constraint"],postprocess:e=>e[0].concat([e[1]])},{name:"createtable_column",symbols:["word","data_type","createtable_column$ebnf$1","createtable_column$ebnf$2"],postprocess:e=>(0,n.track)(e,{kind:"column",name:u(e[0]),dataType:e[1],...e[2]?{collate:e[2][1]}:{},...e[3]&&e[3].length?{constraints:e[3]}:{}})},{name:"createtable_like$ebnf$1",symbols:[]},{name:"createtable_like$ebnf$1",symbols:["createtable_like$ebnf$1","createtable_like_opt"],postprocess:e=>e[0].concat([e[1]])},{name:"createtable_like",symbols:[r.lexerAny.has("kw_like")?{type:"kw_like"}:kw_like,"qname","createtable_like$ebnf$1"],postprocess:e=>(0,n.track)(e,{kind:"like table",like:e[1],options:e[2]})},{name:"createtable_like_opt$subexpression$1",symbols:["kw_including"]},{name:"createtable_like_opt$subexpression$1",symbols:["kw_excluding"]},{name:"createtable_like_opt",symbols:["createtable_like_opt$subexpression$1","createtable_like_opt_val"],postprocess:e=>(0,n.track)(e,{verb:d(e[0]),option:d(e[1])})},{name:"createtable_like_opt_val",symbols:["word"],postprocess:v("defaults","constraints","indexes","storage","comments")},{name:"createtable_like_opt_val",symbols:[r.lexerAny.has("kw_all")?{type:"kw_all"}:kw_all]},{name:"createtable_column_constraint$macrocall$2",symbols:["createtable_column_constraint_def"]},{name:"createtable_column_constraint$macrocall$1$ebnf$1$subexpression$1",symbols:[r.lexerAny.has("kw_constraint")?{type:"kw_constraint"}:kw_constraint,"word"]},{name:"createtable_column_constraint$macrocall$1$ebnf$1",symbols:["createtable_column_constraint$macrocall$1$ebnf$1$subexpression$1"],postprocess:l},{name:"createtable_column_constraint$macrocall$1$ebnf$1",symbols:[],postprocess:()=>null},{name:"createtable_column_constraint$macrocall$1",symbols:["createtable_column_constraint$macrocall$1$ebnf$1","createtable_column_constraint$macrocall$2"],postprocess:e=>{const o=e[0]&&u(e[0][1]);return o?(0,n.track)(e,{constraintName:o,...s(e[1])}):(0,n.track)(e,s(e[1]))}},{name:"createtable_column_constraint",symbols:["createtable_column_constraint$macrocall$1"],postprocess:s},{name:"createtable_column_constraint_def",symbols:[r.lexerAny.has("kw_unique")?{type:"kw_unique"}:kw_unique],postprocess:e=>(0,n.track)(e,{type:"unique"})},{name:"createtable_column_constraint_def",symbols:["kw_primary_key"],postprocess:e=>(0,n.track)(e,{type:"primary key"})},{name:"createtable_column_constraint_def",symbols:["kw_not_null"],postprocess:e=>(0,n.track)(e,{type:"not null"})},{name:"createtable_column_constraint_def",symbols:[r.lexerAny.has("kw_null")?{type:"kw_null"}:kw_null],postprocess:e=>(0,n.track)(e,{type:"null"})},{name:"createtable_column_constraint_def",symbols:[r.lexerAny.has("kw_default")?{type:"kw_default"}:kw_default,"expr"],postprocess:e=>(0,n.track)(e,{type:"default",default:s(e[1])})},{name:"createtable_column_constraint_def",symbols:[r.lexerAny.has("kw_check")?{type:"kw_check"}:kw_check,"expr_paren"],postprocess:e=>(0,n.track)(e,{type:"check",expr:s(e[1])})},{name:"createtable_column_constraint_def",symbols:["createtable_references"],postprocess:e=>(0,n.track)(e,{type:"reference",...s(e)})},{name:"createtable_column_constraint_def",symbols:["altercol_generated"]},{name:"createtable_collate",symbols:[r.lexerAny.has("kw_collate")?{type:"kw_collate"}:kw_collate,"qualified_name"]},{name:"createtable_opts$subexpression$1",symbols:["word"],postprocess:k("inherits")},{name:"createtable_opts$macrocall$2",symbols:["qname"]},{name:"createtable_opts$macrocall$1$ebnf$1",symbols:[]},{name:"createtable_opts$macrocall$1$ebnf$1$subexpression$1",symbols:[r.lexerAny.has("comma")?{type:"comma"}:comma,"createtable_opts$macrocall$2"],postprocess:i},{name:"createtable_opts$macrocall$1$ebnf$1",symbols:["createtable_opts$macrocall$1$ebnf$1","createtable_opts$macrocall$1$ebnf$1$subexpression$1"],postprocess:e=>e[0].concat([e[1]])},{name:"createtable_opts$macrocall$1",symbols:["createtable_opts$macrocall$2","createtable_opts$macrocall$1$ebnf$1"],postprocess:([e,o])=>[s(e),...o.map(s)||[]]},{name:"createtable_opts",symbols:["createtable_opts$subexpression$1","lparen","createtable_opts$macrocall$1","rparen"],postprocess:e=>(0,n.track)(e,{inherits:e[2]})},{name:"createindex_statement$ebnf$1",symbols:[r.lexerAny.has("kw_unique")?{type:"kw_unique"}:kw_unique],postprocess:l},{name:"createindex_statement$ebnf$1",symbols:[],postprocess:()=>null},{name:"createindex_statement$ebnf$2",symbols:[r.lexerAny.has("kw_concurrently")?{type:"kw_concurrently"}:kw_concurrently],postprocess:l},{name:"createindex_statement$ebnf$2",symbols:[],postprocess:()=>null},{name:"createindex_statement$ebnf$3",symbols:["kw_ifnotexists"],postprocess:l},{name:"createindex_statement$ebnf$3",symbols:[],postprocess:()=>null},{name:"createindex_statement$ebnf$4",symbols:["word"],postprocess:l},{name:"createindex_statement$ebnf$4",symbols:[],postprocess:()=>null},{name:"createindex_statement$ebnf$5$subexpression$1",symbols:[r.lexerAny.has("kw_using")?{type:"kw_using"}:kw_using,"ident"],postprocess:i},{name:"createindex_statement$ebnf$5",symbols:["createindex_statement$ebnf$5$subexpression$1"],postprocess:l},{name:"createindex_statement$ebnf$5",symbols:[],postprocess:()=>null},{name:"createindex_statement$ebnf$6",symbols:["createindex_with"],postprocess:l},{name:"createindex_statement$ebnf$6",symbols:[],postprocess:()=>null},{name:"createindex_statement$ebnf$7",symbols:["createindex_tblspace"],postprocess:l},{name:"createindex_statement$ebnf$7",symbols:[],postprocess:()=>null},{name:"createindex_statement$ebnf$8",symbols:["createindex_predicate"],postprocess:l},{name:"createindex_statement$ebnf$8",symbols:[],postprocess:()=>null},{name:"createindex_statement",symbols:[r.lexerAny.has("kw_create")?{type:"kw_create"}:kw_create,"createindex_statement$ebnf$1","kw_index","createindex_statement$ebnf$2","createindex_statement$ebnf$3","createindex_statement$ebnf$4",r.lexerAny.has("kw_on")?{type:"kw_on"}:kw_on,"table_ref","createindex_statement$ebnf$5","lparen","createindex_expressions","rparen","createindex_statement$ebnf$6","createindex_statement$ebnf$7","createindex_statement$ebnf$8"],postprocess:e=>(0,n.track)(e,{type:"create index",...e[1]&&{unique:!0},...e[3]&&{concurrently:!0},...e[4]&&{ifNotExists:!0},...e[5]&&{indexName:u(e[5])},table:e[7],...e[8]&&{using:u(e[8])},expressions:e[10],...e[12]&&{with:e[12]},...e[13]&&{tablespace:s(e[13])},...e[14]&&{where:s(e[14])}})},{name:"createindex_expressions$ebnf$1",symbols:[]},{name:"createindex_expressions$ebnf$1$subexpression$1",symbols:["comma","createindex_expression"],postprocess:i},{name:"createindex_expressions$ebnf$1",symbols:["createindex_expressions$ebnf$1","createindex_expressions$ebnf$1$subexpression$1"],postprocess:e=>e[0].concat([e[1]])},{name:"createindex_expressions",symbols:["createindex_expression","createindex_expressions$ebnf$1"],postprocess:([e,o])=>[e,...o||[]]},{name:"createindex_expression$subexpression$1",symbols:["expr_basic"]},{name:"createindex_expression$subexpression$1",symbols:["expr_paren"]},{name:"createindex_expression$ebnf$1$subexpression$1",symbols:[r.lexerAny.has("kw_collate")?{type:"kw_collate"}:kw_collate,"qualified_name"],postprocess:i},{name:"createindex_expression$ebnf$1",symbols:["createindex_expression$ebnf$1$subexpression$1"],postprocess:l},{name:"createindex_expression$ebnf$1",symbols:[],postprocess:()=>null},{name:"createindex_expression$ebnf$2",symbols:["qualified_name"],postprocess:l},{name:"createindex_expression$ebnf$2",symbols:[],postprocess:()=>null},{name:"createindex_expression$ebnf$3$subexpression$1",symbols:[r.lexerAny.has("kw_asc")?{type:"kw_asc"}:kw_asc]},{name:"createindex_expression$ebnf$3$subexpression$1",symbols:[r.lexerAny.has("kw_desc")?{type:"kw_desc"}:kw_desc]},{name:"createindex_expression$ebnf$3",symbols:["createindex_expression$ebnf$3$subexpression$1"],postprocess:l},{name:"createindex_expression$ebnf$3",symbols:[],postprocess:()=>null},{name:"createindex_expression$ebnf$4$subexpression$1$subexpression$1",symbols:["kw_first"]},{name:"createindex_expression$ebnf$4$subexpression$1$subexpression$1",symbols:["kw_last"]},{name:"createindex_expression$ebnf$4$subexpression$1",symbols:["kw_nulls","createindex_expression$ebnf$4$subexpression$1$subexpression$1"],postprocess:i},{name:"createindex_expression$ebnf$4",symbols:["createindex_expression$ebnf$4$subexpression$1"],postprocess:l},{name:"createindex_expression$ebnf$4",symbols:[],postprocess:()=>null},{name:"createindex_expression",symbols:["createindex_expression$subexpression$1","createindex_expression$ebnf$1","createindex_expression$ebnf$2","createindex_expression$ebnf$3","createindex_expression$ebnf$4"],postprocess:e=>(0,n.track)(e,{expression:s(e[0]),...e[1]&&{collate:s(e[1])},...e[2]&&{opclass:s(e[2])},...e[3]&&{order:s(e[3]).value},...e[4]&&{nulls:s(e[4])}})},{name:"createindex_predicate",symbols:[r.lexerAny.has("kw_where")?{type:"kw_where"}:kw_where,"expr"],postprocess:i},{name:"createindex_with$macrocall$2",symbols:["createindex_with_item"]},{name:"createindex_with$macrocall$1$ebnf$1",symbols:[]},{name:"createindex_with$macrocall$1$ebnf$1$subexpression$1",symbols:[r.lexerAny.has("comma")?{type:"comma"}:comma,"createindex_with$macrocall$2"],postprocess:i},{name:"createindex_with$macrocall$1$ebnf$1",symbols:["createindex_with$macrocall$1$ebnf$1","createindex_with$macrocall$1$ebnf$1$subexpression$1"],postprocess:e=>e[0].concat([e[1]])},{name:"createindex_with$macrocall$1",symbols:["createindex_with$macrocall$2","createindex_with$macrocall$1$ebnf$1"],postprocess:([e,o])=>[s(e),...o.map(s)||[]]},{name:"createindex_with",symbols:[r.lexerAny.has("kw_with")?{type:"kw_with"}:kw_with,"lparen","createindex_with$macrocall$1","rparen"],postprocess:$(2)},{name:"createindex_with_item$subexpression$1",symbols:["string"]},{name:"createindex_with_item$subexpression$1",symbols:["int"]},{name:"createindex_with_item",symbols:["ident",r.lexerAny.has("op_eq")?{type:"op_eq"}:op_eq,"createindex_with_item$subexpression$1"],postprocess:e=>(0,n.track)(e,{parameter:d(e[0]),value:s(e[2]).toString()})},{name:"createindex_tblspace",symbols:["kw_tablespace","ident"],postprocess:i},{name:"createextension_statement$ebnf$1",symbols:["kw_ifnotexists"],postprocess:l},{name:"createextension_statement$ebnf$1",symbols:[],postprocess:()=>null},{name:"createextension_statement$ebnf$2",symbols:[r.lexerAny.has("kw_with")?{type:"kw_with"}:kw_with],postprocess:l},{name:"createextension_statement$ebnf$2",symbols:[],postprocess:()=>null},{name:"createextension_statement$ebnf$3$subexpression$1",symbols:["kw_schema","word"],postprocess:i},{name:"createextension_statement$ebnf$3",symbols:["createextension_statement$ebnf$3$subexpression$1"],postprocess:l},{name:"createextension_statement$ebnf$3",symbols:[],postprocess:()=>null},{name:"createextension_statement$ebnf$4$subexpression$1",symbols:["kw_version","string"],postprocess:i},{name:"createextension_statement$ebnf$4",symbols:["createextension_statement$ebnf$4$subexpression$1"],postprocess:l},{name:"createextension_statement$ebnf$4",symbols:[],postprocess:()=>null},{name:"createextension_statement$ebnf$5$subexpression$1",symbols:[r.lexerAny.has("kw_from")?{type:"kw_from"}:kw_from,"string"],postprocess:i},{name:"createextension_statement$ebnf$5",symbols:["createextension_statement$ebnf$5$subexpression$1"],postprocess:l},{name:"createextension_statement$ebnf$5",symbols:[],postprocess:()=>null},{name:"createextension_statement",symbols:[r.lexerAny.has("kw_create")?{type:"kw_create"}:kw_create,"kw_extension","createextension_statement$ebnf$1","word","createextension_statement$ebnf$2","createextension_statement$ebnf$3","createextension_statement$ebnf$4","createextension_statement$ebnf$5"],postprocess:e=>(0,n.track)(e,{type:"create extension",...e[2]?{ifNotExists:!0}:{},extension:u(e[3]),...e[5]?{schema:u(e[5])}:{},...e[6]?{version:x(e[6])}:{},...e[7]?{from:x(e[7])}:{}})},{name:"simplestatements_all",symbols:["simplestatements_start_transaction"]},{name:"simplestatements_all",symbols:["simplestatements_commit"]},{name:"simplestatements_all",symbols:["simplestatements_rollback"]},{name:"simplestatements_all",symbols:["simplestatements_tablespace"]},{name:"simplestatements_all",symbols:["simplestatements_set"]},{name:"simplestatements_all",symbols:["simplestatements_show"]},{name:"simplestatements_all",symbols:["simplestatements_begin"]},{name:"simplestatements_start_transaction$subexpression$1",symbols:["kw_start","kw_transaction"]},{name:"simplestatements_start_transaction",symbols:["simplestatements_start_transaction$subexpression$1"],postprocess:e=>(0,n.track)(e,{type:"start transaction"})},{name:"simplestatements_commit",symbols:["kw_commit"],postprocess:e=>(0,n.track)(e,{type:"commit"})},{name:"simplestatements_rollback",symbols:["kw_rollback"],postprocess:e=>(0,n.track)(e,{type:"rollback"})},{name:"simplestatements_tablespace",symbols:["kw_tablespace","word"],postprocess:e=>(0,n.track)(e,{type:"tablespace",tablespace:u(e[1])})},{name:"simplestatements_set$subexpression$1",symbols:["simplestatements_set_simple"]},{name:"simplestatements_set$subexpression$1",symbols:["simplestatements_set_timezone"]},{name:"simplestatements_set$subexpression$1",symbols:["simplestatements_set_names"]},{name:"simplestatements_set",symbols:["kw_set","simplestatements_set$subexpression$1"],postprocess:i},{name:"simplestatements_set_timezone",symbols:["kw_time","kw_zone","simplestatements_set_timezone_val"],postprocess:e=>(0,n.track)(e,{type:"set timezone",to:e[2]})},{name:"simplestatements_set_timezone_val$subexpression$1",symbols:["string"]},{name:"simplestatements_set_timezone_val$subexpression$1",symbols:["int"]},{name:"simplestatements_set_timezone_val",symbols:["simplestatements_set_timezone_val$subexpression$1"],postprocess:e=>(0,n.track)(e,{type:"value",value:s(e[0])})},{name:"simplestatements_set_timezone_val",symbols:["kw_local"],postprocess:e=>(0,n.track)(e,{type:"local"})},{name:"simplestatements_set_timezone_val",symbols:[r.lexerAny.has("kw_default")?{type:"kw_default"}:kw_default],postprocess:e=>(0,n.track)(e,{type:"default"})},{name:"simplestatements_set_timezone_val",symbols:["kw_interval","string","kw_hour",r.lexerAny.has("kw_to")?{type:"kw_to"}:kw_to,"kw_minute"],postprocess:e=>(0,n.track)(e,{type:"interval",value:(0,n.unbox)(e[1])})},{name:"simplestatements_set_names",symbols:["kw_names","simplestatements_set_names_val"],postprocess:e=>(0,n.track)(e,{type:"set names",to:e[1]})},{name:"simplestatements_set_names_val$subexpression$1",symbols:["string"]},{name:"simplestatements_set_names_val",symbols:["simplestatements_set_names_val$subexpression$1"],postprocess:e=>(0,n.track)(e,{type:"value",value:s(e[0])})},{name:"simplestatements_set_simple$ebnf$1$subexpression$1",symbols:["kw_local"]},{name:"simplestatements_set_simple$ebnf$1$subexpression$1",symbols:["kw_session"]},{name:"simplestatements_set_simple$ebnf$1",symbols:["simplestatements_set_simple$ebnf$1$subexpression$1"],postprocess:l},{name:"simplestatements_set_simple$ebnf$1",symbols:[],postprocess:()=>null},{name:"simplestatements_set_simple$subexpression$1",symbols:[r.lexerAny.has("op_eq")?{type:"op_eq"}:op_eq]},{name:"simplestatements_set_simple$subexpression$1",symbols:[r.lexerAny.has("kw_to")?{type:"kw_to"}:kw_to]},{name:"simplestatements_set_simple",symbols:["simplestatements_set_simple$ebnf$1","ident","simplestatements_set_simple$subexpression$1","simplestatements_set_val"],postprocess:e=>{var o;return(0,n.track)(e,{type:"set",variable:u(e[1]),scope:(o=s(e[0]))===null||o===void 0?void 0:o.toLowerCase(),set:(0,n.unbox)(e[3])})}},{name:"simplestatements_set_val",symbols:["simplestatements_set_val_raw"],postprocess:s},{name:"simplestatements_set_val",symbols:[r.lexerAny.has("kw_default")?{type:"kw_default"}:kw_default],postprocess:e=>(0,n.track)(e,{type:"default"})},{name:"simplestatements_set_val$ebnf$1$subexpression$1",symbols:["comma","simplestatements_set_val_raw"]},{name:"simplestatements_set_val$ebnf$1",symbols:["simplestatements_set_val$ebnf$1$subexpression$1"]},{name:"simplestatements_set_val$ebnf$1$subexpression$2",symbols:["comma","simplestatements_set_val_raw"]},{name:"simplestatements_set_val$ebnf$1",symbols:["simplestatements_set_val$ebnf$1","simplestatements_set_val$ebnf$1$subexpression$2"],postprocess:e=>e[0].concat([e[1]])},{name:"simplestatements_set_val",symbols:["simplestatements_set_val_raw","simplestatements_set_val$ebnf$1"],postprocess:e=>(0,n.track)(e,{type:"list",values:[e[0],...e[1]||[]]})},{name:"simplestatements_set_val_raw$subexpression$1",symbols:["string"]},{name:"simplestatements_set_val_raw$subexpression$1",symbols:["int"]},{name:"simplestatements_set_val_raw",symbols:["simplestatements_set_val_raw$subexpression$1"],postprocess:e=>(0,n.track)(e,{type:"value",value:s(e)})},{name:"simplestatements_set_val_raw$subexpression$2",symbols:[r.lexerAny.has("word")?{type:"word"}:word]},{name:"simplestatements_set_val_raw$subexpression$2",symbols:[r.lexerAny.has("kw_on")?{type:"kw_on"}:kw_on]},{name:"simplestatements_set_val_raw$subexpression$2",symbols:[r.lexerAny.has("kw_true")?{type:"kw_true"}:kw_true]},{name:"simplestatements_set_val_raw$subexpression$2",symbols:[r.lexerAny.has("kw_false")?{type:"kw_false"}:kw_false]},{name:"simplestatements_set_val_raw",symbols:["simplestatements_set_val_raw$subexpression$2"],postprocess:e=>(0,n.track)(e,{type:"identifier",name:s(e).value})},{name:"simplestatements_set_val_raw",symbols:[r.lexerAny.has("quoted_word")?{type:"quoted_word"}:quoted_word],postprocess:e=>(0,n.track)(e,{type:"identifier",doubleQuoted:!0,name:s(e).value})},{name:"simplestatements_show",symbols:["kw_show","ident"],postprocess:e=>(0,n.track)(e,{type:"show",variable:u(e[1])})},{name:"create_schema$subexpression$1",symbols:[r.lexerAny.has("kw_create")?{type:"kw_create"}:kw_create,"kw_schema"]},{name:"create_schema$ebnf$1",symbols:["kw_ifnotexists"],postprocess:l},{name:"create_schema$ebnf$1",symbols:[],postprocess:()=>null},{name:"create_schema",symbols:["create_schema$subexpression$1","create_schema$ebnf$1","ident"],postprocess:e=>(0,n.track)(e,{type:"create schema",name:u(e[2]),...e[1]?{ifNotExists:!0}:{}})},{name:"raise_statement$ebnf$1$subexpression$1",symbols:[r.lexerAny.has("word")?{type:"word"}:word],postprocess:v("debug","log","info","notice","warning","exception")},{name:"raise_statement$ebnf$1",symbols:["raise_statement$ebnf$1$subexpression$1"],postprocess:l},{name:"raise_statement$ebnf$1",symbols:[],postprocess:()=>null},{name:"raise_statement$ebnf$2$subexpression$1",symbols:["comma","expr_list_raw"],postprocess:i},{name:"raise_statement$ebnf$2",symbols:["raise_statement$ebnf$2$subexpression$1"],postprocess:l},{name:"raise_statement$ebnf$2",symbols:[],postprocess:()=>null},{name:"raise_statement$ebnf$3",symbols:["raise_using"],postprocess:l},{name:"raise_statement$ebnf$3",symbols:[],postprocess:()=>null},{name:"raise_statement",symbols:["kw_raise","raise_statement$ebnf$1","string","raise_statement$ebnf$2","raise_statement$ebnf$3"],postprocess:e=>(0,n.track)(e,{type:"raise",format:d(e[2]),...e[1]&&{level:d(e[1])},...e[3]&&e[3].length&&{formatExprs:e[3]},...e[4]&&e[4].length&&{using:e[4]}})},{name:"raise_using$macrocall$2",symbols:["raise_using_one"]},{name:"raise_using$macrocall$1$ebnf$1",symbols:[]},{name:"raise_using$macrocall$1$ebnf$1$subexpression$1",symbols:[r.lexerAny.has("comma")?{type:"comma"}:comma,"raise_using$macrocall$2"],postprocess:i},{name:"raise_using$macrocall$1$ebnf$1",symbols:["raise_using$macrocall$1$ebnf$1","raise_using$macrocall$1$ebnf$1$subexpression$1"],postprocess:e=>e[0].concat([e[1]])},{name:"raise_using$macrocall$1",symbols:["raise_using$macrocall$2","raise_using$macrocall$1$ebnf$1"],postprocess:([e,o])=>[s(e),...o.map(s)||[]]},{name:"raise_using",symbols:[r.lexerAny.has("kw_using")?{type:"kw_using"}:kw_using,"raise_using$macrocall$1"],postprocess:i},{name:"raise_using_one",symbols:["raise_using_what",r.lexerAny.has("op_eq")?{type:"op_eq"}:op_eq,"expr"],postprocess:e=>(0,n.track)(e,{type:d(e[0]),value:e[2]})},{name:"raise_using_what",symbols:[r.lexerAny.has("kw_table")?{type:"kw_table"}:kw_table]},{name:"raise_using_what",symbols:[r.lexerAny.has("word")?{type:"word"}:word],postprocess:v("message","detail","hint","errcode","column","constraint","datatype","schema")},{name:"comment_statement",symbols:["kw_comment",r.lexerAny.has("kw_on")?{type:"kw_on"}:kw_on,"comment_what",r.lexerAny.has("kw_is")?{type:"kw_is"}:kw_is,"string"],postprocess:e=>(0,n.track)(e,{type:"comment",comment:(0,n.unbox)(i(e)),on:s(e[2])})},{name:"comment_what",symbols:["comment_what_col"]},{name:"comment_what",symbols:["comment_what_nm"]},{name:"comment_what_nm$subexpression$1",symbols:[r.lexerAny.has("kw_table")?{type:"kw_table"}:kw_table]},{name:"comment_what_nm$subexpression$1",symbols:["kw_materialized","kw_view"]},{name:"comment_what_nm$subexpression$1",symbols:[r.lexerAny.has("word")?{type:"word"}:word],postprocess:v("database","index","trigger","type","view")},{name:"comment_what_nm",symbols:["comment_what_nm$subexpression$1","qualified_name"],postprocess:e=>(0,n.track)(e,{type:d(e[0]),name:e[1]})},{name:"comment_what_col",symbols:["kw_column","qcolumn"],postprocess:e=>(0,n.track)(e,{type:"column",column:i(e)})},{name:"simplestatements_begin$ebnf$1$subexpression$1",symbols:["kw_transaction"]},{name:"simplestatements_begin$ebnf$1$subexpression$1",symbols:["kw_work"]},{name:"simplestatements_begin$ebnf$1",symbols:["simplestatements_begin$ebnf$1$subexpression$1"],postprocess:l},{name:"simplestatements_begin$ebnf$1",symbols:[],postprocess:()=>null},{name:"simplestatements_begin$ebnf$2",symbols:[]},{name:"simplestatements_begin$ebnf$2$subexpression$1",symbols:["simplestatements_begin_isol"]},{name:"simplestatements_begin$ebnf$2$subexpression$1",symbols:["simplestatements_begin_writ"]},{name:"simplestatements_begin$ebnf$2$subexpression$1",symbols:["simplestatements_begin_def"]},{name:"simplestatements_begin$ebnf$2",symbols:["simplestatements_begin$ebnf$2","simplestatements_begin$ebnf$2$subexpression$1"],postprocess:e=>e[0].concat([e[1]])},{name:"simplestatements_begin",symbols:["kw_begin","simplestatements_begin$ebnf$1","simplestatements_begin$ebnf$2"],postprocess:e=>(0,n.track)(e,{type:"begin",...e[2].reduce((o,t)=>({...s(o),...s(t)}),{})})},{name:"simplestatements_begin_isol$subexpression$1",symbols:["kw_isolation","kw_level"]},{name:"simplestatements_begin_isol$subexpression$2",symbols:["kw_serializable"]},{name:"simplestatements_begin_isol$subexpression$2$subexpression$1",symbols:["word"],postprocess:k("repeatable")},{name:"simplestatements_begin_isol$subexpression$2",symbols:["simplestatements_begin_isol$subexpression$2$subexpression$1","kw_read"]},{name:"simplestatements_begin_isol$subexpression$2$subexpression$2",symbols:["word"],postprocess:k("committed")},{name:"simplestatements_begin_isol$subexpression$2",symbols:["kw_read","simplestatements_begin_isol$subexpression$2$subexpression$2"]},{name:"simplestatements_begin_isol$subexpression$2$subexpression$3",symbols:["word"],postprocess:k("uncommitted")},{name:"simplestatements_begin_isol$subexpression$2",symbols:["kw_read","simplestatements_begin_isol$subexpression$2$subexpression$3"]},{name:"simplestatements_begin_isol",symbols:["simplestatements_begin_isol$subexpression$1","simplestatements_begin_isol$subexpression$2"],postprocess:e=>(0,n.track)(e,{isolationLevel:d(e[1]," ")})},{name:"simplestatements_begin_writ$subexpression$1",symbols:["kw_read","kw_write"]},{name:"simplestatements_begin_writ$subexpression$1",symbols:["kw_read",r.lexerAny.has("kw_only")?{type:"kw_only"}:kw_only]},{name:"simplestatements_begin_writ",symbols:["simplestatements_begin_writ$subexpression$1"],postprocess:e=>(0,n.track)(e,{writeable:d(e," ")})},{name:"simplestatements_begin_def$ebnf$1",symbols:[r.lexerAny.has("kw_not")?{type:"kw_not"}:kw_not],postprocess:l},{name:"simplestatements_begin_def$ebnf$1",symbols:[],postprocess:()=>null},{name:"simplestatements_begin_def",symbols:["simplestatements_begin_def$ebnf$1",r.lexerAny.has("kw_deferrable")?{type:"kw_deferrable"}:kw_deferrable],postprocess:e=>(0,n.track)(e,{deferrable:!e[0]})},{name:"insert_statement$subexpression$1",symbols:["kw_insert",r.lexerAny.has("kw_into")?{type:"kw_into"}:kw_into]},{name:"insert_statement$ebnf$1",symbols:["collist_paren"],postprocess:l},{name:"insert_statement$ebnf$1",symbols:[],postprocess:()=>null},{name:"insert_statement$ebnf$2$subexpression$1$subexpression$1",symbols:["kw_system"]},{name:"insert_statement$ebnf$2$subexpression$1$subexpression$1",symbols:[r.lexerAny.has("kw_user")?{type:"kw_user"}:kw_user]},{name:"insert_statement$ebnf$2$subexpression$1",symbols:["kw_overriding","insert_statement$ebnf$2$subexpression$1$subexpression$1","kw_value"],postprocess:$(1)},{name:"insert_statement$ebnf$2",symbols:["insert_statement$ebnf$2$subexpression$1"],postprocess:l},{name:"insert_statement$ebnf$2",symbols:[],postprocess:()=>null},{name:"insert_statement$ebnf$3$subexpression$1",symbols:["selection"]},{name:"insert_statement$ebnf$3$subexpression$1",symbols:["selection_paren"]},{name:"insert_statement$ebnf$3",symbols:["insert_statement$ebnf$3$subexpression$1"],postprocess:l},{name:"insert_statement$ebnf$3",symbols:[],postprocess:()=>null},{name:"insert_statement$ebnf$4$subexpression$1",symbols:[r.lexerAny.has("kw_on")?{type:"kw_on"}:kw_on,"kw_conflict","insert_on_conflict"],postprocess:i},{name:"insert_statement$ebnf$4",symbols:["insert_statement$ebnf$4$subexpression$1"],postprocess:l},{name:"insert_statement$ebnf$4",symbols:[],postprocess:()=>null},{name:"insert_statement$ebnf$5$subexpression$1",symbols:[r.lexerAny.has("kw_returning")?{type:"kw_returning"}:kw_returning,"select_expr_list_aliased"],postprocess:i},{name:"insert_statement$ebnf$5",symbols:["insert_statement$ebnf$5$subexpression$1"],postprocess:l},{name:"insert_statement$ebnf$5",symbols:[],postprocess:()=>null},{name:"insert_statement",symbols:["insert_statement$subexpression$1","table_ref_aliased","insert_statement$ebnf$1","insert_statement$ebnf$2","insert_statement$ebnf$3","insert_statement$ebnf$4","insert_statement$ebnf$5"],postprocess:e=>{const o=e[2]&&e[2].map(u),t=d(e[3]),c=s(e[4]),f=e[5],A=e[6];return(0,n.track)(e,{type:"insert",into:s(e[1]),insert:c,...t&&{overriding:t},...o&&{columns:o},...A&&{returning:A},...f&&{onConflict:f}})}},{name:"insert_values$ebnf$1",symbols:[]},{name:"insert_values$ebnf$1$subexpression$1",symbols:["comma","insert_value"],postprocess:i},{name:"insert_values$ebnf$1",symbols:["insert_values$ebnf$1","insert_values$ebnf$1$subexpression$1"],postprocess:e=>e[0].concat([e[1]])},{name:"insert_values",symbols:["insert_value","insert_values$ebnf$1"],postprocess:([e,o])=>[e,...o||[]]},{name:"insert_value",symbols:["lparen","insert_expr_list_raw","rparen"],postprocess:$(1)},{name:"insert_expr_list_raw$ebnf$1",symbols:[]},{name:"insert_expr_list_raw$ebnf$1$subexpression$1",symbols:["comma","expr_or_select"],postprocess:i},{name:"insert_expr_list_raw$ebnf$1",symbols:["insert_expr_list_raw$ebnf$1","insert_expr_list_raw$ebnf$1$subexpression$1"],postprocess:e=>e[0].concat([e[1]])},{name:"insert_expr_list_raw",symbols:["expr_or_select","insert_expr_list_raw$ebnf$1"],postprocess:([e,o])=>[e,...o||[]]},{name:"insert_on_conflict$ebnf$1",symbols:["insert_on_conflict_what"],postprocess:l},{name:"insert_on_conflict$ebnf$1",symbols:[],postprocess:()=>null},{name:"insert_on_conflict",symbols:["insert_on_conflict$ebnf$1","insert_on_conflict_do"],postprocess:e=>(0,n.track)(e,{...e[0]?{on:s(e[0])}:{},...e[1]})},{name:"insert_on_conflict_what",symbols:["lparen","expr_list_raw","rparen"],postprocess:e=>(0,n.track)(e,{type:"on expr",exprs:e[1]})},{name:"insert_on_conflict_what",symbols:[r.lexerAny.has("kw_on")?{type:"kw_on"}:kw_on,r.lexerAny.has("kw_constraint")?{type:"kw_constraint"}:kw_constraint,"qname"],postprocess:e=>(0,n.track)(e,{type:"on constraint",constraint:i(e)})},{name:"insert_on_conflict_do",symbols:[r.lexerAny.has("kw_do")?{type:"kw_do"}:kw_do,"kw_nothing"],postprocess:e=>({do:"do nothing"})},{name:"insert_on_conflict_do$subexpression$1",symbols:[r.lexerAny.has("kw_do")?{type:"kw_do"}:kw_do,"kw_update","kw_set"]},{name:"insert_on_conflict_do$ebnf$1$subexpression$1",symbols:[r.lexerAny.has("kw_where")?{type:"kw_where"}:kw_where,"expr"],postprocess:i},{name:"insert_on_conflict_do$ebnf$1",symbols:["insert_on_conflict_do$ebnf$1$subexpression$1"],postprocess:l},{name:"insert_on_conflict_do$ebnf$1",symbols:[],postprocess:()=>null},{name:"insert_on_conflict_do",symbols:["insert_on_conflict_do$subexpression$1","update_set_list","insert_on_conflict_do$ebnf$1"],postprocess:e=>({do:{sets:e[1]},...e[2]&&{where:e[2]}})},{name:"update_statement$ebnf$1$subexpression$1",symbols:[r.lexerAny.has("kw_from")?{type:"kw_from"}:kw_from,"select_from_subject"],postprocess:i},{name:"update_statement$ebnf$1",symbols:["update_statement$ebnf$1$subexpression$1"],postprocess:l},{name:"update_statement$ebnf$1",symbols:[],postprocess:()=>null},{name:"update_statement$ebnf$2",symbols:["select_where"],postprocess:l},{name:"update_statement$ebnf$2",symbols:[],postprocess:()=>null},{name:"update_statement$ebnf$3$subexpression$1",symbols:[r.lexerAny.has("kw_returning")?{type:"kw_returning"}:kw_returning,"select_expr_list_aliased"],postprocess:i},{name:"update_statement$ebnf$3",symbols:["update_statement$ebnf$3$subexpression$1"],postprocess:l},{name:"update_statement$ebnf$3",symbols:[],postprocess:()=>null},{name:"update_statement",symbols:["kw_update","table_ref_aliased","kw_set","update_set_list","update_statement$ebnf$1","update_statement$ebnf$2","update_statement$ebnf$3"],postprocess:e=>{const o=s(e[4]),t=s(e[5]),c=e[6];return(0,n.track)(e,{type:"update",table:s(e[1]),sets:e[3],...t?{where:t}:{},...o?{from:o}:{},...c?{returning:c}:{}})}},{name:"update_set_list$ebnf$1",symbols:[]},{name:"update_set_list$ebnf$1$subexpression$1",symbols:["comma","update_set"],postprocess:i},{name:"update_set_list$ebnf$1",symbols:["update_set_list$ebnf$1","update_set_list$ebnf$1$subexpression$1"],postprocess:e=>e[0].concat([e[1]])},{name:"update_set_list",symbols:["update_set","update_set_list$ebnf$1"],postprocess:([e,o])=>{const t=[];for(const c of[e,...o||[]]){const f=s(c);Array.isArray(f)?t.push(...f):t.push(f)}return t}},{name:"update_set",symbols:["update_set_one"]},{name:"update_set",symbols:["update_set_multiple"]},{name:"update_set_one",symbols:["ident",r.lexerAny.has("op_eq")?{type:"op_eq"}:op_eq,"expr"],postprocess:e=>(0,n.box)(e,{column:u(e[0]),value:s(e[2])})},{name:"update_set_multiple$subexpression$1",symbols:["lparen","expr_list_raw","rparen"],postprocess:$(1)},{name:"update_set_multiple",symbols:["collist_paren",r.lexerAny.has("op_eq")?{type:"op_eq"}:op_eq,"update_set_multiple$subexpression$1"],postprocess:e=>{const o=e[0],t=e[2];if(o.length!==t.length)throw new Error("number of columns does not match number of values");return(0,n.box)(e,o.map((c,f)=>({column:u(c),value:s(t[f])})))}},{name:"altertable_statement$ebnf$1",symbols:["kw_ifexists"],postprocess:l},{name:"altertable_statement$ebnf$1",symbols:[],postprocess:()=>null},{name:"altertable_statement$ebnf$2",symbols:[r.lexerAny.has("kw_only")?{type:"kw_only"}:kw_only],postprocess:l},{name:"altertable_statement$ebnf$2",symbols:[],postprocess:()=>null},{name:"altertable_statement",symbols:["kw_alter",r.lexerAny.has("kw_table")?{type:"kw_table"}:kw_table,"altertable_statement$ebnf$1","altertable_statement$ebnf$2","table_ref","altertable_actions"],postprocess:e=>(0,n.track)(e,{type:"alter table",...e[2]?{ifExists:!0}:{},...e[3]?{only:!0}:{},table:s(e[4]),changes:(0,n.unbox)(e[5]).map(s)})},{name:"altertable_actions$ebnf$1",symbols:[]},{name:"altertable_actions$ebnf$1$subexpression$1",symbols:["comma","altertable_action"],postprocess:i},{name:"altertable_actions$ebnf$1",symbols:["altertable_actions$ebnf$1","altertable_actions$ebnf$1$subexpression$1"],postprocess:e=>e[0].concat([e[1]])},{name:"altertable_actions",symbols:["altertable_action","altertable_actions$ebnf$1"],postprocess:([e,o])=>[e,...o||[]]},{name:"altertable_action",symbols:["altertable_rename_table"]},{name:"altertable_action",symbols:["altertable_rename_column"]},{name:"altertable_action",symbols:["altertable_rename_constraint"]},{name:"altertable_action",symbols:["altertable_add_column"]},{name:"altertable_action",symbols:["altertable_drop_column"]},{name:"altertable_action",symbols:["altertable_alter_column"]},{name:"altertable_action",symbols:["altertable_add_constraint"]},{name:"altertable_action",symbols:["altertable_drop_constraint"]},{name:"altertable_action",symbols:["altertable_owner"]},{name:"altertable_rename_table",symbols:["kw_rename",r.lexerAny.has("kw_to")?{type:"kw_to"}:kw_to,"word"],postprocess:e=>(0,n.track)(e,{type:"rename",to:u(i(e))})},{name:"altertable_rename_column$ebnf$1",symbols:["kw_column"],postprocess:l},{name:"altertable_rename_column$ebnf$1",symbols:[],postprocess:()=>null},{name:"altertable_rename_column",symbols:["kw_rename","altertable_rename_column$ebnf$1","ident",r.lexerAny.has("kw_to")?{type:"kw_to"}:kw_to,"ident"],postprocess:e=>(0,n.track)(e,{type:"rename column",column:u(e[2]),to:u(i(e))})},{name:"altertable_rename_constraint",symbols:["kw_rename",r.lexerAny.has("kw_constraint")?{type:"kw_constraint"}:kw_constraint,"ident",r.lexerAny.has("kw_to")?{type:"kw_to"}:kw_to,"ident"],postprocess:e=>(0,n.track)(e,{type:"rename constraint",constraint:u(e[2]),to:u(i(e))})},{name:"altertable_add_column$ebnf$1",symbols:["kw_column"],postprocess:l},{name:"altertable_add_column$ebnf$1",symbols:[],postprocess:()=>null},{name:"altertable_add_column$ebnf$2",symbols:["kw_ifnotexists"],postprocess:l},{name:"altertable_add_column$ebnf$2",symbols:[],postprocess:()=>null},{name:"altertable_add_column",symbols:["kw_add","altertable_add_column$ebnf$1","altertable_add_column$ebnf$2","createtable_column"],postprocess:e=>(0,n.track)(e,{type:"add column",...e[2]?{ifNotExists:!0}:{},column:s(e[3])})},{name:"altertable_drop_column$ebnf$1",symbols:["kw_column"],postprocess:l},{name:"altertable_drop_column$ebnf$1",symbols:[],postprocess:()=>null},{name:"altertable_drop_column$ebnf$2",symbols:["kw_ifexists"],postprocess:l},{name:"altertable_drop_column$ebnf$2",symbols:[],postprocess:()=>null},{name:"altertable_drop_column$ebnf$3$subexpression$1",symbols:["kw_restrict"]},{name:"altertable_drop_column$ebnf$3$subexpression$1",symbols:["kw_cascade"]},{name:"altertable_drop_column$ebnf$3",symbols:["altertable_drop_column$ebnf$3$subexpression$1"],postprocess:l},{name:"altertable_drop_column$ebnf$3",symbols:[],postprocess:()=>null},{name:"altertable_drop_column",symbols:["kw_drop","altertable_drop_column$ebnf$1","altertable_drop_column$ebnf$2","ident","altertable_drop_column$ebnf$3"],postprocess:e=>(0,n.track)(e,{type:"drop column",...e[2]?{ifExists:!0}:{},column:u(e[3]),...e[4]?{behaviour:d(e[4]," ")}:{}})},{name:"altertable_alter_column$ebnf$1",symbols:["kw_column"],postprocess:l},{name:"altertable_alter_column$ebnf$1",symbols:[],postprocess:()=>null},{name:"altertable_alter_column",symbols:["kw_alter","altertable_alter_column$ebnf$1","ident","altercol"],postprocess:e=>(0,n.track)(e,{type:"alter column",column:u(e[2]),alter:s(e[3])})},{name:"altercol$ebnf$1$subexpression$1",symbols:["kw_set","kw_data"]},{name:"altercol$ebnf$1",symbols:["altercol$ebnf$1$subexpression$1"],postprocess:l},{name:"altercol$ebnf$1",symbols:[],postprocess:()=>null},{name:"altercol",symbols:["altercol$ebnf$1","kw_type","data_type"],postprocess:e=>(0,n.track)(e,{type:"set type",dataType:s(i(e))})},{name:"altercol",symbols:["kw_set",r.lexerAny.has("kw_default")?{type:"kw_default"}:kw_default,"expr"],postprocess:e=>(0,n.track)(e,{type:"set default",default:s(i(e))})},{name:"altercol",symbols:["kw_drop",r.lexerAny.has("kw_default")?{type:"kw_default"}:kw_default],postprocess:e=>(0,n.track)(e,{type:"drop default"})},{name:"altercol$subexpression$1",symbols:["kw_set"]},{name:"altercol$subexpression$1",symbols:["kw_drop"]},{name:"altercol",symbols:["altercol$subexpression$1","kw_not_null"],postprocess:e=>(0,n.track)(e,{type:d(e," ")})},{name:"altercol",symbols:["altercol_generated_add"],postprocess:s},{name:"altertable_add_constraint",symbols:["kw_add","createtable_constraint"],postprocess:e=>(0,n.track)(e,{type:"add constraint",constraint:s(i(e))})},{name:"altertable_drop_constraint$ebnf$1",symbols:["kw_ifexists"],postprocess:l},{name:"altertable_drop_constraint$ebnf$1",symbols:[],postprocess:()=>null},{name:"altertable_drop_constraint$ebnf$2$subexpression$1",symbols:["kw_restrict"]},{name:"altertable_drop_constraint$ebnf$2$subexpression$1",symbols:["kw_cascade"]},{name:"altertable_drop_constraint$ebnf$2",symbols:["altertable_drop_constraint$ebnf$2$subexpression$1"],postprocess:l},{name:"altertable_drop_constraint$ebnf$2",symbols:[],postprocess:()=>null},{name:"altertable_drop_constraint",symbols:["kw_drop",r.lexerAny.has("kw_constraint")?{type:"kw_constraint"}:kw_constraint,"altertable_drop_constraint$ebnf$1","ident","altertable_drop_constraint$ebnf$2"],postprocess:e=>(0,n.track)(e,{type:"drop constraint",...e[2]?{ifExists:!0}:{},constraint:u(e[3]),...e[4]?{behaviour:d(e[4]," ")}:{}})},{name:"altertable_owner",symbols:["kw_owner",r.lexerAny.has("kw_to")?{type:"kw_to"}:kw_to,"ident"],postprocess:e=>(0,n.track)(e,{type:"owner",to:u(i(e))})},{name:"altercol_generated_add",symbols:["kw_add","altercol_generated"],postprocess:i},{name:"altercol_generated$ebnf$1$subexpression$1",symbols:["kw_always"]},{name:"altercol_generated$ebnf$1$subexpression$1",symbols:["kw_by",r.lexerAny.has("kw_default")?{type:"kw_default"}:kw_default]},{name:"altercol_generated$ebnf$1",symbols:["altercol_generated$ebnf$1$subexpression$1"],postprocess:l},{name:"altercol_generated$ebnf$1",symbols:[],postprocess:()=>null},{name:"altercol_generated$subexpression$1",symbols:[r.lexerAny.has("kw_as")?{type:"kw_as"}:kw_as,"kw_identity"]},{name:"altercol_generated$ebnf$2$subexpression$1",symbols:["lparen","altercol_generated_seq","rparen"],postprocess:$(1)},{name:"altercol_generated$ebnf$2",symbols:["altercol_generated$ebnf$2$subexpression$1"],postprocess:l},{name:"altercol_generated$ebnf$2",symbols:[],postprocess:()=>null},{name:"altercol_generated",symbols:["kw_generated","altercol_generated$ebnf$1","altercol_generated$subexpression$1","altercol_generated$ebnf$2"],postprocess:e=>(0,n.track)(e,{type:"add generated",...e[1]&&{always:d(e[1]," ")},...e[3]&&{sequence:s(e[3])}})},{name:"altercol_generated_seq$ebnf$1$subexpression$1",symbols:["kw_sequence","kw_name","qualified_name"]},{name:"altercol_generated_seq$ebnf$1",symbols:["altercol_generated_seq$ebnf$1$subexpression$1"],postprocess:l},{name:"altercol_generated_seq$ebnf$1",symbols:[],postprocess:()=>null},{name:"altercol_generated_seq$ebnf$2",symbols:[]},{name:"altercol_generated_seq$ebnf$2",symbols:["altercol_generated_seq$ebnf$2","create_sequence_option"],postprocess:e=>e[0].concat([e[1]])},{name:"altercol_generated_seq",symbols:["altercol_generated_seq$ebnf$1","altercol_generated_seq$ebnf$2"],postprocess:e=>{const o={...e[0]&&{name:s(i(e[0]))}};return N(o,e[1]),(0,n.track)(e,o)}},{name:"alterindex_statement$ebnf$1",symbols:["kw_ifexists"],postprocess:l},{name:"alterindex_statement$ebnf$1",symbols:[],postprocess:()=>null},{name:"alterindex_statement",symbols:["kw_alter","kw_index","alterindex_statement$ebnf$1","table_ref","alterindex_action"],postprocess:e=>(0,n.track)(e,{type:"alter index",...e[2]?{ifExists:!0}:{},index:s(e[3]),change:s(e[4])})},{name:"alterindex_action",symbols:["alterindex_rename"]},{name:"alterindex_action",symbols:["alterindex_set_tablespace"]},{name:"alterindex_rename",symbols:["kw_rename",r.lexerAny.has("kw_to")?{type:"kw_to"}:kw_to,"word"],postprocess:e=>(0,n.track)(e,{type:"rename",to:u(i(e))})},{name:"alterindex_set_tablespace",symbols:["kw_set","kw_tablespace","word"],postprocess:e=>(0,n.track)(e,{type:"set tablespace",tablespace:u(i(e))})},{name:"delete_statement",symbols:["delete_delete"]},{name:"delete_statement",symbols:["delete_truncate"]},{name:"delete_delete$subexpression$1",symbols:["kw_delete",r.lexerAny.has("kw_from")?{type:"kw_from"}:kw_from]},{name:"delete_delete$ebnf$1",symbols:["select_where"],postprocess:l},{name:"delete_delete$ebnf$1",symbols:[],postprocess:()=>null},{name:"delete_delete$ebnf$2$subexpression$1",symbols:[r.lexerAny.has("kw_returning")?{type:"kw_returning"}:kw_returning,"select_expr_list_aliased"],postprocess:i},{name:"delete_delete$ebnf$2",symbols:["delete_delete$ebnf$2$subexpression$1"],postprocess:l},{name:"delete_delete$ebnf$2",symbols:[],postprocess:()=>null},{name:"delete_delete",symbols:["delete_delete$subexpression$1","table_ref_aliased","delete_delete$ebnf$1","delete_delete$ebnf$2"],postprocess:e=>{const o=e[2],t=e[3];return(0,n.track)(e,{type:"delete",from:s(e[1]),...o?{where:o}:{},...t?{returning:t}:{}})}},{name:"delete_truncate$subexpression$1$ebnf$1",symbols:[r.lexerAny.has("kw_table")?{type:"kw_table"}:kw_table],postprocess:l},{name:"delete_truncate$subexpression$1$ebnf$1",symbols:[],postprocess:()=>null},{name:"delete_truncate$subexpression$1",symbols:["kw_truncate","delete_truncate$subexpression$1$ebnf$1"]},{name:"delete_truncate$macrocall$2",symbols:["table_ref"]},{name:"delete_truncate$macrocall$1$ebnf$1",symbols:[]},{name:"delete_truncate$macrocall$1$ebnf$1$subexpression$1",symbols:[r.lexerAny.has("comma")?{type:"comma"}:comma,"delete_truncate$macrocall$2"],postprocess:i},{name:"delete_truncate$macrocall$1$ebnf$1",symbols:["delete_truncate$macrocall$1$ebnf$1","delete_truncate$macrocall$1$ebnf$1$subexpression$1"],postprocess:e=>e[0].concat([e[1]])},{name:"delete_truncate$macrocall$1",symbols:["delete_truncate$macrocall$2","delete_truncate$macrocall$1$ebnf$1"],postprocess:([e,o])=>[s(e),...o.map(s)||[]]},{name:"delete_truncate$ebnf$1$subexpression$1$subexpression$1",symbols:["kw_restart"]},{name:"delete_truncate$ebnf$1$subexpression$1$subexpression$1",symbols:["kw_continue"]},{name:"delete_truncate$ebnf$1$subexpression$1",symbols:["delete_truncate$ebnf$1$subexpression$1$subexpression$1","kw_identity"]},{name:"delete_truncate$ebnf$1",symbols:["delete_truncate$ebnf$1$subexpression$1"],postprocess:l},{name:"delete_truncate$ebnf$1",symbols:[],postprocess:()=>null},{name:"delete_truncate$ebnf$2$subexpression$1",symbols:["kw_restrict"]},{name:"delete_truncate$ebnf$2$subexpression$1",symbols:["kw_cascade"]},{name:"delete_truncate$ebnf$2",symbols:["delete_truncate$ebnf$2$subexpression$1"],postprocess:l},{name:"delete_truncate$ebnf$2",symbols:[],postprocess:()=>null},{name:"delete_truncate",symbols:["delete_truncate$subexpression$1","delete_truncate$macrocall$1","delete_truncate$ebnf$1","delete_truncate$ebnf$2"],postprocess:e=>(0,n.track)(e,{type:"truncate table",tables:e[1],...e[2]&&{identity:d(e[2][0])},...e[3]&&{cascade:d(e[3])}})},{name:"create_sequence_statement$ebnf$1$subexpression$1",symbols:["kw_temp"]},{name:"create_sequence_statement$ebnf$1$subexpression$1",symbols:["kw_temporary"]},{name:"create_sequence_statement$ebnf$1",symbols:["create_sequence_statement$ebnf$1$subexpression$1"],postprocess:l},{name:"create_sequence_statement$ebnf$1",symbols:[],postprocess:()=>null},{name:"create_sequence_statement$ebnf$2",symbols:["kw_ifnotexists"],postprocess:l},{name:"create_sequence_statement$ebnf$2",symbols:[],postprocess:()=>null},{name:"create_sequence_statement$ebnf$3",symbols:[]},{name:"create_sequence_statement$ebnf$3",symbols:["create_sequence_statement$ebnf$3","create_sequence_option"],postprocess:e=>e[0].concat([e[1]])},{name:"create_sequence_statement",symbols:[r.lexerAny.has("kw_create")?{type:"kw_create"}:kw_create,"create_sequence_statement$ebnf$1","kw_sequence","create_sequence_statement$ebnf$2","qualified_name","create_sequence_statement$ebnf$3"],postprocess:e=>{const o={type:"create sequence",...e[1]&&{temp:!0},...e[3]&&{ifNotExists:!0},name:s(e[4]),options:{}};return N(o.options,e[5]),(0,n.track)(e,o)}},{name:"create_sequence_option",symbols:[r.lexerAny.has("kw_as")?{type:"kw_as"}:kw_as,"data_type"],postprocess:e=>(0,n.box)(e,["as",e[1]])},{name:"create_sequence_option$ebnf$1",symbols:["kw_by"],postprocess:l},{name:"create_sequence_option$ebnf$1",symbols:[],postprocess:()=>null},{name:"create_sequence_option",symbols:["kw_increment","create_sequence_option$ebnf$1","int"],postprocess:e=>(0,n.box)(e,["incrementBy",e[2]])},{name:"create_sequence_option",symbols:["create_sequence_minvalue"],postprocess:e=>(0,n.box)(e,["minValue",e[0]])},{name:"create_sequence_option",symbols:["create_sequence_maxvalue"],postprocess:e=>(0,n.box)(e,["maxValue",e[0]])},{name:"create_sequence_option$ebnf$2",symbols:[r.lexerAny.has("kw_with")?{type:"kw_with"}:kw_with],postprocess:l},{name:"create_sequence_option$ebnf$2",symbols:[],postprocess:()=>null},{name:"create_sequence_option",symbols:["kw_start","create_sequence_option$ebnf$2","int"],postprocess:e=>(0,n.box)(e,["startWith",e[2]])},{name:"create_sequence_option",symbols:["kw_cache","int"],postprocess:e=>(0,n.box)(e,["cache",e[1]])},{name:"create_sequence_option$ebnf$3",symbols:["kw_no"],postprocess:l},{name:"create_sequence_option$ebnf$3",symbols:[],postprocess:()=>null},{name:"create_sequence_option",symbols:["create_sequence_option$ebnf$3","kw_cycle"],postprocess:e=>(0,n.box)(e,["cycle",d(e," ")])},{name:"create_sequence_option",symbols:["create_sequence_owned_by"],postprocess:e=>(0,n.box)(e,["ownedBy",s(e)])},{name:"create_sequence_minvalue",symbols:["kw_minvalue","int"],postprocess:i},{name:"create_sequence_minvalue",symbols:["kw_no","kw_minvalue"],postprocess:e=>(0,n.box)(e,"no minvalue")},{name:"create_sequence_maxvalue",symbols:["kw_maxvalue","int"],postprocess:i},{name:"create_sequence_maxvalue",symbols:["kw_no","kw_maxvalue"],postprocess:e=>(0,n.box)(e,"no maxvalue")},{name:"create_sequence_owned_by$subexpression$1",symbols:["kw_none"]},{name:"create_sequence_owned_by$subexpression$1",symbols:["qcolumn"]},{name:"create_sequence_owned_by",symbols:["kw_owned","kw_by","create_sequence_owned_by$subexpression$1"],postprocess:e=>(0,n.box)(e,s(i(e)))},{name:"alter_sequence_statement$ebnf$1",symbols:["kw_ifexists"],postprocess:l},{name:"alter_sequence_statement$ebnf$1",symbols:[],postprocess:()=>null},{name:"alter_sequence_statement",symbols:["kw_alter","kw_sequence","alter_sequence_statement$ebnf$1","qualified_name","alter_sequence_statement_body"],postprocess:e=>{const o={type:"alter sequence",...e[2]&&{ifExists:!0},name:s(e[3]),change:e[4]};return(0,n.track)(e,o)}},{name:"alter_sequence_statement_body$ebnf$1",symbols:["alter_sequence_option"]},{name:"alter_sequence_statement_body$ebnf$1",symbols:["alter_sequence_statement_body$ebnf$1","alter_sequence_option"],postprocess:e=>e[0].concat([e[1]])},{name:"alter_sequence_statement_body",symbols:["alter_sequence_statement_body$ebnf$1"],postprocess:e=>{const o={type:"set options"};return N(o,e[0]),(0,n.track)(e,o)}},{name:"alter_sequence_statement_body$subexpression$1",symbols:["ident"]},{name:"alter_sequence_statement_body$subexpression$1",symbols:[r.lexerAny.has("kw_session_user")?{type:"kw_session_user"}:kw_session_user]},{name:"alter_sequence_statement_body$subexpression$1",symbols:[r.lexerAny.has("kw_current_user")?{type:"kw_current_user"}:kw_current_user]},{name:"alter_sequence_statement_body",symbols:["kw_owner",r.lexerAny.has("kw_to")?{type:"kw_to"}:kw_to,"alter_sequence_statement_body$subexpression$1"],postprocess:e=>(0,n.track)(e,{type:"owner to",owner:u(i(e))})},{name:"alter_sequence_statement_body",symbols:["kw_rename",r.lexerAny.has("kw_to")?{type:"kw_to"}:kw_to,"ident"],postprocess:e=>(0,n.track)(e,{type:"rename",newName:u(i(e))})},{name:"alter_sequence_statement_body",symbols:["kw_set","kw_schema","ident"],postprocess:e=>(0,n.track)(e,{type:"set schema",newSchema:u(i(e))})},{name:"alter_sequence_option",symbols:["create_sequence_option"],postprocess:s},{name:"alter_sequence_option$ebnf$1$subexpression$1$ebnf$1",symbols:[r.lexerAny.has("kw_with")?{type:"kw_with"}:kw_with],postprocess:l},{name:"alter_sequence_option$ebnf$1$subexpression$1$ebnf$1",symbols:[],postprocess:()=>null},{name:"alter_sequence_option$ebnf$1$subexpression$1",symbols:["alter_sequence_option$ebnf$1$subexpression$1$ebnf$1","int"],postprocess:i},{name:"alter_sequence_option$ebnf$1",symbols:["alter_sequence_option$ebnf$1$subexpression$1"],postprocess:l},{name:"alter_sequence_option$ebnf$1",symbols:[],postprocess:()=>null},{name:"alter_sequence_option",symbols:["kw_restart","alter_sequence_option$ebnf$1"],postprocess:e=>(0,n.box)(e,["restart",typeof(0,n.unbox)(e[1])=="number"?(0,n.unbox)(e[1]):!0])},{name:"drop_statement$ebnf$1",symbols:["kw_ifexists"],postprocess:l},{name:"drop_statement$ebnf$1",symbols:[],postprocess:()=>null},{name:"drop_statement$macrocall$2",symbols:["qualified_name"]},{name:"drop_statement$macrocall$1$ebnf$1",symbols:[]},{name:"drop_statement$macrocall$1$ebnf$1$subexpression$1",symbols:[r.lexerAny.has("comma")?{type:"comma"}:comma,"drop_statement$macrocall$2"],postprocess:i},{name:"drop_statement$macrocall$1$ebnf$1",symbols:["drop_statement$macrocall$1$ebnf$1","drop_statement$macrocall$1$ebnf$1$subexpression$1"],postprocess:e=>e[0].concat([e[1]])},{name:"drop_statement$macrocall$1",symbols:["drop_statement$macrocall$2","drop_statement$macrocall$1$ebnf$1"],postprocess:([e,o])=>[s(e),...o.map(s)||[]]},{name:"drop_statement$ebnf$2$subexpression$1",symbols:["kw_cascade"]},{name:"drop_statement$ebnf$2$subexpression$1",symbols:["kw_restrict"]},{name:"drop_statement$ebnf$2",symbols:["drop_statement$ebnf$2$subexpression$1"],postprocess:l},{name:"drop_statement$ebnf$2",symbols:[],postprocess:()=>null},{name:"drop_statement",symbols:["kw_drop","drop_what","drop_statement$ebnf$1","drop_statement$macrocall$1","drop_statement$ebnf$2"],postprocess:(e,o)=>{const t=s(e[1]);return(0,n.track)(e,{...t,...e[2]&&{ifExists:!0},names:e[3],...e[4]&&{cascade:d(e[4])}})}},{name:"drop_what",symbols:[r.lexerAny.has("kw_table")?{type:"kw_table"}:kw_table],postprocess:e=>(0,n.track)(e,{type:"drop table"})},{name:"drop_what",symbols:["kw_sequence"],postprocess:e=>(0,n.track)(e,{type:"drop sequence"})},{name:"drop_what",symbols:["kw_type"],postprocess:e=>(0,n.track)(e,{type:"drop type"})},{name:"drop_what",symbols:["kw_trigger"],postprocess:e=>(0,n.track)(e,{type:"drop trigger"})},{name:"drop_what$ebnf$1",symbols:[r.lexerAny.has("kw_concurrently")?{type:"kw_concurrently"}:kw_concurrently],postprocess:l},{name:"drop_what$ebnf$1",symbols:[],postprocess:()=>null},{name:"drop_what",symbols:["kw_index","drop_what$ebnf$1"],postprocess:e=>(0,n.track)(e,{type:"drop index",...e[1]&&{concurrently:!0}})},{name:"with_statement",symbols:[r.lexerAny.has("kw_with")?{type:"kw_with"}:kw_with,"with_statement_bindings","with_statement_statement"],postprocess:e=>(0,n.track)(e,{type:"with",bind:e[1],in:s(e[2])})},{name:"with_recursive_statement$subexpression$1",symbols:[r.lexerAny.has("kw_with")?{type:"kw_with"}:kw_with,"kw_recursive"]},{name:"with_recursive_statement",symbols:["with_recursive_statement$subexpression$1","ident","collist_paren",r.lexerAny.has("kw_as")?{type:"kw_as"}:kw_as,"lparen","union_statement","rparen","with_statement_statement"],postprocess:e=>(0,n.track)(e,{type:"with recursive",alias:u(e[1]),columnNames:e[2].map(u),bind:e[5],in:s(e[7])})},{name:"with_statement_bindings$ebnf$1",symbols:[]},{name:"with_statement_bindings$ebnf$1$subexpression$1",symbols:["comma","with_statement_binding"],postprocess:i},{name:"with_statement_bindings$ebnf$1",symbols:["with_statement_bindings$ebnf$1","with_statement_bindings$ebnf$1$subexpression$1"],postprocess:e=>e[0].concat([e[1]])},{name:"with_statement_bindings",symbols:["with_statement_binding","with_statement_bindings$ebnf$1"],postprocess:([e,o])=>[e,...o||[]]},{name:"with_statement_binding",symbols:["word",r.lexerAny.has("kw_as")?{type:"kw_as"}:kw_as,"lparen","with_statement_statement","rparen"],postprocess:e=>(0,n.track)(e,{alias:u(e[0]),statement:s(e[3])})},{name:"with_statement_statement",symbols:["selection"]},{name:"with_statement_statement",symbols:["insert_statement"]},{name:"with_statement_statement",symbols:["update_statement"]},{name:"with_statement_statement",symbols:["delete_statement"]},{name:"createtype_statement$subexpression$1",symbols:["createtype_enum"]},{name:"createtype_statement$subexpression$1",symbols:["createtype_composite"]},{name:"createtype_statement",symbols:[r.lexerAny.has("kw_create")?{type:"kw_create"}:kw_create,"kw_type","qualified_name","createtype_statement$subexpression$1"],postprocess:e=>(0,n.track)(e,{name:e[2],...s(e[3])})},{name:"createtype_enum$macrocall$2",symbols:["enum_value"]},{name:"createtype_enum$macrocall$1$ebnf$1",symbols:[]},{name:"createtype_enum$macrocall$1$ebnf$1$subexpression$1",symbols:[r.lexerAny.has("comma")?{type:"comma"}:comma,"createtype_enum$macrocall$2"],postprocess:i},{name:"createtype_enum$macrocall$1$ebnf$1",symbols:["createtype_enum$macrocall$1$ebnf$1","createtype_enum$macrocall$1$ebnf$1$subexpression$1"],postprocess:e=>e[0].concat([e[1]])},{name:"createtype_enum$macrocall$1",symbols:["createtype_enum$macrocall$2","createtype_enum$macrocall$1$ebnf$1"],postprocess:([e,o])=>[s(e),...o.map(s)||[]]},{name:"createtype_enum",symbols:[r.lexerAny.has("kw_as")?{type:"kw_as"}:kw_as,"kw_enum","lparen","createtype_enum$macrocall$1","rparen"],postprocess:e=>(0,n.track)(e,{type:"create enum",values:e[3]})},{name:"enum_value",symbols:["string"],postprocess:e=>(0,n.track)(e,{value:d(e)})},{name:"createtype_composite$macrocall$2",symbols:["createtype_composite_attr"]},{name:"createtype_composite$macrocall$1$ebnf$1",symbols:[]},{name:"createtype_composite$macrocall$1$ebnf$1$subexpression$1",symbols:[r.lexerAny.has("comma")?{type:"comma"}:comma,"createtype_composite$macrocall$2"],postprocess:i},{name:"createtype_composite$macrocall$1$ebnf$1",symbols:["createtype_composite$macrocall$1$ebnf$1","createtype_composite$macrocall$1$ebnf$1$subexpression$1"],postprocess:e=>e[0].concat([e[1]])},{name:"createtype_composite$macrocall$1",symbols:["createtype_composite$macrocall$2","createtype_composite$macrocall$1$ebnf$1"],postprocess:([e,o])=>[s(e),...o.map(s)||[]]},{name:"createtype_composite",symbols:[r.lexerAny.has("kw_as")?{type:"kw_as"}:kw_as,"lparen","createtype_composite$macrocall$1","rparen"],postprocess:e=>(0,n.track)(e,{type:"create composite type",attributes:e[2]})},{name:"createtype_composite_attr$ebnf$1",symbols:["createtable_collate"],postprocess:l},{name:"createtype_composite_attr$ebnf$1",symbols:[],postprocess:()=>null},{name:"createtype_composite_attr",symbols:["word","data_type","createtype_composite_attr$ebnf$1"],postprocess:e=>(0,n.track)(e,{name:u(e[0]),dataType:e[1],...e[2]?{collate:e[2][1]}:{}})},{name:"altertype_statement$subexpression$1",symbols:["altertype_enum_add_value"]},{name:"altertype_statement$subexpression$1",symbols:["altertype_enum_rename"]},{name:"altertype_statement",symbols:["kw_alter","kw_type","qualified_name","altertype_statement$subexpression$1"],postprocess:e=>(0,n.track)(e,{name:e[2],...s(e[3])})},{name:"altertype_enum_add_value",symbols:["kw_add","kw_value","enum_additional_value"],postprocess:e=>(0,n.track)(e,{type:"alter enum",change:{type:"add value",add:e[2]}})},{name:"enum_additional_value",symbols:["string"],postprocess:e=>(0,n.track)(e,{value:d(e)})},{name:"altertype_enum_rename",symbols:["kw_rename",r.lexerAny.has("kw_to")?{type:"kw_to"}:kw_to,"word"],postprocess:e=>(0,n.track)(e,{type:"alter enum",change:{type:"rename",to:u(i(e))}})},{name:"union_left",symbols:["select_statement"]},{name:"union_left",symbols:["select_values"]},{name:"union_left",symbols:["selection_paren"]},{name:"union_right",symbols:["selection"]},{name:"union_right",symbols:["selection_paren"]},{name:"union_statement$subexpression$1$ebnf$1",symbols:[r.lexerAny.has("kw_all")?{type:"kw_all"}:kw_all],postprocess:l},{name:"union_statement$subexpression$1$ebnf$1",symbols:[],postprocess:()=>null},{name:"union_statement$subexpression$1",symbols:[r.lexerAny.has("kw_union")?{type:"kw_union"}:kw_union,"union_statement$subexpression$1$ebnf$1"]},{name:"union_statement",symbols:["union_left","union_statement$subexpression$1","union_right"],postprocess:e=>(0,n.track)(e,{type:d(e[1]," "),left:s(e[0]),right:s(e[2])})},{name:"prepare$ebnf$1$subexpression$1",symbols:["lparen","data_type_list","rparen"],postprocess:$(1)},{name:"prepare$ebnf$1",symbols:["prepare$ebnf$1$subexpression$1"],postprocess:l},{name:"prepare$ebnf$1",symbols:[],postprocess:()=>null},{name:"prepare",symbols:["kw_prepare","ident","prepare$ebnf$1",r.lexerAny.has("kw_as")?{type:"kw_as"}:kw_as,"statement_noprep"],postprocess:e=>(0,n.track)(e,{type:"prepare",name:u(e[1]),...e[2]&&{args:e[2]},statement:s(i(e))})},{name:"deallocate$ebnf$1",symbols:["kw_prepare"],postprocess:l},{name:"deallocate$ebnf$1",symbols:[],postprocess:()=>null},{name:"deallocate",symbols:["kw_deallocate","deallocate$ebnf$1","deallocate_target"],postprocess:e=>(0,n.track)(e,{type:"deallocate",target:e[2]})},{name:"deallocate_target",symbols:["deallocate_all"],postprocess:s},{name:"deallocate_target",symbols:["deallocate_name"],postprocess:s},{name:"deallocate_name",symbols:["ident"],postprocess:e=>(0,n.track)(e,u(e[0]))},{name:"deallocate_all",symbols:[r.lexerAny.has("kw_all")?{type:"kw_all"}:kw_all],postprocess:e=>(0,n.track)(e,{option:"all"})},{name:"create_view_statements",symbols:["create_view"]},{name:"create_view_statements",symbols:["create_materialized_view"]},{name:"create_view$ebnf$1$subexpression$1",symbols:[r.lexerAny.has("kw_or")?{type:"kw_or"}:kw_or,"kw_replace"]},{name:"create_view$ebnf$1",symbols:["create_view$ebnf$1$subexpression$1"],postprocess:l},{name:"create_view$ebnf$1",symbols:[],postprocess:()=>null},{name:"create_view$ebnf$2$subexpression$1",symbols:["kw_temp"]},{name:"create_view$ebnf$2$subexpression$1",symbols:["kw_temporary"]},{name:"create_view$ebnf$2",symbols:["create_view$ebnf$2$subexpression$1"],postprocess:l},{name:"create_view$ebnf$2",symbols:[],postprocess:()=>null},{name:"create_view$ebnf$3",symbols:["kw_recursive"],postprocess:l},{name:"create_view$ebnf$3",symbols:[],postprocess:()=>null},{name:"create_view$ebnf$4$subexpression$1$macrocall$2",symbols:["ident"]},{name:"create_view$ebnf$4$subexpression$1$macrocall$1$ebnf$1",symbols:[]},{name:"create_view$ebnf$4$subexpression$1$macrocall$1$ebnf$1$subexpression$1",symbols:[r.lexerAny.has("comma")?{type:"comma"}:comma,"create_view$ebnf$4$subexpression$1$macrocall$2"],postprocess:i},{name:"create_view$ebnf$4$subexpression$1$macrocall$1$ebnf$1",symbols:["create_view$ebnf$4$subexpression$1$macrocall$1$ebnf$1","create_view$ebnf$4$subexpression$1$macrocall$1$ebnf$1$subexpression$1"],postprocess:e=>e[0].concat([e[1]])},{name:"create_view$ebnf$4$subexpression$1$macrocall$1",symbols:["create_view$ebnf$4$subexpression$1$macrocall$2","create_view$ebnf$4$subexpression$1$macrocall$1$ebnf$1"],postprocess:([e,o])=>[s(e),...o.map(s)||[]]},{name:"create_view$ebnf$4$subexpression$1",symbols:["lparen","create_view$ebnf$4$subexpression$1$macrocall$1","rparen"],postprocess:$(1)},{name:"create_view$ebnf$4",symbols:["create_view$ebnf$4$subexpression$1"],postprocess:l},{name:"create_view$ebnf$4",symbols:[],postprocess:()=>null},{name:"create_view$ebnf$5",symbols:["create_view_opts"],postprocess:l},{name:"create_view$ebnf$5",symbols:[],postprocess:()=>null},{name:"create_view$ebnf$6$subexpression$1$subexpression$1",symbols:["kw_local"]},{name:"create_view$ebnf$6$subexpression$1$subexpression$1",symbols:["kw_cascaded"]},{name:"create_view$ebnf$6$subexpression$1",symbols:[r.lexerAny.has("kw_with")?{type:"kw_with"}:kw_with,"create_view$ebnf$6$subexpression$1$subexpression$1",r.lexerAny.has("kw_check")?{type:"kw_check"}:kw_check,"kw_option"],postprocess:$(1)},{name:"create_view$ebnf$6",symbols:["create_view$ebnf$6$subexpression$1"],postprocess:l},{name:"create_view$ebnf$6",symbols:[],postprocess:()=>null},{name:"create_view",symbols:[r.lexerAny.has("kw_create")?{type:"kw_create"}:kw_create,"create_view$ebnf$1","create_view$ebnf$2","create_view$ebnf$3","kw_view","qualified_name","create_view$ebnf$4","create_view$ebnf$5",r.lexerAny.has("kw_as")?{type:"kw_as"}:kw_as,"selection","create_view$ebnf$6"],postprocess:e=>(0,n.track)(e,{type:"create view",...e[1]&&{orReplace:!0},...e[2]&&{temp:!0},...e[3]&&{recursive:!0},name:e[5],...e[6]&&{columnNames:e[6].map(u)},...e[7]&&{parameters:E(e[7])},query:e[9],...e[10]&&{checkOption:d(e[10])}})},{name:"create_view_opt",symbols:["ident",r.lexerAny.has("op_eq")?{type:"op_eq"}:op_eq,"ident"],postprocess:([e,o,t])=>[d(e),d(t)]},{name:"create_view_opts$macrocall$2",symbols:["create_view_opt"]},{name:"create_view_opts$macrocall$1$ebnf$1",symbols:[]},{name:"create_view_opts$macrocall$1$ebnf$1$subexpression$1",symbols:[r.lexerAny.has("comma")?{type:"comma"}:comma,"create_view_opts$macrocall$2"],postprocess:i},{name:"create_view_opts$macrocall$1$ebnf$1",symbols:["create_view_opts$macrocall$1$ebnf$1","create_view_opts$macrocall$1$ebnf$1$subexpression$1"],postprocess:e=>e[0].concat([e[1]])},{name:"create_view_opts$macrocall$1",symbols:["create_view_opts$macrocall$2","create_view_opts$macrocall$1$ebnf$1"],postprocess:([e,o])=>[s(e),...o.map(s)||[]]},{name:"create_view_opts",symbols:[r.lexerAny.has("kw_with")?{type:"kw_with"}:kw_with,"create_view_opts$macrocall$1"],postprocess:i},{name:"create_materialized_view$ebnf$1",symbols:["kw_ifnotexists"],postprocess:l},{name:"create_materialized_view$ebnf$1",symbols:[],postprocess:()=>null},{name:"create_materialized_view$ebnf$2$subexpression$1$macrocall$2",symbols:["ident"]},{name:"create_materialized_view$ebnf$2$subexpression$1$macrocall$1$ebnf$1",symbols:[]},{name:"create_materialized_view$ebnf$2$subexpression$1$macrocall$1$ebnf$1$subexpression$1",symbols:[r.lexerAny.has("comma")?{type:"comma"}:comma,"create_materialized_view$ebnf$2$subexpression$1$macrocall$2"],postprocess:i},{name:"create_materialized_view$ebnf$2$subexpression$1$macrocall$1$ebnf$1",symbols:["create_materialized_view$ebnf$2$subexpression$1$macrocall$1$ebnf$1","create_materialized_view$ebnf$2$subexpression$1$macrocall$1$ebnf$1$subexpression$1"],postprocess:e=>e[0].concat([e[1]])},{name:"create_materialized_view$ebnf$2$subexpression$1$macrocall$1",symbols:["create_materialized_view$ebnf$2$subexpression$1$macrocall$2","create_materialized_view$ebnf$2$subexpression$1$macrocall$1$ebnf$1"],postprocess:([e,o])=>[s(e),...o.map(s)||[]]},{name:"create_materialized_view$ebnf$2$subexpression$1",symbols:["lparen","create_materialized_view$ebnf$2$subexpression$1$macrocall$1","rparen"],postprocess:$(1)},{name:"create_materialized_view$ebnf$2",symbols:["create_materialized_view$ebnf$2$subexpression$1"],postprocess:l},{name:"create_materialized_view$ebnf$2",symbols:[],postprocess:()=>null},{name:"create_materialized_view$ebnf$3",symbols:["create_view_opts"],postprocess:l},{name:"create_materialized_view$ebnf$3",symbols:[],postprocess:()=>null},{name:"create_materialized_view$ebnf$4$subexpression$1",symbols:["kw_tablespace","ident"],postprocess:i},{name:"create_materialized_view$ebnf$4",symbols:["create_materialized_view$ebnf$4$subexpression$1"],postprocess:l},{name:"create_materialized_view$ebnf$4",symbols:[],postprocess:()=>null},{name:"create_materialized_view$ebnf$5$subexpression$1$ebnf$1",symbols:["kw_no"],postprocess:l},{name:"create_materialized_view$ebnf$5$subexpression$1$ebnf$1",symbols:[],postprocess:()=>null},{name:"create_materialized_view$ebnf$5$subexpression$1",symbols:[r.lexerAny.has("kw_with")?{type:"kw_with"}:kw_with,"create_materialized_view$ebnf$5$subexpression$1$ebnf$1","kw_data"]},{name:"create_materialized_view$ebnf$5",symbols:["create_materialized_view$ebnf$5$subexpression$1"],postprocess:l},{name:"create_materialized_view$ebnf$5",symbols:[],postprocess:()=>null},{name:"create_materialized_view",symbols:[r.lexerAny.has("kw_create")?{type:"kw_create"}:kw_create,"kw_materialized","kw_view","create_materialized_view$ebnf$1","qualified_name","create_materialized_view$ebnf$2","create_materialized_view$ebnf$3","create_materialized_view$ebnf$4",r.lexerAny.has("kw_as")?{type:"kw_as"}:kw_as,"selection","create_materialized_view$ebnf$5"],postprocess:e=>(0,n.track)(e,{type:"create materialized view",...e[3]&&{ifNotExists:!0},name:e[4],...e[5]&&{columnNames:e[6].map(u)},...e[6]&&{parameters:E(e[6])},...e[7]&&{tablespace:u(e[7])},query:e[9],...e[10]&&{withData:d(e[10][1])!=="no"}})},{name:"refresh_view_statements$ebnf$1",symbols:[r.lexerAny.has("kw_concurrently")?{type:"kw_concurrently"}:kw_concurrently],postprocess:l},{name:"refresh_view_statements$ebnf$1",symbols:[],postprocess:()=>null},{name:"refresh_view_statements$ebnf$2$subexpression$1$ebnf$1",symbols:["kw_no"],postprocess:l},{name:"refresh_view_statements$ebnf$2$subexpression$1$ebnf$1",symbols:[],postprocess:()=>null},{name:"refresh_view_statements$ebnf$2$subexpression$1",symbols:[r.lexerAny.has("kw_with")?{type:"kw_with"}:kw_with,"refresh_view_statements$ebnf$2$subexpression$1$ebnf$1","kw_data"]},{name:"refresh_view_statements$ebnf$2",symbols:["refresh_view_statements$ebnf$2$subexpression$1"],postprocess:l},{name:"refresh_view_statements$ebnf$2",symbols:[],postprocess:()=>null},{name:"refresh_view_statements",symbols:["kw_refresh","kw_materialized","kw_view","refresh_view_statements$ebnf$1","qname","refresh_view_statements$ebnf$2"],postprocess:e=>(0,n.track)(e,{type:"refresh materialized view",...e[3]?{concurrently:!0}:{},name:e[4],...e[5]?{withData:d(e[5][1])!=="no"}:{}})},{name:"functions_statements",symbols:["create_func"]},{name:"functions_statements",symbols:["do_stm"]},{name:"functions_statements",symbols:["drop_func"]},{name:"create_func$ebnf$1$subexpression$1",symbols:[r.lexerAny.has("kw_or")?{type:"kw_or"}:kw_or,"kw_replace"]},{name:"create_func$ebnf$1",symbols:["create_func$ebnf$1$subexpression$1"],postprocess:l},{name:"create_func$ebnf$1",symbols:[],postprocess:()=>null},{name:"create_func$subexpression$1$ebnf$1$macrocall$2",symbols:["func_argdef"]},{name:"create_func$subexpression$1$ebnf$1$macrocall$1$ebnf$1",symbols:[]},{name:"create_func$subexpression$1$ebnf$1$macrocall$1$ebnf$1$subexpression$1",symbols:[r.lexerAny.has("comma")?{type:"comma"}:comma,"create_func$subexpression$1$ebnf$1$macrocall$2"],postprocess:i},{name:"create_func$subexpression$1$ebnf$1$macrocall$1$ebnf$1",symbols:["create_func$subexpression$1$ebnf$1$macrocall$1$ebnf$1","create_func$subexpression$1$ebnf$1$macrocall$1$ebnf$1$subexpression$1"],postprocess:e=>e[0].concat([e[1]])},{name:"create_func$subexpression$1$ebnf$1$macrocall$1",symbols:["create_func$subexpression$1$ebnf$1$macrocall$2","create_func$subexpression$1$ebnf$1$macrocall$1$ebnf$1"],postprocess:([e,o])=>[s(e),...o.map(s)||[]]},{name:"create_func$subexpression$1$ebnf$1",symbols:["create_func$subexpression$1$ebnf$1$macrocall$1"],postprocess:l},{name:"create_func$subexpression$1$ebnf$1",symbols:[],postprocess:()=>null},{name:"create_func$subexpression$1",symbols:["lparen","create_func$subexpression$1$ebnf$1","rparen"],postprocess:$(1)},{name:"create_func$ebnf$2",symbols:["func_spec"]},{name:"create_func$ebnf$2",symbols:["create_func$ebnf$2","func_spec"],postprocess:e=>e[0].concat([e[1]])},{name:"create_func",symbols:[r.lexerAny.has("kw_create")?{type:"kw_create"}:kw_create,"create_func$ebnf$1","kw_function","qname","create_func$subexpression$1","create_func$ebnf$2"],postprocess:(e,o)=>{var t;const c={};for(const f of e[5]){for(const A in f)if(A[0]!=="_"&&A in c)throw new Error("conflicting or redundant options "+A);Object.assign(c,f)}return(0,n.track)(e,{type:"create function",...e[1]&&{orReplace:!0},name:e[3],arguments:(t=e[4])!==null&&t!==void 0?t:[],...c})}},{name:"func_argdef$ebnf$1",symbols:["func_argopts"],postprocess:l},{name:"func_argdef$ebnf$1",symbols:[],postprocess:()=>null},{name:"func_argdef$ebnf$2",symbols:["func_argdefault"],postprocess:l},{name:"func_argdef$ebnf$2",symbols:[],postprocess:()=>null},{name:"func_argdef",symbols:["func_argdef$ebnf$1","data_type","func_argdef$ebnf$2"],postprocess:e=>(0,n.track)(e,{default:e[2],type:e[1],...e[0]})},{name:"func_argdefault",symbols:[r.lexerAny.has("kw_default")?{type:"kw_default"}:kw_default,"expr"],postprocess:e=>e[1]},{name:"func_argdefault",symbols:[r.lexerAny.has("op_eq")?{type:"op_eq"}:op_eq,"expr"],postprocess:e=>e[1]},{name:"func_argopts$ebnf$1",symbols:["word"],postprocess:l},{name:"func_argopts$ebnf$1",symbols:[],postprocess:()=>null},{name:"func_argopts",symbols:["func_argmod","func_argopts$ebnf$1"],postprocess:e=>(0,n.track)(e,{mode:d(e[0]),...e[1]&&{name:u(e[1])}})},{name:"func_argopts",symbols:["word"],postprocess:(e,o)=>{const t=u(e);return t==="out"||t==="inout"||t==="variadic"?o:(0,n.track)(e,{name:t})}},{name:"func_argmod",symbols:[r.lexerAny.has("kw_in")?{type:"kw_in"}:kw_in]},{name:"func_argmod",symbols:["kw_out"]},{name:"func_argmod",symbols:["kw_inout"]},{name:"func_argmod",symbols:["kw_variadic"]},{name:"func_spec",symbols:["kw_language","word"],postprocess:e=>(0,n.track)(e,{language:u(i(e))})},{name:"func_spec",symbols:["func_purity"],postprocess:e=>(0,n.track)(e,{purity:d(e)})},{name:"func_spec$subexpression$1",symbols:[r.lexerAny.has("codeblock")?{type:"codeblock"}:codeblock]},{name:"func_spec$subexpression$1",symbols:["string"]},{name:"func_spec",symbols:[r.lexerAny.has("kw_as")?{type:"kw_as"}:kw_as,"func_spec$subexpression$1"],postprocess:e=>({code:d(i(e))})},{name:"func_spec$ebnf$1",symbols:[r.lexerAny.has("kw_not")?{type:"kw_not"}:kw_not],postprocess:l},{name:"func_spec$ebnf$1",symbols:[],postprocess:()=>null},{name:"func_spec$subexpression$2",symbols:["word"],postprocess:k("leakproof")},{name:"func_spec",symbols:["func_spec$ebnf$1","func_spec$subexpression$2"],postprocess:e=>(0,n.track)(e,{leakproof:!e[0]})},{name:"func_spec",symbols:["func_returns"],postprocess:e=>(0,n.track)(e,{returns:s(e)})},{name:"func_spec$subexpression$3",symbols:["word"],postprocess:k("called")},{name:"func_spec",symbols:["func_spec$subexpression$3","oninp"],postprocess:()=>({onNullInput:"call"})},{name:"func_spec$subexpression$4",symbols:["word"],postprocess:k("returns")},{name:"func_spec",symbols:["func_spec$subexpression$4",r.lexerAny.has("kw_null")?{type:"kw_null"}:kw_null,"oninp"],postprocess:()=>({onNullInput:"null"})},{name:"func_spec$subexpression$5",symbols:["word"],postprocess:k("strict")},{name:"func_spec",symbols:["func_spec$subexpression$5"],postprocess:()=>({onNullInput:"strict"})},{name:"func_purity",symbols:["word"],postprocess:k("immutable")},{name:"func_purity",symbols:["word"],postprocess:k("stable")},{name:"func_purity",symbols:["word"],postprocess:k("volatile")},{name:"oninp$subexpression$1",symbols:["word"],postprocess:k("input")},{name:"oninp",symbols:[r.lexerAny.has("kw_on")?{type:"kw_on"}:kw_on,r.lexerAny.has("kw_null")?{type:"kw_null"}:kw_null,"oninp$subexpression$1"]},{name:"func_returns",symbols:["kw_returns","data_type"],postprocess:i},{name:"func_returns$macrocall$2",symbols:["func_ret_table_col"]},{name:"func_returns$macrocall$1$ebnf$1",symbols:[]},{name:"func_returns$macrocall$1$ebnf$1$subexpression$1",symbols:[r.lexerAny.has("comma")?{type:"comma"}:comma,"func_returns$macrocall$2"],postprocess:i},{name:"func_returns$macrocall$1$ebnf$1",symbols:["func_returns$macrocall$1$ebnf$1","func_returns$macrocall$1$ebnf$1$subexpression$1"],postprocess:e=>e[0].concat([e[1]])},{name:"func_returns$macrocall$1",symbols:["func_returns$macrocall$2","func_returns$macrocall$1$ebnf$1"],postprocess:([e,o])=>[s(e),...o.map(s)||[]]},{name:"func_returns",symbols:["kw_returns",r.lexerAny.has("kw_table")?{type:"kw_table"}:kw_table,"lparen","func_returns$macrocall$1","rparen"],postprocess:e=>(0,n.track)(e,{kind:"table",columns:e[3]})},{name:"func_ret_table_col",symbols:["word","data_type"],postprocess:e=>(0,n.track)(e,{name:u(e[0]),type:e[1]})},{name:"do_stm$ebnf$1$subexpression$1",symbols:["kw_language","word"],postprocess:i},{name:"do_stm$ebnf$1",symbols:["do_stm$ebnf$1$subexpression$1"],postprocess:l},{name:"do_stm$ebnf$1",symbols:[],postprocess:()=>null},{name:"do_stm",symbols:[r.lexerAny.has("kw_do")?{type:"kw_do"}:kw_do,"do_stm$ebnf$1",r.lexerAny.has("codeblock")?{type:"codeblock"}:codeblock],postprocess:e=>(0,n.track)(e,{type:"do",...e[1]&&{language:u(e[1])},code:e[2].value})},{name:"drop_func$ebnf$1$subexpression$1",symbols:["kw_if","kw_exists"]},{name:"drop_func$ebnf$1",symbols:["drop_func$ebnf$1$subexpression$1"],postprocess:l},{name:"drop_func$ebnf$1",symbols:[],postprocess:()=>null},{name:"drop_func$ebnf$2",symbols:["drop_func_overload"],postprocess:l},{name:"drop_func$ebnf$2",symbols:[],postprocess:()=>null},{name:"drop_func",symbols:["kw_drop","kw_function","drop_func$ebnf$1","qname","drop_func$ebnf$2"],postprocess:e=>(0,n.track)(e,{type:"drop function",...e[2]&&{ifExists:!0},name:e[3],...e[4]&&{arguments:e[4]}})},{name:"drop_func_overload$macrocall$2",symbols:["drop_func_overload_col"]},{name:"drop_func_overload$macrocall$1$ebnf$1",symbols:[]},{name:"drop_func_overload$macrocall$1$ebnf$1$subexpression$1",symbols:[r.lexerAny.has("comma")?{type:"comma"}:comma,"drop_func_overload$macrocall$2"],postprocess:i},{name:"drop_func_overload$macrocall$1$ebnf$1",symbols:["drop_func_overload$macrocall$1$ebnf$1","drop_func_overload$macrocall$1$ebnf$1$subexpression$1"],postprocess:e=>e[0].concat([e[1]])},{name:"drop_func_overload$macrocall$1",symbols:["drop_func_overload$macrocall$2","drop_func_overload$macrocall$1$ebnf$1"],postprocess:([e,o])=>[s(e),...o.map(s)||[]]},{name:"drop_func_overload",symbols:["lparen","drop_func_overload$macrocall$1","rparen"],postprocess:$(1)},{name:"drop_func_overload_col$ebnf$1",symbols:["word"],postprocess:l},{name:"drop_func_overload_col$ebnf$1",symbols:[],postprocess:()=>null},{name:"drop_func_overload_col",symbols:["drop_func_overload_col$ebnf$1","qname"],postprocess:e=>(0,n.track)(e,{type:e[1],...e[0]&&{name:u(e[0])}})},{name:"main$ebnf$1",symbols:[]},{name:"main$ebnf$1",symbols:["main$ebnf$1","statement_separator"],postprocess:e=>e[0].concat([e[1]])},{name:"main$ebnf$2",symbols:[]},{name:"main$ebnf$2$subexpression$1$ebnf$1",symbols:["statement_separator"]},{name:"main$ebnf$2$subexpression$1$ebnf$1",symbols:["main$ebnf$2$subexpression$1$ebnf$1","statement_separator"],postprocess:e=>e[0].concat([e[1]])},{name:"main$ebnf$2$subexpression$1",symbols:["main$ebnf$2$subexpression$1$ebnf$1","statement"]},{name:"main$ebnf$2",symbols:["main$ebnf$2","main$ebnf$2$subexpression$1"],postprocess:e=>e[0].concat([e[1]])},{name:"main$ebnf$3",symbols:[]},{name:"main$ebnf$3",symbols:["main$ebnf$3","statement_separator"],postprocess:e=>e[0].concat([e[1]])},{name:"main",symbols:["main$ebnf$1","statement","main$ebnf$2","main$ebnf$3"],postprocess:([e,o,t])=>{const c=t,f=[s(o),...c.map(A=>s(A[1]))];return f.length===1?f[0]:f}},{name:"statement_separator",symbols:[r.lexerAny.has("semicolon")?{type:"semicolon"}:semicolon]},{name:"statement",symbols:["statement_noprep"]},{name:"statement",symbols:["prepare"]},{name:"statement",symbols:["deallocate"]},{name:"statement_noprep",symbols:["selection"]},{name:"statement_noprep",symbols:["createtable_statement"]},{name:"statement_noprep",symbols:["createextension_statement"]},{name:"statement_noprep",symbols:["createindex_statement"]},{name:"statement_noprep",symbols:["simplestatements_all"]},{name:"statement_noprep",symbols:["insert_statement"]},{name:"statement_noprep",symbols:["update_statement"]},{name:"statement_noprep",symbols:["altertable_statement"]},{name:"statement_noprep",symbols:["alterindex_statement"]},{name:"statement_noprep",symbols:["delete_statement"]},{name:"statement_noprep",symbols:["create_sequence_statement"]},{name:"statement_noprep",symbols:["alter_sequence_statement"]},{name:"statement_noprep",symbols:["drop_statement"]},{name:"statement_noprep",symbols:["createtype_statement"]},{name:"statement_noprep",symbols:["altertype_statement"]},{name:"statement_noprep",symbols:["create_view_statements"]},{name:"statement_noprep",symbols:["refresh_view_statements"]},{name:"statement_noprep",symbols:["create_schema"]},{name:"statement_noprep",symbols:["raise_statement"]},{name:"statement_noprep",symbols:["comment_statement"]},{name:"statement_noprep",symbols:["functions_statements"]},{name:"selection",symbols:["select_statement"],postprocess:s},{name:"selection",symbols:["select_values"],postprocess:s},{name:"selection",symbols:["with_statement"],postprocess:s},{name:"selection",symbols:["with_recursive_statement"],postprocess:s},{name:"selection",symbols:["union_statement"],postprocess:s},{name:"selection_paren",symbols:["lparen","selection","rparen"],postprocess:$(1)}],ParserStart:"main"};p.default=U}),(function(_,p,h){Object.defineProperty(p,"__esModule",{value:!0});function l(g){return g[0]}const r=h(12),n=g=>g&&g[g.length-1],u={Lexer:r.lexerAny,ParserRules:[{name:"main$ebnf$1",symbols:["elements"],postprocess:l},{name:"main$ebnf$1",symbols:[],postprocess:()=>null},{name:"main",symbols:[r.lexerAny.has("start_list")?{type:"start_list"}:start_list,"main$ebnf$1",r.lexerAny.has("end_list")?{type:"end_list"}:end_list],postprocess:g=>g[1]||[]},{name:"elements$ebnf$1",symbols:[]},{name:"elements$ebnf$1$subexpression$1",symbols:[r.lexerAny.has("comma")?{type:"comma"}:comma,"elt"],postprocess:n},{name:"elements$ebnf$1",symbols:["elements$ebnf$1","elements$ebnf$1$subexpression$1"],postprocess:g=>g[0].concat([g[1]])},{name:"elements",symbols:["elt","elements$ebnf$1"],postprocess:([g,x])=>[g,...x||[]]},{name:"elt",symbols:[r.lexerAny.has("value")?{type:"value"}:value],postprocess:g=>g[0].value},{name:"elt",symbols:["main"],postprocess:g=>g[0]}],ParserStart:"main"};p.default=u}),(function(_,p,h){Object.defineProperty(p,"__esModule",{value:!0}),p.lexerAny=p.lexer=void 0;const l=h(0);p.lexer=(0,l.compile)({valueString:{match:/"(?:\\["\\]|[^\n"\\])*"/,value:r=>JSON.parse(r),type:r=>"value"},valueRaw:{match:/[^\s,\{\}"](?:[^,\{\}"]*[^\s,\{\}"])?/,type:()=>"value"},comma:",",space:{match:/[\s\t\n\v\f\r]+/,lineBreaks:!0},start_list:"{",end_list:"}"}),p.lexer.next=(r=>()=>{let n;for(;(n=r.call(p.lexer))&&n.type==="space";);return n})(p.lexer.next),p.lexerAny=p.lexer}),(function(_,p,h){Object.defineProperty(p,"__esModule",{value:!0});function l(s){return s[0]}const r=h(14),n=s=>$=>$[s],u=s=>s&&s[s.length-1];function g(s){return Array.isArray(s)&&s.length===1&&(s=g(s[0])),Array.isArray(s)&&!s.length?null:s}const x={Lexer:r.lexerAny,ParserRules:[{name:"number$subexpression$1",symbols:["float"]},{name:"number$subexpression$1",symbols:["int"]},{name:"number",symbols:["number$subexpression$1"],postprocess:g},{name:"float",symbols:[r.lexerAny.has("float")?{type:"float"}:float],postprocess:s=>parseFloat(g(s))},{name:"int",symbols:[r.lexerAny.has("int")?{type:"int"}:int],postprocess:s=>parseInt(g(s),10)},{name:"comma",symbols:[r.lexerAny.has("comma")?{type:"comma"}:comma],postprocess:l},{name:"point$macrocall$2",symbols:["point_content"]},{name:"point$macrocall$1$subexpression$1",symbols:["point$macrocall$2"]},{name:"point$macrocall$1$subexpression$1",symbols:[r.lexerAny.has("lparen")?{type:"lparen"}:lparen,"point$macrocall$2",r.lexerAny.has("rparen")?{type:"rparen"}:rparen],postprocess:n(1)},{name:"point$macrocall$1",symbols:["point$macrocall$1$subexpression$1"],postprocess:g},{name:"point",symbols:["point$macrocall$1"],postprocess:g},{name:"point_content",symbols:["number","comma","number"],postprocess:s=>({x:s[0],y:s[2]})},{name:"line",symbols:[r.lexerAny.has("lcurl")?{type:"lcurl"}:lcurl,"number","comma","number","comma","number",r.lexerAny.has("rcurl")?{type:"rcurl"}:rcurl],postprocess:s=>({a:s[1],b:s[3],c:s[5]})},{name:"box",symbols:["closed_path"],postprocess:([s],$)=>s.length!==2?$:s},{name:"lseg",symbols:["path"],postprocess:([s],$)=>s.path.length!==2?$:s.path},{name:"path",symbols:["open_path"],postprocess:([s])=>({closed:!1,path:s})},{name:"path",symbols:["closed_path"],postprocess:([s])=>({closed:!0,path:s})},{name:"open_path$macrocall$2",symbols:[r.lexerAny.has("lbracket")?{type:"lbracket"}:lbracket]},{name:"open_path$macrocall$3",symbols:[r.lexerAny.has("rbracket")?{type:"rbracket"}:rbracket]},{name:"open_path$macrocall$1$macrocall$2",symbols:["point"]},{name:"open_path$macrocall$1$macrocall$1$ebnf$1",symbols:[]},{name:"open_path$macrocall$1$macrocall$1$ebnf$1$subexpression$1",symbols:[r.lexerAny.has("comma")?{type:"comma"}:comma,"open_path$macrocall$1$macrocall$2"],postprocess:u},{name:"open_path$macrocall$1$macrocall$1$ebnf$1",symbols:["open_path$macrocall$1$macrocall$1$ebnf$1","open_path$macrocall$1$macrocall$1$ebnf$1$subexpression$1"],postprocess:s=>s[0].concat([s[1]])},{name:"open_path$macrocall$1$macrocall$1",symbols:["open_path$macrocall$1$macrocall$2","open_path$macrocall$1$macrocall$1$ebnf$1"],postprocess:([s,$])=>[g(s),...$.map(g)||[]]},{name:"open_path$macrocall$1",symbols:["open_path$macrocall$2","open_path$macrocall$1$macrocall$1","open_path$macrocall$3"],postprocess:n(1)},{name:"open_path",symbols:["open_path$macrocall$1"],postprocess:u},{name:"closed_path$subexpression$1$macrocall$2",symbols:[r.lexerAny.has("lparen")?{type:"lparen"}:lparen]},{name:"closed_path$subexpression$1$macrocall$3",symbols:[r.lexerAny.has("rparen")?{type:"rparen"}:rparen]},{name:"closed_path$subexpression$1$macrocall$1$macrocall$2",symbols:["point"]},{name:"closed_path$subexpression$1$macrocall$1$macrocall$1$ebnf$1",symbols:[]},{name:"closed_path$subexpression$1$macrocall$1$macrocall$1$ebnf$1$subexpression$1",symbols:[r.lexerAny.has("comma")?{type:"comma"}:comma,"closed_path$subexpression$1$macrocall$1$macrocall$2"],postprocess:u},{name:"closed_path$subexpression$1$macrocall$1$macrocall$1$ebnf$1",symbols:["closed_path$subexpression$1$macrocall$1$macrocall$1$ebnf$1","closed_path$subexpression$1$macrocall$1$macrocall$1$ebnf$1$subexpression$1"],postprocess:s=>s[0].concat([s[1]])},{name:"closed_path$subexpression$1$macrocall$1$macrocall$1",symbols:["closed_path$subexpression$1$macrocall$1$macrocall$2","closed_path$subexpression$1$macrocall$1$macrocall$1$ebnf$1"],postprocess:([s,$])=>[g(s),...$.map(g)||[]]},{name:"closed_path$subexpression$1$macrocall$1",symbols:["closed_path$subexpression$1$macrocall$2","closed_path$subexpression$1$macrocall$1$macrocall$1","closed_path$subexpression$1$macrocall$3"],postprocess:n(1)},{name:"closed_path$subexpression$1",symbols:["closed_path$subexpression$1$macrocall$1"],postprocess:u},{name:"closed_path$subexpression$1$macrocall$5",symbols:["point"]},{name:"closed_path$subexpression$1$macrocall$4$ebnf$1",symbols:[]},{name:"closed_path$subexpression$1$macrocall$4$ebnf$1$subexpression$1",symbols:[r.lexerAny.has("comma")?{type:"comma"}:comma,"closed_path$subexpression$1$macrocall$5"],postprocess:u},{name:"closed_path$subexpression$1$macrocall$4$ebnf$1",symbols:["closed_path$subexpression$1$macrocall$4$ebnf$1","closed_path$subexpression$1$macrocall$4$ebnf$1$subexpression$1"],postprocess:s=>s[0].concat([s[1]])},{name:"closed_path$subexpression$1$macrocall$4",symbols:["closed_path$subexpression$1$macrocall$5","closed_path$subexpression$1$macrocall$4$ebnf$1"],postprocess:([s,$])=>[g(s),...$.map(g)||[]]},{name:"closed_path$subexpression$1",symbols:["closed_path$subexpression$1$macrocall$4"],postprocess:u},{name:"closed_path",symbols:["closed_path$subexpression$1"],postprocess:n(0)},{name:"polygon",symbols:["closed_path"],postprocess:n(0)},{name:"circle_body",symbols:["point","comma","number"],postprocess:s=>({c:s[0],r:s[2]})},{name:"circle$subexpression$1$macrocall$2",symbols:[r.lexerAny.has("lcomp")?{type:"lcomp"}:lcomp]},{name:"circle$subexpression$1$macrocall$3",symbols:[r.lexerAny.has("rcomp")?{type:"rcomp"}:rcomp]},{name:"circle$subexpression$1$macrocall$1",symbols:["circle$subexpression$1$macrocall$2","circle_body","circle$subexpression$1$macrocall$3"],postprocess:n(1)},{name:"circle$subexpression$1",symbols:["circle$subexpression$1$macrocall$1"]},{name:"circle$subexpression$1$macrocall$5",symbols:[r.lexerAny.has("lparen")?{type:"lparen"}:lparen]},{name:"circle$subexpression$1$macrocall$6",symbols:[r.lexerAny.has("rparen")?{type:"rparen"}:rparen]},{name:"circle$subexpression$1$macrocall$4",symbols:["circle$subexpression$1$macrocall$5","circle_body","circle$subexpression$1$macrocall$6"],postprocess:n(1)},{name:"circle$subexpression$1",symbols:["circle$subexpression$1$macrocall$4"]},{name:"circle$subexpression$1",symbols:["circle_body"]},{name:"circle",symbols:["circle$subexpression$1"],postprocess:g}],ParserStart:"number"};p.default=x}),(function(_,p,h){Object.defineProperty(p,"__esModule",{value:!0}),p.lexerAny=p.lexer=void 0;const l=h(0);p.lexer=(0,l.compile)({comma:",",space:{match:/[\s\t\n\v\f\r]+/,lineBreaks:!0},int:/\-?\d+(?![\.\d])/,float:/\-?(?:(?:\d*\.\d+)|(?:\d+\.\d*))/,lcurl:"{",rcurl:"}",lparen:"(",rparen:")",lbracket:"[",rbracket:"]",lcomp:"<",rcomp:">"}),p.lexer.next=(r=>()=>{let n;for(;(n=r.call(p.lexer))&&n.type==="space";);return n})(p.lexer.next),p.lexerAny=p.lexer}),(function(_,p,h){Object.defineProperty(p,"__esModule",{value:!0});function l(u){return u[0]}const r=h(16),n={Lexer:r.lexerAny,ParserRules:[{name:"main$ebnf$1",symbols:["elt"]},{name:"main$ebnf$1",symbols:["main$ebnf$1","elt"],postprocess:u=>u[0].concat([u[1]])},{name:"main",symbols:["main$ebnf$1"],postprocess:([u])=>{const g=new Set;for(const x of u){const s=typeof x[1]=="number"?x[0]:"time";if(g.has(s))return"invalid";g.add(s)}return u}},{name:"elt",symbols:["time"]},{name:"elt",symbols:["num","unit"],postprocess:([[u],g])=>(g=g[0].type,[g,u])},{name:"unit",symbols:[r.lexerAny.has("years")?{type:"years"}:years]},{name:"unit",symbols:[r.lexerAny.has("months")?{type:"months"}:months]},{name:"unit",symbols:[r.lexerAny.has("days")?{type:"days"}:days]},{name:"unit",symbols:[r.lexerAny.has("hours")?{type:"hours"}:hours]},{name:"unit",symbols:[r.lexerAny.has("minutes")?{type:"minutes"}:minutes]},{name:"unit",symbols:[r.lexerAny.has("seconds")?{type:"seconds"}:seconds]},{name:"unit",symbols:[r.lexerAny.has("milliseconds")?{type:"milliseconds"}:milliseconds]},{name:"num",symbols:["int"]},{name:"num",symbols:["float"]},{name:"uint",symbols:[r.lexerAny.has("int")?{type:"int"}:int],postprocess:([u])=>parseInt(u,10)},{name:"int$ebnf$1$subexpression$1",symbols:[r.lexerAny.has("neg")?{type:"neg"}:neg]},{name:"int$ebnf$1",symbols:["int$ebnf$1$subexpression$1"],postprocess:l},{name:"int$ebnf$1",symbols:[],postprocess:()=>null},{name:"int",symbols:["int$ebnf$1",r.lexerAny.has("int")?{type:"int"}:int],postprocess:([u,g])=>parseInt(g,10)*(u?-1:1)},{name:"float$ebnf$1$subexpression$1",symbols:[r.lexerAny.has("neg")?{type:"neg"}:neg]},{name:"float$ebnf$1",symbols:["float$ebnf$1$subexpression$1"],postprocess:l},{name:"float$ebnf$1",symbols:[],postprocess:()=>null},{name:"float$ebnf$2",symbols:[r.lexerAny.has("int")?{type:"int"}:int],postprocess:l},{name:"float$ebnf$2",symbols:[],postprocess:()=>null},{name:"float",symbols:["float$ebnf$1","float$ebnf$2",r.lexerAny.has("dot")?{type:"dot"}:dot,r.lexerAny.has("int")?{type:"int"}:int],postprocess:([u,...g])=>parseFloat(g.map(x=>x?x.text:"0").join(""))*(u?-1:1)},{name:"time$ebnf$1$subexpression$1",symbols:[r.lexerAny.has("colon")?{type:"colon"}:colon,"uint"]},{name:"time$ebnf$1",symbols:["time$ebnf$1$subexpression$1"],postprocess:l},{name:"time$ebnf$1",symbols:[],postprocess:()=>null},{name:"time$ebnf$2$subexpression$1",symbols:[r.lexerAny.has("dot")?{type:"dot"}:dot,r.lexerAny.has("int")?{type:"int"}:int]},{name:"time$ebnf$2",symbols:["time$ebnf$2$subexpression$1"],postprocess:l},{name:"time$ebnf$2",symbols:[],postprocess:()=>null},{name:"time",symbols:["uint",r.lexerAny.has("colon")?{type:"colon"}:colon,"uint","time$ebnf$1","time$ebnf$2"],postprocess:([u,g,x,s,$])=>{s=s&&s[1],$=$&&$[1];const i=typeof s=="number"?[["hours",u],["minutes",x],["seconds",s]]:[["minutes",u],["seconds",x]];return $&&i.push(["milliseconds",parseFloat("0."+$)*1e3]),i}}],ParserStart:"main"};p.default=n}),(function(_,p,h){Object.defineProperty(p,"__esModule",{value:!0}),p.lexerAny=p.lexer=void 0;const l=h(0);p.lexer=(0,l.compile)({int:/\d+/,neg:"-",dot:".",years:/(?:y|yrs?|years?)\b/,months:/(?:mon(?:th)?s?)\b/,days:/(?:d|days?)\b/,hours:/(?:h|hrs?|hours?)\b/,minutes:/(?:m|mins?|minutes?)\b/,seconds:/(?:s|secs?|seconds?)\b/,milliseconds:/(?:ms|milliseconds?)\b/,space:{match:/[\s\t\n\v\f\r]+/,lineBreaks:!0},colon:":"}),p.lexer.next=(r=>()=>{let n;for(;(n=r.call(p.lexer))&&n.type==="space";);return n})(p.lexer.next),p.lexerAny=p.lexer}),(function(_,p,h){Object.defineProperty(p,"__esModule",{value:!0});function l(u){return u[0]}const r=h(18),n={Lexer:r.lexerAny,ParserRules:[{name:"num",symbols:[r.lexerAny.has("int")?{type:"int"}:int]},{name:"num",symbols:[r.lexerAny.has("float")?{type:"float"}:float]},{name:"main$ebnf$1",symbols:[]},{name:"main$ebnf$1",symbols:["main$ebnf$1","long"],postprocess:u=>u[0].concat([u[1]])},{name:"main$ebnf$2$subexpression$1$ebnf$1",symbols:["short"]},{name:"main$ebnf$2$subexpression$1$ebnf$1",symbols:["main$ebnf$2$subexpression$1$ebnf$1","short"],postprocess:u=>u[0].concat([u[1]])},{name:"main$ebnf$2$subexpression$1",symbols:[r.lexerAny.has("T")?{type:"T"}:T,"main$ebnf$2$subexpression$1$ebnf$1"]},{name:"main$ebnf$2",symbols:["main$ebnf$2$subexpression$1"],postprocess:l},{name:"main$ebnf$2",symbols:[],postprocess:()=>null},{name:"main",symbols:[r.lexerAny.has("P")?{type:"P"}:P,"main$ebnf$1","main$ebnf$2"],postprocess:([u,g,x],s)=>(x=x?x[1]:[],!g.length&&!x.length?s:g.length?x.length?[...g,...x]:g:x)},{name:"long$subexpression$1",symbols:[r.lexerAny.has("Y")?{type:"Y"}:Y]},{name:"long$subexpression$1",symbols:[r.lexerAny.has("M")?{type:"M"}:M]},{name:"long$subexpression$1",symbols:[r.lexerAny.has("W")?{type:"W"}:W]},{name:"long$subexpression$1",symbols:[r.lexerAny.has("D")?{type:"D"}:D]},{name:"long",symbols:["num","long$subexpression$1"],postprocess:([u,g])=>{switch(u=parseFloat(u[0].value),g=g[0].type,g){case"Y":return["years",u];case"M":return["months",u];case"W":return["days",u*7];case"D":return["days",u];default:throw new Error("Unexpected unit "+g)}}},{name:"short$ebnf$1",symbols:[r.lexerAny.has("T")?{type:"T"}:T],postprocess:l},{name:"short$ebnf$1",symbols:[],postprocess:()=>null},{name:"short$subexpression$1",symbols:[r.lexerAny.has("H")?{type:"H"}:H]},{name:"short$subexpression$1",symbols:[r.lexerAny.has("M")?{type:"M"}:M]},{name:"short$subexpression$1",symbols:[r.lexerAny.has("S")?{type:"S"}:S]},{name:"short",symbols:["short$ebnf$1","num","short$subexpression$1"],postprocess:([u,g,x])=>{switch(g=parseFloat(g[0].value),x=x[0].type,x){case"H":return["hours",g];case"M":return["minutes",g];case"S":return["seconds",g];default:throw new Error("Unexpected unit "+x)}}}],ParserStart:"num"};p.default=n}),(function(_,p,h){Object.defineProperty(p,"__esModule",{value:!0}),p.lexerAny=p.lexer=void 0;const l=h(0);p.lexer=(0,l.compile)({int:/\-?\d+(?![\.\d])/,float:/\-?(?:(?:\d*\.\d+)|(?:\d+\.\d*))/,P:"P",Y:"Y",M:"M",W:"W",D:"D",H:"H",S:"S",T:"T"}),p.lexerAny=p.lexer}),(function(_,p,h){Object.defineProperty(p,"__esModule",{value:!0}),p.toSql=void 0;const l=h(2),r=h(5),n=h(6),u=h(20),g=h(3),x=new Set(g.sqlKeywords.map(o=>o.toLowerCase()));let s=[];function $(o){return i(o.name)}function i(o,t){if(!t){const c=o.toLowerCase();if(c===o&&!x.has(c)&&/^[a-z][a-z0-9_]*$/.test(c))return o}return'"'+o+'"'}function a(o,t,c){c&&s.push("(");let f=!0;for(const A of o)f||s.push(", "),f=!1,t(A);c&&s.push(")")}function m(o,t){switch(o.type){case"foreign key":s.push(" foreign key (",...o.localColumns.map($).join(", "),")");case"reference":s.push(" REFERENCES "),t.tableRef(o.foreignTable),s.push("(",...o.foreignColumns.map($).join(", "),") "),o.match&&s.push(" MATCH ",o.match.toUpperCase()),o.onDelete&&s.push(" ON DELETE ",o.onDelete),o.onUpdate&&s.push(" ON UPDATE ",o.onUpdate);break;case"primary key":case"unique":s.push(" ",o.type," "),"columns"in o&&s.push("(",...o.columns.map($).join(", "),") ");break;case"check":s.push(" check "),t.expr(o.expr);break;case"not null":case"null":s.push(" ",o.type," ");break;case"default":s.push(" default "),t.expr(o.default);break;case"add generated":s.push(" GENERATED "),L(t,o);break;default:throw n.NotSupported.never(o)}s.push(" ")}function b(o,t){o.schema&&s.push(i(o.schema),"."),s.push(i(o.name,t)," ")}function d(o){b(o),o.alias&&s.push(" AS ",i(o.alias)," ")}function E(o,t){s.push(" ORDER BY "),a(t,c=>{o.expr(c.by),c.order&&s.push(" ",c.order," "),c.nulls&&s.push(" NULLS ",c.nulls," ")},!1)}function C(o){switch(o.type){case"default":s.push("DEFAULT ");break;case"identifier":s.push(o.name);break;case"list":let t=!0;for(const c of o.values)t||s.push(", "),t=!1,C(c);break;case"value":s.push(typeof o.value=="number"?o.value.toString():(0,u.literal)(o.value));break;default:throw n.NotSupported.never(o)}}function L(o,t){t.always&&s.push(t.always.toUpperCase()," "),s.push("AS IDENTITY "),t.sequence&&(s.push("("),t.sequence.name&&(s.push("SEQUENCE NAME "),b(t.sequence.name),s.push(" ")),w(o,t.sequence),s.push(") "))}function w(o,t){t.as&&(s.push("AS "),o.dataType(t.as),s.push(" ")),typeof t.incrementBy=="number"&&s.push("INCREMENT BY ",t.incrementBy.toString()," "),t.minValue==="no minvalue"&&s.push("NO MINVALUE "),typeof t.minValue=="number"&&s.push("MINVALUE ",t.minValue.toString()," "),t.maxValue==="no maxvalue"&&s.push("NO MAXVALUE "),typeof t.maxValue=="number"&&s.push("MAXVALUE ",t.maxValue.toString()," "),typeof t.startWith=="number"&&s.push("START WITH ",t.startWith.toString()," "),typeof t.cache=="number"&&s.push("CACHE ",t.cache.toString()," "),t.cycle&&s.push(t.cycle," "),t.ownedBy==="none"?s.push("OWNED BY NONE "):t.ownedBy&&(s.push("OWNED BY "),k(t.ownedBy)),"restart"in t&&(t.restart===!0?s.push("RESTART "):t.restart&&s.push("RESTART WITH ",t.restart.toString()," "))}function k(o){o.schema&&s.push(i(o.schema),"."),s.push(i(o.table),".",i(o.column)," ")}function v(o,t,c){if(!t){c();return}s.push(t.type," "),c(),t.on&&(s.push("ON "),o.expr(t.on)),t.using&&(s.push("USING ("),a(t.using,f=>s.push($(f)),!1),s.push(") ")),s.push(" ")}function N(o){o.opSchema?s.push(" operator(",i(o.opSchema),".",o.op,") "):s.push(" ",o.op," ")}const U=(0,r.astVisitor)(o=>({addColumn:(...t)=>{s.push(" ADD COLUMN "),t[0].ifNotExists&&s.push("IF NOT EXISTS "),o.super().addColumn(...t)},createExtension:t=>{s.push("CREATE EXTENSION "),t.ifNotExists&&s.push(" IF NOT EXISTS "),s.push($(t.extension)),!(!t.from&&!t.version&&!t.schema)&&(s.push(" WITH"),t.schema&&s.push(" SCHEMA ",$(t.schema)),t.version&&s.push(" VERSION ",(0,u.literal)(t.version.value)),t.from&&s.push(" FROM ",(0,u.literal)(t.from.value)))},tablespace:t=>{s.push("TABLESPACE ",$(t.tablespace))},addConstraint:t=>{s.push(" ADD ");const c=t.constraint.constraintName;c&&s.push(" CONSTRAINT ",$(c)," "),m(t.constraint,o)},alterColumn:(t,c)=>{s.push(" ALTER COLUMN ",$(t.column)," "),o.super().alterColumn(t,c)},setColumnDefault:(t,c,f)=>{if(s.push(" SET DEFAULT "),o.expr(t.default),t.updateExisting)throw new Error("Not implemented: updateExisting on set column default")},createEnum:t=>{s.push("CREATE TYPE "),b(t.name),s.push(" AS ENUM "),a(t.values,c=>s.push((0,u.literal)(c.value)),!0),s.push(" ")},alterEnum:t=>{s.push("ALTER TYPE "),b(t.name),t.change.type==="rename"?(s.push(" RENAME TO "),b(t.change.to)):s.push(" ADD VALUE ",(0,u.literal)(t.change.add.value))},createCompositeType:t=>{s.push("CREATE TYPE "),b(t.name),s.push(" AS "),a(t.attributes,c=>{s.push($(c.name)," "),o.dataType(c.dataType),c.collate&&(s.push("COLLATE "),b(c.collate))},!0),s.push(" ")},setTableOwner:t=>{s.push(" OWNER TO ",$(t.to))},alterColumnSimple:t=>s.push(t.type),alterColumnAddGenerated:t=>{s.push(" ADD GENERATED "),L(o,t)},setColumnType:t=>{s.push(" SET DATA TYPE "),o.dataType(t.dataType),s.push(" ")},alterTable:t=>{s.push("ALTER TABLE "),t.ifExists&&s.push(" IF EXISTS "),t.only&&s.push(" ONLY "),d(t.table),a(t.changes,c=>o.tableAlteration(c,t.table),!1)},alterIndex:t=>{switch(s.push("ALTER INDEX "),t.ifExists&&s.push(" IF EXISTS "),d(t.index),t.change.type){case"rename":s.push(" RENAME TO "),b(t.change.to),s.push(" ");break;case"set tablespace":s.push(" SET TABLESPACE "),b(t.change.tablespace),s.push(" ");break;default:throw n.NotSupported.never(t.change,"Alter index type not supported: ")}},tableAlteration:(t,c)=>{switch(t.type){case"add column":return o.addColumn(t,c);case"add constraint":return o.addConstraint(t,c);case"alter column":return o.alterColumn(t,c);case"rename":return o.renameTable(t,c);case"rename column":return o.renameColumn(t,c);case"rename constraint":return o.renameConstraint(t,c);case"drop column":return o.dropColumn(t,c);case"drop constraint":return o.dropConstraint(t,c);case"owner":return o.setTableOwner(t,c);default:throw n.NotSupported.never(t)}},array:t=>{s.push(t.type==="array"?"ARRAY[":"("),a(t.expressions,c=>o.expr(c),!1),s.push(t.type==="array"?"]":")")},arrayIndex:t=>{o.expr(t.array),s.push("["),o.expr(t.index),s.push("] ")},expr:t=>{if(t.type==="ref"){o.ref(t);return}if(t.type==="list"){o.super().expr(t);return}s.push("("),o.super().expr(t),s.push(")")},callOverlay:t=>{s.push("OVERLAY("),o.expr(t.value),s.push(" PLACING "),o.expr(t.placing),s.push(" FROM "),o.expr(t.from),t.for&&(s.push(" FOR "),o.expr(t.for)),s.push(")")},callSubstring:t=>{s.push("SUBSTRING("),o.expr(t.value),t.from&&(s.push(" FROM "),o.expr(t.from)),t.for&&(s.push(" FOR "),o.expr(t.for)),s.push(")")},binary:t=>{o.expr(t.left),N(t),o.expr(t.right)},call:t=>{b(t.function),s.push("("),t.distinct&&s.push(t.distinct," "),a(t.args,c=>o.expr(c),!1),t.orderBy&&E(o,t.orderBy),s.push(") "),t.filter&&(s.push("filter (where "),o.expr(t.filter),s.push(") ")),t.withinGroup&&(s.push("WITHIN GROUP ("),E(o,[t.withinGroup]),s.push(") ")),t.over&&(s.push("over ("),t.over.partitionBy&&(s.push("PARTITION BY "),a(t.over.partitionBy,c=>o.expr(c),!1),s.push(" ")),t.over.orderBy&&(E(o,t.over.orderBy),s.push(" ")),s.push(") "))},case:t=>{s.push("CASE "),t.value&&o.expr(t.value);for(const c of t.whens)s.push(" WHEN "),o.expr(c.when),s.push(" THEN "),o.expr(c.value);t.else&&(s.push(" ELSE "),o.expr(t.else)),s.push(" END ")},cast:t=>{o.expr(t.operand),s.push("::"),o.dataType(t.to)},constant:t=>{switch(t.type){case"boolean":s.push(t.value?"true":"false");break;case"integer":s.push(t.value.toString(10));break;case"numeric":s.push(t.value.toString()),Number.isInteger(t.value)&&s.push(".");break;case"null":s.push("null");break;case"constant":break;case"string":s.push((0,u.literal)(t.value));break;default:throw n.NotSupported.never(t)}},valueKeyword:t=>{s.push(t.keyword," ")},comment:t=>{s.push("COMMENT ON ",t.on.type.toUpperCase()," "),t.on.type==="column"?k(t.on.column):b(t.on.name),s.push(" IS ",(0,u.literal)(t.comment)," ")},extract:t=>{s.push("EXTRACT (",t.field.name.toUpperCase()," FROM "),o.expr(t.from),s.push(") ")},createColumn:t=>{var c;s.push($(t.name)," "),o.dataType(t.dataType),s.push(" "),t.collate&&(s.push("COLLATE "),b(t.collate));for(const f of(c=t.constraints)!==null&&c!==void 0?c:[])o.constraint(f)},begin:t=>{s.push("BEGIN "),t.isolationLevel&&s.push("ISOLATION LEVEL ",t.isolationLevel.toUpperCase()," "),t.writeable&&s.push(t.writeable.toUpperCase()," "),typeof t.deferrable=="boolean"&&(t.deferrable||s.push("NOT "),s.push("DEFERRABLE "))},alterSequence:t=>{switch(s.push("ALTER SEQUENCE "),t.ifExists&&s.push("IF EXISTS "),b(t.name),t.change.type){case"set options":w(o,t.change);break;case"rename":s.push("RENAME TO ",$(t.change.newName)," ");break;case"set schema":s.push("SET SCHEMA ",$(t.change.newSchema)," ");break;case"owner to":t.change.owner,s.push("OWNER TO ",$(t.change.owner)," ");break;default:throw n.NotSupported.never(t.change)}},createSequence:t=>{s.push("CREATE "),t.temp&&s.push("TEMPORARY "),s.push("SEQUENCE "),t.ifNotExists&&s.push("IF NOT EXISTS "),b(t.name),w(o,t.options)},drop:t=>{s.push(t.type.toUpperCase()," "),t.concurrently&&s.push("CONCURRENTLY "),t.ifExists&&s.push("IF EXISTS "),a(t.names,c=>o.tableRef(c),!1),t.cascade&&s.push(t.cascade.toUpperCase()," ")},constraint:t=>{t.constraintName&&s.push(" CONSTRAINT ",$(t.constraintName)," "),m(t,o)},do:t=>{s.push("DO"),t.language&&s.push(" LANGUAGE ",t.language.name),s.push(" $$",t.code,"$$")},createFunction:t=>{var c;if(s.push(t.orReplace?"CREATE OR REPLACE FUNCTION ":"CREATE FUNCTION "),b(t.name),a(t.arguments,f=>{f.mode&&s.push(f.mode," "),f.name&&s.push($(f.name)," "),o.dataType(f.type),f.default&&(s.push(" = "),o.expr(f.default))},!0),t.returns)switch(t.returns.kind){case"table":s.push(" RETURNS TABLE "),a(t.returns.columns,f=>{s.push($(f.name)," "),o.dataType(f.type)},!0);break;case void 0:case null:case"array":s.push(" RETURNS "),o.dataType(t.returns);break;default:throw n.NotSupported.never(t.returns)}switch(s.push(" AS $$",(c=t.code)!==null&&c!==void 0?c:"","$$"),t.language&&s.push("LANGUAGE ",t.language.name," "),t.purity&&s.push(t.purity.toUpperCase()," "),typeof t.leakproof=="boolean"&&s.push(t.leakproof?"LEAKPROOF ":"NOT LEAKPROOF "),t.onNullInput){case"call":s.push("CALLED ON NULL INPUT ");break;case"null":s.push("RETURNS NULL ON NULL INPUT ");break;case"strict":s.push("STRICT ");break;case null:case void 0:break;default:throw n.NotSupported.never(t.onNullInput)}},dropFunction:t=>{s.push("DROP FUNCTION "),t.ifExists&&s.push("IF EXISTS "),b(t.name),t.arguments&&a(t.arguments,c=>{c.name&&(b(c.name),s.push(" ")),o.dataType(c.type)},!0),s.push(" ")},with:t=>{s.push("WITH "),a(t.bind,c=>{s.push($(c.alias)," AS ("),o.statement(c.statement),s.push(") ")},!1),o.statement(t.in)},withRecursive:t=>{s.push("WITH RECURSIVE ",$(t.alias),"(",...t.columnNames.map($).join(", "),") AS ("),o.union(t.bind),s.push(") "),o.statement(t.in)},setGlobal:t=>{s.push("SET "),t.scope&&s.push(t.scope.toUpperCase()+" "),s.push($(t.variable)," = "),C(t.set)},setTimezone:t=>{switch(s.push("SET TIME ZONE "),t.to.type){case"default":case"local":s.push(t.to.type.toUpperCase()," ");break;case"value":s.push(typeof t.to.value=="string"?(0,u.literal)(t.to.value):t.to.value.toString(10));break;case"interval":s.push("INTERVAL ",(0,u.literal)(t.to.value)," HOUR TO MINUTE");break;default:throw n.NotSupported.never(t.to)}},setNames:t=>{s.push("SET NAMES "),t.to.type==="value"&&s.push((0,u.literal)(t.to.value))},dataType:t=>{var c,f;if(t?.kind==="array"){o.dataType(t.arrayOf),s.push("[]");return}if(!t?.name){s.push("unkown");return}let A=!0;if(t.schema)b(t,t.doubleQuoted);else if(t.doubleQuoted)b(t,!0);else switch(t.name){case"double precision":case"character varying":case"bit varying":s.push(t.name," ");break;case"time without time zone":case"timestamp without time zone":case"time with time zone":case"timestamp with time zone":const q=t.name.split(" ");s.push(q.shift()),!((c=t.config)===null||c===void 0)&&c.length&&a(t.config,R=>s.push(R.toString(10)),!0),s.push(" "),s.push(q.join(" ")," "),A=!1;break;default:b(t);break}A&&!((f=t.config)===null||f===void 0)&&f.length&&a(t.config,q=>s.push(q.toString(10)),!0)},createIndex:t=>{s.push(t.unique?"CREATE UNIQUE INDEX ":"CREATE INDEX "),t.concurrently&&s.push("CONCURRENTLY "),t.ifNotExists&&s.push(" IF NOT EXISTS "),t.indexName&&s.push($(t.indexName)," "),s.push("ON "),o.tableRef(t.table),t.using&&s.push("USING ",$(t.using)," "),a(t.expressions,c=>{o.expr(c.expression),s.push(" "),c.collate&&(s.push("COLLATE "),b(c.collate)),c.opclass&&b(c.opclass),c.order&&s.push(c.order," "),c.nulls&&s.push("nulls ",c.nulls," ")},!0),t.with&&(s.push("WITH "),a(t.with,c=>{s.push(c.parameter," = ",(0,u.literal)(c.value))},!0)),t.tablespace&&s.push("TABLESPACE ",i(t.tablespace)),t.where&&(s.push(" WHERE "),o.expr(t.where)),s.push(" ")},createTable:t=>{var c;s.push("CREATE "),t.locality&&s.push(t.locality.toUpperCase()," "),t.temporary&&s.push("TEMPORARY "),t.unlogged&&s.push("UNLOGGED "),s.push(t.ifNotExists?"TABLE IF NOT EXISTS ":"TABLE "),o.tableRef(t.name),s.push("("),a(t.columns,f=>{switch(f.kind){case"column":return o.createColumn(f);case"like table":return o.likeTable(f);default:throw n.NotSupported.never(f)}},!1),t.constraints&&(s.push(", "),a(t.constraints,f=>{const A=f.constraintName;A&&s.push("CONSTRAINT ",$(A)," "),m(f,o)},!1)),s.push(") "),!((c=t.inherits)===null||c===void 0)&&c.length&&(s.push(" INHERITS "),a(t.inherits,f=>b(f),!0))},likeTable:t=>{s.push(" LIKE "),o.tableRef(t.like),s.push(" ");for(const{verb:c,option:f}of t.options)s.push(c.toUpperCase()," ",f.toUpperCase()," ")},createSchema:t=>{s.push(t.ifNotExists?"CREATE SCHEMA IF NOT EXISTS ":"CREATE SCHEMA "),s.push($(t.name))},truncateTable:t=>{s.push("TRUNCATE TABLE ");let c=!0;for(const f of t.tables)c||s.push(", "),c=!1,o.tableRef(f);if(t.identity)switch(t.identity){case"restart":s.push(" RESTART IDENTITY ");break;case"continue":s.push(" CONTINUE IDENTITY ");break}t.cascade&&s.push(" ",t.cascade," ")},delete:t=>{s.push("DELETE FROM "),o.tableRef(t.from),t.where&&(s.push(" WHERE "),o.expr(t.where)),t.returning&&(s.push(" RETURNING "),a(t.returning,c=>o.selectionColumn(c),!1)),s.push(" ")},dropColumn:t=>{s.push(" DROP COLUMN "),t.ifExists&&s.push(" IF EXISTS "),s.push($(t.column)),t.behaviour&&s.push(" ",t.behaviour),s.push(" ")},dropConstraint:t=>{s.push(" DROP CONSTRAINT "),t.ifExists&&s.push(" IF EXISTS "),s.push($(t.constraint)),t.behaviour&&s.push(" ",t.behaviour.toUpperCase()," ")},from:t=>o.super().from(t),fromCall:t=>{v(o,t.join,()=>{var c,f;if(t.lateral&&s.push("LATERAL "),o.call(t),t.withOrdinality&&s.push(" WITH ORDINALITY"),t.alias){s.push(" AS ",$(t.alias)," ");const A=(f=(c=t.alias.columns)===null||c===void 0?void 0:c.length)!==null&&f!==void 0?f:0;if(A>0){s.push("(");for(let q=0;q<A;++q)q!==0&&s.push(", "),s.push($(t.alias.columns[q]));s.push(")")}}}),s.push(" ")},fromStatement:t=>{v(o,t.join,()=>{t.lateral&&s.push("LATERAL "),s.push("("),o.select(t.statement),s.push(") "),t.alias&&(s.push(" AS ",i(t.alias)),t.columnNames&&a(t.columnNames,c=>s.push($(c)),!0),s.push(" "))}),s.push(" ")},values:t=>{s.push("VALUES "),a(t.values,c=>{a(c,f=>{o.expr(f)},!0)},!1)},fromTable:t=>{v(o,t.join,()=>{if(o.tableRef(t.name),t.name.columnNames){if(!t.name.alias)throw new Error("Cannot specify aliased column names without an alias");a(t.name.columnNames,c=>s.push($(c)),!0)}})},join:t=>{throw new Error("Should not happen 💀")},insert:t=>{if(s.push("INSERT INTO "),o.tableRef(t.into),t.columns&&s.push("(",t.columns.map($).join(", "),")"),s.push(" "),t.overriding&&s.push("OVERRIDING ",t.overriding.toUpperCase()," VALUE "),o.select(t.insert),s.push(" "),t.onConflict){s.push("ON CONFLICT ");const c=t.onConflict.on;switch(c?.type){case"on expr":a(c.exprs,f=>o.expr(f),!0);break;case"on constraint":s.push("ON CONSTRAINT "),b(c.constraint);case null:case void 0:break;default:throw n.NotSupported.never(c)}t.onConflict.do==="do nothing"?s.push(" DO NOTHING"):(s.push(" DO UPDATE SET "),a(t.onConflict.do.sets,f=>o.set(f),!1),t.onConflict.where&&(s.push(" WHERE "),o.expr(t.onConflict.where))),s.push(" ")}t.returning&&(s.push(" RETURNING "),a(t.returning,c=>o.selectionColumn(c),!1))},raise:t=>{var c,f;s.push("RAISE "),t.level&&s.push(t.level.toUpperCase()," "),s.push((0,u.literal)(t.format)," "),!((c=t.formatExprs)===null||c===void 0)&&c.length&&(s.push(", "),a(t.formatExprs,A=>o.expr(A),!1)),!((f=t.using)===null||f===void 0)&&f.length&&(s.push(" USING "),a(t.using,({type:A,value:q})=>{s.push(A.toUpperCase(),"="),o.expr(q)},!1)),s.push(" ")},default:()=>{s.push(" DEFAULT ")},member:t=>{o.expr(t.operand),s.push(t.op),s.push(typeof t.member=="number"?t.member.toString(10):(0,u.literal)(t.member))},ref:t=>{t.table&&(b(t.table),s.push(".")),s.push(t.name==="*"?"*":i(t.name))},parameter:t=>{s.push(t.name)},renameColumn:t=>{s.push(" RENAME COLUMN ",$(t.column)," TO ",$(t.to))},renameConstraint:t=>{s.push(" RENAME CONSTRAINT ",$(t.constraint)," TO ",$(t.to))},renameTable:t=>{s.push(" RENAME TO ",$(t.to))},createView:t=>{s.push("CREATE "),t.orReplace&&s.push("OR REPLACE "),t.temp&&s.push("TEMP "),t.recursive&&s.push("RECURSIVE "),s.push("VIEW "),o.tableRef(t.name),t.columnNames&&a(t.columnNames,f=>s.push($(f)),!0);const c=t.parameters&&Object.entries(t.parameters);c?.length&&(s.push(" WITH "),a(c,([f,A])=>s.push(f,"=",A),!1)),s.push(" AS "),o.select(t.query),t.checkOption&&s.push(" WITH ",t.checkOption.toUpperCase()," CHECK OPTION")},createMaterializedView:t=>{s.push("CREATE MATERIALIZED VIEW "),t.ifNotExists&&s.push("IF NOT EXISTS "),o.tableRef(t.name),t.columnNames&&a(t.columnNames,f=>s.push($(f)),!0);const c=t.parameters&&Object.entries(t.parameters);c?.length&&(s.push(" WITH "),a(c,([f,A])=>s.push(f,"=",A),!1)),t.tablespace&&s.push(" TABLESPACE ",$(t.tablespace)),s.push(" AS "),o.select(t.query),typeof t.withData=="boolean"&&s.push(t.withData?" WITH DATA":" WITH NO DATA")},refreshMaterializedView:t=>{s.push("REFRESH MATERIALIZED VIEW "),t.concurrently&&s.push("CONCURRENTLY "),o.tableRef(t.name),typeof t.withData=="boolean"&&s.push(t.withData?" WITH DATA":" WITH NO DATA")},select:t=>o.super().select(t),selection:t=>{if(s.push("SELECT "),t.distinct&&(typeof t.distinct=="string"?s.push(t.distinct.toUpperCase()):(s.push(" DISTINCT ON "),a(t.distinct,c=>o.expr(c),!0)),s.push(" ")),t.columns&&a(t.columns,c=>o.selectionColumn(c),!1),s.push(" "),t.from){s.push("FROM ");const c=t.from.length;for(let f=0;f<c;f++){const A=t.from[f];f>0&&!A.join&&s.push(","),o.from(A)}s.push(" ")}t.where&&(s.push("WHERE "),o.expr(t.where),s.push(" ")),t.groupBy&&(s.push("GROUP BY "),a(t.groupBy,c=>o.expr(c),!1),s.push(" "),t.having&&(s.push(" HAVING "),o.expr(t.having),s.push(" "))),t.orderBy&&(E(o,t.orderBy),s.push(" ")),t.limit&&(t.limit.offset&&(s.push("OFFSET "),o.expr(t.limit.offset)),t.limit.limit&&(s.push("LIMIT "),o.expr(t.limit.limit))),t.for&&(s.push("FOR ",t.for.type.toUpperCase()),t.skip&&s.push(" ",t.skip.type.toUpperCase()))},show:t=>{s.push("SHOW ",$(t.variable))},prepare:t=>{var c;s.push("PREPARE ",$(t.name)),!((c=t.args)===null||c===void 0)&&c.length&&a(t.args,f=>o.dataType(f),!0),s.push(" AS "),o.statement(t.statement)},deallocate:t=>{if(s.push("DEALLOCATE "),"name"in t.target){s.push(t.target.name);return}s.push("ALL")},arraySelect:t=>{s.push("array("),o.select(t.select),s.push(")")},union:t=>{s.push("("),o.statement(t.left),s.push(") ",t.type.toUpperCase()," "),t.right.type==="union"||t.right.type==="union all"?o.union(t.right):(s.push("("),o.statement(t.right),s.push(")"))},selectionColumn:t=>{o.expr(t.expr),t.alias&&s.push(" AS ",$(t.alias)),s.push(" ")},set:t=>{s.push($(t.column)," = "),o.expr(t.value),s.push(" ")},statement:t=>o.super().statement(t),tableRef:t=>{b(t),t.alias&&s.push(" AS ",i(t.alias)),s.push(" ")},ternary:t=>{o.expr(t.value),s.push(" ",t.op," "),o.expr(t.lo),s.push(" AND "),o.expr(t.hi),s.push(" ")},transaction:t=>{s.push(t.type)},unary:t=>{switch(t.op){case"+":case"-":N(t),o.expr(t.operand);break;case"NOT":s.push(t.op),s.push(" "),o.expr(t.operand);break;default:o.expr(t.operand),s.push(" "),s.push(t.op)}},update:t=>{s.push("UPDATE "),o.tableRef(t.table),s.push(" SET "),a(t.sets,c=>o.set(c),!1),s.push(" "),t.from&&(s.push("FROM "),o.from(t.from),s.push(" ")),t.where&&(s.push("WHERE "),o.expr(t.where),s.push(" ")),t.returning&&(s.push(" RETURNING "),a(t.returning,c=>o.selectionColumn(c),!1),s.push(" "))}}));p.toSql={};const e=l.AstDefaultMapper.prototype;for(const o of Object.getOwnPropertyNames(e)){const t=e[o];o==="constructor"||o==="super"||typeof t!="function"||(p.toSql[o]=function(...c){try{return U[o].apply(U,c),s.join("").trim()}finally{s=[]}})}}),(function(_,p,h){Object.defineProperty(p,"__esModule",{value:!0}),p.literal=void 0;function l(r){if(r==null)return"NULL";if(Array.isArray(r)){var n=r.map(l);return"("+n.join(", ")+")"}var u=~r.indexOf("\\"),g=u?"E":"";return r=r.replace(/'/g,"''"),r=r.replace(/\\/g,"\\\\"),g+"'"+r+"'"}p.literal=l}),(function(_,p,h){Object.defineProperty(p,"__esModule",{value:!0}),p.locationOf=void 0;function l(r){const n=r._location;if(!n)throw new Error("This statement has not been parsed using location tracking (which has a small performance hit). ");return n}p.locationOf=l})]))})(fe)),fe}var Ne=Je();function Qe(y){return y.replace(/_([a-z])/g,(_,p)=>p.toUpperCase())}function ke(y){return y.split("_").map(_=>_.charAt(0).toUpperCase()+_.slice(1).toLowerCase()).join(" ")}function Xe(y){const _=Qe(y);let p;if(y.endsWith("_id")){const h=y.slice(0,-3);p=ke(h)}else p=ke(y);return{fieldname:_,label:p,originalName:y}}function Ke(y){return y.split(/[-_\s]+/).map(_=>_.charAt(0).toUpperCase()+_.slice(1).toLowerCase()).join("")}function qe(y){return y.replace(/([a-z])([A-Z])/g,"$1-$2").replace(/[\s_]+/g,"-").toLowerCase()}const ae={text:{component:"ATextInput",fieldtype:"Text"},varchar:{component:"ATextInput",fieldtype:"Data"},char:{component:"ATextInput",fieldtype:"Data"},citext:{component:"ATextInput",fieldtype:"Data"},smallint:{component:"ANumericInput",fieldtype:"Int"},integer:{component:"ANumericInput",fieldtype:"Int"},bigint:{component:"ANumericInput",fieldtype:"Int"},serial:{component:"ANumericInput",fieldtype:"Int"},bigserial:{component:"ANumericInput",fieldtype:"Int"},smallserial:{component:"ANumericInput",fieldtype:"Int"},numeric:{component:"ADecimalInput",fieldtype:"Decimal",_unmapped:!0},decimal:{component:"ADecimalInput",fieldtype:"Decimal",_unmapped:!0},money:{component:"ADecimalInput",fieldtype:"Decimal",_unmapped:!0},real:{component:"ANumericInput",fieldtype:"Float"},"double precision":{component:"ANumericInput",fieldtype:"Float"},boolean:{component:"ACheckbox",fieldtype:"Check"},date:{component:"ADatePicker",fieldtype:"Date"},time:{component:"ATimeInput",fieldtype:"Time",_unmapped:!0},timetz:{component:"ATimeInput",fieldtype:"Time",_unmapped:!0},timestamp:{component:"ADatetimePicker",fieldtype:"Datetime",_unmapped:!0},timestamptz:{component:"ADatetimePicker",fieldtype:"Datetime",_unmapped:!0},interval:{component:"ADurationInput",fieldtype:"Duration",_unmapped:!0},int4range:{component:"ATextInput",fieldtype:"Data",_unmapped:!0},int8range:{component:"ATextInput",fieldtype:"Data",_unmapped:!0},numrange:{component:"ATextInput",fieldtype:"Data",_unmapped:!0},daterange:{component:"ADateRangePicker",fieldtype:"DateRange",_unmapped:!0},tsrange:{component:"ADateRangePicker",fieldtype:"DateRange",_unmapped:!0},tstzrange:{component:"ADateRangePicker",fieldtype:"DateRange",_unmapped:!0},bytea:{component:"ATextInput",fieldtype:"Data"},uuid:{component:"ATextInput",fieldtype:"Data"},json:{component:"ACodeEditor",fieldtype:"JSON",_unmapped:!0},jsonb:{component:"ACodeEditor",fieldtype:"JSON",_unmapped:!0},bit:{component:"ATextInput",fieldtype:"Data"},varbit:{component:"ATextInput",fieldtype:"Data"},xml:{component:"ACodeEditor",fieldtype:"Code",_unmapped:!0},unit:{component:"AQuantityInput",fieldtype:"Quantity",_unmapped:!0},cube:{component:"ATextInput",fieldtype:"JSON",_unmapped:!0},unknown:{component:"ATextInput",fieldtype:"Data",_unmapped:!0}},te={int:"integer",int2:"smallint",int4:"integer",int8:"bigint",serial4:"serial",serial8:"bigserial",serial2:"smallserial",float:"real",float4:"real",float8:"double precision",bool:"boolean",character:"char","character varying":"varchar","timestamp without time zone":"timestamp","timestamp with time zone":"timestamptz","time without time zone":"time","time with time zone":"timetz","bit varying":"varbit"};function Ce(y){const _=y.toLowerCase().trim();if(_ in ae)return _;if(_ in te)return te[_];const p=_.replace(/\([^)]*\)/,"").trim();return p in ae?p:p in te?te[p]:"unknown"}function $e(y,_,p={}){const{fieldname:h,label:l}=p.useCamelCase?Xe(y.name):{fieldname:y.name,label:Ze(y.name)};if(y.reference)return{fieldname:h,label:l,component:"ALink",fieldtype:"Link",options:qe(y.reference.table),required:!y.nullable};if(y.arrayDimensions>0){const u={fieldname:h,label:l,component:"ATable",fieldtype:"Doctype",required:!y.nullable};return p.includeUnmappedMeta&&(u._pgType=`${y.dataType}[]`.repeat(y.arrayDimensions)),u}const r=ae[y.normalizedType]??ae.unknown,n={fieldname:h,label:l,component:r.component,fieldtype:r.fieldtype,required:!y.nullable&&!y.isGenerated,readOnly:y.isGenerated,default:es(y.defaultValue,y.normalizedType)};return y.precision!==void 0&&(n.options={precision:y.precision},y.scale!==void 0&&(n.options.scale=y.scale)),p.includeUnmappedMeta&&r._unmapped&&(n._unmapped=!0,n._pgType=y.dataType),n}function Ze(y){return y.replace(/_/g," ").replace(/([a-z])([A-Z])/g,"$1 $2").replace(/\b\w/g,_=>_.toUpperCase())}function es(y,_){if(y&&!(y.includes("(")||y.includes("::")))switch(_){case"boolean":return y.toLowerCase()==="true";case"smallint":case"integer":case"bigint":case"serial":case"bigserial":case"smallserial":{const p=parseInt(y,10);return isNaN(p)?void 0:p}case"real":case"double precision":{const p=parseFloat(y);return isNaN(p)?void 0:p}case"numeric":case"decimal":case"money":return y.replace(/^'|'$/g,"");default:return y.startsWith("'")&&y.endsWith("'")?y.slice(1,-1):void 0}}function ss(y){return y.match(/@doctype\s+([A-Za-z][A-Za-z0-9]*)/)?.[1]}function Re(y){const _=Ne.parse(y,{locationTracking:!1}),p=[],h=new Map;for(const l of _)if(rs(l)&&l.on.type==="table"){const r=l.on.name.name;h.set(r,l.comment)}for(const l of _)if(ts(l))try{const r=as(l),n=h.get(r.name);n&&(r.comment=n,r.doctypeName=ss(n)),p.push(r)}catch(r){console.warn(`Failed to parse table ${l.name?.name}: ${r}`)}return p}function ts(y){return y.type==="create table"}function rs(y){return y.type==="comment"}function as(y){const _=[];for(const p of y.columns??[])p.kind!=="like table"&&p.kind==="column"&&_.push(ns(p));return{name:y.name.name,schema:y.name.schema,columns:_,inherits:y.inherits?.map(p=>p.name)}}function ns(y){const _=y.constraints??[],{rawType:p,arrayDimensions:h,precision:l,scale:r,length:n}=os(y.dataType);return{name:y.name.name,dataType:p,normalizedType:Ce(p),nullable:!ls(_,"not null"),isGenerated:ps(_),defaultValue:cs(_),arrayDimensions:h,reference:ms(_),precision:l,scale:r,length:n}}function os(y){let _=0,p=y;for(;p.kind==="array";)_++,p=p.arrayOf;const h=p,l=h.name,r=h.config??[];let n,u,g;return r.length>0&&(l==="numeric"||l==="decimal"?(n=r[0],u=r[1]):(l==="varchar"||l==="char"||l==="character varying"||l==="character"||l==="bit"||l==="varbit"||l==="bit varying")&&(g=r[0])),{rawType:l,arrayDimensions:_,precision:n,scale:u,length:g}}function ls(y,_){return y.some(p=>p.type===_)}function ps(y){return y.some(_=>_.type==="add generated")}function cs(y){const _=y.find(p=>p.type==="default");if(_?.default)try{return Ne.toSql.expr(_.default)}catch{return}}function ms(y){const _=y.find(l=>l.type==="reference");if(!_)return;const p=_.foreignTable,h=_.foreignColumns??[];return{schema:p.schema,table:p.name,column:h[0]?.name??"id",onDelete:_.onDelete}}function is(y,_={inheritanceMode:"flatten"}){const p=Re(y),h=new Map(p.map(r=>[r.name,r]));let l=p;return _.schema&&(l=l.filter(r=>r.schema===_.schema)),_.exclude&&(l=l.filter(r=>!_.exclude.includes(r.name))),l.map(r=>$s(r,h,_))}function $s(y,_,p){const h=new Map;if(p.inheritanceMode==="flatten"&&y.inherits)for(const r of y.inherits){const n=_.get(r);if(n)for(const u of n.columns){const g=$e(u,_,{includeUnmappedMeta:p.includeUnmappedMeta,useCamelCase:p.useCamelCase});h.set(g.fieldname,g)}}for(const r of y.columns){const n=$e(r,_,{includeUnmappedMeta:p.includeUnmappedMeta,useCamelCase:p.useCamelCase});h.set(n.fieldname,n)}let l=Array.from(h.values());return p.typeOverrides&&(l=l.map(r=>{const n=p.typeOverrides[r.fieldname];return n?{...r,...n}:r})),l=l.map(_s),{name:y.doctypeName??Ke(y.name),slug:qe(y.name),tableName:y.name,fields:l,inherits:y.inherits?.[0]}}function _s(y){const _={fieldname:y.fieldname,component:y.component,fieldtype:y.fieldtype};return y.label!==void 0&&(_.label=y.label),y.required===!0&&(_.required=!0),y.default!==void 0&&(_.default=y.default),y.readOnly===!0&&(_.readOnly=!0),y.options!==void 0&&(_.options=y.options),y._pgType!==void 0&&(_._pgType=y._pgType),y._unmapped===!0&&(_._unmapped=!0),_}const V=new Map;class oe extends Error{constructor(_,p){const h=p.map(l=>` ${l.path.join(".")}: ${l.message}`).join(`
27
- `);super(`Invalid doctype definition in ${_}:
28
- ${h}`),this.file=_,this.errors=p,this.name="DoctypeValidationError"}}function Oe(y,_={}){const p=ce.readdirSync(y);for(const h of p){const l=Pe.join(y,h);ce.statSync(l).isDirectory()?Oe(l,_):h.endsWith(".json")&&bs(l,_)}}function bs(y,_){const p=ce.readFileSync(y,"utf-8");let h;try{h=JSON.parse(p)}catch(n){const u={path:[],message:`Invalid JSON: ${n instanceof Error?n.message:String(n)}`};if(_.continueOnError){_.onError?.(y,[u]);return}throw new oe(y,[u])}const l=be(h);if(!l.success){if(_.continueOnError){_.onError?.(y,l.errors);return}throw new oe(y,l.errors)}const r=ue(h);V.set(r.name,r)}function us(y,_={}){for(const[p,h]of Object.entries(y)){const l={...h,name:p},r=be(l);if(!r.success){if(_.continueOnError){_.onError?.(p,r.errors);continue}throw new oe(p,r.errors)}const n=ue(l);V.set(n.name,n)}}function re(y){return V.get(y)}function Ie(){return Array.from(V.values())}function ys(y){return V.has(y)}function ds(){V.clear()}function fs(){const y=[];for(const _ of V.values()){_.inherits&&!V.has(_.inherits)&&y.push({path:[_.name,"inherits"],message:`References unknown doctype: ${_.inherits}`}),_.listDoctype&&!V.has(_.listDoctype)&&y.push({path:[_.name,"listDoctype"],message:`References unknown doctype: ${_.listDoctype}`}),_.parentDoctype&&!V.has(_.parentDoctype)&&y.push({path:[_.name,"parentDoctype"],message:`References unknown doctype: ${_.parentDoctype}`});for(const p of _.fields)p.fieldtype==="Link"&&typeof p.options=="string"&&(V.has(p.options)||y.push({path:[_.name,"fields",p.fieldname,"options"],message:`Link references unknown doctype: ${p.options}`}))}return y}const pe=new Map;function je(y,_){pe.set(y,_)}function De(y){return pe.get(y)}function xs(y){return pe.has(y)}function ws(){pe.clear()}const hs=async(y,_)=>{const[p]=y,{doctype:h}=_,l=[];for(const r of h.fields)r.required&&(p[r.fieldname]===void 0||p[r.fieldname]===null)&&l.push(r.label??r.fieldname);if(l.length>0)throw new Error(`Missing required fields: ${l.join(", ")}`);return{valid:!0}},ks=async(y,_)=>{const[p]=y,{doctype:h}=_,l=[];for(const r of h.fields){const n=p[r.fieldname];if(n==null)continue;const u=gs(r.fieldname,n,r.fieldtype);u&&l.push(u)}if(l.length>0)throw new Error(`Field type validation failed:
29
- ${l.join(`
30
- `)}`);return{valid:!0}};function gs(y,_,p){switch(p){case"Int":if(typeof _!="number"||!Number.isInteger(_))return`${y}: expected integer, got ${typeof _}`;break;case"Float":case"Decimal":case"Currency":case"Quantity":if(typeof _!="number"&&typeof _!="string")return`${y}: expected number, got ${typeof _}`;break;case"Check":if(typeof _!="boolean")return`${y}: expected boolean, got ${typeof _}`;break;case"Data":case"Text":case"Code":case"Link":if(typeof _!="string")return`${y}: expected string, got ${typeof _}`;break;case"Date":case"Time":case"Datetime":if(typeof _!="string"&&!(_ instanceof Date))return`${y}: expected date string or Date, got ${typeof _}`;break;case"JSON":if(typeof _!="object")return`${y}: expected object, got ${typeof _}`;break;case"Table":if(!Array.isArray(_))return`${y}: expected array, got ${typeof _}`;break}return null}const As=async()=>({ok:!0}),Me={validateRequiredFields:hs,validateFieldTypes:ks,noop:As};function vs(){for(const[y,_]of Object.entries(Me))je(y,_)}const Es=y=>de.makeExtendSchemaPlugin(()=>({typeDefs:de.gql`
26
+ `),_.message=x,_}}}),(function(t,n){t.exports=jt()}),(function(t,n,i){Object.defineProperty(n,"__esModule",{value:!0});function o(e){return e[0]}const s=i(1),l=i(1);function u(e){return w(e,void 0)}function w(e,m){const a=h(e);return!m||m.length===0?(0,l.track)(e,{name:a}):(0,l.track)(e,{name:a,columns:m.map(_=>({name:h(_)}))})}function d(e){const m=h(e);return(0,l.track)(e,{value:m})}function r(e){return Array.isArray(e)&&e.length===1&&(e=r(e[0])),Array.isArray(e)&&!e.length?null:(0,l.unbox)(e)}const y=e=>m=>(0,l.track)(m,m[e]),b=e=>Array.isArray(e)?(0,l.track)(e[e.length-1],e[e.length-1]):e;function c(e){if(Array.isArray(e)){const m=[];for(const a of e)m.push(...c(a));return m}return e?[e]:[]}function $(e){var m;return e=(0,l.unbox)(e),(m=e?.value)!==null&&m!==void 0?m:e}function f(e){return c((0,l.unbox)(e)).filter(m=>!!m).map(m=>$(m)).filter(m=>typeof m=="string").map(m=>m.trim()).filter(m=>!!m)}function h(e,m){return f(e).join(m||"")}function N(e){const m={};for(const[a,_]of e)m[a]=_;return m}const j={sensitivity:"accent"},Z=(e,m)=>e.localeCompare(m,void 0,j)===0,k=e=>(m,a,_)=>{const x=$(m[0]);return Z(x,e)?(0,l.box)(m,e):_},g=k,E=(...e)=>{const m=new Set(e);return(a,_,x)=>{const v=typeof a[0]=="string"?a[0]:a[0].value;return m.has(v)?v:x}};function O(e,m){const a=new Set,_=m.map(l.unbox);for(const[x,v]of _){if(a.has(x))throw new Error("conflicting or redundant options");a.add(x),e[x]=(0,l.unbox)(v)}}const G={Lexer:s.lexerAny,ParserRules:[{name:"lparen",symbols:[s.lexerAny.has("lparen")?{type:"lparen"}:lparen]},{name:"rparen",symbols:[s.lexerAny.has("rparen")?{type:"rparen"}:rparen]},{name:"number$subexpression$1",symbols:["float"]},{name:"number$subexpression$1",symbols:["int"]},{name:"number",symbols:["number$subexpression$1"],postprocess:r},{name:"dot",symbols:[s.lexerAny.has("dot")?{type:"dot"}:dot],postprocess:o},{name:"float",symbols:[s.lexerAny.has("float")?{type:"float"}:float],postprocess:e=>(0,l.box)(e,parseFloat(r(e)))},{name:"int",symbols:[s.lexerAny.has("int")?{type:"int"}:int],postprocess:e=>(0,l.box)(e,parseInt(r(e),10))},{name:"comma",symbols:[s.lexerAny.has("comma")?{type:"comma"}:comma],postprocess:o},{name:"star",symbols:[s.lexerAny.has("star")?{type:"star"}:star],postprocess:e=>(0,l.box)(e,e[0].value)},{name:"string$subexpression$1",symbols:[s.lexerAny.has("string")?{type:"string"}:string]},{name:"string$subexpression$1",symbols:[s.lexerAny.has("eString")?{type:"eString"}:eString]},{name:"string",symbols:["string$subexpression$1"],postprocess:e=>(0,l.box)(e,r(e[0]).value)},{name:"ident",symbols:["word"],postprocess:y(0)},{name:"word",symbols:[s.lexerAny.has("kw_primary")?{type:"kw_primary"}:kw_primary],postprocess:e=>(0,l.box)(e,"primary")},{name:"word",symbols:[s.lexerAny.has("kw_unique")?{type:"kw_unique"}:kw_unique],postprocess:e=>(0,l.box)(e,"unique")},{name:"word",symbols:[s.lexerAny.has("quoted_word")?{type:"quoted_word"}:quoted_word],postprocess:e=>(0,l.box)(e,e[0].value,!0)},{name:"word",symbols:[s.lexerAny.has("word")?{type:"word"}:word],postprocess:e=>(0,l.box)(e,e[0].value)},{name:"collist_paren",symbols:["lparen","collist","rparen"],postprocess:y(1)},{name:"collist$ebnf$1",symbols:[]},{name:"collist$ebnf$1$subexpression$1",symbols:["comma","ident"],postprocess:b},{name:"collist$ebnf$1",symbols:["collist$ebnf$1","collist$ebnf$1$subexpression$1"],postprocess:e=>e[0].concat([e[1]])},{name:"collist",symbols:["ident","collist$ebnf$1"],postprocess:([e,m])=>[e,...m||[]]},{name:"kw_between",symbols:[s.lexerAny.has("word")?{type:"word"}:word],postprocess:k("between")},{name:"kw_conflict",symbols:[s.lexerAny.has("word")?{type:"word"}:word],postprocess:k("conflict")},{name:"kw_nothing",symbols:[s.lexerAny.has("word")?{type:"word"}:word],postprocess:k("nothing")},{name:"kw_begin",symbols:[s.lexerAny.has("word")?{type:"word"}:word],postprocess:k("begin")},{name:"kw_if",symbols:[s.lexerAny.has("word")?{type:"word"}:word],postprocess:k("if")},{name:"kw_exists",symbols:[s.lexerAny.has("word")?{type:"word"}:word],postprocess:k("exists")},{name:"kw_key",symbols:[s.lexerAny.has("word")?{type:"word"}:word],postprocess:k("key")},{name:"kw_index",symbols:[s.lexerAny.has("word")?{type:"word"}:word],postprocess:k("index")},{name:"kw_extension",symbols:[s.lexerAny.has("word")?{type:"word"}:word],postprocess:k("extension")},{name:"kw_schema",symbols:[s.lexerAny.has("word")?{type:"word"}:word],postprocess:k("schema")},{name:"kw_nulls",symbols:[s.lexerAny.has("word")?{type:"word"}:word],postprocess:k("nulls")},{name:"kw_first",symbols:[s.lexerAny.has("word")?{type:"word"}:word],postprocess:k("first")},{name:"kw_last",symbols:[s.lexerAny.has("word")?{type:"word"}:word],postprocess:k("last")},{name:"kw_start",symbols:[s.lexerAny.has("word")?{type:"word"}:word],postprocess:k("start")},{name:"kw_restart",symbols:[s.lexerAny.has("word")?{type:"word"}:word],postprocess:k("restart")},{name:"kw_filter",symbols:[s.lexerAny.has("word")?{type:"word"}:word],postprocess:k("filter")},{name:"kw_commit",symbols:[s.lexerAny.has("word")?{type:"word"}:word],postprocess:k("commit")},{name:"kw_tablespace",symbols:[s.lexerAny.has("word")?{type:"word"}:word],postprocess:k("tablespace")},{name:"kw_transaction",symbols:[s.lexerAny.has("word")?{type:"word"}:word],postprocess:k("transaction")},{name:"kw_work",symbols:[s.lexerAny.has("word")?{type:"word"}:word],postprocess:k("work")},{name:"kw_read",symbols:[s.lexerAny.has("word")?{type:"word"}:word],postprocess:k("read")},{name:"kw_write",symbols:[s.lexerAny.has("word")?{type:"word"}:word],postprocess:k("write")},{name:"kw_isolation",symbols:[s.lexerAny.has("word")?{type:"word"}:word],postprocess:k("isolation")},{name:"kw_level",symbols:[s.lexerAny.has("word")?{type:"word"}:word],postprocess:k("level")},{name:"kw_serializable",symbols:[s.lexerAny.has("word")?{type:"word"}:word],postprocess:k("serializable")},{name:"kw_rollback",symbols:[s.lexerAny.has("word")?{type:"word"}:word],postprocess:k("rollback")},{name:"kw_insert",symbols:[s.lexerAny.has("word")?{type:"word"}:word],postprocess:k("insert")},{name:"kw_value",symbols:[s.lexerAny.has("word")?{type:"word"}:word],postprocess:k("value")},{name:"kw_values",symbols:[s.lexerAny.has("word")?{type:"word"}:word],postprocess:k("values")},{name:"kw_update",symbols:[s.lexerAny.has("word")?{type:"word"}:word],postprocess:k("update")},{name:"kw_column",symbols:[s.lexerAny.has("word")?{type:"word"}:word],postprocess:k("column")},{name:"kw_set",symbols:[s.lexerAny.has("word")?{type:"word"}:word],postprocess:k("set")},{name:"kw_version",symbols:[s.lexerAny.has("word")?{type:"word"}:word],postprocess:k("version")},{name:"kw_alter",symbols:[s.lexerAny.has("word")?{type:"word"}:word],postprocess:k("alter")},{name:"kw_rename",symbols:[s.lexerAny.has("word")?{type:"word"}:word],postprocess:k("rename")},{name:"kw_sequence",symbols:[s.lexerAny.has("word")?{type:"word"}:word],postprocess:k("sequence")},{name:"kw_temp",symbols:[s.lexerAny.has("word")?{type:"word"}:word],postprocess:k("temp")},{name:"kw_temporary",symbols:[s.lexerAny.has("word")?{type:"word"}:word],postprocess:k("temporary")},{name:"kw_add",symbols:[s.lexerAny.has("word")?{type:"word"}:word],postprocess:k("add")},{name:"kw_owner",symbols:[s.lexerAny.has("word")?{type:"word"}:word],postprocess:k("owner")},{name:"kw_owned",symbols:[s.lexerAny.has("word")?{type:"word"}:word],postprocess:k("owned")},{name:"kw_including",symbols:[s.lexerAny.has("word")?{type:"word"}:word],postprocess:k("including")},{name:"kw_excluding",symbols:[s.lexerAny.has("word")?{type:"word"}:word],postprocess:k("excluding")},{name:"kw_none",symbols:[s.lexerAny.has("word")?{type:"word"}:word],postprocess:k("none")},{name:"kw_drop",symbols:[s.lexerAny.has("word")?{type:"word"}:word],postprocess:k("drop")},{name:"kw_operator",symbols:[s.lexerAny.has("word")?{type:"word"}:word],postprocess:k("operator")},{name:"kw_minvalue",symbols:[s.lexerAny.has("word")?{type:"word"}:word],postprocess:k("minvalue")},{name:"kw_maxvalue",symbols:[s.lexerAny.has("word")?{type:"word"}:word],postprocess:k("maxvalue")},{name:"kw_data",symbols:[s.lexerAny.has("word")?{type:"word"}:word],postprocess:k("data")},{name:"kw_type",symbols:[s.lexerAny.has("word")?{type:"word"}:word],postprocess:k("type")},{name:"kw_trigger",symbols:[s.lexerAny.has("word")?{type:"word"}:word],postprocess:k("trigger")},{name:"kw_delete",symbols:[s.lexerAny.has("word")?{type:"word"}:word],postprocess:k("delete")},{name:"kw_cache",symbols:[s.lexerAny.has("word")?{type:"word"}:word],postprocess:k("cache")},{name:"kw_cascade",symbols:[s.lexerAny.has("word")?{type:"word"}:word],postprocess:k("cascade")},{name:"kw_no",symbols:[s.lexerAny.has("word")?{type:"word"}:word],postprocess:k("no")},{name:"kw_timestamp",symbols:[s.lexerAny.has("word")?{type:"word"}:word],postprocess:k("timestamp")},{name:"kw_cycle",symbols:[s.lexerAny.has("word")?{type:"word"}:word],postprocess:k("cycle")},{name:"kw_function",symbols:[s.lexerAny.has("word")?{type:"word"}:word],postprocess:k("function")},{name:"kw_returns",symbols:[s.lexerAny.has("word")?{type:"word"}:word],postprocess:k("returns")},{name:"kw_language",symbols:[s.lexerAny.has("word")?{type:"word"}:word],postprocess:k("language")},{name:"kw_out",symbols:[s.lexerAny.has("word")?{type:"word"}:word],postprocess:k("out")},{name:"kw_inout",symbols:[s.lexerAny.has("word")?{type:"word"}:word],postprocess:k("inout")},{name:"kw_variadic",symbols:[s.lexerAny.has("word")?{type:"word"}:word],postprocess:k("variadic")},{name:"kw_action",symbols:[s.lexerAny.has("word")?{type:"word"}:word],postprocess:k("action")},{name:"kw_restrict",symbols:[s.lexerAny.has("word")?{type:"word"}:word],postprocess:k("restrict")},{name:"kw_truncate",symbols:[s.lexerAny.has("word")?{type:"word"}:word],postprocess:k("truncate")},{name:"kw_increment",symbols:[s.lexerAny.has("word")?{type:"word"}:word],postprocess:k("increment")},{name:"kw_by",symbols:[s.lexerAny.has("word")?{type:"word"}:word],postprocess:k("by")},{name:"kw_row",symbols:[s.lexerAny.has("word")?{type:"word"}:word],postprocess:k("row")},{name:"kw_rows",symbols:[s.lexerAny.has("word")?{type:"word"}:word],postprocess:k("rows")},{name:"kw_next",symbols:[s.lexerAny.has("word")?{type:"word"}:word],postprocess:k("next")},{name:"kw_match",symbols:[s.lexerAny.has("word")?{type:"word"}:word],postprocess:k("match")},{name:"kw_replace",symbols:[s.lexerAny.has("word")?{type:"word"}:word],postprocess:k("replace")},{name:"kw_recursive",symbols:[s.lexerAny.has("word")?{type:"word"}:word],postprocess:k("recursive")},{name:"kw_view",symbols:[s.lexerAny.has("word")?{type:"word"}:word],postprocess:k("view")},{name:"kw_cascaded",symbols:[s.lexerAny.has("word")?{type:"word"}:word],postprocess:k("cascaded")},{name:"kw_unlogged",symbols:[s.lexerAny.has("word")?{type:"word"}:word],postprocess:k("unlogged")},{name:"kw_global",symbols:[s.lexerAny.has("word")?{type:"word"}:word],postprocess:k("global")},{name:"kw_option",symbols:[s.lexerAny.has("word")?{type:"word"}:word],postprocess:k("option")},{name:"kw_materialized",symbols:[s.lexerAny.has("word")?{type:"word"}:word],postprocess:k("materialized")},{name:"kw_partial",symbols:[s.lexerAny.has("word")?{type:"word"}:word],postprocess:k("partial")},{name:"kw_partition",symbols:[s.lexerAny.has("word")?{type:"word"}:word],postprocess:k("partition")},{name:"kw_simple",symbols:[s.lexerAny.has("word")?{type:"word"}:word],postprocess:k("simple")},{name:"kw_generated",symbols:[s.lexerAny.has("word")?{type:"word"}:word],postprocess:k("generated")},{name:"kw_always",symbols:[s.lexerAny.has("word")?{type:"word"}:word],postprocess:k("always")},{name:"kw_identity",symbols:[s.lexerAny.has("word")?{type:"word"}:word],postprocess:k("identity")},{name:"kw_name",symbols:[s.lexerAny.has("word")?{type:"word"}:word],postprocess:k("name")},{name:"kw_enum",symbols:[s.lexerAny.has("word")?{type:"word"}:word],postprocess:k("enum")},{name:"kw_show",symbols:[s.lexerAny.has("word")?{type:"word"}:word],postprocess:k("show")},{name:"kw_ordinality",symbols:[s.lexerAny.has("word")?{type:"word"}:word],postprocess:k("ordinality")},{name:"kw_overriding",symbols:[s.lexerAny.has("word")?{type:"word"}:word],postprocess:k("overriding")},{name:"kw_over",symbols:[s.lexerAny.has("word")?{type:"word"}:word],postprocess:k("over")},{name:"kw_system",symbols:[s.lexerAny.has("word")?{type:"word"}:word],postprocess:k("system")},{name:"kw_comment",symbols:[s.lexerAny.has("word")?{type:"word"}:word],postprocess:k("comment")},{name:"kw_time",symbols:[s.lexerAny.has("word")?{type:"word"}:word],postprocess:k("time")},{name:"kw_names",symbols:[s.lexerAny.has("word")?{type:"word"}:word],postprocess:k("names")},{name:"kw_at",symbols:[s.lexerAny.has("word")?{type:"word"}:word],postprocess:k("at")},{name:"kw_zone",symbols:[s.lexerAny.has("word")?{type:"word"}:word],postprocess:k("zone")},{name:"kw_interval",symbols:[s.lexerAny.has("word")?{type:"word"}:word],postprocess:k("interval")},{name:"kw_hour",symbols:[s.lexerAny.has("word")?{type:"word"}:word],postprocess:k("hour")},{name:"kw_minute",symbols:[s.lexerAny.has("word")?{type:"word"}:word],postprocess:k("minute")},{name:"kw_local",symbols:[s.lexerAny.has("word")?{type:"word"}:word],postprocess:k("local")},{name:"kw_session",symbols:[s.lexerAny.has("word")?{type:"word"}:word],postprocess:k("session")},{name:"kw_prepare",symbols:[s.lexerAny.has("word")?{type:"word"}:word],postprocess:k("prepare")},{name:"kw_deallocate",symbols:[s.lexerAny.has("word")?{type:"word"}:word],postprocess:k("deallocate")},{name:"kw_raise",symbols:[s.lexerAny.has("word")?{type:"word"}:word],postprocess:k("raise")},{name:"kw_continue",symbols:[s.lexerAny.has("word")?{type:"word"}:word],postprocess:k("continue")},{name:"kw_share",symbols:[s.lexerAny.has("word")?{type:"word"}:word],postprocess:k("share")},{name:"kw_refresh",symbols:[s.lexerAny.has("word")?{type:"word"}:word],postprocess:k("refresh")},{name:"kw_nowait",symbols:[s.lexerAny.has("word")?{type:"word"}:word],postprocess:k("nowait")},{name:"kw_skip",symbols:[s.lexerAny.has("word")?{type:"word"}:word],postprocess:k("skip")},{name:"kw_locked",symbols:[s.lexerAny.has("word")?{type:"word"}:word],postprocess:k("locked")},{name:"kw_within",symbols:[s.lexerAny.has("word")?{type:"word"}:word],postprocess:k("within")},{name:"kw_ifnotexists",symbols:["kw_if",s.lexerAny.has("kw_not")?{type:"kw_not"}:kw_not,"kw_exists"]},{name:"kw_ifexists",symbols:["kw_if","kw_exists"]},{name:"kw_withordinality",symbols:[s.lexerAny.has("kw_with")?{type:"kw_with"}:kw_with,"kw_ordinality"]},{name:"kw_not_null",symbols:[s.lexerAny.has("kw_not")?{type:"kw_not"}:kw_not,s.lexerAny.has("kw_null")?{type:"kw_null"}:kw_null]},{name:"kw_primary_key",symbols:[s.lexerAny.has("kw_primary")?{type:"kw_primary"}:kw_primary,"kw_key"]},{name:"data_type$ebnf$1$subexpression$1$macrocall$2",symbols:["int"]},{name:"data_type$ebnf$1$subexpression$1$macrocall$1$ebnf$1",symbols:[]},{name:"data_type$ebnf$1$subexpression$1$macrocall$1$ebnf$1$subexpression$1",symbols:[s.lexerAny.has("comma")?{type:"comma"}:comma,"data_type$ebnf$1$subexpression$1$macrocall$2"],postprocess:b},{name:"data_type$ebnf$1$subexpression$1$macrocall$1$ebnf$1",symbols:["data_type$ebnf$1$subexpression$1$macrocall$1$ebnf$1","data_type$ebnf$1$subexpression$1$macrocall$1$ebnf$1$subexpression$1"],postprocess:e=>e[0].concat([e[1]])},{name:"data_type$ebnf$1$subexpression$1$macrocall$1",symbols:["data_type$ebnf$1$subexpression$1$macrocall$2","data_type$ebnf$1$subexpression$1$macrocall$1$ebnf$1"],postprocess:([e,m])=>[e,...m||[]]},{name:"data_type$ebnf$1$subexpression$1",symbols:["lparen","data_type$ebnf$1$subexpression$1$macrocall$1","rparen"],postprocess:y(1)},{name:"data_type$ebnf$1",symbols:["data_type$ebnf$1$subexpression$1"],postprocess:o},{name:"data_type$ebnf$1",symbols:[],postprocess:()=>null},{name:"data_type$ebnf$2$subexpression$1",symbols:[s.lexerAny.has("kw_array")?{type:"kw_array"}:kw_array]},{name:"data_type$ebnf$2$subexpression$1$ebnf$1$subexpression$1",symbols:[s.lexerAny.has("lbracket")?{type:"lbracket"}:lbracket,s.lexerAny.has("rbracket")?{type:"rbracket"}:rbracket]},{name:"data_type$ebnf$2$subexpression$1$ebnf$1",symbols:["data_type$ebnf$2$subexpression$1$ebnf$1$subexpression$1"]},{name:"data_type$ebnf$2$subexpression$1$ebnf$1$subexpression$2",symbols:[s.lexerAny.has("lbracket")?{type:"lbracket"}:lbracket,s.lexerAny.has("rbracket")?{type:"rbracket"}:rbracket]},{name:"data_type$ebnf$2$subexpression$1$ebnf$1",symbols:["data_type$ebnf$2$subexpression$1$ebnf$1","data_type$ebnf$2$subexpression$1$ebnf$1$subexpression$2"],postprocess:e=>e[0].concat([e[1]])},{name:"data_type$ebnf$2$subexpression$1",symbols:["data_type$ebnf$2$subexpression$1$ebnf$1"]},{name:"data_type$ebnf$2",symbols:["data_type$ebnf$2$subexpression$1"],postprocess:o},{name:"data_type$ebnf$2",symbols:[],postprocess:()=>null},{name:"data_type",symbols:["data_type_simple","data_type$ebnf$1","data_type$ebnf$2"],postprocess:e=>{let m=e[2];const a=r(e[0]);let _;if(_={...a,...Array.isArray(e[1])&&e[1].length?{config:e[1].map(r)}:{}},m){m[0].type==="kw_array"&&(m=[["array"]]);for(const x of m[0])_={kind:"array",arrayOf:_}}return(0,l.track)(e,_)}},{name:"data_type_list$ebnf$1",symbols:[]},{name:"data_type_list$ebnf$1$subexpression$1",symbols:["comma","data_type"],postprocess:b},{name:"data_type_list$ebnf$1",symbols:["data_type_list$ebnf$1","data_type_list$ebnf$1$subexpression$1"],postprocess:e=>e[0].concat([e[1]])},{name:"data_type_list",symbols:["data_type","data_type_list$ebnf$1"],postprocess:([e,m])=>[e,...m||[]]},{name:"data_type_simple",symbols:["data_type_text"],postprocess:e=>(0,l.track)(e,{name:h(e," ")})},{name:"data_type_simple",symbols:["data_type_numeric"],postprocess:e=>(0,l.track)(e,{name:h(e," ")})},{name:"data_type_simple",symbols:["data_type_date"]},{name:"data_type_simple",symbols:["qualified_name_mark_quotes"]},{name:"data_type_numeric$subexpression$1",symbols:[s.lexerAny.has("word")?{type:"word"}:word],postprocess:g("double")},{name:"data_type_numeric",symbols:["data_type_numeric$subexpression$1",s.lexerAny.has("kw_precision")?{type:"kw_precision"}:kw_precision]},{name:"data_type_text$subexpression$1",symbols:[s.lexerAny.has("word")?{type:"word"}:word],postprocess:E("character","bit")},{name:"data_type_text$subexpression$2",symbols:[s.lexerAny.has("word")?{type:"word"}:word],postprocess:g("varying")},{name:"data_type_text",symbols:["data_type_text$subexpression$1","data_type_text$subexpression$2"]},{name:"data_type_date$subexpression$1",symbols:[s.lexerAny.has("word")?{type:"word"}:word],postprocess:E("timestamp","time")},{name:"data_type_date$subexpression$2",symbols:[s.lexerAny.has("kw_with")?{type:"kw_with"}:kw_with]},{name:"data_type_date$subexpression$2",symbols:[s.lexerAny.has("word")?{type:"word"}:word],postprocess:g("without")},{name:"data_type_date$subexpression$3",symbols:[s.lexerAny.has("word")?{type:"word"}:word],postprocess:g("time")},{name:"data_type_date$subexpression$4",symbols:[s.lexerAny.has("word")?{type:"word"}:word],postprocess:g("zone")},{name:"data_type_date",symbols:["data_type_date$subexpression$1","data_type_date$subexpression$2","data_type_date$subexpression$3","data_type_date$subexpression$4"],postprocess:e=>(0,l.track)(e,{name:h(e," ")})},{name:"data_type_date$subexpression$5",symbols:[s.lexerAny.has("word")?{type:"word"}:word],postprocess:E("timestamp","time")},{name:"data_type_date$subexpression$6",symbols:["lparen","int","rparen"],postprocess:y(1)},{name:"data_type_date$subexpression$7",symbols:[s.lexerAny.has("kw_with")?{type:"kw_with"}:kw_with]},{name:"data_type_date$subexpression$7",symbols:[s.lexerAny.has("word")?{type:"word"}:word],postprocess:g("without")},{name:"data_type_date$subexpression$8",symbols:[s.lexerAny.has("word")?{type:"word"}:word],postprocess:g("time")},{name:"data_type_date$subexpression$9",symbols:[s.lexerAny.has("word")?{type:"word"}:word],postprocess:g("zone")},{name:"data_type_date",symbols:["data_type_date$subexpression$5","data_type_date$subexpression$6","data_type_date$subexpression$7","data_type_date$subexpression$8","data_type_date$subexpression$9"],postprocess:e=>(0,l.track)(e,{name:`timestamp ${h(e[2])} time zone`,config:[(0,l.unbox)(e[1])]})},{name:"ident_aliased$subexpression$1",symbols:[s.lexerAny.has("kw_as")?{type:"kw_as"}:kw_as,"ident"],postprocess:b},{name:"ident_aliased",symbols:["ident_aliased$subexpression$1"]},{name:"ident_aliased",symbols:["ident"],postprocess:r},{name:"table_ref",symbols:["qualified_name"],postprocess:r},{name:"qcolumn$ebnf$1$subexpression$1",symbols:["dot","ident"],postprocess:b},{name:"qcolumn$ebnf$1",symbols:["qcolumn$ebnf$1$subexpression$1"],postprocess:o},{name:"qcolumn$ebnf$1",symbols:[],postprocess:()=>null},{name:"qcolumn",symbols:["ident","dot","ident","qcolumn$ebnf$1"],postprocess:e=>e[3]?(0,l.track)(e,{schema:(0,l.unbox)(e[0]),table:(0,l.unbox)(e[2]),column:(0,l.unbox)(e[3])}):(0,l.track)(e,{table:(0,l.unbox)(e[0]),column:(0,l.unbox)(e[2])})},{name:"table_ref_aliased$ebnf$1",symbols:["ident_aliased"],postprocess:o},{name:"table_ref_aliased$ebnf$1",symbols:[],postprocess:()=>null},{name:"table_ref_aliased",symbols:["table_ref","table_ref_aliased$ebnf$1"],postprocess:e=>{const m=r(e[1]);return(0,l.track)(e,{...r(e[0]),...m?{alias:m}:{}})}},{name:"qualified_name",symbols:["qname_ident"],postprocess:e=>(0,l.track)(e,{name:h(e)})},{name:"qualified_name",symbols:["ident","dot","ident_extended"],postprocess:e=>{const m=h(e[0]),a=h(e[2]);return(0,l.track)(e,{schema:m,name:a})}},{name:"qualified_name",symbols:[s.lexerAny.has("kw_current_schema")?{type:"kw_current_schema"}:kw_current_schema],postprocess:e=>(0,l.track)(e,{name:"current_schema"})},{name:"qualified_name_mark_quotes",symbols:["qname_ident"],postprocess:e=>(0,l.track)(e,{name:h(e),...(0,l.doubleQuoted)(e)})},{name:"qualified_name_mark_quotes",symbols:["ident","dot","ident_extended"],postprocess:e=>{const m=h(e[0]),a=h(e[2]);return(0,l.track)(e,{schema:m,name:a,...(0,l.doubleQuoted)(e[2])})}},{name:"qualified_name_mark_quotes",symbols:[s.lexerAny.has("kw_current_schema")?{type:"kw_current_schema"}:kw_current_schema],postprocess:e=>(0,l.track)(e,{name:"current_schema"})},{name:"qname_ident",symbols:["ident"]},{name:"qname_ident",symbols:[s.lexerAny.has("kw_precision")?{type:"kw_precision"}:kw_precision]},{name:"qname",symbols:["qualified_name"],postprocess:r},{name:"any_keyword",symbols:[s.lexerAny.has("kw_all")?{type:"kw_all"}:kw_all]},{name:"any_keyword",symbols:[s.lexerAny.has("kw_analyse")?{type:"kw_analyse"}:kw_analyse]},{name:"any_keyword",symbols:[s.lexerAny.has("kw_analyze")?{type:"kw_analyze"}:kw_analyze]},{name:"any_keyword",symbols:[s.lexerAny.has("kw_and")?{type:"kw_and"}:kw_and]},{name:"any_keyword",symbols:[s.lexerAny.has("kw_any")?{type:"kw_any"}:kw_any]},{name:"any_keyword",symbols:[s.lexerAny.has("kw_array")?{type:"kw_array"}:kw_array]},{name:"any_keyword",symbols:[s.lexerAny.has("kw_as")?{type:"kw_as"}:kw_as]},{name:"any_keyword",symbols:[s.lexerAny.has("kw_asc")?{type:"kw_asc"}:kw_asc]},{name:"any_keyword",symbols:[s.lexerAny.has("kw_asymmetric")?{type:"kw_asymmetric"}:kw_asymmetric]},{name:"any_keyword",symbols:[s.lexerAny.has("kw_authorization")?{type:"kw_authorization"}:kw_authorization]},{name:"any_keyword",symbols:[s.lexerAny.has("kw_binary")?{type:"kw_binary"}:kw_binary]},{name:"any_keyword",symbols:[s.lexerAny.has("kw_both")?{type:"kw_both"}:kw_both]},{name:"any_keyword",symbols:[s.lexerAny.has("kw_case")?{type:"kw_case"}:kw_case]},{name:"any_keyword",symbols:[s.lexerAny.has("kw_cast")?{type:"kw_cast"}:kw_cast]},{name:"any_keyword",symbols:[s.lexerAny.has("kw_check")?{type:"kw_check"}:kw_check]},{name:"any_keyword",symbols:[s.lexerAny.has("kw_collate")?{type:"kw_collate"}:kw_collate]},{name:"any_keyword",symbols:[s.lexerAny.has("kw_collation")?{type:"kw_collation"}:kw_collation]},{name:"any_keyword",symbols:[s.lexerAny.has("kw_concurrently")?{type:"kw_concurrently"}:kw_concurrently]},{name:"any_keyword",symbols:[s.lexerAny.has("kw_constraint")?{type:"kw_constraint"}:kw_constraint]},{name:"any_keyword",symbols:[s.lexerAny.has("kw_create")?{type:"kw_create"}:kw_create]},{name:"any_keyword",symbols:[s.lexerAny.has("kw_cross")?{type:"kw_cross"}:kw_cross]},{name:"any_keyword",symbols:[s.lexerAny.has("kw_current_catalog")?{type:"kw_current_catalog"}:kw_current_catalog]},{name:"any_keyword",symbols:[s.lexerAny.has("kw_current_date")?{type:"kw_current_date"}:kw_current_date]},{name:"any_keyword",symbols:[s.lexerAny.has("kw_current_role")?{type:"kw_current_role"}:kw_current_role]},{name:"any_keyword",symbols:[s.lexerAny.has("kw_current_schema")?{type:"kw_current_schema"}:kw_current_schema]},{name:"any_keyword",symbols:[s.lexerAny.has("kw_current_time")?{type:"kw_current_time"}:kw_current_time]},{name:"any_keyword",symbols:[s.lexerAny.has("kw_current_timestamp")?{type:"kw_current_timestamp"}:kw_current_timestamp]},{name:"any_keyword",symbols:[s.lexerAny.has("kw_current_user")?{type:"kw_current_user"}:kw_current_user]},{name:"any_keyword",symbols:[s.lexerAny.has("kw_default")?{type:"kw_default"}:kw_default]},{name:"any_keyword",symbols:[s.lexerAny.has("kw_deferrable")?{type:"kw_deferrable"}:kw_deferrable]},{name:"any_keyword",symbols:[s.lexerAny.has("kw_desc")?{type:"kw_desc"}:kw_desc]},{name:"any_keyword",symbols:[s.lexerAny.has("kw_distinct")?{type:"kw_distinct"}:kw_distinct]},{name:"any_keyword",symbols:[s.lexerAny.has("kw_do")?{type:"kw_do"}:kw_do]},{name:"any_keyword",symbols:[s.lexerAny.has("kw_else")?{type:"kw_else"}:kw_else]},{name:"any_keyword",symbols:[s.lexerAny.has("kw_end")?{type:"kw_end"}:kw_end]},{name:"any_keyword",symbols:[s.lexerAny.has("kw_except")?{type:"kw_except"}:kw_except]},{name:"any_keyword",symbols:[s.lexerAny.has("kw_false")?{type:"kw_false"}:kw_false]},{name:"any_keyword",symbols:[s.lexerAny.has("kw_fetch")?{type:"kw_fetch"}:kw_fetch]},{name:"any_keyword",symbols:[s.lexerAny.has("kw_for")?{type:"kw_for"}:kw_for]},{name:"any_keyword",symbols:[s.lexerAny.has("kw_foreign")?{type:"kw_foreign"}:kw_foreign]},{name:"any_keyword",symbols:[s.lexerAny.has("kw_freeze")?{type:"kw_freeze"}:kw_freeze]},{name:"any_keyword",symbols:[s.lexerAny.has("kw_from")?{type:"kw_from"}:kw_from]},{name:"any_keyword",symbols:[s.lexerAny.has("kw_full")?{type:"kw_full"}:kw_full]},{name:"any_keyword",symbols:[s.lexerAny.has("kw_grant")?{type:"kw_grant"}:kw_grant]},{name:"any_keyword",symbols:[s.lexerAny.has("kw_group")?{type:"kw_group"}:kw_group]},{name:"any_keyword",symbols:[s.lexerAny.has("kw_having")?{type:"kw_having"}:kw_having]},{name:"any_keyword",symbols:[s.lexerAny.has("kw_ilike")?{type:"kw_ilike"}:kw_ilike]},{name:"any_keyword",symbols:[s.lexerAny.has("kw_in")?{type:"kw_in"}:kw_in]},{name:"any_keyword",symbols:[s.lexerAny.has("kw_initially")?{type:"kw_initially"}:kw_initially]},{name:"any_keyword",symbols:[s.lexerAny.has("kw_inner")?{type:"kw_inner"}:kw_inner]},{name:"any_keyword",symbols:[s.lexerAny.has("kw_intersect")?{type:"kw_intersect"}:kw_intersect]},{name:"any_keyword",symbols:[s.lexerAny.has("kw_into")?{type:"kw_into"}:kw_into]},{name:"any_keyword",symbols:[s.lexerAny.has("kw_is")?{type:"kw_is"}:kw_is]},{name:"any_keyword",symbols:[s.lexerAny.has("kw_isnull")?{type:"kw_isnull"}:kw_isnull]},{name:"any_keyword",symbols:[s.lexerAny.has("kw_join")?{type:"kw_join"}:kw_join]},{name:"any_keyword",symbols:[s.lexerAny.has("kw_lateral")?{type:"kw_lateral"}:kw_lateral]},{name:"any_keyword",symbols:[s.lexerAny.has("kw_leading")?{type:"kw_leading"}:kw_leading]},{name:"any_keyword",symbols:[s.lexerAny.has("kw_left")?{type:"kw_left"}:kw_left]},{name:"any_keyword",symbols:[s.lexerAny.has("kw_like")?{type:"kw_like"}:kw_like]},{name:"any_keyword",symbols:[s.lexerAny.has("kw_limit")?{type:"kw_limit"}:kw_limit]},{name:"any_keyword",symbols:[s.lexerAny.has("kw_localtime")?{type:"kw_localtime"}:kw_localtime]},{name:"any_keyword",symbols:[s.lexerAny.has("kw_localtimestamp")?{type:"kw_localtimestamp"}:kw_localtimestamp]},{name:"any_keyword",symbols:[s.lexerAny.has("kw_natural")?{type:"kw_natural"}:kw_natural]},{name:"any_keyword",symbols:[s.lexerAny.has("kw_not")?{type:"kw_not"}:kw_not]},{name:"any_keyword",symbols:[s.lexerAny.has("kw_notnull")?{type:"kw_notnull"}:kw_notnull]},{name:"any_keyword",symbols:[s.lexerAny.has("kw_null")?{type:"kw_null"}:kw_null]},{name:"any_keyword",symbols:[s.lexerAny.has("kw_offset")?{type:"kw_offset"}:kw_offset]},{name:"any_keyword",symbols:[s.lexerAny.has("kw_on")?{type:"kw_on"}:kw_on]},{name:"any_keyword",symbols:[s.lexerAny.has("kw_only")?{type:"kw_only"}:kw_only]},{name:"any_keyword",symbols:[s.lexerAny.has("kw_or")?{type:"kw_or"}:kw_or]},{name:"any_keyword",symbols:[s.lexerAny.has("kw_order")?{type:"kw_order"}:kw_order]},{name:"any_keyword",symbols:[s.lexerAny.has("kw_outer")?{type:"kw_outer"}:kw_outer]},{name:"any_keyword",symbols:[s.lexerAny.has("kw_overlaps")?{type:"kw_overlaps"}:kw_overlaps]},{name:"any_keyword",symbols:[s.lexerAny.has("kw_placing")?{type:"kw_placing"}:kw_placing]},{name:"any_keyword",symbols:[s.lexerAny.has("kw_primary")?{type:"kw_primary"}:kw_primary]},{name:"any_keyword",symbols:[s.lexerAny.has("kw_references")?{type:"kw_references"}:kw_references]},{name:"any_keyword",symbols:[s.lexerAny.has("kw_returning")?{type:"kw_returning"}:kw_returning]},{name:"any_keyword",symbols:[s.lexerAny.has("kw_right")?{type:"kw_right"}:kw_right]},{name:"any_keyword",symbols:[s.lexerAny.has("kw_select")?{type:"kw_select"}:kw_select]},{name:"any_keyword",symbols:[s.lexerAny.has("kw_session_user")?{type:"kw_session_user"}:kw_session_user]},{name:"any_keyword",symbols:[s.lexerAny.has("kw_similar")?{type:"kw_similar"}:kw_similar]},{name:"any_keyword",symbols:[s.lexerAny.has("kw_some")?{type:"kw_some"}:kw_some]},{name:"any_keyword",symbols:[s.lexerAny.has("kw_symmetric")?{type:"kw_symmetric"}:kw_symmetric]},{name:"any_keyword",symbols:[s.lexerAny.has("kw_table")?{type:"kw_table"}:kw_table]},{name:"any_keyword",symbols:[s.lexerAny.has("kw_tablesample")?{type:"kw_tablesample"}:kw_tablesample]},{name:"any_keyword",symbols:[s.lexerAny.has("kw_then")?{type:"kw_then"}:kw_then]},{name:"any_keyword",symbols:[s.lexerAny.has("kw_to")?{type:"kw_to"}:kw_to]},{name:"any_keyword",symbols:[s.lexerAny.has("kw_trailing")?{type:"kw_trailing"}:kw_trailing]},{name:"any_keyword",symbols:[s.lexerAny.has("kw_true")?{type:"kw_true"}:kw_true]},{name:"any_keyword",symbols:[s.lexerAny.has("kw_union")?{type:"kw_union"}:kw_union]},{name:"any_keyword",symbols:[s.lexerAny.has("kw_unique")?{type:"kw_unique"}:kw_unique]},{name:"any_keyword",symbols:[s.lexerAny.has("kw_user")?{type:"kw_user"}:kw_user]},{name:"any_keyword",symbols:[s.lexerAny.has("kw_using")?{type:"kw_using"}:kw_using]},{name:"any_keyword",symbols:[s.lexerAny.has("kw_variadic")?{type:"kw_variadic"}:kw_variadic]},{name:"any_keyword",symbols:[s.lexerAny.has("kw_verbose")?{type:"kw_verbose"}:kw_verbose]},{name:"any_keyword",symbols:[s.lexerAny.has("kw_when")?{type:"kw_when"}:kw_when]},{name:"any_keyword",symbols:[s.lexerAny.has("kw_where")?{type:"kw_where"}:kw_where]},{name:"any_keyword",symbols:[s.lexerAny.has("kw_window")?{type:"kw_window"}:kw_window]},{name:"any_keyword",symbols:[s.lexerAny.has("kw_with")?{type:"kw_with"}:kw_with]},{name:"ident_extended",symbols:["ident"]},{name:"ident_extended",symbols:["any_keyword"]},{name:"select_statement$ebnf$1",symbols:["select_from"],postprocess:o},{name:"select_statement$ebnf$1",symbols:[],postprocess:()=>null},{name:"select_statement$ebnf$2",symbols:["select_where"],postprocess:o},{name:"select_statement$ebnf$2",symbols:[],postprocess:()=>null},{name:"select_statement$ebnf$3$subexpression$1$ebnf$1",symbols:["select_having"],postprocess:o},{name:"select_statement$ebnf$3$subexpression$1$ebnf$1",symbols:[],postprocess:()=>null},{name:"select_statement$ebnf$3$subexpression$1",symbols:["select_groupby","select_statement$ebnf$3$subexpression$1$ebnf$1"]},{name:"select_statement$ebnf$3",symbols:["select_statement$ebnf$3$subexpression$1"],postprocess:o},{name:"select_statement$ebnf$3",symbols:[],postprocess:()=>null},{name:"select_statement$ebnf$4",symbols:["select_order_by"],postprocess:o},{name:"select_statement$ebnf$4",symbols:[],postprocess:()=>null},{name:"select_statement$ebnf$5",symbols:["select_limit_offset"],postprocess:o},{name:"select_statement$ebnf$5",symbols:[],postprocess:()=>null},{name:"select_statement$ebnf$6$subexpression$1$ebnf$1",symbols:["select_skip"],postprocess:o},{name:"select_statement$ebnf$6$subexpression$1$ebnf$1",symbols:[],postprocess:()=>null},{name:"select_statement$ebnf$6$subexpression$1",symbols:["select_for","select_statement$ebnf$6$subexpression$1$ebnf$1"]},{name:"select_statement$ebnf$6",symbols:["select_statement$ebnf$6$subexpression$1"],postprocess:o},{name:"select_statement$ebnf$6",symbols:[],postprocess:()=>null},{name:"select_statement",symbols:["select_what","select_statement$ebnf$1","select_statement$ebnf$2","select_statement$ebnf$3","select_statement$ebnf$4","select_statement$ebnf$5","select_statement$ebnf$6"],postprocess:e=>{let[m,a,_,x,v,I,L]=e;a=r(a);let U=x&&x[0],K=x&&x[1];U=U&&(U.length===1&&U[0].type==="list"?U[0].expressions:U),K=K&&r(K);let Q=L&&L[0],z=L&&L[1];return z=r(z),(0,l.track)(e,{...m,...a?{from:Array.isArray(a)?a:[a]}:{},...U?{groupBy:U}:{},...K?{having:K}:{},...I?{limit:r(I)}:{},...v?{orderBy:v}:{},..._?{where:_}:{},...Q?{for:Q[1]}:{},...z?{skip:z}:{},type:"select"})}},{name:"select_from",symbols:[s.lexerAny.has("kw_from")?{type:"kw_from"}:kw_from,"select_from_items"],postprocess:b},{name:"select_from_items$ebnf$1",symbols:[]},{name:"select_from_items$ebnf$1$subexpression$1",symbols:["comma","select_from_item"],postprocess:b},{name:"select_from_items$ebnf$1",symbols:["select_from_items$ebnf$1","select_from_items$ebnf$1$subexpression$1"],postprocess:e=>e[0].concat([e[1]])},{name:"select_from_items",symbols:["select_from_item","select_from_items$ebnf$1"],postprocess:([e,m])=>[...e,...c(m)||[]]},{name:"select_from_item",symbols:["select_from_subject"]},{name:"select_from_item",symbols:["select_from_item_joins"],postprocess:y(0)},{name:"select_from_item_joins$subexpression$1",symbols:["select_from_item"],postprocess:y(0)},{name:"select_from_item_joins",symbols:["select_from_item_joins$subexpression$1","select_table_join"],postprocess:c},{name:"select_from_item_joins",symbols:["lparen","select_from_item_joins","rparen"],postprocess:y(1)},{name:"select_from_subject",symbols:["stb_table"],postprocess:r},{name:"select_from_subject",symbols:["stb_statement"],postprocess:r},{name:"select_from_subject",symbols:["stb_call"],postprocess:r},{name:"stb_opts$ebnf$1",symbols:["collist_paren"],postprocess:o},{name:"stb_opts$ebnf$1",symbols:[],postprocess:()=>null},{name:"stb_opts",symbols:["ident_aliased","stb_opts$ebnf$1"],postprocess:e=>(0,l.track)(e,{alias:h(e[0]),...e[1]&&{columnNames:(0,l.unbox)(e[1]).map(u)}})},{name:"stb_table$ebnf$1",symbols:["stb_opts"],postprocess:o},{name:"stb_table$ebnf$1",symbols:[],postprocess:()=>null},{name:"stb_table",symbols:["table_ref","stb_table$ebnf$1"],postprocess:e=>(0,l.track)(e,{type:"table",name:(0,l.track)(e,{...e[0],...e[1]})})},{name:"stb_statement$ebnf$1",symbols:[s.lexerAny.has("kw_lateral")?{type:"kw_lateral"}:kw_lateral],postprocess:o},{name:"stb_statement$ebnf$1",symbols:[],postprocess:()=>null},{name:"stb_statement",symbols:["stb_statement$ebnf$1","selection_paren","stb_opts"],postprocess:e=>(0,l.track)(e,{type:"statement",statement:r(e[1]),...e[0]&&{lateral:!0},...e[2]})},{name:"select_values",symbols:["kw_values","insert_values"],postprocess:e=>(0,l.track)(e,{type:"values",values:e[1]})},{name:"stb_call$ebnf$1",symbols:[s.lexerAny.has("kw_lateral")?{type:"kw_lateral"}:kw_lateral],postprocess:o},{name:"stb_call$ebnf$1",symbols:[],postprocess:()=>null},{name:"stb_call$ebnf$2",symbols:["kw_withordinality"],postprocess:o},{name:"stb_call$ebnf$2",symbols:[],postprocess:()=>null},{name:"stb_call$ebnf$3",symbols:["stb_call_alias"],postprocess:o},{name:"stb_call$ebnf$3",symbols:[],postprocess:()=>null},{name:"stb_call",symbols:["stb_call$ebnf$1","expr_function_call","stb_call$ebnf$2","stb_call$ebnf$3"],postprocess:e=>{const m=e[0],a=e[2],_=e[3];return!a&&!_?e[1]:(0,l.track)(e,{...e[1],...m&&{lateral:!0},...a&&{withOrdinality:!0},alias:_?w(_[0],_[1]):void 0})}},{name:"stb_call_alias$subexpression$1$ebnf$1",symbols:[s.lexerAny.has("kw_as")?{type:"kw_as"}:kw_as],postprocess:o},{name:"stb_call_alias$subexpression$1$ebnf$1",symbols:[],postprocess:()=>null},{name:"stb_call_alias$subexpression$1",symbols:["stb_call_alias$subexpression$1$ebnf$1","ident"],postprocess:b},{name:"stb_call_alias$ebnf$1",symbols:["stb_call_alias_list"],postprocess:o},{name:"stb_call_alias$ebnf$1",symbols:[],postprocess:()=>null},{name:"stb_call_alias",symbols:["stb_call_alias$subexpression$1","stb_call_alias$ebnf$1"]},{name:"stb_call_alias_list",symbols:["lparen","stb_call_alias_list_raw","rparen"],postprocess:y(1)},{name:"stb_call_alias_list_raw$ebnf$1",symbols:[]},{name:"stb_call_alias_list_raw$ebnf$1$subexpression$1",symbols:["comma","ident"],postprocess:b},{name:"stb_call_alias_list_raw$ebnf$1",symbols:["stb_call_alias_list_raw$ebnf$1","stb_call_alias_list_raw$ebnf$1$subexpression$1"],postprocess:e=>e[0].concat([e[1]])},{name:"stb_call_alias_list_raw",symbols:["ident","stb_call_alias_list_raw$ebnf$1"],postprocess:([e,m])=>[e,...m||[]]},{name:"select_table_join$ebnf$1",symbols:["select_table_join_clause"],postprocess:o},{name:"select_table_join$ebnf$1",symbols:[],postprocess:()=>null},{name:"select_table_join",symbols:["select_join_op",s.lexerAny.has("kw_join")?{type:"kw_join"}:kw_join,"select_from_subject","select_table_join$ebnf$1"],postprocess:e=>(0,l.track)(e,{...r(e[2]),join:{type:h(e[0]," "),...e[3]&&r(e[3])}})},{name:"select_table_join_clause",symbols:[s.lexerAny.has("kw_on")?{type:"kw_on"}:kw_on,"expr"],postprocess:e=>(0,l.track)(e,{on:b(e)})},{name:"select_table_join_clause$macrocall$2",symbols:["ident"]},{name:"select_table_join_clause$macrocall$1$ebnf$1",symbols:[]},{name:"select_table_join_clause$macrocall$1$ebnf$1$subexpression$1",symbols:[s.lexerAny.has("comma")?{type:"comma"}:comma,"select_table_join_clause$macrocall$2"],postprocess:b},{name:"select_table_join_clause$macrocall$1$ebnf$1",symbols:["select_table_join_clause$macrocall$1$ebnf$1","select_table_join_clause$macrocall$1$ebnf$1$subexpression$1"],postprocess:e=>e[0].concat([e[1]])},{name:"select_table_join_clause$macrocall$1",symbols:["select_table_join_clause$macrocall$2","select_table_join_clause$macrocall$1$ebnf$1"],postprocess:([e,m])=>[r(e),...m.map(r)||[]]},{name:"select_table_join_clause",symbols:[s.lexerAny.has("kw_using")?{type:"kw_using"}:kw_using,"lparen","select_table_join_clause$macrocall$1","rparen"],postprocess:e=>(0,l.track)(e,{using:e[2].map(u)})},{name:"select_join_op$subexpression$1$ebnf$1",symbols:[s.lexerAny.has("kw_inner")?{type:"kw_inner"}:kw_inner],postprocess:o},{name:"select_join_op$subexpression$1$ebnf$1",symbols:[],postprocess:()=>null},{name:"select_join_op$subexpression$1",symbols:["select_join_op$subexpression$1$ebnf$1"],postprocess:e=>(0,l.box)(e,"INNER JOIN")},{name:"select_join_op",symbols:["select_join_op$subexpression$1"]},{name:"select_join_op$subexpression$2",symbols:[s.lexerAny.has("kw_cross")?{type:"kw_cross"}:kw_cross],postprocess:e=>(0,l.box)(e,"CROSS JOIN")},{name:"select_join_op",symbols:["select_join_op$subexpression$2"]},{name:"select_join_op$subexpression$3$ebnf$1",symbols:[s.lexerAny.has("kw_outer")?{type:"kw_outer"}:kw_outer],postprocess:o},{name:"select_join_op$subexpression$3$ebnf$1",symbols:[],postprocess:()=>null},{name:"select_join_op$subexpression$3",symbols:[s.lexerAny.has("kw_left")?{type:"kw_left"}:kw_left,"select_join_op$subexpression$3$ebnf$1"],postprocess:e=>(0,l.box)(e,"LEFT JOIN")},{name:"select_join_op",symbols:["select_join_op$subexpression$3"]},{name:"select_join_op$subexpression$4$ebnf$1",symbols:[s.lexerAny.has("kw_outer")?{type:"kw_outer"}:kw_outer],postprocess:o},{name:"select_join_op$subexpression$4$ebnf$1",symbols:[],postprocess:()=>null},{name:"select_join_op$subexpression$4",symbols:[s.lexerAny.has("kw_right")?{type:"kw_right"}:kw_right,"select_join_op$subexpression$4$ebnf$1"],postprocess:e=>(0,l.box)(e,"RIGHT JOIN")},{name:"select_join_op",symbols:["select_join_op$subexpression$4"]},{name:"select_join_op$subexpression$5$ebnf$1",symbols:[s.lexerAny.has("kw_outer")?{type:"kw_outer"}:kw_outer],postprocess:o},{name:"select_join_op$subexpression$5$ebnf$1",symbols:[],postprocess:()=>null},{name:"select_join_op$subexpression$5",symbols:[s.lexerAny.has("kw_full")?{type:"kw_full"}:kw_full,"select_join_op$subexpression$5$ebnf$1"],postprocess:e=>(0,l.box)(e,"FULL JOIN")},{name:"select_join_op",symbols:["select_join_op$subexpression$5"]},{name:"select_what$ebnf$1",symbols:["select_distinct"],postprocess:o},{name:"select_what$ebnf$1",symbols:[],postprocess:()=>null},{name:"select_what$ebnf$2",symbols:["select_expr_list_aliased"],postprocess:o},{name:"select_what$ebnf$2",symbols:[],postprocess:()=>null},{name:"select_what",symbols:[s.lexerAny.has("kw_select")?{type:"kw_select"}:kw_select,"select_what$ebnf$1","select_what$ebnf$2"],postprocess:e=>(0,l.track)(e,{columns:e[2],...e[1]&&{distinct:(0,l.unbox)(e[1])}})},{name:"select_expr_list_aliased$ebnf$1",symbols:[]},{name:"select_expr_list_aliased$ebnf$1$subexpression$1",symbols:["comma","select_expr_list_item"],postprocess:b},{name:"select_expr_list_aliased$ebnf$1",symbols:["select_expr_list_aliased$ebnf$1","select_expr_list_aliased$ebnf$1$subexpression$1"],postprocess:e=>e[0].concat([e[1]])},{name:"select_expr_list_aliased",symbols:["select_expr_list_item","select_expr_list_aliased$ebnf$1"],postprocess:([e,m])=>[e,...m||[]]},{name:"select_expr_list_item$ebnf$1",symbols:["ident_aliased"],postprocess:o},{name:"select_expr_list_item$ebnf$1",symbols:[],postprocess:()=>null},{name:"select_expr_list_item",symbols:["expr","select_expr_list_item$ebnf$1"],postprocess:e=>(0,l.track)(e,{expr:e[0],...e[1]?{alias:u(e[1])}:{}})},{name:"select_distinct",symbols:[s.lexerAny.has("kw_all")?{type:"kw_all"}:kw_all],postprocess:e=>(0,l.box)(e,"all")},{name:"select_distinct$ebnf$1$subexpression$1",symbols:[s.lexerAny.has("kw_on")?{type:"kw_on"}:kw_on,"lparen","expr_list_raw","rparen"],postprocess:y(2)},{name:"select_distinct$ebnf$1",symbols:["select_distinct$ebnf$1$subexpression$1"],postprocess:o},{name:"select_distinct$ebnf$1",symbols:[],postprocess:()=>null},{name:"select_distinct",symbols:[s.lexerAny.has("kw_distinct")?{type:"kw_distinct"}:kw_distinct,"select_distinct$ebnf$1"],postprocess:e=>(0,l.box)(e,e[1]||"distinct")},{name:"select_where",symbols:[s.lexerAny.has("kw_where")?{type:"kw_where"}:kw_where,"expr"],postprocess:b},{name:"select_groupby",symbols:[s.lexerAny.has("kw_group")?{type:"kw_group"}:kw_group,"kw_by","expr_list_raw"],postprocess:b},{name:"select_having",symbols:[s.lexerAny.has("kw_having")?{type:"kw_having"}:kw_having,"expr"],postprocess:b},{name:"select_limit_offset$ebnf$1$subexpression$1",symbols:["select_offset"]},{name:"select_limit_offset$ebnf$1$subexpression$1",symbols:["select_limit"]},{name:"select_limit_offset$ebnf$1",symbols:["select_limit_offset$ebnf$1$subexpression$1"]},{name:"select_limit_offset$ebnf$1$subexpression$2",symbols:["select_offset"]},{name:"select_limit_offset$ebnf$1$subexpression$2",symbols:["select_limit"]},{name:"select_limit_offset$ebnf$1",symbols:["select_limit_offset$ebnf$1","select_limit_offset$ebnf$1$subexpression$2"],postprocess:e=>e[0].concat([e[1]])},{name:"select_limit_offset",symbols:["select_limit_offset$ebnf$1"],postprocess:(e,m)=>{const a=r(e);if(!Array.isArray(a))return(0,l.track)(e,a);if(a.length!=2)return m;const _=r(a[0]),x=r(a[1]);return _.offset&&x.offset||_.limit&&x.limit?m:(0,l.track)(e,{..._,...x})}},{name:"select_offset$ebnf$1$subexpression$1",symbols:["kw_row"]},{name:"select_offset$ebnf$1$subexpression$1",symbols:["kw_rows"]},{name:"select_offset$ebnf$1",symbols:["select_offset$ebnf$1$subexpression$1"],postprocess:o},{name:"select_offset$ebnf$1",symbols:[],postprocess:()=>null},{name:"select_offset",symbols:[s.lexerAny.has("kw_offset")?{type:"kw_offset"}:kw_offset,"expr_nostar","select_offset$ebnf$1"],postprocess:e=>(0,l.track)(e,{offset:r(e[1])})},{name:"select_limit$subexpression$1",symbols:["select_limit_1"]},{name:"select_limit$subexpression$1",symbols:["select_limit_2"]},{name:"select_limit",symbols:["select_limit$subexpression$1"],postprocess:e=>(0,l.track)(e,{limit:r(e)})},{name:"select_limit_1",symbols:[s.lexerAny.has("kw_limit")?{type:"kw_limit"}:kw_limit,"expr_nostar"],postprocess:b},{name:"select_limit_2$ebnf$1$subexpression$1",symbols:["kw_first"]},{name:"select_limit_2$ebnf$1$subexpression$1",symbols:["kw_next"]},{name:"select_limit_2$ebnf$1",symbols:["select_limit_2$ebnf$1$subexpression$1"],postprocess:o},{name:"select_limit_2$ebnf$1",symbols:[],postprocess:()=>null},{name:"select_limit_2$subexpression$1",symbols:["kw_row"]},{name:"select_limit_2$subexpression$1",symbols:["kw_rows"]},{name:"select_limit_2",symbols:[s.lexerAny.has("kw_fetch")?{type:"kw_fetch"}:kw_fetch,"select_limit_2$ebnf$1","expr_nostar","select_limit_2$subexpression$1",s.lexerAny.has("kw_only")?{type:"kw_only"}:kw_only],postprocess:y(2)},{name:"select_for$subexpression$1",symbols:["kw_update"],postprocess:e=>(0,l.track)(e,{type:"update"})},{name:"select_for$subexpression$1",symbols:["kw_no","kw_key","kw_update"],postprocess:e=>(0,l.track)(e,{type:"no key update"})},{name:"select_for$subexpression$1",symbols:["kw_share"],postprocess:e=>(0,l.track)(e,{type:"share"})},{name:"select_for$subexpression$1",symbols:["kw_key","kw_share"],postprocess:e=>(0,l.track)(e,{type:"key share"})},{name:"select_for",symbols:[s.lexerAny.has("kw_for")?{type:"kw_for"}:kw_for,"select_for$subexpression$1"]},{name:"select_skip$subexpression$1",symbols:["kw_nowait"],postprocess:e=>(0,l.track)(e,{type:"nowait"})},{name:"select_skip$subexpression$1",symbols:["kw_skip","kw_locked"],postprocess:e=>(0,l.track)(e,{type:"skip locked"})},{name:"select_skip",symbols:["select_skip$subexpression$1"]},{name:"select_order_by$subexpression$1",symbols:[s.lexerAny.has("kw_order")?{type:"kw_order"}:kw_order,"kw_by"]},{name:"select_order_by$ebnf$1",symbols:[]},{name:"select_order_by$ebnf$1$subexpression$1",symbols:["comma","select_order_by_expr"],postprocess:b},{name:"select_order_by$ebnf$1",symbols:["select_order_by$ebnf$1","select_order_by$ebnf$1$subexpression$1"],postprocess:e=>e[0].concat([e[1]])},{name:"select_order_by",symbols:["select_order_by$subexpression$1","select_order_by_expr","select_order_by$ebnf$1"],postprocess:([e,m,a])=>[m,...a||[]]},{name:"select_order_by_expr$ebnf$1$subexpression$1",symbols:[s.lexerAny.has("kw_asc")?{type:"kw_asc"}:kw_asc]},{name:"select_order_by_expr$ebnf$1$subexpression$1",symbols:[s.lexerAny.has("kw_desc")?{type:"kw_desc"}:kw_desc]},{name:"select_order_by_expr$ebnf$1",symbols:["select_order_by_expr$ebnf$1$subexpression$1"],postprocess:o},{name:"select_order_by_expr$ebnf$1",symbols:[],postprocess:()=>null},{name:"select_order_by_expr$ebnf$2$subexpression$1$subexpression$1",symbols:["kw_first"]},{name:"select_order_by_expr$ebnf$2$subexpression$1$subexpression$1",symbols:["kw_last"]},{name:"select_order_by_expr$ebnf$2$subexpression$1",symbols:["kw_nulls","select_order_by_expr$ebnf$2$subexpression$1$subexpression$1"],postprocess:b},{name:"select_order_by_expr$ebnf$2",symbols:["select_order_by_expr$ebnf$2$subexpression$1"],postprocess:o},{name:"select_order_by_expr$ebnf$2",symbols:[],postprocess:()=>null},{name:"select_order_by_expr",symbols:["expr","select_order_by_expr$ebnf$1","select_order_by_expr$ebnf$2"],postprocess:e=>(0,l.track)(e,{by:e[0],...e[1]&&{order:h(e[1]).toUpperCase()},...e[2]&&{nulls:h(e[2]).toUpperCase()}})},{name:"expr",symbols:["expr_nostar"],postprocess:r},{name:"expr",symbols:["expr_star"],postprocess:r},{name:"expr_nostar",symbols:["expr_paren"],postprocess:r},{name:"expr_nostar",symbols:["expr_or"],postprocess:r},{name:"expr_paren$subexpression$1",symbols:["expr_or_select"]},{name:"expr_paren$subexpression$1",symbols:["expr_list_many"]},{name:"expr_paren",symbols:["lparen","expr_paren$subexpression$1","rparen"],postprocess:y(1)},{name:"expr_or$macrocall$2$macrocall$2",symbols:[s.lexerAny.has("kw_or")?{type:"kw_or"}:kw_or]},{name:"expr_or$macrocall$2$macrocall$1",symbols:["expr_or$macrocall$2$macrocall$2"],postprocess:e=>(0,l.track)(e,{op:(h(e," ")||"<error>").toUpperCase()})},{name:"expr_or$macrocall$2",symbols:["expr_or$macrocall$2$macrocall$1"]},{name:"expr_or$macrocall$3",symbols:["expr_or"]},{name:"expr_or$macrocall$4",symbols:["expr_and"]},{name:"expr_or$macrocall$1$subexpression$1",symbols:["expr_or$macrocall$3"]},{name:"expr_or$macrocall$1$subexpression$1",symbols:["expr_paren"]},{name:"expr_or$macrocall$1$subexpression$2",symbols:["expr_or$macrocall$4"]},{name:"expr_or$macrocall$1$subexpression$2",symbols:["expr_paren"]},{name:"expr_or$macrocall$1",symbols:["expr_or$macrocall$1$subexpression$1","expr_or$macrocall$2","expr_or$macrocall$1$subexpression$2"],postprocess:e=>(0,l.track)(e,{type:"binary",left:r(e[0]),right:r(e[2]),...r(e[1])})},{name:"expr_or$macrocall$1",symbols:["expr_or$macrocall$4"],postprocess:r},{name:"expr_or",symbols:["expr_or$macrocall$1"]},{name:"expr_and$macrocall$2$macrocall$2",symbols:[s.lexerAny.has("kw_and")?{type:"kw_and"}:kw_and]},{name:"expr_and$macrocall$2$macrocall$1",symbols:["expr_and$macrocall$2$macrocall$2"],postprocess:e=>(0,l.track)(e,{op:(h(e," ")||"<error>").toUpperCase()})},{name:"expr_and$macrocall$2",symbols:["expr_and$macrocall$2$macrocall$1"]},{name:"expr_and$macrocall$3",symbols:["expr_and"]},{name:"expr_and$macrocall$4",symbols:["expr_not"]},{name:"expr_and$macrocall$1$subexpression$1",symbols:["expr_and$macrocall$3"]},{name:"expr_and$macrocall$1$subexpression$1",symbols:["expr_paren"]},{name:"expr_and$macrocall$1$subexpression$2",symbols:["expr_and$macrocall$4"]},{name:"expr_and$macrocall$1$subexpression$2",symbols:["expr_paren"]},{name:"expr_and$macrocall$1",symbols:["expr_and$macrocall$1$subexpression$1","expr_and$macrocall$2","expr_and$macrocall$1$subexpression$2"],postprocess:e=>(0,l.track)(e,{type:"binary",left:r(e[0]),right:r(e[2]),...r(e[1])})},{name:"expr_and$macrocall$1",symbols:["expr_and$macrocall$4"],postprocess:r},{name:"expr_and",symbols:["expr_and$macrocall$1"]},{name:"expr_not$macrocall$2$macrocall$2",symbols:[s.lexerAny.has("kw_not")?{type:"kw_not"}:kw_not]},{name:"expr_not$macrocall$2$macrocall$1",symbols:["expr_not$macrocall$2$macrocall$2"],postprocess:e=>(0,l.track)(e,{op:(h(e," ")||"<error>").toUpperCase()})},{name:"expr_not$macrocall$2",symbols:["expr_not$macrocall$2$macrocall$1"]},{name:"expr_not$macrocall$3",symbols:["expr_not"]},{name:"expr_not$macrocall$4",symbols:["expr_eq"]},{name:"expr_not$macrocall$1$subexpression$1",symbols:["expr_not$macrocall$3"]},{name:"expr_not$macrocall$1$subexpression$1",symbols:["expr_paren"]},{name:"expr_not$macrocall$1",symbols:["expr_not$macrocall$2","expr_not$macrocall$1$subexpression$1"],postprocess:e=>(0,l.track)(e,{type:"unary",...r(e[0]),operand:r(e[1])})},{name:"expr_not$macrocall$1",symbols:["expr_not$macrocall$4"],postprocess:r},{name:"expr_not",symbols:["expr_not$macrocall$1"]},{name:"expr_eq$macrocall$2$macrocall$2$subexpression$1",symbols:[s.lexerAny.has("op_eq")?{type:"op_eq"}:op_eq]},{name:"expr_eq$macrocall$2$macrocall$2$subexpression$1",symbols:[s.lexerAny.has("op_neq")?{type:"op_neq"}:op_neq]},{name:"expr_eq$macrocall$2$macrocall$2",symbols:["expr_eq$macrocall$2$macrocall$2$subexpression$1"]},{name:"expr_eq$macrocall$2$macrocall$1$macrocall$2",symbols:["expr_eq$macrocall$2$macrocall$2"]},{name:"expr_eq$macrocall$2$macrocall$1$macrocall$1",symbols:["expr_eq$macrocall$2$macrocall$1$macrocall$2"],postprocess:e=>(0,l.track)(e,{op:(h(e," ")||"<error>").toUpperCase()})},{name:"expr_eq$macrocall$2$macrocall$1",symbols:["expr_eq$macrocall$2$macrocall$1$macrocall$1"],postprocess:r},{name:"expr_eq$macrocall$2$macrocall$1",symbols:["kw_operator","lparen","ident","dot","expr_eq$macrocall$2$macrocall$2","rparen"],postprocess:e=>(0,l.track)(e,{op:(h(e[4]," ")||"<error>").toUpperCase(),opSchema:h(e[2])})},{name:"expr_eq$macrocall$2",symbols:["expr_eq$macrocall$2$macrocall$1"]},{name:"expr_eq$macrocall$3",symbols:["expr_eq"]},{name:"expr_eq$macrocall$4",symbols:["expr_is"]},{name:"expr_eq$macrocall$1$subexpression$1",symbols:["expr_eq$macrocall$3"]},{name:"expr_eq$macrocall$1$subexpression$1",symbols:["expr_paren"]},{name:"expr_eq$macrocall$1$subexpression$2",symbols:["expr_eq$macrocall$4"]},{name:"expr_eq$macrocall$1$subexpression$2",symbols:["expr_paren"]},{name:"expr_eq$macrocall$1",symbols:["expr_eq$macrocall$1$subexpression$1","expr_eq$macrocall$2","expr_eq$macrocall$1$subexpression$2"],postprocess:e=>(0,l.track)(e,{type:"binary",left:r(e[0]),right:r(e[2]),...r(e[1])})},{name:"expr_eq$macrocall$1",symbols:["expr_eq$macrocall$4"],postprocess:r},{name:"expr_eq",symbols:["expr_eq$macrocall$1"]},{name:"expr_star",symbols:["star"],postprocess:e=>(0,l.track)(e,{type:"ref",name:"*"})},{name:"expr_is$subexpression$1",symbols:["expr_is"]},{name:"expr_is$subexpression$1",symbols:["expr_paren"]},{name:"expr_is$subexpression$2",symbols:[s.lexerAny.has("kw_isnull")?{type:"kw_isnull"}:kw_isnull]},{name:"expr_is$subexpression$2",symbols:[s.lexerAny.has("kw_is")?{type:"kw_is"}:kw_is,s.lexerAny.has("kw_null")?{type:"kw_null"}:kw_null]},{name:"expr_is",symbols:["expr_is$subexpression$1","expr_is$subexpression$2"],postprocess:e=>(0,l.track)(e,{type:"unary",op:"IS NULL",operand:r(e[0])})},{name:"expr_is$subexpression$3",symbols:["expr_is"]},{name:"expr_is$subexpression$3",symbols:["expr_paren"]},{name:"expr_is$subexpression$4",symbols:[s.lexerAny.has("kw_notnull")?{type:"kw_notnull"}:kw_notnull]},{name:"expr_is$subexpression$4",symbols:[s.lexerAny.has("kw_is")?{type:"kw_is"}:kw_is,"kw_not_null"]},{name:"expr_is",symbols:["expr_is$subexpression$3","expr_is$subexpression$4"],postprocess:e=>(0,l.track)(e,{type:"unary",op:"IS NOT NULL",operand:r(e[0])})},{name:"expr_is$subexpression$5",symbols:["expr_is"]},{name:"expr_is$subexpression$5",symbols:["expr_paren"]},{name:"expr_is$ebnf$1",symbols:[s.lexerAny.has("kw_not")?{type:"kw_not"}:kw_not],postprocess:o},{name:"expr_is$ebnf$1",symbols:[],postprocess:()=>null},{name:"expr_is$subexpression$6",symbols:[s.lexerAny.has("kw_true")?{type:"kw_true"}:kw_true]},{name:"expr_is$subexpression$6",symbols:[s.lexerAny.has("kw_false")?{type:"kw_false"}:kw_false]},{name:"expr_is",symbols:["expr_is$subexpression$5",s.lexerAny.has("kw_is")?{type:"kw_is"}:kw_is,"expr_is$ebnf$1","expr_is$subexpression$6"],postprocess:e=>(0,l.track)(e,{type:"unary",op:"IS "+f([e[2],e[3]]).join(" ").toUpperCase(),operand:r(e[0])})},{name:"expr_is",symbols:["expr_compare"],postprocess:r},{name:"expr_compare$macrocall$2$macrocall$2",symbols:[s.lexerAny.has("op_compare")?{type:"op_compare"}:op_compare]},{name:"expr_compare$macrocall$2$macrocall$1$macrocall$2",symbols:["expr_compare$macrocall$2$macrocall$2"]},{name:"expr_compare$macrocall$2$macrocall$1$macrocall$1",symbols:["expr_compare$macrocall$2$macrocall$1$macrocall$2"],postprocess:e=>(0,l.track)(e,{op:(h(e," ")||"<error>").toUpperCase()})},{name:"expr_compare$macrocall$2$macrocall$1",symbols:["expr_compare$macrocall$2$macrocall$1$macrocall$1"],postprocess:r},{name:"expr_compare$macrocall$2$macrocall$1",symbols:["kw_operator","lparen","ident","dot","expr_compare$macrocall$2$macrocall$2","rparen"],postprocess:e=>(0,l.track)(e,{op:(h(e[4]," ")||"<error>").toUpperCase(),opSchema:h(e[2])})},{name:"expr_compare$macrocall$2",symbols:["expr_compare$macrocall$2$macrocall$1"]},{name:"expr_compare$macrocall$3",symbols:["expr_compare"]},{name:"expr_compare$macrocall$4",symbols:["expr_range"]},{name:"expr_compare$macrocall$1$subexpression$1",symbols:["expr_compare$macrocall$3"]},{name:"expr_compare$macrocall$1$subexpression$1",symbols:["expr_paren"]},{name:"expr_compare$macrocall$1$subexpression$2",symbols:["expr_compare$macrocall$4"]},{name:"expr_compare$macrocall$1$subexpression$2",symbols:["expr_paren"]},{name:"expr_compare$macrocall$1",symbols:["expr_compare$macrocall$1$subexpression$1","expr_compare$macrocall$2","expr_compare$macrocall$1$subexpression$2"],postprocess:e=>(0,l.track)(e,{type:"binary",left:r(e[0]),right:r(e[2]),...r(e[1])})},{name:"expr_compare$macrocall$1",symbols:["expr_compare$macrocall$4"],postprocess:r},{name:"expr_compare",symbols:["expr_compare$macrocall$1"]},{name:"expr_range$macrocall$2",symbols:["ops_between"]},{name:"expr_range$macrocall$3",symbols:[s.lexerAny.has("kw_and")?{type:"kw_and"}:kw_and]},{name:"expr_range$macrocall$4",symbols:["expr_range"]},{name:"expr_range$macrocall$5",symbols:["expr_others"]},{name:"expr_range$macrocall$1$subexpression$1",symbols:["expr_range$macrocall$4"]},{name:"expr_range$macrocall$1$subexpression$1",symbols:["expr_paren"]},{name:"expr_range$macrocall$1$subexpression$2",symbols:["expr_range$macrocall$4"]},{name:"expr_range$macrocall$1$subexpression$2",symbols:["expr_paren"]},{name:"expr_range$macrocall$1$subexpression$3",symbols:["expr_range$macrocall$5"]},{name:"expr_range$macrocall$1$subexpression$3",symbols:["expr_paren"]},{name:"expr_range$macrocall$1",symbols:["expr_range$macrocall$1$subexpression$1","expr_range$macrocall$2","expr_range$macrocall$1$subexpression$2","expr_range$macrocall$3","expr_range$macrocall$1$subexpression$3"],postprocess:e=>(0,l.track)(e,{type:"ternary",value:r(e[0]),lo:r(e[2]),hi:r(e[4]),op:(f(e[1]).join(" ")||"<error>").toUpperCase()})},{name:"expr_range$macrocall$1",symbols:["expr_range$macrocall$5"],postprocess:r},{name:"expr_range",symbols:["expr_range$macrocall$1"]},{name:"expr_others$macrocall$2$macrocall$2",symbols:[s.lexerAny.has("ops_others")?{type:"ops_others"}:ops_others]},{name:"expr_others$macrocall$2$macrocall$1$macrocall$2",symbols:["expr_others$macrocall$2$macrocall$2"]},{name:"expr_others$macrocall$2$macrocall$1$macrocall$1",symbols:["expr_others$macrocall$2$macrocall$1$macrocall$2"],postprocess:e=>(0,l.track)(e,{op:(h(e," ")||"<error>").toUpperCase()})},{name:"expr_others$macrocall$2$macrocall$1",symbols:["expr_others$macrocall$2$macrocall$1$macrocall$1"],postprocess:r},{name:"expr_others$macrocall$2$macrocall$1",symbols:["kw_operator","lparen","ident","dot","expr_others$macrocall$2$macrocall$2","rparen"],postprocess:e=>(0,l.track)(e,{op:(h(e[4]," ")||"<error>").toUpperCase(),opSchema:h(e[2])})},{name:"expr_others$macrocall$2",symbols:["expr_others$macrocall$2$macrocall$1"]},{name:"expr_others$macrocall$3",symbols:["expr_others"]},{name:"expr_others$macrocall$4",symbols:["expr_like"]},{name:"expr_others$macrocall$1$subexpression$1",symbols:["expr_others$macrocall$3"]},{name:"expr_others$macrocall$1$subexpression$1",symbols:["expr_paren"]},{name:"expr_others$macrocall$1$subexpression$2",symbols:["expr_others$macrocall$4"]},{name:"expr_others$macrocall$1$subexpression$2",symbols:["expr_paren"]},{name:"expr_others$macrocall$1",symbols:["expr_others$macrocall$1$subexpression$1","expr_others$macrocall$2","expr_others$macrocall$1$subexpression$2"],postprocess:e=>(0,l.track)(e,{type:"binary",left:r(e[0]),right:r(e[2]),...r(e[1])})},{name:"expr_others$macrocall$1",symbols:["expr_others$macrocall$4"],postprocess:r},{name:"expr_others",symbols:["expr_others$macrocall$1"]},{name:"expr_like$macrocall$2$macrocall$2",symbols:["ops_like"]},{name:"expr_like$macrocall$2$macrocall$1",symbols:["expr_like$macrocall$2$macrocall$2"],postprocess:e=>(0,l.track)(e,{op:(h(e," ")||"<error>").toUpperCase()})},{name:"expr_like$macrocall$2",symbols:["expr_like$macrocall$2$macrocall$1"]},{name:"expr_like$macrocall$3",symbols:["expr_like"]},{name:"expr_like$macrocall$4",symbols:["expr_in"]},{name:"expr_like$macrocall$1$subexpression$1",symbols:["expr_like$macrocall$3"]},{name:"expr_like$macrocall$1$subexpression$1",symbols:["expr_paren"]},{name:"expr_like$macrocall$1$subexpression$2",symbols:["expr_like$macrocall$4"]},{name:"expr_like$macrocall$1$subexpression$2",symbols:["expr_paren"]},{name:"expr_like$macrocall$1",symbols:["expr_like$macrocall$1$subexpression$1","expr_like$macrocall$2","expr_like$macrocall$1$subexpression$2"],postprocess:e=>(0,l.track)(e,{type:"binary",left:r(e[0]),right:r(e[2]),...r(e[1])})},{name:"expr_like$macrocall$1",symbols:["expr_like$macrocall$4"],postprocess:r},{name:"expr_like",symbols:["expr_like$macrocall$1"]},{name:"expr_in$macrocall$2$macrocall$2",symbols:["ops_in"]},{name:"expr_in$macrocall$2$macrocall$1",symbols:["expr_in$macrocall$2$macrocall$2"],postprocess:e=>(0,l.track)(e,{op:(h(e," ")||"<error>").toUpperCase()})},{name:"expr_in$macrocall$2",symbols:["expr_in$macrocall$2$macrocall$1"]},{name:"expr_in$macrocall$3",symbols:["expr_in"]},{name:"expr_in$macrocall$4",symbols:["expr_add"]},{name:"expr_in$macrocall$1$subexpression$1",symbols:["expr_in$macrocall$3"]},{name:"expr_in$macrocall$1$subexpression$1",symbols:["expr_paren"]},{name:"expr_in$macrocall$1$subexpression$2",symbols:["expr_in$macrocall$4"]},{name:"expr_in$macrocall$1$subexpression$2",symbols:["expr_paren"]},{name:"expr_in$macrocall$1",symbols:["expr_in$macrocall$1$subexpression$1","expr_in$macrocall$2","expr_in$macrocall$1$subexpression$2"],postprocess:e=>(0,l.track)(e,{type:"binary",left:r(e[0]),right:r(e[2]),...r(e[1])})},{name:"expr_in$macrocall$1",symbols:["expr_in$macrocall$4"],postprocess:r},{name:"expr_in",symbols:["expr_in$macrocall$1"]},{name:"expr_add$macrocall$2$macrocall$2$subexpression$1",symbols:[s.lexerAny.has("op_plus")?{type:"op_plus"}:op_plus]},{name:"expr_add$macrocall$2$macrocall$2$subexpression$1",symbols:[s.lexerAny.has("op_minus")?{type:"op_minus"}:op_minus]},{name:"expr_add$macrocall$2$macrocall$2$subexpression$1",symbols:[s.lexerAny.has("op_additive")?{type:"op_additive"}:op_additive]},{name:"expr_add$macrocall$2$macrocall$2",symbols:["expr_add$macrocall$2$macrocall$2$subexpression$1"]},{name:"expr_add$macrocall$2$macrocall$1$macrocall$2",symbols:["expr_add$macrocall$2$macrocall$2"]},{name:"expr_add$macrocall$2$macrocall$1$macrocall$1",symbols:["expr_add$macrocall$2$macrocall$1$macrocall$2"],postprocess:e=>(0,l.track)(e,{op:(h(e," ")||"<error>").toUpperCase()})},{name:"expr_add$macrocall$2$macrocall$1",symbols:["expr_add$macrocall$2$macrocall$1$macrocall$1"],postprocess:r},{name:"expr_add$macrocall$2$macrocall$1",symbols:["kw_operator","lparen","ident","dot","expr_add$macrocall$2$macrocall$2","rparen"],postprocess:e=>(0,l.track)(e,{op:(h(e[4]," ")||"<error>").toUpperCase(),opSchema:h(e[2])})},{name:"expr_add$macrocall$2",symbols:["expr_add$macrocall$2$macrocall$1"]},{name:"expr_add$macrocall$3",symbols:["expr_add"]},{name:"expr_add$macrocall$4",symbols:["expr_mult"]},{name:"expr_add$macrocall$1$subexpression$1",symbols:["expr_add$macrocall$3"]},{name:"expr_add$macrocall$1$subexpression$1",symbols:["expr_paren"]},{name:"expr_add$macrocall$1$subexpression$2",symbols:["expr_add$macrocall$4"]},{name:"expr_add$macrocall$1$subexpression$2",symbols:["expr_paren"]},{name:"expr_add$macrocall$1",symbols:["expr_add$macrocall$1$subexpression$1","expr_add$macrocall$2","expr_add$macrocall$1$subexpression$2"],postprocess:e=>(0,l.track)(e,{type:"binary",left:r(e[0]),right:r(e[2]),...r(e[1])})},{name:"expr_add$macrocall$1",symbols:["expr_add$macrocall$4"],postprocess:r},{name:"expr_add",symbols:["expr_add$macrocall$1"]},{name:"expr_mult$macrocall$2$macrocall$2$subexpression$1",symbols:[s.lexerAny.has("star")?{type:"star"}:star]},{name:"expr_mult$macrocall$2$macrocall$2$subexpression$1",symbols:[s.lexerAny.has("op_div")?{type:"op_div"}:op_div]},{name:"expr_mult$macrocall$2$macrocall$2$subexpression$1",symbols:[s.lexerAny.has("op_mod")?{type:"op_mod"}:op_mod]},{name:"expr_mult$macrocall$2$macrocall$2",symbols:["expr_mult$macrocall$2$macrocall$2$subexpression$1"]},{name:"expr_mult$macrocall$2$macrocall$1$macrocall$2",symbols:["expr_mult$macrocall$2$macrocall$2"]},{name:"expr_mult$macrocall$2$macrocall$1$macrocall$1",symbols:["expr_mult$macrocall$2$macrocall$1$macrocall$2"],postprocess:e=>(0,l.track)(e,{op:(h(e," ")||"<error>").toUpperCase()})},{name:"expr_mult$macrocall$2$macrocall$1",symbols:["expr_mult$macrocall$2$macrocall$1$macrocall$1"],postprocess:r},{name:"expr_mult$macrocall$2$macrocall$1",symbols:["kw_operator","lparen","ident","dot","expr_mult$macrocall$2$macrocall$2","rparen"],postprocess:e=>(0,l.track)(e,{op:(h(e[4]," ")||"<error>").toUpperCase(),opSchema:h(e[2])})},{name:"expr_mult$macrocall$2",symbols:["expr_mult$macrocall$2$macrocall$1"]},{name:"expr_mult$macrocall$3",symbols:["expr_mult"]},{name:"expr_mult$macrocall$4",symbols:["expr_exp"]},{name:"expr_mult$macrocall$1$subexpression$1",symbols:["expr_mult$macrocall$3"]},{name:"expr_mult$macrocall$1$subexpression$1",symbols:["expr_paren"]},{name:"expr_mult$macrocall$1$subexpression$2",symbols:["expr_mult$macrocall$4"]},{name:"expr_mult$macrocall$1$subexpression$2",symbols:["expr_paren"]},{name:"expr_mult$macrocall$1",symbols:["expr_mult$macrocall$1$subexpression$1","expr_mult$macrocall$2","expr_mult$macrocall$1$subexpression$2"],postprocess:e=>(0,l.track)(e,{type:"binary",left:r(e[0]),right:r(e[2]),...r(e[1])})},{name:"expr_mult$macrocall$1",symbols:["expr_mult$macrocall$4"],postprocess:r},{name:"expr_mult",symbols:["expr_mult$macrocall$1"]},{name:"expr_exp$macrocall$2$macrocall$2",symbols:[s.lexerAny.has("op_exp")?{type:"op_exp"}:op_exp]},{name:"expr_exp$macrocall$2$macrocall$1$macrocall$2",symbols:["expr_exp$macrocall$2$macrocall$2"]},{name:"expr_exp$macrocall$2$macrocall$1$macrocall$1",symbols:["expr_exp$macrocall$2$macrocall$1$macrocall$2"],postprocess:e=>(0,l.track)(e,{op:(h(e," ")||"<error>").toUpperCase()})},{name:"expr_exp$macrocall$2$macrocall$1",symbols:["expr_exp$macrocall$2$macrocall$1$macrocall$1"],postprocess:r},{name:"expr_exp$macrocall$2$macrocall$1",symbols:["kw_operator","lparen","ident","dot","expr_exp$macrocall$2$macrocall$2","rparen"],postprocess:e=>(0,l.track)(e,{op:(h(e[4]," ")||"<error>").toUpperCase(),opSchema:h(e[2])})},{name:"expr_exp$macrocall$2",symbols:["expr_exp$macrocall$2$macrocall$1"]},{name:"expr_exp$macrocall$3",symbols:["expr_exp"]},{name:"expr_exp$macrocall$4",symbols:["expr_unary_add"]},{name:"expr_exp$macrocall$1$subexpression$1",symbols:["expr_exp$macrocall$3"]},{name:"expr_exp$macrocall$1$subexpression$1",symbols:["expr_paren"]},{name:"expr_exp$macrocall$1$subexpression$2",symbols:["expr_exp$macrocall$4"]},{name:"expr_exp$macrocall$1$subexpression$2",symbols:["expr_paren"]},{name:"expr_exp$macrocall$1",symbols:["expr_exp$macrocall$1$subexpression$1","expr_exp$macrocall$2","expr_exp$macrocall$1$subexpression$2"],postprocess:e=>(0,l.track)(e,{type:"binary",left:r(e[0]),right:r(e[2]),...r(e[1])})},{name:"expr_exp$macrocall$1",symbols:["expr_exp$macrocall$4"],postprocess:r},{name:"expr_exp",symbols:["expr_exp$macrocall$1"]},{name:"expr_unary_add$macrocall$2$macrocall$2$subexpression$1",symbols:[s.lexerAny.has("op_plus")?{type:"op_plus"}:op_plus]},{name:"expr_unary_add$macrocall$2$macrocall$2$subexpression$1",symbols:[s.lexerAny.has("op_minus")?{type:"op_minus"}:op_minus]},{name:"expr_unary_add$macrocall$2$macrocall$2",symbols:["expr_unary_add$macrocall$2$macrocall$2$subexpression$1"]},{name:"expr_unary_add$macrocall$2$macrocall$1$macrocall$2",symbols:["expr_unary_add$macrocall$2$macrocall$2"]},{name:"expr_unary_add$macrocall$2$macrocall$1$macrocall$1",symbols:["expr_unary_add$macrocall$2$macrocall$1$macrocall$2"],postprocess:e=>(0,l.track)(e,{op:(h(e," ")||"<error>").toUpperCase()})},{name:"expr_unary_add$macrocall$2$macrocall$1",symbols:["expr_unary_add$macrocall$2$macrocall$1$macrocall$1"],postprocess:r},{name:"expr_unary_add$macrocall$2$macrocall$1",symbols:["kw_operator","lparen","ident","dot","expr_unary_add$macrocall$2$macrocall$2","rparen"],postprocess:e=>(0,l.track)(e,{op:(h(e[4]," ")||"<error>").toUpperCase(),opSchema:h(e[2])})},{name:"expr_unary_add$macrocall$2",symbols:["expr_unary_add$macrocall$2$macrocall$1"]},{name:"expr_unary_add$macrocall$3",symbols:["expr_unary_add"]},{name:"expr_unary_add$macrocall$4",symbols:["expr_various_constructs"]},{name:"expr_unary_add$macrocall$1$subexpression$1",symbols:["expr_unary_add$macrocall$3"]},{name:"expr_unary_add$macrocall$1$subexpression$1",symbols:["expr_paren"]},{name:"expr_unary_add$macrocall$1",symbols:["expr_unary_add$macrocall$2","expr_unary_add$macrocall$1$subexpression$1"],postprocess:e=>(0,l.track)(e,{type:"unary",...r(e[0]),operand:r(e[1])})},{name:"expr_unary_add$macrocall$1",symbols:["expr_unary_add$macrocall$4"],postprocess:r},{name:"expr_unary_add",symbols:["expr_unary_add$macrocall$1"]},{name:"expr_various_constructs$macrocall$2$macrocall$2",symbols:["various_binaries"]},{name:"expr_various_constructs$macrocall$2$macrocall$1",symbols:["expr_various_constructs$macrocall$2$macrocall$2"],postprocess:e=>(0,l.track)(e,{op:(h(e," ")||"<error>").toUpperCase()})},{name:"expr_various_constructs$macrocall$2",symbols:["expr_various_constructs$macrocall$2$macrocall$1"]},{name:"expr_various_constructs$macrocall$3",symbols:["expr_various_constructs"]},{name:"expr_various_constructs$macrocall$4",symbols:["expr_array_index"]},{name:"expr_various_constructs$macrocall$1$subexpression$1",symbols:["expr_various_constructs$macrocall$3"]},{name:"expr_various_constructs$macrocall$1$subexpression$1",symbols:["expr_paren"]},{name:"expr_various_constructs$macrocall$1$subexpression$2",symbols:["expr_various_constructs$macrocall$4"]},{name:"expr_various_constructs$macrocall$1$subexpression$2",symbols:["expr_paren"]},{name:"expr_various_constructs$macrocall$1",symbols:["expr_various_constructs$macrocall$1$subexpression$1","expr_various_constructs$macrocall$2","expr_various_constructs$macrocall$1$subexpression$2"],postprocess:e=>(0,l.track)(e,{type:"binary",left:r(e[0]),right:r(e[2]),...r(e[1])})},{name:"expr_various_constructs$macrocall$1",symbols:["expr_various_constructs$macrocall$4"],postprocess:r},{name:"expr_various_constructs",symbols:["expr_various_constructs$macrocall$1"]},{name:"expr_array_index$subexpression$1",symbols:["expr_array_index"]},{name:"expr_array_index$subexpression$1",symbols:["expr_paren"]},{name:"expr_array_index",symbols:["expr_array_index$subexpression$1",s.lexerAny.has("lbracket")?{type:"lbracket"}:lbracket,"expr_nostar",s.lexerAny.has("rbracket")?{type:"rbracket"}:rbracket],postprocess:e=>(0,l.track)(e,{type:"arrayIndex",array:r(e[0]),index:r(e[2])})},{name:"expr_array_index",symbols:["expr_member"],postprocess:r},{name:"expr_member$subexpression$1",symbols:["expr_member"]},{name:"expr_member$subexpression$1",symbols:["expr_paren"]},{name:"expr_member$subexpression$2",symbols:["string"]},{name:"expr_member$subexpression$2",symbols:["int"]},{name:"expr_member",symbols:["expr_member$subexpression$1","ops_member","expr_member$subexpression$2"],postprocess:e=>(0,l.track)(e,{type:"member",operand:r(e[0]),op:e[1],member:r(e[2])})},{name:"expr_member$subexpression$3",symbols:["expr_member"]},{name:"expr_member$subexpression$3",symbols:["expr_paren"]},{name:"expr_member",symbols:["expr_member$subexpression$3",s.lexerAny.has("op_cast")?{type:"op_cast"}:op_cast,"data_type"],postprocess:e=>(0,l.track)(e,{type:"cast",operand:r(e[0]),to:e[2]})},{name:"expr_member",symbols:[s.lexerAny.has("kw_cast")?{type:"kw_cast"}:kw_cast,"lparen","expr_nostar",s.lexerAny.has("kw_as")?{type:"kw_as"}:kw_as,"data_type","rparen"],postprocess:e=>(0,l.track)(e,{type:"cast",operand:r(e[2]),to:e[4]})},{name:"expr_member",symbols:["data_type","string"],postprocess:e=>(0,l.track)(e,{type:"cast",operand:(0,l.track)(e[1],{type:"string",value:(0,l.unbox)(e[1])}),to:(0,l.unbox)(e[0])})},{name:"expr_member",symbols:["expr_dot"],postprocess:r},{name:"expr_dot$subexpression$1",symbols:["word"]},{name:"expr_dot$subexpression$1",symbols:["star"]},{name:"expr_dot",symbols:["qname",s.lexerAny.has("dot")?{type:"dot"}:dot,"expr_dot$subexpression$1"],postprocess:e=>(0,l.track)(e,{type:"ref",table:r(e[0]),name:h(e[2])})},{name:"expr_dot",symbols:["expr_final"],postprocess:r},{name:"expr_final",symbols:["expr_basic"]},{name:"expr_final",symbols:["expr_primary"]},{name:"expr_basic",symbols:["expr_special_calls"]},{name:"expr_basic",symbols:["expr_call"]},{name:"expr_basic",symbols:["expr_array"]},{name:"expr_basic",symbols:["expr_case"]},{name:"expr_basic",symbols:["expr_extract"]},{name:"expr_basic",symbols:["word"],postprocess:e=>(0,l.track)(e,{type:"ref",name:r(e[0])})},{name:"expr_array$ebnf$1",symbols:["expr_subarray_items"],postprocess:o},{name:"expr_array$ebnf$1",symbols:[],postprocess:()=>null},{name:"expr_array",symbols:[s.lexerAny.has("kw_array")?{type:"kw_array"}:kw_array,s.lexerAny.has("lbracket")?{type:"lbracket"}:lbracket,"expr_array$ebnf$1",s.lexerAny.has("rbracket")?{type:"rbracket"}:rbracket],postprocess:e=>(0,l.track)(e,{type:"array",expressions:e[2]||[]})},{name:"expr_array",symbols:[s.lexerAny.has("kw_array")?{type:"kw_array"}:kw_array,"lparen","selection","rparen"],postprocess:e=>(0,l.track)(e,{type:"array select",select:r(e[2])})},{name:"expr_subarray$ebnf$1",symbols:["expr_subarray_items"],postprocess:o},{name:"expr_subarray$ebnf$1",symbols:[],postprocess:()=>null},{name:"expr_subarray",symbols:[s.lexerAny.has("lbracket")?{type:"lbracket"}:lbracket,"expr_subarray$ebnf$1",s.lexerAny.has("rbracket")?{type:"rbracket"}:rbracket],postprocess:y(1)},{name:"expr_subarray_items$macrocall$2",symbols:["expr_list_item"]},{name:"expr_subarray_items$macrocall$1$ebnf$1",symbols:[]},{name:"expr_subarray_items$macrocall$1$ebnf$1$subexpression$1",symbols:[s.lexerAny.has("comma")?{type:"comma"}:comma,"expr_subarray_items$macrocall$2"],postprocess:b},{name:"expr_subarray_items$macrocall$1$ebnf$1",symbols:["expr_subarray_items$macrocall$1$ebnf$1","expr_subarray_items$macrocall$1$ebnf$1$subexpression$1"],postprocess:e=>e[0].concat([e[1]])},{name:"expr_subarray_items$macrocall$1",symbols:["expr_subarray_items$macrocall$2","expr_subarray_items$macrocall$1$ebnf$1"],postprocess:([e,m])=>[e,...m||[]]},{name:"expr_subarray_items",symbols:["expr_subarray_items$macrocall$1"],postprocess:e=>e[0].map(r)},{name:"expr_subarray_items$macrocall$4",symbols:["expr_subarray"]},{name:"expr_subarray_items$macrocall$3$ebnf$1",symbols:[]},{name:"expr_subarray_items$macrocall$3$ebnf$1$subexpression$1",symbols:[s.lexerAny.has("comma")?{type:"comma"}:comma,"expr_subarray_items$macrocall$4"],postprocess:b},{name:"expr_subarray_items$macrocall$3$ebnf$1",symbols:["expr_subarray_items$macrocall$3$ebnf$1","expr_subarray_items$macrocall$3$ebnf$1$subexpression$1"],postprocess:e=>e[0].concat([e[1]])},{name:"expr_subarray_items$macrocall$3",symbols:["expr_subarray_items$macrocall$4","expr_subarray_items$macrocall$3$ebnf$1"],postprocess:([e,m])=>[e,...m||[]]},{name:"expr_subarray_items",symbols:["expr_subarray_items$macrocall$3"],postprocess:e=>e[0].map(m=>(0,l.track)(m,{type:"array",expressions:m[0].map(r)}))},{name:"expr_function_call$ebnf$1",symbols:["expr_list_raw"],postprocess:o},{name:"expr_function_call$ebnf$1",symbols:[],postprocess:()=>null},{name:"expr_function_call",symbols:["expr_fn_name","lparen","expr_function_call$ebnf$1","rparen"],postprocess:e=>(0,l.track)(e,{type:"call",function:r(e[0]),args:e[2]||[]})},{name:"expr_call$ebnf$1$subexpression$1",symbols:[s.lexerAny.has("kw_all")?{type:"kw_all"}:kw_all]},{name:"expr_call$ebnf$1$subexpression$1",symbols:[s.lexerAny.has("kw_distinct")?{type:"kw_distinct"}:kw_distinct]},{name:"expr_call$ebnf$1",symbols:["expr_call$ebnf$1$subexpression$1"],postprocess:o},{name:"expr_call$ebnf$1",symbols:[],postprocess:()=>null},{name:"expr_call$ebnf$2",symbols:["expr_list_raw"],postprocess:o},{name:"expr_call$ebnf$2",symbols:[],postprocess:()=>null},{name:"expr_call$ebnf$3",symbols:["select_order_by"],postprocess:o},{name:"expr_call$ebnf$3",symbols:[],postprocess:()=>null},{name:"expr_call$ebnf$4$subexpression$1",symbols:["kw_filter","lparen",s.lexerAny.has("kw_where")?{type:"kw_where"}:kw_where,"expr","rparen"],postprocess:y(3)},{name:"expr_call$ebnf$4",symbols:["expr_call$ebnf$4$subexpression$1"],postprocess:o},{name:"expr_call$ebnf$4",symbols:[],postprocess:()=>null},{name:"expr_call$ebnf$5",symbols:["expr_call_within_group"],postprocess:o},{name:"expr_call$ebnf$5",symbols:[],postprocess:()=>null},{name:"expr_call$ebnf$6",symbols:["expr_call_over"],postprocess:o},{name:"expr_call$ebnf$6",symbols:[],postprocess:()=>null},{name:"expr_call",symbols:["expr_fn_name","lparen","expr_call$ebnf$1","expr_call$ebnf$2","expr_call$ebnf$3","rparen","expr_call$ebnf$4","expr_call$ebnf$5","expr_call$ebnf$6"],postprocess:e=>(0,l.track)(e,{type:"call",function:r(e[0]),...e[2]&&{distinct:h(e[2])},args:e[3]||[],...e[4]&&{orderBy:e[4]},...e[6]&&{filter:r(e[6])},...e[7]&&{withinGroup:e[7]},...e[8]&&{over:r(e[8])}})},{name:"expr_call_over$ebnf$1$subexpression$1",symbols:["kw_partition","kw_by","expr_list_raw"],postprocess:b},{name:"expr_call_over$ebnf$1",symbols:["expr_call_over$ebnf$1$subexpression$1"],postprocess:o},{name:"expr_call_over$ebnf$1",symbols:[],postprocess:()=>null},{name:"expr_call_over$ebnf$2",symbols:["select_order_by"],postprocess:o},{name:"expr_call_over$ebnf$2",symbols:[],postprocess:()=>null},{name:"expr_call_over",symbols:["kw_over","lparen","expr_call_over$ebnf$1","expr_call_over$ebnf$2","rparen"],postprocess:e=>(0,l.track)(e,{...e[2]&&{partitionBy:e[2]},...e[3]&&{orderBy:e[3]}})},{name:"expr_call_within_group$subexpression$1",symbols:["kw_within",s.lexerAny.has("kw_group")?{type:"kw_group"}:kw_group]},{name:"expr_call_within_group$subexpression$2",symbols:[s.lexerAny.has("kw_order")?{type:"kw_order"}:kw_order,"kw_by"]},{name:"expr_call_within_group",symbols:["expr_call_within_group$subexpression$1","lparen","expr_call_within_group$subexpression$2","select_order_by_expr","rparen"],postprocess:e=>(0,l.track)(e,e[3])},{name:"expr_extract$subexpression$1",symbols:["word"],postprocess:g("extract")},{name:"expr_extract",symbols:["expr_extract$subexpression$1","lparen","word",s.lexerAny.has("kw_from")?{type:"kw_from"}:kw_from,"expr","rparen"],postprocess:e=>(0,l.track)(e,{type:"extract",field:u(e[2]),from:e[4]})},{name:"expr_primary",symbols:["float"],postprocess:e=>(0,l.track)(e,{type:"numeric",value:(0,l.unbox)(e[0])})},{name:"expr_primary",symbols:["int"],postprocess:e=>(0,l.track)(e,{type:"integer",value:(0,l.unbox)(e[0])})},{name:"expr_primary",symbols:["string"],postprocess:e=>(0,l.track)(e,{type:"string",value:(0,l.unbox)(e[0])})},{name:"expr_primary",symbols:[s.lexerAny.has("kw_true")?{type:"kw_true"}:kw_true],postprocess:e=>(0,l.track)(e,{type:"boolean",value:!0})},{name:"expr_primary",symbols:[s.lexerAny.has("kw_false")?{type:"kw_false"}:kw_false],postprocess:e=>(0,l.track)(e,{type:"boolean",value:!1})},{name:"expr_primary",symbols:[s.lexerAny.has("kw_null")?{type:"kw_null"}:kw_null],postprocess:e=>(0,l.track)(e,{type:"null"})},{name:"expr_primary",symbols:["value_keyword"],postprocess:e=>(0,l.track)(e,{type:"keyword",keyword:h(e)})},{name:"expr_primary",symbols:[s.lexerAny.has("qparam")?{type:"qparam"}:qparam],postprocess:e=>(0,l.track)(e,{type:"parameter",name:h(e[0])})},{name:"expr_primary",symbols:[s.lexerAny.has("kw_default")?{type:"kw_default"}:kw_default],postprocess:e=>(0,l.track)(e,{type:"default"})},{name:"ops_like",symbols:["ops_like_keywors"]},{name:"ops_like",symbols:["ops_like_operators"]},{name:"ops_like_keywors$ebnf$1",symbols:[s.lexerAny.has("kw_not")?{type:"kw_not"}:kw_not],postprocess:o},{name:"ops_like_keywors$ebnf$1",symbols:[],postprocess:()=>null},{name:"ops_like_keywors$subexpression$1",symbols:[s.lexerAny.has("kw_like")?{type:"kw_like"}:kw_like]},{name:"ops_like_keywors$subexpression$1",symbols:[s.lexerAny.has("kw_ilike")?{type:"kw_ilike"}:kw_ilike]},{name:"ops_like_keywors",symbols:["ops_like_keywors$ebnf$1","ops_like_keywors$subexpression$1"]},{name:"ops_like_operators$subexpression$1",symbols:[s.lexerAny.has("op_like")?{type:"op_like"}:op_like],postprocess:()=>"LIKE"},{name:"ops_like_operators",symbols:["ops_like_operators$subexpression$1"]},{name:"ops_like_operators$subexpression$2",symbols:[s.lexerAny.has("op_ilike")?{type:"op_ilike"}:op_ilike],postprocess:()=>"ILIKE"},{name:"ops_like_operators",symbols:["ops_like_operators$subexpression$2"]},{name:"ops_like_operators$subexpression$3",symbols:[s.lexerAny.has("op_not_like")?{type:"op_not_like"}:op_not_like],postprocess:()=>"NOT LIKE"},{name:"ops_like_operators",symbols:["ops_like_operators$subexpression$3"]},{name:"ops_like_operators$subexpression$4",symbols:[s.lexerAny.has("op_not_ilike")?{type:"op_not_ilike"}:op_not_ilike],postprocess:()=>"NOT ILIKE"},{name:"ops_like_operators",symbols:["ops_like_operators$subexpression$4"]},{name:"ops_in$ebnf$1",symbols:[s.lexerAny.has("kw_not")?{type:"kw_not"}:kw_not],postprocess:o},{name:"ops_in$ebnf$1",symbols:[],postprocess:()=>null},{name:"ops_in",symbols:["ops_in$ebnf$1",s.lexerAny.has("kw_in")?{type:"kw_in"}:kw_in]},{name:"ops_between$ebnf$1",symbols:[s.lexerAny.has("kw_not")?{type:"kw_not"}:kw_not],postprocess:o},{name:"ops_between$ebnf$1",symbols:[],postprocess:()=>null},{name:"ops_between",symbols:["ops_between$ebnf$1","kw_between"]},{name:"ops_member$subexpression$1",symbols:[s.lexerAny.has("op_member")?{type:"op_member"}:op_member]},{name:"ops_member$subexpression$1",symbols:[s.lexerAny.has("op_membertext")?{type:"op_membertext"}:op_membertext]},{name:"ops_member",symbols:["ops_member$subexpression$1"],postprocess:e=>{var m;return(m=r(e))===null||m===void 0?void 0:m.value}},{name:"expr_list_item",symbols:["expr_or_select"],postprocess:r},{name:"expr_list_item",symbols:["expr_star"],postprocess:r},{name:"expr_list_raw$macrocall$2",symbols:["expr_list_item"]},{name:"expr_list_raw$macrocall$1$ebnf$1",symbols:[]},{name:"expr_list_raw$macrocall$1$ebnf$1$subexpression$1",symbols:[s.lexerAny.has("comma")?{type:"comma"}:comma,"expr_list_raw$macrocall$2"],postprocess:b},{name:"expr_list_raw$macrocall$1$ebnf$1",symbols:["expr_list_raw$macrocall$1$ebnf$1","expr_list_raw$macrocall$1$ebnf$1$subexpression$1"],postprocess:e=>e[0].concat([e[1]])},{name:"expr_list_raw$macrocall$1",symbols:["expr_list_raw$macrocall$2","expr_list_raw$macrocall$1$ebnf$1"],postprocess:([e,m])=>[e,...m||[]]},{name:"expr_list_raw",symbols:["expr_list_raw$macrocall$1"],postprocess:([e])=>e.map(r)},{name:"expr_list_raw_many$macrocall$2",symbols:["expr_list_item"]},{name:"expr_list_raw_many$macrocall$1$ebnf$1$subexpression$1",symbols:[s.lexerAny.has("comma")?{type:"comma"}:comma,"expr_list_raw_many$macrocall$2"],postprocess:b},{name:"expr_list_raw_many$macrocall$1$ebnf$1",symbols:["expr_list_raw_many$macrocall$1$ebnf$1$subexpression$1"]},{name:"expr_list_raw_many$macrocall$1$ebnf$1$subexpression$2",symbols:[s.lexerAny.has("comma")?{type:"comma"}:comma,"expr_list_raw_many$macrocall$2"],postprocess:b},{name:"expr_list_raw_many$macrocall$1$ebnf$1",symbols:["expr_list_raw_many$macrocall$1$ebnf$1","expr_list_raw_many$macrocall$1$ebnf$1$subexpression$2"],postprocess:e=>e[0].concat([e[1]])},{name:"expr_list_raw_many$macrocall$1",symbols:["expr_list_raw_many$macrocall$2","expr_list_raw_many$macrocall$1$ebnf$1"],postprocess:([e,m])=>[e,...m||[]]},{name:"expr_list_raw_many",symbols:["expr_list_raw_many$macrocall$1"],postprocess:([e])=>e.map(r)},{name:"expr_or_select",symbols:["expr_nostar"],postprocess:r},{name:"expr_or_select",symbols:["selection"],postprocess:r},{name:"expr_list_many",symbols:["expr_list_raw_many"],postprocess:e=>(0,l.track)(e,{type:"list",expressions:e[0]})},{name:"expr_case$ebnf$1",symbols:["expr_nostar"],postprocess:o},{name:"expr_case$ebnf$1",symbols:[],postprocess:()=>null},{name:"expr_case$ebnf$2",symbols:[]},{name:"expr_case$ebnf$2",symbols:["expr_case$ebnf$2","expr_case_whens"],postprocess:e=>e[0].concat([e[1]])},{name:"expr_case$ebnf$3",symbols:["expr_case_else"],postprocess:o},{name:"expr_case$ebnf$3",symbols:[],postprocess:()=>null},{name:"expr_case",symbols:[s.lexerAny.has("kw_case")?{type:"kw_case"}:kw_case,"expr_case$ebnf$1","expr_case$ebnf$2","expr_case$ebnf$3",s.lexerAny.has("kw_end")?{type:"kw_end"}:kw_end],postprocess:e=>(0,l.track)(e,{type:"case",value:e[1],whens:e[2],else:e[3]})},{name:"expr_case_whens",symbols:[s.lexerAny.has("kw_when")?{type:"kw_when"}:kw_when,"expr_nostar",s.lexerAny.has("kw_then")?{type:"kw_then"}:kw_then,"expr_nostar"],postprocess:e=>(0,l.track)(e,{when:e[1],value:e[3]})},{name:"expr_case_else",symbols:[s.lexerAny.has("kw_else")?{type:"kw_else"}:kw_else,"expr_nostar"],postprocess:b},{name:"expr_fn_name$subexpression$1$ebnf$1$subexpression$1",symbols:["word",s.lexerAny.has("dot")?{type:"dot"}:dot]},{name:"expr_fn_name$subexpression$1$ebnf$1",symbols:["expr_fn_name$subexpression$1$ebnf$1$subexpression$1"],postprocess:o},{name:"expr_fn_name$subexpression$1$ebnf$1",symbols:[],postprocess:()=>null},{name:"expr_fn_name$subexpression$1",symbols:["expr_fn_name$subexpression$1$ebnf$1","word_or_keyword"],postprocess:e=>(0,l.track)(e,{name:(0,l.unbox)(r(e[1])),...e[0]&&{schema:h(e[0][0])}})},{name:"expr_fn_name",symbols:["expr_fn_name$subexpression$1"]},{name:"expr_fn_name$subexpression$2$subexpression$1",symbols:[s.lexerAny.has("kw_any")?{type:"kw_any"}:kw_any]},{name:"expr_fn_name$subexpression$2$subexpression$1",symbols:[s.lexerAny.has("kw_some")?{type:"kw_some"}:kw_some]},{name:"expr_fn_name$subexpression$2$subexpression$1",symbols:[s.lexerAny.has("kw_all")?{type:"kw_all"}:kw_all]},{name:"expr_fn_name$subexpression$2$subexpression$1",symbols:[s.lexerAny.has("kw_left")?{type:"kw_left"}:kw_left]},{name:"expr_fn_name$subexpression$2$subexpression$1",symbols:[s.lexerAny.has("kw_right")?{type:"kw_right"}:kw_right]},{name:"expr_fn_name$subexpression$2",symbols:["expr_fn_name$subexpression$2$subexpression$1"],postprocess:e=>(0,l.track)(e,{name:h(r(e))})},{name:"expr_fn_name",symbols:["expr_fn_name$subexpression$2"]},{name:"word_or_keyword",symbols:["word"]},{name:"word_or_keyword",symbols:["value_keyword"],postprocess:e=>(0,l.box)(e,h(e))},{name:"value_keyword",symbols:[s.lexerAny.has("kw_current_catalog")?{type:"kw_current_catalog"}:kw_current_catalog]},{name:"value_keyword",symbols:[s.lexerAny.has("kw_current_date")?{type:"kw_current_date"}:kw_current_date]},{name:"value_keyword",symbols:[s.lexerAny.has("kw_current_role")?{type:"kw_current_role"}:kw_current_role]},{name:"value_keyword",symbols:[s.lexerAny.has("kw_current_schema")?{type:"kw_current_schema"}:kw_current_schema]},{name:"value_keyword",symbols:[s.lexerAny.has("kw_current_timestamp")?{type:"kw_current_timestamp"}:kw_current_timestamp]},{name:"value_keyword",symbols:[s.lexerAny.has("kw_current_time")?{type:"kw_current_time"}:kw_current_time]},{name:"value_keyword",symbols:[s.lexerAny.has("kw_localtimestamp")?{type:"kw_localtimestamp"}:kw_localtimestamp]},{name:"value_keyword",symbols:[s.lexerAny.has("kw_localtime")?{type:"kw_localtime"}:kw_localtime]},{name:"value_keyword",symbols:[s.lexerAny.has("kw_session_user")?{type:"kw_session_user"}:kw_session_user]},{name:"value_keyword",symbols:[s.lexerAny.has("kw_user")?{type:"kw_user"}:kw_user]},{name:"value_keyword",symbols:[s.lexerAny.has("kw_current_user")?{type:"kw_current_user"}:kw_current_user]},{name:"expr_special_calls",symbols:["spe_overlay"]},{name:"expr_special_calls",symbols:["spe_substring"]},{name:"spe_overlay$subexpression$1",symbols:["word"],postprocess:g("overlay")},{name:"spe_overlay$subexpression$2",symbols:[s.lexerAny.has("lparen")?{type:"lparen"}:lparen,"expr_nostar"]},{name:"spe_overlay$subexpression$3",symbols:[s.lexerAny.has("kw_placing")?{type:"kw_placing"}:kw_placing,"expr_nostar"]},{name:"spe_overlay$subexpression$4",symbols:[s.lexerAny.has("kw_from")?{type:"kw_from"}:kw_from,"expr_nostar"]},{name:"spe_overlay$ebnf$1$subexpression$1",symbols:[s.lexerAny.has("kw_for")?{type:"kw_for"}:kw_for,"expr_nostar"]},{name:"spe_overlay$ebnf$1",symbols:["spe_overlay$ebnf$1$subexpression$1"],postprocess:o},{name:"spe_overlay$ebnf$1",symbols:[],postprocess:()=>null},{name:"spe_overlay",symbols:["spe_overlay$subexpression$1","spe_overlay$subexpression$2","spe_overlay$subexpression$3","spe_overlay$subexpression$4","spe_overlay$ebnf$1",s.lexerAny.has("rparen")?{type:"rparen"}:rparen],postprocess:e=>(0,l.track)(e,{type:"overlay",value:e[1][1],placing:e[2][1],from:e[3][1],...e[4]&&{for:e[4][1]}})},{name:"spe_substring$subexpression$1",symbols:["word"],postprocess:g("substring")},{name:"spe_substring$subexpression$2",symbols:[s.lexerAny.has("lparen")?{type:"lparen"}:lparen,"expr_nostar"]},{name:"spe_substring$ebnf$1$subexpression$1",symbols:[s.lexerAny.has("kw_from")?{type:"kw_from"}:kw_from,"expr_nostar"]},{name:"spe_substring$ebnf$1",symbols:["spe_substring$ebnf$1$subexpression$1"],postprocess:o},{name:"spe_substring$ebnf$1",symbols:[],postprocess:()=>null},{name:"spe_substring$ebnf$2$subexpression$1",symbols:[s.lexerAny.has("kw_for")?{type:"kw_for"}:kw_for,"expr_nostar"]},{name:"spe_substring$ebnf$2",symbols:["spe_substring$ebnf$2$subexpression$1"],postprocess:o},{name:"spe_substring$ebnf$2",symbols:[],postprocess:()=>null},{name:"spe_substring",symbols:["spe_substring$subexpression$1","spe_substring$subexpression$2","spe_substring$ebnf$1","spe_substring$ebnf$2",s.lexerAny.has("rparen")?{type:"rparen"}:rparen],postprocess:e=>(0,l.track)(e,{type:"substring",value:e[1][1],...e[2]&&{from:e[2][1]},...e[3]&&{for:e[3][1]}})},{name:"various_binaries",symbols:["kw_at","kw_time","kw_zone"],postprocess:()=>"AT TIME ZONE"},{name:"createtable_statement$ebnf$1",symbols:["createtable_modifiers"],postprocess:o},{name:"createtable_statement$ebnf$1",symbols:[],postprocess:()=>null},{name:"createtable_statement$ebnf$2",symbols:["kw_ifnotexists"],postprocess:o},{name:"createtable_statement$ebnf$2",symbols:[],postprocess:()=>null},{name:"createtable_statement$ebnf$3",symbols:["createtable_opts"],postprocess:o},{name:"createtable_statement$ebnf$3",symbols:[],postprocess:()=>null},{name:"createtable_statement",symbols:[s.lexerAny.has("kw_create")?{type:"kw_create"}:kw_create,"createtable_statement$ebnf$1",s.lexerAny.has("kw_table")?{type:"kw_table"}:kw_table,"createtable_statement$ebnf$2","qname","lparen","createtable_declarationlist","rparen","createtable_statement$ebnf$3"],postprocess:e=>{const m=e[6].filter(_=>"kind"in _),a=e[6].filter(_=>!("kind"in _));return(0,l.track)(e,{type:"create table",...e[3]?{ifNotExists:!0}:{},name:e[4],columns:m,...r(e[1]),...a.length?{constraints:a}:{},...b(e)})}},{name:"createtable_modifiers",symbols:["kw_unlogged"],postprocess:e=>e[0]?{unlogged:!0}:{}},{name:"createtable_modifiers",symbols:["m_locglob"]},{name:"createtable_modifiers",symbols:["m_tmp"]},{name:"createtable_modifiers",symbols:["m_locglob","m_tmp"],postprocess:([e,m])=>({...e,...m})},{name:"m_locglob$subexpression$1",symbols:["kw_local"]},{name:"m_locglob$subexpression$1",symbols:["kw_global"]},{name:"m_locglob",symbols:["m_locglob$subexpression$1"],postprocess:e=>({locality:h(e)})},{name:"m_tmp$subexpression$1",symbols:["kw_temp"]},{name:"m_tmp$subexpression$1",symbols:["kw_temporary"]},{name:"m_tmp",symbols:["m_tmp$subexpression$1"],postprocess:e=>({temporary:!0})},{name:"createtable_declarationlist$ebnf$1",symbols:[]},{name:"createtable_declarationlist$ebnf$1$subexpression$1",symbols:["comma","createtable_declaration"],postprocess:b},{name:"createtable_declarationlist$ebnf$1",symbols:["createtable_declarationlist$ebnf$1","createtable_declarationlist$ebnf$1$subexpression$1"],postprocess:e=>e[0].concat([e[1]])},{name:"createtable_declarationlist",symbols:["createtable_declaration","createtable_declarationlist$ebnf$1"],postprocess:([e,m])=>[e,...m||[]]},{name:"createtable_declaration$subexpression$1",symbols:["createtable_constraint"]},{name:"createtable_declaration$subexpression$1",symbols:["createtable_column"]},{name:"createtable_declaration$subexpression$1",symbols:["createtable_like"]},{name:"createtable_declaration",symbols:["createtable_declaration$subexpression$1"],postprocess:r},{name:"createtable_constraint$macrocall$2",symbols:["createtable_constraint_def"]},{name:"createtable_constraint$macrocall$1$ebnf$1$subexpression$1",symbols:[s.lexerAny.has("kw_constraint")?{type:"kw_constraint"}:kw_constraint,"word"]},{name:"createtable_constraint$macrocall$1$ebnf$1",symbols:["createtable_constraint$macrocall$1$ebnf$1$subexpression$1"],postprocess:o},{name:"createtable_constraint$macrocall$1$ebnf$1",symbols:[],postprocess:()=>null},{name:"createtable_constraint$macrocall$1",symbols:["createtable_constraint$macrocall$1$ebnf$1","createtable_constraint$macrocall$2"],postprocess:e=>{const m=e[0]&&u(e[0][1]);return m?(0,l.track)(e,{constraintName:m,...r(e[1])}):(0,l.track)(e,r(e[1]))}},{name:"createtable_constraint",symbols:["createtable_constraint$macrocall$1"],postprocess:r},{name:"createtable_constraint_def",symbols:["createtable_constraint_def_unique"]},{name:"createtable_constraint_def",symbols:["createtable_constraint_def_check"]},{name:"createtable_constraint_def",symbols:["createtable_constraint_foreignkey"]},{name:"createtable_constraint_def_unique$subexpression$1",symbols:[s.lexerAny.has("kw_unique")?{type:"kw_unique"}:kw_unique]},{name:"createtable_constraint_def_unique$subexpression$1",symbols:["kw_primary_key"]},{name:"createtable_constraint_def_unique",symbols:["createtable_constraint_def_unique$subexpression$1","lparen","createtable_collist","rparen"],postprocess:e=>(0,l.track)(e,{type:h(e[0]," "),columns:e[2].map(u)})},{name:"createtable_constraint_def_check",symbols:[s.lexerAny.has("kw_check")?{type:"kw_check"}:kw_check,"expr_paren"],postprocess:e=>(0,l.track)(e,{type:"check",expr:r(e[1])})},{name:"createtable_constraint_foreignkey",symbols:[s.lexerAny.has("kw_foreign")?{type:"kw_foreign"}:kw_foreign,"kw_key","collist_paren","createtable_references"],postprocess:e=>(0,l.track)(e,{type:"foreign key",localColumns:e[2].map(u),...e[3]})},{name:"createtable_references$ebnf$1",symbols:[]},{name:"createtable_references$ebnf$1",symbols:["createtable_references$ebnf$1","createtable_constraint_foreignkey_onsometing"],postprocess:e=>e[0].concat([e[1]])},{name:"createtable_references",symbols:[s.lexerAny.has("kw_references")?{type:"kw_references"}:kw_references,"table_ref","collist_paren","createtable_references$ebnf$1"],postprocess:e=>(0,l.track)(e,{foreignTable:r(e[1]),foreignColumns:e[2].map(u),...e[3].reduce((m,a)=>({...m,...a}),{})})},{name:"createtable_constraint_foreignkey_onsometing",symbols:[s.lexerAny.has("kw_on")?{type:"kw_on"}:kw_on,"kw_delete","createtable_constraint_on_action"],postprocess:e=>(0,l.track)(e,{onDelete:b(e)})},{name:"createtable_constraint_foreignkey_onsometing",symbols:[s.lexerAny.has("kw_on")?{type:"kw_on"}:kw_on,"kw_update","createtable_constraint_on_action"],postprocess:e=>(0,l.track)(e,{onUpdate:b(e)})},{name:"createtable_constraint_foreignkey_onsometing$subexpression$1",symbols:[s.lexerAny.has("kw_full")?{type:"kw_full"}:kw_full]},{name:"createtable_constraint_foreignkey_onsometing$subexpression$1",symbols:["kw_partial"]},{name:"createtable_constraint_foreignkey_onsometing$subexpression$1",symbols:["kw_simple"]},{name:"createtable_constraint_foreignkey_onsometing",symbols:["kw_match","createtable_constraint_foreignkey_onsometing$subexpression$1"],postprocess:e=>(0,l.track)(e,{match:h(b(e))})},{name:"createtable_constraint_on_action$subexpression$1",symbols:["kw_cascade"]},{name:"createtable_constraint_on_action$subexpression$1$subexpression$1",symbols:["kw_no","kw_action"]},{name:"createtable_constraint_on_action$subexpression$1",symbols:["createtable_constraint_on_action$subexpression$1$subexpression$1"]},{name:"createtable_constraint_on_action$subexpression$1",symbols:["kw_restrict"]},{name:"createtable_constraint_on_action$subexpression$1$subexpression$2",symbols:[s.lexerAny.has("kw_null")?{type:"kw_null"}:kw_null]},{name:"createtable_constraint_on_action$subexpression$1$subexpression$2",symbols:[s.lexerAny.has("kw_default")?{type:"kw_default"}:kw_default]},{name:"createtable_constraint_on_action$subexpression$1",symbols:["kw_set","createtable_constraint_on_action$subexpression$1$subexpression$2"]},{name:"createtable_constraint_on_action",symbols:["createtable_constraint_on_action$subexpression$1"],postprocess:e=>h(e," ")},{name:"createtable_collist$ebnf$1",symbols:[]},{name:"createtable_collist$ebnf$1$subexpression$1",symbols:["comma","ident"],postprocess:b},{name:"createtable_collist$ebnf$1",symbols:["createtable_collist$ebnf$1","createtable_collist$ebnf$1$subexpression$1"],postprocess:e=>e[0].concat([e[1]])},{name:"createtable_collist",symbols:["ident","createtable_collist$ebnf$1"],postprocess:([e,m])=>[e,...m||[]]},{name:"createtable_column$ebnf$1",symbols:["createtable_collate"],postprocess:o},{name:"createtable_column$ebnf$1",symbols:[],postprocess:()=>null},{name:"createtable_column$ebnf$2",symbols:[]},{name:"createtable_column$ebnf$2",symbols:["createtable_column$ebnf$2","createtable_column_constraint"],postprocess:e=>e[0].concat([e[1]])},{name:"createtable_column",symbols:["word","data_type","createtable_column$ebnf$1","createtable_column$ebnf$2"],postprocess:e=>(0,l.track)(e,{kind:"column",name:u(e[0]),dataType:e[1],...e[2]?{collate:e[2][1]}:{},...e[3]&&e[3].length?{constraints:e[3]}:{}})},{name:"createtable_like$ebnf$1",symbols:[]},{name:"createtable_like$ebnf$1",symbols:["createtable_like$ebnf$1","createtable_like_opt"],postprocess:e=>e[0].concat([e[1]])},{name:"createtable_like",symbols:[s.lexerAny.has("kw_like")?{type:"kw_like"}:kw_like,"qname","createtable_like$ebnf$1"],postprocess:e=>(0,l.track)(e,{kind:"like table",like:e[1],options:e[2]})},{name:"createtable_like_opt$subexpression$1",symbols:["kw_including"]},{name:"createtable_like_opt$subexpression$1",symbols:["kw_excluding"]},{name:"createtable_like_opt",symbols:["createtable_like_opt$subexpression$1","createtable_like_opt_val"],postprocess:e=>(0,l.track)(e,{verb:h(e[0]),option:h(e[1])})},{name:"createtable_like_opt_val",symbols:["word"],postprocess:E("defaults","constraints","indexes","storage","comments")},{name:"createtable_like_opt_val",symbols:[s.lexerAny.has("kw_all")?{type:"kw_all"}:kw_all]},{name:"createtable_column_constraint$macrocall$2",symbols:["createtable_column_constraint_def"]},{name:"createtable_column_constraint$macrocall$1$ebnf$1$subexpression$1",symbols:[s.lexerAny.has("kw_constraint")?{type:"kw_constraint"}:kw_constraint,"word"]},{name:"createtable_column_constraint$macrocall$1$ebnf$1",symbols:["createtable_column_constraint$macrocall$1$ebnf$1$subexpression$1"],postprocess:o},{name:"createtable_column_constraint$macrocall$1$ebnf$1",symbols:[],postprocess:()=>null},{name:"createtable_column_constraint$macrocall$1",symbols:["createtable_column_constraint$macrocall$1$ebnf$1","createtable_column_constraint$macrocall$2"],postprocess:e=>{const m=e[0]&&u(e[0][1]);return m?(0,l.track)(e,{constraintName:m,...r(e[1])}):(0,l.track)(e,r(e[1]))}},{name:"createtable_column_constraint",symbols:["createtable_column_constraint$macrocall$1"],postprocess:r},{name:"createtable_column_constraint_def",symbols:[s.lexerAny.has("kw_unique")?{type:"kw_unique"}:kw_unique],postprocess:e=>(0,l.track)(e,{type:"unique"})},{name:"createtable_column_constraint_def",symbols:["kw_primary_key"],postprocess:e=>(0,l.track)(e,{type:"primary key"})},{name:"createtable_column_constraint_def",symbols:["kw_not_null"],postprocess:e=>(0,l.track)(e,{type:"not null"})},{name:"createtable_column_constraint_def",symbols:[s.lexerAny.has("kw_null")?{type:"kw_null"}:kw_null],postprocess:e=>(0,l.track)(e,{type:"null"})},{name:"createtable_column_constraint_def",symbols:[s.lexerAny.has("kw_default")?{type:"kw_default"}:kw_default,"expr"],postprocess:e=>(0,l.track)(e,{type:"default",default:r(e[1])})},{name:"createtable_column_constraint_def",symbols:[s.lexerAny.has("kw_check")?{type:"kw_check"}:kw_check,"expr_paren"],postprocess:e=>(0,l.track)(e,{type:"check",expr:r(e[1])})},{name:"createtable_column_constraint_def",symbols:["createtable_references"],postprocess:e=>(0,l.track)(e,{type:"reference",...r(e)})},{name:"createtable_column_constraint_def",symbols:["altercol_generated"]},{name:"createtable_collate",symbols:[s.lexerAny.has("kw_collate")?{type:"kw_collate"}:kw_collate,"qualified_name"]},{name:"createtable_opts$subexpression$1",symbols:["word"],postprocess:g("inherits")},{name:"createtable_opts$macrocall$2",symbols:["qname"]},{name:"createtable_opts$macrocall$1$ebnf$1",symbols:[]},{name:"createtable_opts$macrocall$1$ebnf$1$subexpression$1",symbols:[s.lexerAny.has("comma")?{type:"comma"}:comma,"createtable_opts$macrocall$2"],postprocess:b},{name:"createtable_opts$macrocall$1$ebnf$1",symbols:["createtable_opts$macrocall$1$ebnf$1","createtable_opts$macrocall$1$ebnf$1$subexpression$1"],postprocess:e=>e[0].concat([e[1]])},{name:"createtable_opts$macrocall$1",symbols:["createtable_opts$macrocall$2","createtable_opts$macrocall$1$ebnf$1"],postprocess:([e,m])=>[r(e),...m.map(r)||[]]},{name:"createtable_opts",symbols:["createtable_opts$subexpression$1","lparen","createtable_opts$macrocall$1","rparen"],postprocess:e=>(0,l.track)(e,{inherits:e[2]})},{name:"createindex_statement$ebnf$1",symbols:[s.lexerAny.has("kw_unique")?{type:"kw_unique"}:kw_unique],postprocess:o},{name:"createindex_statement$ebnf$1",symbols:[],postprocess:()=>null},{name:"createindex_statement$ebnf$2",symbols:[s.lexerAny.has("kw_concurrently")?{type:"kw_concurrently"}:kw_concurrently],postprocess:o},{name:"createindex_statement$ebnf$2",symbols:[],postprocess:()=>null},{name:"createindex_statement$ebnf$3",symbols:["kw_ifnotexists"],postprocess:o},{name:"createindex_statement$ebnf$3",symbols:[],postprocess:()=>null},{name:"createindex_statement$ebnf$4",symbols:["word"],postprocess:o},{name:"createindex_statement$ebnf$4",symbols:[],postprocess:()=>null},{name:"createindex_statement$ebnf$5$subexpression$1",symbols:[s.lexerAny.has("kw_using")?{type:"kw_using"}:kw_using,"ident"],postprocess:b},{name:"createindex_statement$ebnf$5",symbols:["createindex_statement$ebnf$5$subexpression$1"],postprocess:o},{name:"createindex_statement$ebnf$5",symbols:[],postprocess:()=>null},{name:"createindex_statement$ebnf$6",symbols:["createindex_with"],postprocess:o},{name:"createindex_statement$ebnf$6",symbols:[],postprocess:()=>null},{name:"createindex_statement$ebnf$7",symbols:["createindex_tblspace"],postprocess:o},{name:"createindex_statement$ebnf$7",symbols:[],postprocess:()=>null},{name:"createindex_statement$ebnf$8",symbols:["createindex_predicate"],postprocess:o},{name:"createindex_statement$ebnf$8",symbols:[],postprocess:()=>null},{name:"createindex_statement",symbols:[s.lexerAny.has("kw_create")?{type:"kw_create"}:kw_create,"createindex_statement$ebnf$1","kw_index","createindex_statement$ebnf$2","createindex_statement$ebnf$3","createindex_statement$ebnf$4",s.lexerAny.has("kw_on")?{type:"kw_on"}:kw_on,"table_ref","createindex_statement$ebnf$5","lparen","createindex_expressions","rparen","createindex_statement$ebnf$6","createindex_statement$ebnf$7","createindex_statement$ebnf$8"],postprocess:e=>(0,l.track)(e,{type:"create index",...e[1]&&{unique:!0},...e[3]&&{concurrently:!0},...e[4]&&{ifNotExists:!0},...e[5]&&{indexName:u(e[5])},table:e[7],...e[8]&&{using:u(e[8])},expressions:e[10],...e[12]&&{with:e[12]},...e[13]&&{tablespace:r(e[13])},...e[14]&&{where:r(e[14])}})},{name:"createindex_expressions$ebnf$1",symbols:[]},{name:"createindex_expressions$ebnf$1$subexpression$1",symbols:["comma","createindex_expression"],postprocess:b},{name:"createindex_expressions$ebnf$1",symbols:["createindex_expressions$ebnf$1","createindex_expressions$ebnf$1$subexpression$1"],postprocess:e=>e[0].concat([e[1]])},{name:"createindex_expressions",symbols:["createindex_expression","createindex_expressions$ebnf$1"],postprocess:([e,m])=>[e,...m||[]]},{name:"createindex_expression$subexpression$1",symbols:["expr_basic"]},{name:"createindex_expression$subexpression$1",symbols:["expr_paren"]},{name:"createindex_expression$ebnf$1$subexpression$1",symbols:[s.lexerAny.has("kw_collate")?{type:"kw_collate"}:kw_collate,"qualified_name"],postprocess:b},{name:"createindex_expression$ebnf$1",symbols:["createindex_expression$ebnf$1$subexpression$1"],postprocess:o},{name:"createindex_expression$ebnf$1",symbols:[],postprocess:()=>null},{name:"createindex_expression$ebnf$2",symbols:["qualified_name"],postprocess:o},{name:"createindex_expression$ebnf$2",symbols:[],postprocess:()=>null},{name:"createindex_expression$ebnf$3$subexpression$1",symbols:[s.lexerAny.has("kw_asc")?{type:"kw_asc"}:kw_asc]},{name:"createindex_expression$ebnf$3$subexpression$1",symbols:[s.lexerAny.has("kw_desc")?{type:"kw_desc"}:kw_desc]},{name:"createindex_expression$ebnf$3",symbols:["createindex_expression$ebnf$3$subexpression$1"],postprocess:o},{name:"createindex_expression$ebnf$3",symbols:[],postprocess:()=>null},{name:"createindex_expression$ebnf$4$subexpression$1$subexpression$1",symbols:["kw_first"]},{name:"createindex_expression$ebnf$4$subexpression$1$subexpression$1",symbols:["kw_last"]},{name:"createindex_expression$ebnf$4$subexpression$1",symbols:["kw_nulls","createindex_expression$ebnf$4$subexpression$1$subexpression$1"],postprocess:b},{name:"createindex_expression$ebnf$4",symbols:["createindex_expression$ebnf$4$subexpression$1"],postprocess:o},{name:"createindex_expression$ebnf$4",symbols:[],postprocess:()=>null},{name:"createindex_expression",symbols:["createindex_expression$subexpression$1","createindex_expression$ebnf$1","createindex_expression$ebnf$2","createindex_expression$ebnf$3","createindex_expression$ebnf$4"],postprocess:e=>(0,l.track)(e,{expression:r(e[0]),...e[1]&&{collate:r(e[1])},...e[2]&&{opclass:r(e[2])},...e[3]&&{order:r(e[3]).value},...e[4]&&{nulls:r(e[4])}})},{name:"createindex_predicate",symbols:[s.lexerAny.has("kw_where")?{type:"kw_where"}:kw_where,"expr"],postprocess:b},{name:"createindex_with$macrocall$2",symbols:["createindex_with_item"]},{name:"createindex_with$macrocall$1$ebnf$1",symbols:[]},{name:"createindex_with$macrocall$1$ebnf$1$subexpression$1",symbols:[s.lexerAny.has("comma")?{type:"comma"}:comma,"createindex_with$macrocall$2"],postprocess:b},{name:"createindex_with$macrocall$1$ebnf$1",symbols:["createindex_with$macrocall$1$ebnf$1","createindex_with$macrocall$1$ebnf$1$subexpression$1"],postprocess:e=>e[0].concat([e[1]])},{name:"createindex_with$macrocall$1",symbols:["createindex_with$macrocall$2","createindex_with$macrocall$1$ebnf$1"],postprocess:([e,m])=>[r(e),...m.map(r)||[]]},{name:"createindex_with",symbols:[s.lexerAny.has("kw_with")?{type:"kw_with"}:kw_with,"lparen","createindex_with$macrocall$1","rparen"],postprocess:y(2)},{name:"createindex_with_item$subexpression$1",symbols:["string"]},{name:"createindex_with_item$subexpression$1",symbols:["int"]},{name:"createindex_with_item",symbols:["ident",s.lexerAny.has("op_eq")?{type:"op_eq"}:op_eq,"createindex_with_item$subexpression$1"],postprocess:e=>(0,l.track)(e,{parameter:h(e[0]),value:r(e[2]).toString()})},{name:"createindex_tblspace",symbols:["kw_tablespace","ident"],postprocess:b},{name:"createextension_statement$ebnf$1",symbols:["kw_ifnotexists"],postprocess:o},{name:"createextension_statement$ebnf$1",symbols:[],postprocess:()=>null},{name:"createextension_statement$ebnf$2",symbols:[s.lexerAny.has("kw_with")?{type:"kw_with"}:kw_with],postprocess:o},{name:"createextension_statement$ebnf$2",symbols:[],postprocess:()=>null},{name:"createextension_statement$ebnf$3$subexpression$1",symbols:["kw_schema","word"],postprocess:b},{name:"createextension_statement$ebnf$3",symbols:["createextension_statement$ebnf$3$subexpression$1"],postprocess:o},{name:"createextension_statement$ebnf$3",symbols:[],postprocess:()=>null},{name:"createextension_statement$ebnf$4$subexpression$1",symbols:["kw_version","string"],postprocess:b},{name:"createextension_statement$ebnf$4",symbols:["createextension_statement$ebnf$4$subexpression$1"],postprocess:o},{name:"createextension_statement$ebnf$4",symbols:[],postprocess:()=>null},{name:"createextension_statement$ebnf$5$subexpression$1",symbols:[s.lexerAny.has("kw_from")?{type:"kw_from"}:kw_from,"string"],postprocess:b},{name:"createextension_statement$ebnf$5",symbols:["createextension_statement$ebnf$5$subexpression$1"],postprocess:o},{name:"createextension_statement$ebnf$5",symbols:[],postprocess:()=>null},{name:"createextension_statement",symbols:[s.lexerAny.has("kw_create")?{type:"kw_create"}:kw_create,"kw_extension","createextension_statement$ebnf$1","word","createextension_statement$ebnf$2","createextension_statement$ebnf$3","createextension_statement$ebnf$4","createextension_statement$ebnf$5"],postprocess:e=>(0,l.track)(e,{type:"create extension",...e[2]?{ifNotExists:!0}:{},extension:u(e[3]),...e[5]?{schema:u(e[5])}:{},...e[6]?{version:d(e[6])}:{},...e[7]?{from:d(e[7])}:{}})},{name:"simplestatements_all",symbols:["simplestatements_start_transaction"]},{name:"simplestatements_all",symbols:["simplestatements_commit"]},{name:"simplestatements_all",symbols:["simplestatements_rollback"]},{name:"simplestatements_all",symbols:["simplestatements_tablespace"]},{name:"simplestatements_all",symbols:["simplestatements_set"]},{name:"simplestatements_all",symbols:["simplestatements_show"]},{name:"simplestatements_all",symbols:["simplestatements_begin"]},{name:"simplestatements_start_transaction$subexpression$1",symbols:["kw_start","kw_transaction"]},{name:"simplestatements_start_transaction",symbols:["simplestatements_start_transaction$subexpression$1"],postprocess:e=>(0,l.track)(e,{type:"start transaction"})},{name:"simplestatements_commit",symbols:["kw_commit"],postprocess:e=>(0,l.track)(e,{type:"commit"})},{name:"simplestatements_rollback",symbols:["kw_rollback"],postprocess:e=>(0,l.track)(e,{type:"rollback"})},{name:"simplestatements_tablespace",symbols:["kw_tablespace","word"],postprocess:e=>(0,l.track)(e,{type:"tablespace",tablespace:u(e[1])})},{name:"simplestatements_set$subexpression$1",symbols:["simplestatements_set_simple"]},{name:"simplestatements_set$subexpression$1",symbols:["simplestatements_set_timezone"]},{name:"simplestatements_set$subexpression$1",symbols:["simplestatements_set_names"]},{name:"simplestatements_set",symbols:["kw_set","simplestatements_set$subexpression$1"],postprocess:b},{name:"simplestatements_set_timezone",symbols:["kw_time","kw_zone","simplestatements_set_timezone_val"],postprocess:e=>(0,l.track)(e,{type:"set timezone",to:e[2]})},{name:"simplestatements_set_timezone_val$subexpression$1",symbols:["string"]},{name:"simplestatements_set_timezone_val$subexpression$1",symbols:["int"]},{name:"simplestatements_set_timezone_val",symbols:["simplestatements_set_timezone_val$subexpression$1"],postprocess:e=>(0,l.track)(e,{type:"value",value:r(e[0])})},{name:"simplestatements_set_timezone_val",symbols:["kw_local"],postprocess:e=>(0,l.track)(e,{type:"local"})},{name:"simplestatements_set_timezone_val",symbols:[s.lexerAny.has("kw_default")?{type:"kw_default"}:kw_default],postprocess:e=>(0,l.track)(e,{type:"default"})},{name:"simplestatements_set_timezone_val",symbols:["kw_interval","string","kw_hour",s.lexerAny.has("kw_to")?{type:"kw_to"}:kw_to,"kw_minute"],postprocess:e=>(0,l.track)(e,{type:"interval",value:(0,l.unbox)(e[1])})},{name:"simplestatements_set_names",symbols:["kw_names","simplestatements_set_names_val"],postprocess:e=>(0,l.track)(e,{type:"set names",to:e[1]})},{name:"simplestatements_set_names_val$subexpression$1",symbols:["string"]},{name:"simplestatements_set_names_val",symbols:["simplestatements_set_names_val$subexpression$1"],postprocess:e=>(0,l.track)(e,{type:"value",value:r(e[0])})},{name:"simplestatements_set_simple$ebnf$1$subexpression$1",symbols:["kw_local"]},{name:"simplestatements_set_simple$ebnf$1$subexpression$1",symbols:["kw_session"]},{name:"simplestatements_set_simple$ebnf$1",symbols:["simplestatements_set_simple$ebnf$1$subexpression$1"],postprocess:o},{name:"simplestatements_set_simple$ebnf$1",symbols:[],postprocess:()=>null},{name:"simplestatements_set_simple$subexpression$1",symbols:[s.lexerAny.has("op_eq")?{type:"op_eq"}:op_eq]},{name:"simplestatements_set_simple$subexpression$1",symbols:[s.lexerAny.has("kw_to")?{type:"kw_to"}:kw_to]},{name:"simplestatements_set_simple",symbols:["simplestatements_set_simple$ebnf$1","ident","simplestatements_set_simple$subexpression$1","simplestatements_set_val"],postprocess:e=>{var m;return(0,l.track)(e,{type:"set",variable:u(e[1]),scope:(m=r(e[0]))===null||m===void 0?void 0:m.toLowerCase(),set:(0,l.unbox)(e[3])})}},{name:"simplestatements_set_val",symbols:["simplestatements_set_val_raw"],postprocess:r},{name:"simplestatements_set_val",symbols:[s.lexerAny.has("kw_default")?{type:"kw_default"}:kw_default],postprocess:e=>(0,l.track)(e,{type:"default"})},{name:"simplestatements_set_val$ebnf$1$subexpression$1",symbols:["comma","simplestatements_set_val_raw"]},{name:"simplestatements_set_val$ebnf$1",symbols:["simplestatements_set_val$ebnf$1$subexpression$1"]},{name:"simplestatements_set_val$ebnf$1$subexpression$2",symbols:["comma","simplestatements_set_val_raw"]},{name:"simplestatements_set_val$ebnf$1",symbols:["simplestatements_set_val$ebnf$1","simplestatements_set_val$ebnf$1$subexpression$2"],postprocess:e=>e[0].concat([e[1]])},{name:"simplestatements_set_val",symbols:["simplestatements_set_val_raw","simplestatements_set_val$ebnf$1"],postprocess:e=>(0,l.track)(e,{type:"list",values:[e[0],...e[1]||[]]})},{name:"simplestatements_set_val_raw$subexpression$1",symbols:["string"]},{name:"simplestatements_set_val_raw$subexpression$1",symbols:["int"]},{name:"simplestatements_set_val_raw",symbols:["simplestatements_set_val_raw$subexpression$1"],postprocess:e=>(0,l.track)(e,{type:"value",value:r(e)})},{name:"simplestatements_set_val_raw$subexpression$2",symbols:[s.lexerAny.has("word")?{type:"word"}:word]},{name:"simplestatements_set_val_raw$subexpression$2",symbols:[s.lexerAny.has("kw_on")?{type:"kw_on"}:kw_on]},{name:"simplestatements_set_val_raw$subexpression$2",symbols:[s.lexerAny.has("kw_true")?{type:"kw_true"}:kw_true]},{name:"simplestatements_set_val_raw$subexpression$2",symbols:[s.lexerAny.has("kw_false")?{type:"kw_false"}:kw_false]},{name:"simplestatements_set_val_raw",symbols:["simplestatements_set_val_raw$subexpression$2"],postprocess:e=>(0,l.track)(e,{type:"identifier",name:r(e).value})},{name:"simplestatements_set_val_raw",symbols:[s.lexerAny.has("quoted_word")?{type:"quoted_word"}:quoted_word],postprocess:e=>(0,l.track)(e,{type:"identifier",doubleQuoted:!0,name:r(e).value})},{name:"simplestatements_show",symbols:["kw_show","ident"],postprocess:e=>(0,l.track)(e,{type:"show",variable:u(e[1])})},{name:"create_schema$subexpression$1",symbols:[s.lexerAny.has("kw_create")?{type:"kw_create"}:kw_create,"kw_schema"]},{name:"create_schema$ebnf$1",symbols:["kw_ifnotexists"],postprocess:o},{name:"create_schema$ebnf$1",symbols:[],postprocess:()=>null},{name:"create_schema",symbols:["create_schema$subexpression$1","create_schema$ebnf$1","ident"],postprocess:e=>(0,l.track)(e,{type:"create schema",name:u(e[2]),...e[1]?{ifNotExists:!0}:{}})},{name:"raise_statement$ebnf$1$subexpression$1",symbols:[s.lexerAny.has("word")?{type:"word"}:word],postprocess:E("debug","log","info","notice","warning","exception")},{name:"raise_statement$ebnf$1",symbols:["raise_statement$ebnf$1$subexpression$1"],postprocess:o},{name:"raise_statement$ebnf$1",symbols:[],postprocess:()=>null},{name:"raise_statement$ebnf$2$subexpression$1",symbols:["comma","expr_list_raw"],postprocess:b},{name:"raise_statement$ebnf$2",symbols:["raise_statement$ebnf$2$subexpression$1"],postprocess:o},{name:"raise_statement$ebnf$2",symbols:[],postprocess:()=>null},{name:"raise_statement$ebnf$3",symbols:["raise_using"],postprocess:o},{name:"raise_statement$ebnf$3",symbols:[],postprocess:()=>null},{name:"raise_statement",symbols:["kw_raise","raise_statement$ebnf$1","string","raise_statement$ebnf$2","raise_statement$ebnf$3"],postprocess:e=>(0,l.track)(e,{type:"raise",format:h(e[2]),...e[1]&&{level:h(e[1])},...e[3]&&e[3].length&&{formatExprs:e[3]},...e[4]&&e[4].length&&{using:e[4]}})},{name:"raise_using$macrocall$2",symbols:["raise_using_one"]},{name:"raise_using$macrocall$1$ebnf$1",symbols:[]},{name:"raise_using$macrocall$1$ebnf$1$subexpression$1",symbols:[s.lexerAny.has("comma")?{type:"comma"}:comma,"raise_using$macrocall$2"],postprocess:b},{name:"raise_using$macrocall$1$ebnf$1",symbols:["raise_using$macrocall$1$ebnf$1","raise_using$macrocall$1$ebnf$1$subexpression$1"],postprocess:e=>e[0].concat([e[1]])},{name:"raise_using$macrocall$1",symbols:["raise_using$macrocall$2","raise_using$macrocall$1$ebnf$1"],postprocess:([e,m])=>[r(e),...m.map(r)||[]]},{name:"raise_using",symbols:[s.lexerAny.has("kw_using")?{type:"kw_using"}:kw_using,"raise_using$macrocall$1"],postprocess:b},{name:"raise_using_one",symbols:["raise_using_what",s.lexerAny.has("op_eq")?{type:"op_eq"}:op_eq,"expr"],postprocess:e=>(0,l.track)(e,{type:h(e[0]),value:e[2]})},{name:"raise_using_what",symbols:[s.lexerAny.has("kw_table")?{type:"kw_table"}:kw_table]},{name:"raise_using_what",symbols:[s.lexerAny.has("word")?{type:"word"}:word],postprocess:E("message","detail","hint","errcode","column","constraint","datatype","schema")},{name:"comment_statement",symbols:["kw_comment",s.lexerAny.has("kw_on")?{type:"kw_on"}:kw_on,"comment_what",s.lexerAny.has("kw_is")?{type:"kw_is"}:kw_is,"string"],postprocess:e=>(0,l.track)(e,{type:"comment",comment:(0,l.unbox)(b(e)),on:r(e[2])})},{name:"comment_what",symbols:["comment_what_col"]},{name:"comment_what",symbols:["comment_what_nm"]},{name:"comment_what_nm$subexpression$1",symbols:[s.lexerAny.has("kw_table")?{type:"kw_table"}:kw_table]},{name:"comment_what_nm$subexpression$1",symbols:["kw_materialized","kw_view"]},{name:"comment_what_nm$subexpression$1",symbols:[s.lexerAny.has("word")?{type:"word"}:word],postprocess:E("database","index","trigger","type","view")},{name:"comment_what_nm",symbols:["comment_what_nm$subexpression$1","qualified_name"],postprocess:e=>(0,l.track)(e,{type:h(e[0]),name:e[1]})},{name:"comment_what_col",symbols:["kw_column","qcolumn"],postprocess:e=>(0,l.track)(e,{type:"column",column:b(e)})},{name:"simplestatements_begin$ebnf$1$subexpression$1",symbols:["kw_transaction"]},{name:"simplestatements_begin$ebnf$1$subexpression$1",symbols:["kw_work"]},{name:"simplestatements_begin$ebnf$1",symbols:["simplestatements_begin$ebnf$1$subexpression$1"],postprocess:o},{name:"simplestatements_begin$ebnf$1",symbols:[],postprocess:()=>null},{name:"simplestatements_begin$ebnf$2",symbols:[]},{name:"simplestatements_begin$ebnf$2$subexpression$1",symbols:["simplestatements_begin_isol"]},{name:"simplestatements_begin$ebnf$2$subexpression$1",symbols:["simplestatements_begin_writ"]},{name:"simplestatements_begin$ebnf$2$subexpression$1",symbols:["simplestatements_begin_def"]},{name:"simplestatements_begin$ebnf$2",symbols:["simplestatements_begin$ebnf$2","simplestatements_begin$ebnf$2$subexpression$1"],postprocess:e=>e[0].concat([e[1]])},{name:"simplestatements_begin",symbols:["kw_begin","simplestatements_begin$ebnf$1","simplestatements_begin$ebnf$2"],postprocess:e=>(0,l.track)(e,{type:"begin",...e[2].reduce((m,a)=>({...r(m),...r(a)}),{})})},{name:"simplestatements_begin_isol$subexpression$1",symbols:["kw_isolation","kw_level"]},{name:"simplestatements_begin_isol$subexpression$2",symbols:["kw_serializable"]},{name:"simplestatements_begin_isol$subexpression$2$subexpression$1",symbols:["word"],postprocess:g("repeatable")},{name:"simplestatements_begin_isol$subexpression$2",symbols:["simplestatements_begin_isol$subexpression$2$subexpression$1","kw_read"]},{name:"simplestatements_begin_isol$subexpression$2$subexpression$2",symbols:["word"],postprocess:g("committed")},{name:"simplestatements_begin_isol$subexpression$2",symbols:["kw_read","simplestatements_begin_isol$subexpression$2$subexpression$2"]},{name:"simplestatements_begin_isol$subexpression$2$subexpression$3",symbols:["word"],postprocess:g("uncommitted")},{name:"simplestatements_begin_isol$subexpression$2",symbols:["kw_read","simplestatements_begin_isol$subexpression$2$subexpression$3"]},{name:"simplestatements_begin_isol",symbols:["simplestatements_begin_isol$subexpression$1","simplestatements_begin_isol$subexpression$2"],postprocess:e=>(0,l.track)(e,{isolationLevel:h(e[1]," ")})},{name:"simplestatements_begin_writ$subexpression$1",symbols:["kw_read","kw_write"]},{name:"simplestatements_begin_writ$subexpression$1",symbols:["kw_read",s.lexerAny.has("kw_only")?{type:"kw_only"}:kw_only]},{name:"simplestatements_begin_writ",symbols:["simplestatements_begin_writ$subexpression$1"],postprocess:e=>(0,l.track)(e,{writeable:h(e," ")})},{name:"simplestatements_begin_def$ebnf$1",symbols:[s.lexerAny.has("kw_not")?{type:"kw_not"}:kw_not],postprocess:o},{name:"simplestatements_begin_def$ebnf$1",symbols:[],postprocess:()=>null},{name:"simplestatements_begin_def",symbols:["simplestatements_begin_def$ebnf$1",s.lexerAny.has("kw_deferrable")?{type:"kw_deferrable"}:kw_deferrable],postprocess:e=>(0,l.track)(e,{deferrable:!e[0]})},{name:"insert_statement$subexpression$1",symbols:["kw_insert",s.lexerAny.has("kw_into")?{type:"kw_into"}:kw_into]},{name:"insert_statement$ebnf$1",symbols:["collist_paren"],postprocess:o},{name:"insert_statement$ebnf$1",symbols:[],postprocess:()=>null},{name:"insert_statement$ebnf$2$subexpression$1$subexpression$1",symbols:["kw_system"]},{name:"insert_statement$ebnf$2$subexpression$1$subexpression$1",symbols:[s.lexerAny.has("kw_user")?{type:"kw_user"}:kw_user]},{name:"insert_statement$ebnf$2$subexpression$1",symbols:["kw_overriding","insert_statement$ebnf$2$subexpression$1$subexpression$1","kw_value"],postprocess:y(1)},{name:"insert_statement$ebnf$2",symbols:["insert_statement$ebnf$2$subexpression$1"],postprocess:o},{name:"insert_statement$ebnf$2",symbols:[],postprocess:()=>null},{name:"insert_statement$ebnf$3$subexpression$1",symbols:["selection"]},{name:"insert_statement$ebnf$3$subexpression$1",symbols:["selection_paren"]},{name:"insert_statement$ebnf$3",symbols:["insert_statement$ebnf$3$subexpression$1"],postprocess:o},{name:"insert_statement$ebnf$3",symbols:[],postprocess:()=>null},{name:"insert_statement$ebnf$4$subexpression$1",symbols:[s.lexerAny.has("kw_on")?{type:"kw_on"}:kw_on,"kw_conflict","insert_on_conflict"],postprocess:b},{name:"insert_statement$ebnf$4",symbols:["insert_statement$ebnf$4$subexpression$1"],postprocess:o},{name:"insert_statement$ebnf$4",symbols:[],postprocess:()=>null},{name:"insert_statement$ebnf$5$subexpression$1",symbols:[s.lexerAny.has("kw_returning")?{type:"kw_returning"}:kw_returning,"select_expr_list_aliased"],postprocess:b},{name:"insert_statement$ebnf$5",symbols:["insert_statement$ebnf$5$subexpression$1"],postprocess:o},{name:"insert_statement$ebnf$5",symbols:[],postprocess:()=>null},{name:"insert_statement",symbols:["insert_statement$subexpression$1","table_ref_aliased","insert_statement$ebnf$1","insert_statement$ebnf$2","insert_statement$ebnf$3","insert_statement$ebnf$4","insert_statement$ebnf$5"],postprocess:e=>{const m=e[2]&&e[2].map(u),a=h(e[3]),_=r(e[4]),x=e[5],v=e[6];return(0,l.track)(e,{type:"insert",into:r(e[1]),insert:_,...a&&{overriding:a},...m&&{columns:m},...v&&{returning:v},...x&&{onConflict:x}})}},{name:"insert_values$ebnf$1",symbols:[]},{name:"insert_values$ebnf$1$subexpression$1",symbols:["comma","insert_value"],postprocess:b},{name:"insert_values$ebnf$1",symbols:["insert_values$ebnf$1","insert_values$ebnf$1$subexpression$1"],postprocess:e=>e[0].concat([e[1]])},{name:"insert_values",symbols:["insert_value","insert_values$ebnf$1"],postprocess:([e,m])=>[e,...m||[]]},{name:"insert_value",symbols:["lparen","insert_expr_list_raw","rparen"],postprocess:y(1)},{name:"insert_expr_list_raw$ebnf$1",symbols:[]},{name:"insert_expr_list_raw$ebnf$1$subexpression$1",symbols:["comma","expr_or_select"],postprocess:b},{name:"insert_expr_list_raw$ebnf$1",symbols:["insert_expr_list_raw$ebnf$1","insert_expr_list_raw$ebnf$1$subexpression$1"],postprocess:e=>e[0].concat([e[1]])},{name:"insert_expr_list_raw",symbols:["expr_or_select","insert_expr_list_raw$ebnf$1"],postprocess:([e,m])=>[e,...m||[]]},{name:"insert_on_conflict$ebnf$1",symbols:["insert_on_conflict_what"],postprocess:o},{name:"insert_on_conflict$ebnf$1",symbols:[],postprocess:()=>null},{name:"insert_on_conflict",symbols:["insert_on_conflict$ebnf$1","insert_on_conflict_do"],postprocess:e=>(0,l.track)(e,{...e[0]?{on:r(e[0])}:{},...e[1]})},{name:"insert_on_conflict_what",symbols:["lparen","expr_list_raw","rparen"],postprocess:e=>(0,l.track)(e,{type:"on expr",exprs:e[1]})},{name:"insert_on_conflict_what",symbols:[s.lexerAny.has("kw_on")?{type:"kw_on"}:kw_on,s.lexerAny.has("kw_constraint")?{type:"kw_constraint"}:kw_constraint,"qname"],postprocess:e=>(0,l.track)(e,{type:"on constraint",constraint:b(e)})},{name:"insert_on_conflict_do",symbols:[s.lexerAny.has("kw_do")?{type:"kw_do"}:kw_do,"kw_nothing"],postprocess:e=>({do:"do nothing"})},{name:"insert_on_conflict_do$subexpression$1",symbols:[s.lexerAny.has("kw_do")?{type:"kw_do"}:kw_do,"kw_update","kw_set"]},{name:"insert_on_conflict_do$ebnf$1$subexpression$1",symbols:[s.lexerAny.has("kw_where")?{type:"kw_where"}:kw_where,"expr"],postprocess:b},{name:"insert_on_conflict_do$ebnf$1",symbols:["insert_on_conflict_do$ebnf$1$subexpression$1"],postprocess:o},{name:"insert_on_conflict_do$ebnf$1",symbols:[],postprocess:()=>null},{name:"insert_on_conflict_do",symbols:["insert_on_conflict_do$subexpression$1","update_set_list","insert_on_conflict_do$ebnf$1"],postprocess:e=>({do:{sets:e[1]},...e[2]&&{where:e[2]}})},{name:"update_statement$ebnf$1$subexpression$1",symbols:[s.lexerAny.has("kw_from")?{type:"kw_from"}:kw_from,"select_from_subject"],postprocess:b},{name:"update_statement$ebnf$1",symbols:["update_statement$ebnf$1$subexpression$1"],postprocess:o},{name:"update_statement$ebnf$1",symbols:[],postprocess:()=>null},{name:"update_statement$ebnf$2",symbols:["select_where"],postprocess:o},{name:"update_statement$ebnf$2",symbols:[],postprocess:()=>null},{name:"update_statement$ebnf$3$subexpression$1",symbols:[s.lexerAny.has("kw_returning")?{type:"kw_returning"}:kw_returning,"select_expr_list_aliased"],postprocess:b},{name:"update_statement$ebnf$3",symbols:["update_statement$ebnf$3$subexpression$1"],postprocess:o},{name:"update_statement$ebnf$3",symbols:[],postprocess:()=>null},{name:"update_statement",symbols:["kw_update","table_ref_aliased","kw_set","update_set_list","update_statement$ebnf$1","update_statement$ebnf$2","update_statement$ebnf$3"],postprocess:e=>{const m=r(e[4]),a=r(e[5]),_=e[6];return(0,l.track)(e,{type:"update",table:r(e[1]),sets:e[3],...a?{where:a}:{},...m?{from:m}:{},..._?{returning:_}:{}})}},{name:"update_set_list$ebnf$1",symbols:[]},{name:"update_set_list$ebnf$1$subexpression$1",symbols:["comma","update_set"],postprocess:b},{name:"update_set_list$ebnf$1",symbols:["update_set_list$ebnf$1","update_set_list$ebnf$1$subexpression$1"],postprocess:e=>e[0].concat([e[1]])},{name:"update_set_list",symbols:["update_set","update_set_list$ebnf$1"],postprocess:([e,m])=>{const a=[];for(const _ of[e,...m||[]]){const x=r(_);Array.isArray(x)?a.push(...x):a.push(x)}return a}},{name:"update_set",symbols:["update_set_one"]},{name:"update_set",symbols:["update_set_multiple"]},{name:"update_set_one",symbols:["ident",s.lexerAny.has("op_eq")?{type:"op_eq"}:op_eq,"expr"],postprocess:e=>(0,l.box)(e,{column:u(e[0]),value:r(e[2])})},{name:"update_set_multiple$subexpression$1",symbols:["lparen","expr_list_raw","rparen"],postprocess:y(1)},{name:"update_set_multiple",symbols:["collist_paren",s.lexerAny.has("op_eq")?{type:"op_eq"}:op_eq,"update_set_multiple$subexpression$1"],postprocess:e=>{const m=e[0],a=e[2];if(m.length!==a.length)throw new Error("number of columns does not match number of values");return(0,l.box)(e,m.map((_,x)=>({column:u(_),value:r(a[x])})))}},{name:"altertable_statement$ebnf$1",symbols:["kw_ifexists"],postprocess:o},{name:"altertable_statement$ebnf$1",symbols:[],postprocess:()=>null},{name:"altertable_statement$ebnf$2",symbols:[s.lexerAny.has("kw_only")?{type:"kw_only"}:kw_only],postprocess:o},{name:"altertable_statement$ebnf$2",symbols:[],postprocess:()=>null},{name:"altertable_statement",symbols:["kw_alter",s.lexerAny.has("kw_table")?{type:"kw_table"}:kw_table,"altertable_statement$ebnf$1","altertable_statement$ebnf$2","table_ref","altertable_actions"],postprocess:e=>(0,l.track)(e,{type:"alter table",...e[2]?{ifExists:!0}:{},...e[3]?{only:!0}:{},table:r(e[4]),changes:(0,l.unbox)(e[5]).map(r)})},{name:"altertable_actions$ebnf$1",symbols:[]},{name:"altertable_actions$ebnf$1$subexpression$1",symbols:["comma","altertable_action"],postprocess:b},{name:"altertable_actions$ebnf$1",symbols:["altertable_actions$ebnf$1","altertable_actions$ebnf$1$subexpression$1"],postprocess:e=>e[0].concat([e[1]])},{name:"altertable_actions",symbols:["altertable_action","altertable_actions$ebnf$1"],postprocess:([e,m])=>[e,...m||[]]},{name:"altertable_action",symbols:["altertable_rename_table"]},{name:"altertable_action",symbols:["altertable_rename_column"]},{name:"altertable_action",symbols:["altertable_rename_constraint"]},{name:"altertable_action",symbols:["altertable_add_column"]},{name:"altertable_action",symbols:["altertable_drop_column"]},{name:"altertable_action",symbols:["altertable_alter_column"]},{name:"altertable_action",symbols:["altertable_add_constraint"]},{name:"altertable_action",symbols:["altertable_drop_constraint"]},{name:"altertable_action",symbols:["altertable_owner"]},{name:"altertable_rename_table",symbols:["kw_rename",s.lexerAny.has("kw_to")?{type:"kw_to"}:kw_to,"word"],postprocess:e=>(0,l.track)(e,{type:"rename",to:u(b(e))})},{name:"altertable_rename_column$ebnf$1",symbols:["kw_column"],postprocess:o},{name:"altertable_rename_column$ebnf$1",symbols:[],postprocess:()=>null},{name:"altertable_rename_column",symbols:["kw_rename","altertable_rename_column$ebnf$1","ident",s.lexerAny.has("kw_to")?{type:"kw_to"}:kw_to,"ident"],postprocess:e=>(0,l.track)(e,{type:"rename column",column:u(e[2]),to:u(b(e))})},{name:"altertable_rename_constraint",symbols:["kw_rename",s.lexerAny.has("kw_constraint")?{type:"kw_constraint"}:kw_constraint,"ident",s.lexerAny.has("kw_to")?{type:"kw_to"}:kw_to,"ident"],postprocess:e=>(0,l.track)(e,{type:"rename constraint",constraint:u(e[2]),to:u(b(e))})},{name:"altertable_add_column$ebnf$1",symbols:["kw_column"],postprocess:o},{name:"altertable_add_column$ebnf$1",symbols:[],postprocess:()=>null},{name:"altertable_add_column$ebnf$2",symbols:["kw_ifnotexists"],postprocess:o},{name:"altertable_add_column$ebnf$2",symbols:[],postprocess:()=>null},{name:"altertable_add_column",symbols:["kw_add","altertable_add_column$ebnf$1","altertable_add_column$ebnf$2","createtable_column"],postprocess:e=>(0,l.track)(e,{type:"add column",...e[2]?{ifNotExists:!0}:{},column:r(e[3])})},{name:"altertable_drop_column$ebnf$1",symbols:["kw_column"],postprocess:o},{name:"altertable_drop_column$ebnf$1",symbols:[],postprocess:()=>null},{name:"altertable_drop_column$ebnf$2",symbols:["kw_ifexists"],postprocess:o},{name:"altertable_drop_column$ebnf$2",symbols:[],postprocess:()=>null},{name:"altertable_drop_column$ebnf$3$subexpression$1",symbols:["kw_restrict"]},{name:"altertable_drop_column$ebnf$3$subexpression$1",symbols:["kw_cascade"]},{name:"altertable_drop_column$ebnf$3",symbols:["altertable_drop_column$ebnf$3$subexpression$1"],postprocess:o},{name:"altertable_drop_column$ebnf$3",symbols:[],postprocess:()=>null},{name:"altertable_drop_column",symbols:["kw_drop","altertable_drop_column$ebnf$1","altertable_drop_column$ebnf$2","ident","altertable_drop_column$ebnf$3"],postprocess:e=>(0,l.track)(e,{type:"drop column",...e[2]?{ifExists:!0}:{},column:u(e[3]),...e[4]?{behaviour:h(e[4]," ")}:{}})},{name:"altertable_alter_column$ebnf$1",symbols:["kw_column"],postprocess:o},{name:"altertable_alter_column$ebnf$1",symbols:[],postprocess:()=>null},{name:"altertable_alter_column",symbols:["kw_alter","altertable_alter_column$ebnf$1","ident","altercol"],postprocess:e=>(0,l.track)(e,{type:"alter column",column:u(e[2]),alter:r(e[3])})},{name:"altercol$ebnf$1$subexpression$1",symbols:["kw_set","kw_data"]},{name:"altercol$ebnf$1",symbols:["altercol$ebnf$1$subexpression$1"],postprocess:o},{name:"altercol$ebnf$1",symbols:[],postprocess:()=>null},{name:"altercol",symbols:["altercol$ebnf$1","kw_type","data_type"],postprocess:e=>(0,l.track)(e,{type:"set type",dataType:r(b(e))})},{name:"altercol",symbols:["kw_set",s.lexerAny.has("kw_default")?{type:"kw_default"}:kw_default,"expr"],postprocess:e=>(0,l.track)(e,{type:"set default",default:r(b(e))})},{name:"altercol",symbols:["kw_drop",s.lexerAny.has("kw_default")?{type:"kw_default"}:kw_default],postprocess:e=>(0,l.track)(e,{type:"drop default"})},{name:"altercol$subexpression$1",symbols:["kw_set"]},{name:"altercol$subexpression$1",symbols:["kw_drop"]},{name:"altercol",symbols:["altercol$subexpression$1","kw_not_null"],postprocess:e=>(0,l.track)(e,{type:h(e," ")})},{name:"altercol",symbols:["altercol_generated_add"],postprocess:r},{name:"altertable_add_constraint",symbols:["kw_add","createtable_constraint"],postprocess:e=>(0,l.track)(e,{type:"add constraint",constraint:r(b(e))})},{name:"altertable_drop_constraint$ebnf$1",symbols:["kw_ifexists"],postprocess:o},{name:"altertable_drop_constraint$ebnf$1",symbols:[],postprocess:()=>null},{name:"altertable_drop_constraint$ebnf$2$subexpression$1",symbols:["kw_restrict"]},{name:"altertable_drop_constraint$ebnf$2$subexpression$1",symbols:["kw_cascade"]},{name:"altertable_drop_constraint$ebnf$2",symbols:["altertable_drop_constraint$ebnf$2$subexpression$1"],postprocess:o},{name:"altertable_drop_constraint$ebnf$2",symbols:[],postprocess:()=>null},{name:"altertable_drop_constraint",symbols:["kw_drop",s.lexerAny.has("kw_constraint")?{type:"kw_constraint"}:kw_constraint,"altertable_drop_constraint$ebnf$1","ident","altertable_drop_constraint$ebnf$2"],postprocess:e=>(0,l.track)(e,{type:"drop constraint",...e[2]?{ifExists:!0}:{},constraint:u(e[3]),...e[4]?{behaviour:h(e[4]," ")}:{}})},{name:"altertable_owner",symbols:["kw_owner",s.lexerAny.has("kw_to")?{type:"kw_to"}:kw_to,"ident"],postprocess:e=>(0,l.track)(e,{type:"owner",to:u(b(e))})},{name:"altercol_generated_add",symbols:["kw_add","altercol_generated"],postprocess:b},{name:"altercol_generated$ebnf$1$subexpression$1",symbols:["kw_always"]},{name:"altercol_generated$ebnf$1$subexpression$1",symbols:["kw_by",s.lexerAny.has("kw_default")?{type:"kw_default"}:kw_default]},{name:"altercol_generated$ebnf$1",symbols:["altercol_generated$ebnf$1$subexpression$1"],postprocess:o},{name:"altercol_generated$ebnf$1",symbols:[],postprocess:()=>null},{name:"altercol_generated$subexpression$1",symbols:[s.lexerAny.has("kw_as")?{type:"kw_as"}:kw_as,"kw_identity"]},{name:"altercol_generated$ebnf$2$subexpression$1",symbols:["lparen","altercol_generated_seq","rparen"],postprocess:y(1)},{name:"altercol_generated$ebnf$2",symbols:["altercol_generated$ebnf$2$subexpression$1"],postprocess:o},{name:"altercol_generated$ebnf$2",symbols:[],postprocess:()=>null},{name:"altercol_generated",symbols:["kw_generated","altercol_generated$ebnf$1","altercol_generated$subexpression$1","altercol_generated$ebnf$2"],postprocess:e=>(0,l.track)(e,{type:"add generated",...e[1]&&{always:h(e[1]," ")},...e[3]&&{sequence:r(e[3])}})},{name:"altercol_generated_seq$ebnf$1$subexpression$1",symbols:["kw_sequence","kw_name","qualified_name"]},{name:"altercol_generated_seq$ebnf$1",symbols:["altercol_generated_seq$ebnf$1$subexpression$1"],postprocess:o},{name:"altercol_generated_seq$ebnf$1",symbols:[],postprocess:()=>null},{name:"altercol_generated_seq$ebnf$2",symbols:[]},{name:"altercol_generated_seq$ebnf$2",symbols:["altercol_generated_seq$ebnf$2","create_sequence_option"],postprocess:e=>e[0].concat([e[1]])},{name:"altercol_generated_seq",symbols:["altercol_generated_seq$ebnf$1","altercol_generated_seq$ebnf$2"],postprocess:e=>{const m={...e[0]&&{name:r(b(e[0]))}};return O(m,e[1]),(0,l.track)(e,m)}},{name:"alterindex_statement$ebnf$1",symbols:["kw_ifexists"],postprocess:o},{name:"alterindex_statement$ebnf$1",symbols:[],postprocess:()=>null},{name:"alterindex_statement",symbols:["kw_alter","kw_index","alterindex_statement$ebnf$1","table_ref","alterindex_action"],postprocess:e=>(0,l.track)(e,{type:"alter index",...e[2]?{ifExists:!0}:{},index:r(e[3]),change:r(e[4])})},{name:"alterindex_action",symbols:["alterindex_rename"]},{name:"alterindex_action",symbols:["alterindex_set_tablespace"]},{name:"alterindex_rename",symbols:["kw_rename",s.lexerAny.has("kw_to")?{type:"kw_to"}:kw_to,"word"],postprocess:e=>(0,l.track)(e,{type:"rename",to:u(b(e))})},{name:"alterindex_set_tablespace",symbols:["kw_set","kw_tablespace","word"],postprocess:e=>(0,l.track)(e,{type:"set tablespace",tablespace:u(b(e))})},{name:"delete_statement",symbols:["delete_delete"]},{name:"delete_statement",symbols:["delete_truncate"]},{name:"delete_delete$subexpression$1",symbols:["kw_delete",s.lexerAny.has("kw_from")?{type:"kw_from"}:kw_from]},{name:"delete_delete$ebnf$1",symbols:["select_where"],postprocess:o},{name:"delete_delete$ebnf$1",symbols:[],postprocess:()=>null},{name:"delete_delete$ebnf$2$subexpression$1",symbols:[s.lexerAny.has("kw_returning")?{type:"kw_returning"}:kw_returning,"select_expr_list_aliased"],postprocess:b},{name:"delete_delete$ebnf$2",symbols:["delete_delete$ebnf$2$subexpression$1"],postprocess:o},{name:"delete_delete$ebnf$2",symbols:[],postprocess:()=>null},{name:"delete_delete",symbols:["delete_delete$subexpression$1","table_ref_aliased","delete_delete$ebnf$1","delete_delete$ebnf$2"],postprocess:e=>{const m=e[2],a=e[3];return(0,l.track)(e,{type:"delete",from:r(e[1]),...m?{where:m}:{},...a?{returning:a}:{}})}},{name:"delete_truncate$subexpression$1$ebnf$1",symbols:[s.lexerAny.has("kw_table")?{type:"kw_table"}:kw_table],postprocess:o},{name:"delete_truncate$subexpression$1$ebnf$1",symbols:[],postprocess:()=>null},{name:"delete_truncate$subexpression$1",symbols:["kw_truncate","delete_truncate$subexpression$1$ebnf$1"]},{name:"delete_truncate$macrocall$2",symbols:["table_ref"]},{name:"delete_truncate$macrocall$1$ebnf$1",symbols:[]},{name:"delete_truncate$macrocall$1$ebnf$1$subexpression$1",symbols:[s.lexerAny.has("comma")?{type:"comma"}:comma,"delete_truncate$macrocall$2"],postprocess:b},{name:"delete_truncate$macrocall$1$ebnf$1",symbols:["delete_truncate$macrocall$1$ebnf$1","delete_truncate$macrocall$1$ebnf$1$subexpression$1"],postprocess:e=>e[0].concat([e[1]])},{name:"delete_truncate$macrocall$1",symbols:["delete_truncate$macrocall$2","delete_truncate$macrocall$1$ebnf$1"],postprocess:([e,m])=>[r(e),...m.map(r)||[]]},{name:"delete_truncate$ebnf$1$subexpression$1$subexpression$1",symbols:["kw_restart"]},{name:"delete_truncate$ebnf$1$subexpression$1$subexpression$1",symbols:["kw_continue"]},{name:"delete_truncate$ebnf$1$subexpression$1",symbols:["delete_truncate$ebnf$1$subexpression$1$subexpression$1","kw_identity"]},{name:"delete_truncate$ebnf$1",symbols:["delete_truncate$ebnf$1$subexpression$1"],postprocess:o},{name:"delete_truncate$ebnf$1",symbols:[],postprocess:()=>null},{name:"delete_truncate$ebnf$2$subexpression$1",symbols:["kw_restrict"]},{name:"delete_truncate$ebnf$2$subexpression$1",symbols:["kw_cascade"]},{name:"delete_truncate$ebnf$2",symbols:["delete_truncate$ebnf$2$subexpression$1"],postprocess:o},{name:"delete_truncate$ebnf$2",symbols:[],postprocess:()=>null},{name:"delete_truncate",symbols:["delete_truncate$subexpression$1","delete_truncate$macrocall$1","delete_truncate$ebnf$1","delete_truncate$ebnf$2"],postprocess:e=>(0,l.track)(e,{type:"truncate table",tables:e[1],...e[2]&&{identity:h(e[2][0])},...e[3]&&{cascade:h(e[3])}})},{name:"create_sequence_statement$ebnf$1$subexpression$1",symbols:["kw_temp"]},{name:"create_sequence_statement$ebnf$1$subexpression$1",symbols:["kw_temporary"]},{name:"create_sequence_statement$ebnf$1",symbols:["create_sequence_statement$ebnf$1$subexpression$1"],postprocess:o},{name:"create_sequence_statement$ebnf$1",symbols:[],postprocess:()=>null},{name:"create_sequence_statement$ebnf$2",symbols:["kw_ifnotexists"],postprocess:o},{name:"create_sequence_statement$ebnf$2",symbols:[],postprocess:()=>null},{name:"create_sequence_statement$ebnf$3",symbols:[]},{name:"create_sequence_statement$ebnf$3",symbols:["create_sequence_statement$ebnf$3","create_sequence_option"],postprocess:e=>e[0].concat([e[1]])},{name:"create_sequence_statement",symbols:[s.lexerAny.has("kw_create")?{type:"kw_create"}:kw_create,"create_sequence_statement$ebnf$1","kw_sequence","create_sequence_statement$ebnf$2","qualified_name","create_sequence_statement$ebnf$3"],postprocess:e=>{const m={type:"create sequence",...e[1]&&{temp:!0},...e[3]&&{ifNotExists:!0},name:r(e[4]),options:{}};return O(m.options,e[5]),(0,l.track)(e,m)}},{name:"create_sequence_option",symbols:[s.lexerAny.has("kw_as")?{type:"kw_as"}:kw_as,"data_type"],postprocess:e=>(0,l.box)(e,["as",e[1]])},{name:"create_sequence_option$ebnf$1",symbols:["kw_by"],postprocess:o},{name:"create_sequence_option$ebnf$1",symbols:[],postprocess:()=>null},{name:"create_sequence_option",symbols:["kw_increment","create_sequence_option$ebnf$1","int"],postprocess:e=>(0,l.box)(e,["incrementBy",e[2]])},{name:"create_sequence_option",symbols:["create_sequence_minvalue"],postprocess:e=>(0,l.box)(e,["minValue",e[0]])},{name:"create_sequence_option",symbols:["create_sequence_maxvalue"],postprocess:e=>(0,l.box)(e,["maxValue",e[0]])},{name:"create_sequence_option$ebnf$2",symbols:[s.lexerAny.has("kw_with")?{type:"kw_with"}:kw_with],postprocess:o},{name:"create_sequence_option$ebnf$2",symbols:[],postprocess:()=>null},{name:"create_sequence_option",symbols:["kw_start","create_sequence_option$ebnf$2","int"],postprocess:e=>(0,l.box)(e,["startWith",e[2]])},{name:"create_sequence_option",symbols:["kw_cache","int"],postprocess:e=>(0,l.box)(e,["cache",e[1]])},{name:"create_sequence_option$ebnf$3",symbols:["kw_no"],postprocess:o},{name:"create_sequence_option$ebnf$3",symbols:[],postprocess:()=>null},{name:"create_sequence_option",symbols:["create_sequence_option$ebnf$3","kw_cycle"],postprocess:e=>(0,l.box)(e,["cycle",h(e," ")])},{name:"create_sequence_option",symbols:["create_sequence_owned_by"],postprocess:e=>(0,l.box)(e,["ownedBy",r(e)])},{name:"create_sequence_minvalue",symbols:["kw_minvalue","int"],postprocess:b},{name:"create_sequence_minvalue",symbols:["kw_no","kw_minvalue"],postprocess:e=>(0,l.box)(e,"no minvalue")},{name:"create_sequence_maxvalue",symbols:["kw_maxvalue","int"],postprocess:b},{name:"create_sequence_maxvalue",symbols:["kw_no","kw_maxvalue"],postprocess:e=>(0,l.box)(e,"no maxvalue")},{name:"create_sequence_owned_by$subexpression$1",symbols:["kw_none"]},{name:"create_sequence_owned_by$subexpression$1",symbols:["qcolumn"]},{name:"create_sequence_owned_by",symbols:["kw_owned","kw_by","create_sequence_owned_by$subexpression$1"],postprocess:e=>(0,l.box)(e,r(b(e)))},{name:"alter_sequence_statement$ebnf$1",symbols:["kw_ifexists"],postprocess:o},{name:"alter_sequence_statement$ebnf$1",symbols:[],postprocess:()=>null},{name:"alter_sequence_statement",symbols:["kw_alter","kw_sequence","alter_sequence_statement$ebnf$1","qualified_name","alter_sequence_statement_body"],postprocess:e=>{const m={type:"alter sequence",...e[2]&&{ifExists:!0},name:r(e[3]),change:e[4]};return(0,l.track)(e,m)}},{name:"alter_sequence_statement_body$ebnf$1",symbols:["alter_sequence_option"]},{name:"alter_sequence_statement_body$ebnf$1",symbols:["alter_sequence_statement_body$ebnf$1","alter_sequence_option"],postprocess:e=>e[0].concat([e[1]])},{name:"alter_sequence_statement_body",symbols:["alter_sequence_statement_body$ebnf$1"],postprocess:e=>{const m={type:"set options"};return O(m,e[0]),(0,l.track)(e,m)}},{name:"alter_sequence_statement_body$subexpression$1",symbols:["ident"]},{name:"alter_sequence_statement_body$subexpression$1",symbols:[s.lexerAny.has("kw_session_user")?{type:"kw_session_user"}:kw_session_user]},{name:"alter_sequence_statement_body$subexpression$1",symbols:[s.lexerAny.has("kw_current_user")?{type:"kw_current_user"}:kw_current_user]},{name:"alter_sequence_statement_body",symbols:["kw_owner",s.lexerAny.has("kw_to")?{type:"kw_to"}:kw_to,"alter_sequence_statement_body$subexpression$1"],postprocess:e=>(0,l.track)(e,{type:"owner to",owner:u(b(e))})},{name:"alter_sequence_statement_body",symbols:["kw_rename",s.lexerAny.has("kw_to")?{type:"kw_to"}:kw_to,"ident"],postprocess:e=>(0,l.track)(e,{type:"rename",newName:u(b(e))})},{name:"alter_sequence_statement_body",symbols:["kw_set","kw_schema","ident"],postprocess:e=>(0,l.track)(e,{type:"set schema",newSchema:u(b(e))})},{name:"alter_sequence_option",symbols:["create_sequence_option"],postprocess:r},{name:"alter_sequence_option$ebnf$1$subexpression$1$ebnf$1",symbols:[s.lexerAny.has("kw_with")?{type:"kw_with"}:kw_with],postprocess:o},{name:"alter_sequence_option$ebnf$1$subexpression$1$ebnf$1",symbols:[],postprocess:()=>null},{name:"alter_sequence_option$ebnf$1$subexpression$1",symbols:["alter_sequence_option$ebnf$1$subexpression$1$ebnf$1","int"],postprocess:b},{name:"alter_sequence_option$ebnf$1",symbols:["alter_sequence_option$ebnf$1$subexpression$1"],postprocess:o},{name:"alter_sequence_option$ebnf$1",symbols:[],postprocess:()=>null},{name:"alter_sequence_option",symbols:["kw_restart","alter_sequence_option$ebnf$1"],postprocess:e=>(0,l.box)(e,["restart",typeof(0,l.unbox)(e[1])=="number"?(0,l.unbox)(e[1]):!0])},{name:"drop_statement$ebnf$1",symbols:["kw_ifexists"],postprocess:o},{name:"drop_statement$ebnf$1",symbols:[],postprocess:()=>null},{name:"drop_statement$macrocall$2",symbols:["qualified_name"]},{name:"drop_statement$macrocall$1$ebnf$1",symbols:[]},{name:"drop_statement$macrocall$1$ebnf$1$subexpression$1",symbols:[s.lexerAny.has("comma")?{type:"comma"}:comma,"drop_statement$macrocall$2"],postprocess:b},{name:"drop_statement$macrocall$1$ebnf$1",symbols:["drop_statement$macrocall$1$ebnf$1","drop_statement$macrocall$1$ebnf$1$subexpression$1"],postprocess:e=>e[0].concat([e[1]])},{name:"drop_statement$macrocall$1",symbols:["drop_statement$macrocall$2","drop_statement$macrocall$1$ebnf$1"],postprocess:([e,m])=>[r(e),...m.map(r)||[]]},{name:"drop_statement$ebnf$2$subexpression$1",symbols:["kw_cascade"]},{name:"drop_statement$ebnf$2$subexpression$1",symbols:["kw_restrict"]},{name:"drop_statement$ebnf$2",symbols:["drop_statement$ebnf$2$subexpression$1"],postprocess:o},{name:"drop_statement$ebnf$2",symbols:[],postprocess:()=>null},{name:"drop_statement",symbols:["kw_drop","drop_what","drop_statement$ebnf$1","drop_statement$macrocall$1","drop_statement$ebnf$2"],postprocess:(e,m)=>{const a=r(e[1]);return(0,l.track)(e,{...a,...e[2]&&{ifExists:!0},names:e[3],...e[4]&&{cascade:h(e[4])}})}},{name:"drop_what",symbols:[s.lexerAny.has("kw_table")?{type:"kw_table"}:kw_table],postprocess:e=>(0,l.track)(e,{type:"drop table"})},{name:"drop_what",symbols:["kw_sequence"],postprocess:e=>(0,l.track)(e,{type:"drop sequence"})},{name:"drop_what",symbols:["kw_type"],postprocess:e=>(0,l.track)(e,{type:"drop type"})},{name:"drop_what",symbols:["kw_trigger"],postprocess:e=>(0,l.track)(e,{type:"drop trigger"})},{name:"drop_what$ebnf$1",symbols:[s.lexerAny.has("kw_concurrently")?{type:"kw_concurrently"}:kw_concurrently],postprocess:o},{name:"drop_what$ebnf$1",symbols:[],postprocess:()=>null},{name:"drop_what",symbols:["kw_index","drop_what$ebnf$1"],postprocess:e=>(0,l.track)(e,{type:"drop index",...e[1]&&{concurrently:!0}})},{name:"with_statement",symbols:[s.lexerAny.has("kw_with")?{type:"kw_with"}:kw_with,"with_statement_bindings","with_statement_statement"],postprocess:e=>(0,l.track)(e,{type:"with",bind:e[1],in:r(e[2])})},{name:"with_recursive_statement$subexpression$1",symbols:[s.lexerAny.has("kw_with")?{type:"kw_with"}:kw_with,"kw_recursive"]},{name:"with_recursive_statement",symbols:["with_recursive_statement$subexpression$1","ident","collist_paren",s.lexerAny.has("kw_as")?{type:"kw_as"}:kw_as,"lparen","union_statement","rparen","with_statement_statement"],postprocess:e=>(0,l.track)(e,{type:"with recursive",alias:u(e[1]),columnNames:e[2].map(u),bind:e[5],in:r(e[7])})},{name:"with_statement_bindings$ebnf$1",symbols:[]},{name:"with_statement_bindings$ebnf$1$subexpression$1",symbols:["comma","with_statement_binding"],postprocess:b},{name:"with_statement_bindings$ebnf$1",symbols:["with_statement_bindings$ebnf$1","with_statement_bindings$ebnf$1$subexpression$1"],postprocess:e=>e[0].concat([e[1]])},{name:"with_statement_bindings",symbols:["with_statement_binding","with_statement_bindings$ebnf$1"],postprocess:([e,m])=>[e,...m||[]]},{name:"with_statement_binding",symbols:["word",s.lexerAny.has("kw_as")?{type:"kw_as"}:kw_as,"lparen","with_statement_statement","rparen"],postprocess:e=>(0,l.track)(e,{alias:u(e[0]),statement:r(e[3])})},{name:"with_statement_statement",symbols:["selection"]},{name:"with_statement_statement",symbols:["insert_statement"]},{name:"with_statement_statement",symbols:["update_statement"]},{name:"with_statement_statement",symbols:["delete_statement"]},{name:"createtype_statement$subexpression$1",symbols:["createtype_enum"]},{name:"createtype_statement$subexpression$1",symbols:["createtype_composite"]},{name:"createtype_statement",symbols:[s.lexerAny.has("kw_create")?{type:"kw_create"}:kw_create,"kw_type","qualified_name","createtype_statement$subexpression$1"],postprocess:e=>(0,l.track)(e,{name:e[2],...r(e[3])})},{name:"createtype_enum$macrocall$2",symbols:["enum_value"]},{name:"createtype_enum$macrocall$1$ebnf$1",symbols:[]},{name:"createtype_enum$macrocall$1$ebnf$1$subexpression$1",symbols:[s.lexerAny.has("comma")?{type:"comma"}:comma,"createtype_enum$macrocall$2"],postprocess:b},{name:"createtype_enum$macrocall$1$ebnf$1",symbols:["createtype_enum$macrocall$1$ebnf$1","createtype_enum$macrocall$1$ebnf$1$subexpression$1"],postprocess:e=>e[0].concat([e[1]])},{name:"createtype_enum$macrocall$1",symbols:["createtype_enum$macrocall$2","createtype_enum$macrocall$1$ebnf$1"],postprocess:([e,m])=>[r(e),...m.map(r)||[]]},{name:"createtype_enum",symbols:[s.lexerAny.has("kw_as")?{type:"kw_as"}:kw_as,"kw_enum","lparen","createtype_enum$macrocall$1","rparen"],postprocess:e=>(0,l.track)(e,{type:"create enum",values:e[3]})},{name:"enum_value",symbols:["string"],postprocess:e=>(0,l.track)(e,{value:h(e)})},{name:"createtype_composite$macrocall$2",symbols:["createtype_composite_attr"]},{name:"createtype_composite$macrocall$1$ebnf$1",symbols:[]},{name:"createtype_composite$macrocall$1$ebnf$1$subexpression$1",symbols:[s.lexerAny.has("comma")?{type:"comma"}:comma,"createtype_composite$macrocall$2"],postprocess:b},{name:"createtype_composite$macrocall$1$ebnf$1",symbols:["createtype_composite$macrocall$1$ebnf$1","createtype_composite$macrocall$1$ebnf$1$subexpression$1"],postprocess:e=>e[0].concat([e[1]])},{name:"createtype_composite$macrocall$1",symbols:["createtype_composite$macrocall$2","createtype_composite$macrocall$1$ebnf$1"],postprocess:([e,m])=>[r(e),...m.map(r)||[]]},{name:"createtype_composite",symbols:[s.lexerAny.has("kw_as")?{type:"kw_as"}:kw_as,"lparen","createtype_composite$macrocall$1","rparen"],postprocess:e=>(0,l.track)(e,{type:"create composite type",attributes:e[2]})},{name:"createtype_composite_attr$ebnf$1",symbols:["createtable_collate"],postprocess:o},{name:"createtype_composite_attr$ebnf$1",symbols:[],postprocess:()=>null},{name:"createtype_composite_attr",symbols:["word","data_type","createtype_composite_attr$ebnf$1"],postprocess:e=>(0,l.track)(e,{name:u(e[0]),dataType:e[1],...e[2]?{collate:e[2][1]}:{}})},{name:"altertype_statement$subexpression$1",symbols:["altertype_enum_add_value"]},{name:"altertype_statement$subexpression$1",symbols:["altertype_enum_rename"]},{name:"altertype_statement",symbols:["kw_alter","kw_type","qualified_name","altertype_statement$subexpression$1"],postprocess:e=>(0,l.track)(e,{name:e[2],...r(e[3])})},{name:"altertype_enum_add_value",symbols:["kw_add","kw_value","enum_additional_value"],postprocess:e=>(0,l.track)(e,{type:"alter enum",change:{type:"add value",add:e[2]}})},{name:"enum_additional_value",symbols:["string"],postprocess:e=>(0,l.track)(e,{value:h(e)})},{name:"altertype_enum_rename",symbols:["kw_rename",s.lexerAny.has("kw_to")?{type:"kw_to"}:kw_to,"word"],postprocess:e=>(0,l.track)(e,{type:"alter enum",change:{type:"rename",to:u(b(e))}})},{name:"union_left",symbols:["select_statement"]},{name:"union_left",symbols:["select_values"]},{name:"union_left",symbols:["selection_paren"]},{name:"union_right",symbols:["selection"]},{name:"union_right",symbols:["selection_paren"]},{name:"union_statement$subexpression$1$ebnf$1",symbols:[s.lexerAny.has("kw_all")?{type:"kw_all"}:kw_all],postprocess:o},{name:"union_statement$subexpression$1$ebnf$1",symbols:[],postprocess:()=>null},{name:"union_statement$subexpression$1",symbols:[s.lexerAny.has("kw_union")?{type:"kw_union"}:kw_union,"union_statement$subexpression$1$ebnf$1"]},{name:"union_statement",symbols:["union_left","union_statement$subexpression$1","union_right"],postprocess:e=>(0,l.track)(e,{type:h(e[1]," "),left:r(e[0]),right:r(e[2])})},{name:"prepare$ebnf$1$subexpression$1",symbols:["lparen","data_type_list","rparen"],postprocess:y(1)},{name:"prepare$ebnf$1",symbols:["prepare$ebnf$1$subexpression$1"],postprocess:o},{name:"prepare$ebnf$1",symbols:[],postprocess:()=>null},{name:"prepare",symbols:["kw_prepare","ident","prepare$ebnf$1",s.lexerAny.has("kw_as")?{type:"kw_as"}:kw_as,"statement_noprep"],postprocess:e=>(0,l.track)(e,{type:"prepare",name:u(e[1]),...e[2]&&{args:e[2]},statement:r(b(e))})},{name:"deallocate$ebnf$1",symbols:["kw_prepare"],postprocess:o},{name:"deallocate$ebnf$1",symbols:[],postprocess:()=>null},{name:"deallocate",symbols:["kw_deallocate","deallocate$ebnf$1","deallocate_target"],postprocess:e=>(0,l.track)(e,{type:"deallocate",target:e[2]})},{name:"deallocate_target",symbols:["deallocate_all"],postprocess:r},{name:"deallocate_target",symbols:["deallocate_name"],postprocess:r},{name:"deallocate_name",symbols:["ident"],postprocess:e=>(0,l.track)(e,u(e[0]))},{name:"deallocate_all",symbols:[s.lexerAny.has("kw_all")?{type:"kw_all"}:kw_all],postprocess:e=>(0,l.track)(e,{option:"all"})},{name:"create_view_statements",symbols:["create_view"]},{name:"create_view_statements",symbols:["create_materialized_view"]},{name:"create_view$ebnf$1$subexpression$1",symbols:[s.lexerAny.has("kw_or")?{type:"kw_or"}:kw_or,"kw_replace"]},{name:"create_view$ebnf$1",symbols:["create_view$ebnf$1$subexpression$1"],postprocess:o},{name:"create_view$ebnf$1",symbols:[],postprocess:()=>null},{name:"create_view$ebnf$2$subexpression$1",symbols:["kw_temp"]},{name:"create_view$ebnf$2$subexpression$1",symbols:["kw_temporary"]},{name:"create_view$ebnf$2",symbols:["create_view$ebnf$2$subexpression$1"],postprocess:o},{name:"create_view$ebnf$2",symbols:[],postprocess:()=>null},{name:"create_view$ebnf$3",symbols:["kw_recursive"],postprocess:o},{name:"create_view$ebnf$3",symbols:[],postprocess:()=>null},{name:"create_view$ebnf$4$subexpression$1$macrocall$2",symbols:["ident"]},{name:"create_view$ebnf$4$subexpression$1$macrocall$1$ebnf$1",symbols:[]},{name:"create_view$ebnf$4$subexpression$1$macrocall$1$ebnf$1$subexpression$1",symbols:[s.lexerAny.has("comma")?{type:"comma"}:comma,"create_view$ebnf$4$subexpression$1$macrocall$2"],postprocess:b},{name:"create_view$ebnf$4$subexpression$1$macrocall$1$ebnf$1",symbols:["create_view$ebnf$4$subexpression$1$macrocall$1$ebnf$1","create_view$ebnf$4$subexpression$1$macrocall$1$ebnf$1$subexpression$1"],postprocess:e=>e[0].concat([e[1]])},{name:"create_view$ebnf$4$subexpression$1$macrocall$1",symbols:["create_view$ebnf$4$subexpression$1$macrocall$2","create_view$ebnf$4$subexpression$1$macrocall$1$ebnf$1"],postprocess:([e,m])=>[r(e),...m.map(r)||[]]},{name:"create_view$ebnf$4$subexpression$1",symbols:["lparen","create_view$ebnf$4$subexpression$1$macrocall$1","rparen"],postprocess:y(1)},{name:"create_view$ebnf$4",symbols:["create_view$ebnf$4$subexpression$1"],postprocess:o},{name:"create_view$ebnf$4",symbols:[],postprocess:()=>null},{name:"create_view$ebnf$5",symbols:["create_view_opts"],postprocess:o},{name:"create_view$ebnf$5",symbols:[],postprocess:()=>null},{name:"create_view$ebnf$6$subexpression$1$subexpression$1",symbols:["kw_local"]},{name:"create_view$ebnf$6$subexpression$1$subexpression$1",symbols:["kw_cascaded"]},{name:"create_view$ebnf$6$subexpression$1",symbols:[s.lexerAny.has("kw_with")?{type:"kw_with"}:kw_with,"create_view$ebnf$6$subexpression$1$subexpression$1",s.lexerAny.has("kw_check")?{type:"kw_check"}:kw_check,"kw_option"],postprocess:y(1)},{name:"create_view$ebnf$6",symbols:["create_view$ebnf$6$subexpression$1"],postprocess:o},{name:"create_view$ebnf$6",symbols:[],postprocess:()=>null},{name:"create_view",symbols:[s.lexerAny.has("kw_create")?{type:"kw_create"}:kw_create,"create_view$ebnf$1","create_view$ebnf$2","create_view$ebnf$3","kw_view","qualified_name","create_view$ebnf$4","create_view$ebnf$5",s.lexerAny.has("kw_as")?{type:"kw_as"}:kw_as,"selection","create_view$ebnf$6"],postprocess:e=>(0,l.track)(e,{type:"create view",...e[1]&&{orReplace:!0},...e[2]&&{temp:!0},...e[3]&&{recursive:!0},name:e[5],...e[6]&&{columnNames:e[6].map(u)},...e[7]&&{parameters:N(e[7])},query:e[9],...e[10]&&{checkOption:h(e[10])}})},{name:"create_view_opt",symbols:["ident",s.lexerAny.has("op_eq")?{type:"op_eq"}:op_eq,"ident"],postprocess:([e,m,a])=>[h(e),h(a)]},{name:"create_view_opts$macrocall$2",symbols:["create_view_opt"]},{name:"create_view_opts$macrocall$1$ebnf$1",symbols:[]},{name:"create_view_opts$macrocall$1$ebnf$1$subexpression$1",symbols:[s.lexerAny.has("comma")?{type:"comma"}:comma,"create_view_opts$macrocall$2"],postprocess:b},{name:"create_view_opts$macrocall$1$ebnf$1",symbols:["create_view_opts$macrocall$1$ebnf$1","create_view_opts$macrocall$1$ebnf$1$subexpression$1"],postprocess:e=>e[0].concat([e[1]])},{name:"create_view_opts$macrocall$1",symbols:["create_view_opts$macrocall$2","create_view_opts$macrocall$1$ebnf$1"],postprocess:([e,m])=>[r(e),...m.map(r)||[]]},{name:"create_view_opts",symbols:[s.lexerAny.has("kw_with")?{type:"kw_with"}:kw_with,"create_view_opts$macrocall$1"],postprocess:b},{name:"create_materialized_view$ebnf$1",symbols:["kw_ifnotexists"],postprocess:o},{name:"create_materialized_view$ebnf$1",symbols:[],postprocess:()=>null},{name:"create_materialized_view$ebnf$2$subexpression$1$macrocall$2",symbols:["ident"]},{name:"create_materialized_view$ebnf$2$subexpression$1$macrocall$1$ebnf$1",symbols:[]},{name:"create_materialized_view$ebnf$2$subexpression$1$macrocall$1$ebnf$1$subexpression$1",symbols:[s.lexerAny.has("comma")?{type:"comma"}:comma,"create_materialized_view$ebnf$2$subexpression$1$macrocall$2"],postprocess:b},{name:"create_materialized_view$ebnf$2$subexpression$1$macrocall$1$ebnf$1",symbols:["create_materialized_view$ebnf$2$subexpression$1$macrocall$1$ebnf$1","create_materialized_view$ebnf$2$subexpression$1$macrocall$1$ebnf$1$subexpression$1"],postprocess:e=>e[0].concat([e[1]])},{name:"create_materialized_view$ebnf$2$subexpression$1$macrocall$1",symbols:["create_materialized_view$ebnf$2$subexpression$1$macrocall$2","create_materialized_view$ebnf$2$subexpression$1$macrocall$1$ebnf$1"],postprocess:([e,m])=>[r(e),...m.map(r)||[]]},{name:"create_materialized_view$ebnf$2$subexpression$1",symbols:["lparen","create_materialized_view$ebnf$2$subexpression$1$macrocall$1","rparen"],postprocess:y(1)},{name:"create_materialized_view$ebnf$2",symbols:["create_materialized_view$ebnf$2$subexpression$1"],postprocess:o},{name:"create_materialized_view$ebnf$2",symbols:[],postprocess:()=>null},{name:"create_materialized_view$ebnf$3",symbols:["create_view_opts"],postprocess:o},{name:"create_materialized_view$ebnf$3",symbols:[],postprocess:()=>null},{name:"create_materialized_view$ebnf$4$subexpression$1",symbols:["kw_tablespace","ident"],postprocess:b},{name:"create_materialized_view$ebnf$4",symbols:["create_materialized_view$ebnf$4$subexpression$1"],postprocess:o},{name:"create_materialized_view$ebnf$4",symbols:[],postprocess:()=>null},{name:"create_materialized_view$ebnf$5$subexpression$1$ebnf$1",symbols:["kw_no"],postprocess:o},{name:"create_materialized_view$ebnf$5$subexpression$1$ebnf$1",symbols:[],postprocess:()=>null},{name:"create_materialized_view$ebnf$5$subexpression$1",symbols:[s.lexerAny.has("kw_with")?{type:"kw_with"}:kw_with,"create_materialized_view$ebnf$5$subexpression$1$ebnf$1","kw_data"]},{name:"create_materialized_view$ebnf$5",symbols:["create_materialized_view$ebnf$5$subexpression$1"],postprocess:o},{name:"create_materialized_view$ebnf$5",symbols:[],postprocess:()=>null},{name:"create_materialized_view",symbols:[s.lexerAny.has("kw_create")?{type:"kw_create"}:kw_create,"kw_materialized","kw_view","create_materialized_view$ebnf$1","qualified_name","create_materialized_view$ebnf$2","create_materialized_view$ebnf$3","create_materialized_view$ebnf$4",s.lexerAny.has("kw_as")?{type:"kw_as"}:kw_as,"selection","create_materialized_view$ebnf$5"],postprocess:e=>(0,l.track)(e,{type:"create materialized view",...e[3]&&{ifNotExists:!0},name:e[4],...e[5]&&{columnNames:e[6].map(u)},...e[6]&&{parameters:N(e[6])},...e[7]&&{tablespace:u(e[7])},query:e[9],...e[10]&&{withData:h(e[10][1])!=="no"}})},{name:"refresh_view_statements$ebnf$1",symbols:[s.lexerAny.has("kw_concurrently")?{type:"kw_concurrently"}:kw_concurrently],postprocess:o},{name:"refresh_view_statements$ebnf$1",symbols:[],postprocess:()=>null},{name:"refresh_view_statements$ebnf$2$subexpression$1$ebnf$1",symbols:["kw_no"],postprocess:o},{name:"refresh_view_statements$ebnf$2$subexpression$1$ebnf$1",symbols:[],postprocess:()=>null},{name:"refresh_view_statements$ebnf$2$subexpression$1",symbols:[s.lexerAny.has("kw_with")?{type:"kw_with"}:kw_with,"refresh_view_statements$ebnf$2$subexpression$1$ebnf$1","kw_data"]},{name:"refresh_view_statements$ebnf$2",symbols:["refresh_view_statements$ebnf$2$subexpression$1"],postprocess:o},{name:"refresh_view_statements$ebnf$2",symbols:[],postprocess:()=>null},{name:"refresh_view_statements",symbols:["kw_refresh","kw_materialized","kw_view","refresh_view_statements$ebnf$1","qname","refresh_view_statements$ebnf$2"],postprocess:e=>(0,l.track)(e,{type:"refresh materialized view",...e[3]?{concurrently:!0}:{},name:e[4],...e[5]?{withData:h(e[5][1])!=="no"}:{}})},{name:"functions_statements",symbols:["create_func"]},{name:"functions_statements",symbols:["do_stm"]},{name:"functions_statements",symbols:["drop_func"]},{name:"create_func$ebnf$1$subexpression$1",symbols:[s.lexerAny.has("kw_or")?{type:"kw_or"}:kw_or,"kw_replace"]},{name:"create_func$ebnf$1",symbols:["create_func$ebnf$1$subexpression$1"],postprocess:o},{name:"create_func$ebnf$1",symbols:[],postprocess:()=>null},{name:"create_func$subexpression$1$ebnf$1$macrocall$2",symbols:["func_argdef"]},{name:"create_func$subexpression$1$ebnf$1$macrocall$1$ebnf$1",symbols:[]},{name:"create_func$subexpression$1$ebnf$1$macrocall$1$ebnf$1$subexpression$1",symbols:[s.lexerAny.has("comma")?{type:"comma"}:comma,"create_func$subexpression$1$ebnf$1$macrocall$2"],postprocess:b},{name:"create_func$subexpression$1$ebnf$1$macrocall$1$ebnf$1",symbols:["create_func$subexpression$1$ebnf$1$macrocall$1$ebnf$1","create_func$subexpression$1$ebnf$1$macrocall$1$ebnf$1$subexpression$1"],postprocess:e=>e[0].concat([e[1]])},{name:"create_func$subexpression$1$ebnf$1$macrocall$1",symbols:["create_func$subexpression$1$ebnf$1$macrocall$2","create_func$subexpression$1$ebnf$1$macrocall$1$ebnf$1"],postprocess:([e,m])=>[r(e),...m.map(r)||[]]},{name:"create_func$subexpression$1$ebnf$1",symbols:["create_func$subexpression$1$ebnf$1$macrocall$1"],postprocess:o},{name:"create_func$subexpression$1$ebnf$1",symbols:[],postprocess:()=>null},{name:"create_func$subexpression$1",symbols:["lparen","create_func$subexpression$1$ebnf$1","rparen"],postprocess:y(1)},{name:"create_func$ebnf$2",symbols:["func_spec"]},{name:"create_func$ebnf$2",symbols:["create_func$ebnf$2","func_spec"],postprocess:e=>e[0].concat([e[1]])},{name:"create_func",symbols:[s.lexerAny.has("kw_create")?{type:"kw_create"}:kw_create,"create_func$ebnf$1","kw_function","qname","create_func$subexpression$1","create_func$ebnf$2"],postprocess:(e,m)=>{var a;const _={};for(const x of e[5]){for(const v in x)if(v[0]!=="_"&&v in _)throw new Error("conflicting or redundant options "+v);Object.assign(_,x)}return(0,l.track)(e,{type:"create function",...e[1]&&{orReplace:!0},name:e[3],arguments:(a=e[4])!==null&&a!==void 0?a:[],..._})}},{name:"func_argdef$ebnf$1",symbols:["func_argopts"],postprocess:o},{name:"func_argdef$ebnf$1",symbols:[],postprocess:()=>null},{name:"func_argdef$ebnf$2",symbols:["func_argdefault"],postprocess:o},{name:"func_argdef$ebnf$2",symbols:[],postprocess:()=>null},{name:"func_argdef",symbols:["func_argdef$ebnf$1","data_type","func_argdef$ebnf$2"],postprocess:e=>(0,l.track)(e,{default:e[2],type:e[1],...e[0]})},{name:"func_argdefault",symbols:[s.lexerAny.has("kw_default")?{type:"kw_default"}:kw_default,"expr"],postprocess:e=>e[1]},{name:"func_argdefault",symbols:[s.lexerAny.has("op_eq")?{type:"op_eq"}:op_eq,"expr"],postprocess:e=>e[1]},{name:"func_argopts$ebnf$1",symbols:["word"],postprocess:o},{name:"func_argopts$ebnf$1",symbols:[],postprocess:()=>null},{name:"func_argopts",symbols:["func_argmod","func_argopts$ebnf$1"],postprocess:e=>(0,l.track)(e,{mode:h(e[0]),...e[1]&&{name:u(e[1])}})},{name:"func_argopts",symbols:["word"],postprocess:(e,m)=>{const a=u(e);return a==="out"||a==="inout"||a==="variadic"?m:(0,l.track)(e,{name:a})}},{name:"func_argmod",symbols:[s.lexerAny.has("kw_in")?{type:"kw_in"}:kw_in]},{name:"func_argmod",symbols:["kw_out"]},{name:"func_argmod",symbols:["kw_inout"]},{name:"func_argmod",symbols:["kw_variadic"]},{name:"func_spec",symbols:["kw_language","word"],postprocess:e=>(0,l.track)(e,{language:u(b(e))})},{name:"func_spec",symbols:["func_purity"],postprocess:e=>(0,l.track)(e,{purity:h(e)})},{name:"func_spec$subexpression$1",symbols:[s.lexerAny.has("codeblock")?{type:"codeblock"}:codeblock]},{name:"func_spec$subexpression$1",symbols:["string"]},{name:"func_spec",symbols:[s.lexerAny.has("kw_as")?{type:"kw_as"}:kw_as,"func_spec$subexpression$1"],postprocess:e=>({code:h(b(e))})},{name:"func_spec$ebnf$1",symbols:[s.lexerAny.has("kw_not")?{type:"kw_not"}:kw_not],postprocess:o},{name:"func_spec$ebnf$1",symbols:[],postprocess:()=>null},{name:"func_spec$subexpression$2",symbols:["word"],postprocess:g("leakproof")},{name:"func_spec",symbols:["func_spec$ebnf$1","func_spec$subexpression$2"],postprocess:e=>(0,l.track)(e,{leakproof:!e[0]})},{name:"func_spec",symbols:["func_returns"],postprocess:e=>(0,l.track)(e,{returns:r(e)})},{name:"func_spec$subexpression$3",symbols:["word"],postprocess:g("called")},{name:"func_spec",symbols:["func_spec$subexpression$3","oninp"],postprocess:()=>({onNullInput:"call"})},{name:"func_spec$subexpression$4",symbols:["word"],postprocess:g("returns")},{name:"func_spec",symbols:["func_spec$subexpression$4",s.lexerAny.has("kw_null")?{type:"kw_null"}:kw_null,"oninp"],postprocess:()=>({onNullInput:"null"})},{name:"func_spec$subexpression$5",symbols:["word"],postprocess:g("strict")},{name:"func_spec",symbols:["func_spec$subexpression$5"],postprocess:()=>({onNullInput:"strict"})},{name:"func_purity",symbols:["word"],postprocess:g("immutable")},{name:"func_purity",symbols:["word"],postprocess:g("stable")},{name:"func_purity",symbols:["word"],postprocess:g("volatile")},{name:"oninp$subexpression$1",symbols:["word"],postprocess:g("input")},{name:"oninp",symbols:[s.lexerAny.has("kw_on")?{type:"kw_on"}:kw_on,s.lexerAny.has("kw_null")?{type:"kw_null"}:kw_null,"oninp$subexpression$1"]},{name:"func_returns",symbols:["kw_returns","data_type"],postprocess:b},{name:"func_returns$macrocall$2",symbols:["func_ret_table_col"]},{name:"func_returns$macrocall$1$ebnf$1",symbols:[]},{name:"func_returns$macrocall$1$ebnf$1$subexpression$1",symbols:[s.lexerAny.has("comma")?{type:"comma"}:comma,"func_returns$macrocall$2"],postprocess:b},{name:"func_returns$macrocall$1$ebnf$1",symbols:["func_returns$macrocall$1$ebnf$1","func_returns$macrocall$1$ebnf$1$subexpression$1"],postprocess:e=>e[0].concat([e[1]])},{name:"func_returns$macrocall$1",symbols:["func_returns$macrocall$2","func_returns$macrocall$1$ebnf$1"],postprocess:([e,m])=>[r(e),...m.map(r)||[]]},{name:"func_returns",symbols:["kw_returns",s.lexerAny.has("kw_table")?{type:"kw_table"}:kw_table,"lparen","func_returns$macrocall$1","rparen"],postprocess:e=>(0,l.track)(e,{kind:"table",columns:e[3]})},{name:"func_ret_table_col",symbols:["word","data_type"],postprocess:e=>(0,l.track)(e,{name:u(e[0]),type:e[1]})},{name:"do_stm$ebnf$1$subexpression$1",symbols:["kw_language","word"],postprocess:b},{name:"do_stm$ebnf$1",symbols:["do_stm$ebnf$1$subexpression$1"],postprocess:o},{name:"do_stm$ebnf$1",symbols:[],postprocess:()=>null},{name:"do_stm",symbols:[s.lexerAny.has("kw_do")?{type:"kw_do"}:kw_do,"do_stm$ebnf$1",s.lexerAny.has("codeblock")?{type:"codeblock"}:codeblock],postprocess:e=>(0,l.track)(e,{type:"do",...e[1]&&{language:u(e[1])},code:e[2].value})},{name:"drop_func$ebnf$1$subexpression$1",symbols:["kw_if","kw_exists"]},{name:"drop_func$ebnf$1",symbols:["drop_func$ebnf$1$subexpression$1"],postprocess:o},{name:"drop_func$ebnf$1",symbols:[],postprocess:()=>null},{name:"drop_func$ebnf$2",symbols:["drop_func_overload"],postprocess:o},{name:"drop_func$ebnf$2",symbols:[],postprocess:()=>null},{name:"drop_func",symbols:["kw_drop","kw_function","drop_func$ebnf$1","qname","drop_func$ebnf$2"],postprocess:e=>(0,l.track)(e,{type:"drop function",...e[2]&&{ifExists:!0},name:e[3],...e[4]&&{arguments:e[4]}})},{name:"drop_func_overload$macrocall$2",symbols:["drop_func_overload_col"]},{name:"drop_func_overload$macrocall$1$ebnf$1",symbols:[]},{name:"drop_func_overload$macrocall$1$ebnf$1$subexpression$1",symbols:[s.lexerAny.has("comma")?{type:"comma"}:comma,"drop_func_overload$macrocall$2"],postprocess:b},{name:"drop_func_overload$macrocall$1$ebnf$1",symbols:["drop_func_overload$macrocall$1$ebnf$1","drop_func_overload$macrocall$1$ebnf$1$subexpression$1"],postprocess:e=>e[0].concat([e[1]])},{name:"drop_func_overload$macrocall$1",symbols:["drop_func_overload$macrocall$2","drop_func_overload$macrocall$1$ebnf$1"],postprocess:([e,m])=>[r(e),...m.map(r)||[]]},{name:"drop_func_overload",symbols:["lparen","drop_func_overload$macrocall$1","rparen"],postprocess:y(1)},{name:"drop_func_overload_col$ebnf$1",symbols:["word"],postprocess:o},{name:"drop_func_overload_col$ebnf$1",symbols:[],postprocess:()=>null},{name:"drop_func_overload_col",symbols:["drop_func_overload_col$ebnf$1","qname"],postprocess:e=>(0,l.track)(e,{type:e[1],...e[0]&&{name:u(e[0])}})},{name:"main$ebnf$1",symbols:[]},{name:"main$ebnf$1",symbols:["main$ebnf$1","statement_separator"],postprocess:e=>e[0].concat([e[1]])},{name:"main$ebnf$2",symbols:[]},{name:"main$ebnf$2$subexpression$1$ebnf$1",symbols:["statement_separator"]},{name:"main$ebnf$2$subexpression$1$ebnf$1",symbols:["main$ebnf$2$subexpression$1$ebnf$1","statement_separator"],postprocess:e=>e[0].concat([e[1]])},{name:"main$ebnf$2$subexpression$1",symbols:["main$ebnf$2$subexpression$1$ebnf$1","statement"]},{name:"main$ebnf$2",symbols:["main$ebnf$2","main$ebnf$2$subexpression$1"],postprocess:e=>e[0].concat([e[1]])},{name:"main$ebnf$3",symbols:[]},{name:"main$ebnf$3",symbols:["main$ebnf$3","statement_separator"],postprocess:e=>e[0].concat([e[1]])},{name:"main",symbols:["main$ebnf$1","statement","main$ebnf$2","main$ebnf$3"],postprocess:([e,m,a])=>{const _=a,x=[r(m),..._.map(v=>r(v[1]))];return x.length===1?x[0]:x}},{name:"statement_separator",symbols:[s.lexerAny.has("semicolon")?{type:"semicolon"}:semicolon]},{name:"statement",symbols:["statement_noprep"]},{name:"statement",symbols:["prepare"]},{name:"statement",symbols:["deallocate"]},{name:"statement_noprep",symbols:["selection"]},{name:"statement_noprep",symbols:["createtable_statement"]},{name:"statement_noprep",symbols:["createextension_statement"]},{name:"statement_noprep",symbols:["createindex_statement"]},{name:"statement_noprep",symbols:["simplestatements_all"]},{name:"statement_noprep",symbols:["insert_statement"]},{name:"statement_noprep",symbols:["update_statement"]},{name:"statement_noprep",symbols:["altertable_statement"]},{name:"statement_noprep",symbols:["alterindex_statement"]},{name:"statement_noprep",symbols:["delete_statement"]},{name:"statement_noprep",symbols:["create_sequence_statement"]},{name:"statement_noprep",symbols:["alter_sequence_statement"]},{name:"statement_noprep",symbols:["drop_statement"]},{name:"statement_noprep",symbols:["createtype_statement"]},{name:"statement_noprep",symbols:["altertype_statement"]},{name:"statement_noprep",symbols:["create_view_statements"]},{name:"statement_noprep",symbols:["refresh_view_statements"]},{name:"statement_noprep",symbols:["create_schema"]},{name:"statement_noprep",symbols:["raise_statement"]},{name:"statement_noprep",symbols:["comment_statement"]},{name:"statement_noprep",symbols:["functions_statements"]},{name:"selection",symbols:["select_statement"],postprocess:r},{name:"selection",symbols:["select_values"],postprocess:r},{name:"selection",symbols:["with_statement"],postprocess:r},{name:"selection",symbols:["with_recursive_statement"],postprocess:r},{name:"selection",symbols:["union_statement"],postprocess:r},{name:"selection_paren",symbols:["lparen","selection","rparen"],postprocess:y(1)}],ParserStart:"main"};n.default=G}),(function(t,n,i){Object.defineProperty(n,"__esModule",{value:!0});function o(w){return w[0]}const s=i(12),l=w=>w&&w[w.length-1],u={Lexer:s.lexerAny,ParserRules:[{name:"main$ebnf$1",symbols:["elements"],postprocess:o},{name:"main$ebnf$1",symbols:[],postprocess:()=>null},{name:"main",symbols:[s.lexerAny.has("start_list")?{type:"start_list"}:start_list,"main$ebnf$1",s.lexerAny.has("end_list")?{type:"end_list"}:end_list],postprocess:w=>w[1]||[]},{name:"elements$ebnf$1",symbols:[]},{name:"elements$ebnf$1$subexpression$1",symbols:[s.lexerAny.has("comma")?{type:"comma"}:comma,"elt"],postprocess:l},{name:"elements$ebnf$1",symbols:["elements$ebnf$1","elements$ebnf$1$subexpression$1"],postprocess:w=>w[0].concat([w[1]])},{name:"elements",symbols:["elt","elements$ebnf$1"],postprocess:([w,d])=>[w,...d||[]]},{name:"elt",symbols:[s.lexerAny.has("value")?{type:"value"}:value],postprocess:w=>w[0].value},{name:"elt",symbols:["main"],postprocess:w=>w[0]}],ParserStart:"main"};n.default=u}),(function(t,n,i){Object.defineProperty(n,"__esModule",{value:!0}),n.lexerAny=n.lexer=void 0;const o=i(0);n.lexer=(0,o.compile)({valueString:{match:/"(?:\\["\\]|[^\n"\\])*"/,value:s=>JSON.parse(s),type:s=>"value"},valueRaw:{match:/[^\s,\{\}"](?:[^,\{\}"]*[^\s,\{\}"])?/,type:()=>"value"},comma:",",space:{match:/[\s\t\n\v\f\r]+/,lineBreaks:!0},start_list:"{",end_list:"}"}),n.lexer.next=(s=>()=>{let l;for(;(l=s.call(n.lexer))&&l.type==="space";);return l})(n.lexer.next),n.lexerAny=n.lexer}),(function(t,n,i){Object.defineProperty(n,"__esModule",{value:!0});function o(r){return r[0]}const s=i(14),l=r=>y=>y[r],u=r=>r&&r[r.length-1];function w(r){return Array.isArray(r)&&r.length===1&&(r=w(r[0])),Array.isArray(r)&&!r.length?null:r}const d={Lexer:s.lexerAny,ParserRules:[{name:"number$subexpression$1",symbols:["float"]},{name:"number$subexpression$1",symbols:["int"]},{name:"number",symbols:["number$subexpression$1"],postprocess:w},{name:"float",symbols:[s.lexerAny.has("float")?{type:"float"}:float],postprocess:r=>parseFloat(w(r))},{name:"int",symbols:[s.lexerAny.has("int")?{type:"int"}:int],postprocess:r=>parseInt(w(r),10)},{name:"comma",symbols:[s.lexerAny.has("comma")?{type:"comma"}:comma],postprocess:o},{name:"point$macrocall$2",symbols:["point_content"]},{name:"point$macrocall$1$subexpression$1",symbols:["point$macrocall$2"]},{name:"point$macrocall$1$subexpression$1",symbols:[s.lexerAny.has("lparen")?{type:"lparen"}:lparen,"point$macrocall$2",s.lexerAny.has("rparen")?{type:"rparen"}:rparen],postprocess:l(1)},{name:"point$macrocall$1",symbols:["point$macrocall$1$subexpression$1"],postprocess:w},{name:"point",symbols:["point$macrocall$1"],postprocess:w},{name:"point_content",symbols:["number","comma","number"],postprocess:r=>({x:r[0],y:r[2]})},{name:"line",symbols:[s.lexerAny.has("lcurl")?{type:"lcurl"}:lcurl,"number","comma","number","comma","number",s.lexerAny.has("rcurl")?{type:"rcurl"}:rcurl],postprocess:r=>({a:r[1],b:r[3],c:r[5]})},{name:"box",symbols:["closed_path"],postprocess:([r],y)=>r.length!==2?y:r},{name:"lseg",symbols:["path"],postprocess:([r],y)=>r.path.length!==2?y:r.path},{name:"path",symbols:["open_path"],postprocess:([r])=>({closed:!1,path:r})},{name:"path",symbols:["closed_path"],postprocess:([r])=>({closed:!0,path:r})},{name:"open_path$macrocall$2",symbols:[s.lexerAny.has("lbracket")?{type:"lbracket"}:lbracket]},{name:"open_path$macrocall$3",symbols:[s.lexerAny.has("rbracket")?{type:"rbracket"}:rbracket]},{name:"open_path$macrocall$1$macrocall$2",symbols:["point"]},{name:"open_path$macrocall$1$macrocall$1$ebnf$1",symbols:[]},{name:"open_path$macrocall$1$macrocall$1$ebnf$1$subexpression$1",symbols:[s.lexerAny.has("comma")?{type:"comma"}:comma,"open_path$macrocall$1$macrocall$2"],postprocess:u},{name:"open_path$macrocall$1$macrocall$1$ebnf$1",symbols:["open_path$macrocall$1$macrocall$1$ebnf$1","open_path$macrocall$1$macrocall$1$ebnf$1$subexpression$1"],postprocess:r=>r[0].concat([r[1]])},{name:"open_path$macrocall$1$macrocall$1",symbols:["open_path$macrocall$1$macrocall$2","open_path$macrocall$1$macrocall$1$ebnf$1"],postprocess:([r,y])=>[w(r),...y.map(w)||[]]},{name:"open_path$macrocall$1",symbols:["open_path$macrocall$2","open_path$macrocall$1$macrocall$1","open_path$macrocall$3"],postprocess:l(1)},{name:"open_path",symbols:["open_path$macrocall$1"],postprocess:u},{name:"closed_path$subexpression$1$macrocall$2",symbols:[s.lexerAny.has("lparen")?{type:"lparen"}:lparen]},{name:"closed_path$subexpression$1$macrocall$3",symbols:[s.lexerAny.has("rparen")?{type:"rparen"}:rparen]},{name:"closed_path$subexpression$1$macrocall$1$macrocall$2",symbols:["point"]},{name:"closed_path$subexpression$1$macrocall$1$macrocall$1$ebnf$1",symbols:[]},{name:"closed_path$subexpression$1$macrocall$1$macrocall$1$ebnf$1$subexpression$1",symbols:[s.lexerAny.has("comma")?{type:"comma"}:comma,"closed_path$subexpression$1$macrocall$1$macrocall$2"],postprocess:u},{name:"closed_path$subexpression$1$macrocall$1$macrocall$1$ebnf$1",symbols:["closed_path$subexpression$1$macrocall$1$macrocall$1$ebnf$1","closed_path$subexpression$1$macrocall$1$macrocall$1$ebnf$1$subexpression$1"],postprocess:r=>r[0].concat([r[1]])},{name:"closed_path$subexpression$1$macrocall$1$macrocall$1",symbols:["closed_path$subexpression$1$macrocall$1$macrocall$2","closed_path$subexpression$1$macrocall$1$macrocall$1$ebnf$1"],postprocess:([r,y])=>[w(r),...y.map(w)||[]]},{name:"closed_path$subexpression$1$macrocall$1",symbols:["closed_path$subexpression$1$macrocall$2","closed_path$subexpression$1$macrocall$1$macrocall$1","closed_path$subexpression$1$macrocall$3"],postprocess:l(1)},{name:"closed_path$subexpression$1",symbols:["closed_path$subexpression$1$macrocall$1"],postprocess:u},{name:"closed_path$subexpression$1$macrocall$5",symbols:["point"]},{name:"closed_path$subexpression$1$macrocall$4$ebnf$1",symbols:[]},{name:"closed_path$subexpression$1$macrocall$4$ebnf$1$subexpression$1",symbols:[s.lexerAny.has("comma")?{type:"comma"}:comma,"closed_path$subexpression$1$macrocall$5"],postprocess:u},{name:"closed_path$subexpression$1$macrocall$4$ebnf$1",symbols:["closed_path$subexpression$1$macrocall$4$ebnf$1","closed_path$subexpression$1$macrocall$4$ebnf$1$subexpression$1"],postprocess:r=>r[0].concat([r[1]])},{name:"closed_path$subexpression$1$macrocall$4",symbols:["closed_path$subexpression$1$macrocall$5","closed_path$subexpression$1$macrocall$4$ebnf$1"],postprocess:([r,y])=>[w(r),...y.map(w)||[]]},{name:"closed_path$subexpression$1",symbols:["closed_path$subexpression$1$macrocall$4"],postprocess:u},{name:"closed_path",symbols:["closed_path$subexpression$1"],postprocess:l(0)},{name:"polygon",symbols:["closed_path"],postprocess:l(0)},{name:"circle_body",symbols:["point","comma","number"],postprocess:r=>({c:r[0],r:r[2]})},{name:"circle$subexpression$1$macrocall$2",symbols:[s.lexerAny.has("lcomp")?{type:"lcomp"}:lcomp]},{name:"circle$subexpression$1$macrocall$3",symbols:[s.lexerAny.has("rcomp")?{type:"rcomp"}:rcomp]},{name:"circle$subexpression$1$macrocall$1",symbols:["circle$subexpression$1$macrocall$2","circle_body","circle$subexpression$1$macrocall$3"],postprocess:l(1)},{name:"circle$subexpression$1",symbols:["circle$subexpression$1$macrocall$1"]},{name:"circle$subexpression$1$macrocall$5",symbols:[s.lexerAny.has("lparen")?{type:"lparen"}:lparen]},{name:"circle$subexpression$1$macrocall$6",symbols:[s.lexerAny.has("rparen")?{type:"rparen"}:rparen]},{name:"circle$subexpression$1$macrocall$4",symbols:["circle$subexpression$1$macrocall$5","circle_body","circle$subexpression$1$macrocall$6"],postprocess:l(1)},{name:"circle$subexpression$1",symbols:["circle$subexpression$1$macrocall$4"]},{name:"circle$subexpression$1",symbols:["circle_body"]},{name:"circle",symbols:["circle$subexpression$1"],postprocess:w}],ParserStart:"number"};n.default=d}),(function(t,n,i){Object.defineProperty(n,"__esModule",{value:!0}),n.lexerAny=n.lexer=void 0;const o=i(0);n.lexer=(0,o.compile)({comma:",",space:{match:/[\s\t\n\v\f\r]+/,lineBreaks:!0},int:/\-?\d+(?![\.\d])/,float:/\-?(?:(?:\d*\.\d+)|(?:\d+\.\d*))/,lcurl:"{",rcurl:"}",lparen:"(",rparen:")",lbracket:"[",rbracket:"]",lcomp:"<",rcomp:">"}),n.lexer.next=(s=>()=>{let l;for(;(l=s.call(n.lexer))&&l.type==="space";);return l})(n.lexer.next),n.lexerAny=n.lexer}),(function(t,n,i){Object.defineProperty(n,"__esModule",{value:!0});function o(u){return u[0]}const s=i(16),l={Lexer:s.lexerAny,ParserRules:[{name:"main$ebnf$1",symbols:["elt"]},{name:"main$ebnf$1",symbols:["main$ebnf$1","elt"],postprocess:u=>u[0].concat([u[1]])},{name:"main",symbols:["main$ebnf$1"],postprocess:([u])=>{const w=new Set;for(const d of u){const r=typeof d[1]=="number"?d[0]:"time";if(w.has(r))return"invalid";w.add(r)}return u}},{name:"elt",symbols:["time"]},{name:"elt",symbols:["num","unit"],postprocess:([[u],w])=>(w=w[0].type,[w,u])},{name:"unit",symbols:[s.lexerAny.has("years")?{type:"years"}:years]},{name:"unit",symbols:[s.lexerAny.has("months")?{type:"months"}:months]},{name:"unit",symbols:[s.lexerAny.has("days")?{type:"days"}:days]},{name:"unit",symbols:[s.lexerAny.has("hours")?{type:"hours"}:hours]},{name:"unit",symbols:[s.lexerAny.has("minutes")?{type:"minutes"}:minutes]},{name:"unit",symbols:[s.lexerAny.has("seconds")?{type:"seconds"}:seconds]},{name:"unit",symbols:[s.lexerAny.has("milliseconds")?{type:"milliseconds"}:milliseconds]},{name:"num",symbols:["int"]},{name:"num",symbols:["float"]},{name:"uint",symbols:[s.lexerAny.has("int")?{type:"int"}:int],postprocess:([u])=>parseInt(u,10)},{name:"int$ebnf$1$subexpression$1",symbols:[s.lexerAny.has("neg")?{type:"neg"}:neg]},{name:"int$ebnf$1",symbols:["int$ebnf$1$subexpression$1"],postprocess:o},{name:"int$ebnf$1",symbols:[],postprocess:()=>null},{name:"int",symbols:["int$ebnf$1",s.lexerAny.has("int")?{type:"int"}:int],postprocess:([u,w])=>parseInt(w,10)*(u?-1:1)},{name:"float$ebnf$1$subexpression$1",symbols:[s.lexerAny.has("neg")?{type:"neg"}:neg]},{name:"float$ebnf$1",symbols:["float$ebnf$1$subexpression$1"],postprocess:o},{name:"float$ebnf$1",symbols:[],postprocess:()=>null},{name:"float$ebnf$2",symbols:[s.lexerAny.has("int")?{type:"int"}:int],postprocess:o},{name:"float$ebnf$2",symbols:[],postprocess:()=>null},{name:"float",symbols:["float$ebnf$1","float$ebnf$2",s.lexerAny.has("dot")?{type:"dot"}:dot,s.lexerAny.has("int")?{type:"int"}:int],postprocess:([u,...w])=>parseFloat(w.map(d=>d?d.text:"0").join(""))*(u?-1:1)},{name:"time$ebnf$1$subexpression$1",symbols:[s.lexerAny.has("colon")?{type:"colon"}:colon,"uint"]},{name:"time$ebnf$1",symbols:["time$ebnf$1$subexpression$1"],postprocess:o},{name:"time$ebnf$1",symbols:[],postprocess:()=>null},{name:"time$ebnf$2$subexpression$1",symbols:[s.lexerAny.has("dot")?{type:"dot"}:dot,s.lexerAny.has("int")?{type:"int"}:int]},{name:"time$ebnf$2",symbols:["time$ebnf$2$subexpression$1"],postprocess:o},{name:"time$ebnf$2",symbols:[],postprocess:()=>null},{name:"time",symbols:["uint",s.lexerAny.has("colon")?{type:"colon"}:colon,"uint","time$ebnf$1","time$ebnf$2"],postprocess:([u,w,d,r,y])=>{r=r&&r[1],y=y&&y[1];const b=typeof r=="number"?[["hours",u],["minutes",d],["seconds",r]]:[["minutes",u],["seconds",d]];return y&&b.push(["milliseconds",parseFloat("0."+y)*1e3]),b}}],ParserStart:"main"};n.default=l}),(function(t,n,i){Object.defineProperty(n,"__esModule",{value:!0}),n.lexerAny=n.lexer=void 0;const o=i(0);n.lexer=(0,o.compile)({int:/\d+/,neg:"-",dot:".",years:/(?:y|yrs?|years?)\b/,months:/(?:mon(?:th)?s?)\b/,days:/(?:d|days?)\b/,hours:/(?:h|hrs?|hours?)\b/,minutes:/(?:m|mins?|minutes?)\b/,seconds:/(?:s|secs?|seconds?)\b/,milliseconds:/(?:ms|milliseconds?)\b/,space:{match:/[\s\t\n\v\f\r]+/,lineBreaks:!0},colon:":"}),n.lexer.next=(s=>()=>{let l;for(;(l=s.call(n.lexer))&&l.type==="space";);return l})(n.lexer.next),n.lexerAny=n.lexer}),(function(t,n,i){Object.defineProperty(n,"__esModule",{value:!0});function o(u){return u[0]}const s=i(18),l={Lexer:s.lexerAny,ParserRules:[{name:"num",symbols:[s.lexerAny.has("int")?{type:"int"}:int]},{name:"num",symbols:[s.lexerAny.has("float")?{type:"float"}:float]},{name:"main$ebnf$1",symbols:[]},{name:"main$ebnf$1",symbols:["main$ebnf$1","long"],postprocess:u=>u[0].concat([u[1]])},{name:"main$ebnf$2$subexpression$1$ebnf$1",symbols:["short"]},{name:"main$ebnf$2$subexpression$1$ebnf$1",symbols:["main$ebnf$2$subexpression$1$ebnf$1","short"],postprocess:u=>u[0].concat([u[1]])},{name:"main$ebnf$2$subexpression$1",symbols:[s.lexerAny.has("T")?{type:"T"}:T,"main$ebnf$2$subexpression$1$ebnf$1"]},{name:"main$ebnf$2",symbols:["main$ebnf$2$subexpression$1"],postprocess:o},{name:"main$ebnf$2",symbols:[],postprocess:()=>null},{name:"main",symbols:[s.lexerAny.has("P")?{type:"P"}:P,"main$ebnf$1","main$ebnf$2"],postprocess:([u,w,d],r)=>(d=d?d[1]:[],!w.length&&!d.length?r:w.length?d.length?[...w,...d]:w:d)},{name:"long$subexpression$1",symbols:[s.lexerAny.has("Y")?{type:"Y"}:Y]},{name:"long$subexpression$1",symbols:[s.lexerAny.has("M")?{type:"M"}:M]},{name:"long$subexpression$1",symbols:[s.lexerAny.has("W")?{type:"W"}:W]},{name:"long$subexpression$1",symbols:[s.lexerAny.has("D")?{type:"D"}:D]},{name:"long",symbols:["num","long$subexpression$1"],postprocess:([u,w])=>{switch(u=parseFloat(u[0].value),w=w[0].type,w){case"Y":return["years",u];case"M":return["months",u];case"W":return["days",u*7];case"D":return["days",u];default:throw new Error("Unexpected unit "+w)}}},{name:"short$ebnf$1",symbols:[s.lexerAny.has("T")?{type:"T"}:T],postprocess:o},{name:"short$ebnf$1",symbols:[],postprocess:()=>null},{name:"short$subexpression$1",symbols:[s.lexerAny.has("H")?{type:"H"}:H]},{name:"short$subexpression$1",symbols:[s.lexerAny.has("M")?{type:"M"}:M]},{name:"short$subexpression$1",symbols:[s.lexerAny.has("S")?{type:"S"}:S]},{name:"short",symbols:["short$ebnf$1","num","short$subexpression$1"],postprocess:([u,w,d])=>{switch(w=parseFloat(w[0].value),d=d[0].type,d){case"H":return["hours",w];case"M":return["minutes",w];case"S":return["seconds",w];default:throw new Error("Unexpected unit "+d)}}}],ParserStart:"num"};n.default=l}),(function(t,n,i){Object.defineProperty(n,"__esModule",{value:!0}),n.lexerAny=n.lexer=void 0;const o=i(0);n.lexer=(0,o.compile)({int:/\-?\d+(?![\.\d])/,float:/\-?(?:(?:\d*\.\d+)|(?:\d+\.\d*))/,P:"P",Y:"Y",M:"M",W:"W",D:"D",H:"H",S:"S",T:"T"}),n.lexerAny=n.lexer}),(function(t,n,i){Object.defineProperty(n,"__esModule",{value:!0}),n.toSql=void 0;const o=i(2),s=i(5),l=i(6),u=i(20),w=i(3),d=new Set(w.sqlKeywords.map(m=>m.toLowerCase()));let r=[];function y(m){return b(m.name)}function b(m,a){if(!a){const _=m.toLowerCase();if(_===m&&!d.has(_)&&/^[a-z][a-z0-9_]*$/.test(_))return m}return'"'+m+'"'}function c(m,a,_){_&&r.push("(");let x=!0;for(const v of m)x||r.push(", "),x=!1,a(v);_&&r.push(")")}function $(m,a){switch(m.type){case"foreign key":r.push(" foreign key (",...m.localColumns.map(y).join(", "),")");case"reference":r.push(" REFERENCES "),a.tableRef(m.foreignTable),r.push("(",...m.foreignColumns.map(y).join(", "),") "),m.match&&r.push(" MATCH ",m.match.toUpperCase()),m.onDelete&&r.push(" ON DELETE ",m.onDelete),m.onUpdate&&r.push(" ON UPDATE ",m.onUpdate);break;case"primary key":case"unique":r.push(" ",m.type," "),"columns"in m&&r.push("(",...m.columns.map(y).join(", "),") ");break;case"check":r.push(" check "),a.expr(m.expr);break;case"not null":case"null":r.push(" ",m.type," ");break;case"default":r.push(" default "),a.expr(m.default);break;case"add generated":r.push(" GENERATED "),Z(a,m);break;default:throw l.NotSupported.never(m)}r.push(" ")}function f(m,a){m.schema&&r.push(b(m.schema),"."),r.push(b(m.name,a)," ")}function h(m){f(m),m.alias&&r.push(" AS ",b(m.alias)," ")}function N(m,a){r.push(" ORDER BY "),c(a,_=>{m.expr(_.by),_.order&&r.push(" ",_.order," "),_.nulls&&r.push(" NULLS ",_.nulls," ")},!1)}function j(m){switch(m.type){case"default":r.push("DEFAULT ");break;case"identifier":r.push(m.name);break;case"list":let a=!0;for(const _ of m.values)a||r.push(", "),a=!1,j(_);break;case"value":r.push(typeof m.value=="number"?m.value.toString():(0,u.literal)(m.value));break;default:throw l.NotSupported.never(m)}}function Z(m,a){a.always&&r.push(a.always.toUpperCase()," "),r.push("AS IDENTITY "),a.sequence&&(r.push("("),a.sequence.name&&(r.push("SEQUENCE NAME "),f(a.sequence.name),r.push(" ")),k(m,a.sequence),r.push(") "))}function k(m,a){a.as&&(r.push("AS "),m.dataType(a.as),r.push(" ")),typeof a.incrementBy=="number"&&r.push("INCREMENT BY ",a.incrementBy.toString()," "),a.minValue==="no minvalue"&&r.push("NO MINVALUE "),typeof a.minValue=="number"&&r.push("MINVALUE ",a.minValue.toString()," "),a.maxValue==="no maxvalue"&&r.push("NO MAXVALUE "),typeof a.maxValue=="number"&&r.push("MAXVALUE ",a.maxValue.toString()," "),typeof a.startWith=="number"&&r.push("START WITH ",a.startWith.toString()," "),typeof a.cache=="number"&&r.push("CACHE ",a.cache.toString()," "),a.cycle&&r.push(a.cycle," "),a.ownedBy==="none"?r.push("OWNED BY NONE "):a.ownedBy&&(r.push("OWNED BY "),g(a.ownedBy)),"restart"in a&&(a.restart===!0?r.push("RESTART "):a.restart&&r.push("RESTART WITH ",a.restart.toString()," "))}function g(m){m.schema&&r.push(b(m.schema),"."),r.push(b(m.table),".",b(m.column)," ")}function E(m,a,_){if(!a){_();return}r.push(a.type," "),_(),a.on&&(r.push("ON "),m.expr(a.on)),a.using&&(r.push("USING ("),c(a.using,x=>r.push(y(x)),!1),r.push(") ")),r.push(" ")}function O(m){m.opSchema?r.push(" operator(",b(m.opSchema),".",m.op,") "):r.push(" ",m.op," ")}const G=(0,s.astVisitor)(m=>({addColumn:(...a)=>{r.push(" ADD COLUMN "),a[0].ifNotExists&&r.push("IF NOT EXISTS "),m.super().addColumn(...a)},createExtension:a=>{r.push("CREATE EXTENSION "),a.ifNotExists&&r.push(" IF NOT EXISTS "),r.push(y(a.extension)),!(!a.from&&!a.version&&!a.schema)&&(r.push(" WITH"),a.schema&&r.push(" SCHEMA ",y(a.schema)),a.version&&r.push(" VERSION ",(0,u.literal)(a.version.value)),a.from&&r.push(" FROM ",(0,u.literal)(a.from.value)))},tablespace:a=>{r.push("TABLESPACE ",y(a.tablespace))},addConstraint:a=>{r.push(" ADD ");const _=a.constraint.constraintName;_&&r.push(" CONSTRAINT ",y(_)," "),$(a.constraint,m)},alterColumn:(a,_)=>{r.push(" ALTER COLUMN ",y(a.column)," "),m.super().alterColumn(a,_)},setColumnDefault:(a,_,x)=>{if(r.push(" SET DEFAULT "),m.expr(a.default),a.updateExisting)throw new Error("Not implemented: updateExisting on set column default")},createEnum:a=>{r.push("CREATE TYPE "),f(a.name),r.push(" AS ENUM "),c(a.values,_=>r.push((0,u.literal)(_.value)),!0),r.push(" ")},alterEnum:a=>{r.push("ALTER TYPE "),f(a.name),a.change.type==="rename"?(r.push(" RENAME TO "),f(a.change.to)):r.push(" ADD VALUE ",(0,u.literal)(a.change.add.value))},createCompositeType:a=>{r.push("CREATE TYPE "),f(a.name),r.push(" AS "),c(a.attributes,_=>{r.push(y(_.name)," "),m.dataType(_.dataType),_.collate&&(r.push("COLLATE "),f(_.collate))},!0),r.push(" ")},setTableOwner:a=>{r.push(" OWNER TO ",y(a.to))},alterColumnSimple:a=>r.push(a.type),alterColumnAddGenerated:a=>{r.push(" ADD GENERATED "),Z(m,a)},setColumnType:a=>{r.push(" SET DATA TYPE "),m.dataType(a.dataType),r.push(" ")},alterTable:a=>{r.push("ALTER TABLE "),a.ifExists&&r.push(" IF EXISTS "),a.only&&r.push(" ONLY "),h(a.table),c(a.changes,_=>m.tableAlteration(_,a.table),!1)},alterIndex:a=>{switch(r.push("ALTER INDEX "),a.ifExists&&r.push(" IF EXISTS "),h(a.index),a.change.type){case"rename":r.push(" RENAME TO "),f(a.change.to),r.push(" ");break;case"set tablespace":r.push(" SET TABLESPACE "),f(a.change.tablespace),r.push(" ");break;default:throw l.NotSupported.never(a.change,"Alter index type not supported: ")}},tableAlteration:(a,_)=>{switch(a.type){case"add column":return m.addColumn(a,_);case"add constraint":return m.addConstraint(a,_);case"alter column":return m.alterColumn(a,_);case"rename":return m.renameTable(a,_);case"rename column":return m.renameColumn(a,_);case"rename constraint":return m.renameConstraint(a,_);case"drop column":return m.dropColumn(a,_);case"drop constraint":return m.dropConstraint(a,_);case"owner":return m.setTableOwner(a,_);default:throw l.NotSupported.never(a)}},array:a=>{r.push(a.type==="array"?"ARRAY[":"("),c(a.expressions,_=>m.expr(_),!1),r.push(a.type==="array"?"]":")")},arrayIndex:a=>{m.expr(a.array),r.push("["),m.expr(a.index),r.push("] ")},expr:a=>{if(a.type==="ref"){m.ref(a);return}if(a.type==="list"){m.super().expr(a);return}r.push("("),m.super().expr(a),r.push(")")},callOverlay:a=>{r.push("OVERLAY("),m.expr(a.value),r.push(" PLACING "),m.expr(a.placing),r.push(" FROM "),m.expr(a.from),a.for&&(r.push(" FOR "),m.expr(a.for)),r.push(")")},callSubstring:a=>{r.push("SUBSTRING("),m.expr(a.value),a.from&&(r.push(" FROM "),m.expr(a.from)),a.for&&(r.push(" FOR "),m.expr(a.for)),r.push(")")},binary:a=>{m.expr(a.left),O(a),m.expr(a.right)},call:a=>{f(a.function),r.push("("),a.distinct&&r.push(a.distinct," "),c(a.args,_=>m.expr(_),!1),a.orderBy&&N(m,a.orderBy),r.push(") "),a.filter&&(r.push("filter (where "),m.expr(a.filter),r.push(") ")),a.withinGroup&&(r.push("WITHIN GROUP ("),N(m,[a.withinGroup]),r.push(") ")),a.over&&(r.push("over ("),a.over.partitionBy&&(r.push("PARTITION BY "),c(a.over.partitionBy,_=>m.expr(_),!1),r.push(" ")),a.over.orderBy&&(N(m,a.over.orderBy),r.push(" ")),r.push(") "))},case:a=>{r.push("CASE "),a.value&&m.expr(a.value);for(const _ of a.whens)r.push(" WHEN "),m.expr(_.when),r.push(" THEN "),m.expr(_.value);a.else&&(r.push(" ELSE "),m.expr(a.else)),r.push(" END ")},cast:a=>{m.expr(a.operand),r.push("::"),m.dataType(a.to)},constant:a=>{switch(a.type){case"boolean":r.push(a.value?"true":"false");break;case"integer":r.push(a.value.toString(10));break;case"numeric":r.push(a.value.toString()),Number.isInteger(a.value)&&r.push(".");break;case"null":r.push("null");break;case"constant":break;case"string":r.push((0,u.literal)(a.value));break;default:throw l.NotSupported.never(a)}},valueKeyword:a=>{r.push(a.keyword," ")},comment:a=>{r.push("COMMENT ON ",a.on.type.toUpperCase()," "),a.on.type==="column"?g(a.on.column):f(a.on.name),r.push(" IS ",(0,u.literal)(a.comment)," ")},extract:a=>{r.push("EXTRACT (",a.field.name.toUpperCase()," FROM "),m.expr(a.from),r.push(") ")},createColumn:a=>{var _;r.push(y(a.name)," "),m.dataType(a.dataType),r.push(" "),a.collate&&(r.push("COLLATE "),f(a.collate));for(const x of(_=a.constraints)!==null&&_!==void 0?_:[])m.constraint(x)},begin:a=>{r.push("BEGIN "),a.isolationLevel&&r.push("ISOLATION LEVEL ",a.isolationLevel.toUpperCase()," "),a.writeable&&r.push(a.writeable.toUpperCase()," "),typeof a.deferrable=="boolean"&&(a.deferrable||r.push("NOT "),r.push("DEFERRABLE "))},alterSequence:a=>{switch(r.push("ALTER SEQUENCE "),a.ifExists&&r.push("IF EXISTS "),f(a.name),a.change.type){case"set options":k(m,a.change);break;case"rename":r.push("RENAME TO ",y(a.change.newName)," ");break;case"set schema":r.push("SET SCHEMA ",y(a.change.newSchema)," ");break;case"owner to":a.change.owner,r.push("OWNER TO ",y(a.change.owner)," ");break;default:throw l.NotSupported.never(a.change)}},createSequence:a=>{r.push("CREATE "),a.temp&&r.push("TEMPORARY "),r.push("SEQUENCE "),a.ifNotExists&&r.push("IF NOT EXISTS "),f(a.name),k(m,a.options)},drop:a=>{r.push(a.type.toUpperCase()," "),a.concurrently&&r.push("CONCURRENTLY "),a.ifExists&&r.push("IF EXISTS "),c(a.names,_=>m.tableRef(_),!1),a.cascade&&r.push(a.cascade.toUpperCase()," ")},constraint:a=>{a.constraintName&&r.push(" CONSTRAINT ",y(a.constraintName)," "),$(a,m)},do:a=>{r.push("DO"),a.language&&r.push(" LANGUAGE ",a.language.name),r.push(" $$",a.code,"$$")},createFunction:a=>{var _;if(r.push(a.orReplace?"CREATE OR REPLACE FUNCTION ":"CREATE FUNCTION "),f(a.name),c(a.arguments,x=>{x.mode&&r.push(x.mode," "),x.name&&r.push(y(x.name)," "),m.dataType(x.type),x.default&&(r.push(" = "),m.expr(x.default))},!0),a.returns)switch(a.returns.kind){case"table":r.push(" RETURNS TABLE "),c(a.returns.columns,x=>{r.push(y(x.name)," "),m.dataType(x.type)},!0);break;case void 0:case null:case"array":r.push(" RETURNS "),m.dataType(a.returns);break;default:throw l.NotSupported.never(a.returns)}switch(r.push(" AS $$",(_=a.code)!==null&&_!==void 0?_:"","$$"),a.language&&r.push("LANGUAGE ",a.language.name," "),a.purity&&r.push(a.purity.toUpperCase()," "),typeof a.leakproof=="boolean"&&r.push(a.leakproof?"LEAKPROOF ":"NOT LEAKPROOF "),a.onNullInput){case"call":r.push("CALLED ON NULL INPUT ");break;case"null":r.push("RETURNS NULL ON NULL INPUT ");break;case"strict":r.push("STRICT ");break;case null:case void 0:break;default:throw l.NotSupported.never(a.onNullInput)}},dropFunction:a=>{r.push("DROP FUNCTION "),a.ifExists&&r.push("IF EXISTS "),f(a.name),a.arguments&&c(a.arguments,_=>{_.name&&(f(_.name),r.push(" ")),m.dataType(_.type)},!0),r.push(" ")},with:a=>{r.push("WITH "),c(a.bind,_=>{r.push(y(_.alias)," AS ("),m.statement(_.statement),r.push(") ")},!1),m.statement(a.in)},withRecursive:a=>{r.push("WITH RECURSIVE ",y(a.alias),"(",...a.columnNames.map(y).join(", "),") AS ("),m.union(a.bind),r.push(") "),m.statement(a.in)},setGlobal:a=>{r.push("SET "),a.scope&&r.push(a.scope.toUpperCase()+" "),r.push(y(a.variable)," = "),j(a.set)},setTimezone:a=>{switch(r.push("SET TIME ZONE "),a.to.type){case"default":case"local":r.push(a.to.type.toUpperCase()," ");break;case"value":r.push(typeof a.to.value=="string"?(0,u.literal)(a.to.value):a.to.value.toString(10));break;case"interval":r.push("INTERVAL ",(0,u.literal)(a.to.value)," HOUR TO MINUTE");break;default:throw l.NotSupported.never(a.to)}},setNames:a=>{r.push("SET NAMES "),a.to.type==="value"&&r.push((0,u.literal)(a.to.value))},dataType:a=>{var _,x;if(a?.kind==="array"){m.dataType(a.arrayOf),r.push("[]");return}if(!a?.name){r.push("unkown");return}let v=!0;if(a.schema)f(a,a.doubleQuoted);else if(a.doubleQuoted)f(a,!0);else switch(a.name){case"double precision":case"character varying":case"bit varying":r.push(a.name," ");break;case"time without time zone":case"timestamp without time zone":case"time with time zone":case"timestamp with time zone":const I=a.name.split(" ");r.push(I.shift()),!((_=a.config)===null||_===void 0)&&_.length&&c(a.config,L=>r.push(L.toString(10)),!0),r.push(" "),r.push(I.join(" ")," "),v=!1;break;default:f(a);break}v&&!((x=a.config)===null||x===void 0)&&x.length&&c(a.config,I=>r.push(I.toString(10)),!0)},createIndex:a=>{r.push(a.unique?"CREATE UNIQUE INDEX ":"CREATE INDEX "),a.concurrently&&r.push("CONCURRENTLY "),a.ifNotExists&&r.push(" IF NOT EXISTS "),a.indexName&&r.push(y(a.indexName)," "),r.push("ON "),m.tableRef(a.table),a.using&&r.push("USING ",y(a.using)," "),c(a.expressions,_=>{m.expr(_.expression),r.push(" "),_.collate&&(r.push("COLLATE "),f(_.collate)),_.opclass&&f(_.opclass),_.order&&r.push(_.order," "),_.nulls&&r.push("nulls ",_.nulls," ")},!0),a.with&&(r.push("WITH "),c(a.with,_=>{r.push(_.parameter," = ",(0,u.literal)(_.value))},!0)),a.tablespace&&r.push("TABLESPACE ",b(a.tablespace)),a.where&&(r.push(" WHERE "),m.expr(a.where)),r.push(" ")},createTable:a=>{var _;r.push("CREATE "),a.locality&&r.push(a.locality.toUpperCase()," "),a.temporary&&r.push("TEMPORARY "),a.unlogged&&r.push("UNLOGGED "),r.push(a.ifNotExists?"TABLE IF NOT EXISTS ":"TABLE "),m.tableRef(a.name),r.push("("),c(a.columns,x=>{switch(x.kind){case"column":return m.createColumn(x);case"like table":return m.likeTable(x);default:throw l.NotSupported.never(x)}},!1),a.constraints&&(r.push(", "),c(a.constraints,x=>{const v=x.constraintName;v&&r.push("CONSTRAINT ",y(v)," "),$(x,m)},!1)),r.push(") "),!((_=a.inherits)===null||_===void 0)&&_.length&&(r.push(" INHERITS "),c(a.inherits,x=>f(x),!0))},likeTable:a=>{r.push(" LIKE "),m.tableRef(a.like),r.push(" ");for(const{verb:_,option:x}of a.options)r.push(_.toUpperCase()," ",x.toUpperCase()," ")},createSchema:a=>{r.push(a.ifNotExists?"CREATE SCHEMA IF NOT EXISTS ":"CREATE SCHEMA "),r.push(y(a.name))},truncateTable:a=>{r.push("TRUNCATE TABLE ");let _=!0;for(const x of a.tables)_||r.push(", "),_=!1,m.tableRef(x);if(a.identity)switch(a.identity){case"restart":r.push(" RESTART IDENTITY ");break;case"continue":r.push(" CONTINUE IDENTITY ");break}a.cascade&&r.push(" ",a.cascade," ")},delete:a=>{r.push("DELETE FROM "),m.tableRef(a.from),a.where&&(r.push(" WHERE "),m.expr(a.where)),a.returning&&(r.push(" RETURNING "),c(a.returning,_=>m.selectionColumn(_),!1)),r.push(" ")},dropColumn:a=>{r.push(" DROP COLUMN "),a.ifExists&&r.push(" IF EXISTS "),r.push(y(a.column)),a.behaviour&&r.push(" ",a.behaviour),r.push(" ")},dropConstraint:a=>{r.push(" DROP CONSTRAINT "),a.ifExists&&r.push(" IF EXISTS "),r.push(y(a.constraint)),a.behaviour&&r.push(" ",a.behaviour.toUpperCase()," ")},from:a=>m.super().from(a),fromCall:a=>{E(m,a.join,()=>{var _,x;if(a.lateral&&r.push("LATERAL "),m.call(a),a.withOrdinality&&r.push(" WITH ORDINALITY"),a.alias){r.push(" AS ",y(a.alias)," ");const v=(x=(_=a.alias.columns)===null||_===void 0?void 0:_.length)!==null&&x!==void 0?x:0;if(v>0){r.push("(");for(let I=0;I<v;++I)I!==0&&r.push(", "),r.push(y(a.alias.columns[I]));r.push(")")}}}),r.push(" ")},fromStatement:a=>{E(m,a.join,()=>{a.lateral&&r.push("LATERAL "),r.push("("),m.select(a.statement),r.push(") "),a.alias&&(r.push(" AS ",b(a.alias)),a.columnNames&&c(a.columnNames,_=>r.push(y(_)),!0),r.push(" "))}),r.push(" ")},values:a=>{r.push("VALUES "),c(a.values,_=>{c(_,x=>{m.expr(x)},!0)},!1)},fromTable:a=>{E(m,a.join,()=>{if(m.tableRef(a.name),a.name.columnNames){if(!a.name.alias)throw new Error("Cannot specify aliased column names without an alias");c(a.name.columnNames,_=>r.push(y(_)),!0)}})},join:a=>{throw new Error("Should not happen 💀")},insert:a=>{if(r.push("INSERT INTO "),m.tableRef(a.into),a.columns&&r.push("(",a.columns.map(y).join(", "),")"),r.push(" "),a.overriding&&r.push("OVERRIDING ",a.overriding.toUpperCase()," VALUE "),m.select(a.insert),r.push(" "),a.onConflict){r.push("ON CONFLICT ");const _=a.onConflict.on;switch(_?.type){case"on expr":c(_.exprs,x=>m.expr(x),!0);break;case"on constraint":r.push("ON CONSTRAINT "),f(_.constraint);case null:case void 0:break;default:throw l.NotSupported.never(_)}a.onConflict.do==="do nothing"?r.push(" DO NOTHING"):(r.push(" DO UPDATE SET "),c(a.onConflict.do.sets,x=>m.set(x),!1),a.onConflict.where&&(r.push(" WHERE "),m.expr(a.onConflict.where))),r.push(" ")}a.returning&&(r.push(" RETURNING "),c(a.returning,_=>m.selectionColumn(_),!1))},raise:a=>{var _,x;r.push("RAISE "),a.level&&r.push(a.level.toUpperCase()," "),r.push((0,u.literal)(a.format)," "),!((_=a.formatExprs)===null||_===void 0)&&_.length&&(r.push(", "),c(a.formatExprs,v=>m.expr(v),!1)),!((x=a.using)===null||x===void 0)&&x.length&&(r.push(" USING "),c(a.using,({type:v,value:I})=>{r.push(v.toUpperCase(),"="),m.expr(I)},!1)),r.push(" ")},default:()=>{r.push(" DEFAULT ")},member:a=>{m.expr(a.operand),r.push(a.op),r.push(typeof a.member=="number"?a.member.toString(10):(0,u.literal)(a.member))},ref:a=>{a.table&&(f(a.table),r.push(".")),r.push(a.name==="*"?"*":b(a.name))},parameter:a=>{r.push(a.name)},renameColumn:a=>{r.push(" RENAME COLUMN ",y(a.column)," TO ",y(a.to))},renameConstraint:a=>{r.push(" RENAME CONSTRAINT ",y(a.constraint)," TO ",y(a.to))},renameTable:a=>{r.push(" RENAME TO ",y(a.to))},createView:a=>{r.push("CREATE "),a.orReplace&&r.push("OR REPLACE "),a.temp&&r.push("TEMP "),a.recursive&&r.push("RECURSIVE "),r.push("VIEW "),m.tableRef(a.name),a.columnNames&&c(a.columnNames,x=>r.push(y(x)),!0);const _=a.parameters&&Object.entries(a.parameters);_?.length&&(r.push(" WITH "),c(_,([x,v])=>r.push(x,"=",v),!1)),r.push(" AS "),m.select(a.query),a.checkOption&&r.push(" WITH ",a.checkOption.toUpperCase()," CHECK OPTION")},createMaterializedView:a=>{r.push("CREATE MATERIALIZED VIEW "),a.ifNotExists&&r.push("IF NOT EXISTS "),m.tableRef(a.name),a.columnNames&&c(a.columnNames,x=>r.push(y(x)),!0);const _=a.parameters&&Object.entries(a.parameters);_?.length&&(r.push(" WITH "),c(_,([x,v])=>r.push(x,"=",v),!1)),a.tablespace&&r.push(" TABLESPACE ",y(a.tablespace)),r.push(" AS "),m.select(a.query),typeof a.withData=="boolean"&&r.push(a.withData?" WITH DATA":" WITH NO DATA")},refreshMaterializedView:a=>{r.push("REFRESH MATERIALIZED VIEW "),a.concurrently&&r.push("CONCURRENTLY "),m.tableRef(a.name),typeof a.withData=="boolean"&&r.push(a.withData?" WITH DATA":" WITH NO DATA")},select:a=>m.super().select(a),selection:a=>{if(r.push("SELECT "),a.distinct&&(typeof a.distinct=="string"?r.push(a.distinct.toUpperCase()):(r.push(" DISTINCT ON "),c(a.distinct,_=>m.expr(_),!0)),r.push(" ")),a.columns&&c(a.columns,_=>m.selectionColumn(_),!1),r.push(" "),a.from){r.push("FROM ");const _=a.from.length;for(let x=0;x<_;x++){const v=a.from[x];x>0&&!v.join&&r.push(","),m.from(v)}r.push(" ")}a.where&&(r.push("WHERE "),m.expr(a.where),r.push(" ")),a.groupBy&&(r.push("GROUP BY "),c(a.groupBy,_=>m.expr(_),!1),r.push(" "),a.having&&(r.push(" HAVING "),m.expr(a.having),r.push(" "))),a.orderBy&&(N(m,a.orderBy),r.push(" ")),a.limit&&(a.limit.offset&&(r.push("OFFSET "),m.expr(a.limit.offset)),a.limit.limit&&(r.push("LIMIT "),m.expr(a.limit.limit))),a.for&&(r.push("FOR ",a.for.type.toUpperCase()),a.skip&&r.push(" ",a.skip.type.toUpperCase()))},show:a=>{r.push("SHOW ",y(a.variable))},prepare:a=>{var _;r.push("PREPARE ",y(a.name)),!((_=a.args)===null||_===void 0)&&_.length&&c(a.args,x=>m.dataType(x),!0),r.push(" AS "),m.statement(a.statement)},deallocate:a=>{if(r.push("DEALLOCATE "),"name"in a.target){r.push(a.target.name);return}r.push("ALL")},arraySelect:a=>{r.push("array("),m.select(a.select),r.push(")")},union:a=>{r.push("("),m.statement(a.left),r.push(") ",a.type.toUpperCase()," "),a.right.type==="union"||a.right.type==="union all"?m.union(a.right):(r.push("("),m.statement(a.right),r.push(")"))},selectionColumn:a=>{m.expr(a.expr),a.alias&&r.push(" AS ",y(a.alias)),r.push(" ")},set:a=>{r.push(y(a.column)," = "),m.expr(a.value),r.push(" ")},statement:a=>m.super().statement(a),tableRef:a=>{f(a),a.alias&&r.push(" AS ",b(a.alias)),r.push(" ")},ternary:a=>{m.expr(a.value),r.push(" ",a.op," "),m.expr(a.lo),r.push(" AND "),m.expr(a.hi),r.push(" ")},transaction:a=>{r.push(a.type)},unary:a=>{switch(a.op){case"+":case"-":O(a),m.expr(a.operand);break;case"NOT":r.push(a.op),r.push(" "),m.expr(a.operand);break;default:m.expr(a.operand),r.push(" "),r.push(a.op)}},update:a=>{r.push("UPDATE "),m.tableRef(a.table),r.push(" SET "),c(a.sets,_=>m.set(_),!1),r.push(" "),a.from&&(r.push("FROM "),m.from(a.from),r.push(" ")),a.where&&(r.push("WHERE "),m.expr(a.where),r.push(" ")),a.returning&&(r.push(" RETURNING "),c(a.returning,_=>m.selectionColumn(_),!1),r.push(" "))}}));n.toSql={};const e=o.AstDefaultMapper.prototype;for(const m of Object.getOwnPropertyNames(e)){const a=e[m];m==="constructor"||m==="super"||typeof a!="function"||(n.toSql[m]=function(..._){try{return G[m].apply(G,_),r.join("").trim()}finally{r=[]}})}}),(function(t,n,i){Object.defineProperty(n,"__esModule",{value:!0}),n.literal=void 0;function o(s){if(s==null)return"NULL";if(Array.isArray(s)){var l=s.map(o);return"("+l.join(", ")+")"}var u=~s.indexOf("\\"),w=u?"E":"";return s=s.replace(/'/g,"''"),s=s.replace(/\\/g,"\\\\"),w+"'"+s+"'"}n.literal=o}),(function(t,n,i){Object.defineProperty(n,"__esModule",{value:!0}),n.locationOf=void 0;function o(s){const l=s._location;if(!l)throw new Error("This statement has not been parsed using location tracking (which has a small performance hit). ");return l}n.locationOf=o})]))})(Ss)),Ss}var Fs=Dt();function Mt(p){return p.replace(/_([a-z])/g,(t,n)=>n.toUpperCase())}function Rs(p){return p.split("_").map(t=>t.charAt(0).toUpperCase()+t.slice(1).toLowerCase()).join(" ")}function Lt(p){const t=Mt(p);let n;if(p.endsWith("_id")){const i=p.slice(0,-3);n=Rs(i)}else n=Rs(p);return{fieldname:t,label:n,originalName:p}}function Ut(p){return p.split(/[-_\s]+/).map(t=>t.charAt(0).toUpperCase()+t.slice(1).toLowerCase()).join("")}function Bs(p){return p.replace(/([a-z])([A-Z])/g,"$1-$2").replace(/[\s_]+/g,"-").toLowerCase()}const De={text:{component:"ATextInput",fieldtype:"Text"},varchar:{component:"ATextInput",fieldtype:"Data"},char:{component:"ATextInput",fieldtype:"Data"},citext:{component:"ATextInput",fieldtype:"Data"},smallint:{component:"ANumericInput",fieldtype:"Int"},integer:{component:"ANumericInput",fieldtype:"Int"},bigint:{component:"ANumericInput",fieldtype:"Int"},serial:{component:"ANumericInput",fieldtype:"Int"},bigserial:{component:"ANumericInput",fieldtype:"Int"},smallserial:{component:"ANumericInput",fieldtype:"Int"},numeric:{component:"ADecimalInput",fieldtype:"Decimal",_unmapped:!0},decimal:{component:"ADecimalInput",fieldtype:"Decimal",_unmapped:!0},money:{component:"ADecimalInput",fieldtype:"Decimal",_unmapped:!0},real:{component:"ANumericInput",fieldtype:"Float"},"double precision":{component:"ANumericInput",fieldtype:"Float"},boolean:{component:"ACheckbox",fieldtype:"Check"},date:{component:"ADatePicker",fieldtype:"Date"},time:{component:"ATimeInput",fieldtype:"Time",_unmapped:!0},timetz:{component:"ATimeInput",fieldtype:"Time",_unmapped:!0},timestamp:{component:"ADatetimePicker",fieldtype:"Datetime",_unmapped:!0},timestamptz:{component:"ADatetimePicker",fieldtype:"Datetime",_unmapped:!0},interval:{component:"ADurationInput",fieldtype:"Duration",_unmapped:!0},int4range:{component:"ATextInput",fieldtype:"Data",_unmapped:!0},int8range:{component:"ATextInput",fieldtype:"Data",_unmapped:!0},numrange:{component:"ATextInput",fieldtype:"Data",_unmapped:!0},daterange:{component:"ADateRangePicker",fieldtype:"DateRange",_unmapped:!0},tsrange:{component:"ADateRangePicker",fieldtype:"DateRange",_unmapped:!0},tstzrange:{component:"ADateRangePicker",fieldtype:"DateRange",_unmapped:!0},bytea:{component:"ATextInput",fieldtype:"Data"},uuid:{component:"ATextInput",fieldtype:"Data"},json:{component:"ACodeEditor",fieldtype:"JSON",_unmapped:!0},jsonb:{component:"ACodeEditor",fieldtype:"JSON",_unmapped:!0},bit:{component:"ATextInput",fieldtype:"Data"},varbit:{component:"ATextInput",fieldtype:"Data"},xml:{component:"ACodeEditor",fieldtype:"Code",_unmapped:!0},unit:{component:"AQuantityInput",fieldtype:"Quantity",_unmapped:!0},cube:{component:"ATextInput",fieldtype:"JSON",_unmapped:!0},unknown:{component:"ATextInput",fieldtype:"Data",_unmapped:!0}},Ne={int:"integer",int2:"smallint",int4:"integer",int8:"bigint",serial4:"serial",serial8:"bigserial",serial2:"smallserial",float:"real",float4:"real",float8:"double precision",bool:"boolean",character:"char","character varying":"varchar","timestamp without time zone":"timestamp","timestamp with time zone":"timestamptz","time without time zone":"time","time with time zone":"timetz","bit varying":"varbit"};function Vs(p){const t=p.toLowerCase().trim();if(t in De)return t;if(t in Ne)return Ne[t];const n=t.replace(/\([^)]*\)/,"").trim();return n in De?n:n in Ne?Ne[n]:"unknown"}function os(p,t,n={}){const{fieldname:i,label:o}=n.useCamelCase?Lt(p.name):{fieldname:p.name,label:Pt(p.name)};if(p.reference)return{fieldname:i,label:o,component:"ALink",fieldtype:"Link",options:Bs(p.reference.table),required:!p.nullable};if(p.arrayDimensions>0){const u={fieldname:i,label:o,component:"ATable",fieldtype:"Doctype",required:!p.nullable};return n.includeUnmappedMeta&&(u._pgType=`${p.dataType}[]`.repeat(p.arrayDimensions)),u}const s=De[p.normalizedType]??De.unknown,l={fieldname:i,label:o,component:s.component,fieldtype:s.fieldtype,required:!p.nullable&&!p.isGenerated,readOnly:p.isGenerated,default:zt(p.defaultValue,p.normalizedType)};return p.precision!==void 0&&(l.options={precision:p.precision},p.scale!==void 0&&(l.options.scale=p.scale)),n.includeUnmappedMeta&&s._unmapped&&(l._unmapped=!0,l._pgType=p.dataType),l}function Pt(p){return p.replace(/_/g," ").replace(/([a-z])([A-Z])/g,"$1 $2").replace(/\b\w/g,t=>t.toUpperCase())}function zt(p,t){if(p&&!(p.includes("(")||p.includes("::")))switch(t){case"boolean":return p.toLowerCase()==="true";case"smallint":case"integer":case"bigint":case"serial":case"bigserial":case"smallserial":{const n=parseInt(p,10);return isNaN(n)?void 0:n}case"real":case"double precision":{const n=parseFloat(p);return isNaN(n)?void 0:n}case"numeric":case"decimal":case"money":return p.replace(/^'|'$/g,"");default:return p.startsWith("'")&&p.endsWith("'")?p.slice(1,-1):void 0}}function Zt(p){return p.match(/@doctype\s+([A-Za-z][A-Za-z0-9]*)/)?.[1]}function Ws(p){const t=Fs.parse(p,{locationTracking:!1}),n=[],i=new Map;for(const o of t)if(Bt(o)&&o.on.type==="table"){const s=o.on.name.name;i.set(s,o.comment)}for(const o of t)if(Ft(o))try{const s=Vt(o),l=i.get(s.name);l&&(s.comment=l,s.doctypeName=Zt(l)),n.push(s)}catch(s){console.warn(`Failed to parse table ${o.name?.name}: ${s}`)}return n}function Ft(p){return p.type==="create table"}function Bt(p){return p.type==="comment"}function Vt(p){const t=[];for(const n of p.columns??[])n.kind!=="like table"&&n.kind==="column"&&t.push(Wt(n));return{name:p.name.name,schema:p.name.schema,columns:t,inherits:p.inherits?.map(n=>n.name)}}function Wt(p){const t=p.constraints??[],{rawType:n,arrayDimensions:i,precision:o,scale:s,length:l}=Ht(p.dataType);return{name:p.name.name,dataType:n,normalizedType:Vs(n),nullable:!Gt(t,"not null"),isGenerated:Yt(t),defaultValue:Jt(t),arrayDimensions:i,reference:Qt(t),precision:o,scale:s,length:l}}function Ht(p){let t=0,n=p;for(;n.kind==="array";)t++,n=n.arrayOf;const i=n,o=i.name,s=i.config??[];let l,u,w;return s.length>0&&(o==="numeric"||o==="decimal"?(l=s[0],u=s[1]):(o==="varchar"||o==="char"||o==="character varying"||o==="character"||o==="bit"||o==="varbit"||o==="bit varying")&&(w=s[0])),{rawType:o,arrayDimensions:t,precision:l,scale:u,length:w}}function Gt(p,t){return p.some(n=>n.type===t)}function Yt(p){return p.some(t=>t.type==="add generated")}function Jt(p){const t=p.find(n=>n.type==="default");if(t?.default)try{return Fs.toSql.expr(t.default)}catch{return}}function Qt(p){const t=p.find(o=>o.type==="reference");if(!t)return;const n=t.foreignTable,i=t.foreignColumns??[];return{schema:n.schema,table:n.name,column:i[0]?.name??"id",onDelete:t.onDelete}}function Xt(p,t={inheritanceMode:"flatten"}){const n=Ws(p),i=new Map(n.map(s=>[s.name,s]));let o=n;return t.schema&&(o=o.filter(s=>s.schema===t.schema)),t.exclude&&(o=o.filter(s=>!t.exclude.includes(s.name))),o.map(s=>Kt(s,i,t))}function Kt(p,t,n){const i=new Map;if(n.inheritanceMode==="flatten"&&p.inherits)for(const s of p.inherits){const l=t.get(s);if(l)for(const u of l.columns){const w=os(u,t,{includeUnmappedMeta:n.includeUnmappedMeta,useCamelCase:n.useCamelCase});i.set(w.fieldname,w)}}for(const s of p.columns){const l=os(s,t,{includeUnmappedMeta:n.includeUnmappedMeta,useCamelCase:n.useCamelCase});i.set(l.fieldname,l)}let o=Array.from(i.values());return n.typeOverrides&&(o=o.map(s=>{const l=n.typeOverrides[s.fieldname];return l?{...s,...l}:s})),o=o.map(er),{name:p.doctypeName??Ut(p.name),slug:Bs(p.name),tableName:p.name,fields:o,inherits:p.inherits?.[0]}}function er(p){const t={fieldname:p.fieldname,component:p.component,fieldtype:p.fieldtype};return p.label!==void 0&&(t.label=p.label),p.required===!0&&(t.required=!0),p.default!==void 0&&(t.default=p.default),p.readOnly===!0&&(t.readOnly=!0),p.options!==void 0&&(t.options=p.options),p._pgType!==void 0&&(t._pgType=p._pgType),p._unmapped===!0&&(t._unmapped=!0),t}const oe=new Map;class We extends Error{constructor(t,n){const i=n.map(o=>` ${o.path.join(".")}: ${o.message}`).join(`
27
+ `);super(`Invalid doctype definition in ${t}:
28
+ ${i}`),this.file=t,this.errors=n,this.name="DoctypeValidationError"}}function Hs(p,t={}){const n=Je.readdirSync(p);for(const i of n){const o=st.join(p,i);Je.statSync(o).isDirectory()?Hs(o,t):i.endsWith(".json")&&sr(o,t)}}function sr(p,t){const n=Je.readFileSync(p,"utf-8");let i;try{i=JSON.parse(n)}catch(l){const u={path:[],message:`Invalid JSON: ${l instanceof Error?l.message:String(l)}`};if(t.continueOnError){t.onError?.(p,[u]);return}throw new We(p,[u])}const o=is(i);if(!o.success){if(t.continueOnError){t.onError?.(p,o.errors);return}throw new We(p,o.errors)}const s=ms(i);oe.set(s.name,s)}function tr(p,t={}){for(const[n,i]of Object.entries(p)){const o={...i,name:n},s=is(o);if(!s.success){if(t.continueOnError){t.onError?.(n,s.errors);continue}throw new We(n,s.errors)}const l=ms(o);oe.set(l.name,l)}}function Oe(p){return oe.get(p)}function Gs(){return Array.from(oe.values())}function rr(p){return oe.has(p)}function ar(){oe.clear()}function nr(){const p=[];for(const t of oe.values()){t.inherits&&!oe.has(t.inherits)&&p.push({path:[t.name,"inherits"],message:`References unknown doctype: ${t.inherits}`}),t.listDoctype&&!oe.has(t.listDoctype)&&p.push({path:[t.name,"listDoctype"],message:`References unknown doctype: ${t.listDoctype}`}),t.parentDoctype&&!oe.has(t.parentDoctype)&&p.push({path:[t.name,"parentDoctype"],message:`References unknown doctype: ${t.parentDoctype}`});for(const n of t.fields)n.fieldtype==="Link"&&typeof n.options=="string"&&(oe.has(n.options)||p.push({path:[t.name,"fields",n.fieldname,"options"],message:`Link references unknown doctype: ${n.options}`}))}return p}const Ge=new Map;function Ys(p,t){Ge.set(p,t)}function Js(p){return Ge.get(p)}function or(p){return Ge.has(p)}function lr(){Ge.clear()}const cr=async(p,t)=>{const[n]=p,{doctype:i}=t,o=[];for(const s of i.fields)s.required&&(n[s.fieldname]===void 0||n[s.fieldname]===null)&&o.push(s.label??s.fieldname);if(o.length>0)throw new Error(`Missing required fields: ${o.join(", ")}`);return{valid:!0}},pr=async(p,t)=>{const[n]=p,{doctype:i}=t,o=[];for(const s of i.fields){const l=n[s.fieldname];if(l==null)continue;const u=ir(s.fieldname,l,s.fieldtype);u&&o.push(u)}if(o.length>0)throw new Error(`Field type validation failed:
29
+ ${o.join(`
30
+ `)}`);return{valid:!0}};function ir(p,t,n){switch(n){case"Int":if(typeof t!="number"||!Number.isInteger(t))return`${p}: expected integer, got ${typeof t}`;break;case"Float":case"Decimal":case"Currency":case"Quantity":if(typeof t!="number"&&typeof t!="string")return`${p}: expected number, got ${typeof t}`;break;case"Check":if(typeof t!="boolean")return`${p}: expected boolean, got ${typeof t}`;break;case"Data":case"Text":case"Code":case"Link":if(typeof t!="string")return`${p}: expected string, got ${typeof t}`;break;case"Date":case"Time":case"Datetime":if(typeof t!="string"&&!(t instanceof Date))return`${p}: expected date string or Date, got ${typeof t}`;break;case"JSON":if(typeof t!="object")return`${p}: expected object, got ${typeof t}`;break;case"Table":if(!Array.isArray(t))return`${p}: expected array, got ${typeof t}`;break}return null}const mr=async()=>({ok:!0}),Qs={validateRequiredFields:cr,validateFieldTypes:pr,noop:mr};function ur(){for(const[p,t]of Object.entries(Qs))Ys(p,t)}const _r=p=>_s.extendSchema(()=>({typeDefs:_s.gql`
31
31
  scalar JSON
32
32
 
33
33
  type FieldMeta {
@@ -88,23 +88,23 @@ ${l.join(`
88
88
  type Mutation {
89
89
  stonecropAction(doctype: String!, action: String!, args: JSON): ActionResult!
90
90
  }
91
- `,resolvers:{Query:{stonecropMeta(_,p){return re(p.doctype)??null},stonecropAllMeta(){return Ie()},async stonecropRecord(_,p){const h=re(p.doctype);if(!h)throw new Error(`Unknown doctype: ${p.doctype}`);if(!h.tableName)throw new Error(`Doctype ${p.doctype} has no table mapping`);const l=Ts(h),r=await y.executor.query(l,{id:p.id});return{data:Ns(r,h),doctype:p.doctype}},async stonecropRecords(_,p){const h=re(p.doctype);if(!h)throw new Error(`Unknown doctype: ${p.doctype}`);if(!h.tableName)throw new Error(`Doctype ${p.doctype} has no table mapping`);const l=Ss(h,p),r=await y.executor.query(l,p),n=qs(r,h);return{data:n,doctype:p.doctype,count:n.length}}},Mutation:{async stonecropAction(_,p){const h=re(p.doctype);if(!h)return{success:!1,data:null,error:`Unknown doctype: ${p.doctype}`};const l=h.workflow?.actions?.[p.action];if(!l)return{success:!1,data:null,error:`Unknown action: ${p.action} on ${p.doctype}`};const r=De(l.handler);if(!r)return{success:!1,data:null,error:`Handler not registered: ${l.handler}`};const n={doctype:h,executor:y.executor};try{return{success:!0,data:await r(p.args??[],n),error:null}}catch(u){return{success:!1,data:null,error:u instanceof Error?u.message:String(u)}}}}}}));function ye(y){return y.replace(/_([a-z])/g,(_,p)=>p.toUpperCase())}function Le(y){const _=ye(y);return`all${_.charAt(0).toUpperCase()}${_.slice(1)}`}function Ue(y){const _=y.replace(/s$/,"");return ye(_)}function Ts(y){const _=y.fields.map(h=>h.fieldname).join(`
91
+ `,objects:{Query:{plans:{stonecropMeta(t,n){const i=n.getRaw().doctype;return ue.lambda(i,o=>Oe(o)??null)},stonecropAllMeta(){return ue.constant(Gs())},stonecropRecord(t,n){const i=n.getRaw().doctype,o=n.getRaw().id;return ue.loadOne(ue.object({doctype:i,id:o}),async s=>await Promise.all(s.map(async l=>{const u=Oe(l.doctype);if(!u)throw new Error(`Unknown doctype: ${l.doctype}`);if(!u.tableName)throw new Error(`Doctype ${l.doctype} has no table mapping`);const w=$r(u),d=await p.executor.query(w,{id:l.id});return{data:br(d,u),doctype:l.doctype}})))},stonecropRecords(t,n){const i=n.getRaw(),o=i.doctype,s=i.filters,l=i.orderBy,u=i.limit,w=i.offset;return ue.loadOne(ue.object({doctype:o,filters:s,orderBy:l,limit:u,offset:w}),async d=>await Promise.all(d.map(async r=>{const y=Oe(r.doctype);if(!y)throw new Error(`Unknown doctype: ${r.doctype}`);if(!y.tableName)throw new Error(`Doctype ${r.doctype} has no table mapping`);const b=yr(y,{limit:r.limit,offset:r.offset,orderBy:r.orderBy}),c=await p.executor.query(b,{limit:r.limit,offset:r.offset,orderBy:r.orderBy}),$=dr(c,y);return{data:$,doctype:r.doctype,count:$.length}})))}}},Mutation:{plans:{stonecropAction(t,n){const i=n.getRaw(),o=i.doctype,s=i.action,l=i.args;return ue.loadOne(ue.object({doctype:o,action:s,actionArgs:l}),async u=>await Promise.all(u.map(async w=>{const d=Oe(w.doctype);if(!d)return{success:!1,data:null,error:`Unknown doctype: ${w.doctype}`};const r=d.workflow?.actions?.[w.action];if(!r)return{success:!1,data:null,error:`Unknown action: ${w.action} on ${w.doctype}`};const y=Js(r.handler);if(!y)return{success:!1,data:null,error:`Handler not registered: ${r.handler}`};const b={doctype:d,executor:p.executor};try{return{success:!0,data:await y(w.actionArgs??[],b),error:null}}catch(c){return{success:!1,data:null,error:c instanceof Error?c.message:String(c)}}})))}}}}}));function us(p){return p.replace(/_([a-z])/g,(t,n)=>n.toUpperCase())}function Xs(p){const t=us(p);return`all${t.charAt(0).toUpperCase()}${t.slice(1)}`}function Ks(p){const t=p.replace(/s$/,"");return us(t)}function $r(p){const t=p.fields.map(i=>i.fieldname).join(`
92
92
  `);return`
93
- query GetRecord($id: UUID!) {
94
- ${`${Ue(y.tableName)}ById`}(id: $id) {
95
- ${_}
96
- }
97
- }
98
- `}function Ss(y,_){const p=y.fields.map(n=>n.fieldname).join(`
99
- `),h=Le(y.tableName),l=[];_.limit&&l.push("first: $limit"),_.offset&&l.push("offset: $offset"),_.orderBy&&l.push("orderBy: $orderBy");const r=l.length>0?`(${l.join(", ")})`:"";return`
100
- query GetRecords($limit: Int, $offset: Int, $orderBy: [${ye(y.tableName)}OrderBy!]) {
101
- ${h}${r} {
102
- nodes {
103
- ${p}
104
- }
105
- }
106
- }
107
- `}function Ns(y,_){const p=`${Ue(_.tableName)}ById`;return y[p]}function qs(y,_){const p=Le(_.tableName);return y[p]?.nodes??[]}class Cs{endpoint;headers;metaCache=new Map;constructor(_){this.endpoint=_.endpoint,this.headers={"Content-Type":"application/json",..._.headers}}async query(_,p){const l=await(await fetch(this.endpoint,{method:"POST",headers:this.headers,body:JSON.stringify({query:_,variables:p})})).json();if(l.errors?.length)throw new Error(l.errors[0].message);return l.data}async mutate(_,p){return this.query(_,p)}async getMeta(_){const p=this.metaCache.get(_.doctype);if(p)return p;const h=await this.query(`
93
+ query GetRecord($id: UUID!) {
94
+ ${`${Ks(p.tableName)}ById`}(id: $id) {
95
+ ${t}
96
+ }
97
+ }
98
+ `}function yr(p,t){const n=p.fields.map(l=>l.fieldname).join(`
99
+ `),i=Xs(p.tableName),o=[];t.limit&&o.push("first: $limit"),t.offset&&o.push("offset: $offset"),t.orderBy&&o.push("orderBy: $orderBy");const s=o.length>0?`(${o.join(", ")})`:"";return`
100
+ query GetRecords($limit: Int, $offset: Int, $orderBy: [${us(p.tableName)}OrderBy!]) {
101
+ ${i}${s} {
102
+ nodes {
103
+ ${n}
104
+ }
105
+ }
106
+ }
107
+ `}function br(p,t){const n=`${Ks(t.tableName)}ById`;return p[n]}function dr(p,t){const n=Xs(t.tableName);return p[n]?.nodes??[]}class fr{endpoint;headers;metaCache=new Map;constructor(t){this.endpoint=t.endpoint,this.headers={"Content-Type":"application/json",...t.headers}}async query(t,n){const o=await(await fetch(this.endpoint,{method:"POST",headers:this.headers,body:JSON.stringify({query:t,variables:n})})).json();if(o.errors?.length)throw new Error(o.errors[0].message);return o.data}async mutate(t,n){return this.query(t,n)}async getMeta(t){const n=this.metaCache.get(t.doctype);if(n)return n;const i=await this.query(`
108
108
  query GetMeta($doctype: String!) {
109
109
  stonecropMeta(doctype: $doctype) {
110
110
  name
@@ -130,7 +130,7 @@ ${l.join(`
130
130
  parentDoctype
131
131
  }
132
132
  }
133
- `,{doctype:_.doctype});return h.stonecropMeta&&this.metaCache.set(_.doctype,h.stonecropMeta),h.stonecropMeta}async getAllMeta(){const _=await this.query(`
133
+ `,{doctype:t.doctype});return i.stonecropMeta&&this.metaCache.set(t.doctype,i.stonecropMeta),i.stonecropMeta}async getAllMeta(){const t=await this.query(`
134
134
  query GetAllMeta {
135
135
  stonecropAllMeta {
136
136
  name
@@ -156,13 +156,13 @@ ${l.join(`
156
156
  parentDoctype
157
157
  }
158
158
  }
159
- `);for(const p of _.stonecropAllMeta)this.metaCache.set(p.name,p);return _.stonecropAllMeta}async getRecord(_,p){return(await this.query(`
159
+ `);for(const n of t.stonecropAllMeta)this.metaCache.set(n.name,n);return t.stonecropAllMeta}async getRecord(t,n){return(await this.query(`
160
160
  query GetRecord($doctype: String!, $id: String!) {
161
161
  stonecropRecord(doctype: $doctype, id: $id) {
162
162
  data
163
163
  }
164
164
  }
165
- `,{doctype:_.name,id:p})).stonecropRecord.data}async getRecords(_,p){return(await this.query(`
165
+ `,{doctype:t.name,id:n})).stonecropRecord.data}async getRecords(t,n){return(await this.query(`
166
166
  query GetRecords(
167
167
  $doctype: String!
168
168
  $filters: JSON
@@ -181,7 +181,7 @@ ${l.join(`
181
181
  count
182
182
  }
183
183
  }
184
- `,{doctype:_.name,...p})).stonecropRecords.data}async runAction(_,p,h){return(await this.query(`
184
+ `,{doctype:t.name,...n})).stonecropRecords.data}async runAction(t,n,i){return(await this.query(`
185
185
  mutation RunAction($doctype: String!, $action: String!, $args: JSON) {
186
186
  stonecropAction(doctype: $doctype, action: $action, args: $args) {
187
187
  success
@@ -189,4 +189,4 @@ ${l.join(`
189
189
  error
190
190
  }
191
191
  }
192
- `,{doctype:_.name,action:p,args:h})).stonecropAction}clearMetaCache(){this.metaCache.clear()}}exports.ActionDefinition=Te;exports.DoctypeMeta=_e;exports.DoctypeValidationError=oe;exports.FieldMeta=le;exports.FieldOptions=ve;exports.FieldValidation=Ee;exports.PG_TYPE_MAP=ae;exports.StonecropClient=Cs;exports.StonecropFieldType=ge;exports.TYPE_ALIASES=te;exports.TYPE_MAP=Ae;exports.WorkflowMeta=Se;exports.builtinHandlers=Me;exports.clearHandlers=ws;exports.clearRegistry=ds;exports.convertSchema=is;exports.createStonecropPlugin=Es;exports.getAllMeta=Ie;exports.getDefaultComponent=Fe;exports.getHandler=De;exports.getMeta=re;exports.hasHandler=xs;exports.hasMeta=ys;exports.loadDoctypes=Oe;exports.loadDoctypesFromObject=us;exports.mapColumnToField=$e;exports.normalizeType=Ce;exports.parseDDL=Re;exports.parseDoctype=ue;exports.parseField=He;exports.registerBuiltinHandlers=vs;exports.registerHandler=je;exports.validateDoctype=be;exports.validateField=Be;exports.validateReferences=fs;
192
+ `,{doctype:t.name,action:n,args:i})).stonecropAction}clearMetaCache(){this.metaCache.clear()}}exports.ActionDefinition=zs;exports.DoctypeMeta=ps;exports.DoctypeValidationError=We;exports.FieldMeta=He;exports.FieldOptions=Us;exports.FieldValidation=Ps;exports.PG_TYPE_MAP=De;exports.StonecropClient=fr;exports.StonecropFieldType=Ms;exports.TYPE_ALIASES=Ne;exports.TYPE_MAP=Ls;exports.WorkflowMeta=Zs;exports.builtinHandlers=Qs;exports.clearHandlers=lr;exports.clearRegistry=ar;exports.convertSchema=Xt;exports.createStonecropPlugin=_r;exports.getAllMeta=Gs;exports.getDefaultComponent=Ct;exports.getHandler=Js;exports.getMeta=Oe;exports.hasHandler=or;exports.hasMeta=rr;exports.loadDoctypes=Hs;exports.loadDoctypesFromObject=tr;exports.mapColumnToField=os;exports.normalizeType=Vs;exports.parseDDL=Ws;exports.parseDoctype=ms;exports.parseField=Ot;exports.registerBuiltinHandlers=ur;exports.registerHandler=Ys;exports.validateDoctype=is;exports.validateField=Nt;exports.validateReferences=nr;