UNPKG

195 kBJavaScriptView Raw
1!function(E,T){"object"==typeof exports&&"object"==typeof module?module.exports=T():"function"==typeof define&&define.amd?define([],T):"object"==typeof exports?exports.sqlFormatter=T():E.sqlFormatter=T()}(self,(()=>(()=>{"use strict";var E={d:(T,R)=>{for(var A in R)E.o(R,A)&&!E.o(T,A)&&Object.defineProperty(T,A,{enumerable:!0,get:R[A]})},o:(E,T)=>Object.prototype.hasOwnProperty.call(E,T),r:E=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(E,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(E,"__esModule",{value:!0})}},T={};function R(E,T){(null==T||T>E.length)&&(T=E.length);for(var R=0,A=new Array(T);R<T;R++)A[R]=E[R];return A}E.r(T),E.d(T,{ConfigError:()=>ER,format:()=>qT,formatters:()=>xT,supportedDialects:()=>$T});var A=function(E){return function(E){return function(E){if(Array.isArray(E))return R(E)}(E)||function(E){if("undefined"!=typeof Symbol&&null!=E[Symbol.iterator]||null!=E["@@iterator"])return Array.from(E)}(E)||function(E,T){if(E){if("string"==typeof E)return R(E,T);var A=Object.prototype.toString.call(E).slice(8,-1);return"Object"===A&&E.constructor&&(A=E.constructor.name),"Map"===A||"Set"===A?Array.from(E):"Arguments"===A||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(A)?R(E,T):void 0}}(E)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}(new Set(E))},S=function(E){return E.replace(/[\t ]+$/,"")},e=function(E){return E.replace(/[\$\(-\+\.\?\[-\^\{-\}]/g,"\\$&")},O=function(E){return E.sort((function(E,T){return T.length-E.length||E.localeCompare(T)}))},I=function(E){return E.reduce((function(E,T){return Math.max(E,T.length)}),0)};function N(E,T){for(var R=0;R<T.length;R++){var A=T[R];A.enumerable=A.enumerable||!1,A.configurable=!0,"value"in A&&(A.writable=!0),Object.defineProperty(E,A.key,A)}}var t,C="top-level",r=function(){function E(T){!function(E,T){if(!(E instanceof T))throw new TypeError("Cannot call a class as a function")}(this,E),this.indent=T,this.indentTypes=[]}var T,R;return T=E,(R=[{key:"getSingleIndent",value:function(){return this.indent}},{key:"getIndent",value:function(){return this.indent.repeat(this.indentTypes.length)}},{key:"increaseTopLevel",value:function(){this.indentTypes.push(C)}},{key:"increaseBlockLevel",value:function(){this.indentTypes.push("block-level")}},{key:"decreaseTopLevel",value:function(){var E;this.indentTypes.length>0&&(E=this.indentTypes)[E.length-1]===C&&this.indentTypes.pop()}},{key:"decreaseBlockLevel",value:function(){for(;this.indentTypes.length>0&&this.indentTypes.pop()===C;);}},{key:"resetIndentation",value:function(){this.indentTypes=[]}}])&&N(T.prototype,R),Object.defineProperty(T,"prototype",{writable:!1}),E}();!function(E){E.WORD="WORD",E.STRING="STRING",E.RESERVED_KEYWORD="RESERVED_KEYWORD",E.RESERVED_LOGICAL_OPERATOR="RESERVED_LOGICAL_OPERATOR",E.RESERVED_DEPENDENT_CLAUSE="RESERVED_DEPENDENT_CLAUSE",E.RESERVED_BINARY_COMMAND="RESERVED_BINARY_COMMAND",E.RESERVED_COMMAND="RESERVED_COMMAND",E.RESERVED_JOIN_CONDITION="RESERVED_JOIN_CONDITION",E.OPERATOR="OPERATOR",E.BLOCK_START="BLOCK_START",E.BLOCK_END="BLOCK_END",E.LINE_COMMENT="LINE_COMMENT",E.BLOCK_COMMENT="BLOCK_COMMENT",E.NUMBER="NUMBER",E.PLACEHOLDER="PLACEHOLDER",E.EOF="EOF"}(t||(t={}));var L={type:t.EOF,value:"«EOF»"},n="[".concat("​","\\s]"),_=function(E){return function(T){return T.type===E.type&&new RegExp("^".concat(n,"*").concat(E.value).concat(n,"*$"),"iu").test(T.value)}},o={AS:_({value:"AS",type:t.RESERVED_KEYWORD}),AND:_({value:"AND",type:t.RESERVED_LOGICAL_OPERATOR}),BETWEEN:_({value:"BETWEEN",type:t.RESERVED_KEYWORD}),CASE:_({value:"CASE",type:t.BLOCK_START}),CAST:_({value:"CAST",type:t.RESERVED_KEYWORD}),BY:_({value:"BY",type:t.RESERVED_KEYWORD}),END:_({value:"END",type:t.BLOCK_END}),FROM:_({value:"FROM",type:t.RESERVED_COMMAND}),LIMIT:_({value:"LIMIT",type:t.RESERVED_COMMAND}),SELECT:_({value:"SELECT",type:t.RESERVED_COMMAND}),SET:_({value:"SET",type:t.RESERVED_COMMAND}),TABLE:_({value:"TABLE",type:t.RESERVED_KEYWORD}),WINDOW:_({value:"WINDOW",type:t.RESERVED_COMMAND}),WITH:_({value:"WITH",type:t.RESERVED_COMMAND})},P=function(E){return E.type===t.RESERVED_COMMAND||E.type===t.RESERVED_BINARY_COMMAND},D=function(E){return E.type===t.RESERVED_KEYWORD||E.type===t.RESERVED_LOGICAL_OPERATOR||E.type===t.RESERVED_DEPENDENT_CLAUSE||E.type===t.RESERVED_JOIN_CONDITION||E.type===t.RESERVED_COMMAND||E.type===t.RESERVED_BINARY_COMMAND};function i(E,T){for(var R=0;R<T.length;R++){var A=T[R];A.enumerable=A.enumerable||!1,A.configurable=!0,"value"in A&&(A.writable=!0),Object.defineProperty(E,A.key,A)}}var U=function(){function E(T){!function(E,T){if(!(E instanceof T))throw new TypeError("Cannot call a class as a function")}(this,E),this.level=0,this.expressionWidth=T}var T,R;return T=E,(R=[{key:"beginIfPossible",value:function(E,T){0===this.level&&this.isInlineBlock(E,T)?this.level=1:this.level>0?this.level++:this.level=0}},{key:"end",value:function(){this.level--}},{key:"isActive",value:function(){return this.level>0}},{key:"isInlineBlock",value:function(E,T){for(var R=0,A=0,S=T;S<E.length;S++){var e=E[S];if(R+=e.value.length,this.isForbiddenToken(e))return!1;if(R>this.expressionWidth)return!1;if(e.type===t.BLOCK_START)A++;else if(e.type===t.BLOCK_END&&0==--A)return!0}return!1}},{key:"isForbiddenToken",value:function(E){var T=E.type,R=E.value;return T===t.RESERVED_COMMAND||T===t.RESERVED_LOGICAL_OPERATOR||T===t.BLOCK_COMMENT||";"===R||o.CASE({type:T,value:R})}}])&&i(T.prototype,R),Object.defineProperty(T,"prototype",{writable:!1}),E}();function a(E,T){for(var R=0;R<T.length;R++){var A=T[R];A.enumerable=A.enumerable||!1,A.configurable=!0,"value"in A&&(A.writable=!0),Object.defineProperty(E,A.key,A)}}var M=function(){function E(T){!function(E,T){if(!(E instanceof T))throw new TypeError("Cannot call a class as a function")}(this,E),this.params=T,this.index=0}var T,R;return T=E,(R=[{key:"get",value:function(E){var T=E.key,R=E.value;return this.params?T?this.params[T]:this.params[this.index++]:R}}])&&a(T.prototype,R),Object.defineProperty(T,"prototype",{writable:!1}),E}(),s=function(E){var T=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"";if(0===E.length)return/^\b$/;var R=O(E).join("|").replace(/ /g,"\\s+");return new RegExp("^(".concat(R,")(?![").concat(e(T),"]+)\\b"),"iu")},c={"``":"((`[^`]*($|`))+)","{}":"((\\{[^\\}]*($|\\}))+)","[]":"((\\[[^\\]]*($|\\]))(\\][^\\]]*($|\\]))*)",'""':'(("[^"\\\\]*(?:\\\\.[^"\\\\]*)*("|$))+)',"''":"(('[^'\\\\]*(?:\\\\.[^'\\\\]*)*('|$))+)","N''":"((N'[^'\\\\]*(?:\\\\.[^'\\\\]*)*('|$))+)","x''":"(([xX]'[^'\\\\]*(?:\\\\.[^'\\\\]*)*('|$))+)","E''":"((E'[^'\\\\]*(?:\\\\.[^'\\\\]*)*('|$))+)","U&''":"((U&'[^'\\\\]*(?:\\\\.[^'\\\\]*)*('|$))+)",'U&""':'((U&"[^"\\\\]*(?:\\\\.[^"\\\\]*)*("|$))+)',$$:"((?<tag>\\$\\w*\\$)[\\s\\S]*?(?:\\k<tag>|$))"},u=function(E){return E.map((function(E){return c[E]})).join("|")},l=function(E){return 1===E.length?e(E):"\\b"+E+"\\b"},G=function(E){return new RegExp("^("+E.map(l).join("|")+")","iu")},f=function(E,T){if(R=E,Array.isArray(R)&&0!==R.length){var R,A=E.map(e).join("|");return new RegExp("^((?:".concat(A,")(?:").concat(T,"))"),"u")}};function B(E,T,R){return T in E?Object.defineProperty(E,T,{value:R,enumerable:!0,configurable:!0,writable:!0}):E[T]=R,E}function p(E,T){(null==T||T>E.length)&&(T=E.length);for(var R=0,A=new Array(T);R<T;R++)A[R]=E[R];return A}function H(E,T){for(var R=0;R<T.length;R++){var A=T[R];A.enumerable=A.enumerable||!1,A.configurable=!0,"value"in A&&(A.writable=!0),Object.defineProperty(E,A.key,A)}}var d=/^([\t-\r \xA0\u1680\u2000-\u200A\u2028\u2029\u202F\u205F\u3000\uFEFF]+)/,y=/(?!)/,F=function(){function E(T){var R,A,S,I,N,C=this;!function(E,T){if(!(E instanceof T))throw new TypeError("Cannot call a class as a function")}(this,E),this.matchToken=function(E){return function(T){return C.getTokenOnFirstMatch({input:T,type:E,regex:C.REGEX_MAP[E]})}};var r,L,n,_,o=Object.values(null!==(A=T.specialWordChars)&&void 0!==A?A:{}).join("");this.REGEX_MAP=(B(R={},t.WORD,function(){var E,T,R,A=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},S="[".concat(e(null!==(E=A.prefix)&&void 0!==E?E:""),"]*"),O="[".concat(e(null!==(T=A.suffix)&&void 0!==T?T:""),"]*"),I="\\p{Alphabetic}\\p{Mark}\\p{Decimal_Number}\\p{Connector_Punctuation}\\p{Join_Control}",N="".concat(e(null!==(R=A.any)&&void 0!==R?R:"")),t="\\[\\d\\]",C="\\[['\"][".concat(I,"]+['\"]\\]");return new RegExp("^((".concat(S,"([").concat(I).concat(N,"]+)").concat(O,")(").concat(t,"|").concat(C,")?)"),"u")}(T.specialWordChars)),B(R,t.STRING,(n=T.stringTypes,new RegExp("^("+u(n)+")","u"))),B(R,t.RESERVED_KEYWORD,s(T.reservedKeywords,o)),B(R,t.RESERVED_DEPENDENT_CLAUSE,s(null!==(S=T.reservedDependentClauses)&&void 0!==S?S:[],o)),B(R,t.RESERVED_LOGICAL_OPERATOR,s(T.reservedLogicalOperators,o)),B(R,t.RESERVED_COMMAND,s(T.reservedCommands,o)),B(R,t.RESERVED_BINARY_COMMAND,s(T.reservedBinaryCommands,o)),B(R,t.RESERVED_JOIN_CONDITION,s(T.reservedJoinConditions,o)),B(R,t.OPERATOR,("+-/*%&|^><=.,;[]{}`:$",L=["<>","<=",">=","!="].concat(function(E){if(Array.isArray(E))return p(E)}(_=null!==(I=T.operators)&&void 0!==I?I:[])||function(E){if("undefined"!=typeof Symbol&&null!=E[Symbol.iterator]||null!=E["@@iterator"])return Array.from(E)}(_)||function(E,T){if(E){if("string"==typeof E)return p(E,T);var R=Object.prototype.toString.call(E).slice(8,-1);return"Object"===R&&E.constructor&&(R=E.constructor.name),"Map"===R||"Set"===R?Array.from(E):"Arguments"===R||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(R)?p(E,T):void 0}}(_)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),new RegExp("^(".concat(O(L).map(e).join("|"),"|")+"[".concat("+-/*%&|^><=.,;[]{}`:$".split("").map(e).join(""),"])"),"u"))),B(R,t.BLOCK_START,G(T.blockStart)),B(R,t.BLOCK_END,G(T.blockEnd)),B(R,t.LINE_COMMENT,(r=T.lineCommentTypes,new RegExp("^((?:".concat(r.map((function(E){return e(E)})).join("|"),").*?)(?:\r\n|\r|\n|$)"),"u"))),B(R,t.BLOCK_COMMENT,/^(\/\*(?:(?![])[\s\S])*?(?:\*\/|$))/),B(R,t.NUMBER,/^(0x[0-9A-Fa-f]+|0b[01]+|(\x2D[\t-\r \xA0\u1680\u2000-\u200A\u2028\u2029\u202F\u205F\u3000\uFEFF]*)?[0-9]+(\.[0-9]*)?([Ee][\+\x2D]?[0-9]+(\.[0-9]+)?)?)/),B(R,t.PLACEHOLDER,y),B(R,t.EOF,y),R),this.INDEXED_PLACEHOLDER_REGEX=f(null!==(N=T.indexedPlaceholderTypes)&&void 0!==N?N:[],"[0-9]*"),this.IDENT_NAMED_PLACEHOLDER_REGEX=f(T.namedPlaceholderTypes,"[a-zA-Z0-9._$]+"),this.STRING_NAMED_PLACEHOLDER_REGEX=f(T.namedPlaceholderTypes,u(T.stringTypes))}var T,R;return T=E,(R=[{key:"tokenize",value:function(E){for(var T,R=[];E.length;){var A=this.getWhitespace(E);(E=E.substring(A.length)).length&&(T=this.getNextToken(E,T),E=E.substring(T.value.length),R.push(Object.assign(Object.assign({},T),{whitespaceBefore:A})))}return R}},{key:"getWhitespace",value:function(E){var T=E.match(d);return T?T[1]:""}},{key:"getNextToken",value:function(E,T){return this.matchToken(t.LINE_COMMENT)(E)||this.matchToken(t.BLOCK_COMMENT)(E)||this.matchToken(t.STRING)(E)||this.matchToken(t.BLOCK_START)(E)||this.matchToken(t.BLOCK_END)(E)||this.getPlaceholderToken(E)||this.matchToken(t.NUMBER)(E)||this.getReservedWordToken(E,T)||this.matchToken(t.WORD)(E)||this.matchToken(t.OPERATOR)(E)}},{key:"getPlaceholderToken",value:function(E){var T,R,A,S=this;return[{regex:null!==(T=this.IDENT_NAMED_PLACEHOLDER_REGEX)&&void 0!==T?T:y,parseKey:function(E){return E.slice(1)}},{regex:null!==(R=this.STRING_NAMED_PLACEHOLDER_REGEX)&&void 0!==R?R:y,parseKey:function(E){return S.getEscapedPlaceholderKey({key:E.slice(2,-1),quoteChar:E.slice(-1)})}},{regex:null!==(A=this.INDEXED_PLACEHOLDER_REGEX)&&void 0!==A?A:y,parseKey:function(E){return E.slice(1)}}].reduce((function(T,R){var A=R.regex,e=R.parseKey,O=S.getTokenOnFirstMatch({input:E,regex:A,type:t.PLACEHOLDER});return O?Object.assign(Object.assign({},O),{key:e(O.value)}):T}),void 0)}},{key:"getEscapedPlaceholderKey",value:function(E){var T=E.key,R=E.quoteChar;return T.replace(new RegExp(e("\\"+R),"gu"),R)}},{key:"getReservedWordToken",value:function(E,T){var R=this;if("."!==(null==T?void 0:T.value))return[t.RESERVED_COMMAND,t.RESERVED_BINARY_COMMAND,t.RESERVED_DEPENDENT_CLAUSE,t.RESERVED_LOGICAL_OPERATOR,t.RESERVED_KEYWORD,t.RESERVED_JOIN_CONDITION].reduce((function(T,A){return T||R.matchToken(A)(E)}),void 0)}},{key:"getTokenOnFirstMatch",value:function(E){var T=E.input,R=E.type,A=E.regex,S=T.match(A);return S?{type:R,value:S[1]}:void 0}}])&&H(T.prototype,R),Object.defineProperty(T,"prototype",{writable:!1}),E}();function Y(E,T){(null==T||T>E.length)&&(T=E.length);for(var R=0,A=new Array(T);R<T;R++)A[R]=E[R];return A}function V(E,T,R){return function(E){for(var T=[],R=0;R<E.length;R++){for(var A=[E[R]];E[R].match(/.*,$/);)R++,A.push(E[R]);T.push(A)}return T}(E.split("\n")).flatMap((function(E){if(1===E.length)return E;if("tabular"===T)return function(E){var T=I(E);return h(E).map((function(R,A){return A===E.length-1?R:R+" ".repeat(T-R.length-1)+","}))}(E);if("before"===T)return function(E,T){return h(E).map((function(E,R){return 0===R?E:function(E,T){return E.replace(new RegExp(T+"$"),"")}(function(E,T){return function(E){if(Array.isArray(E))return E}(E)||function(E,T){var R=null==E?null:"undefined"!=typeof Symbol&&E[Symbol.iterator]||E["@@iterator"];if(null!=R){var A,S,e=[],O=!0,I=!1;try{for(R=R.call(E);!(O=(A=R.next()).done)&&(e.push(A.value),!T||e.length!==T);O=!0);}catch(E){I=!0,S=E}finally{try{O||null==R.return||R.return()}finally{if(I)throw S}}return e}}(E,T)||function(E,T){if(E){if("string"==typeof E)return Y(E,T);var R=Object.prototype.toString.call(E).slice(8,-1);return"Object"===R&&E.constructor&&(R=E.constructor.name),"Map"===R||"Set"===R?Array.from(E):"Arguments"===R||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(R)?Y(E,T):void 0}}(E,T)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}(E.match(d)||[""],1)[0],T)+T.replace(/ {2}$/,", ")+E.trimStart()}))}(E,R);throw new Error("Unexpected commaPosition: ".concat(T))})).join("\n")}function h(E){return E.map((function(E){return E.replace(/,$/,"")}))}function m(E){return function(E){if(Array.isArray(E))return v(E)}(E)||function(E){if("undefined"!=typeof Symbol&&null!=E[Symbol.iterator]||null!=E["@@iterator"])return Array.from(E)}(E)||function(E,T){if(E){if("string"==typeof E)return v(E,T);var R=Object.prototype.toString.call(E).slice(8,-1);return"Object"===R&&E.constructor&&(R=E.constructor.name),"Map"===R||"Set"===R?Array.from(E):"Arguments"===R||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(R)?v(E,T):void 0}}(E)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function v(E,T){(null==T||T>E.length)&&(T=E.length);for(var R=0,A=new Array(T);R<T;R++)A[R]=E[R];return A}function W(E){return function(E){if(Array.isArray(E))return b(E)}(E)||K(E)||X(E)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function X(E,T){if(E){if("string"==typeof E)return b(E,T);var R=Object.prototype.toString.call(E).slice(8,-1);return"Object"===R&&E.constructor&&(R=E.constructor.name),"Map"===R||"Set"===R?Array.from(E):"Arguments"===R||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(R)?b(E,T):void 0}}function b(E,T){(null==T||T>E.length)&&(T=E.length);for(var R=0,A=new Array(T);R<T;R++)A[R]=E[R];return A}function K(E){if("undefined"!=typeof Symbol&&null!=E[Symbol.iterator]||null!=E["@@iterator"])return Array.from(E)}function g(E,T){if("standard"===T)return E;var R,A=E.value,S=[];if(A.length>=10&&A.includes(" ")){var e=function(E){if(Array.isArray(E))return E}(R=A.split(" "))||K(R)||X(R)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}();A=e[0],S=e.slice(1)}return A="tabularLeft"===T?A.padEnd(9,"​"):A.padStart(9,"​"),Object.assign(Object.assign({},E),{value:A+[""].concat(W(S)).join(" ")})}function J(E,T){for(var R=0;R<T.length;R++){var A=T[R];A.enumerable=A.enumerable||!1,A.configurable=!0,"value"in A&&(A.writable=!0),Object.defineProperty(E,A.key,A)}}var w=function(){function E(T,R){!function(E,T){if(!(E instanceof T))throw new TypeError("Cannot call a class as a function")}(this,E),this.aliasAs=T,this.formatter=R}var T,R;return T=E,(R=[{key:"shouldAddBefore",value:function(E){return this.isMissingTableAlias(E)||this.isMissingSelectColumnAlias(E)}},{key:"isMissingTableAlias",value:function(E){return"always"===this.aliasAs&&E.type===t.WORD&&")"===this.lookBehind().value}},{key:"isMissingSelectColumnAlias",value:function(E){var T=this.lookBehind(),R=this.lookAhead();return("always"===this.aliasAs||"select"===this.aliasAs)&&this.formatter.isWithinSelect()&&E.type===t.WORD&&(o.END(T)||(T.type===t.WORD||T.type===t.NUMBER)&&(","===R.value||P(R)))}},{key:"shouldAddAfter",value:function(){return this.isEdgeCaseCTE()||this.isEdgeCaseCreateTable()||this.isMissingTypeCastAs()}},{key:"isMissingTypeCastAs",value:function(){return"never"===this.aliasAs&&this.formatter.isWithinSelect()&&o.CAST(this.formatter.getPreviousReservedToken())&&o.AS(this.lookAhead())&&(this.lookAhead(2).type===t.WORD||this.lookAhead(2).type===t.RESERVED_KEYWORD)&&")"===this.lookAhead(3).value}},{key:"isEdgeCaseCTE",value:function(){var E=this.lookAhead();return"never"===this.aliasAs&&o.WITH(this.lookBehind())&&("("===E.value||o.AS(E)&&"("===this.lookAhead(2).value)}},{key:"isEdgeCaseCreateTable",value:function(){var E=this.lookBehind(),T=this.lookAhead();return"never"===this.aliasAs&&(o.TABLE(E)||E.value.endsWith("TABLE"))&&(o.WITH(T)||o.AS(T)&&o.WITH(this.lookAhead(2)))}},{key:"shouldRemove",value:function(){return"never"===this.aliasAs||"select"===this.aliasAs&&this.isRemovableNonSelectAs()}},{key:"isRemovableNonSelectAs",value:function(){return")"===this.lookBehind().value&&!this.formatter.isWithinSelect()&&"("!==this.lookAhead().value}},{key:"lookBehind",value:function(E){return this.formatter.tokenLookBehind(E)}},{key:"lookAhead",value:function(E){return this.formatter.tokenLookAhead(E)}}])&&J(T.prototype,R),Object.defineProperty(T,"prototype",{writable:!1}),E}();function k(E,T){if(!(E instanceof T))throw new TypeError("Cannot call a class as a function")}function Q(E,T){for(var R=0;R<T.length;R++){var A=T[R];A.enumerable=A.enumerable||!1,A.configurable=!0,"value"in A&&(A.writable=!0),Object.defineProperty(E,A.key,A)}}var j=function(){function E(T){var R=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];k(this,E),this.keywordCase=T,this.detectedCase=this.autoDetectCase(R)}var T,R;return T=E,(R=[{key:"autoDetectCase",value:function(E){var T=E.filter(o.AS);return T.filter((function(E){return"AS"===E.value})).length>T.length/2?"upper":"lower"}},{key:"token",value:function(){return{type:t.RESERVED_KEYWORD,value:this.asTokenValue()}}},{key:"asTokenValue",value:function(){return"upper"===("preserve"===this.keywordCase?this.detectedCase:this.keywordCase)?"AS":"as"}}])&&Q(T.prototype,R),Object.defineProperty(T,"prototype",{writable:!1}),E}();function Z(E,T){(null==T||T>E.length)&&(T=E.length);for(var R=0,A=new Array(T);R<T;R++)A[R]=E[R];return A}function x(E,T){for(var R=0;R<T.length;R++){var A=T[R];A.enumerable=A.enumerable||!1,A.configurable=!0,"value"in A&&(A.writable=!0),Object.defineProperty(E,A.key,A)}}var $=function(){function E(T){!function(E,T){if(!(E instanceof T))throw new TypeError("Cannot call a class as a function")}(this,E),this.currentNewline=!0,this.previousReservedToken=L,this.previousCommandToken=L,this.tokens=[],this.index=-1,this.cfg=T,this.indentation=new r(this.indentString()),this.inlineBlock=new U(this.cfg.expressionWidth),this.aliasAs=new w(this.cfg.aliasAs,this),this.params=new M(this.cfg.params),this.asTokenFactory=new j(this.cfg.keywordCase)}var T,R;return T=E,R=[{key:"indentString",value:function(){return this.isTabularStyle()?" ".repeat(10):this.cfg.useTabs?"\t":" ".repeat(this.cfg.tabWidth)}},{key:"tokenizer",value:function(){throw new Error("tokenizer() not implemented by subclass")}},{key:"tokenOverride",value:function(E){return E}},{key:"format",value:function(E){this.tokens=this.tokenizer().tokenize(E),this.asTokenFactory=new j(this.cfg.keywordCase,this.tokens);var T=this.getFormattedQueryFromTokens();return this.postFormat(T).replace(/^\n*/,"").trimEnd()}},{key:"postFormat",value:function(E){return this.cfg.tabulateAlias&&(E=function(E){for(var T=E.split("\n"),R=[],A=0;A<T.length;A++)T[A].match(/^\s*SELECT/i)&&"continue"===function(){var E=[];if(T[A].match(/.*,$/))E=[T[A]];else{if(R.push(T[A]),T[A].match(/^\s*SELECT\s+.+(?!,$)/i))return"continue";E.push(T[++A])}for(;T[A++].match(/.*,$/);)E.push(T[A]);var S=E.map((function(E){return{line:E,matches:E.match(/(^.*?\S) (AS )?(\S+,?$)/i)}})).map((function(E){var T=E.line,R=E.matches;return R?{precedingText:R[1],as:R[2],alias:R[3]}:{precedingText:T}})),e=I(S.map((function(E){return E.precedingText.replace(/\s*,\s*$/,"")})));E=S.map((function(E){var T=E.precedingText,R=E.as,A=E.alias;return T+(A?" ".repeat(e-T.length+1)+(null!=R?R:"")+A:"")})),R=[].concat(m(R),m(E))}()||R.push(T[A]);return R.join("\n")}(E)),"before"!==this.cfg.commaPosition&&"tabular"!==this.cfg.commaPosition||(E=V(E,this.cfg.commaPosition,this.indentString())),E}},{key:"getFormattedQueryFromTokens",value:function(){var E="";for(this.index=0;this.index<this.tokens.length;this.index++){var T=this.tokenOverride(this.tokens[this.index]);D(T)&&(this.previousReservedToken=T,T.type!==t.RESERVED_KEYWORD&&T.type!==t.RESERVED_JOIN_CONDITION&&(T=g(T,this.cfg.indentStyle)),T.type===t.RESERVED_COMMAND&&(this.previousCommandToken=T)),T.type===t.LINE_COMMENT?E=this.formatLineComment(T,E):T.type===t.BLOCK_COMMENT?E=this.formatBlockComment(T,E):T.type===t.RESERVED_COMMAND?(this.currentNewline=this.checkNewline(T),E=this.formatCommand(T,E)):E=T.type===t.RESERVED_BINARY_COMMAND?this.formatBinaryCommand(T,E):T.type===t.RESERVED_DEPENDENT_CLAUSE?this.formatDependentClause(T,E):T.type===t.RESERVED_JOIN_CONDITION?this.formatJoinCondition(T,E):T.type===t.RESERVED_LOGICAL_OPERATOR?this.formatLogicalOperator(T,E):T.type===t.RESERVED_KEYWORD?this.formatKeyword(T,E):T.type===t.BLOCK_START?this.formatBlockStart(T,E):T.type===t.BLOCK_END?this.formatBlockEnd(T,E):T.type===t.PLACEHOLDER?this.formatPlaceholder(T,E):T.type===t.OPERATOR?this.formatOperator(T,E):this.formatWord(T,E)}return E.replace(new RegExp("​","ugim")," ")}},{key:"formatWord",value:function(E,T){var R=T;return this.aliasAs.shouldAddBefore(E)&&(R=this.formatWithSpaces(this.asTokenFactory.token(),R)),R=this.formatWithSpaces(E,R),this.aliasAs.shouldAddAfter()&&(R=this.formatWithSpaces(this.asTokenFactory.token(),R)),R}},{key:"checkNewline",value:function(E){var T=this.tokensUntilNextCommandOrQueryEnd();if(this.isWithinSelect()&&T.some(o.CASE))return!0;switch(this.cfg.multilineLists){case"always":return!0;case"avoid":return!1;case"expressionWidth":return this.inlineWidth(E,T)>this.cfg.expressionWidth;default:return this.countClauses(T)>this.cfg.multilineLists||this.inlineWidth(E,T)>this.cfg.expressionWidth}}},{key:"inlineWidth",value:function(E,T){var R=T.map((function(E){var T=E.value;return","===T?T+" ":T})).join("");return"".concat(E.whitespaceBefore).concat(E.value," ").concat(R).length}},{key:"countClauses",value:function(E){var T,R=1,A=0,S=function(E,T){var R="undefined"!=typeof Symbol&&E[Symbol.iterator]||E["@@iterator"];if(!R){if(Array.isArray(E)||(R=function(E,T){if(E){if("string"==typeof E)return Z(E,T);var R=Object.prototype.toString.call(E).slice(8,-1);return"Object"===R&&E.constructor&&(R=E.constructor.name),"Map"===R||"Set"===R?Array.from(E):"Arguments"===R||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(R)?Z(E,T):void 0}}(E))||T&&E&&"number"==typeof E.length){R&&(E=R);var A=0,S=function(){};return{s:S,n:function(){return A>=E.length?{done:!0}:{done:!1,value:E[A++]}},e:function(E){throw E},f:S}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var e,O=!0,I=!1;return{s:function(){R=R.call(E)},n:function(){var E=R.next();return O=E.done,E},e:function(E){I=!0,e=E},f:function(){try{O||null==R.return||R.return()}finally{if(I)throw e}}}}(E);try{for(S.s();!(T=S.n()).done;){var e=T.value,O=e.type;","===e.value&&0===A&&R++,O===t.BLOCK_START&&A++,O===t.BLOCK_END&&A--}}catch(E){S.e(E)}finally{S.f()}return R}},{key:"tokensUntilNextCommandOrQueryEnd",value:function(){var E=this.tokens.slice(this.index+1);return E.slice(0,E.length?E.findIndex((function(E){return P(E)||";"===E.value})):void 0)}},{key:"formatLineComment",value:function(E,T){return this.addNewline(T+this.show(E))}},{key:"formatBlockComment",value:function(E,T){return this.addNewline(this.addNewline(T)+this.indentComment(E.value))}},{key:"indentComment",value:function(E){return E.replace(/\n[\t ]*/g,"\n"+this.indentation.getIndent()+" ")}},{key:"formatCommand",value:function(E,T){return this.indentation.decreaseTopLevel(),T=this.addNewline(T),this.isTabularStyle()?"("!==this.tokenLookAhead().value&&this.indentation.increaseTopLevel():this.indentation.increaseTopLevel(),T+=this.equalizeWhitespace(this.show(E)),this.currentNewline&&!this.isTabularStyle()?T=this.addNewline(T):T+=" ",T}},{key:"formatBinaryCommand",value:function(E,T){var R=/JOIN/i.test(E.value);return R&&!this.isTabularStyle()||this.indentation.decreaseTopLevel(),T=this.addNewline(T)+this.equalizeWhitespace(this.show(E)),R?T+" ":this.addNewline(T)}},{key:"formatKeyword",value:function(E,T){return o.AS(E)&&this.aliasAs.shouldRemove()?T:this.formatWithSpaces(E,T)}},{key:"formatDependentClause",value:function(E,T){return this.addNewline(T)+this.equalizeWhitespace(this.show(E))+" "}},{key:"formatJoinCondition",value:function(E,T){return T+this.equalizeWhitespace(this.show(E))+" "}},{key:"formatOperator",value:function(E,T){return","===E.value?this.formatComma(E,T):";"===E.value?this.formatQuerySeparator(E,T):["$","["].includes(E.value)?this.formatWithSpaces(E,T,"before"):[":","]"].includes(E.value)?this.formatWithSpaces(E,T,"after"):[".","{","}","`"].includes(E.value)||this.cfg.denseOperators&&this.tokenLookBehind().type!==t.RESERVED_COMMAND?this.formatWithoutSpaces(E,T):this.formatWithSpaces(E,T)}},{key:"formatLogicalOperator",value:function(E,T){return o.AND(E)&&o.BETWEEN(this.tokenLookBehind(2))?this.formatWithSpaces(E,T):(this.isTabularStyle()&&this.indentation.decreaseTopLevel(),"before"===this.cfg.logicalOperatorNewline?(this.currentNewline?this.addNewline(T):T)+this.equalizeWhitespace(this.show(E))+" ":(T+=this.show(E),this.currentNewline?this.addNewline(T):T))}},{key:"equalizeWhitespace",value:function(E){return E.replace(/[\t-\r \xA0\u1680\u2000-\u200A\u2028\u2029\u202F\u205F\u3000\uFEFF]+/g," ")}},{key:"formatBlockStart",value:function(E,T){var R;if(o.CASE(E))T=this.formatWithSpaces(E,T);else{var A=[t.BLOCK_START,t.LINE_COMMENT,t.OPERATOR];0!==(null===(R=E.whitespaceBefore)||void 0===R?void 0:R.length)||A.includes(this.tokenLookBehind().type)?this.cfg.newlineBeforeOpenParen||(T=T.trimEnd()+" "):T=S(T),T+=this.show(E),this.inlineBlock.beginIfPossible(this.tokens,this.index)}return this.inlineBlock.isActive()||(this.indentation.increaseBlockLevel(),o.CASE(E)&&"always"!==this.cfg.multilineLists||(T=this.addNewline(T))),T}},{key:"formatBlockEnd",value:function(E,T){return this.inlineBlock.isActive()?(this.inlineBlock.end(),o.END(E)?this.formatWithSpaces(E,T):this.formatWithSpaces(E,T,"after")):(this.indentation.decreaseBlockLevel(),T=this.isTabularStyle()?this.addNewline(T)+this.indentation.getSingleIndent():this.cfg.newlineBeforeCloseParen?this.addNewline(T):T.trimEnd()+" ",this.formatWithSpaces(E,T))}},{key:"formatPlaceholder",value:function(E,T){return T+this.params.get(E)+" "}},{key:"formatComma",value:function(E,T){return T=S(T)+this.show(E)+" ",this.inlineBlock.isActive()||o.LIMIT(this.getPreviousReservedToken())?T:this.currentNewline?this.addNewline(T):T}},{key:"formatWithoutSpaces",value:function(E,T){return S(T)+this.show(E)}},{key:"formatWithSpaces",value:function(E,T){var R=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"both",A="after"===R?S(T):T,e="before"===R?"":" ";return A+this.show(E)+e}},{key:"formatQuerySeparator",value:function(E,T){return this.indentation.resetIndentation(),[S(T),this.cfg.newlineBeforeSemicolon?"\n":"",this.show(E),"\n".repeat(this.cfg.linesBetweenQueries+1)].join("")}},{key:"show",value:function(E){if(!D(E)&&E.type!==t.BLOCK_START&&E.type!==t.BLOCK_END)return E.value;switch(this.cfg.keywordCase){case"preserve":return E.value;case"upper":return E.value.toUpperCase();case"lower":return E.value.toLowerCase()}}},{key:"addNewline",value:function(E){return(E=S(E)).endsWith("\n")||(E+="\n"),E+this.indentation.getIndent()}},{key:"isTabularStyle",value:function(){return"tabularLeft"===this.cfg.indentStyle||"tabularRight"===this.cfg.indentStyle}},{key:"getPreviousReservedToken",value:function(){return this.previousReservedToken}},{key:"isWithinSelect",value:function(){return o.SELECT(this.previousCommandToken)}},{key:"tokenLookBehind",value:function(){var E=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1;return this.tokens[this.index-E]||L}},{key:"tokenLookAhead",value:function(){var E=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1;return this.tokens[this.index+E]||L}}],R&&x(T.prototype,R),Object.defineProperty(T,"prototype",{writable:!1}),E}();function z(E){return z="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(E){return typeof E}:function(E){return E&&"function"==typeof Symbol&&E.constructor===Symbol&&E!==Symbol.prototype?"symbol":typeof E},z(E)}function q(E){return function(E){if(Array.isArray(E))return EE(E)}(E)||function(E){if("undefined"!=typeof Symbol&&null!=E[Symbol.iterator]||null!=E["@@iterator"])return Array.from(E)}(E)||function(E,T){if(E){if("string"==typeof E)return EE(E,T);var R=Object.prototype.toString.call(E).slice(8,-1);return"Object"===R&&E.constructor&&(R=E.constructor.name),"Map"===R||"Set"===R?Array.from(E):"Arguments"===R||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(R)?EE(E,T):void 0}}(E)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function EE(E,T){(null==T||T>E.length)&&(T=E.length);for(var R=0,A=new Array(T);R<T;R++)A[R]=E[R];return A}function TE(E,T){if(!(E instanceof T))throw new TypeError("Cannot call a class as a function")}function RE(E,T){for(var R=0;R<T.length;R++){var A=T[R];A.enumerable=A.enumerable||!1,A.configurable=!0,"value"in A&&(A.writable=!0),Object.defineProperty(E,A.key,A)}}function AE(E,T){return AE=Object.setPrototypeOf||function(E,T){return E.__proto__=T,E},AE(E,T)}function SE(E,T){if(T&&("object"===z(T)||"function"==typeof T))return T;if(void 0!==T)throw new TypeError("Derived constructors may only return object or undefined");return function(E){if(void 0===E)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return E}(E)}function eE(E){return eE=Object.setPrototypeOf?Object.getPrototypeOf:function(E){return E.__proto__||Object.getPrototypeOf(E)},eE(E)}var OE=function(E){!function(E,T){if("function"!=typeof T&&null!==T)throw new TypeError("Super expression must either be null or a function");E.prototype=Object.create(T&&T.prototype,{constructor:{value:E,writable:!0,configurable:!0}}),Object.defineProperty(E,"prototype",{writable:!1}),T&&AE(E,T)}(O,E);var T,R,A,S,e=(A=O,S=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(E){return!1}}(),function(){var E,T=eE(A);if(S){var R=eE(this).constructor;E=Reflect.construct(T,arguments,R)}else E=T.apply(this,arguments);return SE(this,E)});function O(){return TE(this,O),e.apply(this,arguments)}return T=O,(R=[{key:"tokenizer",value:function(){return new F({reservedCommands:O.reservedCommands,reservedBinaryCommands:O.reservedBinaryCommands,reservedDependentClauses:O.reservedDependentClauses,reservedJoinConditions:O.reservedJoinConditions,reservedLogicalOperators:O.reservedLogicalOperators,reservedKeywords:O.fullReservedWords,stringTypes:O.stringTypes,blockStart:O.blockStart,blockEnd:O.blockEnd,indexedPlaceholderTypes:O.indexedPlaceholderTypes,namedPlaceholderTypes:O.namedPlaceholderTypes,lineCommentTypes:O.lineCommentTypes,specialWordChars:O.specialWordChars,operators:O.operators})}},{key:"tokenOverride",value:function(E){if((/ARRAY/i.test(E.value)||/STRUCT/i.test(E.value))&&"<"===this.tokenLookAhead().value){var T=0,R=E.value;do{var A=this.tokenLookAhead();">"===A.value||">>"===A.value?T-=A.value.length:"<"===A.value&&T++,R+=this.tokens.splice(this.index+1,1)[0].value}while(T>0);return Object.assign(Object.assign({},E),{value:R})}return E}}])&&RE(T.prototype,R),Object.defineProperty(T,"prototype",{writable:!1}),O}($);function IE(E){return IE="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(E){return typeof E}:function(E){return E&&"function"==typeof Symbol&&E.constructor===Symbol&&E!==Symbol.prototype?"symbol":typeof E},IE(E)}function NE(E){return function(E){if(Array.isArray(E))return tE(E)}(E)||function(E){if("undefined"!=typeof Symbol&&null!=E[Symbol.iterator]||null!=E["@@iterator"])return Array.from(E)}(E)||function(E,T){if(E){if("string"==typeof E)return tE(E,T);var R=Object.prototype.toString.call(E).slice(8,-1);return"Object"===R&&E.constructor&&(R=E.constructor.name),"Map"===R||"Set"===R?Array.from(E):"Arguments"===R||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(R)?tE(E,T):void 0}}(E)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function tE(E,T){(null==T||T>E.length)&&(T=E.length);for(var R=0,A=new Array(T);R<T;R++)A[R]=E[R];return A}function CE(E,T){if(!(E instanceof T))throw new TypeError("Cannot call a class as a function")}function rE(E,T){for(var R=0;R<T.length;R++){var A=T[R];A.enumerable=A.enumerable||!1,A.configurable=!0,"value"in A&&(A.writable=!0),Object.defineProperty(E,A.key,A)}}function LE(E,T){return LE=Object.setPrototypeOf||function(E,T){return E.__proto__=T,E},LE(E,T)}function nE(E,T){if(T&&("object"===IE(T)||"function"==typeof T))return T;if(void 0!==T)throw new TypeError("Derived constructors may only return object or undefined");return function(E){if(void 0===E)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return E}(E)}function _E(E){return _E=Object.setPrototypeOf?Object.getPrototypeOf:function(E){return E.__proto__||Object.getPrototypeOf(E)},_E(E)}OE.reservedCommands=["SELECT","FROM","UNNEST","PIVOT","UNPIVOT","TABLESAMPLE SYSTEM","WHERE","GROUP BY","HAVING","ORDER BY","QUALIFY","WINDOW","LIMIT","OFFSET","WITH","OMIT RECORD IF","INSERT","INSERT INTO","VALUES","DELETE","TRUNCATE TABLE","UPDATE","MERGE","MERGE INTO","SET SCHEMA","CREATE SCHEMA","CREATE TABLE","CREATE TABLE LIKE","CREATE TABLE COPY","CREATE SNAPSHOT TABLE","CREATE TABLE CLONE","CREATE VIEW","CREATE MATERIALIZED VIEW","CREATE EXTERNAL TABLE","CREATE FUNCTION","CREATE TABLE FUNCTION","CREATE PROCEDURE","CREATE ROW ACCESS POLICY","ALTER SCHEMA SET OPTIONS","ALTER TABLE SET OPTIONS","ALTER TABLE ADD COLUMN","ALTER TABLE RENAME TO","ALTER TABLE DROP COLUMN","ALTER COLUMN SET OPTIONS","ALTER COLUMN DROP NOT NULL","ALTER COLUMN SET DATA TYPE","ALTER VIEW SET OPTIONS","ALTER MATERIALIZED VIEW SET OPTIONS","DROP SCHEMA","DROP TABLE","DROP SNAPSHOT TABLE","DROP EXTERNAL TABLE","DROP VIEW","DROP MATERIALIZED VIEW","DROP FUNCTION","DROP TABLE FUNCTION","DROP PROCEDURE","DROP ROW ACCESS POLICY","GRANT","REVOKE","CREATE CAPACITY","CREATE RESERVATION","CREATE ASSIGNMENT","DROP CAPACITY","DROP RESERVATION","DROP ASSIGNMENT","DECLARE","SET","EXECUTE IMMEDIATE","LOOP","END LOOP","REPEAT","END REPEAT","WHILE","END WHILE","BREAK","LEAVE","CONTINUE","ITERATE","FOR","END FOR","BEGIN","BEGIN TRANSACTION","COMMIT TRANSACTION","ROLLBACK TRANSACTION","RAISE","RETURN","CALL","ASSERT","EXPORT DATA"],OE.reservedBinaryCommands=["INTERSECT","INTERSECT ALL","INTERSECT DISTINCT","UNION","UNION ALL","UNION DISTINCT","EXCEPT","EXCEPT ALL","EXCEPT DISTINCT","JOIN","INNER JOIN","LEFT JOIN","LEFT OUTER JOIN","RIGHT JOIN","RIGHT OUTER JOIN","FULL JOIN","FULL OUTER JOIN","CROSS JOIN"],OE.reservedDependentClauses=["WHEN","ELSE"],OE.reservedJoinConditions=["ON","USING"],OE.reservedLogicalOperators=["AND","OR"],OE.fullReservedWords=A([].concat(q(Object.values({aead:["KEYS.NEW_KEYSET","KEYS.ADD_KEY_FROM_RAW_BYTES","AEAD.DECRYPT_BYTES","AEAD.DECRYPT_STRING","AEAD.ENCRYPT","KEYS.KEYSET_CHAIN","KEYS.KEYSET_FROM_JSON","KEYS.KEYSET_TO_JSON","KEYS.ROTATE_KEYSET","KEYS.KEYSET_LENGTH"],aggregateAnalytic:["ANY_VALUE","ARRAY_AGG","AVG","CORR","COUNT","COUNTIF","COVAR_POP","COVAR_SAMP","MAX","MIN","ST_CLUSTERDBSCAN","STDDEV_POP","STDDEV_SAMP","STRING_AGG","SUM","VAR_POP","VAR_SAMP"],aggregate:["ANY_VALUE","ARRAY_AGG","ARRAY_CONCAT_AGG","AVG","BIT_AND","BIT_OR","BIT_XOR","COUNT","COUNTIF","LOGICAL_AND","LOGICAL_OR","MAX","MIN","STRING_AGG","SUM"],approximateAggregate:["APPROX_COUNT_DISTINCT","APPROX_QUANTILES","APPROX_TOP_COUNT","APPROX_TOP_SUM"],array:["ARRAY","ARRAY_CONCAT","ARRAY_LENGTH","ARRAY_TO_STRING","GENERATE_ARRAY","GENERATE_DATE_ARRAY","GENERATE_TIMESTAMP_ARRAY","ARRAY_REVERSE","OFFSET","SAFE_OFFSET","ORDINAL","SAFE_ORDINAL"],bitwise:["BIT_COUNT"],conversion:["CASE","PARSE_BIGNUMERIC","PARSE_NUMERIC","SAFE_CAST"],date:["CURRENT_DATE","EXTRACT","DATE","DATE_ADD","DATE_SUB","DATE_DIFF","DATE_TRUNC","DATE_FROM_UNIX_DATE","FORMAT_DATE","LAST_DAY","PARSE_DATE","UNIX_DATE"],datetime:["CURRENT_DATETIME","DATETIME","EXTRACT","DATETIME_ADD","DATETIME_SUB","DATETIME_DIFF","DATETIME_TRUNC","FORMAT_DATETIME","LAST_DAY","PARSE_DATETIME"],debugging:["ERROR"],federatedQuery:["EXTERNAL_QUERY"],geography:["S2_CELLIDFROMPOINT","S2_COVERINGCELLIDS","ST_ANGLE","ST_AREA","ST_ASBINARY","ST_ASGEOJSON","ST_ASTEXT","ST_AZIMUTH","ST_BOUNDARY","ST_BOUNDINGBOX","ST_BUFFER","ST_BUFFERWITHTOLERANCE","ST_CENTROID","ST_CENTROID_AGG","ST_CLOSESTPOINT","ST_CLUSTERDBSCAN","ST_CONTAINS","ST_CONVEXHULL","ST_COVEREDBY","ST_COVERS","ST_DIFFERENCE","ST_DIMENSION","ST_DISJOINT","ST_DISTANCE","ST_DUMP","ST_DWITHIN","ST_ENDPOINT","ST_EQUALS","ST_EXTENT","ST_EXTERIORRING","ST_GEOGFROM","ST_GEOGFROMGEOJSON","ST_GEOGFROMTEXT","ST_GEOGFROMWKB","ST_GEOGPOINT","ST_GEOGPOINTFROMGEOHASH","ST_GEOHASH","ST_GEOMETRYTYPE","ST_INTERIORRINGS","ST_INTERSECTION","ST_INTERSECTS","ST_INTERSECTSBOX","ST_ISCOLLECTION","ST_ISEMPTY","ST_LENGTH","ST_MAKELINE","ST_MAKEPOLYGON","ST_MAKEPOLYGONORIENTED","ST_MAXDISTANCE","ST_NPOINTS","ST_NUMGEOMETRIES","ST_NUMPOINTS","ST_PERIMETER","ST_POINTN","ST_SIMPLIFY","ST_SNAPTOGRID","ST_STARTPOINT","ST_TOUCHES","ST_UNION","ST_UNION_AGG","ST_WITHIN","ST_X","ST_Y"],hash:["FARM_FINGERPRINT","MD5","SHA1","SHA256","SHA512"],hll:["HLL_COUNT.INIT","HLL_COUNT.MERGE","HLL_COUNT.MERGE_PARTIAL","HLL_COUNT.EXTRACT"],interval:["MAKE_INTERVAL","EXTRACT","JUSTIFY_DAYS","JUSTIFY_HOURS","JUSTIFY_INTERVAL"],json:["JSON_EXTRACT","JSON_QUERY","JSON_EXTRACT_SCALAR","JSON_VALUE","JSON_EXTRACT_ARRAY","JSON_QUERY_ARRAY","JSON_EXTRACT_STRING_ARRAY","JSON_VALUE_ARRAY","TO_JSON_STRING"],math:["ABS","SIGN","IS_INF","IS_NAN","IEEE_DIVIDE","RAND","SQRT","POW","POWER","EXP","LN","LOG","LOG10","GREATEST","LEAST","DIV","SAFE_DIVIDE","SAFE_MULTIPLY","SAFE_NEGATE","SAFE_ADD","SAFE_SUBTRACT","MOD","ROUND","TRUNC","CEIL","CEILING","FLOOR","COS","COSH","ACOS","ACOSH","SIN","SINH","ASIN","ASINH","TAN","TANH","ATAN","ATANH","ATAN2","RANGE_BUCKET"],navigation:["FIRST_VALUE","LAST_VALUE","NTH_VALUE","LEAD","LAG","PERCENTILE_CONT","PERCENTILE_DISC"],net:["NET.IP_FROM_STRING","NET.SAFE_IP_FROM_STRING","NET.IP_TO_STRING","NET.IP_NET_MASK","NET.IP_TRUNC","NET.IPV4_FROM_INT64","NET.IPV4_TO_INT64","NET.HOST","NET.PUBLIC_SUFFIX","NET.REG_DOMAIN"],numbering:["RANK","DENSE_RANK","PERCENT_RANK","CUME_DIST","NTILE","ROW_NUMBER"],security:["SESSION_USER"],statisticalAggregate:["CORR","COVAR_POP","COVAR_SAMP","STDDEV_POP","STDDEV_SAMP","STDDEV","VAR_POP","VAR_SAMP","VARIANCE"],string:["ASCII","BYTE_LENGTH","CHAR_LENGTH","CHARACTER_LENGTH","CHR","CODE_POINTS_TO_BYTES","CODE_POINTS_TO_STRING","CONCAT","CONTAINS_SUBSTR","ENDS_WITH","FORMAT","FROM_BASE32","FROM_BASE64","FROM_HEX","INITCAP","INSTR","LEFT","LENGTH","LPAD","LOWER","LTRIM","NORMALIZE","NORMALIZE_AND_CASEFOLD","OCTET_LENGTH","REGEXP_CONTAINS","REGEXP_EXTRACT","REGEXP_EXTRACT_ALL","REGEXP_INSTR","REGEXP_REPLACE","REGEXP_SUBSTR","REPLACE","REPEAT","REVERSE","RIGHT","RPAD","RTRIM","SAFE_CONVERT_BYTES_TO_STRING","SOUNDEX","SPLIT","STARTS_WITH","STRPOS","SUBSTR","SUBSTRING","TO_BASE32","TO_BASE64","TO_CODE_POINTS","TO_HEX","TRANSLATE","TRIM","UNICODE","UPPER"],time:["CURRENT_TIME","TIME","EXTRACT","TIME_ADD","TIME_SUB","TIME_DIFF","TIME_TRUNC","FORMAT_TIME","PARSE_TIME"],timestamp:["CURRENT_TIMESTAMP","EXTRACT","STRING","TIMESTAMP","TIMESTAMP_ADD","TIMESTAMP_SUB","TIMESTAMP_DIFF","TIMESTAMP_TRUNC","FORMAT_TIMESTAMP","PARSE_TIMESTAMP","TIMESTAMP_SECONDS","TIMESTAMP_MILLIS","TIMESTAMP_MICROS","UNIX_SECONDS","UNIX_MILLIS","UNIX_MICROS"],uuid:["GENERATE_UUID"],conditional:["COALESCE","IF","IFNULL","NULLIF"],legacyAggregate:["AVG","BIT_AND","BIT_OR","BIT_XOR","CORR","COUNT","COVAR_POP","COVAR_SAMP","EXACT_COUNT_DISTINCT","FIRST","GROUP_CONCAT","GROUP_CONCAT_UNQUOTED","LAST","MAX","MIN","NEST","NTH","QUANTILES","STDDEV","STDDEV_POP","STDDEV_SAMP","SUM","TOP","UNIQUE","VARIANCE","VAR_POP","VAR_SAMP"],legacyBitwise:["BIT_COUNT"],legacyCasting:["BOOLEAN","BYTES","CAST","FLOAT","HEX_STRING","INTEGER","STRING"],legacyComparison:["COALESCE","GREATEST","IFNULL","IS_INF","IS_NAN","IS_EXPLICITLY_DEFINED","LEAST","NVL"],legacyDatetime:["CURRENT_DATE","CURRENT_TIME","CURRENT_TIMESTAMP","DATE","DATE_ADD","DATEDIFF","DAY","DAYOFWEEK","DAYOFYEAR","FORMAT_UTC_USEC","HOUR","MINUTE","MONTH","MSEC_TO_TIMESTAMP","NOW","PARSE_UTC_USEC","QUARTER","SEC_TO_TIMESTAMP","SECOND","STRFTIME_UTC_USEC","TIME","TIMESTAMP","TIMESTAMP_TO_MSEC","TIMESTAMP_TO_SEC","TIMESTAMP_TO_USEC","USEC_TO_TIMESTAMP","UTC_USEC_TO_DAY","UTC_USEC_TO_HOUR","UTC_USEC_TO_MONTH","UTC_USEC_TO_WEEK","UTC_USEC_TO_YEAR","WEEK","YEAR"],legacyIp:["FORMAT_IP","PARSE_IP","FORMAT_PACKED_IP","PARSE_PACKED_IP"],legacyJson:["JSON_EXTRACT","JSON_EXTRACT_SCALAR"],legacyMath:["ABS","ACOS","ACOSH","ASIN","ASINH","ATAN","ATANH","ATAN2","CEIL","COS","COSH","DEGREES","EXP","FLOOR","LN","LOG","LOG2","LOG10","PI","POW","RADIANS","RAND","ROUND","SIN","SINH","SQRT","TAN","TANH"],legacyRegex:["REGEXP_MATCH","REGEXP_EXTRACT","REGEXP_REPLACE"],legacyString:["CONCAT","INSTR","LEFT","LENGTH","LOWER","LPAD","LTRIM","REPLACE","RIGHT","RPAD","RTRIM","SPLIT","SUBSTR","UPPER"],legacyTableWildcard:["TABLE_DATE_RANGE","TABLE_DATE_RANGE_STRICT","TABLE_QUERY"],legacyUrl:["HOST","DOMAIN","TLD"],legacyWindow:["AVG","COUNT","MAX","MIN","STDDEV","SUM","CUME_DIST","DENSE_RANK","FIRST_VALUE","LAG","LAST_VALUE","LEAD","NTH_VALUE","NTILE","PERCENT_RANK","PERCENTILE_CONT","PERCENTILE_DISC","RANK","RATIO_TO_REPORT","ROW_NUMBER"],legacyMisc:["CURRENT_USER","EVERY","FROM_BASE64","HASH","FARM_FINGERPRINT","IF","POSITION","SHA1","SOME","TO_BASE64"],other:["BQ.JOBS.CANCEL","BQ.REFRESH_MATERIALIZED_VIEW"]}).reduce((function(E,T){return[].concat(q(E),q(T))}),[])),q(Object.values({keywords:["ALL","ANY","AS","ASC","ASSERT_ROWS_MODIFIED","AT","BETWEEN","BY","CAST","COLLATE","CONTAINS","CUBE","CURRENT","DEFAULT","DEFINE","DESC","DISTINCT","ENUM","ESCAPE","EXISTS","EXTRACT","FALSE","FOLLOWING","FOR","FULL","GROUPING","GROUPS","HASH","IF","IGNORE","IN","INTO","IS","LIKE","LOOKUP","NEW","NO","NOT","NULL","NULLS","OF","OVER","PARTITION","PRECEDING","PROTO","RANGE","RECURSIVE","RESPECT","ROLLUP","ROWS","SOME","TABLE","THEN","TO","TREAT","TRUE","UNBOUNDED","WITHIN"],datatypes:["ARRAY","BOOL","BYTES","DATE","DATETIME","GEOGRAPHY","INTERVAL","INT64","INT","SMALLINT","INTEGER","BIGINT","TINYINT","BYTEINT","NUMERIC","DECIMAL","BIGNUMERIC","BIGDECIMAL","FLOAT64","STRING","STRUCT","TIME","TIMEZONE"],stringFormat:["HEX","BASEX","BASE64M","ASCII","UTF-8","UTF8"],misc:["SAFE"]}).reduce((function(E,T){return[].concat(q(E),q(T))}),[])))),OE.stringTypes=['""',"''","``"],OE.blockStart=["(","CASE"],OE.blockEnd=[")","END"],OE.indexedPlaceholderTypes=["?"],OE.namedPlaceholderTypes=[],OE.lineCommentTypes=["--","#"],OE.specialWordChars={any:"_@$-"},OE.operators=[">>","<<","||"];var oE=function(E){!function(E,T){if("function"!=typeof T&&null!==T)throw new TypeError("Super expression must either be null or a function");E.prototype=Object.create(T&&T.prototype,{constructor:{value:E,writable:!0,configurable:!0}}),Object.defineProperty(E,"prototype",{writable:!1}),T&&LE(E,T)}(O,E);var T,R,A,S,e=(A=O,S=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(E){return!1}}(),function(){var E,T=_E(A);if(S){var R=_E(this).constructor;E=Reflect.construct(T,arguments,R)}else E=T.apply(this,arguments);return nE(this,E)});function O(){return CE(this,O),e.apply(this,arguments)}return T=O,(R=[{key:"tokenizer",value:function(){return new F({reservedCommands:O.reservedCommands,reservedBinaryCommands:O.reservedBinaryCommands,reservedDependentClauses:O.reservedDependentClauses,reservedJoinConditions:O.reservedJoinConditions,reservedLogicalOperators:O.reservedLogicalOperators,reservedKeywords:O.fullReservedWords,stringTypes:O.stringTypes,blockStart:O.blockStart,blockEnd:O.blockEnd,indexedPlaceholderTypes:O.indexedPlaceholderTypes,namedPlaceholderTypes:O.namedPlaceholderTypes,lineCommentTypes:O.lineCommentTypes,specialWordChars:O.specialWordChars,operators:O.operators})}}])&&rE(T.prototype,R),Object.defineProperty(T,"prototype",{writable:!1}),O}($);function PE(E){return PE="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(E){return typeof E}:function(E){return E&&"function"==typeof Symbol&&E.constructor===Symbol&&E!==Symbol.prototype?"symbol":typeof E},PE(E)}function DE(E){return function(E){if(Array.isArray(E))return iE(E)}(E)||function(E){if("undefined"!=typeof Symbol&&null!=E[Symbol.iterator]||null!=E["@@iterator"])return Array.from(E)}(E)||function(E,T){if(E){if("string"==typeof E)return iE(E,T);var R=Object.prototype.toString.call(E).slice(8,-1);return"Object"===R&&E.constructor&&(R=E.constructor.name),"Map"===R||"Set"===R?Array.from(E):"Arguments"===R||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(R)?iE(E,T):void 0}}(E)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function iE(E,T){(null==T||T>E.length)&&(T=E.length);for(var R=0,A=new Array(T);R<T;R++)A[R]=E[R];return A}function UE(E,T){if(!(E instanceof T))throw new TypeError("Cannot call a class as a function")}function aE(E,T){for(var R=0;R<T.length;R++){var A=T[R];A.enumerable=A.enumerable||!1,A.configurable=!0,"value"in A&&(A.writable=!0),Object.defineProperty(E,A.key,A)}}function ME(E,T){return ME=Object.setPrototypeOf||function(E,T){return E.__proto__=T,E},ME(E,T)}function sE(E,T){if(T&&("object"===PE(T)||"function"==typeof T))return T;if(void 0!==T)throw new TypeError("Derived constructors may only return object or undefined");return function(E){if(void 0===E)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return E}(E)}function cE(E){return cE=Object.setPrototypeOf?Object.getPrototypeOf:function(E){return E.__proto__||Object.getPrototypeOf(E)},cE(E)}oE.reservedCommands=["ALLOCATE CURSOR","ALTER DATABASE","ALTER FUNCTION","ALTER INDEX","ALTER MASK","ALTER PERMISSION","ALTER PROCEDURE","ALTER SEQUENCE","ALTER STOGROUP","ALTER TABLE","ALTER TABLESPACE","ALTER TRIGGER","ALTER TRUSTED CONTEXT","ALTER VIEW","ASSOCIATE LOCATORS","BEGIN DECLARE SECTION","CALL","CLOSE","COMMENT","COMMIT","CONNECT","CREATE ALIAS","CREATE AUXILIARY TABLE","CREATE DATABASE","CREATE FUNCTION","CREATE GLOBAL TEMPORARY TABLE","CREATE INDEX","CREATE LOB TABLESPACE","CREATE MASK","CREATE PERMISSION","CREATE PROCEDURE","CREATE ROLE","CREATE SEQUENCE","CREATE STOGROUP","CREATE SYNONYM","CREATE TABLE","CREATE TABLESPACE","CREATE TRIGGER","CREATE TRUSTED CONTEXT","CREATE TYPE","CREATE VARIABLE","CREATE VIEW","DECLARE CURSOR","DECLARE GLOBAL TEMPORARY TABLE","DECLARE STATEMENT","DECLARE TABLE","DECLARE VARIABLE","DELETE","DESCRIBE CURSOR","DESCRIBE INPUT","DESCRIBE OUTPUT","DESCRIBE PROCEDURE","DESCRIBE TABLE","DROP","END DECLARE SECTION","EXCHANGE","EXECUTE","EXECUTE IMMEDIATE","EXPLAIN","FETCH","FREE LOCATOR","GET DIAGNOSTICS","GRANT","HOLD LOCATOR","INCLUDE","INSERT","LABEL","LOCK TABLE","MERGE","OPEN","PREPARE","REFRESH","RELEASE","RELEASE SAVEPOINT","RENAME","REVOKE","ROLLBACK","SAVEPOINT","SELECT","SELECT INTO","SET CONNECTION","SET","SET CURRENT ACCELERATOR","SET CURRENT APPLICATION COMPATIBILITY","SET CURRENT APPLICATION ENCODING SCHEME","SET CURRENT DEBUG MODE","SET CURRENT DECFLOAT ROUNDING MODE","SET CURRENT DEGREE","SET CURRENT EXPLAIN MODE","SET CURRENT GET_ACCEL_ARCHIVE","SET CURRENT LOCALE LC_CTYPE","SET CURRENT MAINTAINED TABLE TYPES FOR OPTIMIZATION","SET CURRENT OPTIMIZATION HINT","SET CURRENT PACKAGE PATH","SET CURRENT PACKAGESET","SET CURRENT PRECISION","SET CURRENT QUERY ACCELERATION","SET CURRENT QUERY ACCELERATION WAITFORDATA","SET CURRENT REFRESH AGE","SET CURRENT ROUTINE VERSION","SET CURRENT RULES","SET CURRENT SQLID","SET CURRENT TEMPORAL BUSINESS_TIME","SET CURRENT TEMPORAL SYSTEM_TIME","SET ENCRYPTION PASSWORD","SET PATH","SET SCHEMA","SET SESSION TIME ZONE","SIGNAL","TRUNCATE","UPDATE","VALUES","VALUES INTO","WHENEVER","ADD","ALTER COLUMN","AFTER","DROP TABLE","FETCH FIRST","FROM","GROUP BY","GO","HAVING","INSERT INTO","LIMIT","OFFSET","ORDER BY","SELECT","SET CURRENT SCHEMA","WHERE","WITH"],oE.reservedBinaryCommands=["INTERSECT","INTERSECT ALL","INTERSECT DISTINCT","UNION","UNION ALL","UNION DISTINCT","EXCEPT","EXCEPT ALL","EXCEPT DISTINCT","JOIN","INNER JOIN","LEFT JOIN","LEFT OUTER JOIN","RIGHT JOIN","RIGHT OUTER JOIN","FULL JOIN","FULL OUTER JOIN","CROSS JOIN","NATURAL JOIN"],oE.reservedDependentClauses=["WHEN","ELSE","ELSEIF"],oE.reservedJoinConditions=["ON","USING"],oE.reservedLogicalOperators=["AND","OR"],oE.fullReservedWords=A([].concat(NE(Object.values({aggregate:["ARRAY_AGG","AVG","CORR","CORRELATION","COUNT","COUNT_BIG","COVAR_POP","COVARIANCE","COVAR","COVAR_SAMP","COVARIANCE_SAMP","CUME_DIST","GROUPING","LISTAGG","MAX","MEDIAN","MIN","PERCENTILE_CONT","PERCENTILE_DISC","PERCENT_RANK","REGR_AVGX","REGR_AVGY","REGR_COUNT","REGR_INTERCEPT","REGR_ICPT","REGR_R2","REGR_SLOPE","REGR_SXX","REGR_SXY","REGR_SYY","STDDEV_POP","STDDEV","STDDEV_SAMP","SUM","VAR_POP","VARIANCE","VAR","VAR_SAMP","VARIANCE_SAMP","XMLAGG"],scalar:["ABS","ABSVAL","ACOS","ADD_DAYS","ADD_MONTHS","ARRAY_DELETE","ARRAY_FIRST","ARRAY_LAST","ARRAY_NEXT","ARRAY_PRIOR","ARRAY_TRIM","ASCII","ASCII_CHR","ASCII_STR","ASCIISTR","ASIN","ATAN","ATANH","ATAN2","BIGINT","BINARY","BITAND","BITANDNOT","BITOR","BITXOR","BITNOT","BLOB","BTRIM","CARDINALITY","CCSID_ENCODING","CEILING","CEIL","CHAR","CHAR9","CHARACTER_LENGTH","CHAR_LENGTH","CHR","CLOB","COALESCE","COLLATION_KEY","COMPARE_DECFLOAT","CONCAT","CONTAINS","COS","COSH","DATE","DAY","DAYOFMONTH","DAYOFWEEK","DAYOFWEEK_ISO","DAYOFYEAR","DAYS","DAYS_BETWEEN","DBCLOB","DECFLOAT","DECFLOAT_FORMAT","DECFLOAT_SORTKEY","DECIMAL","DEC","DECODE","DECRYPT_BINARY","DECRYPT_BIT","DECRYPT_CHAR","DECRYPT_DB","DECRYPT_DATAKEY_BIGINT","DECRYPT_DATAKEY_BIT","DECRYPT_DATAKEY_CLOB","DECRYPT_DATAKEY_DBCLOB","DECRYPT_DATAKEY_DECIMAL","DECRYPT_DATAKEY_INTEGER","DECRYPT_DATAKEY_VARCHAR","DECRYPT_DATAKEY_VARGRAPHIC","DEGREES","DIFFERENCE","DIGITS","DOUBLE_PRECISION","DOUBLE","DSN_XMLVALIDATE","EBCDIC_CHR","EBCDIC_STR","ENCRYPT_DATAKEY","ENCRYPT_TDES","EXP","EXTRACT","FLOAT","FLOOR","GENERATE_UNIQUE","GENERATE_UNIQUE_BINARY","GETHINT","GETVARIABLE","GRAPHIC","GREATEST","HASH","HASH_CRC32","HASH_MD5","HASH_SHA1","HASH_SHA256","HEX","HOUR","IDENTITY_VAL_LOCAL","IFNULL","INSERT","INSTR","INTEGER","INT","JULIAN_DAY","LAST_DAY","LCASE","LEAST","LEFT","LENGTH","LN","LOCATE","LOCATE_IN_STRING","LOG10","LOWER","LPAD","LTRIM","MAX","MAX_CARDINALITY","MICROSECOND","MIDNIGHT_SECONDS","MIN","MINUTE","MOD","MONTH","MONTHS_BETWEEN","MQREAD","MQREADCLOB","MQRECEIVE","MQRECEIVECLOB","MQSEND","MULTIPLY_ALT","NEXT_DAY","NEXT_MONTH","NORMALIZE_DECFLOAT","NORMALIZE_STRING","NULLIF","NVL","OVERLAY","PACK","POSITION","POSSTR","POWER","POW","QUANTIZE","QUARTER","RADIANS","RAISE_ERROR","RANDOM","RAND","REAL","REGEXP_COUNT","REGEXP_INSTR","REGEXP_LIKE","REGEXP_REPLACE","REGEXP_SUBSTR","REPEAT","REPLACE","RID","RIGHT","ROUND","ROUND_TIMESTAMP","ROWID","RPAD","RTRIM","SCORE","SECOND","SIGN","SIN","SINH","SMALLINT","SOUNDEX","SOAPHTTPC","SOAPHTTPV","SOAPHTTPNC","SOAPHTTPNV","SPACE","SQRT","STRIP","STRLEFT","STRPOS","STRRIGHT","SUBSTR","SUBSTRING","TAN","TANH","TIME","TIMESTAMP","TIMESTAMPADD","TIMESTAMPDIFF","TIMESTAMP_FORMAT","TIMESTAMP_ISO","TIMESTAMP_TZ","TO_CHAR","TO_CLOB","TO_DATE","TO_NUMBER","TOTALORDER","TO_TIMESTAMP","TRANSLATE","TRIM","TRIM_ARRAY","TRUNCATE","TRUNC","TRUNC_TIMESTAMP","UCASE","UNICODE","UNICODE_STR","UNISTR","UPPER","VALUE","VARBINARY","VARCHAR","VARCHAR9","VARCHAR_BIT_FORMAT","VARCHAR_FORMAT","VARGRAPHIC","VERIFY_GROUP_FOR_USER","VERIFY_ROLE_FOR_USER","VERIFY_TRUSTED_CONTEXT_ROLE_FOR_USER","WEEK","WEEK_ISO","WRAP","XMLATTRIBUTES","XMLCOMMENT","XMLCONCAT","XMLDOCUMENT","XMLELEMENT","XMLFOREST","XMLMODIFY","XMLNAMESPACES","XMLPARSE","XMLPI","XMLQUERY","XMLSERIALIZE","XMLTEXT","XMLXSROBJECTID","XSLTRANSFORM","YEAR"],table:["ADMIN_TASK_LIST","ADMIN_TASK_OUTPUT","ADMIN_TASK_STATUS","BLOCKING_THREADS","MQREADALL","MQREADALLCLOB","MQRECEIVEALL","MQRECEIVEALLCLOB","XMLTABLE"],row:["UNPACK"],olap:["FIRST_VALUE","LAG","LAST_VALUE","LEAD","NTH_VALUE","NTILE","RATIO_TO_REPORT"]}).reduce((function(E,T){return[].concat(NE(E),NE(T))}),[])),NE(Object.values({standard:["ALL","ALLOCATE","ALLOW","ALTERAND","ANY","AS","ARRAY","ARRAY_EXISTS","ASENSITIVE","ASSOCIATE","ASUTIME","AT","AUDIT","AUX","AUXILIARY","BEFORE","BEGIN","BETWEEN","BUFFERPOOL","BY","CAPTURE","CASCADED","CASE","CAST","CCSID","CHARACTER","CHECK","CLONE","CLUSTER","COLLECTION","COLLID","COLUMN","CONDITION","CONNECTION","CONSTRAINT","CONTENT","CONTINUE","CREATE","CUBE","CURRENT","CURRENT_DATE","CURRENT_LC_CTYPE","CURRENT_PATH","CURRENT_SCHEMA","CURRENT_TIME","CURRENT_TIMESTAMP","CURRVAL","CURSOR","DATA","DATABASE","DBINFO","DECLARE","DEFAULT","DESCRIPTOR","DETERMINISTIC","DISABLE","DISALLOW","DISTINCT","DO","DOCUMENT","DSSIZE","DYNAMIC","EDITPROC","ENCODING","ENCRYPTION","ENDING","END-EXEC","ERASE","ESCAPE","EXCEPTION","EXISTS","EXIT","EXTERNAL","FENCED","FIELDPROC","FINAL","FIRST","FOR","FREE","FULL","FUNCTION","GENERATED","GET","GLOBAL","GOTO","GROUP","HANDLER","HOLD","HOURS","IF","IMMEDIATE","IN","INCLUSIVE","INDEX","INHERIT","INNER","INOUT","INSENSITIVE","INTO","IS","ISOBID","ITERATE","JAR","KEEP","KEY","LANGUAGE","LAST","LC_CTYPE","LEAVE","LIKE","LOCAL","LOCALE","LOCATOR","LOCATORS","LOCK","LOCKMAX","LOCKSIZE","LONG","LOOP","MAINTAINED","MATERIALIZED","MICROSECONDS","MINUTEMINUTES","MODIFIES","MONTHS","NEXT","NEXTVAL","NO","NONE","NOT","NULL","NULLS","NUMPARTS","OBID","OF","OLD","ON DELETE","ON UPDATE","OPTIMIZATION","OPTIMIZE","ORDER","ORGANIZATION","OUT","OUTER","PACKAGE","PARAMETER","PART","PADDED","PARTITION","PARTITIONED","PARTITIONING","PATH","PIECESIZE","PERIOD","PLAN","PRECISION","PREVVAL","PRIOR","PRIQTY","PRIVILEGES","PROCEDURE","PROGRAM","PSID","PUBLIC","QUERY","QUERYNO","READS","REFERENCES","RESIGNAL","RESTRICT","RESULT","RESULT_SET_LOCATOR","RETURN","RETURNS","ROLE","ROLLUP","ROUND_CEILING","ROUND_DOWN","ROUND_FLOOR","ROUND_HALF_DOWN","ROUND_HALF_EVEN","ROUND_HALF_UP","ROUND_UP","ROW","ROWSET","SCHEMA","SCRATCHPAD","SECONDS","SECQTY","SECURITY","SEQUENCE","SENSITIVE","SESSION_USER","SIMPLE","SOME","SOURCE","SPECIFIC","STANDARD","STATIC","STATEMENT","STAY","STOGROUP","STORES","STYLE","SUMMARY","SYNONYM","SYSDATE","SYSTEM","SYSTIMESTAMP","TABLE","TABLESPACE","THEN","TO","TRIGGER","TYPE","UNDO","UNIQUE","UNTIL","USER","VALIDPROC","VARIABLE","VARIANT","VCAT","VERSIONING","VIEW","VOLATILE","VOLUMES","WHILE","WLM","XMLEXISTS","XMLCAST","YEARS","ZONE"],onlineUtilies:["BACKUP SYSTEM","CATENFM","CATMAINT","CHECK DATA","CHECK INDEX","CHECK LOB","COPY","COPYTOCOPY","DIAGNOSE","EXEC SQL","LISTDEF","LOAD","MERGECOPY","MODIFY RECOVERY","MODIFY STATISTICS","OPTIONS","QUIESCE","REBUILD INDEX","RECOVER","REORG INDEX","REORG TABLESPACE","REPAIR","REPORT","RESTORE SYSTEM","RUNSTATS","STOSPACE","TEMPLATE","UNLOAD"],commands:["ABEND","ACCESS DATABASE","ALTER BUFFERPOOL","ALTER GROUPBUFFERPOOL","ALTER UTILITY","ARCHIVE LOG","BIND PACKAGE","BIND PLAN","BIND QUERY","BIND SERVICE","BIND","REBIND","CANCEL THREAD","DCLGEN","DISPLAY ACCEL","DISPLAY ARCHIVE","DISPLAY BLOCKERS","DISPLAY BUFFERPOOL","DISPLAY DATABASE","DISPLAY DDF","DISPLAY FUNCTION SPECIFIC","DISPLAY GROUP","DISPLAY GROUPBUFFERPOOL","DISPLAY LOCATION","DISPLAY LOG","DISPLAY PROCEDURE","DISPLAY PROFILE","DISPLAY RLIMIT","DISPLAY RESTSVC","DISPLAY THREAD","DISPLAY TRACE","DISPLAY UTILITY","DSN","DSNH","END","FREE PACKAGE","FREE PLAN","FREE QUERY","FREE SERVICE","MODIFY admtproc,APPL=SHUTDOWN","MODIFY admtproc,APPL=TRACE","MODIFY DDF","MODIFY irlmproc,ABEND","MODIFY irlmproc,DIAG","MODIFY irlmproc,PURGE","MODIFY irlmproc,SET","MODIFY irlmproc,STATUS","MODIFY TRACE","REBIND PACKAGE","REBIND PLAN","REBIND TRIGGER PACKAGE","RECOVER BSDS","RECOVER INDOUBT","RECOVER POSTPONED","REFRESH DB2,EARLY","RESET GENERICLU","RESET INDOUBT","RUN","SET ARCHIVE","SET LOG","SET SYSPARM","SPUFI","START ACCEL","START admtproc","START CDDS","START DATABASE","START DB2","START DDF","START FUNCTION SPECIFIC","START irlmproc","START PROCEDURE","START PROFILE","START RLIMIT","START RESTSVC","START TRACE","STOP ACCEL","STOP admtproc","STOP CDDS","STOP DATABASE","STOP DB2","STOP DDF","STOP FUNCTION SPECIFIC","STOP irlmproc","STOP PROCEDURE","STOP PROFILE","STOP RLIMIT","STOP RESTSVC","STOP TRACE","TERM UTILITY","TRACE CT"]}).reduce((function(E,T){return[].concat(NE(E),NE(T))}),[])))),oE.stringTypes=['""',"''","``","[]","x''"],oE.blockStart=["("],oE.blockEnd=[")"],oE.indexedPlaceholderTypes=["?"],oE.namedPlaceholderTypes=[":"],oE.lineCommentTypes=["--"],oE.specialWordChars={any:"#@"},oE.operators=["**","!>","!<","||"];var uE=function(E){!function(E,T){if("function"!=typeof T&&null!==T)throw new TypeError("Super expression must either be null or a function");E.prototype=Object.create(T&&T.prototype,{constructor:{value:E,writable:!0,configurable:!0}}),Object.defineProperty(E,"prototype",{writable:!1}),T&&ME(E,T)}(O,E);var T,R,A,S,e=(A=O,S=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(E){return!1}}(),function(){var E,T=cE(A);if(S){var R=cE(this).constructor;E=Reflect.construct(T,arguments,R)}else E=T.apply(this,arguments);return sE(this,E)});function O(){return UE(this,O),e.apply(this,arguments)}return T=O,(R=[{key:"tokenizer",value:function(){return new F({reservedCommands:O.reservedCommands,reservedBinaryCommands:O.reservedBinaryCommands,reservedDependentClauses:O.reservedDependentClauses,reservedJoinConditions:O.reservedJoinConditions,reservedLogicalOperators:O.reservedLogicalOperators,reservedKeywords:O.fullReservedWords,stringTypes:O.stringTypes,blockStart:O.blockStart,blockEnd:O.blockEnd,indexedPlaceholderTypes:O.indexedPlaceholderTypes,namedPlaceholderTypes:O.namedPlaceholderTypes,lineCommentTypes:O.lineCommentTypes,specialWordChars:O.specialWordChars,operators:O.operators})}}])&&aE(T.prototype,R),Object.defineProperty(T,"prototype",{writable:!1}),O}($);function lE(E){return lE="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(E){return typeof E}:function(E){return E&&"function"==typeof Symbol&&E.constructor===Symbol&&E!==Symbol.prototype?"symbol":typeof E},lE(E)}function GE(E,T){if(!(E instanceof T))throw new TypeError("Cannot call a class as a function")}function fE(E,T){for(var R=0;R<T.length;R++){var A=T[R];A.enumerable=A.enumerable||!1,A.configurable=!0,"value"in A&&(A.writable=!0),Object.defineProperty(E,A.key,A)}}function BE(E,T){return BE=Object.setPrototypeOf||function(E,T){return E.__proto__=T,E},BE(E,T)}function pE(E,T){if(T&&("object"===lE(T)||"function"==typeof T))return T;if(void 0!==T)throw new TypeError("Derived constructors may only return object or undefined");return function(E){if(void 0===E)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return E}(E)}function HE(E){return HE=Object.setPrototypeOf?Object.getPrototypeOf:function(E){return E.__proto__||Object.getPrototypeOf(E)},HE(E)}uE.reservedCommands=["ALTER","ALTER COLUMN","ALTER TABLE","CREATE","CREATE TABLE","USE","DESCRIBE","DROP","DROP TABLE","FETCH","FROM","GROUP BY","HAVING","INSERT","INSERT INTO","LIMIT","OFFSET","ORDER BY","SELECT","SET","SET SCHEMA","SHOW","SORT BY","TRUNCATE","UPDATE","VALUES","WHERE","WITH","STORED AS","STORED BY","ROW FORMAT"],uE.reservedBinaryCommands=["INTERSECT","INTERSECT ALL","INTERSECT DISTINCT","UNION","UNION ALL","UNION DISTINCT","JOIN","INNER JOIN","LEFT JOIN","LEFT OUTER JOIN","RIGHT JOIN","RIGHT OUTER JOIN","FULL JOIN","FULL OUTER JOIN","CROSS JOIN"],uE.reservedDependentClauses=["WHEN","ELSE"],uE.reservedJoinConditions=["ON","USING"],uE.reservedLogicalOperators=["AND","OR"],uE.fullReservedWords=A([].concat(DE(Object.values({math:["ABS","ACOS","ASIN","ATAN","BIN","BROUND","CBRT","CEIL","CEILING","CONV","COS","DEGREES","EXP","FACTORIAL","FLOOR","GREATEST","HEX","LEAST","LN","LOG","LOG10","LOG2","NEGATIVE","PI","PMOD","POSITIVE","POW","POWER","RADIANS","RAND","ROUND","SHIFTLEFT","SHIFTRIGHT","SHIFTRIGHTUNSIGNED","SIGN","SIN","SQRT","TAN","UNHEX","WIDTH_BUCKET"],array:["ARRAY_CONTAINS","MAP_KEYS","MAP_VALUES","SIZE","SORT_ARRAY"],conversion:["BINARY","CAST"],date:["ADD_MONTHS","DATE","DATE_ADD","DATE_FORMAT","DATE_SUB","DATEDIFF","DAY","DAYNAME","DAYOFMONTH","DAYOFYEAR","EXTRACT","FROM_UNIXTIME","FROM_UTC_TIMESTAMP","HOUR","LAST_DAY","MINUTE","MONTH","MONTHS_BETWEEN","NEXT_DAY","QUARTER","SECOND","TIMESTAMP","TO_DATE","TO_UTC_TIMESTAMP","TRUNC","UNIX_TIMESTAMP","WEEKOFYEAR","YEAR"],conditional:["ASSERT_TRUE","COALESCE","IF","ISNOTNULL","ISNULL","NULLIF","NVL"],string:["ASCII","BASE64","CHARACTER_LENGTH","CHR","CONCAT","CONCAT_WS","CONTEXT_NGRAMS","DECODE","ELT","ENCODE","FIELD","FIND_IN_SET","FORMAT_NUMBER","GET_JSON_OBJECT","IN_FILE","INITCAP","INSTR","LCASE","LENGTH","LEVENSHTEIN","LOCATE","LOWER","LPAD","LTRIM","NGRAMS","OCTET_LENGTH","PARSE_URL","PRINTF","QUOTE","REGEXP_EXTRACT","REGEXP_REPLACE","REPEAT","REVERSE","RPAD","RTRIM","SENTENCES","SOUNDEX","SPACE","SPLIT","STR_TO_MAP","SUBSTR","SUBSTRING","TRANSLATE","TRIM","UCASE","UNBASE64","UPPER"],masking:["MASK","MASK_FIRST_N","MASK_HASH","MASK_LAST_N","MASK_SHOW_FIRST_N","MASK_SHOW_LAST_N"],misc:["AES_DECRYPT","AES_ENCRYPT","CRC32","CURRENT_DATABASE","CURRENT_USER","HASH","JAVA_METHOD","LOGGED_IN_USER","MD5","REFLECT","SHA","SHA1","SHA2","SURROGATE_KEY","VERSION"],aggregate:["AVG","COLLECT_LIST","COLLECT_SET","CORR","COUNT","COVAR_POP","COVAR_SAMP","HISTOGRAM_NUMERIC","MAX","MIN","NTILE","PERCENTILE","PERCENTILE_APPROX","REGR_AVGX","REGR_AVGY","REGR_COUNT","REGR_INTERCEPT","REGR_R2","REGR_SLOPE","REGR_SXX","REGR_SXY","REGR_SYY","STDDEV_POP","STDDEV_SAMP","SUM","VAR_POP","VAR_SAMP","VARIANCE"],table:["EXPLODE","INLINE","JSON_TUPLE","PARSE_URL_TUPLE","POSEXPLODE","STACK"]}).reduce((function(E,T){return[].concat(DE(E),DE(T))}),[])),DE(Object.values({nonReserved:["ADD","ADMIN","AFTER","ANALYZE","ARCHIVE","ASC","BEFORE","BUCKET","BUCKETS","CASCADE","CHANGE","CLUSTER","CLUSTERED","CLUSTERSTATUS","COLLECTION","COLUMNS","COMMENT","COMPACT","COMPACTIONS","COMPUTE","CONCATENATE","CONTINUE","DATA","DATABASES","DATETIME","DAY","DBPROPERTIES","DEFERRED","DEFINED","DELIMITED","DEPENDENCY","DESC","DIRECTORIES","DIRECTORY","DISABLE","DISTRIBUTE","ELEM_TYPE","ENABLE","ESCAPED","EXCLUSIVE","EXPLAIN","EXPORT","FIELDS","FILE","FILEFORMAT","FIRST","FORMAT","FORMATTED","FUNCTIONS","HOLD_DDLTIME","HOUR","IDXPROPERTIES","IGNORE","INDEX","INDEXES","INPATH","INPUTDRIVER","INPUTFORMAT","ITEMS","JAR","KEYS","KEY_TYPE","LIMIT","LINES","LOAD","LOCATION","LOCK","LOCKS","LOGICAL","LONG","MAPJOIN","MATERIALIZED","METADATA","MINUS","MINUTE","MONTH","MSCK","NOSCAN","NO_DROP","OFFLINE","OPTION","OUTPUTDRIVER","OUTPUTFORMAT","OVERWRITE","OWNER","PARTITIONED","PARTITIONS","PLUS","PRETTY","PRINCIPALS","PROTECTION","PURGE","READ","READONLY","REBUILD","RECORDREADER","RECORDWRITER","RELOAD","RENAME","REPAIR","REPLACE","REPLICATION","RESTRICT","REWRITE","ROLE","ROLES","SCHEMA","SCHEMAS","SECOND","SEMI","SERDE","SERDEPROPERTIES","SERVER","SETS","SHARED","SHOW","SHOW_DATABASE","SKEWED","SORT","SORTED","SSL","STATISTICS","STORED","STREAMTABLE","STRING","STRUCT","TABLES","TBLPROPERTIES","TEMPORARY","TERMINATED","TINYINT","TOUCH","TRANSACTIONS","UNARCHIVE","UNDO","UNIONTYPE","UNLOCK","UNSET","UNSIGNED","URI","UTC","UTCTIMESTAMP","VALUE_TYPE","VIEW","WHILE","YEAR","AUTOCOMMIT","ISOLATION","LEVEL","OFFSET","SNAPSHOT","TRANSACTION","WORK","WRITE","ABORT","KEY","LAST","NORELY","NOVALIDATE","NULLS","RELY","VALIDATE","DETAIL","DOW","EXPRESSION","OPERATOR","QUARTER","SUMMARY","VECTORIZATION","WEEK","YEARS","MONTHS","WEEKS","DAYS","HOURS","MINUTES","SECONDS","TIMESTAMPTZ","ZONE"],reserved:["ALL","ARRAY","AS","AUTHORIZATION","BETWEEN","BIGINT","BINARY","BOOLEAN","BOTH","BY","CAST","CHAR","COLUMN","CONF","CROSS","CUBE","CURRENT","CURRENT_DATE","CURRENT_TIMESTAMP","CURSOR","DATABASE","DATE","DECIMAL","DELETE","DISTINCT","DOUBLE","EXCHANGE","EXISTS","EXTENDED","EXTERNAL","FALSE","FLOAT","FOLLOWING","FOR","FULL","FUNCTION","GRANT","GROUPING","IF","IMPORT","IN","INNER","INT","INTERVAL","INTO","IS","LATERAL","LEFT","LESS","LIKE","LOCAL","MACRO","MAP","MORE","NONE","NOT","NULL","OF","ORDER","OUT","OUTER","OVER","PARTIALSCAN","PARTITION","PERCENT","PRECEDING","PRESERVE","PROCEDURE","RANGE","READS","REDUCE","REVOKE","RIGHT","ROLLUP","ROW","ROWS","SET","SMALLINT","TABLE","TABLESAMPLE","THEN","TIMESTAMP","TO","TRANSFORM","TRIGGER","TRUE","UNBOUNDED","UNIQUEJOIN","USER","UTC_TMESTAMP","VARCHAR","WINDOW","COMMIT","ONLY","REGEXP","RLIKE","ROLLBACK","START","CACHE","CONSTRAINT","FOREIGN","PRIMARY","REFERENCES","DAYOFWEEK","EXTRACT","FLOOR","INTEGER","PRECISION","VIEWS","TIME","NUMERIC","SYNC"],fileTypes:["TEXTFILE","SEQUENCEFILE","ORC","CSV","TSV","PARQUET","AVRO","RCFILE","JSONFILE","INPUTFORMAT","OUTPUTFORMAT"]}).reduce((function(E,T){return[].concat(DE(E),DE(T))}),[])))),uE.stringTypes=['""',"''","``"],uE.blockStart=["(","CASE"],uE.blockEnd=[")","END"],uE.indexedPlaceholderTypes=["?"],uE.namedPlaceholderTypes=[],uE.lineCommentTypes=["--"],uE.specialWordChars={},uE.operators=["<=>","==","||"];var dE=function(E){!function(E,T){if("function"!=typeof T&&null!==T)throw new TypeError("Super expression must either be null or a function");E.prototype=Object.create(T&&T.prototype,{constructor:{value:E,writable:!0,configurable:!0}}),Object.defineProperty(E,"prototype",{writable:!1}),T&&BE(E,T)}(O,E);var T,R,A,S,e=(A=O,S=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(E){return!1}}(),function(){var E,T=HE(A);if(S){var R=HE(this).constructor;E=Reflect.construct(T,arguments,R)}else E=T.apply(this,arguments);return pE(this,E)});function O(){return GE(this,O),e.apply(this,arguments)}return T=O,(R=[{key:"tokenizer",value:function(){return new F({reservedCommands:O.reservedCommands,reservedBinaryCommands:O.reservedBinaryCommands,reservedDependentClauses:O.reservedDependentClauses,reservedJoinConditions:O.reservedJoinConditions,reservedLogicalOperators:O.reservedLogicalOperators,reservedKeywords:O.reservedKeywords,stringTypes:O.stringTypes,blockStart:O.blockStart,blockEnd:O.blockEnd,indexedPlaceholderTypes:O.indexedPlaceholderTypes,namedPlaceholderTypes:O.namedPlaceholderTypes,lineCommentTypes:O.lineCommentTypes,specialWordChars:O.specialWordChars,operators:O.operators})}},{key:"tokenOverride",value:function(E){return o.SET(E)&&"("===this.tokenLookAhead().value?{type:t.RESERVED_KEYWORD,value:E.value}:E}}])&&fE(T.prototype,R),Object.defineProperty(T,"prototype",{writable:!1}),O}($);function yE(E){return yE="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(E){return typeof E}:function(E){return E&&"function"==typeof Symbol&&E.constructor===Symbol&&E!==Symbol.prototype?"symbol":typeof E},yE(E)}function FE(E,T){if(!(E instanceof T))throw new TypeError("Cannot call a class as a function")}function YE(E,T){for(var R=0;R<T.length;R++){var A=T[R];A.enumerable=A.enumerable||!1,A.configurable=!0,"value"in A&&(A.writable=!0),Object.defineProperty(E,A.key,A)}}function VE(E,T){return VE=Object.setPrototypeOf||function(E,T){return E.__proto__=T,E},VE(E,T)}function hE(E,T){if(T&&("object"===yE(T)||"function"==typeof T))return T;if(void 0!==T)throw new TypeError("Derived constructors may only return object or undefined");return function(E){if(void 0===E)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return E}(E)}function mE(E){return mE=Object.setPrototypeOf?Object.getPrototypeOf:function(E){return E.__proto__||Object.getPrototypeOf(E)},mE(E)}dE.reservedCommands=["ALTER DATABASE","ALTER DATABASE COMMENT","ALTER EVENT","ALTER FUNCTION","ALTER PROCEDURE","ALTER SCHEMA","ALTER SCHEMA COMMENT","ALTER SEQUENCE","ALTER SERVER","ALTER TABLE","ALTER USER","ALTER VIEW","ANALYZE","ANALYZE TABLE","BACKUP LOCK","BACKUP STAGE","BACKUP UNLOCK","BEGIN","BINLOG","CACHE INDEX","CALL","CHANGE MASTER TO","CHECK TABLE","CHECK VIEW","CHECKSUM TABLE","COMMIT","CREATE AGGREGATE FUNCTION","CREATE DATABASE","CREATE EVENT","CREATE FUNCTION","CREATE INDEX","CREATE PROCEDURE","CREATE ROLE","CREATE SEQUENCE","CREATE SERVER","CREATE SPATIAL INDEX","CREATE TABLE","CREATE TRIGGER","CREATE UNIQUE INDEX","CREATE USER","CREATE VIEW","DEALLOCATE PREPARE","DELETE","DESC","DESCRIBE","DO","DROP DATABASE","DROP EVENT","DROP FUNCTION","DROP INDEX","DROP PREPARE","DROP PROCEDURE","DROP ROLE","DROP SEQUENCE","DROP SERVER","DROP TABLE","DROP TRIGGER","DROP USER","DROP VIEW","EXECUTE","EXPLAIN","FLUSH","GET DIAGNOSTICS","GET DIAGNOSTICS CONDITION","GRANT","HANDLER","HELP","INSERT","INSTALL PLUGIN","INSTALL SONAME","KILL","LOAD DATA INFILE","LOAD INDEX INTO CACHE","LOAD XML INFILE","LOCK TABLE","OPTIMIZE TABLE","PREPARE","PURGE BINARY LOGS","PURGE MASTER LOGS","RELEASE SAVEPOINT","RENAME TABLE","RENAME USER","REPAIR TABLE","REPAIR VIEW","REPLACE","RESET MASTER","RESET QUERY CACHE","RESET REPLICA","RESET SLAVE","RESIGNAL","RETURNING","REVOKE","ROLLBACK","SAVEPOINT","SELECT","SET","SET CHARACTER SET","SET DEFAULT ROLE","SET GLOBAL TRANSACTION","SET NAMES","SET PASSWORD","SET ROLE","SET STATEMENT","SET TRANSACTION","SHOW","SHOW ALL REPLICAS STATUS","SHOW ALL SLAVES STATUS","SHOW AUTHORS","SHOW BINARY LOGS","SHOW BINLOG EVENTS","SHOW BINLOG STATUS","SHOW CHARACTER SET","SHOW CLIENT_STATISTICS","SHOW COLLATION","SHOW COLUMNS","SHOW CONTRIBUTORS","SHOW CREATE DATABASE","SHOW CREATE EVENT","SHOW CREATE FUNCTION","SHOW CREATE PACKAGE","SHOW CREATE PACKAGE BODY","SHOW CREATE PROCEDURE","SHOW CREATE SEQUENCE","SHOW CREATE TABLE","SHOW CREATE TRIGGER","SHOW CREATE USER","SHOW CREATE VIEW","SHOW DATABASES","SHOW ENGINE","SHOW ENGINE INNODB STATUS","SHOW ENGINES","SHOW ERRORS","SHOW EVENTS","SHOW EXPLAIN","SHOW FUNCTION CODE","SHOW FUNCTION STATUS","SHOW GRANTS","SHOW INDEX","SHOW INDEXES","SHOW INDEX_STATISTICS","SHOW KEYS","SHOW LOCALES","SHOW MASTER LOGS","SHOW MASTER STATUS","SHOW OPEN TABLES","SHOW PACKAGE BODY CODE","SHOW PACKAGE BODY STATUS","SHOW PACKAGE STATUS","SHOW PLUGINS","SHOW PLUGINS SONAME","SHOW PRIVILEGES","SHOW PROCEDURE CODE","SHOW PROCEDURE STATUS","SHOW PROCESSLIST","SHOW PROFILE","SHOW PROFILES","SHOW QUERY_RESPONSE_TIME","SHOW RELAYLOG EVENTS","SHOW REPLICA","SHOW REPLICA HOSTS","SHOW REPLICA STATUS","SHOW SCHEMAS","SHOW SLAVE","SHOW SLAVE HOSTS","SHOW SLAVE STATUS","SHOW STATUS","SHOW STORAGE ENGINES","SHOW TABLE STATUS","SHOW TABLES","SHOW TRIGGERS","SHOW USER_STATISTICS","SHOW VARIABLES","SHOW WARNINGS","SHOW WSREP_MEMBERSHIP","SHOW WSREP_STATUS","SHUTDOWN","SIGNAL","START ALL REPLICAS","START ALL SLAVES","START REPLICA","START SLAVE","START TRANSACTION","STOP ALL REPLICAS","STOP ALL SLAVES","STOP REPLICA","STOP SLAVE","TRUNCATE","TRUNCATE TABLE","UNINSTALL PLUGIN","UNINSTALL SONAME","UNLOCK TABLE","UPDATE","USE","WITH","XA BEGIN","XA COMMIT","XA END","XA PREPARE","XA RECOVER","XA ROLLBACK","XA START","ADD","ALTER COLUMN","FROM","GROUP BY","HAVING","INSERT INTO","INSERT","LIMIT","OFFSET","ORDER BY","SELECT","VALUES","WHERE"],dE.reservedBinaryCommands=["INTERSECT","INTERSECT ALL","INTERSECT DISTINCT","UNION","UNION ALL","UNION DISTINCT","EXCEPT","EXCEPT ALL","EXCEPT DISTINCT","MINUS","MINUS ALL","MINUS DISTINCT","JOIN","INNER JOIN","LEFT JOIN","LEFT OUTER JOIN","RIGHT JOIN","RIGHT OUTER JOIN","CROSS JOIN","NATURAL JOIN","STRAIGHT_JOIN","NATURAL LEFT JOIN","NATURAL LEFT OUTER JOIN","NATURAL RIGHT JOIN","NATURAL RIGHT OUTER JOIN"],dE.reservedJoinConditions=["ON","USING"],dE.reservedLogicalOperators=["AND","OR","XOR"],dE.reservedDependentClauses=["WHEN","ELSE","ELSEIF","ELSIF"],dE.reservedKeywords=A([].concat(["ACCESSIBLE","ACCOUNT","ACTION","ADMIN","AFTER","AGAINST","AGGREGATE","ALL","ALGORITHM","ALTER","ALWAYS","ANY","AS","ASC","ASCII","ASENSITIVE","AT","ATOMIC","AUTHORS","AUTO_INCREMENT","AUTOEXTEND_SIZE","AUTO","AVG","AVG_ROW_LENGTH","BACKUP","BEFORE","BETWEEN","BIGINT","BINARY","BIT","BLOB","BLOCK","BODY","BOOL","BOOLEAN","BOTH","BTREE","BY","BYTE","CACHE","CASCADE","CASCADED","CATALOG_NAME","CHAIN","CHANGE","CHANGED","CHAR","CHARACTER","CHARACTER SET","CHARSET","CHECK","CHECKPOINT","CHECKSUM","CIPHER","CLASS_ORIGIN","CLIENT","CLOB","CLOSE","COALESCE","CODE","COLLATE","COLLATION","COLUMN","COLUMN_NAME","COLUMNS","COLUMN_ADD","COLUMN_CREATE","COLUMN_DELETE","COLUMN_GET","COMMENT","COMMITTED","COMPACT","COMPLETION","COMPRESSED","CONCURRENT","CONDITION","CONNECTION","CONSISTENT","CONSTRAINT","CONSTRAINT_CATALOG","CONSTRAINT_NAME","CONSTRAINT_SCHEMA","CONTAINS","CONTEXT","CONTINUE","CONTRIBUTORS","CONVERT","CPU","CREATE","CROSS","CUBE","CURRENT","CURRENT_DATE","CURRENT_POS","CURRENT_ROLE","CURRENT_TIME","CURRENT_TIMESTAMP","CURRENT_USER","CURSOR","CURSOR_NAME","CYCLE","DATA","DATABASE","DATABASES","DATAFILE","DATE","DATETIME","DAY","DAY_HOUR","DAY_MICROSECOND","DAY_MINUTE","DAY_SECOND","DEALLOCATE","DEC","DECIMAL","DECLARE","DEFAULT","DEFINER","DELAYED","DELAY_KEY_WRITE","DELETE_DOMAIN_ID","DES_KEY_FILE","DETERMINISTIC","DIAGNOSTICS","DIRECTORY","DISABLE","DISCARD","DISK","DISTINCT","DISTINCTROW","DIV","DOUBLE","DO_DOMAIN_IDS","DROP","DUAL","DUMPFILE","DUPLICATE","DYNAMIC","EACH","EMPTY","ENABLE","ENCLOSED","ENDS","ENGINE","ENGINES","ENUM","ERROR","ERRORS","ESCAPE","ESCAPED","EVENT","EVENTS","EVERY","EXAMINED","EXCHANGE","EXCLUDE","EXCEPTION","EXISTS","EXIT","EXPANSION","EXPIRE","EXPORT","EXTENDED","EXTENT_SIZE","FALSE","FAST","FAULTS","FEDERATED","FETCH","FIELDS","FILE","FIRST","FIXED","FLOAT","FLOAT4","FLOAT8","FOLLOWING","FOLLOWS","FOR","FORCE","FOREIGN","FOUND","FULL","FULLTEXT","FUNCTION","GENERAL","GENERATED","GET_FORMAT","GET","GLOBAL","GOTO","GRANTS","GROUP","HARD","HASH","HIGH_PRIORITY","HISTORY","HOST","HOSTS","HOUR","HOUR_MICROSECOND","HOUR_MINUTE","HOUR_SECOND","IDENTIFIED","IF","IGNORE","IGNORED","IGNORE_DOMAIN_IDS","IGNORE_SERVER_IDS","IMMEDIATE","IMPORT","IN","INCREMENT","INDEX","INDEXES","INFILE","INITIAL_SIZE","INNER","INOUT","INSENSITIVE","INSERT_METHOD","INSTALL","INT","INT1","INT2","INT3","INT4","INT8","INTEGER","INTERVAL","INVISIBLE","INTO","IO","IO_THREAD","IPC","IS","ISOLATION","ISOPEN","ISSUER","ITERATE","INVOKER","JSON","JSON_TABLE","KEY","KEYS","KEY_BLOCK_SIZE","LANGUAGE","LAST","LAST_VALUE","LASTVAL","LEADING","LEAVE","LEAVES","LEFT","LESS","LEVEL","LIKE","LINEAR","LINES","LIST","LOAD","LOCAL","LOCALTIME","LOCALTIMESTAMP","LOCK","LOCKED","LOCKS","LOGFILE","LOGS","LONG","LONGBLOB","LONGTEXT","LOOP","LOW_PRIORITY","MASTER","MASTER_CONNECT_RETRY","MASTER_DELAY","MASTER_GTID_POS","MASTER_HOST","MASTER_LOG_FILE","MASTER_LOG_POS","MASTER_PASSWORD","MASTER_PORT","MASTER_SERVER_ID","MASTER_SSL","MASTER_SSL_CA","MASTER_SSL_CAPATH","MASTER_SSL_CERT","MASTER_SSL_CIPHER","MASTER_SSL_CRL","MASTER_SSL_CRLPATH","MASTER_SSL_KEY","MASTER_SSL_VERIFY_SERVER_CERT","MASTER_USER","MASTER_USE_GTID","MASTER_HEARTBEAT_PERIOD","MATCH","MAX_CONNECTIONS_PER_HOUR","MAX_QUERIES_PER_HOUR","MAX_ROWS","MAX_SIZE","MAX_STATEMENT_TIME","MAX_UPDATES_PER_HOUR","MAX_USER_CONNECTIONS","MAXVALUE","MEDIUM","MEDIUMBLOB","MEDIUMINT","MEDIUMTEXT","MEMORY","MERGE","MESSAGE_TEXT","MICROSECOND","MIDDLEINT","MIGRATE","MINUS","MINUTE","MINUTE_MICROSECOND","MINUTE_SECOND","MINVALUE","MIN_ROWS","MOD","MODE","MODIFIES","MODIFY","MONITOR","MONTH","MUTEX","MYSQL","MYSQL_ERRNO","NAME","NAMES","NATIONAL","NATURAL","NCHAR","NESTED","NEVER","NEW","NEXT","NEXTVAL","NO","NOMAXVALUE","NOMINVALUE","NOCACHE","NOCYCLE","NO_WAIT","NOWAIT","NODEGROUP","NONE","NOT","NOTFOUND","NO_WRITE_TO_BINLOG","NULL","NUMBER","NUMERIC","NVARCHAR","OF","OFFSET","OLD_PASSWORD","ON DELETE","ON UPDATE","ONE","ONLINE","ONLY","OPEN","OPTIMIZE","OPTIONS","OPTION","OPTIONALLY","ORDER","ORDINALITY","OTHERS","OUT","OUTER","OUTFILE","OVER","OVERLAPS","OWNER","PACKAGE","PACK_KEYS","PAGE","PAGE_CHECKSUM","PARSER","PARSE_VCOL_EXPR","PATH","PERIOD","PARTIAL","PARTITION","PARTITIONING","PARTITIONS","PASSWORD","PERSISTENT","PHASE","PLUGIN","PLUGINS","PORT","PORTION","PRECEDES","PRECEDING","PRECISION","PRESERVE","PREV","PREVIOUS","PRIMARY","PRIVILEGES","PROCEDURE","PROCESS","PROCESSLIST","PROFILE","PROFILES","PROXY","PURGE","QUARTER","QUERY","QUICK","RAISE","RANGE","RAW","READ","READ_ONLY","READ_WRITE","READS","REAL","REBUILD","RECOVER","RECURSIVE","REDO_BUFFER_SIZE","REDOFILE","REDUNDANT","REFERENCES","REGEXP","RELAY","RELAYLOG","RELAY_LOG_FILE","RELAY_LOG_POS","RELAY_THREAD","RELEASE","RELOAD","REMOVE","RENAME","REORGANIZE","REPAIR","REPEATABLE","REPLAY","REPLICA","REPLICAS","REPLICA_POS","REPLICATION","REPEAT","REQUIRE","RESET","RESTART","RESTORE","RESTRICT","RESUME","RETURNED_SQLSTATE","RETURN","RETURNS","REUSE","RIGHT","RLIKE","ROLE","ROLLUP","ROUTINE","ROW","ROWCOUNT","ROWNUM","ROWS","ROWTYPE","ROW_COUNT","ROW_FORMAT","RTREE","SCHEDULE","SCHEMA","SCHEMA_NAME","SCHEMAS","SECOND","SECOND_MICROSECOND","SECURITY","SENSITIVE","SEPARATOR","SEQUENCE","SERIAL","SERIALIZABLE","SESSION","SERVER","SETVAL","SHARE","SIGNED","SIMPLE","SKIP","SLAVE","SLAVES","SLAVE_POS","SLOW","SNAPSHOT","SMALLINT","SOCKET","SOFT","SOME","SONAME","SOUNDS","SOURCE","STAGE","STORED","SPATIAL","SPECIFIC","REF_SYSTEM_ID","SQL","SQLEXCEPTION","SQLSTATE","SQLWARNING","SQL_BIG_RESULT","SQL_BUFFER_RESULT","SQL_CACHE","SQL_CALC_FOUND_ROWS","SQL_NO_CACHE","SQL_SMALL_RESULT","SQL_THREAD","SQL_TSI_SECOND","SQL_TSI_MINUTE","SQL_TSI_HOUR","SQL_TSI_DAY","SQL_TSI_WEEK","SQL_TSI_MONTH","SQL_TSI_QUARTER","SQL_TSI_YEAR","SSL","START","STARTING","STARTS","STATEMENT","STATS_AUTO_RECALC","STATS_PERSISTENT","STATS_SAMPLE_PAGES","STATUS","STOP","STORAGE","STRING","SUBCLASS_ORIGIN","SUBJECT","SUBPARTITION","SUBPARTITIONS","SUPER","SUSPEND","SWAPS","SWITCHES","SYSDATE","SYSTEM","SYSTEM_TIME","TABLE","TABLE_NAME","TABLES","TABLESPACE","TABLE_CHECKSUM","TEMPORARY","TEMPTABLE","TERMINATED","TEXT","THAN","THEN","TIES","TIME","TIMESTAMP","TIMESTAMPADD","TIMESTAMPDIFF","TINYBLOB","TINYINT","TINYTEXT","TO","TRAILING","TRANSACTION","TRANSACTIONAL","THREADS","TRIGGER","TRIGGERS","TRUE","TYPE","TYPES","UNBOUNDED","UNCOMMITTED","UNDEFINED","UNDO_BUFFER_SIZE","UNDOFILE","UNDO","UNICODE","UNIQUE","UNKNOWN","UNLOCK","UNINSTALL","UNSIGNED","UNTIL","UPGRADE","USAGE","USER","USER_RESOURCES","USE_FRM","UTC_DATE","UTC_TIME","UTC_TIMESTAMP","VALUE","VARBINARY","VARCHAR","VARCHARACTER","VARCHAR2","VARIABLES","VARYING","VIA","VIEW","VIRTUAL","VISIBLE","VERSIONING","WAIT","WARNINGS","WEEK","WEIGHT_STRING","WHILE","WINDOW","WITHIN","WITHOUT","WORK","WRAPPER","WRITE","X509","XA","XML","YEAR","YEAR_MONTH","ZEROFILL"],["ADDDATE","ADD_MONTHS","BIT_AND","BIT_OR","BIT_XOR","CAST","COUNT","CUME_DIST","CURDATE","CURTIME","DATE_ADD","DATE_SUB","DATE_FORMAT","DECODE","DENSE_RANK","EXTRACT","FIRST_VALUE","GROUP_CONCAT","JSON_ARRAYAGG","JSON_OBJECTAGG","LAG","LEAD","MAX","MEDIAN","MID","MIN","NOW","NTH_VALUE","NTILE","POSITION","PERCENT_RANK","PERCENTILE_CONT","PERCENTILE_DISC","RANK","ROW_NUMBER","SESSION_USER","STD","STDDEV","STDDEV_POP","STDDEV_SAMP","SUBDATE","SUBSTR","SUBSTRING","SUM","SYSTEM_USER","TRIM","TRIM_ORACLE","VARIANCE","VAR_POP","VAR_SAMP","ABS","ACOS","ADDTIME","AES_DECRYPT","AES_ENCRYPT","ASIN","ATAN","ATAN2","BENCHMARK","BIN","BINLOG_GTID_POS","BIT_COUNT","BIT_LENGTH","CEIL","CEILING","CHARACTER_LENGTH","CHAR_LENGTH","CHR","COERCIBILITY","COLUMN_CHECK","COLUMN_EXISTS","COLUMN_LIST","COLUMN_JSON","COMPRESS","CONCAT","CONCAT_OPERATOR_ORACLE","CONCAT_WS","CONNECTION_ID","CONV","CONVERT_TZ","COS","COT","CRC32","DATEDIFF","DAYNAME","DAYOFMONTH","DAYOFWEEK","DAYOFYEAR","DEGREES","DECODE_HISTOGRAM","DECODE_ORACLE","DES_DECRYPT","DES_ENCRYPT","ELT","ENCODE","ENCRYPT","EXP","EXPORT_SET","EXTRACTVALUE","FIELD","FIND_IN_SET","FLOOR","FORMAT","FOUND_ROWS","FROM_BASE64","FROM_DAYS","FROM_UNIXTIME","GET_LOCK","GREATEST","HEX","IFNULL","INSTR","ISNULL","IS_FREE_LOCK","IS_USED_LOCK","JSON_ARRAY","JSON_ARRAY_APPEND","JSON_ARRAY_INSERT","JSON_COMPACT","JSON_CONTAINS","JSON_CONTAINS_PATH","JSON_DEPTH","JSON_DETAILED","JSON_EXISTS","JSON_EXTRACT","JSON_INSERT","JSON_KEYS","JSON_LENGTH","JSON_LOOSE","JSON_MERGE","JSON_MERGE_PATCH","JSON_MERGE_PRESERVE","JSON_QUERY","JSON_QUOTE","JSON_OBJECT","JSON_REMOVE","JSON_REPLACE","JSON_SET","JSON_SEARCH","JSON_TYPE","JSON_UNQUOTE","JSON_VALID","JSON_VALUE","LAST_DAY","LAST_INSERT_ID","LCASE","LEAST","LENGTH","LENGTHB","LN","LOAD_FILE","LOCATE","LOG","LOG10","LOG2","LOWER","LPAD","LPAD_ORACLE","LTRIM","LTRIM_ORACLE","MAKEDATE","MAKETIME","MAKE_SET","MASTER_GTID_WAIT","MASTER_POS_WAIT","MD5","MONTHNAME","NAME_CONST","NVL","NVL2","NULLIF","OCT","OCTET_LENGTH","ORD","PERIOD_ADD","PERIOD_DIFF","PI","POW","POWER","QUOTE","REGEXP_INSTR","REGEXP_REPLACE","REGEXP_SUBSTR","RADIANS","RAND","RELEASE_ALL_LOCKS","RELEASE_LOCK","REPLACE_ORACLE","REVERSE","ROUND","RPAD","RPAD_ORACLE","RTRIM","RTRIM_ORACLE","SEC_TO_TIME","SHA","SHA1","SHA2","SIGN","SIN","SLEEP","SOUNDEX","SPACE","SQRT","STRCMP","STR_TO_DATE","SUBSTR_ORACLE","SUBSTRING_INDEX","SUBTIME","SYS_GUID","TAN","TIMEDIFF","TIME_FORMAT","TIME_TO_SEC","TO_BASE64","TO_CHAR","TO_DAYS","TO_SECONDS","UCASE","UNCOMPRESS","UNCOMPRESSED_LENGTH","UNHEX","UNIX_TIMESTAMP","UPDATEXML","UPPER","UUID","UUID_SHORT","VERSION","WEEKDAY","WEEKOFYEAR","WSREP_LAST_WRITTEN_GTID","WSREP_LAST_SEEN_GTID","WSREP_SYNC_WAIT_UPTO_GTID","YEARWEEK"])),dE.stringTypes=["``","''",'""'],dE.blockStart=["(","CASE"],dE.blockEnd=[")","END"],dE.indexedPlaceholderTypes=["?"],dE.namedPlaceholderTypes=[],dE.lineCommentTypes=["--","#"],dE.specialWordChars={prefix:"@"},dE.operators=[":=","<<",">>","<=>","&&","||"];var vE=function(E){!function(E,T){if("function"!=typeof T&&null!==T)throw new TypeError("Super expression must either be null or a function");E.prototype=Object.create(T&&T.prototype,{constructor:{value:E,writable:!0,configurable:!0}}),Object.defineProperty(E,"prototype",{writable:!1}),T&&VE(E,T)}(O,E);var T,R,A,S,e=(A=O,S=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(E){return!1}}(),function(){var E,T=mE(A);if(S){var R=mE(this).constructor;E=Reflect.construct(T,arguments,R)}else E=T.apply(this,arguments);return hE(this,E)});function O(){return FE(this,O),e.apply(this,arguments)}return T=O,(R=[{key:"tokenizer",value:function(){return new F({reservedCommands:O.reservedCommands,reservedBinaryCommands:O.reservedBinaryCommands,reservedDependentClauses:O.reservedDependentClauses,reservedJoinConditions:O.reservedJoinConditions,reservedLogicalOperators:O.reservedLogicalOperators,reservedKeywords:O.reservedKeywords,stringTypes:O.stringTypes,blockStart:O.blockStart,blockEnd:O.blockEnd,indexedPlaceholderTypes:O.indexedPlaceholderTypes,namedPlaceholderTypes:O.namedPlaceholderTypes,lineCommentTypes:O.lineCommentTypes,specialWordChars:O.specialWordChars,operators:O.operators})}},{key:"tokenOverride",value:function(E){return o.SET(E)&&"("===this.tokenLookAhead().value?{type:t.RESERVED_KEYWORD,value:E.value}:E}}])&&YE(T.prototype,R),Object.defineProperty(T,"prototype",{writable:!1}),O}($);function WE(E){return WE="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(E){return typeof E}:function(E){return E&&"function"==typeof Symbol&&E.constructor===Symbol&&E!==Symbol.prototype?"symbol":typeof E},WE(E)}function XE(E,T){if(!(E instanceof T))throw new TypeError("Cannot call a class as a function")}function bE(E,T){for(var R=0;R<T.length;R++){var A=T[R];A.enumerable=A.enumerable||!1,A.configurable=!0,"value"in A&&(A.writable=!0),Object.defineProperty(E,A.key,A)}}function KE(E,T){return KE=Object.setPrototypeOf||function(E,T){return E.__proto__=T,E},KE(E,T)}function gE(E,T){if(T&&("object"===WE(T)||"function"==typeof T))return T;if(void 0!==T)throw new TypeError("Derived constructors may only return object or undefined");return function(E){if(void 0===E)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return E}(E)}function JE(E){return JE=Object.setPrototypeOf?Object.getPrototypeOf:function(E){return E.__proto__||Object.getPrototypeOf(E)},JE(E)}vE.reservedCommands=["ALTER DATABASE","ALTER EVENT","ALTER FUNCTION","ALTER INSTANCE","ALTER LOGFILE GROUP","ALTER PROCEDURE","ALTER RESOURCE GROUP","ALTER SERVER","ALTER TABLE","ALTER TABLESPACE","ALTER USER","ALTER VIEW","ANALYZE TABLE","BINLOG","CACHE INDEX","CALL","CHANGE MASTER TO","CHANGE REPLICATION FILTER","CHANGE REPLICATION SOURCE TO","CHECK TABLE","CHECKSUM TABLE","CLONE","COMMIT","CREATE DATABASE","CREATE EVENT","CREATE FUNCTION","CREATE FUNCTION","CREATE INDEX","CREATE LOGFILE GROUP","CREATE PROCEDURE","CREATE RESOURCE GROUP","CREATE ROLE","CREATE SERVER","CREATE SPATIAL REFERENCE SYSTEM","CREATE TABLE","CREATE TABLESPACE","CREATE TRIGGER","CREATE USER","CREATE VIEW","DEALLOCATE PREPARE","DELETE","DESCRIBE","DO","DROP DATABASE","DROP EVENT","DROP FUNCTION","DROP FUNCTION","DROP INDEX","DROP LOGFILE GROUP","DROP PROCEDURE","DROP RESOURCE GROUP","DROP ROLE","DROP SERVER","DROP SPATIAL REFERENCE SYSTEM","DROP TABLE","DROP TABLESPACE","DROP TRIGGER","DROP USER","DROP VIEW","EXECUTE","EXPLAIN","FLUSH","GRANT","HANDLER","HELP","IMPORT TABLE","INSERT","INSTALL COMPONENT","INSTALL PLUGIN","KILL","LOAD DATA","LOAD INDEX INTO CACHE","LOAD XML","LOCK INSTANCE FOR BACKUP","LOCK TABLES","MASTER_POS_WAIT","OPTIMIZE TABLE","PREPARE","PURGE BINARY LOGS","RELEASE SAVEPOINT","RENAME TABLE","RENAME USER","REPAIR TABLE","REPLACE","RESET","RESET MASTER","RESET PERSIST","RESET REPLICA","RESET SLAVE","RESTART","REVOKE","ROLLBACK","ROLLBACK TO SAVEPOINT","SAVEPOINT","SELECT","SET","SET CHARACTER SET","SET DEFAULT ROLE","SET NAMES","SET PASSWORD","SET RESOURCE GROUP","SET ROLE","SET TRANSACTION","SHOW","SHOW BINARY LOGS","SHOW BINLOG EVENTS","SHOW CHARACTER SET","SHOW COLLATION","SHOW COLUMNS","SHOW CREATE DATABASE","SHOW CREATE EVENT","SHOW CREATE FUNCTION","SHOW CREATE PROCEDURE","SHOW CREATE TABLE","SHOW CREATE TRIGGER","SHOW CREATE USER","SHOW CREATE VIEW","SHOW DATABASES","SHOW ENGINE","SHOW ENGINES","SHOW ERRORS","SHOW EVENTS","SHOW FUNCTION CODE","SHOW FUNCTION STATUS","SHOW GRANTS","SHOW INDEX","SHOW MASTER STATUS","SHOW OPEN TABLES","SHOW PLUGINS","SHOW PRIVILEGES","SHOW PROCEDURE CODE","SHOW PROCEDURE STATUS","SHOW PROCESSLIST","SHOW PROFILE","SHOW PROFILES","SHOW RELAYLOG EVENTS","SHOW REPLICA STATUS","SHOW REPLICAS","SHOW SLAVE","SHOW SLAVE HOSTS","SHOW STATUS","SHOW TABLE STATUS","SHOW TABLES","SHOW TRIGGERS","SHOW VARIABLES","SHOW WARNINGS","SHUTDOWN","SOURCE_POS_WAIT","START GROUP_REPLICATION","START REPLICA","START SLAVE","START TRANSACTION","STOP GROUP_REPLICATION","STOP REPLICA","STOP SLAVE","TABLE","TRUNCATE TABLE","UNINSTALL COMPONENT","UNINSTALL PLUGIN","UNLOCK INSTANCE","UNLOCK TABLES","UPDATE","USE","VALUES","WITH","XA","ITERATE","LEAVE","LOOP","REPEAT","RETURN","WHILE","ADD","ALTER COLUMN","FROM","GROUP BY","HAVING","INSERT INTO","LIMIT","OFFSET","ORDER BY","WHERE"],vE.reservedBinaryCommands=["INTERSECT","INTERSECT ALL","INTERSECT DISTINCT","UNION","UNION ALL","UNION DISTINCT","EXCEPT","EXCEPT ALL","EXCEPT DISTINCT","JOIN","INNER JOIN","LEFT JOIN","LEFT OUTER JOIN","RIGHT JOIN","RIGHT OUTER JOIN","CROSS JOIN","NATURAL JOIN","STRAIGHT_JOIN","NATURAL LEFT JOIN","NATURAL LEFT OUTER JOIN","NATURAL RIGHT JOIN","NATURAL RIGHT OUTER JOIN"],vE.reservedDependentClauses=["WHEN","ELSE","ELSEIF"],vE.reservedJoinConditions=["ON","USING"],vE.reservedLogicalOperators=["AND","OR","XOR"],vE.reservedKeywords=A([].concat(["ACCESSIBLE","ACCOUNT","ACTION","ACTIVE","ADMIN","AFTER","AGAINST","AGGREGATE","ALGORITHM","ALL","ALTER","ALWAYS","ANALYSE","ANALYZE","ANY","ARRAY","AS","ASC","ASENSITIVE","AT","ATTRIBUTE","AUTHENTICATION","AUTOEXTEND_SIZE","AUTO_INCREMENT","AVG_ROW_LENGTH","BACKUP","BEFORE","BEGIN","BETWEEN","BIGINT","BIT","BLOB","BLOCK","BOOL","BOOLEAN","BOTH","BTREE","BUCKETS","BY","BYTE","CACHE","CASCADE","CASCADED","CATALOG_NAME","CHAIN","CHALLENGE_RESPONSE","CHANGE","CHANGED","CHANNEL","CHARACTER","CHARACTER SET","CHECK","CHECKSUM","CIPHER","CLASS_ORIGIN","CLIENT","CLOSE","CODE","COLLATE","COLUMN","COLUMNS","COLUMN_FORMAT","COLUMN_NAME","COMMENT","COMMITTED","COMPACT","COMPLETION","COMPONENT","COMPRESSED","COMPRESSION","CONCURRENT","CONDITION","CONNECTION","CONSISTENT","CONSTRAINT","CONSTRAINT_CATALOG","CONSTRAINT_NAME","CONSTRAINT_SCHEMA","CONTAINS","CONTEXT","CONTINUE","CPU","CREATE","CROSS","CUBE","CURRENT","CURSOR","CURSOR_NAME","DATA","DATABASES","DATAFILE","DATETIME","DAY_HOUR","DAY_MICROSECOND","DAY_MINUTE","DAY_SECOND","DEALLOCATE","DEC","DECIMAL","DECLARE","DEFAULT_AUTH","DEFINER","DEFINITION","DELAYED","DELAY_KEY_WRITE","DESC","DESCRIPTION","DES_KEY_FILE","DETERMINISTIC","DIAGNOSTICS","DIRECTORY","DISABLE","DISCARD","DISK","DISTINCT","DISTINCTROW","DOUBLE","DROP","DUAL","DUMPFILE","DUPLICATE","DYNAMIC","EACH","EMPTY","ENABLE","ENCLOSED","ENCRYPTION","ENDS","ENFORCED","ENGINE","ENGINES","ENGINE_ATTRIBUTE","ENUM","ERROR","ERRORS","ESCAPE","ESCAPED","EVENT","EVENTS","EVERY","EXCHANGE","EXCLUDE","EXISTS","EXIT","EXPANSION","EXPIRE","EXPORT","EXTENDED","EXTENT_SIZE","FACTOR","FAILED_LOGIN_ATTEMPTS","FALSE","FAST","FAULTS","FETCH","FIELDS","FILE","FILE_BLOCK_SIZE","FILTER","FINISH","FIRST","FIXED","FLOAT","FLOAT4","FLOAT8","FOLLOWING","FOLLOWS","FOR","FORCE","FOREIGN","FOUND","FULL","FULLTEXT","FUNCTION","GENERAL","GENERATED","GEOMCOLLECTION","GEOMETRY","GEOMETRYCOLLECTION","GET","GET_MASTER_PUBLIC_KEY","GET_SOURCE_PUBLIC_KEY","GLOBAL","@@GLOBAL","GRANTS","GROUP","GROUPS","GROUP_REPLICATION","GTID_ONLY","HASH","HIGH_PRIORITY","HISTOGRAM","HISTORY","HOST","HOSTS","HOUR_MICROSECOND","HOUR_MINUTE","HOUR_SECOND","IDENTIFIED","IGNORE","IGNORE_SERVER_IDS","IMPORT","INACTIVE","INDEX","INDEXES","INFILE","INITIAL","INITIAL_SIZE","INITIATE","INNER","INOUT","INSENSITIVE","INSERT_METHOD","INSTALL","INSTANCE","INT","INT1","INT2","INT3","INT4","INT8","INTEGER","INTO","INVISIBLE","INVOKER","IO","IO_AFTER_GTIDS","IO_BEFORE_GTIDS","IO_THREAD","IPC","ISOLATION","ISSUER","ITERATE","JSON","KEY","KEYRING","KEYS","KEY_BLOCK_SIZE","LANGUAGE","LAST","LATERAL","LEADING","LEAVE","LEAVES","LESS","LEVEL","LINEAR","LINES","LINESTRING","LIST","LOAD","LOCAL","LOCK","LOCKED","LOCKS","LOGFILE","LOGS","LONG","LONGBLOB","LONGTEXT","LOOP","LOW_PRIORITY","MASTER","MASTER_AUTO_POSITION","MASTER_BIND","MASTER_COMPRESSION_ALGORITHMS","MASTER_CONNECT_RETRY","MASTER_DELAY","MASTER_HEARTBEAT_PERIOD","MASTER_HOST","MASTER_LOG_FILE","MASTER_LOG_POS","MASTER_PASSWORD","MASTER_PORT","MASTER_PUBLIC_KEY_PATH","MASTER_RETRY_COUNT","MASTER_SERVER_ID","MASTER_SSL","MASTER_SSL_CA","MASTER_SSL_CAPATH","MASTER_SSL_CERT","MASTER_SSL_CIPHER","MASTER_SSL_CRL","MASTER_SSL_CRLPATH","MASTER_SSL_KEY","MASTER_SSL_VERIFY_SERVER_CERT","MASTER_TLS_CIPHERSUITES","MASTER_TLS_VERSION","MASTER_USER","MASTER_ZSTD_COMPRESSION_LEVEL","MAXVALUE","MAX_CONNECTIONS_PER_HOUR","MAX_QUERIES_PER_HOUR","MAX_ROWS","MAX_SIZE","MAX_UPDATES_PER_HOUR","MAX_USER_CONNECTIONS","MEDIUM","MEDIUMBLOB","MEDIUMINT","MEDIUMTEXT","MEMBER","MEMORY","MERGE","MESSAGE_TEXT","MIDDLEINT","MIGRATE","MINUTE_MICROSECOND","MINUTE_SECOND","MIN_ROWS","MODE","MODIFIES","MODIFY","MULTILINESTRING","MULTIPOINT","MULTIPOLYGON","MUTEX","MYSQL_ERRNO","NAME","NAMES","NATIONAL","NATURAL","NCHAR","NDB","NDBCLUSTER","NESTED","NETWORK_NAMESPACE","NEVER","NEW","NEXT","NO","NODEGROUP","NONE","NOWAIT","NO_WAIT","NO_WRITE_TO_BINLOG","NULL","NULLS","NUMBER","NUMERIC","NVARCHAR","OF","OFF","OFFSET","OJ","OLD","ON DELETE","ON UPDATE","ONE","ONLY","OPEN","OPTIMIZE","OPTIMIZER_COSTS","OPTION","OPTIONAL","OPTIONALLY","OPTIONS","ORDER","ORDINALITY","ORGANIZATION","OTHERS","OUT","OUTER","OUTFILE","OVER","OWNER","PACK_KEYS","PAGE","PARSER","PARSE_GCOL_EXPR","PARTIAL","PARTITION","PARTITIONING","PARTITIONS","PASSWORD","PASSWORD_LOCK_TIME","PATH","PERSIST","@@PERSIST","PERSIST_ONLY","@@PERSIST_ONLY","PHASE","PLUGIN","PLUGINS","PLUGIN_DIR","POINT","POLYGON","PORT","PRECEDES","PRECEDING","PRECISION","PRESERVE","PREV","PRIMARY","PRIVILEGES","PRIVILEGE_CHECKS_USER","PROCEDURE","PROCESS","PROCESSLIST","PROFILE","PROFILES","PROXY","PURGE","QUERY","QUICK","RANDOM","RANGE","READ","READS","READ_ONLY","READ_WRITE","REAL","REBUILD","RECOVER","RECURSIVE","REDOFILE","REDO_BUFFER_SIZE","REDUNDANT","REFERENCE","REFERENCES","REGISTRATION","RELAY","RELAYLOG","RELAY_LOG_FILE","RELAY_LOG_POS","RELAY_THREAD","RELEASE","RELOAD","REMOTE","REMOVE","RENAME","REORGANIZE","REPAIR","REPEATABLE","REPLICA","REPLICAS","REPLICATE_DO_DB","REPLICATE_DO_TABLE","REPLICATE_IGNORE_DB","REPLICATE_IGNORE_TABLE","REPLICATE_REWRITE_DB","REPLICATE_WILD_DO_TABLE","REPLICATE_WILD_IGNORE_TABLE","REPLICATION","REQUIRE","REQUIRE_ROW_FORMAT","RESIGNAL","RESOURCE","RESPECT","RESTORE","RESTRICT","RESUME","RETAIN","RETURN","RETURNED_SQLSTATE","RETURNING","RETURNS","REUSE","ROLE","ROLLUP","ROTATE","ROUTINE","ROW","ROWS","ROW_FORMAT","RTREE","SCHEDULE","SCHEMAS","SCHEMA_NAME","SECONDARY","SECONDARY_ENGINE","SECONDARY_ENGINE_ATTRIBUTE","SECONDARY_LOAD","SECONDARY_UNLOAD","SECOND_MICROSECOND","SECURITY","SENSITIVE","SEPARATOR","SERIAL","SERIALIZABLE","SERVER","SESSION","@@SESSION","SHARE","SIGNAL","SIGNED","SIMPLE","SKIP","SLAVE","SLOW","SMALLINT","SNAPSHOT","SOCKET","SOME","SONAME","SOUNDS","SOURCE","SOURCE_AUTO_POSITION","SOURCE_BIND","SOURCE_COMPRESSION_ALGORITHMS","SOURCE_CONNECT_RETRY","SOURCE_DELAY","SOURCE_HEARTBEAT_PERIOD","SOURCE_HOST","SOURCE_LOG_FILE","SOURCE_LOG_POS","SOURCE_PASSWORD","SOURCE_PORT","SOURCE_PUBLIC_KEY_PATH","SOURCE_RETRY_COUNT","SOURCE_SSL","SOURCE_SSL_CA","SOURCE_SSL_CAPATH","SOURCE_SSL_CERT","SOURCE_SSL_CIPHER","SOURCE_SSL_CRL","SOURCE_SSL_CRLPATH","SOURCE_SSL_KEY","SOURCE_SSL_VERIFY_SERVER_CERT","SOURCE_TLS_CIPHERSUITES","SOURCE_TLS_VERSION","SOURCE_USER","SOURCE_ZSTD_COMPRESSION_LEVEL","SPATIAL","SPECIFIC","SQL","SQLEXCEPTION","SQLSTATE","SQLWARNING","SQL_AFTER_GTIDS","SQL_AFTER_MTS_GAPS","SQL_BEFORE_GTIDS","SQL_BIG_RESULT","SQL_BUFFER_RESULT","SQL_CACHE","SQL_CALC_FOUND_ROWS","SQL_NO_CACHE","SQL_SMALL_RESULT","SQL_THREAD","SQL_TSI_DAY","SQL_TSI_HOUR","SQL_TSI_MINUTE","SQL_TSI_MONTH","SQL_TSI_QUARTER","SQL_TSI_SECOND","SQL_TSI_WEEK","SQL_TSI_YEAR","SRID","SSL","STACKED","START","STARTING","STARTS","STATS_AUTO_RECALC","STATS_PERSISTENT","STATS_SAMPLE_PAGES","STATUS","STOP","STORAGE","STORED","STREAM","STRING","SUBCLASS_ORIGIN","SUBJECT","SUBPARTITION","SUBPARTITIONS","SUPER","SUSPEND","SWAPS","SWITCHES","SYSTEM","TABLES","TABLESPACE","TABLE_CHECKSUM","TABLE_NAME","TEMPORARY","TEMPTABLE","TERMINATED","TEXT","THAN","THEN","THREAD_PRIORITY","TIES","TINYBLOB","TINYINT","TINYTEXT","TLS","TO","TRAILING","TRANSACTION","TRIGGER","TRIGGERS","TRUE","TYPE","TYPES","UNBOUNDED","UNCOMMITTED","UNDEFINED","UNDO","UNDOFILE","UNDO_BUFFER_SIZE","UNICODE","UNINSTALL","UNIQUE","UNKNOWN","UNLOCK","UNREGISTER","UNSIGNED","UNTIL","UPGRADE","USAGE","USER_RESOURCES","USE_FRM","VALIDATION","VALUE","VARBINARY","VARCHAR","VARCHARACTER","VARIABLES","VARYING","VCPU","VIEW","VIRTUAL","VISIBLE","WAIT","WARNINGS","WHILE","WINDOW","WITHOUT","WORK","WRAPPER","WRITE","X509","XID","XML","YEAR_MONTH","ZEROFILL","ZONE"],["ABS","ACOS","ADDDATE","ADDTIME","AES_DECRYPT","AES_ENCRYPT","AND","ANY_VALUE","ASCII","ASIN","ATAN","ATAN2","AVG","BENCHMARK","BIN","BIN_TO_UUID","BINARY","BIT_AND","BIT_COUNT","BIT_LENGTH","BIT_OR","BIT_XOR","CAN_ACCESS_COLUMN","CAN_ACCESS_DATABASE","CAN_ACCESS_TABLE","CAN_ACCESS_USER","CAN_ACCESS_VIEW","CASE","CAST","CEIL","CEILING","CHAR","CHAR_LENGTH","CHARACTER_LENGTH","CHARSET","COALESCE","COERCIBILITY","COLLATION","COMPRESS","CONCAT","CONCAT_WS","CONNECTION_ID","CONV","CONVERT","CONVERT_TZ","COS","COT","COUNT","CRC32","CUME_DIST","CURDATE","CURRENT_DATE","CURRENT_ROLE","CURRENT_TIME","CURRENT_TIMESTAMP","CURRENT_USER","CURTIME","DATABASE","DATE","DATE_ADD","DATE_FORMAT","DATE_SUB","DATEDIFF","DAY","DAYNAME","DAYOFMONTH","DAYOFWEEK","DAYOFYEAR","DEFAULT","DEGREES","DENSE_RANK","DIV","ELT","EXP","EXPORT_SET","EXTRACT","ExtractValue","FIELD","FIND_IN_SET","FIRST_VALUE","FLOOR","FORMAT","FORMAT_BYTES","FORMAT_PICO_TIME","FOUND_ROWS","FROM_BASE64","FROM_DAYS","FROM_UNIXTIME","GeomCollection","GeometryCollection","GET_DD_COLUMN_PRIVILEGES","GET_DD_CREATE_OPTIONS","GET_DD_INDEX_SUB_PART_LENGTH","GET_FORMAT","GET_LOCK","GREATEST","GROUP_CONCAT","GROUPING","GTID_SUBSET","GTID_SUBTRACT","HEX","HOUR","ICU_VERSION","IF","IFNULL","IN","INET_ATON","INET_NTOA","INET6_ATON","INET6_NTOA","INSERT","INSTR","INTERNAL_AUTO_INCREMENT","INTERNAL_AVG_ROW_LENGTH","INTERNAL_CHECK_TIME","INTERNAL_CHECKSUM","INTERNAL_DATA_FREE","INTERNAL_DATA_LENGTH","INTERNAL_DD_CHAR_LENGTH","INTERNAL_GET_COMMENT_OR_ERROR","INTERNAL_GET_ENABLED_ROLE_JSON","INTERNAL_GET_HOSTNAME","INTERNAL_GET_USERNAME","INTERNAL_GET_VIEW_WARNING_OR_ERROR","INTERNAL_INDEX_COLUMN_CARDINALITY","INTERNAL_INDEX_LENGTH","INTERNAL_IS_ENABLED_ROLE","INTERNAL_IS_MANDATORY_ROLE","INTERNAL_KEYS_DISABLED","INTERNAL_MAX_DATA_LENGTH","INTERNAL_TABLE_ROWS","INTERNAL_UPDATE_TIME","INTERVAL","IS","IS_FREE_LOCK","IS_IPV4","IS_IPV4_COMPAT","IS_IPV4_MAPPED","IS_IPV6","IS NOT","IS NOT NULL","IS NULL","IS_USED_LOCK","IS_UUID","ISNULL","JSON_ARRAY","JSON_ARRAY_APPEND","JSON_ARRAY_INSERT","JSON_ARRAYAGG","JSON_CONTAINS","JSON_CONTAINS_PATH","JSON_DEPTH","JSON_EXTRACT","JSON_INSERT","JSON_KEYS","JSON_LENGTH","JSON_MERGE","JSON_MERGE_PATCH","JSON_MERGE_PRESERVE","JSON_OBJECT","JSON_OBJECTAGG","JSON_OVERLAPS","JSON_PRETTY","JSON_QUOTE","JSON_REMOVE","JSON_REPLACE","JSON_SCHEMA_VALID","JSON_SCHEMA_VALIDATION_REPORT","JSON_SEARCH","JSON_SET","JSON_STORAGE_FREE","JSON_STORAGE_SIZE","JSON_TABLE","JSON_TYPE","JSON_UNQUOTE","JSON_VALID","JSON_VALUE","LAG","LAST_DAY","LAST_INSERT_ID","LAST_VALUE","LCASE","LEAD","LEAST","LEFT","LENGTH","LIKE","LineString","LN","LOAD_FILE","LOCALTIME","LOCALTIMESTAMP","LOCATE","LOG","LOG10","LOG2","LOWER","LPAD","LTRIM","MAKE_SET","MAKEDATE","MAKETIME","MASTER_POS_WAIT","MATCH","MAX","MBRContains","MBRCoveredBy","MBRCovers","MBRDisjoint","MBREquals","MBRIntersects","MBROverlaps","MBRTouches","MBRWithin","MD5","MEMBER OF","MICROSECOND","MID","MIN","MINUTE","MOD","MONTH","MONTHNAME","MultiLineString","MultiPoint","MultiPolygon","NAME_CONST","NOT","NOT IN","NOT LIKE","NOT REGEXP","NOW","NTH_VALUE","NTILE","NULLIF","OCT","OCTET_LENGTH","OR","ORD","PERCENT_RANK","PERIOD_ADD","PERIOD_DIFF","PI","Point","Polygon","POSITION","POW","POWER","PS_CURRENT_THREAD_ID","PS_THREAD_ID","QUARTER","QUOTE","RADIANS","RAND","RANDOM_BYTES","RANK","REGEXP","REGEXP_INSTR","REGEXP_LIKE","REGEXP_REPLACE","REGEXP_SUBSTR","RELEASE_ALL_LOCKS","RELEASE_LOCK","REPEAT","REPLACE","REVERSE","RIGHT","RLIKE","ROLES_GRAPHML","ROUND","ROW_COUNT","ROW_NUMBER","RPAD","RTRIM","SCHEMA","SEC_TO_TIME","SECOND","SESSION_USER","SHA1","SHA2","SIGN","SIN","SLEEP","SOUNDEX","SOUNDS LIKE","SOURCE_POS_WAIT","SPACE","SQRT","ST_Area","ST_AsBinary","ST_AsGeoJSON","ST_AsText","ST_Buffer","ST_Buffer_Strategy","ST_Centroid","ST_Collect","ST_Contains","ST_ConvexHull","ST_Crosses","ST_Difference","ST_Dimension","ST_Disjoint","ST_Distance","ST_Distance_Sphere","ST_EndPoint","ST_Envelope","ST_Equals","ST_ExteriorRing","ST_FrechetDistance","ST_GeoHash","ST_GeomCollFromText","ST_GeomCollFromWKB","ST_GeometryN","ST_GeometryType","ST_GeomFromGeoJSON","ST_GeomFromText","ST_GeomFromWKB","ST_HausdorffDistance","ST_InteriorRingN","ST_Intersection","ST_Intersects","ST_IsClosed","ST_IsEmpty","ST_IsSimple","ST_IsValid","ST_LatFromGeoHash","ST_Latitude","ST_Length","ST_LineFromText","ST_LineFromWKB","ST_LineInterpolatePoint","ST_LineInterpolatePoints","ST_LongFromGeoHash","ST_Longitude","ST_MakeEnvelope","ST_MLineFromText","ST_MLineFromWKB","ST_MPointFromText","ST_MPointFromWKB","ST_MPolyFromText","ST_MPolyFromWKB","ST_NumGeometries","ST_NumInteriorRing","ST_NumPoints","ST_Overlaps","ST_PointAtDistance","ST_PointFromGeoHash","ST_PointFromText","ST_PointFromWKB","ST_PointN","ST_PolyFromText","ST_PolyFromWKB","ST_Simplify","ST_SRID","ST_StartPoint","ST_SwapXY","ST_SymDifference","ST_Touches","ST_Transform","ST_Union","ST_Validate","ST_Within","ST_X","ST_Y","STATEMENT_DIGEST","STATEMENT_DIGEST_TEXT","STD","STDDEV","STDDEV_POP","STDDEV_SAMP","STR_TO_DATE","STRCMP","SUBDATE","SUBSTR","SUBSTRING","SUBSTRING_INDEX","SUBTIME","SUM","SYSDATE","SYSTEM_USER","TAN","TIME","TIME_FORMAT","TIME_TO_SEC","TIMEDIFF","TIMESTAMP","TIMESTAMPADD","TIMESTAMPDIFF","TO_BASE64","TO_DAYS","TO_SECONDS","TRIM","TRUNCATE","UCASE","UNCOMPRESS","UNCOMPRESSED_LENGTH","UNHEX","UNIX_TIMESTAMP","UpdateXML","UPPER","USER","UTC_DATE","UTC_TIME","UTC_TIMESTAMP","UUID","UUID_SHORT","UUID_TO_BIN","VALIDATE_PASSWORD_STRENGTH","VALUES","VAR_POP","VAR_SAMP","VARIANCE","VERSION","WAIT_FOR_EXECUTED_GTID_SET","WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS","WEEK","WEEKDAY","WEEKOFYEAR","WEIGHT_STRING","XOR","YEAR","YEARWEEK"])),vE.stringTypes=["``","''",'""'],vE.blockStart=["(","CASE"],vE.blockEnd=[")","END"],vE.indexedPlaceholderTypes=["?"],vE.namedPlaceholderTypes=[],vE.lineCommentTypes=["--","#"],vE.specialWordChars={prefix:"@:"},vE.operators=[":=","<<",">>","<=>","&&","||","->","->>"];var wE=function(E){!function(E,T){if("function"!=typeof T&&null!==T)throw new TypeError("Super expression must either be null or a function");E.prototype=Object.create(T&&T.prototype,{constructor:{value:E,writable:!0,configurable:!0}}),Object.defineProperty(E,"prototype",{writable:!1}),T&&KE(E,T)}(O,E);var T,R,A,S,e=(A=O,S=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(E){return!1}}(),function(){var E,T=JE(A);if(S){var R=JE(this).constructor;E=Reflect.construct(T,arguments,R)}else E=T.apply(this,arguments);return gE(this,E)});function O(){return XE(this,O),e.apply(this,arguments)}return T=O,(R=[{key:"tokenizer",value:function(){return new F({reservedCommands:O.reservedCommands,reservedBinaryCommands:O.reservedBinaryCommands,reservedDependentClauses:O.reservedDependentClauses,reservedJoinConditions:O.reservedJoinConditions,reservedLogicalOperators:O.reservedLogicalOperators,reservedKeywords:O.reservedKeywords,stringTypes:O.stringTypes,blockStart:O.blockStart,blockEnd:O.blockEnd,namedPlaceholderTypes:O.namedPlaceholderTypes,lineCommentTypes:O.lineCommentTypes,operators:O.operators})}}])&&bE(T.prototype,R),Object.defineProperty(T,"prototype",{writable:!1}),O}($);function kE(E){return kE="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(E){return typeof E}:function(E){return E&&"function"==typeof Symbol&&E.constructor===Symbol&&E!==Symbol.prototype?"symbol":typeof E},kE(E)}function QE(E,T){if(!(E instanceof T))throw new TypeError("Cannot call a class as a function")}function jE(E,T){for(var R=0;R<T.length;R++){var A=T[R];A.enumerable=A.enumerable||!1,A.configurable=!0,"value"in A&&(A.writable=!0),Object.defineProperty(E,A.key,A)}}function ZE(E,T){return ZE=Object.setPrototypeOf||function(E,T){return E.__proto__=T,E},ZE(E,T)}function xE(E,T){if(T&&("object"===kE(T)||"function"==typeof T))return T;if(void 0!==T)throw new TypeError("Derived constructors may only return object or undefined");return function(E){if(void 0===E)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return E}(E)}function $E(E){return $E=Object.setPrototypeOf?Object.getPrototypeOf:function(E){return E.__proto__||Object.getPrototypeOf(E)},$E(E)}wE.reservedCommands=["ADVISE","ALTER INDEX","BEGIN TRANSACTION","BUILD INDEX","COMMIT TRANSACTION","CREATE COLLECTION","CREATE FUNCTION","CREATE INDEX","CREATE PRIMARY INDEX","CREATE SCOPE","CREATE TABLE","DELETE","DROP COLLECTION","DROP FUNCTION","DROP INDEX","DROP PRIMARY INDEX","DROP SCOPE","EXECUTE","EXECUTE FUNCTION","EXPLAIN","GRANT","INFER","INSERT","MERGE","PREPARE","RETURNING","REVOKE","ROLLBACK TRANSACTION","SAVEPOINT","SELECT","SET TRANSACTION","UPDATE","UPDATE STATISTICS","UPSERT","DROP TABLE","FROM","GROUP BY","HAVING","INSERT INTO","LET","LIMIT","OFFSET","NEST","ORDER BY","SET CURRENT SCHEMA","SET SCHEMA","SET","SHOW","UNNEST","USE KEYS","VALUES","WHERE","WITH"],wE.reservedBinaryCommands=["INTERSECT","INTERSECT ALL","INTERSECT DISTINCT","UNION","UNION ALL","UNION DISTINCT","EXCEPT","EXCEPT ALL","EXCEPT DISTINCT","MINUS","MINUS ALL","MINUS DISTINCT","JOIN","INNER JOIN","LEFT JOIN","LEFT OUTER JOIN","RIGHT JOIN","RIGHT OUTER JOIN"],wE.reservedDependentClauses=["WHEN","ELSE"],wE.reservedJoinConditions=["ON","USING"],wE.reservedLogicalOperators=["AND","OR","XOR"],wE.reservedKeywords=A([].concat(["ALL","ALTER","ANALYZE","ANY","ARRAY","AS","ASC","AT","BEGIN","BETWEEN","BINARY","BOOLEAN","BREAK","BUCKET","BUILD","BY","CALL","CAST","CHAR","CLUSTER","COLLATE","COLLECTION","COMMIT","COMMITTED","CONNECT","CONTINUE","CORRELATE","CORRELATED","COVER","CREATE","CURRENT","DATABASE","DATASET","DATASTORE","DECLARE","DECREMENT","DERIVED","DESC","DESCRIBE","DISTINCT","DO","DROP","EACH","ELEMENT","EVERY","EXCLUDE","EXISTS","FALSE","FETCH","FILTER","FIRST","FLATTEN","FLUSH","FOLLOWING","FOR","FORCE","FTS","FUNCTION","GOLANG","GROUP","GROUPS","GSI","HASH","IF","IGNORE","ILIKE","IN","INCLUDE","INCREMENT","INDEX","INLINE","INNER","INTO","IS","ISOLATION","JAVASCRIPT","KEY","KEYS","KEYSPACE","KNOWN","LANGUAGE","LAST","LEFT","LETTING","LEVEL","LIKE","LSM","MAP","MAPPING","MATCHED","MATERIALIZED","MISSING","NAMESPACE","NL","NO","NOT","NULL","NULLS","NUMBER","OBJECT","OFFSET","OPTION","OPTIONS","ORDER","OTHERS","OUTER","OVER","PARSE","PARTITION","PASSWORD","PATH","POOL","PRECEDING","PRIMARY","PRIVATE","PRIVILEGE","PROBE","PROCEDURE","PUBLIC","RANGE","RAW","REALM","REDUCE","RENAME","RESPECT","RETURN","RIGHT","ROLE","ROLLBACK","ROW","ROWS","SATISFIES","SCHEMA","SCOPE","SELF","SEMI","SOME","START","STATISTICS","STRING","SYSTEM","THEN","TIES","TO","TRAN","TRANSACTION","TRIGGER","TRUE","TRUNCATE","UNBOUNDED","UNDER","UNIQUE","UNKNOWN","UNSET","USE","USER","VALIDATE","VALUE","VALUED","VIA","VIEW","WHILE","WINDOW","WITHIN","WORK"],["ABORT","ABS","ACOS","ADVISOR","ARRAY_AGG","ARRAY_AGG","ARRAY_APPEND","ARRAY_AVG","ARRAY_BINARY_SEARCH","ARRAY_CONCAT","ARRAY_CONTAINS","ARRAY_COUNT","ARRAY_DISTINCT","ARRAY_EXCEPT","ARRAY_FLATTEN","ARRAY_IFNULL","ARRAY_INSERT","ARRAY_INTERSECT","ARRAY_LENGTH","ARRAY_MAX","ARRAY_MIN","ARRAY_MOVE","ARRAY_POSITION","ARRAY_PREPEND","ARRAY_PUT","ARRAY_RANGE","ARRAY_REMOVE","ARRAY_REPEAT","ARRAY_REPLACE","ARRAY_REVERSE","ARRAY_SORT","ARRAY_STAR","ARRAY_SUM","ARRAY_SYMDIFF","ARRAY_SYMDIFF1","ARRAY_SYMDIFFN","ARRAY_UNION","ASIN","ATAN","ATAN2","AVG","BASE64","BASE64_DECODE","BASE64_ENCODE","BITAND ","BITCLEAR ","BITNOT ","BITOR ","BITSET ","BITSHIFT ","BITTEST ","BITXOR ","CEIL","CLOCK_LOCAL","CLOCK_MILLIS","CLOCK_STR","CLOCK_TZ","CLOCK_UTC","COALESCE","CONCAT","CONCAT2","CONTAINS","CONTAINS_TOKEN","CONTAINS_TOKEN_LIKE","CONTAINS_TOKEN_REGEXP","COS","COUNT","COUNT","COUNTN","CUME_DIST","CURL","DATE_ADD_MILLIS","DATE_ADD_STR","DATE_DIFF_MILLIS","DATE_DIFF_STR","DATE_FORMAT_STR","DATE_PART_MILLIS","DATE_PART_STR","DATE_RANGE_MILLIS","DATE_RANGE_STR","DATE_TRUNC_MILLIS","DATE_TRUNC_STR","DECODE","DECODE_JSON","DEGREES","DENSE_RANK","DURATION_TO_STR","ENCODED_SIZE","ENCODE_JSON","EXP","FIRST_VALUE","FLOOR","GREATEST","HAS_TOKEN","IFINF","IFMISSING","IFMISSINGORNULL","IFNAN","IFNANORINF","IFNULL","INITCAP","ISARRAY","ISATOM","ISBITSET","ISBOOLEAN","ISNUMBER","ISOBJECT","ISSTRING","LAG","LAST_VALUE","LEAD","LEAST","LENGTH","LN","LOG","LOWER","LTRIM","MAX","MEAN","MEDIAN","META","MILLIS","MILLIS_TO_LOCAL","MILLIS_TO_STR","MILLIS_TO_TZ","MILLIS_TO_UTC","MILLIS_TO_ZONE_NAME","MIN","MISSINGIF","NANIF","NEGINFIF","NOW_LOCAL","NOW_MILLIS","NOW_STR","NOW_TZ","NOW_UTC","NTH_VALUE","NTILE","NULLIF","NVL","NVL2","OBJECT_ADD","OBJECT_CONCAT","OBJECT_INNER_PAIRS","OBJECT_INNER_VALUES","OBJECT_LENGTH","OBJECT_NAMES","OBJECT_PAIRS","OBJECT_PUT","OBJECT_REMOVE","OBJECT_RENAME","OBJECT_REPLACE","OBJECT_UNWRAP","OBJECT_VALUES","PAIRS","PERCENT_RANK","PI","POLY_LENGTH","POSINFIF","POSITION","POWER","RADIANS","RANDOM","RANK","RATIO_TO_REPORT","REGEXP_CONTAINS","REGEXP_LIKE","REGEXP_MATCHES","REGEXP_POSITION","REGEXP_REPLACE","REGEXP_SPLIT","REGEX_CONTAINS","REGEX_LIKE","REGEX_MATCHES","REGEX_POSITION","REGEX_REPLACE","REGEX_SPLIT","REPEAT","REPLACE","REVERSE","ROUND","ROW_NUMBER","RTRIM","SEARCH","SEARCH_META","SEARCH_SCORE","SIGN","SIN","SPLIT","SQRT","STDDEV","STDDEV_POP","STDDEV_SAMP","STR_TO_DURATION","STR_TO_MILLIS","STR_TO_TZ","STR_TO_UTC","STR_TO_ZONE_NAME","SUBSTR","SUFFIXES","SUM","TAN","TITLE","TOARRAY","TOATOM","TOBOOLEAN","TOKENS","TOKENS","TONUMBER","TOOBJECT","TOSTRING","TRIM","TRUNC","UPPER","UUID","VARIANCE","VARIANCE_POP","VARIANCE_SAMP","VAR_POP","VAR_SAMP","WEEKDAY_MILLIS","WEEKDAY_STR"])),wE.stringTypes=['""',"''","``"],wE.blockStart=["(","[","{","CASE"],wE.blockEnd=[")","]","}","END"],wE.namedPlaceholderTypes=["$"],wE.lineCommentTypes=["#","--"],wE.operators=["=="];var zE=function(E){!function(E,T){if("function"!=typeof T&&null!==T)throw new TypeError("Super expression must either be null or a function");E.prototype=Object.create(T&&T.prototype,{constructor:{value:E,writable:!0,configurable:!0}}),Object.defineProperty(E,"prototype",{writable:!1}),T&&ZE(E,T)}(O,E);var T,R,A,S,e=(A=O,S=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(E){return!1}}(),function(){var E,T=$E(A);if(S){var R=$E(this).constructor;E=Reflect.construct(T,arguments,R)}else E=T.apply(this,arguments);return xE(this,E)});function O(){return QE(this,O),e.apply(this,arguments)}return T=O,(R=[{key:"tokenizer",value:function(){return new F({reservedCommands:O.reservedCommands,reservedBinaryCommands:O.reservedBinaryCommands,reservedDependentClauses:O.reservedDependentClauses,reservedJoinConditions:O.reservedJoinConditions,reservedLogicalOperators:O.reservedLogicalOperators,reservedKeywords:O.reservedKeywords,stringTypes:O.stringTypes,blockStart:O.blockStart,blockEnd:O.blockEnd,indexedPlaceholderTypes:O.indexedPlaceholderTypes,namedPlaceholderTypes:O.namedPlaceholderTypes,lineCommentTypes:O.lineCommentTypes,specialWordChars:O.specialWordChars,operators:O.operators})}},{key:"tokenOverride",value:function(E){return"."===E.value&&this.tokenLookAhead().value.startsWith("`")&&this.tokenLookBehind().value.endsWith("`")?{type:t.OPERATOR,value:E.value}:o.SET(E)&&o.BY(this.getPreviousReservedToken())?{type:t.RESERVED_KEYWORD,value:E.value}:E}}])&&jE(T.prototype,R),Object.defineProperty(T,"prototype",{writable:!1}),O}($);function qE(E){return qE="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(E){return typeof E}:function(E){return E&&"function"==typeof Symbol&&E.constructor===Symbol&&E!==Symbol.prototype?"symbol":typeof E},qE(E)}function ET(E){return function(E){if(Array.isArray(E))return TT(E)}(E)||function(E){if("undefined"!=typeof Symbol&&null!=E[Symbol.iterator]||null!=E["@@iterator"])return Array.from(E)}(E)||function(E,T){if(E){if("string"==typeof E)return TT(E,T);var R=Object.prototype.toString.call(E).slice(8,-1);return"Object"===R&&E.constructor&&(R=E.constructor.name),"Map"===R||"Set"===R?Array.from(E):"Arguments"===R||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(R)?TT(E,T):void 0}}(E)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function TT(E,T){(null==T||T>E.length)&&(T=E.length);for(var R=0,A=new Array(T);R<T;R++)A[R]=E[R];return A}function RT(E,T){if(!(E instanceof T))throw new TypeError("Cannot call a class as a function")}function AT(E,T){for(var R=0;R<T.length;R++){var A=T[R];A.enumerable=A.enumerable||!1,A.configurable=!0,"value"in A&&(A.writable=!0),Object.defineProperty(E,A.key,A)}}function ST(E,T){return ST=Object.setPrototypeOf||function(E,T){return E.__proto__=T,E},ST(E,T)}function eT(E,T){if(T&&("object"===qE(T)||"function"==typeof T))return T;if(void 0!==T)throw new TypeError("Derived constructors may only return object or undefined");return function(E){if(void 0===E)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return E}(E)}function OT(E){return OT=Object.setPrototypeOf?Object.getPrototypeOf:function(E){return E.__proto__||Object.getPrototypeOf(E)},OT(E)}zE.reservedCommands=["ADD","ALTER COLUMN","ALTER TABLE","BEGIN","CONNECT BY","CREATE TABLE","DROP TABLE","DECLARE","DELETE","END","EXCEPT","EXCEPTION","FETCH FIRST","FROM","GROUP BY","HAVING","INSERT INTO","INSERT","LIMIT","OFFSET","LOOP","MODIFY","ORDER BY","RETURNING","SELECT","SET CURRENT SCHEMA","SET SCHEMA","SET","START WITH","UPDATE","VALUES","WHERE","WITH"],zE.reservedBinaryCommands=["INTERSECT","INTERSECT ALL","INTERSECT DISTINCT","UNION","UNION ALL","UNION DISTINCT","EXCEPT","EXCEPT ALL","EXCEPT DISTINCT","MINUS","MINUS ALL","MINUS DISTINCT","JOIN","INNER JOIN","LEFT JOIN","LEFT OUTER JOIN","RIGHT JOIN","RIGHT OUTER JOIN","FULL JOIN","FULL OUTER JOIN","CROSS JOIN","NATURAL JOIN","CROSS APPLY","OUTER APPLY"],zE.reservedDependentClauses=["WHEN","ELSE"],zE.reservedJoinConditions=["ON","USING"],zE.reservedLogicalOperators=["AND","OR","XOR"],zE.reservedKeywords=A(["ACCESSIBLE","AGENT","AGGREGATE","ALL","ALTER","ANY","ARRAY","AS","ASC","AT","ATTRIBUTE","AUTHID","AVG","BETWEEN","BFILE_BASE","BINARY","BINARY_INTEGER","BLOB_BASE","BLOCK","BODY","BOOLEAN","BOTH","BOUND","BREADTH","BULK","BY","BYTE","CALL","CALLING","CASCADE","CAST","CHAR","CHARACTER","CHARSET","CHARSETFORM","CHARSETID","CHAR_BASE","CHECK","CLOB_BASE","CLONE","CLOSE","CLUSTER","CLUSTERS","COALESCE","COLAUTH","COLLECT","COLUMNS","COMMENT","COMMIT","COMMITTED","COMPILED","COMPRESS","CONNECT","CONSTANT","CONSTRUCTOR","CONTEXT","CONTINUE","CONVERT","COUNT","CRASH","CREATE","CREDENTIAL","CURRENT","CURRVAL","CURSOR","CUSTOMDATUM","DANGLING","DATA","DATE","DATE_BASE","DAY","DECIMAL","DEFAULT","DEFINE","DEPTH","DESC","DETERMINISTIC","DIRECTORY","DISTINCT","DO","DOUBLE","DROP","DURATION","ELEMENT","ELSIF","EMPTY","ESCAPE","EXCEPTIONS","EXCLUSIVE","EXECUTE","EXISTS","EXIT","EXTENDS","EXTERNAL","EXTRACT","FALSE","FETCH","FINAL","FIRST","FIXED","FLOAT","FOR","FORALL","FORCE","FUNCTION","GENERAL","GOTO","GRANT","GROUP","HASH","HEAP","HIDDEN","HOUR","IDENTIFIED","IF","IMMEDIATE","IN","INCLUDING","INDEX","INDEXES","INDICATOR","INDICES","INFINITE","INSTANTIABLE","INT","INTEGER","INTERFACE","INTERVAL","INTO","INVALIDATE","IS","ISOLATION","JAVA","LANGUAGE","LARGE","LEADING","LENGTH","LEVEL","LIBRARY","LIKE","LIKE2","LIKE4","LIKEC","LIMITED","LOCAL","LOCK","LONG","MAP","MAX","MAXLEN","MEMBER","MERGE","MIN","MINUTE","MLSLABEL","MOD","MODE","MONTH","MULTISET","NAME","NAN","NATIONAL","NATIVE","NATURAL","NATURALN","NCHAR","NEW","NEXTVAL","NOCOMPRESS","NOCOPY","NOT","NOWAIT","NULL","NULLIF","NUMBER","NUMBER_BASE","OBJECT","OCICOLL","OCIDATE","OCIDATETIME","OCIDURATION","OCIINTERVAL","OCILOBLOCATOR","OCINUMBER","OCIRAW","OCIREF","OCIREFCURSOR","OCIROWID","OCISTRING","OCITYPE","OF","OLD","ON DELETE","ON UPDATE","ONLY","OPAQUE","OPEN","OPERATOR","OPTION","ORACLE","ORADATA","ORDER","ORGANIZATION","ORLANY","ORLVARY","OTHERS","OUT","OVERLAPS","OVERRIDING","PACKAGE","PARALLEL_ENABLE","PARAMETER","PARAMETERS","PARENT","PARTITION","PASCAL","PCTFREE","PIPE","PIPELINED","PLS_INTEGER","PLUGGABLE","POSITIVE","POSITIVEN","PRAGMA","PRECISION","PRIOR","PRIVATE","PROCEDURE","PUBLIC","RAISE","RANGE","RAW","READ","REAL","RECORD","REF","REFERENCE","RELEASE","RELIES_ON","REM","REMAINDER","RENAME","RESOURCE","RESULT","RESULT_CACHE","RETURN","REVERSE","REVOKE","ROLLBACK","ROW","ROWID","ROWNUM","ROWTYPE","SAMPLE","SAVE","SAVEPOINT","SB1","SB2","SB4","SEARCH","SECOND","SEGMENT","SELF","SEPARATE","SEQUENCE","SERIALIZABLE","SHARE","SHORT","SIZE","SIZE_T","SMALLINT","SOME","SPACE","SPARSE","SQL","SQLCODE","SQLDATA","SQLERRM","SQLNAME","SQLSTATE","STANDARD","START","STATIC","STDDEV","STORED","STRING","STRUCT","STYLE","SUBMULTISET","SUBPARTITION","SUBSTITUTABLE","SUBTYPE","SUCCESSFUL","SUM","SYNONYM","SYSDATE","TABAUTH","TABLE","TDO","THE","THEN","TIME","TIMESTAMP","TIMEZONE_ABBR","TIMEZONE_HOUR","TIMEZONE_MINUTE","TIMEZONE_REGION","TO","TRAILING","TRANSACTION","TRANSACTIONAL","TRIGGER","TRUE","TRUSTED","TYPE","UB1","UB2","UB4","UID","UNDER","UNIQUE","UNPLUG","UNSIGNED","UNTRUSTED","USE","USER","VALIDATE","VALIST","VALUE","VARCHAR","VARCHAR2","VARIABLE","VARIANCE","VARRAY","VARYING","VIEW","VIEWS","VOID","WHENEVER","WHILE","WORK","WRAPPED","WRITE","YEAR","ZONE"]),zE.stringTypes=['""',"N''","''","``"],zE.blockStart=["(","CASE"],zE.blockEnd=[")","END"],zE.indexedPlaceholderTypes=["?"],zE.namedPlaceholderTypes=[":"],zE.lineCommentTypes=["--"],zE.specialWordChars={any:"_$#.@"},zE.operators=["||","**",":=","~=","^=",">>","<<","=>"];var IT=function(E){!function(E,T){if("function"!=typeof T&&null!==T)throw new TypeError("Super expression must either be null or a function");E.prototype=Object.create(T&&T.prototype,{constructor:{value:E,writable:!0,configurable:!0}}),Object.defineProperty(E,"prototype",{writable:!1}),T&&ST(E,T)}(O,E);var T,R,A,S,e=(A=O,S=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(E){return!1}}(),function(){var E,T=OT(A);if(S){var R=OT(this).constructor;E=Reflect.construct(T,arguments,R)}else E=T.apply(this,arguments);return eT(this,E)});function O(){return RT(this,O),e.apply(this,arguments)}return T=O,(R=[{key:"tokenizer",value:function(){return new F({reservedCommands:O.reservedCommands,reservedBinaryCommands:O.reservedBinaryCommands,reservedDependentClauses:O.reservedDependentClauses,reservedJoinConditions:O.reservedJoinConditions,reservedLogicalOperators:O.reservedLogicalOperators,reservedKeywords:O.reservedKeywords,stringTypes:O.stringTypes,blockStart:O.blockStart,blockEnd:O.blockEnd,indexedPlaceholderTypes:O.indexedPlaceholderTypes,namedPlaceholderTypes:O.namedPlaceholderTypes,lineCommentTypes:O.lineCommentTypes,operators:O.operators})}}])&&AT(T.prototype,R),Object.defineProperty(T,"prototype",{writable:!1}),O}($);function NT(E){return NT="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(E){return typeof E}:function(E){return E&&"function"==typeof Symbol&&E.constructor===Symbol&&E!==Symbol.prototype?"symbol":typeof E},NT(E)}function tT(E){return function(E){if(Array.isArray(E))return CT(E)}(E)||function(E){if("undefined"!=typeof Symbol&&null!=E[Symbol.iterator]||null!=E["@@iterator"])return Array.from(E)}(E)||function(E,T){if(E){if("string"==typeof E)return CT(E,T);var R=Object.prototype.toString.call(E).slice(8,-1);return"Object"===R&&E.constructor&&(R=E.constructor.name),"Map"===R||"Set"===R?Array.from(E):"Arguments"===R||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(R)?CT(E,T):void 0}}(E)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function CT(E,T){(null==T||T>E.length)&&(T=E.length);for(var R=0,A=new Array(T);R<T;R++)A[R]=E[R];return A}function rT(E,T){if(!(E instanceof T))throw new TypeError("Cannot call a class as a function")}function LT(E,T){for(var R=0;R<T.length;R++){var A=T[R];A.enumerable=A.enumerable||!1,A.configurable=!0,"value"in A&&(A.writable=!0),Object.defineProperty(E,A.key,A)}}function nT(E,T){return nT=Object.setPrototypeOf||function(E,T){return E.__proto__=T,E},nT(E,T)}function _T(E,T){if(T&&("object"===NT(T)||"function"==typeof T))return T;if(void 0!==T)throw new TypeError("Derived constructors may only return object or undefined");return function(E){if(void 0===E)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return E}(E)}function oT(E){return oT=Object.setPrototypeOf?Object.getPrototypeOf:function(E){return E.__proto__||Object.getPrototypeOf(E)},oT(E)}IT.reservedCommands=["ABORT","ALTER AGGREGATE","ALTER COLLATION","ALTER CONVERSION","ALTER DATABASE","ALTER DEFAULT PRIVILEGES","ALTER DOMAIN","ALTER EVENT TRIGGER","ALTER EXTENSION","ALTER FOREIGN DATA WRAPPER","ALTER FOREIGN TABLE","ALTER FUNCTION","ALTER GROUP","ALTER INDEX","ALTER LANGUAGE","ALTER LARGE OBJECT","ALTER MATERIALIZED VIEW","ALTER OPERATOR","ALTER OPERATOR CLASS","ALTER OPERATOR FAMILY","ALTER POLICY","ALTER PROCEDURE","ALTER PUBLICATION","ALTER ROLE","ALTER ROUTINE","ALTER RULE","ALTER SCHEMA","ALTER SEQUENCE","ALTER SERVER","ALTER STATISTICS","ALTER SUBSCRIPTION","ALTER SYSTEM","ALTER TABLE","ALTER TABLESPACE","ALTER TEXT SEARCH CONFIGURATION","ALTER TEXT SEARCH DICTIONARY","ALTER TEXT SEARCH PARSER","ALTER TEXT SEARCH TEMPLATE","ALTER TRIGGER","ALTER TYPE","ALTER USER","ALTER USER MAPPING","ALTER VIEW","ANALYZE","BEGIN","CALL","CHECKPOINT","CLOSE","CLUSTER","COMMENT","COMMIT","COMMIT PREPARED","COPY","CREATE ACCESS METHOD","CREATE AGGREGATE","CREATE CAST","CREATE COLLATION","CREATE CONVERSION","CREATE DATABASE","CREATE DOMAIN","CREATE EVENT TRIGGER","CREATE EXTENSION","CREATE FOREIGN DATA WRAPPER","CREATE FOREIGN TABLE","CREATE FUNCTION","CREATE GROUP","CREATE INDEX","CREATE LANGUAGE","CREATE MATERIALIZED VIEW","CREATE OPERATOR","CREATE OPERATOR CLASS","CREATE OPERATOR FAMILY","CREATE POLICY","CREATE PROCEDURE","CREATE PUBLICATION","CREATE ROLE","CREATE RULE","CREATE SCHEMA","CREATE SEQUENCE","CREATE SERVER","CREATE STATISTICS","CREATE SUBSCRIPTION","CREATE TABLE","CREATE TABLE AS","CREATE TABLESPACE","CREATE TEXT SEARCH CONFIGURATION","CREATE TEXT SEARCH DICTIONARY","CREATE TEXT SEARCH PARSER","CREATE TEXT SEARCH TEMPLATE","CREATE TRANSFORM","CREATE TRIGGER","CREATE TYPE","CREATE USER","CREATE USER MAPPING","CREATE VIEW","DEALLOCATE","DECLARE","DELETE","DISCARD","DO","DROP ACCESS METHOD","DROP AGGREGATE","DROP CAST","DROP COLLATION","DROP CONVERSION","DROP DATABASE","DROP DOMAIN","DROP EVENT TRIGGER","DROP EXTENSION","DROP FOREIGN DATA WRAPPER","DROP FOREIGN TABLE","DROP FUNCTION","DROP GROUP","DROP INDEX","DROP LANGUAGE","DROP MATERIALIZED VIEW","DROP OPERATOR","DROP OPERATOR CLASS","DROP OPERATOR FAMILY","DROP OWNED","DROP POLICY","DROP PROCEDURE","DROP PUBLICATION","DROP ROLE","DROP ROUTINE","DROP RULE","DROP SCHEMA","DROP SEQUENCE","DROP SERVER","DROP STATISTICS","DROP SUBSCRIPTION","DROP TABLE","DROP TABLESPACE","DROP TEXT SEARCH CONFIGURATION","DROP TEXT SEARCH DICTIONARY","DROP TEXT SEARCH PARSER","DROP TEXT SEARCH TEMPLATE","DROP TRANSFORM","DROP TRIGGER","DROP TYPE","DROP USER","DROP USER MAPPING","DROP VIEW","END","EXECUTE","EXPLAIN","FETCH","GRANT","IMPORT FOREIGN SCHEMA","INSERT","LISTEN","LOAD","LOCK","MOVE","NOTIFY","PREPARE","PREPARE TRANSACTION","REASSIGN OWNED","REFRESH MATERIALIZED VIEW","REINDEX","RELEASE SAVEPOINT","RESET","RETURNING","REVOKE","ROLLBACK","ROLLBACK PREPARED","ROLLBACK TO SAVEPOINT","SAVEPOINT","SECURITY LABEL","SELECT","SELECT INTO","SET","SET CONSTRAINTS","SET ROLE","SET SESSION AUTHORIZATION","SET TRANSACTION","SHOW","START TRANSACTION","TRUNCATE","UNLISTEN","UPDATE","VACUUM","VALUES","ADD","AFTER","ALTER COLUMN","INSERT INTO","SET SCHEMA","FROM","GROUP BY","HAVING","LIMIT","OFFSET","ORDER BY","WHERE","WITH"],IT.reservedBinaryCommands=["INTERSECT","INTERSECT ALL","INTERSECT DISTINCT","UNION","UNION ALL","UNION DISTINCT","EXCEPT","EXCEPT ALL","EXCEPT DISTINCT","MINUS","MINUS ALL","MINUS DISTINCT","JOIN","INNER JOIN","LEFT JOIN","LEFT OUTER JOIN","RIGHT JOIN","RIGHT OUTER JOIN","FULL JOIN","FULL OUTER JOIN","CROSS JOIN","NATURAL JOIN"],IT.reservedDependentClauses=["WHEN","ELSE"],IT.reservedJoinConditions=["ON","USING"],IT.reservedLogicalOperators=["AND","OR"],IT.reservedKeywords=A([].concat(ET(Object.values({math:["ABS","ACOS","ACOSD","ACOSH","ASIN","ASIND","ASINH","ATAN","ATAN2","ATAN2D","ATAND","ATANH","CBRT","CEIL","CEILING","COS","COSD","COSH","COT","COTD","DEGREES","DIV","EXP","FACTORIAL","FLOOR","GCD","LCM","LN","LOG","LOG10","MIN_SCALE","MOD","PI","POWER","RADIANS","RANDOM","ROUND","SCALE","SETSEED","SIGN","SIN","SIND","SINH","SQRT","TAN","TAND","TANH","TRIM_SCALE","TRUNC","WIDTH_BUCKET"],string:["ABS","ASCII","BIT_LENGTH","BTRIM","CHARACTER_LENGTH","CHAR_LENGTH","CHR","CONCAT","CONCAT_WS","FORMAT","INITCAP","LEFT","LENGTH","LOWER","LPAD","LTRIM","MD5","NORMALIZE","OCTET_LENGTH","OVERLAY","PARSE_IDENT","PG_CLIENT_ENCODING","POSITION","QUOTE_IDENT","QUOTE_LITERAL","QUOTE_NULLABLE","REGEXP_MATCH","REGEXP_MATCHES","REGEXP_REPLACE","REGEXP_SPLIT_TO_ARRAY","REGEXP_SPLIT_TO_TABLE","REPEAT","REPLACE","REVERSE","RIGHT","RPAD","RTRIM","SPLIT_PART","SPRINTF","STARTS_WITH","STRING_AGG","STRING_TO_ARRAY","STRING_TO_TABLE","STRPOS","SUBSTR","SUBSTRING","TO_ASCII","TO_HEX","TRANSLATE","TRIM","UNISTR","UPPER"],binary:["BIT_COUNT","BIT_LENGTH","BTRIM","CONVERT","CONVERT_FROM","CONVERT_TO","DECODE","ENCODE","GET_BIT","GET_BYTE","LENGTH","LTRIM","MD5","OCTET_LENGTH","OVERLAY","POSITION","RTRIM","SET_BIT","SET_BYTE","SHA224","SHA256","SHA384","SHA512","STRING_AGG","SUBSTR","SUBSTRING","TRIM"],bitstring:["BIT_COUNT","BIT_LENGTH","GET_BIT","LENGTH","OCTET_LENGTH","OVERLAY","POSITION","SET_BIT","SUBSTRING"],pattern:["REGEXP_MATCH","REGEXP_MATCHES","REGEXP_REPLACE","REGEXP_SPLIT_TO_ARRAY","REGEXP_SPLIT_TO_TABLE"],datatype:["TO_CHAR","TO_DATE","TO_NUMBER","TO_TIMESTAMP"],datetime:["CLOCK_TIMESTAMP","CURRENT_DATE","CURRENT_TIME","CURRENT_TIMESTAMP","DATE_BIN","DATE_PART","DATE_TRUNC","EXTRACT","ISFINITE","JUSTIFY_DAYS","JUSTIFY_HOURS","JUSTIFY_INTERVAL","LOCALTIME","LOCALTIMESTAMP","MAKE_DATE","MAKE_INTERVAL","MAKE_TIME","MAKE_TIMESTAMP","MAKE_TIMESTAMPTZ","NOW","PG_SLEEP","PG_SLEEP_FOR","PG_SLEEP_UNTIL","STATEMENT_TIMESTAMP","TIMEOFDAY","TO_TIMESTAMP","TRANSACTION_TIMESTAMP"],enum:["ENUM_FIRST","ENUM_LAST","ENUM_RANGE"],geometry:["AREA","BOUND_BOX","BOX","CENTER","CIRCLE","DIAGONAL","DIAMETER","HEIGHT","ISCLOSED","ISOPEN","LENGTH","LINE","LSEG","NPOINTS","PATH","PCLOSE","POINT","POLYGON","POPEN","RADIUS","SLOPE","WIDTH"],network:["ABBREV","BROADCAST","FAMILY","HOST","HOSTMASK","INET_MERGE","INET_SAME_FAMILY","MACADDR8_SET7BIT","MASKLEN","NETMASK","NETWORK","SET_MASKLEN","TEXT","TRUNC"],textsearch:["ARRAY_TO_TSVECTOR","GET_CURRENT_TS_CONFIG","JSONB_TO_TSVECTOR","JSON_TO_TSVECTOR","LENGTH","NUMNODE","PHRASETO_TSQUERY","PLAINTO_TSQUERY","QUERYTREE","SETWEIGHT","STRIP","TO_TSQUERY","TO_TSVECTOR","TSQUERY_PHRASE","TSVECTOR_TO_ARRAY","TS_DEBUG","TS_DELETE","TS_FILTER","TS_HEADLINE","TS_LEXIZE","TS_PARSE","TS_RANK","TS_RANK_CD","TS_REWRITE","TS_STAT","TS_TOKEN_TYPE","WEBSEARCH_TO_TSQUERY"],uuid:["UUID"],xml:["CURSOR_TO_XML","CURSOR_TO_XMLSCHEMA","DATABASE_TO_XML","DATABASE_TO_XMLSCHEMA","DATABASE_TO_XML_AND_XMLSCHEMA","NEXTVAL","QUERY_TO_XML","QUERY_TO_XMLSCHEMA","QUERY_TO_XML_AND_XMLSCHEMA","SCHEMA_TO_XML","SCHEMA_TO_XMLSCHEMA","SCHEMA_TO_XML_AND_XMLSCHEMA","STRING","TABLE_TO_XML","TABLE_TO_XMLSCHEMA","TABLE_TO_XML_AND_XMLSCHEMA","XMLAGG","XMLCOMMENT","XMLCONCAT","XMLELEMENT","XMLEXISTS","XMLFOREST","XMLPARSE","XMLPI","XMLROOT","XMLSERIALIZE","XMLTABLE","XML_IS_WELL_FORMED","XML_IS_WELL_FORMED_CONTENT","XML_IS_WELL_FORMED_DOCUMENT","XPATH","XPATH_EXISTS"],json:["ARRAY_TO_JSON","JSONB_AGG","JSONB_ARRAY_ELEMENTS","JSONB_ARRAY_ELEMENTS_TEXT","JSONB_ARRAY_LENGTH","JSONB_BUILD_ARRAY","JSONB_BUILD_OBJECT","JSONB_EACH","JSONB_EACH_TEXT","JSONB_EXTRACT_PATH","JSONB_EXTRACT_PATH_TEXT","JSONB_INSERT","JSONB_OBJECT","JSONB_OBJECT_AGG","JSONB_OBJECT_KEYS","JSONB_PATH_EXISTS","JSONB_PATH_EXISTS_TZ","JSONB_PATH_MATCH","JSONB_PATH_MATCH_TZ","JSONB_PATH_QUERY","JSONB_PATH_QUERY_ARRAY","JSONB_PATH_QUERY_ARRAY_TZ","JSONB_PATH_QUERY_FIRST","JSONB_PATH_QUERY_FIRST_TZ","JSONB_PATH_QUERY_TZ","JSONB_POPULATE_RECORD","JSONB_POPULATE_RECORDSET","JSONB_PRETTY","JSONB_SET","JSONB_SET_LAX","JSONB_STRIP_NULLS","JSONB_TO_RECORD","JSONB_TO_RECORDSET","JSONB_TYPEOF","JSON_AGG","JSON_ARRAY_ELEMENTS","JSON_ARRAY_ELEMENTS_TEXT","JSON_ARRAY_LENGTH","JSON_BUILD_ARRAY","JSON_BUILD_OBJECT","JSON_EACH","JSON_EACH_TEXT","JSON_EXTRACT_PATH","JSON_EXTRACT_PATH_TEXT","JSON_OBJECT","JSON_OBJECT_AGG","JSON_OBJECT_KEYS","JSON_POPULATE_RECORD","JSON_POPULATE_RECORDSET","JSON_STRIP_NULLS","JSON_TO_RECORD","JSON_TO_RECORDSET","JSON_TYPEOF","ROW_TO_JSON","TO_JSON","TO_JSONB","TO_TIMESTAMP"],sequence:["CURRVAL","LASTVAL","NEXTVAL","SETVAL"],conditional:["COALESCE","GREATEST","LEAST","NULLIF"],array:["ARRAY_AGG","ARRAY_APPEND","ARRAY_CAT","ARRAY_DIMS","ARRAY_FILL","ARRAY_LENGTH","ARRAY_LOWER","ARRAY_NDIMS","ARRAY_POSITION","ARRAY_POSITIONS","ARRAY_PREPEND","ARRAY_REMOVE","ARRAY_REPLACE","ARRAY_TO_STRING","ARRAY_UPPER","CARDINALITY","STRING_TO_ARRAY","TRIM_ARRAY","UNNEST"],range:["ISEMPTY","LOWER","LOWER_INC","LOWER_INF","MULTIRANGE","RANGE_MERGE","UPPER","UPPER_INC","UPPER_INF"],aggregate:["ANY","ARRAY_AGG","AVG","BIT_AND","BIT_OR","BIT_XOR","BOOL_AND","BOOL_OR","COALESCE","CORR","COUNT","COVAR_POP","COVAR_SAMP","CUME_DIST","DENSE_RANK","EVERY","GROUPING","JSONB_AGG","JSONB_OBJECT_AGG","JSON_AGG","JSON_OBJECT_AGG","MAX","MIN","MODE","PERCENTILE_CONT","PERCENTILE_DISC","PERCENT_RANK","RANGE_AGG","RANGE_INTERSECT_AGG","RANK","REGR_AVGX","REGR_AVGY","REGR_COUNT","REGR_INTERCEPT","REGR_R2","REGR_SLOPE","REGR_SXX","REGR_SXY","REGR_SYY","SOME","STDDEV","STDDEV_POP","STDDEV_SAMP","STRING_AGG","SUM","TO_JSON","TO_JSONB","VARIANCE","VAR_POP","VAR_SAMP","XMLAGG"],window:["CUME_DIST","DENSE_RANK","FIRST_VALUE","LAG","LAST_VALUE","LEAD","NTH_VALUE","NTILE","PERCENT_RANK","RANK","ROW_NUMBER"],set:["GENERATE_SERIES","GENERATE_SUBSCRIPTS"],sysInfo:["ACLDEFAULT","ACLEXPLODE","COL_DESCRIPTION","CURRENT_CATALOG","CURRENT_DATABASE","CURRENT_QUERY","CURRENT_ROLE","CURRENT_SCHEMA","CURRENT_SCHEMAS","CURRENT_USER","FORMAT_TYPE","HAS_ANY_COLUMN_PRIVILEGE","HAS_COLUMN_PRIVILEGE","HAS_DATABASE_PRIVILEGE","HAS_FOREIGN_DATA_WRAPPER_PRIVILEGE","HAS_FUNCTION_PRIVILEGE","HAS_LANGUAGE_PRIVILEGE","HAS_SCHEMA_PRIVILEGE","HAS_SEQUENCE_PRIVILEGE","HAS_SERVER_PRIVILEGE","HAS_TABLESPACE_PRIVILEGE","HAS_TABLE_PRIVILEGE","HAS_TYPE_PRIVILEGE","INET_CLIENT_ADDR","INET_CLIENT_PORT","INET_SERVER_ADDR","INET_SERVER_PORT","MAKEACLITEM","OBJ_DESCRIPTION","PG_BACKEND_PID","PG_BLOCKING_PIDS","PG_COLLATION_IS_VISIBLE","PG_CONF_LOAD_TIME","PG_CONTROL_CHECKPOINT","PG_CONTROL_INIT","PG_CONTROL_SYSTEM","PG_CONVERSION_IS_VISIBLE","PG_CURRENT_LOGFILE","PG_CURRENT_SNAPSHOT","PG_CURRENT_XACT_ID","PG_CURRENT_XACT_ID_IF_ASSIGNED","PG_DESCRIBE_OBJECT","PG_FUNCTION_IS_VISIBLE","PG_GET_CATALOG_FOREIGN_KEYS","PG_GET_CONSTRAINTDEF","PG_GET_EXPR","PG_GET_FUNCTIONDEF","PG_GET_FUNCTION_ARGUMENTS","PG_GET_FUNCTION_IDENTITY_ARGUMENTS","PG_GET_FUNCTION_RESULT","PG_GET_INDEXDEF","PG_GET_KEYWORDS","PG_GET_OBJECT_ADDRESS","PG_GET_OWNED_SEQUENCE","PG_GET_RULEDEF","PG_GET_SERIAL_SEQUENCE","PG_GET_STATISTICSOBJDEF","PG_GET_TRIGGERDEF","PG_GET_USERBYID","PG_GET_VIEWDEF","PG_HAS_ROLE","PG_IDENTIFY_OBJECT","PG_IDENTIFY_OBJECT_AS_ADDRESS","PG_INDEXAM_HAS_PROPERTY","PG_INDEX_COLUMN_HAS_PROPERTY","PG_INDEX_HAS_PROPERTY","PG_IS_OTHER_TEMP_SCHEMA","PG_JIT_AVAILABLE","PG_LAST_COMMITTED_XACT","PG_LISTENING_CHANNELS","PG_MY_TEMP_SCHEMA","PG_NOTIFICATION_QUEUE_USAGE","PG_OPCLASS_IS_VISIBLE","PG_OPERATOR_IS_VISIBLE","PG_OPFAMILY_IS_VISIBLE","PG_OPTIONS_TO_TABLE","PG_POSTMASTER_START_TIME","PG_SAFE_SNAPSHOT_BLOCKING_PIDS","PG_SNAPSHOT_XIP","PG_SNAPSHOT_XMAX","PG_SNAPSHOT_XMIN","PG_STATISTICS_OBJ_IS_VISIBLE","PG_TABLESPACE_DATABASES","PG_TABLESPACE_LOCATION","PG_TABLE_IS_VISIBLE","PG_TRIGGER_DEPTH","PG_TS_CONFIG_IS_VISIBLE","PG_TS_DICT_IS_VISIBLE","PG_TS_PARSER_IS_VISIBLE","PG_TS_TEMPLATE_IS_VISIBLE","PG_TYPEOF","PG_TYPE_IS_VISIBLE","PG_VISIBLE_IN_SNAPSHOT","PG_XACT_COMMIT_TIMESTAMP","PG_XACT_COMMIT_TIMESTAMP_ORIGIN","PG_XACT_STATUS","PQSERVERVERSION","ROW_SECURITY_ACTIVE","SESSION_USER","SHOBJ_DESCRIPTION","TO_REGCLASS","TO_REGCOLLATION","TO_REGNAMESPACE","TO_REGOPER","TO_REGOPERATOR","TO_REGPROC","TO_REGPROCEDURE","TO_REGROLE","TO_REGTYPE","TXID_CURRENT","TXID_CURRENT_IF_ASSIGNED","TXID_CURRENT_SNAPSHOT","TXID_SNAPSHOT_XIP","TXID_SNAPSHOT_XMAX","TXID_SNAPSHOT_XMIN","TXID_STATUS","TXID_VISIBLE_IN_SNAPSHOT","USER","VERSION"],sysAdmin:["BRIN_DESUMMARIZE_RANGE","BRIN_SUMMARIZE_NEW_VALUES","BRIN_SUMMARIZE_RANGE","CONVERT_FROM","CURRENT_SETTING","GIN_CLEAN_PENDING_LIST","PG_ADVISORY_LOCK","PG_ADVISORY_LOCK_SHARED","PG_ADVISORY_UNLOCK","PG_ADVISORY_UNLOCK_ALL","PG_ADVISORY_UNLOCK_SHARED","PG_ADVISORY_XACT_LOCK","PG_ADVISORY_XACT_LOCK_SHARED","PG_BACKUP_START_TIME","PG_CANCEL_BACKEND","PG_COLLATION_ACTUAL_VERSION","PG_COLUMN_COMPRESSION","PG_COLUMN_SIZE","PG_COPY_LOGICAL_REPLICATION_SLOT","PG_COPY_PHYSICAL_REPLICATION_SLOT","PG_CREATE_LOGICAL_REPLICATION_SLOT","PG_CREATE_PHYSICAL_REPLICATION_SLOT","PG_CREATE_RESTORE_POINT","PG_CURRENT_WAL_FLUSH_LSN","PG_CURRENT_WAL_INSERT_LSN","PG_CURRENT_WAL_LSN","PG_DATABASE_SIZE","PG_DROP_REPLICATION_SLOT","PG_EXPORT_SNAPSHOT","PG_FILENODE_RELATION","PG_GET_WAL_REPLAY_PAUSE_STATE","PG_IMPORT_SYSTEM_COLLATIONS","PG_INDEXES_SIZE","PG_IS_IN_BACKUP","PG_IS_IN_RECOVERY","PG_IS_WAL_REPLAY_PAUSED","PG_LAST_WAL_RECEIVE_LSN","PG_LAST_WAL_REPLAY_LSN","PG_LAST_XACT_REPLAY_TIMESTAMP","PG_LOGICAL_EMIT_MESSAGE","PG_LOGICAL_SLOT_GET_BINARY_CHANGES","PG_LOGICAL_SLOT_GET_CHANGES","PG_LOGICAL_SLOT_PEEK_BINARY_CHANGES","PG_LOGICAL_SLOT_PEEK_CHANGES","PG_LOG_BACKEND_MEMORY_CONTEXTS","PG_LS_ARCHIVE_STATUSDIR","PG_LS_DIR","PG_LS_LOGDIR","PG_LS_TMPDIR","PG_LS_WALDIR","PG_PARTITION_ANCESTORS","PG_PARTITION_ROOT","PG_PARTITION_TREE","PG_PROMOTE","PG_READ_BINARY_FILE","PG_READ_FILE","PG_RELATION_FILENODE","PG_RELATION_FILEPATH","PG_RELATION_SIZE","PG_RELOAD_CONF","PG_REPLICATION_ORIGIN_ADVANCE","PG_REPLICATION_ORIGIN_CREATE","PG_REPLICATION_ORIGIN_DROP","PG_REPLICATION_ORIGIN_OID","PG_REPLICATION_ORIGIN_PROGRESS","PG_REPLICATION_ORIGIN_SESSION_IS_SETUP","PG_REPLICATION_ORIGIN_SESSION_PROGRESS","PG_REPLICATION_ORIGIN_SESSION_RESET","PG_REPLICATION_ORIGIN_SESSION_SETUP","PG_REPLICATION_ORIGIN_XACT_RESET","PG_REPLICATION_ORIGIN_XACT_SETUP","PG_REPLICATION_SLOT_ADVANCE","PG_ROTATE_LOGFILE","PG_SIZE_BYTES","PG_SIZE_PRETTY","PG_START_BACKUP","PG_STAT_FILE","PG_STOP_BACKUP","PG_SWITCH_WAL","PG_TABLESPACE_SIZE","PG_TABLE_SIZE","PG_TERMINATE_BACKEND","PG_TOTAL_RELATION_SIZE","PG_TRY_ADVISORY_LOCK","PG_TRY_ADVISORY_LOCK_SHARED","PG_TRY_ADVISORY_XACT_LOCK","PG_TRY_ADVISORY_XACT_LOCK_SHARED","PG_WALFILE_NAME","PG_WALFILE_NAME_OFFSET","PG_WAL_LSN_DIFF","PG_WAL_REPLAY_PAUSE","PG_WAL_REPLAY_RESUME","SET_CONFIG"],trigger:["SUPPRESS_REDUNDANT_UPDATES_TRIGGER","TSVECTOR_UPDATE_TRIGGER","TSVECTOR_UPDATE_TRIGGER_COLUMN"],eventTrigger:["PG_EVENT_TRIGGER_DDL_COMMANDS","PG_EVENT_TRIGGER_DROPPED_OBJECTS","PG_EVENT_TRIGGER_TABLE_REWRITE_OID","PG_EVENT_TRIGGER_TABLE_REWRITE_REASON","PG_GET_OBJECT_ADDRESS"],stats:["PG_MCV_LIST_ITEMS"]}).reduce((function(E,T){return[].concat(ET(E),ET(T))}),[])),["ABSENT","ABSOLUTE","ACCESS","ACCORDING","ACTION","ADA","ADMIN","AGGREGATE","ALL","ALLOCATE","ALSO","ALTER","ALWAYS","ANALYSE","ARE","ARRAY","ARRAY_MAX_CARDINALITY","AS","ASC","ASENSITIVE","ASSERTION","ASSIGNMENT","ASYMMETRIC","AT","ATOMIC","ATTACH","ATTRIBUTE","ATTRIBUTES","AUTHORIZATION","BACKWARD","BASE64","BEFORE","BEGIN_FRAME","BEGIN_PARTITION","BERNOULLI","BETWEEN","BIGINT","BINARY","BIT","BLOB","BLOCKED","BOM","BOOLEAN","BOTH","BREADTH","BY","CACHE","CALLED","CASCADE","CASCADED","CAST","CATALOG","CATALOG_NAME","CHAIN","CHAINING","CHAR","CHARACTER","CHARACTERISTICS","CHARACTERS","CHARACTER_SET_CATALOG","CHARACTER_SET_NAME","CHARACTER_SET_SCHEMA","CHECK","CLASS","CLASSIFIER","CLASS_ORIGIN","CLOB","COBOL","COLLATE","COLLATION","COLLATION_CATALOG","COLLATION_NAME","COLLATION_SCHEMA","COLLECT","COLUMN","COLUMNS","COLUMN_NAME","COMMAND_FUNCTION","COMMAND_FUNCTION_CODE","COMMENTS","COMMITTED","COMPRESSION","CONCURRENTLY","CONDITION","CONDITIONAL","CONDITION_NUMBER","CONFIGURATION","CONFLICT","CONNECT","CONNECTION","CONNECTION_NAME","CONSTRAINT","CONSTRAINTS","CONSTRAINT_CATALOG","CONSTRAINT_NAME","CONSTRAINT_SCHEMA","CONSTRUCTOR","CONTAINS","CONTENT","CONTINUE","CONTROL","CONVERSION","CORRESPONDING","COST","CREATE","CROSS","CSV","CUBE","CURRENT","CURRENT_DEFAULT_TRANSFORM_GROUP","CURRENT_PATH","CURRENT_ROW","CURRENT_TRANSFORM_GROUP_FOR_TYPE","CURSOR","CURSOR_NAME","CYCLE","DATA","DATABASE","DATALINK","DATE","DATETIME_INTERVAL_CODE","DATETIME_INTERVAL_PRECISION","DAY","DB","DEC","DECFLOAT","DECIMAL","DEFAULT","DEFAULTS","DEFERRABLE","DEFERRED","DEFINE","DEFINED","DEFINER","DEGREE","DELIMITER","DELIMITERS","DEPENDS","DEPTH","DEREF","DERIVED","DESC","DESCRIBE","DESCRIPTOR","DETACH","DETERMINISTIC","DIAGNOSTICS","DICTIONARY","DISABLE","DISCONNECT","DISPATCH","DISTINCT","DLNEWCOPY","DLPREVIOUSCOPY","DLURLCOMPLETE","DLURLCOMPLETEONLY","DLURLCOMPLETEWRITE","DLURLPATH","DLURLPATHONLY","DLURLPATHWRITE","DLURLSCHEME","DLURLSERVER","DLVALUE","DOCUMENT","DOMAIN","DOUBLE","DROP","DYNAMIC","DYNAMIC_FUNCTION","DYNAMIC_FUNCTION_CODE","EACH","ELEMENT","EMPTY","ENABLE","ENCODING","ENCRYPTED","END-EXEC","END_FRAME","END_PARTITION","ENFORCED","ENUM","EQUALS","ERROR","ESCAPE","EVENT","EXCEPTION","EXCLUDE","EXCLUDING","EXCLUSIVE","EXEC","EXISTS","EXPRESSION","EXTENSION","EXTERNAL","FALSE","FILE","FILTER","FINAL","FINALIZE","FINISH","FIRST","FLAG","FLOAT","FOLLOWING","FOR","FORCE","FOREIGN","FORTRAN","FORWARD","FOUND","FRAME_ROW","FREE","FREEZE","FS","FULFILL","FULL","FUNCTION","FUNCTIONS","FUSION","GENERAL","GENERATED","GET","GLOBAL","GO","GOTO","GRANTED","GROUP","GROUPS","HANDLER","HEADER","HEX","HIERARCHY","HOLD","HOUR","IDENTITY","IF","IGNORE","ILIKE","IMMEDIATE","IMMEDIATELY","IMMUTABLE","IMPLEMENTATION","IMPLICIT","IMPORT","IN","INCLUDE","INCLUDING","INCREMENT","INDENT","INDEX","INDEXES","INDICATOR","INHERIT","INHERITS","INITIAL","INITIALLY","INLINE","INNER","INOUT","INPUT","INSENSITIVE","INSTANCE","INSTANTIABLE","INSTEAD","INT","INTEGER","INTEGRITY","INTERSECTION","INTERVAL","INTO","INVOKER","IS","ISNULL","ISOLATION","JSON","JSON_ARRAY","JSON_ARRAYAGG","JSON_EXISTS","JSON_OBJECTAGG","JSON_QUERY","JSON_TABLE","JSON_TABLE_PRIMITIVE","JSON_VALUE","KEEP","KEY","KEYS","KEY_MEMBER","KEY_TYPE","LABEL","LANGUAGE","LARGE","LAST","LATERAL","LEADING","LEAKPROOF","LEVEL","LIBRARY","LIKE","LIKE_REGEX","LINK","LISTAGG","LOCAL","LOCATION","LOCATOR","LOCKED","LOGGED","MAP","MAPPING","MATCH","MATCHED","MATCHES","MATCH_NUMBER","MATCH_RECOGNIZE","MATERIALIZED","MAXVALUE","MEASURES","MEMBER","MERGE","MESSAGE_LENGTH","MESSAGE_OCTET_LENGTH","MESSAGE_TEXT","METHOD","MINUTE","MINVALUE","MODIFIES","MODULE","MONTH","MORE","MULTISET","MUMPS","NAME","NAMES","NAMESPACE","NATIONAL","NATURAL","NCHAR","NCLOB","NESTED","NESTING","NEW","NEXT","NFC","NFD","NFKC","NFKD","NIL","NO","NONE","NORMALIZED","NOT","NOTHING","NOTNULL","NOWAIT","NULL","NULLABLE","NULLS","NUMBER","NUMERIC","OBJECT","OCCURRENCES_REGEX","OCTETS","OF","OFF","OFFSET","OIDS","OLD","OMIT","ON COMMIT","ON DELETE","ON UPDATE","ONE","ONLY","OPEN","OPERATOR","OPTION","OPTIONS","ORDER","ORDERING","ORDINALITY","OTHERS","OUT","OUTER","OUTPUT","OVER","OVERFLOW","OVERLAPS","OVERRIDING","OWNED","OWNER","PAD","PARALLEL","PARAMETER","PARAMETER_MODE","PARAMETER_NAME","PARAMETER_ORDINAL_POSITION","PARAMETER_SPECIFIC_CATALOG","PARAMETER_SPECIFIC_NAME","PARAMETER_SPECIFIC_SCHEMA","PARSER","PARTIAL","PARTITION","PASCAL","PASS","PASSING","PASSTHROUGH","PASSWORD","PAST","PATTERN","PER","PERCENT","PERIOD","PERMISSION","PERMUTE","PLACING","PLAN","PLANS","PLI","POLICY","PORTION","POSITION_REGEX","PRECEDES","PRECEDING","PRECISION","PREPARED","PRESERVE","PRIMARY","PRIOR","PRIVATE","PRIVILEGES","PROCEDURAL","PROCEDURE","PROCEDURES","PROGRAM","PRUNE","PTF","PUBLIC","PUBLICATION","QUOTE","QUOTES","RANGE","READ","READS","REAL","REASSIGN","RECHECK","RECOVERY","RECURSIVE","REF","REFERENCES","REFERENCING","REFRESH","RELATIVE","RELEASE","RENAME","REPEATABLE","REPLICA","REQUIRING","RESPECT","RESTART","RESTORE","RESTRICT","RESULT","RETURN","RETURNED_CARDINALITY","RETURNED_LENGTH","RETURNED_OCTET_LENGTH","RETURNED_SQLSTATE","RETURNS","ROLE","ROLLUP","ROUTINE","ROUTINES","ROUTINE_CATALOG","ROUTINE_NAME","ROUTINE_SCHEMA","ROW","ROWS","ROW_COUNT","RULE","RUNNING","SCALAR","SCHEMA","SCHEMAS","SCHEMA_NAME","SCOPE","SCOPE_CATALOG","SCOPE_NAME","SCOPE_SCHEMA","SCROLL","SEARCH","SECOND","SECTION","SECURITY","SEEK","SELECTIVE","SELF","SENSITIVE","SEQUENCE","SEQUENCES","SERIALIZABLE","SERVER","SERVER_NAME","SESSION","SETOF","SETS","SHARE","SIMILAR","SIMPLE","SIZE","SKIP","SMALLINT","SNAPSHOT","SOURCE","SPACE","SPECIFIC","SPECIFICTYPE","SPECIFIC_NAME","SQL","SQLCODE","SQLERROR","SQLEXCEPTION","SQLSTATE","SQLWARNING","STABLE","STANDALONE","START","STATE","STATEMENT","STATIC","STATISTICS","STDIN","STDOUT","STORAGE","STORED","STRICT","STRUCTURE","STYLE","SUBCLASS_ORIGIN","SUBMULTISET","SUBSCRIPTION","SUBSET","SUBSTRING_REGEX","SUCCEEDS","SUPPORT","SYMMETRIC","SYSID","SYSTEM","SYSTEM_TIME","SYSTEM_USER","TABLE","TABLES","TABLESAMPLE","TABLESPACE","TABLE_NAME","TEMP","TEMPLATE","TEMPORARY","THEN","THROUGH","TIES","TIME","TIMESTAMP","TIMEZONE_HOUR","TIMEZONE_MINUTE","TO","TOKEN","TOP_LEVEL_COUNT","TRAILING","TRANSACTION","TRANSACTIONS_COMMITTED","TRANSACTIONS_ROLLED_BACK","TRANSACTION_ACTIVE","TRANSFORM","TRANSFORMS","TRANSLATE_REGEX","TRANSLATION","TREAT","TRIGGER","TRIGGER_CATALOG","TRIGGER_NAME","TRIGGER_SCHEMA","TRUE","TRUSTED","TYPE","TYPES","UESCAPE","UNBOUNDED","UNCOMMITTED","UNCONDITIONAL","UNDER","UNENCRYPTED","UNIQUE","UNKNOWN","UNLINK","UNLOGGED","UNMATCHED","UNNAMED","UNTIL","UNTYPED","URI","USAGE","USER_DEFINED_TYPE_CATALOG","USER_DEFINED_TYPE_CODE","USER_DEFINED_TYPE_NAME","USER_DEFINED_TYPE_SCHEMA","UTF16","UTF32","UTF8","VALID","VALIDATE","VALIDATOR","VALUE","VALUE_OF","VARBINARY","VARCHAR","VARIADIC","VARYING","VERBOSE","VERSIONING","VIEW","VIEWS","VOLATILE","WHENEVER","WHITESPACE","WINDOW","WITHIN","WITHOUT","WORK","WRAPPER","WRITE","XML","XMLATTRIBUTES","XMLBINARY","XMLCAST","XMLDECLARATION","XMLDOCUMENT","XMLITERATE","XMLNAMESPACES","XMLQUERY","XMLSCHEMA","XMLTEXT","XMLVALIDATE","YEAR","YES","ZONE"])),IT.stringTypes=['""',"''","U&''",'U&""',"$$","``","E''"],IT.blockStart=["(","CASE"],IT.blockEnd=[")","END"],IT.indexedPlaceholderTypes=["$"],IT.namedPlaceholderTypes=[":"],IT.lineCommentTypes=["--"],IT.operators=["<<",">>","||/","|/","::",":=","->>","->","=>","~~*","~~","!~~*","!~~","~*","!~*","!~","!!","||","@-@","@@","##","<->","&&","&<","&>","<<|","&<|","|>>","|&>","<^","^>","?#","?-","?|","?-|","?||","@>","<@","~=",">>=","<<=","@@@"];var PT=function(E){!function(E,T){if("function"!=typeof T&&null!==T)throw new TypeError("Super expression must either be null or a function");E.prototype=Object.create(T&&T.prototype,{constructor:{value:E,writable:!0,configurable:!0}}),Object.defineProperty(E,"prototype",{writable:!1}),T&&nT(E,T)}(O,E);var T,R,A,S,e=(A=O,S=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(E){return!1}}(),function(){var E,T=oT(A);if(S){var R=oT(this).constructor;E=Reflect.construct(T,arguments,R)}else E=T.apply(this,arguments);return _T(this,E)});function O(){return rT(this,O),e.apply(this,arguments)}return T=O,(R=[{key:"tokenizer",value:function(){return new F({reservedCommands:O.reservedCommands,reservedBinaryCommands:O.reservedBinaryCommands,reservedDependentClauses:O.reservedDependentClauses,reservedJoinConditions:O.reservedJoinConditions,reservedLogicalOperators:O.reservedLogicalOperators,reservedKeywords:O.reservedKeywords,stringTypes:O.stringTypes,blockStart:O.blockStart,blockEnd:O.blockEnd,indexedPlaceholderTypes:O.indexedPlaceholderTypes,namedPlaceholderTypes:O.namedPlaceholderTypes,lineCommentTypes:O.lineCommentTypes,operators:O.operators})}}])&&LT(T.prototype,R),Object.defineProperty(T,"prototype",{writable:!1}),O}($);function DT(E){return DT="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(E){return typeof E}:function(E){return E&&"function"==typeof Symbol&&E.constructor===Symbol&&E!==Symbol.prototype?"symbol":typeof E},DT(E)}function iT(E){return function(E){if(Array.isArray(E))return UT(E)}(E)||function(E){if("undefined"!=typeof Symbol&&null!=E[Symbol.iterator]||null!=E["@@iterator"])return Array.from(E)}(E)||function(E,T){if(E){if("string"==typeof E)return UT(E,T);var R=Object.prototype.toString.call(E).slice(8,-1);return"Object"===R&&E.constructor&&(R=E.constructor.name),"Map"===R||"Set"===R?Array.from(E):"Arguments"===R||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(R)?UT(E,T):void 0}}(E)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function UT(E,T){(null==T||T>E.length)&&(T=E.length);for(var R=0,A=new Array(T);R<T;R++)A[R]=E[R];return A}function aT(E,T){if(!(E instanceof T))throw new TypeError("Cannot call a class as a function")}function MT(E,T){for(var R=0;R<T.length;R++){var A=T[R];A.enumerable=A.enumerable||!1,A.configurable=!0,"value"in A&&(A.writable=!0),Object.defineProperty(E,A.key,A)}}function sT(E,T){return sT=Object.setPrototypeOf||function(E,T){return E.__proto__=T,E},sT(E,T)}function cT(E,T){if(T&&("object"===DT(T)||"function"==typeof T))return T;if(void 0!==T)throw new TypeError("Derived constructors may only return object or undefined");return function(E){if(void 0===E)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return E}(E)}function uT(E){return uT=Object.setPrototypeOf?Object.getPrototypeOf:function(E){return E.__proto__||Object.getPrototypeOf(E)},uT(E)}PT.reservedCommands=["ABORT","ALTER DATABASE","ALTER DATASHARE","ALTER DEFAULT PRIVILEGES","ALTER GROUP","ALTER MATERIALIZED VIEW","ALTER PROCEDURE","ALTER SCHEMA","ALTER TABLE","ALTER TABLE APPEND","ALTER USER","ANALYSE","ANALYZE","ANALYSE COMPRESSION","ANALYZE COMPRESSION","BEGIN","CALL","CANCEL","CLOSE","COMMENT","COMMIT","COPY","CREATE DATABASE","CREATE DATASHARE","CREATE EXTERNAL FUNCTION","CREATE EXTERNAL SCHEMA","CREATE EXTERNAL TABLE","CREATE FUNCTION","CREATE GROUP","CREATE LIBRARY","CREATE MATERIALIZED VIEW","CREATE MODEL","CREATE PROCEDURE","CREATE SCHEMA","CREATE TABLE","CREATE TABLE AS","CREATE USER","CREATE VIEW","DEALLOCATE","DECLARE","DELETE","DESC DATASHARE","DROP DATABASE","DROP DATASHARE","DROP FUNCTION","DROP GROUP","DROP LIBRARY","DROP MODEL","DROP MATERIALIZED VIEW","DROP PROCEDURE","DROP SCHEMA","DROP TABLE","DROP USER","DROP VIEW","DROP","END","EXECUTE","EXPLAIN","FETCH","FROM","GRANT","HAVING","INSERT","LOCK","PREPARE","REFRESH MATERIALIZED VIEW","RESET","REVOKE","ROLLBACK","SELECT","SELECT INTO","SET","SET SESSION AUTHORIZATION","SET SESSION CHARACTERISTICS","SHOW","SHOW EXTERNAL TABLE","SHOW MODEL","SHOW DATASHARES","SHOW PROCEDURE","SHOW TABLE","SHOW VIEW","START TRANSACTION","TRUNCATE","UNLOAD","UPDATE","VACUUM","WHERE","WITH","GROUP BY","ORDER BY","LIMIT","OFFSET","VALUES","MODIFY","INSERT INTO","ALTER COLUMN","SET SCHEMA"],PT.reservedBinaryCommands=["INTERSECT","INTERSECT ALL","INTERSECT DISTINCT","UNION","UNION ALL","UNION DISTINCT","EXCEPT","EXCEPT ALL","EXCEPT DISTINCT","JOIN","INNER JOIN","LEFT JOIN","LEFT OUTER JOIN","RIGHT JOIN","RIGHT OUTER JOIN","FULL JOIN","FULL OUTER JOIN","CROSS JOIN","NATURAL JOIN"],PT.reservedDependentClauses=["WHEN","ELSE"],PT.reservedJoinConditions=["ON","USING"],PT.reservedLogicalOperators=["AND","OR"],PT.reservedKeywords=A([].concat(tT(Object.values({aggregate:["ANY_VALUE","APPROXIMATE PERCENTILE_DISC","AVG","COUNT","LISTAGG","MAX","MEDIAN","MIN","PERCENTILE_CONT","STDDEV_SAMP","STDDEV_POP","SUM","VAR_SAMP","VAR_POP"],array:["array","array_concat","array_flatten","get_array_length","split_to_array","subarray"],bitwise:["BIT_AND","BIT_OR","BOOL_AND","BOOL_OR"],conditional:["CASE","COALESCE","DECODE","GREATEST","LEAST","NVL","NVL2","NULLIF"],dateTime:["ADD_MONTHS","AT TIME ZONE","CONVERT_TIMEZONE","CURRENT_DATE","CURRENT_TIME","CURRENT_TIMESTAMP","DATE_CMP","DATE_CMP_TIMESTAMP","DATE_CMP_TIMESTAMPTZ","DATE_PART_YEAR","DATEADD","DATEDIFF","DATE_PART","DATE_TRUNC","EXTRACT","GETDATE","INTERVAL_CMP","LAST_DAY","MONTHS_BETWEEN","NEXT_DAY","SYSDATE","TIMEOFDAY","TIMESTAMP_CMP","TIMESTAMP_CMP_DATE","TIMESTAMP_CMP_TIMESTAMPTZ","TIMESTAMPTZ_CMP","TIMESTAMPTZ_CMP_DATE","TIMESTAMPTZ_CMP_TIMESTAMP","TIMEZONE","TO_TIMESTAMP","TRUNC"],spatial:["AddBBox","DropBBox","GeometryType","ST_AddPoint","ST_Angle","ST_Area","ST_AsBinary","ST_AsEWKB","ST_AsEWKT","ST_AsGeoJSON","ST_AsText","ST_Azimuth","ST_Boundary","ST_Collect","ST_Contains","ST_ContainsProperly","ST_ConvexHull","ST_CoveredBy","ST_Covers","ST_Crosses","ST_Dimension","ST_Disjoint","ST_Distance","ST_DistanceSphere","ST_DWithin","ST_EndPoint","ST_Envelope","ST_Equals","ST_ExteriorRing","ST_Force2D","ST_Force3D","ST_Force3DM","ST_Force3DZ","ST_Force4D","ST_GeometryN","ST_GeometryType","ST_GeomFromEWKB","ST_GeomFromEWKT","ST_GeomFromText","ST_GeomFromWKB","ST_InteriorRingN","ST_Intersects","ST_IsPolygonCCW","ST_IsPolygonCW","ST_IsClosed","ST_IsCollection","ST_IsEmpty","ST_IsSimple","ST_IsValid","ST_Length","ST_LengthSphere","ST_Length2D","ST_LineFromMultiPoint","ST_LineInterpolatePoint","ST_M","ST_MakeEnvelope","ST_MakeLine","ST_MakePoint","ST_MakePolygon","ST_MemSize","ST_MMax","ST_MMin","ST_Multi","ST_NDims","ST_NPoints","ST_NRings","ST_NumGeometries","ST_NumInteriorRings","ST_NumPoints","ST_Perimeter","ST_Perimeter2D","ST_Point","ST_PointN","ST_Points","ST_Polygon","ST_RemovePoint","ST_Reverse","ST_SetPoint","ST_SetSRID","ST_Simplify","ST_SRID","ST_StartPoint","ST_Touches","ST_Within","ST_X","ST_XMax","ST_XMin","ST_Y","ST_YMax","ST_YMin","ST_Z","ST_ZMax","ST_ZMin","SupportsBBox"],hash:["CHECKSUM","FUNC_SHA1","FNV_HASH","MD5","SHA","SHA1","SHA2"],hyperLogLog:["HLL","HLL_CREATE_SKETCH","HLL_CARDINALITY","HLL_COMBINE"],json:["IS_VALID_JSON","IS_VALID_JSON_ARRAY","JSON_ARRAY_LENGTH","JSON_EXTRACT_ARRAY_ELEMENT_TEXT","JSON_EXTRACT_PATH_TEXT","JSON_PARSE","JSON_SERIALIZE"],math:["ABS","ACOS","ASIN","ATAN","ATAN2","CBRT","CEILING","CEIL","COS","COT","DEGREES","DEXP","DLOG1","DLOG10","EXP","FLOOR","LN","LOG","MOD","PI","POWER","RADIANS","RANDOM","ROUND","SIN","SIGN","SQRT","TAN","TO_HEX","TRUNC"],machineLearning:["EXPLAIN_MODEL"],string:["ASCII","BPCHARCMP","BTRIM","BTTEXT_PATTERN_CMP","CHAR_LENGTH","CHARACTER_LENGTH","CHARINDEX","CHR","COLLATE","CONCAT","CRC32","DIFFERENCE","INITCAP","LEFT","RIGHT","LEN","LENGTH","LOWER","LPAD","RPAD","LTRIM","OCTETINDEX","OCTET_LENGTH","POSITION","QUOTE_IDENT","QUOTE_LITERAL","REGEXP_COUNT","REGEXP_INSTR","REGEXP_REPLACE","REGEXP_SUBSTR","REPEAT","REPLACE","REPLICATE","REVERSE","RTRIM","SOUNDEX","SPLIT_PART","STRPOS","STRTOL","SUBSTRING","TEXTLEN","TRANSLATE","TRIM","UPPER"],superType:["decimal_precision","decimal_scale","is_array","is_bigint","is_boolean","is_char","is_decimal","is_float","is_integer","is_object","is_scalar","is_smallint","is_varchar","json_typeof"],window:["AVG","COUNT","CUME_DIST","DENSE_RANK","FIRST_VALUE","LAST_VALUE","LAG","LEAD","LISTAGG","MAX","MEDIAN","MIN","NTH_VALUE","NTILE","PERCENT_RANK","PERCENTILE_CONT","PERCENTILE_DISC","RANK","RATIO_TO_REPORT","ROW_NUMBER","STDDEV_SAMP","STDDEV_POP","SUM","VAR_SAMP","VAR_POP"],dataType:["CAST","CONVERT","TO_CHAR","TO_DATE","TO_NUMBER","TEXT_TO_INT_ALT","TEXT_TO_NUMERIC_ALT"],sysAdmin:["CHANGE_QUERY_PRIORITY","CHANGE_SESSION_PRIORITY","CHANGE_USER_PRIORITY","CURRENT_SETTING","PG_CANCEL_BACKEND","PG_TERMINATE_BACKEND","REBOOT_CLUSTER","SET_CONFIG"],sysInfo:["CURRENT_AWS_ACCOUNT","CURRENT_DATABASE","CURRENT_NAMESPACE","CURRENT_SCHEMA","CURRENT_SCHEMAS","CURRENT_USER","CURRENT_USER_ID","HAS_ASSUMEROLE_PRIVILEGE","HAS_DATABASE_PRIVILEGE","HAS_SCHEMA_PRIVILEGE","HAS_TABLE_PRIVILEGE","PG_BACKEND_PID","PG_GET_COLS","PG_GET_GRANTEE_BY_IAM_ROLE","PG_GET_IAM_ROLE_BY_USER","PG_GET_LATE_BINDING_VIEW_COLS","PG_LAST_COPY_COUNT","PG_LAST_COPY_ID","PG_LAST_UNLOAD_ID","PG_LAST_QUERY_ID","PG_LAST_UNLOAD_COUNT","SESSION_USER","SLICE_NUM","USER","VERSION"]}).reduce((function(E,T){return[].concat(tT(E),tT(T))}),[])),tT(Object.values({standard:["AES128","AES256","ALL","ALLOWOVERWRITE","ANY","ARRAY","AS","ASC","AUTHORIZATION","BACKUP","BETWEEN","BINARY","BOTH","CHECK","COLUMN","CONSTRAINT","CREATE","CROSS","DEFAULT","DEFERRABLE","DEFLATE","DEFRAG","DESC","DISABLE","DISTINCT","DO","ENABLE","ENCODE","ENCRYPT","ENCRYPTION","EXPLICIT","FALSE","FOR","FOREIGN","FREEZE","FROM","FULL","GLOBALDICT256","GLOBALDICT64K","GROUP","IDENTITY","IGNORE","ILIKE","IN","INITIALLY","INNER","INTO","IS","ISNULL","LANGUAGE","LEADING","LIKE","LIMIT","LOCALTIME","LOCALTIMESTAMP","LUN","LUNS","MINUS","NATURAL","NEW","NOT","NOTNULL","NULL","NULLS","OFF","OFFLINE","OFFSET","OID","OLD","ONLY","OPEN","ORDER","OUTER","OVERLAPS","PARALLEL","PARTITION","PERCENT","PERMISSIONS","PLACING","PRIMARY","RECOVER","REFERENCES","REJECTLOG","RESORT","RESPECT","RESTORE","SIMILAR","SNAPSHOT","SOME","SYSTEM","TABLE","TAG","TDES","THEN","TIMESTAMP","TO","TOP","TRAILING","TRUE","UNIQUE","VERBOSE","WALLET","WITHOUT"],dataConversionParams:["ACCEPTANYDATE","ACCEPTINVCHARS","BLANKSASNULL","DATEFORMAT","EMPTYASNULL","ENCODING","ESCAPE","EXPLICIT_IDS","FILLRECORD","IGNOREBLANKLINES","IGNOREHEADER","NULL AS","REMOVEQUOTES","ROUNDEC","TIMEFORMAT","TRIMBLANKS","TRUNCATECOLUMNS"],dataLoadParams:["COMPROWS","COMPUPDATE","MAXERROR","NOLOAD","STATUPDATE"],dataFormatParams:["FORMAT","CSV","DELIMITER","FIXEDWIDTH","SHAPEFILE","AVRO","JSON","PARQUET","ORC"],copyAuthParams:["ACCESS_KEY_ID","CREDENTIALS","ENCRYPTED","IAM_ROLE","MASTER_SYMMETRIC_KEY","SECRET_ACCESS_KEY","SESSION_TOKEN"],copyCompressionParams:["BZIP2","GZIP","LZOP","ZSTD"],copyMiscParams:["MANIFEST","READRATIO","REGION","SSH"],compressionEncodings:["RAW","AZ64","BYTEDICT","DELTA","DELTA32K","LZO","MOSTLY8","MOSTLY16","MOSTLY32","RUNLENGTH","TEXT255","TEXT32K"],misc:["CATALOG_ROLE","SECRET_ARN","EXTERNAL","HIVE METASTORE","AUTO","EVEN","KEY","PREDICATE","COMPRESSION","DATA CATALOG"],dataTypes:["CHAR","CHARACTER","NCHAR","VARCHAR","CHARACTER VARYING","NVARCHAR","BPCHAR","TEXT"]}).reduce((function(E,T){return[].concat(tT(E),tT(T))}),[])))),PT.stringTypes=['""',"''","``"],PT.blockStart=["("],PT.blockEnd=[")"],PT.indexedPlaceholderTypes=["?"],PT.namedPlaceholderTypes=["@","#","$"],PT.lineCommentTypes=["--"],PT.operators=["|/","||/","<<",">>","||"];var lT=function(E){!function(E,T){if("function"!=typeof T&&null!==T)throw new TypeError("Super expression must either be null or a function");E.prototype=Object.create(T&&T.prototype,{constructor:{value:E,writable:!0,configurable:!0}}),Object.defineProperty(E,"prototype",{writable:!1}),T&&sT(E,T)}(O,E);var T,R,A,S,e=(A=O,S=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(E){return!1}}(),function(){var E,T=uT(A);if(S){var R=uT(this).constructor;E=Reflect.construct(T,arguments,R)}else E=T.apply(this,arguments);return cT(this,E)});function O(){return aT(this,O),e.apply(this,arguments)}return T=O,(R=[{key:"tokenizer",value:function(){return new F({reservedCommands:O.reservedCommands,reservedBinaryCommands:O.reservedBinaryCommands,reservedDependentClauses:O.reservedDependentClauses,reservedJoinConditions:O.reservedJoinConditions,reservedLogicalOperators:O.reservedLogicalOperators,reservedKeywords:O.reservedKeywords,stringTypes:O.stringTypes,blockStart:O.blockStart,blockEnd:O.blockEnd,indexedPlaceholderTypes:O.indexedPlaceholderTypes,namedPlaceholderTypes:O.namedPlaceholderTypes,lineCommentTypes:O.lineCommentTypes,operators:O.operators})}},{key:"tokenOverride",value:function(E){return o.WINDOW(E)&&this.tokenLookAhead().type===t.BLOCK_START?{type:t.RESERVED_KEYWORD,value:E.value}:o.END(E)&&"."===this.tokenLookBehind().value?{type:t.WORD,value:E.value}:!/ITEMS/i.test(E.value)||E.type!==t.RESERVED_KEYWORD||/COLLECTION/i.test(this.tokenLookBehind().value)&&/TERMINATED/i.test(this.tokenLookAhead().value)?E:{type:t.WORD,value:E.value}}}])&&MT(T.prototype,R),Object.defineProperty(T,"prototype",{writable:!1}),O}($);function GT(E){return GT="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(E){return typeof E}:function(E){return E&&"function"==typeof Symbol&&E.constructor===Symbol&&E!==Symbol.prototype?"symbol":typeof E},GT(E)}function fT(E,T){if(!(E instanceof T))throw new TypeError("Cannot call a class as a function")}function BT(E,T){for(var R=0;R<T.length;R++){var A=T[R];A.enumerable=A.enumerable||!1,A.configurable=!0,"value"in A&&(A.writable=!0),Object.defineProperty(E,A.key,A)}}function pT(E,T){return pT=Object.setPrototypeOf||function(E,T){return E.__proto__=T,E},pT(E,T)}function HT(E,T){if(T&&("object"===GT(T)||"function"==typeof T))return T;if(void 0!==T)throw new TypeError("Derived constructors may only return object or undefined");return function(E){if(void 0===E)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return E}(E)}function dT(E){return dT=Object.setPrototypeOf?Object.getPrototypeOf:function(E){return E.__proto__||Object.getPrototypeOf(E)},dT(E)}lT.reservedCommands=["ALTER COLUMN","ALTER DATABASE","ALTER TABLE","ALTER VIEW","CREATE DATABASE","CREATE FUNCTION","CREATE TABLE","CREATE VIEW","DROP DATABASE","DROP FUNCTION","DROP TABLE","DROP VIEW","REPAIR TABLE","TRUNCATE TABLE","USE DATABASE","INSERT INTO","INSERT OVERWRITE","INSERT OVERWRITE DIRECTORY","LOAD","SELECT","WITH","CLUSTER BY","DISTRIBUTE BY","PARTITION BY","GROUP BY","HAVING","VALUES","LIMIT","OFFSET","ORDER BY","SORT BY","TABLESAMPLE","WHERE","PIVOT","TRANSFORM","EXPLAIN","ADD FILE","ADD JAR","ANALYZE TABLE","CACHE TABLE","CLEAR CACHE","DESCRIBE DATABASE","DESCRIBE FUNCTION","DESCRIBE QUERY","DESCRIBE TABLE","LIST FILE","LIST JAR","REFRESH","REFRESH TABLE","REFRESH FUNCTION","RESET","SET","SET SCHEMA","SHOW COLUMNS","SHOW CREATE TABLE","SHOW DATABASES","SHOW FUNCTIONS","SHOW PARTITIONS","SHOW TABLE EXTENDED","SHOW TABLES","SHOW TBLPROPERTIES","SHOW VIEWS","UNCACHE TABLE","FROM","INSERT","LATERAL VIEW","UPDATE","WINDOW"],lT.reservedBinaryCommands=["INTERSECT","INTERSECT ALL","INTERSECT DISTINCT","UNION","UNION ALL","UNION DISTINCT","EXCEPT","EXCEPT ALL","EXCEPT DISTINCT","MINUS","MINUS ALL","MINUS DISTINCT","JOIN","INNER JOIN","LEFT JOIN","LEFT OUTER JOIN","RIGHT JOIN","RIGHT OUTER JOIN","FULL JOIN","FULL OUTER JOIN","CROSS JOIN","NATURAL JOIN","CROSS APPLY","OUTER APPLY","ANTI JOIN","SEMI JOIN","LEFT ANTI JOIN","LEFT SEMI JOIN","RIGHT OUTER JOIN","RIGHT SEMI JOIN","NATURAL ANTI JOIN","NATURAL FULL OUTER JOIN","NATURAL INNER JOIN","NATURAL LEFT ANTI JOIN","NATURAL LEFT OUTER JOIN","NATURAL LEFT SEMI JOIN","NATURAL OUTER JOIN","NATURAL RIGHT OUTER JOIN","NATURAL RIGHT SEMI JOIN","NATURAL SEMI JOIN","CROSS APPLY","OUTER APPLY"],lT.reservedDependentClauses=["WHEN","ELSE"],lT.reservedJoinConditions=["ON","USING"],lT.reservedLogicalOperators=["AND","OR","XOR"],lT.reservedKeywords=A([].concat(iT(Object.values({aggregate:["ANY","APPROX_COUNT_DISTINCT","APPROX_PERCENTILE","AVG","BIT_AND","BIT_OR","BIT_XOR","BOOL_AND","BOOL_OR","COLLECT_LIST","COLLECT_SET","CORR","COUNT","COUNT","COUNT","COUNT_IF","COUNT_MIN_SKETCH","COVAR_POP","COVAR_SAMP","EVERY","FIRST","FIRST_VALUE","GROUPING","GROUPING_ID","KURTOSIS","LAST","LAST_VALUE","MAX","MAX_BY","MEAN","MIN","MIN_BY","PERCENTILE","PERCENTILE","PERCENTILE_APPROX","SKEWNESS","SOME","STD","STDDEV","STDDEV_POP","STDDEV_SAMP","SUM","VAR_POP","VAR_SAMP","VARIANCE"],window:["CUME_DIST","DENSE_RANK","LAG","LEAD","NTH_VALUE","NTILE","PERCENT_RANK","RANK","ROW_NUMBER"],array:["ARRAY","ARRAY_CONTAINS","ARRAY_DISTINCT","ARRAY_EXCEPT","ARRAY_INTERSECT","ARRAY_JOIN","ARRAY_MAX","ARRAY_MIN","ARRAY_POSITION","ARRAY_REMOVE","ARRAY_REPEAT","ARRAY_UNION","ARRAYS_OVERLAP","ARRAYS_ZIP","FLATTEN","SEQUENCE","SHUFFLE","SLICE","SORT_ARRAY"],map:["ELEMENT_AT","ELEMENT_AT","MAP","MAP_CONCAT","MAP_ENTRIES","MAP_FROM_ARRAYS","MAP_FROM_ENTRIES","MAP_KEYS","MAP_VALUES","STR_TO_MAP"],datetime:["ADD_MONTHS","CURRENT_DATE","CURRENT_DATE","CURRENT_TIMESTAMP","CURRENT_TIMESTAMP","CURRENT_TIMEZONE","DATE_ADD","DATE_FORMAT","DATE_FROM_UNIX_DATE","DATE_PART","DATE_SUB","DATE_TRUNC","DATEDIFF","DAY","DAYOFMONTH","DAYOFWEEK","DAYOFYEAR","EXTRACT","FROM_UNIXTIME","FROM_UTC_TIMESTAMP","HOUR","LAST_DAY","MAKE_DATE","MAKE_DT_INTERVAL","MAKE_INTERVAL","MAKE_TIMESTAMP","MAKE_YM_INTERVAL","MINUTE","MONTH","MONTHS_BETWEEN","NEXT_DAY","NOW","QUARTER","SECOND","SESSION_WINDOW","TIMESTAMP_MICROS","TIMESTAMP_MILLIS","TIMESTAMP_SECONDS","TO_DATE","TO_TIMESTAMP","TO_UNIX_TIMESTAMP","TO_UTC_TIMESTAMP","TRUNC","UNIX_DATE","UNIX_MICROS","UNIX_MILLIS","UNIX_SECONDS","UNIX_TIMESTAMP","WEEKDAY","WEEKOFYEAR","WINDOW","YEAR"],json:["FROM_JSON","GET_JSON_OBJECT","JSON_ARRAY_LENGTH","JSON_OBJECT_KEYS","JSON_TUPLE","SCHEMA_OF_JSON","TO_JSON"],misc:["ABS","ACOS","ACOSH","AGGREGATE","ARRAY_SORT","ASCII","ASIN","ASINH","ASSERT_TRUE","ATAN","ATAN2","ATANH","BASE64","BIGINT","BIN","BINARY","BIT_COUNT","BIT_GET","BIT_LENGTH","BOOLEAN","BROUND","BTRIM","CARDINALITY","CBRT","CEIL","CEILING","CHAR","CHAR_LENGTH","CHARACTER_LENGTH","CHR","CONCAT","CONCAT_WS","CONV","COS","COSH","COT","CRC32","CURRENT_CATALOG","CURRENT_DATABASE","CURRENT_USER","DATE","DECIMAL","DEGREES","DOUBLE","ELT","EXP","EXPM1","FACTORIAL","FIND_IN_SET","FLOAT","FLOOR","FORALL","FORMAT_NUMBER","FORMAT_STRING","FROM_CSV","GETBIT","HASH","HEX","HYPOT","INITCAP","INLINE","INLINE_OUTER","INPUT_FILE_BLOCK_LENGTH","INPUT_FILE_BLOCK_START","INPUT_FILE_NAME","INSTR","INT","ISNAN","ISNOTNULL","ISNULL","JAVA_METHOD","LCASE","LEFT","LENGTH","LEVENSHTEIN","LN","LOCATE","LOG","LOG10","LOG1P","LOG2","LOWER","LPAD","LTRIM","MAP_FILTER","MAP_ZIP_WITH","MD5","MOD","MONOTONICALLY_INCREASING_ID","NAMED_STRUCT","NANVL","NEGATIVE","NVL","NVL2","OCTET_LENGTH","OVERLAY","PARSE_URL","PI","PMOD","POSEXPLODE","POSEXPLODE_OUTER","POSITION","POSITIVE","POW","POWER","PRINTF","RADIANS","RAISE_ERROR","RAND","RANDN","RANDOM","REFLECT","REGEXP_EXTRACT","REGEXP_EXTRACT_ALL","REGEXP_LIKE","REGEXP_REPLACE","REPEAT","REPLACE","REVERSE","RIGHT","RINT","ROUND","RPAD","RTRIM","SCHEMA_OF_CSV","SENTENCES","SHA","SHA1","SHA2","SHIFTLEFT","SHIFTRIGHT","SHIFTRIGHTUNSIGNED","SIGN","SIGNUM","SIN","SINH","SMALLINT","SOUNDEX","SPACE","SPARK_PARTITION_ID","SPLIT","SQRT","STACK","SUBSTR","SUBSTRING","SUBSTRING_INDEX","TAN","TANH","TIMESTAMP","TINYINT","TO_CSV","TRANSFORM_KEYS","TRANSFORM_VALUES","TRANSLATE","TRIM","TRY_ADD","TRY_DIVIDE","TYPEOF","UCASE","UNBASE64","UNHEX","UPPER","UUID","VERSION","WIDTH_BUCKET","XPATH","XPATH_BOOLEAN","XPATH_DOUBLE","XPATH_FLOAT","XPATH_INT","XPATH_LONG","XPATH_NUMBER","XPATH_SHORT","XPATH_STRING","XXHASH64","ZIP_WITH"]}).reduce((function(E,T){return[].concat(iT(E),iT(T))}),[])),["ADD","AFTER","ALL","ALTER","ANALYZE","AND","ANTI","ANY","ARCHIVE","ARRAY","AS","ASC","AT","AUTHORIZATION","BETWEEN","BOTH","BUCKET","BUCKETS","BY","CACHE","CASCADE","CAST","CHANGE","CHECK","CLEAR","CLUSTER","CLUSTERED","CODEGEN","COLLATE","COLLECTION","COLUMN","COLUMNS","COMMENT","COMMIT","COMPACT","COMPACTIONS","COMPUTE","CONCATENATE","CONSTRAINT","COST","CREATE","CROSS","CUBE","CURRENT","CURRENT_DATE","CURRENT_TIME","CURRENT_TIMESTAMP","CURRENT_USER","DATA","DATABASE","DATABASES","DAY","DBPROPERTIES","DEFINED","DELETE","DELIMITED","DESC","DESCRIBE","DFS","DIRECTORIES","DIRECTORY","DISTINCT","DISTRIBUTE","DIV","DROP","ESCAPE","ESCAPED","EXCEPT","EXCHANGE","EXISTS","EXPORT","EXTENDED","EXTERNAL","EXTRACT","FALSE","FETCH","FIELDS","FILTER","FILEFORMAT","FIRST","FIRST_VALUE","FOLLOWING","FOR","FOREIGN","FORMAT","FORMATTED","FULL","FUNCTION","FUNCTIONS","GLOBAL","GRANT","GROUP","GROUPING","HOUR","IF","IGNORE","IMPORT","IN","INDEX","INDEXES","INNER","INPATH","INPUTFORMAT","INTERSECT","INTERVAL","INTO","IS","ITEMS","KEYS","LAST","LAST_VALUE","LATERAL","LAZY","LEADING","LEFT","LIKE","LINES","LIST","LOCAL","LOCATION","LOCK","LOCKS","LOGICAL","MACRO","MAP","MATCHED","MERGE","MINUTE","MONTH","MSCK","NAMESPACE","NAMESPACES","NATURAL","NO","NOT","NULL","NULLS","OF","ONLY","OPTION","OPTIONS","OR","ORDER","OUT","OUTER","OUTPUTFORMAT","OVER","OVERLAPS","OVERLAY","OVERWRITE","OWNER","PARTITION","PARTITIONED","PARTITIONS","PERCENT","PLACING","POSITION","PRECEDING","PRIMARY","PRINCIPALS","PROPERTIES","PURGE","QUERY","RANGE","RECORDREADER","RECORDWRITER","RECOVER","REDUCE","REFERENCES","RENAME","REPAIR","REPLACE","RESPECT","RESTRICT","REVOKE","RIGHT","RLIKE","ROLE","ROLES","ROLLBACK","ROLLUP","ROW","ROWS","SCHEMA","SECOND","SELECT","SEMI","SEPARATED","SERDE","SERDEPROPERTIES","SESSION_USER","SETS","SHOW","SKEWED","SOME","SORT","SORTED","START","STATISTICS","STORED","STRATIFY","STRUCT","SUBSTR","SUBSTRING","TABLE","TABLES","TBLPROPERTIES","TEMPORARY","TERMINATED","THEN","TO","TOUCH","TRAILING","TRANSACTION","TRANSACTIONS","TRIM","TRUE","TRUNCATE","UNARCHIVE","UNBOUNDED","UNCACHE","UNIQUE","UNKNOWN","UNLOCK","UNSET","USE","USER","VIEW","WINDOW","YEAR","ANALYSE","ARRAY_ZIP","COALESCE","CONTAINS","CONVERT","CURRENT ROW","DAYS","DAY_HOUR","DAY_MINUTE","DAY_SECOND","DECODE","DEFAULT","DISTINCTROW","ENCODE","EXPLODE","EXPLODE_OUTER","FIXED","GREATEST","GROUP_CONCAT","HOURS","HOUR_MINUTE","HOUR_SECOND","IFNULL","LEAST","LEVEL","MINUTE_SECOND","NULLIF","OFFSET","ON DELETE","ON UPDATE","OPTIMIZE","REGEXP","SEPARATOR","SIZE","STRING","TYPE","TYPES","UNSIGNED","VARIABLES","YEAR_MONTH"])),lT.stringTypes=['""',"''","``","{}"],lT.blockStart=["(","CASE"],lT.blockEnd=[")","END"],lT.indexedPlaceholderTypes=["?"],lT.namedPlaceholderTypes=["$"],lT.lineCommentTypes=["--"],lT.operators=["<=>","&&","||","==","->"];var yT=function(E){!function(E,T){if("function"!=typeof T&&null!==T)throw new TypeError("Super expression must either be null or a function");E.prototype=Object.create(T&&T.prototype,{constructor:{value:E,writable:!0,configurable:!0}}),Object.defineProperty(E,"prototype",{writable:!1}),T&&pT(E,T)}(O,E);var T,R,A,S,e=(A=O,S=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(E){return!1}}(),function(){var E,T=dT(A);if(S){var R=dT(this).constructor;E=Reflect.construct(T,arguments,R)}else E=T.apply(this,arguments);return HT(this,E)});function O(){return fT(this,O),e.apply(this,arguments)}return T=O,(R=[{key:"tokenizer",value:function(){return new F({reservedCommands:O.reservedCommands,reservedBinaryCommands:O.reservedBinaryCommands,reservedDependentClauses:O.reservedDependentClauses,reservedJoinConditions:O.reservedJoinConditions,reservedLogicalOperators:O.reservedLogicalOperators,reservedKeywords:O.reservedKeywords,stringTypes:O.stringTypes,blockStart:O.blockStart,blockEnd:O.blockEnd,indexedPlaceholderTypes:O.indexedPlaceholderTypes,namedPlaceholderTypes:O.namedPlaceholderTypes,lineCommentTypes:O.lineCommentTypes})}}])&&BT(T.prototype,R),Object.defineProperty(T,"prototype",{writable:!1}),O}($);function FT(E){return FT="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(E){return typeof E}:function(E){return E&&"function"==typeof Symbol&&E.constructor===Symbol&&E!==Symbol.prototype?"symbol":typeof E},FT(E)}function YT(E){return function(E){if(Array.isArray(E))return VT(E)}(E)||function(E){if("undefined"!=typeof Symbol&&null!=E[Symbol.iterator]||null!=E["@@iterator"])return Array.from(E)}(E)||function(E,T){if(E){if("string"==typeof E)return VT(E,T);var R=Object.prototype.toString.call(E).slice(8,-1);return"Object"===R&&E.constructor&&(R=E.constructor.name),"Map"===R||"Set"===R?Array.from(E):"Arguments"===R||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(R)?VT(E,T):void 0}}(E)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function VT(E,T){(null==T||T>E.length)&&(T=E.length);for(var R=0,A=new Array(T);R<T;R++)A[R]=E[R];return A}function hT(E,T){if(!(E instanceof T))throw new TypeError("Cannot call a class as a function")}function mT(E,T){for(var R=0;R<T.length;R++){var A=T[R];A.enumerable=A.enumerable||!1,A.configurable=!0,"value"in A&&(A.writable=!0),Object.defineProperty(E,A.key,A)}}function vT(E,T){return vT=Object.setPrototypeOf||function(E,T){return E.__proto__=T,E},vT(E,T)}function WT(E,T){if(T&&("object"===FT(T)||"function"==typeof T))return T;if(void 0!==T)throw new TypeError("Derived constructors may only return object or undefined");return function(E){if(void 0===E)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return E}(E)}function XT(E){return XT=Object.setPrototypeOf?Object.getPrototypeOf:function(E){return E.__proto__||Object.getPrototypeOf(E)},XT(E)}yT.reservedCommands=["ADD","ALTER COLUMN","ALTER TABLE","CREATE TABLE","DROP TABLE","END","FETCH FIRST","FETCH NEXT","FETCH PRIOR","FETCH LAST","FETCH ABSOLUTE","FETCH RELATIVE","FROM","GROUP BY","HAVING","INSERT INTO","LIMIT","OFFSET","ORDER BY","SELECT","SET SCHEMA","SET","UPDATE","VALUES","WHERE","WITH"],yT.reservedBinaryCommands=["INTERSECT","INTERSECT ALL","INTERSECT DISTINCT","UNION","UNION ALL","UNION DISTINCT","EXCEPT","EXCEPT ALL","EXCEPT DISTINCT","JOIN","INNER JOIN","LEFT JOIN","LEFT OUTER JOIN","RIGHT JOIN","RIGHT OUTER JOIN","FULL JOIN","FULL OUTER JOIN","CROSS JOIN","NATURAL JOIN"],yT.reservedDependentClauses=["WHEN","ELSE"],yT.reservedJoinConditions=["ON","USING"],yT.reservedLogicalOperators=["AND","OR"],yT.reservedKeywords=A(["ABS","ALL","ALLOCATE","ALTER","ANY","ARE","ARRAY","AS","ASENSITIVE","ASYMMETRIC","AT","ATOMIC","AUTHORIZATION","AVG","BEGIN","BETWEEN","BIGINT","BINARY","BLOB","BOOLEAN","BOTH","BY","CALL","CALLED","CARDINALITY","CASCADED","CAST","CEIL","CEILING","CHAR","CHARACTER","CHARACTER_LENGTH","CHAR_LENGTH","CHECK","CLOB","CLOSE","COALESCE","COLLATE","COLLECT","COLUMN","COMMIT","CONDITION","CONNECT","CONSTRAINT","CONVERT","CORR","CORRESPONDING","COUNT","COVAR_POP","COVAR_SAMP","CREATE","CROSS","CUBE","CUME_DIST","CURRENT","CURRENT_CATALOG","CURRENT_DATE","CURRENT_DEFAULT_TRANSFORM_GROUP","CURRENT_PATH","CURRENT_ROLE","CURRENT_SCHEMA","CURRENT_TIME","CURRENT_TIMESTAMP","CURRENT_TRANSFORM_GROUP_FOR_TYPE","CURRENT_USER","CURSOR","CYCLE","DATE","DAY","DEALLOCATE","DEC","DECIMAL","DECLARE","DEFAULT","DELETE","DENSE_RANK","DEREF","DESCRIBE","DETERMINISTIC","DISCONNECT","DISTINCT","DOUBLE","DROP","DYNAMIC","EACH","ELEMENT","END-EXEC","ESCAPE","EVERY","EXCEPT","EXEC","EXECUTE","EXISTS","EXP","EXTERNAL","EXTRACT","FALSE","FETCH","FILTER","FLOAT","FLOOR","FOR","FOREIGN","FREE","FROM","FULL","FUNCTION","FUSION","GET","GLOBAL","GRANT","GROUP","GROUPING","HAVING","HOLD","HOUR","IDENTITY","IN","INDICATOR","INNER","INOUT","INSENSITIVE","INSERT","INT","INTEGER","INTERSECT","INTERSECTION","INTERVAL","INTO","IS","LANGUAGE","LARGE","LATERAL","LEADING","LEFT","LIKE","LIKE_REGEX","LN","LOCAL","LOCALTIME","LOCALTIMESTAMP","LOWER","MATCH","MAX","MEMBER","MERGE","METHOD","MIN","MINUTE","MOD","MODIFIES","MODULE","MONTH","MULTISET","NATIONAL","NATURAL","NCHAR","NCLOB","NEW","NO","NONE","NORMALIZE","NOT","NULL","NULLIF","NUMERIC","OCCURRENCES_REGEX","OCTET_LENGTH","OF","OLD","ON DELETE","ON UPDATE","ONLY","OPEN","ORDER","OUT","OUTER","OVER","OVERLAPS","OVERLAY","PARAMETER","PARTITION","PERCENTILE_CONT","PERCENTILE_DISC","PERCENT_RANK","POSITION","POSITION_REGEX","POWER","PRECISION","PREPARE","PRIMARY","PROCEDURE","RANGE","RANK","READS","REAL","RECURSIVE","REF","REFERENCES","REFERENCING","REGR_AVGX","REGR_AVGY","REGR_COUNT","REGR_INTERCEPT","REGR_R2","REGR_SLOPE","REGR_SXX","REGR_SXY","REGR_SYY","RELEASE","RESULT","RETURN","RETURNS","REVOKE","RIGHT","ROLLBACK","ROLLUP","ROW","ROWS","ROW_NUMBER","SAVEPOINT","SCOPE","SCROLL","SEARCH","SECOND","SELECT","SENSITIVE","SESSION_USER","SET","SIMILAR","SMALLINT","SOME","SPECIFIC","SPECIFICTYPE","SQL","SQLEXCEPTION","SQLSTATE","SQLWARNING","SQRT","START","STATIC","STDDEV_POP","STDDEV_SAMP","SUBMULTISET","SUBSTRING","SUBSTRING_REGEX","SUM","SYMMETRIC","SYSTEM","SYSTEM_USER","TABLE","TABLESAMPLE","THEN","TIME","TIMESTAMP","TIMEZONE_HOUR","TIMEZONE_MINUTE","TO","TRAILING","TRANSLATE","TRANSLATE_REGEX","TRANSLATION","TREAT","TRIGGER","TRIM","TRUE","UESCAPE","UNION","UNIQUE","UNKNOWN","UNNEST","UPDATE","UPPER","USER","VALUE","VALUES","VARBINARY","VARCHAR","VARYING","VAR_POP","VAR_SAMP","WHENEVER","WIDTH_BUCKET","WINDOW","WITHIN","WITHOUT","YEAR"]),yT.stringTypes=['""',"''","``"],yT.blockStart=["(","CASE"],yT.blockEnd=[")","END"],yT.indexedPlaceholderTypes=["?"],yT.namedPlaceholderTypes=[],yT.lineCommentTypes=["--"],yT.operators=[];var bT=function(E){!function(E,T){if("function"!=typeof T&&null!==T)throw new TypeError("Super expression must either be null or a function");E.prototype=Object.create(T&&T.prototype,{constructor:{value:E,writable:!0,configurable:!0}}),Object.defineProperty(E,"prototype",{writable:!1}),T&&vT(E,T)}(O,E);var T,R,A,S,e=(A=O,S=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(E){return!1}}(),function(){var E,T=XT(A);if(S){var R=XT(this).constructor;E=Reflect.construct(T,arguments,R)}else E=T.apply(this,arguments);return WT(this,E)});function O(){return hT(this,O),e.apply(this,arguments)}return T=O,(R=[{key:"tokenizer",value:function(){return new F({reservedCommands:O.reservedCommands,reservedBinaryCommands:O.reservedBinaryCommands,reservedDependentClauses:O.reservedDependentClauses,reservedJoinConditions:O.reservedJoinConditions,reservedLogicalOperators:O.reservedLogicalOperators,reservedKeywords:O.reservedKeywords,stringTypes:O.stringTypes,blockStart:O.blockStart,blockEnd:O.blockEnd,indexedPlaceholderTypes:O.indexedPlaceholderTypes,namedPlaceholderTypes:O.namedPlaceholderTypes,lineCommentTypes:O.lineCommentTypes,specialWordChars:O.specialWordChars,operators:O.operators})}}])&&mT(T.prototype,R),Object.defineProperty(T,"prototype",{writable:!1}),O}($);function KT(E,T){if(!(E instanceof T))throw new TypeError("Cannot call a class as a function")}function gT(E,T){if(T&&("object"===ZT(T)||"function"==typeof T))return T;if(void 0!==T)throw new TypeError("Derived constructors may only return object or undefined");return function(E){if(void 0===E)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return E}(E)}function JT(E){var T="function"==typeof Map?new Map:void 0;return JT=function(E){if(null===E||(R=E,-1===Function.toString.call(R).indexOf("[native code]")))return E;var R;if("function"!=typeof E)throw new TypeError("Super expression must either be null or a function");if(void 0!==T){if(T.has(E))return T.get(E);T.set(E,A)}function A(){return wT(E,arguments,jT(this).constructor)}return A.prototype=Object.create(E.prototype,{constructor:{value:A,enumerable:!1,writable:!0,configurable:!0}}),QT(A,E)},JT(E)}function wT(E,T,R){return wT=kT()?Reflect.construct:function(E,T,R){var A=[null];A.push.apply(A,T);var S=new(Function.bind.apply(E,A));return R&&QT(S,R.prototype),S},wT.apply(null,arguments)}function kT(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(E){return!1}}function QT(E,T){return QT=Object.setPrototypeOf||function(E,T){return E.__proto__=T,E},QT(E,T)}function jT(E){return jT=Object.setPrototypeOf?Object.getPrototypeOf:function(E){return E.__proto__||Object.getPrototypeOf(E)},jT(E)}function ZT(E){return ZT="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(E){return typeof E}:function(E){return E&&"function"==typeof Symbol&&E.constructor===Symbol&&E!==Symbol.prototype?"symbol":typeof E},ZT(E)}bT.reservedCommands=["ADD SENSITIVITY CLASSIFICATION","ADD SIGNATURE","AGGREGATE","ANSI_DEFAULTS","ANSI_NULLS","ANSI_NULL_DFLT_OFF","ANSI_NULL_DFLT_ON","ANSI_PADDING","ANSI_WARNINGS","APPLICATION ROLE","ARITHABORT","ARITHIGNORE","ASSEMBLY","ASYMMETRIC KEY","AUTHORIZATION","AVAILABILITY GROUP","BACKUP","BACKUP CERTIFICATE","BACKUP MASTER KEY","BACKUP SERVICE MASTER KEY","BEGIN CONVERSATION TIMER","BEGIN DIALOG CONVERSATION","BROKER PRIORITY","BULK INSERT","CERTIFICATE","CLOSE MASTER KEY","CLOSE SYMMETRIC KEY","COLLATE","COLUMN ENCRYPTION KEY","COLUMN MASTER KEY","COLUMNSTORE INDEX","CONCAT_NULL_YIELDS_NULL","CONTEXT_INFO","CONTRACT","CREDENTIAL","CRYPTOGRAPHIC PROVIDER","CURSOR_CLOSE_ON_COMMIT","DATABASE","DATABASE AUDIT SPECIFICATION","DATABASE ENCRYPTION KEY","DATABASE HADR","DATABASE SCOPED CONFIGURATION","DATABASE SCOPED CREDENTIAL","DATABASE SET","DATEFIRST","DATEFORMAT","DEADLOCK_PRIORITY","DEFAULT","DELETE","DENY","DENY XML","DISABLE TRIGGER","ENABLE TRIGGER","END CONVERSATION","ENDPOINT","EVENT NOTIFICATION","EVENT SESSION","EXECUTE AS","EXTERNAL DATA SOURCE","EXTERNAL FILE FORMAT","EXTERNAL LANGUAGE","EXTERNAL LIBRARY","EXTERNAL RESOURCE POOL","EXTERNAL TABLE","FIPS_FLAGGER","FMTONLY","FORCEPLAN","FULLTEXT CATALOG","FULLTEXT INDEX","FULLTEXT STOPLIST","FUNCTION","GET CONVERSATION GROUP","GET_TRANSMISSION_STATUS","GRANT","GRANT XML","IDENTITY_INSERT","IMPLICIT_TRANSACTIONS","INDEX","INSERT","LANGUAGE","LOCK_TIMEOUT","LOGIN","MASTER KEY","MERGE","MESSAGE TYPE","MOVE CONVERSATION","NOCOUNT","NOEXEC","NUMERIC_ROUNDABORT","OFFSETS","OPEN MASTER KEY","OPEN SYMMETRIC KEY","PARSEONLY","PARTITION FUNCTION","PARTITION SCHEME","PROCEDURE","QUERY_GOVERNOR_COST_LIMIT","QUEUE","QUOTED_IDENTIFIER","RECEIVE","REMOTE SERVICE BINDING","REMOTE_PROC_TRANSACTIONS","RESOURCE GOVERNOR","RESOURCE POOL","RESTORE","RESTORE FILELISTONLY","RESTORE HEADERONLY","RESTORE LABELONLY","RESTORE MASTER KEY","RESTORE REWINDONLY","RESTORE SERVICE MASTER KEY","RESTORE VERIFYONLY","REVERT","REVOKE","REVOKE XML","ROLE","ROUTE","ROWCOUNT","RULE","SCHEMA","SEARCH PROPERTY LIST","SECURITY POLICY","SELECTIVE XML INDEX","SEND","SENSITIVITY CLASSIFICATION","SEQUENCE","SERVER AUDIT","SERVER AUDIT SPECIFICATION","SERVER CONFIGURATION","SERVER ROLE","SERVICE","SERVICE MASTER KEY","SET","SETUSER","SHOWPLAN_ALL","SHOWPLAN_TEXT","SHOWPLAN_XML","SIGNATURE","SPATIAL INDEX","STATISTICS","STATISTICS IO","STATISTICS PROFILE","STATISTICS TIME","STATISTICS XML","SYMMETRIC KEY","SYNONYM","TABLE","TABLE IDENTITY","TEXTSIZE","TRANSACTION ISOLATION LEVEL","TRIGGER","TRUNCATE TABLE","TYPE","UPDATE","UPDATE STATISTICS","USER","VIEW","WORKLOAD GROUP","XACT_ABORT","XML INDEX","XML SCHEMA COLLECTION","ALTER COLUMN","ALTER TABLE","CREATE TABLE","FROM","GROUP BY","HAVING","INSERT INTO","DROP TABLE","SET SCHEMA","LIMIT","OFFSET","ORDER BY","SELECT","VALUES","WHERE","WITH"],bT.reservedBinaryCommands=["INTERSECT","INTERSECT ALL","INTERSECT DISTINCT","UNION","UNION ALL","UNION DISTINCT","EXCEPT","EXCEPT ALL","EXCEPT DISTINCT","MINUS","MINUS ALL","MINUS DISTINCT","JOIN","INNER JOIN","LEFT JOIN","LEFT OUTER JOIN","RIGHT JOIN","RIGHT OUTER JOIN","FULL JOIN","FULL OUTER JOIN","CROSS JOIN"],bT.reservedDependentClauses=["WHEN","ELSE"],bT.reservedJoinConditions=["ON","USING"],bT.reservedLogicalOperators=["AND","OR"],bT.reservedKeywords=A([].concat(YT(Object.values({aggregate:["APPROX_COUNT_DISTINCT","AVG","CHECKSUM_AGG","COUNT","COUNT_BIG","GROUPING","GROUPING_ID","MAX","MIN","STDEV","STDEVP","SUM","VAR","VARP"],analytic:["CUME_DIST","FIRST_VALUE","LAG","LAST_VALUE","LEAD","PERCENTILE_CONT","PERCENTILE_DISC","PERCENT_RANK","Collation - COLLATIONPROPERTY","Collation - TERTIARY_WEIGHTS"],configuration:["@@DBTS","@@LANGID","@@LANGUAGE","@@LOCK_TIMEOUT","@@MAX_CONNECTIONS","@@MAX_PRECISION","@@NESTLEVEL","@@OPTIONS","@@REMSERVER","@@SERVERNAME","@@SERVICENAME","@@SPID","@@TEXTSIZE","@@VERSION"],conversion:["CAST","CONVERT","PARSE","TRY_CAST","TRY_CONVERT","TRY_PARSE"],cryptographic:["ASYMKEY_ID","ASYMKEYPROPERTY","CERTPROPERTY","CERT_ID","CRYPT_GEN_RANDOM","DECRYPTBYASYMKEY","DECRYPTBYCERT","DECRYPTBYKEY","DECRYPTBYKEYAUTOASYMKEY","DECRYPTBYKEYAUTOCERT","DECRYPTBYPASSPHRASE","ENCRYPTBYASYMKEY","ENCRYPTBYCERT","ENCRYPTBYKEY","ENCRYPTBYPASSPHRASE","HASHBYTES","IS_OBJECTSIGNED","KEY_GUID","KEY_ID","KEY_NAME","SIGNBYASYMKEY","SIGNBYCERT","SYMKEYPROPERTY","VERIFYSIGNEDBYCERT","VERIFYSIGNEDBYASYMKEY"],cursor:["@@CURSOR_ROWS","@@FETCH_STATUS","CURSOR_STATUS"],dataType:["DATALENGTH","IDENT_CURRENT","IDENT_INCR","IDENT_SEED","IDENTITY","SQL_VARIANT_PROPERTY"],datetime:["@@DATEFIRST","CURRENT_TIMESTAMP","CURRENT_TIMEZONE","CURRENT_TIMEZONE_ID","DATEADD","DATEDIFF","DATEDIFF_BIG","DATEFROMPARTS","DATENAME","DATEPART","DATETIME2FROMPARTS","DATETIMEFROMPARTS","DATETIMEOFFSETFROMPARTS","DAY","EOMONTH","GETDATE","GETUTCDATE","ISDATE","MONTH","SMALLDATETIMEFROMPARTS","SWITCHOFFSET","SYSDATETIME","SYSDATETIMEOFFSET","SYSUTCDATETIME","TIMEFROMPARTS","TODATETIMEOFFSET","YEAR","JSON","ISJSON","JSON_VALUE","JSON_QUERY","JSON_MODIFY"],mathematical:["ABS","ACOS","ASIN","ATAN","ATN2","CEILING","COS","COT","DEGREES","EXP","FLOOR","LOG","LOG10","PI","POWER","RADIANS","RAND","ROUND","SIGN","SIN","SQRT","SQUARE","TAN","CHOOSE","GREATEST","IIF","LEAST"],metadata:["@@PROCID","APP_NAME","APPLOCK_MODE","APPLOCK_TEST","ASSEMBLYPROPERTY","COL_LENGTH","COL_NAME","COLUMNPROPERTY","DATABASEPROPERTYEX","DB_ID","DB_NAME","FILE_ID","FILE_IDEX","FILE_NAME","FILEGROUP_ID","FILEGROUP_NAME","FILEGROUPPROPERTY","FILEPROPERTY","FILEPROPERTYEX","FULLTEXTCATALOGPROPERTY","FULLTEXTSERVICEPROPERTY","INDEX_COL","INDEXKEY_PROPERTY","INDEXPROPERTY","NEXT VALUE FOR","OBJECT_DEFINITION","OBJECT_ID","OBJECT_NAME","OBJECT_SCHEMA_NAME","OBJECTPROPERTY","OBJECTPROPERTYEX","ORIGINAL_DB_NAME","PARSENAME","SCHEMA_ID","SCHEMA_NAME","SCOPE_IDENTITY","SERVERPROPERTY","STATS_DATE","TYPE_ID","TYPE_NAME","TYPEPROPERTY"],ranking:["DENSE_RANK","NTILE","RANK","ROW_NUMBER","PUBLISHINGSERVERNAME"],security:["CERTENCODED","CERTPRIVATEKEY","CURRENT_USER","DATABASE_PRINCIPAL_ID","HAS_DBACCESS","HAS_PERMS_BY_NAME","IS_MEMBER","IS_ROLEMEMBER","IS_SRVROLEMEMBER","LOGINPROPERTY","ORIGINAL_LOGIN","PERMISSIONS","PWDENCRYPT","PWDCOMPARE","SESSION_USER","SESSIONPROPERTY","SUSER_ID","SUSER_NAME","SUSER_SID","SUSER_SNAME","SYSTEM_USER","USER","USER_ID","USER_NAME"],string:["ASCII","CHAR","CHARINDEX","CONCAT","CONCAT_WS","DIFFERENCE","FORMAT","LEFT","LEN","LOWER","LTRIM","NCHAR","PATINDEX","QUOTENAME","REPLACE","REPLICATE","REVERSE","RIGHT","RTRIM","SOUNDEX","SPACE","STR","STRING_AGG","STRING_ESCAPE","STUFF","SUBSTRING","TRANSLATE","TRIM","UNICODE","UPPER"],system:["$PARTITION","@@ERROR","@@IDENTITY","@@PACK_RECEIVED","@@ROWCOUNT","@@TRANCOUNT","BINARY_CHECKSUM","CHECKSUM","COMPRESS","CONNECTIONPROPERTY","CONTEXT_INFO","CURRENT_REQUEST_ID","CURRENT_TRANSACTION_ID","DECOMPRESS","ERROR_LINE","ERROR_MESSAGE","ERROR_NUMBER","ERROR_PROCEDURE","ERROR_SEVERITY","ERROR_STATE","FORMATMESSAGE","GET_FILESTREAM_TRANSACTION_CONTEXT","GETANSINULL","HOST_ID","HOST_NAME","ISNULL","ISNUMERIC","MIN_ACTIVE_ROWVERSION","NEWID","NEWSEQUENTIALID","ROWCOUNT_BIG","SESSION_CONTEXT","XACT_STATE"],statistical:["@@CONNECTIONS","@@CPU_BUSY","@@IDLE","@@IO_BUSY","@@PACK_SENT","@@PACKET_ERRORS","@@TIMETICKS","@@TOTAL_ERRORS","@@TOTAL_READ","@@TOTAL_WRITE","TEXTPTR","TEXTVALID"],trigger:["COLUMNS_UPDATED","EVENTDATA","TRIGGER_NESTLEVEL","UPDATE"]}).reduce((function(E,T){return[].concat(YT(E),YT(T))}),[])),YT(Object.values({standard:["ADD","ALL","ALTER","AND","ANY","AS","ASC","AUTHORIZATION","BACKUP","BEGIN","BETWEEN","BREAK","BROWSE","BULK","BY","CASCADE","CASE","CHECK","CHECKPOINT","CLOSE","CLUSTERED","COALESCE","COLLATE","COLUMN","COMMIT","COMPUTE","CONSTRAINT","CONTAINS","CONTAINSTABLE","CONTINUE","CONVERT","CREATE","CROSS","CURRENT","CURRENT_DATE","CURRENT_TIME","CURRENT_TIMESTAMP","CURRENT_USER","CURSOR","DATABASE","DBCC","DEALLOCATE","DECLARE","DEFAULT","DELETE","DENY","DESC","DISK","DISTINCT","DISTRIBUTED","DOUBLE","DROP","DUMP","ERRLVL","ESCAPE","EXEC","EXECUTE","EXISTS","EXIT","EXTERNAL","FETCH","FILE","FILLFACTOR","FOR","FOREIGN","FREETEXT","FREETEXTTABLE","FROM","FULL","FUNCTION","GOTO","GRANT","GROUP","HAVING","HOLDLOCK","IDENTITY","IDENTITYCOL","IDENTITY_INSERT","IF","IN","INDEX","INNER","INSERT","INTERSECT","INTO","IS","JOIN","KEY","KILL","LEFT","LIKE","LINENO","LOAD","MERGE","NATIONAL","NOCHECK","NONCLUSTERED","NOT","NULL","NULLIF","OF","OFF","OFFSETS","ON DELETE","ON UPDATE","OPEN","OPENDATASOURCE","OPENQUERY","OPENROWSET","OPENXML","OPTION","OR","ORDER","OUTER","OVER","PERCENT","PIVOT","PLAN","PRECISION","PRIMARY","PRINT","PROC","PROCEDURE","PUBLIC","RAISERROR","READ","READTEXT","RECONFIGURE","REFERENCES","REPLICATION","RESTORE","RESTRICT","RETURN","REVERT","REVOKE","RIGHT","ROLLBACK","ROWCOUNT","ROWGUIDCOL","RULE","SAVE","SCHEMA","SECURITYAUDIT","SELECT","SEMANTICKEYPHRASETABLE","SEMANTICSIMILARITYDETAILSTABLE","SEMANTICSIMILARITYTABLE","SESSION_USER","SET","SETUSER","SHUTDOWN","SOME","STATISTICS","SYSTEM_USER","TABLE","TABLESAMPLE","TEXTSIZE","THEN","TO","TOP","TRAN","TRANSACTION","TRIGGER","TRUNCATE","TRY_CONVERT","TSEQUAL","UNION","UNIQUE","UNPIVOT","UPDATE","UPDATETEXT","USE","USER","VALUES","VARYING","VIEW","WAITFOR","WHERE","WHILE","WITH","WITHIN GROUP","WRITETEXT"],odbc:["ABSOLUTE","ACTION","ADA","ADD","ALL","ALLOCATE","ALTER","AND","ANY","ARE","AS","ASC","ASSERTION","AT","AUTHORIZATION","AVG","BEGIN","BETWEEN","BIT","BIT_LENGTH","BOTH","BY","CASCADE","CASCADED","CASE","CAST","CATALOG","CHAR","CHARACTER","CHARACTER_LENGTH","CHAR_LENGTH","CHECK","CLOSE","COALESCE","COLLATE","COLLATION","COLUMN","COMMIT","CONNECT","CONNECTION","CONSTRAINT","CONSTRAINTS","CONTINUE","CONVERT","CORRESPONDING","COUNT","CREATE","CROSS","CURRENT","CURRENT_DATE","CURRENT_TIME","CURRENT_TIMESTAMP","CURRENT_USER","CURSOR","DATE","DAY","DEALLOCATE","DEC","DECIMAL","DECLARE","DEFAULT","DEFERRABLE","DEFERRED","DELETE","DESC","DESCRIBE","DESCRIPTOR","DIAGNOSTICS","DISCONNECT","DISTINCT","DOMAIN","DOUBLE","DROP","END-EXEC","ESCAPE","EXCEPTION","EXEC","EXECUTE","EXISTS","EXTERNAL","EXTRACT","FALSE","FETCH","FIRST","FLOAT","FOR","FOREIGN","FORTRAN","FOUND","FROM","FULL","GET","GLOBAL","GO","GOTO","GRANT","GROUP","HAVING","HOUR","IDENTITY","IMMEDIATE","IN","INCLUDE","INDEX","INDICATOR","INITIALLY","INNER","INPUT","INSENSITIVE","INSERT","INT","INTEGER","INTERSECT","INTERVAL","INTO","IS","ISOLATION","JOIN","KEY","LANGUAGE","LAST","LEADING","LEFT","LEVEL","LIKE","LOCAL","LOWER","MATCH","MAX","MIN","MINUTE","MODULE","MONTH","NAMES","NATIONAL","NATURAL","NCHAR","NEXT","NO","NONE","NOT","NULL","NULLIF","NUMERIC","OCTET_LENGTH","OF","ONLY","OPEN","OPTION","OR","ORDER","OUTER","OUTPUT","OVERLAPS","PAD","PARTIAL","PASCAL","POSITION","PRECISION","PREPARE","PRESERVE","PRIMARY","PRIOR","PRIVILEGES","PROCEDURE","PUBLIC","READ","REAL","REFERENCES","RELATIVE","RESTRICT","REVOKE","RIGHT","ROLLBACK","ROWS","SCHEMA","SCROLL","SECOND","SECTION","SELECT","SESSION","SESSION_USER","SET","SIZE","SMALLINT","SOME","SPACE","SQL","SQLCA","SQLCODE","SQLERROR","SQLSTATE","SQLWARNING","SUBSTRING","SUM","SYSTEM_USER","TABLE","TEMPORARY","TIME","TIMESTAMP","TIMEZONE_HOUR","TIMEZONE_MINUTE","TO","TRAILING","TRANSACTION","TRANSLATE","TRANSLATION","TRIM","TRUE","UNION","UNIQUE","UNKNOWN","UPDATE","UPPER","USAGE","USER","VALUE","VALUES","VARCHAR","VARYING","VIEW","WHENEVER","WHERE","WITH","WORK","WRITE","YEAR","ZONE"],future:["ABSOLUTE","ACTION","ADMIN","AFTER","AGGREGATE","ALIAS","ALLOCATE","ARE","ARRAY","ASENSITIVE","ASSERTION","ASYMMETRIC","AT","ATOMIC","BEFORE","BINARY","BIT","BLOB","BOOLEAN","BOTH","BREADTH","CALL","CALLED","CARDINALITY","CASCADED","CAST","CATALOG","CHAR","CHARACTER","CLASS","CLOB","COLLATION","COLLECT","COMPLETION","CONDITION","CONNECT","CONNECTION","CONSTRAINTS","CONSTRUCTOR","CORR","CORRESPONDING","COVAR_POP","COVAR_SAMP","CUBE","CUME_DIST","CURRENT_CATALOG","CURRENT_DEFAULT_TRANSFORM_GROUP","CURRENT_PATH","CURRENT_ROLE","CURRENT_SCHEMA","CURRENT_TRANSFORM_GROUP_FOR_TYPE","CYCLE","DATA","DATE","DAY","DEC","DECIMAL","DEFERRABLE","DEFERRED","DEPTH","DEREF","DESCRIBE","DESCRIPTOR","DESTROY","DESTRUCTOR","DETERMINISTIC","DIAGNOSTICS","DICTIONARY","DISCONNECT","DOMAIN","DYNAMIC","EACH","ELEMENT","END-EXEC","EQUALS","EVERY","FALSE","FILTER","FIRST","FLOAT","FOUND","FREE","FULLTEXTTABLE","FUSION","GENERAL","GET","GLOBAL","GO","GROUPING","HOLD","HOST","HOUR","IGNORE","IMMEDIATE","INDICATOR","INITIALIZE","INITIALLY","INOUT","INPUT","INT","INTEGER","INTERSECTION","INTERVAL","ISOLATION","ITERATE","LANGUAGE","LARGE","LAST","LATERAL","LEADING","LESS","LEVEL","LIKE_REGEX","LIMIT","LN","LOCAL","LOCALTIME","LOCALTIMESTAMP","LOCATOR","MAP","MATCH","MEMBER","METHOD","MINUTE","MOD","MODIFIES","MODIFY","MODULE","MONTH","MULTISET","NAMES","NATURAL","NCHAR","NCLOB","NEW","NEXT","NO","NONE","NORMALIZE","NUMERIC","OBJECT","OCCURRENCES_REGEX","OLD","ONLY","OPERATION","ORDINALITY","OUT","OUTPUT","OVERLAY","PAD","PARAMETER","PARAMETERS","PARTIAL","PARTITION","PATH","PERCENTILE_CONT","PERCENTILE_DISC","PERCENT_RANK","POSITION_REGEX","POSTFIX","PREFIX","PREORDER","PREPARE","PRESERVE","PRIOR","PRIVILEGES","RANGE","READS","REAL","RECURSIVE","REF","REFERENCING","REGR_AVGX","REGR_AVGY","REGR_COUNT","REGR_INTERCEPT","REGR_R2","REGR_SLOPE","REGR_SXX","REGR_SXY","REGR_SYY","RELATIVE","RELEASE","RESULT","RETURNS","ROLE","ROLLUP","ROUTINE","ROW","ROWS","SAVEPOINT","SCOPE","SCROLL","SEARCH","SECOND","SECTION","SENSITIVE","SEQUENCE","SESSION","SETS","SIMILAR","SIZE","SMALLINT","SPACE","SPECIFIC","SPECIFICTYPE","SQL","SQLEXCEPTION","SQLSTATE","SQLWARNING","START","STATE","STATEMENT","STATIC","STDDEV_POP","STDDEV_SAMP","STRUCTURE","SUBMULTISET","SUBSTRING_REGEX","SYMMETRIC","SYSTEM","TEMPORARY","TERMINATE","THAN","TIME","TIMESTAMP","TIMEZONE_HOUR","TIMEZONE_MINUTE","TRAILING","TRANSLATE_REGEX","TRANSLATION","TREAT","TRUE","UESCAPE","UNDER","UNKNOWN","UNNEST","USAGE","USING","VALUE","VARCHAR","VARIABLE","VAR_POP","VAR_SAMP","WHENEVER","WIDTH_BUCKET","WINDOW","WITHIN","WITHOUT","WORK","WRITE","XMLAGG","XMLATTRIBUTES","XMLBINARY","XMLCAST","XMLCOMMENT","XMLCONCAT","XMLDOCUMENT","XMLELEMENT","XMLEXISTS","XMLFOREST","XMLITERATE","XMLNAMESPACES","XMLPARSE","XMLPI","XMLQUERY","XMLSERIALIZE","XMLTABLE","XMLTEXT","XMLVALIDATE","YEAR","ZONE"]}).reduce((function(E,T){return[].concat(YT(E),YT(T))}),[])))),bT.stringTypes=['""',"N''","''","[]","``"],bT.blockStart=["(","CASE"],bT.blockEnd=[")","END"],bT.indexedPlaceholderTypes=[],bT.namedPlaceholderTypes=["@"],bT.lineCommentTypes=["--"],bT.specialWordChars={any:"#@"},bT.operators=["!<","!>","+=","-=","*=","/=","%=","|=","&=","^=","::"];var xT={bigquery:OE,db2:oE,hive:uE,mariadb:dE,mysql:vE,n1ql:wE,plsql:zE,postgresql:IT,redshift:PT,spark:lT,sql:yT,tsql:bT},$T=Object.keys(xT),zT={language:"sql",tabWidth:2,useTabs:!1,keywordCase:"preserve",indentStyle:"standard",multilineLists:"always",logicalOperatorNewline:"before",aliasAs:"preserve",tabulateAlias:!1,commaPosition:"after",newlineBeforeOpenParen:!0,newlineBeforeCloseParen:!0,expressionWidth:50,linesBetweenQueries:1,denseOperators:!1,newlineBeforeSemicolon:!1},qT=function(E){var T=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if("string"!=typeof E)throw new Error("Invalid query argument. Expected string, instead got "+ZT(E));var R=TR(Object.assign(Object.assign({},zT),T)),A=xT[R.language];return new A(R).format(E)},ER=function(E){!function(E,T){if("function"!=typeof T&&null!==T)throw new TypeError("Super expression must either be null or a function");E.prototype=Object.create(T&&T.prototype,{constructor:{value:E,writable:!0,configurable:!0}}),Object.defineProperty(E,"prototype",{writable:!1}),T&&QT(E,T)}(e,E);var T,R,A,S=(T=e,R=kT(),function(){var E,A=jT(T);if(R){var S=jT(this).constructor;E=Reflect.construct(A,arguments,S)}else E=A.apply(this,arguments);return gT(this,E)});function e(){return KT(this,e),S.apply(this,arguments)}return A=e,Object.defineProperty(A,"prototype",{writable:!1}),A}(JT(Error));function TR(E){if(!$T.includes(E.language))throw new ER("Unsupported SQL dialect: ".concat(E.language));if("number"==typeof E.multilineLists&&E.multilineLists<=0)throw new ER("multilineLists config must be a positive number.");if(E.expressionWidth<=0)throw new ER("expressionWidth config must be positive number. Received ".concat(E.expressionWidth," instead."));if("before"===E.commaPosition&&E.useTabs)throw new ER("commaPosition: before does not work when tabs are used for indentation.");return E}return T})()));
2//# sourceMappingURL=sql-formatter.min.js.map
\No newline at end of file