lone-format 0.12.1 → 0.13.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (32) hide show
  1. package/dist/_chunks/_plugin-vue_export-helper-CHgC5LLL.js +9 -0
  2. package/dist/_chunks/index-13rwh2MK.js +788 -0
  3. package/dist/_chunks/index-DfjCsqDT.js +1005 -0
  4. package/dist/_chunks/index-DvNM7Tl4.js +1784 -0
  5. package/dist/components/JsonFormat/JsonNode.vue.d.ts +29 -0
  6. package/dist/components/JsonFormat/index.d.ts +2 -0
  7. package/dist/components/JsonFormat/index.js +4 -0
  8. package/dist/components/JsonFormat/index.vue.d.ts +50 -0
  9. package/dist/components/JsonFormat/themes.d.ts +29 -0
  10. package/dist/components/JsonFormat/types.d.ts +96 -0
  11. package/dist/components/SqlFormat/SqlClauseNode.vue.d.ts +13 -0
  12. package/dist/components/SqlFormat/index.d.ts +5 -0
  13. package/dist/components/SqlFormat/index.js +5 -0
  14. package/dist/components/SqlFormat/index.vue.d.ts +43 -0
  15. package/dist/components/SqlFormat/parser.d.ts +34 -0
  16. package/dist/components/SqlFormat/themes.d.ts +33 -0
  17. package/dist/components/SqlFormat/types.d.ts +99 -0
  18. package/dist/components/XmlFormat/XmlNode.vue.d.ts +37 -0
  19. package/dist/components/XmlFormat/index.d.ts +7 -0
  20. package/dist/components/XmlFormat/index.js +27 -0
  21. package/dist/components/XmlFormat/index.vue.d.ts +57 -0
  22. package/dist/components/XmlFormat/parser.d.ts +93 -0
  23. package/dist/components/XmlFormat/themes.d.ts +29 -0
  24. package/dist/components/XmlFormat/types.d.ts +113 -0
  25. package/dist/components/index.d.ts +6 -0
  26. package/dist/index.d.ts +6 -1
  27. package/dist/lone-format.css +1 -1
  28. package/dist/lone-format.js +13 -31862
  29. package/dist/lone-format.umd.cjs +53 -49
  30. package/dist/types/components.d.ts +1 -0
  31. package/dist/types/index.d.ts +6 -0
  32. package/package.json +8 -3
@@ -1,60 +1,64 @@
1
- (function(rt,o){typeof exports=="object"&&typeof module<"u"?o(exports,require("vue")):typeof define=="function"&&define.amd?define(["exports","vue"],o):(rt=typeof globalThis<"u"?globalThis:rt||self,o(rt.LoneFormat={},rt.Vue))})(this,function(rt,o){"use strict";class Jr{add(t,r,n){if(typeof arguments[0]!="string")for(let T in arguments[0])this.add(T,arguments[0][T],arguments[1]);else(Array.isArray(t)?t:[t]).forEach(function(T){this[T]=this[T]||[],r&&this[T][n?"unshift":"push"](r)},this)}run(t,r){this[t]=this[t]||[],this[t].forEach(function(n){n.call(r&&r.context?r.context:r,r)})}}class Qr{constructor(t){this.jsep=t,this.registered={}}register(){for(var t=arguments.length,r=new Array(t),n=0;n<t;n++)r[n]=arguments[n];r.forEach(T=>{if(typeof T!="object"||!T.name||!T.init)throw new Error("Invalid JSEP plugin format");this.registered[T.name]||(T.init(this.jsep),this.registered[T.name]=T)})}}class x{static get version(){return"1.4.0"}static toString(){return"JavaScript Expression Parser (JSEP) v"+x.version}static addUnaryOp(t){return x.max_unop_len=Math.max(t.length,x.max_unop_len),x.unary_ops[t]=1,x}static addBinaryOp(t,r,n){return x.max_binop_len=Math.max(t.length,x.max_binop_len),x.binary_ops[t]=r,n?x.right_associative.add(t):x.right_associative.delete(t),x}static addIdentifierChar(t){return x.additional_identifier_chars.add(t),x}static addLiteral(t,r){return x.literals[t]=r,x}static removeUnaryOp(t){return delete x.unary_ops[t],t.length===x.max_unop_len&&(x.max_unop_len=x.getMaxKeyLen(x.unary_ops)),x}static removeAllUnaryOps(){return x.unary_ops={},x.max_unop_len=0,x}static removeIdentifierChar(t){return x.additional_identifier_chars.delete(t),x}static removeBinaryOp(t){return delete x.binary_ops[t],t.length===x.max_binop_len&&(x.max_binop_len=x.getMaxKeyLen(x.binary_ops)),x.right_associative.delete(t),x}static removeAllBinaryOps(){return x.binary_ops={},x.max_binop_len=0,x}static removeLiteral(t){return delete x.literals[t],x}static removeAllLiterals(){return x.literals={},x}get char(){return this.expr.charAt(this.index)}get code(){return this.expr.charCodeAt(this.index)}constructor(t){this.expr=t,this.index=0}static parse(t){return new x(t).parse()}static getMaxKeyLen(t){return Math.max(0,...Object.keys(t).map(r=>r.length))}static isDecimalDigit(t){return t>=48&&t<=57}static binaryPrecedence(t){return x.binary_ops[t]||0}static isIdentifierStart(t){return t>=65&&t<=90||t>=97&&t<=122||t>=128&&!x.binary_ops[String.fromCharCode(t)]||x.additional_identifier_chars.has(String.fromCharCode(t))}static isIdentifierPart(t){return x.isIdentifierStart(t)||x.isDecimalDigit(t)}throwError(t){const r=new Error(t+" at character "+this.index);throw r.index=this.index,r.description=t,r}runHook(t,r){if(x.hooks[t]){const n={context:this,node:r};return x.hooks.run(t,n),n.node}return r}searchHook(t){if(x.hooks[t]){const r={context:this};return x.hooks[t].find(function(n){return n.call(r.context,r),r.node}),r.node}}gobbleSpaces(){let t=this.code;for(;t===x.SPACE_CODE||t===x.TAB_CODE||t===x.LF_CODE||t===x.CR_CODE;)t=this.expr.charCodeAt(++this.index);this.runHook("gobble-spaces")}parse(){this.runHook("before-all");const t=this.gobbleExpressions(),r=t.length===1?t[0]:{type:x.COMPOUND,body:t};return this.runHook("after-all",r)}gobbleExpressions(t){let r=[],n,T;for(;this.index<this.expr.length;)if(n=this.code,n===x.SEMCOL_CODE||n===x.COMMA_CODE)this.index++;else if(T=this.gobbleExpression())r.push(T);else if(this.index<this.expr.length){if(n===t)break;this.throwError('Unexpected "'+this.char+'"')}return r}gobbleExpression(){const t=this.searchHook("gobble-expression")||this.gobbleBinaryExpression();return this.gobbleSpaces(),this.runHook("after-expression",t)}gobbleBinaryOp(){this.gobbleSpaces();let t=this.expr.substr(this.index,x.max_binop_len),r=t.length;for(;r>0;){if(x.binary_ops.hasOwnProperty(t)&&(!x.isIdentifierStart(this.code)||this.index+t.length<this.expr.length&&!x.isIdentifierPart(this.expr.charCodeAt(this.index+t.length))))return this.index+=r,t;t=t.substr(0,--r)}return!1}gobbleBinaryExpression(){let t,r,n,T,a,i,l,N,A;if(i=this.gobbleToken(),!i||(r=this.gobbleBinaryOp(),!r))return i;for(a={value:r,prec:x.binaryPrecedence(r),right_a:x.right_associative.has(r)},l=this.gobbleToken(),l||this.throwError("Expected expression after "+r),T=[i,a,l];r=this.gobbleBinaryOp();){if(n=x.binaryPrecedence(r),n===0){this.index-=r.length;break}a={value:r,prec:n,right_a:x.right_associative.has(r)},A=r;const O=C=>a.right_a&&C.right_a?n>C.prec:n<=C.prec;for(;T.length>2&&O(T[T.length-2]);)l=T.pop(),r=T.pop().value,i=T.pop(),t={type:x.BINARY_EXP,operator:r,left:i,right:l},T.push(t);t=this.gobbleToken(),t||this.throwError("Expected expression after "+A),T.push(a,t)}for(N=T.length-1,t=T[N];N>1;)t={type:x.BINARY_EXP,operator:T[N-1].value,left:T[N-2],right:t},N-=2;return t}gobbleToken(){let t,r,n,T;if(this.gobbleSpaces(),T=this.searchHook("gobble-token"),T)return this.runHook("after-token",T);if(t=this.code,x.isDecimalDigit(t)||t===x.PERIOD_CODE)return this.gobbleNumericLiteral();if(t===x.SQUOTE_CODE||t===x.DQUOTE_CODE)T=this.gobbleStringLiteral();else if(t===x.OBRACK_CODE)T=this.gobbleArray();else{for(r=this.expr.substr(this.index,x.max_unop_len),n=r.length;n>0;){if(x.unary_ops.hasOwnProperty(r)&&(!x.isIdentifierStart(this.code)||this.index+r.length<this.expr.length&&!x.isIdentifierPart(this.expr.charCodeAt(this.index+r.length)))){this.index+=n;const a=this.gobbleToken();return a||this.throwError("missing unaryOp argument"),this.runHook("after-token",{type:x.UNARY_EXP,operator:r,argument:a,prefix:!0})}r=r.substr(0,--n)}x.isIdentifierStart(t)?(T=this.gobbleIdentifier(),x.literals.hasOwnProperty(T.name)?T={type:x.LITERAL,value:x.literals[T.name],raw:T.name}:T.name===x.this_str&&(T={type:x.THIS_EXP})):t===x.OPAREN_CODE&&(T=this.gobbleGroup())}return T?(T=this.gobbleTokenProperty(T),this.runHook("after-token",T)):this.runHook("after-token",!1)}gobbleTokenProperty(t){this.gobbleSpaces();let r=this.code;for(;r===x.PERIOD_CODE||r===x.OBRACK_CODE||r===x.OPAREN_CODE||r===x.QUMARK_CODE;){let n;if(r===x.QUMARK_CODE){if(this.expr.charCodeAt(this.index+1)!==x.PERIOD_CODE)break;n=!0,this.index+=2,this.gobbleSpaces(),r=this.code}this.index++,r===x.OBRACK_CODE?(t={type:x.MEMBER_EXP,computed:!0,object:t,property:this.gobbleExpression()},t.property||this.throwError('Unexpected "'+this.char+'"'),this.gobbleSpaces(),r=this.code,r!==x.CBRACK_CODE&&this.throwError("Unclosed ["),this.index++):r===x.OPAREN_CODE?t={type:x.CALL_EXP,arguments:this.gobbleArguments(x.CPAREN_CODE),callee:t}:(r===x.PERIOD_CODE||n)&&(n&&this.index--,this.gobbleSpaces(),t={type:x.MEMBER_EXP,computed:!1,object:t,property:this.gobbleIdentifier()}),n&&(t.optional=!0),this.gobbleSpaces(),r=this.code}return t}gobbleNumericLiteral(){let t="",r,n;for(;x.isDecimalDigit(this.code);)t+=this.expr.charAt(this.index++);if(this.code===x.PERIOD_CODE)for(t+=this.expr.charAt(this.index++);x.isDecimalDigit(this.code);)t+=this.expr.charAt(this.index++);if(r=this.char,r==="e"||r==="E"){for(t+=this.expr.charAt(this.index++),r=this.char,(r==="+"||r==="-")&&(t+=this.expr.charAt(this.index++));x.isDecimalDigit(this.code);)t+=this.expr.charAt(this.index++);x.isDecimalDigit(this.expr.charCodeAt(this.index-1))||this.throwError("Expected exponent ("+t+this.char+")")}return n=this.code,x.isIdentifierStart(n)?this.throwError("Variable names cannot start with a number ("+t+this.char+")"):(n===x.PERIOD_CODE||t.length===1&&t.charCodeAt(0)===x.PERIOD_CODE)&&this.throwError("Unexpected period"),{type:x.LITERAL,value:parseFloat(t),raw:t}}gobbleStringLiteral(){let t="";const r=this.index,n=this.expr.charAt(this.index++);let T=!1;for(;this.index<this.expr.length;){let a=this.expr.charAt(this.index++);if(a===n){T=!0;break}else if(a==="\\")switch(a=this.expr.charAt(this.index++),a){case"n":t+=`
2
- `;break;case"r":t+="\r";break;case"t":t+=" ";break;case"b":t+="\b";break;case"f":t+="\f";break;case"v":t+="\v";break;default:t+=a}else t+=a}return T||this.throwError('Unclosed quote after "'+t+'"'),{type:x.LITERAL,value:t,raw:this.expr.substring(r,this.index)}}gobbleIdentifier(){let t=this.code,r=this.index;for(x.isIdentifierStart(t)?this.index++:this.throwError("Unexpected "+this.char);this.index<this.expr.length&&(t=this.code,x.isIdentifierPart(t));)this.index++;return{type:x.IDENTIFIER,name:this.expr.slice(r,this.index)}}gobbleArguments(t){const r=[];let n=!1,T=0;for(;this.index<this.expr.length;){this.gobbleSpaces();let a=this.code;if(a===t){n=!0,this.index++,t===x.CPAREN_CODE&&T&&T>=r.length&&this.throwError("Unexpected token "+String.fromCharCode(t));break}else if(a===x.COMMA_CODE){if(this.index++,T++,T!==r.length){if(t===x.CPAREN_CODE)this.throwError("Unexpected token ,");else if(t===x.CBRACK_CODE)for(let i=r.length;i<T;i++)r.push(null)}}else if(r.length!==T&&T!==0)this.throwError("Expected comma");else{const i=this.gobbleExpression();(!i||i.type===x.COMPOUND)&&this.throwError("Expected comma"),r.push(i)}}return n||this.throwError("Expected "+String.fromCharCode(t)),r}gobbleGroup(){this.index++;let t=this.gobbleExpressions(x.CPAREN_CODE);if(this.code===x.CPAREN_CODE)return this.index++,t.length===1?t[0]:t.length?{type:x.SEQUENCE_EXP,expressions:t}:!1;this.throwError("Unclosed (")}gobbleArray(){return this.index++,{type:x.ARRAY_EXP,elements:this.gobbleArguments(x.CBRACK_CODE)}}}const Zr=new Jr;Object.assign(x,{hooks:Zr,plugins:new Qr(x),COMPOUND:"Compound",SEQUENCE_EXP:"SequenceExpression",IDENTIFIER:"Identifier",MEMBER_EXP:"MemberExpression",LITERAL:"Literal",THIS_EXP:"ThisExpression",CALL_EXP:"CallExpression",UNARY_EXP:"UnaryExpression",BINARY_EXP:"BinaryExpression",ARRAY_EXP:"ArrayExpression",TAB_CODE:9,LF_CODE:10,CR_CODE:13,SPACE_CODE:32,PERIOD_CODE:46,COMMA_CODE:44,SQUOTE_CODE:39,DQUOTE_CODE:34,OPAREN_CODE:40,CPAREN_CODE:41,OBRACK_CODE:91,CBRACK_CODE:93,QUMARK_CODE:63,SEMCOL_CODE:59,COLON_CODE:58,unary_ops:{"-":1,"!":1,"~":1,"+":1},binary_ops:{"||":1,"??":1,"&&":2,"|":3,"^":4,"&":5,"==":6,"!=":6,"===":6,"!==":6,"<":7,">":7,"<=":7,">=":7,"<<":8,">>":8,">>>":8,"+":9,"-":9,"*":10,"/":10,"%":10,"**":11},right_associative:new Set(["**"]),additional_identifier_chars:new Set(["$","_"]),literals:{true:!0,false:!1,null:null},this_str:"this"}),x.max_unop_len=x.getMaxKeyLen(x.unary_ops),x.max_binop_len=x.getMaxKeyLen(x.binary_ops);const ot=E=>new x(E).parse(),jr=Object.getOwnPropertyNames(class{});Object.getOwnPropertyNames(x).filter(E=>!jr.includes(E)&&ot[E]===void 0).forEach(E=>{ot[E]=x[E]}),ot.Jsep=x;const zr="ConditionalExpression";var en={name:"ternary",init(E){E.hooks.add("after-expression",function(r){if(r.node&&this.code===E.QUMARK_CODE){this.index++;const n=r.node,T=this.gobbleExpression();if(T||this.throwError("Expected expression"),this.gobbleSpaces(),this.code===E.COLON_CODE){this.index++;const a=this.gobbleExpression();if(a||this.throwError("Expected expression"),r.node={type:zr,test:n,consequent:T,alternate:a},n.operator&&E.binary_ops[n.operator]<=.9){let i=n;for(;i.right.operator&&E.binary_ops[i.right.operator]<=.9;)i=i.right;r.node.test=i.right,i.right=r.node,r.node=n}}else this.throwError("Expected :")}})}};ot.plugins.register(en);const hE=47,tn=92;var En={name:"regex",init(E){E.hooks.add("gobble-token",function(r){if(this.code===hE){const n=++this.index;let T=!1;for(;this.index<this.expr.length;){if(this.code===hE&&!T){const a=this.expr.slice(n,this.index);let i="";for(;++this.index<this.expr.length;){const N=this.code;if(N>=97&&N<=122||N>=65&&N<=90||N>=48&&N<=57)i+=this.char;else break}let l;try{l=new RegExp(a,i)}catch(N){this.throwError(N.message)}return r.node={type:E.LITERAL,value:l,raw:this.expr.slice(n-1,this.index)},r.node=this.gobbleTokenProperty(r.node),r.node}this.code===E.OBRACK_CODE?T=!0:T&&this.code===E.CBRACK_CODE&&(T=!1),this.index+=this.code===tn?2:1}this.throwError("Unclosed Regex")}})}};const kt=43,dt={name:"assignment",assignmentOperators:new Set(["=","*=","**=","/=","%=","+=","-=","<<=",">>=",">>>=","&=","^=","|=","||=","&&=","??="]),updateOperators:[kt,45],assignmentPrecedence:.9,init(E){const t=[E.IDENTIFIER,E.MEMBER_EXP];dt.assignmentOperators.forEach(n=>E.addBinaryOp(n,dt.assignmentPrecedence,!0)),E.hooks.add("gobble-token",function(T){const a=this.code;dt.updateOperators.some(i=>i===a&&i===this.expr.charCodeAt(this.index+1))&&(this.index+=2,T.node={type:"UpdateExpression",operator:a===kt?"++":"--",argument:this.gobbleTokenProperty(this.gobbleIdentifier()),prefix:!0},(!T.node.argument||!t.includes(T.node.argument.type))&&this.throwError(`Unexpected ${T.node.operator}`))}),E.hooks.add("after-token",function(T){if(T.node){const a=this.code;dt.updateOperators.some(i=>i===a&&i===this.expr.charCodeAt(this.index+1))&&(t.includes(T.node.type)||this.throwError(`Unexpected ${T.node.operator}`),this.index+=2,T.node={type:"UpdateExpression",operator:a===kt?"++":"--",argument:T.node,prefix:!1})}}),E.hooks.add("after-expression",function(T){T.node&&r(T.node)});function r(n){dt.assignmentOperators.has(n.operator)?(n.type="AssignmentExpression",r(n.left),r(n.right)):n.operator||Object.values(n).forEach(T=>{T&&typeof T=="object"&&r(T)})}}};ot.plugins.register(En,dt),ot.addUnaryOp("typeof"),ot.addLiteral("null",null),ot.addLiteral("undefined",void 0);const rn=new Set(["constructor","__proto__","__defineGetter__","__defineSetter__"]),Fe={evalAst(E,t){switch(E.type){case"BinaryExpression":case"LogicalExpression":return Fe.evalBinaryExpression(E,t);case"Compound":return Fe.evalCompound(E,t);case"ConditionalExpression":return Fe.evalConditionalExpression(E,t);case"Identifier":return Fe.evalIdentifier(E,t);case"Literal":return Fe.evalLiteral(E,t);case"MemberExpression":return Fe.evalMemberExpression(E,t);case"UnaryExpression":return Fe.evalUnaryExpression(E,t);case"ArrayExpression":return Fe.evalArrayExpression(E,t);case"CallExpression":return Fe.evalCallExpression(E,t);case"AssignmentExpression":return Fe.evalAssignmentExpression(E,t);default:throw SyntaxError("Unexpected expression",E)}},evalBinaryExpression(E,t){return{"||":(n,T)=>n||T(),"&&":(n,T)=>n&&T(),"|":(n,T)=>n|T(),"^":(n,T)=>n^T(),"&":(n,T)=>n&T(),"==":(n,T)=>n==T(),"!=":(n,T)=>n!=T(),"===":(n,T)=>n===T(),"!==":(n,T)=>n!==T(),"<":(n,T)=>n<T(),">":(n,T)=>n>T(),"<=":(n,T)=>n<=T(),">=":(n,T)=>n>=T(),"<<":(n,T)=>n<<T(),">>":(n,T)=>n>>T(),">>>":(n,T)=>n>>>T(),"+":(n,T)=>n+T(),"-":(n,T)=>n-T(),"*":(n,T)=>n*T(),"/":(n,T)=>n/T(),"%":(n,T)=>n%T()}[E.operator](Fe.evalAst(E.left,t),()=>Fe.evalAst(E.right,t))},evalCompound(E,t){let r;for(let n=0;n<E.body.length;n++){E.body[n].type==="Identifier"&&["var","let","const"].includes(E.body[n].name)&&E.body[n+1]&&E.body[n+1].type==="AssignmentExpression"&&(n+=1);const T=E.body[n];r=Fe.evalAst(T,t)}return r},evalConditionalExpression(E,t){return Fe.evalAst(E.test,t)?Fe.evalAst(E.consequent,t):Fe.evalAst(E.alternate,t)},evalIdentifier(E,t){if(Object.hasOwn(t,E.name))return t[E.name];throw ReferenceError(`${E.name} is not defined`)},evalLiteral(E){return E.value},evalMemberExpression(E,t){const r=String(E.computed?Fe.evalAst(E.property):E.property.name),n=Fe.evalAst(E.object,t);if(n==null)throw TypeError(`Cannot read properties of ${n} (reading '${r}')`);if(!Object.hasOwn(n,r)&&rn.has(r))throw TypeError(`Cannot read properties of ${n} (reading '${r}')`);const T=n[r];return typeof T=="function"?T.bind(n):T},evalUnaryExpression(E,t){return{"-":n=>-Fe.evalAst(n,t),"!":n=>!Fe.evalAst(n,t),"~":n=>~Fe.evalAst(n,t),"+":n=>+Fe.evalAst(n,t),typeof:n=>typeof Fe.evalAst(n,t)}[E.operator](E.argument)},evalArrayExpression(E,t){return E.elements.map(r=>Fe.evalAst(r,t))},evalCallExpression(E,t){const r=E.arguments.map(T=>Fe.evalAst(T,t));return Fe.evalAst(E.callee,t)(...r)},evalAssignmentExpression(E,t){if(E.left.type!=="Identifier")throw SyntaxError("Invalid left-hand side in assignment");const r=E.left.name,n=Fe.evalAst(E.right,t);return t[r]=n,t[r]}};class nn{constructor(t){this.code=t,this.ast=ot(this.code)}runInNewContext(t){const r=Object.assign(Object.create(null),t);return Fe.evalAst(this.ast,r)}}function St(E,t){return E=E.slice(),E.push(t),E}function $t(E,t){return t=t.slice(),t.unshift(E),t}class sn extends Error{constructor(t){super('JSONPath should not be called with "new" (it prevents return of (unwrapped) scalar values)'),this.avoidNew=!0,this.value=t,this.name="NewError"}}function Ge(E,t,r,n,T){if(!(this instanceof Ge))try{return new Ge(E,t,r,n,T)}catch(i){if(!i.avoidNew)throw i;return i.value}typeof E=="string"&&(T=n,n=r,r=t,t=E,E=null);const a=E&&typeof E=="object";if(E=E||{},this.json=E.json||r,this.path=E.path||t,this.resultType=E.resultType||"value",this.flatten=E.flatten||!1,this.wrap=Object.hasOwn(E,"wrap")?E.wrap:!0,this.sandbox=E.sandbox||{},this.eval=E.eval===void 0?"safe":E.eval,this.ignoreEvalErrors=typeof E.ignoreEvalErrors>"u"?!1:E.ignoreEvalErrors,this.parent=E.parent||null,this.parentProperty=E.parentProperty||null,this.callback=E.callback||n||null,this.otherTypeCallback=E.otherTypeCallback||T||function(){throw new TypeError("You must supply an otherTypeCallback callback option with the @other() operator.")},E.autostart!==!1){const i={path:a?E.path:t};a?"json"in E&&(i.json=E.json):i.json=r;const l=this.evaluate(i);if(!l||typeof l!="object")throw new sn(l);return l}}Ge.prototype.evaluate=function(E,t,r,n){let T=this.parent,a=this.parentProperty,{flatten:i,wrap:l}=this;if(this.currResultType=this.resultType,this.currEval=this.eval,this.currSandbox=this.sandbox,r=r||this.callback,this.currOtherTypeCallback=n||this.otherTypeCallback,t=t||this.json,E=E||this.path,E&&typeof E=="object"&&!Array.isArray(E)){if(!E.path&&E.path!=="")throw new TypeError('You must supply a "path" property when providing an object argument to JSONPath.evaluate().');if(!Object.hasOwn(E,"json"))throw new TypeError('You must supply a "json" property when providing an object argument to JSONPath.evaluate().');({json:t}=E),i=Object.hasOwn(E,"flatten")?E.flatten:i,this.currResultType=Object.hasOwn(E,"resultType")?E.resultType:this.currResultType,this.currSandbox=Object.hasOwn(E,"sandbox")?E.sandbox:this.currSandbox,l=Object.hasOwn(E,"wrap")?E.wrap:l,this.currEval=Object.hasOwn(E,"eval")?E.eval:this.currEval,r=Object.hasOwn(E,"callback")?E.callback:r,this.currOtherTypeCallback=Object.hasOwn(E,"otherTypeCallback")?E.otherTypeCallback:this.currOtherTypeCallback,T=Object.hasOwn(E,"parent")?E.parent:T,a=Object.hasOwn(E,"parentProperty")?E.parentProperty:a,E=E.path}if(T=T||null,a=a||null,Array.isArray(E)&&(E=Ge.toPathString(E)),!E&&E!==""||!t)return;const N=Ge.toPathArray(E);N[0]==="$"&&N.length>1&&N.shift(),this._hasParentSelector=null;const A=this._trace(N,t,["$"],T,a,r).filter(function(O){return O&&!O.isParentSelector});return A.length?!l&&A.length===1&&!A[0].hasArrExpr?this._getPreferredOutput(A[0]):A.reduce((O,C)=>{const d=this._getPreferredOutput(C);return i&&Array.isArray(d)?O=O.concat(d):O.push(d),O},[]):l?[]:void 0},Ge.prototype._getPreferredOutput=function(E){const t=this.currResultType;switch(t){case"all":{const r=Array.isArray(E.path)?E.path:Ge.toPathArray(E.path);return E.pointer=Ge.toPointer(r),E.path=typeof E.path=="string"?E.path:Ge.toPathString(E.path),E}case"value":case"parent":case"parentProperty":return E[t];case"path":return Ge.toPathString(E[t]);case"pointer":return Ge.toPointer(E.path);default:throw new TypeError("Unknown result type")}},Ge.prototype._handleCallback=function(E,t,r){if(t){const n=this._getPreferredOutput(E);E.path=typeof E.path=="string"?E.path:Ge.toPathString(E.path),t(n,r,E)}},Ge.prototype._trace=function(E,t,r,n,T,a,i,l){let N;if(!E.length)return N={path:r,value:t,parent:n,parentProperty:T,hasArrExpr:i},this._handleCallback(N,a,"value"),N;const A=E[0],O=E.slice(1),C=[];function d(M){Array.isArray(M)?M.forEach(b=>{C.push(b)}):C.push(M)}if((typeof A!="string"||l)&&t&&Object.hasOwn(t,A))d(this._trace(O,t[A],St(r,A),t,A,a,i));else if(A==="*")this._walk(t,M=>{d(this._trace(O,t[M],St(r,M),t,M,a,!0,!0))});else if(A==="..")d(this._trace(O,t,r,n,T,a,i)),this._walk(t,M=>{typeof t[M]=="object"&&d(this._trace(E.slice(),t[M],St(r,M),t,M,a,!0))});else{if(A==="^")return this._hasParentSelector=!0,{path:r.slice(0,-1),expr:O,isParentSelector:!0};if(A==="~")return N={path:St(r,A),value:T,parent:n,parentProperty:null},this._handleCallback(N,a,"property"),N;if(A==="$")d(this._trace(O,t,r,null,null,a,i));else if(/^(-?\d*):(-?\d*):?(\d*)$/u.test(A))d(this._slice(A,O,t,r,n,T,a));else if(A.indexOf("?(")===0){if(this.currEval===!1)throw new Error("Eval [?(expr)] prevented in JSONPath expression.");const M=A.replace(/^\?\((.*?)\)$/u,"$1"),b=/@.?([^?]*)[['](\??\(.*?\))(?!.\)\])[\]']/gu.exec(M);b?this._walk(t,Z=>{const U=[b[2]],j=b[1]?t[Z][b[1]]:t[Z];this._trace(U,j,r,n,T,a,!0).length>0&&d(this._trace(O,t[Z],St(r,Z),t,Z,a,!0))}):this._walk(t,Z=>{this._eval(M,t[Z],Z,r,n,T)&&d(this._trace(O,t[Z],St(r,Z),t,Z,a,!0))})}else if(A[0]==="("){if(this.currEval===!1)throw new Error("Eval [(expr)] prevented in JSONPath expression.");d(this._trace($t(this._eval(A,t,r.at(-1),r.slice(0,-1),n,T),O),t,r,n,T,a,i))}else if(A[0]==="@"){let M=!1;const b=A.slice(1,-2);switch(b){case"scalar":(!t||!["object","function"].includes(typeof t))&&(M=!0);break;case"boolean":case"string":case"undefined":case"function":typeof t===b&&(M=!0);break;case"integer":Number.isFinite(t)&&!(t%1)&&(M=!0);break;case"number":Number.isFinite(t)&&(M=!0);break;case"nonFinite":typeof t=="number"&&!Number.isFinite(t)&&(M=!0);break;case"object":t&&typeof t===b&&(M=!0);break;case"array":Array.isArray(t)&&(M=!0);break;case"other":M=this.currOtherTypeCallback(t,r,n,T);break;case"null":t===null&&(M=!0);break;default:throw new TypeError("Unknown value type "+b)}if(M)return N={path:r,value:t,parent:n,parentProperty:T},this._handleCallback(N,a,"value"),N}else if(A[0]==="`"&&t&&Object.hasOwn(t,A.slice(1))){const M=A.slice(1);d(this._trace(O,t[M],St(r,M),t,M,a,i,!0))}else if(A.includes(",")){const M=A.split(",");for(const b of M)d(this._trace($t(b,O),t,r,n,T,a,!0))}else!l&&t&&Object.hasOwn(t,A)&&d(this._trace(O,t[A],St(r,A),t,A,a,i,!0))}if(this._hasParentSelector)for(let M=0;M<C.length;M++){const b=C[M];if(b&&b.isParentSelector){const Z=this._trace(b.expr,t,b.path,n,T,a,i);if(Array.isArray(Z)){C[M]=Z[0];const U=Z.length;for(let j=1;j<U;j++)M++,C.splice(M,0,Z[j])}else C[M]=Z}}return C},Ge.prototype._walk=function(E,t){if(Array.isArray(E)){const r=E.length;for(let n=0;n<r;n++)t(n)}else E&&typeof E=="object"&&Object.keys(E).forEach(r=>{t(r)})},Ge.prototype._slice=function(E,t,r,n,T,a,i){if(!Array.isArray(r))return;const l=r.length,N=E.split(":"),A=N[2]&&Number.parseInt(N[2])||1;let O=N[0]&&Number.parseInt(N[0])||0,C=N[1]&&Number.parseInt(N[1])||l;O=O<0?Math.max(0,O+l):Math.min(l,O),C=C<0?Math.max(0,C+l):Math.min(l,C);const d=[];for(let M=O;M<C;M+=A)this._trace($t(M,t),r,n,T,a,i,!0).forEach(Z=>{d.push(Z)});return d},Ge.prototype._eval=function(E,t,r,n,T,a){this.currSandbox._$_parentProperty=a,this.currSandbox._$_parent=T,this.currSandbox._$_property=r,this.currSandbox._$_root=this.json,this.currSandbox._$_v=t;const i=E.includes("@path");i&&(this.currSandbox._$_path=Ge.toPathString(n.concat([r])));const l=this.currEval+"Script:"+E;if(!Ge.cache[l]){let N=E.replaceAll("@parentProperty","_$_parentProperty").replaceAll("@parent","_$_parent").replaceAll("@property","_$_property").replaceAll("@root","_$_root").replaceAll(/@([.\s)[])/gu,"_$_v$1");if(i&&(N=N.replaceAll("@path","_$_path")),this.currEval==="safe"||this.currEval===!0||this.currEval===void 0)Ge.cache[l]=new this.safeVm.Script(N);else if(this.currEval==="native")Ge.cache[l]=new this.vm.Script(N);else if(typeof this.currEval=="function"&&this.currEval.prototype&&Object.hasOwn(this.currEval.prototype,"runInNewContext")){const A=this.currEval;Ge.cache[l]=new A(N)}else if(typeof this.currEval=="function")Ge.cache[l]={runInNewContext:A=>this.currEval(N,A)};else throw new TypeError(`Unknown "eval" property "${this.currEval}"`)}try{return Ge.cache[l].runInNewContext(this.currSandbox)}catch(N){if(this.ignoreEvalErrors)return!1;throw new Error("jsonPath: "+N.message+": "+E)}},Ge.cache={},Ge.toPathString=function(E){const t=E,r=t.length;let n="$";for(let T=1;T<r;T++)/^(~|\^|@.*?\(\))$/u.test(t[T])||(n+=/^[0-9*]+$/u.test(t[T])?"["+t[T]+"]":"['"+t[T]+"']");return n},Ge.toPointer=function(E){const t=E,r=t.length;let n="";for(let T=1;T<r;T++)/^(~|\^|@.*?\(\))$/u.test(t[T])||(n+="/"+t[T].toString().replaceAll("~","~0").replaceAll("/","~1"));return n},Ge.toPathArray=function(E){const{cache:t}=Ge;if(t[E])return t[E].concat();const r=[],T=E.replaceAll(/@(?:null|boolean|number|string|integer|undefined|nonFinite|scalar|array|object|function|other)\(\)/gu,";$&;").replaceAll(/[['](\??\(.*?\))[\]'](?!.\])/gu,function(a,i){return"[#"+(r.push(i)-1)+"]"}).replaceAll(/\[['"]([^'\]]*)['"]\]/gu,function(a,i){return"['"+i.replaceAll(".","%@%").replaceAll("~","%%@@%%")+"']"}).replaceAll("~",";~;").replaceAll(/['"]?\.['"]?(?![^[]*\])|\[['"]?/gu,";").replaceAll("%@%",".").replaceAll("%%@@%%","~").replaceAll(/(?:;)?(\^+)(?:;)?/gu,function(a,i){return";"+i.split("").join(";")+";"}).replaceAll(/;;;|;;/gu,";..;").replaceAll(/;$|'?\]|'$/gu,"").split(";").map(function(a){const i=a.match(/#(\d+)/u);return!i||!i[1]?a:r[i[1]]});return t[E]=T,t[E].concat()},Ge.prototype.safeVm={Script:nn};const Tn=function(E,t,r){const n=E.length;for(let T=0;T<n;T++){const a=E[T];r(a)&&t.push(E.splice(T--,1)[0])}};class on{constructor(t){this.code=t}runInNewContext(t){let r=this.code;const n=Object.keys(t),T=[];Tn(n,T,A=>typeof t[A]=="function");const a=n.map(A=>t[A]);r=T.reduce((A,O)=>{let C=t[O].toString();return/function/u.test(C)||(C="function "+C),"var "+O+"="+C+";"+A},"")+r,!/(['"])use strict\1/u.test(r)&&!n.includes("arguments")&&(r="var arguments = undefined;"+r),r=r.replace(/;\s*$/u,"");const l=r.lastIndexOf(";"),N=l!==-1?r.slice(0,l+1)+" return "+r.slice(l+1):" return "+r;return new Function(...n,N)(...a)}}Ge.prototype.vm={Script:on};const an={class:"json-node"},An={key:0,class:"json-node__container"},Rn={class:"json-node__line"},Sn=["contenteditable","onKeydown"],Nn={key:1,class:"json-node__colon"},In=["title"],On=["title"],un={key:4,class:"json-node__comma"},ln={key:0,class:"json-node__children"},Cn={class:"json-node__children-content"},cn={class:"json-node__line json-node__closing-bracket"},_n={class:"json-node__bracket"},Ln={key:0,class:"json-node__comma"},Dn={key:1,class:"json-node__primitive"},pn=["contenteditable","onKeydown"],dn={key:1,class:"json-node__colon"},Pn=["title"],hn=["contenteditable","onKeydown"],Mn={key:0,class:"json-node__comma"},Un=o.defineComponent({name:"JsonNode",__name:"JsonNode",props:{value:{},keyName:{},level:{},path:{default:""},expanded:{},isLast:{type:Boolean,default:!1},theme:{}},emits:["update:value","toggle-expand","copy","update:key"],setup(E,{emit:t}){o.useCssVars(Y=>({"2a18b018":Y.level,"58a14b93":Y.theme.colors.syntaxKey,"46fe1b3e":Y.theme.colors.hoverBackground,fbe2c048:Y.theme.colors.syntaxBracket,"4bd524bb":Y.theme.colors.collapsedText,"3308d23c":Y.theme.colors.collapsedBackground,"36380c60":Y.theme.colors.collapsedBackgroundHover,"0892365d":Y.theme.colors.syntaxString,"0015b195":Y.theme.colors.syntaxNumber,"7db95f5c":Y.theme.colors.syntaxBoolean,"88ec825a":Y.theme.colors.syntaxNull,"537157f7":Y.theme.colors.background,"3cee3331":Y.theme.colors.selectionBackground,"81323cee":Y.theme.colors.indentLine}));const r=E,n=t,T=o.ref(!1),a=o.ref(!1),i=o.ref(""),l=o.ref(""),N=o.ref("string"),A=o.ref(null),O=o.ref(null),C=Y=>Y!==null&&typeof Y=="object"&&!Array.isArray(Y)&&"__protected_number__"in Y&&Object.keys(Y).length===1,d=Y=>C(Y)?Y.__protected_number__:"",M=o.computed(()=>C(r.value)?!1:r.value!==null&&typeof r.value=="object"),b=o.computed(()=>Array.isArray(r.value)),Z=o.computed(()=>r.path?r.path:r.keyName?r.keyName:"root"),U=o.computed(()=>r.expanded.has(Z.value)),j=o.computed(()=>r.keyName),te=o.computed(()=>b.value?"[":"{"),ee=o.computed(()=>b.value?"]":"}"),pe=o.computed(()=>{if(!r.value)return"";const Q=Object.keys(r.value).length;return b.value?Q>0?` ${Q} items `:" ":Q>0?` ${Q} keys `:" "}),Le=o.computed(()=>{const Y=typeof r.value;return r.value===null?"json-node__value--null":Y==="boolean"?"json-node__value--boolean":Y==="number"||C(r.value)?"json-node__value--number":Y==="string"?"json-node__value--string":""}),W=o.computed(()=>r.value===null?"null":typeof r.value=="boolean"||typeof r.value=="number"?String(r.value):C(r.value)?d(r.value):typeof r.value=="string"?`"${r.value}"`:String(r.value)),D=o.computed(()=>"Double-click to edit"),Ae=Y=>r.level===0?Y:Z.value?`${Z.value}.${Y}`:Y,H=Y=>{const Q=Object.keys(r.value);return Q.indexOf(Y)===Q.length-1},g=()=>{n("toggle-expand",Z.value)},J=()=>{r.level!==0&&(T.value=!0,i.value=r.keyName,o.nextTick(()=>{if(A.value){A.value.focus();const Y=document.createRange();Y.selectNodeContents(A.value);const Q=window.getSelection();Q?.removeAllRanges(),Q?.addRange(Y)}}))},K=()=>{M.value||(a.value=!0,r.value===null?N.value="null":C(r.value)?N.value="protected-number":typeof r.value=="string"?N.value="string":typeof r.value=="number"?N.value="number":typeof r.value=="boolean"&&(N.value="boolean"),C(r.value)?l.value=d(r.value):typeof r.value=="string"?l.value=r.value:l.value=String(r.value),o.nextTick(()=>{if(O.value){O.value.focus();const Y=document.createRange();Y.selectNodeContents(O.value);const Q=window.getSelection();Q?.removeAllRanges(),Q?.addRange(Y)}}))},k=()=>{if(r.level===0||!T.value)return;const Y=A.value?.innerText.trim()||"";if(!Y){ce();return}if(Y===r.keyName){T.value=!1;return}T.value=!1,n("update:key",Z.value,Y)},ae=()=>{if(a.value)try{let Y;const Q=O.value?.innerText.trim()||"";if(N.value==="string")Q==="null"?Y=null:Q==="true"||Q==="false"?Y=Q==="true":Y=Q;else if(N.value==="protected-number")Y={__protected_number__:Q};else if(Q==="null")Y=null;else if(Q==="true"||Q==="false")Y=Q==="true";else if(!isNaN(Number(Q))&&Q!==""){const Oe=Number(Q);!Number.isSafeInteger(Oe)||Q.length>15?Y={__protected_number__:Q}:Y=Oe}else Y=Q;n("update:value",Z.value,Y),a.value=!1}catch(Y){console.error("Failed to parse value:",Y),a.value=!1}},ce=()=>{T.value=!1,i.value=r.keyName},De=()=>{a.value=!1,C(r.value)?l.value=d(r.value):typeof r.value=="string"?l.value=r.value:l.value=String(r.value)};return(Y,Q)=>{const Oe=o.resolveComponent("JsonNode",!0);return o.openBlock(),o.createElementBlock("div",an,[M.value?(o.openBlock(),o.createElementBlock("div",An,[o.createElementVNode("div",Rn,[Y.keyName?(o.openBlock(),o.createElementBlock("span",{key:0,class:"json-node__key",contenteditable:T.value,onDblclick:J,onKeydown:[o.withKeys(o.withModifiers(k,["prevent"]),["enter"]),o.withKeys(ce,["escape"])],onBlur:k,ref_key:"keyRef",ref:A,title:"Double-click to edit key"},o.toDisplayString(T.value?i.value:`"${j.value}"`),41,Sn)):o.createCommentVNode("",!0),Y.keyName?(o.openBlock(),o.createElementBlock("span",Nn,": ")):o.createCommentVNode("",!0),o.createElementVNode("span",{class:"json-node__bracket json-node__bracket--clickable",onClick:g,title:U.value?"Click to collapse":"Click to expand"},o.toDisplayString(te.value),9,In),U.value?o.createCommentVNode("",!0):(o.openBlock(),o.createElementBlock("span",{key:2,class:"json-node__collapsed-info",onClick:g,title:`Click to expand ${pe.value.trim()}`},o.toDisplayString(pe.value),9,On)),U.value?o.createCommentVNode("",!0):(o.openBlock(),o.createElementBlock("span",{key:3,class:"json-node__bracket json-node__bracket--clickable",onClick:g,title:"Click to expand"},o.toDisplayString(ee.value),1)),!U.value&&!Y.isLast?(o.openBlock(),o.createElementBlock("span",un,",")):o.createCommentVNode("",!0)]),U.value?(o.openBlock(),o.createElementBlock("div",ln,[o.createElementVNode("div",Cn,[(o.openBlock(!0),o.createElementBlock(o.Fragment,null,o.renderList(Y.value,(me,Te)=>(o.openBlock(),o.createElementBlock("div",{key:Te,class:"json-node__child"},[o.createVNode(Oe,{value:me,"key-name":b.value?"":String(Te),level:Y.level+1,path:Ae(String(Te)),expanded:Y.expanded,theme:Y.theme,"onUpdate:value":Q[0]||(Q[0]=(v,p)=>Y.$emit("update:value",v,p)),onToggleExpand:Q[1]||(Q[1]=v=>Y.$emit("toggle-expand",v)),onCopy:Q[2]||(Q[2]=v=>Y.$emit("copy",v)),"onUpdate:key":Q[3]||(Q[3]=(v,p)=>Y.$emit("update:key",v,p)),"is-last":H(String(Te))},null,8,["value","key-name","level","path","expanded","theme","is-last"])]))),128))]),o.createElementVNode("div",cn,[o.createElementVNode("span",_n,o.toDisplayString(ee.value),1),Y.isLast?o.createCommentVNode("",!0):(o.openBlock(),o.createElementBlock("span",Ln,","))])])):o.createCommentVNode("",!0)])):(o.openBlock(),o.createElementBlock("div",Dn,[Y.keyName?(o.openBlock(),o.createElementBlock("span",{key:0,class:"json-node__key",contenteditable:T.value,onDblclick:J,onKeydown:[o.withKeys(o.withModifiers(k,["prevent"]),["enter"]),o.withKeys(ce,["escape"])],onBlur:k,ref_key:"keyRef",ref:A,title:"Double-click to edit key"},o.toDisplayString(T.value?i.value:`"${j.value}"`),41,pn)):o.createCommentVNode("",!0),Y.keyName?(o.openBlock(),o.createElementBlock("span",dn,": ")):o.createCommentVNode("",!0),o.createElementVNode("span",{class:o.normalizeClass(["json-node__value-wrapper",Le.value]),onDblclick:K,title:D.value},[o.createElementVNode("span",{class:"json-node__value",contenteditable:a.value,onKeydown:[o.withKeys(o.withModifiers(ae,["prevent"]),["enter"]),o.withKeys(De,["escape"])],onBlur:ae,ref_key:"valueRef",ref:O},o.toDisplayString(a.value?l.value:W.value),41,hn),Y.isLast?o.createCommentVNode("",!0):(o.openBlock(),o.createElementBlock("span",Mn,","))],42,Pn)]))])}}}),Mt=(E,t)=>{const r=E.__vccOpts||E;for(const[n,T]of t)r[n]=T;return r},mn=Mt(Un,[["__scopeId","data-v-1472a8af"]]),ME={name:"github-light",colors:{background:"#ffffff",surfaceBackground:"#f6f8fa",border:"#d0d7de",text:"#24292f",textSecondary:"#656d76",buttonBackground:"#f6f8fa",buttonBackgroundHover:"#f3f4f6",buttonBorder:"#d0d7de",buttonText:"#24292f",buttonPrimary:"#2da44e",buttonPrimaryHover:"#2c974b",success:"#1a7f37",successBackground:"#dafbe1",error:"#cf222e",errorBackground:"#ffebe9",syntaxString:"#0a3069",syntaxNumber:"#0969da",syntaxBoolean:"#8250df",syntaxNull:"#656d76",syntaxKey:"#0969da",syntaxBracket:"#24292f",hoverBackground:"#f6f8fa",selectionBackground:"rgba(9, 105, 218, 0.2)",collapsedBackground:"#ddf4ff",collapsedBackgroundHover:"#b6e3ff",collapsedText:"#0969da",indentLine:"#d0d7de"}},Bn={"github-light":ME,"github-dark":{name:"github-dark",colors:{background:"#0d1117",surfaceBackground:"#161b22",border:"#30363d",text:"#e6edf3",textSecondary:"#7d8590",buttonBackground:"#21262d",buttonBackgroundHover:"#30363d",buttonBorder:"#30363d",buttonText:"#e6edf3",buttonPrimary:"#238636",buttonPrimaryHover:"#2ea043",success:"#3fb950",successBackground:"#0f2419",error:"#f85149",errorBackground:"#381921",syntaxString:"#a5d6ff",syntaxNumber:"#79c0ff",syntaxBoolean:"#d2a8ff",syntaxNull:"#7d8590",syntaxKey:"#79c0ff",syntaxBracket:"#e6edf3",hoverBackground:"#161b22",selectionBackground:"rgba(121, 192, 255, 0.2)",collapsedBackground:"#1c2128",collapsedBackgroundHover:"#2d333b",collapsedText:"#79c0ff",indentLine:"#30363d"}},"min-light":{name:"min-light",colors:{background:"#ffffff",surfaceBackground:"#fafafa",border:"#e5e5e5",text:"#333333",textSecondary:"#888888",buttonBackground:"#f8f8f8",buttonBackgroundHover:"#eeeeee",buttonBorder:"#e0e0e0",buttonText:"#333333",buttonPrimary:"#007acc",buttonPrimaryHover:"#005a9e",success:"#22c55e",successBackground:"#f0fdf4",error:"#ef4444",errorBackground:"#fef2f2",syntaxString:"#22c55e",syntaxNumber:"#3b82f6",syntaxBoolean:"#8b5cf6",syntaxNull:"#6b7280",syntaxKey:"#1f2937",syntaxBracket:"#374151",hoverBackground:"#f9f9f9",selectionBackground:"rgba(59, 130, 246, 0.2)",collapsedBackground:"#e0f2fe",collapsedBackgroundHover:"#bae6fd",collapsedText:"#0284c7",indentLine:"#e5e7eb"}},"slack-ochin":{name:"slack-ochin",colors:{background:"#fefbf6",surfaceBackground:"#faf6f0",border:"#e8d5b7",text:"#4a3b2a",textSecondary:"#8b7355",buttonBackground:"#f4ede4",buttonBackgroundHover:"#efe5d8",buttonBorder:"#e8d5b7",buttonText:"#4a3b2a",buttonPrimary:"#ff6b35",buttonPrimaryHover:"#e55a2b",success:"#ff9500",successBackground:"#fff8f0",error:"#d73502",errorBackground:"#ffeee8",syntaxString:"#d73502",syntaxNumber:"#ff6b35",syntaxBoolean:"#b7472a",syntaxNull:"#8b7355",syntaxKey:"#4a3b2a",syntaxBracket:"#6b5444",hoverBackground:"#f8f2eb",selectionBackground:"rgba(255, 107, 53, 0.2)",collapsedBackground:"#ffe8d6",collapsedBackgroundHover:"#ffd4b0",collapsedText:"#d73502",indentLine:"#e8d5b7"}}};function gn(E="github-light"){return Bn[E]||ME}const yn={class:"json-format__content"},Gn={key:0,class:"json-format__error"},Fn={key:1,class:"json-format__error"},Hn={key:2,class:"json-format__viewer"},UE=Mt(o.defineComponent({name:"JsonFormat",__name:"index",props:{modelValue:{default:""},readonly:{type:Boolean,default:!1},maxDepth:{default:10},theme:{default:"github-light"}},emits:["update:modelValue","copy-success","copy-error","expand-all","collapse-all","compress"],setup(E,{expose:t,emit:r}){o.useCssVars(p=>({"1909cc0c":d.value.colors.background,"1d49ba8b":d.value.colors.text,e9bfef2c:d.value.colors.error,"16d23d38":d.value.colors.errorBackground}));const n=E,T=r,a=o.ref(null),i=o.ref(""),l=o.ref(new Set),N=o.ref(null),A=o.ref(""),O=o.ref(!1),C=o.computed(()=>i.value===""),d=o.computed(()=>gn(n.theme)),M=p=>{if(p==null)return p;if(Array.isArray(p))return p.map(m=>M(m));if(typeof p=="object"){const m={},f=Object.keys(p).sort();for(const B of f)m[B]=M(p[B]);return m}return p},b=o.computed(()=>{const p=N.value!==null?N.value:a.value;return!p||!O.value?p:M(p)}),Z=o.computed(()=>A.value?null:b.value),U=p=>{if(!p.trim()){a.value=null,i.value="",N.value=null,A.value="";return}try{let m=p;const f=/(:\s*|,\s*|\[\s*)-?\d{16,}/.test(m),B=/(:\s*|,\s*|\[\s*)-?\d+\.\d*0+\s*[,}\]\s]*/.test(m);if(!f&&!B)try{a.value=JSON.parse(m),i.value="",N.value=null,A.value="",o.nextTick(()=>{Z.value!==null&&K()});return}catch{}m=(h=>{let z="",Ee=!1,Re=!1,le=0;for(;le<h.length;){const Ue=h[le];if(Ee)Re?Re=!1:Ue==="\\"?Re=!0:Ue==='"'&&(Ee=!1),z+=Ue,le++;else if(Ue==='"')Ee=!0,z+=Ue,le++;else{const Ne=h.slice(le);let q=Ne.match(/^([:,\[\s]*)(-?\d{16,})(\s*[,\}\]\s]|$)/);if(q){z+=q[1]+'{"__protected_number__":"'+q[2]+'"}'+q[3],le+=q[0].length;continue}if(q=Ne.match(/^([:,\[\s]*)(-?\d+\.\d*0+)(\s*[,\}\]\s]|$)/),q){z+=q[1]+'{"__protected_number__":"'+q[2]+'"}'+q[3],le+=q[0].length;continue}z+=Ue,le++}}return z})(m),a.value=JSON.parse(m),i.value="",N.value=null,A.value="",o.nextTick(()=>{Z.value!==null&&K()})}catch(m){i.value=m instanceof Error?m.message:"Unknown parsing error",a.value=null,N.value=null,A.value=""}},j=p=>{if(!p||!p.expression.trim()){Le();return}if(!a.value){A.value="No valid JSON data to filter";return}try{let m;if(p.type==="jsonpath")m=Ge({path:p.expression,json:a.value}),m.length===1&&p.expression.includes("$[")===!1&&!p.expression.endsWith("[*]")?N.value=m[0]:N.value=m;else if(p.type==="js"){const{proxyData:f,indexMap:B}=te(a.value),h=new Function("$",`
1
+ (function(rt,T){typeof exports=="object"&&typeof module<"u"?T(exports,require("vue")):typeof define=="function"&&define.amd?define(["exports","vue"],T):(rt=typeof globalThis<"u"?globalThis:rt||self,T(rt.LoneFormat={},rt.Vue))})(this,function(rt,T){"use strict";class Qr{add(t,r,n){if(typeof arguments[0]!="string")for(let s in arguments[0])this.add(s,arguments[0][s],arguments[1]);else(Array.isArray(t)?t:[t]).forEach(function(s){this[s]=this[s]||[],r&&this[s][n?"unshift":"push"](r)},this)}run(t,r){this[t]=this[t]||[],this[t].forEach(function(n){n.call(r&&r.context?r.context:r,r)})}}class Zr{constructor(t){this.jsep=t,this.registered={}}register(){for(var t=arguments.length,r=new Array(t),n=0;n<t;n++)r[n]=arguments[n];r.forEach(s=>{if(typeof s!="object"||!s.name||!s.init)throw new Error("Invalid JSEP plugin format");this.registered[s.name]||(s.init(this.jsep),this.registered[s.name]=s)})}}class x{static get version(){return"1.4.0"}static toString(){return"JavaScript Expression Parser (JSEP) v"+x.version}static addUnaryOp(t){return x.max_unop_len=Math.max(t.length,x.max_unop_len),x.unary_ops[t]=1,x}static addBinaryOp(t,r,n){return x.max_binop_len=Math.max(t.length,x.max_binop_len),x.binary_ops[t]=r,n?x.right_associative.add(t):x.right_associative.delete(t),x}static addIdentifierChar(t){return x.additional_identifier_chars.add(t),x}static addLiteral(t,r){return x.literals[t]=r,x}static removeUnaryOp(t){return delete x.unary_ops[t],t.length===x.max_unop_len&&(x.max_unop_len=x.getMaxKeyLen(x.unary_ops)),x}static removeAllUnaryOps(){return x.unary_ops={},x.max_unop_len=0,x}static removeIdentifierChar(t){return x.additional_identifier_chars.delete(t),x}static removeBinaryOp(t){return delete x.binary_ops[t],t.length===x.max_binop_len&&(x.max_binop_len=x.getMaxKeyLen(x.binary_ops)),x.right_associative.delete(t),x}static removeAllBinaryOps(){return x.binary_ops={},x.max_binop_len=0,x}static removeLiteral(t){return delete x.literals[t],x}static removeAllLiterals(){return x.literals={},x}get char(){return this.expr.charAt(this.index)}get code(){return this.expr.charCodeAt(this.index)}constructor(t){this.expr=t,this.index=0}static parse(t){return new x(t).parse()}static getMaxKeyLen(t){return Math.max(0,...Object.keys(t).map(r=>r.length))}static isDecimalDigit(t){return t>=48&&t<=57}static binaryPrecedence(t){return x.binary_ops[t]||0}static isIdentifierStart(t){return t>=65&&t<=90||t>=97&&t<=122||t>=128&&!x.binary_ops[String.fromCharCode(t)]||x.additional_identifier_chars.has(String.fromCharCode(t))}static isIdentifierPart(t){return x.isIdentifierStart(t)||x.isDecimalDigit(t)}throwError(t){const r=new Error(t+" at character "+this.index);throw r.index=this.index,r.description=t,r}runHook(t,r){if(x.hooks[t]){const n={context:this,node:r};return x.hooks.run(t,n),n.node}return r}searchHook(t){if(x.hooks[t]){const r={context:this};return x.hooks[t].find(function(n){return n.call(r.context,r),r.node}),r.node}}gobbleSpaces(){let t=this.code;for(;t===x.SPACE_CODE||t===x.TAB_CODE||t===x.LF_CODE||t===x.CR_CODE;)t=this.expr.charCodeAt(++this.index);this.runHook("gobble-spaces")}parse(){this.runHook("before-all");const t=this.gobbleExpressions(),r=t.length===1?t[0]:{type:x.COMPOUND,body:t};return this.runHook("after-all",r)}gobbleExpressions(t){let r=[],n,s;for(;this.index<this.expr.length;)if(n=this.code,n===x.SEMCOL_CODE||n===x.COMMA_CODE)this.index++;else if(s=this.gobbleExpression())r.push(s);else if(this.index<this.expr.length){if(n===t)break;this.throwError('Unexpected "'+this.char+'"')}return r}gobbleExpression(){const t=this.searchHook("gobble-expression")||this.gobbleBinaryExpression();return this.gobbleSpaces(),this.runHook("after-expression",t)}gobbleBinaryOp(){this.gobbleSpaces();let t=this.expr.substr(this.index,x.max_binop_len),r=t.length;for(;r>0;){if(x.binary_ops.hasOwnProperty(t)&&(!x.isIdentifierStart(this.code)||this.index+t.length<this.expr.length&&!x.isIdentifierPart(this.expr.charCodeAt(this.index+t.length))))return this.index+=r,t;t=t.substr(0,--r)}return!1}gobbleBinaryExpression(){let t,r,n,s,a,A,c,I,i;if(A=this.gobbleToken(),!A||(r=this.gobbleBinaryOp(),!r))return A;for(a={value:r,prec:x.binaryPrecedence(r),right_a:x.right_associative.has(r)},c=this.gobbleToken(),c||this.throwError("Expected expression after "+r),s=[A,a,c];r=this.gobbleBinaryOp();){if(n=x.binaryPrecedence(r),n===0){this.index-=r.length;break}a={value:r,prec:n,right_a:x.right_associative.has(r)},i=r;const O=C=>a.right_a&&C.right_a?n>C.prec:n<=C.prec;for(;s.length>2&&O(s[s.length-2]);)c=s.pop(),r=s.pop().value,A=s.pop(),t={type:x.BINARY_EXP,operator:r,left:A,right:c},s.push(t);t=this.gobbleToken(),t||this.throwError("Expected expression after "+i),s.push(a,t)}for(I=s.length-1,t=s[I];I>1;)t={type:x.BINARY_EXP,operator:s[I-1].value,left:s[I-2],right:t},I-=2;return t}gobbleToken(){let t,r,n,s;if(this.gobbleSpaces(),s=this.searchHook("gobble-token"),s)return this.runHook("after-token",s);if(t=this.code,x.isDecimalDigit(t)||t===x.PERIOD_CODE)return this.gobbleNumericLiteral();if(t===x.SQUOTE_CODE||t===x.DQUOTE_CODE)s=this.gobbleStringLiteral();else if(t===x.OBRACK_CODE)s=this.gobbleArray();else{for(r=this.expr.substr(this.index,x.max_unop_len),n=r.length;n>0;){if(x.unary_ops.hasOwnProperty(r)&&(!x.isIdentifierStart(this.code)||this.index+r.length<this.expr.length&&!x.isIdentifierPart(this.expr.charCodeAt(this.index+r.length)))){this.index+=n;const a=this.gobbleToken();return a||this.throwError("missing unaryOp argument"),this.runHook("after-token",{type:x.UNARY_EXP,operator:r,argument:a,prefix:!0})}r=r.substr(0,--n)}x.isIdentifierStart(t)?(s=this.gobbleIdentifier(),x.literals.hasOwnProperty(s.name)?s={type:x.LITERAL,value:x.literals[s.name],raw:s.name}:s.name===x.this_str&&(s={type:x.THIS_EXP})):t===x.OPAREN_CODE&&(s=this.gobbleGroup())}return s?(s=this.gobbleTokenProperty(s),this.runHook("after-token",s)):this.runHook("after-token",!1)}gobbleTokenProperty(t){this.gobbleSpaces();let r=this.code;for(;r===x.PERIOD_CODE||r===x.OBRACK_CODE||r===x.OPAREN_CODE||r===x.QUMARK_CODE;){let n;if(r===x.QUMARK_CODE){if(this.expr.charCodeAt(this.index+1)!==x.PERIOD_CODE)break;n=!0,this.index+=2,this.gobbleSpaces(),r=this.code}this.index++,r===x.OBRACK_CODE?(t={type:x.MEMBER_EXP,computed:!0,object:t,property:this.gobbleExpression()},t.property||this.throwError('Unexpected "'+this.char+'"'),this.gobbleSpaces(),r=this.code,r!==x.CBRACK_CODE&&this.throwError("Unclosed ["),this.index++):r===x.OPAREN_CODE?t={type:x.CALL_EXP,arguments:this.gobbleArguments(x.CPAREN_CODE),callee:t}:(r===x.PERIOD_CODE||n)&&(n&&this.index--,this.gobbleSpaces(),t={type:x.MEMBER_EXP,computed:!1,object:t,property:this.gobbleIdentifier()}),n&&(t.optional=!0),this.gobbleSpaces(),r=this.code}return t}gobbleNumericLiteral(){let t="",r,n;for(;x.isDecimalDigit(this.code);)t+=this.expr.charAt(this.index++);if(this.code===x.PERIOD_CODE)for(t+=this.expr.charAt(this.index++);x.isDecimalDigit(this.code);)t+=this.expr.charAt(this.index++);if(r=this.char,r==="e"||r==="E"){for(t+=this.expr.charAt(this.index++),r=this.char,(r==="+"||r==="-")&&(t+=this.expr.charAt(this.index++));x.isDecimalDigit(this.code);)t+=this.expr.charAt(this.index++);x.isDecimalDigit(this.expr.charCodeAt(this.index-1))||this.throwError("Expected exponent ("+t+this.char+")")}return n=this.code,x.isIdentifierStart(n)?this.throwError("Variable names cannot start with a number ("+t+this.char+")"):(n===x.PERIOD_CODE||t.length===1&&t.charCodeAt(0)===x.PERIOD_CODE)&&this.throwError("Unexpected period"),{type:x.LITERAL,value:parseFloat(t),raw:t}}gobbleStringLiteral(){let t="";const r=this.index,n=this.expr.charAt(this.index++);let s=!1;for(;this.index<this.expr.length;){let a=this.expr.charAt(this.index++);if(a===n){s=!0;break}else if(a==="\\")switch(a=this.expr.charAt(this.index++),a){case"n":t+=`
2
+ `;break;case"r":t+="\r";break;case"t":t+=" ";break;case"b":t+="\b";break;case"f":t+="\f";break;case"v":t+="\v";break;default:t+=a}else t+=a}return s||this.throwError('Unclosed quote after "'+t+'"'),{type:x.LITERAL,value:t,raw:this.expr.substring(r,this.index)}}gobbleIdentifier(){let t=this.code,r=this.index;for(x.isIdentifierStart(t)?this.index++:this.throwError("Unexpected "+this.char);this.index<this.expr.length&&(t=this.code,x.isIdentifierPart(t));)this.index++;return{type:x.IDENTIFIER,name:this.expr.slice(r,this.index)}}gobbleArguments(t){const r=[];let n=!1,s=0;for(;this.index<this.expr.length;){this.gobbleSpaces();let a=this.code;if(a===t){n=!0,this.index++,t===x.CPAREN_CODE&&s&&s>=r.length&&this.throwError("Unexpected token "+String.fromCharCode(t));break}else if(a===x.COMMA_CODE){if(this.index++,s++,s!==r.length){if(t===x.CPAREN_CODE)this.throwError("Unexpected token ,");else if(t===x.CBRACK_CODE)for(let A=r.length;A<s;A++)r.push(null)}}else if(r.length!==s&&s!==0)this.throwError("Expected comma");else{const A=this.gobbleExpression();(!A||A.type===x.COMPOUND)&&this.throwError("Expected comma"),r.push(A)}}return n||this.throwError("Expected "+String.fromCharCode(t)),r}gobbleGroup(){this.index++;let t=this.gobbleExpressions(x.CPAREN_CODE);if(this.code===x.CPAREN_CODE)return this.index++,t.length===1?t[0]:t.length?{type:x.SEQUENCE_EXP,expressions:t}:!1;this.throwError("Unclosed (")}gobbleArray(){return this.index++,{type:x.ARRAY_EXP,elements:this.gobbleArguments(x.CBRACK_CODE)}}}const jr=new Qr;Object.assign(x,{hooks:jr,plugins:new Zr(x),COMPOUND:"Compound",SEQUENCE_EXP:"SequenceExpression",IDENTIFIER:"Identifier",MEMBER_EXP:"MemberExpression",LITERAL:"Literal",THIS_EXP:"ThisExpression",CALL_EXP:"CallExpression",UNARY_EXP:"UnaryExpression",BINARY_EXP:"BinaryExpression",ARRAY_EXP:"ArrayExpression",TAB_CODE:9,LF_CODE:10,CR_CODE:13,SPACE_CODE:32,PERIOD_CODE:46,COMMA_CODE:44,SQUOTE_CODE:39,DQUOTE_CODE:34,OPAREN_CODE:40,CPAREN_CODE:41,OBRACK_CODE:91,CBRACK_CODE:93,QUMARK_CODE:63,SEMCOL_CODE:59,COLON_CODE:58,unary_ops:{"-":1,"!":1,"~":1,"+":1},binary_ops:{"||":1,"??":1,"&&":2,"|":3,"^":4,"&":5,"==":6,"!=":6,"===":6,"!==":6,"<":7,">":7,"<=":7,">=":7,"<<":8,">>":8,">>>":8,"+":9,"-":9,"*":10,"/":10,"%":10,"**":11},right_associative:new Set(["**"]),additional_identifier_chars:new Set(["$","_"]),literals:{true:!0,false:!1,null:null},this_str:"this"}),x.max_unop_len=x.getMaxKeyLen(x.unary_ops),x.max_binop_len=x.getMaxKeyLen(x.binary_ops);const ot=E=>new x(E).parse(),zr=Object.getOwnPropertyNames(class{});Object.getOwnPropertyNames(x).filter(E=>!zr.includes(E)&&ot[E]===void 0).forEach(E=>{ot[E]=x[E]}),ot.Jsep=x;const en="ConditionalExpression";var tn={name:"ternary",init(E){E.hooks.add("after-expression",function(r){if(r.node&&this.code===E.QUMARK_CODE){this.index++;const n=r.node,s=this.gobbleExpression();if(s||this.throwError("Expected expression"),this.gobbleSpaces(),this.code===E.COLON_CODE){this.index++;const a=this.gobbleExpression();if(a||this.throwError("Expected expression"),r.node={type:en,test:n,consequent:s,alternate:a},n.operator&&E.binary_ops[n.operator]<=.9){let A=n;for(;A.right.operator&&E.binary_ops[A.right.operator]<=.9;)A=A.right;r.node.test=A.right,A.right=r.node,r.node=n}}else this.throwError("Expected :")}})}};ot.plugins.register(tn);const hE=47,En=92;var rn={name:"regex",init(E){E.hooks.add("gobble-token",function(r){if(this.code===hE){const n=++this.index;let s=!1;for(;this.index<this.expr.length;){if(this.code===hE&&!s){const a=this.expr.slice(n,this.index);let A="";for(;++this.index<this.expr.length;){const I=this.code;if(I>=97&&I<=122||I>=65&&I<=90||I>=48&&I<=57)A+=this.char;else break}let c;try{c=new RegExp(a,A)}catch(I){this.throwError(I.message)}return r.node={type:E.LITERAL,value:c,raw:this.expr.slice(n-1,this.index)},r.node=this.gobbleTokenProperty(r.node),r.node}this.code===E.OBRACK_CODE?s=!0:s&&this.code===E.CBRACK_CODE&&(s=!1),this.index+=this.code===En?2:1}this.throwError("Unclosed Regex")}})}};const kt=43,dt={name:"assignment",assignmentOperators:new Set(["=","*=","**=","/=","%=","+=","-=","<<=",">>=",">>>=","&=","^=","|=","||=","&&=","??="]),updateOperators:[kt,45],assignmentPrecedence:.9,init(E){const t=[E.IDENTIFIER,E.MEMBER_EXP];dt.assignmentOperators.forEach(n=>E.addBinaryOp(n,dt.assignmentPrecedence,!0)),E.hooks.add("gobble-token",function(s){const a=this.code;dt.updateOperators.some(A=>A===a&&A===this.expr.charCodeAt(this.index+1))&&(this.index+=2,s.node={type:"UpdateExpression",operator:a===kt?"++":"--",argument:this.gobbleTokenProperty(this.gobbleIdentifier()),prefix:!0},(!s.node.argument||!t.includes(s.node.argument.type))&&this.throwError(`Unexpected ${s.node.operator}`))}),E.hooks.add("after-token",function(s){if(s.node){const a=this.code;dt.updateOperators.some(A=>A===a&&A===this.expr.charCodeAt(this.index+1))&&(t.includes(s.node.type)||this.throwError(`Unexpected ${s.node.operator}`),this.index+=2,s.node={type:"UpdateExpression",operator:a===kt?"++":"--",argument:s.node,prefix:!1})}}),E.hooks.add("after-expression",function(s){s.node&&r(s.node)});function r(n){dt.assignmentOperators.has(n.operator)?(n.type="AssignmentExpression",r(n.left),r(n.right)):n.operator||Object.values(n).forEach(s=>{s&&typeof s=="object"&&r(s)})}}};ot.plugins.register(rn,dt),ot.addUnaryOp("typeof"),ot.addLiteral("null",null),ot.addLiteral("undefined",void 0);const nn=new Set(["constructor","__proto__","__defineGetter__","__defineSetter__"]),Fe={evalAst(E,t){switch(E.type){case"BinaryExpression":case"LogicalExpression":return Fe.evalBinaryExpression(E,t);case"Compound":return Fe.evalCompound(E,t);case"ConditionalExpression":return Fe.evalConditionalExpression(E,t);case"Identifier":return Fe.evalIdentifier(E,t);case"Literal":return Fe.evalLiteral(E,t);case"MemberExpression":return Fe.evalMemberExpression(E,t);case"UnaryExpression":return Fe.evalUnaryExpression(E,t);case"ArrayExpression":return Fe.evalArrayExpression(E,t);case"CallExpression":return Fe.evalCallExpression(E,t);case"AssignmentExpression":return Fe.evalAssignmentExpression(E,t);default:throw SyntaxError("Unexpected expression",E)}},evalBinaryExpression(E,t){return{"||":(n,s)=>n||s(),"&&":(n,s)=>n&&s(),"|":(n,s)=>n|s(),"^":(n,s)=>n^s(),"&":(n,s)=>n&s(),"==":(n,s)=>n==s(),"!=":(n,s)=>n!=s(),"===":(n,s)=>n===s(),"!==":(n,s)=>n!==s(),"<":(n,s)=>n<s(),">":(n,s)=>n>s(),"<=":(n,s)=>n<=s(),">=":(n,s)=>n>=s(),"<<":(n,s)=>n<<s(),">>":(n,s)=>n>>s(),">>>":(n,s)=>n>>>s(),"+":(n,s)=>n+s(),"-":(n,s)=>n-s(),"*":(n,s)=>n*s(),"/":(n,s)=>n/s(),"%":(n,s)=>n%s()}[E.operator](Fe.evalAst(E.left,t),()=>Fe.evalAst(E.right,t))},evalCompound(E,t){let r;for(let n=0;n<E.body.length;n++){E.body[n].type==="Identifier"&&["var","let","const"].includes(E.body[n].name)&&E.body[n+1]&&E.body[n+1].type==="AssignmentExpression"&&(n+=1);const s=E.body[n];r=Fe.evalAst(s,t)}return r},evalConditionalExpression(E,t){return Fe.evalAst(E.test,t)?Fe.evalAst(E.consequent,t):Fe.evalAst(E.alternate,t)},evalIdentifier(E,t){if(Object.hasOwn(t,E.name))return t[E.name];throw ReferenceError(`${E.name} is not defined`)},evalLiteral(E){return E.value},evalMemberExpression(E,t){const r=String(E.computed?Fe.evalAst(E.property):E.property.name),n=Fe.evalAst(E.object,t);if(n==null)throw TypeError(`Cannot read properties of ${n} (reading '${r}')`);if(!Object.hasOwn(n,r)&&nn.has(r))throw TypeError(`Cannot read properties of ${n} (reading '${r}')`);const s=n[r];return typeof s=="function"?s.bind(n):s},evalUnaryExpression(E,t){return{"-":n=>-Fe.evalAst(n,t),"!":n=>!Fe.evalAst(n,t),"~":n=>~Fe.evalAst(n,t),"+":n=>+Fe.evalAst(n,t),typeof:n=>typeof Fe.evalAst(n,t)}[E.operator](E.argument)},evalArrayExpression(E,t){return E.elements.map(r=>Fe.evalAst(r,t))},evalCallExpression(E,t){const r=E.arguments.map(s=>Fe.evalAst(s,t));return Fe.evalAst(E.callee,t)(...r)},evalAssignmentExpression(E,t){if(E.left.type!=="Identifier")throw SyntaxError("Invalid left-hand side in assignment");const r=E.left.name,n=Fe.evalAst(E.right,t);return t[r]=n,t[r]}};class sn{constructor(t){this.code=t,this.ast=ot(this.code)}runInNewContext(t){const r=Object.assign(Object.create(null),t);return Fe.evalAst(this.ast,r)}}function St(E,t){return E=E.slice(),E.push(t),E}function $t(E,t){return t=t.slice(),t.unshift(E),t}class Tn extends Error{constructor(t){super('JSONPath should not be called with "new" (it prevents return of (unwrapped) scalar values)'),this.avoidNew=!0,this.value=t,this.name="NewError"}}function Ge(E,t,r,n,s){if(!(this instanceof Ge))try{return new Ge(E,t,r,n,s)}catch(A){if(!A.avoidNew)throw A;return A.value}typeof E=="string"&&(s=n,n=r,r=t,t=E,E=null);const a=E&&typeof E=="object";if(E=E||{},this.json=E.json||r,this.path=E.path||t,this.resultType=E.resultType||"value",this.flatten=E.flatten||!1,this.wrap=Object.hasOwn(E,"wrap")?E.wrap:!0,this.sandbox=E.sandbox||{},this.eval=E.eval===void 0?"safe":E.eval,this.ignoreEvalErrors=typeof E.ignoreEvalErrors>"u"?!1:E.ignoreEvalErrors,this.parent=E.parent||null,this.parentProperty=E.parentProperty||null,this.callback=E.callback||n||null,this.otherTypeCallback=E.otherTypeCallback||s||function(){throw new TypeError("You must supply an otherTypeCallback callback option with the @other() operator.")},E.autostart!==!1){const A={path:a?E.path:t};a?"json"in E&&(A.json=E.json):A.json=r;const c=this.evaluate(A);if(!c||typeof c!="object")throw new Tn(c);return c}}Ge.prototype.evaluate=function(E,t,r,n){let s=this.parent,a=this.parentProperty,{flatten:A,wrap:c}=this;if(this.currResultType=this.resultType,this.currEval=this.eval,this.currSandbox=this.sandbox,r=r||this.callback,this.currOtherTypeCallback=n||this.otherTypeCallback,t=t||this.json,E=E||this.path,E&&typeof E=="object"&&!Array.isArray(E)){if(!E.path&&E.path!=="")throw new TypeError('You must supply a "path" property when providing an object argument to JSONPath.evaluate().');if(!Object.hasOwn(E,"json"))throw new TypeError('You must supply a "json" property when providing an object argument to JSONPath.evaluate().');({json:t}=E),A=Object.hasOwn(E,"flatten")?E.flatten:A,this.currResultType=Object.hasOwn(E,"resultType")?E.resultType:this.currResultType,this.currSandbox=Object.hasOwn(E,"sandbox")?E.sandbox:this.currSandbox,c=Object.hasOwn(E,"wrap")?E.wrap:c,this.currEval=Object.hasOwn(E,"eval")?E.eval:this.currEval,r=Object.hasOwn(E,"callback")?E.callback:r,this.currOtherTypeCallback=Object.hasOwn(E,"otherTypeCallback")?E.otherTypeCallback:this.currOtherTypeCallback,s=Object.hasOwn(E,"parent")?E.parent:s,a=Object.hasOwn(E,"parentProperty")?E.parentProperty:a,E=E.path}if(s=s||null,a=a||null,Array.isArray(E)&&(E=Ge.toPathString(E)),!E&&E!==""||!t)return;const I=Ge.toPathArray(E);I[0]==="$"&&I.length>1&&I.shift(),this._hasParentSelector=null;const i=this._trace(I,t,["$"],s,a,r).filter(function(O){return O&&!O.isParentSelector});return i.length?!c&&i.length===1&&!i[0].hasArrExpr?this._getPreferredOutput(i[0]):i.reduce((O,C)=>{const p=this._getPreferredOutput(C);return A&&Array.isArray(p)?O=O.concat(p):O.push(p),O},[]):c?[]:void 0},Ge.prototype._getPreferredOutput=function(E){const t=this.currResultType;switch(t){case"all":{const r=Array.isArray(E.path)?E.path:Ge.toPathArray(E.path);return E.pointer=Ge.toPointer(r),E.path=typeof E.path=="string"?E.path:Ge.toPathString(E.path),E}case"value":case"parent":case"parentProperty":return E[t];case"path":return Ge.toPathString(E[t]);case"pointer":return Ge.toPointer(E.path);default:throw new TypeError("Unknown result type")}},Ge.prototype._handleCallback=function(E,t,r){if(t){const n=this._getPreferredOutput(E);E.path=typeof E.path=="string"?E.path:Ge.toPathString(E.path),t(n,r,E)}},Ge.prototype._trace=function(E,t,r,n,s,a,A,c){let I;if(!E.length)return I={path:r,value:t,parent:n,parentProperty:s,hasArrExpr:A},this._handleCallback(I,a,"value"),I;const i=E[0],O=E.slice(1),C=[];function p(g){Array.isArray(g)?g.forEach(B=>{C.push(B)}):C.push(g)}if((typeof i!="string"||c)&&t&&Object.hasOwn(t,i))p(this._trace(O,t[i],St(r,i),t,i,a,A));else if(i==="*")this._walk(t,g=>{p(this._trace(O,t[g],St(r,g),t,g,a,!0,!0))});else if(i==="..")p(this._trace(O,t,r,n,s,a,A)),this._walk(t,g=>{typeof t[g]=="object"&&p(this._trace(E.slice(),t[g],St(r,g),t,g,a,!0))});else{if(i==="^")return this._hasParentSelector=!0,{path:r.slice(0,-1),expr:O,isParentSelector:!0};if(i==="~")return I={path:St(r,i),value:s,parent:n,parentProperty:null},this._handleCallback(I,a,"property"),I;if(i==="$")p(this._trace(O,t,r,null,null,a,A));else if(/^(-?\d*):(-?\d*):?(\d*)$/u.test(i))p(this._slice(i,O,t,r,n,s,a));else if(i.indexOf("?(")===0){if(this.currEval===!1)throw new Error("Eval [?(expr)] prevented in JSONPath expression.");const g=i.replace(/^\?\((.*?)\)$/u,"$1"),B=/@.?([^?]*)[['](\??\(.*?\))(?!.\)\])[\]']/gu.exec(g);B?this._walk(t,Y=>{const d=[B[2]],k=B[1]?t[Y][B[1]]:t[Y];this._trace(d,k,r,n,s,a,!0).length>0&&p(this._trace(O,t[Y],St(r,Y),t,Y,a,!0))}):this._walk(t,Y=>{this._eval(g,t[Y],Y,r,n,s)&&p(this._trace(O,t[Y],St(r,Y),t,Y,a,!0))})}else if(i[0]==="("){if(this.currEval===!1)throw new Error("Eval [(expr)] prevented in JSONPath expression.");p(this._trace($t(this._eval(i,t,r.at(-1),r.slice(0,-1),n,s),O),t,r,n,s,a,A))}else if(i[0]==="@"){let g=!1;const B=i.slice(1,-2);switch(B){case"scalar":(!t||!["object","function"].includes(typeof t))&&(g=!0);break;case"boolean":case"string":case"undefined":case"function":typeof t===B&&(g=!0);break;case"integer":Number.isFinite(t)&&!(t%1)&&(g=!0);break;case"number":Number.isFinite(t)&&(g=!0);break;case"nonFinite":typeof t=="number"&&!Number.isFinite(t)&&(g=!0);break;case"object":t&&typeof t===B&&(g=!0);break;case"array":Array.isArray(t)&&(g=!0);break;case"other":g=this.currOtherTypeCallback(t,r,n,s);break;case"null":t===null&&(g=!0);break;default:throw new TypeError("Unknown value type "+B)}if(g)return I={path:r,value:t,parent:n,parentProperty:s},this._handleCallback(I,a,"value"),I}else if(i[0]==="`"&&t&&Object.hasOwn(t,i.slice(1))){const g=i.slice(1);p(this._trace(O,t[g],St(r,g),t,g,a,A,!0))}else if(i.includes(",")){const g=i.split(",");for(const B of g)p(this._trace($t(B,O),t,r,n,s,a,!0))}else!c&&t&&Object.hasOwn(t,i)&&p(this._trace(O,t[i],St(r,i),t,i,a,A,!0))}if(this._hasParentSelector)for(let g=0;g<C.length;g++){const B=C[g];if(B&&B.isParentSelector){const Y=this._trace(B.expr,t,B.path,n,s,a,A);if(Array.isArray(Y)){C[g]=Y[0];const d=Y.length;for(let k=1;k<d;k++)g++,C.splice(g,0,Y[k])}else C[g]=Y}}return C},Ge.prototype._walk=function(E,t){if(Array.isArray(E)){const r=E.length;for(let n=0;n<r;n++)t(n)}else E&&typeof E=="object"&&Object.keys(E).forEach(r=>{t(r)})},Ge.prototype._slice=function(E,t,r,n,s,a,A){if(!Array.isArray(r))return;const c=r.length,I=E.split(":"),i=I[2]&&Number.parseInt(I[2])||1;let O=I[0]&&Number.parseInt(I[0])||0,C=I[1]&&Number.parseInt(I[1])||c;O=O<0?Math.max(0,O+c):Math.min(c,O),C=C<0?Math.max(0,C+c):Math.min(c,C);const p=[];for(let g=O;g<C;g+=i)this._trace($t(g,t),r,n,s,a,A,!0).forEach(Y=>{p.push(Y)});return p},Ge.prototype._eval=function(E,t,r,n,s,a){this.currSandbox._$_parentProperty=a,this.currSandbox._$_parent=s,this.currSandbox._$_property=r,this.currSandbox._$_root=this.json,this.currSandbox._$_v=t;const A=E.includes("@path");A&&(this.currSandbox._$_path=Ge.toPathString(n.concat([r])));const c=this.currEval+"Script:"+E;if(!Ge.cache[c]){let I=E.replaceAll("@parentProperty","_$_parentProperty").replaceAll("@parent","_$_parent").replaceAll("@property","_$_property").replaceAll("@root","_$_root").replaceAll(/@([.\s)[])/gu,"_$_v$1");if(A&&(I=I.replaceAll("@path","_$_path")),this.currEval==="safe"||this.currEval===!0||this.currEval===void 0)Ge.cache[c]=new this.safeVm.Script(I);else if(this.currEval==="native")Ge.cache[c]=new this.vm.Script(I);else if(typeof this.currEval=="function"&&this.currEval.prototype&&Object.hasOwn(this.currEval.prototype,"runInNewContext")){const i=this.currEval;Ge.cache[c]=new i(I)}else if(typeof this.currEval=="function")Ge.cache[c]={runInNewContext:i=>this.currEval(I,i)};else throw new TypeError(`Unknown "eval" property "${this.currEval}"`)}try{return Ge.cache[c].runInNewContext(this.currSandbox)}catch(I){if(this.ignoreEvalErrors)return!1;throw new Error("jsonPath: "+I.message+": "+E)}},Ge.cache={},Ge.toPathString=function(E){const t=E,r=t.length;let n="$";for(let s=1;s<r;s++)/^(~|\^|@.*?\(\))$/u.test(t[s])||(n+=/^[0-9*]+$/u.test(t[s])?"["+t[s]+"]":"['"+t[s]+"']");return n},Ge.toPointer=function(E){const t=E,r=t.length;let n="";for(let s=1;s<r;s++)/^(~|\^|@.*?\(\))$/u.test(t[s])||(n+="/"+t[s].toString().replaceAll("~","~0").replaceAll("/","~1"));return n},Ge.toPathArray=function(E){const{cache:t}=Ge;if(t[E])return t[E].concat();const r=[],s=E.replaceAll(/@(?:null|boolean|number|string|integer|undefined|nonFinite|scalar|array|object|function|other)\(\)/gu,";$&;").replaceAll(/[['](\??\(.*?\))[\]'](?!.\])/gu,function(a,A){return"[#"+(r.push(A)-1)+"]"}).replaceAll(/\[['"]([^'\]]*)['"]\]/gu,function(a,A){return"['"+A.replaceAll(".","%@%").replaceAll("~","%%@@%%")+"']"}).replaceAll("~",";~;").replaceAll(/['"]?\.['"]?(?![^[]*\])|\[['"]?/gu,";").replaceAll("%@%",".").replaceAll("%%@@%%","~").replaceAll(/(?:;)?(\^+)(?:;)?/gu,function(a,A){return";"+A.split("").join(";")+";"}).replaceAll(/;;;|;;/gu,";..;").replaceAll(/;$|'?\]|'$/gu,"").split(";").map(function(a){const A=a.match(/#(\d+)/u);return!A||!A[1]?a:r[A[1]]});return t[E]=s,t[E].concat()},Ge.prototype.safeVm={Script:sn};const on=function(E,t,r){const n=E.length;for(let s=0;s<n;s++){const a=E[s];r(a)&&t.push(E.splice(s--,1)[0])}};class an{constructor(t){this.code=t}runInNewContext(t){let r=this.code;const n=Object.keys(t),s=[];on(n,s,i=>typeof t[i]=="function");const a=n.map(i=>t[i]);r=s.reduce((i,O)=>{let C=t[O].toString();return/function/u.test(C)||(C="function "+C),"var "+O+"="+C+";"+i},"")+r,!/(['"])use strict\1/u.test(r)&&!n.includes("arguments")&&(r="var arguments = undefined;"+r),r=r.replace(/;\s*$/u,"");const c=r.lastIndexOf(";"),I=c!==-1?r.slice(0,c+1)+" return "+r.slice(c+1):" return "+r;return new Function(...n,I)(...a)}}Ge.prototype.vm={Script:an};const An={class:"json-node"},Rn={key:0,class:"json-node__container"},Sn={class:"json-node__line"},Nn=["contenteditable","onKeydown"],In={key:1,class:"json-node__colon"},On=["title"],ln=["title"],un={key:4,class:"json-node__comma"},Cn={key:0,class:"json-node__children"},cn={class:"json-node__children-content"},_n={class:"json-node__line json-node__closing-bracket"},Ln={class:"json-node__bracket"},Dn={key:0,class:"json-node__comma"},pn={key:1,class:"json-node__primitive"},dn=["contenteditable","onKeydown"],Pn={key:1,class:"json-node__colon"},hn=["title"],Mn=["contenteditable","onKeydown"],Un={key:0,class:"json-node__comma"},mn=T.defineComponent({name:"JsonNode",__name:"JsonNode",props:{value:{},keyName:{},level:{},path:{default:""},expanded:{},isLast:{type:Boolean,default:!1},theme:{}},emits:["update:value","toggle-expand","copy","update:key"],setup(E,{emit:t}){T.useCssVars(b=>({"2a18b018":b.level,"58a14b93":b.theme.colors.syntaxKey,"46fe1b3e":b.theme.colors.hoverBackground,fbe2c048:b.theme.colors.syntaxBracket,"4bd524bb":b.theme.colors.collapsedText,"3308d23c":b.theme.colors.collapsedBackground,"36380c60":b.theme.colors.collapsedBackgroundHover,"0892365d":b.theme.colors.syntaxString,"0015b195":b.theme.colors.syntaxNumber,"7db95f5c":b.theme.colors.syntaxBoolean,"88ec825a":b.theme.colors.syntaxNull,"537157f7":b.theme.colors.background,"3cee3331":b.theme.colors.selectionBackground,"81323cee":b.theme.colors.indentLine}));const r=E,n=t,s=T.ref(!1),a=T.ref(!1),A=T.ref(""),c=T.ref(""),I=T.ref("string"),i=T.ref(null),O=T.ref(null),C=b=>b!==null&&typeof b=="object"&&!Array.isArray(b)&&"__protected_number__"in b&&Object.keys(b).length===1,p=b=>C(b)?b.__protected_number__:"",g=T.computed(()=>C(r.value)?!1:r.value!==null&&typeof r.value=="object"),B=T.computed(()=>Array.isArray(r.value)),Y=T.computed(()=>r.path?r.path:r.keyName?r.keyName:"root"),d=T.computed(()=>r.expanded.has(Y.value)),k=T.computed(()=>r.keyName),J=T.computed(()=>B.value?"[":"{"),Z=T.computed(()=>B.value?"]":"}"),De=T.computed(()=>{if(!r.value)return"";const j=Object.keys(r.value).length;return B.value?j>0?` ${j} items `:" ":j>0?` ${j} keys `:" "}),ce=T.computed(()=>{const b=typeof r.value;return r.value===null?"json-node__value--null":b==="boolean"?"json-node__value--boolean":b==="number"||C(r.value)?"json-node__value--number":b==="string"?"json-node__value--string":""}),W=T.computed(()=>r.value===null?"null":typeof r.value=="boolean"||typeof r.value=="number"?String(r.value):C(r.value)?p(r.value):typeof r.value=="string"?`"${r.value}"`:String(r.value)),u=T.computed(()=>"Double-click to edit"),ee=b=>r.level===0?b:Y.value?`${Y.value}.${b}`:b,U=b=>{const j=Object.keys(r.value);return j.indexOf(b)===j.length-1},v=()=>{n("toggle-expand",Y.value)},te=()=>{r.level!==0&&(s.value=!0,A.value=r.keyName,T.nextTick(()=>{if(i.value){i.value.focus();const b=document.createRange();b.selectNodeContents(i.value);const j=window.getSelection();j?.removeAllRanges(),j?.addRange(b)}}))},Ee=()=>{g.value||(a.value=!0,r.value===null?I.value="null":C(r.value)?I.value="protected-number":typeof r.value=="string"?I.value="string":typeof r.value=="number"?I.value="number":typeof r.value=="boolean"&&(I.value="boolean"),C(r.value)?c.value=p(r.value):typeof r.value=="string"?c.value=r.value:c.value=String(r.value),T.nextTick(()=>{if(O.value){O.value.focus();const b=document.createRange();b.selectNodeContents(O.value);const j=window.getSelection();j?.removeAllRanges(),j?.addRange(b)}}))},Q=()=>{if(r.level===0||!s.value)return;const b=i.value?.innerText.trim()||"";if(!b){_e();return}if(b===r.keyName){s.value=!1;return}s.value=!1,n("update:key",Y.value,b)},Ce=()=>{if(a.value)try{let b;const j=O.value?.innerText.trim()||"";if(I.value==="string")j==="null"?b=null:j==="true"||j==="false"?b=j==="true":b=j;else if(I.value==="protected-number")b={__protected_number__:j};else if(j==="null")b=null;else if(j==="true"||j==="false")b=j==="true";else if(!isNaN(Number(j))&&j!==""){const Ie=Number(j);!Number.isSafeInteger(Ie)||j.length>15?b={__protected_number__:j}:b=Ie}else b=j;n("update:value",Y.value,b),a.value=!1}catch(b){console.error("Failed to parse value:",b),a.value=!1}},_e=()=>{s.value=!1,A.value=r.keyName},pe=()=>{a.value=!1,C(r.value)?c.value=p(r.value):typeof r.value=="string"?c.value=r.value:c.value=String(r.value)};return(b,j)=>{const Ie=T.resolveComponent("JsonNode",!0);return T.openBlock(),T.createElementBlock("div",An,[g.value?(T.openBlock(),T.createElementBlock("div",Rn,[T.createElementVNode("div",Sn,[b.keyName?(T.openBlock(),T.createElementBlock("span",{key:0,class:"json-node__key",contenteditable:s.value,onDblclick:te,onKeydown:[T.withKeys(T.withModifiers(Q,["prevent"]),["enter"]),T.withKeys(_e,["escape"])],onBlur:Q,ref_key:"keyRef",ref:i,title:"Double-click to edit key"},T.toDisplayString(s.value?A.value:`"${k.value}"`),41,Nn)):T.createCommentVNode("",!0),b.keyName?(T.openBlock(),T.createElementBlock("span",In,": ")):T.createCommentVNode("",!0),T.createElementVNode("span",{class:"json-node__bracket json-node__bracket--clickable",onClick:v,title:d.value?"Click to collapse":"Click to expand"},T.toDisplayString(J.value),9,On),d.value?T.createCommentVNode("",!0):(T.openBlock(),T.createElementBlock("span",{key:2,class:"json-node__collapsed-info",onClick:v,title:`Click to expand ${De.value.trim()}`},T.toDisplayString(De.value),9,ln)),d.value?T.createCommentVNode("",!0):(T.openBlock(),T.createElementBlock("span",{key:3,class:"json-node__bracket json-node__bracket--clickable",onClick:v,title:"Click to expand"},T.toDisplayString(Z.value),1)),!d.value&&!b.isLast?(T.openBlock(),T.createElementBlock("span",un,",")):T.createCommentVNode("",!0)]),d.value?(T.openBlock(),T.createElementBlock("div",Cn,[T.createElementVNode("div",cn,[(T.openBlock(!0),T.createElementBlock(T.Fragment,null,T.renderList(b.value,(me,oe)=>(T.openBlock(),T.createElementBlock("div",{key:oe,class:"json-node__child"},[T.createVNode(Ie,{value:me,"key-name":B.value?"":String(oe),level:b.level+1,path:ee(String(oe)),expanded:b.expanded,theme:b.theme,"onUpdate:value":j[0]||(j[0]=(w,P)=>b.$emit("update:value",w,P)),onToggleExpand:j[1]||(j[1]=w=>b.$emit("toggle-expand",w)),onCopy:j[2]||(j[2]=w=>b.$emit("copy",w)),"onUpdate:key":j[3]||(j[3]=(w,P)=>b.$emit("update:key",w,P)),"is-last":U(String(oe))},null,8,["value","key-name","level","path","expanded","theme","is-last"])]))),128))]),T.createElementVNode("div",_n,[T.createElementVNode("span",Ln,T.toDisplayString(Z.value),1),b.isLast?T.createCommentVNode("",!0):(T.openBlock(),T.createElementBlock("span",Dn,","))])])):T.createCommentVNode("",!0)])):(T.openBlock(),T.createElementBlock("div",pn,[b.keyName?(T.openBlock(),T.createElementBlock("span",{key:0,class:"json-node__key",contenteditable:s.value,onDblclick:te,onKeydown:[T.withKeys(T.withModifiers(Q,["prevent"]),["enter"]),T.withKeys(_e,["escape"])],onBlur:Q,ref_key:"keyRef",ref:i,title:"Double-click to edit key"},T.toDisplayString(s.value?A.value:`"${k.value}"`),41,dn)):T.createCommentVNode("",!0),b.keyName?(T.openBlock(),T.createElementBlock("span",Pn,": ")):T.createCommentVNode("",!0),T.createElementVNode("span",{class:T.normalizeClass(["json-node__value-wrapper",ce.value]),onDblclick:Ee,title:u.value},[T.createElementVNode("span",{class:"json-node__value",contenteditable:a.value,onKeydown:[T.withKeys(T.withModifiers(Ce,["prevent"]),["enter"]),T.withKeys(pe,["escape"])],onBlur:Ce,ref_key:"valueRef",ref:O},T.toDisplayString(a.value?c.value:W.value),41,Mn),b.isLast?T.createCommentVNode("",!0):(T.openBlock(),T.createElementBlock("span",Un,","))],42,hn)]))])}}}),Pt=(E,t)=>{const r=E.__vccOpts||E;for(const[n,s]of t)r[n]=s;return r},Bn=Pt(mn,[["__scopeId","data-v-1472a8af"]]),ME={name:"github-light",colors:{background:"#ffffff",surfaceBackground:"#f6f8fa",border:"#d0d7de",text:"#24292f",textSecondary:"#656d76",buttonBackground:"#f6f8fa",buttonBackgroundHover:"#f3f4f6",buttonBorder:"#d0d7de",buttonText:"#24292f",buttonPrimary:"#2da44e",buttonPrimaryHover:"#2c974b",success:"#1a7f37",successBackground:"#dafbe1",error:"#cf222e",errorBackground:"#ffebe9",syntaxString:"#0a3069",syntaxNumber:"#0969da",syntaxBoolean:"#8250df",syntaxNull:"#656d76",syntaxKey:"#0969da",syntaxBracket:"#24292f",hoverBackground:"#f6f8fa",selectionBackground:"rgba(9, 105, 218, 0.2)",collapsedBackground:"#ddf4ff",collapsedBackgroundHover:"#b6e3ff",collapsedText:"#0969da",indentLine:"#d0d7de"}},gn={"github-light":ME,"github-dark":{name:"github-dark",colors:{background:"#0d1117",surfaceBackground:"#161b22",border:"#30363d",text:"#e6edf3",textSecondary:"#7d8590",buttonBackground:"#21262d",buttonBackgroundHover:"#30363d",buttonBorder:"#30363d",buttonText:"#e6edf3",buttonPrimary:"#238636",buttonPrimaryHover:"#2ea043",success:"#3fb950",successBackground:"#0f2419",error:"#f85149",errorBackground:"#381921",syntaxString:"#a5d6ff",syntaxNumber:"#79c0ff",syntaxBoolean:"#d2a8ff",syntaxNull:"#7d8590",syntaxKey:"#79c0ff",syntaxBracket:"#e6edf3",hoverBackground:"#161b22",selectionBackground:"rgba(121, 192, 255, 0.2)",collapsedBackground:"#1c2128",collapsedBackgroundHover:"#2d333b",collapsedText:"#79c0ff",indentLine:"#30363d"}},"min-light":{name:"min-light",colors:{background:"#ffffff",surfaceBackground:"#fafafa",border:"#e5e5e5",text:"#333333",textSecondary:"#888888",buttonBackground:"#f8f8f8",buttonBackgroundHover:"#eeeeee",buttonBorder:"#e0e0e0",buttonText:"#333333",buttonPrimary:"#007acc",buttonPrimaryHover:"#005a9e",success:"#22c55e",successBackground:"#f0fdf4",error:"#ef4444",errorBackground:"#fef2f2",syntaxString:"#22c55e",syntaxNumber:"#3b82f6",syntaxBoolean:"#8b5cf6",syntaxNull:"#6b7280",syntaxKey:"#1f2937",syntaxBracket:"#374151",hoverBackground:"#f9f9f9",selectionBackground:"rgba(59, 130, 246, 0.2)",collapsedBackground:"#e0f2fe",collapsedBackgroundHover:"#bae6fd",collapsedText:"#0284c7",indentLine:"#e5e7eb"}},"slack-ochin":{name:"slack-ochin",colors:{background:"#fefbf6",surfaceBackground:"#faf6f0",border:"#e8d5b7",text:"#4a3b2a",textSecondary:"#8b7355",buttonBackground:"#f4ede4",buttonBackgroundHover:"#efe5d8",buttonBorder:"#e8d5b7",buttonText:"#4a3b2a",buttonPrimary:"#ff6b35",buttonPrimaryHover:"#e55a2b",success:"#ff9500",successBackground:"#fff8f0",error:"#d73502",errorBackground:"#ffeee8",syntaxString:"#d73502",syntaxNumber:"#ff6b35",syntaxBoolean:"#b7472a",syntaxNull:"#8b7355",syntaxKey:"#4a3b2a",syntaxBracket:"#6b5444",hoverBackground:"#f8f2eb",selectionBackground:"rgba(255, 107, 53, 0.2)",collapsedBackground:"#ffe8d6",collapsedBackgroundHover:"#ffd4b0",collapsedText:"#d73502",indentLine:"#e8d5b7"}}};function yn(E="github-light"){return gn[E]||ME}const Gn={class:"json-format__content"},Fn={key:0,class:"json-format__error"},Hn={key:1,class:"json-format__error"},bn={key:2,class:"json-format__viewer"},UE=Pt(T.defineComponent({name:"JsonFormat",__name:"index",props:{modelValue:{default:""},readonly:{type:Boolean,default:!1},maxDepth:{default:10},theme:{default:"github-light"}},emits:["update:modelValue","copy-success","copy-error","expand-all","collapse-all","compress"],setup(E,{expose:t,emit:r}){T.useCssVars(P=>({"1909cc0c":p.value.colors.background,"1d49ba8b":p.value.colors.text,e9bfef2c:p.value.colors.error,"16d23d38":p.value.colors.errorBackground}));const n=E,s=r,a=T.ref(null),A=T.ref(""),c=T.ref(new Set),I=T.ref(null),i=T.ref(""),O=T.ref(!1),C=T.computed(()=>A.value===""),p=T.computed(()=>yn(n.theme)),g=P=>{if(P==null)return P;if(Array.isArray(P))return P.map(m=>g(m));if(typeof P=="object"){const m={},h=Object.keys(P).sort();for(const y of h)m[y]=g(P[y]);return m}return P},B=T.computed(()=>{const P=I.value!==null?I.value:a.value;return!P||!O.value?P:g(P)}),Y=T.computed(()=>i.value?null:B.value),d=P=>{if(!P.trim()){a.value=null,A.value="",I.value=null,i.value="";return}try{let m=P;const h=/(:\s*|,\s*|\[\s*)-?\d{16,}/.test(m),y=/(:\s*|,\s*|\[\s*)-?\d+\.\d*0+\s*[,}\]\s]*/.test(m);if(!h&&!y)try{a.value=JSON.parse(m),A.value="",I.value=null,i.value="",T.nextTick(()=>{Y.value!==null&&Ee()});return}catch{}m=(M=>{let z="",re=!1,Ae=!1,le=0;for(;le<M.length;){const Ue=M[le];if(re)Ae?Ae=!1:Ue==="\\"?Ae=!0:Ue==='"'&&(re=!1),z+=Ue,le++;else if(Ue==='"')re=!0,z+=Ue,le++;else{const Se=M.slice(le);let q=Se.match(/^([:,\[\s]*)(-?\d{16,})(\s*[,\}\]\s]|$)/);if(q){z+=q[1]+'{"__protected_number__":"'+q[2]+'"}'+q[3],le+=q[0].length;continue}if(q=Se.match(/^([:,\[\s]*)(-?\d+\.\d*0+)(\s*[,\}\]\s]|$)/),q){z+=q[1]+'{"__protected_number__":"'+q[2]+'"}'+q[3],le+=q[0].length;continue}z+=Ue,le++}}return z})(m),a.value=JSON.parse(m),A.value="",I.value=null,i.value="",T.nextTick(()=>{Y.value!==null&&Ee()})}catch(m){A.value=m instanceof Error?m.message:"Unknown parsing error",a.value=null,I.value=null,i.value=""}},k=P=>{if(!P||!P.expression.trim()){ce();return}if(!a.value){i.value="No valid JSON data to filter";return}try{let m;if(P.type==="jsonpath")m=Ge({path:P.expression,json:a.value}),m.length===1&&P.expression.includes("$[")===!1&&!P.expression.endsWith("[*]")?I.value=m[0]:I.value=m;else if(P.type==="js"){const{proxyData:h,indexMap:y}=J(a.value),M=new Function("$",`
3
3
  try {
4
- return ${p.expression};
4
+ return ${P.expression};
5
5
  } catch (error) {
6
6
  throw new Error('JavaScript expression error: ' + error.message);
7
7
  }
8
- `)(f);m=ee(a.value,h,B),N.value=m}else throw new Error(`Unsupported filter type: ${p.type}`);A.value="",o.nextTick(()=>{K()})}catch(m){A.value=m instanceof Error?m.message:"Filter execution error",N.value=null}},te=(p,m="root")=>{const f=new Map,B=(h,z)=>{if(h==null)return h;if(typeof h=="object"&&h.__protected_number__!==void 0){const Ee=parseFloat(h.__protected_number__);return f.set(Ee,z),Ee}if(Array.isArray(h)){const Ee=h.map((Re,le)=>{const Ue=`${z}[${le}]`,Ne=B(Re,Ue);return f.set(Ne,Ue),Ne});return f.set(Ee,z),Ee}if(typeof h=="object"){const Ee={};for(const Re in h)if(Object.prototype.hasOwnProperty.call(h,Re)){const le=z==="root"?Re:`${z}.${Re}`;Ee[Re]=B(h[Re],le)}return f.set(Ee,z),Ee}return h};return{proxyData:B(p,m),indexMap:f}},ee=(p,m,f)=>{if(m===null||typeof m!="object")return m;if(Array.isArray(m))return m.map(h=>{const z=f.get(h);if(z){const Ee=pe(p,z);if(Ee!==void 0)return Ee}return ee(p,h,f)});const B=f.get(m);if(B){const h=pe(p,B);if(h!==void 0)return h}const $={};for(const h in m)Object.prototype.hasOwnProperty.call(m,h)&&($[h]=ee(p,m[h],f));return $},pe=(p,m)=>{if(m==="root")return p;const f=[];let B=m.replace(/^root\.?/,"");const $=/([^\[\].]+)|\[(\d+)\]/g;let h;for(;(h=$.exec(B))!==null;)h[1]?f.push(h[1]):h[2]!==void 0&&f.push(parseInt(h[2]));let z=p;for(const Ee of f){if(z==null)return;z=z[Ee]}return z},Le=()=>{N.value=null,A.value=""},W=()=>{O.value=!0},D=()=>{O.value=!1};o.watch(()=>n.modelValue,p=>{U(p)},{immediate:!0});const Ae=(p,m,f)=>{const B=z=>{if(z===null||typeof z!="object")return z;if(!Array.isArray(z)&&"__protected_number__"in z&&Object.keys(z).length===1)return`__PROTECTED_NUMBER_${z.__protected_number__}_PROTECTED_NUMBER__`;if(Array.isArray(z))return z.map(Re=>B(Re));const Ee={};for(const[Re,le]of Object.entries(z))Ee[Re]=B(le);return Ee},$=B(p);return JSON.stringify($,m,f).replace(/"__PROTECTED_NUMBER_(.+?)_PROTECTED_NUMBER__"/g,"$1")},H=(p,m)=>{if(!n.readonly)try{const f=g(a.value,p,m),B=Ae(f,null,2);T("update:modelValue",B)}catch(f){console.error("Failed to update JSON:",f)}},g=(p,m,f)=>{if(!m||m==="root")return f;const B=m.split("."),$=Oe(p,B.slice(0,-1));let h=$;for(let Ee=0;Ee<B.length-1;Ee++){const Re=B[Ee];Re!=="root"&&(Array.isArray(h)?h=h[parseInt(Re)]:h=h[Re])}const z=B[B.length-1];return z==="root"?f:(Array.isArray(h)?h[parseInt(z)]=f:h[z]=f,$)},J=p=>{l.value.has(p)?l.value.delete(p):l.value.add(p)},K=()=>{const p=new Set,m=(f,B="")=>{f!==null&&typeof f=="object"&&(p.add(B||"root"),Array.isArray(f)?f.forEach(($,h)=>{const z=B?`${B}.${h}`:`${h}`;m($,z)}):Object.keys(f).forEach($=>{const h=B?`${B}.${$}`:$;m(f[$],h)}))};m(Z.value),l.value=p,T("expand-all")},k=()=>{l.value=new Set,T("collapse-all")},ae=async()=>{if(C.value)try{const p=Z.value,m=Ae(p,null,2);await navigator.clipboard.writeText(m),T("copy-success",m)}catch(p){console.error("Failed to copy JSON:",p),T("copy-error",p instanceof Error?p:new Error("Failed to copy JSON"))}},ce=()=>{if(C.value)try{const p=Z.value,m=Ae(p);T("update:modelValue",m),T("compress",m)}catch(p){console.error("Failed to compress JSON:",p)}},De=async p=>{try{let m;typeof p=="object"&&p!==null&&!Array.isArray(p)&&"__protected_number__"in p&&Object.keys(p).length===1?m=p.__protected_number__:typeof p=="string"?m=`"${p}"`:m=JSON.stringify(p),await navigator.clipboard.writeText(m)}catch(m){console.error("Failed to copy value:",m)}},Y=(p,m)=>{if(!n.readonly)try{const f=Q(a.value,p,m),B=Ae(f,null,2);T("update:modelValue",B),v(p,m)}catch(f){console.error("Failed to rename key:",f)}},Q=(p,m,f)=>{if(!m||m==="root")return p;const B=m.split("."),$=Oe(p,B.slice(0,-1));if(B.length===1){const Ee=B[0];return $&&typeof $=="object"&&!Array.isArray($)?me($,Ee,f):$}let h=$;for(let Ee=0;Ee<B.length-1;Ee++){const Re=B[Ee];Array.isArray(h)?h=h[parseInt(Re)]:h=h[Re]}const z=B[B.length-1];if(!Array.isArray(h)&&h&&typeof h=="object"){const Ee=me(h,z,f),Re=B.slice(0,-1);Re.length>0&&Te($,Re,Ee)}return $},Oe=(p,m)=>{if(m.length===0)return p;if(Array.isArray(p)){const f=[...p],B=m[0],$=parseInt(B);return m.length===1||(f[$]=Oe(p[$],m.slice(1))),f}else if(p&&typeof p=="object"){const f={...p},B=m[0];return m.length===1||(f[B]=Oe(p[B],m.slice(1))),f}return p},me=(p,m,f)=>{if(!p||typeof p!="object"||Array.isArray(p))return p;const B=Object.keys(p),$={};for(const h of B)h===m?$[f]=p[h]:$[h]=p[h];return $},Te=(p,m,f)=>{let B=p;for(let h=0;h<m.length-1;h++){const z=m[h];Array.isArray(B)?B=B[parseInt(z)]:B=B[z]}const $=m[m.length-1];Array.isArray(B)?B[parseInt($)]=f:B[$]=f},v=(p,m)=>{const f=new Set;l.value.forEach(B=>{if(B===p){const $=p.split(".");$[$.length-1]=m,f.add($.join("."))}else if(B.startsWith(p+".")){const $=p.split(".");$[$.length-1]=m;const h=$.join("."),z=B.substring(p.length);f.add(h+z)}else f.add(B)}),l.value=f};return t({copyJson:ae,compressSource:ce,expandAll:K,collapseAll:k,toggleExpand:J,updateValue:H,updateKey:Y,filter:j,clearFilter:Le,sortKeys:W,clearSortKeys:D,isSorted:()=>O.value,isValidJson:()=>C.value,getParsedJson:()=>a.value,getFilteredJson:()=>N.value,getExpandedNodes:()=>l.value,getParseError:()=>i.value,getFilterError:()=>A.value,parseJson:p=>U(p),copyValue:p=>De(p)}),(p,m)=>(o.openBlock(),o.createElementBlock("div",{class:o.normalizeClass(["json-format",`json-format--${d.value.name}`])},[o.createElementVNode("div",yn,[C.value?A.value?(o.openBlock(),o.createElementBlock("div",Fn,[m[1]||(m[1]=o.createElementVNode("h4",null,"Filter Error:",-1)),o.createElementVNode("pre",null,o.toDisplayString(A.value),1)])):(o.openBlock(),o.createElementBlock("div",Hn,[o.createVNode(mn,{value:Z.value,"key-name":"",level:0,expanded:l.value,"is-last":!0,theme:d.value,"onUpdate:value":H,onToggleExpand:J,onCopy:De,"onUpdate:key":Y},null,8,["value","expanded","theme"])])):(o.openBlock(),o.createElementBlock("div",Gn,[m[0]||(m[0]=o.createElementVNode("h4",null,"JSON Parse Error:",-1)),o.createElementVNode("pre",null,o.toDisplayString(i.value),1)]))])],2))}}),[["__scopeId","data-v-a802c0ac"]]);function mE(E){return E&&E.__esModule&&Object.prototype.hasOwnProperty.call(E,"default")?E.default:E}var qt={},BE;function bn(){return BE||(BE=1,function(E){var t=E;(function(r){var n="__namespace",T=function(e){return e==null},a=function(e){return e===n||Number.isInteger(e)&&e>=1&&e<=11},i=function(e){return e&&a(e.nodeType)&&typeof e.nodeName=="string"};function l(e){var s=Array.prototype.slice,I=e.length,L=function(P,se){return function(){return se.apply(this,P.concat(s.call(arguments)))}},u=function(){var P=s.call(arguments);return P.length<I?L(P,u):e.apply(this,s.apply(arguments,[0,I]))};return u}var N=function(e,s){for(var I=0;I<s.length;I+=1)e(s[I],I,s)},A=function(e,s,I){var L=s;return N(function(u,P){L=e(L,u,P)},I),L},O=function(e,s){var I=new Array(s.length);return N(function(L,u){I[u]=e(L)},s),I},C=function(e,s){var I=[];return N(function(L,u){e(L,u)&&I.push(L)},s),I},d=function(e,s){for(var I=0;I<e.length;I+=1)if(e[I]===s)return!0;return!1};function M(e){return function(){return e}}function b(e){return e.toString()}var Z=function(e,s){return s.join(e)},U=function(e,s,I){return e+I+s},j=Array.prototype.concat,te=function(e,s){var I=new ie;I.addArray(e);var L=I.toArray();return s?L.reverse():L},ee=32767;function pe(e){for(var s=[],I=0;I<e.length;I+=ee){var L=e.slice(I,I+ee);s=j.apply(s,L)}return s}function Le(e,s){for(var I=Object(e),L=1;L<arguments.length;L++){var u=arguments[L];if(u!=null)for(var P in u)Object.prototype.hasOwnProperty.call(u,P)&&(I[P]=u[P])}return I}var W={ELEMENT_NODE:1,ATTRIBUTE_NODE:2,TEXT_NODE:3,CDATA_SECTION_NODE:4,PROCESSING_INSTRUCTION_NODE:7,COMMENT_NODE:8,DOCUMENT_NODE:9,DOCUMENT_TYPE_NODE:10,DOCUMENT_FRAGMENT_NODE:11,NAMESPACE_NODE:n};D.prototype=new Object,D.prototype.constructor=D,D.superclass=Object.prototype;function D(){this.init()}D.prototype.init=function(){this.reduceActions=[],this.reduceActions[3]=function(e){return new ae(e[0],e[2])},this.reduceActions[5]=function(e){return new ce(e[0],e[2])},this.reduceActions[7]=function(e){return new De(e[0],e[2])},this.reduceActions[8]=function(e){return new Y(e[0],e[2])},this.reduceActions[10]=function(e){return new Q(e[0],e[2])},this.reduceActions[11]=function(e){return new Oe(e[0],e[2])},this.reduceActions[12]=function(e){return new me(e[0],e[2])},this.reduceActions[13]=function(e){return new Te(e[0],e[2])},this.reduceActions[15]=function(e){return new v(e[0],e[2])},this.reduceActions[16]=function(e){return new p(e[0],e[2])},this.reduceActions[18]=function(e){return new m(e[0],e[2])},this.reduceActions[19]=function(e){return new f(e[0],e[2])},this.reduceActions[20]=function(e){return new B(e[0],e[2])},this.reduceActions[22]=function(e){return new K(e[1])},this.reduceActions[24]=function(e){return new $(e[0],e[2])},this.reduceActions[25]=function(e){return new h(void 0,void 0,e[0])},this.reduceActions[27]=function(e){return e[0].locationPath=e[2],e[0]},this.reduceActions[28]=function(e){return e[0].locationPath=e[2],e[0].locationPath.steps.unshift(new q(q.DESCENDANTORSELF,c.nodeTest,[])),e[0]},this.reduceActions[29]=function(e){return new h(e[0],[],void 0)},this.reduceActions[30]=function(e){return Ie.instance_of(e[0],h)?(e[0].filterPredicates==null&&(e[0].filterPredicates=[]),e[0].filterPredicates.push(e[1]),e[0]):new h(e[0],[e[1]],void 0)},this.reduceActions[32]=function(e){return e[1]},this.reduceActions[33]=function(e){return new F(e[0])},this.reduceActions[34]=function(e){return new V(e[0])},this.reduceActions[36]=function(e){return new Be(e[0],[])},this.reduceActions[37]=function(e){return new Be(e[0],e[2])},this.reduceActions[38]=function(e){return[e[0]]},this.reduceActions[39]=function(e){return e[2].unshift(e[0]),e[2]},this.reduceActions[43]=function(e){return new Ne(!0,[])},this.reduceActions[44]=function(e){return e[1].absolute=!0,e[1]},this.reduceActions[46]=function(e){return new Ne(!1,[e[0]])},this.reduceActions[47]=function(e){return e[0].steps.push(e[2]),e[0]},this.reduceActions[49]=function(e){return new q(e[0],e[1],[])},this.reduceActions[50]=function(e){return new q(q.CHILD,e[0],[])},this.reduceActions[51]=function(e){return new q(e[0],e[1],e[2])},this.reduceActions[52]=function(e){return new q(q.CHILD,e[0],e[1])},this.reduceActions[54]=function(e){return[e[0]]},this.reduceActions[55]=function(e){return e[1].unshift(e[0]),e[1]},this.reduceActions[56]=function(e){return e[0]=="ancestor"?q.ANCESTOR:e[0]=="ancestor-or-self"?q.ANCESTORORSELF:e[0]=="attribute"?q.ATTRIBUTE:e[0]=="child"?q.CHILD:e[0]=="descendant"?q.DESCENDANT:e[0]=="descendant-or-self"?q.DESCENDANTORSELF:e[0]=="following"?q.FOLLOWING:e[0]=="following-sibling"?q.FOLLOWINGSIBLING:e[0]=="namespace"?q.NAMESPACE:e[0]=="parent"?q.PARENT:e[0]=="preceding"?q.PRECEDING:e[0]=="preceding-sibling"?q.PRECEDINGSIBLING:e[0]=="self"?q.SELF:-1},this.reduceActions[57]=function(e){return q.ATTRIBUTE},this.reduceActions[59]=function(e){return e[0]=="comment"?c.commentTest:e[0]=="text"?c.textTest:e[0]=="processing-instruction"?c.anyPiTest:e[0]=="node"?c.nodeTest:new c(-1,void 0)},this.reduceActions[60]=function(e){return new c.PITest(e[2])},this.reduceActions[61]=function(e){return e[1]},this.reduceActions[63]=function(e){return e[1].absolute=!0,e[1].steps.unshift(new q(q.DESCENDANTORSELF,c.nodeTest,[])),e[1]},this.reduceActions[64]=function(e){return e[0].steps.push(new q(q.DESCENDANTORSELF,c.nodeTest,[])),e[0].steps.push(e[2]),e[0]},this.reduceActions[65]=function(e){return new q(q.SELF,c.nodeTest,[])},this.reduceActions[66]=function(e){return new q(q.PARENT,c.nodeTest,[])},this.reduceActions[67]=function(e){return new ne(e[1])},this.reduceActions[68]=function(e){return c.nameTestAny},this.reduceActions[69]=function(e){return new c.NameTestPrefixAny(e[0].split(":")[0])},this.reduceActions[70]=function(e){return new c.NameTestQName(e[0])}},D.actionTable=[" s s sssssssss s ss s ss"," s ","r rrrrrrrrr rrrrrrr rr r "," rrrrr "," s s sssssssss s ss s ss","rs rrrrrrrr s sssssrrrrrr rrs rs "," s s sssssssss s ss s ss"," s "," s ","r rrrrrrrrr rrrrrrr rr rr ","r rrrrrrrrr rrrrrrr rr rr ","r rrrrrrrrr rrrrrrr rr rr ","r rrrrrrrrr rrrrrrr rr rr ","r rrrrrrrrr rrrrrrr rr rr "," s "," s "," s s sssss s s ","r rrrrrrrrr rrrrrrr rr r ","a ","r s rr r ","r sr rr r ","r s rr s rr r ","r rssrr rss rr r ","r rrrrr rrrss rr r ","r rrrrrsss rrrrr rr r ","r rrrrrrrr rrrrr rr r ","r rrrrrrrr rrrrrs rr r ","r rrrrrrrr rrrrrr rr r ","r rrrrrrrr rrrrrr rr r ","r srrrrrrrr rrrrrrs rr sr ","r srrrrrrrr rrrrrrs rr r ","r rrrrrrrrr rrrrrrr rr rr ","r rrrrrrrrr rrrrrrr rr rr ","r rrrrrrrrr rrrrrrr rr rr ","r rrrrrrrr rrrrrr rr r ","r rrrrrrrr rrrrrr rr r ","r rrrrrrrrr rrrrrrr rr r ","r rrrrrrrrr rrrrrrr rr r "," sssss ","r rrrrrrrrr rrrrrrr rr sr ","r rrrrrrrrr rrrrrrr rr r ","r rrrrrrrrr rrrrrrr rr rr ","r rrrrrrrrr rrrrrrr rr rr "," s ","r srrrrrrrr rrrrrrs rr r ","r rrrrrrrr rrrrr rr r "," s "," s "," rrrrr "," s s sssssssss s sss s ss","r srrrrrrrr rrrrrrs rr r "," s s sssssssss s ss s ss"," s s sssssssss s ss s ss"," s s sssssssss s ss s ss"," s s sssssssss s ss s ss"," s s sssssssss s ss s ss"," s s sssssssss s ss s ss"," s s sssssssss s ss s ss"," s s sssssssss s ss s ss"," s s sssssssss s ss s ss"," s s sssssssss s ss s ss"," s s sssssssss s ss s ss"," s s sssssssss s ss s ss"," s s sssssssss s ss s ss"," s s sssssssss ss s ss"," s s sssssssss s ss s ss"," s s sssss s s "," s s sssss s s ","r rrrrrrrrr rrrrrrr rr rr "," s s sssss s s "," s s sssss s s ","r rrrrrrrrr rrrrrrr rr sr ","r rrrrrrrrr rrrrrrr rr sr ","r rrrrrrrrr rrrrrrr rr r ","r rrrrrrrrr rrrrrrr rr rr "," s ","r rrrrrrrrr rrrrrrr rr rr ","r rrrrrrrrr rrrrrrr rr rr "," rr "," s "," rs ","r sr rr r ","r s rr s rr r ","r rssrr rss rr r ","r rssrr rss rr r ","r rrrrr rrrss rr r ","r rrrrr rrrss rr r ","r rrrrr rrrss rr r ","r rrrrr rrrss rr r ","r rrrrrsss rrrrr rr r ","r rrrrrsss rrrrr rr r ","r rrrrrrrr rrrrr rr r ","r rrrrrrrr rrrrr rr r ","r rrrrrrrr rrrrr rr r ","r rrrrrrrr rrrrrr rr r "," r "," s ","r srrrrrrrr rrrrrrs rr r ","r srrrrrrrr rrrrrrs rr r ","r rrrrrrrrr rrrrrrr rr r ","r rrrrrrrrr rrrrrrr rr r ","r rrrrrrrrr rrrrrrr rr r ","r rrrrrrrrr rrrrrrr rr r ","r rrrrrrrrr rrrrrrr rr rr ","r rrrrrrrrr rrrrrrr rr rr "," s s sssssssss s ss s ss","r rrrrrrrrr rrrrrrr rr rr "," r "],D.actionTableNumber=[` 1 0 /.-,+*)(' & %$ # "!`," J ","a aaaaaaaaa aaaaaaa aa a "," YYYYY ",` 1 0 /.-,+*)(' & %$ # "!`,`K1 KKKKKKKK . +*)('KKKKKK KK# K" `,` 1 0 /.-,+*)(' & %$ # "!`," N "," O ","e eeeeeeeee eeeeeee ee ee ","f fffffffff fffffff ff ff ","d ddddddddd ddddddd dd dd ","B BBBBBBBBB BBBBBBB BB BB ","A AAAAAAAAA AAAAAAA AA AA "," P "," Q ",` 1 . +*)(' # " `,"b bbbbbbbbb bbbbbbb bb b "," ","! S !! ! ",'" T" "" " ',"$ V $$ U $$ $ ","& &ZY&& &XW && & ",") ))))) )))\\[ )) ) ",". ....._^] ..... .. . ","1 11111111 11111 11 1 ","5 55555555 55555` 55 5 ","7 77777777 777777 77 7 ","9 99999999 999999 99 9 ",": c:::::::: ::::::b :: a: ","I fIIIIIIII IIIIIIe II I ","= ========= ======= == == ","? ????????? ??????? ?? ?? ","C CCCCCCCCC CCCCCCC CC CC ","J JJJJJJJJ JJJJJJ JJ J ","M MMMMMMMM MMMMMM MM M ","N NNNNNNNNN NNNNNNN NN N ","P PPPPPPPPP PPPPPPP PP P "," +*)(' ","R RRRRRRRRR RRRRRRR RR aR ","U UUUUUUUUU UUUUUUU UU U ","Z ZZZZZZZZZ ZZZZZZZ ZZ ZZ ","c ccccccccc ccccccc cc cc "," j ","L fLLLLLLLL LLLLLLe LL L ","6 66666666 66666 66 6 "," k "," l "," XXXXX ",` 1 0 /.-,+*)(' & %$m # "!`,"_ f________ ______e __ _ ",` 1 0 /.-,+*)(' & %$ # "!`,` 1 0 /.-,+*)(' & %$ # "!`,` 1 0 /.-,+*)(' & %$ # "!`,` 1 0 /.-,+*)(' & %$ # "!`,` 1 0 /.-,+*)(' & %$ # "!`,` 1 0 /.-,+*)(' & %$ # "!`,` 1 0 /.-,+*)(' & %$ # "!`,` 1 0 /.-,+*)(' & %$ # "!`,` 1 0 /.-,+*)(' & %$ # "!`,` 1 0 /.-,+*)(' & %$ # "!`,` 1 0 /.-,+*)(' & %$ # "!`,` 1 0 /.-,+*)(' & %$ # "!`,` 1 0 /.-,+*)(' & %$ # "!`,` 1 0 /.-,+*)(' %$ # "!`,` 1 0 /.-,+*)(' & %$ # "!`,` 1 . +*)(' # " `,` 1 . +*)(' # " `,"> >>>>>>>>> >>>>>>> >> >> ",` 1 . +*)(' # " `,` 1 . +*)(' # " `,"Q QQQQQQQQQ QQQQQQQ QQ aQ ","V VVVVVVVVV VVVVVVV VV aV ","T TTTTTTTTT TTTTTTT TT T ","@ @@@@@@@@@ @@@@@@@ @@ @@ "," ‡ ","[ [[[[[[[[[ [[[[[[[ [[ [[ ","D DDDDDDDDD DDDDDDD DD DD "," HH "," ˆ "," F‰ ","# T# ## # ","% V %% U %% % ","' 'ZY'' 'XW '' ' ","( (ZY(( (XW (( ( ","+ +++++ +++\\[ ++ + ","* ***** ***\\[ ** * ","- ----- ---\\[ -- - ",", ,,,,, ,,,\\[ ,, , ","0 00000_^] 00000 00 0 ","/ /////_^] ///// // / ","2 22222222 22222 22 2 ","3 33333333 33333 33 3 ","4 44444444 44444 44 4 ","8 88888888 888888 88 8 "," ^ "," Š ","; f;;;;;;;; ;;;;;;e ;; ; ","< f<<<<<<<< <<<<<<e << < ","O OOOOOOOOO OOOOOOO OO O ","` ````````` ``````` `` ` ","S SSSSSSSSS SSSSSSS SS S ","W WWWWWWWWW WWWWWWW WW W ","\\ \\\\\\\\\\\\\\\\\\ \\\\\\\\\\\\\\ \\\\ \\\\ ","E EEEEEEEEE EEEEEEE EE EE ",` 1 0 /.-,+*)(' & %$ # "!`,"] ]]]]]]]]] ]]]]]]] ]] ]] "," G "],D.gotoTable=["3456789:;<=>?@ AB CDEFGH IJ "," "," "," ","L456789:;<=>?@ AB CDEFGH IJ "," M EFGH IJ "," N;<=>?@ AB CDEFGH IJ "," "," "," "," "," "," "," "," "," "," S EFGH IJ "," "," "," "," "," "," "," "," "," "," "," "," "," e "," "," "," "," "," "," "," "," "," h J "," i j "," "," "," "," "," "," "," "," "," ","o456789:;<=>?@ ABpqCDEFGH IJ "," "," r6789:;<=>?@ AB CDEFGH IJ "," s789:;<=>?@ AB CDEFGH IJ "," t89:;<=>?@ AB CDEFGH IJ "," u89:;<=>?@ AB CDEFGH IJ "," v9:;<=>?@ AB CDEFGH IJ "," w9:;<=>?@ AB CDEFGH IJ "," x9:;<=>?@ AB CDEFGH IJ "," y9:;<=>?@ AB CDEFGH IJ "," z:;<=>?@ AB CDEFGH IJ "," {:;<=>?@ AB CDEFGH IJ "," |;<=>?@ AB CDEFGH IJ "," };<=>?@ AB CDEFGH IJ "," ~;<=>?@ AB CDEFGH IJ "," =>?@ AB CDEFGH IJ ","€456789:;<=>?@ AB CDEFGH IJ"," ‚ EFGH IJ "," ƒ EFGH IJ "," "," „ GH IJ "," … GH IJ "," i † "," i ‡ "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," ","o456789:;<=>?@ ABŒqCDEFGH IJ "," "," "],D.productions=[[1,1,2],[2,1,3],[3,1,4],[3,3,3,-9,4],[4,1,5],[4,3,4,-8,5],[5,1,6],[5,3,5,-22,6],[5,3,5,-5,6],[6,1,7],[6,3,6,-23,7],[6,3,6,-24,7],[6,3,6,-6,7],[6,3,6,-7,7],[7,1,8],[7,3,7,-25,8],[7,3,7,-26,8],[8,1,9],[8,3,8,-12,9],[8,3,8,-11,9],[8,3,8,-10,9],[9,1,10],[9,2,-26,9],[10,1,11],[10,3,10,-27,11],[11,1,12],[11,1,13],[11,3,13,-28,14],[11,3,13,-4,14],[13,1,15],[13,2,13,16],[15,1,17],[15,3,-29,2,-30],[15,1,-15],[15,1,-16],[15,1,18],[18,3,-13,-29,-30],[18,4,-13,-29,19,-30],[19,1,20],[19,3,20,-31,19],[20,1,2],[12,1,14],[12,1,21],[21,1,-28],[21,2,-28,14],[21,1,22],[14,1,23],[14,3,14,-28,23],[14,1,24],[23,2,25,26],[23,1,26],[23,3,25,26,27],[23,2,26,27],[23,1,28],[27,1,16],[27,2,16,27],[25,2,-14,-3],[25,1,-32],[26,1,29],[26,3,-20,-29,-30],[26,4,-21,-29,-15,-30],[16,3,-33,30,-34],[30,1,2],[22,2,-4,14],[24,3,14,-4,23],[28,1,-35],[28,1,-2],[17,2,-36,-18],[29,1,-17],[29,1,-19],[29,1,-18]],D.DOUBLEDOT=2,D.DOUBLECOLON=3,D.DOUBLESLASH=4,D.NOTEQUAL=5,D.LESSTHANOREQUAL=6,D.GREATERTHANOREQUAL=7,D.AND=8,D.OR=9,D.MOD=10,D.DIV=11,D.MULTIPLYOPERATOR=12,D.FUNCTIONNAME=13,D.AXISNAME=14,D.LITERAL=15,D.NUMBER=16,D.ASTERISKNAMETEST=17,D.QNAME=18,D.NCNAMECOLONASTERISK=19,D.NODETYPE=20,D.PROCESSINGINSTRUCTIONWITHLITERAL=21,D.EQUALS=22,D.LESSTHAN=23,D.GREATERTHAN=24,D.PLUS=25,D.MINUS=26,D.BAR=27,D.SLASH=28,D.LEFTPARENTHESIS=29,D.RIGHTPARENTHESIS=30,D.COMMA=31,D.AT=32,D.LEFTBRACKET=33,D.RIGHTBRACKET=34,D.DOT=35,D.DOLLAR=36,D.prototype.tokenize=function(e){for(var s=[],I=[],L=e+"\0",u=0,P=L.charAt(u++);;){for(;P==" "||P==" "||P=="\r"||P==`
9
- `;)P=L.charAt(u++);if(P=="\0"||u>=L.length)break;if(P=="("){s.push(D.LEFTPARENTHESIS),I.push(P),P=L.charAt(u++);continue}if(P==")"){s.push(D.RIGHTPARENTHESIS),I.push(P),P=L.charAt(u++);continue}if(P=="["){s.push(D.LEFTBRACKET),I.push(P),P=L.charAt(u++);continue}if(P=="]"){s.push(D.RIGHTBRACKET),I.push(P),P=L.charAt(u++);continue}if(P=="@"){s.push(D.AT),I.push(P),P=L.charAt(u++);continue}if(P==","){s.push(D.COMMA),I.push(P),P=L.charAt(u++);continue}if(P=="|"){s.push(D.BAR),I.push(P),P=L.charAt(u++);continue}if(P=="+"){s.push(D.PLUS),I.push(P),P=L.charAt(u++);continue}if(P=="-"){s.push(D.MINUS),I.push(P),P=L.charAt(u++);continue}if(P=="="){s.push(D.EQUALS),I.push(P),P=L.charAt(u++);continue}if(P=="$"){s.push(D.DOLLAR),I.push(P),P=L.charAt(u++);continue}if(P=="."){if(P=L.charAt(u++),P=="."){s.push(D.DOUBLEDOT),I.push(".."),P=L.charAt(u++);continue}if(P>="0"&&P<="9"){var se="."+P;for(P=L.charAt(u++);P>="0"&&P<="9";)se+=P,P=L.charAt(u++);s.push(D.NUMBER),I.push(se);continue}s.push(D.DOT),I.push(".");continue}if(P=="'"||P=='"'){for(var he=P,Me="";u<L.length&&(P=L.charAt(u))!==he;)Me+=P,u+=1;if(P!==he)throw qe.fromMessage("Unterminated string literal: "+he+Me);u+=1,s.push(D.LITERAL),I.push(Me),P=L.charAt(u++);continue}if(P>="0"&&P<="9"){var se=P;for(P=L.charAt(u++);P>="0"&&P<="9";)se+=P,P=L.charAt(u++);if(P=="."&&L.charAt(u)>="0"&&L.charAt(u)<="9")for(se+=P,se+=L.charAt(u++),P=L.charAt(u++);P>="0"&&P<="9";)se+=P,P=L.charAt(u++);s.push(D.NUMBER),I.push(se);continue}if(P=="*"){if(s.length>0){var oe=s[s.length-1];if(oe!=D.AT&&oe!=D.DOUBLECOLON&&oe!=D.LEFTPARENTHESIS&&oe!=D.LEFTBRACKET&&oe!=D.AND&&oe!=D.OR&&oe!=D.MOD&&oe!=D.DIV&&oe!=D.MULTIPLYOPERATOR&&oe!=D.SLASH&&oe!=D.DOUBLESLASH&&oe!=D.BAR&&oe!=D.PLUS&&oe!=D.MINUS&&oe!=D.EQUALS&&oe!=D.NOTEQUAL&&oe!=D.LESSTHAN&&oe!=D.LESSTHANOREQUAL&&oe!=D.GREATERTHAN&&oe!=D.GREATERTHANOREQUAL){s.push(D.MULTIPLYOPERATOR),I.push(P),P=L.charAt(u++);continue}}s.push(D.ASTERISKNAMETEST),I.push(P),P=L.charAt(u++);continue}if(P==":"&&L.charAt(u)==":"){s.push(D.DOUBLECOLON),I.push("::"),u++,P=L.charAt(u++);continue}if(P=="/"){if(P=L.charAt(u++),P=="/"){s.push(D.DOUBLESLASH),I.push("//"),P=L.charAt(u++);continue}s.push(D.SLASH),I.push("/");continue}if(P=="!"&&L.charAt(u)=="="){s.push(D.NOTEQUAL),I.push("!="),u++,P=L.charAt(u++);continue}if(P=="<"){if(L.charAt(u)=="="){s.push(D.LESSTHANOREQUAL),I.push("<="),u++,P=L.charAt(u++);continue}s.push(D.LESSTHAN),I.push("<"),P=L.charAt(u++);continue}if(P==">"){if(L.charAt(u)=="="){s.push(D.GREATERTHANOREQUAL),I.push(">="),u++,P=L.charAt(u++);continue}s.push(D.GREATERTHAN),I.push(">"),P=L.charAt(u++);continue}if(P=="_"||Ie.isLetter(P.charCodeAt(0))){var Se=P;for(P=L.charAt(u++);Ie.isNCNameChar(P.charCodeAt(0));)Se+=P,P=L.charAt(u++);if(s.length>0){var oe=s[s.length-1];if(oe!=D.AT&&oe!=D.DOUBLECOLON&&oe!=D.LEFTPARENTHESIS&&oe!=D.LEFTBRACKET&&oe!=D.AND&&oe!=D.OR&&oe!=D.MOD&&oe!=D.DIV&&oe!=D.MULTIPLYOPERATOR&&oe!=D.SLASH&&oe!=D.DOUBLESLASH&&oe!=D.BAR&&oe!=D.PLUS&&oe!=D.MINUS&&oe!=D.EQUALS&&oe!=D.NOTEQUAL&&oe!=D.LESSTHAN&&oe!=D.LESSTHANOREQUAL&&oe!=D.GREATERTHAN&&oe!=D.GREATERTHANOREQUAL){if(Se=="and"){s.push(D.AND),I.push(Se);continue}if(Se=="or"){s.push(D.OR),I.push(Se);continue}if(Se=="mod"){s.push(D.MOD),I.push(Se);continue}if(Se=="div"){s.push(D.DIV),I.push(Se);continue}}}if(P==":"){if(L.charAt(u)=="*"){s.push(D.NCNAMECOLONASTERISK),I.push(Se+":*"),u++,P=L.charAt(u++);continue}if(L.charAt(u)=="_"||Ie.isLetter(L.charCodeAt(u))){for(Se+=":",P=L.charAt(u++);Ie.isNCNameChar(P.charCodeAt(0));)Se+=P,P=L.charAt(u++);if(P=="("){s.push(D.FUNCTIONNAME),I.push(Se);continue}s.push(D.QNAME),I.push(Se);continue}if(L.charAt(u)==":"){s.push(D.AXISNAME),I.push(Se);continue}}if(P=="("){if(Se=="comment"||Se=="text"||Se=="node"){s.push(D.NODETYPE),I.push(Se);continue}if(Se=="processing-instruction"){L.charAt(u)==")"?s.push(D.NODETYPE):s.push(D.PROCESSINGINSTRUCTIONWITHLITERAL),I.push(Se);continue}s.push(D.FUNCTIONNAME),I.push(Se);continue}s.push(D.QNAME),I.push(Se);continue}throw new Error("Unexpected character "+P)}return s.push(1),I.push("[EOF]"),[s,I]},D.SHIFT="s",D.REDUCE="r",D.ACCEPT="a",D.prototype.parse=function(Me){if(!Me)throw new Error("XPath expression unspecified.");if(typeof Me!="string")throw new Error("XPath expression must be a string.");var s,I,L=this.tokenize(Me);if(L!=null){s=L[0],I=L[1];var u=0,P=[],se=[],he=[],Me,oe,Se;for(P.push(0),se.push(1),he.push("_S"),oe=s[u],Se=I[u++];;)switch(Me=P[P.length-1],D.actionTable[Me].charAt(oe-1)){case D.SHIFT:se.push(-oe),he.push(Se),P.push(D.actionTableNumber[Me].charCodeAt(oe-1)-32),oe=s[u],Se=I[u++];break;case D.REDUCE:for(var Ke=D.productions[D.actionTableNumber[Me].charCodeAt(oe-1)-32][1],ze=[],He=0;He<Ke;He++)se.pop(),ze.unshift(he.pop()),P.pop();var Tt=P[P.length-1];se.push(D.productions[D.actionTableNumber[Me].charCodeAt(oe-1)-32][0]),this.reduceActions[D.actionTableNumber[Me].charCodeAt(oe-1)-32]==null?he.push(ze[0]):he.push(this.reduceActions[D.actionTableNumber[Me].charCodeAt(oe-1)-32](ze)),P.push(D.gotoTable[Tt].charCodeAt(D.productions[D.actionTableNumber[Me].charCodeAt(oe-1)-32][0]-2)-33);break;case D.ACCEPT:return new Ae(he.pop());default:throw new Error("XPath parse error")}}},Ae.prototype=new Object,Ae.prototype.constructor=Ae,Ae.superclass=Object.prototype;function Ae(e){this.expression=e}Ae.prototype.toString=function(){return this.expression.toString()};function H(e,s,I){s in e||(e[s]=I)}Ae.prototype.evaluate=function(e){var s=e.expressionContextNode;if(!(T(s)||i(s)))throw new Error("Context node does not appear to be a valid DOM node.");return e.contextNode=e.expressionContextNode,e.contextSize=1,e.contextPosition=1,e.isHtml&&(H(e,"caseInsensitive",!0),H(e,"allowAnyNamespaceForNoPrefix",!0)),H(e,"caseInsensitive",!1),this.expression.evaluate(e)},Ae.XML_NAMESPACE_URI="http://www.w3.org/XML/1998/namespace",Ae.XMLNS_NAMESPACE_URI="http://www.w3.org/2000/xmlns/",g.prototype=new Object,g.prototype.constructor=g,g.superclass=Object.prototype;function g(){}g.prototype.init=function(){},g.prototype.toString=function(){return"<Expression>"},g.prototype.evaluate=function(e){throw new Error("Could not evaluate expression.")},J.prototype=new g,J.prototype.constructor=J,J.superclass=g.prototype;function J(e){arguments.length>0&&this.init(e)}J.prototype.init=function(e){this.rhs=e},K.prototype=new J,K.prototype.constructor=K,K.superclass=J.prototype;function K(e){arguments.length>0&&this.init(e)}K.prototype.init=function(e){K.superclass.init.call(this,e)},K.prototype.evaluate=function(e){return this.rhs.evaluate(e).number().negate()},K.prototype.toString=function(){return"-"+this.rhs.toString()},k.prototype=new g,k.prototype.constructor=k,k.superclass=g.prototype;function k(e,s){arguments.length>0&&this.init(e,s)}k.prototype.init=function(e,s){this.lhs=e,this.rhs=s},ae.prototype=new k,ae.prototype.constructor=ae,ae.superclass=k.prototype;function ae(e,s){arguments.length>0&&this.init(e,s)}ae.prototype.init=function(e,s){ae.superclass.init.call(this,e,s)},ae.prototype.toString=function(){return"("+this.lhs.toString()+" or "+this.rhs.toString()+")"},ae.prototype.evaluate=function(e){var s=this.lhs.evaluate(e).bool();return s.booleanValue()?s:this.rhs.evaluate(e).bool()},ce.prototype=new k,ce.prototype.constructor=ce,ce.superclass=k.prototype;function ce(e,s){arguments.length>0&&this.init(e,s)}ce.prototype.init=function(e,s){ce.superclass.init.call(this,e,s)},ce.prototype.toString=function(){return"("+this.lhs.toString()+" and "+this.rhs.toString()+")"},ce.prototype.evaluate=function(e){var s=this.lhs.evaluate(e).bool();return s.booleanValue()?this.rhs.evaluate(e).bool():s},De.prototype=new k,De.prototype.constructor=De,De.superclass=k.prototype;function De(e,s){arguments.length>0&&this.init(e,s)}De.prototype.init=function(e,s){De.superclass.init.call(this,e,s)},De.prototype.toString=function(){return"("+this.lhs.toString()+" = "+this.rhs.toString()+")"},De.prototype.evaluate=function(e){return this.lhs.evaluate(e).equals(this.rhs.evaluate(e))},Y.prototype=new k,Y.prototype.constructor=Y,Y.superclass=k.prototype;function Y(e,s){arguments.length>0&&this.init(e,s)}Y.prototype.init=function(e,s){Y.superclass.init.call(this,e,s)},Y.prototype.toString=function(){return"("+this.lhs.toString()+" != "+this.rhs.toString()+")"},Y.prototype.evaluate=function(e){return this.lhs.evaluate(e).notequal(this.rhs.evaluate(e))},Q.prototype=new k,Q.prototype.constructor=Q,Q.superclass=k.prototype;function Q(e,s){arguments.length>0&&this.init(e,s)}Q.prototype.init=function(e,s){Q.superclass.init.call(this,e,s)},Q.prototype.evaluate=function(e){return this.lhs.evaluate(e).lessthan(this.rhs.evaluate(e))},Q.prototype.toString=function(){return"("+this.lhs.toString()+" < "+this.rhs.toString()+")"},Oe.prototype=new k,Oe.prototype.constructor=Oe,Oe.superclass=k.prototype;function Oe(e,s){arguments.length>0&&this.init(e,s)}Oe.prototype.init=function(e,s){Oe.superclass.init.call(this,e,s)},Oe.prototype.evaluate=function(e){return this.lhs.evaluate(e).greaterthan(this.rhs.evaluate(e))},Oe.prototype.toString=function(){return"("+this.lhs.toString()+" > "+this.rhs.toString()+")"},me.prototype=new k,me.prototype.constructor=me,me.superclass=k.prototype;function me(e,s){arguments.length>0&&this.init(e,s)}me.prototype.init=function(e,s){me.superclass.init.call(this,e,s)},me.prototype.evaluate=function(e){return this.lhs.evaluate(e).lessthanorequal(this.rhs.evaluate(e))},me.prototype.toString=function(){return"("+this.lhs.toString()+" <= "+this.rhs.toString()+")"},Te.prototype=new k,Te.prototype.constructor=Te,Te.superclass=k.prototype;function Te(e,s){arguments.length>0&&this.init(e,s)}Te.prototype.init=function(e,s){Te.superclass.init.call(this,e,s)},Te.prototype.evaluate=function(e){return this.lhs.evaluate(e).greaterthanorequal(this.rhs.evaluate(e))},Te.prototype.toString=function(){return"("+this.lhs.toString()+" >= "+this.rhs.toString()+")"},v.prototype=new k,v.prototype.constructor=v,v.superclass=k.prototype;function v(e,s){arguments.length>0&&this.init(e,s)}v.prototype.init=function(e,s){v.superclass.init.call(this,e,s)},v.prototype.evaluate=function(e){return this.lhs.evaluate(e).number().plus(this.rhs.evaluate(e).number())},v.prototype.toString=function(){return"("+this.lhs.toString()+" + "+this.rhs.toString()+")"},p.prototype=new k,p.prototype.constructor=p,p.superclass=k.prototype;function p(e,s){arguments.length>0&&this.init(e,s)}p.prototype.init=function(e,s){p.superclass.init.call(this,e,s)},p.prototype.evaluate=function(e){return this.lhs.evaluate(e).number().minus(this.rhs.evaluate(e).number())},p.prototype.toString=function(){return"("+this.lhs.toString()+" - "+this.rhs.toString()+")"},m.prototype=new k,m.prototype.constructor=m,m.superclass=k.prototype;function m(e,s){arguments.length>0&&this.init(e,s)}m.prototype.init=function(e,s){m.superclass.init.call(this,e,s)},m.prototype.evaluate=function(e){return this.lhs.evaluate(e).number().multiply(this.rhs.evaluate(e).number())},m.prototype.toString=function(){return"("+this.lhs.toString()+" * "+this.rhs.toString()+")"},f.prototype=new k,f.prototype.constructor=f,f.superclass=k.prototype;function f(e,s){arguments.length>0&&this.init(e,s)}f.prototype.init=function(e,s){f.superclass.init.call(this,e,s)},f.prototype.evaluate=function(e){return this.lhs.evaluate(e).number().div(this.rhs.evaluate(e).number())},f.prototype.toString=function(){return"("+this.lhs.toString()+" div "+this.rhs.toString()+")"},B.prototype=new k,B.prototype.constructor=B,B.superclass=k.prototype;function B(e,s){arguments.length>0&&this.init(e,s)}B.prototype.init=function(e,s){B.superclass.init.call(this,e,s)},B.prototype.evaluate=function(e){return this.lhs.evaluate(e).number().mod(this.rhs.evaluate(e).number())},B.prototype.toString=function(){return"("+this.lhs.toString()+" mod "+this.rhs.toString()+")"},$.prototype=new k,$.prototype.constructor=$,$.superclass=k.prototype;function $(e,s){arguments.length>0&&this.init(e,s)}$.prototype.init=function(e,s){$.superclass.init.call(this,e,s)},$.prototype.evaluate=function(e){return this.lhs.evaluate(e).nodeset().union(this.rhs.evaluate(e).nodeset())},$.prototype.toString=function(){return O(b,[this.lhs,this.rhs]).join(" | ")},h.prototype=new g,h.prototype.constructor=h,h.superclass=g.prototype;function h(e,s,I){arguments.length>0&&this.init(e,s,I)}h.prototype.init=function(e,s,I){h.superclass.init.call(this),this.filter=e,this.filterPredicates=s,this.locationPath=I};function z(e){for(;e&&e.parentNode;)e=e.parentNode;return e}var Ee=function(e,s,I,L){if(e.length===0)return I;var u=s.extend({});return A(function(P,se){return u.contextSize=P.length,C(function(he,Me){return u.contextNode=he,u.contextPosition=Me+1,h.predicateMatches(se,u)},P)},te(I,L),e)};h.getRoot=function(e,s){var I=s[0];if(I&&I.nodeType===W.DOCUMENT_NODE)return I;if(e.virtualRoot)return e.virtualRoot;if(!I)throw new Error("Context node not found when determining document root.");var L=I.ownerDocument;if(L)return L;for(var u=I;u.parentNode!=null;)u=u.parentNode;return u};var Re=function(e){var s=String(e.name);return s==="xmlns"?"":s.substring(0,6)==="xmlns:"?s.substring(6,s.length):null};h.applyStep=function(e,s,I){if(!I)throw new Error("Context node not found when evaluating XPath step: "+e);var L=[];switch(s.contextNode=I,e.axis){case q.ANCESTOR:if(s.contextNode===s.virtualRoot)break;var u;for(s.contextNode.nodeType==W.ATTRIBUTE_NODE?u=h.getOwnerElement(s.contextNode):u=s.contextNode.parentNode;u!=null&&(e.nodeTest.matches(u,s)&&L.push(u),u!==s.virtualRoot);)u=u.parentNode;break;case q.ANCESTORORSELF:for(var u=s.contextNode;u!=null&&(e.nodeTest.matches(u,s)&&L.push(u),u!==s.virtualRoot);u=u.nodeType==W.ATTRIBUTE_NODE?h.getOwnerElement(u):u.parentNode);break;case q.ATTRIBUTE:var P=s.contextNode.attributes;if(P!=null)for(var se=0;se<P.length;se++){var u=P.item(se);e.nodeTest.matches(u,s)&&L.push(u)}break;case q.CHILD:for(var u=s.contextNode.firstChild;u!=null;u=u.nextSibling)e.nodeTest.matches(u,s)&&L.push(u);break;case q.DESCENDANT:for(var Se=[s.contextNode.firstChild];Se.length>0;)for(var u=Se.pop();u!=null;)e.nodeTest.matches(u,s)&&L.push(u),u.firstChild!=null?(Se.push(u.nextSibling),u=u.firstChild):u=u.nextSibling;break;case q.DESCENDANTORSELF:e.nodeTest.matches(s.contextNode,s)&&L.push(s.contextNode);for(var Se=[s.contextNode.firstChild];Se.length>0;)for(var u=Se.pop();u!=null;)e.nodeTest.matches(u,s)&&L.push(u),u.firstChild!=null?(Se.push(u.nextSibling),u=u.firstChild):u=u.nextSibling;break;case q.FOLLOWING:if(s.contextNode===s.virtualRoot)break;var Se=[];s.contextNode.firstChild!=null?Se.unshift(s.contextNode.firstChild):Se.unshift(s.contextNode.nextSibling);for(var u=s.contextNode.parentNode;u!=null&&u.nodeType!=W.DOCUMENT_NODE&&u!==s.virtualRoot;u=u.parentNode)Se.unshift(u.nextSibling);do for(var u=Se.pop();u!=null;)e.nodeTest.matches(u,s)&&L.push(u),u.firstChild!=null?(Se.push(u.nextSibling),u=u.firstChild):u=u.nextSibling;while(Se.length>0);break;case q.FOLLOWINGSIBLING:if(s.contextNode===s.virtualRoot)break;for(var u=s.contextNode.nextSibling;u!=null;u=u.nextSibling)e.nodeTest.matches(u,s)&&L.push(u);break;case q.NAMESPACE:var he={};if(s.contextNode.nodeType==W.ELEMENT_NODE){he.xml=new nt("xml",null,Ae.XML_NAMESPACE_URI,s.contextNode);for(var u=s.contextNode;u!=null&&u.nodeType==W.ELEMENT_NODE;u=u.parentNode)for(var se=0;se<u.attributes.length;se++){var Me=u.attributes.item(se),oe=Re(Me);oe!=null&&he[oe]==null&&(he[oe]=new nt(oe,Me,Me.value,s.contextNode))}for(var oe in he){var I=he[oe];e.nodeTest.matches(I,s)&&L.push(I)}}break;case q.PARENT:u=null,s.contextNode!==s.virtualRoot&&(s.contextNode.nodeType==W.ATTRIBUTE_NODE?u=h.getOwnerElement(s.contextNode):u=s.contextNode.parentNode),u!=null&&e.nodeTest.matches(u,s)&&L.push(u);break;case q.PRECEDING:var Se;s.virtualRoot!=null?Se=[s.virtualRoot]:Se=[z(s.contextNode)];e:for(;Se.length>0;)for(var u=Se.pop();u!=null;){if(u==s.contextNode)break e;e.nodeTest.matches(u,s)&&L.unshift(u),u.firstChild!=null?(Se.push(u.nextSibling),u=u.firstChild):u=u.nextSibling}break;case q.PRECEDINGSIBLING:if(s.contextNode===s.virtualRoot)break;for(var u=s.contextNode.previousSibling;u!=null;u=u.previousSibling)e.nodeTest.matches(u,s)&&L.push(u);break;case q.SELF:e.nodeTest.matches(s.contextNode,s)&&L.push(s.contextNode);break}return L};function le(e,s,I){return Ee(e.predicates,s,h.applyStep(e,s,I),d(ge,e.axis))}function Ue(e,s,I){return pe(O(le.bind(null,I,e),s))}h.applySteps=function(e,s,I){return A(Ue.bind(null,s),I,e)},h.prototype.applyFilter=function(e,s){if(!this.filter)return{nodes:[e.contextNode]};var I=this.filter.evaluate(e);if(!Ie.instance_of(I,ie)){if(this.filterPredicates!=null&&this.filterPredicates.length>0||this.locationPath!=null)throw new Error("Path expression filter must evaluate to a nodeset if predicates or location path are used");return{nonNodes:I}}return{nodes:Ee(this.filterPredicates||[],s,I.toUnsortedArray(),!1)}},h.applyLocationPath=function(e,s,I){if(!e)return I;var L=e.absolute?[h.getRoot(s,I)]:I;return h.applySteps(e.steps,s,L)},h.prototype.evaluate=function(e){var s=Le(new Ze,e),I=this.applyFilter(e,s);if("nonNodes"in I)return I.nonNodes;var L=new ie;return L.addArray(h.applyLocationPath(this.locationPath,s,I.nodes)),L},h.predicateMatches=function(e,s){var I=e.evaluate(s);return Ie.instance_of(I,V)?s.contextPosition===I.numberValue():I.booleanValue()},h.predicateString=function(e){return U("[","]",e.toString())},h.predicatesString=function(e){return Z("",O(h.predicateString,e))},h.prototype.toString=function(){if(this.filter!=null){var e=b(this.filter);return Ie.instance_of(this.filter,F)?U("'","'",e):this.filterPredicates!=null&&this.filterPredicates.length?U("(",")",e)+h.predicatesString(this.filterPredicates):this.locationPath!=null?e+(this.locationPath.absolute?"":"/")+b(this.locationPath):e}return b(this.locationPath)},h.getOwnerElement=function(e){if(e.ownerElement)return e.ownerElement;try{if(e.selectSingleNode)return e.selectSingleNode("..")}catch{}for(var s=e.nodeType==W.DOCUMENT_NODE?e:e.ownerDocument,I=s.getElementsByTagName("*"),L=0;L<I.length;L++)for(var u=I.item(L),P=u.attributes,se=0;se<P.length;se++){var he=P.item(se);if(he===e)return u}return null},Ne.prototype=new Object,Ne.prototype.constructor=Ne,Ne.superclass=Object.prototype;function Ne(e,s){arguments.length>0&&this.init(e,s)}Ne.prototype.init=function(e,s){this.absolute=e,this.steps=s},Ne.prototype.toString=function(){return(this.absolute?"/":"")+O(b,this.steps).join("/")},q.prototype=new Object,q.prototype.constructor=q,q.superclass=Object.prototype;function q(e,s,I){arguments.length>0&&this.init(e,s,I)}q.prototype.init=function(e,s,I){this.axis=e,this.nodeTest=s,this.predicates=I},q.prototype.toString=function(){return q.STEPNAMES[this.axis]+"::"+this.nodeTest.toString()+h.predicatesString(this.predicates)},q.ANCESTOR=0,q.ANCESTORORSELF=1,q.ATTRIBUTE=2,q.CHILD=3,q.DESCENDANT=4,q.DESCENDANTORSELF=5,q.FOLLOWING=6,q.FOLLOWINGSIBLING=7,q.NAMESPACE=8,q.PARENT=9,q.PRECEDING=10,q.PRECEDINGSIBLING=11,q.SELF=12,q.STEPNAMES=A(function(e,s){return e[s[0]]=s[1],e},{},[[q.ANCESTOR,"ancestor"],[q.ANCESTORORSELF,"ancestor-or-self"],[q.ATTRIBUTE,"attribute"],[q.CHILD,"child"],[q.DESCENDANT,"descendant"],[q.DESCENDANTORSELF,"descendant-or-self"],[q.FOLLOWING,"following"],[q.FOLLOWINGSIBLING,"following-sibling"],[q.NAMESPACE,"namespace"],[q.PARENT,"parent"],[q.PRECEDING,"preceding"],[q.PRECEDINGSIBLING,"preceding-sibling"],[q.SELF,"self"]]);var ge=[q.ANCESTOR,q.ANCESTORORSELF,q.PARENT,q.PRECEDING,q.PRECEDINGSIBLING];c.prototype=new Object,c.prototype.constructor=c,c.superclass=Object.prototype;function c(e,s){arguments.length>0&&this.init(e,s)}c.prototype.init=function(e,s){this.type=e,this.value=s},c.prototype.toString=function(){return"<unknown nodetest type>"},c.prototype.matches=function(e,s){console.warn("unknown node test type")},c.NAMETESTANY=0,c.NAMETESTPREFIXANY=1,c.NAMETESTQNAME=2,c.COMMENT=3,c.TEXT=4,c.PI=5,c.NODE=6,c.isNodeType=function(e){return function(s){return d(e,s.nodeType)}},c.makeNodeTestType=function(e,s,I){var L=I||function(){};return L.prototype=new c(e),L.prototype.constructor=L,Le(L.prototype,s),L},c.makeNodeTypeTest=function(e,s,I){return new(c.makeNodeTestType(e,{matches:c.isNodeType(s),toString:M(I)}))},c.hasPrefix=function(e){return e.prefix||(e.nodeName||e.tagName).indexOf(":")!==-1},c.isElementOrAttribute=c.isNodeType([1,2]),c.nameSpaceMatches=function(e,s,I){var L=I.namespaceURI||"";if(!e)return!L||s.allowAnyNamespaceForNoPrefix&&!c.hasPrefix(I);var u=s.namespaceResolver.getNamespace(e,s.expressionContextNode);if(u==null)throw new Error("Cannot resolve QName "+e);return u===L},c.localNameMatches=function(e,s,I){var L=I.localName||I.nodeName;return s.caseInsensitive?e.toLowerCase()===L.toLowerCase():e===L},c.NameTestPrefixAny=c.makeNodeTestType(c.NAMETESTPREFIXANY,{matches:function(e,s){return c.isElementOrAttribute(e)&&c.nameSpaceMatches(this.prefix,s,e)},toString:function(){return this.prefix+":*"}},function(s){this.prefix=s}),c.NameTestQName=c.makeNodeTestType(c.NAMETESTQNAME,{matches:function(e,s){return c.isNodeType([W.ELEMENT_NODE,W.ATTRIBUTE_NODE,W.NAMESPACE_NODE])(e)&&c.nameSpaceMatches(this.prefix,s,e)&&c.localNameMatches(this.localName,s,e)},toString:function(){return this.name}},function(s){var I=s.split(":");this.name=s,this.prefix=I.length>1?I[0]:null,this.localName=I[I.length>1?1:0]}),c.PITest=c.makeNodeTestType(c.PI,{matches:function(e,s){return c.isNodeType([W.PROCESSING_INSTRUCTION_NODE])(e)&&(e.target||e.nodeName)===this.name},toString:function(){return U('processing-instruction("','")',this.name)}},function(e){this.name=e}),c.nameTestAny=c.makeNodeTypeTest(c.NAMETESTANY,[W.ELEMENT_NODE,W.ATTRIBUTE_NODE,W.NAMESPACE_NODE],"*"),c.textTest=c.makeNodeTypeTest(c.TEXT,[W.TEXT_NODE,W.CDATA_SECTION_NODE],"text()"),c.commentTest=c.makeNodeTypeTest(c.COMMENT,[W.COMMENT_NODE],"comment()"),c.nodeTest=c.makeNodeTypeTest(c.NODE,[W.ELEMENT_NODE,W.ATTRIBUTE_NODE,W.TEXT_NODE,W.CDATA_SECTION_NODE,W.PROCESSING_INSTRUCTION_NODE,W.COMMENT_NODE,W.DOCUMENT_NODE],"node()"),c.anyPiTest=c.makeNodeTypeTest(c.PI,[W.PROCESSING_INSTRUCTION_NODE],"processing-instruction()"),ne.prototype=new g,ne.prototype.constructor=ne,ne.superclass=g.prototype;function ne(e){arguments.length>0&&this.init(e)}ne.prototype.init=function(e){this.variable=e},ne.prototype.toString=function(){return"$"+this.variable},ne.prototype.evaluate=function(e){var s=Ie.resolveQName(this.variable,e.namespaceResolver,e.contextNode,!1);if(s[0]==null)throw new Error("Cannot resolve QName "+fn);var I=e.variableResolver.getVariable(s[1],s[0]);if(!I)throw qe.fromMessage("Undeclared variable: "+this.toString());return I},Be.prototype=new g,Be.prototype.constructor=Be,Be.superclass=g.prototype;function Be(e,s){arguments.length>0&&this.init(e,s)}Be.prototype.init=function(e,s){this.functionName=e,this.arguments=s},Be.prototype.toString=function(){for(var e=this.functionName+"(",s=0;s<this.arguments.length;s++)s>0&&(e+=", "),e+=this.arguments[s].toString();return e+")"},Be.prototype.evaluate=function(e){var s=Xe.getFunctionFromContext(this.functionName,e);if(!s)throw new Error("Unknown function "+this.functionName);var I=[e].concat(this.arguments);return s.apply(e.functionResolver.thisArg,I)};var de=new Object;de.equals=function(e,s){return e.equals(s)},de.notequal=function(e,s){return e.notequal(s)},de.lessthan=function(e,s){return e.lessthan(s)},de.greaterthan=function(e,s){return e.greaterthan(s)},de.lessthanorequal=function(e,s){return e.lessthanorequal(s)},de.greaterthanorequal=function(e,s){return e.greaterthanorequal(s)},F.prototype=new g,F.prototype.constructor=F,F.superclass=g.prototype;function F(e){arguments.length>0&&this.init(e)}F.prototype.init=function(e){this.str=String(e)},F.prototype.toString=function(){return this.str},F.prototype.evaluate=function(e){return this},F.prototype.string=function(){return this},F.prototype.number=function(){return new V(this.str)},F.prototype.bool=function(){return new ue(this.str)},F.prototype.nodeset=function(){throw new Error("Cannot convert string to nodeset")},F.prototype.stringValue=function(){return this.str},F.prototype.numberValue=function(){return this.number().numberValue()},F.prototype.booleanValue=function(){return this.bool().booleanValue()},F.prototype.equals=function(e){return Ie.instance_of(e,ue)?this.bool().equals(e):Ie.instance_of(e,V)?this.number().equals(e):Ie.instance_of(e,ie)?e.compareWithString(this,de.equals):new ue(this.str==e.str)},F.prototype.notequal=function(e){return Ie.instance_of(e,ue)?this.bool().notequal(e):Ie.instance_of(e,V)?this.number().notequal(e):Ie.instance_of(e,ie)?e.compareWithString(this,de.notequal):new ue(this.str!=e.str)},F.prototype.lessthan=function(e){return this.number().lessthan(e)},F.prototype.greaterthan=function(e){return this.number().greaterthan(e)},F.prototype.lessthanorequal=function(e){return this.number().lessthanorequal(e)},F.prototype.greaterthanorequal=function(e){return this.number().greaterthanorequal(e)},V.prototype=new g,V.prototype.constructor=V,V.superclass=g.prototype;function V(e){arguments.length>0&&this.init(e)}V.prototype.init=function(e){this.num=typeof e=="string"?this.parse(e):Number(e)},V.prototype.numberFormat=/^\s*-?[0-9]*\.?[0-9]+\s*$/,V.prototype.parse=function(e){return this.numberFormat.test(e)?parseFloat(e):Number.NaN};function ve(e){for(var s=e.split("e-"),I=s[0].replace(".",""),L=Number(s[1]),u=0;u<L-1;u+=1)I="0"+I;return"0."+I}function Qe(e){for(var s=e.split("e"),I=s[0].replace(".",""),L=Number(s[1]),u=L+1-I.length,P=0;P<u;P+=1)I+="0";return I}V.prototype.toString=function(){var e=this.num.toString();return e.indexOf("e-")!==-1?ve(e):e.indexOf("e")!==-1?Qe(e):e},V.prototype.evaluate=function(e){return this},V.prototype.string=function(){return new F(this.toString())},V.prototype.number=function(){return this},V.prototype.bool=function(){return new ue(this.num)},V.prototype.nodeset=function(){throw new Error("Cannot convert number to nodeset")},V.prototype.stringValue=function(){return this.string().stringValue()},V.prototype.numberValue=function(){return this.num},V.prototype.booleanValue=function(){return this.bool().booleanValue()},V.prototype.negate=function(){return new V(-this.num)},V.prototype.equals=function(e){return Ie.instance_of(e,ue)?this.bool().equals(e):Ie.instance_of(e,F)?this.equals(e.number()):Ie.instance_of(e,ie)?e.compareWithNumber(this,de.equals):new ue(this.num==e.num)},V.prototype.notequal=function(e){return Ie.instance_of(e,ue)?this.bool().notequal(e):Ie.instance_of(e,F)?this.notequal(e.number()):Ie.instance_of(e,ie)?e.compareWithNumber(this,de.notequal):new ue(this.num!=e.num)},V.prototype.lessthan=function(e){return Ie.instance_of(e,ie)?e.compareWithNumber(this,de.greaterthan):Ie.instance_of(e,ue)||Ie.instance_of(e,F)?this.lessthan(e.number()):new ue(this.num<e.num)},V.prototype.greaterthan=function(e){return Ie.instance_of(e,ie)?e.compareWithNumber(this,de.lessthan):Ie.instance_of(e,ue)||Ie.instance_of(e,F)?this.greaterthan(e.number()):new ue(this.num>e.num)},V.prototype.lessthanorequal=function(e){return Ie.instance_of(e,ie)?e.compareWithNumber(this,de.greaterthanorequal):Ie.instance_of(e,ue)||Ie.instance_of(e,F)?this.lessthanorequal(e.number()):new ue(this.num<=e.num)},V.prototype.greaterthanorequal=function(e){return Ie.instance_of(e,ie)?e.compareWithNumber(this,de.lessthanorequal):Ie.instance_of(e,ue)||Ie.instance_of(e,F)?this.greaterthanorequal(e.number()):new ue(this.num>=e.num)},V.prototype.plus=function(e){return new V(this.num+e.num)},V.prototype.minus=function(e){return new V(this.num-e.num)},V.prototype.multiply=function(e){return new V(this.num*e.num)},V.prototype.div=function(e){return new V(this.num/e.num)},V.prototype.mod=function(e){return new V(this.num%e.num)},ue.prototype=new g,ue.prototype.constructor=ue,ue.superclass=g.prototype;function ue(e){arguments.length>0&&this.init(e)}ue.prototype.init=function(e){this.b=!!e},ue.prototype.toString=function(){return this.b.toString()},ue.prototype.evaluate=function(e){return this},ue.prototype.string=function(){return new F(this.b)},ue.prototype.number=function(){return new V(this.b)},ue.prototype.bool=function(){return this},ue.prototype.nodeset=function(){throw new Error("Cannot convert boolean to nodeset")},ue.prototype.stringValue=function(){return this.string().stringValue()},ue.prototype.numberValue=function(){return this.number().numberValue()},ue.prototype.booleanValue=function(){return this.b},ue.prototype.not=function(){return new ue(!this.b)},ue.prototype.equals=function(e){return Ie.instance_of(e,F)||Ie.instance_of(e,V)?this.equals(e.bool()):Ie.instance_of(e,ie)?e.compareWithBoolean(this,de.equals):new ue(this.b==e.b)},ue.prototype.notequal=function(e){return Ie.instance_of(e,F)||Ie.instance_of(e,V)?this.notequal(e.bool()):Ie.instance_of(e,ie)?e.compareWithBoolean(this,de.notequal):new ue(this.b!=e.b)},ue.prototype.lessthan=function(e){return this.number().lessthan(e)},ue.prototype.greaterthan=function(e){return this.number().greaterthan(e)},ue.prototype.lessthanorequal=function(e){return this.number().lessthanorequal(e)},ue.prototype.greaterthanorequal=function(e){return this.number().greaterthanorequal(e)},ue.true_=new ue(!0),ue.false_=new ue(!1),we.prototype=new Object,we.prototype.constructor=we,we.superclass=Object.prototype;function we(e){this.init(e)}we.prototype.init=function(e){this.left=null,this.right=null,this.node=e,this.depth=1},we.prototype.balance=function(){var e=this.left==null?0:this.left.depth,s=this.right==null?0:this.right.depth;if(e>s+1){var I=this.left.left==null?0:this.left.left.depth,L=this.left.right==null?0:this.left.right.depth;I<L&&this.left.rotateRR(),this.rotateLL()}else if(e+1<s){var u=this.right.right==null?0:this.right.right.depth,P=this.right.left==null?0:this.right.left.depth;P>u&&this.right.rotateLL(),this.rotateRR()}},we.prototype.rotateLL=function(){var e=this.node,s=this.right;this.node=this.left.node,this.right=this.left,this.left=this.left.left,this.right.left=this.right.right,this.right.right=s,this.right.node=e,this.right.updateInNewLocation(),this.updateInNewLocation()},we.prototype.rotateRR=function(){var e=this.node,s=this.left;this.node=this.right.node,this.left=this.right,this.right=this.right.right,this.left.right=this.left.left,this.left.left=s,this.left.node=e,this.left.updateInNewLocation(),this.updateInNewLocation()},we.prototype.updateInNewLocation=function(){this.getDepthFromChildren()},we.prototype.getDepthFromChildren=function(){this.depth=this.node==null?0:1,this.left!=null&&(this.depth=this.left.depth+1),this.right!=null&&this.depth<=this.right.depth&&(this.depth=this.right.depth+1)};function Gt(e,s){if(e===s)return 0;if(e.compareDocumentPosition){var I=e.compareDocumentPosition(s);return I&1||I&10?1:I&20?-1:0}for(var L=0,u=0,P=e;P!=null;P=P.parentNode||P.ownerElement)L++;for(var se=s;se!=null;se=se.parentNode||se.ownerElement)u++;if(L>u){for(;L>u;)e=e.parentNode||e.ownerElement,L--;if(e===s)return 1}else if(u>L){for(;u>L;)s=s.parentNode||s.ownerElement,u--;if(e===s)return-1}for(var he=e.parentNode||e.ownerElement,Me=s.parentNode||s.ownerElement;he!==Me;)e=he,s=Me,he=e.parentNode||e.ownerElement,Me=s.parentNode||s.ownerElement;var oe=Ft(e),Se=Ft(s);if(oe&&!Se)return-1;if(!oe&&Se)return 1;if(e.isXPathNamespace){if(e.nodeValue===Ae.XML_NAMESPACE_URI||!s.isXPathNamespace)return-1;if(s.nodeValue===Ae.XML_NAMESPACE_URI)return 1}else if(s.isXPathNamespace)return 1;if(he)for(var Ke=oe?he.attributes:he.childNodes,ze=Ke.length,He=e.baseNode||e,Tt=s.baseNode||s,tt=0;tt<ze;tt+=1){var ut=Ke[tt];if(ut===He)return-1;if(ut===Tt)return 1}throw new Error("Unexpected: could not determine node order")}we.prototype.add=function(e){if(e===this.node)return!1;var s=Gt(e,this.node),I=!1;return s==-1?this.left==null?(this.left=new we(e),I=!0):(I=this.left.add(e),I&&this.balance()):s==1&&(this.right==null?(this.right=new we(e),I=!0):(I=this.right.add(e),I&&this.balance())),I&&this.getDepthFromChildren(),I},ie.prototype=new g,ie.prototype.constructor=ie,ie.superclass=g.prototype;function ie(){this.init()}ie.prototype.init=function(){this.tree=null,this.nodes=[],this.size=0},ie.prototype.toString=function(){var e=this.first();return e==null?"":this.stringForNode(e)},ie.prototype.evaluate=function(e){return this},ie.prototype.string=function(){return new F(this.toString())},ie.prototype.stringValue=function(){return this.toString()},ie.prototype.number=function(){return new V(this.string())},ie.prototype.numberValue=function(){return Number(this.string())},ie.prototype.bool=function(){return new ue(this.booleanValue())},ie.prototype.booleanValue=function(){return!!this.size},ie.prototype.nodeset=function(){return this},ie.prototype.stringForNode=function(e){return e.nodeType==W.DOCUMENT_NODE||e.nodeType==W.ELEMENT_NODE||e.nodeType===W.DOCUMENT_FRAGMENT_NODE?this.stringForContainerNode(e):e.nodeType===W.ATTRIBUTE_NODE?e.value||e.nodeValue:e.isNamespaceNode?e.namespace:e.nodeValue},ie.prototype.stringForContainerNode=function(e){for(var s="",I=e.firstChild;I!=null;I=I.nextSibling){var L=I.nodeType;(L===1||L===3||L===4||L===9||L===11)&&(s+=this.stringForNode(I))}return s},ie.prototype.buildTree=function(){if(!this.tree&&this.nodes.length){this.tree=new we(this.nodes[0]);for(var e=1;e<this.nodes.length;e+=1)this.tree.add(this.nodes[e])}return this.tree},ie.prototype.first=function(){var e=this.buildTree();if(e==null)return null;for(;e.left!=null;)e=e.left;return e.node},ie.prototype.add=function(e){for(var s=0;s<this.nodes.length;s+=1)if(e===this.nodes[s])return;this.tree=null,this.nodes.push(e),this.size+=1},ie.prototype.addArray=function(e){var s=this;N(function(I){s.add(I)},e)},ie.prototype.toArray=function(){var e=[];return this.toArrayRec(this.buildTree(),e),e},ie.prototype.toArrayRec=function(e,s){e!=null&&(this.toArrayRec(e.left,s),s.push(e.node),this.toArrayRec(e.right,s))},ie.prototype.toUnsortedArray=function(){return this.nodes.slice()},ie.prototype.compareWithString=function(e,s){for(var I=this.toUnsortedArray(),L=0;L<I.length;L++){var u=I[L],P=new F(this.stringForNode(u)),se=s(P,e);if(se.booleanValue())return se}return new ue(!1)},ie.prototype.compareWithNumber=function(e,s){for(var I=this.toUnsortedArray(),L=0;L<I.length;L++){var u=I[L],P=new V(this.stringForNode(u)),se=s(P,e);if(se.booleanValue())return se}return new ue(!1)},ie.prototype.compareWithBoolean=function(e,s){return s(this.bool(),e)},ie.prototype.compareWithNodeSet=function(e,s){for(var I=this.toUnsortedArray(),L=function(he,Me){return s(Me,he)},u=0;u<I.length;u++){var P=new F(this.stringForNode(I[u])),se=e.compareWithString(P,L);if(se.booleanValue())return se}return new ue(!1)},ie.compareWith=l(function(e,s){return Ie.instance_of(s,F)?this.compareWithString(s,e):Ie.instance_of(s,V)?this.compareWithNumber(s,e):Ie.instance_of(s,ue)?this.compareWithBoolean(s,e):this.compareWithNodeSet(s,e)}),ie.prototype.equals=ie.compareWith(de.equals),ie.prototype.notequal=ie.compareWith(de.notequal),ie.prototype.lessthan=ie.compareWith(de.lessthan),ie.prototype.greaterthan=ie.compareWith(de.greaterthan),ie.prototype.lessthanorequal=ie.compareWith(de.lessthanorequal),ie.prototype.greaterthanorequal=ie.compareWith(de.greaterthanorequal),ie.prototype.union=function(e){var s=new ie;return s.addArray(this.toUnsortedArray()),s.addArray(e.toUnsortedArray()),s},nt.prototype=new Object,nt.prototype.constructor=nt,nt.superclass=Object.prototype;function nt(e,s,I,L){this.isXPathNamespace=!0,this.baseNode=s,this.ownerDocument=L.ownerDocument,this.nodeName=e,this.prefix=e,this.localName=e,this.namespaceURI=null,this.nodeValue=I,this.ownerElement=L,this.nodeType=W.NAMESPACE_NODE}nt.prototype.toString=function(){return'{ "'+this.prefix+'", "'+this.namespaceURI+'" }'},Ze.prototype=new Object,Ze.prototype.constructor=Ze,Ze.superclass=Object.prototype;function Ze(e,s,I){this.variableResolver=e??new et,this.namespaceResolver=s??new je,this.functionResolver=I??new Xe}Ze.prototype.extend=function(e){return Le(new Ze,this,e)},et.prototype=new Object,et.prototype.constructor=et,et.superclass=Object.prototype;function et(){}et.prototype.getVariable=function(e,s){return null},Xe.prototype=new Object,Xe.prototype.constructor=Xe,Xe.superclass=Object.prototype;function Xe(e){this.thisArg=e??_e,this.functions=new Object,this.addStandardFunctions()}Xe.prototype.addStandardFunctions=function(){this.functions["{}last"]=_e.last,this.functions["{}position"]=_e.position,this.functions["{}count"]=_e.count,this.functions["{}id"]=_e.id,this.functions["{}local-name"]=_e.localName,this.functions["{}namespace-uri"]=_e.namespaceURI,this.functions["{}name"]=_e.name,this.functions["{}string"]=_e.string,this.functions["{}concat"]=_e.concat,this.functions["{}starts-with"]=_e.startsWith,this.functions["{}contains"]=_e.contains,this.functions["{}substring-before"]=_e.substringBefore,this.functions["{}substring-after"]=_e.substringAfter,this.functions["{}substring"]=_e.substring,this.functions["{}string-length"]=_e.stringLength,this.functions["{}normalize-space"]=_e.normalizeSpace,this.functions["{}translate"]=_e.translate,this.functions["{}boolean"]=_e.boolean_,this.functions["{}not"]=_e.not,this.functions["{}true"]=_e.true_,this.functions["{}false"]=_e.false_,this.functions["{}lang"]=_e.lang,this.functions["{}number"]=_e.number,this.functions["{}sum"]=_e.sum,this.functions["{}floor"]=_e.floor,this.functions["{}ceiling"]=_e.ceiling,this.functions["{}round"]=_e.round},Xe.prototype.addFunction=function(e,s,I){this.functions["{"+e+"}"+s]=I},Xe.getFunctionFromContext=function(e,s){var I=Ie.resolveQName(e,s.namespaceResolver,s.contextNode,!1);if(I[0]===null)throw new Error("Cannot resolve QName "+name);return s.functionResolver.getFunction(I[1],I[0])},Xe.prototype.getFunction=function(e,s){return this.functions["{"+s+"}"+e]},je.prototype=new Object,je.prototype.constructor=je,je.superclass=Object.prototype;function je(){}je.prototype.getNamespace=function(e,s){if(e=="xml")return Ae.XML_NAMESPACE_URI;if(e=="xmlns")return Ae.XMLNS_NAMESPACE_URI;for(s.nodeType==W.DOCUMENT_NODE?s=s.documentElement:s.nodeType==W.ATTRIBUTE_NODE?s=h.getOwnerElement(s):s.nodeType!=W.ELEMENT_NODE&&(s=s.parentNode);s!=null&&s.nodeType==W.ELEMENT_NODE;){for(var I=s.attributes,L=0;L<I.length;L++){var u=I.item(L),P=u.name||u.nodeName;if(P==="xmlns"&&e===""||P==="xmlns:"+e)return String(u.value||u.nodeValue)}s=s.parentNode}return null};var _e=new Object;_e.last=function(e){if(arguments.length!=1)throw new Error("Function last expects ()");return new V(e.contextSize)},_e.position=function(e){if(arguments.length!=1)throw new Error("Function position expects ()");return new V(e.contextPosition)},_e.count=function(){var e=arguments[0],s;if(arguments.length!=2||!Ie.instance_of(s=arguments[1].evaluate(e),ie))throw new Error("Function count expects (node-set)");return new V(s.size)},_e.id=function(){var e=arguments[0],s;if(arguments.length!=2)throw new Error("Function id expects (object)");s=arguments[1].evaluate(e),Ie.instance_of(s,ie)?s=s.toArray().join(" "):s=s.stringValue();for(var I=s.split(/[\x0d\x0a\x09\x20]+/),L=new ie,u=e.contextNode.nodeType==W.DOCUMENT_NODE?e.contextNode:e.contextNode.ownerDocument,P=0;P<I.length;P++){var se;u.getElementById?se=u.getElementById(I[P]):se=Ie.getElementById(u,I[P]),se!=null&&L.add(se)}return L},_e.localName=function(e,s){var I;if(arguments.length==1)I=e.contextNode;else if(arguments.length==2)I=s.evaluate(e).first();else throw new Error("Function local-name expects (node-set?)");return I==null?new F(""):new F(I.localName||I.baseName||I.target||I.nodeName||"")},_e.namespaceURI=function(){var e=arguments[0],s;if(arguments.length==1)s=e.contextNode;else if(arguments.length==2)s=arguments[1].evaluate(e).first();else throw new Error("Function namespace-uri expects (node-set?)");return s==null?new F(""):new F(s.namespaceURI||"")},_e.name=function(){var e=arguments[0],s;if(arguments.length==1)s=e.contextNode;else if(arguments.length==2)s=arguments[1].evaluate(e).first();else throw new Error("Function name expects (node-set?)");return s==null?new F(""):s.nodeType==W.ELEMENT_NODE?new F(s.nodeName):s.nodeType==W.ATTRIBUTE_NODE?new F(s.name||s.nodeName):s.nodeType===W.PROCESSING_INSTRUCTION_NODE?new F(s.target||s.nodeName):s.localName==null?new F(""):new F(s.localName)},_e.string=function(){var e=arguments[0];if(arguments.length==1)return new F(ie.prototype.stringForNode(e.contextNode));if(arguments.length==2)return arguments[1].evaluate(e).string();throw new Error("Function string expects (object?)")},_e.concat=function(e){if(arguments.length<3)throw new Error("Function concat expects (string, string[, string]*)");for(var s="",I=1;I<arguments.length;I++)s+=arguments[I].evaluate(e).stringValue();return new F(s)},_e.startsWith=function(){var e=arguments[0];if(arguments.length!=3)throw new Error("Function startsWith expects (string, string)");var s=arguments[1].evaluate(e).stringValue(),I=arguments[2].evaluate(e).stringValue();return new ue(s.substring(0,I.length)==I)},_e.contains=function(){var e=arguments[0];if(arguments.length!=3)throw new Error("Function contains expects (string, string)");var s=arguments[1].evaluate(e).stringValue(),I=arguments[2].evaluate(e).stringValue();return new ue(s.indexOf(I)!==-1)},_e.substringBefore=function(){var e=arguments[0];if(arguments.length!=3)throw new Error("Function substring-before expects (string, string)");var s=arguments[1].evaluate(e).stringValue(),I=arguments[2].evaluate(e).stringValue();return new F(s.substring(0,s.indexOf(I)))},_e.substringAfter=function(){var e=arguments[0];if(arguments.length!=3)throw new Error("Function substring-after expects (string, string)");var s=arguments[1].evaluate(e).stringValue(),I=arguments[2].evaluate(e).stringValue();if(I.length==0)return new F(s);var L=s.indexOf(I);return L==-1?new F(""):new F(s.substring(L+I.length))},_e.substring=function(){var e=arguments[0];if(!(arguments.length==3||arguments.length==4))throw new Error("Function substring expects (string, number, number?)");var s=arguments[1].evaluate(e).stringValue(),I=Math.round(arguments[2].evaluate(e).numberValue())-1,L=arguments.length==4?I+Math.round(arguments[3].evaluate(e).numberValue()):void 0;return new F(s.substring(I,L))},_e.stringLength=function(){var e=arguments[0],s;if(arguments.length==1)s=ie.prototype.stringForNode(e.contextNode);else if(arguments.length==2)s=arguments[1].evaluate(e).stringValue();else throw new Error("Function string-length expects (string?)");return new V(s.length)},_e.normalizeSpace=function(){var e=arguments[0],s;if(arguments.length==1)s=ie.prototype.stringForNode(e.contextNode);else if(arguments.length==2)s=arguments[1].evaluate(e).stringValue();else throw new Error("Function normalize-space expects (string?)");for(var I=0,L=s.length-1;Ie.isSpace(s.charCodeAt(L));)L--;for(var u="";I<=L&&Ie.isSpace(s.charCodeAt(I));)I++;for(;I<=L;)if(Ie.isSpace(s.charCodeAt(I)))for(u+=" ";I<=L&&Ie.isSpace(s.charCodeAt(I));)I++;else u+=s.charAt(I),I++;return new F(u)},_e.translate=function(e,s,I,L){if(arguments.length!=4)throw new Error("Function translate expects (string, string, string)");var u=s.evaluate(e).stringValue(),P=I.evaluate(e).stringValue(),se=L.evaluate(e).stringValue(),he=A(function(oe,Se,Ke){return Se in oe||(oe[Se]=Ke>se.length?"":se[Ke]),oe},{},P),Me=Z("",O(function(oe){return oe in he?he[oe]:oe},u));return new F(Me)},_e.boolean_=function(){var e=arguments[0];if(arguments.length!=2)throw new Error("Function boolean expects (object)");return arguments[1].evaluate(e).bool()},_e.not=function(e,s){if(arguments.length!=2)throw new Error("Function not expects (object)");return s.evaluate(e).bool().not()},_e.true_=function(){if(arguments.length!=1)throw new Error("Function true expects ()");return ue.true_},_e.false_=function(){if(arguments.length!=1)throw new Error("Function false expects ()");return ue.false_},_e.lang=function(){var e=arguments[0];if(arguments.length!=2)throw new Error("Function lang expects (string)");for(var s,I=e.contextNode;I!=null&&I.nodeType!=W.DOCUMENT_NODE;I=I.parentNode){var L=I.getAttributeNS(Ae.XML_NAMESPACE_URI,"lang");if(L!=null){s=String(L);break}}if(s==null)return ue.false_;var u=arguments[1].evaluate(e).stringValue();return new ue(s.substring(0,u.length)==u&&(s.length==u.length||s.charAt(u.length)=="-"))},_e.number=function(){var e=arguments[0];if(!(arguments.length==1||arguments.length==2))throw new Error("Function number expects (object?)");return arguments.length==1?new V(ie.prototype.stringForNode(e.contextNode)):arguments[1].evaluate(e).number()},_e.sum=function(){var e=arguments[0],s;if(arguments.length!=2||!Ie.instance_of(s=arguments[1].evaluate(e),ie))throw new Error("Function sum expects (node-set)");s=s.toUnsortedArray();for(var I=0,L=0;L<s.length;L++)I+=new V(ie.prototype.stringForNode(s[L])).numberValue();return new V(I)},_e.floor=function(){var e=arguments[0];if(arguments.length!=2)throw new Error("Function floor expects (number)");return new V(Math.floor(arguments[1].evaluate(e).numberValue()))},_e.ceiling=function(){var e=arguments[0];if(arguments.length!=2)throw new Error("Function ceiling expects (number)");return new V(Math.ceil(arguments[1].evaluate(e).numberValue()))},_e.round=function(){var e=arguments[0];if(arguments.length!=2)throw new Error("Function round expects (number)");return new V(Math.round(arguments[1].evaluate(e).numberValue()))};var Ie=new Object,Ft=function(e){return e&&(e.nodeType===W.ATTRIBUTE_NODE||e.ownerElement||e.isXPathNamespace)};Ie.splitQName=function(e){var s=e.indexOf(":");return s==-1?[null,e]:[e.substring(0,s),e.substring(s+1)]},Ie.resolveQName=function(e,s,I,L){var u=Ie.splitQName(e);return u[0]!=null?u[0]=s.getNamespace(u[0],I):L?(u[0]=s.getNamespace("",I),u[0]==null&&(u[0]="")):u[0]="",u},Ie.isSpace=function(e){return e==9||e==13||e==10||e==32},Ie.isLetter=function(e){return e>=65&&e<=90||e>=97&&e<=122||e>=192&&e<=214||e>=216&&e<=246||e>=248&&e<=255||e>=256&&e<=305||e>=308&&e<=318||e>=321&&e<=328||e>=330&&e<=382||e>=384&&e<=451||e>=461&&e<=496||e>=500&&e<=501||e>=506&&e<=535||e>=592&&e<=680||e>=699&&e<=705||e==902||e>=904&&e<=906||e==908||e>=910&&e<=929||e>=931&&e<=974||e>=976&&e<=982||e==986||e==988||e==990||e==992||e>=994&&e<=1011||e>=1025&&e<=1036||e>=1038&&e<=1103||e>=1105&&e<=1116||e>=1118&&e<=1153||e>=1168&&e<=1220||e>=1223&&e<=1224||e>=1227&&e<=1228||e>=1232&&e<=1259||e>=1262&&e<=1269||e>=1272&&e<=1273||e>=1329&&e<=1366||e==1369||e>=1377&&e<=1414||e>=1488&&e<=1514||e>=1520&&e<=1522||e>=1569&&e<=1594||e>=1601&&e<=1610||e>=1649&&e<=1719||e>=1722&&e<=1726||e>=1728&&e<=1742||e>=1744&&e<=1747||e==1749||e>=1765&&e<=1766||e>=2309&&e<=2361||e==2365||e>=2392&&e<=2401||e>=2437&&e<=2444||e>=2447&&e<=2448||e>=2451&&e<=2472||e>=2474&&e<=2480||e==2482||e>=2486&&e<=2489||e>=2524&&e<=2525||e>=2527&&e<=2529||e>=2544&&e<=2545||e>=2565&&e<=2570||e>=2575&&e<=2576||e>=2579&&e<=2600||e>=2602&&e<=2608||e>=2610&&e<=2611||e>=2613&&e<=2614||e>=2616&&e<=2617||e>=2649&&e<=2652||e==2654||e>=2674&&e<=2676||e>=2693&&e<=2699||e==2701||e>=2703&&e<=2705||e>=2707&&e<=2728||e>=2730&&e<=2736||e>=2738&&e<=2739||e>=2741&&e<=2745||e==2749||e==2784||e>=2821&&e<=2828||e>=2831&&e<=2832||e>=2835&&e<=2856||e>=2858&&e<=2864||e>=2866&&e<=2867||e>=2870&&e<=2873||e==2877||e>=2908&&e<=2909||e>=2911&&e<=2913||e>=2949&&e<=2954||e>=2958&&e<=2960||e>=2962&&e<=2965||e>=2969&&e<=2970||e==2972||e>=2974&&e<=2975||e>=2979&&e<=2980||e>=2984&&e<=2986||e>=2990&&e<=2997||e>=2999&&e<=3001||e>=3077&&e<=3084||e>=3086&&e<=3088||e>=3090&&e<=3112||e>=3114&&e<=3123||e>=3125&&e<=3129||e>=3168&&e<=3169||e>=3205&&e<=3212||e>=3214&&e<=3216||e>=3218&&e<=3240||e>=3242&&e<=3251||e>=3253&&e<=3257||e==3294||e>=3296&&e<=3297||e>=3333&&e<=3340||e>=3342&&e<=3344||e>=3346&&e<=3368||e>=3370&&e<=3385||e>=3424&&e<=3425||e>=3585&&e<=3630||e==3632||e>=3634&&e<=3635||e>=3648&&e<=3653||e>=3713&&e<=3714||e==3716||e>=3719&&e<=3720||e==3722||e==3725||e>=3732&&e<=3735||e>=3737&&e<=3743||e>=3745&&e<=3747||e==3749||e==3751||e>=3754&&e<=3755||e>=3757&&e<=3758||e==3760||e>=3762&&e<=3763||e==3773||e>=3776&&e<=3780||e>=3904&&e<=3911||e>=3913&&e<=3945||e>=4256&&e<=4293||e>=4304&&e<=4342||e==4352||e>=4354&&e<=4355||e>=4357&&e<=4359||e==4361||e>=4363&&e<=4364||e>=4366&&e<=4370||e==4412||e==4414||e==4416||e==4428||e==4430||e==4432||e>=4436&&e<=4437||e==4441||e>=4447&&e<=4449||e==4451||e==4453||e==4455||e==4457||e>=4461&&e<=4462||e>=4466&&e<=4467||e==4469||e==4510||e==4520||e==4523||e>=4526&&e<=4527||e>=4535&&e<=4536||e==4538||e>=4540&&e<=4546||e==4587||e==4592||e==4601||e>=7680&&e<=7835||e>=7840&&e<=7929||e>=7936&&e<=7957||e>=7960&&e<=7965||e>=7968&&e<=8005||e>=8008&&e<=8013||e>=8016&&e<=8023||e==8025||e==8027||e==8029||e>=8031&&e<=8061||e>=8064&&e<=8116||e>=8118&&e<=8124||e==8126||e>=8130&&e<=8132||e>=8134&&e<=8140||e>=8144&&e<=8147||e>=8150&&e<=8155||e>=8160&&e<=8172||e>=8178&&e<=8180||e>=8182&&e<=8188||e==8486||e>=8490&&e<=8491||e==8494||e>=8576&&e<=8578||e>=12353&&e<=12436||e>=12449&&e<=12538||e>=12549&&e<=12588||e>=44032&&e<=55203||e>=19968&&e<=40869||e==12295||e>=12321&&e<=12329},Ie.isNCNameChar=function(e){return e>=48&&e<=57||e>=1632&&e<=1641||e>=1776&&e<=1785||e>=2406&&e<=2415||e>=2534&&e<=2543||e>=2662&&e<=2671||e>=2790&&e<=2799||e>=2918&&e<=2927||e>=3047&&e<=3055||e>=3174&&e<=3183||e>=3302&&e<=3311||e>=3430&&e<=3439||e>=3664&&e<=3673||e>=3792&&e<=3801||e>=3872&&e<=3881||e==46||e==45||e==95||Ie.isLetter(e)||e>=768&&e<=837||e>=864&&e<=865||e>=1155&&e<=1158||e>=1425&&e<=1441||e>=1443&&e<=1465||e>=1467&&e<=1469||e==1471||e>=1473&&e<=1474||e==1476||e>=1611&&e<=1618||e==1648||e>=1750&&e<=1756||e>=1757&&e<=1759||e>=1760&&e<=1764||e>=1767&&e<=1768||e>=1770&&e<=1773||e>=2305&&e<=2307||e==2364||e>=2366&&e<=2380||e==2381||e>=2385&&e<=2388||e>=2402&&e<=2403||e>=2433&&e<=2435||e==2492||e==2494||e==2495||e>=2496&&e<=2500||e>=2503&&e<=2504||e>=2507&&e<=2509||e==2519||e>=2530&&e<=2531||e==2562||e==2620||e==2622||e==2623||e>=2624&&e<=2626||e>=2631&&e<=2632||e>=2635&&e<=2637||e>=2672&&e<=2673||e>=2689&&e<=2691||e==2748||e>=2750&&e<=2757||e>=2759&&e<=2761||e>=2763&&e<=2765||e>=2817&&e<=2819||e==2876||e>=2878&&e<=2883||e>=2887&&e<=2888||e>=2891&&e<=2893||e>=2902&&e<=2903||e>=2946&&e<=2947||e>=3006&&e<=3010||e>=3014&&e<=3016||e>=3018&&e<=3021||e==3031||e>=3073&&e<=3075||e>=3134&&e<=3140||e>=3142&&e<=3144||e>=3146&&e<=3149||e>=3157&&e<=3158||e>=3202&&e<=3203||e>=3262&&e<=3268||e>=3270&&e<=3272||e>=3274&&e<=3277||e>=3285&&e<=3286||e>=3330&&e<=3331||e>=3390&&e<=3395||e>=3398&&e<=3400||e>=3402&&e<=3405||e==3415||e==3633||e>=3636&&e<=3642||e>=3655&&e<=3662||e==3761||e>=3764&&e<=3769||e>=3771&&e<=3772||e>=3784&&e<=3789||e>=3864&&e<=3865||e==3893||e==3895||e==3897||e==3902||e==3903||e>=3953&&e<=3972||e>=3974&&e<=3979||e>=3984&&e<=3989||e==3991||e>=3993&&e<=4013||e>=4017&&e<=4023||e==4025||e>=8400&&e<=8412||e==8417||e>=12330&&e<=12335||e==12441||e==12442||e==183||e==720||e==721||e==903||e==1600||e==3654||e==3782||e==12293||e>=12337&&e<=12341||e>=12445&&e<=12446||e>=12540&&e<=12542},Ie.coalesceText=function(e){for(var s=e.firstChild;s!=null;s=s.nextSibling)if(s.nodeType==W.TEXT_NODE||s.nodeType==W.CDATA_SECTION_NODE){var I=s.nodeValue,L=s;for(s=s.nextSibling;s!=null&&(s.nodeType==W.TEXT_NODE||s.nodeType==W.CDATA_SECTION_NODE);){I+=s.nodeValue;var u=s;s=s.nextSibling,u.parentNode.removeChild(u)}if(L.nodeType==W.CDATA_SECTION_NODE){var P=L.parentNode;if(L.nextSibling==null)P.removeChild(L),P.appendChild(P.ownerDocument.createTextNode(I));else{var se=L.nextSibling;P.removeChild(L),P.insertBefore(P.ownerDocument.createTextNode(I),se)}}else L.nodeValue=I;if(s==null)break}else s.nodeType==W.ELEMENT_NODE&&Ie.coalesceText(s)},Ie.instance_of=function(e,s){for(;e!=null;){if(e.constructor===s)return!0;if(e===Object)return!1;e=e.constructor.superclass}return!1},Ie.getElementById=function(e,s){if(e.nodeType==W.ELEMENT_NODE&&(e.getAttribute("id")==s||e.getAttributeNS(null,"id")==s))return e;for(var I=e.firstChild;I!=null;I=I.nextSibling){var L=Ie.getElementById(I,s);if(L!=null)return L}return null};var qe=function(){function e(I,L){var u=L?": "+L.toString():"";switch(I){case s.INVALID_EXPRESSION_ERR:return"Invalid expression"+u;case s.TYPE_ERR:return"Type error"+u}return null}function s(I,L,u){var P=Error.call(this,e(I,L)||u);return P.code=I,P.exception=L,P}return s.prototype=Object.create(Error.prototype),s.prototype.constructor=s,s.superclass=Error,s.prototype.toString=function(){return this.message},s.fromMessage=function(I,L){return new s(null,L,I)},s.INVALID_EXPRESSION_ERR=51,s.TYPE_ERR=52,s}();We.prototype={},We.prototype.constructor=We,We.superclass=Object.prototype;function We(e,s,I){this.xpath=I.parse(e),this.context=new Ze,this.context.namespaceResolver=new Rt(s)}We.getOwnerDocument=function(e){return e.nodeType===W.DOCUMENT_NODE?e:e.ownerDocument},We.detectHtmlDom=function(e){if(!e)return!1;var s=We.getOwnerDocument(e);try{return s.implementation.hasFeature("HTML","2.0")}catch{return!0}},We.prototype.evaluate=function(e,s,I){this.context.expressionContextNode=e,this.context.caseInsensitive=We.detectHtmlDom(e);var L=this.xpath.evaluate(this.context);return new fe(L,s)},Rt.prototype={},Rt.prototype.constructor=Rt,Rt.superclass=Object.prototype;function Rt(e){this.xpathNSResolver=e}Rt.prototype.getNamespace=function(e,s){return this.xpathNSResolver==null?null:this.xpathNSResolver.lookupNamespaceURI(e)},st.prototype={},st.prototype.constructor=st,st.superclass=Object.prototype;function st(e){this.node=e,this.namespaceResolver=new je}st.prototype.lookupNamespaceURI=function(e){return this.namespaceResolver.getNamespace(e,this.node)},fe.prototype={},fe.prototype.constructor=fe,fe.superclass=Object.prototype;function fe(e,s){switch(s==fe.ANY_TYPE&&(e.constructor===F?s=fe.STRING_TYPE:e.constructor===V?s=fe.NUMBER_TYPE:e.constructor===ue?s=fe.BOOLEAN_TYPE:e.constructor===ie&&(s=fe.UNORDERED_NODE_ITERATOR_TYPE)),this.resultType=s,s){case fe.NUMBER_TYPE:this.numberValue=e.numberValue();return;case fe.STRING_TYPE:this.stringValue=e.stringValue();return;case fe.BOOLEAN_TYPE:this.booleanValue=e.booleanValue();return;case fe.ANY_UNORDERED_NODE_TYPE:case fe.FIRST_ORDERED_NODE_TYPE:if(e.constructor===ie){this.singleNodeValue=e.first();return}break;case fe.UNORDERED_NODE_ITERATOR_TYPE:case fe.ORDERED_NODE_ITERATOR_TYPE:if(e.constructor===ie){this.invalidIteratorState=!1,this.nodes=e.toArray(),this.iteratorIndex=0;return}break;case fe.UNORDERED_NODE_SNAPSHOT_TYPE:case fe.ORDERED_NODE_SNAPSHOT_TYPE:if(e.constructor===ie){this.nodes=e.toArray(),this.snapshotLength=this.nodes.length;return}break}throw new qe(qe.TYPE_ERR)}fe.prototype.iterateNext=function(){if(this.resultType!=fe.UNORDERED_NODE_ITERATOR_TYPE&&this.resultType!=fe.ORDERED_NODE_ITERATOR_TYPE)throw new qe(qe.TYPE_ERR);return this.nodes[this.iteratorIndex++]},fe.prototype.snapshotItem=function(e){if(this.resultType!=fe.UNORDERED_NODE_SNAPSHOT_TYPE&&this.resultType!=fe.ORDERED_NODE_SNAPSHOT_TYPE)throw new qe(qe.TYPE_ERR);return this.nodes[e]},fe.ANY_TYPE=0,fe.NUMBER_TYPE=1,fe.STRING_TYPE=2,fe.BOOLEAN_TYPE=3,fe.UNORDERED_NODE_ITERATOR_TYPE=4,fe.ORDERED_NODE_ITERATOR_TYPE=5,fe.UNORDERED_NODE_SNAPSHOT_TYPE=6,fe.ORDERED_NODE_SNAPSHOT_TYPE=7,fe.ANY_UNORDERED_NODE_TYPE=8,fe.FIRST_ORDERED_NODE_TYPE=9;function R(e,s){e.createExpression=function(I,L){try{return new We(I,L,s)}catch(u){throw new qe(qe.INVALID_EXPRESSION_ERR,u)}},e.createNSResolver=function(I){return new st(I)},e.evaluate=function(I,L,u,P,se){if(P<0||P>9)throw{code:0,toString:function(){return"Request type not supported"}};return e.createExpression(I,u,s).evaluate(L,P,se)}}try{var S=!0;try{document.implementation&&document.implementation.hasFeature&&document.implementation.hasFeature("XPath",null)&&(S=!1)}catch{}S&&R(document,new D)}catch{}R(r,new D),function(){var e=new D,s=new je,I=new Xe,L=new et;function u(re){return{getNamespace:function(ye,Je){var lt=re(ye,Je);return lt||s.getNamespace(ye,Je)}}}function P(re){return u(re.getNamespace.bind(re))}function se(re){return u(function(ye){return re[ye]})}function he(re){return re&&typeof re.getNamespace=="function"?P(re):typeof re=="function"?u(re):typeof re=="object"?se(re):s}function Me(re){if(re===null||typeof re>"u"||re instanceof F||re instanceof ue||re instanceof V||re instanceof ie)return re;switch(typeof re){case"string":return new F(re);case"boolean":return new ue(re);case"number":return new V(re)}var ye=new ie;return ye.addArray([].concat(re)),ye}function oe(re){return function(ye){var Je=Array.prototype.slice.call(arguments,1).map(function(RS){return RS.evaluate(ye)}),lt=re.apply(this,[].concat(ye,Je));return Me(lt)}}function Se(re){return{getFunction:function(ye,Je){var lt=re(ye,Je);return lt?oe(lt):I.getFunction(ye,Je)}}}function Ke(re){return Se(re.getFunction.bind(re))}function ze(re){return Se(function(ye){return re[ye]})}function He(re){return re&&typeof re.getFunction=="function"?Ke(re):typeof re=="function"?Se(re):typeof re=="object"?ze(re):I}function Tt(re){return{getVariable:function(ye,Je){var lt=re(ye,Je);return Me(lt)}}}function tt(re){if(re){if(typeof re.getVariable=="function")return Tt(re.getVariable.bind(re));if(typeof re=="function")return Tt(re);if(typeof re=="object")return Tt(function(ye){return re[ye]})}return L}function ut(re,ye,Je){re in Je&&(ye[re]=Je[re])}function oS(re){var ye=new Ze;return re?(ye.namespaceResolver=he(re.namespaces),ye.functionResolver=He(re.functions),ye.variableResolver=tt(re.variables),ye.expressionContextNode=re.node,ut("allowAnyNamespaceForNoPrefix",ye,re),ut("isHtml",ye,re)):ye.namespaceResolver=s,ye}function aS(re,ye){var Je=oS(ye);return re.evaluate(Je)}var AS={evaluate:function(re){return aS(this.expression,re)},evaluateNumber:function(re){return this.evaluate(re).numberValue()},evaluateString:function(re){return this.evaluate(re).stringValue()},evaluateBoolean:function(re){return this.evaluate(re).booleanValue()},evaluateNodeSet:function(re){return this.evaluate(re).nodeset()},select:function(re){return this.evaluateNodeSet(re).toArray()},select1:function(re){return this.select(re)[0]}};function iS(re){var ye=e.parse(re);return Object.create(AS,{expression:{value:ye}})}r.parse=iS}(),Le(r,{XPath:Ae,XPathParser:D,XPathResult:fe,Step:q,PathExpr:h,NodeTest:c,LocationPath:Ne,OrOperation:ae,AndOperation:ce,BarOperation:$,EqualsOperation:De,NotEqualOperation:Y,LessThanOperation:Q,GreaterThanOperation:Oe,LessThanOrEqualOperation:me,GreaterThanOrEqualOperation:Te,PlusOperation:v,MinusOperation:p,MultiplyOperation:m,DivOperation:f,ModOperation:B,UnaryMinusOperation:K,FunctionCall:Be,VariableReference:ne,XPathContext:Ze,XNodeSet:ie,XBoolean:ue,XString:F,XNumber:V,NamespaceResolver:je,FunctionResolver:Xe,VariableResolver:et,Utilities:Ie}),r.select=function(e,s,I){return r.selectWithResolver(e,s,null,I)},r.useNamespaces=function(e){var s={mappings:e||{},lookupNamespaceURI:function(I){return this.mappings[I]}};return function(I,L,u){return r.selectWithResolver(I,L,s,u)}},r.selectWithResolver=function(e,s,I,L){var u=new We(e,I,new D),P=fe.ANY_TYPE,se=u.evaluate(s,P,null);return se.resultType==fe.STRING_TYPE?se=se.stringValue:se.resultType==fe.NUMBER_TYPE?se=se.numberValue:se.resultType==fe.BOOLEAN_TYPE?se=se.booleanValue:(se=se.nodes,L&&(se=se[0])),se},r.select1=function(e,s){return r.select(e,s,!0)};var _=function(e){return Array.isArray(e)&&e.every(i)},G=function(e){return function(s){return i(s)&&s.nodeType===e}};Le(r,{isNodeLike:i,isArrayOfNodes:_,isElement:G(W.ELEMENT_NODE),isAttribute:G(W.ATTRIBUTE_NODE),isTextNode:G(W.TEXT_NODE),isCDATASection:G(W.CDATA_SECTION_NODE),isProcessingInstruction:G(W.PROCESSING_INSTRUCTION_NODE),isComment:G(W.COMMENT_NODE),isDocumentNode:G(W.DOCUMENT_NODE),isDocumentTypeNode:G(W.DOCUMENT_TYPE_NODE),isDocumentFragment:G(W.DOCUMENT_FRAGMENT_NODE)})})(t)}(qt)),qt}var Yn=bn();const xn=mE(Yn);var Ut={},at={},Ct={},gE;function Ht(){if(gE)return Ct;gE=1;function E(a,i,l){if(l===void 0&&(l=Array.prototype),a&&typeof l.find=="function")return l.find.call(a,i);for(var N=0;N<a.length;N++)if(Object.prototype.hasOwnProperty.call(a,N)){var A=a[N];if(i.call(void 0,A,N,a))return A}}function t(a,i){return i===void 0&&(i=Object),i&&typeof i.freeze=="function"?i.freeze(a):a}function r(a,i){if(a===null||typeof a!="object")throw new TypeError("target is not an object");for(var l in i)Object.prototype.hasOwnProperty.call(i,l)&&(a[l]=i[l]);return a}var n=t({HTML:"text/html",isHTML:function(a){return a===n.HTML},XML_APPLICATION:"application/xml",XML_TEXT:"text/xml",XML_XHTML_APPLICATION:"application/xhtml+xml",XML_SVG_IMAGE:"image/svg+xml"}),T=t({HTML:"http://www.w3.org/1999/xhtml",isHTML:function(a){return a===T.HTML},SVG:"http://www.w3.org/2000/svg",XML:"http://www.w3.org/XML/1998/namespace",XMLNS:"http://www.w3.org/2000/xmlns/"});return Ct.assign=r,Ct.find=E,Ct.freeze=t,Ct.MIME_TYPE=n,Ct.NAMESPACE=T,Ct}var yE;function GE(){if(yE)return at;yE=1;var E=Ht(),t=E.find,r=E.NAMESPACE;function n(R){return R!==""}function T(R){return R?R.split(/[\t\n\f\r ]+/).filter(n):[]}function a(R,S){return R.hasOwnProperty(S)||(R[S]=!0),R}function i(R){if(!R)return[];var S=T(R);return Object.keys(S.reduce(a,{}))}function l(R){return function(S){return R&&R.indexOf(S)!==-1}}function N(R,S){for(var _ in R)Object.prototype.hasOwnProperty.call(R,_)&&(S[_]=R[_])}function A(R,S){var _=R.prototype;if(!(_ instanceof S)){let G=function(){};G.prototype=S.prototype,G=new G,N(_,G),R.prototype=_=G}_.constructor!=R&&(typeof R!="function"&&console.error("unknown Class:"+R),_.constructor=R)}var O={},C=O.ELEMENT_NODE=1,d=O.ATTRIBUTE_NODE=2,M=O.TEXT_NODE=3,b=O.CDATA_SECTION_NODE=4,Z=O.ENTITY_REFERENCE_NODE=5,U=O.ENTITY_NODE=6,j=O.PROCESSING_INSTRUCTION_NODE=7,te=O.COMMENT_NODE=8,ee=O.DOCUMENT_NODE=9,pe=O.DOCUMENT_TYPE_NODE=10,Le=O.DOCUMENT_FRAGMENT_NODE=11,W=O.NOTATION_NODE=12,D={},Ae={};D.INDEX_SIZE_ERR=(Ae[1]="Index size error",1),D.DOMSTRING_SIZE_ERR=(Ae[2]="DOMString size error",2);var H=D.HIERARCHY_REQUEST_ERR=(Ae[3]="Hierarchy request error",3);D.WRONG_DOCUMENT_ERR=(Ae[4]="Wrong document",4),D.INVALID_CHARACTER_ERR=(Ae[5]="Invalid character",5),D.NO_DATA_ALLOWED_ERR=(Ae[6]="No data allowed",6),D.NO_MODIFICATION_ALLOWED_ERR=(Ae[7]="No modification allowed",7);var g=D.NOT_FOUND_ERR=(Ae[8]="Not found",8);D.NOT_SUPPORTED_ERR=(Ae[9]="Not supported",9);var J=D.INUSE_ATTRIBUTE_ERR=(Ae[10]="Attribute in use",10);D.INVALID_STATE_ERR=(Ae[11]="Invalid state",11),D.SYNTAX_ERR=(Ae[12]="Syntax error",12),D.INVALID_MODIFICATION_ERR=(Ae[13]="Invalid modification",13),D.NAMESPACE_ERR=(Ae[14]="Invalid namespace",14),D.INVALID_ACCESS_ERR=(Ae[15]="Invalid access",15);function K(R,S){if(S instanceof Error)var _=S;else _=this,Error.call(this,Ae[R]),this.message=Ae[R],Error.captureStackTrace&&Error.captureStackTrace(this,K);return _.code=R,S&&(this.message=this.message+": "+S),_}K.prototype=Error.prototype,N(D,K);function k(){}k.prototype={length:0,item:function(R){return R>=0&&R<this.length?this[R]:null},toString:function(R,S){for(var _=[],G=0;G<this.length;G++)We(this[G],_,R,S);return _.join("")},filter:function(R){return Array.prototype.filter.call(this,R)},indexOf:function(R){return Array.prototype.indexOf.call(this,R)}};function ae(R,S){this._node=R,this._refresh=S,ce(this)}function ce(R){var S=R._node._inc||R._node.ownerDocument._inc;if(R._inc!==S){var _=R._refresh(R._node);if(fe(R,"length",_.length),!R.$$length||_.length<R.$$length)for(var G=_.length;G in R;G++)Object.prototype.hasOwnProperty.call(R,G)&&delete R[G];N(_,R),R._inc=S}}ae.prototype.item=function(R){return ce(this),this[R]||null},A(ae,k);function De(){}function Y(R,S){for(var _=R.length;_--;)if(R[_]===S)return _}function Q(R,S,_,G){if(G?S[Y(S,G)]=_:S[S.length++]=_,R){_.ownerElement=R;var e=R.ownerDocument;e&&(G&&B(e,R,G),f(e,R,_))}}function Oe(R,S,_){var G=Y(S,_);if(G>=0){for(var e=S.length-1;G<e;)S[G]=S[++G];if(S.length=e,R){var s=R.ownerDocument;s&&(B(s,R,_),_.ownerElement=null)}}else throw new K(g,new Error(R.tagName+"@"+_))}De.prototype={length:0,item:k.prototype.item,getNamedItem:function(R){for(var S=this.length;S--;){var _=this[S];if(_.nodeName==R)return _}},setNamedItem:function(R){var S=R.ownerElement;if(S&&S!=this._ownerElement)throw new K(J);var _=this.getNamedItem(R.nodeName);return Q(this._ownerElement,this,R,_),_},setNamedItemNS:function(R){var S=R.ownerElement,_;if(S&&S!=this._ownerElement)throw new K(J);return _=this.getNamedItemNS(R.namespaceURI,R.localName),Q(this._ownerElement,this,R,_),_},removeNamedItem:function(R){var S=this.getNamedItem(R);return Oe(this._ownerElement,this,S),S},removeNamedItemNS:function(R,S){var _=this.getNamedItemNS(R,S);return Oe(this._ownerElement,this,_),_},getNamedItemNS:function(R,S){for(var _=this.length;_--;){var G=this[_];if(G.localName==S&&G.namespaceURI==R)return G}return null}};function me(){}me.prototype={hasFeature:function(R,S){return!0},createDocument:function(R,S,_){var G=new m;if(G.implementation=this,G.childNodes=new k,G.doctype=_||null,_&&G.appendChild(_),S){var e=G.createElementNS(R,S);G.appendChild(e)}return G},createDocumentType:function(R,S,_){var G=new ie;return G.name=R,G.nodeName=R,G.publicId=S||"",G.systemId=_||"",G}};function Te(){}Te.prototype={firstChild:null,lastChild:null,previousSibling:null,nextSibling:null,attributes:null,parentNode:null,childNodes:null,ownerDocument:null,nodeValue:null,namespaceURI:null,prefix:null,localName:null,insertBefore:function(R,S){return Be(this,R,S)},replaceChild:function(R,S){Be(this,R,S,ne),S&&this.removeChild(S)},removeChild:function(R){return h(this,R)},appendChild:function(R){return this.insertBefore(R,null)},hasChildNodes:function(){return this.firstChild!=null},cloneNode:function(R){return st(this.ownerDocument||this,this,R)},normalize:function(){for(var R=this.firstChild;R;){var S=R.nextSibling;S&&S.nodeType==M&&R.nodeType==M?(this.removeChild(S),R.appendData(S.data)):(R.normalize(),R=S)}},isSupported:function(R,S){return this.ownerDocument.implementation.hasFeature(R,S)},hasAttributes:function(){return this.attributes.length>0},lookupPrefix:function(R){for(var S=this;S;){var _=S._nsMap;if(_){for(var G in _)if(Object.prototype.hasOwnProperty.call(_,G)&&_[G]===R)return G}S=S.nodeType==d?S.ownerDocument:S.parentNode}return null},lookupNamespaceURI:function(R){for(var S=this;S;){var _=S._nsMap;if(_&&Object.prototype.hasOwnProperty.call(_,R))return _[R];S=S.nodeType==d?S.ownerDocument:S.parentNode}return null},isDefaultNamespace:function(R){var S=this.lookupPrefix(R);return S==null}};function v(R){return R=="<"&&"&lt;"||R==">"&&"&gt;"||R=="&"&&"&amp;"||R=='"'&&"&quot;"||"&#"+R.charCodeAt()+";"}N(O,Te),N(O,Te.prototype);function p(R,S){if(S(R))return!0;if(R=R.firstChild)do if(p(R,S))return!0;while(R=R.nextSibling)}function m(){this.ownerDocument=this}function f(R,S,_){R&&R._inc++;var G=_.namespaceURI;G===r.XMLNS&&(S._nsMap[_.prefix?_.localName:""]=_.value)}function B(R,S,_,G){R&&R._inc++;var e=_.namespaceURI;e===r.XMLNS&&delete S._nsMap[_.prefix?_.localName:""]}function $(R,S,_){if(R&&R._inc){R._inc++;var G=S.childNodes;if(_)G[G.length++]=_;else{for(var e=S.firstChild,s=0;e;)G[s++]=e,e=e.nextSibling;G.length=s,delete G[G.length]}}}function h(R,S){var _=S.previousSibling,G=S.nextSibling;return _?_.nextSibling=G:R.firstChild=G,G?G.previousSibling=_:R.lastChild=_,S.parentNode=null,S.previousSibling=null,S.nextSibling=null,$(R.ownerDocument,R),S}function z(R){return R&&(R.nodeType===Te.DOCUMENT_NODE||R.nodeType===Te.DOCUMENT_FRAGMENT_NODE||R.nodeType===Te.ELEMENT_NODE)}function Ee(R){return R&&(le(R)||Ue(R)||Re(R)||R.nodeType===Te.DOCUMENT_FRAGMENT_NODE||R.nodeType===Te.COMMENT_NODE||R.nodeType===Te.PROCESSING_INSTRUCTION_NODE)}function Re(R){return R&&R.nodeType===Te.DOCUMENT_TYPE_NODE}function le(R){return R&&R.nodeType===Te.ELEMENT_NODE}function Ue(R){return R&&R.nodeType===Te.TEXT_NODE}function Ne(R,S){var _=R.childNodes||[];if(t(_,le)||Re(S))return!1;var G=t(_,Re);return!(S&&G&&_.indexOf(G)>_.indexOf(S))}function q(R,S){var _=R.childNodes||[];function G(s){return le(s)&&s!==S}if(t(_,G))return!1;var e=t(_,Re);return!(S&&e&&_.indexOf(e)>_.indexOf(S))}function ge(R,S,_){if(!z(R))throw new K(H,"Unexpected parent node type "+R.nodeType);if(_&&_.parentNode!==R)throw new K(g,"child not in parent");if(!Ee(S)||Re(S)&&R.nodeType!==Te.DOCUMENT_NODE)throw new K(H,"Unexpected node type "+S.nodeType+" for parent node type "+R.nodeType)}function c(R,S,_){var G=R.childNodes||[],e=S.childNodes||[];if(S.nodeType===Te.DOCUMENT_FRAGMENT_NODE){var s=e.filter(le);if(s.length>1||t(e,Ue))throw new K(H,"More than one element or text in fragment");if(s.length===1&&!Ne(R,_))throw new K(H,"Element in fragment can not be inserted before doctype")}if(le(S)&&!Ne(R,_))throw new K(H,"Only one element can be added and only after doctype");if(Re(S)){if(t(G,Re))throw new K(H,"Only one doctype is allowed");var I=t(G,le);if(_&&G.indexOf(I)<G.indexOf(_))throw new K(H,"Doctype can only be inserted before an element");if(!_&&I)throw new K(H,"Doctype can not be appended since element is present")}}function ne(R,S,_){var G=R.childNodes||[],e=S.childNodes||[];if(S.nodeType===Te.DOCUMENT_FRAGMENT_NODE){var s=e.filter(le);if(s.length>1||t(e,Ue))throw new K(H,"More than one element or text in fragment");if(s.length===1&&!q(R,_))throw new K(H,"Element in fragment can not be inserted before doctype")}if(le(S)&&!q(R,_))throw new K(H,"Only one element can be added and only after doctype");if(Re(S)){if(t(G,function(u){return Re(u)&&u!==_}))throw new K(H,"Only one doctype is allowed");var I=t(G,le);if(_&&G.indexOf(I)<G.indexOf(_))throw new K(H,"Doctype can only be inserted before an element")}}function Be(R,S,_,G){ge(R,S,_),R.nodeType===Te.DOCUMENT_NODE&&(G||c)(R,S,_);var e=S.parentNode;if(e&&e.removeChild(S),S.nodeType===Le){var s=S.firstChild;if(s==null)return S;var I=S.lastChild}else s=I=S;var L=_?_.previousSibling:R.lastChild;s.previousSibling=L,I.nextSibling=_,L?L.nextSibling=s:R.firstChild=s,_==null?R.lastChild=I:_.previousSibling=I;do{s.parentNode=R;var u=R.ownerDocument||R;de(s,u)}while(s!==I&&(s=s.nextSibling));return $(R.ownerDocument||R,R),S.nodeType==Le&&(S.firstChild=S.lastChild=null),S}function de(R,S){if(R.ownerDocument!==S){if(R.ownerDocument=S,R.nodeType===C&&R.attributes)for(var _=0;_<R.attributes.length;_++){var G=R.attributes.item(_);G&&(G.ownerDocument=S)}for(var e=R.firstChild;e;)de(e,S),e=e.nextSibling}}function F(R,S){S.parentNode&&S.parentNode.removeChild(S),S.parentNode=R,S.previousSibling=R.lastChild,S.nextSibling=null,S.previousSibling?S.previousSibling.nextSibling=S:R.firstChild=S,R.lastChild=S,$(R.ownerDocument,R,S);var _=R.ownerDocument||R;return de(S,_),S}m.prototype={nodeName:"#document",nodeType:ee,doctype:null,documentElement:null,_inc:1,insertBefore:function(R,S){if(R.nodeType==Le){for(var _=R.firstChild;_;){var G=_.nextSibling;this.insertBefore(_,S),_=G}return R}return Be(this,R,S),de(R,this),this.documentElement===null&&R.nodeType===C&&(this.documentElement=R),R},removeChild:function(R){return this.documentElement==R&&(this.documentElement=null),h(this,R)},replaceChild:function(R,S){Be(this,R,S,ne),de(R,this),S&&this.removeChild(S),le(R)&&(this.documentElement=R)},importNode:function(R,S){return Rt(this,R,S)},getElementById:function(R){var S=null;return p(this.documentElement,function(_){if(_.nodeType==C&&_.getAttribute("id")==R)return S=_,!0}),S},getElementsByClassName:function(R){var S=i(R);return new ae(this,function(_){var G=[];return S.length>0&&p(_.documentElement,function(e){if(e!==_&&e.nodeType===C){var s=e.getAttribute("class");if(s){var I=R===s;if(!I){var L=i(s);I=S.every(l(L))}I&&G.push(e)}}}),G})},createElement:function(R){var S=new V;S.ownerDocument=this,S.nodeName=R,S.tagName=R,S.localName=R,S.childNodes=new k;var _=S.attributes=new De;return _._ownerElement=S,S},createDocumentFragment:function(){var R=new Xe;return R.ownerDocument=this,R.childNodes=new k,R},createTextNode:function(R){var S=new ue;return S.ownerDocument=this,S.appendData(R),S},createComment:function(R){var S=new we;return S.ownerDocument=this,S.appendData(R),S},createCDATASection:function(R){var S=new Gt;return S.ownerDocument=this,S.appendData(R),S},createProcessingInstruction:function(R,S){var _=new je;return _.ownerDocument=this,_.tagName=_.nodeName=_.target=R,_.nodeValue=_.data=S,_},createAttribute:function(R){var S=new ve;return S.ownerDocument=this,S.name=R,S.nodeName=R,S.localName=R,S.specified=!0,S},createEntityReference:function(R){var S=new et;return S.ownerDocument=this,S.nodeName=R,S},createElementNS:function(R,S){var _=new V,G=S.split(":"),e=_.attributes=new De;return _.childNodes=new k,_.ownerDocument=this,_.nodeName=S,_.tagName=S,_.namespaceURI=R,G.length==2?(_.prefix=G[0],_.localName=G[1]):_.localName=S,e._ownerElement=_,_},createAttributeNS:function(R,S){var _=new ve,G=S.split(":");return _.ownerDocument=this,_.nodeName=S,_.name=S,_.namespaceURI=R,_.specified=!0,G.length==2?(_.prefix=G[0],_.localName=G[1]):_.localName=S,_}},A(m,Te);function V(){this._nsMap={}}V.prototype={nodeType:C,hasAttribute:function(R){return this.getAttributeNode(R)!=null},getAttribute:function(R){var S=this.getAttributeNode(R);return S&&S.value||""},getAttributeNode:function(R){return this.attributes.getNamedItem(R)},setAttribute:function(R,S){var _=this.ownerDocument.createAttribute(R);_.value=_.nodeValue=""+S,this.setAttributeNode(_)},removeAttribute:function(R){var S=this.getAttributeNode(R);S&&this.removeAttributeNode(S)},appendChild:function(R){return R.nodeType===Le?this.insertBefore(R,null):F(this,R)},setAttributeNode:function(R){return this.attributes.setNamedItem(R)},setAttributeNodeNS:function(R){return this.attributes.setNamedItemNS(R)},removeAttributeNode:function(R){return this.attributes.removeNamedItem(R.nodeName)},removeAttributeNS:function(R,S){var _=this.getAttributeNodeNS(R,S);_&&this.removeAttributeNode(_)},hasAttributeNS:function(R,S){return this.getAttributeNodeNS(R,S)!=null},getAttributeNS:function(R,S){var _=this.getAttributeNodeNS(R,S);return _&&_.value||""},setAttributeNS:function(R,S,_){var G=this.ownerDocument.createAttributeNS(R,S);G.value=G.nodeValue=""+_,this.setAttributeNode(G)},getAttributeNodeNS:function(R,S){return this.attributes.getNamedItemNS(R,S)},getElementsByTagName:function(R){return new ae(this,function(S){var _=[];return p(S,function(G){G!==S&&G.nodeType==C&&(R==="*"||G.tagName==R)&&_.push(G)}),_})},getElementsByTagNameNS:function(R,S){return new ae(this,function(_){var G=[];return p(_,function(e){e!==_&&e.nodeType===C&&(R==="*"||e.namespaceURI===R)&&(S==="*"||e.localName==S)&&G.push(e)}),G})}},m.prototype.getElementsByTagName=V.prototype.getElementsByTagName,m.prototype.getElementsByTagNameNS=V.prototype.getElementsByTagNameNS,A(V,Te);function ve(){}ve.prototype.nodeType=d,A(ve,Te);function Qe(){}Qe.prototype={data:"",substringData:function(R,S){return this.data.substring(R,R+S)},appendData:function(R){R=this.data+R,this.nodeValue=this.data=R,this.length=R.length},insertData:function(R,S){this.replaceData(R,0,S)},appendChild:function(R){throw new Error(Ae[H])},deleteData:function(R,S){this.replaceData(R,S,"")},replaceData:function(R,S,_){var G=this.data.substring(0,R),e=this.data.substring(R+S);_=G+_+e,this.nodeValue=this.data=_,this.length=_.length}},A(Qe,Te);function ue(){}ue.prototype={nodeName:"#text",nodeType:M,splitText:function(R){var S=this.data,_=S.substring(R);S=S.substring(0,R),this.data=this.nodeValue=S,this.length=S.length;var G=this.ownerDocument.createTextNode(_);return this.parentNode&&this.parentNode.insertBefore(G,this.nextSibling),G}},A(ue,Qe);function we(){}we.prototype={nodeName:"#comment",nodeType:te},A(we,Qe);function Gt(){}Gt.prototype={nodeName:"#cdata-section",nodeType:b},A(Gt,Qe);function ie(){}ie.prototype.nodeType=pe,A(ie,Te);function nt(){}nt.prototype.nodeType=W,A(nt,Te);function Ze(){}Ze.prototype.nodeType=U,A(Ze,Te);function et(){}et.prototype.nodeType=Z,A(et,Te);function Xe(){}Xe.prototype.nodeName="#document-fragment",Xe.prototype.nodeType=Le,A(Xe,Te);function je(){}je.prototype.nodeType=j,A(je,Te);function _e(){}_e.prototype.serializeToString=function(R,S,_){return Ie.call(R,S,_)},Te.prototype.toString=Ie;function Ie(R,S){var _=[],G=this.nodeType==9&&this.documentElement||this,e=G.prefix,s=G.namespaceURI;if(s&&e==null){var e=G.lookupPrefix(s);if(e==null)var I=[{namespace:s,prefix:null}]}return We(this,_,R,S,I),_.join("")}function Ft(R,S,_){var G=R.prefix||"",e=R.namespaceURI;if(!e||G==="xml"&&e===r.XML||e===r.XMLNS)return!1;for(var s=_.length;s--;){var I=_[s];if(I.prefix===G)return I.namespace!==e}return!0}function qe(R,S,_){R.push(" ",S,'="',_.replace(/[<>&"\t\n\r]/g,v),'"')}function We(R,S,_,G,e){if(e||(e=[]),G)if(R=G(R),R){if(typeof R=="string"){S.push(R);return}}else return;switch(R.nodeType){case C:var s=R.attributes,I=s.length,He=R.firstChild,L=R.tagName;_=r.isHTML(R.namespaceURI)||_;var u=L;if(!_&&!R.prefix&&R.namespaceURI){for(var P,se=0;se<s.length;se++)if(s.item(se).name==="xmlns"){P=s.item(se).value;break}if(!P)for(var he=e.length-1;he>=0;he--){var Me=e[he];if(Me.prefix===""&&Me.namespace===R.namespaceURI){P=Me.namespace;break}}if(P!==R.namespaceURI)for(var he=e.length-1;he>=0;he--){var Me=e[he];if(Me.namespace===R.namespaceURI){Me.prefix&&(u=Me.prefix+":"+L);break}}}S.push("<",u);for(var oe=0;oe<I;oe++){var Se=s.item(oe);Se.prefix=="xmlns"?e.push({prefix:Se.localName,namespace:Se.value}):Se.nodeName=="xmlns"&&e.push({prefix:"",namespace:Se.value})}for(var oe=0;oe<I;oe++){var Se=s.item(oe);if(Ft(Se,_,e)){var Ke=Se.prefix||"",ze=Se.namespaceURI;qe(S,Ke?"xmlns:"+Ke:"xmlns",ze),e.push({prefix:Ke,namespace:ze})}We(Se,S,_,G,e)}if(L===u&&Ft(R,_,e)){var Ke=R.prefix||"",ze=R.namespaceURI;qe(S,Ke?"xmlns:"+Ke:"xmlns",ze),e.push({prefix:Ke,namespace:ze})}if(He||_&&!/^(?:meta|link|img|br|hr|input)$/i.test(L)){if(S.push(">"),_&&/^script$/i.test(L))for(;He;)He.data?S.push(He.data):We(He,S,_,G,e.slice()),He=He.nextSibling;else for(;He;)We(He,S,_,G,e.slice()),He=He.nextSibling;S.push("</",u,">")}else S.push("/>");return;case ee:case Le:for(var He=R.firstChild;He;)We(He,S,_,G,e.slice()),He=He.nextSibling;return;case d:return qe(S,R.name,R.value);case M:return S.push(R.data.replace(/[<&>]/g,v));case b:return S.push("<![CDATA[",R.data,"]]>");case te:return S.push("<!--",R.data,"-->");case pe:var Tt=R.publicId,tt=R.systemId;if(S.push("<!DOCTYPE ",R.name),Tt)S.push(" PUBLIC ",Tt),tt&&tt!="."&&S.push(" ",tt),S.push(">");else if(tt&&tt!=".")S.push(" SYSTEM ",tt,">");else{var ut=R.internalSubset;ut&&S.push(" [",ut,"]"),S.push(">")}return;case j:return S.push("<?",R.target," ",R.data,"?>");case Z:return S.push("&",R.nodeName,";");default:S.push("??",R.nodeName)}}function Rt(R,S,_){var G;switch(S.nodeType){case C:G=S.cloneNode(!1),G.ownerDocument=R;case Le:break;case d:_=!0;break}if(G||(G=S.cloneNode(!1)),G.ownerDocument=R,G.parentNode=null,_)for(var e=S.firstChild;e;)G.appendChild(Rt(R,e,_)),e=e.nextSibling;return G}function st(R,S,_){var G=new S.constructor;for(var e in S)if(Object.prototype.hasOwnProperty.call(S,e)){var s=S[e];typeof s!="object"&&s!=G[e]&&(G[e]=s)}switch(S.childNodes&&(G.childNodes=new k),G.ownerDocument=R,G.nodeType){case C:var I=S.attributes,L=G.attributes=new De,u=I.length;L._ownerElement=G;for(var P=0;P<u;P++)G.setAttributeNode(st(R,I.item(P),!0));break;case d:_=!0}if(_)for(var se=S.firstChild;se;)G.appendChild(st(R,se,_)),se=se.nextSibling;return G}function fe(R,S,_){R[S]=_}try{if(Object.defineProperty){let R=function(S){switch(S.nodeType){case C:case Le:var _=[];for(S=S.firstChild;S;)S.nodeType!==7&&S.nodeType!==8&&_.push(R(S)),S=S.nextSibling;return _.join("");default:return S.nodeValue}};Object.defineProperty(ae.prototype,"length",{get:function(){return ce(this),this.$$length}}),Object.defineProperty(Te.prototype,"textContent",{get:function(){return R(this)},set:function(S){switch(this.nodeType){case C:case Le:for(;this.firstChild;)this.removeChild(this.firstChild);(S||String(S))&&this.appendChild(this.ownerDocument.createTextNode(S));break;default:this.data=S,this.value=S,this.nodeValue=S}}}),fe=function(S,_,G){S["$$"+_]=G}}}catch{}return at.DocumentType=ie,at.DOMException=K,at.DOMImplementation=me,at.Element=V,at.Node=Te,at.NodeList=k,at.XMLSerializer=_e,at}var mt={},Jt={},FE;function Vn(){return FE||(FE=1,function(E){var t=Ht().freeze;E.XML_ENTITIES=t({amp:"&",apos:"'",gt:">",lt:"<",quot:'"'}),E.HTML_ENTITIES=t({Aacute:"Á",aacute:"á",Abreve:"Ă",abreve:"ă",ac:"∾",acd:"∿",acE:"∾̳",Acirc:"Â",acirc:"â",acute:"´",Acy:"А",acy:"а",AElig:"Æ",aelig:"æ",af:"⁡",Afr:"𝔄",afr:"𝔞",Agrave:"À",agrave:"à",alefsym:"ℵ",aleph:"ℵ",Alpha:"Α",alpha:"α",Amacr:"Ā",amacr:"ā",amalg:"⨿",AMP:"&",amp:"&",And:"⩓",and:"∧",andand:"⩕",andd:"⩜",andslope:"⩘",andv:"⩚",ang:"∠",ange:"⦤",angle:"∠",angmsd:"∡",angmsdaa:"⦨",angmsdab:"⦩",angmsdac:"⦪",angmsdad:"⦫",angmsdae:"⦬",angmsdaf:"⦭",angmsdag:"⦮",angmsdah:"⦯",angrt:"∟",angrtvb:"⊾",angrtvbd:"⦝",angsph:"∢",angst:"Å",angzarr:"⍼",Aogon:"Ą",aogon:"ą",Aopf:"𝔸",aopf:"𝕒",ap:"≈",apacir:"⩯",apE:"⩰",ape:"≊",apid:"≋",apos:"'",ApplyFunction:"⁡",approx:"≈",approxeq:"≊",Aring:"Å",aring:"å",Ascr:"𝒜",ascr:"𝒶",Assign:"≔",ast:"*",asymp:"≈",asympeq:"≍",Atilde:"Ã",atilde:"ã",Auml:"Ä",auml:"ä",awconint:"∳",awint:"⨑",backcong:"≌",backepsilon:"϶",backprime:"‵",backsim:"∽",backsimeq:"⋍",Backslash:"∖",Barv:"⫧",barvee:"⊽",Barwed:"⌆",barwed:"⌅",barwedge:"⌅",bbrk:"⎵",bbrktbrk:"⎶",bcong:"≌",Bcy:"Б",bcy:"б",bdquo:"„",becaus:"∵",Because:"∵",because:"∵",bemptyv:"⦰",bepsi:"϶",bernou:"ℬ",Bernoullis:"ℬ",Beta:"Β",beta:"β",beth:"ℶ",between:"≬",Bfr:"𝔅",bfr:"𝔟",bigcap:"⋂",bigcirc:"◯",bigcup:"⋃",bigodot:"⨀",bigoplus:"⨁",bigotimes:"⨂",bigsqcup:"⨆",bigstar:"★",bigtriangledown:"▽",bigtriangleup:"△",biguplus:"⨄",bigvee:"⋁",bigwedge:"⋀",bkarow:"⤍",blacklozenge:"⧫",blacksquare:"▪",blacktriangle:"▴",blacktriangledown:"▾",blacktriangleleft:"◂",blacktriangleright:"▸",blank:"␣",blk12:"▒",blk14:"░",blk34:"▓",block:"█",bne:"=⃥",bnequiv:"≡⃥",bNot:"⫭",bnot:"⌐",Bopf:"𝔹",bopf:"𝕓",bot:"⊥",bottom:"⊥",bowtie:"⋈",boxbox:"⧉",boxDL:"╗",boxDl:"╖",boxdL:"╕",boxdl:"┐",boxDR:"╔",boxDr:"╓",boxdR:"╒",boxdr:"┌",boxH:"═",boxh:"─",boxHD:"╦",boxHd:"╤",boxhD:"╥",boxhd:"┬",boxHU:"╩",boxHu:"╧",boxhU:"╨",boxhu:"┴",boxminus:"⊟",boxplus:"⊞",boxtimes:"⊠",boxUL:"╝",boxUl:"╜",boxuL:"╛",boxul:"┘",boxUR:"╚",boxUr:"╙",boxuR:"╘",boxur:"└",boxV:"║",boxv:"│",boxVH:"╬",boxVh:"╫",boxvH:"╪",boxvh:"┼",boxVL:"╣",boxVl:"╢",boxvL:"╡",boxvl:"┤",boxVR:"╠",boxVr:"╟",boxvR:"╞",boxvr:"├",bprime:"‵",Breve:"˘",breve:"˘",brvbar:"¦",Bscr:"ℬ",bscr:"𝒷",bsemi:"⁏",bsim:"∽",bsime:"⋍",bsol:"\\",bsolb:"⧅",bsolhsub:"⟈",bull:"•",bullet:"•",bump:"≎",bumpE:"⪮",bumpe:"≏",Bumpeq:"≎",bumpeq:"≏",Cacute:"Ć",cacute:"ć",Cap:"⋒",cap:"∩",capand:"⩄",capbrcup:"⩉",capcap:"⩋",capcup:"⩇",capdot:"⩀",CapitalDifferentialD:"ⅅ",caps:"∩︀",caret:"⁁",caron:"ˇ",Cayleys:"ℭ",ccaps:"⩍",Ccaron:"Č",ccaron:"č",Ccedil:"Ç",ccedil:"ç",Ccirc:"Ĉ",ccirc:"ĉ",Cconint:"∰",ccups:"⩌",ccupssm:"⩐",Cdot:"Ċ",cdot:"ċ",cedil:"¸",Cedilla:"¸",cemptyv:"⦲",cent:"¢",CenterDot:"·",centerdot:"·",Cfr:"ℭ",cfr:"𝔠",CHcy:"Ч",chcy:"ч",check:"✓",checkmark:"✓",Chi:"Χ",chi:"χ",cir:"○",circ:"ˆ",circeq:"≗",circlearrowleft:"↺",circlearrowright:"↻",circledast:"⊛",circledcirc:"⊚",circleddash:"⊝",CircleDot:"⊙",circledR:"®",circledS:"Ⓢ",CircleMinus:"⊖",CirclePlus:"⊕",CircleTimes:"⊗",cirE:"⧃",cire:"≗",cirfnint:"⨐",cirmid:"⫯",cirscir:"⧂",ClockwiseContourIntegral:"∲",CloseCurlyDoubleQuote:"”",CloseCurlyQuote:"’",clubs:"♣",clubsuit:"♣",Colon:"∷",colon:":",Colone:"⩴",colone:"≔",coloneq:"≔",comma:",",commat:"@",comp:"∁",compfn:"∘",complement:"∁",complexes:"ℂ",cong:"≅",congdot:"⩭",Congruent:"≡",Conint:"∯",conint:"∮",ContourIntegral:"∮",Copf:"ℂ",copf:"𝕔",coprod:"∐",Coproduct:"∐",COPY:"©",copy:"©",copysr:"℗",CounterClockwiseContourIntegral:"∳",crarr:"↵",Cross:"⨯",cross:"✗",Cscr:"𝒞",cscr:"𝒸",csub:"⫏",csube:"⫑",csup:"⫐",csupe:"⫒",ctdot:"⋯",cudarrl:"⤸",cudarrr:"⤵",cuepr:"⋞",cuesc:"⋟",cularr:"↶",cularrp:"⤽",Cup:"⋓",cup:"∪",cupbrcap:"⩈",CupCap:"≍",cupcap:"⩆",cupcup:"⩊",cupdot:"⊍",cupor:"⩅",cups:"∪︀",curarr:"↷",curarrm:"⤼",curlyeqprec:"⋞",curlyeqsucc:"⋟",curlyvee:"⋎",curlywedge:"⋏",curren:"¤",curvearrowleft:"↶",curvearrowright:"↷",cuvee:"⋎",cuwed:"⋏",cwconint:"∲",cwint:"∱",cylcty:"⌭",Dagger:"‡",dagger:"†",daleth:"ℸ",Darr:"↡",dArr:"⇓",darr:"↓",dash:"‐",Dashv:"⫤",dashv:"⊣",dbkarow:"⤏",dblac:"˝",Dcaron:"Ď",dcaron:"ď",Dcy:"Д",dcy:"д",DD:"ⅅ",dd:"ⅆ",ddagger:"‡",ddarr:"⇊",DDotrahd:"⤑",ddotseq:"⩷",deg:"°",Del:"∇",Delta:"Δ",delta:"δ",demptyv:"⦱",dfisht:"⥿",Dfr:"𝔇",dfr:"𝔡",dHar:"⥥",dharl:"⇃",dharr:"⇂",DiacriticalAcute:"´",DiacriticalDot:"˙",DiacriticalDoubleAcute:"˝",DiacriticalGrave:"`",DiacriticalTilde:"˜",diam:"⋄",Diamond:"⋄",diamond:"⋄",diamondsuit:"♦",diams:"♦",die:"¨",DifferentialD:"ⅆ",digamma:"ϝ",disin:"⋲",div:"÷",divide:"÷",divideontimes:"⋇",divonx:"⋇",DJcy:"Ђ",djcy:"ђ",dlcorn:"⌞",dlcrop:"⌍",dollar:"$",Dopf:"𝔻",dopf:"𝕕",Dot:"¨",dot:"˙",DotDot:"⃜",doteq:"≐",doteqdot:"≑",DotEqual:"≐",dotminus:"∸",dotplus:"∔",dotsquare:"⊡",doublebarwedge:"⌆",DoubleContourIntegral:"∯",DoubleDot:"¨",DoubleDownArrow:"⇓",DoubleLeftArrow:"⇐",DoubleLeftRightArrow:"⇔",DoubleLeftTee:"⫤",DoubleLongLeftArrow:"⟸",DoubleLongLeftRightArrow:"⟺",DoubleLongRightArrow:"⟹",DoubleRightArrow:"⇒",DoubleRightTee:"⊨",DoubleUpArrow:"⇑",DoubleUpDownArrow:"⇕",DoubleVerticalBar:"∥",DownArrow:"↓",Downarrow:"⇓",downarrow:"↓",DownArrowBar:"⤓",DownArrowUpArrow:"⇵",DownBreve:"̑",downdownarrows:"⇊",downharpoonleft:"⇃",downharpoonright:"⇂",DownLeftRightVector:"⥐",DownLeftTeeVector:"⥞",DownLeftVector:"↽",DownLeftVectorBar:"⥖",DownRightTeeVector:"⥟",DownRightVector:"⇁",DownRightVectorBar:"⥗",DownTee:"⊤",DownTeeArrow:"↧",drbkarow:"⤐",drcorn:"⌟",drcrop:"⌌",Dscr:"𝒟",dscr:"𝒹",DScy:"Ѕ",dscy:"ѕ",dsol:"⧶",Dstrok:"Đ",dstrok:"đ",dtdot:"⋱",dtri:"▿",dtrif:"▾",duarr:"⇵",duhar:"⥯",dwangle:"⦦",DZcy:"Џ",dzcy:"џ",dzigrarr:"⟿",Eacute:"É",eacute:"é",easter:"⩮",Ecaron:"Ě",ecaron:"ě",ecir:"≖",Ecirc:"Ê",ecirc:"ê",ecolon:"≕",Ecy:"Э",ecy:"э",eDDot:"⩷",Edot:"Ė",eDot:"≑",edot:"ė",ee:"ⅇ",efDot:"≒",Efr:"𝔈",efr:"𝔢",eg:"⪚",Egrave:"È",egrave:"è",egs:"⪖",egsdot:"⪘",el:"⪙",Element:"∈",elinters:"⏧",ell:"ℓ",els:"⪕",elsdot:"⪗",Emacr:"Ē",emacr:"ē",empty:"∅",emptyset:"∅",EmptySmallSquare:"◻",emptyv:"∅",EmptyVerySmallSquare:"▫",emsp:" ",emsp13:" ",emsp14:" ",ENG:"Ŋ",eng:"ŋ",ensp:" ",Eogon:"Ę",eogon:"ę",Eopf:"𝔼",eopf:"𝕖",epar:"⋕",eparsl:"⧣",eplus:"⩱",epsi:"ε",Epsilon:"Ε",epsilon:"ε",epsiv:"ϵ",eqcirc:"≖",eqcolon:"≕",eqsim:"≂",eqslantgtr:"⪖",eqslantless:"⪕",Equal:"⩵",equals:"=",EqualTilde:"≂",equest:"≟",Equilibrium:"⇌",equiv:"≡",equivDD:"⩸",eqvparsl:"⧥",erarr:"⥱",erDot:"≓",Escr:"ℰ",escr:"ℯ",esdot:"≐",Esim:"⩳",esim:"≂",Eta:"Η",eta:"η",ETH:"Ð",eth:"ð",Euml:"Ë",euml:"ë",euro:"€",excl:"!",exist:"∃",Exists:"∃",expectation:"ℰ",ExponentialE:"ⅇ",exponentiale:"ⅇ",fallingdotseq:"≒",Fcy:"Ф",fcy:"ф",female:"♀",ffilig:"ffi",fflig:"ff",ffllig:"ffl",Ffr:"𝔉",ffr:"𝔣",filig:"fi",FilledSmallSquare:"◼",FilledVerySmallSquare:"▪",fjlig:"fj",flat:"♭",fllig:"fl",fltns:"▱",fnof:"ƒ",Fopf:"𝔽",fopf:"𝕗",ForAll:"∀",forall:"∀",fork:"⋔",forkv:"⫙",Fouriertrf:"ℱ",fpartint:"⨍",frac12:"½",frac13:"⅓",frac14:"¼",frac15:"⅕",frac16:"⅙",frac18:"⅛",frac23:"⅔",frac25:"⅖",frac34:"¾",frac35:"⅗",frac38:"⅜",frac45:"⅘",frac56:"⅚",frac58:"⅝",frac78:"⅞",frasl:"⁄",frown:"⌢",Fscr:"ℱ",fscr:"𝒻",gacute:"ǵ",Gamma:"Γ",gamma:"γ",Gammad:"Ϝ",gammad:"ϝ",gap:"⪆",Gbreve:"Ğ",gbreve:"ğ",Gcedil:"Ģ",Gcirc:"Ĝ",gcirc:"ĝ",Gcy:"Г",gcy:"г",Gdot:"Ġ",gdot:"ġ",gE:"≧",ge:"≥",gEl:"⪌",gel:"⋛",geq:"≥",geqq:"≧",geqslant:"⩾",ges:"⩾",gescc:"⪩",gesdot:"⪀",gesdoto:"⪂",gesdotol:"⪄",gesl:"⋛︀",gesles:"⪔",Gfr:"𝔊",gfr:"𝔤",Gg:"⋙",gg:"≫",ggg:"⋙",gimel:"ℷ",GJcy:"Ѓ",gjcy:"ѓ",gl:"≷",gla:"⪥",glE:"⪒",glj:"⪤",gnap:"⪊",gnapprox:"⪊",gnE:"≩",gne:"⪈",gneq:"⪈",gneqq:"≩",gnsim:"⋧",Gopf:"𝔾",gopf:"𝕘",grave:"`",GreaterEqual:"≥",GreaterEqualLess:"⋛",GreaterFullEqual:"≧",GreaterGreater:"⪢",GreaterLess:"≷",GreaterSlantEqual:"⩾",GreaterTilde:"≳",Gscr:"𝒢",gscr:"ℊ",gsim:"≳",gsime:"⪎",gsiml:"⪐",Gt:"≫",GT:">",gt:">",gtcc:"⪧",gtcir:"⩺",gtdot:"⋗",gtlPar:"⦕",gtquest:"⩼",gtrapprox:"⪆",gtrarr:"⥸",gtrdot:"⋗",gtreqless:"⋛",gtreqqless:"⪌",gtrless:"≷",gtrsim:"≳",gvertneqq:"≩︀",gvnE:"≩︀",Hacek:"ˇ",hairsp:" ",half:"½",hamilt:"ℋ",HARDcy:"Ъ",hardcy:"ъ",hArr:"⇔",harr:"↔",harrcir:"⥈",harrw:"↭",Hat:"^",hbar:"ℏ",Hcirc:"Ĥ",hcirc:"ĥ",hearts:"♥",heartsuit:"♥",hellip:"…",hercon:"⊹",Hfr:"ℌ",hfr:"𝔥",HilbertSpace:"ℋ",hksearow:"⤥",hkswarow:"⤦",hoarr:"⇿",homtht:"∻",hookleftarrow:"↩",hookrightarrow:"↪",Hopf:"ℍ",hopf:"𝕙",horbar:"―",HorizontalLine:"─",Hscr:"ℋ",hscr:"𝒽",hslash:"ℏ",Hstrok:"Ħ",hstrok:"ħ",HumpDownHump:"≎",HumpEqual:"≏",hybull:"⁃",hyphen:"‐",Iacute:"Í",iacute:"í",ic:"⁣",Icirc:"Î",icirc:"î",Icy:"И",icy:"и",Idot:"İ",IEcy:"Е",iecy:"е",iexcl:"¡",iff:"⇔",Ifr:"ℑ",ifr:"𝔦",Igrave:"Ì",igrave:"ì",ii:"ⅈ",iiiint:"⨌",iiint:"∭",iinfin:"⧜",iiota:"℩",IJlig:"IJ",ijlig:"ij",Im:"ℑ",Imacr:"Ī",imacr:"ī",image:"ℑ",ImaginaryI:"ⅈ",imagline:"ℐ",imagpart:"ℑ",imath:"ı",imof:"⊷",imped:"Ƶ",Implies:"⇒",in:"∈",incare:"℅",infin:"∞",infintie:"⧝",inodot:"ı",Int:"∬",int:"∫",intcal:"⊺",integers:"ℤ",Integral:"∫",intercal:"⊺",Intersection:"⋂",intlarhk:"⨗",intprod:"⨼",InvisibleComma:"⁣",InvisibleTimes:"⁢",IOcy:"Ё",iocy:"ё",Iogon:"Į",iogon:"į",Iopf:"𝕀",iopf:"𝕚",Iota:"Ι",iota:"ι",iprod:"⨼",iquest:"¿",Iscr:"ℐ",iscr:"𝒾",isin:"∈",isindot:"⋵",isinE:"⋹",isins:"⋴",isinsv:"⋳",isinv:"∈",it:"⁢",Itilde:"Ĩ",itilde:"ĩ",Iukcy:"І",iukcy:"і",Iuml:"Ï",iuml:"ï",Jcirc:"Ĵ",jcirc:"ĵ",Jcy:"Й",jcy:"й",Jfr:"𝔍",jfr:"𝔧",jmath:"ȷ",Jopf:"𝕁",jopf:"𝕛",Jscr:"𝒥",jscr:"𝒿",Jsercy:"Ј",jsercy:"ј",Jukcy:"Є",jukcy:"є",Kappa:"Κ",kappa:"κ",kappav:"ϰ",Kcedil:"Ķ",kcedil:"ķ",Kcy:"К",kcy:"к",Kfr:"𝔎",kfr:"𝔨",kgreen:"ĸ",KHcy:"Х",khcy:"х",KJcy:"Ќ",kjcy:"ќ",Kopf:"𝕂",kopf:"𝕜",Kscr:"𝒦",kscr:"𝓀",lAarr:"⇚",Lacute:"Ĺ",lacute:"ĺ",laemptyv:"⦴",lagran:"ℒ",Lambda:"Λ",lambda:"λ",Lang:"⟪",lang:"⟨",langd:"⦑",langle:"⟨",lap:"⪅",Laplacetrf:"ℒ",laquo:"«",Larr:"↞",lArr:"⇐",larr:"←",larrb:"⇤",larrbfs:"⤟",larrfs:"⤝",larrhk:"↩",larrlp:"↫",larrpl:"⤹",larrsim:"⥳",larrtl:"↢",lat:"⪫",lAtail:"⤛",latail:"⤙",late:"⪭",lates:"⪭︀",lBarr:"⤎",lbarr:"⤌",lbbrk:"❲",lbrace:"{",lbrack:"[",lbrke:"⦋",lbrksld:"⦏",lbrkslu:"⦍",Lcaron:"Ľ",lcaron:"ľ",Lcedil:"Ļ",lcedil:"ļ",lceil:"⌈",lcub:"{",Lcy:"Л",lcy:"л",ldca:"⤶",ldquo:"“",ldquor:"„",ldrdhar:"⥧",ldrushar:"⥋",ldsh:"↲",lE:"≦",le:"≤",LeftAngleBracket:"⟨",LeftArrow:"←",Leftarrow:"⇐",leftarrow:"←",LeftArrowBar:"⇤",LeftArrowRightArrow:"⇆",leftarrowtail:"↢",LeftCeiling:"⌈",LeftDoubleBracket:"⟦",LeftDownTeeVector:"⥡",LeftDownVector:"⇃",LeftDownVectorBar:"⥙",LeftFloor:"⌊",leftharpoondown:"↽",leftharpoonup:"↼",leftleftarrows:"⇇",LeftRightArrow:"↔",Leftrightarrow:"⇔",leftrightarrow:"↔",leftrightarrows:"⇆",leftrightharpoons:"⇋",leftrightsquigarrow:"↭",LeftRightVector:"⥎",LeftTee:"⊣",LeftTeeArrow:"↤",LeftTeeVector:"⥚",leftthreetimes:"⋋",LeftTriangle:"⊲",LeftTriangleBar:"⧏",LeftTriangleEqual:"⊴",LeftUpDownVector:"⥑",LeftUpTeeVector:"⥠",LeftUpVector:"↿",LeftUpVectorBar:"⥘",LeftVector:"↼",LeftVectorBar:"⥒",lEg:"⪋",leg:"⋚",leq:"≤",leqq:"≦",leqslant:"⩽",les:"⩽",lescc:"⪨",lesdot:"⩿",lesdoto:"⪁",lesdotor:"⪃",lesg:"⋚︀",lesges:"⪓",lessapprox:"⪅",lessdot:"⋖",lesseqgtr:"⋚",lesseqqgtr:"⪋",LessEqualGreater:"⋚",LessFullEqual:"≦",LessGreater:"≶",lessgtr:"≶",LessLess:"⪡",lesssim:"≲",LessSlantEqual:"⩽",LessTilde:"≲",lfisht:"⥼",lfloor:"⌊",Lfr:"𝔏",lfr:"𝔩",lg:"≶",lgE:"⪑",lHar:"⥢",lhard:"↽",lharu:"↼",lharul:"⥪",lhblk:"▄",LJcy:"Љ",ljcy:"љ",Ll:"⋘",ll:"≪",llarr:"⇇",llcorner:"⌞",Lleftarrow:"⇚",llhard:"⥫",lltri:"◺",Lmidot:"Ŀ",lmidot:"ŀ",lmoust:"⎰",lmoustache:"⎰",lnap:"⪉",lnapprox:"⪉",lnE:"≨",lne:"⪇",lneq:"⪇",lneqq:"≨",lnsim:"⋦",loang:"⟬",loarr:"⇽",lobrk:"⟦",LongLeftArrow:"⟵",Longleftarrow:"⟸",longleftarrow:"⟵",LongLeftRightArrow:"⟷",Longleftrightarrow:"⟺",longleftrightarrow:"⟷",longmapsto:"⟼",LongRightArrow:"⟶",Longrightarrow:"⟹",longrightarrow:"⟶",looparrowleft:"↫",looparrowright:"↬",lopar:"⦅",Lopf:"𝕃",lopf:"𝕝",loplus:"⨭",lotimes:"⨴",lowast:"∗",lowbar:"_",LowerLeftArrow:"↙",LowerRightArrow:"↘",loz:"◊",lozenge:"◊",lozf:"⧫",lpar:"(",lparlt:"⦓",lrarr:"⇆",lrcorner:"⌟",lrhar:"⇋",lrhard:"⥭",lrm:"‎",lrtri:"⊿",lsaquo:"‹",Lscr:"ℒ",lscr:"𝓁",Lsh:"↰",lsh:"↰",lsim:"≲",lsime:"⪍",lsimg:"⪏",lsqb:"[",lsquo:"‘",lsquor:"‚",Lstrok:"Ł",lstrok:"ł",Lt:"≪",LT:"<",lt:"<",ltcc:"⪦",ltcir:"⩹",ltdot:"⋖",lthree:"⋋",ltimes:"⋉",ltlarr:"⥶",ltquest:"⩻",ltri:"◃",ltrie:"⊴",ltrif:"◂",ltrPar:"⦖",lurdshar:"⥊",luruhar:"⥦",lvertneqq:"≨︀",lvnE:"≨︀",macr:"¯",male:"♂",malt:"✠",maltese:"✠",Map:"⤅",map:"↦",mapsto:"↦",mapstodown:"↧",mapstoleft:"↤",mapstoup:"↥",marker:"▮",mcomma:"⨩",Mcy:"М",mcy:"м",mdash:"—",mDDot:"∺",measuredangle:"∡",MediumSpace:" ",Mellintrf:"ℳ",Mfr:"𝔐",mfr:"𝔪",mho:"℧",micro:"µ",mid:"∣",midast:"*",midcir:"⫰",middot:"·",minus:"−",minusb:"⊟",minusd:"∸",minusdu:"⨪",MinusPlus:"∓",mlcp:"⫛",mldr:"…",mnplus:"∓",models:"⊧",Mopf:"𝕄",mopf:"𝕞",mp:"∓",Mscr:"ℳ",mscr:"𝓂",mstpos:"∾",Mu:"Μ",mu:"μ",multimap:"⊸",mumap:"⊸",nabla:"∇",Nacute:"Ń",nacute:"ń",nang:"∠⃒",nap:"≉",napE:"⩰̸",napid:"≋̸",napos:"ʼn",napprox:"≉",natur:"♮",natural:"♮",naturals:"ℕ",nbsp:" ",nbump:"≎̸",nbumpe:"≏̸",ncap:"⩃",Ncaron:"Ň",ncaron:"ň",Ncedil:"Ņ",ncedil:"ņ",ncong:"≇",ncongdot:"⩭̸",ncup:"⩂",Ncy:"Н",ncy:"н",ndash:"–",ne:"≠",nearhk:"⤤",neArr:"⇗",nearr:"↗",nearrow:"↗",nedot:"≐̸",NegativeMediumSpace:"​",NegativeThickSpace:"​",NegativeThinSpace:"​",NegativeVeryThinSpace:"​",nequiv:"≢",nesear:"⤨",nesim:"≂̸",NestedGreaterGreater:"≫",NestedLessLess:"≪",NewLine:`
10
- `,nexist:"∄",nexists:"∄",Nfr:"𝔑",nfr:"𝔫",ngE:"≧̸",nge:"≱",ngeq:"≱",ngeqq:"≧̸",ngeqslant:"⩾̸",nges:"⩾̸",nGg:"⋙̸",ngsim:"≵",nGt:"≫⃒",ngt:"≯",ngtr:"≯",nGtv:"≫̸",nhArr:"⇎",nharr:"↮",nhpar:"⫲",ni:"∋",nis:"⋼",nisd:"⋺",niv:"∋",NJcy:"Њ",njcy:"њ",nlArr:"⇍",nlarr:"↚",nldr:"‥",nlE:"≦̸",nle:"≰",nLeftarrow:"⇍",nleftarrow:"↚",nLeftrightarrow:"⇎",nleftrightarrow:"↮",nleq:"≰",nleqq:"≦̸",nleqslant:"⩽̸",nles:"⩽̸",nless:"≮",nLl:"⋘̸",nlsim:"≴",nLt:"≪⃒",nlt:"≮",nltri:"⋪",nltrie:"⋬",nLtv:"≪̸",nmid:"∤",NoBreak:"⁠",NonBreakingSpace:" ",Nopf:"ℕ",nopf:"𝕟",Not:"⫬",not:"¬",NotCongruent:"≢",NotCupCap:"≭",NotDoubleVerticalBar:"∦",NotElement:"∉",NotEqual:"≠",NotEqualTilde:"≂̸",NotExists:"∄",NotGreater:"≯",NotGreaterEqual:"≱",NotGreaterFullEqual:"≧̸",NotGreaterGreater:"≫̸",NotGreaterLess:"≹",NotGreaterSlantEqual:"⩾̸",NotGreaterTilde:"≵",NotHumpDownHump:"≎̸",NotHumpEqual:"≏̸",notin:"∉",notindot:"⋵̸",notinE:"⋹̸",notinva:"∉",notinvb:"⋷",notinvc:"⋶",NotLeftTriangle:"⋪",NotLeftTriangleBar:"⧏̸",NotLeftTriangleEqual:"⋬",NotLess:"≮",NotLessEqual:"≰",NotLessGreater:"≸",NotLessLess:"≪̸",NotLessSlantEqual:"⩽̸",NotLessTilde:"≴",NotNestedGreaterGreater:"⪢̸",NotNestedLessLess:"⪡̸",notni:"∌",notniva:"∌",notnivb:"⋾",notnivc:"⋽",NotPrecedes:"⊀",NotPrecedesEqual:"⪯̸",NotPrecedesSlantEqual:"⋠",NotReverseElement:"∌",NotRightTriangle:"⋫",NotRightTriangleBar:"⧐̸",NotRightTriangleEqual:"⋭",NotSquareSubset:"⊏̸",NotSquareSubsetEqual:"⋢",NotSquareSuperset:"⊐̸",NotSquareSupersetEqual:"⋣",NotSubset:"⊂⃒",NotSubsetEqual:"⊈",NotSucceeds:"⊁",NotSucceedsEqual:"⪰̸",NotSucceedsSlantEqual:"⋡",NotSucceedsTilde:"≿̸",NotSuperset:"⊃⃒",NotSupersetEqual:"⊉",NotTilde:"≁",NotTildeEqual:"≄",NotTildeFullEqual:"≇",NotTildeTilde:"≉",NotVerticalBar:"∤",npar:"∦",nparallel:"∦",nparsl:"⫽⃥",npart:"∂̸",npolint:"⨔",npr:"⊀",nprcue:"⋠",npre:"⪯̸",nprec:"⊀",npreceq:"⪯̸",nrArr:"⇏",nrarr:"↛",nrarrc:"⤳̸",nrarrw:"↝̸",nRightarrow:"⇏",nrightarrow:"↛",nrtri:"⋫",nrtrie:"⋭",nsc:"⊁",nsccue:"⋡",nsce:"⪰̸",Nscr:"𝒩",nscr:"𝓃",nshortmid:"∤",nshortparallel:"∦",nsim:"≁",nsime:"≄",nsimeq:"≄",nsmid:"∤",nspar:"∦",nsqsube:"⋢",nsqsupe:"⋣",nsub:"⊄",nsubE:"⫅̸",nsube:"⊈",nsubset:"⊂⃒",nsubseteq:"⊈",nsubseteqq:"⫅̸",nsucc:"⊁",nsucceq:"⪰̸",nsup:"⊅",nsupE:"⫆̸",nsupe:"⊉",nsupset:"⊃⃒",nsupseteq:"⊉",nsupseteqq:"⫆̸",ntgl:"≹",Ntilde:"Ñ",ntilde:"ñ",ntlg:"≸",ntriangleleft:"⋪",ntrianglelefteq:"⋬",ntriangleright:"⋫",ntrianglerighteq:"⋭",Nu:"Ν",nu:"ν",num:"#",numero:"№",numsp:" ",nvap:"≍⃒",nVDash:"⊯",nVdash:"⊮",nvDash:"⊭",nvdash:"⊬",nvge:"≥⃒",nvgt:">⃒",nvHarr:"⤄",nvinfin:"⧞",nvlArr:"⤂",nvle:"≤⃒",nvlt:"<⃒",nvltrie:"⊴⃒",nvrArr:"⤃",nvrtrie:"⊵⃒",nvsim:"∼⃒",nwarhk:"⤣",nwArr:"⇖",nwarr:"↖",nwarrow:"↖",nwnear:"⤧",Oacute:"Ó",oacute:"ó",oast:"⊛",ocir:"⊚",Ocirc:"Ô",ocirc:"ô",Ocy:"О",ocy:"о",odash:"⊝",Odblac:"Ő",odblac:"ő",odiv:"⨸",odot:"⊙",odsold:"⦼",OElig:"Œ",oelig:"œ",ofcir:"⦿",Ofr:"𝔒",ofr:"𝔬",ogon:"˛",Ograve:"Ò",ograve:"ò",ogt:"⧁",ohbar:"⦵",ohm:"Ω",oint:"∮",olarr:"↺",olcir:"⦾",olcross:"⦻",oline:"‾",olt:"⧀",Omacr:"Ō",omacr:"ō",Omega:"Ω",omega:"ω",Omicron:"Ο",omicron:"ο",omid:"⦶",ominus:"⊖",Oopf:"𝕆",oopf:"𝕠",opar:"⦷",OpenCurlyDoubleQuote:"“",OpenCurlyQuote:"‘",operp:"⦹",oplus:"⊕",Or:"⩔",or:"∨",orarr:"↻",ord:"⩝",order:"ℴ",orderof:"ℴ",ordf:"ª",ordm:"º",origof:"⊶",oror:"⩖",orslope:"⩗",orv:"⩛",oS:"Ⓢ",Oscr:"𝒪",oscr:"ℴ",Oslash:"Ø",oslash:"ø",osol:"⊘",Otilde:"Õ",otilde:"õ",Otimes:"⨷",otimes:"⊗",otimesas:"⨶",Ouml:"Ö",ouml:"ö",ovbar:"⌽",OverBar:"‾",OverBrace:"⏞",OverBracket:"⎴",OverParenthesis:"⏜",par:"∥",para:"¶",parallel:"∥",parsim:"⫳",parsl:"⫽",part:"∂",PartialD:"∂",Pcy:"П",pcy:"п",percnt:"%",period:".",permil:"‰",perp:"⊥",pertenk:"‱",Pfr:"𝔓",pfr:"𝔭",Phi:"Φ",phi:"φ",phiv:"ϕ",phmmat:"ℳ",phone:"☎",Pi:"Π",pi:"π",pitchfork:"⋔",piv:"ϖ",planck:"ℏ",planckh:"ℎ",plankv:"ℏ",plus:"+",plusacir:"⨣",plusb:"⊞",pluscir:"⨢",plusdo:"∔",plusdu:"⨥",pluse:"⩲",PlusMinus:"±",plusmn:"±",plussim:"⨦",plustwo:"⨧",pm:"±",Poincareplane:"ℌ",pointint:"⨕",Popf:"ℙ",popf:"𝕡",pound:"£",Pr:"⪻",pr:"≺",prap:"⪷",prcue:"≼",prE:"⪳",pre:"⪯",prec:"≺",precapprox:"⪷",preccurlyeq:"≼",Precedes:"≺",PrecedesEqual:"⪯",PrecedesSlantEqual:"≼",PrecedesTilde:"≾",preceq:"⪯",precnapprox:"⪹",precneqq:"⪵",precnsim:"⋨",precsim:"≾",Prime:"″",prime:"′",primes:"ℙ",prnap:"⪹",prnE:"⪵",prnsim:"⋨",prod:"∏",Product:"∏",profalar:"⌮",profline:"⌒",profsurf:"⌓",prop:"∝",Proportion:"∷",Proportional:"∝",propto:"∝",prsim:"≾",prurel:"⊰",Pscr:"𝒫",pscr:"𝓅",Psi:"Ψ",psi:"ψ",puncsp:" ",Qfr:"𝔔",qfr:"𝔮",qint:"⨌",Qopf:"ℚ",qopf:"𝕢",qprime:"⁗",Qscr:"𝒬",qscr:"𝓆",quaternions:"ℍ",quatint:"⨖",quest:"?",questeq:"≟",QUOT:'"',quot:'"',rAarr:"⇛",race:"∽̱",Racute:"Ŕ",racute:"ŕ",radic:"√",raemptyv:"⦳",Rang:"⟫",rang:"⟩",rangd:"⦒",range:"⦥",rangle:"⟩",raquo:"»",Rarr:"↠",rArr:"⇒",rarr:"→",rarrap:"⥵",rarrb:"⇥",rarrbfs:"⤠",rarrc:"⤳",rarrfs:"⤞",rarrhk:"↪",rarrlp:"↬",rarrpl:"⥅",rarrsim:"⥴",Rarrtl:"⤖",rarrtl:"↣",rarrw:"↝",rAtail:"⤜",ratail:"⤚",ratio:"∶",rationals:"ℚ",RBarr:"⤐",rBarr:"⤏",rbarr:"⤍",rbbrk:"❳",rbrace:"}",rbrack:"]",rbrke:"⦌",rbrksld:"⦎",rbrkslu:"⦐",Rcaron:"Ř",rcaron:"ř",Rcedil:"Ŗ",rcedil:"ŗ",rceil:"⌉",rcub:"}",Rcy:"Р",rcy:"р",rdca:"⤷",rdldhar:"⥩",rdquo:"”",rdquor:"”",rdsh:"↳",Re:"ℜ",real:"ℜ",realine:"ℛ",realpart:"ℜ",reals:"ℝ",rect:"▭",REG:"®",reg:"®",ReverseElement:"∋",ReverseEquilibrium:"⇋",ReverseUpEquilibrium:"⥯",rfisht:"⥽",rfloor:"⌋",Rfr:"ℜ",rfr:"𝔯",rHar:"⥤",rhard:"⇁",rharu:"⇀",rharul:"⥬",Rho:"Ρ",rho:"ρ",rhov:"ϱ",RightAngleBracket:"⟩",RightArrow:"→",Rightarrow:"⇒",rightarrow:"→",RightArrowBar:"⇥",RightArrowLeftArrow:"⇄",rightarrowtail:"↣",RightCeiling:"⌉",RightDoubleBracket:"⟧",RightDownTeeVector:"⥝",RightDownVector:"⇂",RightDownVectorBar:"⥕",RightFloor:"⌋",rightharpoondown:"⇁",rightharpoonup:"⇀",rightleftarrows:"⇄",rightleftharpoons:"⇌",rightrightarrows:"⇉",rightsquigarrow:"↝",RightTee:"⊢",RightTeeArrow:"↦",RightTeeVector:"⥛",rightthreetimes:"⋌",RightTriangle:"⊳",RightTriangleBar:"⧐",RightTriangleEqual:"⊵",RightUpDownVector:"⥏",RightUpTeeVector:"⥜",RightUpVector:"↾",RightUpVectorBar:"⥔",RightVector:"⇀",RightVectorBar:"⥓",ring:"˚",risingdotseq:"≓",rlarr:"⇄",rlhar:"⇌",rlm:"‏",rmoust:"⎱",rmoustache:"⎱",rnmid:"⫮",roang:"⟭",roarr:"⇾",robrk:"⟧",ropar:"⦆",Ropf:"ℝ",ropf:"𝕣",roplus:"⨮",rotimes:"⨵",RoundImplies:"⥰",rpar:")",rpargt:"⦔",rppolint:"⨒",rrarr:"⇉",Rrightarrow:"⇛",rsaquo:"›",Rscr:"ℛ",rscr:"𝓇",Rsh:"↱",rsh:"↱",rsqb:"]",rsquo:"’",rsquor:"’",rthree:"⋌",rtimes:"⋊",rtri:"▹",rtrie:"⊵",rtrif:"▸",rtriltri:"⧎",RuleDelayed:"⧴",ruluhar:"⥨",rx:"℞",Sacute:"Ś",sacute:"ś",sbquo:"‚",Sc:"⪼",sc:"≻",scap:"⪸",Scaron:"Š",scaron:"š",sccue:"≽",scE:"⪴",sce:"⪰",Scedil:"Ş",scedil:"ş",Scirc:"Ŝ",scirc:"ŝ",scnap:"⪺",scnE:"⪶",scnsim:"⋩",scpolint:"⨓",scsim:"≿",Scy:"С",scy:"с",sdot:"⋅",sdotb:"⊡",sdote:"⩦",searhk:"⤥",seArr:"⇘",searr:"↘",searrow:"↘",sect:"§",semi:";",seswar:"⤩",setminus:"∖",setmn:"∖",sext:"✶",Sfr:"𝔖",sfr:"𝔰",sfrown:"⌢",sharp:"♯",SHCHcy:"Щ",shchcy:"щ",SHcy:"Ш",shcy:"ш",ShortDownArrow:"↓",ShortLeftArrow:"←",shortmid:"∣",shortparallel:"∥",ShortRightArrow:"→",ShortUpArrow:"↑",shy:"­",Sigma:"Σ",sigma:"σ",sigmaf:"ς",sigmav:"ς",sim:"∼",simdot:"⩪",sime:"≃",simeq:"≃",simg:"⪞",simgE:"⪠",siml:"⪝",simlE:"⪟",simne:"≆",simplus:"⨤",simrarr:"⥲",slarr:"←",SmallCircle:"∘",smallsetminus:"∖",smashp:"⨳",smeparsl:"⧤",smid:"∣",smile:"⌣",smt:"⪪",smte:"⪬",smtes:"⪬︀",SOFTcy:"Ь",softcy:"ь",sol:"/",solb:"⧄",solbar:"⌿",Sopf:"𝕊",sopf:"𝕤",spades:"♠",spadesuit:"♠",spar:"∥",sqcap:"⊓",sqcaps:"⊓︀",sqcup:"⊔",sqcups:"⊔︀",Sqrt:"√",sqsub:"⊏",sqsube:"⊑",sqsubset:"⊏",sqsubseteq:"⊑",sqsup:"⊐",sqsupe:"⊒",sqsupset:"⊐",sqsupseteq:"⊒",squ:"□",Square:"□",square:"□",SquareIntersection:"⊓",SquareSubset:"⊏",SquareSubsetEqual:"⊑",SquareSuperset:"⊐",SquareSupersetEqual:"⊒",SquareUnion:"⊔",squarf:"▪",squf:"▪",srarr:"→",Sscr:"𝒮",sscr:"𝓈",ssetmn:"∖",ssmile:"⌣",sstarf:"⋆",Star:"⋆",star:"☆",starf:"★",straightepsilon:"ϵ",straightphi:"ϕ",strns:"¯",Sub:"⋐",sub:"⊂",subdot:"⪽",subE:"⫅",sube:"⊆",subedot:"⫃",submult:"⫁",subnE:"⫋",subne:"⊊",subplus:"⪿",subrarr:"⥹",Subset:"⋐",subset:"⊂",subseteq:"⊆",subseteqq:"⫅",SubsetEqual:"⊆",subsetneq:"⊊",subsetneqq:"⫋",subsim:"⫇",subsub:"⫕",subsup:"⫓",succ:"≻",succapprox:"⪸",succcurlyeq:"≽",Succeeds:"≻",SucceedsEqual:"⪰",SucceedsSlantEqual:"≽",SucceedsTilde:"≿",succeq:"⪰",succnapprox:"⪺",succneqq:"⪶",succnsim:"⋩",succsim:"≿",SuchThat:"∋",Sum:"∑",sum:"∑",sung:"♪",Sup:"⋑",sup:"⊃",sup1:"¹",sup2:"²",sup3:"³",supdot:"⪾",supdsub:"⫘",supE:"⫆",supe:"⊇",supedot:"⫄",Superset:"⊃",SupersetEqual:"⊇",suphsol:"⟉",suphsub:"⫗",suplarr:"⥻",supmult:"⫂",supnE:"⫌",supne:"⊋",supplus:"⫀",Supset:"⋑",supset:"⊃",supseteq:"⊇",supseteqq:"⫆",supsetneq:"⊋",supsetneqq:"⫌",supsim:"⫈",supsub:"⫔",supsup:"⫖",swarhk:"⤦",swArr:"⇙",swarr:"↙",swarrow:"↙",swnwar:"⤪",szlig:"ß",Tab:" ",target:"⌖",Tau:"Τ",tau:"τ",tbrk:"⎴",Tcaron:"Ť",tcaron:"ť",Tcedil:"Ţ",tcedil:"ţ",Tcy:"Т",tcy:"т",tdot:"⃛",telrec:"⌕",Tfr:"𝔗",tfr:"𝔱",there4:"∴",Therefore:"∴",therefore:"∴",Theta:"Θ",theta:"θ",thetasym:"ϑ",thetav:"ϑ",thickapprox:"≈",thicksim:"∼",ThickSpace:"  ",thinsp:" ",ThinSpace:" ",thkap:"≈",thksim:"∼",THORN:"Þ",thorn:"þ",Tilde:"∼",tilde:"˜",TildeEqual:"≃",TildeFullEqual:"≅",TildeTilde:"≈",times:"×",timesb:"⊠",timesbar:"⨱",timesd:"⨰",tint:"∭",toea:"⤨",top:"⊤",topbot:"⌶",topcir:"⫱",Topf:"𝕋",topf:"𝕥",topfork:"⫚",tosa:"⤩",tprime:"‴",TRADE:"™",trade:"™",triangle:"▵",triangledown:"▿",triangleleft:"◃",trianglelefteq:"⊴",triangleq:"≜",triangleright:"▹",trianglerighteq:"⊵",tridot:"◬",trie:"≜",triminus:"⨺",TripleDot:"⃛",triplus:"⨹",trisb:"⧍",tritime:"⨻",trpezium:"⏢",Tscr:"𝒯",tscr:"𝓉",TScy:"Ц",tscy:"ц",TSHcy:"Ћ",tshcy:"ћ",Tstrok:"Ŧ",tstrok:"ŧ",twixt:"≬",twoheadleftarrow:"↞",twoheadrightarrow:"↠",Uacute:"Ú",uacute:"ú",Uarr:"↟",uArr:"⇑",uarr:"↑",Uarrocir:"⥉",Ubrcy:"Ў",ubrcy:"ў",Ubreve:"Ŭ",ubreve:"ŭ",Ucirc:"Û",ucirc:"û",Ucy:"У",ucy:"у",udarr:"⇅",Udblac:"Ű",udblac:"ű",udhar:"⥮",ufisht:"⥾",Ufr:"𝔘",ufr:"𝔲",Ugrave:"Ù",ugrave:"ù",uHar:"⥣",uharl:"↿",uharr:"↾",uhblk:"▀",ulcorn:"⌜",ulcorner:"⌜",ulcrop:"⌏",ultri:"◸",Umacr:"Ū",umacr:"ū",uml:"¨",UnderBar:"_",UnderBrace:"⏟",UnderBracket:"⎵",UnderParenthesis:"⏝",Union:"⋃",UnionPlus:"⊎",Uogon:"Ų",uogon:"ų",Uopf:"𝕌",uopf:"𝕦",UpArrow:"↑",Uparrow:"⇑",uparrow:"↑",UpArrowBar:"⤒",UpArrowDownArrow:"⇅",UpDownArrow:"↕",Updownarrow:"⇕",updownarrow:"↕",UpEquilibrium:"⥮",upharpoonleft:"↿",upharpoonright:"↾",uplus:"⊎",UpperLeftArrow:"↖",UpperRightArrow:"↗",Upsi:"ϒ",upsi:"υ",upsih:"ϒ",Upsilon:"Υ",upsilon:"υ",UpTee:"⊥",UpTeeArrow:"↥",upuparrows:"⇈",urcorn:"⌝",urcorner:"⌝",urcrop:"⌎",Uring:"Ů",uring:"ů",urtri:"◹",Uscr:"𝒰",uscr:"𝓊",utdot:"⋰",Utilde:"Ũ",utilde:"ũ",utri:"▵",utrif:"▴",uuarr:"⇈",Uuml:"Ü",uuml:"ü",uwangle:"⦧",vangrt:"⦜",varepsilon:"ϵ",varkappa:"ϰ",varnothing:"∅",varphi:"ϕ",varpi:"ϖ",varpropto:"∝",vArr:"⇕",varr:"↕",varrho:"ϱ",varsigma:"ς",varsubsetneq:"⊊︀",varsubsetneqq:"⫋︀",varsupsetneq:"⊋︀",varsupsetneqq:"⫌︀",vartheta:"ϑ",vartriangleleft:"⊲",vartriangleright:"⊳",Vbar:"⫫",vBar:"⫨",vBarv:"⫩",Vcy:"В",vcy:"в",VDash:"⊫",Vdash:"⊩",vDash:"⊨",vdash:"⊢",Vdashl:"⫦",Vee:"⋁",vee:"∨",veebar:"⊻",veeeq:"≚",vellip:"⋮",Verbar:"‖",verbar:"|",Vert:"‖",vert:"|",VerticalBar:"∣",VerticalLine:"|",VerticalSeparator:"❘",VerticalTilde:"≀",VeryThinSpace:" ",Vfr:"𝔙",vfr:"𝔳",vltri:"⊲",vnsub:"⊂⃒",vnsup:"⊃⃒",Vopf:"𝕍",vopf:"𝕧",vprop:"∝",vrtri:"⊳",Vscr:"𝒱",vscr:"𝓋",vsubnE:"⫋︀",vsubne:"⊊︀",vsupnE:"⫌︀",vsupne:"⊋︀",Vvdash:"⊪",vzigzag:"⦚",Wcirc:"Ŵ",wcirc:"ŵ",wedbar:"⩟",Wedge:"⋀",wedge:"∧",wedgeq:"≙",weierp:"℘",Wfr:"𝔚",wfr:"𝔴",Wopf:"𝕎",wopf:"𝕨",wp:"℘",wr:"≀",wreath:"≀",Wscr:"𝒲",wscr:"𝓌",xcap:"⋂",xcirc:"◯",xcup:"⋃",xdtri:"▽",Xfr:"𝔛",xfr:"𝔵",xhArr:"⟺",xharr:"⟷",Xi:"Ξ",xi:"ξ",xlArr:"⟸",xlarr:"⟵",xmap:"⟼",xnis:"⋻",xodot:"⨀",Xopf:"𝕏",xopf:"𝕩",xoplus:"⨁",xotime:"⨂",xrArr:"⟹",xrarr:"⟶",Xscr:"𝒳",xscr:"𝓍",xsqcup:"⨆",xuplus:"⨄",xutri:"△",xvee:"⋁",xwedge:"⋀",Yacute:"Ý",yacute:"ý",YAcy:"Я",yacy:"я",Ycirc:"Ŷ",ycirc:"ŷ",Ycy:"Ы",ycy:"ы",yen:"¥",Yfr:"𝔜",yfr:"𝔶",YIcy:"Ї",yicy:"ї",Yopf:"𝕐",yopf:"𝕪",Yscr:"𝒴",yscr:"𝓎",YUcy:"Ю",yucy:"ю",Yuml:"Ÿ",yuml:"ÿ",Zacute:"Ź",zacute:"ź",Zcaron:"Ž",zcaron:"ž",Zcy:"З",zcy:"з",Zdot:"Ż",zdot:"ż",zeetrf:"ℨ",ZeroWidthSpace:"​",Zeta:"Ζ",zeta:"ζ",Zfr:"ℨ",zfr:"𝔷",ZHcy:"Ж",zhcy:"ж",zigrarr:"⇝",Zopf:"ℤ",zopf:"𝕫",Zscr:"𝒵",zscr:"𝓏",zwj:"‍",zwnj:"‌"}),E.entityMap=E.HTML_ENTITIES}(Jt)),Jt}var bt={},HE;function vn(){if(HE)return bt;HE=1;var E=Ht().NAMESPACE,t=/[A-Z_a-z\xC0-\xD6\xD8-\xF6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]/,r=new RegExp("[\\-\\.0-9"+t.source.slice(1,-1)+"\\u00B7\\u0300-\\u036F\\u203F-\\u2040]"),n=new RegExp("^"+t.source+r.source+"*(?::"+t.source+r.source+"*)?$"),T=0,a=1,i=2,l=3,N=4,A=5,O=6,C=7;function d(H,g){this.message=H,this.locator=g,Error.captureStackTrace&&Error.captureStackTrace(this,d)}d.prototype=new Error,d.prototype.name=d.name;function M(){}M.prototype={parse:function(H,g,J){var K=this.domBuilder;K.startDocument(),pe(g,g={}),b(H,g,J,K,this.errorHandler),K.endDocument()}};function b(H,g,J,K,k){function ae(F){if(F>65535){F-=65536;var V=55296+(F>>10),ve=56320+(F&1023);return String.fromCharCode(V,ve)}else return String.fromCharCode(F)}function ce(F){var V=F.slice(1,-1);return Object.hasOwnProperty.call(J,V)?J[V]:V.charAt(0)==="#"?ae(parseInt(V.substr(1).replace("x","0x"))):(k.error("entity not found:"+F),F)}function De(F){if(F>m){var V=H.substring(m,F).replace(/&#?\w+;/g,ce);Te&&Y(m),K.characters(V,0,F-m),m=F}}function Y(F,V){for(;F>=Oe&&(V=me.exec(H));)Q=V.index,Oe=Q+V[0].length,Te.lineNumber++;Te.columnNumber=F-Q+1}for(var Q=0,Oe=0,me=/.*(?:\r\n?|\n)|.*$/g,Te=K.locator,v=[{currentNSMap:g}],p={},m=0;;){try{var f=H.indexOf("<",m);if(f<0){if(!H.substr(m).match(/^\s*$/)){var B=K.doc,$=B.createTextNode(H.substr(m));B.appendChild($),K.currentElement=$}return}switch(f>m&&De(f),H.charAt(f+1)){case"/":var ge=H.indexOf(">",f+3),h=H.substring(f+2,ge).replace(/[ \t\n\r]+$/g,""),z=v.pop();ge<0?(h=H.substring(f+2).replace(/[\s<].*/,""),k.error("end tag name: "+h+" is not complete:"+z.tagName),ge=f+1+h.length):h.match(/\s</)&&(h=h.replace(/[\s<].*/,""),k.error("end tag name: "+h+" maybe not complete"),ge=f+1+h.length);var Ee=z.localNSMap,Re=z.tagName==h,le=Re||z.tagName&&z.tagName.toLowerCase()==h.toLowerCase();if(le){if(K.endElement(z.uri,z.localName,h),Ee)for(var Ue in Ee)Object.prototype.hasOwnProperty.call(Ee,Ue)&&K.endPrefixMapping(Ue);Re||k.fatalError("end tag name: "+h+" is not match the current start tagName:"+z.tagName)}else v.push(z);ge++;break;case"?":Te&&Y(f),ge=W(H,f,K);break;case"!":Te&&Y(f),ge=Le(H,f,K,k);break;default:Te&&Y(f);var Ne=new D,q=v[v.length-1].currentNSMap,ge=U(H,f,Ne,q,ce,k),c=Ne.length;if(!Ne.closed&&ee(H,ge,Ne.tagName,p)&&(Ne.closed=!0,J.nbsp||k.warning("unclosed xml attribute")),Te&&c){for(var ne=Z(Te,{}),Be=0;Be<c;Be++){var de=Ne[Be];Y(de.offset),de.locator=Z(Te,{})}K.locator=ne,j(Ne,K,q)&&v.push(Ne),K.locator=Te}else j(Ne,K,q)&&v.push(Ne);E.isHTML(Ne.uri)&&!Ne.closed?ge=te(H,ge,Ne.tagName,ce,K):ge++}}catch(F){if(F instanceof d)throw F;k.error("element parse error: "+F),ge=-1}ge>m?m=ge:De(Math.max(f,m)+1)}}function Z(H,g){return g.lineNumber=H.lineNumber,g.columnNumber=H.columnNumber,g}function U(H,g,J,K,k,ae){function ce(Te,v,p){J.attributeNames.hasOwnProperty(Te)&&ae.fatalError("Attribute "+Te+" redefined"),J.addValue(Te,v.replace(/[\t\n\r]/g," ").replace(/&#?\w+;/g,k),p)}for(var De,Y,Q=++g,Oe=T;;){var me=H.charAt(Q);switch(me){case"=":if(Oe===a)De=H.slice(g,Q),Oe=l;else if(Oe===i)Oe=l;else throw new Error("attribute equal must after attrName");break;case"'":case'"':if(Oe===l||Oe===a)if(Oe===a&&(ae.warning('attribute value must after "="'),De=H.slice(g,Q)),g=Q+1,Q=H.indexOf(me,g),Q>0)Y=H.slice(g,Q),ce(De,Y,g-1),Oe=A;else throw new Error("attribute value no end '"+me+"' match");else if(Oe==N)Y=H.slice(g,Q),ce(De,Y,g),ae.warning('attribute "'+De+'" missed start quot('+me+")!!"),g=Q+1,Oe=A;else throw new Error('attribute value must after "="');break;case"/":switch(Oe){case T:J.setTagName(H.slice(g,Q));case A:case O:case C:Oe=C,J.closed=!0;case N:case a:break;case i:J.closed=!0;break;default:throw new Error("attribute invalid close char('/')")}break;case"":return ae.error("unexpected end of input"),Oe==T&&J.setTagName(H.slice(g,Q)),Q;case">":switch(Oe){case T:J.setTagName(H.slice(g,Q));case A:case O:case C:break;case N:case a:Y=H.slice(g,Q),Y.slice(-1)==="/"&&(J.closed=!0,Y=Y.slice(0,-1));case i:Oe===i&&(Y=De),Oe==N?(ae.warning('attribute "'+Y+'" missed quot(")!'),ce(De,Y,g)):((!E.isHTML(K[""])||!Y.match(/^(?:disabled|checked|selected)$/i))&&ae.warning('attribute "'+Y+'" missed value!! "'+Y+'" instead!!'),ce(Y,Y,g));break;case l:throw new Error("attribute value missed!!")}return Q;case"€":me=" ";default:if(me<=" ")switch(Oe){case T:J.setTagName(H.slice(g,Q)),Oe=O;break;case a:De=H.slice(g,Q),Oe=i;break;case N:var Y=H.slice(g,Q);ae.warning('attribute "'+Y+'" missed quot(")!!'),ce(De,Y,g);case A:Oe=O;break}else switch(Oe){case i:J.tagName,(!E.isHTML(K[""])||!De.match(/^(?:disabled|checked|selected)$/i))&&ae.warning('attribute "'+De+'" missed value!! "'+De+'" instead2!!'),ce(De,De,g),g=Q,Oe=a;break;case A:ae.warning('attribute space is required"'+De+'"!!');case O:Oe=a,g=Q;break;case l:Oe=N,g=Q;break;case C:throw new Error("elements closed character '/' and '>' must be connected to")}}Q++}}function j(H,g,J){for(var K=H.tagName,k=null,me=H.length;me--;){var ae=H[me],ce=ae.qName,De=ae.value,Te=ce.indexOf(":");if(Te>0)var Y=ae.prefix=ce.slice(0,Te),Q=ce.slice(Te+1),Oe=Y==="xmlns"&&Q;else Q=ce,Y=null,Oe=ce==="xmlns"&&"";ae.localName=Q,Oe!==!1&&(k==null&&(k={},pe(J,J={})),J[Oe]=k[Oe]=De,ae.uri=E.XMLNS,g.startPrefixMapping(Oe,De))}for(var me=H.length;me--;){ae=H[me];var Y=ae.prefix;Y&&(Y==="xml"&&(ae.uri=E.XML),Y!=="xmlns"&&(ae.uri=J[Y||""]))}var Te=K.indexOf(":");Te>0?(Y=H.prefix=K.slice(0,Te),Q=H.localName=K.slice(Te+1)):(Y=null,Q=H.localName=K);var v=H.uri=J[Y||""];if(g.startElement(v,Q,K,H),H.closed){if(g.endElement(v,Q,K),k)for(Y in k)Object.prototype.hasOwnProperty.call(k,Y)&&g.endPrefixMapping(Y)}else return H.currentNSMap=J,H.localNSMap=k,!0}function te(H,g,J,K,k){if(/^(?:script|textarea)$/i.test(J)){var ae=H.indexOf("</"+J+">",g),ce=H.substring(g+1,ae);if(/[&<]/.test(ce))return/^script$/i.test(J)?(k.characters(ce,0,ce.length),ae):(ce=ce.replace(/&#?\w+;/g,K),k.characters(ce,0,ce.length),ae)}return g+1}function ee(H,g,J,K){var k=K[J];return k==null&&(k=H.lastIndexOf("</"+J+">"),k<g&&(k=H.lastIndexOf("</"+J)),K[J]=k),k<g}function pe(H,g){for(var J in H)Object.prototype.hasOwnProperty.call(H,J)&&(g[J]=H[J])}function Le(H,g,J,K){var k=H.charAt(g+2);switch(k){case"-":if(H.charAt(g+3)==="-"){var ae=H.indexOf("-->",g+4);return ae>g?(J.comment(H,g+4,ae-g-4),ae+3):(K.error("Unclosed comment"),-1)}else return-1;default:if(H.substr(g+3,6)=="CDATA["){var ae=H.indexOf("]]>",g+9);return J.startCDATA(),J.characters(H,g+9,ae-g-9),J.endCDATA(),ae+3}var ce=Ae(H,g),De=ce.length;if(De>1&&/!doctype/i.test(ce[0][0])){var Y=ce[1][0],Q=!1,Oe=!1;De>3&&(/^public$/i.test(ce[2][0])?(Q=ce[3][0],Oe=De>4&&ce[4][0]):/^system$/i.test(ce[2][0])&&(Oe=ce[3][0]));var me=ce[De-1];return J.startDTD(Y,Q,Oe),J.endDTD(),me.index+me[0].length}}return-1}function W(H,g,J){var K=H.indexOf("?>",g);if(K){var k=H.substring(g,K).match(/^<\?(\S*)\s*([\s\S]*?)\s*$/);return k?(k[0].length,J.processingInstruction(k[1],k[2]),K+2):-1}return-1}function D(){this.attributeNames={}}D.prototype={setTagName:function(H){if(!n.test(H))throw new Error("invalid tagName:"+H);this.tagName=H},addValue:function(H,g,J){if(!n.test(H))throw new Error("invalid attribute:"+H);this.attributeNames[H]=this.length,this[this.length++]={qName:H,value:g,offset:J}},length:0,getLocalName:function(H){return this[H].localName},getLocator:function(H){return this[H].locator},getQName:function(H){return this[H].qName},getURI:function(H){return this[H].uri},getValue:function(H){return this[H].value}};function Ae(H,g){var J,K=[],k=/'[^']+'|"[^"]+"|[^\s<>\/=]+=?|(\/?\s*>|<)/g;for(k.lastIndex=g,k.exec(H);J=k.exec(H);)if(K.push(J),J[1])return K}return bt.XMLReader=M,bt.ParseError=d,bt}var bE;function wn(){if(bE)return mt;bE=1;var E=Ht(),t=GE(),r=Vn(),n=vn(),T=t.DOMImplementation,a=E.NAMESPACE,i=n.ParseError,l=n.XMLReader;function N(U){return U.replace(/\r[\n\u0085]/g,`
8
+ `)(h);m=Z(a.value,M,y),I.value=m}else throw new Error(`Unsupported filter type: ${P.type}`);i.value="",T.nextTick(()=>{Ee()})}catch(m){i.value=m instanceof Error?m.message:"Filter execution error",I.value=null}},J=(P,m="root")=>{const h=new Map,y=(M,z)=>{if(M==null)return M;if(typeof M=="object"&&M.__protected_number__!==void 0){const re=parseFloat(M.__protected_number__);return h.set(re,z),re}if(Array.isArray(M)){const re=M.map((Ae,le)=>{const Ue=`${z}[${le}]`,Se=y(Ae,Ue);return h.set(Se,Ue),Se});return h.set(re,z),re}if(typeof M=="object"){const re={};for(const Ae in M)if(Object.prototype.hasOwnProperty.call(M,Ae)){const le=z==="root"?Ae:`${z}.${Ae}`;re[Ae]=y(M[Ae],le)}return h.set(re,z),re}return M};return{proxyData:y(P,m),indexMap:h}},Z=(P,m,h)=>{if(m===null||typeof m!="object")return m;if(Array.isArray(m))return m.map(M=>{const z=h.get(M);if(z){const re=De(P,z);if(re!==void 0)return re}return Z(P,M,h)});const y=h.get(m);if(y){const M=De(P,y);if(M!==void 0)return M}const $={};for(const M in m)Object.prototype.hasOwnProperty.call(m,M)&&($[M]=Z(P,m[M],h));return $},De=(P,m)=>{if(m==="root")return P;const h=[];let y=m.replace(/^root\.?/,"");const $=/([^\[\].]+)|\[(\d+)\]/g;let M;for(;(M=$.exec(y))!==null;)M[1]?h.push(M[1]):M[2]!==void 0&&h.push(parseInt(M[2]));let z=P;for(const re of h){if(z==null)return;z=z[re]}return z},ce=()=>{I.value=null,i.value=""},W=()=>{O.value=!0},u=()=>{O.value=!1};T.watch(()=>n.modelValue,P=>{d(P)},{immediate:!0});const ee=(P,m,h)=>{const y=z=>{if(z===null||typeof z!="object")return z;if(!Array.isArray(z)&&"__protected_number__"in z&&Object.keys(z).length===1)return`__PROTECTED_NUMBER_${z.__protected_number__}_PROTECTED_NUMBER__`;if(Array.isArray(z))return z.map(Ae=>y(Ae));const re={};for(const[Ae,le]of Object.entries(z))re[Ae]=y(le);return re},$=y(P);return JSON.stringify($,m,h).replace(/"__PROTECTED_NUMBER_(.+?)_PROTECTED_NUMBER__"/g,"$1")},U=(P,m)=>{if(!n.readonly)try{const h=v(a.value,P,m),y=ee(h,null,2);s("update:modelValue",y)}catch(h){console.error("Failed to update JSON:",h)}},v=(P,m,h)=>{if(!m||m==="root")return h;const y=m.split("."),$=Ie(P,y.slice(0,-1));let M=$;for(let re=0;re<y.length-1;re++){const Ae=y[re];Ae!=="root"&&(Array.isArray(M)?M=M[parseInt(Ae)]:M=M[Ae])}const z=y[y.length-1];return z==="root"?h:(Array.isArray(M)?M[parseInt(z)]=h:M[z]=h,$)},te=P=>{c.value.has(P)?c.value.delete(P):c.value.add(P)},Ee=()=>{const P=new Set,m=(h,y="")=>{h!==null&&typeof h=="object"&&(P.add(y||"root"),Array.isArray(h)?h.forEach(($,M)=>{const z=y?`${y}.${M}`:`${M}`;m($,z)}):Object.keys(h).forEach($=>{const M=y?`${y}.${$}`:$;m(h[$],M)}))};m(Y.value),c.value=P,s("expand-all")},Q=()=>{c.value=new Set,s("collapse-all")},Ce=async()=>{if(C.value)try{const P=Y.value,m=ee(P,null,2);await navigator.clipboard.writeText(m),s("copy-success",m)}catch(P){console.error("Failed to copy JSON:",P),s("copy-error",P instanceof Error?P:new Error("Failed to copy JSON"))}},_e=()=>{if(C.value)try{const P=Y.value,m=ee(P);s("update:modelValue",m),s("compress",m)}catch(P){console.error("Failed to compress JSON:",P)}},pe=async P=>{try{let m;typeof P=="object"&&P!==null&&!Array.isArray(P)&&"__protected_number__"in P&&Object.keys(P).length===1?m=P.__protected_number__:typeof P=="string"?m=`"${P}"`:m=JSON.stringify(P),await navigator.clipboard.writeText(m)}catch(m){console.error("Failed to copy value:",m)}},b=(P,m)=>{if(!n.readonly)try{const h=j(a.value,P,m),y=ee(h,null,2);s("update:modelValue",y),w(P,m)}catch(h){console.error("Failed to rename key:",h)}},j=(P,m,h)=>{if(!m||m==="root")return P;const y=m.split("."),$=Ie(P,y.slice(0,-1));if(y.length===1){const re=y[0];return $&&typeof $=="object"&&!Array.isArray($)?me($,re,h):$}let M=$;for(let re=0;re<y.length-1;re++){const Ae=y[re];Array.isArray(M)?M=M[parseInt(Ae)]:M=M[Ae]}const z=y[y.length-1];if(!Array.isArray(M)&&M&&typeof M=="object"){const re=me(M,z,h),Ae=y.slice(0,-1);Ae.length>0&&oe($,Ae,re)}return $},Ie=(P,m)=>{if(m.length===0)return P;if(Array.isArray(P)){const h=[...P],y=m[0],$=parseInt(y);return m.length===1||(h[$]=Ie(P[$],m.slice(1))),h}else if(P&&typeof P=="object"){const h={...P},y=m[0];return m.length===1||(h[y]=Ie(P[y],m.slice(1))),h}return P},me=(P,m,h)=>{if(!P||typeof P!="object"||Array.isArray(P))return P;const y=Object.keys(P),$={};for(const M of y)M===m?$[h]=P[M]:$[M]=P[M];return $},oe=(P,m,h)=>{let y=P;for(let M=0;M<m.length-1;M++){const z=m[M];Array.isArray(y)?y=y[parseInt(z)]:y=y[z]}const $=m[m.length-1];Array.isArray(y)?y[parseInt($)]=h:y[$]=h},w=(P,m)=>{const h=new Set;c.value.forEach(y=>{if(y===P){const $=P.split(".");$[$.length-1]=m,h.add($.join("."))}else if(y.startsWith(P+".")){const $=P.split(".");$[$.length-1]=m;const M=$.join("."),z=y.substring(P.length);h.add(M+z)}else h.add(y)}),c.value=h};return t({copyJson:Ce,compressSource:_e,expandAll:Ee,collapseAll:Q,toggleExpand:te,updateValue:U,updateKey:b,filter:k,clearFilter:ce,sortKeys:W,clearSortKeys:u,isSorted:()=>O.value,isValidJson:()=>C.value,getParsedJson:()=>a.value,getFilteredJson:()=>I.value,getExpandedNodes:()=>c.value,getParseError:()=>A.value,getFilterError:()=>i.value,parseJson:P=>d(P),copyValue:P=>pe(P)}),(P,m)=>(T.openBlock(),T.createElementBlock("div",{class:T.normalizeClass(["json-format",`json-format--${p.value.name}`])},[T.createElementVNode("div",Gn,[C.value?i.value?(T.openBlock(),T.createElementBlock("div",Hn,[m[1]||(m[1]=T.createElementVNode("h4",null,"Filter Error:",-1)),T.createElementVNode("pre",null,T.toDisplayString(i.value),1)])):(T.openBlock(),T.createElementBlock("div",bn,[T.createVNode(Bn,{value:Y.value,"key-name":"",level:0,expanded:c.value,"is-last":!0,theme:p.value,"onUpdate:value":U,onToggleExpand:te,onCopy:pe,"onUpdate:key":b},null,8,["value","expanded","theme"])])):(T.openBlock(),T.createElementBlock("div",Fn,[m[0]||(m[0]=T.createElementVNode("h4",null,"JSON Parse Error:",-1)),T.createElementVNode("pre",null,T.toDisplayString(A.value),1)]))])],2))}}),[["__scopeId","data-v-a802c0ac"]]);function mE(E){return E&&E.__esModule&&Object.prototype.hasOwnProperty.call(E,"default")?E.default:E}var qt={},BE;function xn(){return BE||(BE=1,function(E){var t=E;(function(r){var n="__namespace",s=function(e){return e==null},a=function(e){return e===n||Number.isInteger(e)&&e>=1&&e<=11},A=function(e){return e&&a(e.nodeType)&&typeof e.nodeName=="string"};function c(e){var o=Array.prototype.slice,N=e.length,D=function(f,Te){return function(){return Te.apply(this,f.concat(o.call(arguments)))}},l=function(){var f=o.call(arguments);return f.length<N?D(f,l):e.apply(this,o.apply(arguments,[0,N]))};return l}var I=function(e,o){for(var N=0;N<o.length;N+=1)e(o[N],N,o)},i=function(e,o,N){var D=o;return I(function(l,f){D=e(D,l,f)},N),D},O=function(e,o){var N=new Array(o.length);return I(function(D,l){N[l]=e(D)},o),N},C=function(e,o){var N=[];return I(function(D,l){e(D,l)&&N.push(D)},o),N},p=function(e,o){for(var N=0;N<e.length;N+=1)if(e[N]===o)return!0;return!1};function g(e){return function(){return e}}function B(e){return e.toString()}var Y=function(e,o){return o.join(e)},d=function(e,o,N){return e+N+o},k=Array.prototype.concat,J=function(e,o){var N=new ie;N.addArray(e);var D=N.toArray();return o?D.reverse():D},Z=32767;function De(e){for(var o=[],N=0;N<e.length;N+=Z){var D=e.slice(N,N+Z);o=k.apply(o,D)}return o}function ce(e,o){for(var N=Object(e),D=1;D<arguments.length;D++){var l=arguments[D];if(l!=null)for(var f in l)Object.prototype.hasOwnProperty.call(l,f)&&(N[f]=l[f])}return N}var W={ELEMENT_NODE:1,ATTRIBUTE_NODE:2,TEXT_NODE:3,CDATA_SECTION_NODE:4,PROCESSING_INSTRUCTION_NODE:7,COMMENT_NODE:8,DOCUMENT_NODE:9,DOCUMENT_TYPE_NODE:10,DOCUMENT_FRAGMENT_NODE:11,NAMESPACE_NODE:n};u.prototype=new Object,u.prototype.constructor=u,u.superclass=Object.prototype;function u(){this.init()}u.prototype.init=function(){this.reduceActions=[],this.reduceActions[3]=function(e){return new Ce(e[0],e[2])},this.reduceActions[5]=function(e){return new _e(e[0],e[2])},this.reduceActions[7]=function(e){return new pe(e[0],e[2])},this.reduceActions[8]=function(e){return new b(e[0],e[2])},this.reduceActions[10]=function(e){return new j(e[0],e[2])},this.reduceActions[11]=function(e){return new Ie(e[0],e[2])},this.reduceActions[12]=function(e){return new me(e[0],e[2])},this.reduceActions[13]=function(e){return new oe(e[0],e[2])},this.reduceActions[15]=function(e){return new w(e[0],e[2])},this.reduceActions[16]=function(e){return new P(e[0],e[2])},this.reduceActions[18]=function(e){return new m(e[0],e[2])},this.reduceActions[19]=function(e){return new h(e[0],e[2])},this.reduceActions[20]=function(e){return new y(e[0],e[2])},this.reduceActions[22]=function(e){return new Ee(e[1])},this.reduceActions[24]=function(e){return new $(e[0],e[2])},this.reduceActions[25]=function(e){return new M(void 0,void 0,e[0])},this.reduceActions[27]=function(e){return e[0].locationPath=e[2],e[0]},this.reduceActions[28]=function(e){return e[0].locationPath=e[2],e[0].locationPath.steps.unshift(new q(q.DESCENDANTORSELF,_.nodeTest,[])),e[0]},this.reduceActions[29]=function(e){return new M(e[0],[],void 0)},this.reduceActions[30]=function(e){return Ne.instance_of(e[0],M)?(e[0].filterPredicates==null&&(e[0].filterPredicates=[]),e[0].filterPredicates.push(e[1]),e[0]):new M(e[0],[e[1]],void 0)},this.reduceActions[32]=function(e){return e[1]},this.reduceActions[33]=function(e){return new H(e[0])},this.reduceActions[34]=function(e){return new V(e[0])},this.reduceActions[36]=function(e){return new Be(e[0],[])},this.reduceActions[37]=function(e){return new Be(e[0],e[2])},this.reduceActions[38]=function(e){return[e[0]]},this.reduceActions[39]=function(e){return e[2].unshift(e[0]),e[2]},this.reduceActions[43]=function(e){return new Se(!0,[])},this.reduceActions[44]=function(e){return e[1].absolute=!0,e[1]},this.reduceActions[46]=function(e){return new Se(!1,[e[0]])},this.reduceActions[47]=function(e){return e[0].steps.push(e[2]),e[0]},this.reduceActions[49]=function(e){return new q(e[0],e[1],[])},this.reduceActions[50]=function(e){return new q(q.CHILD,e[0],[])},this.reduceActions[51]=function(e){return new q(e[0],e[1],e[2])},this.reduceActions[52]=function(e){return new q(q.CHILD,e[0],e[1])},this.reduceActions[54]=function(e){return[e[0]]},this.reduceActions[55]=function(e){return e[1].unshift(e[0]),e[1]},this.reduceActions[56]=function(e){return e[0]=="ancestor"?q.ANCESTOR:e[0]=="ancestor-or-self"?q.ANCESTORORSELF:e[0]=="attribute"?q.ATTRIBUTE:e[0]=="child"?q.CHILD:e[0]=="descendant"?q.DESCENDANT:e[0]=="descendant-or-self"?q.DESCENDANTORSELF:e[0]=="following"?q.FOLLOWING:e[0]=="following-sibling"?q.FOLLOWINGSIBLING:e[0]=="namespace"?q.NAMESPACE:e[0]=="parent"?q.PARENT:e[0]=="preceding"?q.PRECEDING:e[0]=="preceding-sibling"?q.PRECEDINGSIBLING:e[0]=="self"?q.SELF:-1},this.reduceActions[57]=function(e){return q.ATTRIBUTE},this.reduceActions[59]=function(e){return e[0]=="comment"?_.commentTest:e[0]=="text"?_.textTest:e[0]=="processing-instruction"?_.anyPiTest:e[0]=="node"?_.nodeTest:new _(-1,void 0)},this.reduceActions[60]=function(e){return new _.PITest(e[2])},this.reduceActions[61]=function(e){return e[1]},this.reduceActions[63]=function(e){return e[1].absolute=!0,e[1].steps.unshift(new q(q.DESCENDANTORSELF,_.nodeTest,[])),e[1]},this.reduceActions[64]=function(e){return e[0].steps.push(new q(q.DESCENDANTORSELF,_.nodeTest,[])),e[0].steps.push(e[2]),e[0]},this.reduceActions[65]=function(e){return new q(q.SELF,_.nodeTest,[])},this.reduceActions[66]=function(e){return new q(q.PARENT,_.nodeTest,[])},this.reduceActions[67]=function(e){return new se(e[1])},this.reduceActions[68]=function(e){return _.nameTestAny},this.reduceActions[69]=function(e){return new _.NameTestPrefixAny(e[0].split(":")[0])},this.reduceActions[70]=function(e){return new _.NameTestQName(e[0])}},u.actionTable=[" s s sssssssss s ss s ss"," s ","r rrrrrrrrr rrrrrrr rr r "," rrrrr "," s s sssssssss s ss s ss","rs rrrrrrrr s sssssrrrrrr rrs rs "," s s sssssssss s ss s ss"," s "," s ","r rrrrrrrrr rrrrrrr rr rr ","r rrrrrrrrr rrrrrrr rr rr ","r rrrrrrrrr rrrrrrr rr rr ","r rrrrrrrrr rrrrrrr rr rr ","r rrrrrrrrr rrrrrrr rr rr "," s "," s "," s s sssss s s ","r rrrrrrrrr rrrrrrr rr r ","a ","r s rr r ","r sr rr r ","r s rr s rr r ","r rssrr rss rr r ","r rrrrr rrrss rr r ","r rrrrrsss rrrrr rr r ","r rrrrrrrr rrrrr rr r ","r rrrrrrrr rrrrrs rr r ","r rrrrrrrr rrrrrr rr r ","r rrrrrrrr rrrrrr rr r ","r srrrrrrrr rrrrrrs rr sr ","r srrrrrrrr rrrrrrs rr r ","r rrrrrrrrr rrrrrrr rr rr ","r rrrrrrrrr rrrrrrr rr rr ","r rrrrrrrrr rrrrrrr rr rr ","r rrrrrrrr rrrrrr rr r ","r rrrrrrrr rrrrrr rr r ","r rrrrrrrrr rrrrrrr rr r ","r rrrrrrrrr rrrrrrr rr r "," sssss ","r rrrrrrrrr rrrrrrr rr sr ","r rrrrrrrrr rrrrrrr rr r ","r rrrrrrrrr rrrrrrr rr rr ","r rrrrrrrrr rrrrrrr rr rr "," s ","r srrrrrrrr rrrrrrs rr r ","r rrrrrrrr rrrrr rr r "," s "," s "," rrrrr "," s s sssssssss s sss s ss","r srrrrrrrr rrrrrrs rr r "," s s sssssssss s ss s ss"," s s sssssssss s ss s ss"," s s sssssssss s ss s ss"," s s sssssssss s ss s ss"," s s sssssssss s ss s ss"," s s sssssssss s ss s ss"," s s sssssssss s ss s ss"," s s sssssssss s ss s ss"," s s sssssssss s ss s ss"," s s sssssssss s ss s ss"," s s sssssssss s ss s ss"," s s sssssssss s ss s ss"," s s sssssssss s ss s ss"," s s sssssssss ss s ss"," s s sssssssss s ss s ss"," s s sssss s s "," s s sssss s s ","r rrrrrrrrr rrrrrrr rr rr "," s s sssss s s "," s s sssss s s ","r rrrrrrrrr rrrrrrr rr sr ","r rrrrrrrrr rrrrrrr rr sr ","r rrrrrrrrr rrrrrrr rr r ","r rrrrrrrrr rrrrrrr rr rr "," s ","r rrrrrrrrr rrrrrrr rr rr ","r rrrrrrrrr rrrrrrr rr rr "," rr "," s "," rs ","r sr rr r ","r s rr s rr r ","r rssrr rss rr r ","r rssrr rss rr r ","r rrrrr rrrss rr r ","r rrrrr rrrss rr r ","r rrrrr rrrss rr r ","r rrrrr rrrss rr r ","r rrrrrsss rrrrr rr r ","r rrrrrsss rrrrr rr r ","r rrrrrrrr rrrrr rr r ","r rrrrrrrr rrrrr rr r ","r rrrrrrrr rrrrr rr r ","r rrrrrrrr rrrrrr rr r "," r "," s ","r srrrrrrrr rrrrrrs rr r ","r srrrrrrrr rrrrrrs rr r ","r rrrrrrrrr rrrrrrr rr r ","r rrrrrrrrr rrrrrrr rr r ","r rrrrrrrrr rrrrrrr rr r ","r rrrrrrrrr rrrrrrr rr r ","r rrrrrrrrr rrrrrrr rr rr ","r rrrrrrrrr rrrrrrr rr rr "," s s sssssssss s ss s ss","r rrrrrrrrr rrrrrrr rr rr "," r "],u.actionTableNumber=[` 1 0 /.-,+*)(' & %$ # "!`," J ","a aaaaaaaaa aaaaaaa aa a "," YYYYY ",` 1 0 /.-,+*)(' & %$ # "!`,`K1 KKKKKKKK . +*)('KKKKKK KK# K" `,` 1 0 /.-,+*)(' & %$ # "!`," N "," O ","e eeeeeeeee eeeeeee ee ee ","f fffffffff fffffff ff ff ","d ddddddddd ddddddd dd dd ","B BBBBBBBBB BBBBBBB BB BB ","A AAAAAAAAA AAAAAAA AA AA "," P "," Q ",` 1 . +*)(' # " `,"b bbbbbbbbb bbbbbbb bb b "," ","! S !! ! ",'" T" "" " ',"$ V $$ U $$ $ ","& &ZY&& &XW && & ",") ))))) )))\\[ )) ) ",". ....._^] ..... .. . ","1 11111111 11111 11 1 ","5 55555555 55555` 55 5 ","7 77777777 777777 77 7 ","9 99999999 999999 99 9 ",": c:::::::: ::::::b :: a: ","I fIIIIIIII IIIIIIe II I ","= ========= ======= == == ","? ????????? ??????? ?? ?? ","C CCCCCCCCC CCCCCCC CC CC ","J JJJJJJJJ JJJJJJ JJ J ","M MMMMMMMM MMMMMM MM M ","N NNNNNNNNN NNNNNNN NN N ","P PPPPPPPPP PPPPPPP PP P "," +*)(' ","R RRRRRRRRR RRRRRRR RR aR ","U UUUUUUUUU UUUUUUU UU U ","Z ZZZZZZZZZ ZZZZZZZ ZZ ZZ ","c ccccccccc ccccccc cc cc "," j ","L fLLLLLLLL LLLLLLe LL L ","6 66666666 66666 66 6 "," k "," l "," XXXXX ",` 1 0 /.-,+*)(' & %$m # "!`,"_ f________ ______e __ _ ",` 1 0 /.-,+*)(' & %$ # "!`,` 1 0 /.-,+*)(' & %$ # "!`,` 1 0 /.-,+*)(' & %$ # "!`,` 1 0 /.-,+*)(' & %$ # "!`,` 1 0 /.-,+*)(' & %$ # "!`,` 1 0 /.-,+*)(' & %$ # "!`,` 1 0 /.-,+*)(' & %$ # "!`,` 1 0 /.-,+*)(' & %$ # "!`,` 1 0 /.-,+*)(' & %$ # "!`,` 1 0 /.-,+*)(' & %$ # "!`,` 1 0 /.-,+*)(' & %$ # "!`,` 1 0 /.-,+*)(' & %$ # "!`,` 1 0 /.-,+*)(' & %$ # "!`,` 1 0 /.-,+*)(' %$ # "!`,` 1 0 /.-,+*)(' & %$ # "!`,` 1 . +*)(' # " `,` 1 . +*)(' # " `,"> >>>>>>>>> >>>>>>> >> >> ",` 1 . +*)(' # " `,` 1 . +*)(' # " `,"Q QQQQQQQQQ QQQQQQQ QQ aQ ","V VVVVVVVVV VVVVVVV VV aV ","T TTTTTTTTT TTTTTTT TT T ","@ @@@@@@@@@ @@@@@@@ @@ @@ "," ‡ ","[ [[[[[[[[[ [[[[[[[ [[ [[ ","D DDDDDDDDD DDDDDDD DD DD "," HH "," ˆ "," F‰ ","# T# ## # ","% V %% U %% % ","' 'ZY'' 'XW '' ' ","( (ZY(( (XW (( ( ","+ +++++ +++\\[ ++ + ","* ***** ***\\[ ** * ","- ----- ---\\[ -- - ",", ,,,,, ,,,\\[ ,, , ","0 00000_^] 00000 00 0 ","/ /////_^] ///// // / ","2 22222222 22222 22 2 ","3 33333333 33333 33 3 ","4 44444444 44444 44 4 ","8 88888888 888888 88 8 "," ^ "," Š ","; f;;;;;;;; ;;;;;;e ;; ; ","< f<<<<<<<< <<<<<<e << < ","O OOOOOOOOO OOOOOOO OO O ","` ````````` ``````` `` ` ","S SSSSSSSSS SSSSSSS SS S ","W WWWWWWWWW WWWWWWW WW W ","\\ \\\\\\\\\\\\\\\\\\ \\\\\\\\\\\\\\ \\\\ \\\\ ","E EEEEEEEEE EEEEEEE EE EE ",` 1 0 /.-,+*)(' & %$ # "!`,"] ]]]]]]]]] ]]]]]]] ]] ]] "," G "],u.gotoTable=["3456789:;<=>?@ AB CDEFGH IJ "," "," "," ","L456789:;<=>?@ AB CDEFGH IJ "," M EFGH IJ "," N;<=>?@ AB CDEFGH IJ "," "," "," "," "," "," "," "," "," "," S EFGH IJ "," "," "," "," "," "," "," "," "," "," "," "," "," e "," "," "," "," "," "," "," "," "," h J "," i j "," "," "," "," "," "," "," "," "," ","o456789:;<=>?@ ABpqCDEFGH IJ "," "," r6789:;<=>?@ AB CDEFGH IJ "," s789:;<=>?@ AB CDEFGH IJ "," t89:;<=>?@ AB CDEFGH IJ "," u89:;<=>?@ AB CDEFGH IJ "," v9:;<=>?@ AB CDEFGH IJ "," w9:;<=>?@ AB CDEFGH IJ "," x9:;<=>?@ AB CDEFGH IJ "," y9:;<=>?@ AB CDEFGH IJ "," z:;<=>?@ AB CDEFGH IJ "," {:;<=>?@ AB CDEFGH IJ "," |;<=>?@ AB CDEFGH IJ "," };<=>?@ AB CDEFGH IJ "," ~;<=>?@ AB CDEFGH IJ "," =>?@ AB CDEFGH IJ ","€456789:;<=>?@ AB CDEFGH IJ"," ‚ EFGH IJ "," ƒ EFGH IJ "," "," „ GH IJ "," … GH IJ "," i † "," i ‡ "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," ","o456789:;<=>?@ ABŒqCDEFGH IJ "," "," "],u.productions=[[1,1,2],[2,1,3],[3,1,4],[3,3,3,-9,4],[4,1,5],[4,3,4,-8,5],[5,1,6],[5,3,5,-22,6],[5,3,5,-5,6],[6,1,7],[6,3,6,-23,7],[6,3,6,-24,7],[6,3,6,-6,7],[6,3,6,-7,7],[7,1,8],[7,3,7,-25,8],[7,3,7,-26,8],[8,1,9],[8,3,8,-12,9],[8,3,8,-11,9],[8,3,8,-10,9],[9,1,10],[9,2,-26,9],[10,1,11],[10,3,10,-27,11],[11,1,12],[11,1,13],[11,3,13,-28,14],[11,3,13,-4,14],[13,1,15],[13,2,13,16],[15,1,17],[15,3,-29,2,-30],[15,1,-15],[15,1,-16],[15,1,18],[18,3,-13,-29,-30],[18,4,-13,-29,19,-30],[19,1,20],[19,3,20,-31,19],[20,1,2],[12,1,14],[12,1,21],[21,1,-28],[21,2,-28,14],[21,1,22],[14,1,23],[14,3,14,-28,23],[14,1,24],[23,2,25,26],[23,1,26],[23,3,25,26,27],[23,2,26,27],[23,1,28],[27,1,16],[27,2,16,27],[25,2,-14,-3],[25,1,-32],[26,1,29],[26,3,-20,-29,-30],[26,4,-21,-29,-15,-30],[16,3,-33,30,-34],[30,1,2],[22,2,-4,14],[24,3,14,-4,23],[28,1,-35],[28,1,-2],[17,2,-36,-18],[29,1,-17],[29,1,-19],[29,1,-18]],u.DOUBLEDOT=2,u.DOUBLECOLON=3,u.DOUBLESLASH=4,u.NOTEQUAL=5,u.LESSTHANOREQUAL=6,u.GREATERTHANOREQUAL=7,u.AND=8,u.OR=9,u.MOD=10,u.DIV=11,u.MULTIPLYOPERATOR=12,u.FUNCTIONNAME=13,u.AXISNAME=14,u.LITERAL=15,u.NUMBER=16,u.ASTERISKNAMETEST=17,u.QNAME=18,u.NCNAMECOLONASTERISK=19,u.NODETYPE=20,u.PROCESSINGINSTRUCTIONWITHLITERAL=21,u.EQUALS=22,u.LESSTHAN=23,u.GREATERTHAN=24,u.PLUS=25,u.MINUS=26,u.BAR=27,u.SLASH=28,u.LEFTPARENTHESIS=29,u.RIGHTPARENTHESIS=30,u.COMMA=31,u.AT=32,u.LEFTBRACKET=33,u.RIGHTBRACKET=34,u.DOT=35,u.DOLLAR=36,u.prototype.tokenize=function(e){for(var o=[],N=[],D=e+"\0",l=0,f=D.charAt(l++);;){for(;f==" "||f==" "||f=="\r"||f==`
9
+ `;)f=D.charAt(l++);if(f=="\0"||l>=D.length)break;if(f=="("){o.push(u.LEFTPARENTHESIS),N.push(f),f=D.charAt(l++);continue}if(f==")"){o.push(u.RIGHTPARENTHESIS),N.push(f),f=D.charAt(l++);continue}if(f=="["){o.push(u.LEFTBRACKET),N.push(f),f=D.charAt(l++);continue}if(f=="]"){o.push(u.RIGHTBRACKET),N.push(f),f=D.charAt(l++);continue}if(f=="@"){o.push(u.AT),N.push(f),f=D.charAt(l++);continue}if(f==","){o.push(u.COMMA),N.push(f),f=D.charAt(l++);continue}if(f=="|"){o.push(u.BAR),N.push(f),f=D.charAt(l++);continue}if(f=="+"){o.push(u.PLUS),N.push(f),f=D.charAt(l++);continue}if(f=="-"){o.push(u.MINUS),N.push(f),f=D.charAt(l++);continue}if(f=="="){o.push(u.EQUALS),N.push(f),f=D.charAt(l++);continue}if(f=="$"){o.push(u.DOLLAR),N.push(f),f=D.charAt(l++);continue}if(f=="."){if(f=D.charAt(l++),f=="."){o.push(u.DOUBLEDOT),N.push(".."),f=D.charAt(l++);continue}if(f>="0"&&f<="9"){var Te="."+f;for(f=D.charAt(l++);f>="0"&&f<="9";)Te+=f,f=D.charAt(l++);o.push(u.NUMBER),N.push(Te);continue}o.push(u.DOT),N.push(".");continue}if(f=="'"||f=='"'){for(var he=f,Me="";l<D.length&&(f=D.charAt(l))!==he;)Me+=f,l+=1;if(f!==he)throw qe.fromMessage("Unterminated string literal: "+he+Me);l+=1,o.push(u.LITERAL),N.push(Me),f=D.charAt(l++);continue}if(f>="0"&&f<="9"){var Te=f;for(f=D.charAt(l++);f>="0"&&f<="9";)Te+=f,f=D.charAt(l++);if(f=="."&&D.charAt(l)>="0"&&D.charAt(l)<="9")for(Te+=f,Te+=D.charAt(l++),f=D.charAt(l++);f>="0"&&f<="9";)Te+=f,f=D.charAt(l++);o.push(u.NUMBER),N.push(Te);continue}if(f=="*"){if(o.length>0){var ae=o[o.length-1];if(ae!=u.AT&&ae!=u.DOUBLECOLON&&ae!=u.LEFTPARENTHESIS&&ae!=u.LEFTBRACKET&&ae!=u.AND&&ae!=u.OR&&ae!=u.MOD&&ae!=u.DIV&&ae!=u.MULTIPLYOPERATOR&&ae!=u.SLASH&&ae!=u.DOUBLESLASH&&ae!=u.BAR&&ae!=u.PLUS&&ae!=u.MINUS&&ae!=u.EQUALS&&ae!=u.NOTEQUAL&&ae!=u.LESSTHAN&&ae!=u.LESSTHANOREQUAL&&ae!=u.GREATERTHAN&&ae!=u.GREATERTHANOREQUAL){o.push(u.MULTIPLYOPERATOR),N.push(f),f=D.charAt(l++);continue}}o.push(u.ASTERISKNAMETEST),N.push(f),f=D.charAt(l++);continue}if(f==":"&&D.charAt(l)==":"){o.push(u.DOUBLECOLON),N.push("::"),l++,f=D.charAt(l++);continue}if(f=="/"){if(f=D.charAt(l++),f=="/"){o.push(u.DOUBLESLASH),N.push("//"),f=D.charAt(l++);continue}o.push(u.SLASH),N.push("/");continue}if(f=="!"&&D.charAt(l)=="="){o.push(u.NOTEQUAL),N.push("!="),l++,f=D.charAt(l++);continue}if(f=="<"){if(D.charAt(l)=="="){o.push(u.LESSTHANOREQUAL),N.push("<="),l++,f=D.charAt(l++);continue}o.push(u.LESSTHAN),N.push("<"),f=D.charAt(l++);continue}if(f==">"){if(D.charAt(l)=="="){o.push(u.GREATERTHANOREQUAL),N.push(">="),l++,f=D.charAt(l++);continue}o.push(u.GREATERTHAN),N.push(">"),f=D.charAt(l++);continue}if(f=="_"||Ne.isLetter(f.charCodeAt(0))){var Re=f;for(f=D.charAt(l++);Ne.isNCNameChar(f.charCodeAt(0));)Re+=f,f=D.charAt(l++);if(o.length>0){var ae=o[o.length-1];if(ae!=u.AT&&ae!=u.DOUBLECOLON&&ae!=u.LEFTPARENTHESIS&&ae!=u.LEFTBRACKET&&ae!=u.AND&&ae!=u.OR&&ae!=u.MOD&&ae!=u.DIV&&ae!=u.MULTIPLYOPERATOR&&ae!=u.SLASH&&ae!=u.DOUBLESLASH&&ae!=u.BAR&&ae!=u.PLUS&&ae!=u.MINUS&&ae!=u.EQUALS&&ae!=u.NOTEQUAL&&ae!=u.LESSTHAN&&ae!=u.LESSTHANOREQUAL&&ae!=u.GREATERTHAN&&ae!=u.GREATERTHANOREQUAL){if(Re=="and"){o.push(u.AND),N.push(Re);continue}if(Re=="or"){o.push(u.OR),N.push(Re);continue}if(Re=="mod"){o.push(u.MOD),N.push(Re);continue}if(Re=="div"){o.push(u.DIV),N.push(Re);continue}}}if(f==":"){if(D.charAt(l)=="*"){o.push(u.NCNAMECOLONASTERISK),N.push(Re+":*"),l++,f=D.charAt(l++);continue}if(D.charAt(l)=="_"||Ne.isLetter(D.charCodeAt(l))){for(Re+=":",f=D.charAt(l++);Ne.isNCNameChar(f.charCodeAt(0));)Re+=f,f=D.charAt(l++);if(f=="("){o.push(u.FUNCTIONNAME),N.push(Re);continue}o.push(u.QNAME),N.push(Re);continue}if(D.charAt(l)==":"){o.push(u.AXISNAME),N.push(Re);continue}}if(f=="("){if(Re=="comment"||Re=="text"||Re=="node"){o.push(u.NODETYPE),N.push(Re);continue}if(Re=="processing-instruction"){D.charAt(l)==")"?o.push(u.NODETYPE):o.push(u.PROCESSINGINSTRUCTIONWITHLITERAL),N.push(Re);continue}o.push(u.FUNCTIONNAME),N.push(Re);continue}o.push(u.QNAME),N.push(Re);continue}throw new Error("Unexpected character "+f)}return o.push(1),N.push("[EOF]"),[o,N]},u.SHIFT="s",u.REDUCE="r",u.ACCEPT="a",u.prototype.parse=function(Me){if(!Me)throw new Error("XPath expression unspecified.");if(typeof Me!="string")throw new Error("XPath expression must be a string.");var o,N,D=this.tokenize(Me);if(D!=null){o=D[0],N=D[1];var l=0,f=[],Te=[],he=[],Me,ae,Re;for(f.push(0),Te.push(1),he.push("_S"),ae=o[l],Re=N[l++];;)switch(Me=f[f.length-1],u.actionTable[Me].charAt(ae-1)){case u.SHIFT:Te.push(-ae),he.push(Re),f.push(u.actionTableNumber[Me].charCodeAt(ae-1)-32),ae=o[l],Re=N[l++];break;case u.REDUCE:for(var Ke=u.productions[u.actionTableNumber[Me].charCodeAt(ae-1)-32][1],ze=[],He=0;He<Ke;He++)Te.pop(),ze.unshift(he.pop()),f.pop();var Tt=f[f.length-1];Te.push(u.productions[u.actionTableNumber[Me].charCodeAt(ae-1)-32][0]),this.reduceActions[u.actionTableNumber[Me].charCodeAt(ae-1)-32]==null?he.push(ze[0]):he.push(this.reduceActions[u.actionTableNumber[Me].charCodeAt(ae-1)-32](ze)),f.push(u.gotoTable[Tt].charCodeAt(u.productions[u.actionTableNumber[Me].charCodeAt(ae-1)-32][0]-2)-33);break;case u.ACCEPT:return new ee(he.pop());default:throw new Error("XPath parse error")}}},ee.prototype=new Object,ee.prototype.constructor=ee,ee.superclass=Object.prototype;function ee(e){this.expression=e}ee.prototype.toString=function(){return this.expression.toString()};function U(e,o,N){o in e||(e[o]=N)}ee.prototype.evaluate=function(e){var o=e.expressionContextNode;if(!(s(o)||A(o)))throw new Error("Context node does not appear to be a valid DOM node.");return e.contextNode=e.expressionContextNode,e.contextSize=1,e.contextPosition=1,e.isHtml&&(U(e,"caseInsensitive",!0),U(e,"allowAnyNamespaceForNoPrefix",!0)),U(e,"caseInsensitive",!1),this.expression.evaluate(e)},ee.XML_NAMESPACE_URI="http://www.w3.org/XML/1998/namespace",ee.XMLNS_NAMESPACE_URI="http://www.w3.org/2000/xmlns/",v.prototype=new Object,v.prototype.constructor=v,v.superclass=Object.prototype;function v(){}v.prototype.init=function(){},v.prototype.toString=function(){return"<Expression>"},v.prototype.evaluate=function(e){throw new Error("Could not evaluate expression.")},te.prototype=new v,te.prototype.constructor=te,te.superclass=v.prototype;function te(e){arguments.length>0&&this.init(e)}te.prototype.init=function(e){this.rhs=e},Ee.prototype=new te,Ee.prototype.constructor=Ee,Ee.superclass=te.prototype;function Ee(e){arguments.length>0&&this.init(e)}Ee.prototype.init=function(e){Ee.superclass.init.call(this,e)},Ee.prototype.evaluate=function(e){return this.rhs.evaluate(e).number().negate()},Ee.prototype.toString=function(){return"-"+this.rhs.toString()},Q.prototype=new v,Q.prototype.constructor=Q,Q.superclass=v.prototype;function Q(e,o){arguments.length>0&&this.init(e,o)}Q.prototype.init=function(e,o){this.lhs=e,this.rhs=o},Ce.prototype=new Q,Ce.prototype.constructor=Ce,Ce.superclass=Q.prototype;function Ce(e,o){arguments.length>0&&this.init(e,o)}Ce.prototype.init=function(e,o){Ce.superclass.init.call(this,e,o)},Ce.prototype.toString=function(){return"("+this.lhs.toString()+" or "+this.rhs.toString()+")"},Ce.prototype.evaluate=function(e){var o=this.lhs.evaluate(e).bool();return o.booleanValue()?o:this.rhs.evaluate(e).bool()},_e.prototype=new Q,_e.prototype.constructor=_e,_e.superclass=Q.prototype;function _e(e,o){arguments.length>0&&this.init(e,o)}_e.prototype.init=function(e,o){_e.superclass.init.call(this,e,o)},_e.prototype.toString=function(){return"("+this.lhs.toString()+" and "+this.rhs.toString()+")"},_e.prototype.evaluate=function(e){var o=this.lhs.evaluate(e).bool();return o.booleanValue()?this.rhs.evaluate(e).bool():o},pe.prototype=new Q,pe.prototype.constructor=pe,pe.superclass=Q.prototype;function pe(e,o){arguments.length>0&&this.init(e,o)}pe.prototype.init=function(e,o){pe.superclass.init.call(this,e,o)},pe.prototype.toString=function(){return"("+this.lhs.toString()+" = "+this.rhs.toString()+")"},pe.prototype.evaluate=function(e){return this.lhs.evaluate(e).equals(this.rhs.evaluate(e))},b.prototype=new Q,b.prototype.constructor=b,b.superclass=Q.prototype;function b(e,o){arguments.length>0&&this.init(e,o)}b.prototype.init=function(e,o){b.superclass.init.call(this,e,o)},b.prototype.toString=function(){return"("+this.lhs.toString()+" != "+this.rhs.toString()+")"},b.prototype.evaluate=function(e){return this.lhs.evaluate(e).notequal(this.rhs.evaluate(e))},j.prototype=new Q,j.prototype.constructor=j,j.superclass=Q.prototype;function j(e,o){arguments.length>0&&this.init(e,o)}j.prototype.init=function(e,o){j.superclass.init.call(this,e,o)},j.prototype.evaluate=function(e){return this.lhs.evaluate(e).lessthan(this.rhs.evaluate(e))},j.prototype.toString=function(){return"("+this.lhs.toString()+" < "+this.rhs.toString()+")"},Ie.prototype=new Q,Ie.prototype.constructor=Ie,Ie.superclass=Q.prototype;function Ie(e,o){arguments.length>0&&this.init(e,o)}Ie.prototype.init=function(e,o){Ie.superclass.init.call(this,e,o)},Ie.prototype.evaluate=function(e){return this.lhs.evaluate(e).greaterthan(this.rhs.evaluate(e))},Ie.prototype.toString=function(){return"("+this.lhs.toString()+" > "+this.rhs.toString()+")"},me.prototype=new Q,me.prototype.constructor=me,me.superclass=Q.prototype;function me(e,o){arguments.length>0&&this.init(e,o)}me.prototype.init=function(e,o){me.superclass.init.call(this,e,o)},me.prototype.evaluate=function(e){return this.lhs.evaluate(e).lessthanorequal(this.rhs.evaluate(e))},me.prototype.toString=function(){return"("+this.lhs.toString()+" <= "+this.rhs.toString()+")"},oe.prototype=new Q,oe.prototype.constructor=oe,oe.superclass=Q.prototype;function oe(e,o){arguments.length>0&&this.init(e,o)}oe.prototype.init=function(e,o){oe.superclass.init.call(this,e,o)},oe.prototype.evaluate=function(e){return this.lhs.evaluate(e).greaterthanorequal(this.rhs.evaluate(e))},oe.prototype.toString=function(){return"("+this.lhs.toString()+" >= "+this.rhs.toString()+")"},w.prototype=new Q,w.prototype.constructor=w,w.superclass=Q.prototype;function w(e,o){arguments.length>0&&this.init(e,o)}w.prototype.init=function(e,o){w.superclass.init.call(this,e,o)},w.prototype.evaluate=function(e){return this.lhs.evaluate(e).number().plus(this.rhs.evaluate(e).number())},w.prototype.toString=function(){return"("+this.lhs.toString()+" + "+this.rhs.toString()+")"},P.prototype=new Q,P.prototype.constructor=P,P.superclass=Q.prototype;function P(e,o){arguments.length>0&&this.init(e,o)}P.prototype.init=function(e,o){P.superclass.init.call(this,e,o)},P.prototype.evaluate=function(e){return this.lhs.evaluate(e).number().minus(this.rhs.evaluate(e).number())},P.prototype.toString=function(){return"("+this.lhs.toString()+" - "+this.rhs.toString()+")"},m.prototype=new Q,m.prototype.constructor=m,m.superclass=Q.prototype;function m(e,o){arguments.length>0&&this.init(e,o)}m.prototype.init=function(e,o){m.superclass.init.call(this,e,o)},m.prototype.evaluate=function(e){return this.lhs.evaluate(e).number().multiply(this.rhs.evaluate(e).number())},m.prototype.toString=function(){return"("+this.lhs.toString()+" * "+this.rhs.toString()+")"},h.prototype=new Q,h.prototype.constructor=h,h.superclass=Q.prototype;function h(e,o){arguments.length>0&&this.init(e,o)}h.prototype.init=function(e,o){h.superclass.init.call(this,e,o)},h.prototype.evaluate=function(e){return this.lhs.evaluate(e).number().div(this.rhs.evaluate(e).number())},h.prototype.toString=function(){return"("+this.lhs.toString()+" div "+this.rhs.toString()+")"},y.prototype=new Q,y.prototype.constructor=y,y.superclass=Q.prototype;function y(e,o){arguments.length>0&&this.init(e,o)}y.prototype.init=function(e,o){y.superclass.init.call(this,e,o)},y.prototype.evaluate=function(e){return this.lhs.evaluate(e).number().mod(this.rhs.evaluate(e).number())},y.prototype.toString=function(){return"("+this.lhs.toString()+" mod "+this.rhs.toString()+")"},$.prototype=new Q,$.prototype.constructor=$,$.superclass=Q.prototype;function $(e,o){arguments.length>0&&this.init(e,o)}$.prototype.init=function(e,o){$.superclass.init.call(this,e,o)},$.prototype.evaluate=function(e){return this.lhs.evaluate(e).nodeset().union(this.rhs.evaluate(e).nodeset())},$.prototype.toString=function(){return O(B,[this.lhs,this.rhs]).join(" | ")},M.prototype=new v,M.prototype.constructor=M,M.superclass=v.prototype;function M(e,o,N){arguments.length>0&&this.init(e,o,N)}M.prototype.init=function(e,o,N){M.superclass.init.call(this),this.filter=e,this.filterPredicates=o,this.locationPath=N};function z(e){for(;e&&e.parentNode;)e=e.parentNode;return e}var re=function(e,o,N,D){if(e.length===0)return N;var l=o.extend({});return i(function(f,Te){return l.contextSize=f.length,C(function(he,Me){return l.contextNode=he,l.contextPosition=Me+1,M.predicateMatches(Te,l)},f)},J(N,D),e)};M.getRoot=function(e,o){var N=o[0];if(N&&N.nodeType===W.DOCUMENT_NODE)return N;if(e.virtualRoot)return e.virtualRoot;if(!N)throw new Error("Context node not found when determining document root.");var D=N.ownerDocument;if(D)return D;for(var l=N;l.parentNode!=null;)l=l.parentNode;return l};var Ae=function(e){var o=String(e.name);return o==="xmlns"?"":o.substring(0,6)==="xmlns:"?o.substring(6,o.length):null};M.applyStep=function(e,o,N){if(!N)throw new Error("Context node not found when evaluating XPath step: "+e);var D=[];switch(o.contextNode=N,e.axis){case q.ANCESTOR:if(o.contextNode===o.virtualRoot)break;var l;for(o.contextNode.nodeType==W.ATTRIBUTE_NODE?l=M.getOwnerElement(o.contextNode):l=o.contextNode.parentNode;l!=null&&(e.nodeTest.matches(l,o)&&D.push(l),l!==o.virtualRoot);)l=l.parentNode;break;case q.ANCESTORORSELF:for(var l=o.contextNode;l!=null&&(e.nodeTest.matches(l,o)&&D.push(l),l!==o.virtualRoot);l=l.nodeType==W.ATTRIBUTE_NODE?M.getOwnerElement(l):l.parentNode);break;case q.ATTRIBUTE:var f=o.contextNode.attributes;if(f!=null)for(var Te=0;Te<f.length;Te++){var l=f.item(Te);e.nodeTest.matches(l,o)&&D.push(l)}break;case q.CHILD:for(var l=o.contextNode.firstChild;l!=null;l=l.nextSibling)e.nodeTest.matches(l,o)&&D.push(l);break;case q.DESCENDANT:for(var Re=[o.contextNode.firstChild];Re.length>0;)for(var l=Re.pop();l!=null;)e.nodeTest.matches(l,o)&&D.push(l),l.firstChild!=null?(Re.push(l.nextSibling),l=l.firstChild):l=l.nextSibling;break;case q.DESCENDANTORSELF:e.nodeTest.matches(o.contextNode,o)&&D.push(o.contextNode);for(var Re=[o.contextNode.firstChild];Re.length>0;)for(var l=Re.pop();l!=null;)e.nodeTest.matches(l,o)&&D.push(l),l.firstChild!=null?(Re.push(l.nextSibling),l=l.firstChild):l=l.nextSibling;break;case q.FOLLOWING:if(o.contextNode===o.virtualRoot)break;var Re=[];o.contextNode.firstChild!=null?Re.unshift(o.contextNode.firstChild):Re.unshift(o.contextNode.nextSibling);for(var l=o.contextNode.parentNode;l!=null&&l.nodeType!=W.DOCUMENT_NODE&&l!==o.virtualRoot;l=l.parentNode)Re.unshift(l.nextSibling);do for(var l=Re.pop();l!=null;)e.nodeTest.matches(l,o)&&D.push(l),l.firstChild!=null?(Re.push(l.nextSibling),l=l.firstChild):l=l.nextSibling;while(Re.length>0);break;case q.FOLLOWINGSIBLING:if(o.contextNode===o.virtualRoot)break;for(var l=o.contextNode.nextSibling;l!=null;l=l.nextSibling)e.nodeTest.matches(l,o)&&D.push(l);break;case q.NAMESPACE:var he={};if(o.contextNode.nodeType==W.ELEMENT_NODE){he.xml=new nt("xml",null,ee.XML_NAMESPACE_URI,o.contextNode);for(var l=o.contextNode;l!=null&&l.nodeType==W.ELEMENT_NODE;l=l.parentNode)for(var Te=0;Te<l.attributes.length;Te++){var Me=l.attributes.item(Te),ae=Ae(Me);ae!=null&&he[ae]==null&&(he[ae]=new nt(ae,Me,Me.value,o.contextNode))}for(var ae in he){var N=he[ae];e.nodeTest.matches(N,o)&&D.push(N)}}break;case q.PARENT:l=null,o.contextNode!==o.virtualRoot&&(o.contextNode.nodeType==W.ATTRIBUTE_NODE?l=M.getOwnerElement(o.contextNode):l=o.contextNode.parentNode),l!=null&&e.nodeTest.matches(l,o)&&D.push(l);break;case q.PRECEDING:var Re;o.virtualRoot!=null?Re=[o.virtualRoot]:Re=[z(o.contextNode)];e:for(;Re.length>0;)for(var l=Re.pop();l!=null;){if(l==o.contextNode)break e;e.nodeTest.matches(l,o)&&D.unshift(l),l.firstChild!=null?(Re.push(l.nextSibling),l=l.firstChild):l=l.nextSibling}break;case q.PRECEDINGSIBLING:if(o.contextNode===o.virtualRoot)break;for(var l=o.contextNode.previousSibling;l!=null;l=l.previousSibling)e.nodeTest.matches(l,o)&&D.push(l);break;case q.SELF:e.nodeTest.matches(o.contextNode,o)&&D.push(o.contextNode);break}return D};function le(e,o,N){return re(e.predicates,o,M.applyStep(e,o,N),p(ge,e.axis))}function Ue(e,o,N){return De(O(le.bind(null,N,e),o))}M.applySteps=function(e,o,N){return i(Ue.bind(null,o),N,e)},M.prototype.applyFilter=function(e,o){if(!this.filter)return{nodes:[e.contextNode]};var N=this.filter.evaluate(e);if(!Ne.instance_of(N,ie)){if(this.filterPredicates!=null&&this.filterPredicates.length>0||this.locationPath!=null)throw new Error("Path expression filter must evaluate to a nodeset if predicates or location path are used");return{nonNodes:N}}return{nodes:re(this.filterPredicates||[],o,N.toUnsortedArray(),!1)}},M.applyLocationPath=function(e,o,N){if(!e)return N;var D=e.absolute?[M.getRoot(o,N)]:N;return M.applySteps(e.steps,o,D)},M.prototype.evaluate=function(e){var o=ce(new Ze,e),N=this.applyFilter(e,o);if("nonNodes"in N)return N.nonNodes;var D=new ie;return D.addArray(M.applyLocationPath(this.locationPath,o,N.nodes)),D},M.predicateMatches=function(e,o){var N=e.evaluate(o);return Ne.instance_of(N,V)?o.contextPosition===N.numberValue():N.booleanValue()},M.predicateString=function(e){return d("[","]",e.toString())},M.predicatesString=function(e){return Y("",O(M.predicateString,e))},M.prototype.toString=function(){if(this.filter!=null){var e=B(this.filter);return Ne.instance_of(this.filter,H)?d("'","'",e):this.filterPredicates!=null&&this.filterPredicates.length?d("(",")",e)+M.predicatesString(this.filterPredicates):this.locationPath!=null?e+(this.locationPath.absolute?"":"/")+B(this.locationPath):e}return B(this.locationPath)},M.getOwnerElement=function(e){if(e.ownerElement)return e.ownerElement;try{if(e.selectSingleNode)return e.selectSingleNode("..")}catch{}for(var o=e.nodeType==W.DOCUMENT_NODE?e:e.ownerDocument,N=o.getElementsByTagName("*"),D=0;D<N.length;D++)for(var l=N.item(D),f=l.attributes,Te=0;Te<f.length;Te++){var he=f.item(Te);if(he===e)return l}return null},Se.prototype=new Object,Se.prototype.constructor=Se,Se.superclass=Object.prototype;function Se(e,o){arguments.length>0&&this.init(e,o)}Se.prototype.init=function(e,o){this.absolute=e,this.steps=o},Se.prototype.toString=function(){return(this.absolute?"/":"")+O(B,this.steps).join("/")},q.prototype=new Object,q.prototype.constructor=q,q.superclass=Object.prototype;function q(e,o,N){arguments.length>0&&this.init(e,o,N)}q.prototype.init=function(e,o,N){this.axis=e,this.nodeTest=o,this.predicates=N},q.prototype.toString=function(){return q.STEPNAMES[this.axis]+"::"+this.nodeTest.toString()+M.predicatesString(this.predicates)},q.ANCESTOR=0,q.ANCESTORORSELF=1,q.ATTRIBUTE=2,q.CHILD=3,q.DESCENDANT=4,q.DESCENDANTORSELF=5,q.FOLLOWING=6,q.FOLLOWINGSIBLING=7,q.NAMESPACE=8,q.PARENT=9,q.PRECEDING=10,q.PRECEDINGSIBLING=11,q.SELF=12,q.STEPNAMES=i(function(e,o){return e[o[0]]=o[1],e},{},[[q.ANCESTOR,"ancestor"],[q.ANCESTORORSELF,"ancestor-or-self"],[q.ATTRIBUTE,"attribute"],[q.CHILD,"child"],[q.DESCENDANT,"descendant"],[q.DESCENDANTORSELF,"descendant-or-self"],[q.FOLLOWING,"following"],[q.FOLLOWINGSIBLING,"following-sibling"],[q.NAMESPACE,"namespace"],[q.PARENT,"parent"],[q.PRECEDING,"preceding"],[q.PRECEDINGSIBLING,"preceding-sibling"],[q.SELF,"self"]]);var ge=[q.ANCESTOR,q.ANCESTORORSELF,q.PARENT,q.PRECEDING,q.PRECEDINGSIBLING];_.prototype=new Object,_.prototype.constructor=_,_.superclass=Object.prototype;function _(e,o){arguments.length>0&&this.init(e,o)}_.prototype.init=function(e,o){this.type=e,this.value=o},_.prototype.toString=function(){return"<unknown nodetest type>"},_.prototype.matches=function(e,o){console.warn("unknown node test type")},_.NAMETESTANY=0,_.NAMETESTPREFIXANY=1,_.NAMETESTQNAME=2,_.COMMENT=3,_.TEXT=4,_.PI=5,_.NODE=6,_.isNodeType=function(e){return function(o){return p(e,o.nodeType)}},_.makeNodeTestType=function(e,o,N){var D=N||function(){};return D.prototype=new _(e),D.prototype.constructor=D,ce(D.prototype,o),D},_.makeNodeTypeTest=function(e,o,N){return new(_.makeNodeTestType(e,{matches:_.isNodeType(o),toString:g(N)}))},_.hasPrefix=function(e){return e.prefix||(e.nodeName||e.tagName).indexOf(":")!==-1},_.isElementOrAttribute=_.isNodeType([1,2]),_.nameSpaceMatches=function(e,o,N){var D=N.namespaceURI||"";if(!e)return!D||o.allowAnyNamespaceForNoPrefix&&!_.hasPrefix(N);var l=o.namespaceResolver.getNamespace(e,o.expressionContextNode);if(l==null)throw new Error("Cannot resolve QName "+e);return l===D},_.localNameMatches=function(e,o,N){var D=N.localName||N.nodeName;return o.caseInsensitive?e.toLowerCase()===D.toLowerCase():e===D},_.NameTestPrefixAny=_.makeNodeTestType(_.NAMETESTPREFIXANY,{matches:function(e,o){return _.isElementOrAttribute(e)&&_.nameSpaceMatches(this.prefix,o,e)},toString:function(){return this.prefix+":*"}},function(o){this.prefix=o}),_.NameTestQName=_.makeNodeTestType(_.NAMETESTQNAME,{matches:function(e,o){return _.isNodeType([W.ELEMENT_NODE,W.ATTRIBUTE_NODE,W.NAMESPACE_NODE])(e)&&_.nameSpaceMatches(this.prefix,o,e)&&_.localNameMatches(this.localName,o,e)},toString:function(){return this.name}},function(o){var N=o.split(":");this.name=o,this.prefix=N.length>1?N[0]:null,this.localName=N[N.length>1?1:0]}),_.PITest=_.makeNodeTestType(_.PI,{matches:function(e,o){return _.isNodeType([W.PROCESSING_INSTRUCTION_NODE])(e)&&(e.target||e.nodeName)===this.name},toString:function(){return d('processing-instruction("','")',this.name)}},function(e){this.name=e}),_.nameTestAny=_.makeNodeTypeTest(_.NAMETESTANY,[W.ELEMENT_NODE,W.ATTRIBUTE_NODE,W.NAMESPACE_NODE],"*"),_.textTest=_.makeNodeTypeTest(_.TEXT,[W.TEXT_NODE,W.CDATA_SECTION_NODE],"text()"),_.commentTest=_.makeNodeTypeTest(_.COMMENT,[W.COMMENT_NODE],"comment()"),_.nodeTest=_.makeNodeTypeTest(_.NODE,[W.ELEMENT_NODE,W.ATTRIBUTE_NODE,W.TEXT_NODE,W.CDATA_SECTION_NODE,W.PROCESSING_INSTRUCTION_NODE,W.COMMENT_NODE,W.DOCUMENT_NODE],"node()"),_.anyPiTest=_.makeNodeTypeTest(_.PI,[W.PROCESSING_INSTRUCTION_NODE],"processing-instruction()"),se.prototype=new v,se.prototype.constructor=se,se.superclass=v.prototype;function se(e){arguments.length>0&&this.init(e)}se.prototype.init=function(e){this.variable=e},se.prototype.toString=function(){return"$"+this.variable},se.prototype.evaluate=function(e){var o=Ne.resolveQName(this.variable,e.namespaceResolver,e.contextNode,!1);if(o[0]==null)throw new Error("Cannot resolve QName "+fn);var N=e.variableResolver.getVariable(o[1],o[0]);if(!N)throw qe.fromMessage("Undeclared variable: "+this.toString());return N},Be.prototype=new v,Be.prototype.constructor=Be,Be.superclass=v.prototype;function Be(e,o){arguments.length>0&&this.init(e,o)}Be.prototype.init=function(e,o){this.functionName=e,this.arguments=o},Be.prototype.toString=function(){for(var e=this.functionName+"(",o=0;o<this.arguments.length;o++)o>0&&(e+=", "),e+=this.arguments[o].toString();return e+")"},Be.prototype.evaluate=function(e){var o=Xe.getFunctionFromContext(this.functionName,e);if(!o)throw new Error("Unknown function "+this.functionName);var N=[e].concat(this.arguments);return o.apply(e.functionResolver.thisArg,N)};var de=new Object;de.equals=function(e,o){return e.equals(o)},de.notequal=function(e,o){return e.notequal(o)},de.lessthan=function(e,o){return e.lessthan(o)},de.greaterthan=function(e,o){return e.greaterthan(o)},de.lessthanorequal=function(e,o){return e.lessthanorequal(o)},de.greaterthanorequal=function(e,o){return e.greaterthanorequal(o)},H.prototype=new v,H.prototype.constructor=H,H.superclass=v.prototype;function H(e){arguments.length>0&&this.init(e)}H.prototype.init=function(e){this.str=String(e)},H.prototype.toString=function(){return this.str},H.prototype.evaluate=function(e){return this},H.prototype.string=function(){return this},H.prototype.number=function(){return new V(this.str)},H.prototype.bool=function(){return new Oe(this.str)},H.prototype.nodeset=function(){throw new Error("Cannot convert string to nodeset")},H.prototype.stringValue=function(){return this.str},H.prototype.numberValue=function(){return this.number().numberValue()},H.prototype.booleanValue=function(){return this.bool().booleanValue()},H.prototype.equals=function(e){return Ne.instance_of(e,Oe)?this.bool().equals(e):Ne.instance_of(e,V)?this.number().equals(e):Ne.instance_of(e,ie)?e.compareWithString(this,de.equals):new Oe(this.str==e.str)},H.prototype.notequal=function(e){return Ne.instance_of(e,Oe)?this.bool().notequal(e):Ne.instance_of(e,V)?this.number().notequal(e):Ne.instance_of(e,ie)?e.compareWithString(this,de.notequal):new Oe(this.str!=e.str)},H.prototype.lessthan=function(e){return this.number().lessthan(e)},H.prototype.greaterthan=function(e){return this.number().greaterthan(e)},H.prototype.lessthanorequal=function(e){return this.number().lessthanorequal(e)},H.prototype.greaterthanorequal=function(e){return this.number().greaterthanorequal(e)},V.prototype=new v,V.prototype.constructor=V,V.superclass=v.prototype;function V(e){arguments.length>0&&this.init(e)}V.prototype.init=function(e){this.num=typeof e=="string"?this.parse(e):Number(e)},V.prototype.numberFormat=/^\s*-?[0-9]*\.?[0-9]+\s*$/,V.prototype.parse=function(e){return this.numberFormat.test(e)?parseFloat(e):Number.NaN};function ve(e){for(var o=e.split("e-"),N=o[0].replace(".",""),D=Number(o[1]),l=0;l<D-1;l+=1)N="0"+N;return"0."+N}function Qe(e){for(var o=e.split("e"),N=o[0].replace(".",""),D=Number(o[1]),l=D+1-N.length,f=0;f<l;f+=1)N+="0";return N}V.prototype.toString=function(){var e=this.num.toString();return e.indexOf("e-")!==-1?ve(e):e.indexOf("e")!==-1?Qe(e):e},V.prototype.evaluate=function(e){return this},V.prototype.string=function(){return new H(this.toString())},V.prototype.number=function(){return this},V.prototype.bool=function(){return new Oe(this.num)},V.prototype.nodeset=function(){throw new Error("Cannot convert number to nodeset")},V.prototype.stringValue=function(){return this.string().stringValue()},V.prototype.numberValue=function(){return this.num},V.prototype.booleanValue=function(){return this.bool().booleanValue()},V.prototype.negate=function(){return new V(-this.num)},V.prototype.equals=function(e){return Ne.instance_of(e,Oe)?this.bool().equals(e):Ne.instance_of(e,H)?this.equals(e.number()):Ne.instance_of(e,ie)?e.compareWithNumber(this,de.equals):new Oe(this.num==e.num)},V.prototype.notequal=function(e){return Ne.instance_of(e,Oe)?this.bool().notequal(e):Ne.instance_of(e,H)?this.notequal(e.number()):Ne.instance_of(e,ie)?e.compareWithNumber(this,de.notequal):new Oe(this.num!=e.num)},V.prototype.lessthan=function(e){return Ne.instance_of(e,ie)?e.compareWithNumber(this,de.greaterthan):Ne.instance_of(e,Oe)||Ne.instance_of(e,H)?this.lessthan(e.number()):new Oe(this.num<e.num)},V.prototype.greaterthan=function(e){return Ne.instance_of(e,ie)?e.compareWithNumber(this,de.lessthan):Ne.instance_of(e,Oe)||Ne.instance_of(e,H)?this.greaterthan(e.number()):new Oe(this.num>e.num)},V.prototype.lessthanorequal=function(e){return Ne.instance_of(e,ie)?e.compareWithNumber(this,de.greaterthanorequal):Ne.instance_of(e,Oe)||Ne.instance_of(e,H)?this.lessthanorequal(e.number()):new Oe(this.num<=e.num)},V.prototype.greaterthanorequal=function(e){return Ne.instance_of(e,ie)?e.compareWithNumber(this,de.lessthanorequal):Ne.instance_of(e,Oe)||Ne.instance_of(e,H)?this.greaterthanorequal(e.number()):new Oe(this.num>=e.num)},V.prototype.plus=function(e){return new V(this.num+e.num)},V.prototype.minus=function(e){return new V(this.num-e.num)},V.prototype.multiply=function(e){return new V(this.num*e.num)},V.prototype.div=function(e){return new V(this.num/e.num)},V.prototype.mod=function(e){return new V(this.num%e.num)},Oe.prototype=new v,Oe.prototype.constructor=Oe,Oe.superclass=v.prototype;function Oe(e){arguments.length>0&&this.init(e)}Oe.prototype.init=function(e){this.b=!!e},Oe.prototype.toString=function(){return this.b.toString()},Oe.prototype.evaluate=function(e){return this},Oe.prototype.string=function(){return new H(this.b)},Oe.prototype.number=function(){return new V(this.b)},Oe.prototype.bool=function(){return this},Oe.prototype.nodeset=function(){throw new Error("Cannot convert boolean to nodeset")},Oe.prototype.stringValue=function(){return this.string().stringValue()},Oe.prototype.numberValue=function(){return this.number().numberValue()},Oe.prototype.booleanValue=function(){return this.b},Oe.prototype.not=function(){return new Oe(!this.b)},Oe.prototype.equals=function(e){return Ne.instance_of(e,H)||Ne.instance_of(e,V)?this.equals(e.bool()):Ne.instance_of(e,ie)?e.compareWithBoolean(this,de.equals):new Oe(this.b==e.b)},Oe.prototype.notequal=function(e){return Ne.instance_of(e,H)||Ne.instance_of(e,V)?this.notequal(e.bool()):Ne.instance_of(e,ie)?e.compareWithBoolean(this,de.notequal):new Oe(this.b!=e.b)},Oe.prototype.lessthan=function(e){return this.number().lessthan(e)},Oe.prototype.greaterthan=function(e){return this.number().greaterthan(e)},Oe.prototype.lessthanorequal=function(e){return this.number().lessthanorequal(e)},Oe.prototype.greaterthanorequal=function(e){return this.number().greaterthanorequal(e)},Oe.true_=new Oe(!0),Oe.false_=new Oe(!1),we.prototype=new Object,we.prototype.constructor=we,we.superclass=Object.prototype;function we(e){this.init(e)}we.prototype.init=function(e){this.left=null,this.right=null,this.node=e,this.depth=1},we.prototype.balance=function(){var e=this.left==null?0:this.left.depth,o=this.right==null?0:this.right.depth;if(e>o+1){var N=this.left.left==null?0:this.left.left.depth,D=this.left.right==null?0:this.left.right.depth;N<D&&this.left.rotateRR(),this.rotateLL()}else if(e+1<o){var l=this.right.right==null?0:this.right.right.depth,f=this.right.left==null?0:this.right.left.depth;f>l&&this.right.rotateLL(),this.rotateRR()}},we.prototype.rotateLL=function(){var e=this.node,o=this.right;this.node=this.left.node,this.right=this.left,this.left=this.left.left,this.right.left=this.right.right,this.right.right=o,this.right.node=e,this.right.updateInNewLocation(),this.updateInNewLocation()},we.prototype.rotateRR=function(){var e=this.node,o=this.left;this.node=this.right.node,this.left=this.right,this.right=this.right.right,this.left.right=this.left.left,this.left.left=o,this.left.node=e,this.left.updateInNewLocation(),this.updateInNewLocation()},we.prototype.updateInNewLocation=function(){this.getDepthFromChildren()},we.prototype.getDepthFromChildren=function(){this.depth=this.node==null?0:1,this.left!=null&&(this.depth=this.left.depth+1),this.right!=null&&this.depth<=this.right.depth&&(this.depth=this.right.depth+1)};function Gt(e,o){if(e===o)return 0;if(e.compareDocumentPosition){var N=e.compareDocumentPosition(o);return N&1||N&10?1:N&20?-1:0}for(var D=0,l=0,f=e;f!=null;f=f.parentNode||f.ownerElement)D++;for(var Te=o;Te!=null;Te=Te.parentNode||Te.ownerElement)l++;if(D>l){for(;D>l;)e=e.parentNode||e.ownerElement,D--;if(e===o)return 1}else if(l>D){for(;l>D;)o=o.parentNode||o.ownerElement,l--;if(e===o)return-1}for(var he=e.parentNode||e.ownerElement,Me=o.parentNode||o.ownerElement;he!==Me;)e=he,o=Me,he=e.parentNode||e.ownerElement,Me=o.parentNode||o.ownerElement;var ae=Ft(e),Re=Ft(o);if(ae&&!Re)return-1;if(!ae&&Re)return 1;if(e.isXPathNamespace){if(e.nodeValue===ee.XML_NAMESPACE_URI||!o.isXPathNamespace)return-1;if(o.nodeValue===ee.XML_NAMESPACE_URI)return 1}else if(o.isXPathNamespace)return 1;if(he)for(var Ke=ae?he.attributes:he.childNodes,ze=Ke.length,He=e.baseNode||e,Tt=o.baseNode||o,tt=0;tt<ze;tt+=1){var lt=Ke[tt];if(lt===He)return-1;if(lt===Tt)return 1}throw new Error("Unexpected: could not determine node order")}we.prototype.add=function(e){if(e===this.node)return!1;var o=Gt(e,this.node),N=!1;return o==-1?this.left==null?(this.left=new we(e),N=!0):(N=this.left.add(e),N&&this.balance()):o==1&&(this.right==null?(this.right=new we(e),N=!0):(N=this.right.add(e),N&&this.balance())),N&&this.getDepthFromChildren(),N},ie.prototype=new v,ie.prototype.constructor=ie,ie.superclass=v.prototype;function ie(){this.init()}ie.prototype.init=function(){this.tree=null,this.nodes=[],this.size=0},ie.prototype.toString=function(){var e=this.first();return e==null?"":this.stringForNode(e)},ie.prototype.evaluate=function(e){return this},ie.prototype.string=function(){return new H(this.toString())},ie.prototype.stringValue=function(){return this.toString()},ie.prototype.number=function(){return new V(this.string())},ie.prototype.numberValue=function(){return Number(this.string())},ie.prototype.bool=function(){return new Oe(this.booleanValue())},ie.prototype.booleanValue=function(){return!!this.size},ie.prototype.nodeset=function(){return this},ie.prototype.stringForNode=function(e){return e.nodeType==W.DOCUMENT_NODE||e.nodeType==W.ELEMENT_NODE||e.nodeType===W.DOCUMENT_FRAGMENT_NODE?this.stringForContainerNode(e):e.nodeType===W.ATTRIBUTE_NODE?e.value||e.nodeValue:e.isNamespaceNode?e.namespace:e.nodeValue},ie.prototype.stringForContainerNode=function(e){for(var o="",N=e.firstChild;N!=null;N=N.nextSibling){var D=N.nodeType;(D===1||D===3||D===4||D===9||D===11)&&(o+=this.stringForNode(N))}return o},ie.prototype.buildTree=function(){if(!this.tree&&this.nodes.length){this.tree=new we(this.nodes[0]);for(var e=1;e<this.nodes.length;e+=1)this.tree.add(this.nodes[e])}return this.tree},ie.prototype.first=function(){var e=this.buildTree();if(e==null)return null;for(;e.left!=null;)e=e.left;return e.node},ie.prototype.add=function(e){for(var o=0;o<this.nodes.length;o+=1)if(e===this.nodes[o])return;this.tree=null,this.nodes.push(e),this.size+=1},ie.prototype.addArray=function(e){var o=this;I(function(N){o.add(N)},e)},ie.prototype.toArray=function(){var e=[];return this.toArrayRec(this.buildTree(),e),e},ie.prototype.toArrayRec=function(e,o){e!=null&&(this.toArrayRec(e.left,o),o.push(e.node),this.toArrayRec(e.right,o))},ie.prototype.toUnsortedArray=function(){return this.nodes.slice()},ie.prototype.compareWithString=function(e,o){for(var N=this.toUnsortedArray(),D=0;D<N.length;D++){var l=N[D],f=new H(this.stringForNode(l)),Te=o(f,e);if(Te.booleanValue())return Te}return new Oe(!1)},ie.prototype.compareWithNumber=function(e,o){for(var N=this.toUnsortedArray(),D=0;D<N.length;D++){var l=N[D],f=new V(this.stringForNode(l)),Te=o(f,e);if(Te.booleanValue())return Te}return new Oe(!1)},ie.prototype.compareWithBoolean=function(e,o){return o(this.bool(),e)},ie.prototype.compareWithNodeSet=function(e,o){for(var N=this.toUnsortedArray(),D=function(he,Me){return o(Me,he)},l=0;l<N.length;l++){var f=new H(this.stringForNode(N[l])),Te=e.compareWithString(f,D);if(Te.booleanValue())return Te}return new Oe(!1)},ie.compareWith=c(function(e,o){return Ne.instance_of(o,H)?this.compareWithString(o,e):Ne.instance_of(o,V)?this.compareWithNumber(o,e):Ne.instance_of(o,Oe)?this.compareWithBoolean(o,e):this.compareWithNodeSet(o,e)}),ie.prototype.equals=ie.compareWith(de.equals),ie.prototype.notequal=ie.compareWith(de.notequal),ie.prototype.lessthan=ie.compareWith(de.lessthan),ie.prototype.greaterthan=ie.compareWith(de.greaterthan),ie.prototype.lessthanorequal=ie.compareWith(de.lessthanorequal),ie.prototype.greaterthanorequal=ie.compareWith(de.greaterthanorequal),ie.prototype.union=function(e){var o=new ie;return o.addArray(this.toUnsortedArray()),o.addArray(e.toUnsortedArray()),o},nt.prototype=new Object,nt.prototype.constructor=nt,nt.superclass=Object.prototype;function nt(e,o,N,D){this.isXPathNamespace=!0,this.baseNode=o,this.ownerDocument=D.ownerDocument,this.nodeName=e,this.prefix=e,this.localName=e,this.namespaceURI=null,this.nodeValue=N,this.ownerElement=D,this.nodeType=W.NAMESPACE_NODE}nt.prototype.toString=function(){return'{ "'+this.prefix+'", "'+this.namespaceURI+'" }'},Ze.prototype=new Object,Ze.prototype.constructor=Ze,Ze.superclass=Object.prototype;function Ze(e,o,N){this.variableResolver=e??new et,this.namespaceResolver=o??new je,this.functionResolver=N??new Xe}Ze.prototype.extend=function(e){return ce(new Ze,this,e)},et.prototype=new Object,et.prototype.constructor=et,et.superclass=Object.prototype;function et(){}et.prototype.getVariable=function(e,o){return null},Xe.prototype=new Object,Xe.prototype.constructor=Xe,Xe.superclass=Object.prototype;function Xe(e){this.thisArg=e??Le,this.functions=new Object,this.addStandardFunctions()}Xe.prototype.addStandardFunctions=function(){this.functions["{}last"]=Le.last,this.functions["{}position"]=Le.position,this.functions["{}count"]=Le.count,this.functions["{}id"]=Le.id,this.functions["{}local-name"]=Le.localName,this.functions["{}namespace-uri"]=Le.namespaceURI,this.functions["{}name"]=Le.name,this.functions["{}string"]=Le.string,this.functions["{}concat"]=Le.concat,this.functions["{}starts-with"]=Le.startsWith,this.functions["{}contains"]=Le.contains,this.functions["{}substring-before"]=Le.substringBefore,this.functions["{}substring-after"]=Le.substringAfter,this.functions["{}substring"]=Le.substring,this.functions["{}string-length"]=Le.stringLength,this.functions["{}normalize-space"]=Le.normalizeSpace,this.functions["{}translate"]=Le.translate,this.functions["{}boolean"]=Le.boolean_,this.functions["{}not"]=Le.not,this.functions["{}true"]=Le.true_,this.functions["{}false"]=Le.false_,this.functions["{}lang"]=Le.lang,this.functions["{}number"]=Le.number,this.functions["{}sum"]=Le.sum,this.functions["{}floor"]=Le.floor,this.functions["{}ceiling"]=Le.ceiling,this.functions["{}round"]=Le.round},Xe.prototype.addFunction=function(e,o,N){this.functions["{"+e+"}"+o]=N},Xe.getFunctionFromContext=function(e,o){var N=Ne.resolveQName(e,o.namespaceResolver,o.contextNode,!1);if(N[0]===null)throw new Error("Cannot resolve QName "+name);return o.functionResolver.getFunction(N[1],N[0])},Xe.prototype.getFunction=function(e,o){return this.functions["{"+o+"}"+e]},je.prototype=new Object,je.prototype.constructor=je,je.superclass=Object.prototype;function je(){}je.prototype.getNamespace=function(e,o){if(e=="xml")return ee.XML_NAMESPACE_URI;if(e=="xmlns")return ee.XMLNS_NAMESPACE_URI;for(o.nodeType==W.DOCUMENT_NODE?o=o.documentElement:o.nodeType==W.ATTRIBUTE_NODE?o=M.getOwnerElement(o):o.nodeType!=W.ELEMENT_NODE&&(o=o.parentNode);o!=null&&o.nodeType==W.ELEMENT_NODE;){for(var N=o.attributes,D=0;D<N.length;D++){var l=N.item(D),f=l.name||l.nodeName;if(f==="xmlns"&&e===""||f==="xmlns:"+e)return String(l.value||l.nodeValue)}o=o.parentNode}return null};var Le=new Object;Le.last=function(e){if(arguments.length!=1)throw new Error("Function last expects ()");return new V(e.contextSize)},Le.position=function(e){if(arguments.length!=1)throw new Error("Function position expects ()");return new V(e.contextPosition)},Le.count=function(){var e=arguments[0],o;if(arguments.length!=2||!Ne.instance_of(o=arguments[1].evaluate(e),ie))throw new Error("Function count expects (node-set)");return new V(o.size)},Le.id=function(){var e=arguments[0],o;if(arguments.length!=2)throw new Error("Function id expects (object)");o=arguments[1].evaluate(e),Ne.instance_of(o,ie)?o=o.toArray().join(" "):o=o.stringValue();for(var N=o.split(/[\x0d\x0a\x09\x20]+/),D=new ie,l=e.contextNode.nodeType==W.DOCUMENT_NODE?e.contextNode:e.contextNode.ownerDocument,f=0;f<N.length;f++){var Te;l.getElementById?Te=l.getElementById(N[f]):Te=Ne.getElementById(l,N[f]),Te!=null&&D.add(Te)}return D},Le.localName=function(e,o){var N;if(arguments.length==1)N=e.contextNode;else if(arguments.length==2)N=o.evaluate(e).first();else throw new Error("Function local-name expects (node-set?)");return N==null?new H(""):new H(N.localName||N.baseName||N.target||N.nodeName||"")},Le.namespaceURI=function(){var e=arguments[0],o;if(arguments.length==1)o=e.contextNode;else if(arguments.length==2)o=arguments[1].evaluate(e).first();else throw new Error("Function namespace-uri expects (node-set?)");return o==null?new H(""):new H(o.namespaceURI||"")},Le.name=function(){var e=arguments[0],o;if(arguments.length==1)o=e.contextNode;else if(arguments.length==2)o=arguments[1].evaluate(e).first();else throw new Error("Function name expects (node-set?)");return o==null?new H(""):o.nodeType==W.ELEMENT_NODE?new H(o.nodeName):o.nodeType==W.ATTRIBUTE_NODE?new H(o.name||o.nodeName):o.nodeType===W.PROCESSING_INSTRUCTION_NODE?new H(o.target||o.nodeName):o.localName==null?new H(""):new H(o.localName)},Le.string=function(){var e=arguments[0];if(arguments.length==1)return new H(ie.prototype.stringForNode(e.contextNode));if(arguments.length==2)return arguments[1].evaluate(e).string();throw new Error("Function string expects (object?)")},Le.concat=function(e){if(arguments.length<3)throw new Error("Function concat expects (string, string[, string]*)");for(var o="",N=1;N<arguments.length;N++)o+=arguments[N].evaluate(e).stringValue();return new H(o)},Le.startsWith=function(){var e=arguments[0];if(arguments.length!=3)throw new Error("Function startsWith expects (string, string)");var o=arguments[1].evaluate(e).stringValue(),N=arguments[2].evaluate(e).stringValue();return new Oe(o.substring(0,N.length)==N)},Le.contains=function(){var e=arguments[0];if(arguments.length!=3)throw new Error("Function contains expects (string, string)");var o=arguments[1].evaluate(e).stringValue(),N=arguments[2].evaluate(e).stringValue();return new Oe(o.indexOf(N)!==-1)},Le.substringBefore=function(){var e=arguments[0];if(arguments.length!=3)throw new Error("Function substring-before expects (string, string)");var o=arguments[1].evaluate(e).stringValue(),N=arguments[2].evaluate(e).stringValue();return new H(o.substring(0,o.indexOf(N)))},Le.substringAfter=function(){var e=arguments[0];if(arguments.length!=3)throw new Error("Function substring-after expects (string, string)");var o=arguments[1].evaluate(e).stringValue(),N=arguments[2].evaluate(e).stringValue();if(N.length==0)return new H(o);var D=o.indexOf(N);return D==-1?new H(""):new H(o.substring(D+N.length))},Le.substring=function(){var e=arguments[0];if(!(arguments.length==3||arguments.length==4))throw new Error("Function substring expects (string, number, number?)");var o=arguments[1].evaluate(e).stringValue(),N=Math.round(arguments[2].evaluate(e).numberValue())-1,D=arguments.length==4?N+Math.round(arguments[3].evaluate(e).numberValue()):void 0;return new H(o.substring(N,D))},Le.stringLength=function(){var e=arguments[0],o;if(arguments.length==1)o=ie.prototype.stringForNode(e.contextNode);else if(arguments.length==2)o=arguments[1].evaluate(e).stringValue();else throw new Error("Function string-length expects (string?)");return new V(o.length)},Le.normalizeSpace=function(){var e=arguments[0],o;if(arguments.length==1)o=ie.prototype.stringForNode(e.contextNode);else if(arguments.length==2)o=arguments[1].evaluate(e).stringValue();else throw new Error("Function normalize-space expects (string?)");for(var N=0,D=o.length-1;Ne.isSpace(o.charCodeAt(D));)D--;for(var l="";N<=D&&Ne.isSpace(o.charCodeAt(N));)N++;for(;N<=D;)if(Ne.isSpace(o.charCodeAt(N)))for(l+=" ";N<=D&&Ne.isSpace(o.charCodeAt(N));)N++;else l+=o.charAt(N),N++;return new H(l)},Le.translate=function(e,o,N,D){if(arguments.length!=4)throw new Error("Function translate expects (string, string, string)");var l=o.evaluate(e).stringValue(),f=N.evaluate(e).stringValue(),Te=D.evaluate(e).stringValue(),he=i(function(ae,Re,Ke){return Re in ae||(ae[Re]=Ke>Te.length?"":Te[Ke]),ae},{},f),Me=Y("",O(function(ae){return ae in he?he[ae]:ae},l));return new H(Me)},Le.boolean_=function(){var e=arguments[0];if(arguments.length!=2)throw new Error("Function boolean expects (object)");return arguments[1].evaluate(e).bool()},Le.not=function(e,o){if(arguments.length!=2)throw new Error("Function not expects (object)");return o.evaluate(e).bool().not()},Le.true_=function(){if(arguments.length!=1)throw new Error("Function true expects ()");return Oe.true_},Le.false_=function(){if(arguments.length!=1)throw new Error("Function false expects ()");return Oe.false_},Le.lang=function(){var e=arguments[0];if(arguments.length!=2)throw new Error("Function lang expects (string)");for(var o,N=e.contextNode;N!=null&&N.nodeType!=W.DOCUMENT_NODE;N=N.parentNode){var D=N.getAttributeNS(ee.XML_NAMESPACE_URI,"lang");if(D!=null){o=String(D);break}}if(o==null)return Oe.false_;var l=arguments[1].evaluate(e).stringValue();return new Oe(o.substring(0,l.length)==l&&(o.length==l.length||o.charAt(l.length)=="-"))},Le.number=function(){var e=arguments[0];if(!(arguments.length==1||arguments.length==2))throw new Error("Function number expects (object?)");return arguments.length==1?new V(ie.prototype.stringForNode(e.contextNode)):arguments[1].evaluate(e).number()},Le.sum=function(){var e=arguments[0],o;if(arguments.length!=2||!Ne.instance_of(o=arguments[1].evaluate(e),ie))throw new Error("Function sum expects (node-set)");o=o.toUnsortedArray();for(var N=0,D=0;D<o.length;D++)N+=new V(ie.prototype.stringForNode(o[D])).numberValue();return new V(N)},Le.floor=function(){var e=arguments[0];if(arguments.length!=2)throw new Error("Function floor expects (number)");return new V(Math.floor(arguments[1].evaluate(e).numberValue()))},Le.ceiling=function(){var e=arguments[0];if(arguments.length!=2)throw new Error("Function ceiling expects (number)");return new V(Math.ceil(arguments[1].evaluate(e).numberValue()))},Le.round=function(){var e=arguments[0];if(arguments.length!=2)throw new Error("Function round expects (number)");return new V(Math.round(arguments[1].evaluate(e).numberValue()))};var Ne=new Object,Ft=function(e){return e&&(e.nodeType===W.ATTRIBUTE_NODE||e.ownerElement||e.isXPathNamespace)};Ne.splitQName=function(e){var o=e.indexOf(":");return o==-1?[null,e]:[e.substring(0,o),e.substring(o+1)]},Ne.resolveQName=function(e,o,N,D){var l=Ne.splitQName(e);return l[0]!=null?l[0]=o.getNamespace(l[0],N):D?(l[0]=o.getNamespace("",N),l[0]==null&&(l[0]="")):l[0]="",l},Ne.isSpace=function(e){return e==9||e==13||e==10||e==32},Ne.isLetter=function(e){return e>=65&&e<=90||e>=97&&e<=122||e>=192&&e<=214||e>=216&&e<=246||e>=248&&e<=255||e>=256&&e<=305||e>=308&&e<=318||e>=321&&e<=328||e>=330&&e<=382||e>=384&&e<=451||e>=461&&e<=496||e>=500&&e<=501||e>=506&&e<=535||e>=592&&e<=680||e>=699&&e<=705||e==902||e>=904&&e<=906||e==908||e>=910&&e<=929||e>=931&&e<=974||e>=976&&e<=982||e==986||e==988||e==990||e==992||e>=994&&e<=1011||e>=1025&&e<=1036||e>=1038&&e<=1103||e>=1105&&e<=1116||e>=1118&&e<=1153||e>=1168&&e<=1220||e>=1223&&e<=1224||e>=1227&&e<=1228||e>=1232&&e<=1259||e>=1262&&e<=1269||e>=1272&&e<=1273||e>=1329&&e<=1366||e==1369||e>=1377&&e<=1414||e>=1488&&e<=1514||e>=1520&&e<=1522||e>=1569&&e<=1594||e>=1601&&e<=1610||e>=1649&&e<=1719||e>=1722&&e<=1726||e>=1728&&e<=1742||e>=1744&&e<=1747||e==1749||e>=1765&&e<=1766||e>=2309&&e<=2361||e==2365||e>=2392&&e<=2401||e>=2437&&e<=2444||e>=2447&&e<=2448||e>=2451&&e<=2472||e>=2474&&e<=2480||e==2482||e>=2486&&e<=2489||e>=2524&&e<=2525||e>=2527&&e<=2529||e>=2544&&e<=2545||e>=2565&&e<=2570||e>=2575&&e<=2576||e>=2579&&e<=2600||e>=2602&&e<=2608||e>=2610&&e<=2611||e>=2613&&e<=2614||e>=2616&&e<=2617||e>=2649&&e<=2652||e==2654||e>=2674&&e<=2676||e>=2693&&e<=2699||e==2701||e>=2703&&e<=2705||e>=2707&&e<=2728||e>=2730&&e<=2736||e>=2738&&e<=2739||e>=2741&&e<=2745||e==2749||e==2784||e>=2821&&e<=2828||e>=2831&&e<=2832||e>=2835&&e<=2856||e>=2858&&e<=2864||e>=2866&&e<=2867||e>=2870&&e<=2873||e==2877||e>=2908&&e<=2909||e>=2911&&e<=2913||e>=2949&&e<=2954||e>=2958&&e<=2960||e>=2962&&e<=2965||e>=2969&&e<=2970||e==2972||e>=2974&&e<=2975||e>=2979&&e<=2980||e>=2984&&e<=2986||e>=2990&&e<=2997||e>=2999&&e<=3001||e>=3077&&e<=3084||e>=3086&&e<=3088||e>=3090&&e<=3112||e>=3114&&e<=3123||e>=3125&&e<=3129||e>=3168&&e<=3169||e>=3205&&e<=3212||e>=3214&&e<=3216||e>=3218&&e<=3240||e>=3242&&e<=3251||e>=3253&&e<=3257||e==3294||e>=3296&&e<=3297||e>=3333&&e<=3340||e>=3342&&e<=3344||e>=3346&&e<=3368||e>=3370&&e<=3385||e>=3424&&e<=3425||e>=3585&&e<=3630||e==3632||e>=3634&&e<=3635||e>=3648&&e<=3653||e>=3713&&e<=3714||e==3716||e>=3719&&e<=3720||e==3722||e==3725||e>=3732&&e<=3735||e>=3737&&e<=3743||e>=3745&&e<=3747||e==3749||e==3751||e>=3754&&e<=3755||e>=3757&&e<=3758||e==3760||e>=3762&&e<=3763||e==3773||e>=3776&&e<=3780||e>=3904&&e<=3911||e>=3913&&e<=3945||e>=4256&&e<=4293||e>=4304&&e<=4342||e==4352||e>=4354&&e<=4355||e>=4357&&e<=4359||e==4361||e>=4363&&e<=4364||e>=4366&&e<=4370||e==4412||e==4414||e==4416||e==4428||e==4430||e==4432||e>=4436&&e<=4437||e==4441||e>=4447&&e<=4449||e==4451||e==4453||e==4455||e==4457||e>=4461&&e<=4462||e>=4466&&e<=4467||e==4469||e==4510||e==4520||e==4523||e>=4526&&e<=4527||e>=4535&&e<=4536||e==4538||e>=4540&&e<=4546||e==4587||e==4592||e==4601||e>=7680&&e<=7835||e>=7840&&e<=7929||e>=7936&&e<=7957||e>=7960&&e<=7965||e>=7968&&e<=8005||e>=8008&&e<=8013||e>=8016&&e<=8023||e==8025||e==8027||e==8029||e>=8031&&e<=8061||e>=8064&&e<=8116||e>=8118&&e<=8124||e==8126||e>=8130&&e<=8132||e>=8134&&e<=8140||e>=8144&&e<=8147||e>=8150&&e<=8155||e>=8160&&e<=8172||e>=8178&&e<=8180||e>=8182&&e<=8188||e==8486||e>=8490&&e<=8491||e==8494||e>=8576&&e<=8578||e>=12353&&e<=12436||e>=12449&&e<=12538||e>=12549&&e<=12588||e>=44032&&e<=55203||e>=19968&&e<=40869||e==12295||e>=12321&&e<=12329},Ne.isNCNameChar=function(e){return e>=48&&e<=57||e>=1632&&e<=1641||e>=1776&&e<=1785||e>=2406&&e<=2415||e>=2534&&e<=2543||e>=2662&&e<=2671||e>=2790&&e<=2799||e>=2918&&e<=2927||e>=3047&&e<=3055||e>=3174&&e<=3183||e>=3302&&e<=3311||e>=3430&&e<=3439||e>=3664&&e<=3673||e>=3792&&e<=3801||e>=3872&&e<=3881||e==46||e==45||e==95||Ne.isLetter(e)||e>=768&&e<=837||e>=864&&e<=865||e>=1155&&e<=1158||e>=1425&&e<=1441||e>=1443&&e<=1465||e>=1467&&e<=1469||e==1471||e>=1473&&e<=1474||e==1476||e>=1611&&e<=1618||e==1648||e>=1750&&e<=1756||e>=1757&&e<=1759||e>=1760&&e<=1764||e>=1767&&e<=1768||e>=1770&&e<=1773||e>=2305&&e<=2307||e==2364||e>=2366&&e<=2380||e==2381||e>=2385&&e<=2388||e>=2402&&e<=2403||e>=2433&&e<=2435||e==2492||e==2494||e==2495||e>=2496&&e<=2500||e>=2503&&e<=2504||e>=2507&&e<=2509||e==2519||e>=2530&&e<=2531||e==2562||e==2620||e==2622||e==2623||e>=2624&&e<=2626||e>=2631&&e<=2632||e>=2635&&e<=2637||e>=2672&&e<=2673||e>=2689&&e<=2691||e==2748||e>=2750&&e<=2757||e>=2759&&e<=2761||e>=2763&&e<=2765||e>=2817&&e<=2819||e==2876||e>=2878&&e<=2883||e>=2887&&e<=2888||e>=2891&&e<=2893||e>=2902&&e<=2903||e>=2946&&e<=2947||e>=3006&&e<=3010||e>=3014&&e<=3016||e>=3018&&e<=3021||e==3031||e>=3073&&e<=3075||e>=3134&&e<=3140||e>=3142&&e<=3144||e>=3146&&e<=3149||e>=3157&&e<=3158||e>=3202&&e<=3203||e>=3262&&e<=3268||e>=3270&&e<=3272||e>=3274&&e<=3277||e>=3285&&e<=3286||e>=3330&&e<=3331||e>=3390&&e<=3395||e>=3398&&e<=3400||e>=3402&&e<=3405||e==3415||e==3633||e>=3636&&e<=3642||e>=3655&&e<=3662||e==3761||e>=3764&&e<=3769||e>=3771&&e<=3772||e>=3784&&e<=3789||e>=3864&&e<=3865||e==3893||e==3895||e==3897||e==3902||e==3903||e>=3953&&e<=3972||e>=3974&&e<=3979||e>=3984&&e<=3989||e==3991||e>=3993&&e<=4013||e>=4017&&e<=4023||e==4025||e>=8400&&e<=8412||e==8417||e>=12330&&e<=12335||e==12441||e==12442||e==183||e==720||e==721||e==903||e==1600||e==3654||e==3782||e==12293||e>=12337&&e<=12341||e>=12445&&e<=12446||e>=12540&&e<=12542},Ne.coalesceText=function(e){for(var o=e.firstChild;o!=null;o=o.nextSibling)if(o.nodeType==W.TEXT_NODE||o.nodeType==W.CDATA_SECTION_NODE){var N=o.nodeValue,D=o;for(o=o.nextSibling;o!=null&&(o.nodeType==W.TEXT_NODE||o.nodeType==W.CDATA_SECTION_NODE);){N+=o.nodeValue;var l=o;o=o.nextSibling,l.parentNode.removeChild(l)}if(D.nodeType==W.CDATA_SECTION_NODE){var f=D.parentNode;if(D.nextSibling==null)f.removeChild(D),f.appendChild(f.ownerDocument.createTextNode(N));else{var Te=D.nextSibling;f.removeChild(D),f.insertBefore(f.ownerDocument.createTextNode(N),Te)}}else D.nodeValue=N;if(o==null)break}else o.nodeType==W.ELEMENT_NODE&&Ne.coalesceText(o)},Ne.instance_of=function(e,o){for(;e!=null;){if(e.constructor===o)return!0;if(e===Object)return!1;e=e.constructor.superclass}return!1},Ne.getElementById=function(e,o){if(e.nodeType==W.ELEMENT_NODE&&(e.getAttribute("id")==o||e.getAttributeNS(null,"id")==o))return e;for(var N=e.firstChild;N!=null;N=N.nextSibling){var D=Ne.getElementById(N,o);if(D!=null)return D}return null};var qe=function(){function e(N,D){var l=D?": "+D.toString():"";switch(N){case o.INVALID_EXPRESSION_ERR:return"Invalid expression"+l;case o.TYPE_ERR:return"Type error"+l}return null}function o(N,D,l){var f=Error.call(this,e(N,D)||l);return f.code=N,f.exception=D,f}return o.prototype=Object.create(Error.prototype),o.prototype.constructor=o,o.superclass=Error,o.prototype.toString=function(){return this.message},o.fromMessage=function(N,D){return new o(null,D,N)},o.INVALID_EXPRESSION_ERR=51,o.TYPE_ERR=52,o}();We.prototype={},We.prototype.constructor=We,We.superclass=Object.prototype;function We(e,o,N){this.xpath=N.parse(e),this.context=new Ze,this.context.namespaceResolver=new Rt(o)}We.getOwnerDocument=function(e){return e.nodeType===W.DOCUMENT_NODE?e:e.ownerDocument},We.detectHtmlDom=function(e){if(!e)return!1;var o=We.getOwnerDocument(e);try{return o.implementation.hasFeature("HTML","2.0")}catch{return!0}},We.prototype.evaluate=function(e,o,N){this.context.expressionContextNode=e,this.context.caseInsensitive=We.detectHtmlDom(e);var D=this.xpath.evaluate(this.context);return new fe(D,o)},Rt.prototype={},Rt.prototype.constructor=Rt,Rt.superclass=Object.prototype;function Rt(e){this.xpathNSResolver=e}Rt.prototype.getNamespace=function(e,o){return this.xpathNSResolver==null?null:this.xpathNSResolver.lookupNamespaceURI(e)},st.prototype={},st.prototype.constructor=st,st.superclass=Object.prototype;function st(e){this.node=e,this.namespaceResolver=new je}st.prototype.lookupNamespaceURI=function(e){return this.namespaceResolver.getNamespace(e,this.node)},fe.prototype={},fe.prototype.constructor=fe,fe.superclass=Object.prototype;function fe(e,o){switch(o==fe.ANY_TYPE&&(e.constructor===H?o=fe.STRING_TYPE:e.constructor===V?o=fe.NUMBER_TYPE:e.constructor===Oe?o=fe.BOOLEAN_TYPE:e.constructor===ie&&(o=fe.UNORDERED_NODE_ITERATOR_TYPE)),this.resultType=o,o){case fe.NUMBER_TYPE:this.numberValue=e.numberValue();return;case fe.STRING_TYPE:this.stringValue=e.stringValue();return;case fe.BOOLEAN_TYPE:this.booleanValue=e.booleanValue();return;case fe.ANY_UNORDERED_NODE_TYPE:case fe.FIRST_ORDERED_NODE_TYPE:if(e.constructor===ie){this.singleNodeValue=e.first();return}break;case fe.UNORDERED_NODE_ITERATOR_TYPE:case fe.ORDERED_NODE_ITERATOR_TYPE:if(e.constructor===ie){this.invalidIteratorState=!1,this.nodes=e.toArray(),this.iteratorIndex=0;return}break;case fe.UNORDERED_NODE_SNAPSHOT_TYPE:case fe.ORDERED_NODE_SNAPSHOT_TYPE:if(e.constructor===ie){this.nodes=e.toArray(),this.snapshotLength=this.nodes.length;return}break}throw new qe(qe.TYPE_ERR)}fe.prototype.iterateNext=function(){if(this.resultType!=fe.UNORDERED_NODE_ITERATOR_TYPE&&this.resultType!=fe.ORDERED_NODE_ITERATOR_TYPE)throw new qe(qe.TYPE_ERR);return this.nodes[this.iteratorIndex++]},fe.prototype.snapshotItem=function(e){if(this.resultType!=fe.UNORDERED_NODE_SNAPSHOT_TYPE&&this.resultType!=fe.ORDERED_NODE_SNAPSHOT_TYPE)throw new qe(qe.TYPE_ERR);return this.nodes[e]},fe.ANY_TYPE=0,fe.NUMBER_TYPE=1,fe.STRING_TYPE=2,fe.BOOLEAN_TYPE=3,fe.UNORDERED_NODE_ITERATOR_TYPE=4,fe.ORDERED_NODE_ITERATOR_TYPE=5,fe.UNORDERED_NODE_SNAPSHOT_TYPE=6,fe.ORDERED_NODE_SNAPSHOT_TYPE=7,fe.ANY_UNORDERED_NODE_TYPE=8,fe.FIRST_ORDERED_NODE_TYPE=9;function R(e,o){e.createExpression=function(N,D){try{return new We(N,D,o)}catch(l){throw new qe(qe.INVALID_EXPRESSION_ERR,l)}},e.createNSResolver=function(N){return new st(N)},e.evaluate=function(N,D,l,f,Te){if(f<0||f>9)throw{code:0,toString:function(){return"Request type not supported"}};return e.createExpression(N,l,o).evaluate(D,f,Te)}}try{var S=!0;try{document.implementation&&document.implementation.hasFeature&&document.implementation.hasFeature("XPath",null)&&(S=!1)}catch{}S&&R(document,new u)}catch{}R(r,new u),function(){var e=new u,o=new je,N=new Xe,D=new et;function l(ne){return{getNamespace:function(ye,Je){var ut=ne(ye,Je);return ut||o.getNamespace(ye,Je)}}}function f(ne){return l(ne.getNamespace.bind(ne))}function Te(ne){return l(function(ye){return ne[ye]})}function he(ne){return ne&&typeof ne.getNamespace=="function"?f(ne):typeof ne=="function"?l(ne):typeof ne=="object"?Te(ne):o}function Me(ne){if(ne===null||typeof ne>"u"||ne instanceof H||ne instanceof Oe||ne instanceof V||ne instanceof ie)return ne;switch(typeof ne){case"string":return new H(ne);case"boolean":return new Oe(ne);case"number":return new V(ne)}var ye=new ie;return ye.addArray([].concat(ne)),ye}function ae(ne){return function(ye){var Je=Array.prototype.slice.call(arguments,1).map(function(CS){return CS.evaluate(ye)}),ut=ne.apply(this,[].concat(ye,Je));return Me(ut)}}function Re(ne){return{getFunction:function(ye,Je){var ut=ne(ye,Je);return ut?ae(ut):N.getFunction(ye,Je)}}}function Ke(ne){return Re(ne.getFunction.bind(ne))}function ze(ne){return Re(function(ye){return ne[ye]})}function He(ne){return ne&&typeof ne.getFunction=="function"?Ke(ne):typeof ne=="function"?Re(ne):typeof ne=="object"?ze(ne):N}function Tt(ne){return{getVariable:function(ye,Je){var ut=ne(ye,Je);return Me(ut)}}}function tt(ne){if(ne){if(typeof ne.getVariable=="function")return Tt(ne.getVariable.bind(ne));if(typeof ne=="function")return Tt(ne);if(typeof ne=="object")return Tt(function(ye){return ne[ye]})}return D}function lt(ne,ye,Je){ne in Je&&(ye[ne]=Je[ne])}function IS(ne){var ye=new Ze;return ne?(ye.namespaceResolver=he(ne.namespaces),ye.functionResolver=He(ne.functions),ye.variableResolver=tt(ne.variables),ye.expressionContextNode=ne.node,lt("allowAnyNamespaceForNoPrefix",ye,ne),lt("isHtml",ye,ne)):ye.namespaceResolver=o,ye}function OS(ne,ye){var Je=IS(ye);return ne.evaluate(Je)}var lS={evaluate:function(ne){return OS(this.expression,ne)},evaluateNumber:function(ne){return this.evaluate(ne).numberValue()},evaluateString:function(ne){return this.evaluate(ne).stringValue()},evaluateBoolean:function(ne){return this.evaluate(ne).booleanValue()},evaluateNodeSet:function(ne){return this.evaluate(ne).nodeset()},select:function(ne){return this.evaluateNodeSet(ne).toArray()},select1:function(ne){return this.select(ne)[0]}};function uS(ne){var ye=e.parse(ne);return Object.create(lS,{expression:{value:ye}})}r.parse=uS}(),ce(r,{XPath:ee,XPathParser:u,XPathResult:fe,Step:q,PathExpr:M,NodeTest:_,LocationPath:Se,OrOperation:Ce,AndOperation:_e,BarOperation:$,EqualsOperation:pe,NotEqualOperation:b,LessThanOperation:j,GreaterThanOperation:Ie,LessThanOrEqualOperation:me,GreaterThanOrEqualOperation:oe,PlusOperation:w,MinusOperation:P,MultiplyOperation:m,DivOperation:h,ModOperation:y,UnaryMinusOperation:Ee,FunctionCall:Be,VariableReference:se,XPathContext:Ze,XNodeSet:ie,XBoolean:Oe,XString:H,XNumber:V,NamespaceResolver:je,FunctionResolver:Xe,VariableResolver:et,Utilities:Ne}),r.select=function(e,o,N){return r.selectWithResolver(e,o,null,N)},r.useNamespaces=function(e){var o={mappings:e||{},lookupNamespaceURI:function(N){return this.mappings[N]}};return function(N,D,l){return r.selectWithResolver(N,D,o,l)}},r.selectWithResolver=function(e,o,N,D){var l=new We(e,N,new u),f=fe.ANY_TYPE,Te=l.evaluate(o,f,null);return Te.resultType==fe.STRING_TYPE?Te=Te.stringValue:Te.resultType==fe.NUMBER_TYPE?Te=Te.numberValue:Te.resultType==fe.BOOLEAN_TYPE?Te=Te.booleanValue:(Te=Te.nodes,D&&(Te=Te[0])),Te},r.select1=function(e,o){return r.select(e,o,!0)};var L=function(e){return Array.isArray(e)&&e.every(A)},F=function(e){return function(o){return A(o)&&o.nodeType===e}};ce(r,{isNodeLike:A,isArrayOfNodes:L,isElement:F(W.ELEMENT_NODE),isAttribute:F(W.ATTRIBUTE_NODE),isTextNode:F(W.TEXT_NODE),isCDATASection:F(W.CDATA_SECTION_NODE),isProcessingInstruction:F(W.PROCESSING_INSTRUCTION_NODE),isComment:F(W.COMMENT_NODE),isDocumentNode:F(W.DOCUMENT_NODE),isDocumentTypeNode:F(W.DOCUMENT_TYPE_NODE),isDocumentFragment:F(W.DOCUMENT_FRAGMENT_NODE)})})(t)}(qt)),qt}var Yn=xn();const Vn=mE(Yn);var Ut={},at={},Ct={},gE;function Ht(){if(gE)return Ct;gE=1;function E(a,A,c){if(c===void 0&&(c=Array.prototype),a&&typeof c.find=="function")return c.find.call(a,A);for(var I=0;I<a.length;I++)if(Object.prototype.hasOwnProperty.call(a,I)){var i=a[I];if(A.call(void 0,i,I,a))return i}}function t(a,A){return A===void 0&&(A=Object),A&&typeof A.freeze=="function"?A.freeze(a):a}function r(a,A){if(a===null||typeof a!="object")throw new TypeError("target is not an object");for(var c in A)Object.prototype.hasOwnProperty.call(A,c)&&(a[c]=A[c]);return a}var n=t({HTML:"text/html",isHTML:function(a){return a===n.HTML},XML_APPLICATION:"application/xml",XML_TEXT:"text/xml",XML_XHTML_APPLICATION:"application/xhtml+xml",XML_SVG_IMAGE:"image/svg+xml"}),s=t({HTML:"http://www.w3.org/1999/xhtml",isHTML:function(a){return a===s.HTML},SVG:"http://www.w3.org/2000/svg",XML:"http://www.w3.org/XML/1998/namespace",XMLNS:"http://www.w3.org/2000/xmlns/"});return Ct.assign=r,Ct.find=E,Ct.freeze=t,Ct.MIME_TYPE=n,Ct.NAMESPACE=s,Ct}var yE;function GE(){if(yE)return at;yE=1;var E=Ht(),t=E.find,r=E.NAMESPACE;function n(R){return R!==""}function s(R){return R?R.split(/[\t\n\f\r ]+/).filter(n):[]}function a(R,S){return R.hasOwnProperty(S)||(R[S]=!0),R}function A(R){if(!R)return[];var S=s(R);return Object.keys(S.reduce(a,{}))}function c(R){return function(S){return R&&R.indexOf(S)!==-1}}function I(R,S){for(var L in R)Object.prototype.hasOwnProperty.call(R,L)&&(S[L]=R[L])}function i(R,S){var L=R.prototype;if(!(L instanceof S)){let F=function(){};F.prototype=S.prototype,F=new F,I(L,F),R.prototype=L=F}L.constructor!=R&&(typeof R!="function"&&console.error("unknown Class:"+R),L.constructor=R)}var O={},C=O.ELEMENT_NODE=1,p=O.ATTRIBUTE_NODE=2,g=O.TEXT_NODE=3,B=O.CDATA_SECTION_NODE=4,Y=O.ENTITY_REFERENCE_NODE=5,d=O.ENTITY_NODE=6,k=O.PROCESSING_INSTRUCTION_NODE=7,J=O.COMMENT_NODE=8,Z=O.DOCUMENT_NODE=9,De=O.DOCUMENT_TYPE_NODE=10,ce=O.DOCUMENT_FRAGMENT_NODE=11,W=O.NOTATION_NODE=12,u={},ee={};u.INDEX_SIZE_ERR=(ee[1]="Index size error",1),u.DOMSTRING_SIZE_ERR=(ee[2]="DOMString size error",2);var U=u.HIERARCHY_REQUEST_ERR=(ee[3]="Hierarchy request error",3);u.WRONG_DOCUMENT_ERR=(ee[4]="Wrong document",4),u.INVALID_CHARACTER_ERR=(ee[5]="Invalid character",5),u.NO_DATA_ALLOWED_ERR=(ee[6]="No data allowed",6),u.NO_MODIFICATION_ALLOWED_ERR=(ee[7]="No modification allowed",7);var v=u.NOT_FOUND_ERR=(ee[8]="Not found",8);u.NOT_SUPPORTED_ERR=(ee[9]="Not supported",9);var te=u.INUSE_ATTRIBUTE_ERR=(ee[10]="Attribute in use",10);u.INVALID_STATE_ERR=(ee[11]="Invalid state",11),u.SYNTAX_ERR=(ee[12]="Syntax error",12),u.INVALID_MODIFICATION_ERR=(ee[13]="Invalid modification",13),u.NAMESPACE_ERR=(ee[14]="Invalid namespace",14),u.INVALID_ACCESS_ERR=(ee[15]="Invalid access",15);function Ee(R,S){if(S instanceof Error)var L=S;else L=this,Error.call(this,ee[R]),this.message=ee[R],Error.captureStackTrace&&Error.captureStackTrace(this,Ee);return L.code=R,S&&(this.message=this.message+": "+S),L}Ee.prototype=Error.prototype,I(u,Ee);function Q(){}Q.prototype={length:0,item:function(R){return R>=0&&R<this.length?this[R]:null},toString:function(R,S){for(var L=[],F=0;F<this.length;F++)We(this[F],L,R,S);return L.join("")},filter:function(R){return Array.prototype.filter.call(this,R)},indexOf:function(R){return Array.prototype.indexOf.call(this,R)}};function Ce(R,S){this._node=R,this._refresh=S,_e(this)}function _e(R){var S=R._node._inc||R._node.ownerDocument._inc;if(R._inc!==S){var L=R._refresh(R._node);if(fe(R,"length",L.length),!R.$$length||L.length<R.$$length)for(var F=L.length;F in R;F++)Object.prototype.hasOwnProperty.call(R,F)&&delete R[F];I(L,R),R._inc=S}}Ce.prototype.item=function(R){return _e(this),this[R]||null},i(Ce,Q);function pe(){}function b(R,S){for(var L=R.length;L--;)if(R[L]===S)return L}function j(R,S,L,F){if(F?S[b(S,F)]=L:S[S.length++]=L,R){L.ownerElement=R;var e=R.ownerDocument;e&&(F&&y(e,R,F),h(e,R,L))}}function Ie(R,S,L){var F=b(S,L);if(F>=0){for(var e=S.length-1;F<e;)S[F]=S[++F];if(S.length=e,R){var o=R.ownerDocument;o&&(y(o,R,L),L.ownerElement=null)}}else throw new Ee(v,new Error(R.tagName+"@"+L))}pe.prototype={length:0,item:Q.prototype.item,getNamedItem:function(R){for(var S=this.length;S--;){var L=this[S];if(L.nodeName==R)return L}},setNamedItem:function(R){var S=R.ownerElement;if(S&&S!=this._ownerElement)throw new Ee(te);var L=this.getNamedItem(R.nodeName);return j(this._ownerElement,this,R,L),L},setNamedItemNS:function(R){var S=R.ownerElement,L;if(S&&S!=this._ownerElement)throw new Ee(te);return L=this.getNamedItemNS(R.namespaceURI,R.localName),j(this._ownerElement,this,R,L),L},removeNamedItem:function(R){var S=this.getNamedItem(R);return Ie(this._ownerElement,this,S),S},removeNamedItemNS:function(R,S){var L=this.getNamedItemNS(R,S);return Ie(this._ownerElement,this,L),L},getNamedItemNS:function(R,S){for(var L=this.length;L--;){var F=this[L];if(F.localName==S&&F.namespaceURI==R)return F}return null}};function me(){}me.prototype={hasFeature:function(R,S){return!0},createDocument:function(R,S,L){var F=new m;if(F.implementation=this,F.childNodes=new Q,F.doctype=L||null,L&&F.appendChild(L),S){var e=F.createElementNS(R,S);F.appendChild(e)}return F},createDocumentType:function(R,S,L){var F=new ie;return F.name=R,F.nodeName=R,F.publicId=S||"",F.systemId=L||"",F}};function oe(){}oe.prototype={firstChild:null,lastChild:null,previousSibling:null,nextSibling:null,attributes:null,parentNode:null,childNodes:null,ownerDocument:null,nodeValue:null,namespaceURI:null,prefix:null,localName:null,insertBefore:function(R,S){return Be(this,R,S)},replaceChild:function(R,S){Be(this,R,S,se),S&&this.removeChild(S)},removeChild:function(R){return M(this,R)},appendChild:function(R){return this.insertBefore(R,null)},hasChildNodes:function(){return this.firstChild!=null},cloneNode:function(R){return st(this.ownerDocument||this,this,R)},normalize:function(){for(var R=this.firstChild;R;){var S=R.nextSibling;S&&S.nodeType==g&&R.nodeType==g?(this.removeChild(S),R.appendData(S.data)):(R.normalize(),R=S)}},isSupported:function(R,S){return this.ownerDocument.implementation.hasFeature(R,S)},hasAttributes:function(){return this.attributes.length>0},lookupPrefix:function(R){for(var S=this;S;){var L=S._nsMap;if(L){for(var F in L)if(Object.prototype.hasOwnProperty.call(L,F)&&L[F]===R)return F}S=S.nodeType==p?S.ownerDocument:S.parentNode}return null},lookupNamespaceURI:function(R){for(var S=this;S;){var L=S._nsMap;if(L&&Object.prototype.hasOwnProperty.call(L,R))return L[R];S=S.nodeType==p?S.ownerDocument:S.parentNode}return null},isDefaultNamespace:function(R){var S=this.lookupPrefix(R);return S==null}};function w(R){return R=="<"&&"&lt;"||R==">"&&"&gt;"||R=="&"&&"&amp;"||R=='"'&&"&quot;"||"&#"+R.charCodeAt()+";"}I(O,oe),I(O,oe.prototype);function P(R,S){if(S(R))return!0;if(R=R.firstChild)do if(P(R,S))return!0;while(R=R.nextSibling)}function m(){this.ownerDocument=this}function h(R,S,L){R&&R._inc++;var F=L.namespaceURI;F===r.XMLNS&&(S._nsMap[L.prefix?L.localName:""]=L.value)}function y(R,S,L,F){R&&R._inc++;var e=L.namespaceURI;e===r.XMLNS&&delete S._nsMap[L.prefix?L.localName:""]}function $(R,S,L){if(R&&R._inc){R._inc++;var F=S.childNodes;if(L)F[F.length++]=L;else{for(var e=S.firstChild,o=0;e;)F[o++]=e,e=e.nextSibling;F.length=o,delete F[F.length]}}}function M(R,S){var L=S.previousSibling,F=S.nextSibling;return L?L.nextSibling=F:R.firstChild=F,F?F.previousSibling=L:R.lastChild=L,S.parentNode=null,S.previousSibling=null,S.nextSibling=null,$(R.ownerDocument,R),S}function z(R){return R&&(R.nodeType===oe.DOCUMENT_NODE||R.nodeType===oe.DOCUMENT_FRAGMENT_NODE||R.nodeType===oe.ELEMENT_NODE)}function re(R){return R&&(le(R)||Ue(R)||Ae(R)||R.nodeType===oe.DOCUMENT_FRAGMENT_NODE||R.nodeType===oe.COMMENT_NODE||R.nodeType===oe.PROCESSING_INSTRUCTION_NODE)}function Ae(R){return R&&R.nodeType===oe.DOCUMENT_TYPE_NODE}function le(R){return R&&R.nodeType===oe.ELEMENT_NODE}function Ue(R){return R&&R.nodeType===oe.TEXT_NODE}function Se(R,S){var L=R.childNodes||[];if(t(L,le)||Ae(S))return!1;var F=t(L,Ae);return!(S&&F&&L.indexOf(F)>L.indexOf(S))}function q(R,S){var L=R.childNodes||[];function F(o){return le(o)&&o!==S}if(t(L,F))return!1;var e=t(L,Ae);return!(S&&e&&L.indexOf(e)>L.indexOf(S))}function ge(R,S,L){if(!z(R))throw new Ee(U,"Unexpected parent node type "+R.nodeType);if(L&&L.parentNode!==R)throw new Ee(v,"child not in parent");if(!re(S)||Ae(S)&&R.nodeType!==oe.DOCUMENT_NODE)throw new Ee(U,"Unexpected node type "+S.nodeType+" for parent node type "+R.nodeType)}function _(R,S,L){var F=R.childNodes||[],e=S.childNodes||[];if(S.nodeType===oe.DOCUMENT_FRAGMENT_NODE){var o=e.filter(le);if(o.length>1||t(e,Ue))throw new Ee(U,"More than one element or text in fragment");if(o.length===1&&!Se(R,L))throw new Ee(U,"Element in fragment can not be inserted before doctype")}if(le(S)&&!Se(R,L))throw new Ee(U,"Only one element can be added and only after doctype");if(Ae(S)){if(t(F,Ae))throw new Ee(U,"Only one doctype is allowed");var N=t(F,le);if(L&&F.indexOf(N)<F.indexOf(L))throw new Ee(U,"Doctype can only be inserted before an element");if(!L&&N)throw new Ee(U,"Doctype can not be appended since element is present")}}function se(R,S,L){var F=R.childNodes||[],e=S.childNodes||[];if(S.nodeType===oe.DOCUMENT_FRAGMENT_NODE){var o=e.filter(le);if(o.length>1||t(e,Ue))throw new Ee(U,"More than one element or text in fragment");if(o.length===1&&!q(R,L))throw new Ee(U,"Element in fragment can not be inserted before doctype")}if(le(S)&&!q(R,L))throw new Ee(U,"Only one element can be added and only after doctype");if(Ae(S)){if(t(F,function(l){return Ae(l)&&l!==L}))throw new Ee(U,"Only one doctype is allowed");var N=t(F,le);if(L&&F.indexOf(N)<F.indexOf(L))throw new Ee(U,"Doctype can only be inserted before an element")}}function Be(R,S,L,F){ge(R,S,L),R.nodeType===oe.DOCUMENT_NODE&&(F||_)(R,S,L);var e=S.parentNode;if(e&&e.removeChild(S),S.nodeType===ce){var o=S.firstChild;if(o==null)return S;var N=S.lastChild}else o=N=S;var D=L?L.previousSibling:R.lastChild;o.previousSibling=D,N.nextSibling=L,D?D.nextSibling=o:R.firstChild=o,L==null?R.lastChild=N:L.previousSibling=N;do{o.parentNode=R;var l=R.ownerDocument||R;de(o,l)}while(o!==N&&(o=o.nextSibling));return $(R.ownerDocument||R,R),S.nodeType==ce&&(S.firstChild=S.lastChild=null),S}function de(R,S){if(R.ownerDocument!==S){if(R.ownerDocument=S,R.nodeType===C&&R.attributes)for(var L=0;L<R.attributes.length;L++){var F=R.attributes.item(L);F&&(F.ownerDocument=S)}for(var e=R.firstChild;e;)de(e,S),e=e.nextSibling}}function H(R,S){S.parentNode&&S.parentNode.removeChild(S),S.parentNode=R,S.previousSibling=R.lastChild,S.nextSibling=null,S.previousSibling?S.previousSibling.nextSibling=S:R.firstChild=S,R.lastChild=S,$(R.ownerDocument,R,S);var L=R.ownerDocument||R;return de(S,L),S}m.prototype={nodeName:"#document",nodeType:Z,doctype:null,documentElement:null,_inc:1,insertBefore:function(R,S){if(R.nodeType==ce){for(var L=R.firstChild;L;){var F=L.nextSibling;this.insertBefore(L,S),L=F}return R}return Be(this,R,S),de(R,this),this.documentElement===null&&R.nodeType===C&&(this.documentElement=R),R},removeChild:function(R){return this.documentElement==R&&(this.documentElement=null),M(this,R)},replaceChild:function(R,S){Be(this,R,S,se),de(R,this),S&&this.removeChild(S),le(R)&&(this.documentElement=R)},importNode:function(R,S){return Rt(this,R,S)},getElementById:function(R){var S=null;return P(this.documentElement,function(L){if(L.nodeType==C&&L.getAttribute("id")==R)return S=L,!0}),S},getElementsByClassName:function(R){var S=A(R);return new Ce(this,function(L){var F=[];return S.length>0&&P(L.documentElement,function(e){if(e!==L&&e.nodeType===C){var o=e.getAttribute("class");if(o){var N=R===o;if(!N){var D=A(o);N=S.every(c(D))}N&&F.push(e)}}}),F})},createElement:function(R){var S=new V;S.ownerDocument=this,S.nodeName=R,S.tagName=R,S.localName=R,S.childNodes=new Q;var L=S.attributes=new pe;return L._ownerElement=S,S},createDocumentFragment:function(){var R=new Xe;return R.ownerDocument=this,R.childNodes=new Q,R},createTextNode:function(R){var S=new Oe;return S.ownerDocument=this,S.appendData(R),S},createComment:function(R){var S=new we;return S.ownerDocument=this,S.appendData(R),S},createCDATASection:function(R){var S=new Gt;return S.ownerDocument=this,S.appendData(R),S},createProcessingInstruction:function(R,S){var L=new je;return L.ownerDocument=this,L.tagName=L.nodeName=L.target=R,L.nodeValue=L.data=S,L},createAttribute:function(R){var S=new ve;return S.ownerDocument=this,S.name=R,S.nodeName=R,S.localName=R,S.specified=!0,S},createEntityReference:function(R){var S=new et;return S.ownerDocument=this,S.nodeName=R,S},createElementNS:function(R,S){var L=new V,F=S.split(":"),e=L.attributes=new pe;return L.childNodes=new Q,L.ownerDocument=this,L.nodeName=S,L.tagName=S,L.namespaceURI=R,F.length==2?(L.prefix=F[0],L.localName=F[1]):L.localName=S,e._ownerElement=L,L},createAttributeNS:function(R,S){var L=new ve,F=S.split(":");return L.ownerDocument=this,L.nodeName=S,L.name=S,L.namespaceURI=R,L.specified=!0,F.length==2?(L.prefix=F[0],L.localName=F[1]):L.localName=S,L}},i(m,oe);function V(){this._nsMap={}}V.prototype={nodeType:C,hasAttribute:function(R){return this.getAttributeNode(R)!=null},getAttribute:function(R){var S=this.getAttributeNode(R);return S&&S.value||""},getAttributeNode:function(R){return this.attributes.getNamedItem(R)},setAttribute:function(R,S){var L=this.ownerDocument.createAttribute(R);L.value=L.nodeValue=""+S,this.setAttributeNode(L)},removeAttribute:function(R){var S=this.getAttributeNode(R);S&&this.removeAttributeNode(S)},appendChild:function(R){return R.nodeType===ce?this.insertBefore(R,null):H(this,R)},setAttributeNode:function(R){return this.attributes.setNamedItem(R)},setAttributeNodeNS:function(R){return this.attributes.setNamedItemNS(R)},removeAttributeNode:function(R){return this.attributes.removeNamedItem(R.nodeName)},removeAttributeNS:function(R,S){var L=this.getAttributeNodeNS(R,S);L&&this.removeAttributeNode(L)},hasAttributeNS:function(R,S){return this.getAttributeNodeNS(R,S)!=null},getAttributeNS:function(R,S){var L=this.getAttributeNodeNS(R,S);return L&&L.value||""},setAttributeNS:function(R,S,L){var F=this.ownerDocument.createAttributeNS(R,S);F.value=F.nodeValue=""+L,this.setAttributeNode(F)},getAttributeNodeNS:function(R,S){return this.attributes.getNamedItemNS(R,S)},getElementsByTagName:function(R){return new Ce(this,function(S){var L=[];return P(S,function(F){F!==S&&F.nodeType==C&&(R==="*"||F.tagName==R)&&L.push(F)}),L})},getElementsByTagNameNS:function(R,S){return new Ce(this,function(L){var F=[];return P(L,function(e){e!==L&&e.nodeType===C&&(R==="*"||e.namespaceURI===R)&&(S==="*"||e.localName==S)&&F.push(e)}),F})}},m.prototype.getElementsByTagName=V.prototype.getElementsByTagName,m.prototype.getElementsByTagNameNS=V.prototype.getElementsByTagNameNS,i(V,oe);function ve(){}ve.prototype.nodeType=p,i(ve,oe);function Qe(){}Qe.prototype={data:"",substringData:function(R,S){return this.data.substring(R,R+S)},appendData:function(R){R=this.data+R,this.nodeValue=this.data=R,this.length=R.length},insertData:function(R,S){this.replaceData(R,0,S)},appendChild:function(R){throw new Error(ee[U])},deleteData:function(R,S){this.replaceData(R,S,"")},replaceData:function(R,S,L){var F=this.data.substring(0,R),e=this.data.substring(R+S);L=F+L+e,this.nodeValue=this.data=L,this.length=L.length}},i(Qe,oe);function Oe(){}Oe.prototype={nodeName:"#text",nodeType:g,splitText:function(R){var S=this.data,L=S.substring(R);S=S.substring(0,R),this.data=this.nodeValue=S,this.length=S.length;var F=this.ownerDocument.createTextNode(L);return this.parentNode&&this.parentNode.insertBefore(F,this.nextSibling),F}},i(Oe,Qe);function we(){}we.prototype={nodeName:"#comment",nodeType:J},i(we,Qe);function Gt(){}Gt.prototype={nodeName:"#cdata-section",nodeType:B},i(Gt,Qe);function ie(){}ie.prototype.nodeType=De,i(ie,oe);function nt(){}nt.prototype.nodeType=W,i(nt,oe);function Ze(){}Ze.prototype.nodeType=d,i(Ze,oe);function et(){}et.prototype.nodeType=Y,i(et,oe);function Xe(){}Xe.prototype.nodeName="#document-fragment",Xe.prototype.nodeType=ce,i(Xe,oe);function je(){}je.prototype.nodeType=k,i(je,oe);function Le(){}Le.prototype.serializeToString=function(R,S,L){return Ne.call(R,S,L)},oe.prototype.toString=Ne;function Ne(R,S){var L=[],F=this.nodeType==9&&this.documentElement||this,e=F.prefix,o=F.namespaceURI;if(o&&e==null){var e=F.lookupPrefix(o);if(e==null)var N=[{namespace:o,prefix:null}]}return We(this,L,R,S,N),L.join("")}function Ft(R,S,L){var F=R.prefix||"",e=R.namespaceURI;if(!e||F==="xml"&&e===r.XML||e===r.XMLNS)return!1;for(var o=L.length;o--;){var N=L[o];if(N.prefix===F)return N.namespace!==e}return!0}function qe(R,S,L){R.push(" ",S,'="',L.replace(/[<>&"\t\n\r]/g,w),'"')}function We(R,S,L,F,e){if(e||(e=[]),F)if(R=F(R),R){if(typeof R=="string"){S.push(R);return}}else return;switch(R.nodeType){case C:var o=R.attributes,N=o.length,He=R.firstChild,D=R.tagName;L=r.isHTML(R.namespaceURI)||L;var l=D;if(!L&&!R.prefix&&R.namespaceURI){for(var f,Te=0;Te<o.length;Te++)if(o.item(Te).name==="xmlns"){f=o.item(Te).value;break}if(!f)for(var he=e.length-1;he>=0;he--){var Me=e[he];if(Me.prefix===""&&Me.namespace===R.namespaceURI){f=Me.namespace;break}}if(f!==R.namespaceURI)for(var he=e.length-1;he>=0;he--){var Me=e[he];if(Me.namespace===R.namespaceURI){Me.prefix&&(l=Me.prefix+":"+D);break}}}S.push("<",l);for(var ae=0;ae<N;ae++){var Re=o.item(ae);Re.prefix=="xmlns"?e.push({prefix:Re.localName,namespace:Re.value}):Re.nodeName=="xmlns"&&e.push({prefix:"",namespace:Re.value})}for(var ae=0;ae<N;ae++){var Re=o.item(ae);if(Ft(Re,L,e)){var Ke=Re.prefix||"",ze=Re.namespaceURI;qe(S,Ke?"xmlns:"+Ke:"xmlns",ze),e.push({prefix:Ke,namespace:ze})}We(Re,S,L,F,e)}if(D===l&&Ft(R,L,e)){var Ke=R.prefix||"",ze=R.namespaceURI;qe(S,Ke?"xmlns:"+Ke:"xmlns",ze),e.push({prefix:Ke,namespace:ze})}if(He||L&&!/^(?:meta|link|img|br|hr|input)$/i.test(D)){if(S.push(">"),L&&/^script$/i.test(D))for(;He;)He.data?S.push(He.data):We(He,S,L,F,e.slice()),He=He.nextSibling;else for(;He;)We(He,S,L,F,e.slice()),He=He.nextSibling;S.push("</",l,">")}else S.push("/>");return;case Z:case ce:for(var He=R.firstChild;He;)We(He,S,L,F,e.slice()),He=He.nextSibling;return;case p:return qe(S,R.name,R.value);case g:return S.push(R.data.replace(/[<&>]/g,w));case B:return S.push("<![CDATA[",R.data,"]]>");case J:return S.push("<!--",R.data,"-->");case De:var Tt=R.publicId,tt=R.systemId;if(S.push("<!DOCTYPE ",R.name),Tt)S.push(" PUBLIC ",Tt),tt&&tt!="."&&S.push(" ",tt),S.push(">");else if(tt&&tt!=".")S.push(" SYSTEM ",tt,">");else{var lt=R.internalSubset;lt&&S.push(" [",lt,"]"),S.push(">")}return;case k:return S.push("<?",R.target," ",R.data,"?>");case Y:return S.push("&",R.nodeName,";");default:S.push("??",R.nodeName)}}function Rt(R,S,L){var F;switch(S.nodeType){case C:F=S.cloneNode(!1),F.ownerDocument=R;case ce:break;case p:L=!0;break}if(F||(F=S.cloneNode(!1)),F.ownerDocument=R,F.parentNode=null,L)for(var e=S.firstChild;e;)F.appendChild(Rt(R,e,L)),e=e.nextSibling;return F}function st(R,S,L){var F=new S.constructor;for(var e in S)if(Object.prototype.hasOwnProperty.call(S,e)){var o=S[e];typeof o!="object"&&o!=F[e]&&(F[e]=o)}switch(S.childNodes&&(F.childNodes=new Q),F.ownerDocument=R,F.nodeType){case C:var N=S.attributes,D=F.attributes=new pe,l=N.length;D._ownerElement=F;for(var f=0;f<l;f++)F.setAttributeNode(st(R,N.item(f),!0));break;case p:L=!0}if(L)for(var Te=S.firstChild;Te;)F.appendChild(st(R,Te,L)),Te=Te.nextSibling;return F}function fe(R,S,L){R[S]=L}try{if(Object.defineProperty){let R=function(S){switch(S.nodeType){case C:case ce:var L=[];for(S=S.firstChild;S;)S.nodeType!==7&&S.nodeType!==8&&L.push(R(S)),S=S.nextSibling;return L.join("");default:return S.nodeValue}};Object.defineProperty(Ce.prototype,"length",{get:function(){return _e(this),this.$$length}}),Object.defineProperty(oe.prototype,"textContent",{get:function(){return R(this)},set:function(S){switch(this.nodeType){case C:case ce:for(;this.firstChild;)this.removeChild(this.firstChild);(S||String(S))&&this.appendChild(this.ownerDocument.createTextNode(S));break;default:this.data=S,this.value=S,this.nodeValue=S}}}),fe=function(S,L,F){S["$$"+L]=F}}}catch{}return at.DocumentType=ie,at.DOMException=Ee,at.DOMImplementation=me,at.Element=V,at.Node=oe,at.NodeList=Q,at.XMLSerializer=Le,at}var mt={},Jt={},FE;function vn(){return FE||(FE=1,function(E){var t=Ht().freeze;E.XML_ENTITIES=t({amp:"&",apos:"'",gt:">",lt:"<",quot:'"'}),E.HTML_ENTITIES=t({Aacute:"Á",aacute:"á",Abreve:"Ă",abreve:"ă",ac:"∾",acd:"∿",acE:"∾̳",Acirc:"Â",acirc:"â",acute:"´",Acy:"А",acy:"а",AElig:"Æ",aelig:"æ",af:"⁡",Afr:"𝔄",afr:"𝔞",Agrave:"À",agrave:"à",alefsym:"ℵ",aleph:"ℵ",Alpha:"Α",alpha:"α",Amacr:"Ā",amacr:"ā",amalg:"⨿",AMP:"&",amp:"&",And:"⩓",and:"∧",andand:"⩕",andd:"⩜",andslope:"⩘",andv:"⩚",ang:"∠",ange:"⦤",angle:"∠",angmsd:"∡",angmsdaa:"⦨",angmsdab:"⦩",angmsdac:"⦪",angmsdad:"⦫",angmsdae:"⦬",angmsdaf:"⦭",angmsdag:"⦮",angmsdah:"⦯",angrt:"∟",angrtvb:"⊾",angrtvbd:"⦝",angsph:"∢",angst:"Å",angzarr:"⍼",Aogon:"Ą",aogon:"ą",Aopf:"𝔸",aopf:"𝕒",ap:"≈",apacir:"⩯",apE:"⩰",ape:"≊",apid:"≋",apos:"'",ApplyFunction:"⁡",approx:"≈",approxeq:"≊",Aring:"Å",aring:"å",Ascr:"𝒜",ascr:"𝒶",Assign:"≔",ast:"*",asymp:"≈",asympeq:"≍",Atilde:"Ã",atilde:"ã",Auml:"Ä",auml:"ä",awconint:"∳",awint:"⨑",backcong:"≌",backepsilon:"϶",backprime:"‵",backsim:"∽",backsimeq:"⋍",Backslash:"∖",Barv:"⫧",barvee:"⊽",Barwed:"⌆",barwed:"⌅",barwedge:"⌅",bbrk:"⎵",bbrktbrk:"⎶",bcong:"≌",Bcy:"Б",bcy:"б",bdquo:"„",becaus:"∵",Because:"∵",because:"∵",bemptyv:"⦰",bepsi:"϶",bernou:"ℬ",Bernoullis:"ℬ",Beta:"Β",beta:"β",beth:"ℶ",between:"≬",Bfr:"𝔅",bfr:"𝔟",bigcap:"⋂",bigcirc:"◯",bigcup:"⋃",bigodot:"⨀",bigoplus:"⨁",bigotimes:"⨂",bigsqcup:"⨆",bigstar:"★",bigtriangledown:"▽",bigtriangleup:"△",biguplus:"⨄",bigvee:"⋁",bigwedge:"⋀",bkarow:"⤍",blacklozenge:"⧫",blacksquare:"▪",blacktriangle:"▴",blacktriangledown:"▾",blacktriangleleft:"◂",blacktriangleright:"▸",blank:"␣",blk12:"▒",blk14:"░",blk34:"▓",block:"█",bne:"=⃥",bnequiv:"≡⃥",bNot:"⫭",bnot:"⌐",Bopf:"𝔹",bopf:"𝕓",bot:"⊥",bottom:"⊥",bowtie:"⋈",boxbox:"⧉",boxDL:"╗",boxDl:"╖",boxdL:"╕",boxdl:"┐",boxDR:"╔",boxDr:"╓",boxdR:"╒",boxdr:"┌",boxH:"═",boxh:"─",boxHD:"╦",boxHd:"╤",boxhD:"╥",boxhd:"┬",boxHU:"╩",boxHu:"╧",boxhU:"╨",boxhu:"┴",boxminus:"⊟",boxplus:"⊞",boxtimes:"⊠",boxUL:"╝",boxUl:"╜",boxuL:"╛",boxul:"┘",boxUR:"╚",boxUr:"╙",boxuR:"╘",boxur:"└",boxV:"║",boxv:"│",boxVH:"╬",boxVh:"╫",boxvH:"╪",boxvh:"┼",boxVL:"╣",boxVl:"╢",boxvL:"╡",boxvl:"┤",boxVR:"╠",boxVr:"╟",boxvR:"╞",boxvr:"├",bprime:"‵",Breve:"˘",breve:"˘",brvbar:"¦",Bscr:"ℬ",bscr:"𝒷",bsemi:"⁏",bsim:"∽",bsime:"⋍",bsol:"\\",bsolb:"⧅",bsolhsub:"⟈",bull:"•",bullet:"•",bump:"≎",bumpE:"⪮",bumpe:"≏",Bumpeq:"≎",bumpeq:"≏",Cacute:"Ć",cacute:"ć",Cap:"⋒",cap:"∩",capand:"⩄",capbrcup:"⩉",capcap:"⩋",capcup:"⩇",capdot:"⩀",CapitalDifferentialD:"ⅅ",caps:"∩︀",caret:"⁁",caron:"ˇ",Cayleys:"ℭ",ccaps:"⩍",Ccaron:"Č",ccaron:"č",Ccedil:"Ç",ccedil:"ç",Ccirc:"Ĉ",ccirc:"ĉ",Cconint:"∰",ccups:"⩌",ccupssm:"⩐",Cdot:"Ċ",cdot:"ċ",cedil:"¸",Cedilla:"¸",cemptyv:"⦲",cent:"¢",CenterDot:"·",centerdot:"·",Cfr:"ℭ",cfr:"𝔠",CHcy:"Ч",chcy:"ч",check:"✓",checkmark:"✓",Chi:"Χ",chi:"χ",cir:"○",circ:"ˆ",circeq:"≗",circlearrowleft:"↺",circlearrowright:"↻",circledast:"⊛",circledcirc:"⊚",circleddash:"⊝",CircleDot:"⊙",circledR:"®",circledS:"Ⓢ",CircleMinus:"⊖",CirclePlus:"⊕",CircleTimes:"⊗",cirE:"⧃",cire:"≗",cirfnint:"⨐",cirmid:"⫯",cirscir:"⧂",ClockwiseContourIntegral:"∲",CloseCurlyDoubleQuote:"”",CloseCurlyQuote:"’",clubs:"♣",clubsuit:"♣",Colon:"∷",colon:":",Colone:"⩴",colone:"≔",coloneq:"≔",comma:",",commat:"@",comp:"∁",compfn:"∘",complement:"∁",complexes:"ℂ",cong:"≅",congdot:"⩭",Congruent:"≡",Conint:"∯",conint:"∮",ContourIntegral:"∮",Copf:"ℂ",copf:"𝕔",coprod:"∐",Coproduct:"∐",COPY:"©",copy:"©",copysr:"℗",CounterClockwiseContourIntegral:"∳",crarr:"↵",Cross:"⨯",cross:"✗",Cscr:"𝒞",cscr:"𝒸",csub:"⫏",csube:"⫑",csup:"⫐",csupe:"⫒",ctdot:"⋯",cudarrl:"⤸",cudarrr:"⤵",cuepr:"⋞",cuesc:"⋟",cularr:"↶",cularrp:"⤽",Cup:"⋓",cup:"∪",cupbrcap:"⩈",CupCap:"≍",cupcap:"⩆",cupcup:"⩊",cupdot:"⊍",cupor:"⩅",cups:"∪︀",curarr:"↷",curarrm:"⤼",curlyeqprec:"⋞",curlyeqsucc:"⋟",curlyvee:"⋎",curlywedge:"⋏",curren:"¤",curvearrowleft:"↶",curvearrowright:"↷",cuvee:"⋎",cuwed:"⋏",cwconint:"∲",cwint:"∱",cylcty:"⌭",Dagger:"‡",dagger:"†",daleth:"ℸ",Darr:"↡",dArr:"⇓",darr:"↓",dash:"‐",Dashv:"⫤",dashv:"⊣",dbkarow:"⤏",dblac:"˝",Dcaron:"Ď",dcaron:"ď",Dcy:"Д",dcy:"д",DD:"ⅅ",dd:"ⅆ",ddagger:"‡",ddarr:"⇊",DDotrahd:"⤑",ddotseq:"⩷",deg:"°",Del:"∇",Delta:"Δ",delta:"δ",demptyv:"⦱",dfisht:"⥿",Dfr:"𝔇",dfr:"𝔡",dHar:"⥥",dharl:"⇃",dharr:"⇂",DiacriticalAcute:"´",DiacriticalDot:"˙",DiacriticalDoubleAcute:"˝",DiacriticalGrave:"`",DiacriticalTilde:"˜",diam:"⋄",Diamond:"⋄",diamond:"⋄",diamondsuit:"♦",diams:"♦",die:"¨",DifferentialD:"ⅆ",digamma:"ϝ",disin:"⋲",div:"÷",divide:"÷",divideontimes:"⋇",divonx:"⋇",DJcy:"Ђ",djcy:"ђ",dlcorn:"⌞",dlcrop:"⌍",dollar:"$",Dopf:"𝔻",dopf:"𝕕",Dot:"¨",dot:"˙",DotDot:"⃜",doteq:"≐",doteqdot:"≑",DotEqual:"≐",dotminus:"∸",dotplus:"∔",dotsquare:"⊡",doublebarwedge:"⌆",DoubleContourIntegral:"∯",DoubleDot:"¨",DoubleDownArrow:"⇓",DoubleLeftArrow:"⇐",DoubleLeftRightArrow:"⇔",DoubleLeftTee:"⫤",DoubleLongLeftArrow:"⟸",DoubleLongLeftRightArrow:"⟺",DoubleLongRightArrow:"⟹",DoubleRightArrow:"⇒",DoubleRightTee:"⊨",DoubleUpArrow:"⇑",DoubleUpDownArrow:"⇕",DoubleVerticalBar:"∥",DownArrow:"↓",Downarrow:"⇓",downarrow:"↓",DownArrowBar:"⤓",DownArrowUpArrow:"⇵",DownBreve:"̑",downdownarrows:"⇊",downharpoonleft:"⇃",downharpoonright:"⇂",DownLeftRightVector:"⥐",DownLeftTeeVector:"⥞",DownLeftVector:"↽",DownLeftVectorBar:"⥖",DownRightTeeVector:"⥟",DownRightVector:"⇁",DownRightVectorBar:"⥗",DownTee:"⊤",DownTeeArrow:"↧",drbkarow:"⤐",drcorn:"⌟",drcrop:"⌌",Dscr:"𝒟",dscr:"𝒹",DScy:"Ѕ",dscy:"ѕ",dsol:"⧶",Dstrok:"Đ",dstrok:"đ",dtdot:"⋱",dtri:"▿",dtrif:"▾",duarr:"⇵",duhar:"⥯",dwangle:"⦦",DZcy:"Џ",dzcy:"џ",dzigrarr:"⟿",Eacute:"É",eacute:"é",easter:"⩮",Ecaron:"Ě",ecaron:"ě",ecir:"≖",Ecirc:"Ê",ecirc:"ê",ecolon:"≕",Ecy:"Э",ecy:"э",eDDot:"⩷",Edot:"Ė",eDot:"≑",edot:"ė",ee:"ⅇ",efDot:"≒",Efr:"𝔈",efr:"𝔢",eg:"⪚",Egrave:"È",egrave:"è",egs:"⪖",egsdot:"⪘",el:"⪙",Element:"∈",elinters:"⏧",ell:"ℓ",els:"⪕",elsdot:"⪗",Emacr:"Ē",emacr:"ē",empty:"∅",emptyset:"∅",EmptySmallSquare:"◻",emptyv:"∅",EmptyVerySmallSquare:"▫",emsp:" ",emsp13:" ",emsp14:" ",ENG:"Ŋ",eng:"ŋ",ensp:" ",Eogon:"Ę",eogon:"ę",Eopf:"𝔼",eopf:"𝕖",epar:"⋕",eparsl:"⧣",eplus:"⩱",epsi:"ε",Epsilon:"Ε",epsilon:"ε",epsiv:"ϵ",eqcirc:"≖",eqcolon:"≕",eqsim:"≂",eqslantgtr:"⪖",eqslantless:"⪕",Equal:"⩵",equals:"=",EqualTilde:"≂",equest:"≟",Equilibrium:"⇌",equiv:"≡",equivDD:"⩸",eqvparsl:"⧥",erarr:"⥱",erDot:"≓",Escr:"ℰ",escr:"ℯ",esdot:"≐",Esim:"⩳",esim:"≂",Eta:"Η",eta:"η",ETH:"Ð",eth:"ð",Euml:"Ë",euml:"ë",euro:"€",excl:"!",exist:"∃",Exists:"∃",expectation:"ℰ",ExponentialE:"ⅇ",exponentiale:"ⅇ",fallingdotseq:"≒",Fcy:"Ф",fcy:"ф",female:"♀",ffilig:"ffi",fflig:"ff",ffllig:"ffl",Ffr:"𝔉",ffr:"𝔣",filig:"fi",FilledSmallSquare:"◼",FilledVerySmallSquare:"▪",fjlig:"fj",flat:"♭",fllig:"fl",fltns:"▱",fnof:"ƒ",Fopf:"𝔽",fopf:"𝕗",ForAll:"∀",forall:"∀",fork:"⋔",forkv:"⫙",Fouriertrf:"ℱ",fpartint:"⨍",frac12:"½",frac13:"⅓",frac14:"¼",frac15:"⅕",frac16:"⅙",frac18:"⅛",frac23:"⅔",frac25:"⅖",frac34:"¾",frac35:"⅗",frac38:"⅜",frac45:"⅘",frac56:"⅚",frac58:"⅝",frac78:"⅞",frasl:"⁄",frown:"⌢",Fscr:"ℱ",fscr:"𝒻",gacute:"ǵ",Gamma:"Γ",gamma:"γ",Gammad:"Ϝ",gammad:"ϝ",gap:"⪆",Gbreve:"Ğ",gbreve:"ğ",Gcedil:"Ģ",Gcirc:"Ĝ",gcirc:"ĝ",Gcy:"Г",gcy:"г",Gdot:"Ġ",gdot:"ġ",gE:"≧",ge:"≥",gEl:"⪌",gel:"⋛",geq:"≥",geqq:"≧",geqslant:"⩾",ges:"⩾",gescc:"⪩",gesdot:"⪀",gesdoto:"⪂",gesdotol:"⪄",gesl:"⋛︀",gesles:"⪔",Gfr:"𝔊",gfr:"𝔤",Gg:"⋙",gg:"≫",ggg:"⋙",gimel:"ℷ",GJcy:"Ѓ",gjcy:"ѓ",gl:"≷",gla:"⪥",glE:"⪒",glj:"⪤",gnap:"⪊",gnapprox:"⪊",gnE:"≩",gne:"⪈",gneq:"⪈",gneqq:"≩",gnsim:"⋧",Gopf:"𝔾",gopf:"𝕘",grave:"`",GreaterEqual:"≥",GreaterEqualLess:"⋛",GreaterFullEqual:"≧",GreaterGreater:"⪢",GreaterLess:"≷",GreaterSlantEqual:"⩾",GreaterTilde:"≳",Gscr:"𝒢",gscr:"ℊ",gsim:"≳",gsime:"⪎",gsiml:"⪐",Gt:"≫",GT:">",gt:">",gtcc:"⪧",gtcir:"⩺",gtdot:"⋗",gtlPar:"⦕",gtquest:"⩼",gtrapprox:"⪆",gtrarr:"⥸",gtrdot:"⋗",gtreqless:"⋛",gtreqqless:"⪌",gtrless:"≷",gtrsim:"≳",gvertneqq:"≩︀",gvnE:"≩︀",Hacek:"ˇ",hairsp:" ",half:"½",hamilt:"ℋ",HARDcy:"Ъ",hardcy:"ъ",hArr:"⇔",harr:"↔",harrcir:"⥈",harrw:"↭",Hat:"^",hbar:"ℏ",Hcirc:"Ĥ",hcirc:"ĥ",hearts:"♥",heartsuit:"♥",hellip:"…",hercon:"⊹",Hfr:"ℌ",hfr:"𝔥",HilbertSpace:"ℋ",hksearow:"⤥",hkswarow:"⤦",hoarr:"⇿",homtht:"∻",hookleftarrow:"↩",hookrightarrow:"↪",Hopf:"ℍ",hopf:"𝕙",horbar:"―",HorizontalLine:"─",Hscr:"ℋ",hscr:"𝒽",hslash:"ℏ",Hstrok:"Ħ",hstrok:"ħ",HumpDownHump:"≎",HumpEqual:"≏",hybull:"⁃",hyphen:"‐",Iacute:"Í",iacute:"í",ic:"⁣",Icirc:"Î",icirc:"î",Icy:"И",icy:"и",Idot:"İ",IEcy:"Е",iecy:"е",iexcl:"¡",iff:"⇔",Ifr:"ℑ",ifr:"𝔦",Igrave:"Ì",igrave:"ì",ii:"ⅈ",iiiint:"⨌",iiint:"∭",iinfin:"⧜",iiota:"℩",IJlig:"IJ",ijlig:"ij",Im:"ℑ",Imacr:"Ī",imacr:"ī",image:"ℑ",ImaginaryI:"ⅈ",imagline:"ℐ",imagpart:"ℑ",imath:"ı",imof:"⊷",imped:"Ƶ",Implies:"⇒",in:"∈",incare:"℅",infin:"∞",infintie:"⧝",inodot:"ı",Int:"∬",int:"∫",intcal:"⊺",integers:"ℤ",Integral:"∫",intercal:"⊺",Intersection:"⋂",intlarhk:"⨗",intprod:"⨼",InvisibleComma:"⁣",InvisibleTimes:"⁢",IOcy:"Ё",iocy:"ё",Iogon:"Į",iogon:"į",Iopf:"𝕀",iopf:"𝕚",Iota:"Ι",iota:"ι",iprod:"⨼",iquest:"¿",Iscr:"ℐ",iscr:"𝒾",isin:"∈",isindot:"⋵",isinE:"⋹",isins:"⋴",isinsv:"⋳",isinv:"∈",it:"⁢",Itilde:"Ĩ",itilde:"ĩ",Iukcy:"І",iukcy:"і",Iuml:"Ï",iuml:"ï",Jcirc:"Ĵ",jcirc:"ĵ",Jcy:"Й",jcy:"й",Jfr:"𝔍",jfr:"𝔧",jmath:"ȷ",Jopf:"𝕁",jopf:"𝕛",Jscr:"𝒥",jscr:"𝒿",Jsercy:"Ј",jsercy:"ј",Jukcy:"Є",jukcy:"є",Kappa:"Κ",kappa:"κ",kappav:"ϰ",Kcedil:"Ķ",kcedil:"ķ",Kcy:"К",kcy:"к",Kfr:"𝔎",kfr:"𝔨",kgreen:"ĸ",KHcy:"Х",khcy:"х",KJcy:"Ќ",kjcy:"ќ",Kopf:"𝕂",kopf:"𝕜",Kscr:"𝒦",kscr:"𝓀",lAarr:"⇚",Lacute:"Ĺ",lacute:"ĺ",laemptyv:"⦴",lagran:"ℒ",Lambda:"Λ",lambda:"λ",Lang:"⟪",lang:"⟨",langd:"⦑",langle:"⟨",lap:"⪅",Laplacetrf:"ℒ",laquo:"«",Larr:"↞",lArr:"⇐",larr:"←",larrb:"⇤",larrbfs:"⤟",larrfs:"⤝",larrhk:"↩",larrlp:"↫",larrpl:"⤹",larrsim:"⥳",larrtl:"↢",lat:"⪫",lAtail:"⤛",latail:"⤙",late:"⪭",lates:"⪭︀",lBarr:"⤎",lbarr:"⤌",lbbrk:"❲",lbrace:"{",lbrack:"[",lbrke:"⦋",lbrksld:"⦏",lbrkslu:"⦍",Lcaron:"Ľ",lcaron:"ľ",Lcedil:"Ļ",lcedil:"ļ",lceil:"⌈",lcub:"{",Lcy:"Л",lcy:"л",ldca:"⤶",ldquo:"“",ldquor:"„",ldrdhar:"⥧",ldrushar:"⥋",ldsh:"↲",lE:"≦",le:"≤",LeftAngleBracket:"⟨",LeftArrow:"←",Leftarrow:"⇐",leftarrow:"←",LeftArrowBar:"⇤",LeftArrowRightArrow:"⇆",leftarrowtail:"↢",LeftCeiling:"⌈",LeftDoubleBracket:"⟦",LeftDownTeeVector:"⥡",LeftDownVector:"⇃",LeftDownVectorBar:"⥙",LeftFloor:"⌊",leftharpoondown:"↽",leftharpoonup:"↼",leftleftarrows:"⇇",LeftRightArrow:"↔",Leftrightarrow:"⇔",leftrightarrow:"↔",leftrightarrows:"⇆",leftrightharpoons:"⇋",leftrightsquigarrow:"↭",LeftRightVector:"⥎",LeftTee:"⊣",LeftTeeArrow:"↤",LeftTeeVector:"⥚",leftthreetimes:"⋋",LeftTriangle:"⊲",LeftTriangleBar:"⧏",LeftTriangleEqual:"⊴",LeftUpDownVector:"⥑",LeftUpTeeVector:"⥠",LeftUpVector:"↿",LeftUpVectorBar:"⥘",LeftVector:"↼",LeftVectorBar:"⥒",lEg:"⪋",leg:"⋚",leq:"≤",leqq:"≦",leqslant:"⩽",les:"⩽",lescc:"⪨",lesdot:"⩿",lesdoto:"⪁",lesdotor:"⪃",lesg:"⋚︀",lesges:"⪓",lessapprox:"⪅",lessdot:"⋖",lesseqgtr:"⋚",lesseqqgtr:"⪋",LessEqualGreater:"⋚",LessFullEqual:"≦",LessGreater:"≶",lessgtr:"≶",LessLess:"⪡",lesssim:"≲",LessSlantEqual:"⩽",LessTilde:"≲",lfisht:"⥼",lfloor:"⌊",Lfr:"𝔏",lfr:"𝔩",lg:"≶",lgE:"⪑",lHar:"⥢",lhard:"↽",lharu:"↼",lharul:"⥪",lhblk:"▄",LJcy:"Љ",ljcy:"љ",Ll:"⋘",ll:"≪",llarr:"⇇",llcorner:"⌞",Lleftarrow:"⇚",llhard:"⥫",lltri:"◺",Lmidot:"Ŀ",lmidot:"ŀ",lmoust:"⎰",lmoustache:"⎰",lnap:"⪉",lnapprox:"⪉",lnE:"≨",lne:"⪇",lneq:"⪇",lneqq:"≨",lnsim:"⋦",loang:"⟬",loarr:"⇽",lobrk:"⟦",LongLeftArrow:"⟵",Longleftarrow:"⟸",longleftarrow:"⟵",LongLeftRightArrow:"⟷",Longleftrightarrow:"⟺",longleftrightarrow:"⟷",longmapsto:"⟼",LongRightArrow:"⟶",Longrightarrow:"⟹",longrightarrow:"⟶",looparrowleft:"↫",looparrowright:"↬",lopar:"⦅",Lopf:"𝕃",lopf:"𝕝",loplus:"⨭",lotimes:"⨴",lowast:"∗",lowbar:"_",LowerLeftArrow:"↙",LowerRightArrow:"↘",loz:"◊",lozenge:"◊",lozf:"⧫",lpar:"(",lparlt:"⦓",lrarr:"⇆",lrcorner:"⌟",lrhar:"⇋",lrhard:"⥭",lrm:"‎",lrtri:"⊿",lsaquo:"‹",Lscr:"ℒ",lscr:"𝓁",Lsh:"↰",lsh:"↰",lsim:"≲",lsime:"⪍",lsimg:"⪏",lsqb:"[",lsquo:"‘",lsquor:"‚",Lstrok:"Ł",lstrok:"ł",Lt:"≪",LT:"<",lt:"<",ltcc:"⪦",ltcir:"⩹",ltdot:"⋖",lthree:"⋋",ltimes:"⋉",ltlarr:"⥶",ltquest:"⩻",ltri:"◃",ltrie:"⊴",ltrif:"◂",ltrPar:"⦖",lurdshar:"⥊",luruhar:"⥦",lvertneqq:"≨︀",lvnE:"≨︀",macr:"¯",male:"♂",malt:"✠",maltese:"✠",Map:"⤅",map:"↦",mapsto:"↦",mapstodown:"↧",mapstoleft:"↤",mapstoup:"↥",marker:"▮",mcomma:"⨩",Mcy:"М",mcy:"м",mdash:"—",mDDot:"∺",measuredangle:"∡",MediumSpace:" ",Mellintrf:"ℳ",Mfr:"𝔐",mfr:"𝔪",mho:"℧",micro:"µ",mid:"∣",midast:"*",midcir:"⫰",middot:"·",minus:"−",minusb:"⊟",minusd:"∸",minusdu:"⨪",MinusPlus:"∓",mlcp:"⫛",mldr:"…",mnplus:"∓",models:"⊧",Mopf:"𝕄",mopf:"𝕞",mp:"∓",Mscr:"ℳ",mscr:"𝓂",mstpos:"∾",Mu:"Μ",mu:"μ",multimap:"⊸",mumap:"⊸",nabla:"∇",Nacute:"Ń",nacute:"ń",nang:"∠⃒",nap:"≉",napE:"⩰̸",napid:"≋̸",napos:"ʼn",napprox:"≉",natur:"♮",natural:"♮",naturals:"ℕ",nbsp:" ",nbump:"≎̸",nbumpe:"≏̸",ncap:"⩃",Ncaron:"Ň",ncaron:"ň",Ncedil:"Ņ",ncedil:"ņ",ncong:"≇",ncongdot:"⩭̸",ncup:"⩂",Ncy:"Н",ncy:"н",ndash:"–",ne:"≠",nearhk:"⤤",neArr:"⇗",nearr:"↗",nearrow:"↗",nedot:"≐̸",NegativeMediumSpace:"​",NegativeThickSpace:"​",NegativeThinSpace:"​",NegativeVeryThinSpace:"​",nequiv:"≢",nesear:"⤨",nesim:"≂̸",NestedGreaterGreater:"≫",NestedLessLess:"≪",NewLine:`
10
+ `,nexist:"∄",nexists:"∄",Nfr:"𝔑",nfr:"𝔫",ngE:"≧̸",nge:"≱",ngeq:"≱",ngeqq:"≧̸",ngeqslant:"⩾̸",nges:"⩾̸",nGg:"⋙̸",ngsim:"≵",nGt:"≫⃒",ngt:"≯",ngtr:"≯",nGtv:"≫̸",nhArr:"⇎",nharr:"↮",nhpar:"⫲",ni:"∋",nis:"⋼",nisd:"⋺",niv:"∋",NJcy:"Њ",njcy:"њ",nlArr:"⇍",nlarr:"↚",nldr:"‥",nlE:"≦̸",nle:"≰",nLeftarrow:"⇍",nleftarrow:"↚",nLeftrightarrow:"⇎",nleftrightarrow:"↮",nleq:"≰",nleqq:"≦̸",nleqslant:"⩽̸",nles:"⩽̸",nless:"≮",nLl:"⋘̸",nlsim:"≴",nLt:"≪⃒",nlt:"≮",nltri:"⋪",nltrie:"⋬",nLtv:"≪̸",nmid:"∤",NoBreak:"⁠",NonBreakingSpace:" ",Nopf:"ℕ",nopf:"𝕟",Not:"⫬",not:"¬",NotCongruent:"≢",NotCupCap:"≭",NotDoubleVerticalBar:"∦",NotElement:"∉",NotEqual:"≠",NotEqualTilde:"≂̸",NotExists:"∄",NotGreater:"≯",NotGreaterEqual:"≱",NotGreaterFullEqual:"≧̸",NotGreaterGreater:"≫̸",NotGreaterLess:"≹",NotGreaterSlantEqual:"⩾̸",NotGreaterTilde:"≵",NotHumpDownHump:"≎̸",NotHumpEqual:"≏̸",notin:"∉",notindot:"⋵̸",notinE:"⋹̸",notinva:"∉",notinvb:"⋷",notinvc:"⋶",NotLeftTriangle:"⋪",NotLeftTriangleBar:"⧏̸",NotLeftTriangleEqual:"⋬",NotLess:"≮",NotLessEqual:"≰",NotLessGreater:"≸",NotLessLess:"≪̸",NotLessSlantEqual:"⩽̸",NotLessTilde:"≴",NotNestedGreaterGreater:"⪢̸",NotNestedLessLess:"⪡̸",notni:"∌",notniva:"∌",notnivb:"⋾",notnivc:"⋽",NotPrecedes:"⊀",NotPrecedesEqual:"⪯̸",NotPrecedesSlantEqual:"⋠",NotReverseElement:"∌",NotRightTriangle:"⋫",NotRightTriangleBar:"⧐̸",NotRightTriangleEqual:"⋭",NotSquareSubset:"⊏̸",NotSquareSubsetEqual:"⋢",NotSquareSuperset:"⊐̸",NotSquareSupersetEqual:"⋣",NotSubset:"⊂⃒",NotSubsetEqual:"⊈",NotSucceeds:"⊁",NotSucceedsEqual:"⪰̸",NotSucceedsSlantEqual:"⋡",NotSucceedsTilde:"≿̸",NotSuperset:"⊃⃒",NotSupersetEqual:"⊉",NotTilde:"≁",NotTildeEqual:"≄",NotTildeFullEqual:"≇",NotTildeTilde:"≉",NotVerticalBar:"∤",npar:"∦",nparallel:"∦",nparsl:"⫽⃥",npart:"∂̸",npolint:"⨔",npr:"⊀",nprcue:"⋠",npre:"⪯̸",nprec:"⊀",npreceq:"⪯̸",nrArr:"⇏",nrarr:"↛",nrarrc:"⤳̸",nrarrw:"↝̸",nRightarrow:"⇏",nrightarrow:"↛",nrtri:"⋫",nrtrie:"⋭",nsc:"⊁",nsccue:"⋡",nsce:"⪰̸",Nscr:"𝒩",nscr:"𝓃",nshortmid:"∤",nshortparallel:"∦",nsim:"≁",nsime:"≄",nsimeq:"≄",nsmid:"∤",nspar:"∦",nsqsube:"⋢",nsqsupe:"⋣",nsub:"⊄",nsubE:"⫅̸",nsube:"⊈",nsubset:"⊂⃒",nsubseteq:"⊈",nsubseteqq:"⫅̸",nsucc:"⊁",nsucceq:"⪰̸",nsup:"⊅",nsupE:"⫆̸",nsupe:"⊉",nsupset:"⊃⃒",nsupseteq:"⊉",nsupseteqq:"⫆̸",ntgl:"≹",Ntilde:"Ñ",ntilde:"ñ",ntlg:"≸",ntriangleleft:"⋪",ntrianglelefteq:"⋬",ntriangleright:"⋫",ntrianglerighteq:"⋭",Nu:"Ν",nu:"ν",num:"#",numero:"№",numsp:" ",nvap:"≍⃒",nVDash:"⊯",nVdash:"⊮",nvDash:"⊭",nvdash:"⊬",nvge:"≥⃒",nvgt:">⃒",nvHarr:"⤄",nvinfin:"⧞",nvlArr:"⤂",nvle:"≤⃒",nvlt:"<⃒",nvltrie:"⊴⃒",nvrArr:"⤃",nvrtrie:"⊵⃒",nvsim:"∼⃒",nwarhk:"⤣",nwArr:"⇖",nwarr:"↖",nwarrow:"↖",nwnear:"⤧",Oacute:"Ó",oacute:"ó",oast:"⊛",ocir:"⊚",Ocirc:"Ô",ocirc:"ô",Ocy:"О",ocy:"о",odash:"⊝",Odblac:"Ő",odblac:"ő",odiv:"⨸",odot:"⊙",odsold:"⦼",OElig:"Œ",oelig:"œ",ofcir:"⦿",Ofr:"𝔒",ofr:"𝔬",ogon:"˛",Ograve:"Ò",ograve:"ò",ogt:"⧁",ohbar:"⦵",ohm:"Ω",oint:"∮",olarr:"↺",olcir:"⦾",olcross:"⦻",oline:"‾",olt:"⧀",Omacr:"Ō",omacr:"ō",Omega:"Ω",omega:"ω",Omicron:"Ο",omicron:"ο",omid:"⦶",ominus:"⊖",Oopf:"𝕆",oopf:"𝕠",opar:"⦷",OpenCurlyDoubleQuote:"“",OpenCurlyQuote:"‘",operp:"⦹",oplus:"⊕",Or:"⩔",or:"∨",orarr:"↻",ord:"⩝",order:"ℴ",orderof:"ℴ",ordf:"ª",ordm:"º",origof:"⊶",oror:"⩖",orslope:"⩗",orv:"⩛",oS:"Ⓢ",Oscr:"𝒪",oscr:"ℴ",Oslash:"Ø",oslash:"ø",osol:"⊘",Otilde:"Õ",otilde:"õ",Otimes:"⨷",otimes:"⊗",otimesas:"⨶",Ouml:"Ö",ouml:"ö",ovbar:"⌽",OverBar:"‾",OverBrace:"⏞",OverBracket:"⎴",OverParenthesis:"⏜",par:"∥",para:"¶",parallel:"∥",parsim:"⫳",parsl:"⫽",part:"∂",PartialD:"∂",Pcy:"П",pcy:"п",percnt:"%",period:".",permil:"‰",perp:"⊥",pertenk:"‱",Pfr:"𝔓",pfr:"𝔭",Phi:"Φ",phi:"φ",phiv:"ϕ",phmmat:"ℳ",phone:"☎",Pi:"Π",pi:"π",pitchfork:"⋔",piv:"ϖ",planck:"ℏ",planckh:"ℎ",plankv:"ℏ",plus:"+",plusacir:"⨣",plusb:"⊞",pluscir:"⨢",plusdo:"∔",plusdu:"⨥",pluse:"⩲",PlusMinus:"±",plusmn:"±",plussim:"⨦",plustwo:"⨧",pm:"±",Poincareplane:"ℌ",pointint:"⨕",Popf:"ℙ",popf:"𝕡",pound:"£",Pr:"⪻",pr:"≺",prap:"⪷",prcue:"≼",prE:"⪳",pre:"⪯",prec:"≺",precapprox:"⪷",preccurlyeq:"≼",Precedes:"≺",PrecedesEqual:"⪯",PrecedesSlantEqual:"≼",PrecedesTilde:"≾",preceq:"⪯",precnapprox:"⪹",precneqq:"⪵",precnsim:"⋨",precsim:"≾",Prime:"″",prime:"′",primes:"ℙ",prnap:"⪹",prnE:"⪵",prnsim:"⋨",prod:"∏",Product:"∏",profalar:"⌮",profline:"⌒",profsurf:"⌓",prop:"∝",Proportion:"∷",Proportional:"∝",propto:"∝",prsim:"≾",prurel:"⊰",Pscr:"𝒫",pscr:"𝓅",Psi:"Ψ",psi:"ψ",puncsp:" ",Qfr:"𝔔",qfr:"𝔮",qint:"⨌",Qopf:"ℚ",qopf:"𝕢",qprime:"⁗",Qscr:"𝒬",qscr:"𝓆",quaternions:"ℍ",quatint:"⨖",quest:"?",questeq:"≟",QUOT:'"',quot:'"',rAarr:"⇛",race:"∽̱",Racute:"Ŕ",racute:"ŕ",radic:"√",raemptyv:"⦳",Rang:"⟫",rang:"⟩",rangd:"⦒",range:"⦥",rangle:"⟩",raquo:"»",Rarr:"↠",rArr:"⇒",rarr:"→",rarrap:"⥵",rarrb:"⇥",rarrbfs:"⤠",rarrc:"⤳",rarrfs:"⤞",rarrhk:"↪",rarrlp:"↬",rarrpl:"⥅",rarrsim:"⥴",Rarrtl:"⤖",rarrtl:"↣",rarrw:"↝",rAtail:"⤜",ratail:"⤚",ratio:"∶",rationals:"ℚ",RBarr:"⤐",rBarr:"⤏",rbarr:"⤍",rbbrk:"❳",rbrace:"}",rbrack:"]",rbrke:"⦌",rbrksld:"⦎",rbrkslu:"⦐",Rcaron:"Ř",rcaron:"ř",Rcedil:"Ŗ",rcedil:"ŗ",rceil:"⌉",rcub:"}",Rcy:"Р",rcy:"р",rdca:"⤷",rdldhar:"⥩",rdquo:"”",rdquor:"”",rdsh:"↳",Re:"ℜ",real:"ℜ",realine:"ℛ",realpart:"ℜ",reals:"ℝ",rect:"▭",REG:"®",reg:"®",ReverseElement:"∋",ReverseEquilibrium:"⇋",ReverseUpEquilibrium:"⥯",rfisht:"⥽",rfloor:"⌋",Rfr:"ℜ",rfr:"𝔯",rHar:"⥤",rhard:"⇁",rharu:"⇀",rharul:"⥬",Rho:"Ρ",rho:"ρ",rhov:"ϱ",RightAngleBracket:"⟩",RightArrow:"→",Rightarrow:"⇒",rightarrow:"→",RightArrowBar:"⇥",RightArrowLeftArrow:"⇄",rightarrowtail:"↣",RightCeiling:"⌉",RightDoubleBracket:"⟧",RightDownTeeVector:"⥝",RightDownVector:"⇂",RightDownVectorBar:"⥕",RightFloor:"⌋",rightharpoondown:"⇁",rightharpoonup:"⇀",rightleftarrows:"⇄",rightleftharpoons:"⇌",rightrightarrows:"⇉",rightsquigarrow:"↝",RightTee:"⊢",RightTeeArrow:"↦",RightTeeVector:"⥛",rightthreetimes:"⋌",RightTriangle:"⊳",RightTriangleBar:"⧐",RightTriangleEqual:"⊵",RightUpDownVector:"⥏",RightUpTeeVector:"⥜",RightUpVector:"↾",RightUpVectorBar:"⥔",RightVector:"⇀",RightVectorBar:"⥓",ring:"˚",risingdotseq:"≓",rlarr:"⇄",rlhar:"⇌",rlm:"‏",rmoust:"⎱",rmoustache:"⎱",rnmid:"⫮",roang:"⟭",roarr:"⇾",robrk:"⟧",ropar:"⦆",Ropf:"ℝ",ropf:"𝕣",roplus:"⨮",rotimes:"⨵",RoundImplies:"⥰",rpar:")",rpargt:"⦔",rppolint:"⨒",rrarr:"⇉",Rrightarrow:"⇛",rsaquo:"›",Rscr:"ℛ",rscr:"𝓇",Rsh:"↱",rsh:"↱",rsqb:"]",rsquo:"’",rsquor:"’",rthree:"⋌",rtimes:"⋊",rtri:"▹",rtrie:"⊵",rtrif:"▸",rtriltri:"⧎",RuleDelayed:"⧴",ruluhar:"⥨",rx:"℞",Sacute:"Ś",sacute:"ś",sbquo:"‚",Sc:"⪼",sc:"≻",scap:"⪸",Scaron:"Š",scaron:"š",sccue:"≽",scE:"⪴",sce:"⪰",Scedil:"Ş",scedil:"ş",Scirc:"Ŝ",scirc:"ŝ",scnap:"⪺",scnE:"⪶",scnsim:"⋩",scpolint:"⨓",scsim:"≿",Scy:"С",scy:"с",sdot:"⋅",sdotb:"⊡",sdote:"⩦",searhk:"⤥",seArr:"⇘",searr:"↘",searrow:"↘",sect:"§",semi:";",seswar:"⤩",setminus:"∖",setmn:"∖",sext:"✶",Sfr:"𝔖",sfr:"𝔰",sfrown:"⌢",sharp:"♯",SHCHcy:"Щ",shchcy:"щ",SHcy:"Ш",shcy:"ш",ShortDownArrow:"↓",ShortLeftArrow:"←",shortmid:"∣",shortparallel:"∥",ShortRightArrow:"→",ShortUpArrow:"↑",shy:"­",Sigma:"Σ",sigma:"σ",sigmaf:"ς",sigmav:"ς",sim:"∼",simdot:"⩪",sime:"≃",simeq:"≃",simg:"⪞",simgE:"⪠",siml:"⪝",simlE:"⪟",simne:"≆",simplus:"⨤",simrarr:"⥲",slarr:"←",SmallCircle:"∘",smallsetminus:"∖",smashp:"⨳",smeparsl:"⧤",smid:"∣",smile:"⌣",smt:"⪪",smte:"⪬",smtes:"⪬︀",SOFTcy:"Ь",softcy:"ь",sol:"/",solb:"⧄",solbar:"⌿",Sopf:"𝕊",sopf:"𝕤",spades:"♠",spadesuit:"♠",spar:"∥",sqcap:"⊓",sqcaps:"⊓︀",sqcup:"⊔",sqcups:"⊔︀",Sqrt:"√",sqsub:"⊏",sqsube:"⊑",sqsubset:"⊏",sqsubseteq:"⊑",sqsup:"⊐",sqsupe:"⊒",sqsupset:"⊐",sqsupseteq:"⊒",squ:"□",Square:"□",square:"□",SquareIntersection:"⊓",SquareSubset:"⊏",SquareSubsetEqual:"⊑",SquareSuperset:"⊐",SquareSupersetEqual:"⊒",SquareUnion:"⊔",squarf:"▪",squf:"▪",srarr:"→",Sscr:"𝒮",sscr:"𝓈",ssetmn:"∖",ssmile:"⌣",sstarf:"⋆",Star:"⋆",star:"☆",starf:"★",straightepsilon:"ϵ",straightphi:"ϕ",strns:"¯",Sub:"⋐",sub:"⊂",subdot:"⪽",subE:"⫅",sube:"⊆",subedot:"⫃",submult:"⫁",subnE:"⫋",subne:"⊊",subplus:"⪿",subrarr:"⥹",Subset:"⋐",subset:"⊂",subseteq:"⊆",subseteqq:"⫅",SubsetEqual:"⊆",subsetneq:"⊊",subsetneqq:"⫋",subsim:"⫇",subsub:"⫕",subsup:"⫓",succ:"≻",succapprox:"⪸",succcurlyeq:"≽",Succeeds:"≻",SucceedsEqual:"⪰",SucceedsSlantEqual:"≽",SucceedsTilde:"≿",succeq:"⪰",succnapprox:"⪺",succneqq:"⪶",succnsim:"⋩",succsim:"≿",SuchThat:"∋",Sum:"∑",sum:"∑",sung:"♪",Sup:"⋑",sup:"⊃",sup1:"¹",sup2:"²",sup3:"³",supdot:"⪾",supdsub:"⫘",supE:"⫆",supe:"⊇",supedot:"⫄",Superset:"⊃",SupersetEqual:"⊇",suphsol:"⟉",suphsub:"⫗",suplarr:"⥻",supmult:"⫂",supnE:"⫌",supne:"⊋",supplus:"⫀",Supset:"⋑",supset:"⊃",supseteq:"⊇",supseteqq:"⫆",supsetneq:"⊋",supsetneqq:"⫌",supsim:"⫈",supsub:"⫔",supsup:"⫖",swarhk:"⤦",swArr:"⇙",swarr:"↙",swarrow:"↙",swnwar:"⤪",szlig:"ß",Tab:" ",target:"⌖",Tau:"Τ",tau:"τ",tbrk:"⎴",Tcaron:"Ť",tcaron:"ť",Tcedil:"Ţ",tcedil:"ţ",Tcy:"Т",tcy:"т",tdot:"⃛",telrec:"⌕",Tfr:"𝔗",tfr:"𝔱",there4:"∴",Therefore:"∴",therefore:"∴",Theta:"Θ",theta:"θ",thetasym:"ϑ",thetav:"ϑ",thickapprox:"≈",thicksim:"∼",ThickSpace:"  ",thinsp:" ",ThinSpace:" ",thkap:"≈",thksim:"∼",THORN:"Þ",thorn:"þ",Tilde:"∼",tilde:"˜",TildeEqual:"≃",TildeFullEqual:"≅",TildeTilde:"≈",times:"×",timesb:"⊠",timesbar:"⨱",timesd:"⨰",tint:"∭",toea:"⤨",top:"⊤",topbot:"⌶",topcir:"⫱",Topf:"𝕋",topf:"𝕥",topfork:"⫚",tosa:"⤩",tprime:"‴",TRADE:"™",trade:"™",triangle:"▵",triangledown:"▿",triangleleft:"◃",trianglelefteq:"⊴",triangleq:"≜",triangleright:"▹",trianglerighteq:"⊵",tridot:"◬",trie:"≜",triminus:"⨺",TripleDot:"⃛",triplus:"⨹",trisb:"⧍",tritime:"⨻",trpezium:"⏢",Tscr:"𝒯",tscr:"𝓉",TScy:"Ц",tscy:"ц",TSHcy:"Ћ",tshcy:"ћ",Tstrok:"Ŧ",tstrok:"ŧ",twixt:"≬",twoheadleftarrow:"↞",twoheadrightarrow:"↠",Uacute:"Ú",uacute:"ú",Uarr:"↟",uArr:"⇑",uarr:"↑",Uarrocir:"⥉",Ubrcy:"Ў",ubrcy:"ў",Ubreve:"Ŭ",ubreve:"ŭ",Ucirc:"Û",ucirc:"û",Ucy:"У",ucy:"у",udarr:"⇅",Udblac:"Ű",udblac:"ű",udhar:"⥮",ufisht:"⥾",Ufr:"𝔘",ufr:"𝔲",Ugrave:"Ù",ugrave:"ù",uHar:"⥣",uharl:"↿",uharr:"↾",uhblk:"▀",ulcorn:"⌜",ulcorner:"⌜",ulcrop:"⌏",ultri:"◸",Umacr:"Ū",umacr:"ū",uml:"¨",UnderBar:"_",UnderBrace:"⏟",UnderBracket:"⎵",UnderParenthesis:"⏝",Union:"⋃",UnionPlus:"⊎",Uogon:"Ų",uogon:"ų",Uopf:"𝕌",uopf:"𝕦",UpArrow:"↑",Uparrow:"⇑",uparrow:"↑",UpArrowBar:"⤒",UpArrowDownArrow:"⇅",UpDownArrow:"↕",Updownarrow:"⇕",updownarrow:"↕",UpEquilibrium:"⥮",upharpoonleft:"↿",upharpoonright:"↾",uplus:"⊎",UpperLeftArrow:"↖",UpperRightArrow:"↗",Upsi:"ϒ",upsi:"υ",upsih:"ϒ",Upsilon:"Υ",upsilon:"υ",UpTee:"⊥",UpTeeArrow:"↥",upuparrows:"⇈",urcorn:"⌝",urcorner:"⌝",urcrop:"⌎",Uring:"Ů",uring:"ů",urtri:"◹",Uscr:"𝒰",uscr:"𝓊",utdot:"⋰",Utilde:"Ũ",utilde:"ũ",utri:"▵",utrif:"▴",uuarr:"⇈",Uuml:"Ü",uuml:"ü",uwangle:"⦧",vangrt:"⦜",varepsilon:"ϵ",varkappa:"ϰ",varnothing:"∅",varphi:"ϕ",varpi:"ϖ",varpropto:"∝",vArr:"⇕",varr:"↕",varrho:"ϱ",varsigma:"ς",varsubsetneq:"⊊︀",varsubsetneqq:"⫋︀",varsupsetneq:"⊋︀",varsupsetneqq:"⫌︀",vartheta:"ϑ",vartriangleleft:"⊲",vartriangleright:"⊳",Vbar:"⫫",vBar:"⫨",vBarv:"⫩",Vcy:"В",vcy:"в",VDash:"⊫",Vdash:"⊩",vDash:"⊨",vdash:"⊢",Vdashl:"⫦",Vee:"⋁",vee:"∨",veebar:"⊻",veeeq:"≚",vellip:"⋮",Verbar:"‖",verbar:"|",Vert:"‖",vert:"|",VerticalBar:"∣",VerticalLine:"|",VerticalSeparator:"❘",VerticalTilde:"≀",VeryThinSpace:" ",Vfr:"𝔙",vfr:"𝔳",vltri:"⊲",vnsub:"⊂⃒",vnsup:"⊃⃒",Vopf:"𝕍",vopf:"𝕧",vprop:"∝",vrtri:"⊳",Vscr:"𝒱",vscr:"𝓋",vsubnE:"⫋︀",vsubne:"⊊︀",vsupnE:"⫌︀",vsupne:"⊋︀",Vvdash:"⊪",vzigzag:"⦚",Wcirc:"Ŵ",wcirc:"ŵ",wedbar:"⩟",Wedge:"⋀",wedge:"∧",wedgeq:"≙",weierp:"℘",Wfr:"𝔚",wfr:"𝔴",Wopf:"𝕎",wopf:"𝕨",wp:"℘",wr:"≀",wreath:"≀",Wscr:"𝒲",wscr:"𝓌",xcap:"⋂",xcirc:"◯",xcup:"⋃",xdtri:"▽",Xfr:"𝔛",xfr:"𝔵",xhArr:"⟺",xharr:"⟷",Xi:"Ξ",xi:"ξ",xlArr:"⟸",xlarr:"⟵",xmap:"⟼",xnis:"⋻",xodot:"⨀",Xopf:"𝕏",xopf:"𝕩",xoplus:"⨁",xotime:"⨂",xrArr:"⟹",xrarr:"⟶",Xscr:"𝒳",xscr:"𝓍",xsqcup:"⨆",xuplus:"⨄",xutri:"△",xvee:"⋁",xwedge:"⋀",Yacute:"Ý",yacute:"ý",YAcy:"Я",yacy:"я",Ycirc:"Ŷ",ycirc:"ŷ",Ycy:"Ы",ycy:"ы",yen:"¥",Yfr:"𝔜",yfr:"𝔶",YIcy:"Ї",yicy:"ї",Yopf:"𝕐",yopf:"𝕪",Yscr:"𝒴",yscr:"𝓎",YUcy:"Ю",yucy:"ю",Yuml:"Ÿ",yuml:"ÿ",Zacute:"Ź",zacute:"ź",Zcaron:"Ž",zcaron:"ž",Zcy:"З",zcy:"з",Zdot:"Ż",zdot:"ż",zeetrf:"ℨ",ZeroWidthSpace:"​",Zeta:"Ζ",zeta:"ζ",Zfr:"ℨ",zfr:"𝔷",ZHcy:"Ж",zhcy:"ж",zigrarr:"⇝",Zopf:"ℤ",zopf:"𝕫",Zscr:"𝒵",zscr:"𝓏",zwj:"‍",zwnj:"‌"}),E.entityMap=E.HTML_ENTITIES}(Jt)),Jt}var bt={},HE;function wn(){if(HE)return bt;HE=1;var E=Ht().NAMESPACE,t=/[A-Z_a-z\xC0-\xD6\xD8-\xF6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]/,r=new RegExp("[\\-\\.0-9"+t.source.slice(1,-1)+"\\u00B7\\u0300-\\u036F\\u203F-\\u2040]"),n=new RegExp("^"+t.source+r.source+"*(?::"+t.source+r.source+"*)?$"),s=0,a=1,A=2,c=3,I=4,i=5,O=6,C=7;function p(U,v){this.message=U,this.locator=v,Error.captureStackTrace&&Error.captureStackTrace(this,p)}p.prototype=new Error,p.prototype.name=p.name;function g(){}g.prototype={parse:function(U,v,te){var Ee=this.domBuilder;Ee.startDocument(),De(v,v={}),B(U,v,te,Ee,this.errorHandler),Ee.endDocument()}};function B(U,v,te,Ee,Q){function Ce(H){if(H>65535){H-=65536;var V=55296+(H>>10),ve=56320+(H&1023);return String.fromCharCode(V,ve)}else return String.fromCharCode(H)}function _e(H){var V=H.slice(1,-1);return Object.hasOwnProperty.call(te,V)?te[V]:V.charAt(0)==="#"?Ce(parseInt(V.substr(1).replace("x","0x"))):(Q.error("entity not found:"+H),H)}function pe(H){if(H>m){var V=U.substring(m,H).replace(/&#?\w+;/g,_e);oe&&b(m),Ee.characters(V,0,H-m),m=H}}function b(H,V){for(;H>=Ie&&(V=me.exec(U));)j=V.index,Ie=j+V[0].length,oe.lineNumber++;oe.columnNumber=H-j+1}for(var j=0,Ie=0,me=/.*(?:\r\n?|\n)|.*$/g,oe=Ee.locator,w=[{currentNSMap:v}],P={},m=0;;){try{var h=U.indexOf("<",m);if(h<0){if(!U.substr(m).match(/^\s*$/)){var y=Ee.doc,$=y.createTextNode(U.substr(m));y.appendChild($),Ee.currentElement=$}return}switch(h>m&&pe(h),U.charAt(h+1)){case"/":var ge=U.indexOf(">",h+3),M=U.substring(h+2,ge).replace(/[ \t\n\r]+$/g,""),z=w.pop();ge<0?(M=U.substring(h+2).replace(/[\s<].*/,""),Q.error("end tag name: "+M+" is not complete:"+z.tagName),ge=h+1+M.length):M.match(/\s</)&&(M=M.replace(/[\s<].*/,""),Q.error("end tag name: "+M+" maybe not complete"),ge=h+1+M.length);var re=z.localNSMap,Ae=z.tagName==M,le=Ae||z.tagName&&z.tagName.toLowerCase()==M.toLowerCase();if(le){if(Ee.endElement(z.uri,z.localName,M),re)for(var Ue in re)Object.prototype.hasOwnProperty.call(re,Ue)&&Ee.endPrefixMapping(Ue);Ae||Q.fatalError("end tag name: "+M+" is not match the current start tagName:"+z.tagName)}else w.push(z);ge++;break;case"?":oe&&b(h),ge=W(U,h,Ee);break;case"!":oe&&b(h),ge=ce(U,h,Ee,Q);break;default:oe&&b(h);var Se=new u,q=w[w.length-1].currentNSMap,ge=d(U,h,Se,q,_e,Q),_=Se.length;if(!Se.closed&&Z(U,ge,Se.tagName,P)&&(Se.closed=!0,te.nbsp||Q.warning("unclosed xml attribute")),oe&&_){for(var se=Y(oe,{}),Be=0;Be<_;Be++){var de=Se[Be];b(de.offset),de.locator=Y(oe,{})}Ee.locator=se,k(Se,Ee,q)&&w.push(Se),Ee.locator=oe}else k(Se,Ee,q)&&w.push(Se);E.isHTML(Se.uri)&&!Se.closed?ge=J(U,ge,Se.tagName,_e,Ee):ge++}}catch(H){if(H instanceof p)throw H;Q.error("element parse error: "+H),ge=-1}ge>m?m=ge:pe(Math.max(h,m)+1)}}function Y(U,v){return v.lineNumber=U.lineNumber,v.columnNumber=U.columnNumber,v}function d(U,v,te,Ee,Q,Ce){function _e(oe,w,P){te.attributeNames.hasOwnProperty(oe)&&Ce.fatalError("Attribute "+oe+" redefined"),te.addValue(oe,w.replace(/[\t\n\r]/g," ").replace(/&#?\w+;/g,Q),P)}for(var pe,b,j=++v,Ie=s;;){var me=U.charAt(j);switch(me){case"=":if(Ie===a)pe=U.slice(v,j),Ie=c;else if(Ie===A)Ie=c;else throw new Error("attribute equal must after attrName");break;case"'":case'"':if(Ie===c||Ie===a)if(Ie===a&&(Ce.warning('attribute value must after "="'),pe=U.slice(v,j)),v=j+1,j=U.indexOf(me,v),j>0)b=U.slice(v,j),_e(pe,b,v-1),Ie=i;else throw new Error("attribute value no end '"+me+"' match");else if(Ie==I)b=U.slice(v,j),_e(pe,b,v),Ce.warning('attribute "'+pe+'" missed start quot('+me+")!!"),v=j+1,Ie=i;else throw new Error('attribute value must after "="');break;case"/":switch(Ie){case s:te.setTagName(U.slice(v,j));case i:case O:case C:Ie=C,te.closed=!0;case I:case a:break;case A:te.closed=!0;break;default:throw new Error("attribute invalid close char('/')")}break;case"":return Ce.error("unexpected end of input"),Ie==s&&te.setTagName(U.slice(v,j)),j;case">":switch(Ie){case s:te.setTagName(U.slice(v,j));case i:case O:case C:break;case I:case a:b=U.slice(v,j),b.slice(-1)==="/"&&(te.closed=!0,b=b.slice(0,-1));case A:Ie===A&&(b=pe),Ie==I?(Ce.warning('attribute "'+b+'" missed quot(")!'),_e(pe,b,v)):((!E.isHTML(Ee[""])||!b.match(/^(?:disabled|checked|selected)$/i))&&Ce.warning('attribute "'+b+'" missed value!! "'+b+'" instead!!'),_e(b,b,v));break;case c:throw new Error("attribute value missed!!")}return j;case"€":me=" ";default:if(me<=" ")switch(Ie){case s:te.setTagName(U.slice(v,j)),Ie=O;break;case a:pe=U.slice(v,j),Ie=A;break;case I:var b=U.slice(v,j);Ce.warning('attribute "'+b+'" missed quot(")!!'),_e(pe,b,v);case i:Ie=O;break}else switch(Ie){case A:te.tagName,(!E.isHTML(Ee[""])||!pe.match(/^(?:disabled|checked|selected)$/i))&&Ce.warning('attribute "'+pe+'" missed value!! "'+pe+'" instead2!!'),_e(pe,pe,v),v=j,Ie=a;break;case i:Ce.warning('attribute space is required"'+pe+'"!!');case O:Ie=a,v=j;break;case c:Ie=I,v=j;break;case C:throw new Error("elements closed character '/' and '>' must be connected to")}}j++}}function k(U,v,te){for(var Ee=U.tagName,Q=null,me=U.length;me--;){var Ce=U[me],_e=Ce.qName,pe=Ce.value,oe=_e.indexOf(":");if(oe>0)var b=Ce.prefix=_e.slice(0,oe),j=_e.slice(oe+1),Ie=b==="xmlns"&&j;else j=_e,b=null,Ie=_e==="xmlns"&&"";Ce.localName=j,Ie!==!1&&(Q==null&&(Q={},De(te,te={})),te[Ie]=Q[Ie]=pe,Ce.uri=E.XMLNS,v.startPrefixMapping(Ie,pe))}for(var me=U.length;me--;){Ce=U[me];var b=Ce.prefix;b&&(b==="xml"&&(Ce.uri=E.XML),b!=="xmlns"&&(Ce.uri=te[b||""]))}var oe=Ee.indexOf(":");oe>0?(b=U.prefix=Ee.slice(0,oe),j=U.localName=Ee.slice(oe+1)):(b=null,j=U.localName=Ee);var w=U.uri=te[b||""];if(v.startElement(w,j,Ee,U),U.closed){if(v.endElement(w,j,Ee),Q)for(b in Q)Object.prototype.hasOwnProperty.call(Q,b)&&v.endPrefixMapping(b)}else return U.currentNSMap=te,U.localNSMap=Q,!0}function J(U,v,te,Ee,Q){if(/^(?:script|textarea)$/i.test(te)){var Ce=U.indexOf("</"+te+">",v),_e=U.substring(v+1,Ce);if(/[&<]/.test(_e))return/^script$/i.test(te)?(Q.characters(_e,0,_e.length),Ce):(_e=_e.replace(/&#?\w+;/g,Ee),Q.characters(_e,0,_e.length),Ce)}return v+1}function Z(U,v,te,Ee){var Q=Ee[te];return Q==null&&(Q=U.lastIndexOf("</"+te+">"),Q<v&&(Q=U.lastIndexOf("</"+te)),Ee[te]=Q),Q<v}function De(U,v){for(var te in U)Object.prototype.hasOwnProperty.call(U,te)&&(v[te]=U[te])}function ce(U,v,te,Ee){var Q=U.charAt(v+2);switch(Q){case"-":if(U.charAt(v+3)==="-"){var Ce=U.indexOf("-->",v+4);return Ce>v?(te.comment(U,v+4,Ce-v-4),Ce+3):(Ee.error("Unclosed comment"),-1)}else return-1;default:if(U.substr(v+3,6)=="CDATA["){var Ce=U.indexOf("]]>",v+9);return te.startCDATA(),te.characters(U,v+9,Ce-v-9),te.endCDATA(),Ce+3}var _e=ee(U,v),pe=_e.length;if(pe>1&&/!doctype/i.test(_e[0][0])){var b=_e[1][0],j=!1,Ie=!1;pe>3&&(/^public$/i.test(_e[2][0])?(j=_e[3][0],Ie=pe>4&&_e[4][0]):/^system$/i.test(_e[2][0])&&(Ie=_e[3][0]));var me=_e[pe-1];return te.startDTD(b,j,Ie),te.endDTD(),me.index+me[0].length}}return-1}function W(U,v,te){var Ee=U.indexOf("?>",v);if(Ee){var Q=U.substring(v,Ee).match(/^<\?(\S*)\s*([\s\S]*?)\s*$/);return Q?(Q[0].length,te.processingInstruction(Q[1],Q[2]),Ee+2):-1}return-1}function u(){this.attributeNames={}}u.prototype={setTagName:function(U){if(!n.test(U))throw new Error("invalid tagName:"+U);this.tagName=U},addValue:function(U,v,te){if(!n.test(U))throw new Error("invalid attribute:"+U);this.attributeNames[U]=this.length,this[this.length++]={qName:U,value:v,offset:te}},length:0,getLocalName:function(U){return this[U].localName},getLocator:function(U){return this[U].locator},getQName:function(U){return this[U].qName},getURI:function(U){return this[U].uri},getValue:function(U){return this[U].value}};function ee(U,v){var te,Ee=[],Q=/'[^']+'|"[^"]+"|[^\s<>\/=]+=?|(\/?\s*>|<)/g;for(Q.lastIndex=v,Q.exec(U);te=Q.exec(U);)if(Ee.push(te),te[1])return Ee}return bt.XMLReader=g,bt.ParseError=p,bt}var bE;function Wn(){if(bE)return mt;bE=1;var E=Ht(),t=GE(),r=vn(),n=wn(),s=t.DOMImplementation,a=E.NAMESPACE,A=n.ParseError,c=n.XMLReader;function I(d){return d.replace(/\r[\n\u0085]/g,`
11
11
  `).replace(/[\r\u0085\u2028]/g,`
12
- `)}function A(U){this.options=U||{locator:{}}}A.prototype.parseFromString=function(U,j){var te=this.options,ee=new l,pe=te.domBuilder||new C,Le=te.errorHandler,W=te.locator,D=te.xmlns||{},Ae=/\/x?html?$/.test(j),H=Ae?r.HTML_ENTITIES:r.XML_ENTITIES;W&&pe.setDocumentLocator(W),ee.errorHandler=O(Le,pe,W),ee.domBuilder=te.domBuilder||pe,Ae&&(D[""]=a.HTML),D.xml=D.xml||a.XML;var g=te.normalizeLineEndings||N;return U&&typeof U=="string"?ee.parse(g(U),D,H):ee.errorHandler.error("invalid doc source"),pe.doc};function O(U,j,te){if(!U){if(j instanceof C)return j;U=j}var ee={},pe=U instanceof Function;te=te||{};function Le(W){var D=U[W];!D&&pe&&(D=U.length==2?function(Ae){U(W,Ae)}:U),ee[W]=D&&function(Ae){D("[xmldom "+W+"] "+Ae+M(te))}||function(){}}return Le("warning"),Le("error"),Le("fatalError"),ee}function C(){this.cdata=!1}function d(U,j){j.lineNumber=U.lineNumber,j.columnNumber=U.columnNumber}C.prototype={startDocument:function(){this.doc=new T().createDocument(null,null,null),this.locator&&(this.doc.documentURI=this.locator.systemId)},startElement:function(U,j,te,ee){var pe=this.doc,Le=pe.createElementNS(U,te||j),W=ee.length;Z(this,Le),this.currentElement=Le,this.locator&&d(this.locator,Le);for(var D=0;D<W;D++){var U=ee.getURI(D),Ae=ee.getValue(D),te=ee.getQName(D),H=pe.createAttributeNS(U,te);this.locator&&d(ee.getLocator(D),H),H.value=H.nodeValue=Ae,Le.setAttributeNode(H)}},endElement:function(U,j,te){var ee=this.currentElement;ee.tagName,this.currentElement=ee.parentNode},startPrefixMapping:function(U,j){},endPrefixMapping:function(U){},processingInstruction:function(U,j){var te=this.doc.createProcessingInstruction(U,j);this.locator&&d(this.locator,te),Z(this,te)},ignorableWhitespace:function(U,j,te){},characters:function(U,j,te){if(U=b.apply(this,arguments),U){if(this.cdata)var ee=this.doc.createCDATASection(U);else var ee=this.doc.createTextNode(U);this.currentElement?this.currentElement.appendChild(ee):/^\s*$/.test(U)&&this.doc.appendChild(ee),this.locator&&d(this.locator,ee)}},skippedEntity:function(U){},endDocument:function(){this.doc.normalize()},setDocumentLocator:function(U){(this.locator=U)&&(U.lineNumber=0)},comment:function(U,j,te){U=b.apply(this,arguments);var ee=this.doc.createComment(U);this.locator&&d(this.locator,ee),Z(this,ee)},startCDATA:function(){this.cdata=!0},endCDATA:function(){this.cdata=!1},startDTD:function(U,j,te){var ee=this.doc.implementation;if(ee&&ee.createDocumentType){var pe=ee.createDocumentType(U,j,te);this.locator&&d(this.locator,pe),Z(this,pe),this.doc.doctype=pe}},warning:function(U){console.warn("[xmldom warning] "+U,M(this.locator))},error:function(U){console.error("[xmldom error] "+U,M(this.locator))},fatalError:function(U){throw new i(U,this.locator)}};function M(U){if(U)return`
13
- @`+(U.systemId||"")+"#[line:"+U.lineNumber+",col:"+U.columnNumber+"]"}function b(U,j,te){return typeof U=="string"?U.substr(j,te):U.length>=j+te||j?new java.lang.String(U,j,te)+"":U}"endDTD,startEntity,endEntity,attributeDecl,elementDecl,externalEntityDecl,internalEntityDecl,resolveEntity,getExternalSubset,notationDecl,unparsedEntityDecl".replace(/\w+/g,function(U){C.prototype[U]=function(){return null}});function Z(U,j){U.currentElement?U.currentElement.appendChild(j):U.doc.appendChild(j)}return mt.__DOMHandler=C,mt.normalizeLineEndings=N,mt.DOMParser=A,mt}var YE;function Wn(){if(YE)return Ut;YE=1;var E=GE();return Ut.DOMImplementation=E.DOMImplementation,Ut.XMLSerializer=E.XMLSerializer,Ut.DOMParser=wn().DOMParser,Ut}var xE=Wn();const Xn={key:0,class:"xml-node__comment"},Kn={key:1,class:"xml-node__cdata"},kn={key:2,class:"xml-node__element"},$n={key:0,class:"xml-node__line"},qn=["contenteditable","onKeydown"],Jn=["contenteditable","onDblclick","onKeydown"],Qn=["contenteditable","onDblclick","onKeydown"],Zn=["contenteditable","onKeydown"],jn={key:1,class:"xml-node__line"},zn=["contenteditable","onKeydown"],es=["contenteditable","onDblclick","onKeydown"],ts=["contenteditable","onDblclick","onKeydown"],Es=["contenteditable","onKeydown"],rs={key:2,class:"xml-node__line"},ns=["contenteditable","onKeydown"],ss=["contenteditable","onDblclick","onKeydown"],Ts=["contenteditable","onDblclick","onKeydown"],os={key:3,class:"xml-node__line"},as=["contenteditable","onKeydown"],As=["contenteditable","onDblclick","onKeydown"],is=["contenteditable","onDblclick","onKeydown"],Rs={key:4},Ss={key:0,class:"xml-node__line"},Ns=["contenteditable","onKeydown"],Is=["contenteditable","onDblclick","onKeydown"],Os=["contenteditable","onDblclick","onKeydown"],us=["title"],ls={class:"xml-node__line"},Cs=["title"],cs=["contenteditable","onKeydown"],_s={key:1},Ls=["contenteditable","onKeydown"],Ds=["contenteditable","onDblclick","onKeydown"],ps=["contenteditable","onDblclick","onKeydown"],ds=["title"],Ps={key:0,class:"xml-node__children"},fs={key:0,class:"xml-node__text"},hs=["contenteditable","onKeydown"],Ms={key:1,class:"xml-node__line"},Us=Mt(o.defineComponent({__name:"XmlNode",props:{node:{},index:{},level:{default:0},parentPath:{default:""},expanded:{},theme:{},selfClosingTags:{default:()=>new Set}},emits:["toggle-expand","copy","update:tagName","update:attributeName","update:attributeValue","update:textContent","update:cdataContent"],setup(E,{emit:t}){o.useCssVars(c=>({"451d9899":c.theme.colors.collapsedText,"6296679a":c.theme.colors.collapsedBackground,cd71bc7c:c.theme.colors.collapsedBackgroundHover,"30a02a6b":c.theme.colors.indentLine}));const r=E,n=t,T=o.ref(!1),a=o.ref(null),i=o.ref(null),l=o.ref(!1),N=o.ref(!1),A=o.ref(""),O=o.ref(""),C=o.ref(""),d=o.ref(""),M=o.ref(""),b=o.ref(null),Z=o.ref(null),U=o.ref(null),j=o.ref(null),te=o.ref(null),ee=o.computed(()=>Object.keys(r.node).find(ne=>!ne.startsWith(":")&&!ne.startsWith("#"))||""),pe=o.computed(()=>ee.value?r.parentPath?`${r.parentPath}.${ee.value}[${r.index}]`:`${ee.value}[${r.index}]`:""),Le=o.computed(()=>r.expanded.has(pe.value)),W=o.computed(()=>r.node["#comment"]?"comment":r.node.__cdata?"cdata":ee.value?"element":"unknown"),D=o.computed(()=>{const c=r.node[":@"]||{},ne={};return Object.keys(c).forEach(Be=>{Be.startsWith("@_")&&(ne[Be.substring(2)]=c[Be])}),ne}),Ae=o.computed(()=>{if(W.value!=="element"||!ee.value)return[];const c=r.node[ee.value];return Array.isArray(c)?c:[]}),H=o.computed(()=>Ae.value.some(c=>c.__cdata)),g=o.computed(()=>{if(!H.value)return"";const c=Ae.value.find(ne=>ne.__cdata);if(c&&Array.isArray(c.__cdata)){const ne=c.__cdata;if(ne.length>0&&ne[0]["#text"])return ne[0]["#text"]}return""}),J=o.computed(()=>{if(W.value!=="element"||!ee.value||H.value)return"";const c=r.node[ee.value];if(!Array.isArray(c))return"";const ne=c.find(Be=>Be["#text"]);return ne?ne["#text"]:""}),K=o.computed(()=>{if(W.value!=="comment")return"";const c=r.node["#comment"];return Array.isArray(c)&&c.length>0&&c[0]["#text"]||""}),k=o.computed(()=>Ae.value.some(c=>Object.keys(c).some(Be=>!Be.startsWith("#")&&!Be.startsWith(":")))),ae=o.computed(()=>k.value?Ae.value.filter(c=>Object.keys(c).some(Be=>!Be.startsWith("#")&&!Be.startsWith(":"))).length:0),ce=o.computed(()=>W.value==="element"&&!k.value&&J.value!==""),De=o.computed(()=>W.value==="element"&&!k.value&&J.value===""),Y=o.computed(()=>De.value?r.node[":selfClosing"]===!0:!1),Q=()=>{k.value&&n("toggle-expand",pe.value)},Oe=(c,ne)=>`${pe.value}-child-${ne}`,me=()=>`${pe.value}.${ee.value}`,Te=()=>{T.value=!0,A.value=ee.value,o.nextTick(()=>{if(b.value){b.value.focus();const c=document.createRange();c.selectNodeContents(b.value);const ne=window.getSelection();ne?.removeAllRanges(),ne?.addRange(c)}})},v=c=>{a.value=c,O.value=c,o.nextTick(()=>{if(Z.value){Z.value.focus();const ne=document.createRange();ne.selectNodeContents(Z.value);const Be=window.getSelection();Be?.removeAllRanges(),Be?.addRange(ne)}})},p=c=>{i.value=c,C.value=D.value[c]||"",o.nextTick(()=>{if(U.value){U.value.focus();const ne=document.createRange();ne.selectNodeContents(U.value);const Be=window.getSelection();Be?.removeAllRanges(),Be?.addRange(ne)}})},m=()=>{l.value=!0,d.value=J.value,o.nextTick(()=>{if(j.value){j.value.focus();const c=document.createRange();c.selectNodeContents(j.value);const ne=window.getSelection();ne?.removeAllRanges(),ne?.addRange(c)}})},f=()=>{if(!T.value)return;const c=b.value?.innerText.trim()||"";if(!c||c===ee.value){T.value=!1;return}T.value=!1,n("update:tagName",pe.value,ee.value,c)},B=()=>{if(!a.value)return;const c=a.value,ne=Z.value?.innerText.trim()||"";if(!ne||ne===c){a.value=null;return}a.value=null,n("update:attributeName",pe.value,c,ne)},$=()=>{if(!i.value)return;const c=i.value,ne=U.value?.innerText.trim()||"";i.value=null,n("update:attributeValue",pe.value,c,ne)},h=()=>{if(!l.value)return;const c=j.value?.innerText||"";if(c===J.value){l.value=!1;return}l.value=!1,n("update:textContent",pe.value,c)},z=()=>{T.value=!1,A.value=ee.value},Ee=()=>{a.value&&(O.value=a.value,a.value=null)},Re=()=>{i.value&&(C.value=D.value[i.value]||"",i.value=null)},le=()=>{l.value=!1,d.value=J.value},Ue=()=>{N.value=!0,M.value=g.value,o.nextTick(()=>{if(te.value){te.value.focus();const c=document.createRange();c.selectNodeContents(te.value);const ne=window.getSelection();ne?.removeAllRanges(),ne?.addRange(c)}})},Ne=()=>{if(!N.value)return;const c=te.value?.innerText||"";if(c===g.value){N.value=!1;return}N.value=!1,n("update:cdataContent",pe.value,c)},q=()=>{N.value=!1,M.value=g.value},ge=c=>{k.value&&(c.preventDefault(),Te())};return(c,ne)=>{const Be=o.resolveComponent("XmlNode",!0);return o.openBlock(),o.createElementBlock("div",{class:"xml-node",style:o.normalizeStyle({paddingLeft:c.level>0?"16px":"0"})},[W.value==="comment"?(o.openBlock(),o.createElementBlock("div",Xn,[o.createElementVNode("span",{style:o.normalizeStyle({color:c.theme.colors.xmlComment})}," <!-- "+o.toDisplayString(K.value)+" --> ",5)])):W.value==="cdata"?(o.openBlock(),o.createElementBlock("div",Kn,[o.createElementVNode("span",{style:o.normalizeStyle({color:c.theme.colors.xmlCdata})}," <![CDATA["+o.toDisplayString(c.node.__cdata)+"]]> ",5)])):W.value==="element"?(o.openBlock(),o.createElementBlock("div",kn,[H.value?(o.openBlock(),o.createElementBlock("div",$n,[o.createElementVNode("span",{class:"xml-node__bracket",style:o.normalizeStyle({color:c.theme.colors.xmlBracket})},"<",4),o.createElementVNode("span",{class:"xml-node__tag xml-node__tag--editable",style:o.normalizeStyle({color:c.theme.colors.xmlTag}),contenteditable:T.value,onDblclick:Te,onContextmenu:ge,onKeydown:[o.withKeys(o.withModifiers(f,["prevent"]),["enter"]),o.withKeys(z,["escape"])],onBlur:f,ref_key:"tagNameRef",ref:b,title:"Double-click to edit tag name"},o.toDisplayString(T.value?A.value:ee.value),45,qn),(o.openBlock(!0),o.createElementBlock(o.Fragment,null,o.renderList(D.value,(de,F)=>(o.openBlock(),o.createElementBlock("span",{key:F,class:"xml-node__attribute"},[o.createElementVNode("span",{class:"xml-node__attr-name xml-node__attr-name--editable",style:o.normalizeStyle({color:c.theme.colors.xmlAttribute}),contenteditable:a.value===F,onDblclick:V=>v(F),onKeydown:[o.withKeys(o.withModifiers(B,["prevent"]),["enter"]),o.withKeys(Ee,["escape"])],onBlur:B,ref_for:!0,ref:V=>{a.value===F&&(Z.value=V)},title:"Double-click to edit attribute name"},o.toDisplayString(a.value===F?O.value:F),45,Jn),o.createElementVNode("span",{class:"xml-node__equals",style:o.normalizeStyle({color:c.theme.colors.xmlEquals})},"=",4),o.createElementVNode("span",{class:"xml-node__quote",style:o.normalizeStyle({color:c.theme.colors.xmlQuote})},'"',4),o.createElementVNode("span",{class:"xml-node__attr-value xml-node__attr-value--editable",style:o.normalizeStyle({color:c.theme.colors.xmlAttributeValue}),contenteditable:i.value===F,onDblclick:V=>p(F),onKeydown:[o.withKeys(o.withModifiers($,["prevent"]),["enter"]),o.withKeys(Re,["escape"])],onBlur:$,ref_for:!0,ref:V=>{i.value===F&&(U.value=V)},title:"Double-click to edit attribute value"},o.toDisplayString(i.value===F?C.value:de),45,Qn),o.createElementVNode("span",{class:"xml-node__quote",style:o.normalizeStyle({color:c.theme.colors.xmlQuote})},'"',4)]))),128)),o.createElementVNode("span",{class:"xml-node__bracket",style:o.normalizeStyle({color:c.theme.colors.xmlBracket})},">",4),o.createElementVNode("span",{class:"xml-node__cdata",style:o.normalizeStyle({color:c.theme.colors.xmlCdata})},"<![CDATA[",4),o.createElementVNode("span",{class:"xml-node__cdata-content xml-node__cdata-content--editable",style:o.normalizeStyle({color:c.theme.colors.xmlCdata}),contenteditable:N.value,onDblclick:Ue,onKeydown:[o.withKeys(o.withModifiers(Ne,["prevent"]),["enter"]),o.withKeys(q,["escape"])],onBlur:Ne,ref_key:"cdataContentRef",ref:te,title:"Double-click to edit CDATA content"},o.toDisplayString(N.value?M.value:g.value),45,Zn),o.createElementVNode("span",{class:"xml-node__cdata",style:o.normalizeStyle({color:c.theme.colors.xmlCdata})},"]]>",4),o.createElementVNode("span",{class:"xml-node__bracket",style:o.normalizeStyle({color:c.theme.colors.xmlBracket})},"</",4),o.createElementVNode("span",{class:"xml-node__tag",style:o.normalizeStyle({color:c.theme.colors.xmlTag})},o.toDisplayString(T.value?A.value:ee.value),5),o.createElementVNode("span",{class:"xml-node__bracket",style:o.normalizeStyle({color:c.theme.colors.xmlBracket})},">",4)])):ce.value?(o.openBlock(),o.createElementBlock("div",jn,[o.createElementVNode("span",{class:"xml-node__bracket",style:o.normalizeStyle({color:c.theme.colors.xmlBracket})},"<",4),o.createElementVNode("span",{class:"xml-node__tag xml-node__tag--editable",style:o.normalizeStyle({color:c.theme.colors.xmlTag}),contenteditable:T.value,onDblclick:Te,onContextmenu:ge,onKeydown:[o.withKeys(o.withModifiers(f,["prevent"]),["enter"]),o.withKeys(z,["escape"])],onBlur:f,ref_key:"tagNameRef",ref:b,title:"Double-click to edit tag name"},o.toDisplayString(T.value?A.value:ee.value),45,zn),(o.openBlock(!0),o.createElementBlock(o.Fragment,null,o.renderList(D.value,(de,F)=>(o.openBlock(),o.createElementBlock("span",{key:F,class:"xml-node__attribute"},[o.createElementVNode("span",{class:"xml-node__attr-name xml-node__attr-name--editable",style:o.normalizeStyle({color:c.theme.colors.xmlAttribute}),contenteditable:a.value===F,onDblclick:V=>v(F),onKeydown:[o.withKeys(o.withModifiers(B,["prevent"]),["enter"]),o.withKeys(Ee,["escape"])],onBlur:B,ref_for:!0,ref:V=>{a.value===F&&(Z.value=V)},title:"Double-click to edit attribute name"},o.toDisplayString(a.value===F?O.value:F),45,es),o.createElementVNode("span",{class:"xml-node__equals",style:o.normalizeStyle({color:c.theme.colors.xmlEquals})},"=",4),o.createElementVNode("span",{class:"xml-node__quote",style:o.normalizeStyle({color:c.theme.colors.xmlQuote})},'"',4),o.createElementVNode("span",{class:"xml-node__attr-value xml-node__attr-value--editable",style:o.normalizeStyle({color:c.theme.colors.xmlAttributeValue}),contenteditable:i.value===F,onDblclick:V=>p(F),onKeydown:[o.withKeys(o.withModifiers($,["prevent"]),["enter"]),o.withKeys(Re,["escape"])],onBlur:$,ref_for:!0,ref:V=>{i.value===F&&(U.value=V)},title:"Double-click to edit attribute value"},o.toDisplayString(i.value===F?C.value:de),45,ts),o.createElementVNode("span",{class:"xml-node__quote",style:o.normalizeStyle({color:c.theme.colors.xmlQuote})},'"',4)]))),128)),o.createElementVNode("span",{class:"xml-node__bracket",style:o.normalizeStyle({color:c.theme.colors.xmlBracket})},">",4),o.createElementVNode("span",{class:"xml-node__text-content xml-node__text-content--editable",style:o.normalizeStyle({color:c.theme.colors.xmlText}),contenteditable:l.value,onDblclick:m,onKeydown:[o.withKeys(o.withModifiers(h,["prevent"]),["enter"]),o.withKeys(le,["escape"])],onBlur:h,ref_key:"textContentRef",ref:j,title:"Double-click to edit text content"},o.toDisplayString(l.value?d.value:J.value),45,Es),o.createElementVNode("span",{class:"xml-node__bracket",style:o.normalizeStyle({color:c.theme.colors.xmlBracket})},"</",4),o.createElementVNode("span",{class:"xml-node__tag",style:o.normalizeStyle({color:c.theme.colors.xmlTag})},o.toDisplayString(T.value?A.value:ee.value),5),o.createElementVNode("span",{class:"xml-node__bracket",style:o.normalizeStyle({color:c.theme.colors.xmlBracket})},">",4)])):De.value&&Y.value?(o.openBlock(),o.createElementBlock("div",rs,[o.createElementVNode("span",{class:"xml-node__bracket",style:o.normalizeStyle({color:c.theme.colors.xmlBracket})},"<",4),o.createElementVNode("span",{class:"xml-node__tag xml-node__tag--editable",style:o.normalizeStyle({color:c.theme.colors.xmlTag}),contenteditable:T.value,onDblclick:Te,onContextmenu:ge,onKeydown:[o.withKeys(o.withModifiers(f,["prevent"]),["enter"]),o.withKeys(z,["escape"])],onBlur:f,ref_key:"tagNameRef",ref:b,title:"Double-click to edit tag name"},o.toDisplayString(T.value?A.value:ee.value),45,ns),(o.openBlock(!0),o.createElementBlock(o.Fragment,null,o.renderList(D.value,(de,F)=>(o.openBlock(),o.createElementBlock("span",{key:F,class:"xml-node__attribute"},[o.createElementVNode("span",{class:"xml-node__attr-name xml-node__attr-name--editable",style:o.normalizeStyle({color:c.theme.colors.xmlAttribute}),contenteditable:a.value===F,onDblclick:V=>v(F),onKeydown:[o.withKeys(o.withModifiers(B,["prevent"]),["enter"]),o.withKeys(Ee,["escape"])],onBlur:B,ref_for:!0,ref:V=>{a.value===F&&(Z.value=V)},title:"Double-click to edit attribute name"},o.toDisplayString(a.value===F?O.value:F),45,ss),o.createElementVNode("span",{class:"xml-node__equals",style:o.normalizeStyle({color:c.theme.colors.xmlEquals})},"=",4),o.createElementVNode("span",{class:"xml-node__quote",style:o.normalizeStyle({color:c.theme.colors.xmlQuote})},'"',4),o.createElementVNode("span",{class:"xml-node__attr-value xml-node__attr-value--editable",style:o.normalizeStyle({color:c.theme.colors.xmlAttributeValue}),contenteditable:i.value===F,onDblclick:V=>p(F),onKeydown:[o.withKeys(o.withModifiers($,["prevent"]),["enter"]),o.withKeys(Re,["escape"])],onBlur:$,ref_for:!0,ref:V=>{i.value===F&&(U.value=V)},title:"Double-click to edit attribute value"},o.toDisplayString(i.value===F?C.value:de),45,Ts),o.createElementVNode("span",{class:"xml-node__quote",style:o.normalizeStyle({color:c.theme.colors.xmlQuote})},'"',4)]))),128)),o.createElementVNode("span",{class:"xml-node__bracket",style:o.normalizeStyle({color:c.theme.colors.xmlBracket})}," />",4)])):De.value?(o.openBlock(),o.createElementBlock("div",os,[o.createElementVNode("span",{class:"xml-node__bracket",style:o.normalizeStyle({color:c.theme.colors.xmlBracket})},"<",4),o.createElementVNode("span",{class:"xml-node__tag xml-node__tag--editable",style:o.normalizeStyle({color:c.theme.colors.xmlTag}),contenteditable:T.value,onDblclick:Te,onContextmenu:ge,onKeydown:[o.withKeys(o.withModifiers(f,["prevent"]),["enter"]),o.withKeys(z,["escape"])],onBlur:f,ref_key:"tagNameRef",ref:b,title:"Double-click to edit tag name"},o.toDisplayString(T.value?A.value:ee.value),45,as),(o.openBlock(!0),o.createElementBlock(o.Fragment,null,o.renderList(D.value,(de,F)=>(o.openBlock(),o.createElementBlock("span",{key:F,class:"xml-node__attribute"},[o.createElementVNode("span",{class:"xml-node__attr-name xml-node__attr-name--editable",style:o.normalizeStyle({color:c.theme.colors.xmlAttribute}),contenteditable:a.value===F,onDblclick:V=>v(F),onKeydown:[o.withKeys(o.withModifiers(B,["prevent"]),["enter"]),o.withKeys(Ee,["escape"])],onBlur:B,ref_for:!0,ref:V=>{a.value===F&&(Z.value=V)},title:"Double-click to edit attribute name"},o.toDisplayString(a.value===F?O.value:F),45,As),o.createElementVNode("span",{class:"xml-node__equals",style:o.normalizeStyle({color:c.theme.colors.xmlEquals})},"=",4),o.createElementVNode("span",{class:"xml-node__quote",style:o.normalizeStyle({color:c.theme.colors.xmlQuote})},'"',4),o.createElementVNode("span",{class:"xml-node__attr-value xml-node__attr-value--editable",style:o.normalizeStyle({color:c.theme.colors.xmlAttributeValue}),contenteditable:i.value===F,onDblclick:V=>p(F),onKeydown:[o.withKeys(o.withModifiers($,["prevent"]),["enter"]),o.withKeys(Re,["escape"])],onBlur:$,ref_for:!0,ref:V=>{i.value===F&&(U.value=V)},title:"Double-click to edit attribute value"},o.toDisplayString(i.value===F?C.value:de),45,is),o.createElementVNode("span",{class:"xml-node__quote",style:o.normalizeStyle({color:c.theme.colors.xmlQuote})},'"',4)]))),128)),o.createElementVNode("span",{class:"xml-node__bracket",style:o.normalizeStyle({color:c.theme.colors.xmlBracket})},"></",4),o.createElementVNode("span",{class:"xml-node__tag",style:o.normalizeStyle({color:c.theme.colors.xmlTag})},o.toDisplayString(T.value?A.value:ee.value),5),o.createElementVNode("span",{class:"xml-node__bracket",style:o.normalizeStyle({color:c.theme.colors.xmlBracket})},">",4)])):(o.openBlock(),o.createElementBlock("div",Rs,[!Le.value&&k.value?(o.openBlock(),o.createElementBlock("div",Ss,[o.createElementVNode("span",{class:"xml-node__clickable-part",onClick:ne[0]||(ne[0]=de=>Q()),title:"Click to expand"},[o.createElementVNode("span",{class:"xml-node__bracket",style:o.normalizeStyle({color:c.theme.colors.xmlBracket})},"<",4),o.createElementVNode("span",{class:"xml-node__tag xml-node__tag--editable",style:o.normalizeStyle({color:c.theme.colors.xmlTag}),contenteditable:T.value,onDblclick:o.withModifiers(Te,["stop"]),onContextmenu:ge,onKeydown:[o.withKeys(o.withModifiers(f,["prevent"]),["enter"]),o.withKeys(z,["escape"])],onBlur:f,ref_key:"tagNameRef",ref:b,title:"Double-click or right-click to edit tag name"},o.toDisplayString(T.value?A.value:ee.value),45,Ns)]),(o.openBlock(!0),o.createElementBlock(o.Fragment,null,o.renderList(D.value,(de,F)=>(o.openBlock(),o.createElementBlock("span",{key:F,class:"xml-node__attribute"},[o.createElementVNode("span",{class:"xml-node__attr-name xml-node__attr-name--editable",style:o.normalizeStyle({color:c.theme.colors.xmlAttribute}),contenteditable:a.value===F,onDblclick:V=>v(F),onKeydown:[o.withKeys(o.withModifiers(B,["prevent"]),["enter"]),o.withKeys(Ee,["escape"])],onBlur:B,ref_for:!0,ref:V=>{a.value===F&&(Z.value=V)},title:"Double-click to edit attribute name"},o.toDisplayString(a.value===F?O.value:F),45,Is),o.createElementVNode("span",{class:"xml-node__equals",style:o.normalizeStyle({color:c.theme.colors.xmlEquals})},"=",4),o.createElementVNode("span",{class:"xml-node__quote",style:o.normalizeStyle({color:c.theme.colors.xmlQuote})},'"',4),o.createElementVNode("span",{class:"xml-node__attr-value xml-node__attr-value--editable",style:o.normalizeStyle({color:c.theme.colors.xmlAttributeValue}),contenteditable:i.value===F,onDblclick:V=>p(F),onKeydown:[o.withKeys(o.withModifiers($,["prevent"]),["enter"]),o.withKeys(Re,["escape"])],onBlur:$,ref_for:!0,ref:V=>{i.value===F&&(U.value=V)},title:"Double-click to edit attribute value"},o.toDisplayString(i.value===F?C.value:de),45,Os),o.createElementVNode("span",{class:"xml-node__quote",style:o.normalizeStyle({color:c.theme.colors.xmlQuote})},'"',4)]))),128)),o.createElementVNode("span",{class:"xml-node__clickable-part",onClick:ne[1]||(ne[1]=de=>Q()),title:"Click to expand"},[o.createElementVNode("span",{class:"xml-node__bracket",style:o.normalizeStyle({color:c.theme.colors.xmlBracket})},">",4)]),o.createElementVNode("span",{class:"xml-node__collapsed-badge",onClick:ne[2]||(ne[2]=de=>Q()),title:`Click to expand ${ae.value} tag${ae.value>1?"s":""}`},o.toDisplayString(ae.value)+" tag"+o.toDisplayString(ae.value>1?"s":""),9,us),o.createElementVNode("span",{class:"xml-node__clickable-part",onClick:ne[3]||(ne[3]=de=>Q()),title:"Click to expand"},[o.createElementVNode("span",{class:"xml-node__bracket",style:o.normalizeStyle({color:c.theme.colors.xmlBracket})},"</",4),o.createElementVNode("span",{class:"xml-node__tag",style:o.normalizeStyle({color:c.theme.colors.xmlTag})},o.toDisplayString(T.value?A.value:ee.value),5),o.createElementVNode("span",{class:"xml-node__bracket",style:o.normalizeStyle({color:c.theme.colors.xmlBracket})},">",4)])])):(o.openBlock(),o.createElementBlock(o.Fragment,{key:1},[o.createElementVNode("div",ls,[k.value?(o.openBlock(),o.createElementBlock("span",{key:0,class:"xml-node__clickable-part",onClick:ne[4]||(ne[4]=de=>Q()),title:Le.value?"Click to collapse":"Click to expand"},[o.createElementVNode("span",{class:"xml-node__bracket",style:o.normalizeStyle({color:c.theme.colors.xmlBracket})},"<",4),o.createElementVNode("span",{class:"xml-node__tag xml-node__tag--editable",style:o.normalizeStyle({color:c.theme.colors.xmlTag}),contenteditable:T.value,onDblclick:o.withModifiers(Te,["stop"]),onContextmenu:ge,onKeydown:[o.withKeys(o.withModifiers(f,["prevent"]),["enter"]),o.withKeys(z,["escape"])],onBlur:f,ref_key:"tagNameRef",ref:b,title:"Double-click or right-click to edit tag name"},o.toDisplayString(T.value?A.value:ee.value),45,cs)],8,Cs)):(o.openBlock(),o.createElementBlock("span",_s,[o.createElementVNode("span",{class:"xml-node__bracket",style:o.normalizeStyle({color:c.theme.colors.xmlBracket})},"<",4),o.createElementVNode("span",{class:"xml-node__tag xml-node__tag--editable",style:o.normalizeStyle({color:c.theme.colors.xmlTag}),contenteditable:T.value,onDblclick:Te,onKeydown:[o.withKeys(o.withModifiers(f,["prevent"]),["enter"]),o.withKeys(z,["escape"])],onBlur:f,ref_key:"tagNameRef",ref:b,title:"Double-click to edit tag name"},o.toDisplayString(T.value?A.value:ee.value),45,Ls)])),(o.openBlock(!0),o.createElementBlock(o.Fragment,null,o.renderList(D.value,(de,F)=>(o.openBlock(),o.createElementBlock("span",{key:F,class:"xml-node__attribute"},[o.createElementVNode("span",{class:"xml-node__attr-name xml-node__attr-name--editable",style:o.normalizeStyle({color:c.theme.colors.xmlAttribute}),contenteditable:a.value===F,onDblclick:V=>v(F),onKeydown:[o.withKeys(o.withModifiers(B,["prevent"]),["enter"]),o.withKeys(Ee,["escape"])],onBlur:B,ref_for:!0,ref:V=>{a.value===F&&(Z.value=V)},title:"Double-click to edit attribute name"},o.toDisplayString(a.value===F?O.value:F),45,Ds),o.createElementVNode("span",{class:"xml-node__equals",style:o.normalizeStyle({color:c.theme.colors.xmlEquals})},"=",4),o.createElementVNode("span",{class:"xml-node__quote",style:o.normalizeStyle({color:c.theme.colors.xmlQuote})},'"',4),o.createElementVNode("span",{class:"xml-node__attr-value xml-node__attr-value--editable",style:o.normalizeStyle({color:c.theme.colors.xmlAttributeValue}),contenteditable:i.value===F,onDblclick:V=>p(F),onKeydown:[o.withKeys(o.withModifiers($,["prevent"]),["enter"]),o.withKeys(Re,["escape"])],onBlur:$,ref_for:!0,ref:V=>{i.value===F&&(U.value=V)},title:"Double-click to edit attribute value"},o.toDisplayString(i.value===F?C.value:de),45,ps),o.createElementVNode("span",{class:"xml-node__quote",style:o.normalizeStyle({color:c.theme.colors.xmlQuote})},'"',4)]))),128)),k.value?(o.openBlock(),o.createElementBlock("span",{key:2,class:"xml-node__clickable-part",onClick:ne[5]||(ne[5]=de=>Q()),title:Le.value?"Click to collapse":"Click to expand"},[o.createElementVNode("span",{class:"xml-node__bracket",style:o.normalizeStyle({color:c.theme.colors.xmlBracket})},">",4)],8,ds)):(o.openBlock(),o.createElementBlock("span",{key:3,class:"xml-node__bracket",style:o.normalizeStyle({color:c.theme.colors.xmlBracket})},o.toDisplayString(k.value?">":"/>"),5))]),Le.value&&k.value?(o.openBlock(),o.createElementBlock("div",Ps,[Ae.value.length===0&&J.value.trim()?(o.openBlock(),o.createElementBlock("div",fs,[o.createElementVNode("span",{class:"xml-node__text-content xml-node__text-content--editable",style:o.normalizeStyle({color:c.theme.colors.xmlText}),contenteditable:l.value,onDblclick:m,onKeydown:[o.withKeys(o.withModifiers(h,["prevent"]),["enter"]),o.withKeys(le,["escape"])],onBlur:h,ref_key:"textContentRef",ref:j,title:"Double-click to edit text content"},o.toDisplayString(l.value?d.value:J.value),45,hs)])):o.createCommentVNode("",!0),(o.openBlock(!0),o.createElementBlock(o.Fragment,null,o.renderList(Ae.value,(de,F)=>(o.openBlock(),o.createBlock(Be,{key:Oe(de,F),node:de,index:F,level:c.level+1,"parent-path":me(),expanded:c.expanded,theme:c.theme,selfClosingTags:c.selfClosingTags,onToggleExpand:ne[6]||(ne[6]=V=>c.$emit("toggle-expand",V)),onCopy:ne[7]||(ne[7]=V=>c.$emit("copy",V)),"onUpdate:tagName":ne[8]||(ne[8]=(V,ve,Qe)=>c.$emit("update:tagName",V,ve,Qe)),"onUpdate:attributeName":ne[9]||(ne[9]=(V,ve,Qe)=>c.$emit("update:attributeName",V,ve,Qe)),"onUpdate:attributeValue":ne[10]||(ne[10]=(V,ve,Qe)=>c.$emit("update:attributeValue",V,ve,Qe)),"onUpdate:textContent":ne[11]||(ne[11]=(V,ve)=>c.$emit("update:textContent",V,ve)),"onUpdate:cdataContent":ne[12]||(ne[12]=(V,ve)=>c.$emit("update:cdataContent",V,ve))},null,8,["node","index","level","parent-path","expanded","theme","selfClosingTags"]))),128))])):o.createCommentVNode("",!0),Le.value&&k.value?(o.openBlock(),o.createElementBlock("div",Ms,[o.createElementVNode("span",{class:"xml-node__clickable-part",onClick:ne[13]||(ne[13]=de=>Q()),title:"Click to collapse"},[o.createElementVNode("span",{class:"xml-node__bracket",style:o.normalizeStyle({color:c.theme.colors.xmlBracket})},"</",4),o.createElementVNode("span",{class:"xml-node__tag",style:o.normalizeStyle({color:c.theme.colors.xmlTag})},o.toDisplayString(T.value?A.value:ee.value),5),o.createElementVNode("span",{class:"xml-node__bracket",style:o.normalizeStyle({color:c.theme.colors.xmlBracket})},">",4)])])):o.createCommentVNode("",!0)],64))]))])):o.createCommentVNode("",!0)],4)}}}),[["__scopeId","data-v-2ea5f623"]]),VE={"github-light":{name:"github-light",colors:{background:"#ffffff",surfaceBackground:"#f6f8fa",border:"#d0d7de",text:"#24292f",textSecondary:"#57606a",buttonBackground:"#f6f8fa",buttonBackgroundHover:"#f3f4f6",buttonBorder:"#d0d7de",buttonText:"#24292f",buttonPrimary:"#1f883d",buttonPrimaryHover:"#1a7f37",success:"#1f883d",successBackground:"#dafbe1",error:"#cf222e",errorBackground:"#ffebe9",xmlTag:"#116329",xmlAttribute:"#0550ae",xmlAttributeValue:"#0a3069",xmlText:"#24292f",xmlComment:"#6e7781",xmlCdata:"#8250df",xmlDeclaration:"#953800",xmlBracket:"#6e7781",xmlEquals:"#6e7781",xmlQuote:"#0550ae",collapsedBackground:"#ddf4ff",collapsedBackgroundHover:"#b6e3ff",collapsedText:"#0969da",indentLine:"#d0d7de"}},"github-dark":{name:"github-dark",colors:{background:"#0d1117",surfaceBackground:"#161b22",border:"#30363d",text:"#c9d1d9",textSecondary:"#8b949e",buttonBackground:"#21262d",buttonBackgroundHover:"#30363d",buttonBorder:"#30363d",buttonText:"#c9d1d9",buttonPrimary:"#238636",buttonPrimaryHover:"#2ea043",success:"#3fb950",successBackground:"#0f2e1c",error:"#f85149",errorBackground:"#3d1319",xmlTag:"#7ee787",xmlAttribute:"#79c0ff",xmlAttributeValue:"#a5d6ff",xmlText:"#c9d1d9",xmlComment:"#8b949e",xmlCdata:"#d2a8ff",xmlDeclaration:"#ffa657",xmlBracket:"#8b949e",xmlEquals:"#8b949e",xmlQuote:"#79c0ff",collapsedBackground:"#1c2128",collapsedBackgroundHover:"#2d333b",collapsedText:"#79c0ff",indentLine:"#30363d"}},"min-light":{name:"min-light",colors:{background:"#ffffff",surfaceBackground:"#fafafa",border:"#e5e5e5",text:"#171717",textSecondary:"#737373",buttonBackground:"#fafafa",buttonBackgroundHover:"#f5f5f5",buttonBorder:"#e5e5e5",buttonText:"#171717",buttonPrimary:"#22c55e",buttonPrimaryHover:"#16a34a",success:"#22c55e",successBackground:"#dcfce7",error:"#ef4444",errorBackground:"#fee2e2",xmlTag:"#16a34a",xmlAttribute:"#2563eb",xmlAttributeValue:"#1e40af",xmlText:"#171717",xmlComment:"#737373",xmlCdata:"#9333ea",xmlDeclaration:"#ea580c",xmlBracket:"#737373",xmlEquals:"#737373",xmlQuote:"#2563eb",collapsedBackground:"#e0f2fe",collapsedBackgroundHover:"#bae6fd",collapsedText:"#0284c7",indentLine:"#e5e7eb"}},"slack-ochin":{name:"slack-ochin",colors:{background:"#fef5ed",surfaceBackground:"#fef9f3",border:"#e9dcc9",text:"#3d3c40",textSecondary:"#616061",buttonBackground:"#fef9f3",buttonBackgroundHover:"#f9f0e5",buttonBorder:"#e9dcc9",buttonText:"#3d3c40",buttonPrimary:"#007a5a",buttonPrimaryHover:"#006644",success:"#007a5a",successBackground:"#d1f4e0",error:"#e01e5a",errorBackground:"#ffdbea",xmlTag:"#007a5a",xmlAttribute:"#1264a3",xmlAttributeValue:"#0b4c8c",xmlText:"#3d3c40",xmlComment:"#616061",xmlCdata:"#8b2eff",xmlDeclaration:"#e8912d",xmlBracket:"#616061",xmlEquals:"#616061",xmlQuote:"#1264a3",collapsedBackground:"#ffe8d6",collapsedBackgroundHover:"#ffd4b0",collapsedText:"#d73502",indentLine:"#e8d5b7"}}},ms=E=>VE[E]||VE["github-light"],vE=":A-Za-z_\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD",Bs=vE+"\\-.\\d\\u00B7\\u0300-\\u036F\\u203F-\\u2040",gs="["+vE+"]["+Bs+"]*",ys=new RegExp("^"+gs+"$");function wE(E,t){const r=[];let n=t.exec(E);for(;n;){const T=[];T.startIndex=t.lastIndex-n[0].length;const a=n.length;for(let i=0;i<a;i++)T.push(n[i]);r.push(T),n=t.exec(E)}return r}const Yt=function(E){const t=ys.exec(E);return!(t===null||typeof t>"u")};function Gs(E){return typeof E<"u"}const Fs={allowBooleanAttributes:!1,unpairedTags:[]};function WE(E,t){t=Object.assign({},Fs,t);const r=[];let n=!1,T=!1;E[0]==="\uFEFF"&&(E=E.substr(1));for(let a=0;a<E.length;a++)if(E[a]==="<"&&E[a+1]==="?"){if(a+=2,a=KE(E,a),a.err)return a}else if(E[a]==="<"){let i=a;if(a++,E[a]==="!"){a=kE(E,a);continue}else{let l=!1;E[a]==="/"&&(l=!0,a++);let N="";for(;a<E.length&&E[a]!==">"&&E[a]!==" "&&E[a]!==" "&&E[a]!==`
14
- `&&E[a]!=="\r";a++)N+=E[a];if(N=N.trim(),N[N.length-1]==="/"&&(N=N.substring(0,N.length-1),a--),!Ws(N)){let C;return N.trim().length===0?C="Invalid space after '<'.":C="Tag '"+N+"' is an invalid name.",be("InvalidTag",C,ke(E,a))}const A=Ys(E,a);if(A===!1)return be("InvalidAttr","Attributes for '"+N+"' have open quote.",ke(E,a));let O=A.value;if(a=A.index,O[O.length-1]==="/"){const C=a-O.length;O=O.substring(0,O.length-1);const d=$E(O,t);if(d===!0)n=!0;else return be(d.err.code,d.err.msg,ke(E,C+d.err.line))}else if(l)if(A.tagClosed){if(O.trim().length>0)return be("InvalidTag","Closing tag '"+N+"' can't have attributes or invalid starting.",ke(E,i));if(r.length===0)return be("InvalidTag","Closing tag '"+N+"' has not been opened.",ke(E,i));{const C=r.pop();if(N!==C.tagName){let d=ke(E,C.tagStartPos);return be("InvalidTag","Expected closing tag '"+C.tagName+"' (opened in line "+d.line+", col "+d.col+") instead of closing tag '"+N+"'.",ke(E,i))}r.length==0&&(T=!0)}}else return be("InvalidTag","Closing tag '"+N+"' doesn't have proper closing.",ke(E,a));else{const C=$E(O,t);if(C!==!0)return be(C.err.code,C.err.msg,ke(E,a-O.length+C.err.line));if(T===!0)return be("InvalidXml","Multiple possible root nodes found.",ke(E,a));t.unpairedTags.indexOf(N)!==-1||r.push({tagName:N,tagStartPos:i}),n=!0}for(a++;a<E.length;a++)if(E[a]==="<")if(E[a+1]==="!"){a++,a=kE(E,a);continue}else if(E[a+1]==="?"){if(a=KE(E,++a),a.err)return a}else break;else if(E[a]==="&"){const C=vs(E,a);if(C==-1)return be("InvalidChar","char '&' is not expected.",ke(E,a));a=C}else if(T===!0&&!XE(E[a]))return be("InvalidXml","Extra text at the end",ke(E,a));E[a]==="<"&&a--}}else{if(XE(E[a]))continue;return be("InvalidChar","char '"+E[a]+"' is not expected.",ke(E,a))}if(n){if(r.length==1)return be("InvalidTag","Unclosed tag '"+r[0].tagName+"'.",ke(E,r[0].tagStartPos));if(r.length>0)return be("InvalidXml","Invalid '"+JSON.stringify(r.map(a=>a.tagName),null,4).replace(/\r?\n/g,"")+"' found.",{line:1,col:1})}else return be("InvalidXml","Start tag expected.",1);return!0}function XE(E){return E===" "||E===" "||E===`
15
- `||E==="\r"}function KE(E,t){const r=t;for(;t<E.length;t++)if(E[t]=="?"||E[t]==" "){const n=E.substr(r,t-r);if(t>5&&n==="xml")return be("InvalidXml","XML declaration allowed only at the start of the document.",ke(E,t));if(E[t]=="?"&&E[t+1]==">"){t++;break}else continue}return t}function kE(E,t){if(E.length>t+5&&E[t+1]==="-"&&E[t+2]==="-"){for(t+=3;t<E.length;t++)if(E[t]==="-"&&E[t+1]==="-"&&E[t+2]===">"){t+=2;break}}else if(E.length>t+8&&E[t+1]==="D"&&E[t+2]==="O"&&E[t+3]==="C"&&E[t+4]==="T"&&E[t+5]==="Y"&&E[t+6]==="P"&&E[t+7]==="E"){let r=1;for(t+=8;t<E.length;t++)if(E[t]==="<")r++;else if(E[t]===">"&&(r--,r===0))break}else if(E.length>t+9&&E[t+1]==="["&&E[t+2]==="C"&&E[t+3]==="D"&&E[t+4]==="A"&&E[t+5]==="T"&&E[t+6]==="A"&&E[t+7]==="["){for(t+=8;t<E.length;t++)if(E[t]==="]"&&E[t+1]==="]"&&E[t+2]===">"){t+=2;break}}return t}const Hs='"',bs="'";function Ys(E,t){let r="",n="",T=!1;for(;t<E.length;t++){if(E[t]===Hs||E[t]===bs)n===""?n=E[t]:n!==E[t]||(n="");else if(E[t]===">"&&n===""){T=!0;break}r+=E[t]}return n!==""?!1:{value:r,index:t,tagClosed:T}}const xs=new RegExp(`(\\s*)([^\\s=]+)(\\s*=)?(\\s*(['"])(([\\s\\S])*?)\\5)?`,"g");function $E(E,t){const r=wE(E,xs),n={};for(let T=0;T<r.length;T++){if(r[T][1].length===0)return be("InvalidAttr","Attribute '"+r[T][2]+"' has no space in starting.",Bt(r[T]));if(r[T][3]!==void 0&&r[T][4]===void 0)return be("InvalidAttr","Attribute '"+r[T][2]+"' is without value.",Bt(r[T]));if(r[T][3]===void 0&&!t.allowBooleanAttributes)return be("InvalidAttr","boolean attribute '"+r[T][2]+"' is not allowed.",Bt(r[T]));const a=r[T][2];if(!ws(a))return be("InvalidAttr","Attribute '"+a+"' is an invalid name.",Bt(r[T]));if(!n.hasOwnProperty(a))n[a]=1;else return be("InvalidAttr","Attribute '"+a+"' is repeated.",Bt(r[T]))}return!0}function Vs(E,t){let r=/\d/;for(E[t]==="x"&&(t++,r=/[\da-fA-F]/);t<E.length;t++){if(E[t]===";")return t;if(!E[t].match(r))break}return-1}function vs(E,t){if(t++,E[t]===";")return-1;if(E[t]==="#")return t++,Vs(E,t);let r=0;for(;t<E.length;t++,r++)if(!(E[t].match(/\w/)&&r<20)){if(E[t]===";")break;return-1}return t}function be(E,t,r){return{err:{code:E,msg:t,line:r.line||r,col:r.col}}}function ws(E){return Yt(E)}function Ws(E){return Yt(E)}function ke(E,t){const r=E.substring(0,t).split(/\r?\n/);return{line:r.length,col:r[r.length-1].length+1}}function Bt(E){return E.startIndex+E[1].length}const Xs={preserveOrder:!1,attributeNamePrefix:"@_",attributesGroupName:!1,textNodeName:"#text",ignoreAttributes:!0,removeNSPrefix:!1,allowBooleanAttributes:!1,parseTagValue:!0,parseAttributeValue:!1,trimValues:!0,cdataPropName:!1,numberParseOptions:{hex:!0,leadingZeros:!0,eNotation:!0},tagValueProcessor:function(E,t){return t},attributeValueProcessor:function(E,t){return t},stopNodes:[],alwaysCreateTextNode:!1,isArray:()=>!1,commentPropName:!1,unpairedTags:[],processEntities:!0,htmlEntities:!1,ignoreDeclaration:!1,ignorePiTags:!1,transformTagName:!1,transformAttributeName:!1,updateTag:function(E,t,r){return E},captureMetaData:!1},Ks=function(E){return Object.assign({},Xs,E)};let xt;typeof Symbol!="function"?xt="@@xmlMetadata":xt=Symbol("XML Node Metadata");class ct{constructor(t){this.tagname=t,this.child=[],this[":@"]={}}add(t,r){t==="__proto__"&&(t="#__proto__"),this.child.push({[t]:r})}addChild(t,r){t.tagname==="__proto__"&&(t.tagname="#__proto__"),t[":@"]&&Object.keys(t[":@"]).length>0?this.child.push({[t.tagname]:t.child,":@":t[":@"]}):this.child.push({[t.tagname]:t.child}),r!==void 0&&(this.child[this.child.length-1][xt]={startIndex:r})}static getMetaDataSymbol(){return xt}}class ks{constructor(t){this.suppressValidationErr=!t}readDocType(t,r){const n={};if(t[r+3]==="O"&&t[r+4]==="C"&&t[r+5]==="T"&&t[r+6]==="Y"&&t[r+7]==="P"&&t[r+8]==="E"){r=r+9;let T=1,a=!1,i=!1,l="";for(;r<t.length;r++)if(t[r]==="<"&&!i){if(a&&_t(t,"!ENTITY",r)){r+=7;let N,A;[N,A,r]=this.readEntityExp(t,r+1,this.suppressValidationErr),A.indexOf("&")===-1&&(n[N]={regx:RegExp(`&${N};`,"g"),val:A})}else if(a&&_t(t,"!ELEMENT",r)){r+=8;const{index:N}=this.readElementExp(t,r+1);r=N}else if(a&&_t(t,"!ATTLIST",r))r+=8;else if(a&&_t(t,"!NOTATION",r)){r+=9;const{index:N}=this.readNotationExp(t,r+1,this.suppressValidationErr);r=N}else if(_t(t,"!--",r))i=!0;else throw new Error("Invalid DOCTYPE");T++,l=""}else if(t[r]===">"){if(i?t[r-1]==="-"&&t[r-2]==="-"&&(i=!1,T--):T--,T===0)break}else t[r]==="["?a=!0:l+=t[r];if(T!==0)throw new Error("Unclosed DOCTYPE")}else throw new Error("Invalid Tag instead of DOCTYPE");return{entities:n,i:r}}readEntityExp(t,r){r=$e(t,r);let n="";for(;r<t.length&&!/\s/.test(t[r])&&t[r]!=='"'&&t[r]!=="'";)n+=t[r],r++;if(gt(n),r=$e(t,r),!this.suppressValidationErr){if(t.substring(r,r+6).toUpperCase()==="SYSTEM")throw new Error("External entities are not supported");if(t[r]==="%")throw new Error("Parameter entities are not supported")}let T="";return[r,T]=this.readIdentifierVal(t,r,"entity"),r--,[n,T,r]}readNotationExp(t,r){r=$e(t,r);let n="";for(;r<t.length&&!/\s/.test(t[r]);)n+=t[r],r++;!this.suppressValidationErr&&gt(n),r=$e(t,r);const T=t.substring(r,r+6).toUpperCase();if(!this.suppressValidationErr&&T!=="SYSTEM"&&T!=="PUBLIC")throw new Error(`Expected SYSTEM or PUBLIC, found "${T}"`);r+=T.length,r=$e(t,r);let a=null,i=null;if(T==="PUBLIC")[r,a]=this.readIdentifierVal(t,r,"publicIdentifier"),r=$e(t,r),(t[r]==='"'||t[r]==="'")&&([r,i]=this.readIdentifierVal(t,r,"systemIdentifier"));else if(T==="SYSTEM"&&([r,i]=this.readIdentifierVal(t,r,"systemIdentifier"),!this.suppressValidationErr&&!i))throw new Error("Missing mandatory system identifier for SYSTEM notation");return{notationName:n,publicIdentifier:a,systemIdentifier:i,index:--r}}readIdentifierVal(t,r,n){let T="";const a=t[r];if(a!=='"'&&a!=="'")throw new Error(`Expected quoted string, found "${a}"`);for(r++;r<t.length&&t[r]!==a;)T+=t[r],r++;if(t[r]!==a)throw new Error(`Unterminated ${n} value`);return r++,[r,T]}readElementExp(t,r){r=$e(t,r);let n="";for(;r<t.length&&!/\s/.test(t[r]);)n+=t[r],r++;if(!this.suppressValidationErr&&!Yt(n))throw new Error(`Invalid element name: "${n}"`);r=$e(t,r);let T="";if(t[r]==="E"&&_t(t,"MPTY",r))r+=4;else if(t[r]==="A"&&_t(t,"NY",r))r+=2;else if(t[r]==="("){for(r++;r<t.length&&t[r]!==")";)T+=t[r],r++;if(t[r]!==")")throw new Error("Unterminated content model")}else if(!this.suppressValidationErr)throw new Error(`Invalid Element Expression, found "${t[r]}"`);return{elementName:n,contentModel:T.trim(),index:r}}readAttlistExp(t,r){r=$e(t,r);let n="";for(;r<t.length&&!/\s/.test(t[r]);)n+=t[r],r++;gt(n),r=$e(t,r);let T="";for(;r<t.length&&!/\s/.test(t[r]);)T+=t[r],r++;if(!gt(T))throw new Error(`Invalid attribute name: "${T}"`);r=$e(t,r);let a="";if(t.substring(r,r+8).toUpperCase()==="NOTATION"){if(a="NOTATION",r+=8,r=$e(t,r),t[r]!=="(")throw new Error(`Expected '(', found "${t[r]}"`);r++;let l=[];for(;r<t.length&&t[r]!==")";){let N="";for(;r<t.length&&t[r]!=="|"&&t[r]!==")";)N+=t[r],r++;if(N=N.trim(),!gt(N))throw new Error(`Invalid notation name: "${N}"`);l.push(N),t[r]==="|"&&(r++,r=$e(t,r))}if(t[r]!==")")throw new Error("Unterminated list of notations");r++,a+=" ("+l.join("|")+")"}else{for(;r<t.length&&!/\s/.test(t[r]);)a+=t[r],r++;const l=["CDATA","ID","IDREF","IDREFS","ENTITY","ENTITIES","NMTOKEN","NMTOKENS"];if(!this.suppressValidationErr&&!l.includes(a.toUpperCase()))throw new Error(`Invalid attribute type: "${a}"`)}r=$e(t,r);let i="";return t.substring(r,r+8).toUpperCase()==="#REQUIRED"?(i="#REQUIRED",r+=8):t.substring(r,r+7).toUpperCase()==="#IMPLIED"?(i="#IMPLIED",r+=7):[r,i]=this.readIdentifierVal(t,r,"ATTLIST"),{elementName:n,attributeName:T,attributeType:a,defaultValue:i,index:r}}}const $e=(E,t)=>{for(;t<E.length&&/\s/.test(E[t]);)t++;return t};function _t(E,t,r){for(let n=0;n<t.length;n++)if(t[n]!==E[r+n+1])return!1;return!0}function gt(E){if(Yt(E))return E;throw new Error(`Invalid entity name ${E}`)}const $s=/^[-+]?0x[a-fA-F0-9]+$/,qs=/^([\-\+])?(0*)([0-9]*(\.[0-9]*)?)$/,Js={hex:!0,leadingZeros:!0,decimalPoint:".",eNotation:!0};function Qs(E,t={}){if(t=Object.assign({},Js,t),!E||typeof E!="string")return E;let r=E.trim();if(t.skipLike!==void 0&&t.skipLike.test(r))return E;if(E==="0")return 0;if(t.hex&&$s.test(r))return eT(r,16);if(r.search(/.+[eE].+/)!==-1)return js(E,r,t);{const n=qs.exec(r);if(n){const T=n[1]||"",a=n[2];let i=zs(n[3]);const l=T?E[a.length+1]===".":E[a.length]===".";if(!t.leadingZeros&&(a.length>1||a.length===1&&!l))return E;{const N=Number(r),A=String(N);if(N===0)return N;if(A.search(/[eE]/)!==-1)return t.eNotation?N:E;if(r.indexOf(".")!==-1)return A==="0"||A===i||A===`${T}${i}`?N:E;let O=a?i:r;return a?O===A||T+O===A?N:E:O===A||O===T+A?N:E}}else return E}}const Zs=/^([-+])?(0*)(\d*(\.\d*)?[eE][-\+]?\d+)$/;function js(E,t,r){if(!r.eNotation)return E;const n=t.match(Zs);if(n){let T=n[1]||"";const a=n[3].indexOf("e")===-1?"E":"e",i=n[2],l=T?E[i.length+1]===a:E[i.length]===a;return i.length>1&&l?E:i.length===1&&(n[3].startsWith(`.${a}`)||n[3][0]===a)?Number(t):r.leadingZeros&&!l?(t=(n[1]||"")+n[3],Number(t)):E}else return E}function zs(E){return E&&E.indexOf(".")!==-1&&(E=E.replace(/0+$/,""),E==="."?E="0":E[0]==="."?E="0"+E:E[E.length-1]==="."&&(E=E.substring(0,E.length-1))),E}function eT(E,t){if(parseInt)return parseInt(E,t);if(Number.parseInt)return Number.parseInt(E,t);if(window&&window.parseInt)return window.parseInt(E,t);throw new Error("parseInt, Number.parseInt, window.parseInt are not supported")}function qE(E){return typeof E=="function"?E:Array.isArray(E)?t=>{for(const r of E)if(typeof r=="string"&&t===r||r instanceof RegExp&&r.test(t))return!0}:()=>!1}class tT{constructor(t){this.options=t,this.currentNode=null,this.tagsNodeStack=[],this.docTypeEntities={},this.lastEntities={apos:{regex:/&(apos|#39|#x27);/g,val:"'"},gt:{regex:/&(gt|#62|#x3E);/g,val:">"},lt:{regex:/&(lt|#60|#x3C);/g,val:"<"},quot:{regex:/&(quot|#34|#x22);/g,val:'"'}},this.ampEntity={regex:/&(amp|#38|#x26);/g,val:"&"},this.htmlEntities={space:{regex:/&(nbsp|#160);/g,val:" "},cent:{regex:/&(cent|#162);/g,val:"¢"},pound:{regex:/&(pound|#163);/g,val:"£"},yen:{regex:/&(yen|#165);/g,val:"¥"},euro:{regex:/&(euro|#8364);/g,val:"€"},copyright:{regex:/&(copy|#169);/g,val:"©"},reg:{regex:/&(reg|#174);/g,val:"®"},inr:{regex:/&(inr|#8377);/g,val:"₹"},num_dec:{regex:/&#([0-9]{1,7});/g,val:(r,n)=>String.fromCodePoint(Number.parseInt(n,10))},num_hex:{regex:/&#x([0-9a-fA-F]{1,6});/g,val:(r,n)=>String.fromCodePoint(Number.parseInt(n,16))}},this.addExternalEntities=ET,this.parseXml=oT,this.parseTextData=rT,this.resolveNameSpace=nT,this.buildAttributesMap=TT,this.isItStopNode=RT,this.replaceEntitiesValue=AT,this.readStopNodeData=NT,this.saveTextToParentTag=iT,this.addChild=aT,this.ignoreAttributesFn=qE(this.options.ignoreAttributes)}}function ET(E){const t=Object.keys(E);for(let r=0;r<t.length;r++){const n=t[r];this.lastEntities[n]={regex:new RegExp("&"+n+";","g"),val:E[n]}}}function rT(E,t,r,n,T,a,i){if(E!==void 0&&(this.options.trimValues&&!n&&(E=E.trim()),E.length>0)){i||(E=this.replaceEntitiesValue(E));const l=this.options.tagValueProcessor(t,E,r,T,a);return l==null?E:typeof l!=typeof E||l!==E?l:this.options.trimValues?Zt(E,this.options.parseTagValue,this.options.numberParseOptions):E.trim()===E?Zt(E,this.options.parseTagValue,this.options.numberParseOptions):E}}function nT(E){if(this.options.removeNSPrefix){const t=E.split(":"),r=E.charAt(0)==="/"?"/":"";if(t[0]==="xmlns")return"";t.length===2&&(E=r+t[1])}return E}const sT=new RegExp(`([^\\s=]+)\\s*(=\\s*(['"])([\\s\\S]*?)\\3)?`,"gm");function TT(E,t,r){if(this.options.ignoreAttributes!==!0&&typeof E=="string"){const n=wE(E,sT),T=n.length,a={};for(let i=0;i<T;i++){const l=this.resolveNameSpace(n[i][1]);if(this.ignoreAttributesFn(l,t))continue;let N=n[i][4],A=this.options.attributeNamePrefix+l;if(l.length)if(this.options.transformAttributeName&&(A=this.options.transformAttributeName(A)),A==="__proto__"&&(A="#__proto__"),N!==void 0){this.options.trimValues&&(N=N.trim()),N=this.replaceEntitiesValue(N);const O=this.options.attributeValueProcessor(l,N,t);O==null?a[A]=N:typeof O!=typeof N||O!==N?a[A]=O:a[A]=Zt(N,this.options.parseAttributeValue,this.options.numberParseOptions)}else this.options.allowBooleanAttributes&&(a[A]=!0)}if(!Object.keys(a).length)return;if(this.options.attributesGroupName){const i={};return i[this.options.attributesGroupName]=a,i}return a}}const oT=function(E){E=E.replace(/\r\n?/g,`
16
- `);const t=new ct("!xml");let r=t,n="",T="";const a=new ks(this.options.processEntities);for(let i=0;i<E.length;i++)if(E[i]==="<")if(E[i+1]==="/"){const N=Lt(E,">",i,"Closing Tag is not closed.");let A=E.substring(i+2,N).trim();if(this.options.removeNSPrefix){const d=A.indexOf(":");d!==-1&&(A=A.substr(d+1))}this.options.transformTagName&&(A=this.options.transformTagName(A)),r&&(n=this.saveTextToParentTag(n,r,T));const O=T.substring(T.lastIndexOf(".")+1);if(A&&this.options.unpairedTags.indexOf(A)!==-1)throw new Error(`Unpaired tag can not be used as closing tag: </${A}>`);let C=0;O&&this.options.unpairedTags.indexOf(O)!==-1?(C=T.lastIndexOf(".",T.lastIndexOf(".")-1),this.tagsNodeStack.pop()):C=T.lastIndexOf("."),T=T.substring(0,C),r=this.tagsNodeStack.pop(),n="",i=N}else if(E[i+1]==="?"){let N=Qt(E,i,!1,"?>");if(!N)throw new Error("Pi Tag is not closed.");if(n=this.saveTextToParentTag(n,r,T),!(this.options.ignoreDeclaration&&N.tagName==="?xml"||this.options.ignorePiTags)){const A=new ct(N.tagName);A.add(this.options.textNodeName,""),N.tagName!==N.tagExp&&N.attrExpPresent&&(A[":@"]=this.buildAttributesMap(N.tagExp,T,N.tagName)),this.addChild(r,A,T,i)}i=N.closeIndex+1}else if(E.substr(i+1,3)==="!--"){const N=Lt(E,"-->",i+4,"Comment is not closed.");if(this.options.commentPropName){const A=E.substring(i+4,N-2);n=this.saveTextToParentTag(n,r,T),r.add(this.options.commentPropName,[{[this.options.textNodeName]:A}])}i=N}else if(E.substr(i+1,2)==="!D"){const N=a.readDocType(E,i);this.docTypeEntities=N.entities,i=N.i}else if(E.substr(i+1,2)==="!["){const N=Lt(E,"]]>",i,"CDATA is not closed.")-2,A=E.substring(i+9,N);n=this.saveTextToParentTag(n,r,T);let O=this.parseTextData(A,r.tagname,T,!0,!1,!0,!0);O==null&&(O=""),this.options.cdataPropName?r.add(this.options.cdataPropName,[{[this.options.textNodeName]:A}]):r.add(this.options.textNodeName,O),i=N+2}else{let N=Qt(E,i,this.options.removeNSPrefix),A=N.tagName;const O=N.rawTagName;let C=N.tagExp,d=N.attrExpPresent,M=N.closeIndex;this.options.transformTagName&&(A=this.options.transformTagName(A)),r&&n&&r.tagname!=="!xml"&&(n=this.saveTextToParentTag(n,r,T,!1));const b=r;b&&this.options.unpairedTags.indexOf(b.tagname)!==-1&&(r=this.tagsNodeStack.pop(),T=T.substring(0,T.lastIndexOf("."))),A!==t.tagname&&(T+=T?"."+A:A);const Z=i;if(this.isItStopNode(this.options.stopNodes,T,A)){let U="";if(C.length>0&&C.lastIndexOf("/")===C.length-1)A[A.length-1]==="/"?(A=A.substr(0,A.length-1),T=T.substr(0,T.length-1),C=A):C=C.substr(0,C.length-1),i=N.closeIndex;else if(this.options.unpairedTags.indexOf(A)!==-1)i=N.closeIndex;else{const te=this.readStopNodeData(E,O,M+1);if(!te)throw new Error(`Unexpected end of ${O}`);i=te.i,U=te.tagContent}const j=new ct(A);A!==C&&d&&(j[":@"]=this.buildAttributesMap(C,T,A)),U&&(U=this.parseTextData(U,A,T,!0,d,!0,!0)),T=T.substr(0,T.lastIndexOf(".")),j.add(this.options.textNodeName,U),this.addChild(r,j,T,Z)}else{if(C.length>0&&C.lastIndexOf("/")===C.length-1){A[A.length-1]==="/"?(A=A.substr(0,A.length-1),T=T.substr(0,T.length-1),C=A):C=C.substr(0,C.length-1),this.options.transformTagName&&(A=this.options.transformTagName(A));const U=new ct(A);A!==C&&d&&(U[":@"]=this.buildAttributesMap(C,T,A)),this.addChild(r,U,T,Z),T=T.substr(0,T.lastIndexOf("."))}else{const U=new ct(A);this.tagsNodeStack.push(r),A!==C&&d&&(U[":@"]=this.buildAttributesMap(C,T,A)),this.addChild(r,U,T,Z),r=U}n="",i=M}}else n+=E[i];return t.child};function aT(E,t,r,n){this.options.captureMetaData||(n=void 0);const T=this.options.updateTag(t.tagname,r,t[":@"]);T===!1||(typeof T=="string"&&(t.tagname=T),E.addChild(t,n))}const AT=function(E){if(this.options.processEntities){for(let t in this.docTypeEntities){const r=this.docTypeEntities[t];E=E.replace(r.regx,r.val)}for(let t in this.lastEntities){const r=this.lastEntities[t];E=E.replace(r.regex,r.val)}if(this.options.htmlEntities)for(let t in this.htmlEntities){const r=this.htmlEntities[t];E=E.replace(r.regex,r.val)}E=E.replace(this.ampEntity.regex,this.ampEntity.val)}return E};function iT(E,t,r,n){return E&&(n===void 0&&(n=t.child.length===0),E=this.parseTextData(E,t.tagname,r,!1,t[":@"]?Object.keys(t[":@"]).length!==0:!1,n),E!==void 0&&E!==""&&t.add(this.options.textNodeName,E),E=""),E}function RT(E,t,r){const n="*."+r;for(const T in E){const a=E[T];if(n===a||t===a)return!0}return!1}function ST(E,t,r=">"){let n,T="";for(let a=t;a<E.length;a++){let i=E[a];if(n)i===n&&(n="");else if(i==='"'||i==="'")n=i;else if(i===r[0])if(r[1]){if(E[a+1]===r[1])return{data:T,index:a}}else return{data:T,index:a};else i===" "&&(i=" ");T+=i}}function Lt(E,t,r,n){const T=E.indexOf(t,r);if(T===-1)throw new Error(n);return T+t.length-1}function Qt(E,t,r,n=">"){const T=ST(E,t+1,n);if(!T)return;let a=T.data;const i=T.index,l=a.search(/\s/);let N=a,A=!0;l!==-1&&(N=a.substring(0,l),a=a.substring(l+1).trimStart());const O=N;if(r){const C=N.indexOf(":");C!==-1&&(N=N.substr(C+1),A=N!==T.data.substr(C+1))}return{tagName:N,tagExp:a,closeIndex:i,attrExpPresent:A,rawTagName:O}}function NT(E,t,r){const n=r;let T=1;for(;r<E.length;r++)if(E[r]==="<")if(E[r+1]==="/"){const a=Lt(E,">",r,`${t} is not closed`);if(E.substring(r+2,a).trim()===t&&(T--,T===0))return{tagContent:E.substring(n,r),i:a};r=a}else if(E[r+1]==="?")r=Lt(E,"?>",r+1,"StopNode is not closed.");else if(E.substr(r+1,3)==="!--")r=Lt(E,"-->",r+3,"StopNode is not closed.");else if(E.substr(r+1,2)==="![")r=Lt(E,"]]>",r,"StopNode is not closed.")-2;else{const a=Qt(E,r,">");a&&((a&&a.tagName)===t&&a.tagExp[a.tagExp.length-1]!=="/"&&T++,r=a.closeIndex)}}function Zt(E,t,r){if(t&&typeof E=="string"){const n=E.trim();return n==="true"?!0:n==="false"?!1:Qs(E,r)}else return Gs(E)?E:""}const jt=ct.getMetaDataSymbol();function IT(E,t){return JE(E,t)}function JE(E,t,r){let n;const T={};for(let a=0;a<E.length;a++){const i=E[a],l=OT(i);let N="";if(r===void 0?N=l:N=r+"."+l,l===t.textNodeName)n===void 0?n=i[l]:n+=""+i[l];else{if(l===void 0)continue;if(i[l]){let A=JE(i[l],t,N);const O=lT(A,t);i[jt]!==void 0&&(A[jt]=i[jt]),i[":@"]?uT(A,i[":@"],N,t):Object.keys(A).length===1&&A[t.textNodeName]!==void 0&&!t.alwaysCreateTextNode?A=A[t.textNodeName]:Object.keys(A).length===0&&(t.alwaysCreateTextNode?A[t.textNodeName]="":A=""),T[l]!==void 0&&T.hasOwnProperty(l)?(Array.isArray(T[l])||(T[l]=[T[l]]),T[l].push(A)):t.isArray(l,N,O)?T[l]=[A]:T[l]=A}}}return typeof n=="string"?n.length>0&&(T[t.textNodeName]=n):n!==void 0&&(T[t.textNodeName]=n),T}function OT(E){const t=Object.keys(E);for(let r=0;r<t.length;r++){const n=t[r];if(n!==":@")return n}}function uT(E,t,r,n){if(t){const T=Object.keys(t),a=T.length;for(let i=0;i<a;i++){const l=T[i];n.isArray(l,r+"."+l,!0,!0)?E[l]=[t[l]]:E[l]=t[l]}}}function lT(E,t){const{textNodeName:r}=t,n=Object.keys(E).length;return!!(n===0||n===1&&(E[r]||typeof E[r]=="boolean"||E[r]===0))}class CT{constructor(t){this.externalEntities={},this.options=Ks(t)}parse(t,r){if(typeof t!="string"&&t.toString)t=t.toString();else if(typeof t!="string")throw new Error("XML data is accepted in String or Bytes[] form.");if(r){r===!0&&(r={});const a=WE(t,r);if(a!==!0)throw Error(`${a.err.msg}:${a.err.line}:${a.err.col}`)}const n=new tT(this.options);n.addExternalEntities(this.externalEntities);const T=n.parseXml(t);return this.options.preserveOrder||T===void 0?T:IT(T,this.options)}addEntity(t,r){if(r.indexOf("&")!==-1)throw new Error("Entity value can't have '&'");if(t.indexOf("&")!==-1||t.indexOf(";")!==-1)throw new Error("An entity must be set without '&' and ';'. Eg. use '#xD' for '&#xD;'");if(r==="&")throw new Error("An entity with value '&' is not permitted");this.externalEntities[t]=r}static getMetaDataSymbol(){return ct.getMetaDataSymbol()}}const cT=`
17
- `;function _T(E,t){let r="";return t.format&&t.indentBy.length>0&&(r=cT),QE(E,t,"",r)}function QE(E,t,r,n){let T="",a=!1;for(let i=0;i<E.length;i++){const l=E[i],N=LT(l);if(N===void 0)continue;let A="";if(r.length===0?A=N:A=`${r}.${N}`,N===t.textNodeName){let b=l[N];DT(A,t)||(b=t.tagValueProcessor(N,b),b=jE(b,t)),a&&(T+=n),T+=b,a=!1;continue}else if(N===t.cdataPropName){a&&(T+=n),T+=`<![CDATA[${l[N][0][t.textNodeName]}]]>`,a=!1;continue}else if(N===t.commentPropName){T+=n+`<!--${l[N][0][t.textNodeName]}-->`,a=!0;continue}else if(N[0]==="?"){const b=ZE(l[":@"],t),Z=N==="?xml"?"":n;let U=l[N][0][t.textNodeName];U=U.length!==0?" "+U:"",T+=Z+`<${N}${U}${b}?>`,a=!0;continue}let O=n;O!==""&&(O+=t.indentBy);const C=ZE(l[":@"],t),d=n+`<${N}${C}`,M=QE(l[N],t,A,O);t.unpairedTags.indexOf(N)!==-1?t.suppressUnpairedNode?T+=d+">":T+=d+"/>":(!M||M.length===0)&&t.suppressEmptyNode?T+=d+"/>":M&&M.endsWith(">")?T+=d+`>${M}${n}</${N}>`:(T+=d+">",M&&n!==""&&(M.includes("/>")||M.includes("</"))?T+=n+t.indentBy+M+n:T+=M,T+=`</${N}>`),a=!0}return T}function LT(E){const t=Object.keys(E);for(let r=0;r<t.length;r++){const n=t[r];if(E.hasOwnProperty(n)&&n!==":@")return n}}function ZE(E,t){let r="";if(E&&!t.ignoreAttributes)for(let n in E){if(!E.hasOwnProperty(n))continue;let T=t.attributeValueProcessor(n,E[n]);T=jE(T,t),T===!0&&t.suppressBooleanAttributes?r+=` ${n.substr(t.attributeNamePrefix.length)}`:r+=` ${n.substr(t.attributeNamePrefix.length)}="${T}"`}return r}function DT(E,t){E=E.substr(0,E.length-t.textNodeName.length-1);let r=E.substr(E.lastIndexOf(".")+1);for(let n in t.stopNodes)if(t.stopNodes[n]===E||t.stopNodes[n]==="*."+r)return!0;return!1}function jE(E,t){if(E&&E.length>0&&t.processEntities)for(let r=0;r<t.entities.length;r++){const n=t.entities[r];E=E.replace(n.regex,n.val)}return E}const pT={attributeNamePrefix:"@_",attributesGroupName:!1,textNodeName:"#text",ignoreAttributes:!0,cdataPropName:!1,format:!1,indentBy:" ",suppressEmptyNode:!1,suppressUnpairedNode:!0,suppressBooleanAttributes:!0,tagValueProcessor:function(E,t){return t},attributeValueProcessor:function(E,t){return t},preserveOrder:!1,commentPropName:!1,unpairedTags:[],entities:[{regex:new RegExp("&","g"),val:"&amp;"},{regex:new RegExp(">","g"),val:"&gt;"},{regex:new RegExp("<","g"),val:"&lt;"},{regex:new RegExp("'","g"),val:"&apos;"},{regex:new RegExp('"',"g"),val:"&quot;"}],processEntities:!0,stopNodes:[],oneListGroup:!1};function Nt(E){this.options=Object.assign({},pT,E),this.options.ignoreAttributes===!0||this.options.attributesGroupName?this.isAttribute=function(){return!1}:(this.ignoreAttributesFn=qE(this.options.ignoreAttributes),this.attrPrefixLen=this.options.attributeNamePrefix.length,this.isAttribute=fT),this.processTextOrObjNode=dT,this.options.format?(this.indentate=PT,this.tagEndChar=`>
12
+ `)}function i(d){this.options=d||{locator:{}}}i.prototype.parseFromString=function(d,k){var J=this.options,Z=new c,De=J.domBuilder||new C,ce=J.errorHandler,W=J.locator,u=J.xmlns||{},ee=/\/x?html?$/.test(k),U=ee?r.HTML_ENTITIES:r.XML_ENTITIES;W&&De.setDocumentLocator(W),Z.errorHandler=O(ce,De,W),Z.domBuilder=J.domBuilder||De,ee&&(u[""]=a.HTML),u.xml=u.xml||a.XML;var v=J.normalizeLineEndings||I;return d&&typeof d=="string"?Z.parse(v(d),u,U):Z.errorHandler.error("invalid doc source"),De.doc};function O(d,k,J){if(!d){if(k instanceof C)return k;d=k}var Z={},De=d instanceof Function;J=J||{};function ce(W){var u=d[W];!u&&De&&(u=d.length==2?function(ee){d(W,ee)}:d),Z[W]=u&&function(ee){u("[xmldom "+W+"] "+ee+g(J))}||function(){}}return ce("warning"),ce("error"),ce("fatalError"),Z}function C(){this.cdata=!1}function p(d,k){k.lineNumber=d.lineNumber,k.columnNumber=d.columnNumber}C.prototype={startDocument:function(){this.doc=new s().createDocument(null,null,null),this.locator&&(this.doc.documentURI=this.locator.systemId)},startElement:function(d,k,J,Z){var De=this.doc,ce=De.createElementNS(d,J||k),W=Z.length;Y(this,ce),this.currentElement=ce,this.locator&&p(this.locator,ce);for(var u=0;u<W;u++){var d=Z.getURI(u),ee=Z.getValue(u),J=Z.getQName(u),U=De.createAttributeNS(d,J);this.locator&&p(Z.getLocator(u),U),U.value=U.nodeValue=ee,ce.setAttributeNode(U)}},endElement:function(d,k,J){var Z=this.currentElement;Z.tagName,this.currentElement=Z.parentNode},startPrefixMapping:function(d,k){},endPrefixMapping:function(d){},processingInstruction:function(d,k){var J=this.doc.createProcessingInstruction(d,k);this.locator&&p(this.locator,J),Y(this,J)},ignorableWhitespace:function(d,k,J){},characters:function(d,k,J){if(d=B.apply(this,arguments),d){if(this.cdata)var Z=this.doc.createCDATASection(d);else var Z=this.doc.createTextNode(d);this.currentElement?this.currentElement.appendChild(Z):/^\s*$/.test(d)&&this.doc.appendChild(Z),this.locator&&p(this.locator,Z)}},skippedEntity:function(d){},endDocument:function(){this.doc.normalize()},setDocumentLocator:function(d){(this.locator=d)&&(d.lineNumber=0)},comment:function(d,k,J){d=B.apply(this,arguments);var Z=this.doc.createComment(d);this.locator&&p(this.locator,Z),Y(this,Z)},startCDATA:function(){this.cdata=!0},endCDATA:function(){this.cdata=!1},startDTD:function(d,k,J){var Z=this.doc.implementation;if(Z&&Z.createDocumentType){var De=Z.createDocumentType(d,k,J);this.locator&&p(this.locator,De),Y(this,De),this.doc.doctype=De}},warning:function(d){console.warn("[xmldom warning] "+d,g(this.locator))},error:function(d){console.error("[xmldom error] "+d,g(this.locator))},fatalError:function(d){throw new A(d,this.locator)}};function g(d){if(d)return`
13
+ @`+(d.systemId||"")+"#[line:"+d.lineNumber+",col:"+d.columnNumber+"]"}function B(d,k,J){return typeof d=="string"?d.substr(k,J):d.length>=k+J||k?new java.lang.String(d,k,J)+"":d}"endDTD,startEntity,endEntity,attributeDecl,elementDecl,externalEntityDecl,internalEntityDecl,resolveEntity,getExternalSubset,notationDecl,unparsedEntityDecl".replace(/\w+/g,function(d){C.prototype[d]=function(){return null}});function Y(d,k){d.currentElement?d.currentElement.appendChild(k):d.doc.appendChild(k)}return mt.__DOMHandler=C,mt.normalizeLineEndings=I,mt.DOMParser=i,mt}var xE;function Xn(){if(xE)return Ut;xE=1;var E=GE();return Ut.DOMImplementation=E.DOMImplementation,Ut.XMLSerializer=E.XMLSerializer,Ut.DOMParser=Wn().DOMParser,Ut}var YE=Xn();const Kn={key:0,class:"xml-node__comment"},kn={key:1,class:"xml-node__cdata"},$n={key:2,class:"xml-node__element"},qn={key:0,class:"xml-node__line"},Jn=["contenteditable","onKeydown"],Qn=["contenteditable","onDblclick","onKeydown"],Zn=["contenteditable","onDblclick","onKeydown"],jn=["contenteditable","onKeydown"],zn={key:1,class:"xml-node__line"},es=["contenteditable","onKeydown"],ts=["contenteditable","onDblclick","onKeydown"],Es=["contenteditable","onDblclick","onKeydown"],rs=["contenteditable","onKeydown"],ns={key:2,class:"xml-node__line"},ss=["contenteditable","onKeydown"],Ts=["contenteditable","onDblclick","onKeydown"],os=["contenteditable","onDblclick","onKeydown"],as={key:3,class:"xml-node__line"},is=["contenteditable","onKeydown"],As=["contenteditable","onDblclick","onKeydown"],Rs=["contenteditable","onDblclick","onKeydown"],Ss={key:4},Ns={key:0,class:"xml-node__line"},Is=["contenteditable","onKeydown"],Os=["contenteditable","onDblclick","onKeydown"],ls=["contenteditable","onDblclick","onKeydown"],us=["title"],Cs={class:"xml-node__line"},cs=["title"],_s=["contenteditable","onKeydown"],Ls={key:1},Ds=["contenteditable","onKeydown"],ps=["contenteditable","onDblclick","onKeydown"],ds=["contenteditable","onDblclick","onKeydown"],Ps=["title"],fs={key:0,class:"xml-node__children"},hs={key:0,class:"xml-node__text"},Ms=["contenteditable","onKeydown"],Us={key:1,class:"xml-node__line"},ms=Pt(T.defineComponent({__name:"XmlNode",props:{node:{},index:{},level:{default:0},parentPath:{default:""},expanded:{},theme:{},selfClosingTags:{default:()=>new Set}},emits:["toggle-expand","copy","update:tagName","update:attributeName","update:attributeValue","update:textContent","update:cdataContent"],setup(E,{emit:t}){T.useCssVars(_=>({"451d9899":_.theme.colors.collapsedText,"6296679a":_.theme.colors.collapsedBackground,cd71bc7c:_.theme.colors.collapsedBackgroundHover,"30a02a6b":_.theme.colors.indentLine}));const r=E,n=t,s=T.ref(!1),a=T.ref(null),A=T.ref(null),c=T.ref(!1),I=T.ref(!1),i=T.ref(""),O=T.ref(""),C=T.ref(""),p=T.ref(""),g=T.ref(""),B=T.ref(null),Y=T.ref(null),d=T.ref(null),k=T.ref(null),J=T.ref(null),Z=T.computed(()=>Object.keys(r.node).find(se=>!se.startsWith(":")&&!se.startsWith("#"))||""),De=T.computed(()=>Z.value?r.parentPath?`${r.parentPath}.${Z.value}[${r.index}]`:`${Z.value}[${r.index}]`:""),ce=T.computed(()=>r.expanded.has(De.value)),W=T.computed(()=>r.node["#comment"]?"comment":r.node.__cdata?"cdata":Z.value?"element":"unknown"),u=T.computed(()=>{const _=r.node[":@"]||{},se={};return Object.keys(_).forEach(Be=>{Be.startsWith("@_")&&(se[Be.substring(2)]=_[Be])}),se}),ee=T.computed(()=>{if(W.value!=="element"||!Z.value)return[];const _=r.node[Z.value];return Array.isArray(_)?_:[]}),U=T.computed(()=>ee.value.some(_=>_.__cdata)),v=T.computed(()=>{if(!U.value)return"";const _=ee.value.find(se=>se.__cdata);if(_&&Array.isArray(_.__cdata)){const se=_.__cdata;if(se.length>0&&se[0]["#text"])return se[0]["#text"]}return""}),te=T.computed(()=>{if(W.value!=="element"||!Z.value||U.value)return"";const _=r.node[Z.value];if(!Array.isArray(_))return"";const se=_.find(Be=>Be["#text"]);return se?se["#text"]:""}),Ee=T.computed(()=>{if(W.value!=="comment")return"";const _=r.node["#comment"];return Array.isArray(_)&&_.length>0&&_[0]["#text"]||""}),Q=T.computed(()=>ee.value.some(_=>Object.keys(_).some(Be=>!Be.startsWith("#")&&!Be.startsWith(":")))),Ce=T.computed(()=>Q.value?ee.value.filter(_=>Object.keys(_).some(Be=>!Be.startsWith("#")&&!Be.startsWith(":"))).length:0),_e=T.computed(()=>W.value==="element"&&!Q.value&&te.value!==""),pe=T.computed(()=>W.value==="element"&&!Q.value&&te.value===""),b=T.computed(()=>pe.value?r.node[":selfClosing"]===!0:!1),j=()=>{Q.value&&n("toggle-expand",De.value)},Ie=(_,se)=>`${De.value}-child-${se}`,me=()=>`${De.value}.${Z.value}`,oe=()=>{s.value=!0,i.value=Z.value,T.nextTick(()=>{if(B.value){B.value.focus();const _=document.createRange();_.selectNodeContents(B.value);const se=window.getSelection();se?.removeAllRanges(),se?.addRange(_)}})},w=_=>{a.value=_,O.value=_,T.nextTick(()=>{if(Y.value){Y.value.focus();const se=document.createRange();se.selectNodeContents(Y.value);const Be=window.getSelection();Be?.removeAllRanges(),Be?.addRange(se)}})},P=_=>{A.value=_,C.value=u.value[_]||"",T.nextTick(()=>{if(d.value){d.value.focus();const se=document.createRange();se.selectNodeContents(d.value);const Be=window.getSelection();Be?.removeAllRanges(),Be?.addRange(se)}})},m=()=>{c.value=!0,p.value=te.value,T.nextTick(()=>{if(k.value){k.value.focus();const _=document.createRange();_.selectNodeContents(k.value);const se=window.getSelection();se?.removeAllRanges(),se?.addRange(_)}})},h=()=>{if(!s.value)return;const _=B.value?.innerText.trim()||"";if(!_||_===Z.value){s.value=!1;return}s.value=!1,n("update:tagName",De.value,Z.value,_)},y=()=>{if(!a.value)return;const _=a.value,se=Y.value?.innerText.trim()||"";if(!se||se===_){a.value=null;return}a.value=null,n("update:attributeName",De.value,_,se)},$=()=>{if(!A.value)return;const _=A.value,se=d.value?.innerText.trim()||"";A.value=null,n("update:attributeValue",De.value,_,se)},M=()=>{if(!c.value)return;const _=k.value?.innerText||"";if(_===te.value){c.value=!1;return}c.value=!1,n("update:textContent",De.value,_)},z=()=>{s.value=!1,i.value=Z.value},re=()=>{a.value&&(O.value=a.value,a.value=null)},Ae=()=>{A.value&&(C.value=u.value[A.value]||"",A.value=null)},le=()=>{c.value=!1,p.value=te.value},Ue=()=>{I.value=!0,g.value=v.value,T.nextTick(()=>{if(J.value){J.value.focus();const _=document.createRange();_.selectNodeContents(J.value);const se=window.getSelection();se?.removeAllRanges(),se?.addRange(_)}})},Se=()=>{if(!I.value)return;const _=J.value?.innerText||"";if(_===v.value){I.value=!1;return}I.value=!1,n("update:cdataContent",De.value,_)},q=()=>{I.value=!1,g.value=v.value},ge=_=>{Q.value&&(_.preventDefault(),oe())};return(_,se)=>{const Be=T.resolveComponent("XmlNode",!0);return T.openBlock(),T.createElementBlock("div",{class:"xml-node",style:T.normalizeStyle({paddingLeft:_.level>0?"16px":"0"})},[W.value==="comment"?(T.openBlock(),T.createElementBlock("div",Kn,[T.createElementVNode("span",{style:T.normalizeStyle({color:_.theme.colors.xmlComment})}," <!-- "+T.toDisplayString(Ee.value)+" --> ",5)])):W.value==="cdata"?(T.openBlock(),T.createElementBlock("div",kn,[T.createElementVNode("span",{style:T.normalizeStyle({color:_.theme.colors.xmlCdata})}," <![CDATA["+T.toDisplayString(_.node.__cdata)+"]]> ",5)])):W.value==="element"?(T.openBlock(),T.createElementBlock("div",$n,[U.value?(T.openBlock(),T.createElementBlock("div",qn,[T.createElementVNode("span",{class:"xml-node__bracket",style:T.normalizeStyle({color:_.theme.colors.xmlBracket})},"<",4),T.createElementVNode("span",{class:"xml-node__tag xml-node__tag--editable",style:T.normalizeStyle({color:_.theme.colors.xmlTag}),contenteditable:s.value,onDblclick:oe,onContextmenu:ge,onKeydown:[T.withKeys(T.withModifiers(h,["prevent"]),["enter"]),T.withKeys(z,["escape"])],onBlur:h,ref_key:"tagNameRef",ref:B,title:"Double-click to edit tag name"},T.toDisplayString(s.value?i.value:Z.value),45,Jn),(T.openBlock(!0),T.createElementBlock(T.Fragment,null,T.renderList(u.value,(de,H)=>(T.openBlock(),T.createElementBlock("span",{key:H,class:"xml-node__attribute"},[T.createElementVNode("span",{class:"xml-node__attr-name xml-node__attr-name--editable",style:T.normalizeStyle({color:_.theme.colors.xmlAttribute}),contenteditable:a.value===H,onDblclick:V=>w(H),onKeydown:[T.withKeys(T.withModifiers(y,["prevent"]),["enter"]),T.withKeys(re,["escape"])],onBlur:y,ref_for:!0,ref:V=>{a.value===H&&(Y.value=V)},title:"Double-click to edit attribute name"},T.toDisplayString(a.value===H?O.value:H),45,Qn),T.createElementVNode("span",{class:"xml-node__equals",style:T.normalizeStyle({color:_.theme.colors.xmlEquals})},"=",4),T.createElementVNode("span",{class:"xml-node__quote",style:T.normalizeStyle({color:_.theme.colors.xmlQuote})},'"',4),T.createElementVNode("span",{class:"xml-node__attr-value xml-node__attr-value--editable",style:T.normalizeStyle({color:_.theme.colors.xmlAttributeValue}),contenteditable:A.value===H,onDblclick:V=>P(H),onKeydown:[T.withKeys(T.withModifiers($,["prevent"]),["enter"]),T.withKeys(Ae,["escape"])],onBlur:$,ref_for:!0,ref:V=>{A.value===H&&(d.value=V)},title:"Double-click to edit attribute value"},T.toDisplayString(A.value===H?C.value:de),45,Zn),T.createElementVNode("span",{class:"xml-node__quote",style:T.normalizeStyle({color:_.theme.colors.xmlQuote})},'"',4)]))),128)),T.createElementVNode("span",{class:"xml-node__bracket",style:T.normalizeStyle({color:_.theme.colors.xmlBracket})},">",4),T.createElementVNode("span",{class:"xml-node__cdata",style:T.normalizeStyle({color:_.theme.colors.xmlCdata})},"<![CDATA[",4),T.createElementVNode("span",{class:"xml-node__cdata-content xml-node__cdata-content--editable",style:T.normalizeStyle({color:_.theme.colors.xmlCdata}),contenteditable:I.value,onDblclick:Ue,onKeydown:[T.withKeys(T.withModifiers(Se,["prevent"]),["enter"]),T.withKeys(q,["escape"])],onBlur:Se,ref_key:"cdataContentRef",ref:J,title:"Double-click to edit CDATA content"},T.toDisplayString(I.value?g.value:v.value),45,jn),T.createElementVNode("span",{class:"xml-node__cdata",style:T.normalizeStyle({color:_.theme.colors.xmlCdata})},"]]>",4),T.createElementVNode("span",{class:"xml-node__bracket",style:T.normalizeStyle({color:_.theme.colors.xmlBracket})},"</",4),T.createElementVNode("span",{class:"xml-node__tag",style:T.normalizeStyle({color:_.theme.colors.xmlTag})},T.toDisplayString(s.value?i.value:Z.value),5),T.createElementVNode("span",{class:"xml-node__bracket",style:T.normalizeStyle({color:_.theme.colors.xmlBracket})},">",4)])):_e.value?(T.openBlock(),T.createElementBlock("div",zn,[T.createElementVNode("span",{class:"xml-node__bracket",style:T.normalizeStyle({color:_.theme.colors.xmlBracket})},"<",4),T.createElementVNode("span",{class:"xml-node__tag xml-node__tag--editable",style:T.normalizeStyle({color:_.theme.colors.xmlTag}),contenteditable:s.value,onDblclick:oe,onContextmenu:ge,onKeydown:[T.withKeys(T.withModifiers(h,["prevent"]),["enter"]),T.withKeys(z,["escape"])],onBlur:h,ref_key:"tagNameRef",ref:B,title:"Double-click to edit tag name"},T.toDisplayString(s.value?i.value:Z.value),45,es),(T.openBlock(!0),T.createElementBlock(T.Fragment,null,T.renderList(u.value,(de,H)=>(T.openBlock(),T.createElementBlock("span",{key:H,class:"xml-node__attribute"},[T.createElementVNode("span",{class:"xml-node__attr-name xml-node__attr-name--editable",style:T.normalizeStyle({color:_.theme.colors.xmlAttribute}),contenteditable:a.value===H,onDblclick:V=>w(H),onKeydown:[T.withKeys(T.withModifiers(y,["prevent"]),["enter"]),T.withKeys(re,["escape"])],onBlur:y,ref_for:!0,ref:V=>{a.value===H&&(Y.value=V)},title:"Double-click to edit attribute name"},T.toDisplayString(a.value===H?O.value:H),45,ts),T.createElementVNode("span",{class:"xml-node__equals",style:T.normalizeStyle({color:_.theme.colors.xmlEquals})},"=",4),T.createElementVNode("span",{class:"xml-node__quote",style:T.normalizeStyle({color:_.theme.colors.xmlQuote})},'"',4),T.createElementVNode("span",{class:"xml-node__attr-value xml-node__attr-value--editable",style:T.normalizeStyle({color:_.theme.colors.xmlAttributeValue}),contenteditable:A.value===H,onDblclick:V=>P(H),onKeydown:[T.withKeys(T.withModifiers($,["prevent"]),["enter"]),T.withKeys(Ae,["escape"])],onBlur:$,ref_for:!0,ref:V=>{A.value===H&&(d.value=V)},title:"Double-click to edit attribute value"},T.toDisplayString(A.value===H?C.value:de),45,Es),T.createElementVNode("span",{class:"xml-node__quote",style:T.normalizeStyle({color:_.theme.colors.xmlQuote})},'"',4)]))),128)),T.createElementVNode("span",{class:"xml-node__bracket",style:T.normalizeStyle({color:_.theme.colors.xmlBracket})},">",4),T.createElementVNode("span",{class:"xml-node__text-content xml-node__text-content--editable",style:T.normalizeStyle({color:_.theme.colors.xmlText}),contenteditable:c.value,onDblclick:m,onKeydown:[T.withKeys(T.withModifiers(M,["prevent"]),["enter"]),T.withKeys(le,["escape"])],onBlur:M,ref_key:"textContentRef",ref:k,title:"Double-click to edit text content"},T.toDisplayString(c.value?p.value:te.value),45,rs),T.createElementVNode("span",{class:"xml-node__bracket",style:T.normalizeStyle({color:_.theme.colors.xmlBracket})},"</",4),T.createElementVNode("span",{class:"xml-node__tag",style:T.normalizeStyle({color:_.theme.colors.xmlTag})},T.toDisplayString(s.value?i.value:Z.value),5),T.createElementVNode("span",{class:"xml-node__bracket",style:T.normalizeStyle({color:_.theme.colors.xmlBracket})},">",4)])):pe.value&&b.value?(T.openBlock(),T.createElementBlock("div",ns,[T.createElementVNode("span",{class:"xml-node__bracket",style:T.normalizeStyle({color:_.theme.colors.xmlBracket})},"<",4),T.createElementVNode("span",{class:"xml-node__tag xml-node__tag--editable",style:T.normalizeStyle({color:_.theme.colors.xmlTag}),contenteditable:s.value,onDblclick:oe,onContextmenu:ge,onKeydown:[T.withKeys(T.withModifiers(h,["prevent"]),["enter"]),T.withKeys(z,["escape"])],onBlur:h,ref_key:"tagNameRef",ref:B,title:"Double-click to edit tag name"},T.toDisplayString(s.value?i.value:Z.value),45,ss),(T.openBlock(!0),T.createElementBlock(T.Fragment,null,T.renderList(u.value,(de,H)=>(T.openBlock(),T.createElementBlock("span",{key:H,class:"xml-node__attribute"},[T.createElementVNode("span",{class:"xml-node__attr-name xml-node__attr-name--editable",style:T.normalizeStyle({color:_.theme.colors.xmlAttribute}),contenteditable:a.value===H,onDblclick:V=>w(H),onKeydown:[T.withKeys(T.withModifiers(y,["prevent"]),["enter"]),T.withKeys(re,["escape"])],onBlur:y,ref_for:!0,ref:V=>{a.value===H&&(Y.value=V)},title:"Double-click to edit attribute name"},T.toDisplayString(a.value===H?O.value:H),45,Ts),T.createElementVNode("span",{class:"xml-node__equals",style:T.normalizeStyle({color:_.theme.colors.xmlEquals})},"=",4),T.createElementVNode("span",{class:"xml-node__quote",style:T.normalizeStyle({color:_.theme.colors.xmlQuote})},'"',4),T.createElementVNode("span",{class:"xml-node__attr-value xml-node__attr-value--editable",style:T.normalizeStyle({color:_.theme.colors.xmlAttributeValue}),contenteditable:A.value===H,onDblclick:V=>P(H),onKeydown:[T.withKeys(T.withModifiers($,["prevent"]),["enter"]),T.withKeys(Ae,["escape"])],onBlur:$,ref_for:!0,ref:V=>{A.value===H&&(d.value=V)},title:"Double-click to edit attribute value"},T.toDisplayString(A.value===H?C.value:de),45,os),T.createElementVNode("span",{class:"xml-node__quote",style:T.normalizeStyle({color:_.theme.colors.xmlQuote})},'"',4)]))),128)),T.createElementVNode("span",{class:"xml-node__bracket",style:T.normalizeStyle({color:_.theme.colors.xmlBracket})}," />",4)])):pe.value?(T.openBlock(),T.createElementBlock("div",as,[T.createElementVNode("span",{class:"xml-node__bracket",style:T.normalizeStyle({color:_.theme.colors.xmlBracket})},"<",4),T.createElementVNode("span",{class:"xml-node__tag xml-node__tag--editable",style:T.normalizeStyle({color:_.theme.colors.xmlTag}),contenteditable:s.value,onDblclick:oe,onContextmenu:ge,onKeydown:[T.withKeys(T.withModifiers(h,["prevent"]),["enter"]),T.withKeys(z,["escape"])],onBlur:h,ref_key:"tagNameRef",ref:B,title:"Double-click to edit tag name"},T.toDisplayString(s.value?i.value:Z.value),45,is),(T.openBlock(!0),T.createElementBlock(T.Fragment,null,T.renderList(u.value,(de,H)=>(T.openBlock(),T.createElementBlock("span",{key:H,class:"xml-node__attribute"},[T.createElementVNode("span",{class:"xml-node__attr-name xml-node__attr-name--editable",style:T.normalizeStyle({color:_.theme.colors.xmlAttribute}),contenteditable:a.value===H,onDblclick:V=>w(H),onKeydown:[T.withKeys(T.withModifiers(y,["prevent"]),["enter"]),T.withKeys(re,["escape"])],onBlur:y,ref_for:!0,ref:V=>{a.value===H&&(Y.value=V)},title:"Double-click to edit attribute name"},T.toDisplayString(a.value===H?O.value:H),45,As),T.createElementVNode("span",{class:"xml-node__equals",style:T.normalizeStyle({color:_.theme.colors.xmlEquals})},"=",4),T.createElementVNode("span",{class:"xml-node__quote",style:T.normalizeStyle({color:_.theme.colors.xmlQuote})},'"',4),T.createElementVNode("span",{class:"xml-node__attr-value xml-node__attr-value--editable",style:T.normalizeStyle({color:_.theme.colors.xmlAttributeValue}),contenteditable:A.value===H,onDblclick:V=>P(H),onKeydown:[T.withKeys(T.withModifiers($,["prevent"]),["enter"]),T.withKeys(Ae,["escape"])],onBlur:$,ref_for:!0,ref:V=>{A.value===H&&(d.value=V)},title:"Double-click to edit attribute value"},T.toDisplayString(A.value===H?C.value:de),45,Rs),T.createElementVNode("span",{class:"xml-node__quote",style:T.normalizeStyle({color:_.theme.colors.xmlQuote})},'"',4)]))),128)),T.createElementVNode("span",{class:"xml-node__bracket",style:T.normalizeStyle({color:_.theme.colors.xmlBracket})},"></",4),T.createElementVNode("span",{class:"xml-node__tag",style:T.normalizeStyle({color:_.theme.colors.xmlTag})},T.toDisplayString(s.value?i.value:Z.value),5),T.createElementVNode("span",{class:"xml-node__bracket",style:T.normalizeStyle({color:_.theme.colors.xmlBracket})},">",4)])):(T.openBlock(),T.createElementBlock("div",Ss,[!ce.value&&Q.value?(T.openBlock(),T.createElementBlock("div",Ns,[T.createElementVNode("span",{class:"xml-node__clickable-part",onClick:se[0]||(se[0]=de=>j()),title:"Click to expand"},[T.createElementVNode("span",{class:"xml-node__bracket",style:T.normalizeStyle({color:_.theme.colors.xmlBracket})},"<",4),T.createElementVNode("span",{class:"xml-node__tag xml-node__tag--editable",style:T.normalizeStyle({color:_.theme.colors.xmlTag}),contenteditable:s.value,onDblclick:T.withModifiers(oe,["stop"]),onContextmenu:ge,onKeydown:[T.withKeys(T.withModifiers(h,["prevent"]),["enter"]),T.withKeys(z,["escape"])],onBlur:h,ref_key:"tagNameRef",ref:B,title:"Double-click or right-click to edit tag name"},T.toDisplayString(s.value?i.value:Z.value),45,Is)]),(T.openBlock(!0),T.createElementBlock(T.Fragment,null,T.renderList(u.value,(de,H)=>(T.openBlock(),T.createElementBlock("span",{key:H,class:"xml-node__attribute"},[T.createElementVNode("span",{class:"xml-node__attr-name xml-node__attr-name--editable",style:T.normalizeStyle({color:_.theme.colors.xmlAttribute}),contenteditable:a.value===H,onDblclick:V=>w(H),onKeydown:[T.withKeys(T.withModifiers(y,["prevent"]),["enter"]),T.withKeys(re,["escape"])],onBlur:y,ref_for:!0,ref:V=>{a.value===H&&(Y.value=V)},title:"Double-click to edit attribute name"},T.toDisplayString(a.value===H?O.value:H),45,Os),T.createElementVNode("span",{class:"xml-node__equals",style:T.normalizeStyle({color:_.theme.colors.xmlEquals})},"=",4),T.createElementVNode("span",{class:"xml-node__quote",style:T.normalizeStyle({color:_.theme.colors.xmlQuote})},'"',4),T.createElementVNode("span",{class:"xml-node__attr-value xml-node__attr-value--editable",style:T.normalizeStyle({color:_.theme.colors.xmlAttributeValue}),contenteditable:A.value===H,onDblclick:V=>P(H),onKeydown:[T.withKeys(T.withModifiers($,["prevent"]),["enter"]),T.withKeys(Ae,["escape"])],onBlur:$,ref_for:!0,ref:V=>{A.value===H&&(d.value=V)},title:"Double-click to edit attribute value"},T.toDisplayString(A.value===H?C.value:de),45,ls),T.createElementVNode("span",{class:"xml-node__quote",style:T.normalizeStyle({color:_.theme.colors.xmlQuote})},'"',4)]))),128)),T.createElementVNode("span",{class:"xml-node__clickable-part",onClick:se[1]||(se[1]=de=>j()),title:"Click to expand"},[T.createElementVNode("span",{class:"xml-node__bracket",style:T.normalizeStyle({color:_.theme.colors.xmlBracket})},">",4)]),T.createElementVNode("span",{class:"xml-node__collapsed-badge",onClick:se[2]||(se[2]=de=>j()),title:`Click to expand ${Ce.value} tag${Ce.value>1?"s":""}`},T.toDisplayString(Ce.value)+" tag"+T.toDisplayString(Ce.value>1?"s":""),9,us),T.createElementVNode("span",{class:"xml-node__clickable-part",onClick:se[3]||(se[3]=de=>j()),title:"Click to expand"},[T.createElementVNode("span",{class:"xml-node__bracket",style:T.normalizeStyle({color:_.theme.colors.xmlBracket})},"</",4),T.createElementVNode("span",{class:"xml-node__tag",style:T.normalizeStyle({color:_.theme.colors.xmlTag})},T.toDisplayString(s.value?i.value:Z.value),5),T.createElementVNode("span",{class:"xml-node__bracket",style:T.normalizeStyle({color:_.theme.colors.xmlBracket})},">",4)])])):(T.openBlock(),T.createElementBlock(T.Fragment,{key:1},[T.createElementVNode("div",Cs,[Q.value?(T.openBlock(),T.createElementBlock("span",{key:0,class:"xml-node__clickable-part",onClick:se[4]||(se[4]=de=>j()),title:ce.value?"Click to collapse":"Click to expand"},[T.createElementVNode("span",{class:"xml-node__bracket",style:T.normalizeStyle({color:_.theme.colors.xmlBracket})},"<",4),T.createElementVNode("span",{class:"xml-node__tag xml-node__tag--editable",style:T.normalizeStyle({color:_.theme.colors.xmlTag}),contenteditable:s.value,onDblclick:T.withModifiers(oe,["stop"]),onContextmenu:ge,onKeydown:[T.withKeys(T.withModifiers(h,["prevent"]),["enter"]),T.withKeys(z,["escape"])],onBlur:h,ref_key:"tagNameRef",ref:B,title:"Double-click or right-click to edit tag name"},T.toDisplayString(s.value?i.value:Z.value),45,_s)],8,cs)):(T.openBlock(),T.createElementBlock("span",Ls,[T.createElementVNode("span",{class:"xml-node__bracket",style:T.normalizeStyle({color:_.theme.colors.xmlBracket})},"<",4),T.createElementVNode("span",{class:"xml-node__tag xml-node__tag--editable",style:T.normalizeStyle({color:_.theme.colors.xmlTag}),contenteditable:s.value,onDblclick:oe,onKeydown:[T.withKeys(T.withModifiers(h,["prevent"]),["enter"]),T.withKeys(z,["escape"])],onBlur:h,ref_key:"tagNameRef",ref:B,title:"Double-click to edit tag name"},T.toDisplayString(s.value?i.value:Z.value),45,Ds)])),(T.openBlock(!0),T.createElementBlock(T.Fragment,null,T.renderList(u.value,(de,H)=>(T.openBlock(),T.createElementBlock("span",{key:H,class:"xml-node__attribute"},[T.createElementVNode("span",{class:"xml-node__attr-name xml-node__attr-name--editable",style:T.normalizeStyle({color:_.theme.colors.xmlAttribute}),contenteditable:a.value===H,onDblclick:V=>w(H),onKeydown:[T.withKeys(T.withModifiers(y,["prevent"]),["enter"]),T.withKeys(re,["escape"])],onBlur:y,ref_for:!0,ref:V=>{a.value===H&&(Y.value=V)},title:"Double-click to edit attribute name"},T.toDisplayString(a.value===H?O.value:H),45,ps),T.createElementVNode("span",{class:"xml-node__equals",style:T.normalizeStyle({color:_.theme.colors.xmlEquals})},"=",4),T.createElementVNode("span",{class:"xml-node__quote",style:T.normalizeStyle({color:_.theme.colors.xmlQuote})},'"',4),T.createElementVNode("span",{class:"xml-node__attr-value xml-node__attr-value--editable",style:T.normalizeStyle({color:_.theme.colors.xmlAttributeValue}),contenteditable:A.value===H,onDblclick:V=>P(H),onKeydown:[T.withKeys(T.withModifiers($,["prevent"]),["enter"]),T.withKeys(Ae,["escape"])],onBlur:$,ref_for:!0,ref:V=>{A.value===H&&(d.value=V)},title:"Double-click to edit attribute value"},T.toDisplayString(A.value===H?C.value:de),45,ds),T.createElementVNode("span",{class:"xml-node__quote",style:T.normalizeStyle({color:_.theme.colors.xmlQuote})},'"',4)]))),128)),Q.value?(T.openBlock(),T.createElementBlock("span",{key:2,class:"xml-node__clickable-part",onClick:se[5]||(se[5]=de=>j()),title:ce.value?"Click to collapse":"Click to expand"},[T.createElementVNode("span",{class:"xml-node__bracket",style:T.normalizeStyle({color:_.theme.colors.xmlBracket})},">",4)],8,Ps)):(T.openBlock(),T.createElementBlock("span",{key:3,class:"xml-node__bracket",style:T.normalizeStyle({color:_.theme.colors.xmlBracket})},T.toDisplayString(Q.value?">":"/>"),5))]),ce.value&&Q.value?(T.openBlock(),T.createElementBlock("div",fs,[ee.value.length===0&&te.value.trim()?(T.openBlock(),T.createElementBlock("div",hs,[T.createElementVNode("span",{class:"xml-node__text-content xml-node__text-content--editable",style:T.normalizeStyle({color:_.theme.colors.xmlText}),contenteditable:c.value,onDblclick:m,onKeydown:[T.withKeys(T.withModifiers(M,["prevent"]),["enter"]),T.withKeys(le,["escape"])],onBlur:M,ref_key:"textContentRef",ref:k,title:"Double-click to edit text content"},T.toDisplayString(c.value?p.value:te.value),45,Ms)])):T.createCommentVNode("",!0),(T.openBlock(!0),T.createElementBlock(T.Fragment,null,T.renderList(ee.value,(de,H)=>(T.openBlock(),T.createBlock(Be,{key:Ie(de,H),node:de,index:H,level:_.level+1,"parent-path":me(),expanded:_.expanded,theme:_.theme,selfClosingTags:_.selfClosingTags,onToggleExpand:se[6]||(se[6]=V=>_.$emit("toggle-expand",V)),onCopy:se[7]||(se[7]=V=>_.$emit("copy",V)),"onUpdate:tagName":se[8]||(se[8]=(V,ve,Qe)=>_.$emit("update:tagName",V,ve,Qe)),"onUpdate:attributeName":se[9]||(se[9]=(V,ve,Qe)=>_.$emit("update:attributeName",V,ve,Qe)),"onUpdate:attributeValue":se[10]||(se[10]=(V,ve,Qe)=>_.$emit("update:attributeValue",V,ve,Qe)),"onUpdate:textContent":se[11]||(se[11]=(V,ve)=>_.$emit("update:textContent",V,ve)),"onUpdate:cdataContent":se[12]||(se[12]=(V,ve)=>_.$emit("update:cdataContent",V,ve))},null,8,["node","index","level","parent-path","expanded","theme","selfClosingTags"]))),128))])):T.createCommentVNode("",!0),ce.value&&Q.value?(T.openBlock(),T.createElementBlock("div",Us,[T.createElementVNode("span",{class:"xml-node__clickable-part",onClick:se[13]||(se[13]=de=>j()),title:"Click to collapse"},[T.createElementVNode("span",{class:"xml-node__bracket",style:T.normalizeStyle({color:_.theme.colors.xmlBracket})},"</",4),T.createElementVNode("span",{class:"xml-node__tag",style:T.normalizeStyle({color:_.theme.colors.xmlTag})},T.toDisplayString(s.value?i.value:Z.value),5),T.createElementVNode("span",{class:"xml-node__bracket",style:T.normalizeStyle({color:_.theme.colors.xmlBracket})},">",4)])])):T.createCommentVNode("",!0)],64))]))])):T.createCommentVNode("",!0)],4)}}}),[["__scopeId","data-v-2ea5f623"]]),VE={"github-light":{name:"github-light",colors:{background:"#ffffff",surfaceBackground:"#f6f8fa",border:"#d0d7de",text:"#24292f",textSecondary:"#57606a",buttonBackground:"#f6f8fa",buttonBackgroundHover:"#f3f4f6",buttonBorder:"#d0d7de",buttonText:"#24292f",buttonPrimary:"#1f883d",buttonPrimaryHover:"#1a7f37",success:"#1f883d",successBackground:"#dafbe1",error:"#cf222e",errorBackground:"#ffebe9",xmlTag:"#116329",xmlAttribute:"#0550ae",xmlAttributeValue:"#0a3069",xmlText:"#24292f",xmlComment:"#6e7781",xmlCdata:"#8250df",xmlDeclaration:"#953800",xmlBracket:"#6e7781",xmlEquals:"#6e7781",xmlQuote:"#0550ae",collapsedBackground:"#ddf4ff",collapsedBackgroundHover:"#b6e3ff",collapsedText:"#0969da",indentLine:"#d0d7de"}},"github-dark":{name:"github-dark",colors:{background:"#0d1117",surfaceBackground:"#161b22",border:"#30363d",text:"#c9d1d9",textSecondary:"#8b949e",buttonBackground:"#21262d",buttonBackgroundHover:"#30363d",buttonBorder:"#30363d",buttonText:"#c9d1d9",buttonPrimary:"#238636",buttonPrimaryHover:"#2ea043",success:"#3fb950",successBackground:"#0f2e1c",error:"#f85149",errorBackground:"#3d1319",xmlTag:"#7ee787",xmlAttribute:"#79c0ff",xmlAttributeValue:"#a5d6ff",xmlText:"#c9d1d9",xmlComment:"#8b949e",xmlCdata:"#d2a8ff",xmlDeclaration:"#ffa657",xmlBracket:"#8b949e",xmlEquals:"#8b949e",xmlQuote:"#79c0ff",collapsedBackground:"#1c2128",collapsedBackgroundHover:"#2d333b",collapsedText:"#79c0ff",indentLine:"#30363d"}},"min-light":{name:"min-light",colors:{background:"#ffffff",surfaceBackground:"#fafafa",border:"#e5e5e5",text:"#171717",textSecondary:"#737373",buttonBackground:"#fafafa",buttonBackgroundHover:"#f5f5f5",buttonBorder:"#e5e5e5",buttonText:"#171717",buttonPrimary:"#22c55e",buttonPrimaryHover:"#16a34a",success:"#22c55e",successBackground:"#dcfce7",error:"#ef4444",errorBackground:"#fee2e2",xmlTag:"#16a34a",xmlAttribute:"#2563eb",xmlAttributeValue:"#1e40af",xmlText:"#171717",xmlComment:"#737373",xmlCdata:"#9333ea",xmlDeclaration:"#ea580c",xmlBracket:"#737373",xmlEquals:"#737373",xmlQuote:"#2563eb",collapsedBackground:"#e0f2fe",collapsedBackgroundHover:"#bae6fd",collapsedText:"#0284c7",indentLine:"#e5e7eb"}},"slack-ochin":{name:"slack-ochin",colors:{background:"#fef5ed",surfaceBackground:"#fef9f3",border:"#e9dcc9",text:"#3d3c40",textSecondary:"#616061",buttonBackground:"#fef9f3",buttonBackgroundHover:"#f9f0e5",buttonBorder:"#e9dcc9",buttonText:"#3d3c40",buttonPrimary:"#007a5a",buttonPrimaryHover:"#006644",success:"#007a5a",successBackground:"#d1f4e0",error:"#e01e5a",errorBackground:"#ffdbea",xmlTag:"#007a5a",xmlAttribute:"#1264a3",xmlAttributeValue:"#0b4c8c",xmlText:"#3d3c40",xmlComment:"#616061",xmlCdata:"#8b2eff",xmlDeclaration:"#e8912d",xmlBracket:"#616061",xmlEquals:"#616061",xmlQuote:"#1264a3",collapsedBackground:"#ffe8d6",collapsedBackgroundHover:"#ffd4b0",collapsedText:"#d73502",indentLine:"#e8d5b7"}}},Bs=E=>VE[E]||VE["github-light"],vE=":A-Za-z_\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD",gs=vE+"\\-.\\d\\u00B7\\u0300-\\u036F\\u203F-\\u2040",ys="["+vE+"]["+gs+"]*",Gs=new RegExp("^"+ys+"$");function wE(E,t){const r=[];let n=t.exec(E);for(;n;){const s=[];s.startIndex=t.lastIndex-n[0].length;const a=n.length;for(let A=0;A<a;A++)s.push(n[A]);r.push(s),n=t.exec(E)}return r}const xt=function(E){const t=Gs.exec(E);return!(t===null||typeof t>"u")};function Fs(E){return typeof E<"u"}const Hs={allowBooleanAttributes:!1,unpairedTags:[]};function WE(E,t){t=Object.assign({},Hs,t);const r=[];let n=!1,s=!1;E[0]==="\uFEFF"&&(E=E.substr(1));for(let a=0;a<E.length;a++)if(E[a]==="<"&&E[a+1]==="?"){if(a+=2,a=KE(E,a),a.err)return a}else if(E[a]==="<"){let A=a;if(a++,E[a]==="!"){a=kE(E,a);continue}else{let c=!1;E[a]==="/"&&(c=!0,a++);let I="";for(;a<E.length&&E[a]!==">"&&E[a]!==" "&&E[a]!==" "&&E[a]!==`
14
+ `&&E[a]!=="\r";a++)I+=E[a];if(I=I.trim(),I[I.length-1]==="/"&&(I=I.substring(0,I.length-1),a--),!Xs(I)){let C;return I.trim().length===0?C="Invalid space after '<'.":C="Tag '"+I+"' is an invalid name.",be("InvalidTag",C,ke(E,a))}const i=Ys(E,a);if(i===!1)return be("InvalidAttr","Attributes for '"+I+"' have open quote.",ke(E,a));let O=i.value;if(a=i.index,O[O.length-1]==="/"){const C=a-O.length;O=O.substring(0,O.length-1);const p=$E(O,t);if(p===!0)n=!0;else return be(p.err.code,p.err.msg,ke(E,C+p.err.line))}else if(c)if(i.tagClosed){if(O.trim().length>0)return be("InvalidTag","Closing tag '"+I+"' can't have attributes or invalid starting.",ke(E,A));if(r.length===0)return be("InvalidTag","Closing tag '"+I+"' has not been opened.",ke(E,A));{const C=r.pop();if(I!==C.tagName){let p=ke(E,C.tagStartPos);return be("InvalidTag","Expected closing tag '"+C.tagName+"' (opened in line "+p.line+", col "+p.col+") instead of closing tag '"+I+"'.",ke(E,A))}r.length==0&&(s=!0)}}else return be("InvalidTag","Closing tag '"+I+"' doesn't have proper closing.",ke(E,a));else{const C=$E(O,t);if(C!==!0)return be(C.err.code,C.err.msg,ke(E,a-O.length+C.err.line));if(s===!0)return be("InvalidXml","Multiple possible root nodes found.",ke(E,a));t.unpairedTags.indexOf(I)!==-1||r.push({tagName:I,tagStartPos:A}),n=!0}for(a++;a<E.length;a++)if(E[a]==="<")if(E[a+1]==="!"){a++,a=kE(E,a);continue}else if(E[a+1]==="?"){if(a=KE(E,++a),a.err)return a}else break;else if(E[a]==="&"){const C=ws(E,a);if(C==-1)return be("InvalidChar","char '&' is not expected.",ke(E,a));a=C}else if(s===!0&&!XE(E[a]))return be("InvalidXml","Extra text at the end",ke(E,a));E[a]==="<"&&a--}}else{if(XE(E[a]))continue;return be("InvalidChar","char '"+E[a]+"' is not expected.",ke(E,a))}if(n){if(r.length==1)return be("InvalidTag","Unclosed tag '"+r[0].tagName+"'.",ke(E,r[0].tagStartPos));if(r.length>0)return be("InvalidXml","Invalid '"+JSON.stringify(r.map(a=>a.tagName),null,4).replace(/\r?\n/g,"")+"' found.",{line:1,col:1})}else return be("InvalidXml","Start tag expected.",1);return!0}function XE(E){return E===" "||E===" "||E===`
15
+ `||E==="\r"}function KE(E,t){const r=t;for(;t<E.length;t++)if(E[t]=="?"||E[t]==" "){const n=E.substr(r,t-r);if(t>5&&n==="xml")return be("InvalidXml","XML declaration allowed only at the start of the document.",ke(E,t));if(E[t]=="?"&&E[t+1]==">"){t++;break}else continue}return t}function kE(E,t){if(E.length>t+5&&E[t+1]==="-"&&E[t+2]==="-"){for(t+=3;t<E.length;t++)if(E[t]==="-"&&E[t+1]==="-"&&E[t+2]===">"){t+=2;break}}else if(E.length>t+8&&E[t+1]==="D"&&E[t+2]==="O"&&E[t+3]==="C"&&E[t+4]==="T"&&E[t+5]==="Y"&&E[t+6]==="P"&&E[t+7]==="E"){let r=1;for(t+=8;t<E.length;t++)if(E[t]==="<")r++;else if(E[t]===">"&&(r--,r===0))break}else if(E.length>t+9&&E[t+1]==="["&&E[t+2]==="C"&&E[t+3]==="D"&&E[t+4]==="A"&&E[t+5]==="T"&&E[t+6]==="A"&&E[t+7]==="["){for(t+=8;t<E.length;t++)if(E[t]==="]"&&E[t+1]==="]"&&E[t+2]===">"){t+=2;break}}return t}const bs='"',xs="'";function Ys(E,t){let r="",n="",s=!1;for(;t<E.length;t++){if(E[t]===bs||E[t]===xs)n===""?n=E[t]:n!==E[t]||(n="");else if(E[t]===">"&&n===""){s=!0;break}r+=E[t]}return n!==""?!1:{value:r,index:t,tagClosed:s}}const Vs=new RegExp(`(\\s*)([^\\s=]+)(\\s*=)?(\\s*(['"])(([\\s\\S])*?)\\5)?`,"g");function $E(E,t){const r=wE(E,Vs),n={};for(let s=0;s<r.length;s++){if(r[s][1].length===0)return be("InvalidAttr","Attribute '"+r[s][2]+"' has no space in starting.",Bt(r[s]));if(r[s][3]!==void 0&&r[s][4]===void 0)return be("InvalidAttr","Attribute '"+r[s][2]+"' is without value.",Bt(r[s]));if(r[s][3]===void 0&&!t.allowBooleanAttributes)return be("InvalidAttr","boolean attribute '"+r[s][2]+"' is not allowed.",Bt(r[s]));const a=r[s][2];if(!Ws(a))return be("InvalidAttr","Attribute '"+a+"' is an invalid name.",Bt(r[s]));if(!n.hasOwnProperty(a))n[a]=1;else return be("InvalidAttr","Attribute '"+a+"' is repeated.",Bt(r[s]))}return!0}function vs(E,t){let r=/\d/;for(E[t]==="x"&&(t++,r=/[\da-fA-F]/);t<E.length;t++){if(E[t]===";")return t;if(!E[t].match(r))break}return-1}function ws(E,t){if(t++,E[t]===";")return-1;if(E[t]==="#")return t++,vs(E,t);let r=0;for(;t<E.length;t++,r++)if(!(E[t].match(/\w/)&&r<20)){if(E[t]===";")break;return-1}return t}function be(E,t,r){return{err:{code:E,msg:t,line:r.line||r,col:r.col}}}function Ws(E){return xt(E)}function Xs(E){return xt(E)}function ke(E,t){const r=E.substring(0,t).split(/\r?\n/);return{line:r.length,col:r[r.length-1].length+1}}function Bt(E){return E.startIndex+E[1].length}const Ks={preserveOrder:!1,attributeNamePrefix:"@_",attributesGroupName:!1,textNodeName:"#text",ignoreAttributes:!0,removeNSPrefix:!1,allowBooleanAttributes:!1,parseTagValue:!0,parseAttributeValue:!1,trimValues:!0,cdataPropName:!1,numberParseOptions:{hex:!0,leadingZeros:!0,eNotation:!0},tagValueProcessor:function(E,t){return t},attributeValueProcessor:function(E,t){return t},stopNodes:[],alwaysCreateTextNode:!1,isArray:()=>!1,commentPropName:!1,unpairedTags:[],processEntities:!0,htmlEntities:!1,ignoreDeclaration:!1,ignorePiTags:!1,transformTagName:!1,transformAttributeName:!1,updateTag:function(E,t,r){return E},captureMetaData:!1},ks=function(E){return Object.assign({},Ks,E)};let Yt;typeof Symbol!="function"?Yt="@@xmlMetadata":Yt=Symbol("XML Node Metadata");class ct{constructor(t){this.tagname=t,this.child=[],this[":@"]={}}add(t,r){t==="__proto__"&&(t="#__proto__"),this.child.push({[t]:r})}addChild(t,r){t.tagname==="__proto__"&&(t.tagname="#__proto__"),t[":@"]&&Object.keys(t[":@"]).length>0?this.child.push({[t.tagname]:t.child,":@":t[":@"]}):this.child.push({[t.tagname]:t.child}),r!==void 0&&(this.child[this.child.length-1][Yt]={startIndex:r})}static getMetaDataSymbol(){return Yt}}class $s{constructor(t){this.suppressValidationErr=!t}readDocType(t,r){const n={};if(t[r+3]==="O"&&t[r+4]==="C"&&t[r+5]==="T"&&t[r+6]==="Y"&&t[r+7]==="P"&&t[r+8]==="E"){r=r+9;let s=1,a=!1,A=!1,c="";for(;r<t.length;r++)if(t[r]==="<"&&!A){if(a&&_t(t,"!ENTITY",r)){r+=7;let I,i;[I,i,r]=this.readEntityExp(t,r+1,this.suppressValidationErr),i.indexOf("&")===-1&&(n[I]={regx:RegExp(`&${I};`,"g"),val:i})}else if(a&&_t(t,"!ELEMENT",r)){r+=8;const{index:I}=this.readElementExp(t,r+1);r=I}else if(a&&_t(t,"!ATTLIST",r))r+=8;else if(a&&_t(t,"!NOTATION",r)){r+=9;const{index:I}=this.readNotationExp(t,r+1,this.suppressValidationErr);r=I}else if(_t(t,"!--",r))A=!0;else throw new Error("Invalid DOCTYPE");s++,c=""}else if(t[r]===">"){if(A?t[r-1]==="-"&&t[r-2]==="-"&&(A=!1,s--):s--,s===0)break}else t[r]==="["?a=!0:c+=t[r];if(s!==0)throw new Error("Unclosed DOCTYPE")}else throw new Error("Invalid Tag instead of DOCTYPE");return{entities:n,i:r}}readEntityExp(t,r){r=$e(t,r);let n="";for(;r<t.length&&!/\s/.test(t[r])&&t[r]!=='"'&&t[r]!=="'";)n+=t[r],r++;if(gt(n),r=$e(t,r),!this.suppressValidationErr){if(t.substring(r,r+6).toUpperCase()==="SYSTEM")throw new Error("External entities are not supported");if(t[r]==="%")throw new Error("Parameter entities are not supported")}let s="";return[r,s]=this.readIdentifierVal(t,r,"entity"),r--,[n,s,r]}readNotationExp(t,r){r=$e(t,r);let n="";for(;r<t.length&&!/\s/.test(t[r]);)n+=t[r],r++;!this.suppressValidationErr&&gt(n),r=$e(t,r);const s=t.substring(r,r+6).toUpperCase();if(!this.suppressValidationErr&&s!=="SYSTEM"&&s!=="PUBLIC")throw new Error(`Expected SYSTEM or PUBLIC, found "${s}"`);r+=s.length,r=$e(t,r);let a=null,A=null;if(s==="PUBLIC")[r,a]=this.readIdentifierVal(t,r,"publicIdentifier"),r=$e(t,r),(t[r]==='"'||t[r]==="'")&&([r,A]=this.readIdentifierVal(t,r,"systemIdentifier"));else if(s==="SYSTEM"&&([r,A]=this.readIdentifierVal(t,r,"systemIdentifier"),!this.suppressValidationErr&&!A))throw new Error("Missing mandatory system identifier for SYSTEM notation");return{notationName:n,publicIdentifier:a,systemIdentifier:A,index:--r}}readIdentifierVal(t,r,n){let s="";const a=t[r];if(a!=='"'&&a!=="'")throw new Error(`Expected quoted string, found "${a}"`);for(r++;r<t.length&&t[r]!==a;)s+=t[r],r++;if(t[r]!==a)throw new Error(`Unterminated ${n} value`);return r++,[r,s]}readElementExp(t,r){r=$e(t,r);let n="";for(;r<t.length&&!/\s/.test(t[r]);)n+=t[r],r++;if(!this.suppressValidationErr&&!xt(n))throw new Error(`Invalid element name: "${n}"`);r=$e(t,r);let s="";if(t[r]==="E"&&_t(t,"MPTY",r))r+=4;else if(t[r]==="A"&&_t(t,"NY",r))r+=2;else if(t[r]==="("){for(r++;r<t.length&&t[r]!==")";)s+=t[r],r++;if(t[r]!==")")throw new Error("Unterminated content model")}else if(!this.suppressValidationErr)throw new Error(`Invalid Element Expression, found "${t[r]}"`);return{elementName:n,contentModel:s.trim(),index:r}}readAttlistExp(t,r){r=$e(t,r);let n="";for(;r<t.length&&!/\s/.test(t[r]);)n+=t[r],r++;gt(n),r=$e(t,r);let s="";for(;r<t.length&&!/\s/.test(t[r]);)s+=t[r],r++;if(!gt(s))throw new Error(`Invalid attribute name: "${s}"`);r=$e(t,r);let a="";if(t.substring(r,r+8).toUpperCase()==="NOTATION"){if(a="NOTATION",r+=8,r=$e(t,r),t[r]!=="(")throw new Error(`Expected '(', found "${t[r]}"`);r++;let c=[];for(;r<t.length&&t[r]!==")";){let I="";for(;r<t.length&&t[r]!=="|"&&t[r]!==")";)I+=t[r],r++;if(I=I.trim(),!gt(I))throw new Error(`Invalid notation name: "${I}"`);c.push(I),t[r]==="|"&&(r++,r=$e(t,r))}if(t[r]!==")")throw new Error("Unterminated list of notations");r++,a+=" ("+c.join("|")+")"}else{for(;r<t.length&&!/\s/.test(t[r]);)a+=t[r],r++;const c=["CDATA","ID","IDREF","IDREFS","ENTITY","ENTITIES","NMTOKEN","NMTOKENS"];if(!this.suppressValidationErr&&!c.includes(a.toUpperCase()))throw new Error(`Invalid attribute type: "${a}"`)}r=$e(t,r);let A="";return t.substring(r,r+8).toUpperCase()==="#REQUIRED"?(A="#REQUIRED",r+=8):t.substring(r,r+7).toUpperCase()==="#IMPLIED"?(A="#IMPLIED",r+=7):[r,A]=this.readIdentifierVal(t,r,"ATTLIST"),{elementName:n,attributeName:s,attributeType:a,defaultValue:A,index:r}}}const $e=(E,t)=>{for(;t<E.length&&/\s/.test(E[t]);)t++;return t};function _t(E,t,r){for(let n=0;n<t.length;n++)if(t[n]!==E[r+n+1])return!1;return!0}function gt(E){if(xt(E))return E;throw new Error(`Invalid entity name ${E}`)}const qs=/^[-+]?0x[a-fA-F0-9]+$/,Js=/^([\-\+])?(0*)([0-9]*(\.[0-9]*)?)$/,Qs={hex:!0,leadingZeros:!0,decimalPoint:".",eNotation:!0};function Zs(E,t={}){if(t=Object.assign({},Qs,t),!E||typeof E!="string")return E;let r=E.trim();if(t.skipLike!==void 0&&t.skipLike.test(r))return E;if(E==="0")return 0;if(t.hex&&qs.test(r))return tT(r,16);if(r.search(/.+[eE].+/)!==-1)return zs(E,r,t);{const n=Js.exec(r);if(n){const s=n[1]||"",a=n[2];let A=eT(n[3]);const c=s?E[a.length+1]===".":E[a.length]===".";if(!t.leadingZeros&&(a.length>1||a.length===1&&!c))return E;{const I=Number(r),i=String(I);if(I===0)return I;if(i.search(/[eE]/)!==-1)return t.eNotation?I:E;if(r.indexOf(".")!==-1)return i==="0"||i===A||i===`${s}${A}`?I:E;let O=a?A:r;return a?O===i||s+O===i?I:E:O===i||O===s+i?I:E}}else return E}}const js=/^([-+])?(0*)(\d*(\.\d*)?[eE][-\+]?\d+)$/;function zs(E,t,r){if(!r.eNotation)return E;const n=t.match(js);if(n){let s=n[1]||"";const a=n[3].indexOf("e")===-1?"E":"e",A=n[2],c=s?E[A.length+1]===a:E[A.length]===a;return A.length>1&&c?E:A.length===1&&(n[3].startsWith(`.${a}`)||n[3][0]===a)?Number(t):r.leadingZeros&&!c?(t=(n[1]||"")+n[3],Number(t)):E}else return E}function eT(E){return E&&E.indexOf(".")!==-1&&(E=E.replace(/0+$/,""),E==="."?E="0":E[0]==="."?E="0"+E:E[E.length-1]==="."&&(E=E.substring(0,E.length-1))),E}function tT(E,t){if(parseInt)return parseInt(E,t);if(Number.parseInt)return Number.parseInt(E,t);if(window&&window.parseInt)return window.parseInt(E,t);throw new Error("parseInt, Number.parseInt, window.parseInt are not supported")}function qE(E){return typeof E=="function"?E:Array.isArray(E)?t=>{for(const r of E)if(typeof r=="string"&&t===r||r instanceof RegExp&&r.test(t))return!0}:()=>!1}class ET{constructor(t){this.options=t,this.currentNode=null,this.tagsNodeStack=[],this.docTypeEntities={},this.lastEntities={apos:{regex:/&(apos|#39|#x27);/g,val:"'"},gt:{regex:/&(gt|#62|#x3E);/g,val:">"},lt:{regex:/&(lt|#60|#x3C);/g,val:"<"},quot:{regex:/&(quot|#34|#x22);/g,val:'"'}},this.ampEntity={regex:/&(amp|#38|#x26);/g,val:"&"},this.htmlEntities={space:{regex:/&(nbsp|#160);/g,val:" "},cent:{regex:/&(cent|#162);/g,val:"¢"},pound:{regex:/&(pound|#163);/g,val:"£"},yen:{regex:/&(yen|#165);/g,val:"¥"},euro:{regex:/&(euro|#8364);/g,val:"€"},copyright:{regex:/&(copy|#169);/g,val:"©"},reg:{regex:/&(reg|#174);/g,val:"®"},inr:{regex:/&(inr|#8377);/g,val:"₹"},num_dec:{regex:/&#([0-9]{1,7});/g,val:(r,n)=>String.fromCodePoint(Number.parseInt(n,10))},num_hex:{regex:/&#x([0-9a-fA-F]{1,6});/g,val:(r,n)=>String.fromCodePoint(Number.parseInt(n,16))}},this.addExternalEntities=rT,this.parseXml=aT,this.parseTextData=nT,this.resolveNameSpace=sT,this.buildAttributesMap=oT,this.isItStopNode=ST,this.replaceEntitiesValue=AT,this.readStopNodeData=IT,this.saveTextToParentTag=RT,this.addChild=iT,this.ignoreAttributesFn=qE(this.options.ignoreAttributes)}}function rT(E){const t=Object.keys(E);for(let r=0;r<t.length;r++){const n=t[r];this.lastEntities[n]={regex:new RegExp("&"+n+";","g"),val:E[n]}}}function nT(E,t,r,n,s,a,A){if(E!==void 0&&(this.options.trimValues&&!n&&(E=E.trim()),E.length>0)){A||(E=this.replaceEntitiesValue(E));const c=this.options.tagValueProcessor(t,E,r,s,a);return c==null?E:typeof c!=typeof E||c!==E?c:this.options.trimValues?Zt(E,this.options.parseTagValue,this.options.numberParseOptions):E.trim()===E?Zt(E,this.options.parseTagValue,this.options.numberParseOptions):E}}function sT(E){if(this.options.removeNSPrefix){const t=E.split(":"),r=E.charAt(0)==="/"?"/":"";if(t[0]==="xmlns")return"";t.length===2&&(E=r+t[1])}return E}const TT=new RegExp(`([^\\s=]+)\\s*(=\\s*(['"])([\\s\\S]*?)\\3)?`,"gm");function oT(E,t,r){if(this.options.ignoreAttributes!==!0&&typeof E=="string"){const n=wE(E,TT),s=n.length,a={};for(let A=0;A<s;A++){const c=this.resolveNameSpace(n[A][1]);if(this.ignoreAttributesFn(c,t))continue;let I=n[A][4],i=this.options.attributeNamePrefix+c;if(c.length)if(this.options.transformAttributeName&&(i=this.options.transformAttributeName(i)),i==="__proto__"&&(i="#__proto__"),I!==void 0){this.options.trimValues&&(I=I.trim()),I=this.replaceEntitiesValue(I);const O=this.options.attributeValueProcessor(c,I,t);O==null?a[i]=I:typeof O!=typeof I||O!==I?a[i]=O:a[i]=Zt(I,this.options.parseAttributeValue,this.options.numberParseOptions)}else this.options.allowBooleanAttributes&&(a[i]=!0)}if(!Object.keys(a).length)return;if(this.options.attributesGroupName){const A={};return A[this.options.attributesGroupName]=a,A}return a}}const aT=function(E){E=E.replace(/\r\n?/g,`
16
+ `);const t=new ct("!xml");let r=t,n="",s="";const a=new $s(this.options.processEntities);for(let A=0;A<E.length;A++)if(E[A]==="<")if(E[A+1]==="/"){const I=Lt(E,">",A,"Closing Tag is not closed.");let i=E.substring(A+2,I).trim();if(this.options.removeNSPrefix){const p=i.indexOf(":");p!==-1&&(i=i.substr(p+1))}this.options.transformTagName&&(i=this.options.transformTagName(i)),r&&(n=this.saveTextToParentTag(n,r,s));const O=s.substring(s.lastIndexOf(".")+1);if(i&&this.options.unpairedTags.indexOf(i)!==-1)throw new Error(`Unpaired tag can not be used as closing tag: </${i}>`);let C=0;O&&this.options.unpairedTags.indexOf(O)!==-1?(C=s.lastIndexOf(".",s.lastIndexOf(".")-1),this.tagsNodeStack.pop()):C=s.lastIndexOf("."),s=s.substring(0,C),r=this.tagsNodeStack.pop(),n="",A=I}else if(E[A+1]==="?"){let I=Qt(E,A,!1,"?>");if(!I)throw new Error("Pi Tag is not closed.");if(n=this.saveTextToParentTag(n,r,s),!(this.options.ignoreDeclaration&&I.tagName==="?xml"||this.options.ignorePiTags)){const i=new ct(I.tagName);i.add(this.options.textNodeName,""),I.tagName!==I.tagExp&&I.attrExpPresent&&(i[":@"]=this.buildAttributesMap(I.tagExp,s,I.tagName)),this.addChild(r,i,s,A)}A=I.closeIndex+1}else if(E.substr(A+1,3)==="!--"){const I=Lt(E,"-->",A+4,"Comment is not closed.");if(this.options.commentPropName){const i=E.substring(A+4,I-2);n=this.saveTextToParentTag(n,r,s),r.add(this.options.commentPropName,[{[this.options.textNodeName]:i}])}A=I}else if(E.substr(A+1,2)==="!D"){const I=a.readDocType(E,A);this.docTypeEntities=I.entities,A=I.i}else if(E.substr(A+1,2)==="!["){const I=Lt(E,"]]>",A,"CDATA is not closed.")-2,i=E.substring(A+9,I);n=this.saveTextToParentTag(n,r,s);let O=this.parseTextData(i,r.tagname,s,!0,!1,!0,!0);O==null&&(O=""),this.options.cdataPropName?r.add(this.options.cdataPropName,[{[this.options.textNodeName]:i}]):r.add(this.options.textNodeName,O),A=I+2}else{let I=Qt(E,A,this.options.removeNSPrefix),i=I.tagName;const O=I.rawTagName;let C=I.tagExp,p=I.attrExpPresent,g=I.closeIndex;this.options.transformTagName&&(i=this.options.transformTagName(i)),r&&n&&r.tagname!=="!xml"&&(n=this.saveTextToParentTag(n,r,s,!1));const B=r;B&&this.options.unpairedTags.indexOf(B.tagname)!==-1&&(r=this.tagsNodeStack.pop(),s=s.substring(0,s.lastIndexOf("."))),i!==t.tagname&&(s+=s?"."+i:i);const Y=A;if(this.isItStopNode(this.options.stopNodes,s,i)){let d="";if(C.length>0&&C.lastIndexOf("/")===C.length-1)i[i.length-1]==="/"?(i=i.substr(0,i.length-1),s=s.substr(0,s.length-1),C=i):C=C.substr(0,C.length-1),A=I.closeIndex;else if(this.options.unpairedTags.indexOf(i)!==-1)A=I.closeIndex;else{const J=this.readStopNodeData(E,O,g+1);if(!J)throw new Error(`Unexpected end of ${O}`);A=J.i,d=J.tagContent}const k=new ct(i);i!==C&&p&&(k[":@"]=this.buildAttributesMap(C,s,i)),d&&(d=this.parseTextData(d,i,s,!0,p,!0,!0)),s=s.substr(0,s.lastIndexOf(".")),k.add(this.options.textNodeName,d),this.addChild(r,k,s,Y)}else{if(C.length>0&&C.lastIndexOf("/")===C.length-1){i[i.length-1]==="/"?(i=i.substr(0,i.length-1),s=s.substr(0,s.length-1),C=i):C=C.substr(0,C.length-1),this.options.transformTagName&&(i=this.options.transformTagName(i));const d=new ct(i);i!==C&&p&&(d[":@"]=this.buildAttributesMap(C,s,i)),this.addChild(r,d,s,Y),s=s.substr(0,s.lastIndexOf("."))}else{const d=new ct(i);this.tagsNodeStack.push(r),i!==C&&p&&(d[":@"]=this.buildAttributesMap(C,s,i)),this.addChild(r,d,s,Y),r=d}n="",A=g}}else n+=E[A];return t.child};function iT(E,t,r,n){this.options.captureMetaData||(n=void 0);const s=this.options.updateTag(t.tagname,r,t[":@"]);s===!1||(typeof s=="string"&&(t.tagname=s),E.addChild(t,n))}const AT=function(E){if(this.options.processEntities){for(let t in this.docTypeEntities){const r=this.docTypeEntities[t];E=E.replace(r.regx,r.val)}for(let t in this.lastEntities){const r=this.lastEntities[t];E=E.replace(r.regex,r.val)}if(this.options.htmlEntities)for(let t in this.htmlEntities){const r=this.htmlEntities[t];E=E.replace(r.regex,r.val)}E=E.replace(this.ampEntity.regex,this.ampEntity.val)}return E};function RT(E,t,r,n){return E&&(n===void 0&&(n=t.child.length===0),E=this.parseTextData(E,t.tagname,r,!1,t[":@"]?Object.keys(t[":@"]).length!==0:!1,n),E!==void 0&&E!==""&&t.add(this.options.textNodeName,E),E=""),E}function ST(E,t,r){const n="*."+r;for(const s in E){const a=E[s];if(n===a||t===a)return!0}return!1}function NT(E,t,r=">"){let n,s="";for(let a=t;a<E.length;a++){let A=E[a];if(n)A===n&&(n="");else if(A==='"'||A==="'")n=A;else if(A===r[0])if(r[1]){if(E[a+1]===r[1])return{data:s,index:a}}else return{data:s,index:a};else A===" "&&(A=" ");s+=A}}function Lt(E,t,r,n){const s=E.indexOf(t,r);if(s===-1)throw new Error(n);return s+t.length-1}function Qt(E,t,r,n=">"){const s=NT(E,t+1,n);if(!s)return;let a=s.data;const A=s.index,c=a.search(/\s/);let I=a,i=!0;c!==-1&&(I=a.substring(0,c),a=a.substring(c+1).trimStart());const O=I;if(r){const C=I.indexOf(":");C!==-1&&(I=I.substr(C+1),i=I!==s.data.substr(C+1))}return{tagName:I,tagExp:a,closeIndex:A,attrExpPresent:i,rawTagName:O}}function IT(E,t,r){const n=r;let s=1;for(;r<E.length;r++)if(E[r]==="<")if(E[r+1]==="/"){const a=Lt(E,">",r,`${t} is not closed`);if(E.substring(r+2,a).trim()===t&&(s--,s===0))return{tagContent:E.substring(n,r),i:a};r=a}else if(E[r+1]==="?")r=Lt(E,"?>",r+1,"StopNode is not closed.");else if(E.substr(r+1,3)==="!--")r=Lt(E,"-->",r+3,"StopNode is not closed.");else if(E.substr(r+1,2)==="![")r=Lt(E,"]]>",r,"StopNode is not closed.")-2;else{const a=Qt(E,r,">");a&&((a&&a.tagName)===t&&a.tagExp[a.tagExp.length-1]!=="/"&&s++,r=a.closeIndex)}}function Zt(E,t,r){if(t&&typeof E=="string"){const n=E.trim();return n==="true"?!0:n==="false"?!1:Zs(E,r)}else return Fs(E)?E:""}const jt=ct.getMetaDataSymbol();function OT(E,t){return JE(E,t)}function JE(E,t,r){let n;const s={};for(let a=0;a<E.length;a++){const A=E[a],c=lT(A);let I="";if(r===void 0?I=c:I=r+"."+c,c===t.textNodeName)n===void 0?n=A[c]:n+=""+A[c];else{if(c===void 0)continue;if(A[c]){let i=JE(A[c],t,I);const O=CT(i,t);A[jt]!==void 0&&(i[jt]=A[jt]),A[":@"]?uT(i,A[":@"],I,t):Object.keys(i).length===1&&i[t.textNodeName]!==void 0&&!t.alwaysCreateTextNode?i=i[t.textNodeName]:Object.keys(i).length===0&&(t.alwaysCreateTextNode?i[t.textNodeName]="":i=""),s[c]!==void 0&&s.hasOwnProperty(c)?(Array.isArray(s[c])||(s[c]=[s[c]]),s[c].push(i)):t.isArray(c,I,O)?s[c]=[i]:s[c]=i}}}return typeof n=="string"?n.length>0&&(s[t.textNodeName]=n):n!==void 0&&(s[t.textNodeName]=n),s}function lT(E){const t=Object.keys(E);for(let r=0;r<t.length;r++){const n=t[r];if(n!==":@")return n}}function uT(E,t,r,n){if(t){const s=Object.keys(t),a=s.length;for(let A=0;A<a;A++){const c=s[A];n.isArray(c,r+"."+c,!0,!0)?E[c]=[t[c]]:E[c]=t[c]}}}function CT(E,t){const{textNodeName:r}=t,n=Object.keys(E).length;return!!(n===0||n===1&&(E[r]||typeof E[r]=="boolean"||E[r]===0))}class cT{constructor(t){this.externalEntities={},this.options=ks(t)}parse(t,r){if(typeof t!="string"&&t.toString)t=t.toString();else if(typeof t!="string")throw new Error("XML data is accepted in String or Bytes[] form.");if(r){r===!0&&(r={});const a=WE(t,r);if(a!==!0)throw Error(`${a.err.msg}:${a.err.line}:${a.err.col}`)}const n=new ET(this.options);n.addExternalEntities(this.externalEntities);const s=n.parseXml(t);return this.options.preserveOrder||s===void 0?s:OT(s,this.options)}addEntity(t,r){if(r.indexOf("&")!==-1)throw new Error("Entity value can't have '&'");if(t.indexOf("&")!==-1||t.indexOf(";")!==-1)throw new Error("An entity must be set without '&' and ';'. Eg. use '#xD' for '&#xD;'");if(r==="&")throw new Error("An entity with value '&' is not permitted");this.externalEntities[t]=r}static getMetaDataSymbol(){return ct.getMetaDataSymbol()}}const _T=`
17
+ `;function LT(E,t){let r="";return t.format&&t.indentBy.length>0&&(r=_T),QE(E,t,"",r)}function QE(E,t,r,n){let s="",a=!1;for(let A=0;A<E.length;A++){const c=E[A],I=DT(c);if(I===void 0)continue;let i="";if(r.length===0?i=I:i=`${r}.${I}`,I===t.textNodeName){let B=c[I];pT(i,t)||(B=t.tagValueProcessor(I,B),B=jE(B,t)),a&&(s+=n),s+=B,a=!1;continue}else if(I===t.cdataPropName){a&&(s+=n),s+=`<![CDATA[${c[I][0][t.textNodeName]}]]>`,a=!1;continue}else if(I===t.commentPropName){s+=n+`<!--${c[I][0][t.textNodeName]}-->`,a=!0;continue}else if(I[0]==="?"){const B=ZE(c[":@"],t),Y=I==="?xml"?"":n;let d=c[I][0][t.textNodeName];d=d.length!==0?" "+d:"",s+=Y+`<${I}${d}${B}?>`,a=!0;continue}let O=n;O!==""&&(O+=t.indentBy);const C=ZE(c[":@"],t),p=n+`<${I}${C}`,g=QE(c[I],t,i,O);t.unpairedTags.indexOf(I)!==-1?t.suppressUnpairedNode?s+=p+">":s+=p+"/>":(!g||g.length===0)&&t.suppressEmptyNode?s+=p+"/>":g&&g.endsWith(">")?s+=p+`>${g}${n}</${I}>`:(s+=p+">",g&&n!==""&&(g.includes("/>")||g.includes("</"))?s+=n+t.indentBy+g+n:s+=g,s+=`</${I}>`),a=!0}return s}function DT(E){const t=Object.keys(E);for(let r=0;r<t.length;r++){const n=t[r];if(E.hasOwnProperty(n)&&n!==":@")return n}}function ZE(E,t){let r="";if(E&&!t.ignoreAttributes)for(let n in E){if(!E.hasOwnProperty(n))continue;let s=t.attributeValueProcessor(n,E[n]);s=jE(s,t),s===!0&&t.suppressBooleanAttributes?r+=` ${n.substr(t.attributeNamePrefix.length)}`:r+=` ${n.substr(t.attributeNamePrefix.length)}="${s}"`}return r}function pT(E,t){E=E.substr(0,E.length-t.textNodeName.length-1);let r=E.substr(E.lastIndexOf(".")+1);for(let n in t.stopNodes)if(t.stopNodes[n]===E||t.stopNodes[n]==="*."+r)return!0;return!1}function jE(E,t){if(E&&E.length>0&&t.processEntities)for(let r=0;r<t.entities.length;r++){const n=t.entities[r];E=E.replace(n.regex,n.val)}return E}const dT={attributeNamePrefix:"@_",attributesGroupName:!1,textNodeName:"#text",ignoreAttributes:!0,cdataPropName:!1,format:!1,indentBy:" ",suppressEmptyNode:!1,suppressUnpairedNode:!0,suppressBooleanAttributes:!0,tagValueProcessor:function(E,t){return t},attributeValueProcessor:function(E,t){return t},preserveOrder:!1,commentPropName:!1,unpairedTags:[],entities:[{regex:new RegExp("&","g"),val:"&amp;"},{regex:new RegExp(">","g"),val:"&gt;"},{regex:new RegExp("<","g"),val:"&lt;"},{regex:new RegExp("'","g"),val:"&apos;"},{regex:new RegExp('"',"g"),val:"&quot;"}],processEntities:!0,stopNodes:[],oneListGroup:!1};function Nt(E){this.options=Object.assign({},dT,E),this.options.ignoreAttributes===!0||this.options.attributesGroupName?this.isAttribute=function(){return!1}:(this.ignoreAttributesFn=qE(this.options.ignoreAttributes),this.attrPrefixLen=this.options.attributeNamePrefix.length,this.isAttribute=hT),this.processTextOrObjNode=PT,this.options.format?(this.indentate=fT,this.tagEndChar=`>
18
18
  `,this.newLine=`
19
- `):(this.indentate=function(){return""},this.tagEndChar=">",this.newLine="")}Nt.prototype.build=function(E){return this.options.preserveOrder?_T(E,this.options):(Array.isArray(E)&&this.options.arrayNodeName&&this.options.arrayNodeName.length>1&&(E={[this.options.arrayNodeName]:E}),this.j2x(E,0,[]).val)},Nt.prototype.j2x=function(E,t,r){let n="",T="";const a=r.join(".");for(let i in E)if(Object.prototype.hasOwnProperty.call(E,i))if(typeof E[i]>"u")this.isAttribute(i)&&(T+="");else if(E[i]===null)this.isAttribute(i)||i===this.options.cdataPropName?T+="":i[0]==="?"?T+=this.indentate(t)+"<"+i+"?"+this.tagEndChar:T+=this.indentate(t)+"<"+i+"/"+this.tagEndChar;else if(E[i]instanceof Date)T+=this.buildTextValNode(E[i],i,"",t);else if(typeof E[i]!="object"){const l=this.isAttribute(i);if(l&&!this.ignoreAttributesFn(l,a))n+=this.buildAttrPairStr(l,""+E[i]);else if(!l)if(i===this.options.textNodeName){let N=this.options.tagValueProcessor(i,""+E[i]);T+=this.replaceEntitiesValue(N)}else T+=this.buildTextValNode(E[i],i,"",t)}else if(Array.isArray(E[i])){const l=E[i].length;let N="",A="";for(let O=0;O<l;O++){const C=E[i][O];if(!(typeof C>"u"))if(C===null)i[0]==="?"?T+=this.indentate(t)+"<"+i+"?"+this.tagEndChar:T+=this.indentate(t)+"<"+i+"/"+this.tagEndChar;else if(typeof C=="object")if(this.options.oneListGroup){const d=this.j2x(C,t+1,r.concat(i));N+=d.val,this.options.attributesGroupName&&C.hasOwnProperty(this.options.attributesGroupName)&&(A+=d.attrStr)}else N+=this.processTextOrObjNode(C,i,t,r);else if(this.options.oneListGroup){let d=this.options.tagValueProcessor(i,C);d=this.replaceEntitiesValue(d),N+=d}else N+=this.buildTextValNode(C,i,"",t)}this.options.oneListGroup&&(N=this.buildObjectNode(N,i,A,t)),T+=N}else if(this.options.attributesGroupName&&i===this.options.attributesGroupName){const l=Object.keys(E[i]),N=l.length;for(let A=0;A<N;A++)n+=this.buildAttrPairStr(l[A],""+E[i][l[A]])}else T+=this.processTextOrObjNode(E[i],i,t,r);return{attrStr:n,val:T}},Nt.prototype.buildAttrPairStr=function(E,t){return t=this.options.attributeValueProcessor(E,""+t),t=this.replaceEntitiesValue(t),this.options.suppressBooleanAttributes&&t==="true"?" "+E:" "+E+'="'+t+'"'};function dT(E,t,r,n){const T=this.j2x(E,r+1,n.concat(t));return E[this.options.textNodeName]!==void 0&&Object.keys(E).length===1?this.buildTextValNode(E[this.options.textNodeName],t,T.attrStr,r):this.buildObjectNode(T.val,t,T.attrStr,r)}Nt.prototype.buildObjectNode=function(E,t,r,n){if(E==="")return t[0]==="?"?this.indentate(n)+"<"+t+r+"?"+this.tagEndChar:this.indentate(n)+"<"+t+r+this.closeTag(t)+this.tagEndChar;{let T="</"+t+this.tagEndChar,a="";return t[0]==="?"&&(a="?",T=""),(r||r==="")&&E.indexOf("<")===-1?this.indentate(n)+"<"+t+r+a+">"+E+T:this.options.commentPropName!==!1&&t===this.options.commentPropName&&a.length===0?this.indentate(n)+`<!--${E}-->`+this.newLine:this.indentate(n)+"<"+t+r+a+this.tagEndChar+E+this.indentate(n)+T}},Nt.prototype.closeTag=function(E){let t="";return this.options.unpairedTags.indexOf(E)!==-1?this.options.suppressUnpairedNode||(t="/"):this.options.suppressEmptyNode?t="/":t=`></${E}`,t},Nt.prototype.buildTextValNode=function(E,t,r,n){if(this.options.cdataPropName!==!1&&t===this.options.cdataPropName)return this.indentate(n)+`<![CDATA[${E}]]>`+this.newLine;if(this.options.commentPropName!==!1&&t===this.options.commentPropName)return this.indentate(n)+`<!--${E}-->`+this.newLine;if(t[0]==="?")return this.indentate(n)+"<"+t+r+"?"+this.tagEndChar;{let T=this.options.tagValueProcessor(t,E);return T=this.replaceEntitiesValue(T),T===""?this.indentate(n)+"<"+t+r+this.closeTag(t)+this.tagEndChar:this.indentate(n)+"<"+t+r+">"+T+"</"+t+this.tagEndChar}},Nt.prototype.replaceEntitiesValue=function(E){if(E&&E.length>0&&this.options.processEntities)for(let t=0;t<this.options.entities.length;t++){const r=this.options.entities[t];E=E.replace(r.regex,r.val)}return E};function PT(E){return this.options.indentBy.repeat(E)}function fT(E){return E.startsWith(this.options.attributeNamePrefix)&&E!==this.options.textNodeName?E.substr(this.attrPrefixLen):!1}const hT={validate:WE},MT={ignoreAttributes:!1,attributeNamePrefix:"@_",textNodeName:"#text",ignoreDeclaration:!1,commentPropName:"#comment",cdataPropName:"__cdata",preserveOrder:!0,parseAttributeValue:!1,trimValues:!1,parseTagValue:!1,processEntities:!1,htmlEntities:!1,ignoreNameSpace:!1,allowBooleanAttributes:!0,unpairedTags:[],stopNodes:[],alwaysCreateTextNode:!1},UT={ignoreAttributes:!1,attributeNamePrefix:"@_",textNodeName:"#text",format:!0,indentBy:" ",suppressEmptyNode:!1,suppressBooleanAttributes:!1,suppressUnpairedNode:!1},mT=E=>{const t=/<!\[CDATA\[([\s\S]*?)\]\]>/g,r=[];let n;for(;(n=t.exec(E))!==null;)r.push({start:n.index,end:n.index+n[0].length});const T=O=>r.some(C=>O>=C.start&&O<C.end),a=/&([a-zA-Z0-9#]+);/g,i=["lt","gt","amp","quot","apos"];let l,N=1,A=0;for(;(l=a.exec(E))!==null;){const O=l[1],C=l.index;if(T(C))continue;const d=E.substring(A,C);if(N+=(d.match(/\n/g)||[]).length,A=C,O.startsWith("#")){const M=O.substring(1);if(M.startsWith("x")||M.startsWith("X")){const b=M.substring(1);if(!/^[0-9a-fA-F]+$/.test(b))return{valid:!1,error:`Line ${N}: Invalid hexadecimal character reference '&${O};'`}}else if(!/^[0-9]+$/.test(M))return{valid:!1,error:`Line ${N}: Invalid numeric character reference '&${O};'`};continue}if(!i.includes(O))return{valid:!1,error:`Line ${N}: Invalid entity reference '&${O};'. Valid predefined entities are: &lt; &gt; &amp; &quot; &apos;`}}return{valid:!0}},BT=E=>{try{const t=hT.validate(E,{allowBooleanAttributes:!0});if(t!==!0)return{valid:!1,error:`Line ${t.err.line}: ${t.err.msg}`};const r=mT(E);return r.valid?{valid:!0}:r}catch(t){return{valid:!1,error:t instanceof Error?t.message:"Unknown validation error"}}},zt=(E,t)=>{try{return new CT({...MT,...t}).parse(E)}catch(r){throw new Error(`XML 解析失败: ${r instanceof Error?r.message:"Unknown error"}`)}},eE=(E,t)=>{try{let n=new Nt({...UT,format:t?.format??!0,indentBy:t?.indentBy??" "}).build(E);return t?.showDeclaration!==!1&&!n.startsWith("<?xml")&&(n=`<?xml version="1.0" encoding="UTF-8"?>
20
- `+n),n}catch(r){throw new Error(`XML 构建失败: ${r instanceof Error?r.message:"Unknown error"}`)}},gT=(E,t)=>Array.isArray(E)?At(E,{format:!1,originalXml:t}):eE(E,{format:!1,showDeclaration:!1}),yT=(E,t)=>{const r=zt(E);return Array.isArray(r)?At(r,{indent:t?.indentBy,originalXml:E}):eE(r,t)},GT=(E,t)=>{const r=zE(t),n=new Map,T=a=>{for(const i of a){const l=Object.keys(i).find(O=>!O.startsWith(":")&&!O.startsWith("#")&&!O.startsWith("__")&&!O.startsWith("?"));if(!l)continue;const N=n.get(l)??0;n.set(l,N+1),i[":selfClosing"]=r.get(l)?.[N]??!1;const A=i[l];Array.isArray(A)&&A.length>0&&T(A)}};T(E)},FT=E=>{const t=new Set,r=/<([a-zA-Z0-9_-]+)(?:\s[^>]*)?\s*\/>/g;let n;for(;(n=r.exec(E))!==null;)t.add(n[1]);return t},zE=E=>{const t=new Map;let r=0;for(;r<E.length;){if(E.startsWith("<!--",r)){const n=E.indexOf("-->",r);r=n!==-1?n+3:E.length;continue}if(E.startsWith("<![CDATA[",r)){const n=E.indexOf("]]>",r);r=n!==-1?n+3:E.length;continue}if(E.startsWith("<?",r)){const n=E.indexOf("?>",r);r=n!==-1?n+2:E.length;continue}if(E.startsWith("</",r)){const n=E.indexOf(">",r);r=n!==-1?n+1:E.length;continue}if(E[r]==="<"){const n=E.slice(r+1).match(/^([a-zA-Z_][a-zA-Z0-9_:.-]*)/);if(n){const T=n[1];let a=r+1+T.length,i=!1,l="";for(;a<E.length;){const N=E[a];if(i)N===l&&(i=!1);else if(N==='"'||N==="'")i=!0,l=N;else if(N===">"){let A=a-1;for(;A>r&&(E[A]===" "||E[A]===" "||E[A]===`
21
- `||E[A]==="\r");)A--;const O=E[A]==="/";t.has(T)||t.set(T,[]),t.get(T).push(O),r=a+1;break}a++}if(a>=E.length)break;continue}}r++}return t},At=(E,t={})=>{const r=t.indent!==void 0?t.indent:" ",n=t.level||0,T=t.format!==!1,a=T?r.repeat(n):"",i=T?`
22
- `:"";let l=t.selfClosingTags,N=t.selfClosingOccurrences,A=t.selfClosingCounters;n===0&&t.originalXml&&(N=zE(t.originalXml),A=new Map);let O="";for(const C of E){if(C["?xml"]){const W=C[":@"]||{},D=Object.entries(W).map(([Ae,H])=>`${Ae.startsWith("@_")?Ae.substring(2):Ae}="${H}"`).join(" ");O+=`<?xml ${D}?>${i}`;continue}if(C["#comment"]){const W=C["#comment"];if(Array.isArray(W)&&W.length>0){const D=W[0]["#text"]||W[0];O+=`${a}<!--${D}-->${i}`}continue}const d=Object.keys(C).find(W=>!W.startsWith(":")&&!W.startsWith("#")&&!W.startsWith("__"));if(!d)continue;let M=0;N&&A&&(M=A.get(d)??0,A.set(d,M+1));const b=C[d],Z=C[":@"]||{},U=Object.entries(Z).map(([W,D])=>`${W.startsWith("@_")?W.substring(2):W}="${D}"`).join(" "),j=U?" "+U:"";if(!Array.isArray(b)||b.length===0){let W;N?W=N.get(d)?.[M]??!1:W=!!(l&&l.has(d)),W?O+=`${a}<${d}${j}/>${i}`:O+=`${a}<${d}${j}></${d}>${i}`;continue}const te=b.length===1&&b[0]["#text"]!==void 0,ee=te?b[0]["#text"]:"",pe=b.some(W=>W.__cdata),Le=te&&ee==="";if(pe){const W=b.find(D=>D.__cdata);if(W){const D=W.__cdata[0]["#text"]||"";O+=`${a}<${d}${j}><![CDATA[${D}]]></${d}>${i}`}}else Le?O+=`${a}<${d}${j}></${d}>${i}`:te?O+=`${a}<${d}${j}>${ee}</${d}>${i}`:(O+=`${a}<${d}${j}>${i}`,O+=At(b,{indent:r,level:n+1,format:T,selfClosingTags:l,selfClosingOccurrences:N,selfClosingCounters:A}),O+=`${a}</${d}>${i}`)}return O},HT={class:"xml-format__content"},bT={key:0,class:"xml-format__error"},YT={key:1,class:"xml-format__error"},xT={key:2,class:"xml-format__viewer"},VT=Mt(o.defineComponent({__name:"index",props:{modelValue:{default:""},readonly:{type:Boolean,default:!1},maxDepth:{default:10},theme:{default:"github-light"},showComments:{type:Boolean,default:!0},showCdata:{type:Boolean,default:!0},preserveWhitespace:{type:Boolean,default:!1}},emits:["update:modelValue","copy-success","copy-error","expand-all","collapse-all","compress","format"],setup(E,{expose:t,emit:r}){o.useCssVars(v=>({"592bc0b6":j.value.colors.background,"6efa1296":j.value.colors.text,"470e5180":j.value.colors.error,"43e0a2ce":j.value.colors.errorBackground}));const n=E,T=r,a=o.ref(null),i=o.ref(""),l=o.ref(new Set),N=o.ref(null),A=o.ref(""),O=o.ref(""),C=o.ref(new Set),d=o.ref(!1),M=o.computed(()=>i.value===""),b=v=>{if(!v||typeof v!="object")return v;if(Array.isArray(v)){const f=v.map(Ee=>b(Ee)),B=[],$=[];f.forEach((Ee,Re)=>{if(!Ee||typeof Ee!="object"){$.push({item:Ee,originalIndex:Re});return}const le=Object.keys(Ee),Ue=le.find(Ne=>!Ne.startsWith("?")&&!Ne.startsWith(":")&&!Ne.startsWith("#")&&!Ne.startsWith("__"))||le[0]||"";Ue.startsWith("#")||Ue.startsWith("__")?$.push({item:Ee,originalIndex:Re}):Ue.startsWith("?")?$.push({item:Ee,originalIndex:Re}):B.push({item:Ee,originalIndex:Re})}),B.sort((Ee,Re)=>{const le=q=>{const ge=Object.keys(q);for(const c of ge)if(!c.startsWith("?")&&!c.startsWith(":")&&!c.startsWith("#")&&!c.startsWith("__"))return c;return ge[0]||""},Ue=le(Ee.item),Ne=le(Re.item);return Ue.localeCompare(Ne)});const h=[];let z=0;for(let Ee=0;Ee<f.length;Ee++){const Re=$.find(le=>le.originalIndex===Ee);Re?h.push(Re.item):z<B.length&&(h.push(B[z].item),z++)}return h}const p={},m=Object.keys(v).sort((f,B)=>{const $=f.startsWith("?")||f.startsWith(":")||f.startsWith("#")||f.startsWith("__"),h=B.startsWith("?")||B.startsWith(":")||B.startsWith("#")||B.startsWith("__"),z={"?xml":0,":@":1,"#text":2,__cdata:3,"#cdata":3,"#comment":4};if($&&h){const Ee=z[f]??99,Re=z[B]??99;return Ee-Re}else return $?-1:h?1:f.localeCompare(B)});for(const f of m){const B=v[f];if(f===":@"&&B&&typeof B=="object"&&!Array.isArray(B)){const $={},h=Object.keys(B).sort();for(const z of h)$[z]=B[z];p[f]=$}else p[f]=b(B)}return p},Z=o.computed(()=>{const v=N.value!==null?N.value:a.value;return!v||!d.value?v:b(v)}),U=o.computed(()=>A.value?null:Z.value),j=o.computed(()=>ms(n.theme)),te=o.computed(()=>{const v=U.value;return!v||!Array.isArray(v)?[]:v.map((p,m)=>({node:p,originalIndex:m})).filter(p=>!p.node["?xml"])}),ee=o.computed(()=>{const v=U.value;if(!v||!Array.isArray(v))return null;const p=v.find(B=>B["?xml"]);if(!p||!p[":@"])return null;const m=p[":@"],f=[];return m["@_version"]&&f.push(`version="${m["@_version"]}"`),m["@_encoding"]&&f.push(`encoding="${m["@_encoding"]}"`),m["@_standalone"]&&f.push(`standalone="${m["@_standalone"]}"`),f.length>0?`<?xml ${f.join(" ")}?>`:null}),pe=o.computed(()=>te.value),Le=v=>{if(!v||!v.trim()){i.value="",a.value=null,O.value="",N.value=null,A.value="";return}try{const p=BT(v);if(!p.valid){i.value=p.error||"Invalid XML",a.value=null,O.value="",C.value=new Set;return}O.value=v,C.value=FT(v),a.value=zt(v),Array.isArray(a.value)&&GT(a.value,v),i.value="",N.value=null,A.value="",o.nextTick(()=>{D()})}catch(p){i.value=p instanceof Error?p.message:"Unknown parse error",a.value=null,O.value="",N.value=null,A.value=""}},W=v=>{l.value.has(v)?l.value.delete(v):l.value.add(v)},D=()=>{const v=new Set,p=(m,f="")=>{Array.isArray(m)&&m.forEach((B,$)=>{const h=Object.keys(B).find(Re=>!Re.startsWith(":")&&!Re.startsWith("#"));if(!h)return;const z=f?`${f}.${h}[${$}]`:`${h}[${$}]`;v.add(z);const Ee=B[h];Array.isArray(Ee)&&p(Ee,z+"."+h)})};te.value.forEach(({node:m,originalIndex:f})=>{const B=Object.keys(m).find($=>!$.startsWith(":")&&!$.startsWith("#"));if(B){const $=`${B}[${f}]`;v.add($);const h=m[B];Array.isArray(h)&&p(h,$+"."+B)}}),l.value=v,T("expand-all")},Ae=()=>{l.value.clear(),T("collapse-all")},H=async()=>{if(M.value)try{const v=U.value||a.value;if(!v)return;const p=Array.isArray(v)?At(v,{indent:" ",originalXml:O.value||void 0}):eE(v,{format:!0,indentBy:" "});await navigator.clipboard.writeText(p),T("copy-success",p)}catch(v){const p=v instanceof Error?v:new Error("Copy failed");T("copy-error",p),console.error("Failed to copy XML:",v)}},g=()=>{if(!(!M.value||!a.value))try{const v=gT(a.value,n.modelValue);T("update:modelValue",v),T("compress",v)}catch(v){console.error("Failed to compress XML:",v)}},J=()=>{if(M.value)try{const v=yT(n.modelValue,{format:!0,indentBy:" "});T("update:modelValue",v),T("format",v)}catch(v){console.error("Failed to format XML:",v)}},K=v=>{if(!v||!v.expression.trim()){k();return}if(!a.value||!O.value){A.value="No valid XML data to filter";return}try{const m=new xE.DOMParser().parseFromString(O.value,"text/xml"),f=xn.select(v.expression,m);if(!f||Array.isArray(f)&&f.length===0){N.value=[],A.value="";return}const B=new xE.XMLSerializer;let $="";Array.isArray(f)?($=`<result>
23
- `,f.forEach(h=>{h.nodeType===1?$+=" "+B.serializeToString(h)+`
24
- `:h.nodeType===2?$+=` <attribute name="${h.name}" value="${h.value}"/>
25
- `:h.nodeType===3&&($+=` <text>${h.nodeValue}</text>
26
- `)}),$+="</result>"):$=B.serializeToString(f),N.value=zt($),A.value="",o.nextTick(()=>{D()})}catch(p){A.value=p instanceof Error?p.message:"Filter execution error",N.value=null}},k=()=>{N.value=null,A.value="",o.nextTick(()=>{D()})},ae=()=>{d.value=!0,o.nextTick(()=>{D()})},ce=()=>{d.value=!1,o.nextTick(()=>{D()})},De=async v=>{try{const p=typeof v=="string"?v:JSON.stringify(v,null,2);await navigator.clipboard.writeText(p),T("copy-success",p)}catch(p){const m=p instanceof Error?p:new Error("Copy failed");T("copy-error",m),console.error("Failed to copy value:",p)}},Y=(v,p,m)=>{if(!(!a.value||!Array.isArray(a.value)))try{const f=v.split(/\./).filter(Boolean);let B=a.value;for(let h=0;h<f.length;h++){const z=f[h],Ee=z.match(/^(.+?)\[(\d+)\]$/);if(Ee){const Re=Ee[1],le=parseInt(Ee[2]);if(h===f.length-1){if(Array.isArray(B)&&B[le]){const Ue=B[le];if(Ue[p]){const Ne=Ue[p];delete Ue[p],Ue[m]=Ne,C.value.has(p)&&(C.value.delete(p),C.value.add(m))}}}else Array.isArray(B)&&B[le]&&(B=B[le])}else B[z]&&(B=B[z])}const $=At(a.value,{indent:" ",originalXml:O.value||void 0});T("update:modelValue",$)}catch(f){console.error("Failed to update tag name:",f)}},Q=(v,p,m)=>{if(!(!a.value||!Array.isArray(a.value)))try{const f=v.split(/\./).filter(Boolean);let B=a.value;for(let h=0;h<f.length;h++){const z=f[h],Ee=z.match(/^(.+?)\[(\d+)\]$/);if(Ee){const Re=Ee[1],le=parseInt(Ee[2]);if(h===f.length-1){if(Array.isArray(B)&&B[le]){const Ne=B[le][":@"];if(Ne&&Ne[`@_${p}`]!==void 0){const q=Ne[`@_${p}`];delete Ne[`@_${p}`],Ne[`@_${m}`]=q}}}else Array.isArray(B)&&B[le]&&(B=B[le])}else B[z]&&(B=B[z])}const $=At(a.value,{indent:" ",originalXml:O.value||void 0});T("update:modelValue",$)}catch(f){console.error("Failed to update attribute name:",f)}},Oe=(v,p,m)=>{if(!(!a.value||!Array.isArray(a.value)))try{const f=v.split(/\./).filter(Boolean);let B=a.value;for(let h=0;h<f.length;h++){const z=f[h],Ee=z.match(/^(.+?)\[(\d+)\]$/);if(Ee){const Re=Ee[1],le=parseInt(Ee[2]);if(h===f.length-1){if(Array.isArray(B)&&B[le]){const Ne=B[le][":@"];Ne&&Ne[`@_${p}`]!==void 0&&(Ne[`@_${p}`]=m)}}else Array.isArray(B)&&B[le]&&(B=B[le])}else B[z]&&(B=B[z])}const $=At(a.value,{indent:" ",originalXml:O.value||void 0});T("update:modelValue",$)}catch(f){console.error("Failed to update attribute value:",f)}},me=(v,p)=>{if(!(!a.value||!Array.isArray(a.value)))try{const m=v.split(/\./).filter(Boolean);let f=a.value,B="";for(let h=0;h<m.length;h++){const z=m[h],Ee=z.match(/^(.+?)\[(\d+)\]$/);if(Ee){const Re=Ee[1],le=parseInt(Ee[2]);if(h===m.length-1){if(Array.isArray(f)&&f[le]){const Ue=f[le];if(B=Object.keys(Ue).find(Ne=>!Ne.startsWith(":")&&!Ne.startsWith("#"))||"",B&&Array.isArray(Ue[B])){const Ne=Ue[B],q=Ne.findIndex(ge=>ge["#text"]!==void 0);q!==-1?Ne[q]["#text"]=p:Ne.push({"#text":p})}}}else Array.isArray(f)&&f[le]&&(f=f[le])}else f[z]&&(f=f[z])}const $=At(a.value,{indent:" ",originalXml:O.value||void 0});T("update:modelValue",$)}catch(m){console.error("Failed to update text content:",m)}},Te=(v,p)=>{if(!(!a.value||!Array.isArray(a.value)))try{const m=v.split(/\./).filter(Boolean);let f=a.value;for(let $=0;$<m.length;$++){const h=m[$],z=h.match(/^(.+?)\[(\d+)\]$/);if(z){const Ee=z[1],Re=parseInt(z[2]);if($===m.length-1){if(Array.isArray(f)&&f[Re]){const le=f[Re],Ue=Object.keys(le).find(Ne=>!Ne.startsWith(":")&&!Ne.startsWith("#"));if(Ue&&Array.isArray(le[Ue])){const Ne=le[Ue],q=Ne.findIndex(ge=>ge.__cdata!==void 0);if(q!==-1){const ge=Ne[q];Array.isArray(ge.__cdata)&&ge.__cdata[0]&&(ge.__cdata[0]["#text"]=p)}else Ne.push({__cdata:[{"#text":p}]})}}}else Array.isArray(f)&&f[Re]&&(f=f[Re])}else f[h]&&(f=f[h])}const B=At(a.value,{indent:" ",originalXml:O.value||void 0});T("update:modelValue",B)}catch(m){console.error("Failed to update CDATA content:",m)}};return o.watch(()=>n.modelValue,v=>{Le(v)},{immediate:!0}),t({copyXml:H,compressSource:g,formatSource:J,expandAll:D,collapseAll:Ae,toggleExpand:W,filter:K,clearFilter:k,sort:ae,clearSort:ce,isSorted:()=>d.value,isValidXml:()=>M.value,getParsedXml:()=>a.value,getFilteredXml:()=>N.value,getExpandedNodes:()=>l.value,getParseError:()=>i.value,getFilterError:()=>A.value,parseXmlString:v=>Le(v),copyValue:v=>De(v)}),(v,p)=>(o.openBlock(),o.createElementBlock("div",{class:o.normalizeClass(["xml-format",`xml-format--${j.value.name}`])},[o.createElementVNode("div",HT,[M.value?A.value?(o.openBlock(),o.createElementBlock("div",YT,[p[1]||(p[1]=o.createElementVNode("h4",null,"Filter Error:",-1)),o.createElementVNode("pre",null,o.toDisplayString(A.value),1)])):(o.openBlock(),o.createElementBlock("div",xT,[ee.value?(o.openBlock(),o.createElementBlock("div",{key:0,class:"xml-declaration",style:o.normalizeStyle({color:j.value.colors.xmlDeclaration})},o.toDisplayString(ee.value),5)):o.createCommentVNode("",!0),(o.openBlock(!0),o.createElementBlock(o.Fragment,null,o.renderList(pe.value,(m,f)=>(o.openBlock(),o.createBlock(Us,{key:f,node:m.node,index:m.originalIndex,level:0,expanded:l.value,theme:j.value,selfClosingTags:C.value,onToggleExpand:W,onCopy:De,"onUpdate:tagName":Y,"onUpdate:attributeName":Q,"onUpdate:attributeValue":Oe,"onUpdate:textContent":me,"onUpdate:cdataContent":Te},null,8,["node","index","expanded","theme","selfClosingTags"]))),128))])):(o.openBlock(),o.createElementBlock("div",bT,[p[0]||(p[0]=o.createElementVNode("h4",null,"XML Parse Error:",-1)),o.createElementVNode("pre",null,o.toDisplayString(i.value),1)]))])],2))}}),[["__scopeId","data-v-d4c202e6"]]),er={"github-light":{name:"github-light",colors:{background:"#ffffff",surfaceBackground:"#f6f8fa",hoverBackground:"#f3f4f6",border:"#d0d7de",text:"#24292f",textSecondary:"#57606a",buttonBackground:"#f6f8fa",buttonBackgroundHover:"#f3f4f6",buttonBorder:"#d0d7de",buttonText:"#24292f",buttonPrimary:"#1f883d",buttonPrimaryHover:"#1a7f37",success:"#1f883d",successBackground:"#dafbe1",error:"#cf222e",errorBackground:"#ffebe9",sqlKeyword:"#cf222e",sqlFunction:"#8250df",sqlString:"#0a3069",sqlNumber:"#0550ae",sqlComment:"#6e7781",sqlOperator:"#cf222e",sqlIdentifier:"#24292f",sqlPunctuation:"#24292f",collapsedBackground:"#ddf4ff",collapsedText:"#0969da",indentLine:"#d0d7de"}},"github-dark":{name:"github-dark",colors:{background:"#0d1117",surfaceBackground:"#161b22",hoverBackground:"#30363d",border:"#30363d",text:"#c9d1d9",textSecondary:"#8b949e",buttonBackground:"#21262d",buttonBackgroundHover:"#30363d",buttonBorder:"#30363d",buttonText:"#c9d1d9",buttonPrimary:"#238636",buttonPrimaryHover:"#2ea043",success:"#3fb950",successBackground:"#0f2e1c",error:"#f85149",errorBackground:"#3d1319",sqlKeyword:"#ff7b72",sqlFunction:"#d2a8ff",sqlString:"#a5d6ff",sqlNumber:"#79c0ff",sqlComment:"#8b949e",sqlOperator:"#ff7b72",sqlIdentifier:"#c9d1d9",sqlPunctuation:"#c9d1d9",collapsedBackground:"#1c2d41",collapsedText:"#58a6ff",indentLine:"#30363d"}},"min-light":{name:"min-light",colors:{background:"#ffffff",surfaceBackground:"#fafafa",hoverBackground:"#f9f9f9",border:"#e5e5e5",text:"#333333",textSecondary:"#888888",buttonBackground:"#f8f8f8",buttonBackgroundHover:"#eeeeee",buttonBorder:"#e0e0e0",buttonText:"#333333",buttonPrimary:"#007acc",buttonPrimaryHover:"#005a9e",success:"#22c55e",successBackground:"#f0fdf4",error:"#ef4444",errorBackground:"#fef2f2",sqlKeyword:"#ef4444",sqlFunction:"#8b5cf6",sqlString:"#22c55e",sqlNumber:"#3b82f6",sqlComment:"#6b7280",sqlOperator:"#ef4444",sqlIdentifier:"#1f2937",sqlPunctuation:"#374151",collapsedBackground:"#e0f2fe",collapsedText:"#0284c7",indentLine:"#e5e7eb"}},"slack-ochin":{name:"slack-ochin",colors:{background:"#fef5ed",surfaceBackground:"#fef9f3",hoverBackground:"#f9f0e5",border:"#e9dcc9",text:"#3d3c40",textSecondary:"#616061",buttonBackground:"#fef9f3",buttonBackgroundHover:"#f9f0e5",buttonBorder:"#e9dcc9",buttonText:"#3d3c40",buttonPrimary:"#007a5a",buttonPrimaryHover:"#006644",success:"#007a5a",successBackground:"#d1f4e0",error:"#e01e5a",errorBackground:"#ffdbea",sqlKeyword:"#e01e5a",sqlFunction:"#8b2eff",sqlString:"#0b4c8c",sqlNumber:"#1264a3",sqlComment:"#616061",sqlOperator:"#e01e5a",sqlIdentifier:"#3d3c40",sqlPunctuation:"#3d3c40",collapsedBackground:"#d8eaf5",collapsedText:"#0b4c8c",indentLine:"#3e4348"}}},vT=E=>er[E]||er["github-light"],y=E=>E.flatMap(wT),wT=E=>Vt(XT(E)).map(WT),WT=E=>E.replace(/ +/g," ").trim(),XT=E=>({type:"mandatory_block",items:tE(E,0)[0]}),tE=(E,t,r)=>{const n=[];for(;E[t];){const[T,a]=KT(E,t);if(n.push(T),t=a,E[t]==="|")t++;else if(E[t]==="}"||E[t]==="]"){if(r!==E[t])throw new Error(`Unbalanced parenthesis in: ${E}`);return t++,[n,t]}else if(t===E.length){if(r)throw new Error(`Unbalanced parenthesis in: ${E}`);return[n,t]}else throw new Error(`Unexpected "${E[t]}"`)}return[n,t]},KT=(E,t)=>{const r=[];for(;;){const[n,T]=kT(E,t);if(n)r.push(n),t=T;else break}return r.length===1?[r[0],t]:[{type:"concatenation",items:r},t]},kT=(E,t)=>{if(E[t]==="{")return $T(E,t+1);if(E[t]==="[")return qT(E,t+1);{let r="";for(;E[t]&&/[A-Za-z0-9_ ]/.test(E[t]);)r+=E[t],t++;return[r,t]}},$T=(E,t)=>{const[r,n]=tE(E,t,"}");return[{type:"mandatory_block",items:r},n]},qT=(E,t)=>{const[r,n]=tE(E,t,"]");return[{type:"optional_block",items:r},n]},Vt=E=>{if(typeof E=="string")return[E];if(E.type==="concatenation")return E.items.map(Vt).reduce(JT,[""]);if(E.type==="mandatory_block")return E.items.flatMap(Vt);if(E.type==="optional_block")return["",...E.items.flatMap(Vt)];throw new Error(`Unknown node type: ${E}`)},JT=(E,t)=>{const r=[];for(const n of E)for(const T of t)r.push(n+T);return r};var X;(function(E){E.QUOTED_IDENTIFIER="QUOTED_IDENTIFIER",E.IDENTIFIER="IDENTIFIER",E.STRING="STRING",E.VARIABLE="VARIABLE",E.RESERVED_DATA_TYPE="RESERVED_DATA_TYPE",E.RESERVED_PARAMETERIZED_DATA_TYPE="RESERVED_PARAMETERIZED_DATA_TYPE",E.RESERVED_KEYWORD="RESERVED_KEYWORD",E.RESERVED_FUNCTION_NAME="RESERVED_FUNCTION_NAME",E.RESERVED_KEYWORD_PHRASE="RESERVED_KEYWORD_PHRASE",E.RESERVED_DATA_TYPE_PHRASE="RESERVED_DATA_TYPE_PHRASE",E.RESERVED_SET_OPERATION="RESERVED_SET_OPERATION",E.RESERVED_CLAUSE="RESERVED_CLAUSE",E.RESERVED_SELECT="RESERVED_SELECT",E.RESERVED_JOIN="RESERVED_JOIN",E.ARRAY_IDENTIFIER="ARRAY_IDENTIFIER",E.ARRAY_KEYWORD="ARRAY_KEYWORD",E.CASE="CASE",E.END="END",E.WHEN="WHEN",E.ELSE="ELSE",E.THEN="THEN",E.LIMIT="LIMIT",E.BETWEEN="BETWEEN",E.AND="AND",E.OR="OR",E.XOR="XOR",E.OPERATOR="OPERATOR",E.COMMA="COMMA",E.ASTERISK="ASTERISK",E.PROPERTY_ACCESS_OPERATOR="PROPERTY_ACCESS_OPERATOR",E.OPEN_PAREN="OPEN_PAREN",E.CLOSE_PAREN="CLOSE_PAREN",E.LINE_COMMENT="LINE_COMMENT",E.BLOCK_COMMENT="BLOCK_COMMENT",E.DISABLE_COMMENT="DISABLE_COMMENT",E.NUMBER="NUMBER",E.NAMED_PARAMETER="NAMED_PARAMETER",E.QUOTED_PARAMETER="QUOTED_PARAMETER",E.NUMBERED_PARAMETER="NUMBERED_PARAMETER",E.POSITIONAL_PARAMETER="POSITIONAL_PARAMETER",E.CUSTOM_PARAMETER="CUSTOM_PARAMETER",E.DELIMITER="DELIMITER",E.EOF="EOF"})(X=X||(X={}));const tr=E=>({type:X.EOF,raw:"«EOF»",text:"«EOF»",start:E}),It=tr(1/0),Pt=E=>t=>t.type===E.type&&t.text===E.text,Ot={ARRAY:Pt({text:"ARRAY",type:X.RESERVED_DATA_TYPE}),BY:Pt({text:"BY",type:X.RESERVED_KEYWORD}),SET:Pt({text:"SET",type:X.RESERVED_CLAUSE}),STRUCT:Pt({text:"STRUCT",type:X.RESERVED_DATA_TYPE}),WINDOW:Pt({text:"WINDOW",type:X.RESERVED_CLAUSE}),VALUES:Pt({text:"VALUES",type:X.RESERVED_CLAUSE})},Er=E=>E===X.RESERVED_DATA_TYPE||E===X.RESERVED_KEYWORD||E===X.RESERVED_FUNCTION_NAME||E===X.RESERVED_KEYWORD_PHRASE||E===X.RESERVED_DATA_TYPE_PHRASE||E===X.RESERVED_CLAUSE||E===X.RESERVED_SELECT||E===X.RESERVED_SET_OPERATION||E===X.RESERVED_JOIN||E===X.ARRAY_KEYWORD||E===X.CASE||E===X.END||E===X.WHEN||E===X.ELSE||E===X.THEN||E===X.LIMIT||E===X.BETWEEN||E===X.AND||E===X.OR||E===X.XOR,QT=E=>E===X.AND||E===X.OR||E===X.XOR,ZT=["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","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","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","APPROX_COUNT_DISTINCT","APPROX_QUANTILES","APPROX_TOP_COUNT","APPROX_TOP_SUM","ARRAY_CONCAT","ARRAY_LENGTH","ARRAY_TO_STRING","GENERATE_ARRAY","GENERATE_DATE_ARRAY","GENERATE_TIMESTAMP_ARRAY","ARRAY_REVERSE","OFFSET","SAFE_OFFSET","ORDINAL","SAFE_ORDINAL","BIT_COUNT","PARSE_BIGNUMERIC","PARSE_NUMERIC","SAFE_CAST","CURRENT_DATE","EXTRACT","DATE","DATE_ADD","DATE_SUB","DATE_DIFF","DATE_TRUNC","DATE_FROM_UNIX_DATE","FORMAT_DATE","LAST_DAY","PARSE_DATE","UNIX_DATE","CURRENT_DATETIME","DATETIME","EXTRACT","DATETIME_ADD","DATETIME_SUB","DATETIME_DIFF","DATETIME_TRUNC","FORMAT_DATETIME","LAST_DAY","PARSE_DATETIME","ERROR","EXTERNAL_QUERY","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","FARM_FINGERPRINT","MD5","SHA1","SHA256","SHA512","HLL_COUNT.INIT","HLL_COUNT.MERGE","HLL_COUNT.MERGE_PARTIAL","HLL_COUNT.EXTRACT","MAKE_INTERVAL","EXTRACT","JUSTIFY_DAYS","JUSTIFY_HOURS","JUSTIFY_INTERVAL","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","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","FIRST_VALUE","LAST_VALUE","NTH_VALUE","LEAD","LAG","PERCENTILE_CONT","PERCENTILE_DISC","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","RANK","DENSE_RANK","PERCENT_RANK","CUME_DIST","NTILE","ROW_NUMBER","SESSION_USER","CORR","COVAR_POP","COVAR_SAMP","STDDEV_POP","STDDEV_SAMP","STDDEV","VAR_POP","VAR_SAMP","VARIANCE","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","CURRENT_TIME","TIME","EXTRACT","TIME_ADD","TIME_SUB","TIME_DIFF","TIME_TRUNC","FORMAT_TIME","PARSE_TIME","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","GENERATE_UUID","COALESCE","IF","IFNULL","NULLIF","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","BIT_COUNT","BOOLEAN","BYTES","CAST","FLOAT","HEX_STRING","INTEGER","STRING","COALESCE","GREATEST","IFNULL","IS_INF","IS_NAN","IS_EXPLICITLY_DEFINED","LEAST","NVL","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","FORMAT_IP","PARSE_IP","FORMAT_PACKED_IP","PARSE_PACKED_IP","JSON_EXTRACT","JSON_EXTRACT_SCALAR","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","REGEXP_MATCH","REGEXP_EXTRACT","REGEXP_REPLACE","CONCAT","INSTR","LEFT","LENGTH","LOWER","LPAD","LTRIM","REPLACE","RIGHT","RPAD","RTRIM","SPLIT","SUBSTR","UPPER","TABLE_DATE_RANGE","TABLE_DATE_RANGE_STRICT","TABLE_QUERY","HOST","DOMAIN","TLD","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","CURRENT_USER","EVERY","FROM_BASE64","HASH","FARM_FINGERPRINT","IF","POSITION","SHA1","SOME","TO_BASE64","BQ.JOBS.CANCEL","BQ.REFRESH_MATERIALIZED_VIEW","OPTIONS","PIVOT","UNPIVOT"],jT=["ALL","AND","ANY","AS","ASC","ASSERT_ROWS_MODIFIED","AT","BETWEEN","BY","CASE","CAST","COLLATE","CONTAINS","CREATE","CROSS","CUBE","CURRENT","DEFAULT","DEFINE","DESC","DISTINCT","ELSE","END","ENUM","ESCAPE","EXCEPT","EXCLUDE","EXISTS","EXTRACT","FALSE","FETCH","FOLLOWING","FOR","FROM","FULL","GROUP","GROUPING","GROUPS","HASH","HAVING","IF","IGNORE","IN","INNER","INTERSECT","INTO","IS","JOIN","LATERAL","LEFT","LIMIT","LOOKUP","MERGE","NATURAL","NEW","NO","NOT","NULL","NULLS","OF","ON","OR","ORDER","OUTER","OVER","PARTITION","PRECEDING","PROTO","RANGE","RECURSIVE","RESPECT","RIGHT","ROLLUP","ROWS","SELECT","SET","SOME","TABLE","TABLESAMPLE","THEN","TO","TREAT","TRUE","UNBOUNDED","UNION","UNNEST","USING","WHEN","WHERE","WINDOW","WITH","WITHIN","SAFE","LIKE","COPY","CLONE","IN","OUT","INOUT","RETURNS","LANGUAGE","CASCADE","RESTRICT","DETERMINISTIC"],zT=["ARRAY","BOOL","BYTES","DATE","DATETIME","GEOGRAPHY","INTERVAL","INT64","INT","SMALLINT","INTEGER","BIGINT","TINYINT","BYTEINT","NUMERIC","DECIMAL","BIGNUMERIC","BIGDECIMAL","FLOAT64","STRING","STRUCT","TIME","TIMEZONE"],eo=y(["SELECT [ALL | DISTINCT] [AS STRUCT | AS VALUE]"]),to=y(["WITH [RECURSIVE]","FROM","WHERE","GROUP BY","HAVING","QUALIFY","WINDOW","PARTITION BY","ORDER BY","LIMIT","OFFSET","OMIT RECORD IF","INSERT [INTO]","VALUES","SET","MERGE [INTO]","WHEN [NOT] MATCHED [BY SOURCE | BY TARGET] [THEN]","UPDATE SET","CLUSTER BY","FOR SYSTEM_TIME AS OF","WITH CONNECTION","WITH PARTITION COLUMNS","REMOTE WITH CONNECTION"]),rr=y(["CREATE [OR REPLACE] [TEMP|TEMPORARY|SNAPSHOT|EXTERNAL] TABLE [IF NOT EXISTS]"]),EE=y(["CREATE [OR REPLACE] [MATERIALIZED] VIEW [IF NOT EXISTS]","UPDATE","DELETE [FROM]","DROP [SNAPSHOT | EXTERNAL] TABLE [IF EXISTS]","ALTER TABLE [IF EXISTS]","ADD COLUMN [IF NOT EXISTS]","DROP COLUMN [IF EXISTS]","RENAME TO","ALTER COLUMN [IF EXISTS]","SET DEFAULT COLLATE","SET OPTIONS","DROP NOT NULL","SET DATA TYPE","ALTER SCHEMA [IF EXISTS]","ALTER [MATERIALIZED] VIEW [IF EXISTS]","ALTER BI_CAPACITY","TRUNCATE TABLE","CREATE SCHEMA [IF NOT EXISTS]","DEFAULT COLLATE","CREATE [OR REPLACE] [TEMP|TEMPORARY|TABLE] FUNCTION [IF NOT EXISTS]","CREATE [OR REPLACE] PROCEDURE [IF NOT EXISTS]","CREATE [OR REPLACE] ROW ACCESS POLICY [IF NOT EXISTS]","GRANT TO","FILTER USING","CREATE CAPACITY","AS JSON","CREATE RESERVATION","CREATE ASSIGNMENT","CREATE SEARCH INDEX [IF NOT EXISTS]","DROP SCHEMA [IF EXISTS]","DROP [MATERIALIZED] VIEW [IF EXISTS]","DROP [TABLE] FUNCTION [IF EXISTS]","DROP PROCEDURE [IF EXISTS]","DROP ROW ACCESS POLICY","DROP ALL ROW ACCESS POLICIES","DROP CAPACITY [IF EXISTS]","DROP RESERVATION [IF EXISTS]","DROP ASSIGNMENT [IF EXISTS]","DROP SEARCH INDEX [IF EXISTS]","DROP [IF EXISTS]","GRANT","REVOKE","DECLARE","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"]),Eo=y(["UNION {ALL | DISTINCT}","EXCEPT DISTINCT","INTERSECT DISTINCT"]),ro=y(["JOIN","{LEFT | RIGHT | FULL} [OUTER] JOIN","{INNER | CROSS} JOIN"]),no=y(["TABLESAMPLE SYSTEM","ANY TYPE","ALL COLUMNS","NOT DETERMINISTIC","{ROWS | RANGE} BETWEEN","IS [NOT] DISTINCT FROM"]),so=y([]),To={name:"bigquery",tokenizerOptions:{reservedSelect:eo,reservedClauses:[...to,...EE,...rr],reservedSetOperations:Eo,reservedJoins:ro,reservedKeywordPhrases:no,reservedDataTypePhrases:so,reservedKeywords:jT,reservedDataTypes:zT,reservedFunctionNames:ZT,extraParens:["[]"],stringTypes:[{quote:'""".."""',prefixes:["R","B","RB","BR"]},{quote:"'''..'''",prefixes:["R","B","RB","BR"]},'""-bs',"''-bs",{quote:'""-raw',prefixes:["R","B","RB","BR"],requirePrefix:!0},{quote:"''-raw",prefixes:["R","B","RB","BR"],requirePrefix:!0}],identTypes:["``"],identChars:{dashes:!0},paramTypes:{positional:!0,named:["@"],quoted:["@"]},variableTypes:[{regex:String.raw`@@\w+`}],lineCommentTypes:["--","#"],operators:["&","|","^","~",">>","<<","||","=>"],postProcess:oo},formatOptions:{onelineClauses:[...rr,...EE],tabularOnelineClauses:EE}};function oo(E){return ao(Ao(E))}function ao(E){let t=It;return E.map(r=>r.text==="OFFSET"&&t.text==="["?(t=r,Object.assign(Object.assign({},r),{type:X.RESERVED_FUNCTION_NAME})):(t=r,r))}function Ao(E){var t;const r=[];for(let n=0;n<E.length;n++){const T=E[n];if((Ot.ARRAY(T)||Ot.STRUCT(T))&&((t=E[n+1])===null||t===void 0?void 0:t.text)==="<"){const a=io(E,n+1),i=E.slice(n,a+1);r.push({type:X.IDENTIFIER,raw:i.map(nr("raw")).join(""),text:i.map(nr("text")).join(""),start:T.start}),n=a}else r.push(T)}return r}const nr=E=>t=>t.type===X.IDENTIFIER||t.type===X.COMMA?t[E]+" ":t[E];function io(E,t){let r=0;for(let n=t;n<E.length;n++){const T=E[n];if(T.text==="<"?r++:T.text===">"?r--:T.text===">>"&&(r-=2),r===0)return n}return E.length-1}const Ro=["BIT_AND","BIT_OR","BIT_XOR","BLAKE3","CAST","CHARACTER_LENGTH","CHAR_LENGTH","COVAR_POP","COVAR_SAMP","CRC32","CRC32IEEE","CRC64","DATE","DATE_DIFF","DATE_FORMAT","DATE_TRUNC","DAY","DAYOFMONTH","DAYOFWEEK","DAYOFYEAR","FORMAT_BYTES","FQDN","FROM_BASE64","FROM_DAYS","FROM_UNIXTIME","HOUR","INET6_ATON","INET6_NTOA","INET_ATON","INET_NTOA","IPv4CIDRToRange","IPv4NumToString","IPv4NumToStringClassC","IPv4StringToNum","IPv4StringToNumOrDefault","IPv4StringToNumOrNull","IPv4ToIPv6","IPv6CIDRToRange","IPv6NumToString","IPv6StringToNum","IPv6StringToNumOrDefault","IPv6StringToNumOrNull","JSONAllPaths","JSONAllPathsWithTypes","JSONArrayLength","JSONDynamicPaths","JSONDynamicPathsWithTypes","JSONExtract","JSONExtractArrayRaw","JSONExtractArrayRawCaseInsensitive","JSONExtractBool","JSONExtractBoolCaseInsensitive","JSONExtractCaseInsensitive","JSONExtractFloat","JSONExtractFloatCaseInsensitive","JSONExtractInt","JSONExtractIntCaseInsensitive","JSONExtractKeys","JSONExtractKeysAndValues","JSONExtractKeysAndValuesCaseInsensitive","JSONExtractKeysAndValuesRaw","JSONExtractKeysAndValuesRawCaseInsensitive","JSONExtractKeysCaseInsensitive","JSONExtractRaw","JSONExtractRawCaseInsensitive","JSONExtractString","JSONExtractStringCaseInsensitive","JSONExtractUInt","JSONExtractUIntCaseInsensitive","JSONHas","JSONKey","JSONLength","JSONMergePatch","JSONSharedDataPaths","JSONSharedDataPathsWithTypes","JSONType","JSON_ARRAY_LENGTH","JSON_EXISTS","JSON_QUERY","JSON_VALUE","L1Distance","L1Norm","L1Normalize","L2Distance","L2Norm","L2Normalize","L2SquaredDistance","L2SquaredNorm","LAST_DAY","LinfDistance","LinfNorm","LinfNormalize","LpDistance","LpNorm","LpNormalize","MACNumToString","MACStringToNum","MACStringToOUI","MAP_FROM_ARRAYS","MD4","MD5","MILLISECOND","MINUTE","MONTH","OCTET_LENGTH","QUARTER","REGEXP_EXTRACT","REGEXP_MATCHES","REGEXP_REPLACE","RIPEMD160","SCHEMA","SECOND","SHA1","SHA224","SHA256","SHA384","SHA512","SHA512_256","STD","STDDEV_POP","STDDEV_SAMP","ST_LineFromWKB","ST_MLineFromWKB","ST_MPolyFromWKB","ST_PointFromWKB","ST_PolyFromWKB","SUBSTRING_INDEX","SVG","TIMESTAMP_DIFF","TO_BASE64","TO_DAYS","TO_UNIXTIME","ULIDStringToDateTime","URLHash","URLHierarchy","URLPathHierarchy","UTCTimestamp","UTC_timestamp","UUIDNumToString","UUIDStringToNum","UUIDToNum","UUIDv7ToDateTime","VAR_POP","VAR_SAMP","YEAR","YYYYMMDDToDate","YYYYMMDDToDate32","YYYYMMDDhhmmssToDateTime","YYYYMMDDhhmmssToDateTime64","_CAST","__actionName","__bitBoolMaskAnd","__bitBoolMaskOr","__bitSwapLastTwo","__bitWrapperFunc","__getScalar","__patchPartitionID","__scalarSubqueryResult","abs","accurateCast","accurateCastOrDefault","accurateCastOrNull","acos","acosh","addDate","addDays","addHours","addInterval","addMicroseconds","addMilliseconds","addMinutes","addMonths","addNanoseconds","addQuarters","addSeconds","addTupleOfIntervals","addWeeks","addYears","addressToLine","addressToLineWithInlines","addressToSymbol","aes_decrypt_mysql","aes_encrypt_mysql","age","aggThrow","alphaTokens","analysisOfVariance","anova","any","anyHeavy","anyLast","anyLastRespectNulls","anyLast_respect_nulls","anyRespectNulls","anyValueRespectNulls","any_respect_nulls","any_value","any_value_respect_nulls","appendTrailingCharIfAbsent","approx_top_count","approx_top_k","approx_top_sum","argMax","argMin","array","arrayAUC","arrayAUCPR","arrayAll","arrayAvg","arrayCompact","arrayConcat","arrayCount","arrayCumSum","arrayCumSumNonNegative","arrayDifference","arrayDistinct","arrayDotProduct","arrayElement","arrayElementOrNull","arrayEnumerate","arrayEnumerateDense","arrayEnumerateDenseRanked","arrayEnumerateUniq","arrayEnumerateUniqRanked","arrayExists","arrayFill","arrayFilter","arrayFirst","arrayFirstIndex","arrayFirstOrNull","arrayFlatten","arrayFold","arrayIntersect","arrayJaccardIndex","arrayJoin","arrayLast","arrayLastIndex","arrayLastOrNull","arrayLevenshteinDistance","arrayLevenshteinDistanceWeighted","arrayMap","arrayMax","arrayMin","arrayNormalizedGini","arrayPRAUC","arrayPartialReverseSort","arrayPartialShuffle","arrayPartialSort","arrayPopBack","arrayPopFront","arrayProduct","arrayPushBack","arrayPushFront","arrayROCAUC","arrayRandomSample","arrayReduce","arrayReduceInRanges","arrayResize","arrayReverse","arrayReverseFill","arrayReverseSort","arrayReverseSplit","arrayRotateLeft","arrayRotateRight","arrayShiftLeft","arrayShiftRight","arrayShingles","arrayShuffle","arraySimilarity","arraySlice","arraySort","arraySplit","arrayStringConcat","arraySum","arraySymmetricDifference","arrayUnion","arrayUniq","arrayWithConstant","arrayZip","arrayZipUnaligned","array_agg","array_concat_agg","ascii","asin","asinh","assumeNotNull","atan","atan2","atanh","authenticatedUser","avg","avgWeighted","bar","base32Decode","base32Encode","base58Decode","base58Encode","base64Decode","base64Encode","base64URLDecode","base64URLEncode","basename","bech32Decode","bech32Encode","bin","bitAnd","bitCount","bitHammingDistance","bitNot","bitOr","bitPositionsToArray","bitRotateLeft","bitRotateRight","bitShiftLeft","bitShiftRight","bitSlice","bitTest","bitTestAll","bitTestAny","bitXor","bitmapAnd","bitmapAndCardinality","bitmapAndnot","bitmapAndnotCardinality","bitmapBuild","bitmapCardinality","bitmapContains","bitmapHasAll","bitmapHasAny","bitmapMax","bitmapMin","bitmapOr","bitmapOrCardinality","bitmapSubsetInRange","bitmapSubsetLimit","bitmapToArray","bitmapTransform","bitmapXor","bitmapXorCardinality","bitmaskToArray","bitmaskToList","blockNumber","blockSerializedSize","blockSize","boundingRatio","buildId","byteHammingDistance","byteSize","byteSlice","byteSwap","caseWithExpr","caseWithExpression","caseWithoutExpr","caseWithoutExpression","catboostEvaluate","categoricalInformationValue","cbrt","ceil","ceiling","changeDay","changeHour","changeMinute","changeMonth","changeSecond","changeYear","char","cityHash64","clamp","coalesce","colorOKLCHToSRGB","colorSRGBToOKLCH","compareSubstrings","concat","concatAssumeInjective","concatWithSeparator","concatWithSeparatorAssumeInjective","concat_ws","connectionId","connection_id","contingency","convertCharset","corr","corrMatrix","corrStable","cos","cosh","cosineDistance","count","countDigits","countEqual","countMatches","countMatchesCaseInsensitive","countSubstrings","countSubstringsCaseInsensitive","countSubstringsCaseInsensitiveUTF8","covarPop","covarPopMatrix","covarPopStable","covarSamp","covarSampMatrix","covarSampStable","cramersV","cramersVBiasCorrected","curdate","currentDatabase","currentProfiles","currentQueryID","currentRoles","currentSchemas","currentUser","current_database","current_date","current_query_id","current_schemas","current_timestamp","current_user","cutFragment","cutIPv6","cutQueryString","cutQueryStringAndFragment","cutToFirstSignificantSubdomain","cutToFirstSignificantSubdomainCustom","cutToFirstSignificantSubdomainCustomRFC","cutToFirstSignificantSubdomainCustomWithWWW","cutToFirstSignificantSubdomainCustomWithWWWRFC","cutToFirstSignificantSubdomainRFC","cutToFirstSignificantSubdomainWithWWW","cutToFirstSignificantSubdomainWithWWWRFC","cutURLParameter","cutWWW","damerauLevenshteinDistance","dateDiff","dateName","dateTime64ToSnowflake","dateTime64ToSnowflakeID","dateTimeToSnowflake","dateTimeToSnowflakeID","dateTimeToUUIDv7","dateTrunc","date_bin","date_diff","decodeHTMLComponent","decodeURLComponent","decodeURLFormComponent","decodeXMLComponent","decrypt","defaultProfiles","defaultRoles","defaultValueOfArgumentType","defaultValueOfTypeName","degrees","deltaSum","deltaSumTimestamp","demangle","denseRank","dense_rank","detectCharset","detectLanguage","detectLanguageMixed","detectLanguageUnknown","detectProgrammingLanguage","detectTonality","dictGet","dictGetAll","dictGetChildren","dictGetDate","dictGetDateOrDefault","dictGetDateTime","dictGetDateTimeOrDefault","dictGetDescendants","dictGetFloat32","dictGetFloat32OrDefault","dictGetFloat64","dictGetFloat64OrDefault","dictGetHierarchy","dictGetIPv4","dictGetIPv4OrDefault","dictGetIPv6","dictGetIPv6OrDefault","dictGetInt16","dictGetInt16OrDefault","dictGetInt32","dictGetInt32OrDefault","dictGetInt64","dictGetInt64OrDefault","dictGetInt8","dictGetInt8OrDefault","dictGetOrDefault","dictGetOrNull","dictGetString","dictGetStringOrDefault","dictGetUInt16","dictGetUInt16OrDefault","dictGetUInt32","dictGetUInt32OrDefault","dictGetUInt64","dictGetUInt64OrDefault","dictGetUInt8","dictGetUInt8OrDefault","dictGetUUID","dictGetUUIDOrDefault","dictHas","dictIsIn","displayName","distanceL1","distanceL2","distanceL2Squared","distanceLinf","distanceLp","distinctDynamicTypes","distinctJSONPaths","distinctJSONPathsAndTypes","divide","divideDecimal","divideOrNull","domain","domainRFC","domainWithoutWWW","domainWithoutWWWRFC","dotProduct","dumpColumnStructure","dynamicElement","dynamicType","e","editDistance","editDistanceUTF8","empty","emptyArrayDate","emptyArrayDateTime","emptyArrayFloat32","emptyArrayFloat64","emptyArrayInt16","emptyArrayInt32","emptyArrayInt64","emptyArrayInt8","emptyArrayString","emptyArrayToSingle","emptyArrayUInt16","emptyArrayUInt32","emptyArrayUInt64","emptyArrayUInt8","enabledProfiles","enabledRoles","encodeURLComponent","encodeURLFormComponent","encodeXMLComponent","encrypt","endsWith","endsWithUTF8","entropy","equals","erf","erfc","errorCodeToName","estimateCompressionRatio","evalMLMethod","exp","exp10","exp2","exponentialMovingAverage","exponentialTimeDecayedAvg","exponentialTimeDecayedCount","exponentialTimeDecayedMax","exponentialTimeDecayedSum","extract","extractAll","extractAllGroups","extractAllGroupsHorizontal","extractAllGroupsVertical","extractGroups","extractKeyValuePairs","extractKeyValuePairsWithEscaping","extractTextFromHTML","extractURLParameter","extractURLParameterNames","extractURLParameters","factorial","farmFingerprint64","farmHash64","file","filesystemAvailable","filesystemCapacity","filesystemUnreserved","finalizeAggregation","financialInternalRateOfReturn","financialInternalRateOfReturnExtended","financialNetPresentValue","financialNetPresentValueExtended","firstLine","firstSignificantSubdomain","firstSignificantSubdomainCustom","firstSignificantSubdomainCustomRFC","firstSignificantSubdomainRFC","firstValueRespectNulls","first_value","first_value_respect_nulls","flameGraph","flatten","flattenTuple","floor","formatDateTime","formatDateTimeInJodaSyntax","formatQuery","formatQueryOrNull","formatQuerySingleLine","formatQuerySingleLineOrNull","formatReadableDecimalSize","formatReadableQuantity","formatReadableSize","formatReadableTimeDelta","formatRow","formatRowNoNewline","fragment","fromDaysSinceYearZero","fromDaysSinceYearZero32","fromModifiedJulianDay","fromModifiedJulianDayOrNull","fromUTCTimestamp","fromUnixTimestamp","fromUnixTimestamp64Micro","fromUnixTimestamp64Milli","fromUnixTimestamp64Nano","fromUnixTimestamp64Second","fromUnixTimestampInJodaSyntax","from_utc_timestamp","fullHostName","fuzzBits","gccMurmurHash","gcd","generateRandomStructure","generateSerialID","generateSnowflakeID","generateULID","generateUUIDv4","generateUUIDv7","geoDistance","geoToH3","geoToS2","geohashDecode","geohashEncode","geohashesInBox","getClientHTTPHeader","getMacro","getMaxTableNameLengthForDatabase","getMergeTreeSetting","getOSKernelVersion","getServerPort","getServerSetting","getSetting","getSettingOrDefault","getSizeOfEnumType","getSubcolumn","getTypeSerializationStreams","globalIn","globalInIgnoreSet","globalNotIn","globalNotInIgnoreSet","globalNotNullIn","globalNotNullInIgnoreSet","globalNullIn","globalNullInIgnoreSet","globalVariable","greatCircleAngle","greatCircleDistance","greater","greaterOrEquals","greatest","groupArray","groupArrayInsertAt","groupArrayIntersect","groupArrayLast","groupArrayMovingAvg","groupArrayMovingSum","groupArraySample","groupArraySorted","groupBitAnd","groupBitOr","groupBitXor","groupBitmap","groupBitmapAnd","groupBitmapOr","groupBitmapXor","groupConcat","groupNumericIndexedVector","groupUniqArray","group_concat","h3CellAreaM2","h3CellAreaRads2","h3Distance","h3EdgeAngle","h3EdgeLengthKm","h3EdgeLengthM","h3ExactEdgeLengthKm","h3ExactEdgeLengthM","h3ExactEdgeLengthRads","h3GetBaseCell","h3GetDestinationIndexFromUnidirectionalEdge","h3GetFaces","h3GetIndexesFromUnidirectionalEdge","h3GetOriginIndexFromUnidirectionalEdge","h3GetPentagonIndexes","h3GetRes0Indexes","h3GetResolution","h3GetUnidirectionalEdge","h3GetUnidirectionalEdgeBoundary","h3GetUnidirectionalEdgesFromHexagon","h3HexAreaKm2","h3HexAreaM2","h3HexRing","h3IndexesAreNeighbors","h3IsPentagon","h3IsResClassIII","h3IsValid","h3Line","h3NumHexagons","h3PointDistKm","h3PointDistM","h3PointDistRads","h3ToCenterChild","h3ToChildren","h3ToGeo","h3ToGeoBoundary","h3ToParent","h3ToString","h3UnidirectionalEdgeIsValid","h3kRing","halfMD5","has","hasAll","hasAny","hasColumnInTable","hasSubsequence","hasSubsequenceCaseInsensitive","hasSubsequenceCaseInsensitiveUTF8","hasSubsequenceUTF8","hasSubstr","hasThreadFuzzer","hasToken","hasTokenCaseInsensitive","hasTokenCaseInsensitiveOrNull","hasTokenOrNull","hex","hilbertDecode","hilbertEncode","histogram","hiveHash","hop","hopEnd","hopStart","hostName","hostname","hypot","icebergBucket","icebergHash","icebergTruncate","identity","idnaDecode","idnaEncode","if","ifNotFinite","ifNull","ignore","inIgnoreSet","indexHint","indexOf","indexOfAssumeSorted","initcap","initcapUTF8","initialQueryID","initialQueryStartTime","initial_query_id","initial_query_start_time","initializeAggregation","instr","intDiv","intDivOrNull","intDivOrZero","intExp10","intExp2","intHash32","intHash64","intervalLengthSum","isConstant","isDecimalOverflow","isDynamicElementInSharedData","isFinite","isIPAddressInRange","isIPv4String","isIPv6String","isInfinite","isMergeTreePartCoveredBy","isNaN","isNotDistinctFrom","isNotNull","isNull","isNullable","isValidJSON","isValidUTF8","isZeroOrNull","jaroSimilarity","jaroWinklerSimilarity","javaHash","javaHashUTF16LE","joinGet","joinGetOrNull","jsonMergePatch","jumpConsistentHash","kafkaMurmurHash","keccak256","kolmogorovSmirnovTest","kostikConsistentHash","kql_array_sort_asc","kql_array_sort_desc","kurtPop","kurtSamp","lag","lagInFrame","largestTriangleThreeBuckets","lastValueRespectNulls","last_value","last_value_respect_nulls","lcase","lcm","lead","leadInFrame","least","left","leftPad","leftPadUTF8","leftUTF8","lemmatize","length","lengthUTF8","less","lessOrEquals","levenshteinDistance","levenshteinDistanceUTF8","lgamma","ln","locate","log","log10","log1p","log2","logTrace","lowCardinalityIndices","lowCardinalityKeys","lower","lowerUTF8","lpad","ltrim","lttb","makeDate","makeDate32","makeDateTime","makeDateTime64","mannWhitneyUTest","map","mapAdd","mapAll","mapApply","mapConcat","mapContains","mapContainsKey","mapContainsKeyLike","mapContainsValue","mapContainsValueLike","mapExists","mapExtractKeyLike","mapExtractValueLike","mapFilter","mapFromArrays","mapFromString","mapKeys","mapPartialReverseSort","mapPartialSort","mapPopulateSeries","mapReverseSort","mapSort","mapSubtract","mapUpdate","mapValues","match","materialize","max","max2","maxIntersections","maxIntersectionsPosition","maxMappedArrays","meanZTest","median","medianBFloat16","medianBFloat16Weighted","medianDD","medianDeterministic","medianExact","medianExactHigh","medianExactLow","medianExactWeighted","medianExactWeightedInterpolated","medianGK","medianInterpolatedWeighted","medianTDigest","medianTDigestWeighted","medianTiming","medianTimingWeighted","mergeTreePartInfo","metroHash64","mid","min","min2","minMappedArrays","minSampleSizeContinous","minSampleSizeContinuous","minSampleSizeConversion","minus","mismatches","mod","modOrNull","modulo","moduloLegacy","moduloOrNull","moduloOrZero","monthName","mortonDecode","mortonEncode","multiFuzzyMatchAllIndices","multiFuzzyMatchAny","multiFuzzyMatchAnyIndex","multiIf","multiMatchAllIndices","multiMatchAny","multiMatchAnyIndex","multiSearchAllPositions","multiSearchAllPositionsCaseInsensitive","multiSearchAllPositionsCaseInsensitiveUTF8","multiSearchAllPositionsUTF8","multiSearchAny","multiSearchAnyCaseInsensitive","multiSearchAnyCaseInsensitiveUTF8","multiSearchAnyUTF8","multiSearchFirstIndex","multiSearchFirstIndexCaseInsensitive","multiSearchFirstIndexCaseInsensitiveUTF8","multiSearchFirstIndexUTF8","multiSearchFirstPosition","multiSearchFirstPositionCaseInsensitive","multiSearchFirstPositionCaseInsensitiveUTF8","multiSearchFirstPositionUTF8","multiply","multiplyDecimal","murmurHash2_32","murmurHash2_64","murmurHash3_128","murmurHash3_32","murmurHash3_64","negate","neighbor","nested","netloc","ngramDistance","ngramDistanceCaseInsensitive","ngramDistanceCaseInsensitiveUTF8","ngramDistanceUTF8","ngramMinHash","ngramMinHashArg","ngramMinHashArgCaseInsensitive","ngramMinHashArgCaseInsensitiveUTF8","ngramMinHashArgUTF8","ngramMinHashCaseInsensitive","ngramMinHashCaseInsensitiveUTF8","ngramMinHashUTF8","ngramSearch","ngramSearchCaseInsensitive","ngramSearchCaseInsensitiveUTF8","ngramSearchUTF8","ngramSimHash","ngramSimHashCaseInsensitive","ngramSimHashCaseInsensitiveUTF8","ngramSimHashUTF8","ngrams","nonNegativeDerivative","normL1","normL2","normL2Squared","normLinf","normLp","normalizeL1","normalizeL2","normalizeLinf","normalizeLp","normalizeQuery","normalizeQueryKeepNames","normalizeUTF8NFC","normalizeUTF8NFD","normalizeUTF8NFKC","normalizeUTF8NFKD","normalizedQueryHash","normalizedQueryHashKeepNames","notEmpty","notEquals","notILike","notIn","notInIgnoreSet","notLike","notNullIn","notNullInIgnoreSet","nothing","nothingNull","nothingUInt64","now","now64","nowInBlock","nowInBlock64","nth_value","ntile","nullIf","nullIn","nullInIgnoreSet","numbers","numericIndexedVectorAllValueSum","numericIndexedVectorBuild","numericIndexedVectorCardinality","numericIndexedVectorGetValue","numericIndexedVectorPointwiseAdd","numericIndexedVectorPointwiseDivide","numericIndexedVectorPointwiseEqual","numericIndexedVectorPointwiseGreater","numericIndexedVectorPointwiseGreaterEqual","numericIndexedVectorPointwiseLess","numericIndexedVectorPointwiseLessEqual","numericIndexedVectorPointwiseMultiply","numericIndexedVectorPointwiseNotEqual","numericIndexedVectorPointwiseSubtract","numericIndexedVectorShortDebugString","numericIndexedVectorToMap","overlay","overlayUTF8","parseDateTime","parseDateTime32BestEffort","parseDateTime32BestEffortOrNull","parseDateTime32BestEffortOrZero","parseDateTime64","parseDateTime64BestEffort","parseDateTime64BestEffortOrNull","parseDateTime64BestEffortOrZero","parseDateTime64BestEffortUS","parseDateTime64BestEffortUSOrNull","parseDateTime64BestEffortUSOrZero","parseDateTime64InJodaSyntax","parseDateTime64InJodaSyntaxOrNull","parseDateTime64InJodaSyntaxOrZero","parseDateTime64OrNull","parseDateTime64OrZero","parseDateTimeBestEffort","parseDateTimeBestEffortOrNull","parseDateTimeBestEffortOrZero","parseDateTimeBestEffortUS","parseDateTimeBestEffortUSOrNull","parseDateTimeBestEffortUSOrZero","parseDateTimeInJodaSyntax","parseDateTimeInJodaSyntaxOrNull","parseDateTimeInJodaSyntaxOrZero","parseDateTimeOrNull","parseDateTimeOrZero","parseReadableSize","parseReadableSizeOrNull","parseReadableSizeOrZero","parseTimeDelta","partitionID","partitionId","path","pathFull","percentRank","percent_rank","pi","plus","pmod","pmodOrNull","pointInEllipses","pointInPolygon","polygonAreaCartesian","polygonAreaSpherical","polygonConvexHullCartesian","polygonPerimeterCartesian","polygonPerimeterSpherical","polygonsDistanceCartesian","polygonsDistanceSpherical","polygonsEqualsCartesian","polygonsIntersectCartesian","polygonsIntersectSpherical","polygonsIntersectionCartesian","polygonsIntersectionSpherical","polygonsSymDifferenceCartesian","polygonsSymDifferenceSpherical","polygonsUnionCartesian","polygonsUnionSpherical","polygonsWithinCartesian","polygonsWithinSpherical","port","portRFC","position","positionCaseInsensitive","positionCaseInsensitiveUTF8","positionUTF8","positiveModulo","positiveModuloOrNull","positive_modulo","positive_modulo_or_null","pow","power","printf","proportionsZTest","protocol","punycodeDecode","punycodeEncode","quantile","quantileBFloat16","quantileBFloat16Weighted","quantileDD","quantileDeterministic","quantileExact","quantileExactExclusive","quantileExactHigh","quantileExactInclusive","quantileExactLow","quantileExactWeighted","quantileExactWeightedInterpolated","quantileGK","quantileInterpolatedWeighted","quantileTDigest","quantileTDigestWeighted","quantileTiming","quantileTimingWeighted","quantiles","quantilesBFloat16","quantilesBFloat16Weighted","quantilesDD","quantilesDeterministic","quantilesExact","quantilesExactExclusive","quantilesExactHigh","quantilesExactInclusive","quantilesExactLow","quantilesExactWeighted","quantilesExactWeightedInterpolated","quantilesGK","quantilesInterpolatedWeighted","quantilesTDigest","quantilesTDigestWeighted","quantilesTiming","quantilesTimingWeighted","queryID","queryString","queryStringAndFragment","query_id","radians","rand","rand32","rand64","randBernoulli","randBinomial","randCanonical","randChiSquared","randConstant","randExponential","randFisherF","randLogNormal","randNegativeBinomial","randNormal","randPoisson","randStudentT","randUniform","randomFixedString","randomPrintableASCII","randomString","randomStringUTF8","rank","rankCorr","readWKBLineString","readWKBMultiLineString","readWKBMultiPolygon","readWKBPoint","readWKBPolygon","readWKTLineString","readWKTMultiLineString","readWKTMultiPolygon","readWKTPoint","readWKTPolygon","readWKTRing","regexpExtract","regexpQuoteMeta","regionHierarchy","regionIn","regionToArea","regionToCity","regionToContinent","regionToCountry","regionToDistrict","regionToName","regionToPopulation","regionToTopContinent","reinterpret","reinterpretAsDate","reinterpretAsDateTime","reinterpretAsFixedString","reinterpretAsFloat32","reinterpretAsFloat64","reinterpretAsInt128","reinterpretAsInt16","reinterpretAsInt256","reinterpretAsInt32","reinterpretAsInt64","reinterpretAsInt8","reinterpretAsString","reinterpretAsUInt128","reinterpretAsUInt16","reinterpretAsUInt256","reinterpretAsUInt32","reinterpretAsUInt64","reinterpretAsUInt8","reinterpretAsUUID","repeat","replace","replaceAll","replaceOne","replaceRegexpAll","replaceRegexpOne","replicate","retention","reverse","reverseUTF8","revision","right","rightPad","rightPadUTF8","rightUTF8","round","roundAge","roundBankers","roundDown","roundDuration","roundToExp2","rowNumberInAllBlocks","rowNumberInBlock","row_number","rpad","rtrim","runningAccumulate","runningConcurrency","runningDifference","runningDifferenceStartingWithFirstValue","s2CapContains","s2CapUnion","s2CellsIntersect","s2GetNeighbors","s2RectAdd","s2RectContains","s2RectIntersection","s2RectUnion","s2ToGeo","scalarProduct","searchAll","searchAny","sequenceCount","sequenceMatch","sequenceMatchEvents","sequenceNextNode","seriesDecomposeSTL","seriesOutliersDetectTukey","seriesPeriodDetectFFT","serverTimeZone","serverTimezone","serverUUID","shardCount","shardNum","showCertificate","sigmoid","sign","simpleJSONExtractBool","simpleJSONExtractFloat","simpleJSONExtractInt","simpleJSONExtractRaw","simpleJSONExtractString","simpleJSONExtractUInt","simpleJSONHas","simpleLinearRegression","sin","singleValueOrNull","sinh","sipHash128","sipHash128Keyed","sipHash128Reference","sipHash128ReferenceKeyed","sipHash64","sipHash64Keyed","skewPop","skewSamp","sleep","sleepEachRow","snowflakeIDToDateTime","snowflakeIDToDateTime64","snowflakeToDateTime","snowflakeToDateTime64","soundex","space","sparkBar","sparkbar","sparseGrams","sparseGramsHashes","sparseGramsHashesUTF8","sparseGramsUTF8","splitByAlpha","splitByChar","splitByNonAlpha","splitByRegexp","splitByString","splitByWhitespace","sqid","sqidDecode","sqidEncode","sqrt","startsWith","startsWithUTF8","stddevPop","stddevPopStable","stddevSamp","stddevSampStable","stem","stochasticLinearRegression","stochasticLogisticRegression","str_to_date","str_to_map","stringBytesEntropy","stringBytesUniq","stringJaccardIndex","stringJaccardIndexUTF8","stringToH3","structureToCapnProtoSchema","structureToProtobufSchema","studentTTest","subBitmap","subDate","substr","substring","substringIndex","substringIndexUTF8","substringUTF8","subtractDays","subtractHours","subtractInterval","subtractMicroseconds","subtractMilliseconds","subtractMinutes","subtractMonths","subtractNanoseconds","subtractQuarters","subtractSeconds","subtractTupleOfIntervals","subtractWeeks","subtractYears","sum","sumCount","sumKahan","sumMapFiltered","sumMapFilteredWithOverflow","sumMapWithOverflow","sumMappedArrays","sumWithOverflow","svg","synonyms","tan","tanh","tcpPort","tgamma","theilsU","throwIf","tid","timeDiff","timeSeriesDeltaToGrid","timeSeriesDerivToGrid","timeSeriesFromGrid","timeSeriesGroupArray","timeSeriesIdToTags","timeSeriesIdToTagsGroup","timeSeriesIdeltaToGrid","timeSeriesInstantDeltaToGrid","timeSeriesInstantRateToGrid","timeSeriesIrateToGrid","timeSeriesLastToGrid","timeSeriesLastTwoSamples","timeSeriesPredictLinearToGrid","timeSeriesRange","timeSeriesRateToGrid","timeSeriesResampleToGridWithStaleness","timeSeriesStoreTags","timeSeriesTagsGroupToTags","timeSlot","timeSlots","timeZone","timeZoneOf","timeZoneOffset","time_bucket","timestamp","timestampDiff","timestamp_diff","timezone","timezoneOf","timezoneOffset","toBFloat16","toBFloat16OrNull","toBFloat16OrZero","toBool","toColumnTypeName","toDate","toDate32","toDate32OrDefault","toDate32OrNull","toDate32OrZero","toDateOrDefault","toDateOrNull","toDateOrZero","toDateTime","toDateTime32","toDateTime64","toDateTime64OrDefault","toDateTime64OrNull","toDateTime64OrZero","toDateTimeOrDefault","toDateTimeOrNull","toDateTimeOrZero","toDayOfMonth","toDayOfWeek","toDayOfYear","toDaysSinceYearZero","toDecimal128","toDecimal128OrDefault","toDecimal128OrNull","toDecimal128OrZero","toDecimal256","toDecimal256OrDefault","toDecimal256OrNull","toDecimal256OrZero","toDecimal32","toDecimal32OrDefault","toDecimal32OrNull","toDecimal32OrZero","toDecimal64","toDecimal64OrDefault","toDecimal64OrNull","toDecimal64OrZero","toDecimalString","toFixedString","toFloat32","toFloat32OrDefault","toFloat32OrNull","toFloat32OrZero","toFloat64","toFloat64OrDefault","toFloat64OrNull","toFloat64OrZero","toHour","toIPv4","toIPv4OrDefault","toIPv4OrNull","toIPv4OrZero","toIPv6","toIPv6OrDefault","toIPv6OrNull","toIPv6OrZero","toISOWeek","toISOYear","toInt128","toInt128OrDefault","toInt128OrNull","toInt128OrZero","toInt16","toInt16OrDefault","toInt16OrNull","toInt16OrZero","toInt256","toInt256OrDefault","toInt256OrNull","toInt256OrZero","toInt32","toInt32OrDefault","toInt32OrNull","toInt32OrZero","toInt64","toInt64OrDefault","toInt64OrNull","toInt64OrZero","toInt8","toInt8OrDefault","toInt8OrNull","toInt8OrZero","toInterval","toIntervalDay","toIntervalHour","toIntervalMicrosecond","toIntervalMillisecond","toIntervalMinute","toIntervalMonth","toIntervalNanosecond","toIntervalQuarter","toIntervalSecond","toIntervalWeek","toIntervalYear","toJSONString","toLastDayOfMonth","toLastDayOfWeek","toLowCardinality","toMillisecond","toMinute","toModifiedJulianDay","toModifiedJulianDayOrNull","toMonday","toMonth","toMonthNumSinceEpoch","toNullable","toQuarter","toRelativeDayNum","toRelativeHourNum","toRelativeMinuteNum","toRelativeMonthNum","toRelativeQuarterNum","toRelativeSecondNum","toRelativeWeekNum","toRelativeYearNum","toSecond","toStartOfDay","toStartOfFifteenMinutes","toStartOfFiveMinute","toStartOfFiveMinutes","toStartOfHour","toStartOfISOYear","toStartOfInterval","toStartOfMicrosecond","toStartOfMillisecond","toStartOfMinute","toStartOfMonth","toStartOfNanosecond","toStartOfQuarter","toStartOfSecond","toStartOfTenMinutes","toStartOfWeek","toStartOfYear","toString","toStringCutToZero","toTime","toTime64","toTime64OrNull","toTime64OrZero","toTimeOrNull","toTimeOrZero","toTimeWithFixedDate","toTimeZone","toTimezone","toTypeName","toUInt128","toUInt128OrDefault","toUInt128OrNull","toUInt128OrZero","toUInt16","toUInt16OrDefault","toUInt16OrNull","toUInt16OrZero","toUInt256","toUInt256OrDefault","toUInt256OrNull","toUInt256OrZero","toUInt32","toUInt32OrDefault","toUInt32OrNull","toUInt32OrZero","toUInt64","toUInt64OrDefault","toUInt64OrNull","toUInt64OrZero","toUInt8","toUInt8OrDefault","toUInt8OrNull","toUInt8OrZero","toUTCTimestamp","toUUID","toUUIDOrDefault","toUUIDOrNull","toUUIDOrZero","toUnixTimestamp","toUnixTimestamp64Micro","toUnixTimestamp64Milli","toUnixTimestamp64Nano","toUnixTimestamp64Second","toValidUTF8","toWeek","toYYYYMM","toYYYYMMDD","toYYYYMMDDhhmmss","toYear","toYearNumSinceEpoch","toYearWeek","to_utc_timestamp","today","tokens","topK","topKWeighted","topLevelDomain","topLevelDomainRFC","transactionID","transactionLatestSnapshot","transactionOldestSnapshot","transform","translate","translateUTF8","trim","trimBoth","trimLeft","trimRight","trunc","tryBase32Decode","tryBase58Decode","tryBase64Decode","tryBase64URLDecode","tryDecrypt","tryIdnaEncode","tryPunycodeDecode","tumble","tumbleEnd","tumbleStart","tuple","tupleConcat","tupleDivide","tupleDivideByNumber","tupleElement","tupleHammingDistance","tupleIntDiv","tupleIntDivByNumber","tupleIntDivOrZero","tupleIntDivOrZeroByNumber","tupleMinus","tupleModulo","tupleModuloByNumber","tupleMultiply","tupleMultiplyByNumber","tupleNames","tupleNegate","tuplePlus","tupleToNameValuePairs","ucase","unbin","unhex","uniq","uniqCombined","uniqCombined64","uniqExact","uniqHLL12","uniqTheta","uniqThetaIntersect","uniqThetaNot","uniqThetaUnion","uniqUpTo","upper","upperUTF8","uptime","user","validateNestedArraySizes","varPop","varPopStable","varSamp","varSampStable","variantElement","variantType","vectorDifference","vectorSum","version","visibleWidth","visitParamExtractBool","visitParamExtractFloat","visitParamExtractInt","visitParamExtractRaw","visitParamExtractString","visitParamExtractUInt","visitParamHas","week","welchTTest","widthBucket","width_bucket","windowFunnel","windowID","wkb","wkt","wordShingleMinHash","wordShingleMinHashArg","wordShingleMinHashArgCaseInsensitive","wordShingleMinHashArgCaseInsensitiveUTF8","wordShingleMinHashArgUTF8","wordShingleMinHashCaseInsensitive","wordShingleMinHashCaseInsensitiveUTF8","wordShingleMinHashUTF8","wordShingleSimHash","wordShingleSimHashCaseInsensitive","wordShingleSimHashCaseInsensitiveUTF8","wordShingleSimHashUTF8","wyHash64","xor","xxHash32","xxHash64","xxh3","yandexConsistentHash","yearweek","yesterday","zookeeperSessionUptime","MergeTree","ReplacingMergeTree","SummingMergeTree","AggregatingMergeTree","CollapsingMergeTree","VersionedCollapsingMergeTree","GraphiteMergeTree","CoalescingMergeTree","Atomic","Shared","Lazy","Replicated","PostgreSQL","MySQL","SQLite","MaterializedPostgreSQL","DataLakeCatalog"],So=["ACCESS","ACTION","ADD","ADMIN","AFTER","ALGORITHM","ALIAS","ALL","ALLOWED_LATENESS","ALTER","AND","ANTI","APPEND","APPLY","AS","ASC","ASCENDING","ASOF","ASSUME","AST","ASYNC","ATTACH","AUTO_INCREMENT","AZURE","BACKUP","BAGEXPANSION","BASE_BACKUP","BCRYPT_HASH","BCRYPT_PASSWORD","BEGIN","BETWEEN","BIDIRECTIONAL","BOTH","BY","CACHE","CACHES","CASCADE","CASE","CHANGE","CHANGEABLE_IN_READONLY","CHANGED","CHARACTER","CHECK","CLEANUP","CLEAR","CLUSTER","CLUSTERS","CLUSTER_HOST_IDS","CN","CODEC","COLLATE","COLLECTION","COLUMN","COLUMNS","COMMENT","COMMIT","COMPRESSION","CONST","CONSTRAINT","CREATE","CROSS","CUBE","CURRENT","D","DATA","DATABASE","DATABASES","DAYS","DD","DDL","DEDUPLICATE","DEFAULT","DEFINER","DELAY","DELETE","DELETED","DEPENDS","DESC","DESCENDING","DESCRIBE","DETACH","DETACHED","DICTIONARIES","DICTIONARY","DISK","DISTINCT","DIV","DOUBLE_SHA1_HASH","DOUBLE_SHA1_PASSWORD","DROP","ELSE","ENABLED","END","ENFORCED","ENGINE","ENGINES","EPHEMERAL","ESTIMATE","EVENT","EVENTS","EVERY","EXCEPT","EXCHANGE","EXISTS","EXPLAIN","EXPRESSION","EXTENDED","EXTERNAL","FAKE","FALSE","FETCH","FIELDS","FILESYSTEM","FILL","FILTER","FINAL","FIRST","FOLLOWING","FOR","FOREIGN","FORMAT","FREEZE","FROM","FULL","FULLTEXT","FUNCTION","FUNCTIONS","GLOBAL","GRANT","GRANTEES","GRANTS","GRANULARITY","GROUP","GROUPING","GROUPS","H","HASH","HAVING","HDFS","HH","HIERARCHICAL","HOST","HOURS","HTTP","IDENTIFIED","ILIKE","IN","INDEX","INDEXES","INDICES","INFILE","INHERIT","INJECTIVE","INNER","INSERT","INTERPOLATE","INTERSECT","INTERVAL","INTO","INVISIBLE","INVOKER","IP","IS","IS_OBJECT_ID","JOIN","JWT","KERBEROS","KEY","KEYED","KEYS","KILL","KIND","LARGE","LAST","LAYOUT","LDAP","LEADING","LEVEL","LIFETIME","LIGHTWEIGHT","LIKE","LIMIT","LIMITS","LINEAR","LIST","LIVE","LOCAL","M","MASK","MATERIALIZED","MCS","MEMORY","MERGES","METRICS","MI","MICROSECOND","MICROSECONDS","MILLISECONDS","MINUTES","MM","MODIFY","MONTHS","MOVE","MS","MUTATION","N","NAME","NAMED","NANOSECOND","NANOSECONDS","NEXT","NO","NONE","NOT","NO_PASSWORD","NS","NULL","NULLS","OBJECT","OFFSET","ON","ONLY","OPTIMIZE","OPTION","OR","ORDER","OUTER","OUTFILE","OVER","OVERRIDABLE","OVERRIDE","PART","PARTIAL","PARTITION","PARTITIONS","PART_MOVE_TO_SHARD","PASTE","PERIODIC","PERMANENTLY","PERMISSIVE","PERSISTENT","PIPELINE","PLAINTEXT_PASSWORD","PLAN","POLICY","POPULATE","PRECEDING","PRECISION","PREWHERE","PRIMARY","PRIVILEGES","PROCESSLIST","PROFILE","PROJECTION","PROTOBUF","PULL","Q","QQ","QUALIFY","QUARTERS","QUERY","QUOTA","RANDOMIZE","RANDOMIZED","RANGE","READONLY","REALM","RECOMPRESS","RECURSIVE","REFERENCES","REFRESH","REGEXP","REMOVE","RENAME","RESET","RESPECT","RESTORE","RESTRICT","RESTRICTIVE","RESUME","REVOKE","ROLE","ROLES","ROLLBACK","ROLLUP","ROW","ROWS","S","S3","SALT","SAMPLE","SAN","SCHEME","SECONDS","SECURITY","SELECT","SEMI","SEQUENTIAL","SERVER","SET","SETS","SETTING","SETTINGS","SHA256_HASH","SHA256_PASSWORD","SHARD","SHOW","SIGNED","SIMPLE","SNAPSHOT","SOURCE","SPATIAL","SQL","SQL_TSI_DAY","SQL_TSI_HOUR","SQL_TSI_MICROSECOND","SQL_TSI_MILLISECOND","SQL_TSI_MINUTE","SQL_TSI_MONTH","SQL_TSI_NANOSECOND","SQL_TSI_QUARTER","SQL_TSI_SECOND","SQL_TSI_WEEK","SQL_TSI_YEAR","SS","SSH_KEY","SSL_CERTIFICATE","STALENESS","START","STATISTICS","STDOUT","STEP","STORAGE","STRICT","STRICTLY_ASCENDING","SUBPARTITION","SUBPARTITIONS","SUSPEND","SYNC","SYNTAX","SYSTEM","TABLE","TABLES","TAGS","TEMPORARY","TEST","THAN","THEN","TIES","TIME","TO","TOP","TOTALS","TRACKING","TRAILING","TRANSACTION","TREE","TRIGGER","TRUE","TRUNCATE","TTL","TYPE","TYPEOF","UNBOUNDED","UNDROP","UNFREEZE","UNION","UNIQUE","UNSET","UNSIGNED","UNTIL","UPDATE","URL","USE","USING","UUID","VALID","VALUES","VARYING","VIEW","VISIBLE","VOLUME","WATCH","WATERMARK","WEEKS","WHEN","WHERE","WINDOW","WITH","WITH_ITEMINDEX","WK","WRITABLE","WW","YEARS","YY","YYYY","ZKPATH"],No=["AGGREGATEFUNCTION","ARRAY","BFLOAT16","BIGINT","BIGINT SIGNED","BIGINT UNSIGNED","BINARY","BINARY LARGE OBJECT","BINARY VARYING","BIT","BLOB","BYTE","BYTEA","BOOL","CHAR","CHAR LARGE OBJECT","CHAR VARYING","CHARACTER","CHARACTER LARGE OBJECT","CHARACTER VARYING","CLOB","DEC","DOUBLE","DOUBLE PRECISION","DATE","DATE32","DATETIME","DATETIME32","DATETIME64","DECIMAL","DECIMAL128","DECIMAL256","DECIMAL32","DECIMAL64","DYNAMIC","ENUM","ENUM","ENUM16","ENUM8","FIXED","FLOAT","FIXEDSTRING","FLOAT32","FLOAT64","GEOMETRY","INET4","INET6","INT","INT SIGNED","INT UNSIGNED","INT1","INT1 SIGNED","INT1 UNSIGNED","INTEGER","INTEGER SIGNED","INTEGER UNSIGNED","IPV4","IPV6","INT128","INT16","INT256","INT32","INT64","INT8","INTERVALDAY","INTERVALHOUR","INTERVALMICROSECOND","INTERVALMILLISECOND","INTERVALMINUTE","INTERVALMONTH","INTERVALNANOSECOND","INTERVALQUARTER","INTERVALSECOND","INTERVALWEEK","INTERVALYEAR","JSON","LONGBLOB","LONGTEXT","LINESTRING","LOWCARDINALITY","MEDIUMBLOB","MEDIUMINT","MEDIUMINT SIGNED","MEDIUMINT UNSIGNED","MEDIUMTEXT","MAP","MULTILINESTRING","MULTIPOLYGON","NATIONAL CHAR","NATIONAL CHAR VARYING","NATIONAL CHARACTER","NATIONAL CHARACTER LARGE OBJECT","NATIONAL CHARACTER VARYING","NCHAR","NCHAR LARGE OBJECT","NCHAR VARYING","NUMERIC","NVARCHAR","NESTED","NOTHING","NULLABLE","OBJECT","POINT","POLYGON","REAL","RING","SET","SIGNED","SINGLE","SMALLINT","SMALLINT SIGNED","SMALLINT UNSIGNED","SIMPLEAGGREGATEFUNCTION","STRING","TEXT","TIMESTAMP","TINYBLOB","TINYINT","TINYINT SIGNED","TINYINT UNSIGNED","TINYTEXT","TIME","TIME64","TUPLE","UINT128","UINT16","UINT256","UINT32","UINT64","UINT8","UNSIGNED","UUID","VARBINARY","VARCHAR","VARCHAR2","VARIANT","YEAR","BOOL","BOOLEAN"],Io=y(["SELECT [DISTINCT]","MODIFY QUERY SELECT [DISTINCT]"]),Oo=y(["SET","WITH","FROM","SAMPLE","PREWHERE","WHERE","GROUP BY","HAVING","QUALIFY","ORDER BY","LIMIT","SETTINGS","INTO OUTFILE","FORMAT","WINDOW","PARTITION BY","INSERT INTO","VALUES","DEPENDS ON","MOVE {USER | ROLE | QUOTA | SETTINGS PROFILE | ROW POLICY}","GRANT","REVOKE","CHECK GRANT","SET [DEFAULT] ROLE [NONE | ALL | ALL EXCEPT]","DEDUPLICATE BY","MODIFY STATISTICS","TYPE","ALTER USER [IF EXISTS]","ALTER [ROW] POLICY [IF EXISTS]","DROP {USER | ROLE | QUOTA | PROFILE | SETTINGS PROFILE | ROW POLICY | POLICY} [IF EXISTS]"]),sr=y(["CREATE [OR REPLACE] [TEMPORARY] TABLE [IF NOT EXISTS]"]),rE=y(["ALL EXCEPT","ON CLUSTER","UPDATE","SYSTEM RELOAD {DICTIONARIES | DICTIONARY | FUNCTIONS | FUNCTION | ASYNCHRONOUS METRICS}","SYSTEM DROP {DNS CACHE | MARK CACHE | ICEBERG METADATA CACHE | TEXT INDEX DICTIONARY CACHE | TEXT INDEX HEADER CACHE | TEXT INDEX POSTINGS CACHE | REPLICA | DATABASE REPLICA | UNCOMPRESSED CACHE | COMPILED EXPRESSION CACHE | QUERY CONDITION CACHE | QUERY CACHE | FORMAT SCHEMA CACHE | FILESYSTEM CACHE}","SYSTEM FLUSH LOGS","SYSTEM RELOAD {CONFIG | USERS}","SYSTEM SHUTDOWN","SYSTEM KILL","SYSTEM FLUSH DISTRIBUTED","SYSTEM START DISTRIBUTED SENDS","SYSTEM {STOP | START} {LISTEN | MERGES | TTL MERGES | MOVES | FETCHES | REPLICATED SENDS | REPLICATION QUEUES | PULLING REPLICATION LOG}","SYSTEM {SYNC | RESTART | RESTORE} REPLICA","SYSTEM {SYNC | RESTORE} DATABASE REPLICA","SYSTEM RESTART REPLICAS","SYSTEM UNFREEZE","SYSTEM WAIT LOADING PARTS","SYSTEM {LOAD | UNLOAD} PRIMARY KEY","SYSTEM {STOP | START} [REPLICATED] VIEW","SYSTEM {STOP | START} VIEWS","SYSTEM {REFRESH | CANCEL | WAIT} VIEW","WITH NAME","SHOW [CREATE] {TABLE | TEMPORARY TABLE | DICTIONARY | VIEW | DATABASE}","SHOW DATABASES [[NOT] {LIKE | ILIKE}]","SHOW [FULL] [TEMPORARY] TABLES [FROM | IN]","SHOW [EXTENDED] [FULL] COLUMNS {FROM | IN}","ATTACH {TABLE | DICTIONARY | DATABASE} [IF NOT EXISTS]","DETACH {TABLE | DICTIONARY | DATABASE} [IF EXISTS]","PERMANENTLY","SYNC","DROP {DICTIONARY | DATABASE | PROFILE | VIEW | FUNCTION | NAMED COLLECTION} [IF EXISTS]","DROP [TEMPORARY] TABLE [IF EXISTS] [IF EMPTY]","RENAME TO","EXISTS [TEMPORARY] {TABLE | DICTIONARY | DATABASE}","KILL QUERY","OPTIMIZE TABLE","RENAME {TABLE | DICTIONARY | DATABASE}","EXCHANGE {TABLES | DICTIONARIES}","TRUNCATE TABLE [IF EXISTS]","EXECUTE AS","USE","TO","UNDROP TABLE","CREATE {DATABASE | NAMED COLLECTION} [IF NOT EXISTS]","CREATE [OR REPLACE] {VIEW | DICTIONARY} [IF NOT EXISTS]","CREATE MATERIALIZED VIEW [IF NOT EXISTS]","CREATE FUNCTION","CREATE {USER | ROLE | QUOTA | SETTINGS PROFILE} [IF NOT EXISTS | OR REPLACE]","CREATE [ROW] POLICY [IF NOT EXISTS | OR REPLACE]","REPLACE [TEMPORARY] TABLE [IF NOT EXISTS]","ALTER {ROLE | QUOTA | SETTINGS PROFILE} [IF EXISTS]","ALTER [TEMPORARY] TABLE","ALTER NAMED COLLECTION [IF EXISTS]","GRANTEES","NOT IDENTIFIED","RESET AUTHENTICATION METHODS TO NEW","{IDENTIFIED | ADD IDENTIFIED} [WITH | BY]","[ADD | DROP] HOST {LOCAL | NAME | REGEXP | IP | LIKE}","VALID UNTIL","DROP [ALL] {PROFILES | SETTINGS}","{ADD | MODIFY} SETTINGS","ADD PROFILES","APPLY DELETED MASK","IN PARTITION","{ADD | DROP | RENAME | CLEAR | COMMENT | MODIFY | ALTER | MATERIALIZE} COLUMN","{DETACH | DROP | ATTACH | FETCH | MOVE} {PART | PARTITION}","DROP DETACHED {PART | PARTITION}","{FORGET | REPLACE} PARTITION","CLEAR COLUMN","{FREEZE | UNFREEZE} [PARTITION]","CLEAR INDEX","TO {DISK | VOLUME}","[DELETE | REWRITE PARTS] IN PARTITION","{MODIFY | RESET} SETTING","DELETE WHERE","MODIFY ORDER BY","{MODIFY | REMOVE} SAMPLE BY","{ADD | MATERIALIZE | CLEAR} INDEX [IF NOT EXISTS]","DROP INDEX [IF EXISTS]","GRANULARITY","AFTER","FIRST","ADD CONSTRAINT [IF NOT EXISTS]","DROP CONSTRAINT [IF EXISTS]","MODIFY TTL","REMOVE TTL","ADD STATISTICS [IF NOT EXISTS]","{DROP | CLEAR} STATISTICS [IF EXISTS]","MATERIALIZE STATISTICS [ALL | IF EXISTS]","KEYED BY","NOT KEYED","FOR [RANDOMIZED] INTERVAL","AS {PERMISSIVE | RESTRICTIVE}","FOR SELECT","ADD PROJECTION [IF NOT EXISTS]","{DROP | MATERIALIZE | CLEAR} PROJECTION [IF EXISTS]","REFRESH {EVERY | AFTER}","RANDOMIZE FOR","APPEND","APPEND TO","DELETE FROM","EXPLAIN [AST | SYNTAX | QUERY TREE | PLAN | PIPELINE | ESTIMATE | TABLE OVERRIDE]","GRANT ON CLUSTER","GRANT CURRENT GRANTS","WITH GRANT OPTION","REVOKE ON CLUSTER","ADMIN OPTION FOR","CHECK TABLE","PARTITION ID","{DESC | DESCRIBE} TABLE"]),uo=y(["UNION [ALL | DISTINCT]","PARALLEL WITH"]),lo=y(["[GLOBAL] [INNER|LEFT|RIGHT|FULL|CROSS] [OUTER|SEMI|ANTI|ANY|ALL|ASOF] JOIN","[LEFT] ARRAY JOIN"]),Co=y(["{ROWS | RANGE} BETWEEN","ALTER MATERIALIZE STATISTICS"]),co={name:"clickhouse",tokenizerOptions:{reservedSelect:Io,reservedClauses:[...Oo,...sr,...rE],reservedSetOperations:uo,reservedJoins:lo,reservedKeywordPhrases:Co,reservedKeywords:So,reservedDataTypes:No,reservedFunctionNames:Ro,extraParens:["[]","{}"],lineCommentTypes:["#","--"],nestedBlockComments:!1,underscoresInNumbers:!0,stringTypes:["$$","''-qq-bs"],identTypes:['""-qq-bs',"``"],paramTypes:{custom:[{regex:String.raw`\{[^:']+:[^}]+\}`,key:E=>{const t=/\{([^:]+):/.exec(E);return t?t[1].trim():E}}]},operators:["%","||","?",":","==","<=>","->"],postProcess:_o},formatOptions:{onelineClauses:[...sr,...rE],tabularOnelineClauses:rE}};function _o(E){return E.map((t,r)=>{const n=E[r+1]||It,T=E[r-1]||It;return t.type===X.RESERVED_SELECT&&(n.type===X.COMMA||T.type===X.RESERVED_CLAUSE||T.type===X.COMMA)?Object.assign(Object.assign({},t),{type:X.RESERVED_KEYWORD}):Ot.SET(t)&&n.type===X.OPEN_PAREN?Object.assign(Object.assign({},t),{type:X.RESERVED_FUNCTION_NAME}):t})}const Lo=["ARRAY_AGG","AVG","CORRELATION","COUNT","COUNT_BIG","COVARIANCE","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","STDDEV_SAMP","SUM","VARIANCE","VARIANCE_SAMP","XMLAGG","XMLGROUP","ABS","ABSVAL","ACOS","ADD_DAYS","ADD_HOURS","ADD_MINUTES","ADD_MONTHS","ADD_SECONDS","ADD_YEARS","AGE","ARRAY_DELETE","ARRAY_FIRST","ARRAY_LAST","ARRAY_NEXT","ARRAY_PRIOR","ASCII","ASCII_STR","ASIN","ATAN","ATAN2","ATANH","BITAND","BITANDNOT","BITOR","BITXOR","BITNOT","BPCHAR","BSON_TO_JSON","BTRIM","CARDINALITY","CEILING","CEIL","CHARACTER_LENGTH","CHR","COALESCE","COLLATION_KEY","COLLATION_KEY_BIT","COMPARE_DECFLOAT","CONCAT","COS","COSH","COT","CURSOR_ROWCOUNT","DATAPARTITIONNUM","DATE_PART","DATE_TRUNC","DAY","DAYNAME","DAYOFMONTH","DAYOFWEEK","DAYOFWEEK_ISO","DAYOFYEAR","DAYS","DAYS_BETWEEN","DAYS_TO_END_OF_MONTH","DBPARTITIONNUM","DECFLOAT","DECFLOAT_FORMAT","DECODE","DECRYPT_BIN","DECRYPT_CHAR","DEGREES","DEREF","DIFFERENCE","DIGITS","DOUBLE_PRECISION","EMPTY_BLOB","EMPTY_CLOB","EMPTY_DBCLOB","EMPTY_NCLOB","ENCRYPT","EVENT_MON_STATE","EXP","EXTRACT","FIRST_DAY","FLOOR","FROM_UTC_TIMESTAMP","GENERATE_UNIQUE","GETHINT","GREATEST","HASH","HASH4","HASH8","HASHEDVALUE","HEX","HEXTORAW","HOUR","HOURS_BETWEEN","IDENTITY_VAL_LOCAL","IFNULL","INITCAP","INSERT","INSTR","INSTR2","INSTR4","INSTRB","INTNAND","INTNOR","INTNXOR","INTNNOT","ISNULL","JSON_ARRAY","JSON_OBJECT","JSON_QUERY","JSON_TO_BSON","JSON_VALUE","JULIAN_DAY","LAST_DAY","LCASE","LEAST","LEFT","LENGTH","LENGTH2","LENGTH4","LENGTHB","LN","LOCATE","LOCATE_IN_STRING","LOG10","LONG_VARCHAR","LONG_VARGRAPHIC","LOWER","LPAD","LTRIM","MAX","MAX_CARDINALITY","MICROSECOND","MIDNIGHT_SECONDS","MIN","MINUTE","MINUTES_BETWEEN","MOD","MONTH","MONTHNAME","MONTHS_BETWEEN","MULTIPLY_ALT","NEXT_DAY","NEXT_MONTH","NEXT_QUARTER","NEXT_WEEK","NEXT_YEAR","NORMALIZE_DECFLOAT","NOW","NULLIF","NVL","NVL2","OCTET_LENGTH","OVERLAY","PARAMETER","POSITION","POSSTR","POW","POWER","QUANTIZE","QUARTER","QUOTE_IDENT","QUOTE_LITERAL","RADIANS","RAISE_ERROR","RAND","RANDOM","RAWTOHEX","REC2XML","REGEXP_COUNT","REGEXP_EXTRACT","REGEXP_INSTR","REGEXP_LIKE","REGEXP_MATCH_COUNT","REGEXP_REPLACE","REGEXP_SUBSTR","REPEAT","REPLACE","RID","RID_BIT","RIGHT","ROUND","ROUND_TIMESTAMP","RPAD","RTRIM","SECLABEL","SECLABEL_BY_NAME","SECLABEL_TO_CHAR","SECOND","SECONDS_BETWEEN","SIGN","SIN","SINH","SOUNDEX","SPACE","SQRT","STRIP","STRLEFT","STRPOS","STRRIGHT","SUBSTR","SUBSTR2","SUBSTR4","SUBSTRB","SUBSTRING","TABLE_NAME","TABLE_SCHEMA","TAN","TANH","THIS_MONTH","THIS_QUARTER","THIS_WEEK","THIS_YEAR","TIMESTAMP_FORMAT","TIMESTAMP_ISO","TIMESTAMPDIFF","TIMEZONE","TO_CHAR","TO_CLOB","TO_DATE","TO_HEX","TO_MULTI_BYTE","TO_NCHAR","TO_NCLOB","TO_NUMBER","TO_SINGLE_BYTE","TO_TIMESTAMP","TO_UTC_TIMESTAMP","TOTALORDER","TRANSLATE","TRIM","TRIM_ARRAY","TRUNC_TIMESTAMP","TRUNCATE","TRUNC","TYPE_ID","TYPE_NAME","TYPE_SCHEMA","UCASE","UNICODE_STR","UPPER","VALUE","VARCHAR_BIT_FORMAT","VARCHAR_FORMAT","VARCHAR_FORMAT_BIT","VERIFY_GROUP_FOR_USER","VERIFY_ROLE_FOR_USER","VERIFY_TRUSTED_CONTEXT_ROLE_FOR_USER","WEEK","WEEK_ISO","WEEKS_BETWEEN","WIDTH_BUCKET","XMLATTRIBUTES","XMLCOMMENT","XMLCONCAT","XMLDOCUMENT","XMLELEMENT","XMLFOREST","XMLNAMESPACES","XMLPARSE","XMLPI","XMLQUERY","XMLROW","XMLSERIALIZE","XMLTEXT","XMLVALIDATE","XMLXSROBJECTID","XSLTRANSFORM","YEAR","YEARS_BETWEEN","YMD_BETWEEN","BASE_TABLE","JSON_TABLE","UNNEST","XMLTABLE","RANK","DENSE_RANK","NTILE","LAG","LEAD","ROW_NUMBER","FIRST_VALUE","LAST_VALUE","NTH_VALUE","RATIO_TO_REPORT","CAST"],Do=["ACTIVATE","ADD","AFTER","ALIAS","ALL","ALLOCATE","ALLOW","ALTER","AND","ANY","AS","ASENSITIVE","ASSOCIATE","ASUTIME","AT","ATTRIBUTES","AUDIT","AUTHORIZATION","AUX","AUXILIARY","BEFORE","BEGIN","BETWEEN","BINARY","BUFFERPOOL","BY","CACHE","CALL","CALLED","CAPTURE","CARDINALITY","CASCADED","CASE","CAST","CHECK","CLONE","CLOSE","CLUSTER","COLLECTION","COLLID","COLUMN","COMMENT","COMMIT","CONCAT","CONDITION","CONNECT","CONNECTION","CONSTRAINT","CONTAINS","CONTINUE","COUNT","COUNT_BIG","CREATE","CROSS","CURRENT","CURRENT_DATE","CURRENT_LC_CTYPE","CURRENT_PATH","CURRENT_SCHEMA","CURRENT_SERVER","CURRENT_TIME","CURRENT_TIMESTAMP","CURRENT_TIMEZONE","CURRENT_USER","CURSOR","CYCLE","DATA","DATABASE","DATAPARTITIONNAME","DATAPARTITIONNUM","DAY","DAYS","DB2GENERAL","DB2GENRL","DB2SQL","DBINFO","DBPARTITIONNAME","DBPARTITIONNUM","DEALLOCATE","DECLARE","DEFAULT","DEFAULTS","DEFINITION","DELETE","DENSERANK","DENSE_RANK","DESCRIBE","DESCRIPTOR","DETERMINISTIC","DIAGNOSTICS","DISABLE","DISALLOW","DISCONNECT","DISTINCT","DO","DOCUMENT","DROP","DSSIZE","DYNAMIC","EACH","EDITPROC","ELSE","ELSEIF","ENABLE","ENCODING","ENCRYPTION","END","END-EXEC","ENDING","ERASE","ESCAPE","EVERY","EXCEPT","EXCEPTION","EXCLUDING","EXCLUSIVE","EXECUTE","EXISTS","EXIT","EXPLAIN","EXTENDED","EXTERNAL","EXTRACT","FENCED","FETCH","FIELDPROC","FILE","FINAL","FIRST1","FOR","FOREIGN","FREE","FROM","FULL","FUNCTION","GENERAL","GENERATED","GET","GLOBAL","GO","GOTO","GRANT","GRAPHIC","GROUP","HANDLER","HASH","HASHED_VALUE","HAVING","HINT","HOLD","HOUR","HOURS","IDENTITY","IF","IMMEDIATE","IMPORT","IN","INCLUDING","INCLUSIVE","INCREMENT","INDEX","INDICATOR","INDICATORS","INF","INFINITY","INHERIT","INNER","INOUT","INSENSITIVE","INSERT","INTEGRITY","INTERSECT","INTO","IS","ISNULL","ISOBID","ISOLATION","ITERATE","JAR","JAVA","JOIN","KEEP","KEY","LABEL","LANGUAGE","LAST3","LATERAL","LC_CTYPE","LEAVE","LEFT","LIKE","LIMIT","LINKTYPE","LOCAL","LOCALDATE","LOCALE","LOCALTIME","LOCALTIMESTAMP","LOCATOR","LOCATORS","LOCK","LOCKMAX","LOCKSIZE","LOOP","MAINTAINED","MATERIALIZED","MAXVALUE","MICROSECOND","MICROSECONDS","MINUTE","MINUTES","MINVALUE","MODE","MODIFIES","MONTH","MONTHS","NAN","NEW","NEW_TABLE","NEXTVAL","NO","NOCACHE","NOCYCLE","NODENAME","NODENUMBER","NOMAXVALUE","NOMINVALUE","NONE","NOORDER","NORMALIZED","NOT2","NOTNULL","NULL","NULLS","NUMPARTS","OBID","OF","OFF","OFFSET","OLD","OLD_TABLE","ON","OPEN","OPTIMIZATION","OPTIMIZE","OPTION","OR","ORDER","OUT","OUTER","OVER","OVERRIDING","PACKAGE","PADDED","PAGESIZE","PARAMETER","PART","PARTITION","PARTITIONED","PARTITIONING","PARTITIONS","PASSWORD","PATH","PERCENT","PIECESIZE","PLAN","POSITION","PRECISION","PREPARE","PREVVAL","PRIMARY","PRIQTY","PRIVILEGES","PROCEDURE","PROGRAM","PSID","PUBLIC","QUERY","QUERYNO","RANGE","RANK","READ","READS","RECOVERY","REFERENCES","REFERENCING","REFRESH","RELEASE","RENAME","REPEAT","RESET","RESIGNAL","RESTART","RESTRICT","RESULT","RESULT_SET_LOCATOR","RETURN","RETURNS","REVOKE","RIGHT","ROLE","ROLLBACK","ROUND_CEILING","ROUND_DOWN","ROUND_FLOOR","ROUND_HALF_DOWN","ROUND_HALF_EVEN","ROUND_HALF_UP","ROUND_UP","ROUTINE","ROW","ROWNUMBER","ROWS","ROWSET","ROW_NUMBER","RRN","RUN","SAVEPOINT","SCHEMA","SCRATCHPAD","SCROLL","SEARCH","SECOND","SECONDS","SECQTY","SECURITY","SELECT","SENSITIVE","SEQUENCE","SESSION","SESSION_USER","SET","SIGNAL","SIMPLE","SNAN","SOME","SOURCE","SPECIFIC","SQL","SQLID","STACKED","STANDARD","START","STARTING","STATEMENT","STATIC","STATMENT","STAY","STOGROUP","STORES","STYLE","SUBSTRING","SUMMARY","SYNONYM","SYSFUN","SYSIBM","SYSPROC","SYSTEM","SYSTEM_USER","TABLE","TABLESPACE","THEN","TO","TRANSACTION","TRIGGER","TRIM","TRUNCATE","TYPE","UNDO","UNION","UNIQUE","UNTIL","UPDATE","USAGE","USER","USING","VALIDPROC","VALUE","VALUES","VARIABLE","VARIANT","VCAT","VERSION","VIEW","VOLATILE","VOLUMES","WHEN","WHENEVER","WHERE","WHILE","WITH","WITHOUT","WLM","WRITE","XMLELEMENT","XMLEXISTS","XMLNAMESPACES","YEAR","YEARS"],po=["ARRAY","BIGINT","BINARY","BLOB","BOOLEAN","CCSID","CHAR","CHARACTER","CLOB","DATE","DATETIME","DBCLOB","DEC","DECIMAL","DOUBLE","DOUBLE PRECISION","FLOAT","FLOAT4","FLOAT8","GRAPHIC","INT","INT2","INT4","INT8","INTEGER","INTERVAL","LONG VARCHAR","LONG VARGRAPHIC","NCHAR","NCHR","NCLOB","NVARCHAR","NUMERIC","SMALLINT","REAL","TIME","TIMESTAMP","VARBINARY","VARCHAR","VARGRAPHIC"],Po=y(["SELECT [ALL | DISTINCT]"]),fo=y(["WITH","FROM","WHERE","GROUP BY","HAVING","PARTITION BY","ORDER BY [INPUT SEQUENCE]","LIMIT","OFFSET","FETCH NEXT","FOR UPDATE [OF]","FOR {READ | FETCH} ONLY","FOR {RR | CS | UR | RS} [USE AND KEEP {SHARE | UPDATE | EXCLUSIVE} LOCKS]","WAIT FOR OUTCOME","SKIP LOCKED DATA","INTO","INSERT INTO","VALUES","SET","MERGE INTO","WHEN [NOT] MATCHED [THEN]","UPDATE SET","INSERT"]),Tr=y(["CREATE [GLOBAL TEMPORARY | EXTERNAL] TABLE [IF NOT EXISTS]"]),nE=y(["CREATE [OR REPLACE] VIEW","UPDATE","WHERE CURRENT OF","WITH {RR | RS | CS | UR}","DELETE FROM","DROP TABLE [IF EXISTS]","ALTER TABLE","ADD [COLUMN]","DROP [COLUMN]","RENAME COLUMN","ALTER [COLUMN]","SET DATA TYPE","SET NOT NULL","DROP {DEFAULT | GENERATED | NOT NULL}","TRUNCATE [TABLE]","ALLOCATE","ALTER AUDIT POLICY","ALTER BUFFERPOOL","ALTER DATABASE PARTITION GROUP","ALTER DATABASE","ALTER EVENT MONITOR","ALTER FUNCTION","ALTER HISTOGRAM TEMPLATE","ALTER INDEX","ALTER MASK","ALTER METHOD","ALTER MODULE","ALTER NICKNAME","ALTER PACKAGE","ALTER PERMISSION","ALTER PROCEDURE","ALTER SCHEMA","ALTER SECURITY LABEL COMPONENT","ALTER SECURITY POLICY","ALTER SEQUENCE","ALTER SERVER","ALTER SERVICE CLASS","ALTER STOGROUP","ALTER TABLESPACE","ALTER THRESHOLD","ALTER TRIGGER","ALTER TRUSTED CONTEXT","ALTER TYPE","ALTER USAGE LIST","ALTER USER MAPPING","ALTER VIEW","ALTER WORK ACTION SET","ALTER WORK CLASS SET","ALTER WORKLOAD","ALTER WRAPPER","ALTER XSROBJECT","ALTER STOGROUP","ALTER TABLESPACE","ALTER TRIGGER","ALTER TRUSTED CONTEXT","ALTER VIEW","ASSOCIATE [RESULT SET] {LOCATOR | LOCATORS}","AUDIT","BEGIN DECLARE SECTION","CALL","CLOSE","COMMENT ON","COMMIT [WORK]","CONNECT","CREATE [OR REPLACE] [PUBLIC] ALIAS","CREATE AUDIT POLICY","CREATE BUFFERPOOL","CREATE DATABASE PARTITION GROUP","CREATE EVENT MONITOR","CREATE [OR REPLACE] FUNCTION","CREATE FUNCTION MAPPING","CREATE HISTOGRAM TEMPLATE","CREATE [UNIQUE] INDEX","CREATE INDEX EXTENSION","CREATE [OR REPLACE] MASK","CREATE [SPECIFIC] METHOD","CREATE [OR REPLACE] MODULE","CREATE [OR REPLACE] NICKNAME","CREATE [OR REPLACE] PERMISSION","CREATE [OR REPLACE] PROCEDURE","CREATE ROLE","CREATE SCHEMA","CREATE SECURITY LABEL [COMPONENT]","CREATE SECURITY POLICY","CREATE [OR REPLACE] SEQUENCE","CREATE SERVICE CLASS","CREATE SERVER","CREATE STOGROUP","CREATE SYNONYM","CREATE [LARGE | REGULAR | {SYSTEM | USER} TEMPORARY] TABLESPACE","CREATE THRESHOLD","CREATE {TRANSFORM | TRANSFORMS} FOR","CREATE [OR REPLACE] TRIGGER","CREATE TRUSTED CONTEXT","CREATE [OR REPLACE] TYPE","CREATE TYPE MAPPING","CREATE USAGE LIST","CREATE USER MAPPING FOR","CREATE [OR REPLACE] VARIABLE","CREATE WORK ACTION SET","CREATE WORK CLASS SET","CREATE WORKLOAD","CREATE WRAPPER","DECLARE","DECLARE GLOBAL TEMPORARY TABLE","DESCRIBE [INPUT | OUTPUT]","DISCONNECT","DROP [PUBLIC] ALIAS","DROP AUDIT POLICY","DROP BUFFERPOOL","DROP DATABASE PARTITION GROUP","DROP EVENT MONITOR","DROP [SPECIFIC] FUNCTION","DROP FUNCTION MAPPING","DROP HISTOGRAM TEMPLATE","DROP INDEX [EXTENSION]","DROP MASK","DROP [SPECIFIC] METHOD","DROP MODULE","DROP NICKNAME","DROP PACKAGE","DROP PERMISSION","DROP [SPECIFIC] PROCEDURE","DROP ROLE","DROP SCHEMA","DROP SECURITY LABEL [COMPONENT]","DROP SECURITY POLICY","DROP SEQUENCE","DROP SERVER","DROP SERVICE CLASS","DROP STOGROUP","DROP TABLE HIERARCHY","DROP {TABLESPACE | TABLESPACES}","DROP {TRANSFORM | TRANSFORMS}","DROP THRESHOLD","DROP TRIGGER","DROP TRUSTED CONTEXT","DROP TYPE [MAPPING]","DROP USAGE LIST","DROP USER MAPPING FOR","DROP VARIABLE","DROP VIEW [HIERARCHY]","DROP WORK {ACTION | CLASS} SET","DROP WORKLOAD","DROP WRAPPER","DROP XSROBJECT","END DECLARE SECTION","EXECUTE [IMMEDIATE]","EXPLAIN {PLAN [SECTION] | ALL}","FETCH [FROM]","FLUSH {BUFFERPOOL | BUFFERPOOLS} ALL","FLUSH EVENT MONITOR","FLUSH FEDERATED CACHE","FLUSH OPTIMIZATION PROFILE CACHE","FLUSH PACKAGE CACHE [DYNAMIC]","FLUSH AUTHENTICATION CACHE [FOR ALL]","FREE LOCATOR","GET DIAGNOSTICS","GOTO","GRANT","INCLUDE","ITERATE","LEAVE","LOCK TABLE","LOOP","OPEN","PIPE","PREPARE","REFRESH TABLE","RELEASE","RELEASE [TO] SAVEPOINT","RENAME [TABLE | INDEX | STOGROUP | TABLESPACE]","REPEAT","RESIGNAL","RETURN","REVOKE","ROLLBACK [WORK] [TO SAVEPOINT]","SAVEPOINT","SET COMPILATION ENVIRONMENT","SET CONNECTION","SET CURRENT","SET ENCRYPTION PASSWORD","SET EVENT MONITOR STATE","SET INTEGRITY","SET PASSTHRU","SET PATH","SET ROLE","SET SCHEMA","SET SERVER OPTION","SET {SESSION AUTHORIZATION | SESSION_USER}","SET USAGE LIST","SIGNAL","TRANSFER OWNERSHIP OF","WHENEVER {NOT FOUND | SQLERROR | SQLWARNING}","WHILE"]),ho=y(["UNION [ALL]","EXCEPT [ALL]","INTERSECT [ALL]"]),Mo=y(["JOIN","{LEFT | RIGHT | FULL} [OUTER] JOIN","{INNER | CROSS} JOIN"]),Uo=y(["ON DELETE","ON UPDATE","SET NULL","{ROWS | RANGE} BETWEEN"]),mo=y([]),Bo={name:"db2",tokenizerOptions:{reservedSelect:Po,reservedClauses:[...fo,...Tr,...nE],reservedSetOperations:ho,reservedJoins:Mo,reservedKeywordPhrases:Uo,reservedDataTypePhrases:mo,reservedKeywords:Do,reservedDataTypes:po,reservedFunctionNames:Lo,extraParens:["[]"],stringTypes:[{quote:"''-qq",prefixes:["G","N","U&"]},{quote:"''-raw",prefixes:["X","BX","GX","UX"],requirePrefix:!0}],identTypes:['""-qq'],identChars:{first:"@#$",rest:"@#$"},paramTypes:{positional:!0,named:[":"]},paramChars:{first:"@#$",rest:"@#$"},operators:["**","%","|","&","^","~","¬=","¬>","¬<","!>","!<","^=","^>","^<","||","->","=>"]},formatOptions:{onelineClauses:[...Tr,...nE],tabularOnelineClauses:nE}},go=["ARRAY_AGG","AVG","CORR","CORRELATION","COUNT","COUNT_BIG","COVAR_POP","COVARIANCE","COVAR","COVAR_SAMP","COVARIANCE_SAMP","EVERY","GROUPING","JSON_ARRAYAGG","JSON_OBJECTAGG","LISTAGG","MAX","MEDIAN","MIN","PERCENTILE_CONT","PERCENTILE_DISC","REGR_AVGX","REGR_AVGY","REGR_COUNT","REGR_INTERCEPT","REGR_R2","REGR_SLOPE","REGR_SXX","REGR_SXY","REGR_SYY","SOME","STDDEV_POP","STDDEV","STDDEV_SAMP","SUM","VAR_POP","VARIANCE","VAR","VAR_SAMP","VARIANCE_SAMP","XMLAGG","XMLGROUP","ABS","ABSVAL","ACOS","ADD_DAYS","ADD_HOURS","ADD_MINUTES","ADD_MONTHS","ADD_SECONDS","ADD_YEARS","ANTILOG","ARRAY_MAX_CARDINALITY","ARRAY_TRIM","ASCII","ASIN","ATAN","ATAN2","ATANH","BASE64_DECODE","BASE64_ENCODE","BIT_LENGTH","BITAND","BITANDNOT","BITNOT","BITOR","BITXOR","BSON_TO_JSON","CARDINALITY","CEIL","CEILING","CHAR_LENGTH","CHARACTER_LENGTH","CHR","COALESCE","COMPARE_DECFLOAT","CONCAT","CONTAINS","COS","COSH","COT","CURDATE","CURTIME","DATABASE","DATAPARTITIONNAME","DATAPARTITIONNUM","DAY","DAYNAME","DAYOFMONTH","DAYOFWEEK_ISO","DAYOFWEEK","DAYOFYEAR","DAYS","DBPARTITIONNAME","DBPARTITIONNUM","DECFLOAT_FORMAT","DECFLOAT_SORTKEY","DECRYPT_BINARY","DECRYPT_BIT","DECRYPT_CHAR","DECRYPT_DB","DEGREES","DIFFERENCE","DIGITS","DLCOMMENT","DLLINKTYPE","DLURLCOMPLETE","DLURLPATH","DLURLPATHONLY","DLURLSCHEME","DLURLSERVER","DLVALUE","DOUBLE_PRECISION","DOUBLE","ENCRPYT","ENCRYPT_AES","ENCRYPT_AES256","ENCRYPT_RC2","ENCRYPT_TDES","EXP","EXTRACT","FIRST_DAY","FLOOR","GENERATE_UNIQUE","GET_BLOB_FROM_FILE","GET_CLOB_FROM_FILE","GET_DBCLOB_FROM_FILE","GET_XML_FILE","GETHINT","GREATEST","HASH_MD5","HASH_ROW","HASH_SHA1","HASH_SHA256","HASH_SHA512","HASH_VALUES","HASHED_VALUE","HEX","HEXTORAW","HOUR","HTML_ENTITY_DECODE","HTML_ENTITY_ENCODE","HTTP_DELETE_BLOB","HTTP_DELETE","HTTP_GET_BLOB","HTTP_GET","HTTP_PATCH_BLOB","HTTP_PATCH","HTTP_POST_BLOB","HTTP_POST","HTTP_PUT_BLOB","HTTP_PUT","IDENTITY_VAL_LOCAL","IFNULL","INSERT","INSTR","INTERPRET","ISFALSE","ISNOTFALSE","ISNOTTRUE","ISTRUE","JSON_ARRAY","JSON_OBJECT","JSON_QUERY","JSON_TO_BSON","JSON_UPDATE","JSON_VALUE","JULIAN_DAY","LAND","LAST_DAY","LCASE","LEAST","LEFT","LENGTH","LN","LNOT","LOCATE_IN_STRING","LOCATE","LOG10","LOR","LOWER","LPAD","LTRIM","MAX_CARDINALITY","MAX","MICROSECOND","MIDNIGHT_SECONDS","MIN","MINUTE","MOD","MONTH","MONTHNAME","MONTHS_BETWEEN","MQREAD","MQREADCLOB","MQRECEIVE","MQRECEIVECLOB","MQSEND","MULTIPLY_ALT","NEXT_DAY","NORMALIZE_DECFLOAT","NOW","NULLIF","NVL","OCTET_LENGTH","OVERLAY","PI","POSITION","POSSTR","POW","POWER","QUANTIZE","QUARTER","RADIANS","RAISE_ERROR","RANDOM","RAND","REGEXP_COUNT","REGEXP_INSTR","REGEXP_REPLACE","REGEXP_SUBSTR","REPEAT","REPLACE","RID","RIGHT","ROUND_TIMESTAMP","ROUND","RPAD","RRN","RTRIM","SCORE","SECOND","SIGN","SIN","SINH","SOUNDEX","SPACE","SQRT","STRIP","STRLEFT","STRPOS","STRRIGHT","SUBSTR","SUBSTRING","TABLE_NAME","TABLE_SCHEMA","TAN","TANH","TIMESTAMP_FORMAT","TIMESTAMP_ISO","TIMESTAMPDIFF_BIG","TIMESTAMPDIFF","TO_CHAR","TO_CLOB","TO_DATE","TO_NUMBER","TO_TIMESTAMP","TOTALORDER","TRANSLATE","TRIM_ARRAY","TRIM","TRUNC_TIMESTAMP","TRUNC","TRUNCATE","UCASE","UPPER","URL_DECODE","URL_ENCODE","VALUE","VARBINARY_FORMAT","VARCHAR_BIT_FORMAT","VARCHAR_FORMAT_BINARY","VARCHAR_FORMAT","VERIFY_GROUP_FOR_USER","WEEK_ISO","WEEK","WRAP","XMLATTRIBUTES","XMLCOMMENT","XMLCONCAT","XMLDOCUMENT","XMLELEMENT","XMLFOREST","XMLNAMESPACES","XMLPARSE","XMLPI","XMLROW","XMLSERIALIZE","XMLTEXT","XMLVALIDATE","XOR","XSLTRANSFORM","YEAR","ZONED","BASE_TABLE","HTTP_DELETE_BLOB_VERBOSE","HTTP_DELETE_VERBOSE","HTTP_GET_BLOB_VERBOSE","HTTP_GET_VERBOSE","HTTP_PATCH_BLOB_VERBOSE","HTTP_PATCH_VERBOSE","HTTP_POST_BLOB_VERBOSE","HTTP_POST_VERBOSE","HTTP_PUT_BLOB_VERBOSE","HTTP_PUT_VERBOSE","JSON_TABLE","MQREADALL","MQREADALLCLOB","MQRECEIVEALL","MQRECEIVEALLCLOB","XMLTABLE","UNPACK","CUME_DIST","DENSE_RANK","FIRST_VALUE","LAG","LAST_VALUE","LEAD","NTH_VALUE","NTILE","PERCENT_RANK","RANK","RATIO_TO_REPORT","ROW_NUMBER","CAST"],yo=["ABSENT","ACCORDING","ACCTNG","ACTION","ACTIVATE","ADD","ALIAS","ALL","ALLOCATE","ALLOW","ALTER","AND","ANY","APPEND","APPLNAME","ARRAY","ARRAY_AGG","ARRAY_TRIM","AS","ASC","ASENSITIVE","ASSOCIATE","ATOMIC","ATTACH","ATTRIBUTES","AUTHORIZATION","AUTONOMOUS","BEFORE","BEGIN","BETWEEN","BIND","BSON","BUFFERPOOL","BY","CACHE","CALL","CALLED","CARDINALITY","CASE","CAST","CHECK","CL","CLOSE","CLUSTER","COLLECT","COLLECTION","COLUMN","COMMENT","COMMIT","COMPACT","COMPARISONS","COMPRESS","CONCAT","CONCURRENT","CONDITION","CONNECT","CONNECT_BY_ROOT","CONNECTION","CONSTANT","CONSTRAINT","CONTAINS","CONTENT","CONTINUE","COPY","COUNT","COUNT_BIG","CREATE","CREATEIN","CROSS","CUBE","CUME_DIST","CURRENT","CURRENT_DATE","CURRENT_PATH","CURRENT_SCHEMA","CURRENT_SERVER","CURRENT_TIME","CURRENT_TIMESTAMP","CURRENT_TIMEZONE","CURRENT_USER","CURSOR","CYCLE","DATABASE","DATAPARTITIONNAME","DATAPARTITIONNUM","DAY","DAYS","DB2GENERAL","DB2GENRL","DB2SQL","DBINFO","DBPARTITIONNAME","DBPARTITIONNUM","DEACTIVATE","DEALLOCATE","DECLARE","DEFAULT","DEFAULTS","DEFER","DEFINE","DEFINITION","DELETE","DELETING","DENSE_RANK","DENSERANK","DESC","DESCRIBE","DESCRIPTOR","DETACH","DETERMINISTIC","DIAGNOSTICS","DISABLE","DISALLOW","DISCONNECT","DISTINCT","DO","DOCUMENT","DROP","DYNAMIC","EACH","ELSE","ELSEIF","EMPTY","ENABLE","ENCODING","ENCRYPTION","END","END-EXEC","ENDING","ENFORCED","ERROR","ESCAPE","EVERY","EXCEPT","EXCEPTION","EXCLUDING","EXCLUSIVE","EXECUTE","EXISTS","EXIT","EXTEND","EXTERNAL","EXTRACT","FALSE","FENCED","FETCH","FIELDPROC","FILE","FINAL","FIRST_VALUE","FOR","FOREIGN","FORMAT","FREE","FREEPAGE","FROM","FULL","FUNCTION","GBPCACHE","GENERAL","GENERATED","GET","GLOBAL","GO","GOTO","GRANT","GROUP","HANDLER","HASH","HASH_ROW","HASHED_VALUE","HAVING","HINT","HOLD","HOUR","HOURS","IDENTITY","IF","IGNORE","IMMEDIATE","IMPLICITLY","IN","INCLUDE","INCLUDING","INCLUSIVE","INCREMENT","INDEX","INDEXBP","INDICATOR","INF","INFINITY","INHERIT","INLINE","INNER","INOUT","INSENSITIVE","INSERT","INSERTING","INTEGRITY","INTERPRET","INTERSECT","INTO","IS","ISNULL","ISOLATION","ITERATE","JAVA","JOIN","JSON","JSON_ARRAY","JSON_ARRAYAGG","JSON_EXISTS","JSON_OBJECT","JSON_OBJECTAGG","JSON_QUERY","JSON_TABLE","JSON_VALUE","KEEP","KEY","KEYS","LABEL","LAG","LANGUAGE","LAST_VALUE","LATERAL","LEAD","LEAVE","LEFT","LEVEL2","LIKE","LIMIT","LINKTYPE","LISTAGG","LOCAL","LOCALDATE","LOCALTIME","LOCALTIMESTAMP","LOCATION","LOCATOR","LOCK","LOCKSIZE","LOG","LOGGED","LOOP","MAINTAINED","MASK","MATCHED","MATERIALIZED","MAXVALUE","MERGE","MICROSECOND","MICROSECONDS","MINPCTUSED","MINUTE","MINUTES","MINVALUE","MIRROR","MIXED","MODE","MODIFIES","MONTH","MONTHS","NAMESPACE","NAN","NATIONAL","NCHAR","NCLOB","NESTED","NEW","NEW_TABLE","NEXTVAL","NO","NOCACHE","NOCYCLE","NODENAME","NODENUMBER","NOMAXVALUE","NOMINVALUE","NONE","NOORDER","NORMALIZED","NOT","NOTNULL","NTH_VALUE","NTILE","NULL","NULLS","NVARCHAR","OBID","OBJECT","OF","OFF","OFFSET","OLD","OLD_TABLE","OMIT","ON","ONLY","OPEN","OPTIMIZE","OPTION","OR","ORDER","ORDINALITY","ORGANIZE","OUT","OUTER","OVER","OVERLAY","OVERRIDING","PACKAGE","PADDED","PAGE","PAGESIZE","PARAMETER","PART","PARTITION","PARTITIONED","PARTITIONING","PARTITIONS","PASSING","PASSWORD","PATH","PCTFREE","PERCENT_RANK","PERCENTILE_CONT","PERCENTILE_DISC","PERIOD","PERMISSION","PIECESIZE","PIPE","PLAN","POSITION","PREPARE","PREVVAL","PRIMARY","PRIOR","PRIQTY","PRIVILEGES","PROCEDURE","PROGRAM","PROGRAMID","QUERY","RANGE","RANK","RATIO_TO_REPORT","RCDFMT","READ","READS","RECOVERY","REFERENCES","REFERENCING","REFRESH","REGEXP_LIKE","RELEASE","RENAME","REPEAT","RESET","RESIGNAL","RESTART","RESULT","RESULT_SET_LOCATOR","RETURN","RETURNING","RETURNS","REVOKE","RID","RIGHT","ROLLBACK","ROLLUP","ROUTINE","ROW","ROW_NUMBER","ROWNUMBER","ROWS","RRN","RUN","SAVEPOINT","SBCS","SCALAR","SCHEMA","SCRATCHPAD","SCROLL","SEARCH","SECOND","SECONDS","SECQTY","SECURED","SELECT","SENSITIVE","SEQUENCE","SESSION","SESSION_USER","SET","SIGNAL","SIMPLE","SKIP","SNAN","SOME","SOURCE","SPECIFIC","SQL","SQLID","SQLIND_DEFAULT","SQLIND_UNASSIGNED","STACKED","START","STARTING","STATEMENT","STATIC","STOGROUP","SUBSTRING","SUMMARY","SYNONYM","SYSTEM_TIME","SYSTEM_USER","TABLE","TABLESPACE","TABLESPACES","TAG","THEN","THREADSAFE","TO","TRANSACTION","TRANSFER","TRIGGER","TRIM","TRIM_ARRAY","TRUE","TRUNCATE","TRY_CAST","TYPE","UNDO","UNION","UNIQUE","UNIT","UNKNOWN","UNNEST","UNTIL","UPDATE","UPDATING","URI","USAGE","USE","USER","USERID","USING","VALUE","VALUES","VARIABLE","VARIANT","VCAT","VERSION","VERSIONING","VIEW","VOLATILE","WAIT","WHEN","WHENEVER","WHERE","WHILE","WITH","WITHIN","WITHOUT","WRAPPED","WRAPPER","WRITE","WRKSTNNAME","XMLAGG","XMLATTRIBUTES","XMLCAST","XMLCOMMENT","XMLCONCAT","XMLDOCUMENT","XMLELEMENT","XMLFOREST","XMLGROUP","XMLNAMESPACES","XMLPARSE","XMLPI","XMLROW","XMLSERIALIZE","XMLTABLE","XMLTEXT","XMLVALIDATE","XSLTRANSFORM","XSROBJECT","YEAR","YEARS","YES","ZONE"],Go=["ARRAY","BIGINT","BINARY","BIT","BLOB","BOOLEAN","CCSID","CHAR","CHARACTER","CLOB","DATA","DATALINK","DATE","DBCLOB","DECFLOAT","DECIMAL","DEC","DOUBLE","DOUBLE PRECISION","FLOAT","GRAPHIC","INT","INTEGER","LONG","NUMERIC","REAL","ROWID","SMALLINT","TIME","TIMESTAMP","VARBINARY","VARCHAR","VARGRAPHIC","XML"],Fo=y(["SELECT [ALL | DISTINCT]"]),Ho=y(["WITH [RECURSIVE]","INTO","FROM","WHERE","GROUP BY","HAVING","PARTITION BY","ORDER [SIBLINGS] BY [INPUT SEQUENCE]","LIMIT","OFFSET","FETCH {FIRST | NEXT}","FOR UPDATE [OF]","FOR READ ONLY","OPTIMIZE FOR","INSERT INTO","VALUES","SET","MERGE INTO","WHEN [NOT] MATCHED [THEN]","UPDATE SET","DELETE","INSERT","FOR SYSTEM NAME"]),or=y(["CREATE [OR REPLACE] TABLE"]),sE=y(["CREATE [OR REPLACE] [RECURSIVE] VIEW","UPDATE","WHERE CURRENT OF","WITH {NC | RR | RS | CS | UR}","DELETE FROM","DROP TABLE","ALTER TABLE","ADD [COLUMN]","ALTER [COLUMN]","DROP [COLUMN]","SET DATA TYPE","SET {GENERATED ALWAYS | GENERATED BY DEFAULT}","SET NOT NULL","SET {NOT HIDDEN | IMPLICITLY HIDDEN}","SET FIELDPROC","DROP {DEFAULT | NOT NULL | GENERATED | IDENTITY | ROW CHANGE TIMESTAMP | FIELDPROC}","TRUNCATE [TABLE]","SET [CURRENT] SCHEMA","SET CURRENT_SCHEMA","ALLOCATE CURSOR","ALLOCATE [SQL] DESCRIPTOR [LOCAL | GLOBAL] SQL","ALTER [SPECIFIC] {FUNCTION | PROCEDURE}","ALTER {MASK | PERMISSION | SEQUENCE | TRIGGER}","ASSOCIATE [RESULT SET] {LOCATOR | LOCATORS}","BEGIN DECLARE SECTION","CALL","CLOSE","COMMENT ON {ALIAS | COLUMN | CONSTRAINT | INDEX | MASK | PACKAGE | PARAMETER | PERMISSION | SEQUENCE | TABLE | TRIGGER | VARIABLE | XSROBJECT}","COMMENT ON [SPECIFIC] {FUNCTION | PROCEDURE | ROUTINE}","COMMENT ON PARAMETER SPECIFIC {FUNCTION | PROCEDURE | ROUTINE}","COMMENT ON [TABLE FUNCTION] RETURN COLUMN","COMMENT ON [TABLE FUNCTION] RETURN COLUMN SPECIFIC [PROCEDURE | ROUTINE]","COMMIT [WORK] [HOLD]","CONNECT [TO | RESET] USER","CREATE [OR REPLACE] {ALIAS | FUNCTION | MASK | PERMISSION | PROCEDURE | SEQUENCE | TRIGGER | VARIABLE}","CREATE [ENCODED VECTOR] INDEX","CREATE UNIQUE [WHERE NOT NULL] INDEX","CREATE SCHEMA","CREATE TYPE","DEALLOCATE [SQL] DESCRIPTOR [LOCAL | GLOBAL]","DECLARE CURSOR","DECLARE GLOBAL TEMPORARY TABLE","DECLARE","DESCRIBE CURSOR","DESCRIBE INPUT","DESCRIBE [OUTPUT]","DESCRIBE {PROCEDURE | ROUTINE}","DESCRIBE TABLE","DISCONNECT ALL [SQL]","DISCONNECT [CURRENT]","DROP {ALIAS | INDEX | MASK | PACKAGE | PERMISSION | SCHEMA | SEQUENCE | TABLE | TYPE | VARIABLE | XSROBJECT} [IF EXISTS]","DROP [SPECIFIC] {FUNCTION | PROCEDURE | ROUTINE} [IF EXISTS]","END DECLARE SECTION","EXECUTE [IMMEDIATE]","FREE LOCATOR","GET [SQL] DESCRIPTOR [LOCAL | GLOBAL]","GET [CURRENT | STACKED] DIAGNOSTICS","GRANT {ALL [PRIVILEGES] | ALTER | EXECUTE} ON {FUNCTION | PROCEDURE | ROUTINE | PACKAGE | SCHEMA | SEQUENCE | TABLE | TYPE | VARIABLE | XSROBJECT}","HOLD LOCATOR","INCLUDE","LABEL ON {ALIAS | COLUMN | CONSTRAINT | INDEX | MASK | PACKAGE | PERMISSION | SEQUENCE | TABLE | TRIGGER | VARIABLE | XSROBJECT}","LABEL ON [SPECIFIC] {FUNCTION | PROCEDURE | ROUTINE}","LOCK TABLE","OPEN","PREPARE","REFRESH TABLE","RELEASE","RELEASE [TO] SAVEPOINT","RENAME [TABLE | INDEX] TO","REVOKE {ALL [PRIVILEGES] | ALTER | EXECUTE} ON {FUNCTION | PROCEDURE | ROUTINE | PACKAGE | SCHEMA | SEQUENCE | TABLE | TYPE | VARIABLE | XSROBJECT}","ROLLBACK [WORK] [HOLD | TO SAVEPOINT]","SAVEPOINT","SET CONNECTION","SET CURRENT {DEBUG MODE | DECFLOAT ROUNDING MODE | DEGREE | IMPLICIT XMLPARSE OPTION | TEMPORAL SYSTEM_TIME}","SET [SQL] DESCRIPTOR [LOCAL | GLOBAL]","SET ENCRYPTION PASSWORD","SET OPTION","SET {[CURRENT [FUNCTION]] PATH | CURRENT_PATH}","SET RESULT SETS [WITH RETURN [TO CALLER | TO CLIENT]]","SET SESSION AUTHORIZATION","SET SESSION_USER","SET TRANSACTION","SIGNAL SQLSTATE [VALUE]","TAG","TRANSFER OWNERSHIP OF","WHENEVER {NOT FOUND | SQLERROR | SQLWARNING}"]),bo=y(["UNION [ALL]","EXCEPT [ALL]","INTERSECT [ALL]"]),Yo=y(["JOIN","{LEFT | RIGHT | FULL} [OUTER] JOIN","[LEFT | RIGHT] EXCEPTION JOIN","{INNER | CROSS} JOIN"]),xo=y(["ON DELETE","ON UPDATE","SET NULL","{ROWS | RANGE} BETWEEN"]),Vo=y([]),vo={name:"db2i",tokenizerOptions:{reservedSelect:Fo,reservedClauses:[...Ho,...or,...sE],reservedSetOperations:bo,reservedJoins:Yo,reservedKeywordPhrases:xo,reservedDataTypePhrases:Vo,reservedKeywords:yo,reservedDataTypes:Go,reservedFunctionNames:go,nestedBlockComments:!0,extraParens:["[]"],stringTypes:[{quote:"''-qq",prefixes:["G","N"]},{quote:"''-raw",prefixes:["X","BX","GX","UX"],requirePrefix:!0}],identTypes:['""-qq'],identChars:{first:"@#$",rest:"@#$"},paramTypes:{positional:!0,named:[":"]},paramChars:{first:"@#$",rest:"@#$"},operators:["**","¬=","¬>","¬<","!>","!<","||","=>"]},formatOptions:{onelineClauses:[...or,...sE],tabularOnelineClauses:sE}},wo=["ABS","ACOS","ADD","ADD_PARQUET_KEY","AGE","AGGREGATE","ALIAS","ALL_PROFILING_OUTPUT","ANY_VALUE","APPLY","APPROX_COUNT_DISTINCT","APPROX_QUANTILE","ARBITRARY","ARGMAX","ARGMIN","ARG_MAX","ARG_MAX_NULL","ARG_MIN","ARG_MIN_NULL","ARRAY_AGG","ARRAY_AGGR","ARRAY_AGGREGATE","ARRAY_APPEND","ARRAY_APPLY","ARRAY_CAT","ARRAY_CONCAT","ARRAY_CONTAINS","ARRAY_COSINE_SIMILARITY","ARRAY_CROSS_PRODUCT","ARRAY_DISTANCE","ARRAY_DISTINCT","ARRAY_DOT_PRODUCT","ARRAY_EXTRACT","ARRAY_FILTER","ARRAY_GRADE_UP","ARRAY_HAS","ARRAY_HAS_ALL","ARRAY_HAS_ANY","ARRAY_INDEXOF","ARRAY_INNER_PRODUCT","ARRAY_INTERSECT","ARRAY_LENGTH","ARRAY_POP_BACK","ARRAY_POP_FRONT","ARRAY_POSITION","ARRAY_PREPEND","ARRAY_PUSH_BACK","ARRAY_PUSH_FRONT","ARRAY_REDUCE","ARRAY_RESIZE","ARRAY_REVERSE","ARRAY_REVERSE_SORT","ARRAY_SELECT","ARRAY_SLICE","ARRAY_SORT","ARRAY_TO_JSON","ARRAY_TO_STRING","ARRAY_TRANSFORM","ARRAY_UNIQUE","ARRAY_VALUE","ARRAY_WHERE","ARRAY_ZIP","ARROW_SCAN","ARROW_SCAN_DUMB","ASCII","ASIN","ATAN","ATAN2","AVG","BASE64","BIN","BITSTRING","BITSTRING_AGG","BIT_AND","BIT_COUNT","BIT_LENGTH","BIT_OR","BIT_POSITION","BIT_XOR","BOOL_AND","BOOL_OR","CARDINALITY","CBRT","CEIL","CEILING","CENTURY","CHECKPOINT","CHR","COLLATIONS","COL_DESCRIPTION","COMBINE","CONCAT","CONCAT_WS","CONSTANT_OR_NULL","CONTAINS","COPY_DATABASE","CORR","COS","COT","COUNT","COUNT_IF","COUNT_STAR","COVAR_POP","COVAR_SAMP","CREATE_SORT_KEY","CURRENT_CATALOG","CURRENT_DATABASE","CURRENT_DATE","CURRENT_LOCALTIME","CURRENT_LOCALTIMESTAMP","CURRENT_QUERY","CURRENT_ROLE","CURRENT_SCHEMA","CURRENT_SCHEMAS","CURRENT_SETTING","CURRENT_USER","CURRVAL","DAMERAU_LEVENSHTEIN","DATABASE_LIST","DATABASE_SIZE","DATEDIFF","DATEPART","DATESUB","DATETRUNC","DATE_ADD","DATE_DIFF","DATE_PART","DATE_SUB","DATE_TRUNC","DAY","DAYNAME","DAYOFMONTH","DAYOFWEEK","DAYOFYEAR","DECADE","DECODE","DEGREES","DISABLE_CHECKPOINT_ON_SHUTDOWN","DISABLE_OBJECT_CACHE","DISABLE_OPTIMIZER","DISABLE_PRINT_PROGRESS_BAR","DISABLE_PROFILE","DISABLE_PROFILING","DISABLE_PROGRESS_BAR","DISABLE_VERIFICATION","DISABLE_VERIFY_EXTERNAL","DISABLE_VERIFY_FETCH_ROW","DISABLE_VERIFY_PARALLELISM","DISABLE_VERIFY_SERIALIZER","DIVIDE","DUCKDB_COLUMNS","DUCKDB_CONSTRAINTS","DUCKDB_DATABASES","DUCKDB_DEPENDENCIES","DUCKDB_EXTENSIONS","DUCKDB_FUNCTIONS","DUCKDB_INDEXES","DUCKDB_KEYWORDS","DUCKDB_MEMORY","DUCKDB_OPTIMIZERS","DUCKDB_SCHEMAS","DUCKDB_SECRETS","DUCKDB_SEQUENCES","DUCKDB_SETTINGS","DUCKDB_TABLES","DUCKDB_TEMPORARY_FILES","DUCKDB_TYPES","DUCKDB_VIEWS","EDIT","EDITDIST3","ELEMENT_AT","ENABLE_CHECKPOINT_ON_SHUTDOWN","ENABLE_OBJECT_CACHE","ENABLE_OPTIMIZER","ENABLE_PRINT_PROGRESS_BAR","ENABLE_PROFILE","ENABLE_PROFILING","ENABLE_PROGRESS_BAR","ENABLE_VERIFICATION","ENCODE","ENDS_WITH","ENTROPY","ENUM_CODE","ENUM_FIRST","ENUM_LAST","ENUM_RANGE","ENUM_RANGE_BOUNDARY","EPOCH","EPOCH_MS","EPOCH_NS","EPOCH_US","ERA","ERROR","EVEN","EXP","FACTORIAL","FAVG","FDIV","FILTER","FINALIZE","FIRST","FLATTEN","FLOOR","FMOD","FORCE_CHECKPOINT","FORMAT","FORMATREADABLEDECIMALSIZE","FORMATREADABLESIZE","FORMAT_BYTES","FORMAT_PG_TYPE","FORMAT_TYPE","FROM_BASE64","FROM_BINARY","FROM_HEX","FROM_JSON","FROM_JSON_STRICT","FSUM","FUNCTIONS","GAMMA","GCD","GENERATE_SERIES","GENERATE_SUBSCRIPTS","GEN_RANDOM_UUID","GEOMEAN","GEOMETRIC_MEAN","GETENV","GET_BIT","GET_BLOCK_SIZE","GET_CURRENT_TIME","GET_CURRENT_TIMESTAMP","GLOB","GRADE_UP","GREATEST","GREATEST_COMMON_DIVISOR","GROUP_CONCAT","HAMMING","HASH","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","HEX","HISTOGRAM","HOUR","ICU_CALENDAR_NAMES","ICU_SORT_KEY","ILIKE_ESCAPE","IMPORT_DATABASE","INDEX_SCAN","INET_CLIENT_ADDR","INET_CLIENT_PORT","INET_SERVER_ADDR","INET_SERVER_PORT","INSTR","IN_SEARCH_PATH","ISFINITE","ISINF","ISNAN","ISODOW","ISOYEAR","JACCARD","JARO_SIMILARITY","JARO_WINKLER_SIMILARITY","JSON_ARRAY","JSON_ARRAY_LENGTH","JSON_CONTAINS","JSON_DESERIALIZE_SQL","JSON_EXECUTE_SERIALIZED_SQL","JSON_EXTRACT","JSON_EXTRACT_PATH","JSON_EXTRACT_PATH_TEXT","JSON_EXTRACT_STRING","JSON_GROUP_ARRAY","JSON_GROUP_OBJECT","JSON_GROUP_STRUCTURE","JSON_KEYS","JSON_MERGE_PATCH","JSON_OBJECT","JSON_QUOTE","JSON_SERIALIZE_PLAN","JSON_SERIALIZE_SQL","JSON_STRUCTURE","JSON_TRANSFORM","JSON_TRANSFORM_STRICT","JSON_TYPE","JSON_VALID","JULIAN","KAHAN_SUM","KURTOSIS","KURTOSIS_POP","LAST","LAST_DAY","LCASE","LCM","LEAST","LEAST_COMMON_MULTIPLE","LEFT","LEFT_GRAPHEME","LEN","LENGTH","LENGTH_GRAPHEME","LEVENSHTEIN","LGAMMA","LIKE_ESCAPE","LIST","LISTAGG","LIST_AGGR","LIST_AGGREGATE","LIST_ANY_VALUE","LIST_APPEND","LIST_APPLY","LIST_APPROX_COUNT_DISTINCT","LIST_AVG","LIST_BIT_AND","LIST_BIT_OR","LIST_BIT_XOR","LIST_BOOL_AND","LIST_BOOL_OR","LIST_CAT","LIST_CONCAT","LIST_CONTAINS","LIST_COSINE_SIMILARITY","LIST_COUNT","LIST_DISTANCE","LIST_DISTINCT","LIST_DOT_PRODUCT","LIST_ELEMENT","LIST_ENTROPY","LIST_EXTRACT","LIST_FILTER","LIST_FIRST","LIST_GRADE_UP","LIST_HAS","LIST_HAS_ALL","LIST_HAS_ANY","LIST_HISTOGRAM","LIST_INDEXOF","LIST_INNER_PRODUCT","LIST_INTERSECT","LIST_KURTOSIS","LIST_KURTOSIS_POP","LIST_LAST","LIST_MAD","LIST_MAX","LIST_MEDIAN","LIST_MIN","LIST_MODE","LIST_PACK","LIST_POSITION","LIST_PREPEND","LIST_PRODUCT","LIST_REDUCE","LIST_RESIZE","LIST_REVERSE","LIST_REVERSE_SORT","LIST_SELECT","LIST_SEM","LIST_SKEWNESS","LIST_SLICE","LIST_SORT","LIST_STDDEV_POP","LIST_STDDEV_SAMP","LIST_STRING_AGG","LIST_SUM","LIST_TRANSFORM","LIST_UNIQUE","LIST_VALUE","LIST_VAR_POP","LIST_VAR_SAMP","LIST_WHERE","LIST_ZIP","LN","LOG","LOG10","LOG2","LOWER","LPAD","LSMODE","LTRIM","MAD","MAKE_DATE","MAKE_TIME","MAKE_TIMESTAMP","MAKE_TIMESTAMPTZ","MAP","MAP_CONCAT","MAP_ENTRIES","MAP_EXTRACT","MAP_FROM_ENTRIES","MAP_KEYS","MAP_VALUES","MAX","MAX_BY","MD5","MD5_NUMBER","MD5_NUMBER_LOWER","MD5_NUMBER_UPPER","MEAN","MEDIAN","METADATA_INFO","MICROSECOND","MILLENNIUM","MILLISECOND","MIN","MINUTE","MIN_BY","MISMATCHES","MOD","MODE","MONTH","MONTHNAME","MULTIPLY","NEXTAFTER","NEXTVAL","NFC_NORMALIZE","NOT_ILIKE_ESCAPE","NOT_LIKE_ESCAPE","NOW","NULLIF","OBJ_DESCRIPTION","OCTET_LENGTH","ORD","PARQUET_FILE_METADATA","PARQUET_KV_METADATA","PARQUET_METADATA","PARQUET_SCAN","PARQUET_SCHEMA","PARSE_DIRNAME","PARSE_DIRPATH","PARSE_FILENAME","PARSE_PATH","PG_COLLATION_IS_VISIBLE","PG_CONF_LOAD_TIME","PG_CONVERSION_IS_VISIBLE","PG_FUNCTION_IS_VISIBLE","PG_GET_CONSTRAINTDEF","PG_GET_EXPR","PG_GET_VIEWDEF","PG_HAS_ROLE","PG_IS_OTHER_TEMP_SCHEMA","PG_MY_TEMP_SCHEMA","PG_OPCLASS_IS_VISIBLE","PG_OPERATOR_IS_VISIBLE","PG_OPFAMILY_IS_VISIBLE","PG_POSTMASTER_START_TIME","PG_SIZE_PRETTY","PG_TABLE_IS_VISIBLE","PG_TIMEZONE_NAMES","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","PI","PLATFORM","POSITION","POW","POWER","PRAGMA_COLLATIONS","PRAGMA_DATABASE_SIZE","PRAGMA_METADATA_INFO","PRAGMA_PLATFORM","PRAGMA_SHOW","PRAGMA_STORAGE_INFO","PRAGMA_TABLE_INFO","PRAGMA_USER_AGENT","PRAGMA_VERSION","PREFIX","PRINTF","PRODUCT","QUANTILE","QUANTILE_CONT","QUANTILE_DISC","QUARTER","RADIANS","RANDOM","RANGE","READFILE","READ_BLOB","READ_CSV","READ_CSV_AUTO","READ_JSON","READ_JSON_AUTO","READ_JSON_OBJECTS","READ_JSON_OBJECTS_AUTO","READ_NDJSON","READ_NDJSON_AUTO","READ_NDJSON_OBJECTS","READ_PARQUET","READ_TEXT","REDUCE","REGEXP_ESCAPE","REGEXP_EXTRACT","REGEXP_EXTRACT_ALL","REGEXP_FULL_MATCH","REGEXP_MATCHES","REGEXP_REPLACE","REGEXP_SPLIT_TO_ARRAY","REGEXP_SPLIT_TO_TABLE","REGR_AVGX","REGR_AVGY","REGR_COUNT","REGR_INTERCEPT","REGR_R2","REGR_SLOPE","REGR_SXX","REGR_SXY","REGR_SYY","REPEAT","REPEAT_ROW","REPLACE","RESERVOIR_QUANTILE","REVERSE","RIGHT","RIGHT_GRAPHEME","ROUND","ROUNDBANKERS","ROUND_EVEN","ROW","ROW_TO_JSON","RPAD","RTRIM","SECOND","SEM","SEQ_SCAN","SESSION_USER","SETSEED","SET_BIT","SHA256","SHA3","SHELL_ADD_SCHEMA","SHELL_ESCAPE_CRNL","SHELL_IDQUOTE","SHELL_MODULE_SCHEMA","SHELL_PUTSNL","SHOBJ_DESCRIPTION","SHOW","SHOW_DATABASES","SHOW_TABLES","SHOW_TABLES_EXPANDED","SIGN","SIGNBIT","SIN","SKEWNESS","SNIFF_CSV","SPLIT","SPLIT_PART","SQL_AUTO_COMPLETE","SQRT","STARTS_WITH","STATS","STDDEV","STDDEV_POP","STDDEV_SAMP","STORAGE_INFO","STRFTIME","STRING_AGG","STRING_SPLIT","STRING_SPLIT_REGEX","STRING_TO_ARRAY","STRIP_ACCENTS","STRLEN","STRPOS","STRPTIME","STRUCT_EXTRACT","STRUCT_INSERT","STRUCT_PACK","STR_SPLIT","STR_SPLIT_REGEX","SUBSTR","SUBSTRING","SUBSTRING_GRAPHEME","SUBTRACT","SUFFIX","SUM","SUMKAHAN","SUMMARY","SUM_NO_OVERFLOW","TABLE_INFO","TAN","TEST_ALL_TYPES","TEST_VECTOR_TYPES","TIMEZONE","TIMEZONE_HOUR","TIMEZONE_MINUTE","TIME_BUCKET","TODAY","TO_BASE","TO_BASE64","TO_BINARY","TO_CENTURIES","TO_DAYS","TO_DECADES","TO_HEX","TO_HOURS","TO_JSON","TO_MICROSECONDS","TO_MILLENNIA","TO_MILLISECONDS","TO_MINUTES","TO_MONTHS","TO_SECONDS","TO_TIMESTAMP","TO_WEEKS","TO_YEARS","TRANSACTION_TIMESTAMP","TRANSLATE","TRIM","TRUNC","TRY_STRPTIME","TXID_CURRENT","TYPEOF","UCASE","UNBIN","UNHEX","UNICODE","UNION_EXTRACT","UNION_TAG","UNION_VALUE","UNNEST","UNPIVOT_LIST","UPPER","USER","USER_AGENT","UUID","VARIANCE","VAR_POP","VAR_SAMP","VECTOR_TYPE","VERIFY_EXTERNAL","VERIFY_FETCH_ROW","VERIFY_PARALLELISM","VERIFY_SERIALIZER","VERSION","WEEK","WEEKDAY","WEEKOFYEAR","WHICH_SECRET","WRITEFILE","XOR","YEAR","YEARWEEK","CAST","COALESCE","RANK","ROW_NUMBER"],Wo=["ALL","ANALYSE","ANALYZE","AND","ANY","AS","ASC","ATTACH","ASYMMETRIC","BOTH","CASE","CAST","CHECK","COLLATE","COLUMN","CONSTRAINT","CREATE","DEFAULT","DEFERRABLE","DESC","DESCRIBE","DETACH","DISTINCT","DO","ELSE","END","EXCEPT","FALSE","FETCH","FOR","FOREIGN","FROM","GRANT","GROUP","HAVING","IN","INITIALLY","INTERSECT","INTO","IS","LATERAL","LEADING","LIMIT","NOT","NULL","OFFSET","ON","ONLY","OR","ORDER","PIVOT","PIVOT_LONGER","PIVOT_WIDER","PLACING","PRIMARY","REFERENCES","RETURNING","SELECT","SHOW","SOME","SUMMARIZE","SYMMETRIC","TABLE","THEN","TO","TRAILING","TRUE","UNION","UNIQUE","UNPIVOT","USING","VARIADIC","WHEN","WHERE","WINDOW","WITH"],Xo=["ARRAY","BIGINT","BINARY","BIT","BITSTRING","BLOB","BOOL","BOOLEAN","BPCHAR","BYTEA","CHAR","DATE","DATETIME","DEC","DECIMAL","DOUBLE","ENUM","FLOAT","FLOAT4","FLOAT8","GUID","HUGEINT","INET","INT","INT1","INT128","INT16","INT2","INT32","INT4","INT64","INT8","INTEGER","INTEGRAL","INTERVAL","JSON","LIST","LOGICAL","LONG","MAP","NUMERIC","NVARCHAR","OID","REAL","ROW","SHORT","SIGNED","SMALLINT","STRING","STRUCT","TEXT","TIME","TIMESTAMP_MS","TIMESTAMP_NS","TIMESTAMP_S","TIMESTAMP_US","TIMESTAMP","TIMESTAMPTZ","TIMETZ","TINYINT","UBIGINT","UHUGEINT","UINT128","UINT16","UINT32","UINT64","UINT8","UINTEGER","UNION","USMALLINT","UTINYINT","UUID","VARBINARY","VARCHAR"],Ko=y(["SELECT [ALL | DISTINCT]"]),ko=y(["WITH [RECURSIVE]","FROM","WHERE","GROUP BY [ALL]","HAVING","WINDOW","PARTITION BY","ORDER BY [ALL]","LIMIT","OFFSET","USING SAMPLE","QUALIFY","INSERT [OR REPLACE] INTO","VALUES","DEFAULT VALUES","SET","RETURNING"]),ar=y(["CREATE [OR REPLACE] [TEMPORARY | TEMP] TABLE [IF NOT EXISTS]"]),TE=y(["UPDATE","ON CONFLICT","DELETE FROM","DROP TABLE [IF EXISTS]","TRUNCATE","ALTER TABLE","ADD [COLUMN] [IF NOT EXISTS]","ADD PRIMARY KEY","DROP [COLUMN] [IF EXISTS]","ALTER [COLUMN]","RENAME [COLUMN]","RENAME TO","SET [DATA] TYPE","{SET | DROP} DEFAULT","{SET | DROP} NOT NULL","CREATE [OR REPLACE] [TEMPORARY | TEMP] {MACRO | FUNCTION}","DROP MACRO [TABLE] [IF EXISTS]","DROP FUNCTION [IF EXISTS]","CREATE [UNIQUE] INDEX [IF NOT EXISTS]","DROP INDEX [IF EXISTS]","CREATE [OR REPLACE] SCHEMA [IF NOT EXISTS]","DROP SCHEMA [IF EXISTS]","CREATE [OR REPLACE] [PERSISTENT | TEMPORARY] SECRET [IF NOT EXISTS]","DROP [PERSISTENT | TEMPORARY] SECRET [IF EXISTS]","CREATE [OR REPLACE] [TEMPORARY | TEMP] SEQUENCE","DROP SEQUENCE [IF EXISTS]","CREATE [OR REPLACE] [TEMPORARY | TEMP] VIEW [IF NOT EXISTS]","DROP VIEW [IF EXISTS]","ALTER VIEW","CREATE TYPE","DROP TYPE [IF EXISTS]","ANALYZE","ATTACH [DATABASE] [IF NOT EXISTS]","DETACH [DATABASE] [IF EXISTS]","CALL","[FORCE] CHECKPOINT","COMMENT ON [TABLE | COLUMN | VIEW | INDEX | SEQUENCE | TYPE | MACRO | MACRO TABLE]","COPY [FROM DATABASE]","DESCRIBE","EXPORT DATABASE","IMPORT DATABASE","INSTALL","LOAD","PIVOT","PIVOT_WIDER","UNPIVOT","EXPLAIN [ANALYZE]","SET {LOCAL | SESSION | GLOBAL}","RESET [LOCAL | SESSION | GLOBAL]","{SET | RESET} VARIABLE","SUMMARIZE","BEGIN TRANSACTION","ROLLBACK","COMMIT","ABORT","USE","VACUUM [ANALYZE]","PREPARE","EXECUTE","DEALLOCATE [PREPARE]"]),$o=y(["UNION [ALL | BY NAME]","EXCEPT [ALL]","INTERSECT [ALL]"]),qo=y(["JOIN","{LEFT | RIGHT | FULL} [OUTER] JOIN","{INNER | CROSS} JOIN","{NATURAL | ASOF} [INNER] JOIN","{NATURAL | ASOF} {LEFT | RIGHT | FULL} [OUTER] JOIN","POSITIONAL JOIN","ANTI JOIN","SEMI JOIN"]),Jo=y(["{ROWS | RANGE | GROUPS} BETWEEN","SIMILAR TO","IS [NOT] DISTINCT FROM"]),Qo=y(["TIMESTAMP WITH TIME ZONE"]),Zo={name:"duckdb",tokenizerOptions:{reservedSelect:Ko,reservedClauses:[...ko,...ar,...TE],reservedSetOperations:$o,reservedJoins:qo,reservedKeywordPhrases:Jo,reservedDataTypePhrases:Qo,supportsXor:!0,reservedKeywords:Wo,reservedDataTypes:Xo,reservedFunctionNames:wo,nestedBlockComments:!0,extraParens:["[]","{}"],underscoresInNumbers:!0,stringTypes:["$$","''-qq",{quote:"''-qq-bs",prefixes:["E"],requirePrefix:!0},{quote:"''-raw",prefixes:["B","X"],requirePrefix:!0}],identTypes:['""-qq'],identChars:{rest:"$"},paramTypes:{positional:!0,numbered:["$"],quoted:["$"]},operators:["//","%","**","^","!","&","|","~","<<",">>","::","==","->","->>",":",":=","=>","~~","!~~","~~*","!~~*","~~~","~","!~","~*","!~*","^@","||",">>=","<<="]},formatOptions:{alwaysDenseOperators:["::"],onelineClauses:[...ar,...TE],tabularOnelineClauses:TE}},jo=["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_CONTAINS","MAP_KEYS","MAP_VALUES","SIZE","SORT_ARRAY","BINARY","CAST","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","ASSERT_TRUE","COALESCE","IF","ISNOTNULL","ISNULL","NULLIF","NVL","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","MASK","MASK_FIRST_N","MASK_HASH","MASK_LAST_N","MASK_SHOW_FIRST_N","MASK_SHOW_LAST_N","AES_DECRYPT","AES_ENCRYPT","CRC32","CURRENT_DATABASE","CURRENT_USER","HASH","JAVA_METHOD","LOGGED_IN_USER","MD5","REFLECT","SHA","SHA1","SHA2","SURROGATE_KEY","VERSION","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","EXPLODE","INLINE","JSON_TUPLE","PARSE_URL_TUPLE","POSEXPLODE","STACK","LEAD","LAG","FIRST_VALUE","LAST_VALUE","RANK","ROW_NUMBER","DENSE_RANK","CUME_DIST","PERCENT_RANK","NTILE"],zo=["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","TABLES","TBLPROPERTIES","TEMPORARY","TERMINATED","TINYINT","TOUCH","TRANSACTIONS","UNARCHIVE","UNDO","UNIONTYPE","UNLOCK","UNSET","UNSIGNED","URI","USE","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","ALL","ALTER","AND","AS","AUTHORIZATION","BETWEEN","BOTH","BY","CASE","CAST","COLUMN","CONF","CREATE","CROSS","CUBE","CURRENT","CURRENT_DATE","CURRENT_TIMESTAMP","CURSOR","DATABASE","DELETE","DESCRIBE","DISTINCT","DROP","ELSE","END","EXCHANGE","EXISTS","EXTENDED","EXTERNAL","FALSE","FETCH","FOLLOWING","FOR","FROM","FULL","FUNCTION","GRANT","GROUP","GROUPING","HAVING","IF","IMPORT","IN","INNER","INSERT","INTERSECT","INTO","IS","JOIN","LATERAL","LEFT","LESS","LIKE","LOCAL","MACRO","MORE","NONE","NOT","NULL","OF","ON","OR","ORDER","OUT","OUTER","OVER","PARTIALSCAN","PARTITION","PERCENT","PRECEDING","PRESERVE","PROCEDURE","RANGE","READS","REDUCE","REVOKE","RIGHT","ROLLUP","ROW","ROWS","SELECT","SET","TABLE","TABLESAMPLE","THEN","TO","TRANSFORM","TRIGGER","TRUE","TRUNCATE","UNBOUNDED","UNION","UNIQUEJOIN","UPDATE","USER","USING","UTC_TMESTAMP","VALUES","WHEN","WHERE","WINDOW","WITH","COMMIT","ONLY","REGEXP","RLIKE","ROLLBACK","START","CACHE","CONSTRAINT","FOREIGN","PRIMARY","REFERENCES","DAYOFWEEK","EXTRACT","FLOOR","VIEWS","TIME","SYNC","TEXTFILE","SEQUENCEFILE","ORC","CSV","TSV","PARQUET","AVRO","RCFILE","JSONFILE","INPUTFORMAT","OUTPUTFORMAT"],ea=["ARRAY","BIGINT","BINARY","BOOLEAN","CHAR","DATE","DECIMAL","DOUBLE","FLOAT","INT","INTEGER","INTERVAL","MAP","NUMERIC","PRECISION","SMALLINT","STRUCT","TIMESTAMP","VARCHAR"],ta=y(["SELECT [ALL | DISTINCT]"]),Ea=y(["WITH","FROM","WHERE","GROUP BY","HAVING","WINDOW","PARTITION BY","ORDER BY","SORT BY","CLUSTER BY","DISTRIBUTE BY","LIMIT","INSERT INTO [TABLE]","VALUES","SET","MERGE INTO","WHEN [NOT] MATCHED [THEN]","UPDATE SET","INSERT [VALUES]","INSERT OVERWRITE [LOCAL] DIRECTORY","LOAD DATA [LOCAL] INPATH","[OVERWRITE] INTO TABLE"]),Ar=y(["CREATE [TEMPORARY] [EXTERNAL] TABLE [IF NOT EXISTS]"]),oE=y(["CREATE [MATERIALIZED] VIEW [IF NOT EXISTS]","UPDATE","DELETE FROM","DROP TABLE [IF EXISTS]","ALTER TABLE","RENAME TO","TRUNCATE [TABLE]","ALTER","CREATE","USE","DESCRIBE","DROP","FETCH","SHOW","STORED AS","STORED BY","ROW FORMAT"]),ra=y(["UNION [ALL | DISTINCT]"]),na=y(["JOIN","{LEFT | RIGHT | FULL} [OUTER] JOIN","{INNER | CROSS} JOIN","LEFT SEMI JOIN"]),sa=y(["{ROWS | RANGE} BETWEEN"]),Ta=y([]),oa={name:"hive",tokenizerOptions:{reservedSelect:ta,reservedClauses:[...Ea,...Ar,...oE],reservedSetOperations:ra,reservedJoins:na,reservedKeywordPhrases:sa,reservedDataTypePhrases:Ta,reservedKeywords:zo,reservedDataTypes:ea,reservedFunctionNames:jo,extraParens:["[]"],stringTypes:['""-bs',"''-bs"],identTypes:["``"],variableTypes:[{quote:"{}",prefixes:["$"],requirePrefix:!0}],operators:["%","~","^","|","&","<=>","==","!","||"]},formatOptions:{onelineClauses:[...Ar,...oE],tabularOnelineClauses:oE}};function vt(E){return E.map((t,r)=>{const n=E[r+1]||It;if(Ot.SET(t)&&n.text==="(")return Object.assign(Object.assign({},t),{type:X.RESERVED_FUNCTION_NAME});const T=E[r-1]||It;return Ot.VALUES(t)&&T.text==="="?Object.assign(Object.assign({},t),{type:X.RESERVED_FUNCTION_NAME}):t})}const aa=["ACCESSIBLE","ADD","ALL","ALTER","ANALYZE","AND","AS","ASC","ASENSITIVE","BEFORE","BETWEEN","BOTH","BY","CALL","CASCADE","CASE","CHANGE","CHECK","COLLATE","COLUMN","CONDITION","CONSTRAINT","CONTINUE","CONVERT","CREATE","CROSS","CURRENT_DATE","CURRENT_ROLE","CURRENT_TIME","CURRENT_TIMESTAMP","CURRENT_USER","CURSOR","DATABASE","DATABASES","DAY_HOUR","DAY_MICROSECOND","DAY_MINUTE","DAY_SECOND","DECLARE","DEFAULT","DELAYED","DELETE","DELETE_DOMAIN_ID","DESC","DESCRIBE","DETERMINISTIC","DISTINCT","DISTINCTROW","DIV","DO_DOMAIN_IDS","DROP","DUAL","EACH","ELSE","ELSEIF","ENCLOSED","ESCAPED","EXCEPT","EXISTS","EXIT","EXPLAIN","FALSE","FETCH","FOR","FORCE","FOREIGN","FROM","FULLTEXT","GENERAL","GRANT","GROUP","HAVING","HIGH_PRIORITY","HOUR_MICROSECOND","HOUR_MINUTE","HOUR_SECOND","IF","IGNORE","IGNORE_DOMAIN_IDS","IGNORE_SERVER_IDS","IN","INDEX","INFILE","INNER","INOUT","INSENSITIVE","INSERT","INTERSECT","INTERVAL","INTO","IS","ITERATE","JOIN","KEY","KEYS","KILL","LEADING","LEAVE","LEFT","LIKE","LIMIT","LINEAR","LINES","LOAD","LOCALTIME","LOCALTIMESTAMP","LOCK","LOOP","LOW_PRIORITY","MASTER_HEARTBEAT_PERIOD","MASTER_SSL_VERIFY_SERVER_CERT","MATCH","MAXVALUE","MINUTE_MICROSECOND","MINUTE_SECOND","MOD","MODIFIES","NATURAL","NOT","NO_WRITE_TO_BINLOG","NULL","OFFSET","ON","OPTIMIZE","OPTION","OPTIONALLY","OR","ORDER","OUT","OUTER","OUTFILE","OVER","PAGE_CHECKSUM","PARSE_VCOL_EXPR","PARTITION","POSITION","PRIMARY","PROCEDURE","PURGE","RANGE","READ","READS","READ_WRITE","RECURSIVE","REF_SYSTEM_ID","REFERENCES","REGEXP","RELEASE","RENAME","REPEAT","REPLACE","REQUIRE","RESIGNAL","RESTRICT","RETURN","RETURNING","REVOKE","RIGHT","RLIKE","ROW_NUMBER","ROWS","SCHEMA","SCHEMAS","SECOND_MICROSECOND","SELECT","SENSITIVE","SEPARATOR","SET","SHOW","SIGNAL","SLOW","SPATIAL","SPECIFIC","SQL","SQLEXCEPTION","SQLSTATE","SQLWARNING","SQL_BIG_RESULT","SQL_CALC_FOUND_ROWS","SQL_SMALL_RESULT","SSL","STARTING","STATS_AUTO_RECALC","STATS_PERSISTENT","STATS_SAMPLE_PAGES","STRAIGHT_JOIN","TABLE","TERMINATED","THEN","TO","TRAILING","TRIGGER","TRUE","UNDO","UNION","UNIQUE","UNLOCK","UNSIGNED","UPDATE","USAGE","USE","USING","UTC_DATE","UTC_TIME","UTC_TIMESTAMP","VALUES","WHEN","WHERE","WHILE","WINDOW","WITH","WRITE","XOR","YEAR_MONTH","ZEROFILL"],Aa=["BIGINT","BINARY","BIT","BLOB","CHAR BYTE","CHAR","CHARACTER","DATETIME","DEC","DECIMAL","DOUBLE PRECISION","DOUBLE","ENUM","FIXED","FLOAT","FLOAT4","FLOAT8","INT","INT1","INT2","INT3","INT4","INT8","INTEGER","LONG","LONGBLOB","LONGTEXT","MEDIUMBLOB","MEDIUMINT","MEDIUMTEXT","MIDDLEINT","NATIONAL CHAR","NATIONAL VARCHAR","NUMERIC","PRECISION","REAL","SMALLINT","TEXT","TIMESTAMP","TINYBLOB","TINYINT","TINYTEXT","VARBINARY","VARCHAR","VARCHARACTER","VARYING","YEAR"],ia=["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","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","COALESCE","NULLIF"],Ra=y(["SELECT [ALL | DISTINCT | DISTINCTROW]"]),Sa=y(["WITH [RECURSIVE]","FROM","WHERE","GROUP BY","HAVING","PARTITION BY","ORDER BY","LIMIT","OFFSET","FETCH {FIRST | NEXT}","INSERT [LOW_PRIORITY | DELAYED | HIGH_PRIORITY] [IGNORE] [INTO]","REPLACE [LOW_PRIORITY | DELAYED] [INTO]","VALUES","ON DUPLICATE KEY UPDATE","SET","RETURNING"]),ir=y(["CREATE [OR REPLACE] [TEMPORARY] TABLE [IF NOT EXISTS]"]),aE=y(["CREATE [OR REPLACE] [SQL SECURITY DEFINER | SQL SECURITY INVOKER] VIEW [IF NOT EXISTS]","UPDATE [LOW_PRIORITY] [IGNORE]","DELETE [LOW_PRIORITY] [QUICK] [IGNORE] FROM","DROP [TEMPORARY] TABLE [IF EXISTS]","ALTER [ONLINE] [IGNORE] TABLE [IF EXISTS]","ADD [COLUMN] [IF NOT EXISTS]","{CHANGE | MODIFY} [COLUMN] [IF EXISTS]","DROP [COLUMN] [IF EXISTS]","RENAME [TO]","RENAME COLUMN","ALTER [COLUMN]","{SET | DROP} DEFAULT","SET {VISIBLE | INVISIBLE}","TRUNCATE [TABLE]","ALTER DATABASE","ALTER DATABASE COMMENT","ALTER EVENT","ALTER FUNCTION","ALTER PROCEDURE","ALTER SCHEMA","ALTER SCHEMA COMMENT","ALTER SEQUENCE","ALTER SERVER","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 TRIGGER","CREATE UNIQUE INDEX","CREATE USER","DEALLOCATE PREPARE","DESCRIBE","DROP DATABASE","DROP EVENT","DROP FUNCTION","DROP INDEX","DROP PREPARE","DROP PROCEDURE","DROP ROLE","DROP SEQUENCE","DROP SERVER","DROP TRIGGER","DROP USER","DROP VIEW","EXECUTE","EXPLAIN","FLUSH","GET DIAGNOSTICS","GET DIAGNOSTICS CONDITION","GRANT","HANDLER","HELP","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","RESET MASTER","RESET QUERY CACHE","RESET REPLICA","RESET SLAVE","RESIGNAL","REVOKE","ROLLBACK","SAVEPOINT","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","UNINSTALL PLUGIN","UNINSTALL SONAME","UNLOCK TABLE","USE","XA BEGIN","XA COMMIT","XA END","XA PREPARE","XA RECOVER","XA ROLLBACK","XA START"]),Na=y(["UNION [ALL | DISTINCT]","EXCEPT [ALL | DISTINCT]","INTERSECT [ALL | DISTINCT]","MINUS [ALL | DISTINCT]"]),Ia=y(["JOIN","{LEFT | RIGHT} [OUTER] JOIN","{INNER | CROSS} JOIN","NATURAL JOIN","NATURAL {LEFT | RIGHT} [OUTER] JOIN","STRAIGHT_JOIN"]),Oa=y(["ON {UPDATE | DELETE} [SET NULL | SET DEFAULT]","CHARACTER SET","{ROWS | RANGE} BETWEEN","IDENTIFIED BY"]),ua=y([]),la={name:"mariadb",tokenizerOptions:{reservedSelect:Ra,reservedClauses:[...Sa,...ir,...aE],reservedSetOperations:Na,reservedJoins:Ia,reservedKeywordPhrases:Oa,reservedDataTypePhrases:ua,supportsXor:!0,reservedKeywords:aa,reservedDataTypes:Aa,reservedFunctionNames:ia,stringTypes:['""-qq-bs',"''-qq-bs",{quote:"''-raw",prefixes:["B","X"],requirePrefix:!0}],identTypes:["``"],identChars:{first:"$",rest:"$",allowFirstCharNumber:!0},variableTypes:[{regex:"@@?[A-Za-z0-9_.$]+"},{quote:'""-qq-bs',prefixes:["@"],requirePrefix:!0},{quote:"''-qq-bs",prefixes:["@"],requirePrefix:!0},{quote:"``",prefixes:["@"],requirePrefix:!0}],paramTypes:{positional:!0},lineCommentTypes:["--","#"],operators:["%",":=","&","|","^","~","<<",">>","<=>","&&","||","!","*.*"],postProcess:vt},formatOptions:{onelineClauses:[...ir,...aE],tabularOnelineClauses:aE}},Ca=["ACCESSIBLE","ADD","ALL","ALTER","ANALYZE","AND","AS","ASC","ASENSITIVE","BEFORE","BETWEEN","BOTH","BY","CALL","CASCADE","CASE","CHANGE","CHECK","COLLATE","COLUMN","CONDITION","CONSTRAINT","CONTINUE","CONVERT","CREATE","CROSS","CUBE","CUME_DIST","CURRENT_DATE","CURRENT_TIME","CURRENT_TIMESTAMP","CURRENT_USER","CURSOR","DATABASE","DATABASES","DAY_HOUR","DAY_MICROSECOND","DAY_MINUTE","DAY_SECOND","DECLARE","DEFAULT","DELAYED","DELETE","DENSE_RANK","DESC","DESCRIBE","DETERMINISTIC","DISTINCT","DISTINCTROW","DIV","DROP","DUAL","EACH","ELSE","ELSEIF","EMPTY","ENCLOSED","ESCAPED","EXCEPT","EXISTS","EXIT","EXPLAIN","FALSE","FETCH","FIRST_VALUE","FOR","FORCE","FOREIGN","FROM","FULLTEXT","FUNCTION","GENERATED","GET","GRANT","GROUP","GROUPING","GROUPS","HAVING","HIGH_PRIORITY","HOUR_MICROSECOND","HOUR_MINUTE","HOUR_SECOND","IF","IGNORE","IN","INDEX","INFILE","INNER","INOUT","INSENSITIVE","INSERT","IN","INTERSECT","INTERVAL","INTO","IO_AFTER_GTIDS","IO_BEFORE_GTIDS","IS","ITERATE","JOIN","JSON_TABLE","KEY","KEYS","KILL","LAG","LAST_VALUE","LATERAL","LEAD","LEADING","LEAVE","LEFT","LIKE","LIMIT","LINEAR","LINES","LOAD","LOCALTIME","LOCALTIMESTAMP","LOCK","LONG","LOOP","LOW_PRIORITY","MASTER_BIND","MASTER_SSL_VERIFY_SERVER_CERT","MATCH","MAXVALUE","MINUTE_MICROSECOND","MINUTE_SECOND","MOD","MODIFIES","NATURAL","NOT","NO_WRITE_TO_BINLOG","NTH_VALUE","NTILE","NULL","OF","ON","OPTIMIZE","OPTIMIZER_COSTS","OPTION","OPTIONALLY","OR","ORDER","OUT","OUTER","OUTFILE","OVER","PARTITION","PERCENT_RANK","PRIMARY","PROCEDURE","PURGE","RANGE","RANK","READ","READS","READ_WRITE","RECURSIVE","REFERENCES","REGEXP","RELEASE","RENAME","REPEAT","REPLACE","REQUIRE","RESIGNAL","RESTRICT","RETURN","REVOKE","RIGHT","RLIKE","ROW","ROWS","ROW_NUMBER","SCHEMA","SCHEMAS","SECOND_MICROSECOND","SELECT","SENSITIVE","SEPARATOR","SET","SHOW","SIGNAL","SPATIAL","SPECIFIC","SQL","SQLEXCEPTION","SQLSTATE","SQLWARNING","SQL_BIG_RESULT","SQL_CALC_FOUND_ROWS","SQL_SMALL_RESULT","SSL","STARTING","STORED","STRAIGHT_JOIN","SYSTEM","TABLE","TERMINATED","THEN","TO","TRAILING","TRIGGER","TRUE","UNDO","UNION","UNIQUE","UNLOCK","UNSIGNED","UPDATE","USAGE","USE","USING","UTC_DATE","UTC_TIME","UTC_TIMESTAMP","VALUES","VIRTUAL","WHEN","WHERE","WHILE","WINDOW","WITH","WRITE","XOR","YEAR_MONTH","ZEROFILL"],ca=["BIGINT","BINARY","BIT","BLOB","BOOL","BOOLEAN","CHAR","CHARACTER","DATE","DATETIME","DEC","DECIMAL","DOUBLE PRECISION","DOUBLE","ENUM","FIXED","FLOAT","FLOAT4","FLOAT8","INT","INT1","INT2","INT3","INT4","INT8","INTEGER","LONGBLOB","LONGTEXT","MEDIUMBLOB","MEDIUMINT","MEDIUMTEXT","MIDDLEINT","NATIONAL CHAR","NATIONAL VARCHAR","NUMERIC","PRECISION","REAL","SMALLINT","TEXT","TIME","TIMESTAMP","TINYBLOB","TINYINT","TINYTEXT","VARBINARY","VARCHAR","VARCHARACTER","VARYING","YEAR"],_a=["ABS","ACOS","ADDDATE","ADDTIME","AES_DECRYPT","AES_ENCRYPT","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","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","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","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","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","YEAR","YEARWEEK"],La=y(["SELECT [ALL | DISTINCT | DISTINCTROW]"]),Da=y(["WITH [RECURSIVE]","FROM","WHERE","GROUP BY","HAVING","WINDOW","PARTITION BY","ORDER BY","LIMIT","OFFSET","INSERT [LOW_PRIORITY | DELAYED | HIGH_PRIORITY] [IGNORE] [INTO]","REPLACE [LOW_PRIORITY | DELAYED] [INTO]","VALUES","ON DUPLICATE KEY UPDATE","SET"]),Rr=y(["CREATE [TEMPORARY] TABLE [IF NOT EXISTS]"]),AE=y(["CREATE [OR REPLACE] [SQL SECURITY DEFINER | SQL SECURITY INVOKER] VIEW [IF NOT EXISTS]","UPDATE [LOW_PRIORITY] [IGNORE]","DELETE [LOW_PRIORITY] [QUICK] [IGNORE] FROM","DROP [TEMPORARY] TABLE [IF EXISTS]","ALTER TABLE","ADD [COLUMN]","{CHANGE | MODIFY} [COLUMN]","DROP [COLUMN]","RENAME [TO | AS]","RENAME COLUMN","ALTER [COLUMN]","{SET | DROP} DEFAULT","TRUNCATE [TABLE]","ALTER DATABASE","ALTER EVENT","ALTER FUNCTION","ALTER INSTANCE","ALTER LOGFILE GROUP","ALTER PROCEDURE","ALTER RESOURCE GROUP","ALTER SERVER","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 TABLESPACE","CREATE TRIGGER","CREATE USER","DEALLOCATE PREPARE","DESCRIBE","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 TABLESPACE","DROP TRIGGER","DROP USER","DROP VIEW","EXECUTE","EXPLAIN","FLUSH","GRANT","HANDLER","HELP","IMPORT TABLE","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","RESET","RESET MASTER","RESET PERSIST","RESET REPLICA","RESET SLAVE","RESTART","REVOKE","ROLLBACK","ROLLBACK TO SAVEPOINT","SAVEPOINT","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","UNINSTALL COMPONENT","UNINSTALL PLUGIN","UNLOCK INSTANCE","UNLOCK TABLES","USE","XA","ITERATE","LEAVE","LOOP","REPEAT","RETURN","WHILE"]),pa=y(["UNION [ALL | DISTINCT]"]),da=y(["JOIN","{LEFT | RIGHT} [OUTER] JOIN","{INNER | CROSS} JOIN","NATURAL [INNER] JOIN","NATURAL {LEFT | RIGHT} [OUTER] JOIN","STRAIGHT_JOIN"]),Pa=y(["ON {UPDATE | DELETE} [SET NULL]","CHARACTER SET","{ROWS | RANGE} BETWEEN","IDENTIFIED BY"]),fa=y([]),ha={name:"mysql",tokenizerOptions:{reservedSelect:La,reservedClauses:[...Da,...Rr,...AE],reservedSetOperations:pa,reservedJoins:da,reservedKeywordPhrases:Pa,reservedDataTypePhrases:fa,supportsXor:!0,reservedKeywords:Ca,reservedDataTypes:ca,reservedFunctionNames:_a,stringTypes:['""-qq-bs',{quote:"''-qq-bs",prefixes:["N"]},{quote:"''-raw",prefixes:["B","X"],requirePrefix:!0}],identTypes:["``"],identChars:{first:"$",rest:"$",allowFirstCharNumber:!0},variableTypes:[{regex:"@@?[A-Za-z0-9_.$]+"},{quote:'""-qq-bs',prefixes:["@"],requirePrefix:!0},{quote:"''-qq-bs",prefixes:["@"],requirePrefix:!0},{quote:"``",prefixes:["@"],requirePrefix:!0}],paramTypes:{positional:!0},lineCommentTypes:["--","#"],operators:["%",":=","&","|","^","~","<<",">>","<=>","->","->>","&&","||","!","*.*"],postProcess:vt},formatOptions:{onelineClauses:[...Rr,...AE],tabularOnelineClauses:AE}},Ma=["ADD","ALL","ALTER","ANALYZE","AND","ARRAY","AS","ASC","BETWEEN","BOTH","BY","CALL","CASCADE","CASE","CHANGE","CHECK","COLLATE","COLUMN","CONSTRAINT","CONTINUE","CONVERT","CREATE","CROSS","CURRENT_DATE","CURRENT_ROLE","CURRENT_TIME","CURRENT_TIMESTAMP","CURRENT_USER","CURSOR","DATABASE","DATABASES","DAY_HOUR","DAY_MICROSECOND","DAY_MINUTE","DAY_SECOND","DEFAULT","DELAYED","DELETE","DESC","DESCRIBE","DISTINCT","DISTINCTROW","DIV","DOUBLE","DROP","DUAL","ELSE","ELSEIF","ENCLOSED","ESCAPED","EXCEPT","EXISTS","EXIT","EXPLAIN","FALSE","FETCH","FOR","FORCE","FOREIGN","FROM","FULLTEXT","GENERATED","GRANT","GROUP","GROUPS","HAVING","HIGH_PRIORITY","HOUR_MICROSECOND","HOUR_MINUTE","HOUR_SECOND","IF","IGNORE","ILIKE","IN","INDEX","INFILE","INNER","INOUT","INSERT","INTERSECT","INTERVAL","INTO","IS","ITERATE","JOIN","KEY","KEYS","KILL","LEADING","LEAVE","LEFT","LIKE","LIMIT","LINEAR","LINES","LOAD","LOCALTIME","LOCALTIMESTAMP","LOCK","LONG","LOW_PRIORITY","MATCH","MAXVALUE","MINUTE_MICROSECOND","MINUTE_SECOND","MOD","NATURAL","NOT","NO_WRITE_TO_BINLOG","NULL","OF","ON","OPTIMIZE","OPTION","OPTIONALLY","OR","ORDER","OUT","OUTER","OUTFILE","OVER","PARTITION","PRIMARY","PROCEDURE","RANGE","READ","RECURSIVE","REFERENCES","REGEXP","RELEASE","RENAME","REPEAT","REPLACE","REQUIRE","RESTRICT","REVOKE","RIGHT","RLIKE","ROW","ROWS","SECOND_MICROSECOND","SELECT","SET","SHOW","SPATIAL","SQL","SQLEXCEPTION","SQLSTATE","SQLWARNING","SQL_BIG_RESULT","SQL_CALC_FOUND_ROWS","SQL_SMALL_RESULT","SSL","STARTING","STATS_EXTENDED","STORED","STRAIGHT_JOIN","TABLE","TABLESAMPLE","TERMINATED","THEN","TO","TRAILING","TRIGGER","TRUE","TiDB_CURRENT_TSO","UNION","UNIQUE","UNLOCK","UNSIGNED","UNTIL","UPDATE","USAGE","USE","USING","UTC_DATE","UTC_TIME","UTC_TIMESTAMP","VALUES","VIRTUAL","WHEN","WHERE","WHILE","WINDOW","WITH","WRITE","XOR","YEAR_MONTH","ZEROFILL"],Ua=["BIGINT","BINARY","BIT","BLOB","BOOL","BOOLEAN","CHAR","CHARACTER","DATE","DATETIME","DEC","DECIMAL","DOUBLE PRECISION","DOUBLE","ENUM","FIXED","INT","INT1","INT2","INT3","INT4","INT8","INTEGER","LONGBLOB","LONGTEXT","MEDIUMBLOB","MEDIUMINT","MIDDLEINT","NATIONAL CHAR","NATIONAL VARCHAR","NUMERIC","PRECISION","SMALLINT","TEXT","TIME","TIMESTAMP","TINYBLOB","TINYINT","TINYTEXT","VARBINARY","VARCHAR","VARCHARACTER","VARYING","YEAR"],ma=["ABS","ACOS","ADDDATE","ADDTIME","AES_DECRYPT","AES_ENCRYPT","ANY_VALUE","ASCII","ASIN","ATAN","ATAN2","AVG","BENCHMARK","BIN","BIN_TO_UUID","BIT_AND","BIT_COUNT","BIT_LENGTH","BIT_OR","BIT_XOR","BITAND","BITNEG","BITOR","BITXOR","CASE","CAST","CEIL","CEILING","CHAR_FUNC","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_RESOURCE_GROUP","CURRENT_ROLE","CURRENT_TIME","CURRENT_TIMESTAMP","CURRENT_USER","CURTIME","DATABASE","DATE","DATE_ADD","DATE_FORMAT","DATE_SUB","DATEDIFF","DAY","DAYNAME","DAYOFMONTH","DAYOFWEEK","DAYOFYEAR","DECODE","DEFAULT_FUNC","DEGREES","DENSE_RANK","DES_DECRYPT","DES_ENCRYPT","DIV","ELT","ENCODE","ENCRYPT","EQ","EXP","EXPORT_SET","EXTRACT","FIELD","FIND_IN_SET","FIRST_VALUE","FLOOR","FORMAT","FORMAT_BYTES","FORMAT_NANO_TIME","FOUND_ROWS","FROM_BASE64","FROM_DAYS","FROM_UNIXTIME","GE","GET_FORMAT","GET_LOCK","GETPARAM","GREATEST","GROUP_CONCAT","GROUPING","GT","HEX","HOUR","IF","IFNULL","ILIKE","INET6_ATON","INET6_NTOA","INET_ATON","INET_NTOA","INSERT_FUNC","INSTR","INTDIV","INTERVAL","IS_FREE_LOCK","IS_IPV4","IS_IPV4_COMPAT","IS_IPV4_MAPPED","IS_IPV6","IS_USED_LOCK","IS_UUID","ISFALSE","ISNULL","ISTRUE","JSON_ARRAY","JSON_ARRAYAGG","JSON_ARRAY_APPEND","JSON_ARRAY_INSERT","JSON_CONTAINS","JSON_CONTAINS_PATH","JSON_DEPTH","JSON_EXTRACT","JSON_INSERT","JSON_KEYS","JSON_LENGTH","JSON_MEMBEROF","JSON_MERGE","JSON_MERGE_PATCH","JSON_MERGE_PRESERVE","JSON_OBJECT","JSON_OBJECTAGG","JSON_OVERLAPS","JSON_PRETTY","JSON_QUOTE","JSON_REMOVE","JSON_REPLACE","JSON_SEARCH","JSON_SET","JSON_STORAGE_FREE","JSON_STORAGE_SIZE","JSON_TYPE","JSON_UNQUOTE","JSON_VALID","LAG","LAST_DAY","LAST_INSERT_ID","LAST_VALUE","LASTVAL","LCASE","LE","LEAD","LEAST","LEFT","LEFTSHIFT","LENGTH","LIKE","LN","LOAD_FILE","LOCALTIME","LOCALTIMESTAMP","LOCATE","LOG","LOG10","LOG2","LOWER","LPAD","LT","LTRIM","MAKE_SET","MAKEDATE","MAKETIME","MASTER_POS_WAIT","MAX","MD5","MICROSECOND","MID","MIN","MINUS","MINUTE","MOD","MONTH","MONTHNAME","MUL","NAME_CONST","NE","NEXTVAL","NOT","NOW","NTH_VALUE","NTILE","NULLEQ","OCT","OCTET_LENGTH","OLD_PASSWORD","ORD","PASSWORD_FUNC","PERCENT_RANK","PERIOD_ADD","PERIOD_DIFF","PI","PLUS","POSITION","POW","POWER","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","RIGHTSHIFT","ROUND","ROW_COUNT","ROW_NUMBER","RPAD","RTRIM","SCHEMA","SEC_TO_TIME","SECOND","SESSION_USER","SETVAL","SETVAR","SHA","SHA1","SHA2","SIGN","SIN","SLEEP","SM3","SPACE","SQRT","STD","STDDEV","STDDEV_POP","STDDEV_SAMP","STR_TO_DATE","STRCMP","SUBDATE","SUBSTR","SUBSTRING","SUBSTRING_INDEX","SUBTIME","SUM","SYSDATE","SYSTEM_USER","TAN","TIDB_BOUNDED_STALENESS","TIDB_CURRENT_TSO","TIDB_DECODE_BINARY_PLAN","TIDB_DECODE_KEY","TIDB_DECODE_PLAN","TIDB_DECODE_SQL_DIGESTS","TIDB_ENCODE_SQL_DIGEST","TIDB_IS_DDL_OWNER","TIDB_PARSE_TSO","TIDB_PARSE_TSO_LOGICAL","TIDB_ROW_CHECKSUM","TIDB_SHARD","TIDB_VERSION","TIME","TIME_FORMAT","TIME_TO_SEC","TIMEDIFF","TIMESTAMP","TIMESTAMPADD","TIMESTAMPDIFF","TO_BASE64","TO_DAYS","TO_SECONDS","TRANSLATE","TRIM","TRUNCATE","UCASE","UNARYMINUS","UNCOMPRESS","UNCOMPRESSED_LENGTH","UNHEX","UNIX_TIMESTAMP","UPPER","UTC_DATE","UTC_TIME","UTC_TIMESTAMP","UUID","UUID_SHORT","UUID_TO_BIN","VALIDATE_PASSWORD_STRENGTH","VAR_POP","VAR_SAMP","VARIANCE","VERSION","VITESS_HASH","WEEK","WEEKDAY","WEEKOFYEAR","WEIGHT_STRING","YEAR","YEARWEEK"],Ba=y(["SELECT [ALL | DISTINCT | DISTINCTROW]"]),ga=y(["WITH [RECURSIVE]","FROM","WHERE","GROUP BY","HAVING","WINDOW","PARTITION BY","ORDER BY","LIMIT","OFFSET","INSERT [LOW_PRIORITY | DELAYED | HIGH_PRIORITY] [IGNORE] [INTO]","REPLACE [LOW_PRIORITY | DELAYED] [INTO]","VALUES","ON DUPLICATE KEY UPDATE","SET"]),Sr=y(["CREATE [TEMPORARY] TABLE [IF NOT EXISTS]"]),iE=y(["CREATE [OR REPLACE] [SQL SECURITY DEFINER | SQL SECURITY INVOKER] VIEW [IF NOT EXISTS]","UPDATE [LOW_PRIORITY] [IGNORE]","DELETE [LOW_PRIORITY] [QUICK] [IGNORE] FROM","DROP [TEMPORARY] TABLE [IF EXISTS]","ALTER TABLE","ADD [COLUMN]","{CHANGE | MODIFY} [COLUMN]","DROP [COLUMN]","RENAME [TO | AS]","RENAME COLUMN","ALTER [COLUMN]","{SET | DROP} DEFAULT","TRUNCATE [TABLE]","ALTER DATABASE","ALTER INSTANCE","ALTER RESOURCE GROUP","ALTER SEQUENCE","ALTER USER","ALTER VIEW","ANALYZE TABLE","CHECK TABLE","CHECKSUM TABLE","COMMIT","CREATE DATABASE","CREATE INDEX","CREATE RESOURCE GROUP","CREATE ROLE","CREATE SEQUENCE","CREATE USER","DEALLOCATE PREPARE","DESCRIBE","DROP DATABASE","DROP INDEX","DROP RESOURCE GROUP","DROP ROLE","DROP TABLESPACE","DROP USER","DROP VIEW","EXPLAIN","FLUSH","GRANT","IMPORT TABLE","INSTALL COMPONENT","INSTALL PLUGIN","KILL","LOAD DATA","LOCK INSTANCE FOR BACKUP","LOCK TABLES","OPTIMIZE TABLE","PREPARE","RELEASE SAVEPOINT","RENAME TABLE","RENAME USER","REPAIR TABLE","RESET","REVOKE","ROLLBACK","ROLLBACK TO SAVEPOINT","SAVEPOINT","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 TABLE","SHOW CREATE USER","SHOW CREATE VIEW","SHOW DATABASES","SHOW ENGINE","SHOW ENGINES","SHOW ERRORS","SHOW EVENTS","SHOW GRANTS","SHOW INDEX","SHOW MASTER STATUS","SHOW OPEN TABLES","SHOW PLUGINS","SHOW PRIVILEGES","SHOW PROCESSLIST","SHOW PROFILE","SHOW PROFILES","SHOW STATUS","SHOW TABLE STATUS","SHOW TABLES","SHOW TRIGGERS","SHOW VARIABLES","SHOW WARNINGS","TABLE","UNINSTALL COMPONENT","UNINSTALL PLUGIN","UNLOCK INSTANCE","UNLOCK TABLES","USE"]),ya=y(["UNION [ALL | DISTINCT]"]),Ga=y(["JOIN","{LEFT | RIGHT} [OUTER] JOIN","{INNER | CROSS} JOIN","NATURAL [INNER] JOIN","NATURAL {LEFT | RIGHT} [OUTER] JOIN","STRAIGHT_JOIN"]),Fa=y(["ON {UPDATE | DELETE} [SET NULL]","CHARACTER SET","{ROWS | RANGE} BETWEEN","IDENTIFIED BY"]),Ha=y([]),ba={name:"tidb",tokenizerOptions:{reservedSelect:Ba,reservedClauses:[...ga,...Sr,...iE],reservedSetOperations:ya,reservedJoins:Ga,reservedKeywordPhrases:Fa,reservedDataTypePhrases:Ha,supportsXor:!0,reservedKeywords:Ma,reservedDataTypes:Ua,reservedFunctionNames:ma,stringTypes:['""-qq-bs',{quote:"''-qq-bs",prefixes:["N"]},{quote:"''-raw",prefixes:["B","X"],requirePrefix:!0}],identTypes:["``"],identChars:{first:"$",rest:"$",allowFirstCharNumber:!0},variableTypes:[{regex:"@@?[A-Za-z0-9_.$]+"},{quote:'""-qq-bs',prefixes:["@"],requirePrefix:!0},{quote:"''-qq-bs",prefixes:["@"],requirePrefix:!0},{quote:"``",prefixes:["@"],requirePrefix:!0}],paramTypes:{positional:!0},lineCommentTypes:["--","#"],operators:["%",":=","&","|","^","~","<<",">>","<=>","->","->>","&&","||","!","*.*"],postProcess:vt},formatOptions:{onelineClauses:[...Sr,...iE],tabularOnelineClauses:iE}},Ya=["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","CAST"],xa=["ADVISE","ALL","ALTER","ANALYZE","AND","ANY","ARRAY","AS","ASC","AT","BEGIN","BETWEEN","BINARY","BOOLEAN","BREAK","BUCKET","BUILD","BY","CALL","CASE","CAST","CLUSTER","COLLATE","COLLECTION","COMMIT","COMMITTED","CONNECT","CONTINUE","CORRELATED","COVER","CREATE","CURRENT","DATABASE","DATASET","DATASTORE","DECLARE","DECREMENT","DELETE","DERIVED","DESC","DESCRIBE","DISTINCT","DO","DROP","EACH","ELEMENT","ELSE","END","EVERY","EXCEPT","EXCLUDE","EXECUTE","EXISTS","EXPLAIN","FALSE","FETCH","FILTER","FIRST","FLATTEN","FLUSH","FOLLOWING","FOR","FORCE","FROM","FTS","FUNCTION","GOLANG","GRANT","GROUP","GROUPS","GSI","HASH","HAVING","IF","IGNORE","ILIKE","IN","INCLUDE","INCREMENT","INDEX","INFER","INLINE","INNER","INSERT","INTERSECT","INTO","IS","ISOLATION","JAVASCRIPT","JOIN","KEY","KEYS","KEYSPACE","KNOWN","LANGUAGE","LAST","LEFT","LET","LETTING","LEVEL","LIKE","LIMIT","LSM","MAP","MAPPING","MATCHED","MATERIALIZED","MERGE","MINUS","MISSING","NAMESPACE","NEST","NL","NO","NOT","NTH_VALUE","NULL","NULLS","NUMBER","OBJECT","OFFSET","ON","OPTION","OPTIONS","OR","ORDER","OTHERS","OUTER","OVER","PARSE","PARTITION","PASSWORD","PATH","POOL","PRECEDING","PREPARE","PRIMARY","PRIVATE","PRIVILEGE","PROBE","PROCEDURE","PUBLIC","RANGE","RAW","REALM","REDUCE","RENAME","RESPECT","RETURN","RETURNING","REVOKE","RIGHT","ROLE","ROLLBACK","ROW","ROWS","SATISFIES","SAVEPOINT","SCHEMA","SCOPE","SELECT","SELF","SEMI","SET","SHOW","SOME","START","STATISTICS","STRING","SYSTEM","THEN","TIES","TO","TRAN","TRANSACTION","TRIGGER","TRUE","TRUNCATE","UNBOUNDED","UNDER","UNION","UNIQUE","UNKNOWN","UNNEST","UNSET","UPDATE","UPSERT","USE","USER","USING","VALIDATE","VALUE","VALUED","VALUES","VIA","VIEW","WHEN","WHERE","WHILE","WINDOW","WITH","WITHIN","WORK","XOR"],Va=[],va=y(["SELECT [ALL | DISTINCT]"]),wa=y(["WITH","FROM","WHERE","GROUP BY","HAVING","WINDOW","PARTITION BY","ORDER BY","LIMIT","OFFSET","INSERT INTO","VALUES","SET","MERGE INTO","WHEN [NOT] MATCHED THEN","UPDATE SET","INSERT","NEST","UNNEST","RETURNING"]),Nr=y(["UPDATE","DELETE FROM","SET SCHEMA","ADVISE","ALTER INDEX","BEGIN TRANSACTION","BUILD INDEX","COMMIT TRANSACTION","CREATE COLLECTION","CREATE FUNCTION","CREATE INDEX","CREATE PRIMARY INDEX","CREATE SCOPE","DROP COLLECTION","DROP FUNCTION","DROP INDEX","DROP PRIMARY INDEX","DROP SCOPE","EXECUTE","EXECUTE FUNCTION","EXPLAIN","GRANT","INFER","PREPARE","REVOKE","ROLLBACK TRANSACTION","SAVEPOINT","SET TRANSACTION","UPDATE STATISTICS","UPSERT","LET","SET CURRENT SCHEMA","SHOW","USE [PRIMARY] KEYS"]),Wa=y(["UNION [ALL]","EXCEPT [ALL]","INTERSECT [ALL]"]),Xa=y(["JOIN","{LEFT | RIGHT} [OUTER] JOIN","INNER JOIN"]),Ka=y(["{ROWS | RANGE | GROUPS} BETWEEN"]),ka=y([]),$a={name:"n1ql",tokenizerOptions:{reservedSelect:va,reservedClauses:[...wa,...Nr],reservedSetOperations:Wa,reservedJoins:Xa,reservedKeywordPhrases:Ka,reservedDataTypePhrases:ka,supportsXor:!0,reservedKeywords:xa,reservedDataTypes:Va,reservedFunctionNames:Ya,stringTypes:['""-bs',"''-bs"],identTypes:["``"],extraParens:["[]","{}"],paramTypes:{positional:!0,numbered:["$"],named:["$"]},lineCommentTypes:["#","--"],operators:["%","==",":","||"]},formatOptions:{onelineClauses:Nr}},qa=["ADD","AGENT","AGGREGATE","ALL","ALTER","AND","ANY","ARROW","AS","ASC","AT","ATTRIBUTE","AUTHID","AVG","BEGIN","BETWEEN","BLOCK","BODY","BOTH","BOUND","BULK","BY","BYTE","CALL","CALLING","CASCADE","CASE","CHARSET","CHARSETFORM","CHARSETID","CHECK","CLOSE","CLUSTER","CLUSTERS","COLAUTH","COLLECT","COLUMNS","COMMENT","COMMIT","COMMITTED","COMPILED","COMPRESS","CONNECT","CONSTANT","CONSTRUCTOR","CONTEXT","CONVERT","COUNT","CRASH","CREATE","CURRENT","CURSOR","CUSTOMDATUM","DANGLING","DATA","DAY","DECLARE","DEFAULT","DEFINE","DELETE","DESC","DETERMINISTIC","DISTINCT","DROP","DURATION","ELEMENT","ELSE","ELSIF","EMPTY","END","ESCAPE","EXCEPT","EXCEPTION","EXCEPTIONS","EXCLUSIVE","EXECUTE","EXISTS","EXIT","EXTERNAL","FETCH","FINAL","FIXED","FOR","FORALL","FORCE","FORM","FROM","FUNCTION","GENERAL","GOTO","GRANT","GROUP","HASH","HAVING","HEAP","HIDDEN","HOUR","IDENTIFIED","IF","IMMEDIATE","IN","INCLUDING","INDEX","INDEXES","INDICATOR","INDICES","INFINITE","INSERT","INSTANTIABLE","INTERFACE","INTERSECT","INTERVAL","INTO","INVALIDATE","IS","ISOLATION","JAVA","LANGUAGE","LARGE","LEADING","LENGTH","LEVEL","LIBRARY","LIKE","LIKE2","LIKE4","LIKEC","LIMIT","LIMITED","LOCAL","LOCK","LOOP","MAP","MAX","MAXLEN","MEMBER","MERGE","MIN","MINUS","MINUTE","MOD","MODE","MODIFY","MONTH","MULTISET","NAME","NAN","NATIONAL","NATIVE","NEW","NOCOMPRESS","NOCOPY","NOT","NOWAIT","NULL","OBJECT","OCICOLL","OCIDATE","OCIDATETIME","OCIDURATION","OCIINTERVAL","OCILOBLOCATOR","OCINUMBER","OCIRAW","OCIREF","OCIREFCURSOR","OCIROWID","OCISTRING","OCITYPE","OF","ON","ONLY","OPAQUE","OPEN","OPERATOR","OPTION","OR","ORACLE","ORADATA","ORDER","OVERLAPS","ORGANIZATION","ORLANY","ORLVARY","OTHERS","OUT","OVERRIDING","PACKAGE","PARALLEL_ENABLE","PARAMETER","PARAMETERS","PARTITION","PASCAL","PIPE","PIPELINED","PRAGMA","PRIOR","PRIVATE","PROCEDURE","PUBLIC","RAISE","RANGE","READ","RECORD","REF","REFERENCE","REM","REMAINDER","RENAME","RESOURCE","RESULT","RETURN","RETURNING","REVERSE","REVOKE","ROLLBACK","ROW","SAMPLE","SAVE","SAVEPOINT","SB1","SB2","SB4","SECOND","SEGMENT","SELECT","SELF","SEPARATE","SEQUENCE","SERIALIZABLE","SET","SHARE","SHORT","SIZE","SIZE_T","SOME","SPARSE","SQL","SQLCODE","SQLDATA","SQLNAME","SQLSTATE","STANDARD","START","STATIC","STDDEV","STORED","STRING","STRUCT","STYLE","SUBMULTISET","SUBPARTITION","SUBSTITUTABLE","SUBTYPE","SUM","SYNONYM","TABAUTH","TABLE","TDO","THE","THEN","TIME","TIMEZONE_ABBR","TIMEZONE_HOUR","TIMEZONE_MINUTE","TIMEZONE_REGION","TO","TRAILING","TRANSAC","TRANSACTIONAL","TRUSTED","TYPE","UB1","UB2","UB4","UNDER","UNION","UNIQUE","UNSIGNED","UNTRUSTED","UPDATE","USE","USING","VALIST","VALUE","VALUES","VARIABLE","VARIANCE","VARRAY","VIEW","VIEWS","VOID","WHEN","WHERE","WHILE","WITH","WORK","WRAPPED","WRITE","YEAR","ZONE"],Ja=["ARRAY","BFILE_BASE","BINARY","BLOB_BASE","CHAR VARYING","CHAR_BASE","CHAR","CHARACTER VARYING","CHARACTER","CLOB_BASE","DATE_BASE","DATE","DECIMAL","DOUBLE","FLOAT","INT","INTERVAL DAY","INTERVAL YEAR","LONG","NATIONAL CHAR VARYING","NATIONAL CHAR","NATIONAL CHARACTER VARYING","NATIONAL CHARACTER","NCHAR VARYING","NCHAR","NCHAR","NUMBER_BASE","NUMBER","NUMBERIC","NVARCHAR","PRECISION","RAW","TIMESTAMP","UROWID","VARCHAR","VARCHAR2"],Qa=["ABS","ACOS","ASIN","ATAN","ATAN2","BITAND","CEIL","COS","COSH","EXP","FLOOR","LN","LOG","MOD","NANVL","POWER","REMAINDER","ROUND","SIGN","SIN","SINH","SQRT","TAN","TANH","TRUNC","WIDTH_BUCKET","CHR","CONCAT","INITCAP","LOWER","LPAD","LTRIM","NLS_INITCAP","NLS_LOWER","NLSSORT","NLS_UPPER","REGEXP_REPLACE","REGEXP_SUBSTR","REPLACE","RPAD","RTRIM","SOUNDEX","SUBSTR","TRANSLATE","TREAT","TRIM","UPPER","NLS_CHARSET_DECL_LEN","NLS_CHARSET_ID","NLS_CHARSET_NAME","ASCII","INSTR","LENGTH","REGEXP_INSTR","ADD_MONTHS","CURRENT_DATE","CURRENT_TIMESTAMP","DBTIMEZONE","EXTRACT","FROM_TZ","LAST_DAY","LOCALTIMESTAMP","MONTHS_BETWEEN","NEW_TIME","NEXT_DAY","NUMTODSINTERVAL","NUMTOYMINTERVAL","ROUND","SESSIONTIMEZONE","SYS_EXTRACT_UTC","SYSDATE","SYSTIMESTAMP","TO_CHAR","TO_TIMESTAMP","TO_TIMESTAMP_TZ","TO_DSINTERVAL","TO_YMINTERVAL","TRUNC","TZ_OFFSET","GREATEST","LEAST","ASCIISTR","BIN_TO_NUM","CAST","CHARTOROWID","COMPOSE","CONVERT","DECOMPOSE","HEXTORAW","NUMTODSINTERVAL","NUMTOYMINTERVAL","RAWTOHEX","RAWTONHEX","ROWIDTOCHAR","ROWIDTONCHAR","SCN_TO_TIMESTAMP","TIMESTAMP_TO_SCN","TO_BINARY_DOUBLE","TO_BINARY_FLOAT","TO_CHAR","TO_CLOB","TO_DATE","TO_DSINTERVAL","TO_LOB","TO_MULTI_BYTE","TO_NCHAR","TO_NCLOB","TO_NUMBER","TO_DSINTERVAL","TO_SINGLE_BYTE","TO_TIMESTAMP","TO_TIMESTAMP_TZ","TO_YMINTERVAL","TO_YMINTERVAL","TRANSLATE","UNISTR","BFILENAME","EMPTY_BLOB,","EMPTY_CLOB","CARDINALITY","COLLECT","POWERMULTISET","POWERMULTISET_BY_CARDINALITY","SET","SYS_CONNECT_BY_PATH","CLUSTER_ID","CLUSTER_PROBABILITY","CLUSTER_SET","FEATURE_ID","FEATURE_SET","FEATURE_VALUE","PREDICTION","PREDICTION_COST","PREDICTION_DETAILS","PREDICTION_PROBABILITY","PREDICTION_SET","APPENDCHILDXML","DELETEXML","DEPTH","EXTRACT","EXISTSNODE","EXTRACTVALUE","INSERTCHILDXML","INSERTXMLBEFORE","PATH","SYS_DBURIGEN","SYS_XMLAGG","SYS_XMLGEN","UPDATEXML","XMLAGG","XMLCDATA","XMLCOLATTVAL","XMLCOMMENT","XMLCONCAT","XMLFOREST","XMLPARSE","XMLPI","XMLQUERY","XMLROOT","XMLSEQUENCE","XMLSERIALIZE","XMLTABLE","XMLTRANSFORM","DECODE","DUMP","ORA_HASH","VSIZE","COALESCE","LNNVL","NULLIF","NVL","NVL2","SYS_CONTEXT","SYS_GUID","SYS_TYPEID","UID","USER","USERENV","AVG","COLLECT","CORR","CORR_S","CORR_K","COUNT","COVAR_POP","COVAR_SAMP","CUME_DIST","DENSE_RANK","FIRST","GROUP_ID","GROUPING","GROUPING_ID","LAST","MAX","MEDIAN","MIN","PERCENTILE_CONT","PERCENTILE_DISC","PERCENT_RANK","RANK","REGR_SLOPE","REGR_INTERCEPT","REGR_COUNT","REGR_R2","REGR_AVGX","REGR_AVGY","REGR_SXX","REGR_SYY","REGR_SXY","STATS_BINOMIAL_TEST","STATS_CROSSTAB","STATS_F_TEST","STATS_KS_TEST","STATS_MODE","STATS_MW_TEST","STATS_ONE_WAY_ANOVA","STATS_T_TEST_ONE","STATS_T_TEST_PAIRED","STATS_T_TEST_INDEP","STATS_T_TEST_INDEPU","STATS_WSR_TEST","STDDEV","STDDEV_POP","STDDEV_SAMP","SUM","VAR_POP","VAR_SAMP","VARIANCE","FIRST_VALUE","LAG","LAST_VALUE","LEAD","NTILE","RATIO_TO_REPORT","ROW_NUMBER","DEREF","MAKE_REF","REF","REFTOHEX","VALUE","CV","ITERATION_NUMBER","PRESENTNNV","PRESENTV","PREVIOUS"],Za=y(["SELECT [ALL | DISTINCT | UNIQUE]"]),ja=y(["WITH","FROM","WHERE","GROUP BY","HAVING","PARTITION BY","ORDER [SIBLINGS] BY","OFFSET","FETCH {FIRST | NEXT}","FOR UPDATE [OF]","INSERT [INTO | ALL INTO]","VALUES","SET","MERGE [INTO]","WHEN [NOT] MATCHED [THEN]","UPDATE SET","RETURNING"]),Ir=y(["CREATE [GLOBAL TEMPORARY | PRIVATE TEMPORARY | SHARDED | DUPLICATED | IMMUTABLE BLOCKCHAIN | BLOCKCHAIN | IMMUTABLE] TABLE"]),RE=y(["CREATE [OR REPLACE] [NO FORCE | FORCE] [EDITIONING | EDITIONABLE | EDITIONABLE EDITIONING | NONEDITIONABLE] VIEW","CREATE MATERIALIZED VIEW","UPDATE [ONLY]","DELETE FROM [ONLY]","DROP TABLE","ALTER TABLE","ADD","DROP {COLUMN | UNUSED COLUMNS | COLUMNS CONTINUE}","MODIFY","RENAME TO","RENAME COLUMN","TRUNCATE TABLE","SET SCHEMA","BEGIN","CONNECT BY","DECLARE","EXCEPT","EXCEPTION","LOOP","START WITH"]),za=y(["UNION [ALL]","MINUS","INTERSECT"]),eA=y(["JOIN","{LEFT | RIGHT | FULL} [OUTER] JOIN","{INNER | CROSS} JOIN","NATURAL [INNER] JOIN","NATURAL {LEFT | RIGHT | FULL} [OUTER] JOIN","{CROSS | OUTER} APPLY"]),tA=y(["ON {UPDATE | DELETE} [SET NULL]","ON COMMIT","{ROWS | RANGE} BETWEEN"]),EA=y([]),rA={name:"plsql",tokenizerOptions:{reservedSelect:Za,reservedClauses:[...ja,...Ir,...RE],reservedSetOperations:za,reservedJoins:eA,reservedKeywordPhrases:tA,reservedDataTypePhrases:EA,supportsXor:!0,reservedKeywords:qa,reservedDataTypes:Ja,reservedFunctionNames:Qa,stringTypes:[{quote:"''-qq",prefixes:["N"]},{quote:"q''",prefixes:["N"]}],identTypes:['""-qq'],identChars:{rest:"$#"},variableTypes:[{regex:"&{1,2}[A-Za-z][A-Za-z0-9_$#]*"}],paramTypes:{numbered:[":"],named:[":"]},operators:["**",":=","%","~=","^=",">>","<<","=>","@","||"],postProcess:nA},formatOptions:{alwaysDenseOperators:["@"],onelineClauses:[...Ir,...RE],tabularOnelineClauses:RE}};function nA(E){let t=It;return E.map(r=>Ot.SET(r)&&Ot.BY(t)?Object.assign(Object.assign({},r),{type:X.RESERVED_KEYWORD}):(Er(r.type)&&(t=r),r))}const sA=["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","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","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","BIT_COUNT","BIT_LENGTH","GET_BIT","LENGTH","OCTET_LENGTH","OVERLAY","POSITION","SET_BIT","SUBSTRING","REGEXP_MATCH","REGEXP_MATCHES","REGEXP_REPLACE","REGEXP_SPLIT_TO_ARRAY","REGEXP_SPLIT_TO_TABLE","TO_CHAR","TO_DATE","TO_NUMBER","TO_TIMESTAMP","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_FIRST","ENUM_LAST","ENUM_RANGE","AREA","BOUND_BOX","BOX","CENTER","CIRCLE","DIAGONAL","DIAMETER","HEIGHT","ISCLOSED","ISOPEN","LENGTH","LINE","LSEG","NPOINTS","PATH","PCLOSE","POINT","POLYGON","POPEN","RADIUS","SLOPE","WIDTH","ABBREV","BROADCAST","FAMILY","HOST","HOSTMASK","INET_MERGE","INET_SAME_FAMILY","MACADDR8_SET7BIT","MASKLEN","NETMASK","NETWORK","SET_MASKLEN","TRUNC","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","GEN_RANDOM_UUID","UUIDV4","UUIDV7","UUID_EXTRACT_TIMESTAMP","UUID_EXTRACT_VERSION","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","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","CURRVAL","LASTVAL","NEXTVAL","SETVAL","COALESCE","GREATEST","LEAST","NULLIF","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","ISEMPTY","LOWER","LOWER_INC","LOWER_INF","MULTIRANGE","RANGE_MERGE","UPPER","UPPER_INC","UPPER_INF","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","STDDEV","STDDEV_POP","STDDEV_SAMP","STRING_AGG","SUM","TO_JSON","TO_JSONB","VARIANCE","VAR_POP","VAR_SAMP","XMLAGG","CUME_DIST","DENSE_RANK","FIRST_VALUE","LAG","LAST_VALUE","LEAD","NTH_VALUE","NTILE","PERCENT_RANK","RANK","ROW_NUMBER","GENERATE_SERIES","GENERATE_SUBSCRIPTS","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","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","SUPPRESS_REDUNDANT_UPDATES_TRIGGER","TSVECTOR_UPDATE_TRIGGER","TSVECTOR_UPDATE_TRIGGER_COLUMN","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","PG_MCV_LIST_ITEMS","CAST"],TA=["ALL","ANALYSE","ANALYZE","AND","ANY","AS","ASC","ASYMMETRIC","AUTHORIZATION","BETWEEN","BINARY","BOTH","CASE","CAST","CHECK","COLLATE","COLLATION","COLUMN","CONCURRENTLY","CONSTRAINT","CREATE","CROSS","CURRENT_CATALOG","CURRENT_DATE","CURRENT_ROLE","CURRENT_SCHEMA","CURRENT_TIME","CURRENT_TIMESTAMP","CURRENT_USER","DAY","DEFAULT","DEFERRABLE","DESC","DISTINCT","DO","ELSE","END","EXCEPT","EXISTS","FALSE","FETCH","FILTER","FOR","FOREIGN","FREEZE","FROM","FULL","GRANT","GROUP","HAVING","HOUR","ILIKE","IN","INITIALLY","INNER","INOUT","INTERSECT","INTO","IS","ISNULL","JOIN","LATERAL","LEADING","LEFT","LIKE","LIMIT","LOCALTIME","LOCALTIMESTAMP","MINUTE","MONTH","NATURAL","NOT","NOTNULL","NULL","NULLIF","OFFSET","ON","ONLY","OR","ORDER","OUT","OUTER","OVER","OVERLAPS","PLACING","PRIMARY","REFERENCES","RETURNING","RIGHT","ROW","SECOND","SELECT","SESSION_USER","SIMILAR","SOME","SYMMETRIC","TABLE","TABLESAMPLE","THEN","TO","TRAILING","TRUE","UNION","UNIQUE","USER","USING","VALUES","VARIADIC","VERBOSE","WHEN","WHERE","WINDOW","WITH","WITHIN","WITHOUT","YEAR"],oA=["ARRAY","BIGINT","BIT","BIT VARYING","BOOL","BOOLEAN","CHAR","CHARACTER","CHARACTER VARYING","DECIMAL","DEC","DOUBLE","ENUM","FLOAT","INT","INTEGER","INTERVAL","NCHAR","NUMERIC","JSON","JSONB","PRECISION","REAL","SMALLINT","TEXT","TIME","TIMESTAMP","TIMESTAMPTZ","UUID","VARCHAR","XML","ZONE"],aA=y(["SELECT [ALL | DISTINCT]"]),AA=y(["WITH [RECURSIVE]","FROM","WHERE","GROUP BY [ALL | DISTINCT]","HAVING","WINDOW","PARTITION BY","ORDER BY","LIMIT","OFFSET","FETCH {FIRST | NEXT}","FOR {UPDATE | NO KEY UPDATE | SHARE | KEY SHARE} [OF]","INSERT INTO","VALUES","DEFAULT VALUES","SET","RETURNING"]),Or=y(["CREATE [GLOBAL | LOCAL] [TEMPORARY | TEMP | UNLOGGED] TABLE [IF NOT EXISTS]"]),SE=y(["CREATE [OR REPLACE] [TEMP | TEMPORARY] [RECURSIVE] VIEW","CREATE [MATERIALIZED] VIEW [IF NOT EXISTS]","UPDATE [ONLY]","WHERE CURRENT OF","ON CONFLICT","DELETE FROM [ONLY]","DROP TABLE [IF EXISTS]","ALTER TABLE [IF EXISTS] [ONLY]","ALTER TABLE ALL IN TABLESPACE","RENAME [COLUMN]","RENAME TO","ADD [COLUMN] [IF NOT EXISTS]","DROP [COLUMN] [IF EXISTS]","ALTER [COLUMN]","SET DATA TYPE","{SET | DROP} DEFAULT","{SET | DROP} NOT NULL","TRUNCATE [TABLE] [ONLY]","SET SCHEMA","AFTER","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 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 ON","COMMIT","COMMIT PREPARED","COPY","CREATE ACCESS METHOD","CREATE [OR REPLACE] AGGREGATE","CREATE CAST","CREATE COLLATION","CREATE [DEFAULT] CONVERSION","CREATE DATABASE","CREATE DOMAIN","CREATE EVENT TRIGGER","CREATE EXTENSION","CREATE FOREIGN DATA WRAPPER","CREATE FOREIGN TABLE","CREATE [OR REPLACE] FUNCTION","CREATE GROUP","CREATE [UNIQUE] INDEX","CREATE [OR REPLACE] [TRUSTED] [PROCEDURAL] LANGUAGE","CREATE OPERATOR","CREATE OPERATOR CLASS","CREATE OPERATOR FAMILY","CREATE POLICY","CREATE [OR REPLACE] PROCEDURE","CREATE PUBLICATION","CREATE ROLE","CREATE [OR REPLACE] RULE","CREATE SCHEMA [AUTHORIZATION]","CREATE [TEMPORARY | TEMP | UNLOGGED] SEQUENCE","CREATE SERVER","CREATE STATISTICS","CREATE SUBSCRIPTION","CREATE TABLESPACE","CREATE TEXT SEARCH CONFIGURATION","CREATE TEXT SEARCH DICTIONARY","CREATE TEXT SEARCH PARSER","CREATE TEXT SEARCH TEMPLATE","CREATE [OR REPLACE] TRANSFORM","CREATE [OR REPLACE] [CONSTRAINT] TRIGGER","CREATE TYPE","CREATE USER","CREATE USER MAPPING","DEALLOCATE","DECLARE","DISCARD","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 IDENTITY","DROP INDEX","DROP LANGUAGE","DROP MATERIALIZED VIEW [IF EXISTS]","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 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","EXECUTE","EXPLAIN","FETCH","GRANT","IMPORT FOREIGN SCHEMA","LISTEN","LOAD","LOCK","MOVE","NOTIFY","OVERRIDING SYSTEM VALUE","PREPARE","PREPARE TRANSACTION","REASSIGN OWNED","REFRESH MATERIALIZED VIEW","REINDEX","RELEASE SAVEPOINT","RESET [ALL|ROLE|SESSION AUTHORIZATION]","REVOKE","ROLLBACK","ROLLBACK PREPARED","ROLLBACK TO SAVEPOINT","SAVEPOINT","SECURITY LABEL","SELECT INTO","SET CONSTRAINTS","SET ROLE","SET SESSION AUTHORIZATION","SET TRANSACTION","SHOW","START TRANSACTION","UNLISTEN","VACUUM"]),iA=y(["UNION [ALL | DISTINCT]","EXCEPT [ALL | DISTINCT]","INTERSECT [ALL | DISTINCT]"]),RA=y(["JOIN","{LEFT | RIGHT | FULL} [OUTER] JOIN","{INNER | CROSS} JOIN","NATURAL [INNER] JOIN","NATURAL {LEFT | RIGHT | FULL} [OUTER] JOIN"]),SA=y(["PRIMARY KEY","GENERATED {ALWAYS | BY DEFAULT} AS IDENTITY","ON {UPDATE | DELETE} [NO ACTION | RESTRICT | CASCADE | SET NULL | SET DEFAULT]","DO {NOTHING | UPDATE}","AS MATERIALIZED","{ROWS | RANGE | GROUPS} BETWEEN","IS [NOT] DISTINCT FROM","NULLS {FIRST | LAST}","WITH ORDINALITY"]),NA=y(["[TIMESTAMP | TIME] {WITH | WITHOUT} TIME ZONE"]),IA={name:"postgresql",tokenizerOptions:{reservedSelect:aA,reservedClauses:[...AA,...Or,...SE],reservedSetOperations:iA,reservedJoins:RA,reservedKeywordPhrases:SA,reservedDataTypePhrases:NA,reservedKeywords:TA,reservedDataTypes:oA,reservedFunctionNames:sA,nestedBlockComments:!0,extraParens:["[]"],underscoresInNumbers:!0,stringTypes:["$$",{quote:"''-qq",prefixes:["U&"]},{quote:"''-qq-bs",prefixes:["E"],requirePrefix:!0},{quote:"''-raw",prefixes:["B","X"],requirePrefix:!0}],identTypes:[{quote:'""-qq',prefixes:["U&"]}],identChars:{rest:"$"},paramTypes:{numbered:["$"]},operators:["%","^","|/","||/","@",":=","&","|","#","~","<<",">>","~>~","~<~","~>=~","~<=~","@-@","@@","##","<->","&&","&<","&>","<<|","&<|","|>>","|&>","<^","^>","?#","?-","?|","?-|","?||","@>","<@","~=","?","@?","?&","->","->>","#>","#>>","#-","=>",">>=","<<=","~~","~~*","!~~","!~~*","~","~*","!~","!~*","-|-","||","@@@","!!","^@","<%","%>","<<%","%>>","<<->","<->>","<<<->","<->>>","::",":","<#>","<=>","<+>","<~>","<%>"],operatorKeyword:!0},formatOptions:{alwaysDenseOperators:["::",":"],onelineClauses:[...Or,...SE],tabularOnelineClauses:SE}},OA=["ANY_VALUE","APPROXIMATE PERCENTILE_DISC","AVG","COUNT","LISTAGG","MAX","MEDIAN","MIN","PERCENTILE_CONT","STDDEV_SAMP","STDDEV_POP","SUM","VAR_SAMP","VAR_POP","array_concat","array_flatten","get_array_length","split_to_array","subarray","BIT_AND","BIT_OR","BOOL_AND","BOOL_OR","COALESCE","DECODE","GREATEST","LEAST","NVL","NVL2","NULLIF","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","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","CHECKSUM","FUNC_SHA1","FNV_HASH","MD5","SHA","SHA1","SHA2","HLL","HLL_CREATE_SKETCH","HLL_CARDINALITY","HLL_COMBINE","IS_VALID_JSON","IS_VALID_JSON_ARRAY","JSON_ARRAY_LENGTH","JSON_EXTRACT_ARRAY_ELEMENT_TEXT","JSON_EXTRACT_PATH_TEXT","JSON_PARSE","JSON_SERIALIZE","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","EXPLAIN_MODEL","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","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","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","CAST","CONVERT","TO_CHAR","TO_DATE","TO_NUMBER","TEXT_TO_INT_ALT","TEXT_TO_NUMERIC_ALT","CHANGE_QUERY_PRIORITY","CHANGE_SESSION_PRIORITY","CHANGE_USER_PRIORITY","CURRENT_SETTING","PG_CANCEL_BACKEND","PG_TERMINATE_BACKEND","REBOOT_CLUSTER","SET_CONFIG","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"],uA=["AES128","AES256","ALL","ALLOWOVERWRITE","ANY","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","ON","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","USING","VERBOSE","WALLET","WITHOUT","ACCEPTANYDATE","ACCEPTINVCHARS","BLANKSASNULL","DATEFORMAT","EMPTYASNULL","ENCODING","ESCAPE","EXPLICIT_IDS","FILLRECORD","IGNOREBLANKLINES","IGNOREHEADER","REMOVEQUOTES","ROUNDEC","TIMEFORMAT","TRIMBLANKS","TRUNCATECOLUMNS","COMPROWS","COMPUPDATE","MAXERROR","NOLOAD","STATUPDATE","FORMAT","CSV","DELIMITER","FIXEDWIDTH","SHAPEFILE","AVRO","JSON","PARQUET","ORC","ACCESS_KEY_ID","CREDENTIALS","ENCRYPTED","IAM_ROLE","MASTER_SYMMETRIC_KEY","SECRET_ACCESS_KEY","SESSION_TOKEN","BZIP2","GZIP","LZOP","ZSTD","MANIFEST","READRATIO","REGION","SSH","RAW","AZ64","BYTEDICT","DELTA","DELTA32K","LZO","MOSTLY8","MOSTLY16","MOSTLY32","RUNLENGTH","TEXT255","TEXT32K","CATALOG_ROLE","SECRET_ARN","EXTERNAL","AUTO","EVEN","KEY","PREDICATE","COMPRESSION"],lA=["ARRAY","BIGINT","BPCHAR","CHAR","CHARACTER VARYING","CHARACTER","DECIMAL","INT","INT2","INT4","INT8","INTEGER","NCHAR","NUMERIC","NVARCHAR","SMALLINT","TEXT","VARBYTE","VARCHAR"],CA=y(["SELECT [ALL | DISTINCT]"]),cA=y(["WITH [RECURSIVE]","FROM","WHERE","GROUP BY","HAVING","QUALIFY","PARTITION BY","ORDER BY","LIMIT","OFFSET","INSERT INTO","VALUES","SET"]),ur=y(["CREATE [TEMPORARY | TEMP | LOCAL TEMPORARY | LOCAL TEMP] TABLE [IF NOT EXISTS]"]),NE=y(["CREATE [OR REPLACE | MATERIALIZED] VIEW","UPDATE","DELETE [FROM]","DROP TABLE [IF EXISTS]","ALTER TABLE","ALTER TABLE APPEND","ADD [COLUMN]","DROP [COLUMN]","RENAME TO","RENAME COLUMN","ALTER COLUMN","TYPE","ENCODE","TRUNCATE [TABLE]","ABORT","ALTER DATABASE","ALTER DATASHARE","ALTER DEFAULT PRIVILEGES","ALTER GROUP","ALTER MATERIALIZED VIEW","ALTER PROCEDURE","ALTER SCHEMA","ALTER USER","ANALYSE","ANALYZE","ANALYSE COMPRESSION","ANALYZE COMPRESSION","BEGIN","CALL","CANCEL","CLOSE","COMMIT","COPY","CREATE DATABASE","CREATE DATASHARE","CREATE EXTERNAL FUNCTION","CREATE EXTERNAL SCHEMA","CREATE EXTERNAL TABLE","CREATE FUNCTION","CREATE GROUP","CREATE LIBRARY","CREATE MODEL","CREATE PROCEDURE","CREATE SCHEMA","CREATE USER","DEALLOCATE","DECLARE","DESC DATASHARE","DROP DATABASE","DROP DATASHARE","DROP FUNCTION","DROP GROUP","DROP LIBRARY","DROP MODEL","DROP MATERIALIZED VIEW","DROP PROCEDURE","DROP SCHEMA","DROP USER","DROP VIEW","DROP","EXECUTE","EXPLAIN","FETCH","GRANT","LOCK","PREPARE","REFRESH MATERIALIZED VIEW","RESET","REVOKE","ROLLBACK","SELECT INTO","SET SESSION AUTHORIZATION","SET SESSION CHARACTERISTICS","SHOW","SHOW EXTERNAL TABLE","SHOW MODEL","SHOW DATASHARES","SHOW PROCEDURE","SHOW TABLE","SHOW VIEW","START TRANSACTION","UNLOAD","VACUUM"]),_A=y(["UNION [ALL]","EXCEPT","INTERSECT","MINUS"]),LA=y(["JOIN","{LEFT | RIGHT | FULL} [OUTER] JOIN","{INNER | CROSS} JOIN","NATURAL [INNER] JOIN","NATURAL {LEFT | RIGHT | FULL} [OUTER] JOIN"]),DA=y(["NULL AS","DATA CATALOG","HIVE METASTORE","{ROWS | RANGE} BETWEEN"]),pA=y([]),dA={name:"redshift",tokenizerOptions:{reservedSelect:CA,reservedClauses:[...cA,...ur,...NE],reservedSetOperations:_A,reservedJoins:LA,reservedKeywordPhrases:DA,reservedDataTypePhrases:pA,reservedKeywords:uA,reservedDataTypes:lA,reservedFunctionNames:OA,extraParens:["[]"],stringTypes:["''-qq"],identTypes:['""-qq'],identChars:{first:"#"},paramTypes:{numbered:["$"]},operators:["^","%","@","|/","||/","&","|","~","<<",">>","||","::"]},formatOptions:{alwaysDenseOperators:["::"],onelineClauses:[...ur,...NE],tabularOnelineClauses:NE}},PA=["ADD","AFTER","ALL","ALTER","ANALYZE","AND","ANTI","ANY","ARCHIVE","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","INTO","IS","ITEMS","KEYS","LAST","LAST_VALUE","LATERAL","LAZY","LEADING","LEFT","LIKE","LINES","LIST","LOCAL","LOCATION","LOCK","LOCKS","LOGICAL","MACRO","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","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","USING","VIEW","WINDOW","YEAR","ANALYSE","ARRAY_ZIP","COALESCE","CONTAINS","CONVERT","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","OPTIMIZE","REGEXP","SEPARATOR","SIZE","TYPE","TYPES","UNSIGNED","VARIABLES","YEAR_MONTH"],fA=["ARRAY","BIGINT","BINARY","BOOLEAN","BYTE","CHAR","DATE","DEC","DECIMAL","DOUBLE","FLOAT","INT","INTEGER","INTERVAL","LONG","MAP","NUMERIC","REAL","SHORT","SMALLINT","STRING","STRUCT","TIMESTAMP_LTZ","TIMESTAMP_NTZ","TIMESTAMP","TINYINT","VARCHAR"],hA=["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","STD","STDDEV","STDDEV_POP","STDDEV_SAMP","SUM","VAR_POP","VAR_SAMP","VARIANCE","CUME_DIST","DENSE_RANK","LAG","LEAD","NTH_VALUE","NTILE","PERCENT_RANK","RANK","ROW_NUMBER","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","ELEMENT_AT","ELEMENT_AT","MAP_CONCAT","MAP_ENTRIES","MAP_FROM_ARRAYS","MAP_FROM_ENTRIES","MAP_KEYS","MAP_VALUES","STR_TO_MAP","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","FROM_JSON","GET_JSON_OBJECT","JSON_ARRAY_LENGTH","JSON_OBJECT_KEYS","JSON_TUPLE","SCHEMA_OF_JSON","TO_JSON","ABS","ACOS","ACOSH","AGGREGATE","ARRAY_SORT","ASCII","ASIN","ASINH","ASSERT_TRUE","ATAN","ATAN2","ATANH","BASE64","BIN","BIT_COUNT","BIT_GET","BIT_LENGTH","BROUND","BTRIM","CARDINALITY","CBRT","CEIL","CEILING","CHAR_LENGTH","CHARACTER_LENGTH","CHR","CONCAT","CONCAT_WS","CONV","COS","COSH","COT","CRC32","CURRENT_CATALOG","CURRENT_DATABASE","CURRENT_USER","DEGREES","ELT","EXP","EXPM1","FACTORIAL","FIND_IN_SET","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","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","SOUNDEX","SPACE","SPARK_PARTITION_ID","SPLIT","SQRT","STACK","SUBSTR","SUBSTRING","SUBSTRING_INDEX","TAN","TANH","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","CAST","COALESCE","NULLIF"],MA=y(["SELECT [ALL | DISTINCT]"]),UA=y(["WITH","FROM","WHERE","GROUP BY","HAVING","WINDOW","PARTITION BY","ORDER BY","SORT BY","CLUSTER BY","DISTRIBUTE BY","LIMIT","INSERT [INTO | OVERWRITE] [TABLE]","VALUES","INSERT OVERWRITE [LOCAL] DIRECTORY","LOAD DATA [LOCAL] INPATH","[OVERWRITE] INTO TABLE"]),lr=y(["CREATE [EXTERNAL] TABLE [IF NOT EXISTS]"]),IE=y(["CREATE [OR REPLACE] [GLOBAL TEMPORARY | TEMPORARY] VIEW [IF NOT EXISTS]","DROP TABLE [IF EXISTS]","ALTER TABLE","ADD COLUMNS","DROP {COLUMN | COLUMNS}","RENAME TO","RENAME COLUMN","ALTER COLUMN","TRUNCATE TABLE","LATERAL VIEW","ALTER DATABASE","ALTER VIEW","CREATE DATABASE","CREATE FUNCTION","DROP DATABASE","DROP FUNCTION","DROP VIEW","REPAIR TABLE","USE DATABASE","TABLESAMPLE","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","SHOW COLUMNS","SHOW CREATE TABLE","SHOW DATABASES","SHOW FUNCTIONS","SHOW PARTITIONS","SHOW TABLE EXTENDED","SHOW TABLES","SHOW TBLPROPERTIES","SHOW VIEWS","UNCACHE TABLE"]),mA=y(["UNION [ALL | DISTINCT]","EXCEPT [ALL | DISTINCT]","INTERSECT [ALL | DISTINCT]"]),BA=y(["JOIN","{LEFT | RIGHT | FULL} [OUTER] JOIN","{INNER | CROSS} JOIN","NATURAL [INNER] JOIN","NATURAL {LEFT | RIGHT | FULL} [OUTER] JOIN","[LEFT] {ANTI | SEMI} JOIN","NATURAL [LEFT] {ANTI | SEMI} JOIN"]),gA=y(["ON DELETE","ON UPDATE","CURRENT ROW","{ROWS | RANGE} BETWEEN"]),yA=y([]),GA={name:"spark",tokenizerOptions:{reservedSelect:MA,reservedClauses:[...UA,...lr,...IE],reservedSetOperations:mA,reservedJoins:BA,reservedKeywordPhrases:gA,reservedDataTypePhrases:yA,supportsXor:!0,reservedKeywords:PA,reservedDataTypes:fA,reservedFunctionNames:hA,extraParens:["[]"],stringTypes:["''-bs",'""-bs',{quote:"''-raw",prefixes:["R","X"],requirePrefix:!0},{quote:'""-raw',prefixes:["R","X"],requirePrefix:!0}],identTypes:["``"],identChars:{allowFirstCharNumber:!0},variableTypes:[{quote:"{}",prefixes:["$"],requirePrefix:!0}],operators:["%","~","^","|","&","<=>","==","!","||","->"],postProcess:FA},formatOptions:{onelineClauses:[...lr,...IE],tabularOnelineClauses:IE}};function FA(E){return E.map((t,r)=>{const n=E[r-1]||It,T=E[r+1]||It;return Ot.WINDOW(t)&&T.type===X.OPEN_PAREN?Object.assign(Object.assign({},t),{type:X.RESERVED_FUNCTION_NAME}):t.text==="ITEMS"&&t.type===X.RESERVED_KEYWORD&&!(n.text==="COLLECTION"&&T.text==="TERMINATED")?Object.assign(Object.assign({},t),{type:X.IDENTIFIER,text:t.raw}):t})}const HA=["ABS","CHANGES","CHAR","COALESCE","FORMAT","GLOB","HEX","IFNULL","IIF","INSTR","LAST_INSERT_ROWID","LENGTH","LIKE","LIKELIHOOD","LIKELY","LOAD_EXTENSION","LOWER","LTRIM","NULLIF","PRINTF","QUOTE","RANDOM","RANDOMBLOB","REPLACE","ROUND","RTRIM","SIGN","SOUNDEX","SQLITE_COMPILEOPTION_GET","SQLITE_COMPILEOPTION_USED","SQLITE_OFFSET","SQLITE_SOURCE_ID","SQLITE_VERSION","SUBSTR","SUBSTRING","TOTAL_CHANGES","TRIM","TYPEOF","UNICODE","UNLIKELY","UPPER","ZEROBLOB","AVG","COUNT","GROUP_CONCAT","MAX","MIN","SUM","TOTAL","DATE","TIME","DATETIME","JULIANDAY","UNIXEPOCH","STRFTIME","row_number","rank","dense_rank","percent_rank","cume_dist","ntile","lag","lead","first_value","last_value","nth_value","ACOS","ACOSH","ASIN","ASINH","ATAN","ATAN2","ATANH","CEIL","CEILING","COS","COSH","DEGREES","EXP","FLOOR","LN","LOG","LOG","LOG10","LOG2","MOD","PI","POW","POWER","RADIANS","SIN","SINH","SQRT","TAN","TANH","TRUNC","JSON","JSON_ARRAY","JSON_ARRAY_LENGTH","JSON_ARRAY_LENGTH","JSON_EXTRACT","JSON_INSERT","JSON_OBJECT","JSON_PATCH","JSON_REMOVE","JSON_REPLACE","JSON_SET","JSON_TYPE","JSON_TYPE","JSON_VALID","JSON_QUOTE","JSON_GROUP_ARRAY","JSON_GROUP_OBJECT","JSON_EACH","JSON_TREE","CAST"],bA=["ABORT","ACTION","ADD","AFTER","ALL","ALTER","AND","ARE","ALWAYS","ANALYZE","AS","ASC","ATTACH","AUTOINCREMENT","BEFORE","BEGIN","BETWEEN","BY","CASCADE","CASE","CAST","CHECK","COLLATE","COLUMN","COMMIT","CONFLICT","CONSTRAINT","CREATE","CROSS","CURRENT","CURRENT_DATE","CURRENT_TIME","CURRENT_TIMESTAMP","DATABASE","DEFAULT","DEFERRABLE","DEFERRED","DELETE","DESC","DETACH","DISTINCT","DO","DROP","EACH","ELSE","END","ESCAPE","EXCEPT","EXCLUDE","EXCLUSIVE","EXISTS","EXPLAIN","FAIL","FILTER","FIRST","FOLLOWING","FOR","FOREIGN","FROM","FULL","GENERATED","GLOB","GROUP","HAVING","IF","IGNORE","IMMEDIATE","IN","INDEX","INDEXED","INITIALLY","INNER","INSERT","INSTEAD","INTERSECT","INTO","IS","ISNULL","JOIN","KEY","LAST","LEFT","LIKE","LIMIT","MATCH","MATERIALIZED","NATURAL","NO","NOT","NOTHING","NOTNULL","NULL","NULLS","OF","OFFSET","ON","ONLY","OPEN","OR","ORDER","OTHERS","OUTER","OVER","PARTITION","PLAN","PRAGMA","PRECEDING","PRIMARY","QUERY","RAISE","RANGE","RECURSIVE","REFERENCES","REGEXP","REINDEX","RELEASE","RENAME","REPLACE","RESTRICT","RETURNING","RIGHT","ROLLBACK","ROW","ROWS","SAVEPOINT","SELECT","SET","TABLE","TEMP","TEMPORARY","THEN","TIES","TO","TRANSACTION","TRIGGER","UNBOUNDED","UNION","UNIQUE","UPDATE","USING","VACUUM","VALUES","VIEW","VIRTUAL","WHEN","WHERE","WINDOW","WITH","WITHOUT"],YA=["ANY","ARRAY","BLOB","CHARACTER","DECIMAL","INT","INTEGER","NATIVE CHARACTER","NCHAR","NUMERIC","NVARCHAR","REAL","TEXT","VARCHAR","VARYING CHARACTER"],xA=y(["SELECT [ALL | DISTINCT]"]),VA=y(["WITH [RECURSIVE]","FROM","WHERE","GROUP BY","HAVING","WINDOW","PARTITION BY","ORDER BY","LIMIT","OFFSET","INSERT [OR ABORT | OR FAIL | OR IGNORE | OR REPLACE | OR ROLLBACK] INTO","REPLACE INTO","VALUES","SET","RETURNING"]),Cr=y(["CREATE [TEMPORARY | TEMP] TABLE [IF NOT EXISTS]"]),OE=y(["CREATE [TEMPORARY | TEMP] VIEW [IF NOT EXISTS]","UPDATE [OR ABORT | OR FAIL | OR IGNORE | OR REPLACE | OR ROLLBACK]","ON CONFLICT","DELETE FROM","DROP TABLE [IF EXISTS]","ALTER TABLE","ADD [COLUMN]","DROP [COLUMN]","RENAME [COLUMN]","RENAME TO","SET SCHEMA"]),vA=y(["UNION [ALL]","EXCEPT","INTERSECT"]),wA=y(["JOIN","{LEFT | RIGHT | FULL} [OUTER] JOIN","{INNER | CROSS} JOIN","NATURAL [INNER] JOIN","NATURAL {LEFT | RIGHT | FULL} [OUTER] JOIN"]),WA=y(["ON {UPDATE | DELETE} [SET NULL | SET DEFAULT]","{ROWS | RANGE | GROUPS} BETWEEN","DO UPDATE"]),XA=y([]),KA={name:"sqlite",tokenizerOptions:{reservedSelect:xA,reservedClauses:[...VA,...Cr,...OE],reservedSetOperations:vA,reservedJoins:wA,reservedKeywordPhrases:WA,reservedDataTypePhrases:XA,reservedKeywords:bA,reservedDataTypes:YA,reservedFunctionNames:HA,stringTypes:["''-qq",{quote:"''-raw",prefixes:["X"],requirePrefix:!0}],identTypes:['""-qq',"``","[]"],paramTypes:{positional:!0,numbered:["?"],named:[":","@","$"]},operators:["%","~","&","|","<<",">>","==","->","->>","||"]},formatOptions:{onelineClauses:[...Cr,...OE],tabularOnelineClauses:OE}},kA=["GROUPING","RANK","DENSE_RANK","PERCENT_RANK","CUME_DIST","ROW_NUMBER","POSITION","OCCURRENCES_REGEX","POSITION_REGEX","EXTRACT","CHAR_LENGTH","CHARACTER_LENGTH","OCTET_LENGTH","CARDINALITY","ABS","MOD","LN","EXP","POWER","SQRT","FLOOR","CEIL","CEILING","WIDTH_BUCKET","SUBSTRING","SUBSTRING_REGEX","UPPER","LOWER","CONVERT","TRANSLATE","TRANSLATE_REGEX","TRIM","OVERLAY","NORMALIZE","SPECIFICTYPE","CURRENT_DATE","CURRENT_TIME","LOCALTIME","CURRENT_TIMESTAMP","LOCALTIMESTAMP","COUNT","AVG","MAX","MIN","SUM","STDDEV_POP","STDDEV_SAMP","VAR_SAMP","VAR_POP","COLLECT","FUSION","INTERSECTION","COVAR_POP","COVAR_SAMP","CORR","REGR_SLOPE","REGR_INTERCEPT","REGR_COUNT","REGR_R2","REGR_AVGX","REGR_AVGY","REGR_SXX","REGR_SYY","REGR_SXY","PERCENTILE_CONT","PERCENTILE_DISC","CAST","COALESCE","NULLIF","ROUND","SIN","COS","TAN","ASIN","ACOS","ATAN"],$A=["ALL","ALLOCATE","ALTER","ANY","ARE","AS","ASC","ASENSITIVE","ASYMMETRIC","AT","ATOMIC","AUTHORIZATION","BEGIN","BETWEEN","BOTH","BY","CALL","CALLED","CASCADED","CAST","CHECK","CLOSE","COALESCE","COLLATE","COLUMN","COMMIT","CONDITION","CONNECT","CONSTRAINT","CORRESPONDING","CREATE","CROSS","CUBE","CURRENT","CURRENT_CATALOG","CURRENT_DEFAULT_TRANSFORM_GROUP","CURRENT_PATH","CURRENT_ROLE","CURRENT_SCHEMA","CURRENT_TRANSFORM_GROUP_FOR_TYPE","CURRENT_USER","CURSOR","CYCLE","DEALLOCATE","DAY","DECLARE","DEFAULT","DELETE","DEREF","DESC","DESCRIBE","DETERMINISTIC","DISCONNECT","DISTINCT","DROP","DYNAMIC","EACH","ELEMENT","END-EXEC","ESCAPE","EVERY","EXCEPT","EXEC","EXECUTE","EXISTS","EXTERNAL","FALSE","FETCH","FILTER","FOR","FOREIGN","FREE","FROM","FULL","FUNCTION","GET","GLOBAL","GRANT","GROUP","HAVING","HOLD","HOUR","IDENTITY","IN","INDICATOR","INNER","INOUT","INSENSITIVE","INSERT","INTERSECT","INTO","IS","LANGUAGE","LARGE","LATERAL","LEADING","LEFT","LIKE","LIKE_REGEX","LOCAL","MATCH","MEMBER","MERGE","METHOD","MINUTE","MODIFIES","MODULE","MONTH","NATURAL","NEW","NO","NONE","NOT","NULL","NULLIF","OF","OLD","ON","ONLY","OPEN","ORDER","OUT","OUTER","OVER","OVERLAPS","PARAMETER","PARTITION","PRECISION","PREPARE","PRIMARY","PROCEDURE","RANGE","READS","REAL","RECURSIVE","REF","REFERENCES","REFERENCING","RELEASE","RESULT","RETURN","RETURNS","REVOKE","RIGHT","ROLLBACK","ROLLUP","ROW","ROWS","SAVEPOINT","SCOPE","SCROLL","SEARCH","SECOND","SELECT","SENSITIVE","SESSION_USER","SET","SIMILAR","SOME","SPECIFIC","SQL","SQLEXCEPTION","SQLSTATE","SQLWARNING","START","STATIC","SUBMULTISET","SYMMETRIC","SYSTEM","SYSTEM_USER","TABLE","TABLESAMPLE","THEN","TIMEZONE_HOUR","TIMEZONE_MINUTE","TO","TRAILING","TRANSLATION","TREAT","TRIGGER","TRUE","UESCAPE","UNION","UNIQUE","UNKNOWN","UNNEST","UPDATE","USER","USING","VALUE","VALUES","WHENEVER","WINDOW","WITHIN","WITHOUT","YEAR"],qA=["ARRAY","BIGINT","BINARY LARGE OBJECT","BINARY VARYING","BINARY","BLOB","BOOLEAN","CHAR LARGE OBJECT","CHAR VARYING","CHAR","CHARACTER LARGE OBJECT","CHARACTER VARYING","CHARACTER","CLOB","DATE","DEC","DECIMAL","DOUBLE","FLOAT","INT","INTEGER","INTERVAL","MULTISET","NATIONAL CHAR VARYING","NATIONAL CHAR","NATIONAL CHARACTER LARGE OBJECT","NATIONAL CHARACTER VARYING","NATIONAL CHARACTER","NCHAR LARGE OBJECT","NCHAR VARYING","NCHAR","NCLOB","NUMERIC","SMALLINT","TIME","TIMESTAMP","VARBINARY","VARCHAR"],JA=y(["SELECT [ALL | DISTINCT]"]),QA=y(["WITH [RECURSIVE]","FROM","WHERE","GROUP BY [ALL | DISTINCT]","HAVING","WINDOW","PARTITION BY","ORDER BY","LIMIT","OFFSET","FETCH {FIRST | NEXT}","INSERT INTO","VALUES","SET"]),cr=y(["CREATE [GLOBAL TEMPORARY | LOCAL TEMPORARY] TABLE"]),uE=y(["CREATE [RECURSIVE] VIEW","UPDATE","WHERE CURRENT OF","DELETE FROM","DROP TABLE","ALTER TABLE","ADD COLUMN","DROP [COLUMN]","RENAME COLUMN","RENAME TO","ALTER [COLUMN]","{SET | DROP} DEFAULT","ADD SCOPE","DROP SCOPE {CASCADE | RESTRICT}","RESTART WITH","TRUNCATE TABLE","SET SCHEMA"]),ZA=y(["UNION [ALL | DISTINCT]","EXCEPT [ALL | DISTINCT]","INTERSECT [ALL | DISTINCT]"]),jA=y(["JOIN","{LEFT | RIGHT | FULL} [OUTER] JOIN","{INNER | CROSS} JOIN","NATURAL [INNER] JOIN","NATURAL {LEFT | RIGHT | FULL} [OUTER] JOIN"]),zA=y(["ON {UPDATE | DELETE} [SET NULL | SET DEFAULT]","{ROWS | RANGE} BETWEEN"]),ei=y([]),ti={name:"sql",tokenizerOptions:{reservedSelect:JA,reservedClauses:[...QA,...cr,...uE],reservedSetOperations:ZA,reservedJoins:jA,reservedKeywordPhrases:zA,reservedDataTypePhrases:ei,reservedKeywords:$A,reservedDataTypes:qA,reservedFunctionNames:kA,stringTypes:[{quote:"''-qq-bs",prefixes:["N","U&"]},{quote:"''-raw",prefixes:["X"],requirePrefix:!0}],identTypes:['""-qq',"``"],paramTypes:{positional:!0},operators:["||"]},formatOptions:{onelineClauses:[...cr,...uE],tabularOnelineClauses:uE}},Ei=["ABS","ACOS","ALL_MATCH","ANY_MATCH","APPROX_DISTINCT","APPROX_MOST_FREQUENT","APPROX_PERCENTILE","APPROX_SET","ARBITRARY","ARRAYS_OVERLAP","ARRAY_AGG","ARRAY_DISTINCT","ARRAY_EXCEPT","ARRAY_INTERSECT","ARRAY_JOIN","ARRAY_MAX","ARRAY_MIN","ARRAY_POSITION","ARRAY_REMOVE","ARRAY_SORT","ARRAY_UNION","ASIN","ATAN","ATAN2","AT_TIMEZONE","AVG","BAR","BETA_CDF","BING_TILE","BING_TILES_AROUND","BING_TILE_AT","BING_TILE_COORDINATES","BING_TILE_POLYGON","BING_TILE_QUADKEY","BING_TILE_ZOOM_LEVEL","BITWISE_AND","BITWISE_AND_AGG","BITWISE_LEFT_SHIFT","BITWISE_NOT","BITWISE_OR","BITWISE_OR_AGG","BITWISE_RIGHT_SHIFT","BITWISE_RIGHT_SHIFT_ARITHMETIC","BITWISE_XOR","BIT_COUNT","BOOL_AND","BOOL_OR","CARDINALITY","CAST","CBRT","CEIL","CEILING","CHAR2HEXINT","CHECKSUM","CHR","CLASSIFY","COALESCE","CODEPOINT","COLOR","COMBINATIONS","CONCAT","CONCAT_WS","CONTAINS","CONTAINS_SEQUENCE","CONVEX_HULL_AGG","CORR","COS","COSH","COSINE_SIMILARITY","COUNT","COUNT_IF","COVAR_POP","COVAR_SAMP","CRC32","CUME_DIST","CURRENT_CATALOG","CURRENT_DATE","CURRENT_GROUPS","CURRENT_SCHEMA","CURRENT_TIME","CURRENT_TIMESTAMP","CURRENT_TIMEZONE","CURRENT_USER","DATE","DATE_ADD","DATE_DIFF","DATE_FORMAT","DATE_PARSE","DATE_TRUNC","DAY","DAY_OF_MONTH","DAY_OF_WEEK","DAY_OF_YEAR","DEGREES","DENSE_RANK","DOW","DOY","E","ELEMENT_AT","EMPTY_APPROX_SET","EVALUATE_CLASSIFIER_PREDICTIONS","EVERY","EXP","EXTRACT","FEATURES","FILTER","FIRST_VALUE","FLATTEN","FLOOR","FORMAT","FORMAT_DATETIME","FORMAT_NUMBER","FROM_BASE","FROM_BASE32","FROM_BASE64","FROM_BASE64URL","FROM_BIG_ENDIAN_32","FROM_BIG_ENDIAN_64","FROM_ENCODED_POLYLINE","FROM_GEOJSON_GEOMETRY","FROM_HEX","FROM_IEEE754_32","FROM_IEEE754_64","FROM_ISO8601_DATE","FROM_ISO8601_TIMESTAMP","FROM_ISO8601_TIMESTAMP_NANOS","FROM_UNIXTIME","FROM_UNIXTIME_NANOS","FROM_UTF8","GEOMETRIC_MEAN","GEOMETRY_FROM_HADOOP_SHAPE","GEOMETRY_INVALID_REASON","GEOMETRY_NEAREST_POINTS","GEOMETRY_TO_BING_TILES","GEOMETRY_UNION","GEOMETRY_UNION_AGG","GREATEST","GREAT_CIRCLE_DISTANCE","HAMMING_DISTANCE","HASH_COUNTS","HISTOGRAM","HMAC_MD5","HMAC_SHA1","HMAC_SHA256","HMAC_SHA512","HOUR","HUMAN_READABLE_SECONDS","IF","INDEX","INFINITY","INTERSECTION_CARDINALITY","INVERSE_BETA_CDF","INVERSE_NORMAL_CDF","IS_FINITE","IS_INFINITE","IS_JSON_SCALAR","IS_NAN","JACCARD_INDEX","JSON_ARRAY_CONTAINS","JSON_ARRAY_GET","JSON_ARRAY_LENGTH","JSON_EXISTS","JSON_EXTRACT","JSON_EXTRACT_SCALAR","JSON_FORMAT","JSON_PARSE","JSON_QUERY","JSON_SIZE","JSON_VALUE","KURTOSIS","LAG","LAST_DAY_OF_MONTH","LAST_VALUE","LEAD","LEARN_CLASSIFIER","LEARN_LIBSVM_CLASSIFIER","LEARN_LIBSVM_REGRESSOR","LEARN_REGRESSOR","LEAST","LENGTH","LEVENSHTEIN_DISTANCE","LINE_INTERPOLATE_POINT","LINE_INTERPOLATE_POINTS","LINE_LOCATE_POINT","LISTAGG","LN","LOCALTIME","LOCALTIMESTAMP","LOG","LOG10","LOG2","LOWER","LPAD","LTRIM","LUHN_CHECK","MAKE_SET_DIGEST","MAP","MAP_AGG","MAP_CONCAT","MAP_ENTRIES","MAP_FILTER","MAP_FROM_ENTRIES","MAP_KEYS","MAP_UNION","MAP_VALUES","MAP_ZIP_WITH","MAX","MAX_BY","MD5","MERGE","MERGE_SET_DIGEST","MILLISECOND","MIN","MINUTE","MIN_BY","MOD","MONTH","MULTIMAP_AGG","MULTIMAP_FROM_ENTRIES","MURMUR3","NAN","NGRAMS","NONE_MATCH","NORMALIZE","NORMAL_CDF","NOW","NTH_VALUE","NTILE","NULLIF","NUMERIC_HISTOGRAM","OBJECTID","OBJECTID_TIMESTAMP","PARSE_DATA_SIZE","PARSE_DATETIME","PARSE_DURATION","PERCENT_RANK","PI","POSITION","POW","POWER","QDIGEST_AGG","QUARTER","RADIANS","RAND","RANDOM","RANK","REDUCE","REDUCE_AGG","REGEXP_COUNT","REGEXP_EXTRACT","REGEXP_EXTRACT_ALL","REGEXP_LIKE","REGEXP_POSITION","REGEXP_REPLACE","REGEXP_SPLIT","REGRESS","REGR_INTERCEPT","REGR_SLOPE","RENDER","REPEAT","REPLACE","REVERSE","RGB","ROUND","ROW_NUMBER","RPAD","RTRIM","SECOND","SEQUENCE","SHA1","SHA256","SHA512","SHUFFLE","SIGN","SIMPLIFY_GEOMETRY","SIN","SKEWNESS","SLICE","SOUNDEX","SPATIAL_PARTITIONING","SPATIAL_PARTITIONS","SPLIT","SPLIT_PART","SPLIT_TO_MAP","SPLIT_TO_MULTIMAP","SPOOKY_HASH_V2_32","SPOOKY_HASH_V2_64","SQRT","STARTS_WITH","STDDEV","STDDEV_POP","STDDEV_SAMP","STRPOS","ST_AREA","ST_ASBINARY","ST_ASTEXT","ST_BOUNDARY","ST_BUFFER","ST_CENTROID","ST_CONTAINS","ST_CONVEXHULL","ST_COORDDIM","ST_CROSSES","ST_DIFFERENCE","ST_DIMENSION","ST_DISJOINT","ST_DISTANCE","ST_ENDPOINT","ST_ENVELOPE","ST_ENVELOPEASPTS","ST_EQUALS","ST_EXTERIORRING","ST_GEOMETRIES","ST_GEOMETRYFROMTEXT","ST_GEOMETRYN","ST_GEOMETRYTYPE","ST_GEOMFROMBINARY","ST_INTERIORRINGN","ST_INTERIORRINGS","ST_INTERSECTION","ST_INTERSECTS","ST_ISCLOSED","ST_ISEMPTY","ST_ISRING","ST_ISSIMPLE","ST_ISVALID","ST_LENGTH","ST_LINEFROMTEXT","ST_LINESTRING","ST_MULTIPOINT","ST_NUMGEOMETRIES","ST_NUMINTERIORRING","ST_NUMPOINTS","ST_OVERLAPS","ST_POINT","ST_POINTN","ST_POINTS","ST_POLYGON","ST_RELATE","ST_STARTPOINT","ST_SYMDIFFERENCE","ST_TOUCHES","ST_UNION","ST_WITHIN","ST_X","ST_XMAX","ST_XMIN","ST_Y","ST_YMAX","ST_YMIN","SUBSTR","SUBSTRING","SUM","TAN","TANH","TDIGEST_AGG","TIMESTAMP_OBJECTID","TIMEZONE_HOUR","TIMEZONE_MINUTE","TO_BASE","TO_BASE32","TO_BASE64","TO_BASE64URL","TO_BIG_ENDIAN_32","TO_BIG_ENDIAN_64","TO_CHAR","TO_DATE","TO_ENCODED_POLYLINE","TO_GEOJSON_GEOMETRY","TO_GEOMETRY","TO_HEX","TO_IEEE754_32","TO_IEEE754_64","TO_ISO8601","TO_MILLISECONDS","TO_SPHERICAL_GEOGRAPHY","TO_TIMESTAMP","TO_UNIXTIME","TO_UTF8","TRANSFORM","TRANSFORM_KEYS","TRANSFORM_VALUES","TRANSLATE","TRIM","TRIM_ARRAY","TRUNCATE","TRY","TRY_CAST","TYPEOF","UPPER","URL_DECODE","URL_ENCODE","URL_EXTRACT_FRAGMENT","URL_EXTRACT_HOST","URL_EXTRACT_PARAMETER","URL_EXTRACT_PATH","URL_EXTRACT_PORT","URL_EXTRACT_PROTOCOL","URL_EXTRACT_QUERY","UUID","VALUES_AT_QUANTILES","VALUE_AT_QUANTILE","VARIANCE","VAR_POP","VAR_SAMP","VERSION","WEEK","WEEK_OF_YEAR","WIDTH_BUCKET","WILSON_INTERVAL_LOWER","WILSON_INTERVAL_UPPER","WITH_TIMEZONE","WORD_STEM","XXHASH64","YEAR","YEAR_OF_WEEK","YOW","ZIP","ZIP_WITH","CLASSIFIER","FIRST","LAST","MATCH_NUMBER","NEXT","PERMUTE","PREV"],ri=["ABSENT","ADD","ADMIN","AFTER","ALL","ALTER","ANALYZE","AND","ANY","AS","ASC","AT","AUTHORIZATION","BERNOULLI","BETWEEN","BOTH","BY","CALL","CASCADE","CASE","CATALOGS","COLUMN","COLUMNS","COMMENT","COMMIT","COMMITTED","CONDITIONAL","CONSTRAINT","COPARTITION","CREATE","CROSS","CUBE","CURRENT","CURRENT_PATH","CURRENT_ROLE","DATA","DEALLOCATE","DEFAULT","DEFINE","DEFINER","DELETE","DENY","DESC","DESCRIBE","DESCRIPTOR","DISTINCT","DISTRIBUTED","DOUBLE","DROP","ELSE","EMPTY","ENCODING","END","ERROR","ESCAPE","EXCEPT","EXCLUDING","EXECUTE","EXISTS","EXPLAIN","FALSE","FETCH","FINAL","FIRST","FOLLOWING","FOR","FROM","FULL","FUNCTIONS","GRANT","GRANTED","GRANTS","GRAPHVIZ","GROUP","GROUPING","GROUPS","HAVING","IGNORE","IN","INCLUDING","INITIAL","INNER","INPUT","INSERT","INTERSECT","INTERVAL","INTO","INVOKER","IO","IS","ISOLATION","JOIN","JSON","JSON_ARRAY","JSON_OBJECT","KEEP","KEY","KEYS","LAST","LATERAL","LEADING","LEFT","LEVEL","LIKE","LIMIT","LOCAL","LOGICAL","MATCH","MATCHED","MATCHES","MATCH_RECOGNIZE","MATERIALIZED","MEASURES","NATURAL","NEXT","NFC","NFD","NFKC","NFKD","NO","NONE","NOT","NULL","NULLS","OBJECT","OF","OFFSET","OMIT","ON","ONE","ONLY","OPTION","OR","ORDER","ORDINALITY","OUTER","OUTPUT","OVER","OVERFLOW","PARTITION","PARTITIONS","PASSING","PAST","PATH","PATTERN","PER","PERMUTE","PRECEDING","PRECISION","PREPARE","PRIVILEGES","PROPERTIES","PRUNE","QUOTES","RANGE","READ","RECURSIVE","REFRESH","RENAME","REPEATABLE","RESET","RESPECT","RESTRICT","RETURNING","REVOKE","RIGHT","ROLE","ROLES","ROLLBACK","ROLLUP","ROW","ROWS","RUNNING","SCALAR","SCHEMA","SCHEMAS","SECURITY","SEEK","SELECT","SERIALIZABLE","SESSION","SET","SETS","SHOW","SKIP","SOME","START","STATS","STRING","SUBSET","SYSTEM","TABLE","TABLES","TABLESAMPLE","TEXT","THEN","TIES","TIME","TIMESTAMP","TO","TRAILING","TRANSACTION","TRUE","TYPE","UESCAPE","UNBOUNDED","UNCOMMITTED","UNCONDITIONAL","UNION","UNIQUE","UNKNOWN","UNMATCHED","UNNEST","UPDATE","USE","USER","USING","UTF16","UTF32","UTF8","VALIDATE","VALUE","VALUES","VERBOSE","VIEW","WHEN","WHERE","WINDOW","WITH","WITHIN","WITHOUT","WORK","WRAPPER","WRITE","ZONE"],ni=["BIGINT","INT","INTEGER","SMALLINT","TINYINT","BOOLEAN","DATE","DECIMAL","REAL","DOUBLE","HYPERLOGLOG","QDIGEST","TDIGEST","P4HYPERLOGLOG","INTERVAL","TIMESTAMP","TIME","VARBINARY","VARCHAR","CHAR","ROW","ARRAY","MAP","JSON","JSON2016","IPADDRESS","GEOMETRY","UUID","SETDIGEST","JONIREGEXP","RE2JREGEXP","LIKEPATTERN","COLOR","CODEPOINTS","FUNCTION","JSONPATH"],si=y(["SELECT [ALL | DISTINCT]"]),Ti=y(["WITH [RECURSIVE]","FROM","WHERE","GROUP BY [ALL | DISTINCT]","HAVING","WINDOW","PARTITION BY","ORDER BY","LIMIT","OFFSET","FETCH {FIRST | NEXT}","INSERT INTO","VALUES","SET","MATCH_RECOGNIZE","MEASURES","ONE ROW PER MATCH","ALL ROWS PER MATCH","AFTER MATCH","PATTERN","SUBSET","DEFINE"]),_r=y(["CREATE TABLE [IF NOT EXISTS]"]),lE=y(["CREATE [OR REPLACE] [MATERIALIZED] VIEW","UPDATE","DELETE FROM","DROP TABLE [IF EXISTS]","ALTER TABLE [IF EXISTS]","ADD COLUMN [IF NOT EXISTS]","DROP COLUMN [IF EXISTS]","RENAME COLUMN [IF EXISTS]","RENAME TO","SET AUTHORIZATION [USER | ROLE]","SET PROPERTIES","EXECUTE","TRUNCATE TABLE","ALTER SCHEMA","ALTER MATERIALIZED VIEW","ALTER VIEW","CREATE SCHEMA","CREATE ROLE","DROP SCHEMA","DROP MATERIALIZED VIEW","DROP VIEW","DROP ROLE","EXPLAIN","ANALYZE","EXPLAIN ANALYZE","EXPLAIN ANALYZE VERBOSE","USE","DESCRIBE INPUT","DESCRIBE OUTPUT","REFRESH MATERIALIZED VIEW","RESET SESSION","SET SESSION","SET PATH","SET TIME ZONE","SHOW GRANTS","SHOW CREATE TABLE","SHOW CREATE SCHEMA","SHOW CREATE VIEW","SHOW CREATE MATERIALIZED VIEW","SHOW TABLES","SHOW SCHEMAS","SHOW CATALOGS","SHOW COLUMNS","SHOW STATS FOR","SHOW ROLES","SHOW CURRENT ROLES","SHOW ROLE GRANTS","SHOW FUNCTIONS","SHOW SESSION"]),oi=y(["UNION [ALL | DISTINCT]","EXCEPT [ALL | DISTINCT]","INTERSECT [ALL | DISTINCT]"]),ai=y(["JOIN","{LEFT | RIGHT | FULL} [OUTER] JOIN","{INNER | CROSS} JOIN","NATURAL [INNER] JOIN","NATURAL {LEFT | RIGHT | FULL} [OUTER] JOIN"]),Ai=y(["{ROWS | RANGE | GROUPS} BETWEEN","IS [NOT] DISTINCT FROM"]),ii=y([]),Ri={name:"trino",tokenizerOptions:{reservedSelect:si,reservedClauses:[...Ti,..._r,...lE],reservedSetOperations:oi,reservedJoins:ai,reservedKeywordPhrases:Ai,reservedDataTypePhrases:ii,reservedKeywords:ri,reservedDataTypes:ni,reservedFunctionNames:Ei,extraParens:["[]","{}"],stringTypes:[{quote:"''-qq",prefixes:["U&"]},{quote:"''-raw",prefixes:["X"],requirePrefix:!0}],identTypes:['""-qq'],paramTypes:{positional:!0},operators:["%","->","=>",":","||","|","^","$"]},formatOptions:{onelineClauses:[..._r,...lE],tabularOnelineClauses:lE}},Si=["APPROX_COUNT_DISTINCT","AVG","CHECKSUM_AGG","COUNT","COUNT_BIG","GROUPING","GROUPING_ID","MAX","MIN","STDEV","STDEVP","SUM","VAR","VARP","CUME_DIST","FIRST_VALUE","LAG","LAST_VALUE","LEAD","PERCENTILE_CONT","PERCENTILE_DISC","PERCENT_RANK","Collation - COLLATIONPROPERTY","Collation - TERTIARY_WEIGHTS","@@DBTS","@@LANGID","@@LANGUAGE","@@LOCK_TIMEOUT","@@MAX_CONNECTIONS","@@MAX_PRECISION","@@NESTLEVEL","@@OPTIONS","@@REMSERVER","@@SERVERNAME","@@SERVICENAME","@@SPID","@@TEXTSIZE","@@VERSION","CAST","CONVERT","PARSE","TRY_CAST","TRY_CONVERT","TRY_PARSE","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_ROWS","@@FETCH_STATUS","CURSOR_STATUS","DATALENGTH","IDENT_CURRENT","IDENT_INCR","IDENT_SEED","IDENTITY","SQL_VARIANT_PROPERTY","@@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","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","@@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","DENSE_RANK","NTILE","RANK","ROW_NUMBER","PUBLISHINGSERVERNAME","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","ASCII","CHARINDEX","CONCAT","CONCAT_WS","DIFFERENCE","FORMAT","LEFT","LEN","LOWER","LTRIM","PATINDEX","QUOTENAME","REPLACE","REPLICATE","REVERSE","RIGHT","RTRIM","SOUNDEX","SPACE","STR","STRING_AGG","STRING_ESCAPE","STUFF","SUBSTRING","TRANSLATE","TRIM","UNICODE","UPPER","$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","@@CONNECTIONS","@@CPU_BUSY","@@IDLE","@@IO_BUSY","@@PACK_SENT","@@PACKET_ERRORS","@@TIMETICKS","@@TOTAL_ERRORS","@@TOTAL_READ","@@TOTAL_WRITE","TEXTPTR","TEXTVALID","COLUMNS_UPDATED","EVENTDATA","TRIGGER_NESTLEVEL","UPDATE","COALESCE","NULLIF"],Ni=["ADD","ALL","ALTER","AND","ANY","AS","ASC","AUTHORIZATION","BACKUP","BEGIN","BETWEEN","BREAK","BROWSE","BULK","BY","CASCADE","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","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","NOCHECK","NONCLUSTERED","NOT","NULL","NULLIF","OF","OFF","OFFSETS","ON","OPEN","OPENDATASOURCE","OPENQUERY","OPENROWSET","OPENXML","OPTION","OR","ORDER","OUTER","OVER","PERCENT","PIVOT","PLAN","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","VIEW","WAITFOR","WHERE","WHILE","WITH","WITHIN GROUP","WRITETEXT","$ACTION"],Ii=["BINARY","BIT","CHAR","CHAR","CHARACTER","DATE","DATETIME2","DATETIMEOFFSET","DEC","DECIMAL","DOUBLE","FLOAT","INT","INTEGER","NATIONAL","NCHAR","NUMERIC","NVARCHAR","PRECISION","REAL","SMALLINT","TIME","TIMESTAMP","VARBINARY","VARCHAR"],Oi=y(["SELECT [ALL | DISTINCT]"]),ui=y(["WITH","INTO","FROM","WHERE","GROUP BY","HAVING","WINDOW","PARTITION BY","ORDER BY","OFFSET","FETCH {FIRST | NEXT}","FOR {BROWSE | XML | JSON}","OPTION","INSERT [INTO]","VALUES","SET","MERGE [INTO]","WHEN [NOT] MATCHED [BY TARGET | BY SOURCE] [THEN]","UPDATE SET"]),Lr=y(["CREATE TABLE"]),CE=y(["CREATE [OR ALTER] [MATERIALIZED] VIEW","UPDATE","WHERE CURRENT OF","DELETE [FROM]","DROP TABLE [IF EXISTS]","ALTER TABLE","ADD","DROP COLUMN [IF EXISTS]","ALTER COLUMN","TRUNCATE TABLE","CREATE [UNIQUE] [CLUSTERED] INDEX","CREATE DATABASE","ALTER DATABASE","DROP DATABASE [IF EXISTS]","CREATE [OR ALTER] [PARTITION] {FUNCTION | PROCEDURE | PROC}","ALTER [PARTITION] {FUNCTION | PROCEDURE | PROC}","DROP [PARTITION] {FUNCTION | PROCEDURE | PROC} [IF EXISTS]","GO","USE","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","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","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","GET CONVERSATION GROUP","GET_TRANSMISSION_STATUS","GRANT","GRANT XML","IDENTITY_INSERT","IMPLICIT_TRANSACTIONS","INDEX","LANGUAGE","LOCK_TIMEOUT","LOGIN","MASTER KEY","MESSAGE TYPE","MOVE CONVERSATION","NOCOUNT","NOEXEC","NUMERIC_ROUNDABORT","OFFSETS","OPEN MASTER KEY","OPEN SYMMETRIC KEY","PARSEONLY","PARTITION SCHEME","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","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","TYPE","UPDATE STATISTICS","USER","WORKLOAD GROUP","XACT_ABORT","XML INDEX","XML SCHEMA COLLECTION"]),li=y(["UNION [ALL]","EXCEPT","INTERSECT"]),Ci=y(["JOIN","{LEFT | RIGHT | FULL} [OUTER] JOIN","{INNER | CROSS} JOIN","{CROSS | OUTER} APPLY"]),ci=y(["ON {UPDATE | DELETE} [SET NULL | SET DEFAULT]","{ROWS | RANGE} BETWEEN"]),_i=y([]),Li={name:"transactsql",tokenizerOptions:{reservedSelect:Oi,reservedClauses:[...ui,...Lr,...CE],reservedSetOperations:li,reservedJoins:Ci,reservedKeywordPhrases:ci,reservedDataTypePhrases:_i,reservedKeywords:Ni,reservedDataTypes:Ii,reservedFunctionNames:Si,nestedBlockComments:!0,stringTypes:[{quote:"''-qq",prefixes:["N"]},"{}"],identTypes:['""-qq',"[]"],identChars:{first:"#@",rest:"#@$"},paramTypes:{named:["@"],quoted:["@"]},operators:["%","&","|","^","~","!<","!>","+=","-=","*=","/=","%=","|=","&=","^=","::",":"],propertyAccessOperators:[".."]},formatOptions:{alwaysDenseOperators:["::"],onelineClauses:[...Lr,...CE],tabularOnelineClauses:CE}},Di=["ADD","ALL","ALTER","ANALYZE","AND","AS","ASC","ASENSITIVE","BEFORE","BETWEEN","_BINARY","BOTH","BY","CALL","CASCADE","CASE","CHANGE","CHECK","COLLATE","COLUMN","CONDITION","CONSTRAINT","CONTINUE","CONVERT","CREATE","CROSS","CURRENT_DATE","CURRENT_TIME","CURRENT_TIMESTAMP","CURRENT_USER","CURSOR","DATABASE","DATABASES","DAY_HOUR","DAY_MICROSECOND","DAY_MINUTE","DAY_SECOND","DECLARE","DEFAULT","DELAYED","DELETE","DESC","DESCRIBE","DETERMINISTIC","DISTINCT","DISTINCTROW","DIV","DROP","DUAL","EACH","ELSE","ELSEIF","ENCLOSED","ESCAPED","EXCEPT","EXISTS","EXIT","EXPLAIN","EXTRA_JOIN","FALSE","FETCH","FOR","FORCE","FORCE_COMPILED_MODE","FORCE_INTERPRETER_MODE","FOREIGN","FROM","FULL","FULLTEXT","GRANT","GROUP","HAVING","HEARTBEAT_NO_LOGGING","HIGH_PRIORITY","HOUR_MICROSECOND","HOUR_MINUTE","HOUR_SECOND","IF","IGNORE","IN","INDEX","INFILE","INNER","INOUT","INSENSITIVE","INSERT","IN","_INTERNAL_DYNAMIC_TYPECAST","INTERSECT","INTERVAL","INTO","ITERATE","JOIN","KEY","KEYS","KILL","LEADING","LEAVE","LEFT","LIKE","LIMIT","LINES","LOAD","LOCALTIME","LOCALTIMESTAMP","LOCK","LOOP","LOW_PRIORITY","MATCH","MAXVALUE","MINUS","MINUTE_MICROSECOND","MINUTE_SECOND","MOD","MODIFIES","NATURAL","NO_QUERY_REWRITE","NOT","NO_WRITE_TO_BINLOG","NO_QUERY_REWRITE","NULL","ON","OPTIMIZE","OPTION","OPTIONALLY","OR","ORDER","OUT","OUTER","OUTFILE","OVER","PRIMARY","PROCEDURE","PURGE","RANGE","READ","READS","REFERENCES","REGEXP","RELEASE","RENAME","REPEAT","REPLACE","REQUIRE","RESTRICT","RETURN","REVOKE","RIGHT","RIGHT_ANTI_JOIN","RIGHT_SEMI_JOIN","RIGHT_STRAIGHT_JOIN","RLIKE","SCHEMA","SCHEMAS","SECOND_MICROSECOND","SELECT","SEMI_JOIN","SENSITIVE","SEPARATOR","SET","SHOW","SIGNAL","SPATIAL","SPECIFIC","SQL","SQL_BIG_RESULT","SQL_BUFFER_RESULT","SQL_CACHE","SQL_CALC_FOUND_ROWS","SQLEXCEPTION","SQL_NO_CACHE","SQL_NO_LOGGING","SQL_SMALL_RESULT","SQLSTATE","SQLWARNING","STRAIGHT_JOIN","TABLE","TERMINATED","THEN","TO","TRAILING","TRIGGER","TRUE","UNBOUNDED","UNDO","UNION","UNIQUE","UNLOCK","UPDATE","USAGE","USE","USING","UTC_DATE","UTC_TIME","UTC_TIMESTAMP","_UTF8","VALUES","WHEN","WHERE","WHILE","WINDOW","WITH","WITHIN","WRITE","XOR","YEAR_MONTH","ZEROFILL"],pi=["BIGINT","BINARY","BIT","BLOB","CHAR","CHARACTER","DATETIME","DEC","DECIMAL","DOUBLE PRECISION","DOUBLE","ENUM","FIXED","FLOAT","FLOAT4","FLOAT8","INT","INT1","INT2","INT3","INT4","INT8","INTEGER","LONG","LONGBLOB","LONGTEXT","MEDIUMBLOB","MEDIUMINT","MEDIUMTEXT","MIDDLEINT","NATIONAL CHAR","NATIONAL VARCHAR","NUMERIC","PRECISION","REAL","SMALLINT","TEXT","TIME","TIMESTAMP","TINYBLOB","TINYINT","TINYTEXT","UNSIGNED","VARBINARY","VARCHAR","VARCHARACTER","YEAR"],di=["ABS","ACOS","ADDDATE","ADDTIME","AES_DECRYPT","AES_ENCRYPT","ANY_VALUE","APPROX_COUNT_DISTINCT","APPROX_COUNT_DISTINCT_ACCUMULATE","APPROX_COUNT_DISTINCT_COMBINE","APPROX_COUNT_DISTINCT_ESTIMATE","APPROX_GEOGRAPHY_INTERSECTS","APPROX_PERCENTILE","ASCII","ASIN","ATAN","ATAN2","AVG","BIN","BINARY","BIT_AND","BIT_COUNT","BIT_OR","BIT_XOR","CAST","CEIL","CEILING","CHAR","CHARACTER_LENGTH","CHAR_LENGTH","CHARSET","COALESCE","COERCIBILITY","COLLATION","COLLECT","CONCAT","CONCAT_WS","CONNECTION_ID","CONV","CONVERT","CONVERT_TZ","COS","COT","COUNT","CUME_DIST","CURDATE","CURRENT_DATE","CURRENT_ROLE","CURRENT_TIME","CURRENT_TIMESTAMP","CURRENT_USER","CURTIME","DATABASE","DATE","DATE_ADD","DATEDIFF","DATE_FORMAT","DATE_SUB","DATE_TRUNC","DAY","DAYNAME","DAYOFMONTH","DAYOFWEEK","DAYOFYEAR","DECODE","DEFAULT","DEGREES","DENSE_RANK","DIV","DOT_PRODUCT","ELT","EUCLIDEAN_DISTANCE","EXP","EXTRACT","FIELD","FIRST","FIRST_VALUE","FLOOR","FORMAT","FOUND_ROWS","FROM_BASE64","FROM_DAYS","FROM_UNIXTIME","GEOGRAPHY_AREA","GEOGRAPHY_CONTAINS","GEOGRAPHY_DISTANCE","GEOGRAPHY_INTERSECTS","GEOGRAPHY_LATITUDE","GEOGRAPHY_LENGTH","GEOGRAPHY_LONGITUDE","GEOGRAPHY_POINT","GEOGRAPHY_WITHIN_DISTANCE","GEOMETRY_AREA","GEOMETRY_CONTAINS","GEOMETRY_DISTANCE","GEOMETRY_FILTER","GEOMETRY_INTERSECTS","GEOMETRY_LENGTH","GEOMETRY_POINT","GEOMETRY_WITHIN_DISTANCE","GEOMETRY_X","GEOMETRY_Y","GREATEST","GROUPING","GROUP_CONCAT","HEX","HIGHLIGHT","HOUR","ICU_VERSION","IF","IFNULL","INET_ATON","INET_NTOA","INET6_ATON","INET6_NTOA","INITCAP","INSERT","INSTR","INTERVAL","IS","IS NULL","JSON_AGG","JSON_ARRAY_CONTAINS_DOUBLE","JSON_ARRAY_CONTAINS_JSON","JSON_ARRAY_CONTAINS_STRING","JSON_ARRAY_PUSH_DOUBLE","JSON_ARRAY_PUSH_JSON","JSON_ARRAY_PUSH_STRING","JSON_DELETE_KEY","JSON_EXTRACT_DOUBLE","JSON_EXTRACT_JSON","JSON_EXTRACT_STRING","JSON_EXTRACT_BIGINT","JSON_GET_TYPE","JSON_LENGTH","JSON_SET_DOUBLE","JSON_SET_JSON","JSON_SET_STRING","JSON_SPLICE_DOUBLE","JSON_SPLICE_JSON","JSON_SPLICE_STRING","LAG","LAST_DAY","LAST_VALUE","LCASE","LEAD","LEAST","LEFT","LENGTH","LIKE","LN","LOCALTIME","LOCALTIMESTAMP","LOCATE","LOG","LOG10","LOG2","LPAD","LTRIM","MATCH","MAX","MD5","MEDIAN","MICROSECOND","MIN","MINUTE","MOD","MONTH","MONTHNAME","MONTHS_BETWEEN","NOT","NOW","NTH_VALUE","NTILE","NULLIF","OCTET_LENGTH","PERCENT_RANK","PERCENTILE_CONT","PERCENTILE_DISC","PI","PIVOT","POSITION","POW","POWER","QUARTER","QUOTE","RADIANS","RAND","RANK","REGEXP","REPEAT","REPLACE","REVERSE","RIGHT","RLIKE","ROUND","ROW_COUNT","ROW_NUMBER","RPAD","RTRIM","SCALAR","SCHEMA","SEC_TO_TIME","SHA1","SHA2","SIGMOID","SIGN","SIN","SLEEP","SPLIT","SOUNDEX","SOUNDS LIKE","SOURCE_POS_WAIT","SPACE","SQRT","STDDEV","STDDEV_POP","STDDEV_SAMP","STR_TO_DATE","SUBDATE","SUBSTR","SUBSTRING","SUBSTRING_INDEX","SUM","SYS_GUID","TAN","TIME","TIMEDIFF","TIME_BUCKET","TIME_FORMAT","TIMESTAMP","TIMESTAMPADD","TIMESTAMPDIFF","TIME_TO_SEC","TO_BASE64","TO_CHAR","TO_DAYS","TO_JSON","TO_NUMBER","TO_SECONDS","TO_TIMESTAMP","TRIM","TRUNC","TRUNCATE","UCASE","UNHEX","UNIX_TIMESTAMP","UPDATEXML","UPPER","UTC_DATE","UTC_TIME","UTC_TIMESTAMP","UUID","VALUES","VARIANCE","VAR_POP","VAR_SAMP","VECTOR_SUB","VERSION","WEEK","WEEKDAY","WEEKOFYEAR","YEAR"],Pi=y(["SELECT [ALL | DISTINCT | DISTINCTROW]"]),fi=y(["WITH","FROM","WHERE","GROUP BY","HAVING","PARTITION BY","ORDER BY","LIMIT","OFFSET","INSERT [IGNORE] [INTO]","VALUES","REPLACE [INTO]","ON DUPLICATE KEY UPDATE","SET","CREATE [OR REPLACE] [TEMPORARY] PROCEDURE [IF NOT EXISTS]","CREATE [OR REPLACE] [EXTERNAL] FUNCTION"]),Dr=y(["CREATE [ROWSTORE] [REFERENCE | TEMPORARY | GLOBAL TEMPORARY] TABLE [IF NOT EXISTS]"]),cE=y(["CREATE VIEW","UPDATE","DELETE [FROM]","DROP [TEMPORARY] TABLE [IF EXISTS]","ALTER [ONLINE] TABLE","ADD [COLUMN]","ADD [UNIQUE] {INDEX | KEY}","DROP [COLUMN]","MODIFY [COLUMN]","CHANGE","RENAME [TO | AS]","TRUNCATE [TABLE]","ADD AGGREGATOR","ADD LEAF","AGGREGATOR SET AS MASTER","ALTER DATABASE","ALTER PIPELINE","ALTER RESOURCE POOL","ALTER USER","ALTER VIEW","ANALYZE TABLE","ATTACH DATABASE","ATTACH LEAF","ATTACH LEAF ALL","BACKUP DATABASE","BINLOG","BOOTSTRAP AGGREGATOR","CACHE INDEX","CALL","CHANGE","CHANGE MASTER TO","CHANGE REPLICATION FILTER","CHANGE REPLICATION SOURCE TO","CHECK BLOB CHECKSUM","CHECK TABLE","CHECKSUM TABLE","CLEAR ORPHAN DATABASES","CLONE","COMMIT","CREATE DATABASE","CREATE GROUP","CREATE INDEX","CREATE LINK","CREATE MILESTONE","CREATE PIPELINE","CREATE RESOURCE POOL","CREATE ROLE","CREATE USER","DEALLOCATE PREPARE","DESCRIBE","DETACH DATABASE","DETACH PIPELINE","DROP DATABASE","DROP FUNCTION","DROP INDEX","DROP LINK","DROP PIPELINE","DROP PROCEDURE","DROP RESOURCE POOL","DROP ROLE","DROP USER","DROP VIEW","EXECUTE","EXPLAIN","FLUSH","FORCE","GRANT","HANDLER","HELP","KILL CONNECTION","KILLALL QUERIES","LOAD DATA","LOAD INDEX INTO CACHE","LOAD XML","LOCK INSTANCE FOR BACKUP","LOCK TABLES","MASTER_POS_WAIT","OPTIMIZE TABLE","PREPARE","PURGE BINARY LOGS","REBALANCE PARTITIONS","RELEASE SAVEPOINT","REMOVE AGGREGATOR","REMOVE LEAF","REPAIR TABLE","REPLACE","REPLICATE DATABASE","RESET","RESET MASTER","RESET PERSIST","RESET REPLICA","RESET SLAVE","RESTART","RESTORE DATABASE","RESTORE REDUNDANCY","REVOKE","ROLLBACK","ROLLBACK TO SAVEPOINT","SAVEPOINT","SET CHARACTER SET","SET DEFAULT ROLE","SET NAMES","SET PASSWORD","SET RESOURCE GROUP","SET ROLE","SET TRANSACTION","SHOW","SHOW CHARACTER SET","SHOW COLLATION","SHOW COLUMNS","SHOW CREATE DATABASE","SHOW CREATE FUNCTION","SHOW CREATE PIPELINE","SHOW CREATE PROCEDURE","SHOW CREATE TABLE","SHOW CREATE USER","SHOW CREATE VIEW","SHOW DATABASES","SHOW ENGINE","SHOW ENGINES","SHOW ERRORS","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 VARIABLES","SHOW WARNINGS","SHUTDOWN","SNAPSHOT DATABASE","SOURCE_POS_WAIT","START GROUP_REPLICATION","START PIPELINE","START REPLICA","START SLAVE","START TRANSACTION","STOP GROUP_REPLICATION","STOP PIPELINE","STOP REPLICA","STOP REPLICATING","STOP SLAVE","TEST PIPELINE","UNLOCK INSTANCE","UNLOCK TABLES","USE","XA","ITERATE","LEAVE","LOOP","REPEAT","RETURN","WHILE"]),hi=y(["UNION [ALL | DISTINCT]","EXCEPT","INTERSECT","MINUS"]),Mi=y(["JOIN","{LEFT | RIGHT | FULL} [OUTER] JOIN","{INNER | CROSS} JOIN","NATURAL {LEFT | RIGHT} [OUTER] JOIN","STRAIGHT_JOIN"]),Ui=y(["ON DELETE","ON UPDATE","CHARACTER SET","{ROWS | RANGE} BETWEEN","IDENTIFIED BY"]),mi=y([]),Bi={name:"singlestoredb",tokenizerOptions:{reservedSelect:Pi,reservedClauses:[...fi,...Dr,...cE],reservedSetOperations:hi,reservedJoins:Mi,reservedKeywordPhrases:Ui,reservedDataTypePhrases:mi,reservedKeywords:Di,reservedDataTypes:pi,reservedFunctionNames:di,stringTypes:['""-qq-bs',"''-qq-bs",{quote:"''-raw",prefixes:["B","X"],requirePrefix:!0}],identTypes:["``"],identChars:{first:"$",rest:"$",allowFirstCharNumber:!0},variableTypes:[{regex:"@@?[A-Za-z0-9_$]+"},{quote:"``",prefixes:["@"],requirePrefix:!0}],lineCommentTypes:["--","#"],operators:[":=","&","|","^","~","<<",">>","<=>","&&","||","::","::$","::%",":>","!:>","*.*"],postProcess:vt},formatOptions:{alwaysDenseOperators:["::","::$","::%"],onelineClauses:[...Dr,...cE],tabularOnelineClauses:cE}},gi=["ABS","ACOS","ACOSH","ADD_MONTHS","ALL_USER_NAMES","ANY_VALUE","APPROX_COUNT_DISTINCT","APPROX_PERCENTILE","APPROX_PERCENTILE_ACCUMULATE","APPROX_PERCENTILE_COMBINE","APPROX_PERCENTILE_ESTIMATE","APPROX_TOP_K","APPROX_TOP_K_ACCUMULATE","APPROX_TOP_K_COMBINE","APPROX_TOP_K_ESTIMATE","APPROXIMATE_JACCARD_INDEX","APPROXIMATE_SIMILARITY","ARRAY_AGG","ARRAY_APPEND","ARRAY_CAT","ARRAY_COMPACT","ARRAY_CONSTRUCT","ARRAY_CONSTRUCT_COMPACT","ARRAY_CONTAINS","ARRAY_INSERT","ARRAY_INTERSECTION","ARRAY_POSITION","ARRAY_PREPEND","ARRAY_SIZE","ARRAY_SLICE","ARRAY_TO_STRING","ARRAY_UNION_AGG","ARRAY_UNIQUE_AGG","ARRAYS_OVERLAP","AS_ARRAY","AS_BINARY","AS_BOOLEAN","AS_CHAR","AS_VARCHAR","AS_DATE","AS_DECIMAL","AS_NUMBER","AS_DOUBLE","AS_REAL","AS_INTEGER","AS_OBJECT","AS_TIME","AS_TIMESTAMP_LTZ","AS_TIMESTAMP_NTZ","AS_TIMESTAMP_TZ","ASCII","ASIN","ASINH","ATAN","ATAN2","ATANH","AUTO_REFRESH_REGISTRATION_HISTORY","AUTOMATIC_CLUSTERING_HISTORY","AVG","BASE64_DECODE_BINARY","BASE64_DECODE_STRING","BASE64_ENCODE","BIT_LENGTH","BITAND","BITAND_AGG","BITMAP_BIT_POSITION","BITMAP_BUCKET_NUMBER","BITMAP_CONSTRUCT_AGG","BITMAP_COUNT","BITMAP_OR_AGG","BITNOT","BITOR","BITOR_AGG","BITSHIFTLEFT","BITSHIFTRIGHT","BITXOR","BITXOR_AGG","BOOLAND","BOOLAND_AGG","BOOLNOT","BOOLOR","BOOLOR_AGG","BOOLXOR","BOOLXOR_AGG","BUILD_SCOPED_FILE_URL","BUILD_STAGE_FILE_URL","CASE","CAST","CBRT","CEIL","CHARINDEX","CHECK_JSON","CHECK_XML","CHR","CHAR","COALESCE","COLLATE","COLLATION","COMPLETE_TASK_GRAPHS","COMPRESS","CONCAT","CONCAT_WS","CONDITIONAL_CHANGE_EVENT","CONDITIONAL_TRUE_EVENT","CONTAINS","CONVERT_TIMEZONE","COPY_HISTORY","CORR","COS","COSH","COT","COUNT","COUNT_IF","COVAR_POP","COVAR_SAMP","CUME_DIST","CURRENT_ACCOUNT","CURRENT_AVAILABLE_ROLES","CURRENT_CLIENT","CURRENT_DATABASE","CURRENT_DATE","CURRENT_IP_ADDRESS","CURRENT_REGION","CURRENT_ROLE","CURRENT_SCHEMA","CURRENT_SCHEMAS","CURRENT_SECONDARY_ROLES","CURRENT_SESSION","CURRENT_STATEMENT","CURRENT_TASK_GRAPHS","CURRENT_TIME","CURRENT_TIMESTAMP","CURRENT_TRANSACTION","CURRENT_USER","CURRENT_VERSION","CURRENT_WAREHOUSE","DATA_TRANSFER_HISTORY","DATABASE_REFRESH_HISTORY","DATABASE_REFRESH_PROGRESS","DATABASE_REFRESH_PROGRESS_BY_JOB","DATABASE_STORAGE_USAGE_HISTORY","DATE_FROM_PARTS","DATE_PART","DATE_TRUNC","DATEADD","DATEDIFF","DAYNAME","DECODE","DECOMPRESS_BINARY","DECOMPRESS_STRING","DECRYPT","DECRYPT_RAW","DEGREES","DENSE_RANK","DIV0","EDITDISTANCE","ENCRYPT","ENCRYPT_RAW","ENDSWITH","EQUAL_NULL","EXP","EXPLAIN_JSON","EXTERNAL_FUNCTIONS_HISTORY","EXTERNAL_TABLE_FILES","EXTERNAL_TABLE_FILE_REGISTRATION_HISTORY","EXTRACT","EXTRACT_SEMANTIC_CATEGORIES","FACTORIAL","FILTER","FIRST_VALUE","FLATTEN","FLOOR","GENERATE_COLUMN_DESCRIPTION","GENERATOR","GET","GET_ABSOLUTE_PATH","GET_DDL","GET_IGNORE_CASE","GET_OBJECT_REFERENCES","GET_PATH","GET_PRESIGNED_URL","GET_RELATIVE_PATH","GET_STAGE_LOCATION","GETBIT","GREATEST","GREATEST_IGNORE_NULLS","GROUPING","GROUPING_ID","HASH","HASH_AGG","HAVERSINE","HEX_DECODE_BINARY","HEX_DECODE_STRING","HEX_ENCODE","HLL","HLL_ACCUMULATE","HLL_COMBINE","HLL_ESTIMATE","HLL_EXPORT","HLL_IMPORT","HOUR","MINUTE","SECOND","IDENTIFIER","IFF","IFNULL","ILIKE","ILIKE ANY","INFER_SCHEMA","INITCAP","INSERT","INVOKER_ROLE","INVOKER_SHARE","IS_ARRAY","IS_BINARY","IS_BOOLEAN","IS_CHAR","IS_VARCHAR","IS_DATE","IS_DATE_VALUE","IS_DECIMAL","IS_DOUBLE","IS_REAL","IS_GRANTED_TO_INVOKER_ROLE","IS_INTEGER","IS_NULL_VALUE","IS_OBJECT","IS_ROLE_IN_SESSION","IS_TIME","IS_TIMESTAMP_LTZ","IS_TIMESTAMP_NTZ","IS_TIMESTAMP_TZ","JAROWINKLER_SIMILARITY","JSON_EXTRACT_PATH_TEXT","KURTOSIS","LAG","LAST_DAY","LAST_QUERY_ID","LAST_TRANSACTION","LAST_VALUE","LEAD","LEAST","LEFT","LENGTH","LEN","LIKE","LIKE ALL","LIKE ANY","LISTAGG","LN","LOCALTIME","LOCALTIMESTAMP","LOG","LOGIN_HISTORY","LOGIN_HISTORY_BY_USER","LOWER","LPAD","LTRIM","MATERIALIZED_VIEW_REFRESH_HISTORY","MD5","MD5_HEX","MD5_BINARY","MD5_NUMBER — Obsoleted","MD5_NUMBER_LOWER64","MD5_NUMBER_UPPER64","MEDIAN","MIN","MAX","MINHASH","MINHASH_COMBINE","MOD","MODE","MONTHNAME","MONTHS_BETWEEN","NEXT_DAY","NORMAL","NTH_VALUE","NTILE","NULLIF","NULLIFZERO","NVL","NVL2","OBJECT_AGG","OBJECT_CONSTRUCT","OBJECT_CONSTRUCT_KEEP_NULL","OBJECT_DELETE","OBJECT_INSERT","OBJECT_KEYS","OBJECT_PICK","OCTET_LENGTH","PARSE_IP","PARSE_JSON","PARSE_URL","PARSE_XML","PERCENT_RANK","PERCENTILE_CONT","PERCENTILE_DISC","PI","PIPE_USAGE_HISTORY","POLICY_CONTEXT","POLICY_REFERENCES","POSITION","POW","POWER","PREVIOUS_DAY","QUERY_ACCELERATION_HISTORY","QUERY_HISTORY","QUERY_HISTORY_BY_SESSION","QUERY_HISTORY_BY_USER","QUERY_HISTORY_BY_WAREHOUSE","RADIANS","RANDOM","RANDSTR","RANK","RATIO_TO_REPORT","REGEXP","REGEXP_COUNT","REGEXP_INSTR","REGEXP_LIKE","REGEXP_REPLACE","REGEXP_SUBSTR","REGEXP_SUBSTR_ALL","REGR_AVGX","REGR_AVGY","REGR_COUNT","REGR_INTERCEPT","REGR_R2","REGR_SLOPE","REGR_SXX","REGR_SXY","REGR_SYY","REGR_VALX","REGR_VALY","REPEAT","REPLACE","REPLICATION_GROUP_REFRESH_HISTORY","REPLICATION_GROUP_REFRESH_PROGRESS","REPLICATION_GROUP_REFRESH_PROGRESS_BY_JOB","REPLICATION_GROUP_USAGE_HISTORY","REPLICATION_USAGE_HISTORY","REST_EVENT_HISTORY","RESULT_SCAN","REVERSE","RIGHT","RLIKE","ROUND","ROW_NUMBER","RPAD","RTRIM","RTRIMMED_LENGTH","SEARCH_OPTIMIZATION_HISTORY","SEQ1","SEQ2","SEQ4","SEQ8","SERVERLESS_TASK_HISTORY","SHA1","SHA1_HEX","SHA1_BINARY","SHA2","SHA2_HEX","SHA2_BINARY","SIGN","SIN","SINH","SKEW","SOUNDEX","SPACE","SPLIT","SPLIT_PART","SPLIT_TO_TABLE","SQRT","SQUARE","ST_AREA","ST_ASEWKB","ST_ASEWKT","ST_ASGEOJSON","ST_ASWKB","ST_ASBINARY","ST_ASWKT","ST_ASTEXT","ST_AZIMUTH","ST_CENTROID","ST_COLLECT","ST_CONTAINS","ST_COVEREDBY","ST_COVERS","ST_DIFFERENCE","ST_DIMENSION","ST_DISJOINT","ST_DISTANCE","ST_DWITHIN","ST_ENDPOINT","ST_ENVELOPE","ST_GEOGFROMGEOHASH","ST_GEOGPOINTFROMGEOHASH","ST_GEOGRAPHYFROMWKB","ST_GEOGRAPHYFROMWKT","ST_GEOHASH","ST_GEOMETRYFROMWKB","ST_GEOMETRYFROMWKT","ST_HAUSDORFFDISTANCE","ST_INTERSECTION","ST_INTERSECTS","ST_LENGTH","ST_MAKEGEOMPOINT","ST_GEOM_POINT","ST_MAKELINE","ST_MAKEPOINT","ST_POINT","ST_MAKEPOLYGON","ST_POLYGON","ST_NPOINTS","ST_NUMPOINTS","ST_PERIMETER","ST_POINTN","ST_SETSRID","ST_SIMPLIFY","ST_SRID","ST_STARTPOINT","ST_SYMDIFFERENCE","ST_UNION","ST_WITHIN","ST_X","ST_XMAX","ST_XMIN","ST_Y","ST_YMAX","ST_YMIN","STAGE_DIRECTORY_FILE_REGISTRATION_HISTORY","STAGE_STORAGE_USAGE_HISTORY","STARTSWITH","STDDEV","STDDEV_POP","STDDEV_SAMP","STRIP_NULL_VALUE","STRTOK","STRTOK_SPLIT_TO_TABLE","STRTOK_TO_ARRAY","SUBSTR","SUBSTRING","SUM","SYSDATE","SYSTEM$ABORT_SESSION","SYSTEM$ABORT_TRANSACTION","SYSTEM$AUTHORIZE_PRIVATELINK","SYSTEM$AUTHORIZE_STAGE_PRIVATELINK_ACCESS","SYSTEM$BEHAVIOR_CHANGE_BUNDLE_STATUS","SYSTEM$CANCEL_ALL_QUERIES","SYSTEM$CANCEL_QUERY","SYSTEM$CLUSTERING_DEPTH","SYSTEM$CLUSTERING_INFORMATION","SYSTEM$CLUSTERING_RATIO ","SYSTEM$CURRENT_USER_TASK_NAME","SYSTEM$DATABASE_REFRESH_HISTORY ","SYSTEM$DATABASE_REFRESH_PROGRESS","SYSTEM$DATABASE_REFRESH_PROGRESS_BY_JOB ","SYSTEM$DISABLE_BEHAVIOR_CHANGE_BUNDLE","SYSTEM$DISABLE_DATABASE_REPLICATION","SYSTEM$ENABLE_BEHAVIOR_CHANGE_BUNDLE","SYSTEM$ESTIMATE_QUERY_ACCELERATION","SYSTEM$ESTIMATE_SEARCH_OPTIMIZATION_COSTS","SYSTEM$EXPLAIN_JSON_TO_TEXT","SYSTEM$EXPLAIN_PLAN_JSON","SYSTEM$EXTERNAL_TABLE_PIPE_STATUS","SYSTEM$GENERATE_SAML_CSR","SYSTEM$GENERATE_SCIM_ACCESS_TOKEN","SYSTEM$GET_AWS_SNS_IAM_POLICY","SYSTEM$GET_PREDECESSOR_RETURN_VALUE","SYSTEM$GET_PRIVATELINK","SYSTEM$GET_PRIVATELINK_AUTHORIZED_ENDPOINTS","SYSTEM$GET_PRIVATELINK_CONFIG","SYSTEM$GET_SNOWFLAKE_PLATFORM_INFO","SYSTEM$GET_TAG","SYSTEM$GET_TAG_ALLOWED_VALUES","SYSTEM$GET_TAG_ON_CURRENT_COLUMN","SYSTEM$GET_TAG_ON_CURRENT_TABLE","SYSTEM$GLOBAL_ACCOUNT_SET_PARAMETER","SYSTEM$LAST_CHANGE_COMMIT_TIME","SYSTEM$LINK_ACCOUNT_OBJECTS_BY_NAME","SYSTEM$MIGRATE_SAML_IDP_REGISTRATION","SYSTEM$PIPE_FORCE_RESUME","SYSTEM$PIPE_STATUS","SYSTEM$REVOKE_PRIVATELINK","SYSTEM$REVOKE_STAGE_PRIVATELINK_ACCESS","SYSTEM$SET_RETURN_VALUE","SYSTEM$SHOW_OAUTH_CLIENT_SECRETS","SYSTEM$STREAM_GET_TABLE_TIMESTAMP","SYSTEM$STREAM_HAS_DATA","SYSTEM$TASK_DEPENDENTS_ENABLE","SYSTEM$TYPEOF","SYSTEM$USER_TASK_CANCEL_ONGOING_EXECUTIONS","SYSTEM$VERIFY_EXTERNAL_OAUTH_TOKEN","SYSTEM$WAIT","SYSTEM$WHITELIST","SYSTEM$WHITELIST_PRIVATELINK","TAG_REFERENCES","TAG_REFERENCES_ALL_COLUMNS","TAG_REFERENCES_WITH_LINEAGE","TAN","TANH","TASK_DEPENDENTS","TASK_HISTORY","TIME_FROM_PARTS","TIME_SLICE","TIMEADD","TIMEDIFF","TIMESTAMP_FROM_PARTS","TIMESTAMPADD","TIMESTAMPDIFF","TO_ARRAY","TO_BINARY","TO_BOOLEAN","TO_CHAR","TO_VARCHAR","TO_DATE","DATE","TO_DECIMAL","TO_NUMBER","TO_NUMERIC","TO_DOUBLE","TO_GEOGRAPHY","TO_GEOMETRY","TO_JSON","TO_OBJECT","TO_TIME","TIME","TO_TIMESTAMP","TO_TIMESTAMP_LTZ","TO_TIMESTAMP_NTZ","TO_TIMESTAMP_TZ","TO_VARIANT","TO_XML","TRANSLATE","TRIM","TRUNCATE","TRUNC","TRUNC","TRY_BASE64_DECODE_BINARY","TRY_BASE64_DECODE_STRING","TRY_CAST","TRY_HEX_DECODE_BINARY","TRY_HEX_DECODE_STRING","TRY_PARSE_JSON","TRY_TO_BINARY","TRY_TO_BOOLEAN","TRY_TO_DATE","TRY_TO_DECIMAL","TRY_TO_NUMBER","TRY_TO_NUMERIC","TRY_TO_DOUBLE","TRY_TO_GEOGRAPHY","TRY_TO_GEOMETRY","TRY_TO_TIME","TRY_TO_TIMESTAMP","TRY_TO_TIMESTAMP_LTZ","TRY_TO_TIMESTAMP_NTZ","TRY_TO_TIMESTAMP_TZ","TYPEOF","UNICODE","UNIFORM","UPPER","UUID_STRING","VALIDATE","VALIDATE_PIPE_LOAD","VAR_POP","VAR_SAMP","VARIANCE","VARIANCE_SAMP","VARIANCE_POP","WAREHOUSE_LOAD_HISTORY","WAREHOUSE_METERING_HISTORY","WIDTH_BUCKET","XMLGET","YEAR","YEAROFWEEK","YEAROFWEEKISO","DAY","DAYOFMONTH","DAYOFWEEK","DAYOFWEEKISO","DAYOFYEAR","WEEK","WEEK","WEEKOFYEAR","WEEKISO","MONTH","QUARTER","ZEROIFNULL","ZIPF"],yi=["ACCOUNT","ALL","ALTER","AND","ANY","AS","BETWEEN","BY","CASE","CAST","CHECK","COLUMN","CONNECT","CONNECTION","CONSTRAINT","CREATE","CROSS","CURRENT","CURRENT_DATE","CURRENT_TIME","CURRENT_TIMESTAMP","CURRENT_USER","DATABASE","DELETE","DISTINCT","DROP","ELSE","EXISTS","FALSE","FOLLOWING","FOR","FROM","FULL","GRANT","GROUP","GSCLUSTER","HAVING","ILIKE","IN","INCREMENT","INNER","INSERT","INTERSECT","INTO","IS","ISSUE","JOIN","LATERAL","LEFT","LIKE","LOCALTIME","LOCALTIMESTAMP","MINUS","NATURAL","NOT","NULL","OF","ON","OR","ORDER","ORGANIZATION","QUALIFY","REGEXP","REVOKE","RIGHT","RLIKE","ROW","ROWS","SAMPLE","SCHEMA","SELECT","SET","SOME","START","TABLE","TABLESAMPLE","THEN","TO","TRIGGER","TRUE","TRY_CAST","UNION","UNIQUE","UPDATE","USING","VALUES","VIEW","WHEN","WHENEVER","WHERE","WITH","COMMENT"],Gi=["NUMBER","DECIMAL","NUMERIC","INT","INTEGER","BIGINT","SMALLINT","TINYINT","BYTEINT","FLOAT","FLOAT4","FLOAT8","DOUBLE","DOUBLE PRECISION","REAL","VARCHAR","CHAR","CHARACTER","STRING","TEXT","BINARY","VARBINARY","BOOLEAN","DATE","DATETIME","TIME","TIMESTAMP","TIMESTAMP_LTZ","TIMESTAMP_NTZ","TIMESTAMP","TIMESTAMP_TZ","VARIANT","OBJECT","ARRAY","GEOGRAPHY","GEOMETRY"],Fi=y(["SELECT [ALL | DISTINCT]"]),Hi=y(["WITH [RECURSIVE]","FROM","WHERE","GROUP BY","HAVING","PARTITION BY","ORDER BY","QUALIFY","LIMIT","OFFSET","FETCH [FIRST | NEXT]","INSERT [OVERWRITE] [ALL INTO | INTO | ALL | FIRST]","{THEN | ELSE} INTO","VALUES","SET","CLUSTER BY","[WITH] {MASKING POLICY | TAG | ROW ACCESS POLICY}","COPY GRANTS","USING TEMPLATE","MERGE INTO","WHEN MATCHED [AND]","THEN {UPDATE SET | DELETE}","WHEN NOT MATCHED THEN INSERT"]),pr=y(["CREATE [OR REPLACE] [VOLATILE] TABLE [IF NOT EXISTS]","CREATE [OR REPLACE] [LOCAL | GLOBAL] {TEMP|TEMPORARY} TABLE [IF NOT EXISTS]"]),_E=y(["CREATE [OR REPLACE] [SECURE] [RECURSIVE] VIEW [IF NOT EXISTS]","UPDATE","DELETE FROM","DROP TABLE [IF EXISTS]","ALTER TABLE [IF EXISTS]","RENAME TO","SWAP WITH","[SUSPEND | RESUME] RECLUSTER","DROP CLUSTERING KEY","ADD [COLUMN]","RENAME COLUMN","{ALTER | MODIFY} [COLUMN]","DROP [COLUMN]","{ADD | ALTER | MODIFY | DROP} [CONSTRAINT]","RENAME CONSTRAINT","{ADD | DROP} SEARCH OPTIMIZATION","{SET | UNSET} TAG","{ADD | DROP} ROW ACCESS POLICY","DROP ALL ROW ACCESS POLICIES","{SET | DROP} DEFAULT","{SET | DROP} NOT NULL","SET DATA TYPE","UNSET COMMENT","{SET | UNSET} MASKING POLICY","TRUNCATE [TABLE] [IF EXISTS]","ALTER ACCOUNT","ALTER API INTEGRATION","ALTER CONNECTION","ALTER DATABASE","ALTER EXTERNAL TABLE","ALTER FAILOVER GROUP","ALTER FILE FORMAT","ALTER FUNCTION","ALTER INTEGRATION","ALTER MASKING POLICY","ALTER MATERIALIZED VIEW","ALTER NETWORK POLICY","ALTER NOTIFICATION INTEGRATION","ALTER PIPE","ALTER PROCEDURE","ALTER REPLICATION GROUP","ALTER RESOURCE MONITOR","ALTER ROLE","ALTER ROW ACCESS POLICY","ALTER SCHEMA","ALTER SECURITY INTEGRATION","ALTER SEQUENCE","ALTER SESSION","ALTER SESSION POLICY","ALTER SHARE","ALTER STAGE","ALTER STORAGE INTEGRATION","ALTER STREAM","ALTER TAG","ALTER TASK","ALTER USER","ALTER VIEW","ALTER WAREHOUSE","BEGIN","CALL","COMMIT","COPY INTO","CREATE ACCOUNT","CREATE API INTEGRATION","CREATE CONNECTION","CREATE DATABASE","CREATE EXTERNAL FUNCTION","CREATE EXTERNAL TABLE","CREATE FAILOVER GROUP","CREATE FILE FORMAT","CREATE FUNCTION","CREATE INTEGRATION","CREATE MANAGED ACCOUNT","CREATE MASKING POLICY","CREATE MATERIALIZED VIEW","CREATE NETWORK POLICY","CREATE NOTIFICATION INTEGRATION","CREATE PIPE","CREATE PROCEDURE","CREATE REPLICATION GROUP","CREATE RESOURCE MONITOR","CREATE ROLE","CREATE ROW ACCESS POLICY","CREATE SCHEMA","CREATE SECURITY INTEGRATION","CREATE SEQUENCE","CREATE SESSION POLICY","CREATE SHARE","CREATE STAGE","CREATE STORAGE INTEGRATION","CREATE STREAM","CREATE TAG","CREATE TASK","CREATE USER","CREATE WAREHOUSE","DELETE","DESCRIBE DATABASE","DESCRIBE EXTERNAL TABLE","DESCRIBE FILE FORMAT","DESCRIBE FUNCTION","DESCRIBE INTEGRATION","DESCRIBE MASKING POLICY","DESCRIBE MATERIALIZED VIEW","DESCRIBE NETWORK POLICY","DESCRIBE PIPE","DESCRIBE PROCEDURE","DESCRIBE RESULT","DESCRIBE ROW ACCESS POLICY","DESCRIBE SCHEMA","DESCRIBE SEQUENCE","DESCRIBE SESSION POLICY","DESCRIBE SHARE","DESCRIBE STAGE","DESCRIBE STREAM","DESCRIBE TABLE","DESCRIBE TASK","DESCRIBE TRANSACTION","DESCRIBE USER","DESCRIBE VIEW","DESCRIBE WAREHOUSE","DROP CONNECTION","DROP DATABASE","DROP EXTERNAL TABLE","DROP FAILOVER GROUP","DROP FILE FORMAT","DROP FUNCTION","DROP INTEGRATION","DROP MANAGED ACCOUNT","DROP MASKING POLICY","DROP MATERIALIZED VIEW","DROP NETWORK POLICY","DROP PIPE","DROP PROCEDURE","DROP REPLICATION GROUP","DROP RESOURCE MONITOR","DROP ROLE","DROP ROW ACCESS POLICY","DROP SCHEMA","DROP SEQUENCE","DROP SESSION POLICY","DROP SHARE","DROP STAGE","DROP STREAM","DROP TAG","DROP TASK","DROP USER","DROP VIEW","DROP WAREHOUSE","EXECUTE IMMEDIATE","EXECUTE TASK","EXPLAIN","GET","GRANT OWNERSHIP","GRANT ROLE","INSERT","LIST","MERGE","PUT","REMOVE","REVOKE ROLE","ROLLBACK","SHOW COLUMNS","SHOW CONNECTIONS","SHOW DATABASES","SHOW DATABASES IN FAILOVER GROUP","SHOW DATABASES IN REPLICATION GROUP","SHOW DELEGATED AUTHORIZATIONS","SHOW EXTERNAL FUNCTIONS","SHOW EXTERNAL TABLES","SHOW FAILOVER GROUPS","SHOW FILE FORMATS","SHOW FUNCTIONS","SHOW GLOBAL ACCOUNTS","SHOW GRANTS","SHOW INTEGRATIONS","SHOW LOCKS","SHOW MANAGED ACCOUNTS","SHOW MASKING POLICIES","SHOW MATERIALIZED VIEWS","SHOW NETWORK POLICIES","SHOW OBJECTS","SHOW ORGANIZATION ACCOUNTS","SHOW PARAMETERS","SHOW PIPES","SHOW PRIMARY KEYS","SHOW PROCEDURES","SHOW REGIONS","SHOW REPLICATION ACCOUNTS","SHOW REPLICATION DATABASES","SHOW REPLICATION GROUPS","SHOW RESOURCE MONITORS","SHOW ROLES","SHOW ROW ACCESS POLICIES","SHOW SCHEMAS","SHOW SEQUENCES","SHOW SESSION POLICIES","SHOW SHARES","SHOW SHARES IN FAILOVER GROUP","SHOW SHARES IN REPLICATION GROUP","SHOW STAGES","SHOW STREAMS","SHOW TABLES","SHOW TAGS","SHOW TASKS","SHOW TRANSACTIONS","SHOW USER FUNCTIONS","SHOW USERS","SHOW VARIABLES","SHOW VIEWS","SHOW WAREHOUSES","TRUNCATE MATERIALIZED VIEW","UNDROP DATABASE","UNDROP SCHEMA","UNDROP TABLE","UNDROP TAG","UNSET","USE DATABASE","USE ROLE","USE SCHEMA","USE SECONDARY ROLES","USE WAREHOUSE"]),bi=y(["UNION [ALL]","MINUS","EXCEPT","INTERSECT"]),Yi=y(["[INNER] JOIN","[NATURAL] {LEFT | RIGHT | FULL} [OUTER] JOIN","{CROSS | NATURAL} JOIN"]),xi=y(["{ROWS | RANGE} BETWEEN","ON {UPDATE | DELETE} [SET NULL | SET DEFAULT]"]),Vi=y([]),vi={name:"snowflake",tokenizerOptions:{reservedSelect:Fi,reservedClauses:[...Hi,...pr,..._E],reservedSetOperations:bi,reservedJoins:Yi,reservedKeywordPhrases:xi,reservedDataTypePhrases:Vi,reservedKeywords:yi,reservedDataTypes:Gi,reservedFunctionNames:gi,stringTypes:["$$","''-qq-bs"],identTypes:['""-qq'],variableTypes:[{regex:"[$][1-9]\\d*"},{regex:"[$][_a-zA-Z][_a-zA-Z0-9$]*"}],extraParens:["[]"],identChars:{rest:"$"},lineCommentTypes:["--","//"],operators:["%","::","||","=>",":=","->"],propertyAccessOperators:[":"]},formatOptions:{alwaysDenseOperators:["::"],onelineClauses:[...pr,..._E],tabularOnelineClauses:_E}},wi=Object.freeze(Object.defineProperty({__proto__:null,bigquery:To,clickhouse:co,db2:Bo,db2i:vo,duckdb:Zo,hive:oa,mariadb:la,mysql:ha,n1ql:$a,plsql:rA,postgresql:IA,redshift:dA,singlestoredb:Bi,snowflake:vi,spark:GA,sql:ti,sqlite:KA,tidb:ba,transactsql:Li,trino:Ri},Symbol.toStringTag,{value:"Module"})),yt=E=>E[E.length-1],dr=E=>E.sort((t,r)=>r.length-t.length||t.localeCompare(r)),wt=E=>E.replace(/\s+/gu," "),LE=E=>/\n/.test(E),Et=E=>E.replace(/[.*+?^${}()|[\]\\]/gu,"\\$&"),Pr=/\s+/uy,Dt=E=>new RegExp(`(?:${E})`,"uy"),Wi=E=>E.split("").map(t=>/ /gu.test(t)?"\\s+":`[${t.toUpperCase()}${t.toLowerCase()}]`).join(""),Xi=E=>E+"(?:-"+E+")*",Ki=({prefixes:E,requirePrefix:t})=>`(?:${E.map(Wi).join("|")}${t?"":"|"})`,ki=E=>new RegExp(`(?:${E.map(Et).join("|")}).*?(?=\r
19
+ `):(this.indentate=function(){return""},this.tagEndChar=">",this.newLine="")}Nt.prototype.build=function(E){return this.options.preserveOrder?LT(E,this.options):(Array.isArray(E)&&this.options.arrayNodeName&&this.options.arrayNodeName.length>1&&(E={[this.options.arrayNodeName]:E}),this.j2x(E,0,[]).val)},Nt.prototype.j2x=function(E,t,r){let n="",s="";const a=r.join(".");for(let A in E)if(Object.prototype.hasOwnProperty.call(E,A))if(typeof E[A]>"u")this.isAttribute(A)&&(s+="");else if(E[A]===null)this.isAttribute(A)||A===this.options.cdataPropName?s+="":A[0]==="?"?s+=this.indentate(t)+"<"+A+"?"+this.tagEndChar:s+=this.indentate(t)+"<"+A+"/"+this.tagEndChar;else if(E[A]instanceof Date)s+=this.buildTextValNode(E[A],A,"",t);else if(typeof E[A]!="object"){const c=this.isAttribute(A);if(c&&!this.ignoreAttributesFn(c,a))n+=this.buildAttrPairStr(c,""+E[A]);else if(!c)if(A===this.options.textNodeName){let I=this.options.tagValueProcessor(A,""+E[A]);s+=this.replaceEntitiesValue(I)}else s+=this.buildTextValNode(E[A],A,"",t)}else if(Array.isArray(E[A])){const c=E[A].length;let I="",i="";for(let O=0;O<c;O++){const C=E[A][O];if(!(typeof C>"u"))if(C===null)A[0]==="?"?s+=this.indentate(t)+"<"+A+"?"+this.tagEndChar:s+=this.indentate(t)+"<"+A+"/"+this.tagEndChar;else if(typeof C=="object")if(this.options.oneListGroup){const p=this.j2x(C,t+1,r.concat(A));I+=p.val,this.options.attributesGroupName&&C.hasOwnProperty(this.options.attributesGroupName)&&(i+=p.attrStr)}else I+=this.processTextOrObjNode(C,A,t,r);else if(this.options.oneListGroup){let p=this.options.tagValueProcessor(A,C);p=this.replaceEntitiesValue(p),I+=p}else I+=this.buildTextValNode(C,A,"",t)}this.options.oneListGroup&&(I=this.buildObjectNode(I,A,i,t)),s+=I}else if(this.options.attributesGroupName&&A===this.options.attributesGroupName){const c=Object.keys(E[A]),I=c.length;for(let i=0;i<I;i++)n+=this.buildAttrPairStr(c[i],""+E[A][c[i]])}else s+=this.processTextOrObjNode(E[A],A,t,r);return{attrStr:n,val:s}},Nt.prototype.buildAttrPairStr=function(E,t){return t=this.options.attributeValueProcessor(E,""+t),t=this.replaceEntitiesValue(t),this.options.suppressBooleanAttributes&&t==="true"?" "+E:" "+E+'="'+t+'"'};function PT(E,t,r,n){const s=this.j2x(E,r+1,n.concat(t));return E[this.options.textNodeName]!==void 0&&Object.keys(E).length===1?this.buildTextValNode(E[this.options.textNodeName],t,s.attrStr,r):this.buildObjectNode(s.val,t,s.attrStr,r)}Nt.prototype.buildObjectNode=function(E,t,r,n){if(E==="")return t[0]==="?"?this.indentate(n)+"<"+t+r+"?"+this.tagEndChar:this.indentate(n)+"<"+t+r+this.closeTag(t)+this.tagEndChar;{let s="</"+t+this.tagEndChar,a="";return t[0]==="?"&&(a="?",s=""),(r||r==="")&&E.indexOf("<")===-1?this.indentate(n)+"<"+t+r+a+">"+E+s:this.options.commentPropName!==!1&&t===this.options.commentPropName&&a.length===0?this.indentate(n)+`<!--${E}-->`+this.newLine:this.indentate(n)+"<"+t+r+a+this.tagEndChar+E+this.indentate(n)+s}},Nt.prototype.closeTag=function(E){let t="";return this.options.unpairedTags.indexOf(E)!==-1?this.options.suppressUnpairedNode||(t="/"):this.options.suppressEmptyNode?t="/":t=`></${E}`,t},Nt.prototype.buildTextValNode=function(E,t,r,n){if(this.options.cdataPropName!==!1&&t===this.options.cdataPropName)return this.indentate(n)+`<![CDATA[${E}]]>`+this.newLine;if(this.options.commentPropName!==!1&&t===this.options.commentPropName)return this.indentate(n)+`<!--${E}-->`+this.newLine;if(t[0]==="?")return this.indentate(n)+"<"+t+r+"?"+this.tagEndChar;{let s=this.options.tagValueProcessor(t,E);return s=this.replaceEntitiesValue(s),s===""?this.indentate(n)+"<"+t+r+this.closeTag(t)+this.tagEndChar:this.indentate(n)+"<"+t+r+">"+s+"</"+t+this.tagEndChar}},Nt.prototype.replaceEntitiesValue=function(E){if(E&&E.length>0&&this.options.processEntities)for(let t=0;t<this.options.entities.length;t++){const r=this.options.entities[t];E=E.replace(r.regex,r.val)}return E};function fT(E){return this.options.indentBy.repeat(E)}function hT(E){return E.startsWith(this.options.attributeNamePrefix)&&E!==this.options.textNodeName?E.substr(this.attrPrefixLen):!1}const MT={validate:WE},UT={ignoreAttributes:!1,attributeNamePrefix:"@_",textNodeName:"#text",ignoreDeclaration:!1,commentPropName:"#comment",cdataPropName:"__cdata",preserveOrder:!0,parseAttributeValue:!1,trimValues:!1,parseTagValue:!1,processEntities:!1,htmlEntities:!1,ignoreNameSpace:!1,allowBooleanAttributes:!0,unpairedTags:[],stopNodes:[],alwaysCreateTextNode:!1},mT={ignoreAttributes:!1,attributeNamePrefix:"@_",textNodeName:"#text",format:!0,indentBy:" ",suppressEmptyNode:!1,suppressBooleanAttributes:!1,suppressUnpairedNode:!1},BT=E=>{const t=/<!\[CDATA\[([\s\S]*?)\]\]>/g,r=[];let n;for(;(n=t.exec(E))!==null;)r.push({start:n.index,end:n.index+n[0].length});const s=O=>r.some(C=>O>=C.start&&O<C.end),a=/&([a-zA-Z0-9#]+);/g,A=["lt","gt","amp","quot","apos"];let c,I=1,i=0;for(;(c=a.exec(E))!==null;){const O=c[1],C=c.index;if(s(C))continue;const p=E.substring(i,C);if(I+=(p.match(/\n/g)||[]).length,i=C,O.startsWith("#")){const g=O.substring(1);if(g.startsWith("x")||g.startsWith("X")){const B=g.substring(1);if(!/^[0-9a-fA-F]+$/.test(B))return{valid:!1,error:`Line ${I}: Invalid hexadecimal character reference '&${O};'`}}else if(!/^[0-9]+$/.test(g))return{valid:!1,error:`Line ${I}: Invalid numeric character reference '&${O};'`};continue}if(!A.includes(O))return{valid:!1,error:`Line ${I}: Invalid entity reference '&${O};'. Valid predefined entities are: &lt; &gt; &amp; &quot; &apos;`}}return{valid:!0}},gT=E=>{try{const t=MT.validate(E,{allowBooleanAttributes:!0});if(t!==!0)return{valid:!1,error:`Line ${t.err.line}: ${t.err.msg}`};const r=BT(E);return r.valid?{valid:!0}:r}catch(t){return{valid:!1,error:t instanceof Error?t.message:"Unknown validation error"}}},zt=(E,t)=>{try{return new cT({...UT,...t}).parse(E)}catch(r){throw new Error(`XML 解析失败: ${r instanceof Error?r.message:"Unknown error"}`)}},eE=(E,t)=>{try{let n=new Nt({...mT,format:t?.format??!0,indentBy:t?.indentBy??" "}).build(E);return t?.showDeclaration!==!1&&!n.startsWith("<?xml")&&(n=`<?xml version="1.0" encoding="UTF-8"?>
20
+ `+n),n}catch(r){throw new Error(`XML 构建失败: ${r instanceof Error?r.message:"Unknown error"}`)}},yT=(E,t)=>Array.isArray(E)?it(E,{format:!1,originalXml:t}):eE(E,{format:!1,showDeclaration:!1}),GT=(E,t)=>{const r=zt(E);return Array.isArray(r)?it(r,{indent:t?.indentBy,originalXml:E}):eE(r,t)},FT=(E,t)=>{const r=zE(t),n=new Map,s=a=>{for(const A of a){const c=Object.keys(A).find(O=>!O.startsWith(":")&&!O.startsWith("#")&&!O.startsWith("__")&&!O.startsWith("?"));if(!c)continue;const I=n.get(c)??0;n.set(c,I+1),A[":selfClosing"]=r.get(c)?.[I]??!1;const i=A[c];Array.isArray(i)&&i.length>0&&s(i)}};s(E)},HT=E=>{const t=new Set,r=/<([a-zA-Z0-9_-]+)(?:\s[^>]*)?\s*\/>/g;let n;for(;(n=r.exec(E))!==null;)t.add(n[1]);return t},zE=E=>{const t=new Map;let r=0;for(;r<E.length;){if(E.startsWith("<!--",r)){const n=E.indexOf("-->",r);r=n!==-1?n+3:E.length;continue}if(E.startsWith("<![CDATA[",r)){const n=E.indexOf("]]>",r);r=n!==-1?n+3:E.length;continue}if(E.startsWith("<?",r)){const n=E.indexOf("?>",r);r=n!==-1?n+2:E.length;continue}if(E.startsWith("</",r)){const n=E.indexOf(">",r);r=n!==-1?n+1:E.length;continue}if(E[r]==="<"){const n=E.slice(r+1).match(/^([a-zA-Z_][a-zA-Z0-9_:.-]*)/);if(n){const s=n[1];let a=r+1+s.length,A=!1,c="";for(;a<E.length;){const I=E[a];if(A)I===c&&(A=!1);else if(I==='"'||I==="'")A=!0,c=I;else if(I===">"){let i=a-1;for(;i>r&&(E[i]===" "||E[i]===" "||E[i]===`
21
+ `||E[i]==="\r");)i--;const O=E[i]==="/";t.has(s)||t.set(s,[]),t.get(s).push(O),r=a+1;break}a++}if(a>=E.length)break;continue}}r++}return t},it=(E,t={})=>{const r=t.indent!==void 0?t.indent:" ",n=t.level||0,s=t.format!==!1,a=s?r.repeat(n):"",A=s?`
22
+ `:"";let c=t.selfClosingTags,I=t.selfClosingOccurrences,i=t.selfClosingCounters;n===0&&t.originalXml&&(I=zE(t.originalXml),i=new Map);let O="";for(const C of E){if(C["?xml"]){const W=C[":@"]||{},u=Object.entries(W).map(([ee,U])=>`${ee.startsWith("@_")?ee.substring(2):ee}="${U}"`).join(" ");O+=`<?xml ${u}?>${A}`;continue}if(C["#comment"]){const W=C["#comment"];if(Array.isArray(W)&&W.length>0){const u=W[0]["#text"]||W[0];O+=`${a}<!--${u}-->${A}`}continue}const p=Object.keys(C).find(W=>!W.startsWith(":")&&!W.startsWith("#")&&!W.startsWith("__"));if(!p)continue;let g=0;I&&i&&(g=i.get(p)??0,i.set(p,g+1));const B=C[p],Y=C[":@"]||{},d=Object.entries(Y).map(([W,u])=>`${W.startsWith("@_")?W.substring(2):W}="${u}"`).join(" "),k=d?" "+d:"";if(!Array.isArray(B)||B.length===0){let W;I?W=I.get(p)?.[g]??!1:W=!!(c&&c.has(p)),W?O+=`${a}<${p}${k}/>${A}`:O+=`${a}<${p}${k}></${p}>${A}`;continue}const J=B.length===1&&B[0]["#text"]!==void 0,Z=J?B[0]["#text"]:"",De=B.some(W=>W.__cdata),ce=J&&Z==="";if(De){const W=B.find(u=>u.__cdata);if(W){const u=W.__cdata[0]["#text"]||"";O+=`${a}<${p}${k}><![CDATA[${u}]]></${p}>${A}`}}else ce?O+=`${a}<${p}${k}></${p}>${A}`:J?O+=`${a}<${p}${k}>${Z}</${p}>${A}`:(O+=`${a}<${p}${k}>${A}`,O+=it(B,{indent:r,level:n+1,format:s,selfClosingTags:c,selfClosingOccurrences:I,selfClosingCounters:i}),O+=`${a}</${p}>${A}`)}return O},bT={class:"xml-format__content"},xT={key:0,class:"xml-format__error"},YT={key:1,class:"xml-format__error"},VT={key:2,class:"xml-format__viewer"},vT=Pt(T.defineComponent({__name:"index",props:{modelValue:{default:""},readonly:{type:Boolean,default:!1},maxDepth:{default:10},theme:{default:"github-light"},showComments:{type:Boolean,default:!0},showCdata:{type:Boolean,default:!0},preserveWhitespace:{type:Boolean,default:!1}},emits:["update:modelValue","copy-success","copy-error","expand-all","collapse-all","compress","format"],setup(E,{expose:t,emit:r}){T.useCssVars(w=>({"592bc0b6":k.value.colors.background,"6efa1296":k.value.colors.text,"470e5180":k.value.colors.error,"43e0a2ce":k.value.colors.errorBackground}));const n=E,s=r,a=T.ref(null),A=T.ref(""),c=T.ref(new Set),I=T.ref(null),i=T.ref(""),O=T.ref(""),C=T.ref(new Set),p=T.ref(!1),g=T.computed(()=>A.value===""),B=w=>{if(!w||typeof w!="object")return w;if(Array.isArray(w)){const h=w.map(re=>B(re)),y=[],$=[];h.forEach((re,Ae)=>{if(!re||typeof re!="object"){$.push({item:re,originalIndex:Ae});return}const le=Object.keys(re),Ue=le.find(Se=>!Se.startsWith("?")&&!Se.startsWith(":")&&!Se.startsWith("#")&&!Se.startsWith("__"))||le[0]||"";Ue.startsWith("#")||Ue.startsWith("__")?$.push({item:re,originalIndex:Ae}):Ue.startsWith("?")?$.push({item:re,originalIndex:Ae}):y.push({item:re,originalIndex:Ae})}),y.sort((re,Ae)=>{const le=q=>{const ge=Object.keys(q);for(const _ of ge)if(!_.startsWith("?")&&!_.startsWith(":")&&!_.startsWith("#")&&!_.startsWith("__"))return _;return ge[0]||""},Ue=le(re.item),Se=le(Ae.item);return Ue.localeCompare(Se)});const M=[];let z=0;for(let re=0;re<h.length;re++){const Ae=$.find(le=>le.originalIndex===re);Ae?M.push(Ae.item):z<y.length&&(M.push(y[z].item),z++)}return M}const P={},m=Object.keys(w).sort((h,y)=>{const $=h.startsWith("?")||h.startsWith(":")||h.startsWith("#")||h.startsWith("__"),M=y.startsWith("?")||y.startsWith(":")||y.startsWith("#")||y.startsWith("__"),z={"?xml":0,":@":1,"#text":2,__cdata:3,"#cdata":3,"#comment":4};if($&&M){const re=z[h]??99,Ae=z[y]??99;return re-Ae}else return $?-1:M?1:h.localeCompare(y)});for(const h of m){const y=w[h];if(h===":@"&&y&&typeof y=="object"&&!Array.isArray(y)){const $={},M=Object.keys(y).sort();for(const z of M)$[z]=y[z];P[h]=$}else P[h]=B(y)}return P},Y=T.computed(()=>{const w=I.value!==null?I.value:a.value;return!w||!p.value?w:B(w)}),d=T.computed(()=>i.value?null:Y.value),k=T.computed(()=>Bs(n.theme)),J=T.computed(()=>{const w=d.value;return!w||!Array.isArray(w)?[]:w.map((P,m)=>({node:P,originalIndex:m})).filter(P=>!P.node["?xml"])}),Z=T.computed(()=>{const w=d.value;if(!w||!Array.isArray(w))return null;const P=w.find(y=>y["?xml"]);if(!P||!P[":@"])return null;const m=P[":@"],h=[];return m["@_version"]&&h.push(`version="${m["@_version"]}"`),m["@_encoding"]&&h.push(`encoding="${m["@_encoding"]}"`),m["@_standalone"]&&h.push(`standalone="${m["@_standalone"]}"`),h.length>0?`<?xml ${h.join(" ")}?>`:null}),De=T.computed(()=>J.value),ce=w=>{if(!w||!w.trim()){A.value="",a.value=null,O.value="",I.value=null,i.value="";return}try{const P=gT(w);if(!P.valid){A.value=P.error||"Invalid XML",a.value=null,O.value="",C.value=new Set;return}O.value=w,C.value=HT(w),a.value=zt(w),Array.isArray(a.value)&&FT(a.value,w),A.value="",I.value=null,i.value="",T.nextTick(()=>{u()})}catch(P){A.value=P instanceof Error?P.message:"Unknown parse error",a.value=null,O.value="",I.value=null,i.value=""}},W=w=>{c.value.has(w)?c.value.delete(w):c.value.add(w)},u=()=>{const w=new Set,P=(m,h="")=>{Array.isArray(m)&&m.forEach((y,$)=>{const M=Object.keys(y).find(Ae=>!Ae.startsWith(":")&&!Ae.startsWith("#"));if(!M)return;const z=h?`${h}.${M}[${$}]`:`${M}[${$}]`;w.add(z);const re=y[M];Array.isArray(re)&&P(re,z+"."+M)})};J.value.forEach(({node:m,originalIndex:h})=>{const y=Object.keys(m).find($=>!$.startsWith(":")&&!$.startsWith("#"));if(y){const $=`${y}[${h}]`;w.add($);const M=m[y];Array.isArray(M)&&P(M,$+"."+y)}}),c.value=w,s("expand-all")},ee=()=>{c.value.clear(),s("collapse-all")},U=async()=>{if(g.value)try{const w=d.value||a.value;if(!w)return;const P=Array.isArray(w)?it(w,{indent:" ",originalXml:O.value||void 0}):eE(w,{format:!0,indentBy:" "});await navigator.clipboard.writeText(P),s("copy-success",P)}catch(w){const P=w instanceof Error?w:new Error("Copy failed");s("copy-error",P),console.error("Failed to copy XML:",w)}},v=()=>{if(!(!g.value||!a.value))try{const w=yT(a.value,n.modelValue);s("update:modelValue",w),s("compress",w)}catch(w){console.error("Failed to compress XML:",w)}},te=()=>{if(g.value)try{const w=GT(n.modelValue,{format:!0,indentBy:" "});s("update:modelValue",w),s("format",w)}catch(w){console.error("Failed to format XML:",w)}},Ee=w=>{if(!w||!w.expression.trim()){Q();return}if(!a.value||!O.value){i.value="No valid XML data to filter";return}try{const m=new YE.DOMParser().parseFromString(O.value,"text/xml"),h=Vn.select(w.expression,m);if(!h||Array.isArray(h)&&h.length===0){I.value=[],i.value="";return}const y=new YE.XMLSerializer;let $="";Array.isArray(h)?($=`<result>
23
+ `,h.forEach(M=>{M.nodeType===1?$+=" "+y.serializeToString(M)+`
24
+ `:M.nodeType===2?$+=` <attribute name="${M.name}" value="${M.value}"/>
25
+ `:M.nodeType===3&&($+=` <text>${M.nodeValue}</text>
26
+ `)}),$+="</result>"):$=y.serializeToString(h),I.value=zt($),i.value="",T.nextTick(()=>{u()})}catch(P){i.value=P instanceof Error?P.message:"Filter execution error",I.value=null}},Q=()=>{I.value=null,i.value="",T.nextTick(()=>{u()})},Ce=()=>{p.value=!0,T.nextTick(()=>{u()})},_e=()=>{p.value=!1,T.nextTick(()=>{u()})},pe=async w=>{try{const P=typeof w=="string"?w:JSON.stringify(w,null,2);await navigator.clipboard.writeText(P),s("copy-success",P)}catch(P){const m=P instanceof Error?P:new Error("Copy failed");s("copy-error",m),console.error("Failed to copy value:",P)}},b=(w,P,m)=>{if(!(!a.value||!Array.isArray(a.value)))try{const h=w.split(/\./).filter(Boolean);let y=a.value;for(let M=0;M<h.length;M++){const z=h[M],re=z.match(/^(.+?)\[(\d+)\]$/);if(re){const Ae=re[1],le=parseInt(re[2]);if(M===h.length-1){if(Array.isArray(y)&&y[le]){const Ue=y[le];if(Ue[P]){const Se=Ue[P];delete Ue[P],Ue[m]=Se,C.value.has(P)&&(C.value.delete(P),C.value.add(m))}}}else Array.isArray(y)&&y[le]&&(y=y[le])}else y[z]&&(y=y[z])}const $=it(a.value,{indent:" ",originalXml:O.value||void 0});s("update:modelValue",$)}catch(h){console.error("Failed to update tag name:",h)}},j=(w,P,m)=>{if(!(!a.value||!Array.isArray(a.value)))try{const h=w.split(/\./).filter(Boolean);let y=a.value;for(let M=0;M<h.length;M++){const z=h[M],re=z.match(/^(.+?)\[(\d+)\]$/);if(re){const Ae=re[1],le=parseInt(re[2]);if(M===h.length-1){if(Array.isArray(y)&&y[le]){const Se=y[le][":@"];if(Se&&Se[`@_${P}`]!==void 0){const q=Se[`@_${P}`];delete Se[`@_${P}`],Se[`@_${m}`]=q}}}else Array.isArray(y)&&y[le]&&(y=y[le])}else y[z]&&(y=y[z])}const $=it(a.value,{indent:" ",originalXml:O.value||void 0});s("update:modelValue",$)}catch(h){console.error("Failed to update attribute name:",h)}},Ie=(w,P,m)=>{if(!(!a.value||!Array.isArray(a.value)))try{const h=w.split(/\./).filter(Boolean);let y=a.value;for(let M=0;M<h.length;M++){const z=h[M],re=z.match(/^(.+?)\[(\d+)\]$/);if(re){const Ae=re[1],le=parseInt(re[2]);if(M===h.length-1){if(Array.isArray(y)&&y[le]){const Se=y[le][":@"];Se&&Se[`@_${P}`]!==void 0&&(Se[`@_${P}`]=m)}}else Array.isArray(y)&&y[le]&&(y=y[le])}else y[z]&&(y=y[z])}const $=it(a.value,{indent:" ",originalXml:O.value||void 0});s("update:modelValue",$)}catch(h){console.error("Failed to update attribute value:",h)}},me=(w,P)=>{if(!(!a.value||!Array.isArray(a.value)))try{const m=w.split(/\./).filter(Boolean);let h=a.value,y="";for(let M=0;M<m.length;M++){const z=m[M],re=z.match(/^(.+?)\[(\d+)\]$/);if(re){const Ae=re[1],le=parseInt(re[2]);if(M===m.length-1){if(Array.isArray(h)&&h[le]){const Ue=h[le];if(y=Object.keys(Ue).find(Se=>!Se.startsWith(":")&&!Se.startsWith("#"))||"",y&&Array.isArray(Ue[y])){const Se=Ue[y],q=Se.findIndex(ge=>ge["#text"]!==void 0);q!==-1?Se[q]["#text"]=P:Se.push({"#text":P})}}}else Array.isArray(h)&&h[le]&&(h=h[le])}else h[z]&&(h=h[z])}const $=it(a.value,{indent:" ",originalXml:O.value||void 0});s("update:modelValue",$)}catch(m){console.error("Failed to update text content:",m)}},oe=(w,P)=>{if(!(!a.value||!Array.isArray(a.value)))try{const m=w.split(/\./).filter(Boolean);let h=a.value;for(let $=0;$<m.length;$++){const M=m[$],z=M.match(/^(.+?)\[(\d+)\]$/);if(z){const re=z[1],Ae=parseInt(z[2]);if($===m.length-1){if(Array.isArray(h)&&h[Ae]){const le=h[Ae],Ue=Object.keys(le).find(Se=>!Se.startsWith(":")&&!Se.startsWith("#"));if(Ue&&Array.isArray(le[Ue])){const Se=le[Ue],q=Se.findIndex(ge=>ge.__cdata!==void 0);if(q!==-1){const ge=Se[q];Array.isArray(ge.__cdata)&&ge.__cdata[0]&&(ge.__cdata[0]["#text"]=P)}else Se.push({__cdata:[{"#text":P}]})}}}else Array.isArray(h)&&h[Ae]&&(h=h[Ae])}else h[M]&&(h=h[M])}const y=it(a.value,{indent:" ",originalXml:O.value||void 0});s("update:modelValue",y)}catch(m){console.error("Failed to update CDATA content:",m)}};return T.watch(()=>n.modelValue,w=>{ce(w)},{immediate:!0}),t({copyXml:U,compressSource:v,formatSource:te,expandAll:u,collapseAll:ee,toggleExpand:W,filter:Ee,clearFilter:Q,sort:Ce,clearSort:_e,isSorted:()=>p.value,isValidXml:()=>g.value,getParsedXml:()=>a.value,getFilteredXml:()=>I.value,getExpandedNodes:()=>c.value,getParseError:()=>A.value,getFilterError:()=>i.value,parseXmlString:w=>ce(w),copyValue:w=>pe(w)}),(w,P)=>(T.openBlock(),T.createElementBlock("div",{class:T.normalizeClass(["xml-format",`xml-format--${k.value.name}`])},[T.createElementVNode("div",bT,[g.value?i.value?(T.openBlock(),T.createElementBlock("div",YT,[P[1]||(P[1]=T.createElementVNode("h4",null,"Filter Error:",-1)),T.createElementVNode("pre",null,T.toDisplayString(i.value),1)])):(T.openBlock(),T.createElementBlock("div",VT,[Z.value?(T.openBlock(),T.createElementBlock("div",{key:0,class:"xml-declaration",style:T.normalizeStyle({color:k.value.colors.xmlDeclaration})},T.toDisplayString(Z.value),5)):T.createCommentVNode("",!0),(T.openBlock(!0),T.createElementBlock(T.Fragment,null,T.renderList(De.value,(m,h)=>(T.openBlock(),T.createBlock(ms,{key:h,node:m.node,index:m.originalIndex,level:0,expanded:c.value,theme:k.value,selfClosingTags:C.value,onToggleExpand:W,onCopy:pe,"onUpdate:tagName":b,"onUpdate:attributeName":j,"onUpdate:attributeValue":Ie,"onUpdate:textContent":me,"onUpdate:cdataContent":oe},null,8,["node","index","expanded","theme","selfClosingTags"]))),128))])):(T.openBlock(),T.createElementBlock("div",xT,[P[0]||(P[0]=T.createElementVNode("h4",null,"XML Parse Error:",-1)),T.createElementVNode("pre",null,T.toDisplayString(A.value),1)]))])],2))}}),[["__scopeId","data-v-d4c202e6"]]),er={"github-light":{name:"github-light",colors:{background:"#ffffff",surfaceBackground:"#f6f8fa",hoverBackground:"#f3f4f6",border:"#d0d7de",text:"#24292f",textSecondary:"#57606a",buttonBackground:"#f6f8fa",buttonBackgroundHover:"#f3f4f6",buttonBorder:"#d0d7de",buttonText:"#24292f",buttonPrimary:"#1f883d",buttonPrimaryHover:"#1a7f37",success:"#1f883d",successBackground:"#dafbe1",error:"#cf222e",errorBackground:"#ffebe9",sqlKeyword:"#cf222e",sqlFunction:"#8250df",sqlString:"#0a3069",sqlNumber:"#0550ae",sqlComment:"#6e7781",sqlOperator:"#cf222e",sqlIdentifier:"#24292f",sqlPunctuation:"#24292f",collapsedBackground:"#ddf4ff",collapsedText:"#0969da",indentLine:"#d0d7de"}},"github-dark":{name:"github-dark",colors:{background:"#0d1117",surfaceBackground:"#161b22",hoverBackground:"#30363d",border:"#30363d",text:"#c9d1d9",textSecondary:"#8b949e",buttonBackground:"#21262d",buttonBackgroundHover:"#30363d",buttonBorder:"#30363d",buttonText:"#c9d1d9",buttonPrimary:"#238636",buttonPrimaryHover:"#2ea043",success:"#3fb950",successBackground:"#0f2e1c",error:"#f85149",errorBackground:"#3d1319",sqlKeyword:"#ff7b72",sqlFunction:"#d2a8ff",sqlString:"#a5d6ff",sqlNumber:"#79c0ff",sqlComment:"#8b949e",sqlOperator:"#ff7b72",sqlIdentifier:"#c9d1d9",sqlPunctuation:"#c9d1d9",collapsedBackground:"#1c2d41",collapsedText:"#58a6ff",indentLine:"#30363d"}},"min-light":{name:"min-light",colors:{background:"#ffffff",surfaceBackground:"#fafafa",hoverBackground:"#f9f9f9",border:"#e5e5e5",text:"#333333",textSecondary:"#888888",buttonBackground:"#f8f8f8",buttonBackgroundHover:"#eeeeee",buttonBorder:"#e0e0e0",buttonText:"#333333",buttonPrimary:"#007acc",buttonPrimaryHover:"#005a9e",success:"#22c55e",successBackground:"#f0fdf4",error:"#ef4444",errorBackground:"#fef2f2",sqlKeyword:"#22c55e",sqlFunction:"#8b5cf6",sqlString:"#ef4444",sqlNumber:"#3b82f6",sqlComment:"#6b7280",sqlOperator:"#ef4444",sqlIdentifier:"#1f2937",sqlPunctuation:"#374151",collapsedBackground:"#e0f2fe",collapsedText:"#0284c7",indentLine:"#e5e7eb"}},"slack-ochin":{name:"slack-ochin",colors:{background:"#fef5ed",surfaceBackground:"#fef9f3",hoverBackground:"#f9f0e5",border:"#e9dcc9",text:"#3d3c40",textSecondary:"#616061",buttonBackground:"#fef9f3",buttonBackgroundHover:"#f9f0e5",buttonBorder:"#e9dcc9",buttonText:"#3d3c40",buttonPrimary:"#007a5a",buttonPrimaryHover:"#006644",success:"#007a5a",successBackground:"#d1f4e0",error:"#e01e5a",errorBackground:"#ffdbea",sqlKeyword:"#e01e5a",sqlFunction:"#8b2eff",sqlString:"#0b4c8c",sqlNumber:"#1264a3",sqlComment:"#616061",sqlOperator:"#e01e5a",sqlIdentifier:"#3d3c40",sqlPunctuation:"#3d3c40",collapsedBackground:"#d8eaf5",collapsedText:"#0b4c8c",indentLine:"#3e4348"}}},wT=E=>er[E]||er["github-light"],G=E=>E.flatMap(WT),WT=E=>Vt(KT(E)).map(XT),XT=E=>E.replace(/ +/g," ").trim(),KT=E=>({type:"mandatory_block",items:tE(E,0)[0]}),tE=(E,t,r)=>{const n=[];for(;E[t];){const[s,a]=kT(E,t);if(n.push(s),t=a,E[t]==="|")t++;else if(E[t]==="}"||E[t]==="]"){if(r!==E[t])throw new Error(`Unbalanced parenthesis in: ${E}`);return t++,[n,t]}else if(t===E.length){if(r)throw new Error(`Unbalanced parenthesis in: ${E}`);return[n,t]}else throw new Error(`Unexpected "${E[t]}"`)}return[n,t]},kT=(E,t)=>{const r=[];for(;;){const[n,s]=$T(E,t);if(n)r.push(n),t=s;else break}return r.length===1?[r[0],t]:[{type:"concatenation",items:r},t]},$T=(E,t)=>{if(E[t]==="{")return qT(E,t+1);if(E[t]==="[")return JT(E,t+1);{let r="";for(;E[t]&&/[A-Za-z0-9_ ]/.test(E[t]);)r+=E[t],t++;return[r,t]}},qT=(E,t)=>{const[r,n]=tE(E,t,"}");return[{type:"mandatory_block",items:r},n]},JT=(E,t)=>{const[r,n]=tE(E,t,"]");return[{type:"optional_block",items:r},n]},Vt=E=>{if(typeof E=="string")return[E];if(E.type==="concatenation")return E.items.map(Vt).reduce(QT,[""]);if(E.type==="mandatory_block")return E.items.flatMap(Vt);if(E.type==="optional_block")return["",...E.items.flatMap(Vt)];throw new Error(`Unknown node type: ${E}`)},QT=(E,t)=>{const r=[];for(const n of E)for(const s of t)r.push(n+s);return r};var K;(function(E){E.QUOTED_IDENTIFIER="QUOTED_IDENTIFIER",E.IDENTIFIER="IDENTIFIER",E.STRING="STRING",E.VARIABLE="VARIABLE",E.RESERVED_DATA_TYPE="RESERVED_DATA_TYPE",E.RESERVED_PARAMETERIZED_DATA_TYPE="RESERVED_PARAMETERIZED_DATA_TYPE",E.RESERVED_KEYWORD="RESERVED_KEYWORD",E.RESERVED_FUNCTION_NAME="RESERVED_FUNCTION_NAME",E.RESERVED_KEYWORD_PHRASE="RESERVED_KEYWORD_PHRASE",E.RESERVED_DATA_TYPE_PHRASE="RESERVED_DATA_TYPE_PHRASE",E.RESERVED_SET_OPERATION="RESERVED_SET_OPERATION",E.RESERVED_CLAUSE="RESERVED_CLAUSE",E.RESERVED_SELECT="RESERVED_SELECT",E.RESERVED_JOIN="RESERVED_JOIN",E.ARRAY_IDENTIFIER="ARRAY_IDENTIFIER",E.ARRAY_KEYWORD="ARRAY_KEYWORD",E.CASE="CASE",E.END="END",E.WHEN="WHEN",E.ELSE="ELSE",E.THEN="THEN",E.LIMIT="LIMIT",E.BETWEEN="BETWEEN",E.AND="AND",E.OR="OR",E.XOR="XOR",E.OPERATOR="OPERATOR",E.COMMA="COMMA",E.ASTERISK="ASTERISK",E.PROPERTY_ACCESS_OPERATOR="PROPERTY_ACCESS_OPERATOR",E.OPEN_PAREN="OPEN_PAREN",E.CLOSE_PAREN="CLOSE_PAREN",E.LINE_COMMENT="LINE_COMMENT",E.BLOCK_COMMENT="BLOCK_COMMENT",E.DISABLE_COMMENT="DISABLE_COMMENT",E.NUMBER="NUMBER",E.NAMED_PARAMETER="NAMED_PARAMETER",E.QUOTED_PARAMETER="QUOTED_PARAMETER",E.NUMBERED_PARAMETER="NUMBERED_PARAMETER",E.POSITIONAL_PARAMETER="POSITIONAL_PARAMETER",E.CUSTOM_PARAMETER="CUSTOM_PARAMETER",E.DELIMITER="DELIMITER",E.EOF="EOF"})(K=K||(K={}));const tr=E=>({type:K.EOF,raw:"«EOF»",text:"«EOF»",start:E}),It=tr(1/0),ft=E=>t=>t.type===E.type&&t.text===E.text,Ot={ARRAY:ft({text:"ARRAY",type:K.RESERVED_DATA_TYPE}),BY:ft({text:"BY",type:K.RESERVED_KEYWORD}),SET:ft({text:"SET",type:K.RESERVED_CLAUSE}),STRUCT:ft({text:"STRUCT",type:K.RESERVED_DATA_TYPE}),WINDOW:ft({text:"WINDOW",type:K.RESERVED_CLAUSE}),VALUES:ft({text:"VALUES",type:K.RESERVED_CLAUSE})},Er=E=>E===K.RESERVED_DATA_TYPE||E===K.RESERVED_KEYWORD||E===K.RESERVED_FUNCTION_NAME||E===K.RESERVED_KEYWORD_PHRASE||E===K.RESERVED_DATA_TYPE_PHRASE||E===K.RESERVED_CLAUSE||E===K.RESERVED_SELECT||E===K.RESERVED_SET_OPERATION||E===K.RESERVED_JOIN||E===K.ARRAY_KEYWORD||E===K.CASE||E===K.END||E===K.WHEN||E===K.ELSE||E===K.THEN||E===K.LIMIT||E===K.BETWEEN||E===K.AND||E===K.OR||E===K.XOR,ZT=E=>E===K.AND||E===K.OR||E===K.XOR,jT=["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","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","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","APPROX_COUNT_DISTINCT","APPROX_QUANTILES","APPROX_TOP_COUNT","APPROX_TOP_SUM","ARRAY_CONCAT","ARRAY_LENGTH","ARRAY_TO_STRING","GENERATE_ARRAY","GENERATE_DATE_ARRAY","GENERATE_TIMESTAMP_ARRAY","ARRAY_REVERSE","OFFSET","SAFE_OFFSET","ORDINAL","SAFE_ORDINAL","BIT_COUNT","PARSE_BIGNUMERIC","PARSE_NUMERIC","SAFE_CAST","CURRENT_DATE","EXTRACT","DATE","DATE_ADD","DATE_SUB","DATE_DIFF","DATE_TRUNC","DATE_FROM_UNIX_DATE","FORMAT_DATE","LAST_DAY","PARSE_DATE","UNIX_DATE","CURRENT_DATETIME","DATETIME","EXTRACT","DATETIME_ADD","DATETIME_SUB","DATETIME_DIFF","DATETIME_TRUNC","FORMAT_DATETIME","LAST_DAY","PARSE_DATETIME","ERROR","EXTERNAL_QUERY","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","FARM_FINGERPRINT","MD5","SHA1","SHA256","SHA512","HLL_COUNT.INIT","HLL_COUNT.MERGE","HLL_COUNT.MERGE_PARTIAL","HLL_COUNT.EXTRACT","MAKE_INTERVAL","EXTRACT","JUSTIFY_DAYS","JUSTIFY_HOURS","JUSTIFY_INTERVAL","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","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","FIRST_VALUE","LAST_VALUE","NTH_VALUE","LEAD","LAG","PERCENTILE_CONT","PERCENTILE_DISC","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","RANK","DENSE_RANK","PERCENT_RANK","CUME_DIST","NTILE","ROW_NUMBER","SESSION_USER","CORR","COVAR_POP","COVAR_SAMP","STDDEV_POP","STDDEV_SAMP","STDDEV","VAR_POP","VAR_SAMP","VARIANCE","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","CURRENT_TIME","TIME","EXTRACT","TIME_ADD","TIME_SUB","TIME_DIFF","TIME_TRUNC","FORMAT_TIME","PARSE_TIME","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","GENERATE_UUID","COALESCE","IF","IFNULL","NULLIF","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","BIT_COUNT","BOOLEAN","BYTES","CAST","FLOAT","HEX_STRING","INTEGER","STRING","COALESCE","GREATEST","IFNULL","IS_INF","IS_NAN","IS_EXPLICITLY_DEFINED","LEAST","NVL","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","FORMAT_IP","PARSE_IP","FORMAT_PACKED_IP","PARSE_PACKED_IP","JSON_EXTRACT","JSON_EXTRACT_SCALAR","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","REGEXP_MATCH","REGEXP_EXTRACT","REGEXP_REPLACE","CONCAT","INSTR","LEFT","LENGTH","LOWER","LPAD","LTRIM","REPLACE","RIGHT","RPAD","RTRIM","SPLIT","SUBSTR","UPPER","TABLE_DATE_RANGE","TABLE_DATE_RANGE_STRICT","TABLE_QUERY","HOST","DOMAIN","TLD","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","CURRENT_USER","EVERY","FROM_BASE64","HASH","FARM_FINGERPRINT","IF","POSITION","SHA1","SOME","TO_BASE64","BQ.JOBS.CANCEL","BQ.REFRESH_MATERIALIZED_VIEW","OPTIONS","PIVOT","UNPIVOT"],zT=["ALL","AND","ANY","AS","ASC","ASSERT_ROWS_MODIFIED","AT","BETWEEN","BY","CASE","CAST","COLLATE","CONTAINS","CREATE","CROSS","CUBE","CURRENT","DEFAULT","DEFINE","DESC","DISTINCT","ELSE","END","ENUM","ESCAPE","EXCEPT","EXCLUDE","EXISTS","EXTRACT","FALSE","FETCH","FOLLOWING","FOR","FROM","FULL","GROUP","GROUPING","GROUPS","HASH","HAVING","IF","IGNORE","IN","INNER","INTERSECT","INTO","IS","JOIN","LATERAL","LEFT","LIMIT","LOOKUP","MERGE","NATURAL","NEW","NO","NOT","NULL","NULLS","OF","ON","OR","ORDER","OUTER","OVER","PARTITION","PRECEDING","PROTO","RANGE","RECURSIVE","RESPECT","RIGHT","ROLLUP","ROWS","SELECT","SET","SOME","TABLE","TABLESAMPLE","THEN","TO","TREAT","TRUE","UNBOUNDED","UNION","UNNEST","USING","WHEN","WHERE","WINDOW","WITH","WITHIN","SAFE","LIKE","COPY","CLONE","IN","OUT","INOUT","RETURNS","LANGUAGE","CASCADE","RESTRICT","DETERMINISTIC"],eo=["ARRAY","BOOL","BYTES","DATE","DATETIME","GEOGRAPHY","INTERVAL","INT64","INT","SMALLINT","INTEGER","BIGINT","TINYINT","BYTEINT","NUMERIC","DECIMAL","BIGNUMERIC","BIGDECIMAL","FLOAT64","STRING","STRUCT","TIME","TIMEZONE"],to=G(["SELECT [ALL | DISTINCT] [AS STRUCT | AS VALUE]"]),Eo=G(["WITH [RECURSIVE]","FROM","WHERE","GROUP BY","HAVING","QUALIFY","WINDOW","PARTITION BY","ORDER BY","LIMIT","OFFSET","OMIT RECORD IF","INSERT [INTO]","VALUES","SET","MERGE [INTO]","WHEN [NOT] MATCHED [BY SOURCE | BY TARGET] [THEN]","UPDATE SET","CLUSTER BY","FOR SYSTEM_TIME AS OF","WITH CONNECTION","WITH PARTITION COLUMNS","REMOTE WITH CONNECTION"]),rr=G(["CREATE [OR REPLACE] [TEMP|TEMPORARY|SNAPSHOT|EXTERNAL] TABLE [IF NOT EXISTS]"]),EE=G(["CREATE [OR REPLACE] [MATERIALIZED] VIEW [IF NOT EXISTS]","UPDATE","DELETE [FROM]","DROP [SNAPSHOT | EXTERNAL] TABLE [IF EXISTS]","ALTER TABLE [IF EXISTS]","ADD COLUMN [IF NOT EXISTS]","DROP COLUMN [IF EXISTS]","RENAME TO","ALTER COLUMN [IF EXISTS]","SET DEFAULT COLLATE","SET OPTIONS","DROP NOT NULL","SET DATA TYPE","ALTER SCHEMA [IF EXISTS]","ALTER [MATERIALIZED] VIEW [IF EXISTS]","ALTER BI_CAPACITY","TRUNCATE TABLE","CREATE SCHEMA [IF NOT EXISTS]","DEFAULT COLLATE","CREATE [OR REPLACE] [TEMP|TEMPORARY|TABLE] FUNCTION [IF NOT EXISTS]","CREATE [OR REPLACE] PROCEDURE [IF NOT EXISTS]","CREATE [OR REPLACE] ROW ACCESS POLICY [IF NOT EXISTS]","GRANT TO","FILTER USING","CREATE CAPACITY","AS JSON","CREATE RESERVATION","CREATE ASSIGNMENT","CREATE SEARCH INDEX [IF NOT EXISTS]","DROP SCHEMA [IF EXISTS]","DROP [MATERIALIZED] VIEW [IF EXISTS]","DROP [TABLE] FUNCTION [IF EXISTS]","DROP PROCEDURE [IF EXISTS]","DROP ROW ACCESS POLICY","DROP ALL ROW ACCESS POLICIES","DROP CAPACITY [IF EXISTS]","DROP RESERVATION [IF EXISTS]","DROP ASSIGNMENT [IF EXISTS]","DROP SEARCH INDEX [IF EXISTS]","DROP [IF EXISTS]","GRANT","REVOKE","DECLARE","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"]),ro=G(["UNION {ALL | DISTINCT}","EXCEPT DISTINCT","INTERSECT DISTINCT"]),no=G(["JOIN","{LEFT | RIGHT | FULL} [OUTER] JOIN","{INNER | CROSS} JOIN"]),so=G(["TABLESAMPLE SYSTEM","ANY TYPE","ALL COLUMNS","NOT DETERMINISTIC","{ROWS | RANGE} BETWEEN","IS [NOT] DISTINCT FROM"]),To=G([]),oo={name:"bigquery",tokenizerOptions:{reservedSelect:to,reservedClauses:[...Eo,...EE,...rr],reservedSetOperations:ro,reservedJoins:no,reservedKeywordPhrases:so,reservedDataTypePhrases:To,reservedKeywords:zT,reservedDataTypes:eo,reservedFunctionNames:jT,extraParens:["[]"],stringTypes:[{quote:'""".."""',prefixes:["R","B","RB","BR"]},{quote:"'''..'''",prefixes:["R","B","RB","BR"]},'""-bs',"''-bs",{quote:'""-raw',prefixes:["R","B","RB","BR"],requirePrefix:!0},{quote:"''-raw",prefixes:["R","B","RB","BR"],requirePrefix:!0}],identTypes:["``"],identChars:{dashes:!0},paramTypes:{positional:!0,named:["@"],quoted:["@"]},variableTypes:[{regex:String.raw`@@\w+`}],lineCommentTypes:["--","#"],operators:["&","|","^","~",">>","<<","||","=>"],postProcess:ao},formatOptions:{onelineClauses:[...rr,...EE],tabularOnelineClauses:EE}};function ao(E){return io(Ao(E))}function io(E){let t=It;return E.map(r=>r.text==="OFFSET"&&t.text==="["?(t=r,Object.assign(Object.assign({},r),{type:K.RESERVED_FUNCTION_NAME})):(t=r,r))}function Ao(E){var t;const r=[];for(let n=0;n<E.length;n++){const s=E[n];if((Ot.ARRAY(s)||Ot.STRUCT(s))&&((t=E[n+1])===null||t===void 0?void 0:t.text)==="<"){const a=Ro(E,n+1),A=E.slice(n,a+1);r.push({type:K.IDENTIFIER,raw:A.map(nr("raw")).join(""),text:A.map(nr("text")).join(""),start:s.start}),n=a}else r.push(s)}return r}const nr=E=>t=>t.type===K.IDENTIFIER||t.type===K.COMMA?t[E]+" ":t[E];function Ro(E,t){let r=0;for(let n=t;n<E.length;n++){const s=E[n];if(s.text==="<"?r++:s.text===">"?r--:s.text===">>"&&(r-=2),r===0)return n}return E.length-1}const So=["BIT_AND","BIT_OR","BIT_XOR","BLAKE3","CAST","CHARACTER_LENGTH","CHAR_LENGTH","COVAR_POP","COVAR_SAMP","CRC32","CRC32IEEE","CRC64","DATE","DATE_DIFF","DATE_FORMAT","DATE_TRUNC","DAY","DAYOFMONTH","DAYOFWEEK","DAYOFYEAR","FORMAT_BYTES","FQDN","FROM_BASE64","FROM_DAYS","FROM_UNIXTIME","HOUR","INET6_ATON","INET6_NTOA","INET_ATON","INET_NTOA","IPv4CIDRToRange","IPv4NumToString","IPv4NumToStringClassC","IPv4StringToNum","IPv4StringToNumOrDefault","IPv4StringToNumOrNull","IPv4ToIPv6","IPv6CIDRToRange","IPv6NumToString","IPv6StringToNum","IPv6StringToNumOrDefault","IPv6StringToNumOrNull","JSONAllPaths","JSONAllPathsWithTypes","JSONArrayLength","JSONDynamicPaths","JSONDynamicPathsWithTypes","JSONExtract","JSONExtractArrayRaw","JSONExtractArrayRawCaseInsensitive","JSONExtractBool","JSONExtractBoolCaseInsensitive","JSONExtractCaseInsensitive","JSONExtractFloat","JSONExtractFloatCaseInsensitive","JSONExtractInt","JSONExtractIntCaseInsensitive","JSONExtractKeys","JSONExtractKeysAndValues","JSONExtractKeysAndValuesCaseInsensitive","JSONExtractKeysAndValuesRaw","JSONExtractKeysAndValuesRawCaseInsensitive","JSONExtractKeysCaseInsensitive","JSONExtractRaw","JSONExtractRawCaseInsensitive","JSONExtractString","JSONExtractStringCaseInsensitive","JSONExtractUInt","JSONExtractUIntCaseInsensitive","JSONHas","JSONKey","JSONLength","JSONMergePatch","JSONSharedDataPaths","JSONSharedDataPathsWithTypes","JSONType","JSON_ARRAY_LENGTH","JSON_EXISTS","JSON_QUERY","JSON_VALUE","L1Distance","L1Norm","L1Normalize","L2Distance","L2Norm","L2Normalize","L2SquaredDistance","L2SquaredNorm","LAST_DAY","LinfDistance","LinfNorm","LinfNormalize","LpDistance","LpNorm","LpNormalize","MACNumToString","MACStringToNum","MACStringToOUI","MAP_FROM_ARRAYS","MD4","MD5","MILLISECOND","MINUTE","MONTH","OCTET_LENGTH","QUARTER","REGEXP_EXTRACT","REGEXP_MATCHES","REGEXP_REPLACE","RIPEMD160","SCHEMA","SECOND","SHA1","SHA224","SHA256","SHA384","SHA512","SHA512_256","STD","STDDEV_POP","STDDEV_SAMP","ST_LineFromWKB","ST_MLineFromWKB","ST_MPolyFromWKB","ST_PointFromWKB","ST_PolyFromWKB","SUBSTRING_INDEX","SVG","TIMESTAMP_DIFF","TO_BASE64","TO_DAYS","TO_UNIXTIME","ULIDStringToDateTime","URLHash","URLHierarchy","URLPathHierarchy","UTCTimestamp","UTC_timestamp","UUIDNumToString","UUIDStringToNum","UUIDToNum","UUIDv7ToDateTime","VAR_POP","VAR_SAMP","YEAR","YYYYMMDDToDate","YYYYMMDDToDate32","YYYYMMDDhhmmssToDateTime","YYYYMMDDhhmmssToDateTime64","_CAST","__actionName","__bitBoolMaskAnd","__bitBoolMaskOr","__bitSwapLastTwo","__bitWrapperFunc","__getScalar","__patchPartitionID","__scalarSubqueryResult","abs","accurateCast","accurateCastOrDefault","accurateCastOrNull","acos","acosh","addDate","addDays","addHours","addInterval","addMicroseconds","addMilliseconds","addMinutes","addMonths","addNanoseconds","addQuarters","addSeconds","addTupleOfIntervals","addWeeks","addYears","addressToLine","addressToLineWithInlines","addressToSymbol","aes_decrypt_mysql","aes_encrypt_mysql","age","aggThrow","alphaTokens","analysisOfVariance","anova","any","anyHeavy","anyLast","anyLastRespectNulls","anyLast_respect_nulls","anyRespectNulls","anyValueRespectNulls","any_respect_nulls","any_value","any_value_respect_nulls","appendTrailingCharIfAbsent","approx_top_count","approx_top_k","approx_top_sum","argMax","argMin","array","arrayAUC","arrayAUCPR","arrayAll","arrayAvg","arrayCompact","arrayConcat","arrayCount","arrayCumSum","arrayCumSumNonNegative","arrayDifference","arrayDistinct","arrayDotProduct","arrayElement","arrayElementOrNull","arrayEnumerate","arrayEnumerateDense","arrayEnumerateDenseRanked","arrayEnumerateUniq","arrayEnumerateUniqRanked","arrayExists","arrayFill","arrayFilter","arrayFirst","arrayFirstIndex","arrayFirstOrNull","arrayFlatten","arrayFold","arrayIntersect","arrayJaccardIndex","arrayJoin","arrayLast","arrayLastIndex","arrayLastOrNull","arrayLevenshteinDistance","arrayLevenshteinDistanceWeighted","arrayMap","arrayMax","arrayMin","arrayNormalizedGini","arrayPRAUC","arrayPartialReverseSort","arrayPartialShuffle","arrayPartialSort","arrayPopBack","arrayPopFront","arrayProduct","arrayPushBack","arrayPushFront","arrayROCAUC","arrayRandomSample","arrayReduce","arrayReduceInRanges","arrayResize","arrayReverse","arrayReverseFill","arrayReverseSort","arrayReverseSplit","arrayRotateLeft","arrayRotateRight","arrayShiftLeft","arrayShiftRight","arrayShingles","arrayShuffle","arraySimilarity","arraySlice","arraySort","arraySplit","arrayStringConcat","arraySum","arraySymmetricDifference","arrayUnion","arrayUniq","arrayWithConstant","arrayZip","arrayZipUnaligned","array_agg","array_concat_agg","ascii","asin","asinh","assumeNotNull","atan","atan2","atanh","authenticatedUser","avg","avgWeighted","bar","base32Decode","base32Encode","base58Decode","base58Encode","base64Decode","base64Encode","base64URLDecode","base64URLEncode","basename","bech32Decode","bech32Encode","bin","bitAnd","bitCount","bitHammingDistance","bitNot","bitOr","bitPositionsToArray","bitRotateLeft","bitRotateRight","bitShiftLeft","bitShiftRight","bitSlice","bitTest","bitTestAll","bitTestAny","bitXor","bitmapAnd","bitmapAndCardinality","bitmapAndnot","bitmapAndnotCardinality","bitmapBuild","bitmapCardinality","bitmapContains","bitmapHasAll","bitmapHasAny","bitmapMax","bitmapMin","bitmapOr","bitmapOrCardinality","bitmapSubsetInRange","bitmapSubsetLimit","bitmapToArray","bitmapTransform","bitmapXor","bitmapXorCardinality","bitmaskToArray","bitmaskToList","blockNumber","blockSerializedSize","blockSize","boundingRatio","buildId","byteHammingDistance","byteSize","byteSlice","byteSwap","caseWithExpr","caseWithExpression","caseWithoutExpr","caseWithoutExpression","catboostEvaluate","categoricalInformationValue","cbrt","ceil","ceiling","changeDay","changeHour","changeMinute","changeMonth","changeSecond","changeYear","char","cityHash64","clamp","coalesce","colorOKLCHToSRGB","colorSRGBToOKLCH","compareSubstrings","concat","concatAssumeInjective","concatWithSeparator","concatWithSeparatorAssumeInjective","concat_ws","connectionId","connection_id","contingency","convertCharset","corr","corrMatrix","corrStable","cos","cosh","cosineDistance","count","countDigits","countEqual","countMatches","countMatchesCaseInsensitive","countSubstrings","countSubstringsCaseInsensitive","countSubstringsCaseInsensitiveUTF8","covarPop","covarPopMatrix","covarPopStable","covarSamp","covarSampMatrix","covarSampStable","cramersV","cramersVBiasCorrected","curdate","currentDatabase","currentProfiles","currentQueryID","currentRoles","currentSchemas","currentUser","current_database","current_date","current_query_id","current_schemas","current_timestamp","current_user","cutFragment","cutIPv6","cutQueryString","cutQueryStringAndFragment","cutToFirstSignificantSubdomain","cutToFirstSignificantSubdomainCustom","cutToFirstSignificantSubdomainCustomRFC","cutToFirstSignificantSubdomainCustomWithWWW","cutToFirstSignificantSubdomainCustomWithWWWRFC","cutToFirstSignificantSubdomainRFC","cutToFirstSignificantSubdomainWithWWW","cutToFirstSignificantSubdomainWithWWWRFC","cutURLParameter","cutWWW","damerauLevenshteinDistance","dateDiff","dateName","dateTime64ToSnowflake","dateTime64ToSnowflakeID","dateTimeToSnowflake","dateTimeToSnowflakeID","dateTimeToUUIDv7","dateTrunc","date_bin","date_diff","decodeHTMLComponent","decodeURLComponent","decodeURLFormComponent","decodeXMLComponent","decrypt","defaultProfiles","defaultRoles","defaultValueOfArgumentType","defaultValueOfTypeName","degrees","deltaSum","deltaSumTimestamp","demangle","denseRank","dense_rank","detectCharset","detectLanguage","detectLanguageMixed","detectLanguageUnknown","detectProgrammingLanguage","detectTonality","dictGet","dictGetAll","dictGetChildren","dictGetDate","dictGetDateOrDefault","dictGetDateTime","dictGetDateTimeOrDefault","dictGetDescendants","dictGetFloat32","dictGetFloat32OrDefault","dictGetFloat64","dictGetFloat64OrDefault","dictGetHierarchy","dictGetIPv4","dictGetIPv4OrDefault","dictGetIPv6","dictGetIPv6OrDefault","dictGetInt16","dictGetInt16OrDefault","dictGetInt32","dictGetInt32OrDefault","dictGetInt64","dictGetInt64OrDefault","dictGetInt8","dictGetInt8OrDefault","dictGetOrDefault","dictGetOrNull","dictGetString","dictGetStringOrDefault","dictGetUInt16","dictGetUInt16OrDefault","dictGetUInt32","dictGetUInt32OrDefault","dictGetUInt64","dictGetUInt64OrDefault","dictGetUInt8","dictGetUInt8OrDefault","dictGetUUID","dictGetUUIDOrDefault","dictHas","dictIsIn","displayName","distanceL1","distanceL2","distanceL2Squared","distanceLinf","distanceLp","distinctDynamicTypes","distinctJSONPaths","distinctJSONPathsAndTypes","divide","divideDecimal","divideOrNull","domain","domainRFC","domainWithoutWWW","domainWithoutWWWRFC","dotProduct","dumpColumnStructure","dynamicElement","dynamicType","e","editDistance","editDistanceUTF8","empty","emptyArrayDate","emptyArrayDateTime","emptyArrayFloat32","emptyArrayFloat64","emptyArrayInt16","emptyArrayInt32","emptyArrayInt64","emptyArrayInt8","emptyArrayString","emptyArrayToSingle","emptyArrayUInt16","emptyArrayUInt32","emptyArrayUInt64","emptyArrayUInt8","enabledProfiles","enabledRoles","encodeURLComponent","encodeURLFormComponent","encodeXMLComponent","encrypt","endsWith","endsWithUTF8","entropy","equals","erf","erfc","errorCodeToName","estimateCompressionRatio","evalMLMethod","exp","exp10","exp2","exponentialMovingAverage","exponentialTimeDecayedAvg","exponentialTimeDecayedCount","exponentialTimeDecayedMax","exponentialTimeDecayedSum","extract","extractAll","extractAllGroups","extractAllGroupsHorizontal","extractAllGroupsVertical","extractGroups","extractKeyValuePairs","extractKeyValuePairsWithEscaping","extractTextFromHTML","extractURLParameter","extractURLParameterNames","extractURLParameters","factorial","farmFingerprint64","farmHash64","file","filesystemAvailable","filesystemCapacity","filesystemUnreserved","finalizeAggregation","financialInternalRateOfReturn","financialInternalRateOfReturnExtended","financialNetPresentValue","financialNetPresentValueExtended","firstLine","firstSignificantSubdomain","firstSignificantSubdomainCustom","firstSignificantSubdomainCustomRFC","firstSignificantSubdomainRFC","firstValueRespectNulls","first_value","first_value_respect_nulls","flameGraph","flatten","flattenTuple","floor","formatDateTime","formatDateTimeInJodaSyntax","formatQuery","formatQueryOrNull","formatQuerySingleLine","formatQuerySingleLineOrNull","formatReadableDecimalSize","formatReadableQuantity","formatReadableSize","formatReadableTimeDelta","formatRow","formatRowNoNewline","fragment","fromDaysSinceYearZero","fromDaysSinceYearZero32","fromModifiedJulianDay","fromModifiedJulianDayOrNull","fromUTCTimestamp","fromUnixTimestamp","fromUnixTimestamp64Micro","fromUnixTimestamp64Milli","fromUnixTimestamp64Nano","fromUnixTimestamp64Second","fromUnixTimestampInJodaSyntax","from_utc_timestamp","fullHostName","fuzzBits","gccMurmurHash","gcd","generateRandomStructure","generateSerialID","generateSnowflakeID","generateULID","generateUUIDv4","generateUUIDv7","geoDistance","geoToH3","geoToS2","geohashDecode","geohashEncode","geohashesInBox","getClientHTTPHeader","getMacro","getMaxTableNameLengthForDatabase","getMergeTreeSetting","getOSKernelVersion","getServerPort","getServerSetting","getSetting","getSettingOrDefault","getSizeOfEnumType","getSubcolumn","getTypeSerializationStreams","globalIn","globalInIgnoreSet","globalNotIn","globalNotInIgnoreSet","globalNotNullIn","globalNotNullInIgnoreSet","globalNullIn","globalNullInIgnoreSet","globalVariable","greatCircleAngle","greatCircleDistance","greater","greaterOrEquals","greatest","groupArray","groupArrayInsertAt","groupArrayIntersect","groupArrayLast","groupArrayMovingAvg","groupArrayMovingSum","groupArraySample","groupArraySorted","groupBitAnd","groupBitOr","groupBitXor","groupBitmap","groupBitmapAnd","groupBitmapOr","groupBitmapXor","groupConcat","groupNumericIndexedVector","groupUniqArray","group_concat","h3CellAreaM2","h3CellAreaRads2","h3Distance","h3EdgeAngle","h3EdgeLengthKm","h3EdgeLengthM","h3ExactEdgeLengthKm","h3ExactEdgeLengthM","h3ExactEdgeLengthRads","h3GetBaseCell","h3GetDestinationIndexFromUnidirectionalEdge","h3GetFaces","h3GetIndexesFromUnidirectionalEdge","h3GetOriginIndexFromUnidirectionalEdge","h3GetPentagonIndexes","h3GetRes0Indexes","h3GetResolution","h3GetUnidirectionalEdge","h3GetUnidirectionalEdgeBoundary","h3GetUnidirectionalEdgesFromHexagon","h3HexAreaKm2","h3HexAreaM2","h3HexRing","h3IndexesAreNeighbors","h3IsPentagon","h3IsResClassIII","h3IsValid","h3Line","h3NumHexagons","h3PointDistKm","h3PointDistM","h3PointDistRads","h3ToCenterChild","h3ToChildren","h3ToGeo","h3ToGeoBoundary","h3ToParent","h3ToString","h3UnidirectionalEdgeIsValid","h3kRing","halfMD5","has","hasAll","hasAny","hasColumnInTable","hasSubsequence","hasSubsequenceCaseInsensitive","hasSubsequenceCaseInsensitiveUTF8","hasSubsequenceUTF8","hasSubstr","hasThreadFuzzer","hasToken","hasTokenCaseInsensitive","hasTokenCaseInsensitiveOrNull","hasTokenOrNull","hex","hilbertDecode","hilbertEncode","histogram","hiveHash","hop","hopEnd","hopStart","hostName","hostname","hypot","icebergBucket","icebergHash","icebergTruncate","identity","idnaDecode","idnaEncode","if","ifNotFinite","ifNull","ignore","inIgnoreSet","indexHint","indexOf","indexOfAssumeSorted","initcap","initcapUTF8","initialQueryID","initialQueryStartTime","initial_query_id","initial_query_start_time","initializeAggregation","instr","intDiv","intDivOrNull","intDivOrZero","intExp10","intExp2","intHash32","intHash64","intervalLengthSum","isConstant","isDecimalOverflow","isDynamicElementInSharedData","isFinite","isIPAddressInRange","isIPv4String","isIPv6String","isInfinite","isMergeTreePartCoveredBy","isNaN","isNotDistinctFrom","isNotNull","isNull","isNullable","isValidJSON","isValidUTF8","isZeroOrNull","jaroSimilarity","jaroWinklerSimilarity","javaHash","javaHashUTF16LE","joinGet","joinGetOrNull","jsonMergePatch","jumpConsistentHash","kafkaMurmurHash","keccak256","kolmogorovSmirnovTest","kostikConsistentHash","kql_array_sort_asc","kql_array_sort_desc","kurtPop","kurtSamp","lag","lagInFrame","largestTriangleThreeBuckets","lastValueRespectNulls","last_value","last_value_respect_nulls","lcase","lcm","lead","leadInFrame","least","left","leftPad","leftPadUTF8","leftUTF8","lemmatize","length","lengthUTF8","less","lessOrEquals","levenshteinDistance","levenshteinDistanceUTF8","lgamma","ln","locate","log","log10","log1p","log2","logTrace","lowCardinalityIndices","lowCardinalityKeys","lower","lowerUTF8","lpad","ltrim","lttb","makeDate","makeDate32","makeDateTime","makeDateTime64","mannWhitneyUTest","map","mapAdd","mapAll","mapApply","mapConcat","mapContains","mapContainsKey","mapContainsKeyLike","mapContainsValue","mapContainsValueLike","mapExists","mapExtractKeyLike","mapExtractValueLike","mapFilter","mapFromArrays","mapFromString","mapKeys","mapPartialReverseSort","mapPartialSort","mapPopulateSeries","mapReverseSort","mapSort","mapSubtract","mapUpdate","mapValues","match","materialize","max","max2","maxIntersections","maxIntersectionsPosition","maxMappedArrays","meanZTest","median","medianBFloat16","medianBFloat16Weighted","medianDD","medianDeterministic","medianExact","medianExactHigh","medianExactLow","medianExactWeighted","medianExactWeightedInterpolated","medianGK","medianInterpolatedWeighted","medianTDigest","medianTDigestWeighted","medianTiming","medianTimingWeighted","mergeTreePartInfo","metroHash64","mid","min","min2","minMappedArrays","minSampleSizeContinous","minSampleSizeContinuous","minSampleSizeConversion","minus","mismatches","mod","modOrNull","modulo","moduloLegacy","moduloOrNull","moduloOrZero","monthName","mortonDecode","mortonEncode","multiFuzzyMatchAllIndices","multiFuzzyMatchAny","multiFuzzyMatchAnyIndex","multiIf","multiMatchAllIndices","multiMatchAny","multiMatchAnyIndex","multiSearchAllPositions","multiSearchAllPositionsCaseInsensitive","multiSearchAllPositionsCaseInsensitiveUTF8","multiSearchAllPositionsUTF8","multiSearchAny","multiSearchAnyCaseInsensitive","multiSearchAnyCaseInsensitiveUTF8","multiSearchAnyUTF8","multiSearchFirstIndex","multiSearchFirstIndexCaseInsensitive","multiSearchFirstIndexCaseInsensitiveUTF8","multiSearchFirstIndexUTF8","multiSearchFirstPosition","multiSearchFirstPositionCaseInsensitive","multiSearchFirstPositionCaseInsensitiveUTF8","multiSearchFirstPositionUTF8","multiply","multiplyDecimal","murmurHash2_32","murmurHash2_64","murmurHash3_128","murmurHash3_32","murmurHash3_64","negate","neighbor","nested","netloc","ngramDistance","ngramDistanceCaseInsensitive","ngramDistanceCaseInsensitiveUTF8","ngramDistanceUTF8","ngramMinHash","ngramMinHashArg","ngramMinHashArgCaseInsensitive","ngramMinHashArgCaseInsensitiveUTF8","ngramMinHashArgUTF8","ngramMinHashCaseInsensitive","ngramMinHashCaseInsensitiveUTF8","ngramMinHashUTF8","ngramSearch","ngramSearchCaseInsensitive","ngramSearchCaseInsensitiveUTF8","ngramSearchUTF8","ngramSimHash","ngramSimHashCaseInsensitive","ngramSimHashCaseInsensitiveUTF8","ngramSimHashUTF8","ngrams","nonNegativeDerivative","normL1","normL2","normL2Squared","normLinf","normLp","normalizeL1","normalizeL2","normalizeLinf","normalizeLp","normalizeQuery","normalizeQueryKeepNames","normalizeUTF8NFC","normalizeUTF8NFD","normalizeUTF8NFKC","normalizeUTF8NFKD","normalizedQueryHash","normalizedQueryHashKeepNames","notEmpty","notEquals","notILike","notIn","notInIgnoreSet","notLike","notNullIn","notNullInIgnoreSet","nothing","nothingNull","nothingUInt64","now","now64","nowInBlock","nowInBlock64","nth_value","ntile","nullIf","nullIn","nullInIgnoreSet","numbers","numericIndexedVectorAllValueSum","numericIndexedVectorBuild","numericIndexedVectorCardinality","numericIndexedVectorGetValue","numericIndexedVectorPointwiseAdd","numericIndexedVectorPointwiseDivide","numericIndexedVectorPointwiseEqual","numericIndexedVectorPointwiseGreater","numericIndexedVectorPointwiseGreaterEqual","numericIndexedVectorPointwiseLess","numericIndexedVectorPointwiseLessEqual","numericIndexedVectorPointwiseMultiply","numericIndexedVectorPointwiseNotEqual","numericIndexedVectorPointwiseSubtract","numericIndexedVectorShortDebugString","numericIndexedVectorToMap","overlay","overlayUTF8","parseDateTime","parseDateTime32BestEffort","parseDateTime32BestEffortOrNull","parseDateTime32BestEffortOrZero","parseDateTime64","parseDateTime64BestEffort","parseDateTime64BestEffortOrNull","parseDateTime64BestEffortOrZero","parseDateTime64BestEffortUS","parseDateTime64BestEffortUSOrNull","parseDateTime64BestEffortUSOrZero","parseDateTime64InJodaSyntax","parseDateTime64InJodaSyntaxOrNull","parseDateTime64InJodaSyntaxOrZero","parseDateTime64OrNull","parseDateTime64OrZero","parseDateTimeBestEffort","parseDateTimeBestEffortOrNull","parseDateTimeBestEffortOrZero","parseDateTimeBestEffortUS","parseDateTimeBestEffortUSOrNull","parseDateTimeBestEffortUSOrZero","parseDateTimeInJodaSyntax","parseDateTimeInJodaSyntaxOrNull","parseDateTimeInJodaSyntaxOrZero","parseDateTimeOrNull","parseDateTimeOrZero","parseReadableSize","parseReadableSizeOrNull","parseReadableSizeOrZero","parseTimeDelta","partitionID","partitionId","path","pathFull","percentRank","percent_rank","pi","plus","pmod","pmodOrNull","pointInEllipses","pointInPolygon","polygonAreaCartesian","polygonAreaSpherical","polygonConvexHullCartesian","polygonPerimeterCartesian","polygonPerimeterSpherical","polygonsDistanceCartesian","polygonsDistanceSpherical","polygonsEqualsCartesian","polygonsIntersectCartesian","polygonsIntersectSpherical","polygonsIntersectionCartesian","polygonsIntersectionSpherical","polygonsSymDifferenceCartesian","polygonsSymDifferenceSpherical","polygonsUnionCartesian","polygonsUnionSpherical","polygonsWithinCartesian","polygonsWithinSpherical","port","portRFC","position","positionCaseInsensitive","positionCaseInsensitiveUTF8","positionUTF8","positiveModulo","positiveModuloOrNull","positive_modulo","positive_modulo_or_null","pow","power","printf","proportionsZTest","protocol","punycodeDecode","punycodeEncode","quantile","quantileBFloat16","quantileBFloat16Weighted","quantileDD","quantileDeterministic","quantileExact","quantileExactExclusive","quantileExactHigh","quantileExactInclusive","quantileExactLow","quantileExactWeighted","quantileExactWeightedInterpolated","quantileGK","quantileInterpolatedWeighted","quantileTDigest","quantileTDigestWeighted","quantileTiming","quantileTimingWeighted","quantiles","quantilesBFloat16","quantilesBFloat16Weighted","quantilesDD","quantilesDeterministic","quantilesExact","quantilesExactExclusive","quantilesExactHigh","quantilesExactInclusive","quantilesExactLow","quantilesExactWeighted","quantilesExactWeightedInterpolated","quantilesGK","quantilesInterpolatedWeighted","quantilesTDigest","quantilesTDigestWeighted","quantilesTiming","quantilesTimingWeighted","queryID","queryString","queryStringAndFragment","query_id","radians","rand","rand32","rand64","randBernoulli","randBinomial","randCanonical","randChiSquared","randConstant","randExponential","randFisherF","randLogNormal","randNegativeBinomial","randNormal","randPoisson","randStudentT","randUniform","randomFixedString","randomPrintableASCII","randomString","randomStringUTF8","rank","rankCorr","readWKBLineString","readWKBMultiLineString","readWKBMultiPolygon","readWKBPoint","readWKBPolygon","readWKTLineString","readWKTMultiLineString","readWKTMultiPolygon","readWKTPoint","readWKTPolygon","readWKTRing","regexpExtract","regexpQuoteMeta","regionHierarchy","regionIn","regionToArea","regionToCity","regionToContinent","regionToCountry","regionToDistrict","regionToName","regionToPopulation","regionToTopContinent","reinterpret","reinterpretAsDate","reinterpretAsDateTime","reinterpretAsFixedString","reinterpretAsFloat32","reinterpretAsFloat64","reinterpretAsInt128","reinterpretAsInt16","reinterpretAsInt256","reinterpretAsInt32","reinterpretAsInt64","reinterpretAsInt8","reinterpretAsString","reinterpretAsUInt128","reinterpretAsUInt16","reinterpretAsUInt256","reinterpretAsUInt32","reinterpretAsUInt64","reinterpretAsUInt8","reinterpretAsUUID","repeat","replace","replaceAll","replaceOne","replaceRegexpAll","replaceRegexpOne","replicate","retention","reverse","reverseUTF8","revision","right","rightPad","rightPadUTF8","rightUTF8","round","roundAge","roundBankers","roundDown","roundDuration","roundToExp2","rowNumberInAllBlocks","rowNumberInBlock","row_number","rpad","rtrim","runningAccumulate","runningConcurrency","runningDifference","runningDifferenceStartingWithFirstValue","s2CapContains","s2CapUnion","s2CellsIntersect","s2GetNeighbors","s2RectAdd","s2RectContains","s2RectIntersection","s2RectUnion","s2ToGeo","scalarProduct","searchAll","searchAny","sequenceCount","sequenceMatch","sequenceMatchEvents","sequenceNextNode","seriesDecomposeSTL","seriesOutliersDetectTukey","seriesPeriodDetectFFT","serverTimeZone","serverTimezone","serverUUID","shardCount","shardNum","showCertificate","sigmoid","sign","simpleJSONExtractBool","simpleJSONExtractFloat","simpleJSONExtractInt","simpleJSONExtractRaw","simpleJSONExtractString","simpleJSONExtractUInt","simpleJSONHas","simpleLinearRegression","sin","singleValueOrNull","sinh","sipHash128","sipHash128Keyed","sipHash128Reference","sipHash128ReferenceKeyed","sipHash64","sipHash64Keyed","skewPop","skewSamp","sleep","sleepEachRow","snowflakeIDToDateTime","snowflakeIDToDateTime64","snowflakeToDateTime","snowflakeToDateTime64","soundex","space","sparkBar","sparkbar","sparseGrams","sparseGramsHashes","sparseGramsHashesUTF8","sparseGramsUTF8","splitByAlpha","splitByChar","splitByNonAlpha","splitByRegexp","splitByString","splitByWhitespace","sqid","sqidDecode","sqidEncode","sqrt","startsWith","startsWithUTF8","stddevPop","stddevPopStable","stddevSamp","stddevSampStable","stem","stochasticLinearRegression","stochasticLogisticRegression","str_to_date","str_to_map","stringBytesEntropy","stringBytesUniq","stringJaccardIndex","stringJaccardIndexUTF8","stringToH3","structureToCapnProtoSchema","structureToProtobufSchema","studentTTest","subBitmap","subDate","substr","substring","substringIndex","substringIndexUTF8","substringUTF8","subtractDays","subtractHours","subtractInterval","subtractMicroseconds","subtractMilliseconds","subtractMinutes","subtractMonths","subtractNanoseconds","subtractQuarters","subtractSeconds","subtractTupleOfIntervals","subtractWeeks","subtractYears","sum","sumCount","sumKahan","sumMapFiltered","sumMapFilteredWithOverflow","sumMapWithOverflow","sumMappedArrays","sumWithOverflow","svg","synonyms","tan","tanh","tcpPort","tgamma","theilsU","throwIf","tid","timeDiff","timeSeriesDeltaToGrid","timeSeriesDerivToGrid","timeSeriesFromGrid","timeSeriesGroupArray","timeSeriesIdToTags","timeSeriesIdToTagsGroup","timeSeriesIdeltaToGrid","timeSeriesInstantDeltaToGrid","timeSeriesInstantRateToGrid","timeSeriesIrateToGrid","timeSeriesLastToGrid","timeSeriesLastTwoSamples","timeSeriesPredictLinearToGrid","timeSeriesRange","timeSeriesRateToGrid","timeSeriesResampleToGridWithStaleness","timeSeriesStoreTags","timeSeriesTagsGroupToTags","timeSlot","timeSlots","timeZone","timeZoneOf","timeZoneOffset","time_bucket","timestamp","timestampDiff","timestamp_diff","timezone","timezoneOf","timezoneOffset","toBFloat16","toBFloat16OrNull","toBFloat16OrZero","toBool","toColumnTypeName","toDate","toDate32","toDate32OrDefault","toDate32OrNull","toDate32OrZero","toDateOrDefault","toDateOrNull","toDateOrZero","toDateTime","toDateTime32","toDateTime64","toDateTime64OrDefault","toDateTime64OrNull","toDateTime64OrZero","toDateTimeOrDefault","toDateTimeOrNull","toDateTimeOrZero","toDayOfMonth","toDayOfWeek","toDayOfYear","toDaysSinceYearZero","toDecimal128","toDecimal128OrDefault","toDecimal128OrNull","toDecimal128OrZero","toDecimal256","toDecimal256OrDefault","toDecimal256OrNull","toDecimal256OrZero","toDecimal32","toDecimal32OrDefault","toDecimal32OrNull","toDecimal32OrZero","toDecimal64","toDecimal64OrDefault","toDecimal64OrNull","toDecimal64OrZero","toDecimalString","toFixedString","toFloat32","toFloat32OrDefault","toFloat32OrNull","toFloat32OrZero","toFloat64","toFloat64OrDefault","toFloat64OrNull","toFloat64OrZero","toHour","toIPv4","toIPv4OrDefault","toIPv4OrNull","toIPv4OrZero","toIPv6","toIPv6OrDefault","toIPv6OrNull","toIPv6OrZero","toISOWeek","toISOYear","toInt128","toInt128OrDefault","toInt128OrNull","toInt128OrZero","toInt16","toInt16OrDefault","toInt16OrNull","toInt16OrZero","toInt256","toInt256OrDefault","toInt256OrNull","toInt256OrZero","toInt32","toInt32OrDefault","toInt32OrNull","toInt32OrZero","toInt64","toInt64OrDefault","toInt64OrNull","toInt64OrZero","toInt8","toInt8OrDefault","toInt8OrNull","toInt8OrZero","toInterval","toIntervalDay","toIntervalHour","toIntervalMicrosecond","toIntervalMillisecond","toIntervalMinute","toIntervalMonth","toIntervalNanosecond","toIntervalQuarter","toIntervalSecond","toIntervalWeek","toIntervalYear","toJSONString","toLastDayOfMonth","toLastDayOfWeek","toLowCardinality","toMillisecond","toMinute","toModifiedJulianDay","toModifiedJulianDayOrNull","toMonday","toMonth","toMonthNumSinceEpoch","toNullable","toQuarter","toRelativeDayNum","toRelativeHourNum","toRelativeMinuteNum","toRelativeMonthNum","toRelativeQuarterNum","toRelativeSecondNum","toRelativeWeekNum","toRelativeYearNum","toSecond","toStartOfDay","toStartOfFifteenMinutes","toStartOfFiveMinute","toStartOfFiveMinutes","toStartOfHour","toStartOfISOYear","toStartOfInterval","toStartOfMicrosecond","toStartOfMillisecond","toStartOfMinute","toStartOfMonth","toStartOfNanosecond","toStartOfQuarter","toStartOfSecond","toStartOfTenMinutes","toStartOfWeek","toStartOfYear","toString","toStringCutToZero","toTime","toTime64","toTime64OrNull","toTime64OrZero","toTimeOrNull","toTimeOrZero","toTimeWithFixedDate","toTimeZone","toTimezone","toTypeName","toUInt128","toUInt128OrDefault","toUInt128OrNull","toUInt128OrZero","toUInt16","toUInt16OrDefault","toUInt16OrNull","toUInt16OrZero","toUInt256","toUInt256OrDefault","toUInt256OrNull","toUInt256OrZero","toUInt32","toUInt32OrDefault","toUInt32OrNull","toUInt32OrZero","toUInt64","toUInt64OrDefault","toUInt64OrNull","toUInt64OrZero","toUInt8","toUInt8OrDefault","toUInt8OrNull","toUInt8OrZero","toUTCTimestamp","toUUID","toUUIDOrDefault","toUUIDOrNull","toUUIDOrZero","toUnixTimestamp","toUnixTimestamp64Micro","toUnixTimestamp64Milli","toUnixTimestamp64Nano","toUnixTimestamp64Second","toValidUTF8","toWeek","toYYYYMM","toYYYYMMDD","toYYYYMMDDhhmmss","toYear","toYearNumSinceEpoch","toYearWeek","to_utc_timestamp","today","tokens","topK","topKWeighted","topLevelDomain","topLevelDomainRFC","transactionID","transactionLatestSnapshot","transactionOldestSnapshot","transform","translate","translateUTF8","trim","trimBoth","trimLeft","trimRight","trunc","tryBase32Decode","tryBase58Decode","tryBase64Decode","tryBase64URLDecode","tryDecrypt","tryIdnaEncode","tryPunycodeDecode","tumble","tumbleEnd","tumbleStart","tuple","tupleConcat","tupleDivide","tupleDivideByNumber","tupleElement","tupleHammingDistance","tupleIntDiv","tupleIntDivByNumber","tupleIntDivOrZero","tupleIntDivOrZeroByNumber","tupleMinus","tupleModulo","tupleModuloByNumber","tupleMultiply","tupleMultiplyByNumber","tupleNames","tupleNegate","tuplePlus","tupleToNameValuePairs","ucase","unbin","unhex","uniq","uniqCombined","uniqCombined64","uniqExact","uniqHLL12","uniqTheta","uniqThetaIntersect","uniqThetaNot","uniqThetaUnion","uniqUpTo","upper","upperUTF8","uptime","user","validateNestedArraySizes","varPop","varPopStable","varSamp","varSampStable","variantElement","variantType","vectorDifference","vectorSum","version","visibleWidth","visitParamExtractBool","visitParamExtractFloat","visitParamExtractInt","visitParamExtractRaw","visitParamExtractString","visitParamExtractUInt","visitParamHas","week","welchTTest","widthBucket","width_bucket","windowFunnel","windowID","wkb","wkt","wordShingleMinHash","wordShingleMinHashArg","wordShingleMinHashArgCaseInsensitive","wordShingleMinHashArgCaseInsensitiveUTF8","wordShingleMinHashArgUTF8","wordShingleMinHashCaseInsensitive","wordShingleMinHashCaseInsensitiveUTF8","wordShingleMinHashUTF8","wordShingleSimHash","wordShingleSimHashCaseInsensitive","wordShingleSimHashCaseInsensitiveUTF8","wordShingleSimHashUTF8","wyHash64","xor","xxHash32","xxHash64","xxh3","yandexConsistentHash","yearweek","yesterday","zookeeperSessionUptime","MergeTree","ReplacingMergeTree","SummingMergeTree","AggregatingMergeTree","CollapsingMergeTree","VersionedCollapsingMergeTree","GraphiteMergeTree","CoalescingMergeTree","Atomic","Shared","Lazy","Replicated","PostgreSQL","MySQL","SQLite","MaterializedPostgreSQL","DataLakeCatalog"],No=["ACCESS","ACTION","ADD","ADMIN","AFTER","ALGORITHM","ALIAS","ALL","ALLOWED_LATENESS","ALTER","AND","ANTI","APPEND","APPLY","AS","ASC","ASCENDING","ASOF","ASSUME","AST","ASYNC","ATTACH","AUTO_INCREMENT","AZURE","BACKUP","BAGEXPANSION","BASE_BACKUP","BCRYPT_HASH","BCRYPT_PASSWORD","BEGIN","BETWEEN","BIDIRECTIONAL","BOTH","BY","CACHE","CACHES","CASCADE","CASE","CHANGE","CHANGEABLE_IN_READONLY","CHANGED","CHARACTER","CHECK","CLEANUP","CLEAR","CLUSTER","CLUSTERS","CLUSTER_HOST_IDS","CN","CODEC","COLLATE","COLLECTION","COLUMN","COLUMNS","COMMENT","COMMIT","COMPRESSION","CONST","CONSTRAINT","CREATE","CROSS","CUBE","CURRENT","D","DATA","DATABASE","DATABASES","DAYS","DD","DDL","DEDUPLICATE","DEFAULT","DEFINER","DELAY","DELETE","DELETED","DEPENDS","DESC","DESCENDING","DESCRIBE","DETACH","DETACHED","DICTIONARIES","DICTIONARY","DISK","DISTINCT","DIV","DOUBLE_SHA1_HASH","DOUBLE_SHA1_PASSWORD","DROP","ELSE","ENABLED","END","ENFORCED","ENGINE","ENGINES","EPHEMERAL","ESTIMATE","EVENT","EVENTS","EVERY","EXCEPT","EXCHANGE","EXISTS","EXPLAIN","EXPRESSION","EXTENDED","EXTERNAL","FAKE","FALSE","FETCH","FIELDS","FILESYSTEM","FILL","FILTER","FINAL","FIRST","FOLLOWING","FOR","FOREIGN","FORMAT","FREEZE","FROM","FULL","FULLTEXT","FUNCTION","FUNCTIONS","GLOBAL","GRANT","GRANTEES","GRANTS","GRANULARITY","GROUP","GROUPING","GROUPS","H","HASH","HAVING","HDFS","HH","HIERARCHICAL","HOST","HOURS","HTTP","IDENTIFIED","ILIKE","IN","INDEX","INDEXES","INDICES","INFILE","INHERIT","INJECTIVE","INNER","INSERT","INTERPOLATE","INTERSECT","INTERVAL","INTO","INVISIBLE","INVOKER","IP","IS","IS_OBJECT_ID","JOIN","JWT","KERBEROS","KEY","KEYED","KEYS","KILL","KIND","LARGE","LAST","LAYOUT","LDAP","LEADING","LEVEL","LIFETIME","LIGHTWEIGHT","LIKE","LIMIT","LIMITS","LINEAR","LIST","LIVE","LOCAL","M","MASK","MATERIALIZED","MCS","MEMORY","MERGES","METRICS","MI","MICROSECOND","MICROSECONDS","MILLISECONDS","MINUTES","MM","MODIFY","MONTHS","MOVE","MS","MUTATION","N","NAME","NAMED","NANOSECOND","NANOSECONDS","NEXT","NO","NONE","NOT","NO_PASSWORD","NS","NULL","NULLS","OBJECT","OFFSET","ON","ONLY","OPTIMIZE","OPTION","OR","ORDER","OUTER","OUTFILE","OVER","OVERRIDABLE","OVERRIDE","PART","PARTIAL","PARTITION","PARTITIONS","PART_MOVE_TO_SHARD","PASTE","PERIODIC","PERMANENTLY","PERMISSIVE","PERSISTENT","PIPELINE","PLAINTEXT_PASSWORD","PLAN","POLICY","POPULATE","PRECEDING","PRECISION","PREWHERE","PRIMARY","PRIVILEGES","PROCESSLIST","PROFILE","PROJECTION","PROTOBUF","PULL","Q","QQ","QUALIFY","QUARTERS","QUERY","QUOTA","RANDOMIZE","RANDOMIZED","RANGE","READONLY","REALM","RECOMPRESS","RECURSIVE","REFERENCES","REFRESH","REGEXP","REMOVE","RENAME","RESET","RESPECT","RESTORE","RESTRICT","RESTRICTIVE","RESUME","REVOKE","ROLE","ROLES","ROLLBACK","ROLLUP","ROW","ROWS","S","S3","SALT","SAMPLE","SAN","SCHEME","SECONDS","SECURITY","SELECT","SEMI","SEQUENTIAL","SERVER","SET","SETS","SETTING","SETTINGS","SHA256_HASH","SHA256_PASSWORD","SHARD","SHOW","SIGNED","SIMPLE","SNAPSHOT","SOURCE","SPATIAL","SQL","SQL_TSI_DAY","SQL_TSI_HOUR","SQL_TSI_MICROSECOND","SQL_TSI_MILLISECOND","SQL_TSI_MINUTE","SQL_TSI_MONTH","SQL_TSI_NANOSECOND","SQL_TSI_QUARTER","SQL_TSI_SECOND","SQL_TSI_WEEK","SQL_TSI_YEAR","SS","SSH_KEY","SSL_CERTIFICATE","STALENESS","START","STATISTICS","STDOUT","STEP","STORAGE","STRICT","STRICTLY_ASCENDING","SUBPARTITION","SUBPARTITIONS","SUSPEND","SYNC","SYNTAX","SYSTEM","TABLE","TABLES","TAGS","TEMPORARY","TEST","THAN","THEN","TIES","TIME","TO","TOP","TOTALS","TRACKING","TRAILING","TRANSACTION","TREE","TRIGGER","TRUE","TRUNCATE","TTL","TYPE","TYPEOF","UNBOUNDED","UNDROP","UNFREEZE","UNION","UNIQUE","UNSET","UNSIGNED","UNTIL","UPDATE","URL","USE","USING","UUID","VALID","VALUES","VARYING","VIEW","VISIBLE","VOLUME","WATCH","WATERMARK","WEEKS","WHEN","WHERE","WINDOW","WITH","WITH_ITEMINDEX","WK","WRITABLE","WW","YEARS","YY","YYYY","ZKPATH"],Io=["AGGREGATEFUNCTION","ARRAY","BFLOAT16","BIGINT","BIGINT SIGNED","BIGINT UNSIGNED","BINARY","BINARY LARGE OBJECT","BINARY VARYING","BIT","BLOB","BYTE","BYTEA","BOOL","CHAR","CHAR LARGE OBJECT","CHAR VARYING","CHARACTER","CHARACTER LARGE OBJECT","CHARACTER VARYING","CLOB","DEC","DOUBLE","DOUBLE PRECISION","DATE","DATE32","DATETIME","DATETIME32","DATETIME64","DECIMAL","DECIMAL128","DECIMAL256","DECIMAL32","DECIMAL64","DYNAMIC","ENUM","ENUM","ENUM16","ENUM8","FIXED","FLOAT","FIXEDSTRING","FLOAT32","FLOAT64","GEOMETRY","INET4","INET6","INT","INT SIGNED","INT UNSIGNED","INT1","INT1 SIGNED","INT1 UNSIGNED","INTEGER","INTEGER SIGNED","INTEGER UNSIGNED","IPV4","IPV6","INT128","INT16","INT256","INT32","INT64","INT8","INTERVALDAY","INTERVALHOUR","INTERVALMICROSECOND","INTERVALMILLISECOND","INTERVALMINUTE","INTERVALMONTH","INTERVALNANOSECOND","INTERVALQUARTER","INTERVALSECOND","INTERVALWEEK","INTERVALYEAR","JSON","LONGBLOB","LONGTEXT","LINESTRING","LOWCARDINALITY","MEDIUMBLOB","MEDIUMINT","MEDIUMINT SIGNED","MEDIUMINT UNSIGNED","MEDIUMTEXT","MAP","MULTILINESTRING","MULTIPOLYGON","NATIONAL CHAR","NATIONAL CHAR VARYING","NATIONAL CHARACTER","NATIONAL CHARACTER LARGE OBJECT","NATIONAL CHARACTER VARYING","NCHAR","NCHAR LARGE OBJECT","NCHAR VARYING","NUMERIC","NVARCHAR","NESTED","NOTHING","NULLABLE","OBJECT","POINT","POLYGON","REAL","RING","SET","SIGNED","SINGLE","SMALLINT","SMALLINT SIGNED","SMALLINT UNSIGNED","SIMPLEAGGREGATEFUNCTION","STRING","TEXT","TIMESTAMP","TINYBLOB","TINYINT","TINYINT SIGNED","TINYINT UNSIGNED","TINYTEXT","TIME","TIME64","TUPLE","UINT128","UINT16","UINT256","UINT32","UINT64","UINT8","UNSIGNED","UUID","VARBINARY","VARCHAR","VARCHAR2","VARIANT","YEAR","BOOL","BOOLEAN"],Oo=G(["SELECT [DISTINCT]","MODIFY QUERY SELECT [DISTINCT]"]),lo=G(["SET","WITH","FROM","SAMPLE","PREWHERE","WHERE","GROUP BY","HAVING","QUALIFY","ORDER BY","LIMIT","SETTINGS","INTO OUTFILE","FORMAT","WINDOW","PARTITION BY","INSERT INTO","VALUES","DEPENDS ON","MOVE {USER | ROLE | QUOTA | SETTINGS PROFILE | ROW POLICY}","GRANT","REVOKE","CHECK GRANT","SET [DEFAULT] ROLE [NONE | ALL | ALL EXCEPT]","DEDUPLICATE BY","MODIFY STATISTICS","TYPE","ALTER USER [IF EXISTS]","ALTER [ROW] POLICY [IF EXISTS]","DROP {USER | ROLE | QUOTA | PROFILE | SETTINGS PROFILE | ROW POLICY | POLICY} [IF EXISTS]"]),sr=G(["CREATE [OR REPLACE] [TEMPORARY] TABLE [IF NOT EXISTS]"]),rE=G(["ALL EXCEPT","ON CLUSTER","UPDATE","SYSTEM RELOAD {DICTIONARIES | DICTIONARY | FUNCTIONS | FUNCTION | ASYNCHRONOUS METRICS}","SYSTEM DROP {DNS CACHE | MARK CACHE | ICEBERG METADATA CACHE | TEXT INDEX DICTIONARY CACHE | TEXT INDEX HEADER CACHE | TEXT INDEX POSTINGS CACHE | REPLICA | DATABASE REPLICA | UNCOMPRESSED CACHE | COMPILED EXPRESSION CACHE | QUERY CONDITION CACHE | QUERY CACHE | FORMAT SCHEMA CACHE | FILESYSTEM CACHE}","SYSTEM FLUSH LOGS","SYSTEM RELOAD {CONFIG | USERS}","SYSTEM SHUTDOWN","SYSTEM KILL","SYSTEM FLUSH DISTRIBUTED","SYSTEM START DISTRIBUTED SENDS","SYSTEM {STOP | START} {LISTEN | MERGES | TTL MERGES | MOVES | FETCHES | REPLICATED SENDS | REPLICATION QUEUES | PULLING REPLICATION LOG}","SYSTEM {SYNC | RESTART | RESTORE} REPLICA","SYSTEM {SYNC | RESTORE} DATABASE REPLICA","SYSTEM RESTART REPLICAS","SYSTEM UNFREEZE","SYSTEM WAIT LOADING PARTS","SYSTEM {LOAD | UNLOAD} PRIMARY KEY","SYSTEM {STOP | START} [REPLICATED] VIEW","SYSTEM {STOP | START} VIEWS","SYSTEM {REFRESH | CANCEL | WAIT} VIEW","WITH NAME","SHOW [CREATE] {TABLE | TEMPORARY TABLE | DICTIONARY | VIEW | DATABASE}","SHOW DATABASES [[NOT] {LIKE | ILIKE}]","SHOW [FULL] [TEMPORARY] TABLES [FROM | IN]","SHOW [EXTENDED] [FULL] COLUMNS {FROM | IN}","ATTACH {TABLE | DICTIONARY | DATABASE} [IF NOT EXISTS]","DETACH {TABLE | DICTIONARY | DATABASE} [IF EXISTS]","PERMANENTLY","SYNC","DROP {DICTIONARY | DATABASE | PROFILE | VIEW | FUNCTION | NAMED COLLECTION} [IF EXISTS]","DROP [TEMPORARY] TABLE [IF EXISTS] [IF EMPTY]","RENAME TO","EXISTS [TEMPORARY] {TABLE | DICTIONARY | DATABASE}","KILL QUERY","OPTIMIZE TABLE","RENAME {TABLE | DICTIONARY | DATABASE}","EXCHANGE {TABLES | DICTIONARIES}","TRUNCATE TABLE [IF EXISTS]","EXECUTE AS","USE","TO","UNDROP TABLE","CREATE {DATABASE | NAMED COLLECTION} [IF NOT EXISTS]","CREATE [OR REPLACE] {VIEW | DICTIONARY} [IF NOT EXISTS]","CREATE MATERIALIZED VIEW [IF NOT EXISTS]","CREATE FUNCTION","CREATE {USER | ROLE | QUOTA | SETTINGS PROFILE} [IF NOT EXISTS | OR REPLACE]","CREATE [ROW] POLICY [IF NOT EXISTS | OR REPLACE]","REPLACE [TEMPORARY] TABLE [IF NOT EXISTS]","ALTER {ROLE | QUOTA | SETTINGS PROFILE} [IF EXISTS]","ALTER [TEMPORARY] TABLE","ALTER NAMED COLLECTION [IF EXISTS]","GRANTEES","NOT IDENTIFIED","RESET AUTHENTICATION METHODS TO NEW","{IDENTIFIED | ADD IDENTIFIED} [WITH | BY]","[ADD | DROP] HOST {LOCAL | NAME | REGEXP | IP | LIKE}","VALID UNTIL","DROP [ALL] {PROFILES | SETTINGS}","{ADD | MODIFY} SETTINGS","ADD PROFILES","APPLY DELETED MASK","IN PARTITION","{ADD | DROP | RENAME | CLEAR | COMMENT | MODIFY | ALTER | MATERIALIZE} COLUMN","{DETACH | DROP | ATTACH | FETCH | MOVE} {PART | PARTITION}","DROP DETACHED {PART | PARTITION}","{FORGET | REPLACE} PARTITION","CLEAR COLUMN","{FREEZE | UNFREEZE} [PARTITION]","CLEAR INDEX","TO {DISK | VOLUME}","[DELETE | REWRITE PARTS] IN PARTITION","{MODIFY | RESET} SETTING","DELETE WHERE","MODIFY ORDER BY","{MODIFY | REMOVE} SAMPLE BY","{ADD | MATERIALIZE | CLEAR} INDEX [IF NOT EXISTS]","DROP INDEX [IF EXISTS]","GRANULARITY","AFTER","FIRST","ADD CONSTRAINT [IF NOT EXISTS]","DROP CONSTRAINT [IF EXISTS]","MODIFY TTL","REMOVE TTL","ADD STATISTICS [IF NOT EXISTS]","{DROP | CLEAR} STATISTICS [IF EXISTS]","MATERIALIZE STATISTICS [ALL | IF EXISTS]","KEYED BY","NOT KEYED","FOR [RANDOMIZED] INTERVAL","AS {PERMISSIVE | RESTRICTIVE}","FOR SELECT","ADD PROJECTION [IF NOT EXISTS]","{DROP | MATERIALIZE | CLEAR} PROJECTION [IF EXISTS]","REFRESH {EVERY | AFTER}","RANDOMIZE FOR","APPEND","APPEND TO","DELETE FROM","EXPLAIN [AST | SYNTAX | QUERY TREE | PLAN | PIPELINE | ESTIMATE | TABLE OVERRIDE]","GRANT ON CLUSTER","GRANT CURRENT GRANTS","WITH GRANT OPTION","REVOKE ON CLUSTER","ADMIN OPTION FOR","CHECK TABLE","PARTITION ID","{DESC | DESCRIBE} TABLE"]),uo=G(["UNION [ALL | DISTINCT]","PARALLEL WITH"]),Co=G(["[GLOBAL] [INNER|LEFT|RIGHT|FULL|CROSS] [OUTER|SEMI|ANTI|ANY|ALL|ASOF] JOIN","[LEFT] ARRAY JOIN"]),co=G(["{ROWS | RANGE} BETWEEN","ALTER MATERIALIZE STATISTICS"]),_o={name:"clickhouse",tokenizerOptions:{reservedSelect:Oo,reservedClauses:[...lo,...sr,...rE],reservedSetOperations:uo,reservedJoins:Co,reservedKeywordPhrases:co,reservedKeywords:No,reservedDataTypes:Io,reservedFunctionNames:So,extraParens:["[]","{}"],lineCommentTypes:["#","--"],nestedBlockComments:!1,underscoresInNumbers:!0,stringTypes:["$$","''-qq-bs"],identTypes:['""-qq-bs',"``"],paramTypes:{custom:[{regex:String.raw`\{[^:']+:[^}]+\}`,key:E=>{const t=/\{([^:]+):/.exec(E);return t?t[1].trim():E}}]},operators:["%","||","?",":","==","<=>","->"],postProcess:Lo},formatOptions:{onelineClauses:[...sr,...rE],tabularOnelineClauses:rE}};function Lo(E){return E.map((t,r)=>{const n=E[r+1]||It,s=E[r-1]||It;return t.type===K.RESERVED_SELECT&&(n.type===K.COMMA||s.type===K.RESERVED_CLAUSE||s.type===K.COMMA)?Object.assign(Object.assign({},t),{type:K.RESERVED_KEYWORD}):Ot.SET(t)&&n.type===K.OPEN_PAREN?Object.assign(Object.assign({},t),{type:K.RESERVED_FUNCTION_NAME}):t})}const Do=["ARRAY_AGG","AVG","CORRELATION","COUNT","COUNT_BIG","COVARIANCE","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","STDDEV_SAMP","SUM","VARIANCE","VARIANCE_SAMP","XMLAGG","XMLGROUP","ABS","ABSVAL","ACOS","ADD_DAYS","ADD_HOURS","ADD_MINUTES","ADD_MONTHS","ADD_SECONDS","ADD_YEARS","AGE","ARRAY_DELETE","ARRAY_FIRST","ARRAY_LAST","ARRAY_NEXT","ARRAY_PRIOR","ASCII","ASCII_STR","ASIN","ATAN","ATAN2","ATANH","BITAND","BITANDNOT","BITOR","BITXOR","BITNOT","BPCHAR","BSON_TO_JSON","BTRIM","CARDINALITY","CEILING","CEIL","CHARACTER_LENGTH","CHR","COALESCE","COLLATION_KEY","COLLATION_KEY_BIT","COMPARE_DECFLOAT","CONCAT","COS","COSH","COT","CURSOR_ROWCOUNT","DATAPARTITIONNUM","DATE_PART","DATE_TRUNC","DAY","DAYNAME","DAYOFMONTH","DAYOFWEEK","DAYOFWEEK_ISO","DAYOFYEAR","DAYS","DAYS_BETWEEN","DAYS_TO_END_OF_MONTH","DBPARTITIONNUM","DECFLOAT","DECFLOAT_FORMAT","DECODE","DECRYPT_BIN","DECRYPT_CHAR","DEGREES","DEREF","DIFFERENCE","DIGITS","DOUBLE_PRECISION","EMPTY_BLOB","EMPTY_CLOB","EMPTY_DBCLOB","EMPTY_NCLOB","ENCRYPT","EVENT_MON_STATE","EXP","EXTRACT","FIRST_DAY","FLOOR","FROM_UTC_TIMESTAMP","GENERATE_UNIQUE","GETHINT","GREATEST","HASH","HASH4","HASH8","HASHEDVALUE","HEX","HEXTORAW","HOUR","HOURS_BETWEEN","IDENTITY_VAL_LOCAL","IFNULL","INITCAP","INSERT","INSTR","INSTR2","INSTR4","INSTRB","INTNAND","INTNOR","INTNXOR","INTNNOT","ISNULL","JSON_ARRAY","JSON_OBJECT","JSON_QUERY","JSON_TO_BSON","JSON_VALUE","JULIAN_DAY","LAST_DAY","LCASE","LEAST","LEFT","LENGTH","LENGTH2","LENGTH4","LENGTHB","LN","LOCATE","LOCATE_IN_STRING","LOG10","LONG_VARCHAR","LONG_VARGRAPHIC","LOWER","LPAD","LTRIM","MAX","MAX_CARDINALITY","MICROSECOND","MIDNIGHT_SECONDS","MIN","MINUTE","MINUTES_BETWEEN","MOD","MONTH","MONTHNAME","MONTHS_BETWEEN","MULTIPLY_ALT","NEXT_DAY","NEXT_MONTH","NEXT_QUARTER","NEXT_WEEK","NEXT_YEAR","NORMALIZE_DECFLOAT","NOW","NULLIF","NVL","NVL2","OCTET_LENGTH","OVERLAY","PARAMETER","POSITION","POSSTR","POW","POWER","QUANTIZE","QUARTER","QUOTE_IDENT","QUOTE_LITERAL","RADIANS","RAISE_ERROR","RAND","RANDOM","RAWTOHEX","REC2XML","REGEXP_COUNT","REGEXP_EXTRACT","REGEXP_INSTR","REGEXP_LIKE","REGEXP_MATCH_COUNT","REGEXP_REPLACE","REGEXP_SUBSTR","REPEAT","REPLACE","RID","RID_BIT","RIGHT","ROUND","ROUND_TIMESTAMP","RPAD","RTRIM","SECLABEL","SECLABEL_BY_NAME","SECLABEL_TO_CHAR","SECOND","SECONDS_BETWEEN","SIGN","SIN","SINH","SOUNDEX","SPACE","SQRT","STRIP","STRLEFT","STRPOS","STRRIGHT","SUBSTR","SUBSTR2","SUBSTR4","SUBSTRB","SUBSTRING","TABLE_NAME","TABLE_SCHEMA","TAN","TANH","THIS_MONTH","THIS_QUARTER","THIS_WEEK","THIS_YEAR","TIMESTAMP_FORMAT","TIMESTAMP_ISO","TIMESTAMPDIFF","TIMEZONE","TO_CHAR","TO_CLOB","TO_DATE","TO_HEX","TO_MULTI_BYTE","TO_NCHAR","TO_NCLOB","TO_NUMBER","TO_SINGLE_BYTE","TO_TIMESTAMP","TO_UTC_TIMESTAMP","TOTALORDER","TRANSLATE","TRIM","TRIM_ARRAY","TRUNC_TIMESTAMP","TRUNCATE","TRUNC","TYPE_ID","TYPE_NAME","TYPE_SCHEMA","UCASE","UNICODE_STR","UPPER","VALUE","VARCHAR_BIT_FORMAT","VARCHAR_FORMAT","VARCHAR_FORMAT_BIT","VERIFY_GROUP_FOR_USER","VERIFY_ROLE_FOR_USER","VERIFY_TRUSTED_CONTEXT_ROLE_FOR_USER","WEEK","WEEK_ISO","WEEKS_BETWEEN","WIDTH_BUCKET","XMLATTRIBUTES","XMLCOMMENT","XMLCONCAT","XMLDOCUMENT","XMLELEMENT","XMLFOREST","XMLNAMESPACES","XMLPARSE","XMLPI","XMLQUERY","XMLROW","XMLSERIALIZE","XMLTEXT","XMLVALIDATE","XMLXSROBJECTID","XSLTRANSFORM","YEAR","YEARS_BETWEEN","YMD_BETWEEN","BASE_TABLE","JSON_TABLE","UNNEST","XMLTABLE","RANK","DENSE_RANK","NTILE","LAG","LEAD","ROW_NUMBER","FIRST_VALUE","LAST_VALUE","NTH_VALUE","RATIO_TO_REPORT","CAST"],po=["ACTIVATE","ADD","AFTER","ALIAS","ALL","ALLOCATE","ALLOW","ALTER","AND","ANY","AS","ASENSITIVE","ASSOCIATE","ASUTIME","AT","ATTRIBUTES","AUDIT","AUTHORIZATION","AUX","AUXILIARY","BEFORE","BEGIN","BETWEEN","BINARY","BUFFERPOOL","BY","CACHE","CALL","CALLED","CAPTURE","CARDINALITY","CASCADED","CASE","CAST","CHECK","CLONE","CLOSE","CLUSTER","COLLECTION","COLLID","COLUMN","COMMENT","COMMIT","CONCAT","CONDITION","CONNECT","CONNECTION","CONSTRAINT","CONTAINS","CONTINUE","COUNT","COUNT_BIG","CREATE","CROSS","CURRENT","CURRENT_DATE","CURRENT_LC_CTYPE","CURRENT_PATH","CURRENT_SCHEMA","CURRENT_SERVER","CURRENT_TIME","CURRENT_TIMESTAMP","CURRENT_TIMEZONE","CURRENT_USER","CURSOR","CYCLE","DATA","DATABASE","DATAPARTITIONNAME","DATAPARTITIONNUM","DAY","DAYS","DB2GENERAL","DB2GENRL","DB2SQL","DBINFO","DBPARTITIONNAME","DBPARTITIONNUM","DEALLOCATE","DECLARE","DEFAULT","DEFAULTS","DEFINITION","DELETE","DENSERANK","DENSE_RANK","DESCRIBE","DESCRIPTOR","DETERMINISTIC","DIAGNOSTICS","DISABLE","DISALLOW","DISCONNECT","DISTINCT","DO","DOCUMENT","DROP","DSSIZE","DYNAMIC","EACH","EDITPROC","ELSE","ELSEIF","ENABLE","ENCODING","ENCRYPTION","END","END-EXEC","ENDING","ERASE","ESCAPE","EVERY","EXCEPT","EXCEPTION","EXCLUDING","EXCLUSIVE","EXECUTE","EXISTS","EXIT","EXPLAIN","EXTENDED","EXTERNAL","EXTRACT","FENCED","FETCH","FIELDPROC","FILE","FINAL","FIRST1","FOR","FOREIGN","FREE","FROM","FULL","FUNCTION","GENERAL","GENERATED","GET","GLOBAL","GO","GOTO","GRANT","GRAPHIC","GROUP","HANDLER","HASH","HASHED_VALUE","HAVING","HINT","HOLD","HOUR","HOURS","IDENTITY","IF","IMMEDIATE","IMPORT","IN","INCLUDING","INCLUSIVE","INCREMENT","INDEX","INDICATOR","INDICATORS","INF","INFINITY","INHERIT","INNER","INOUT","INSENSITIVE","INSERT","INTEGRITY","INTERSECT","INTO","IS","ISNULL","ISOBID","ISOLATION","ITERATE","JAR","JAVA","JOIN","KEEP","KEY","LABEL","LANGUAGE","LAST3","LATERAL","LC_CTYPE","LEAVE","LEFT","LIKE","LIMIT","LINKTYPE","LOCAL","LOCALDATE","LOCALE","LOCALTIME","LOCALTIMESTAMP","LOCATOR","LOCATORS","LOCK","LOCKMAX","LOCKSIZE","LOOP","MAINTAINED","MATERIALIZED","MAXVALUE","MICROSECOND","MICROSECONDS","MINUTE","MINUTES","MINVALUE","MODE","MODIFIES","MONTH","MONTHS","NAN","NEW","NEW_TABLE","NEXTVAL","NO","NOCACHE","NOCYCLE","NODENAME","NODENUMBER","NOMAXVALUE","NOMINVALUE","NONE","NOORDER","NORMALIZED","NOT2","NOTNULL","NULL","NULLS","NUMPARTS","OBID","OF","OFF","OFFSET","OLD","OLD_TABLE","ON","OPEN","OPTIMIZATION","OPTIMIZE","OPTION","OR","ORDER","OUT","OUTER","OVER","OVERRIDING","PACKAGE","PADDED","PAGESIZE","PARAMETER","PART","PARTITION","PARTITIONED","PARTITIONING","PARTITIONS","PASSWORD","PATH","PERCENT","PIECESIZE","PLAN","POSITION","PRECISION","PREPARE","PREVVAL","PRIMARY","PRIQTY","PRIVILEGES","PROCEDURE","PROGRAM","PSID","PUBLIC","QUERY","QUERYNO","RANGE","RANK","READ","READS","RECOVERY","REFERENCES","REFERENCING","REFRESH","RELEASE","RENAME","REPEAT","RESET","RESIGNAL","RESTART","RESTRICT","RESULT","RESULT_SET_LOCATOR","RETURN","RETURNS","REVOKE","RIGHT","ROLE","ROLLBACK","ROUND_CEILING","ROUND_DOWN","ROUND_FLOOR","ROUND_HALF_DOWN","ROUND_HALF_EVEN","ROUND_HALF_UP","ROUND_UP","ROUTINE","ROW","ROWNUMBER","ROWS","ROWSET","ROW_NUMBER","RRN","RUN","SAVEPOINT","SCHEMA","SCRATCHPAD","SCROLL","SEARCH","SECOND","SECONDS","SECQTY","SECURITY","SELECT","SENSITIVE","SEQUENCE","SESSION","SESSION_USER","SET","SIGNAL","SIMPLE","SNAN","SOME","SOURCE","SPECIFIC","SQL","SQLID","STACKED","STANDARD","START","STARTING","STATEMENT","STATIC","STATMENT","STAY","STOGROUP","STORES","STYLE","SUBSTRING","SUMMARY","SYNONYM","SYSFUN","SYSIBM","SYSPROC","SYSTEM","SYSTEM_USER","TABLE","TABLESPACE","THEN","TO","TRANSACTION","TRIGGER","TRIM","TRUNCATE","TYPE","UNDO","UNION","UNIQUE","UNTIL","UPDATE","USAGE","USER","USING","VALIDPROC","VALUE","VALUES","VARIABLE","VARIANT","VCAT","VERSION","VIEW","VOLATILE","VOLUMES","WHEN","WHENEVER","WHERE","WHILE","WITH","WITHOUT","WLM","WRITE","XMLELEMENT","XMLEXISTS","XMLNAMESPACES","YEAR","YEARS"],Po=["ARRAY","BIGINT","BINARY","BLOB","BOOLEAN","CCSID","CHAR","CHARACTER","CLOB","DATE","DATETIME","DBCLOB","DEC","DECIMAL","DOUBLE","DOUBLE PRECISION","FLOAT","FLOAT4","FLOAT8","GRAPHIC","INT","INT2","INT4","INT8","INTEGER","INTERVAL","LONG VARCHAR","LONG VARGRAPHIC","NCHAR","NCHR","NCLOB","NVARCHAR","NUMERIC","SMALLINT","REAL","TIME","TIMESTAMP","VARBINARY","VARCHAR","VARGRAPHIC"],fo=G(["SELECT [ALL | DISTINCT]"]),ho=G(["WITH","FROM","WHERE","GROUP BY","HAVING","PARTITION BY","ORDER BY [INPUT SEQUENCE]","LIMIT","OFFSET","FETCH NEXT","FOR UPDATE [OF]","FOR {READ | FETCH} ONLY","FOR {RR | CS | UR | RS} [USE AND KEEP {SHARE | UPDATE | EXCLUSIVE} LOCKS]","WAIT FOR OUTCOME","SKIP LOCKED DATA","INTO","INSERT INTO","VALUES","SET","MERGE INTO","WHEN [NOT] MATCHED [THEN]","UPDATE SET","INSERT"]),Tr=G(["CREATE [GLOBAL TEMPORARY | EXTERNAL] TABLE [IF NOT EXISTS]"]),nE=G(["CREATE [OR REPLACE] VIEW","UPDATE","WHERE CURRENT OF","WITH {RR | RS | CS | UR}","DELETE FROM","DROP TABLE [IF EXISTS]","ALTER TABLE","ADD [COLUMN]","DROP [COLUMN]","RENAME COLUMN","ALTER [COLUMN]","SET DATA TYPE","SET NOT NULL","DROP {DEFAULT | GENERATED | NOT NULL}","TRUNCATE [TABLE]","ALLOCATE","ALTER AUDIT POLICY","ALTER BUFFERPOOL","ALTER DATABASE PARTITION GROUP","ALTER DATABASE","ALTER EVENT MONITOR","ALTER FUNCTION","ALTER HISTOGRAM TEMPLATE","ALTER INDEX","ALTER MASK","ALTER METHOD","ALTER MODULE","ALTER NICKNAME","ALTER PACKAGE","ALTER PERMISSION","ALTER PROCEDURE","ALTER SCHEMA","ALTER SECURITY LABEL COMPONENT","ALTER SECURITY POLICY","ALTER SEQUENCE","ALTER SERVER","ALTER SERVICE CLASS","ALTER STOGROUP","ALTER TABLESPACE","ALTER THRESHOLD","ALTER TRIGGER","ALTER TRUSTED CONTEXT","ALTER TYPE","ALTER USAGE LIST","ALTER USER MAPPING","ALTER VIEW","ALTER WORK ACTION SET","ALTER WORK CLASS SET","ALTER WORKLOAD","ALTER WRAPPER","ALTER XSROBJECT","ALTER STOGROUP","ALTER TABLESPACE","ALTER TRIGGER","ALTER TRUSTED CONTEXT","ALTER VIEW","ASSOCIATE [RESULT SET] {LOCATOR | LOCATORS}","AUDIT","BEGIN DECLARE SECTION","CALL","CLOSE","COMMENT ON","COMMIT [WORK]","CONNECT","CREATE [OR REPLACE] [PUBLIC] ALIAS","CREATE AUDIT POLICY","CREATE BUFFERPOOL","CREATE DATABASE PARTITION GROUP","CREATE EVENT MONITOR","CREATE [OR REPLACE] FUNCTION","CREATE FUNCTION MAPPING","CREATE HISTOGRAM TEMPLATE","CREATE [UNIQUE] INDEX","CREATE INDEX EXTENSION","CREATE [OR REPLACE] MASK","CREATE [SPECIFIC] METHOD","CREATE [OR REPLACE] MODULE","CREATE [OR REPLACE] NICKNAME","CREATE [OR REPLACE] PERMISSION","CREATE [OR REPLACE] PROCEDURE","CREATE ROLE","CREATE SCHEMA","CREATE SECURITY LABEL [COMPONENT]","CREATE SECURITY POLICY","CREATE [OR REPLACE] SEQUENCE","CREATE SERVICE CLASS","CREATE SERVER","CREATE STOGROUP","CREATE SYNONYM","CREATE [LARGE | REGULAR | {SYSTEM | USER} TEMPORARY] TABLESPACE","CREATE THRESHOLD","CREATE {TRANSFORM | TRANSFORMS} FOR","CREATE [OR REPLACE] TRIGGER","CREATE TRUSTED CONTEXT","CREATE [OR REPLACE] TYPE","CREATE TYPE MAPPING","CREATE USAGE LIST","CREATE USER MAPPING FOR","CREATE [OR REPLACE] VARIABLE","CREATE WORK ACTION SET","CREATE WORK CLASS SET","CREATE WORKLOAD","CREATE WRAPPER","DECLARE","DECLARE GLOBAL TEMPORARY TABLE","DESCRIBE [INPUT | OUTPUT]","DISCONNECT","DROP [PUBLIC] ALIAS","DROP AUDIT POLICY","DROP BUFFERPOOL","DROP DATABASE PARTITION GROUP","DROP EVENT MONITOR","DROP [SPECIFIC] FUNCTION","DROP FUNCTION MAPPING","DROP HISTOGRAM TEMPLATE","DROP INDEX [EXTENSION]","DROP MASK","DROP [SPECIFIC] METHOD","DROP MODULE","DROP NICKNAME","DROP PACKAGE","DROP PERMISSION","DROP [SPECIFIC] PROCEDURE","DROP ROLE","DROP SCHEMA","DROP SECURITY LABEL [COMPONENT]","DROP SECURITY POLICY","DROP SEQUENCE","DROP SERVER","DROP SERVICE CLASS","DROP STOGROUP","DROP TABLE HIERARCHY","DROP {TABLESPACE | TABLESPACES}","DROP {TRANSFORM | TRANSFORMS}","DROP THRESHOLD","DROP TRIGGER","DROP TRUSTED CONTEXT","DROP TYPE [MAPPING]","DROP USAGE LIST","DROP USER MAPPING FOR","DROP VARIABLE","DROP VIEW [HIERARCHY]","DROP WORK {ACTION | CLASS} SET","DROP WORKLOAD","DROP WRAPPER","DROP XSROBJECT","END DECLARE SECTION","EXECUTE [IMMEDIATE]","EXPLAIN {PLAN [SECTION] | ALL}","FETCH [FROM]","FLUSH {BUFFERPOOL | BUFFERPOOLS} ALL","FLUSH EVENT MONITOR","FLUSH FEDERATED CACHE","FLUSH OPTIMIZATION PROFILE CACHE","FLUSH PACKAGE CACHE [DYNAMIC]","FLUSH AUTHENTICATION CACHE [FOR ALL]","FREE LOCATOR","GET DIAGNOSTICS","GOTO","GRANT","INCLUDE","ITERATE","LEAVE","LOCK TABLE","LOOP","OPEN","PIPE","PREPARE","REFRESH TABLE","RELEASE","RELEASE [TO] SAVEPOINT","RENAME [TABLE | INDEX | STOGROUP | TABLESPACE]","REPEAT","RESIGNAL","RETURN","REVOKE","ROLLBACK [WORK] [TO SAVEPOINT]","SAVEPOINT","SET COMPILATION ENVIRONMENT","SET CONNECTION","SET CURRENT","SET ENCRYPTION PASSWORD","SET EVENT MONITOR STATE","SET INTEGRITY","SET PASSTHRU","SET PATH","SET ROLE","SET SCHEMA","SET SERVER OPTION","SET {SESSION AUTHORIZATION | SESSION_USER}","SET USAGE LIST","SIGNAL","TRANSFER OWNERSHIP OF","WHENEVER {NOT FOUND | SQLERROR | SQLWARNING}","WHILE"]),Mo=G(["UNION [ALL]","EXCEPT [ALL]","INTERSECT [ALL]"]),Uo=G(["JOIN","{LEFT | RIGHT | FULL} [OUTER] JOIN","{INNER | CROSS} JOIN"]),mo=G(["ON DELETE","ON UPDATE","SET NULL","{ROWS | RANGE} BETWEEN"]),Bo=G([]),go={name:"db2",tokenizerOptions:{reservedSelect:fo,reservedClauses:[...ho,...Tr,...nE],reservedSetOperations:Mo,reservedJoins:Uo,reservedKeywordPhrases:mo,reservedDataTypePhrases:Bo,reservedKeywords:po,reservedDataTypes:Po,reservedFunctionNames:Do,extraParens:["[]"],stringTypes:[{quote:"''-qq",prefixes:["G","N","U&"]},{quote:"''-raw",prefixes:["X","BX","GX","UX"],requirePrefix:!0}],identTypes:['""-qq'],identChars:{first:"@#$",rest:"@#$"},paramTypes:{positional:!0,named:[":"]},paramChars:{first:"@#$",rest:"@#$"},operators:["**","%","|","&","^","~","¬=","¬>","¬<","!>","!<","^=","^>","^<","||","->","=>"]},formatOptions:{onelineClauses:[...Tr,...nE],tabularOnelineClauses:nE}},yo=["ARRAY_AGG","AVG","CORR","CORRELATION","COUNT","COUNT_BIG","COVAR_POP","COVARIANCE","COVAR","COVAR_SAMP","COVARIANCE_SAMP","EVERY","GROUPING","JSON_ARRAYAGG","JSON_OBJECTAGG","LISTAGG","MAX","MEDIAN","MIN","PERCENTILE_CONT","PERCENTILE_DISC","REGR_AVGX","REGR_AVGY","REGR_COUNT","REGR_INTERCEPT","REGR_R2","REGR_SLOPE","REGR_SXX","REGR_SXY","REGR_SYY","SOME","STDDEV_POP","STDDEV","STDDEV_SAMP","SUM","VAR_POP","VARIANCE","VAR","VAR_SAMP","VARIANCE_SAMP","XMLAGG","XMLGROUP","ABS","ABSVAL","ACOS","ADD_DAYS","ADD_HOURS","ADD_MINUTES","ADD_MONTHS","ADD_SECONDS","ADD_YEARS","ANTILOG","ARRAY_MAX_CARDINALITY","ARRAY_TRIM","ASCII","ASIN","ATAN","ATAN2","ATANH","BASE64_DECODE","BASE64_ENCODE","BIT_LENGTH","BITAND","BITANDNOT","BITNOT","BITOR","BITXOR","BSON_TO_JSON","CARDINALITY","CEIL","CEILING","CHAR_LENGTH","CHARACTER_LENGTH","CHR","COALESCE","COMPARE_DECFLOAT","CONCAT","CONTAINS","COS","COSH","COT","CURDATE","CURTIME","DATABASE","DATAPARTITIONNAME","DATAPARTITIONNUM","DAY","DAYNAME","DAYOFMONTH","DAYOFWEEK_ISO","DAYOFWEEK","DAYOFYEAR","DAYS","DBPARTITIONNAME","DBPARTITIONNUM","DECFLOAT_FORMAT","DECFLOAT_SORTKEY","DECRYPT_BINARY","DECRYPT_BIT","DECRYPT_CHAR","DECRYPT_DB","DEGREES","DIFFERENCE","DIGITS","DLCOMMENT","DLLINKTYPE","DLURLCOMPLETE","DLURLPATH","DLURLPATHONLY","DLURLSCHEME","DLURLSERVER","DLVALUE","DOUBLE_PRECISION","DOUBLE","ENCRPYT","ENCRYPT_AES","ENCRYPT_AES256","ENCRYPT_RC2","ENCRYPT_TDES","EXP","EXTRACT","FIRST_DAY","FLOOR","GENERATE_UNIQUE","GET_BLOB_FROM_FILE","GET_CLOB_FROM_FILE","GET_DBCLOB_FROM_FILE","GET_XML_FILE","GETHINT","GREATEST","HASH_MD5","HASH_ROW","HASH_SHA1","HASH_SHA256","HASH_SHA512","HASH_VALUES","HASHED_VALUE","HEX","HEXTORAW","HOUR","HTML_ENTITY_DECODE","HTML_ENTITY_ENCODE","HTTP_DELETE_BLOB","HTTP_DELETE","HTTP_GET_BLOB","HTTP_GET","HTTP_PATCH_BLOB","HTTP_PATCH","HTTP_POST_BLOB","HTTP_POST","HTTP_PUT_BLOB","HTTP_PUT","IDENTITY_VAL_LOCAL","IFNULL","INSERT","INSTR","INTERPRET","ISFALSE","ISNOTFALSE","ISNOTTRUE","ISTRUE","JSON_ARRAY","JSON_OBJECT","JSON_QUERY","JSON_TO_BSON","JSON_UPDATE","JSON_VALUE","JULIAN_DAY","LAND","LAST_DAY","LCASE","LEAST","LEFT","LENGTH","LN","LNOT","LOCATE_IN_STRING","LOCATE","LOG10","LOR","LOWER","LPAD","LTRIM","MAX_CARDINALITY","MAX","MICROSECOND","MIDNIGHT_SECONDS","MIN","MINUTE","MOD","MONTH","MONTHNAME","MONTHS_BETWEEN","MQREAD","MQREADCLOB","MQRECEIVE","MQRECEIVECLOB","MQSEND","MULTIPLY_ALT","NEXT_DAY","NORMALIZE_DECFLOAT","NOW","NULLIF","NVL","OCTET_LENGTH","OVERLAY","PI","POSITION","POSSTR","POW","POWER","QUANTIZE","QUARTER","RADIANS","RAISE_ERROR","RANDOM","RAND","REGEXP_COUNT","REGEXP_INSTR","REGEXP_REPLACE","REGEXP_SUBSTR","REPEAT","REPLACE","RID","RIGHT","ROUND_TIMESTAMP","ROUND","RPAD","RRN","RTRIM","SCORE","SECOND","SIGN","SIN","SINH","SOUNDEX","SPACE","SQRT","STRIP","STRLEFT","STRPOS","STRRIGHT","SUBSTR","SUBSTRING","TABLE_NAME","TABLE_SCHEMA","TAN","TANH","TIMESTAMP_FORMAT","TIMESTAMP_ISO","TIMESTAMPDIFF_BIG","TIMESTAMPDIFF","TO_CHAR","TO_CLOB","TO_DATE","TO_NUMBER","TO_TIMESTAMP","TOTALORDER","TRANSLATE","TRIM_ARRAY","TRIM","TRUNC_TIMESTAMP","TRUNC","TRUNCATE","UCASE","UPPER","URL_DECODE","URL_ENCODE","VALUE","VARBINARY_FORMAT","VARCHAR_BIT_FORMAT","VARCHAR_FORMAT_BINARY","VARCHAR_FORMAT","VERIFY_GROUP_FOR_USER","WEEK_ISO","WEEK","WRAP","XMLATTRIBUTES","XMLCOMMENT","XMLCONCAT","XMLDOCUMENT","XMLELEMENT","XMLFOREST","XMLNAMESPACES","XMLPARSE","XMLPI","XMLROW","XMLSERIALIZE","XMLTEXT","XMLVALIDATE","XOR","XSLTRANSFORM","YEAR","ZONED","BASE_TABLE","HTTP_DELETE_BLOB_VERBOSE","HTTP_DELETE_VERBOSE","HTTP_GET_BLOB_VERBOSE","HTTP_GET_VERBOSE","HTTP_PATCH_BLOB_VERBOSE","HTTP_PATCH_VERBOSE","HTTP_POST_BLOB_VERBOSE","HTTP_POST_VERBOSE","HTTP_PUT_BLOB_VERBOSE","HTTP_PUT_VERBOSE","JSON_TABLE","MQREADALL","MQREADALLCLOB","MQRECEIVEALL","MQRECEIVEALLCLOB","XMLTABLE","UNPACK","CUME_DIST","DENSE_RANK","FIRST_VALUE","LAG","LAST_VALUE","LEAD","NTH_VALUE","NTILE","PERCENT_RANK","RANK","RATIO_TO_REPORT","ROW_NUMBER","CAST"],Go=["ABSENT","ACCORDING","ACCTNG","ACTION","ACTIVATE","ADD","ALIAS","ALL","ALLOCATE","ALLOW","ALTER","AND","ANY","APPEND","APPLNAME","ARRAY","ARRAY_AGG","ARRAY_TRIM","AS","ASC","ASENSITIVE","ASSOCIATE","ATOMIC","ATTACH","ATTRIBUTES","AUTHORIZATION","AUTONOMOUS","BEFORE","BEGIN","BETWEEN","BIND","BSON","BUFFERPOOL","BY","CACHE","CALL","CALLED","CARDINALITY","CASE","CAST","CHECK","CL","CLOSE","CLUSTER","COLLECT","COLLECTION","COLUMN","COMMENT","COMMIT","COMPACT","COMPARISONS","COMPRESS","CONCAT","CONCURRENT","CONDITION","CONNECT","CONNECT_BY_ROOT","CONNECTION","CONSTANT","CONSTRAINT","CONTAINS","CONTENT","CONTINUE","COPY","COUNT","COUNT_BIG","CREATE","CREATEIN","CROSS","CUBE","CUME_DIST","CURRENT","CURRENT_DATE","CURRENT_PATH","CURRENT_SCHEMA","CURRENT_SERVER","CURRENT_TIME","CURRENT_TIMESTAMP","CURRENT_TIMEZONE","CURRENT_USER","CURSOR","CYCLE","DATABASE","DATAPARTITIONNAME","DATAPARTITIONNUM","DAY","DAYS","DB2GENERAL","DB2GENRL","DB2SQL","DBINFO","DBPARTITIONNAME","DBPARTITIONNUM","DEACTIVATE","DEALLOCATE","DECLARE","DEFAULT","DEFAULTS","DEFER","DEFINE","DEFINITION","DELETE","DELETING","DENSE_RANK","DENSERANK","DESC","DESCRIBE","DESCRIPTOR","DETACH","DETERMINISTIC","DIAGNOSTICS","DISABLE","DISALLOW","DISCONNECT","DISTINCT","DO","DOCUMENT","DROP","DYNAMIC","EACH","ELSE","ELSEIF","EMPTY","ENABLE","ENCODING","ENCRYPTION","END","END-EXEC","ENDING","ENFORCED","ERROR","ESCAPE","EVERY","EXCEPT","EXCEPTION","EXCLUDING","EXCLUSIVE","EXECUTE","EXISTS","EXIT","EXTEND","EXTERNAL","EXTRACT","FALSE","FENCED","FETCH","FIELDPROC","FILE","FINAL","FIRST_VALUE","FOR","FOREIGN","FORMAT","FREE","FREEPAGE","FROM","FULL","FUNCTION","GBPCACHE","GENERAL","GENERATED","GET","GLOBAL","GO","GOTO","GRANT","GROUP","HANDLER","HASH","HASH_ROW","HASHED_VALUE","HAVING","HINT","HOLD","HOUR","HOURS","IDENTITY","IF","IGNORE","IMMEDIATE","IMPLICITLY","IN","INCLUDE","INCLUDING","INCLUSIVE","INCREMENT","INDEX","INDEXBP","INDICATOR","INF","INFINITY","INHERIT","INLINE","INNER","INOUT","INSENSITIVE","INSERT","INSERTING","INTEGRITY","INTERPRET","INTERSECT","INTO","IS","ISNULL","ISOLATION","ITERATE","JAVA","JOIN","JSON","JSON_ARRAY","JSON_ARRAYAGG","JSON_EXISTS","JSON_OBJECT","JSON_OBJECTAGG","JSON_QUERY","JSON_TABLE","JSON_VALUE","KEEP","KEY","KEYS","LABEL","LAG","LANGUAGE","LAST_VALUE","LATERAL","LEAD","LEAVE","LEFT","LEVEL2","LIKE","LIMIT","LINKTYPE","LISTAGG","LOCAL","LOCALDATE","LOCALTIME","LOCALTIMESTAMP","LOCATION","LOCATOR","LOCK","LOCKSIZE","LOG","LOGGED","LOOP","MAINTAINED","MASK","MATCHED","MATERIALIZED","MAXVALUE","MERGE","MICROSECOND","MICROSECONDS","MINPCTUSED","MINUTE","MINUTES","MINVALUE","MIRROR","MIXED","MODE","MODIFIES","MONTH","MONTHS","NAMESPACE","NAN","NATIONAL","NCHAR","NCLOB","NESTED","NEW","NEW_TABLE","NEXTVAL","NO","NOCACHE","NOCYCLE","NODENAME","NODENUMBER","NOMAXVALUE","NOMINVALUE","NONE","NOORDER","NORMALIZED","NOT","NOTNULL","NTH_VALUE","NTILE","NULL","NULLS","NVARCHAR","OBID","OBJECT","OF","OFF","OFFSET","OLD","OLD_TABLE","OMIT","ON","ONLY","OPEN","OPTIMIZE","OPTION","OR","ORDER","ORDINALITY","ORGANIZE","OUT","OUTER","OVER","OVERLAY","OVERRIDING","PACKAGE","PADDED","PAGE","PAGESIZE","PARAMETER","PART","PARTITION","PARTITIONED","PARTITIONING","PARTITIONS","PASSING","PASSWORD","PATH","PCTFREE","PERCENT_RANK","PERCENTILE_CONT","PERCENTILE_DISC","PERIOD","PERMISSION","PIECESIZE","PIPE","PLAN","POSITION","PREPARE","PREVVAL","PRIMARY","PRIOR","PRIQTY","PRIVILEGES","PROCEDURE","PROGRAM","PROGRAMID","QUERY","RANGE","RANK","RATIO_TO_REPORT","RCDFMT","READ","READS","RECOVERY","REFERENCES","REFERENCING","REFRESH","REGEXP_LIKE","RELEASE","RENAME","REPEAT","RESET","RESIGNAL","RESTART","RESULT","RESULT_SET_LOCATOR","RETURN","RETURNING","RETURNS","REVOKE","RID","RIGHT","ROLLBACK","ROLLUP","ROUTINE","ROW","ROW_NUMBER","ROWNUMBER","ROWS","RRN","RUN","SAVEPOINT","SBCS","SCALAR","SCHEMA","SCRATCHPAD","SCROLL","SEARCH","SECOND","SECONDS","SECQTY","SECURED","SELECT","SENSITIVE","SEQUENCE","SESSION","SESSION_USER","SET","SIGNAL","SIMPLE","SKIP","SNAN","SOME","SOURCE","SPECIFIC","SQL","SQLID","SQLIND_DEFAULT","SQLIND_UNASSIGNED","STACKED","START","STARTING","STATEMENT","STATIC","STOGROUP","SUBSTRING","SUMMARY","SYNONYM","SYSTEM_TIME","SYSTEM_USER","TABLE","TABLESPACE","TABLESPACES","TAG","THEN","THREADSAFE","TO","TRANSACTION","TRANSFER","TRIGGER","TRIM","TRIM_ARRAY","TRUE","TRUNCATE","TRY_CAST","TYPE","UNDO","UNION","UNIQUE","UNIT","UNKNOWN","UNNEST","UNTIL","UPDATE","UPDATING","URI","USAGE","USE","USER","USERID","USING","VALUE","VALUES","VARIABLE","VARIANT","VCAT","VERSION","VERSIONING","VIEW","VOLATILE","WAIT","WHEN","WHENEVER","WHERE","WHILE","WITH","WITHIN","WITHOUT","WRAPPED","WRAPPER","WRITE","WRKSTNNAME","XMLAGG","XMLATTRIBUTES","XMLCAST","XMLCOMMENT","XMLCONCAT","XMLDOCUMENT","XMLELEMENT","XMLFOREST","XMLGROUP","XMLNAMESPACES","XMLPARSE","XMLPI","XMLROW","XMLSERIALIZE","XMLTABLE","XMLTEXT","XMLVALIDATE","XSLTRANSFORM","XSROBJECT","YEAR","YEARS","YES","ZONE"],Fo=["ARRAY","BIGINT","BINARY","BIT","BLOB","BOOLEAN","CCSID","CHAR","CHARACTER","CLOB","DATA","DATALINK","DATE","DBCLOB","DECFLOAT","DECIMAL","DEC","DOUBLE","DOUBLE PRECISION","FLOAT","GRAPHIC","INT","INTEGER","LONG","NUMERIC","REAL","ROWID","SMALLINT","TIME","TIMESTAMP","VARBINARY","VARCHAR","VARGRAPHIC","XML"],Ho=G(["SELECT [ALL | DISTINCT]"]),bo=G(["WITH [RECURSIVE]","INTO","FROM","WHERE","GROUP BY","HAVING","PARTITION BY","ORDER [SIBLINGS] BY [INPUT SEQUENCE]","LIMIT","OFFSET","FETCH {FIRST | NEXT}","FOR UPDATE [OF]","FOR READ ONLY","OPTIMIZE FOR","INSERT INTO","VALUES","SET","MERGE INTO","WHEN [NOT] MATCHED [THEN]","UPDATE SET","DELETE","INSERT","FOR SYSTEM NAME"]),or=G(["CREATE [OR REPLACE] TABLE"]),sE=G(["CREATE [OR REPLACE] [RECURSIVE] VIEW","UPDATE","WHERE CURRENT OF","WITH {NC | RR | RS | CS | UR}","DELETE FROM","DROP TABLE","ALTER TABLE","ADD [COLUMN]","ALTER [COLUMN]","DROP [COLUMN]","SET DATA TYPE","SET {GENERATED ALWAYS | GENERATED BY DEFAULT}","SET NOT NULL","SET {NOT HIDDEN | IMPLICITLY HIDDEN}","SET FIELDPROC","DROP {DEFAULT | NOT NULL | GENERATED | IDENTITY | ROW CHANGE TIMESTAMP | FIELDPROC}","TRUNCATE [TABLE]","SET [CURRENT] SCHEMA","SET CURRENT_SCHEMA","ALLOCATE CURSOR","ALLOCATE [SQL] DESCRIPTOR [LOCAL | GLOBAL] SQL","ALTER [SPECIFIC] {FUNCTION | PROCEDURE}","ALTER {MASK | PERMISSION | SEQUENCE | TRIGGER}","ASSOCIATE [RESULT SET] {LOCATOR | LOCATORS}","BEGIN DECLARE SECTION","CALL","CLOSE","COMMENT ON {ALIAS | COLUMN | CONSTRAINT | INDEX | MASK | PACKAGE | PARAMETER | PERMISSION | SEQUENCE | TABLE | TRIGGER | VARIABLE | XSROBJECT}","COMMENT ON [SPECIFIC] {FUNCTION | PROCEDURE | ROUTINE}","COMMENT ON PARAMETER SPECIFIC {FUNCTION | PROCEDURE | ROUTINE}","COMMENT ON [TABLE FUNCTION] RETURN COLUMN","COMMENT ON [TABLE FUNCTION] RETURN COLUMN SPECIFIC [PROCEDURE | ROUTINE]","COMMIT [WORK] [HOLD]","CONNECT [TO | RESET] USER","CREATE [OR REPLACE] {ALIAS | FUNCTION | MASK | PERMISSION | PROCEDURE | SEQUENCE | TRIGGER | VARIABLE}","CREATE [ENCODED VECTOR] INDEX","CREATE UNIQUE [WHERE NOT NULL] INDEX","CREATE SCHEMA","CREATE TYPE","DEALLOCATE [SQL] DESCRIPTOR [LOCAL | GLOBAL]","DECLARE CURSOR","DECLARE GLOBAL TEMPORARY TABLE","DECLARE","DESCRIBE CURSOR","DESCRIBE INPUT","DESCRIBE [OUTPUT]","DESCRIBE {PROCEDURE | ROUTINE}","DESCRIBE TABLE","DISCONNECT ALL [SQL]","DISCONNECT [CURRENT]","DROP {ALIAS | INDEX | MASK | PACKAGE | PERMISSION | SCHEMA | SEQUENCE | TABLE | TYPE | VARIABLE | XSROBJECT} [IF EXISTS]","DROP [SPECIFIC] {FUNCTION | PROCEDURE | ROUTINE} [IF EXISTS]","END DECLARE SECTION","EXECUTE [IMMEDIATE]","FREE LOCATOR","GET [SQL] DESCRIPTOR [LOCAL | GLOBAL]","GET [CURRENT | STACKED] DIAGNOSTICS","GRANT {ALL [PRIVILEGES] | ALTER | EXECUTE} ON {FUNCTION | PROCEDURE | ROUTINE | PACKAGE | SCHEMA | SEQUENCE | TABLE | TYPE | VARIABLE | XSROBJECT}","HOLD LOCATOR","INCLUDE","LABEL ON {ALIAS | COLUMN | CONSTRAINT | INDEX | MASK | PACKAGE | PERMISSION | SEQUENCE | TABLE | TRIGGER | VARIABLE | XSROBJECT}","LABEL ON [SPECIFIC] {FUNCTION | PROCEDURE | ROUTINE}","LOCK TABLE","OPEN","PREPARE","REFRESH TABLE","RELEASE","RELEASE [TO] SAVEPOINT","RENAME [TABLE | INDEX] TO","REVOKE {ALL [PRIVILEGES] | ALTER | EXECUTE} ON {FUNCTION | PROCEDURE | ROUTINE | PACKAGE | SCHEMA | SEQUENCE | TABLE | TYPE | VARIABLE | XSROBJECT}","ROLLBACK [WORK] [HOLD | TO SAVEPOINT]","SAVEPOINT","SET CONNECTION","SET CURRENT {DEBUG MODE | DECFLOAT ROUNDING MODE | DEGREE | IMPLICIT XMLPARSE OPTION | TEMPORAL SYSTEM_TIME}","SET [SQL] DESCRIPTOR [LOCAL | GLOBAL]","SET ENCRYPTION PASSWORD","SET OPTION","SET {[CURRENT [FUNCTION]] PATH | CURRENT_PATH}","SET RESULT SETS [WITH RETURN [TO CALLER | TO CLIENT]]","SET SESSION AUTHORIZATION","SET SESSION_USER","SET TRANSACTION","SIGNAL SQLSTATE [VALUE]","TAG","TRANSFER OWNERSHIP OF","WHENEVER {NOT FOUND | SQLERROR | SQLWARNING}"]),xo=G(["UNION [ALL]","EXCEPT [ALL]","INTERSECT [ALL]"]),Yo=G(["JOIN","{LEFT | RIGHT | FULL} [OUTER] JOIN","[LEFT | RIGHT] EXCEPTION JOIN","{INNER | CROSS} JOIN"]),Vo=G(["ON DELETE","ON UPDATE","SET NULL","{ROWS | RANGE} BETWEEN"]),vo=G([]),wo={name:"db2i",tokenizerOptions:{reservedSelect:Ho,reservedClauses:[...bo,...or,...sE],reservedSetOperations:xo,reservedJoins:Yo,reservedKeywordPhrases:Vo,reservedDataTypePhrases:vo,reservedKeywords:Go,reservedDataTypes:Fo,reservedFunctionNames:yo,nestedBlockComments:!0,extraParens:["[]"],stringTypes:[{quote:"''-qq",prefixes:["G","N"]},{quote:"''-raw",prefixes:["X","BX","GX","UX"],requirePrefix:!0}],identTypes:['""-qq'],identChars:{first:"@#$",rest:"@#$"},paramTypes:{positional:!0,named:[":"]},paramChars:{first:"@#$",rest:"@#$"},operators:["**","¬=","¬>","¬<","!>","!<","||","=>"]},formatOptions:{onelineClauses:[...or,...sE],tabularOnelineClauses:sE}},Wo=["ABS","ACOS","ADD","ADD_PARQUET_KEY","AGE","AGGREGATE","ALIAS","ALL_PROFILING_OUTPUT","ANY_VALUE","APPLY","APPROX_COUNT_DISTINCT","APPROX_QUANTILE","ARBITRARY","ARGMAX","ARGMIN","ARG_MAX","ARG_MAX_NULL","ARG_MIN","ARG_MIN_NULL","ARRAY_AGG","ARRAY_AGGR","ARRAY_AGGREGATE","ARRAY_APPEND","ARRAY_APPLY","ARRAY_CAT","ARRAY_CONCAT","ARRAY_CONTAINS","ARRAY_COSINE_SIMILARITY","ARRAY_CROSS_PRODUCT","ARRAY_DISTANCE","ARRAY_DISTINCT","ARRAY_DOT_PRODUCT","ARRAY_EXTRACT","ARRAY_FILTER","ARRAY_GRADE_UP","ARRAY_HAS","ARRAY_HAS_ALL","ARRAY_HAS_ANY","ARRAY_INDEXOF","ARRAY_INNER_PRODUCT","ARRAY_INTERSECT","ARRAY_LENGTH","ARRAY_POP_BACK","ARRAY_POP_FRONT","ARRAY_POSITION","ARRAY_PREPEND","ARRAY_PUSH_BACK","ARRAY_PUSH_FRONT","ARRAY_REDUCE","ARRAY_RESIZE","ARRAY_REVERSE","ARRAY_REVERSE_SORT","ARRAY_SELECT","ARRAY_SLICE","ARRAY_SORT","ARRAY_TO_JSON","ARRAY_TO_STRING","ARRAY_TRANSFORM","ARRAY_UNIQUE","ARRAY_VALUE","ARRAY_WHERE","ARRAY_ZIP","ARROW_SCAN","ARROW_SCAN_DUMB","ASCII","ASIN","ATAN","ATAN2","AVG","BASE64","BIN","BITSTRING","BITSTRING_AGG","BIT_AND","BIT_COUNT","BIT_LENGTH","BIT_OR","BIT_POSITION","BIT_XOR","BOOL_AND","BOOL_OR","CARDINALITY","CBRT","CEIL","CEILING","CENTURY","CHECKPOINT","CHR","COLLATIONS","COL_DESCRIPTION","COMBINE","CONCAT","CONCAT_WS","CONSTANT_OR_NULL","CONTAINS","COPY_DATABASE","CORR","COS","COT","COUNT","COUNT_IF","COUNT_STAR","COVAR_POP","COVAR_SAMP","CREATE_SORT_KEY","CURRENT_CATALOG","CURRENT_DATABASE","CURRENT_DATE","CURRENT_LOCALTIME","CURRENT_LOCALTIMESTAMP","CURRENT_QUERY","CURRENT_ROLE","CURRENT_SCHEMA","CURRENT_SCHEMAS","CURRENT_SETTING","CURRENT_USER","CURRVAL","DAMERAU_LEVENSHTEIN","DATABASE_LIST","DATABASE_SIZE","DATEDIFF","DATEPART","DATESUB","DATETRUNC","DATE_ADD","DATE_DIFF","DATE_PART","DATE_SUB","DATE_TRUNC","DAY","DAYNAME","DAYOFMONTH","DAYOFWEEK","DAYOFYEAR","DECADE","DECODE","DEGREES","DISABLE_CHECKPOINT_ON_SHUTDOWN","DISABLE_OBJECT_CACHE","DISABLE_OPTIMIZER","DISABLE_PRINT_PROGRESS_BAR","DISABLE_PROFILE","DISABLE_PROFILING","DISABLE_PROGRESS_BAR","DISABLE_VERIFICATION","DISABLE_VERIFY_EXTERNAL","DISABLE_VERIFY_FETCH_ROW","DISABLE_VERIFY_PARALLELISM","DISABLE_VERIFY_SERIALIZER","DIVIDE","DUCKDB_COLUMNS","DUCKDB_CONSTRAINTS","DUCKDB_DATABASES","DUCKDB_DEPENDENCIES","DUCKDB_EXTENSIONS","DUCKDB_FUNCTIONS","DUCKDB_INDEXES","DUCKDB_KEYWORDS","DUCKDB_MEMORY","DUCKDB_OPTIMIZERS","DUCKDB_SCHEMAS","DUCKDB_SECRETS","DUCKDB_SEQUENCES","DUCKDB_SETTINGS","DUCKDB_TABLES","DUCKDB_TEMPORARY_FILES","DUCKDB_TYPES","DUCKDB_VIEWS","EDIT","EDITDIST3","ELEMENT_AT","ENABLE_CHECKPOINT_ON_SHUTDOWN","ENABLE_OBJECT_CACHE","ENABLE_OPTIMIZER","ENABLE_PRINT_PROGRESS_BAR","ENABLE_PROFILE","ENABLE_PROFILING","ENABLE_PROGRESS_BAR","ENABLE_VERIFICATION","ENCODE","ENDS_WITH","ENTROPY","ENUM_CODE","ENUM_FIRST","ENUM_LAST","ENUM_RANGE","ENUM_RANGE_BOUNDARY","EPOCH","EPOCH_MS","EPOCH_NS","EPOCH_US","ERA","ERROR","EVEN","EXP","FACTORIAL","FAVG","FDIV","FILTER","FINALIZE","FIRST","FLATTEN","FLOOR","FMOD","FORCE_CHECKPOINT","FORMAT","FORMATREADABLEDECIMALSIZE","FORMATREADABLESIZE","FORMAT_BYTES","FORMAT_PG_TYPE","FORMAT_TYPE","FROM_BASE64","FROM_BINARY","FROM_HEX","FROM_JSON","FROM_JSON_STRICT","FSUM","FUNCTIONS","GAMMA","GCD","GENERATE_SERIES","GENERATE_SUBSCRIPTS","GEN_RANDOM_UUID","GEOMEAN","GEOMETRIC_MEAN","GETENV","GET_BIT","GET_BLOCK_SIZE","GET_CURRENT_TIME","GET_CURRENT_TIMESTAMP","GLOB","GRADE_UP","GREATEST","GREATEST_COMMON_DIVISOR","GROUP_CONCAT","HAMMING","HASH","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","HEX","HISTOGRAM","HOUR","ICU_CALENDAR_NAMES","ICU_SORT_KEY","ILIKE_ESCAPE","IMPORT_DATABASE","INDEX_SCAN","INET_CLIENT_ADDR","INET_CLIENT_PORT","INET_SERVER_ADDR","INET_SERVER_PORT","INSTR","IN_SEARCH_PATH","ISFINITE","ISINF","ISNAN","ISODOW","ISOYEAR","JACCARD","JARO_SIMILARITY","JARO_WINKLER_SIMILARITY","JSON_ARRAY","JSON_ARRAY_LENGTH","JSON_CONTAINS","JSON_DESERIALIZE_SQL","JSON_EXECUTE_SERIALIZED_SQL","JSON_EXTRACT","JSON_EXTRACT_PATH","JSON_EXTRACT_PATH_TEXT","JSON_EXTRACT_STRING","JSON_GROUP_ARRAY","JSON_GROUP_OBJECT","JSON_GROUP_STRUCTURE","JSON_KEYS","JSON_MERGE_PATCH","JSON_OBJECT","JSON_QUOTE","JSON_SERIALIZE_PLAN","JSON_SERIALIZE_SQL","JSON_STRUCTURE","JSON_TRANSFORM","JSON_TRANSFORM_STRICT","JSON_TYPE","JSON_VALID","JULIAN","KAHAN_SUM","KURTOSIS","KURTOSIS_POP","LAST","LAST_DAY","LCASE","LCM","LEAST","LEAST_COMMON_MULTIPLE","LEFT","LEFT_GRAPHEME","LEN","LENGTH","LENGTH_GRAPHEME","LEVENSHTEIN","LGAMMA","LIKE_ESCAPE","LIST","LISTAGG","LIST_AGGR","LIST_AGGREGATE","LIST_ANY_VALUE","LIST_APPEND","LIST_APPLY","LIST_APPROX_COUNT_DISTINCT","LIST_AVG","LIST_BIT_AND","LIST_BIT_OR","LIST_BIT_XOR","LIST_BOOL_AND","LIST_BOOL_OR","LIST_CAT","LIST_CONCAT","LIST_CONTAINS","LIST_COSINE_SIMILARITY","LIST_COUNT","LIST_DISTANCE","LIST_DISTINCT","LIST_DOT_PRODUCT","LIST_ELEMENT","LIST_ENTROPY","LIST_EXTRACT","LIST_FILTER","LIST_FIRST","LIST_GRADE_UP","LIST_HAS","LIST_HAS_ALL","LIST_HAS_ANY","LIST_HISTOGRAM","LIST_INDEXOF","LIST_INNER_PRODUCT","LIST_INTERSECT","LIST_KURTOSIS","LIST_KURTOSIS_POP","LIST_LAST","LIST_MAD","LIST_MAX","LIST_MEDIAN","LIST_MIN","LIST_MODE","LIST_PACK","LIST_POSITION","LIST_PREPEND","LIST_PRODUCT","LIST_REDUCE","LIST_RESIZE","LIST_REVERSE","LIST_REVERSE_SORT","LIST_SELECT","LIST_SEM","LIST_SKEWNESS","LIST_SLICE","LIST_SORT","LIST_STDDEV_POP","LIST_STDDEV_SAMP","LIST_STRING_AGG","LIST_SUM","LIST_TRANSFORM","LIST_UNIQUE","LIST_VALUE","LIST_VAR_POP","LIST_VAR_SAMP","LIST_WHERE","LIST_ZIP","LN","LOG","LOG10","LOG2","LOWER","LPAD","LSMODE","LTRIM","MAD","MAKE_DATE","MAKE_TIME","MAKE_TIMESTAMP","MAKE_TIMESTAMPTZ","MAP","MAP_CONCAT","MAP_ENTRIES","MAP_EXTRACT","MAP_FROM_ENTRIES","MAP_KEYS","MAP_VALUES","MAX","MAX_BY","MD5","MD5_NUMBER","MD5_NUMBER_LOWER","MD5_NUMBER_UPPER","MEAN","MEDIAN","METADATA_INFO","MICROSECOND","MILLENNIUM","MILLISECOND","MIN","MINUTE","MIN_BY","MISMATCHES","MOD","MODE","MONTH","MONTHNAME","MULTIPLY","NEXTAFTER","NEXTVAL","NFC_NORMALIZE","NOT_ILIKE_ESCAPE","NOT_LIKE_ESCAPE","NOW","NULLIF","OBJ_DESCRIPTION","OCTET_LENGTH","ORD","PARQUET_FILE_METADATA","PARQUET_KV_METADATA","PARQUET_METADATA","PARQUET_SCAN","PARQUET_SCHEMA","PARSE_DIRNAME","PARSE_DIRPATH","PARSE_FILENAME","PARSE_PATH","PG_COLLATION_IS_VISIBLE","PG_CONF_LOAD_TIME","PG_CONVERSION_IS_VISIBLE","PG_FUNCTION_IS_VISIBLE","PG_GET_CONSTRAINTDEF","PG_GET_EXPR","PG_GET_VIEWDEF","PG_HAS_ROLE","PG_IS_OTHER_TEMP_SCHEMA","PG_MY_TEMP_SCHEMA","PG_OPCLASS_IS_VISIBLE","PG_OPERATOR_IS_VISIBLE","PG_OPFAMILY_IS_VISIBLE","PG_POSTMASTER_START_TIME","PG_SIZE_PRETTY","PG_TABLE_IS_VISIBLE","PG_TIMEZONE_NAMES","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","PI","PLATFORM","POSITION","POW","POWER","PRAGMA_COLLATIONS","PRAGMA_DATABASE_SIZE","PRAGMA_METADATA_INFO","PRAGMA_PLATFORM","PRAGMA_SHOW","PRAGMA_STORAGE_INFO","PRAGMA_TABLE_INFO","PRAGMA_USER_AGENT","PRAGMA_VERSION","PREFIX","PRINTF","PRODUCT","QUANTILE","QUANTILE_CONT","QUANTILE_DISC","QUARTER","RADIANS","RANDOM","RANGE","READFILE","READ_BLOB","READ_CSV","READ_CSV_AUTO","READ_JSON","READ_JSON_AUTO","READ_JSON_OBJECTS","READ_JSON_OBJECTS_AUTO","READ_NDJSON","READ_NDJSON_AUTO","READ_NDJSON_OBJECTS","READ_PARQUET","READ_TEXT","REDUCE","REGEXP_ESCAPE","REGEXP_EXTRACT","REGEXP_EXTRACT_ALL","REGEXP_FULL_MATCH","REGEXP_MATCHES","REGEXP_REPLACE","REGEXP_SPLIT_TO_ARRAY","REGEXP_SPLIT_TO_TABLE","REGR_AVGX","REGR_AVGY","REGR_COUNT","REGR_INTERCEPT","REGR_R2","REGR_SLOPE","REGR_SXX","REGR_SXY","REGR_SYY","REPEAT","REPEAT_ROW","REPLACE","RESERVOIR_QUANTILE","REVERSE","RIGHT","RIGHT_GRAPHEME","ROUND","ROUNDBANKERS","ROUND_EVEN","ROW","ROW_TO_JSON","RPAD","RTRIM","SECOND","SEM","SEQ_SCAN","SESSION_USER","SETSEED","SET_BIT","SHA256","SHA3","SHELL_ADD_SCHEMA","SHELL_ESCAPE_CRNL","SHELL_IDQUOTE","SHELL_MODULE_SCHEMA","SHELL_PUTSNL","SHOBJ_DESCRIPTION","SHOW","SHOW_DATABASES","SHOW_TABLES","SHOW_TABLES_EXPANDED","SIGN","SIGNBIT","SIN","SKEWNESS","SNIFF_CSV","SPLIT","SPLIT_PART","SQL_AUTO_COMPLETE","SQRT","STARTS_WITH","STATS","STDDEV","STDDEV_POP","STDDEV_SAMP","STORAGE_INFO","STRFTIME","STRING_AGG","STRING_SPLIT","STRING_SPLIT_REGEX","STRING_TO_ARRAY","STRIP_ACCENTS","STRLEN","STRPOS","STRPTIME","STRUCT_EXTRACT","STRUCT_INSERT","STRUCT_PACK","STR_SPLIT","STR_SPLIT_REGEX","SUBSTR","SUBSTRING","SUBSTRING_GRAPHEME","SUBTRACT","SUFFIX","SUM","SUMKAHAN","SUMMARY","SUM_NO_OVERFLOW","TABLE_INFO","TAN","TEST_ALL_TYPES","TEST_VECTOR_TYPES","TIMEZONE","TIMEZONE_HOUR","TIMEZONE_MINUTE","TIME_BUCKET","TODAY","TO_BASE","TO_BASE64","TO_BINARY","TO_CENTURIES","TO_DAYS","TO_DECADES","TO_HEX","TO_HOURS","TO_JSON","TO_MICROSECONDS","TO_MILLENNIA","TO_MILLISECONDS","TO_MINUTES","TO_MONTHS","TO_SECONDS","TO_TIMESTAMP","TO_WEEKS","TO_YEARS","TRANSACTION_TIMESTAMP","TRANSLATE","TRIM","TRUNC","TRY_STRPTIME","TXID_CURRENT","TYPEOF","UCASE","UNBIN","UNHEX","UNICODE","UNION_EXTRACT","UNION_TAG","UNION_VALUE","UNNEST","UNPIVOT_LIST","UPPER","USER","USER_AGENT","UUID","VARIANCE","VAR_POP","VAR_SAMP","VECTOR_TYPE","VERIFY_EXTERNAL","VERIFY_FETCH_ROW","VERIFY_PARALLELISM","VERIFY_SERIALIZER","VERSION","WEEK","WEEKDAY","WEEKOFYEAR","WHICH_SECRET","WRITEFILE","XOR","YEAR","YEARWEEK","CAST","COALESCE","RANK","ROW_NUMBER"],Xo=["ALL","ANALYSE","ANALYZE","AND","ANY","AS","ASC","ATTACH","ASYMMETRIC","BOTH","CASE","CAST","CHECK","COLLATE","COLUMN","CONSTRAINT","CREATE","DEFAULT","DEFERRABLE","DESC","DESCRIBE","DETACH","DISTINCT","DO","ELSE","END","EXCEPT","FALSE","FETCH","FOR","FOREIGN","FROM","GRANT","GROUP","HAVING","IN","INITIALLY","INTERSECT","INTO","IS","LATERAL","LEADING","LIMIT","NOT","NULL","OFFSET","ON","ONLY","OR","ORDER","PIVOT","PIVOT_LONGER","PIVOT_WIDER","PLACING","PRIMARY","REFERENCES","RETURNING","SELECT","SHOW","SOME","SUMMARIZE","SYMMETRIC","TABLE","THEN","TO","TRAILING","TRUE","UNION","UNIQUE","UNPIVOT","USING","VARIADIC","WHEN","WHERE","WINDOW","WITH"],Ko=["ARRAY","BIGINT","BINARY","BIT","BITSTRING","BLOB","BOOL","BOOLEAN","BPCHAR","BYTEA","CHAR","DATE","DATETIME","DEC","DECIMAL","DOUBLE","ENUM","FLOAT","FLOAT4","FLOAT8","GUID","HUGEINT","INET","INT","INT1","INT128","INT16","INT2","INT32","INT4","INT64","INT8","INTEGER","INTEGRAL","INTERVAL","JSON","LIST","LOGICAL","LONG","MAP","NUMERIC","NVARCHAR","OID","REAL","ROW","SHORT","SIGNED","SMALLINT","STRING","STRUCT","TEXT","TIME","TIMESTAMP_MS","TIMESTAMP_NS","TIMESTAMP_S","TIMESTAMP_US","TIMESTAMP","TIMESTAMPTZ","TIMETZ","TINYINT","UBIGINT","UHUGEINT","UINT128","UINT16","UINT32","UINT64","UINT8","UINTEGER","UNION","USMALLINT","UTINYINT","UUID","VARBINARY","VARCHAR"],ko=G(["SELECT [ALL | DISTINCT]"]),$o=G(["WITH [RECURSIVE]","FROM","WHERE","GROUP BY [ALL]","HAVING","WINDOW","PARTITION BY","ORDER BY [ALL]","LIMIT","OFFSET","USING SAMPLE","QUALIFY","INSERT [OR REPLACE] INTO","VALUES","DEFAULT VALUES","SET","RETURNING"]),ar=G(["CREATE [OR REPLACE] [TEMPORARY | TEMP] TABLE [IF NOT EXISTS]"]),TE=G(["UPDATE","ON CONFLICT","DELETE FROM","DROP TABLE [IF EXISTS]","TRUNCATE","ALTER TABLE","ADD [COLUMN] [IF NOT EXISTS]","ADD PRIMARY KEY","DROP [COLUMN] [IF EXISTS]","ALTER [COLUMN]","RENAME [COLUMN]","RENAME TO","SET [DATA] TYPE","{SET | DROP} DEFAULT","{SET | DROP} NOT NULL","CREATE [OR REPLACE] [TEMPORARY | TEMP] {MACRO | FUNCTION}","DROP MACRO [TABLE] [IF EXISTS]","DROP FUNCTION [IF EXISTS]","CREATE [UNIQUE] INDEX [IF NOT EXISTS]","DROP INDEX [IF EXISTS]","CREATE [OR REPLACE] SCHEMA [IF NOT EXISTS]","DROP SCHEMA [IF EXISTS]","CREATE [OR REPLACE] [PERSISTENT | TEMPORARY] SECRET [IF NOT EXISTS]","DROP [PERSISTENT | TEMPORARY] SECRET [IF EXISTS]","CREATE [OR REPLACE] [TEMPORARY | TEMP] SEQUENCE","DROP SEQUENCE [IF EXISTS]","CREATE [OR REPLACE] [TEMPORARY | TEMP] VIEW [IF NOT EXISTS]","DROP VIEW [IF EXISTS]","ALTER VIEW","CREATE TYPE","DROP TYPE [IF EXISTS]","ANALYZE","ATTACH [DATABASE] [IF NOT EXISTS]","DETACH [DATABASE] [IF EXISTS]","CALL","[FORCE] CHECKPOINT","COMMENT ON [TABLE | COLUMN | VIEW | INDEX | SEQUENCE | TYPE | MACRO | MACRO TABLE]","COPY [FROM DATABASE]","DESCRIBE","EXPORT DATABASE","IMPORT DATABASE","INSTALL","LOAD","PIVOT","PIVOT_WIDER","UNPIVOT","EXPLAIN [ANALYZE]","SET {LOCAL | SESSION | GLOBAL}","RESET [LOCAL | SESSION | GLOBAL]","{SET | RESET} VARIABLE","SUMMARIZE","BEGIN TRANSACTION","ROLLBACK","COMMIT","ABORT","USE","VACUUM [ANALYZE]","PREPARE","EXECUTE","DEALLOCATE [PREPARE]"]),qo=G(["UNION [ALL | BY NAME]","EXCEPT [ALL]","INTERSECT [ALL]"]),Jo=G(["JOIN","{LEFT | RIGHT | FULL} [OUTER] JOIN","{INNER | CROSS} JOIN","{NATURAL | ASOF} [INNER] JOIN","{NATURAL | ASOF} {LEFT | RIGHT | FULL} [OUTER] JOIN","POSITIONAL JOIN","ANTI JOIN","SEMI JOIN"]),Qo=G(["{ROWS | RANGE | GROUPS} BETWEEN","SIMILAR TO","IS [NOT] DISTINCT FROM"]),Zo=G(["TIMESTAMP WITH TIME ZONE"]),jo={name:"duckdb",tokenizerOptions:{reservedSelect:ko,reservedClauses:[...$o,...ar,...TE],reservedSetOperations:qo,reservedJoins:Jo,reservedKeywordPhrases:Qo,reservedDataTypePhrases:Zo,supportsXor:!0,reservedKeywords:Xo,reservedDataTypes:Ko,reservedFunctionNames:Wo,nestedBlockComments:!0,extraParens:["[]","{}"],underscoresInNumbers:!0,stringTypes:["$$","''-qq",{quote:"''-qq-bs",prefixes:["E"],requirePrefix:!0},{quote:"''-raw",prefixes:["B","X"],requirePrefix:!0}],identTypes:['""-qq'],identChars:{rest:"$"},paramTypes:{positional:!0,numbered:["$"],quoted:["$"]},operators:["//","%","**","^","!","&","|","~","<<",">>","::","==","->","->>",":",":=","=>","~~","!~~","~~*","!~~*","~~~","~","!~","~*","!~*","^@","||",">>=","<<="]},formatOptions:{alwaysDenseOperators:["::"],onelineClauses:[...ar,...TE],tabularOnelineClauses:TE}},zo=["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_CONTAINS","MAP_KEYS","MAP_VALUES","SIZE","SORT_ARRAY","BINARY","CAST","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","ASSERT_TRUE","COALESCE","IF","ISNOTNULL","ISNULL","NULLIF","NVL","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","MASK","MASK_FIRST_N","MASK_HASH","MASK_LAST_N","MASK_SHOW_FIRST_N","MASK_SHOW_LAST_N","AES_DECRYPT","AES_ENCRYPT","CRC32","CURRENT_DATABASE","CURRENT_USER","HASH","JAVA_METHOD","LOGGED_IN_USER","MD5","REFLECT","SHA","SHA1","SHA2","SURROGATE_KEY","VERSION","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","EXPLODE","INLINE","JSON_TUPLE","PARSE_URL_TUPLE","POSEXPLODE","STACK","LEAD","LAG","FIRST_VALUE","LAST_VALUE","RANK","ROW_NUMBER","DENSE_RANK","CUME_DIST","PERCENT_RANK","NTILE"],ea=["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","TABLES","TBLPROPERTIES","TEMPORARY","TERMINATED","TINYINT","TOUCH","TRANSACTIONS","UNARCHIVE","UNDO","UNIONTYPE","UNLOCK","UNSET","UNSIGNED","URI","USE","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","ALL","ALTER","AND","AS","AUTHORIZATION","BETWEEN","BOTH","BY","CASE","CAST","COLUMN","CONF","CREATE","CROSS","CUBE","CURRENT","CURRENT_DATE","CURRENT_TIMESTAMP","CURSOR","DATABASE","DELETE","DESCRIBE","DISTINCT","DROP","ELSE","END","EXCHANGE","EXISTS","EXTENDED","EXTERNAL","FALSE","FETCH","FOLLOWING","FOR","FROM","FULL","FUNCTION","GRANT","GROUP","GROUPING","HAVING","IF","IMPORT","IN","INNER","INSERT","INTERSECT","INTO","IS","JOIN","LATERAL","LEFT","LESS","LIKE","LOCAL","MACRO","MORE","NONE","NOT","NULL","OF","ON","OR","ORDER","OUT","OUTER","OVER","PARTIALSCAN","PARTITION","PERCENT","PRECEDING","PRESERVE","PROCEDURE","RANGE","READS","REDUCE","REVOKE","RIGHT","ROLLUP","ROW","ROWS","SELECT","SET","TABLE","TABLESAMPLE","THEN","TO","TRANSFORM","TRIGGER","TRUE","TRUNCATE","UNBOUNDED","UNION","UNIQUEJOIN","UPDATE","USER","USING","UTC_TMESTAMP","VALUES","WHEN","WHERE","WINDOW","WITH","COMMIT","ONLY","REGEXP","RLIKE","ROLLBACK","START","CACHE","CONSTRAINT","FOREIGN","PRIMARY","REFERENCES","DAYOFWEEK","EXTRACT","FLOOR","VIEWS","TIME","SYNC","TEXTFILE","SEQUENCEFILE","ORC","CSV","TSV","PARQUET","AVRO","RCFILE","JSONFILE","INPUTFORMAT","OUTPUTFORMAT"],ta=["ARRAY","BIGINT","BINARY","BOOLEAN","CHAR","DATE","DECIMAL","DOUBLE","FLOAT","INT","INTEGER","INTERVAL","MAP","NUMERIC","PRECISION","SMALLINT","STRUCT","TIMESTAMP","VARCHAR"],Ea=G(["SELECT [ALL | DISTINCT]"]),ra=G(["WITH","FROM","WHERE","GROUP BY","HAVING","WINDOW","PARTITION BY","ORDER BY","SORT BY","CLUSTER BY","DISTRIBUTE BY","LIMIT","INSERT INTO [TABLE]","VALUES","SET","MERGE INTO","WHEN [NOT] MATCHED [THEN]","UPDATE SET","INSERT [VALUES]","INSERT OVERWRITE [LOCAL] DIRECTORY","LOAD DATA [LOCAL] INPATH","[OVERWRITE] INTO TABLE"]),ir=G(["CREATE [TEMPORARY] [EXTERNAL] TABLE [IF NOT EXISTS]"]),oE=G(["CREATE [MATERIALIZED] VIEW [IF NOT EXISTS]","UPDATE","DELETE FROM","DROP TABLE [IF EXISTS]","ALTER TABLE","RENAME TO","TRUNCATE [TABLE]","ALTER","CREATE","USE","DESCRIBE","DROP","FETCH","SHOW","STORED AS","STORED BY","ROW FORMAT"]),na=G(["UNION [ALL | DISTINCT]"]),sa=G(["JOIN","{LEFT | RIGHT | FULL} [OUTER] JOIN","{INNER | CROSS} JOIN","LEFT SEMI JOIN"]),Ta=G(["{ROWS | RANGE} BETWEEN"]),oa=G([]),aa={name:"hive",tokenizerOptions:{reservedSelect:Ea,reservedClauses:[...ra,...ir,...oE],reservedSetOperations:na,reservedJoins:sa,reservedKeywordPhrases:Ta,reservedDataTypePhrases:oa,reservedKeywords:ea,reservedDataTypes:ta,reservedFunctionNames:zo,extraParens:["[]"],stringTypes:['""-bs',"''-bs"],identTypes:["``"],variableTypes:[{quote:"{}",prefixes:["$"],requirePrefix:!0}],operators:["%","~","^","|","&","<=>","==","!","||"]},formatOptions:{onelineClauses:[...ir,...oE],tabularOnelineClauses:oE}};function vt(E){return E.map((t,r)=>{const n=E[r+1]||It;if(Ot.SET(t)&&n.text==="(")return Object.assign(Object.assign({},t),{type:K.RESERVED_FUNCTION_NAME});const s=E[r-1]||It;return Ot.VALUES(t)&&s.text==="="?Object.assign(Object.assign({},t),{type:K.RESERVED_FUNCTION_NAME}):t})}const ia=["ACCESSIBLE","ADD","ALL","ALTER","ANALYZE","AND","AS","ASC","ASENSITIVE","BEFORE","BETWEEN","BOTH","BY","CALL","CASCADE","CASE","CHANGE","CHECK","COLLATE","COLUMN","CONDITION","CONSTRAINT","CONTINUE","CONVERT","CREATE","CROSS","CURRENT_DATE","CURRENT_ROLE","CURRENT_TIME","CURRENT_TIMESTAMP","CURRENT_USER","CURSOR","DATABASE","DATABASES","DAY_HOUR","DAY_MICROSECOND","DAY_MINUTE","DAY_SECOND","DECLARE","DEFAULT","DELAYED","DELETE","DELETE_DOMAIN_ID","DESC","DESCRIBE","DETERMINISTIC","DISTINCT","DISTINCTROW","DIV","DO_DOMAIN_IDS","DROP","DUAL","EACH","ELSE","ELSEIF","ENCLOSED","ESCAPED","EXCEPT","EXISTS","EXIT","EXPLAIN","FALSE","FETCH","FOR","FORCE","FOREIGN","FROM","FULLTEXT","GENERAL","GRANT","GROUP","HAVING","HIGH_PRIORITY","HOUR_MICROSECOND","HOUR_MINUTE","HOUR_SECOND","IF","IGNORE","IGNORE_DOMAIN_IDS","IGNORE_SERVER_IDS","IN","INDEX","INFILE","INNER","INOUT","INSENSITIVE","INSERT","INTERSECT","INTERVAL","INTO","IS","ITERATE","JOIN","KEY","KEYS","KILL","LEADING","LEAVE","LEFT","LIKE","LIMIT","LINEAR","LINES","LOAD","LOCALTIME","LOCALTIMESTAMP","LOCK","LOOP","LOW_PRIORITY","MASTER_HEARTBEAT_PERIOD","MASTER_SSL_VERIFY_SERVER_CERT","MATCH","MAXVALUE","MINUTE_MICROSECOND","MINUTE_SECOND","MOD","MODIFIES","NATURAL","NOT","NO_WRITE_TO_BINLOG","NULL","OFFSET","ON","OPTIMIZE","OPTION","OPTIONALLY","OR","ORDER","OUT","OUTER","OUTFILE","OVER","PAGE_CHECKSUM","PARSE_VCOL_EXPR","PARTITION","POSITION","PRIMARY","PROCEDURE","PURGE","RANGE","READ","READS","READ_WRITE","RECURSIVE","REF_SYSTEM_ID","REFERENCES","REGEXP","RELEASE","RENAME","REPEAT","REPLACE","REQUIRE","RESIGNAL","RESTRICT","RETURN","RETURNING","REVOKE","RIGHT","RLIKE","ROW_NUMBER","ROWS","SCHEMA","SCHEMAS","SECOND_MICROSECOND","SELECT","SENSITIVE","SEPARATOR","SET","SHOW","SIGNAL","SLOW","SPATIAL","SPECIFIC","SQL","SQLEXCEPTION","SQLSTATE","SQLWARNING","SQL_BIG_RESULT","SQL_CALC_FOUND_ROWS","SQL_SMALL_RESULT","SSL","STARTING","STATS_AUTO_RECALC","STATS_PERSISTENT","STATS_SAMPLE_PAGES","STRAIGHT_JOIN","TABLE","TERMINATED","THEN","TO","TRAILING","TRIGGER","TRUE","UNDO","UNION","UNIQUE","UNLOCK","UNSIGNED","UPDATE","USAGE","USE","USING","UTC_DATE","UTC_TIME","UTC_TIMESTAMP","VALUES","WHEN","WHERE","WHILE","WINDOW","WITH","WRITE","XOR","YEAR_MONTH","ZEROFILL"],Aa=["BIGINT","BINARY","BIT","BLOB","CHAR BYTE","CHAR","CHARACTER","DATETIME","DEC","DECIMAL","DOUBLE PRECISION","DOUBLE","ENUM","FIXED","FLOAT","FLOAT4","FLOAT8","INT","INT1","INT2","INT3","INT4","INT8","INTEGER","LONG","LONGBLOB","LONGTEXT","MEDIUMBLOB","MEDIUMINT","MEDIUMTEXT","MIDDLEINT","NATIONAL CHAR","NATIONAL VARCHAR","NUMERIC","PRECISION","REAL","SMALLINT","TEXT","TIMESTAMP","TINYBLOB","TINYINT","TINYTEXT","VARBINARY","VARCHAR","VARCHARACTER","VARYING","YEAR"],Ra=["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","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","COALESCE","NULLIF"],Sa=G(["SELECT [ALL | DISTINCT | DISTINCTROW]"]),Na=G(["WITH [RECURSIVE]","FROM","WHERE","GROUP BY","HAVING","PARTITION BY","ORDER BY","LIMIT","OFFSET","FETCH {FIRST | NEXT}","INSERT [LOW_PRIORITY | DELAYED | HIGH_PRIORITY] [IGNORE] [INTO]","REPLACE [LOW_PRIORITY | DELAYED] [INTO]","VALUES","ON DUPLICATE KEY UPDATE","SET","RETURNING"]),Ar=G(["CREATE [OR REPLACE] [TEMPORARY] TABLE [IF NOT EXISTS]"]),aE=G(["CREATE [OR REPLACE] [SQL SECURITY DEFINER | SQL SECURITY INVOKER] VIEW [IF NOT EXISTS]","UPDATE [LOW_PRIORITY] [IGNORE]","DELETE [LOW_PRIORITY] [QUICK] [IGNORE] FROM","DROP [TEMPORARY] TABLE [IF EXISTS]","ALTER [ONLINE] [IGNORE] TABLE [IF EXISTS]","ADD [COLUMN] [IF NOT EXISTS]","{CHANGE | MODIFY} [COLUMN] [IF EXISTS]","DROP [COLUMN] [IF EXISTS]","RENAME [TO]","RENAME COLUMN","ALTER [COLUMN]","{SET | DROP} DEFAULT","SET {VISIBLE | INVISIBLE}","TRUNCATE [TABLE]","ALTER DATABASE","ALTER DATABASE COMMENT","ALTER EVENT","ALTER FUNCTION","ALTER PROCEDURE","ALTER SCHEMA","ALTER SCHEMA COMMENT","ALTER SEQUENCE","ALTER SERVER","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 TRIGGER","CREATE UNIQUE INDEX","CREATE USER","DEALLOCATE PREPARE","DESCRIBE","DROP DATABASE","DROP EVENT","DROP FUNCTION","DROP INDEX","DROP PREPARE","DROP PROCEDURE","DROP ROLE","DROP SEQUENCE","DROP SERVER","DROP TRIGGER","DROP USER","DROP VIEW","EXECUTE","EXPLAIN","FLUSH","GET DIAGNOSTICS","GET DIAGNOSTICS CONDITION","GRANT","HANDLER","HELP","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","RESET MASTER","RESET QUERY CACHE","RESET REPLICA","RESET SLAVE","RESIGNAL","REVOKE","ROLLBACK","SAVEPOINT","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","UNINSTALL PLUGIN","UNINSTALL SONAME","UNLOCK TABLE","USE","XA BEGIN","XA COMMIT","XA END","XA PREPARE","XA RECOVER","XA ROLLBACK","XA START"]),Ia=G(["UNION [ALL | DISTINCT]","EXCEPT [ALL | DISTINCT]","INTERSECT [ALL | DISTINCT]","MINUS [ALL | DISTINCT]"]),Oa=G(["JOIN","{LEFT | RIGHT} [OUTER] JOIN","{INNER | CROSS} JOIN","NATURAL JOIN","NATURAL {LEFT | RIGHT} [OUTER] JOIN","STRAIGHT_JOIN"]),la=G(["ON {UPDATE | DELETE} [SET NULL | SET DEFAULT]","CHARACTER SET","{ROWS | RANGE} BETWEEN","IDENTIFIED BY"]),ua=G([]),Ca={name:"mariadb",tokenizerOptions:{reservedSelect:Sa,reservedClauses:[...Na,...Ar,...aE],reservedSetOperations:Ia,reservedJoins:Oa,reservedKeywordPhrases:la,reservedDataTypePhrases:ua,supportsXor:!0,reservedKeywords:ia,reservedDataTypes:Aa,reservedFunctionNames:Ra,stringTypes:['""-qq-bs',"''-qq-bs",{quote:"''-raw",prefixes:["B","X"],requirePrefix:!0}],identTypes:["``"],identChars:{first:"$",rest:"$",allowFirstCharNumber:!0},variableTypes:[{regex:"@@?[A-Za-z0-9_.$]+"},{quote:'""-qq-bs',prefixes:["@"],requirePrefix:!0},{quote:"''-qq-bs",prefixes:["@"],requirePrefix:!0},{quote:"``",prefixes:["@"],requirePrefix:!0}],paramTypes:{positional:!0},lineCommentTypes:["--","#"],operators:["%",":=","&","|","^","~","<<",">>","<=>","&&","||","!","*.*"],postProcess:vt},formatOptions:{onelineClauses:[...Ar,...aE],tabularOnelineClauses:aE}},ca=["ACCESSIBLE","ADD","ALL","ALTER","ANALYZE","AND","AS","ASC","ASENSITIVE","BEFORE","BETWEEN","BOTH","BY","CALL","CASCADE","CASE","CHANGE","CHECK","COLLATE","COLUMN","CONDITION","CONSTRAINT","CONTINUE","CONVERT","CREATE","CROSS","CUBE","CUME_DIST","CURRENT_DATE","CURRENT_TIME","CURRENT_TIMESTAMP","CURRENT_USER","CURSOR","DATABASE","DATABASES","DAY_HOUR","DAY_MICROSECOND","DAY_MINUTE","DAY_SECOND","DECLARE","DEFAULT","DELAYED","DELETE","DENSE_RANK","DESC","DESCRIBE","DETERMINISTIC","DISTINCT","DISTINCTROW","DIV","DROP","DUAL","EACH","ELSE","ELSEIF","EMPTY","ENCLOSED","ESCAPED","EXCEPT","EXISTS","EXIT","EXPLAIN","FALSE","FETCH","FIRST_VALUE","FOR","FORCE","FOREIGN","FROM","FULLTEXT","FUNCTION","GENERATED","GET","GRANT","GROUP","GROUPING","GROUPS","HAVING","HIGH_PRIORITY","HOUR_MICROSECOND","HOUR_MINUTE","HOUR_SECOND","IF","IGNORE","IN","INDEX","INFILE","INNER","INOUT","INSENSITIVE","INSERT","IN","INTERSECT","INTERVAL","INTO","IO_AFTER_GTIDS","IO_BEFORE_GTIDS","IS","ITERATE","JOIN","JSON_TABLE","KEY","KEYS","KILL","LAG","LAST_VALUE","LATERAL","LEAD","LEADING","LEAVE","LEFT","LIKE","LIMIT","LINEAR","LINES","LOAD","LOCALTIME","LOCALTIMESTAMP","LOCK","LONG","LOOP","LOW_PRIORITY","MASTER_BIND","MASTER_SSL_VERIFY_SERVER_CERT","MATCH","MAXVALUE","MINUTE_MICROSECOND","MINUTE_SECOND","MOD","MODIFIES","NATURAL","NOT","NO_WRITE_TO_BINLOG","NTH_VALUE","NTILE","NULL","OF","ON","OPTIMIZE","OPTIMIZER_COSTS","OPTION","OPTIONALLY","OR","ORDER","OUT","OUTER","OUTFILE","OVER","PARTITION","PERCENT_RANK","PRIMARY","PROCEDURE","PURGE","RANGE","RANK","READ","READS","READ_WRITE","RECURSIVE","REFERENCES","REGEXP","RELEASE","RENAME","REPEAT","REPLACE","REQUIRE","RESIGNAL","RESTRICT","RETURN","REVOKE","RIGHT","RLIKE","ROW","ROWS","ROW_NUMBER","SCHEMA","SCHEMAS","SECOND_MICROSECOND","SELECT","SENSITIVE","SEPARATOR","SET","SHOW","SIGNAL","SPATIAL","SPECIFIC","SQL","SQLEXCEPTION","SQLSTATE","SQLWARNING","SQL_BIG_RESULT","SQL_CALC_FOUND_ROWS","SQL_SMALL_RESULT","SSL","STARTING","STORED","STRAIGHT_JOIN","SYSTEM","TABLE","TERMINATED","THEN","TO","TRAILING","TRIGGER","TRUE","UNDO","UNION","UNIQUE","UNLOCK","UNSIGNED","UPDATE","USAGE","USE","USING","UTC_DATE","UTC_TIME","UTC_TIMESTAMP","VALUES","VIRTUAL","WHEN","WHERE","WHILE","WINDOW","WITH","WRITE","XOR","YEAR_MONTH","ZEROFILL"],_a=["BIGINT","BINARY","BIT","BLOB","BOOL","BOOLEAN","CHAR","CHARACTER","DATE","DATETIME","DEC","DECIMAL","DOUBLE PRECISION","DOUBLE","ENUM","FIXED","FLOAT","FLOAT4","FLOAT8","INT","INT1","INT2","INT3","INT4","INT8","INTEGER","LONGBLOB","LONGTEXT","MEDIUMBLOB","MEDIUMINT","MEDIUMTEXT","MIDDLEINT","NATIONAL CHAR","NATIONAL VARCHAR","NUMERIC","PRECISION","REAL","SMALLINT","TEXT","TIME","TIMESTAMP","TINYBLOB","TINYINT","TINYTEXT","VARBINARY","VARCHAR","VARCHARACTER","VARYING","YEAR"],La=["ABS","ACOS","ADDDATE","ADDTIME","AES_DECRYPT","AES_ENCRYPT","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","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","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","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","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","YEAR","YEARWEEK"],Da=G(["SELECT [ALL | DISTINCT | DISTINCTROW]"]),pa=G(["WITH [RECURSIVE]","FROM","WHERE","GROUP BY","HAVING","WINDOW","PARTITION BY","ORDER BY","LIMIT","OFFSET","INSERT [LOW_PRIORITY | DELAYED | HIGH_PRIORITY] [IGNORE] [INTO]","REPLACE [LOW_PRIORITY | DELAYED] [INTO]","VALUES","ON DUPLICATE KEY UPDATE","SET"]),Rr=G(["CREATE [TEMPORARY] TABLE [IF NOT EXISTS]"]),iE=G(["CREATE [OR REPLACE] [SQL SECURITY DEFINER | SQL SECURITY INVOKER] VIEW [IF NOT EXISTS]","UPDATE [LOW_PRIORITY] [IGNORE]","DELETE [LOW_PRIORITY] [QUICK] [IGNORE] FROM","DROP [TEMPORARY] TABLE [IF EXISTS]","ALTER TABLE","ADD [COLUMN]","{CHANGE | MODIFY} [COLUMN]","DROP [COLUMN]","RENAME [TO | AS]","RENAME COLUMN","ALTER [COLUMN]","{SET | DROP} DEFAULT","TRUNCATE [TABLE]","ALTER DATABASE","ALTER EVENT","ALTER FUNCTION","ALTER INSTANCE","ALTER LOGFILE GROUP","ALTER PROCEDURE","ALTER RESOURCE GROUP","ALTER SERVER","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 TABLESPACE","CREATE TRIGGER","CREATE USER","DEALLOCATE PREPARE","DESCRIBE","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 TABLESPACE","DROP TRIGGER","DROP USER","DROP VIEW","EXECUTE","EXPLAIN","FLUSH","GRANT","HANDLER","HELP","IMPORT TABLE","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","RESET","RESET MASTER","RESET PERSIST","RESET REPLICA","RESET SLAVE","RESTART","REVOKE","ROLLBACK","ROLLBACK TO SAVEPOINT","SAVEPOINT","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","UNINSTALL COMPONENT","UNINSTALL PLUGIN","UNLOCK INSTANCE","UNLOCK TABLES","USE","XA","ITERATE","LEAVE","LOOP","REPEAT","RETURN","WHILE"]),da=G(["UNION [ALL | DISTINCT]"]),Pa=G(["JOIN","{LEFT | RIGHT} [OUTER] JOIN","{INNER | CROSS} JOIN","NATURAL [INNER] JOIN","NATURAL {LEFT | RIGHT} [OUTER] JOIN","STRAIGHT_JOIN"]),fa=G(["ON {UPDATE | DELETE} [SET NULL]","CHARACTER SET","{ROWS | RANGE} BETWEEN","IDENTIFIED BY"]),ha=G([]),Ma={name:"mysql",tokenizerOptions:{reservedSelect:Da,reservedClauses:[...pa,...Rr,...iE],reservedSetOperations:da,reservedJoins:Pa,reservedKeywordPhrases:fa,reservedDataTypePhrases:ha,supportsXor:!0,reservedKeywords:ca,reservedDataTypes:_a,reservedFunctionNames:La,stringTypes:['""-qq-bs',{quote:"''-qq-bs",prefixes:["N"]},{quote:"''-raw",prefixes:["B","X"],requirePrefix:!0}],identTypes:["``"],identChars:{first:"$",rest:"$",allowFirstCharNumber:!0},variableTypes:[{regex:"@@?[A-Za-z0-9_.$]+"},{quote:'""-qq-bs',prefixes:["@"],requirePrefix:!0},{quote:"''-qq-bs",prefixes:["@"],requirePrefix:!0},{quote:"``",prefixes:["@"],requirePrefix:!0}],paramTypes:{positional:!0},lineCommentTypes:["--","#"],operators:["%",":=","&","|","^","~","<<",">>","<=>","->","->>","&&","||","!","*.*"],postProcess:vt},formatOptions:{onelineClauses:[...Rr,...iE],tabularOnelineClauses:iE}},Ua=["ADD","ALL","ALTER","ANALYZE","AND","ARRAY","AS","ASC","BETWEEN","BOTH","BY","CALL","CASCADE","CASE","CHANGE","CHECK","COLLATE","COLUMN","CONSTRAINT","CONTINUE","CONVERT","CREATE","CROSS","CURRENT_DATE","CURRENT_ROLE","CURRENT_TIME","CURRENT_TIMESTAMP","CURRENT_USER","CURSOR","DATABASE","DATABASES","DAY_HOUR","DAY_MICROSECOND","DAY_MINUTE","DAY_SECOND","DEFAULT","DELAYED","DELETE","DESC","DESCRIBE","DISTINCT","DISTINCTROW","DIV","DOUBLE","DROP","DUAL","ELSE","ELSEIF","ENCLOSED","ESCAPED","EXCEPT","EXISTS","EXIT","EXPLAIN","FALSE","FETCH","FOR","FORCE","FOREIGN","FROM","FULLTEXT","GENERATED","GRANT","GROUP","GROUPS","HAVING","HIGH_PRIORITY","HOUR_MICROSECOND","HOUR_MINUTE","HOUR_SECOND","IF","IGNORE","ILIKE","IN","INDEX","INFILE","INNER","INOUT","INSERT","INTERSECT","INTERVAL","INTO","IS","ITERATE","JOIN","KEY","KEYS","KILL","LEADING","LEAVE","LEFT","LIKE","LIMIT","LINEAR","LINES","LOAD","LOCALTIME","LOCALTIMESTAMP","LOCK","LONG","LOW_PRIORITY","MATCH","MAXVALUE","MINUTE_MICROSECOND","MINUTE_SECOND","MOD","NATURAL","NOT","NO_WRITE_TO_BINLOG","NULL","OF","ON","OPTIMIZE","OPTION","OPTIONALLY","OR","ORDER","OUT","OUTER","OUTFILE","OVER","PARTITION","PRIMARY","PROCEDURE","RANGE","READ","RECURSIVE","REFERENCES","REGEXP","RELEASE","RENAME","REPEAT","REPLACE","REQUIRE","RESTRICT","REVOKE","RIGHT","RLIKE","ROW","ROWS","SECOND_MICROSECOND","SELECT","SET","SHOW","SPATIAL","SQL","SQLEXCEPTION","SQLSTATE","SQLWARNING","SQL_BIG_RESULT","SQL_CALC_FOUND_ROWS","SQL_SMALL_RESULT","SSL","STARTING","STATS_EXTENDED","STORED","STRAIGHT_JOIN","TABLE","TABLESAMPLE","TERMINATED","THEN","TO","TRAILING","TRIGGER","TRUE","TiDB_CURRENT_TSO","UNION","UNIQUE","UNLOCK","UNSIGNED","UNTIL","UPDATE","USAGE","USE","USING","UTC_DATE","UTC_TIME","UTC_TIMESTAMP","VALUES","VIRTUAL","WHEN","WHERE","WHILE","WINDOW","WITH","WRITE","XOR","YEAR_MONTH","ZEROFILL"],ma=["BIGINT","BINARY","BIT","BLOB","BOOL","BOOLEAN","CHAR","CHARACTER","DATE","DATETIME","DEC","DECIMAL","DOUBLE PRECISION","DOUBLE","ENUM","FIXED","INT","INT1","INT2","INT3","INT4","INT8","INTEGER","LONGBLOB","LONGTEXT","MEDIUMBLOB","MEDIUMINT","MIDDLEINT","NATIONAL CHAR","NATIONAL VARCHAR","NUMERIC","PRECISION","SMALLINT","TEXT","TIME","TIMESTAMP","TINYBLOB","TINYINT","TINYTEXT","VARBINARY","VARCHAR","VARCHARACTER","VARYING","YEAR"],Ba=["ABS","ACOS","ADDDATE","ADDTIME","AES_DECRYPT","AES_ENCRYPT","ANY_VALUE","ASCII","ASIN","ATAN","ATAN2","AVG","BENCHMARK","BIN","BIN_TO_UUID","BIT_AND","BIT_COUNT","BIT_LENGTH","BIT_OR","BIT_XOR","BITAND","BITNEG","BITOR","BITXOR","CASE","CAST","CEIL","CEILING","CHAR_FUNC","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_RESOURCE_GROUP","CURRENT_ROLE","CURRENT_TIME","CURRENT_TIMESTAMP","CURRENT_USER","CURTIME","DATABASE","DATE","DATE_ADD","DATE_FORMAT","DATE_SUB","DATEDIFF","DAY","DAYNAME","DAYOFMONTH","DAYOFWEEK","DAYOFYEAR","DECODE","DEFAULT_FUNC","DEGREES","DENSE_RANK","DES_DECRYPT","DES_ENCRYPT","DIV","ELT","ENCODE","ENCRYPT","EQ","EXP","EXPORT_SET","EXTRACT","FIELD","FIND_IN_SET","FIRST_VALUE","FLOOR","FORMAT","FORMAT_BYTES","FORMAT_NANO_TIME","FOUND_ROWS","FROM_BASE64","FROM_DAYS","FROM_UNIXTIME","GE","GET_FORMAT","GET_LOCK","GETPARAM","GREATEST","GROUP_CONCAT","GROUPING","GT","HEX","HOUR","IF","IFNULL","ILIKE","INET6_ATON","INET6_NTOA","INET_ATON","INET_NTOA","INSERT_FUNC","INSTR","INTDIV","INTERVAL","IS_FREE_LOCK","IS_IPV4","IS_IPV4_COMPAT","IS_IPV4_MAPPED","IS_IPV6","IS_USED_LOCK","IS_UUID","ISFALSE","ISNULL","ISTRUE","JSON_ARRAY","JSON_ARRAYAGG","JSON_ARRAY_APPEND","JSON_ARRAY_INSERT","JSON_CONTAINS","JSON_CONTAINS_PATH","JSON_DEPTH","JSON_EXTRACT","JSON_INSERT","JSON_KEYS","JSON_LENGTH","JSON_MEMBEROF","JSON_MERGE","JSON_MERGE_PATCH","JSON_MERGE_PRESERVE","JSON_OBJECT","JSON_OBJECTAGG","JSON_OVERLAPS","JSON_PRETTY","JSON_QUOTE","JSON_REMOVE","JSON_REPLACE","JSON_SEARCH","JSON_SET","JSON_STORAGE_FREE","JSON_STORAGE_SIZE","JSON_TYPE","JSON_UNQUOTE","JSON_VALID","LAG","LAST_DAY","LAST_INSERT_ID","LAST_VALUE","LASTVAL","LCASE","LE","LEAD","LEAST","LEFT","LEFTSHIFT","LENGTH","LIKE","LN","LOAD_FILE","LOCALTIME","LOCALTIMESTAMP","LOCATE","LOG","LOG10","LOG2","LOWER","LPAD","LT","LTRIM","MAKE_SET","MAKEDATE","MAKETIME","MASTER_POS_WAIT","MAX","MD5","MICROSECOND","MID","MIN","MINUS","MINUTE","MOD","MONTH","MONTHNAME","MUL","NAME_CONST","NE","NEXTVAL","NOT","NOW","NTH_VALUE","NTILE","NULLEQ","OCT","OCTET_LENGTH","OLD_PASSWORD","ORD","PASSWORD_FUNC","PERCENT_RANK","PERIOD_ADD","PERIOD_DIFF","PI","PLUS","POSITION","POW","POWER","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","RIGHTSHIFT","ROUND","ROW_COUNT","ROW_NUMBER","RPAD","RTRIM","SCHEMA","SEC_TO_TIME","SECOND","SESSION_USER","SETVAL","SETVAR","SHA","SHA1","SHA2","SIGN","SIN","SLEEP","SM3","SPACE","SQRT","STD","STDDEV","STDDEV_POP","STDDEV_SAMP","STR_TO_DATE","STRCMP","SUBDATE","SUBSTR","SUBSTRING","SUBSTRING_INDEX","SUBTIME","SUM","SYSDATE","SYSTEM_USER","TAN","TIDB_BOUNDED_STALENESS","TIDB_CURRENT_TSO","TIDB_DECODE_BINARY_PLAN","TIDB_DECODE_KEY","TIDB_DECODE_PLAN","TIDB_DECODE_SQL_DIGESTS","TIDB_ENCODE_SQL_DIGEST","TIDB_IS_DDL_OWNER","TIDB_PARSE_TSO","TIDB_PARSE_TSO_LOGICAL","TIDB_ROW_CHECKSUM","TIDB_SHARD","TIDB_VERSION","TIME","TIME_FORMAT","TIME_TO_SEC","TIMEDIFF","TIMESTAMP","TIMESTAMPADD","TIMESTAMPDIFF","TO_BASE64","TO_DAYS","TO_SECONDS","TRANSLATE","TRIM","TRUNCATE","UCASE","UNARYMINUS","UNCOMPRESS","UNCOMPRESSED_LENGTH","UNHEX","UNIX_TIMESTAMP","UPPER","UTC_DATE","UTC_TIME","UTC_TIMESTAMP","UUID","UUID_SHORT","UUID_TO_BIN","VALIDATE_PASSWORD_STRENGTH","VAR_POP","VAR_SAMP","VARIANCE","VERSION","VITESS_HASH","WEEK","WEEKDAY","WEEKOFYEAR","WEIGHT_STRING","YEAR","YEARWEEK"],ga=G(["SELECT [ALL | DISTINCT | DISTINCTROW]"]),ya=G(["WITH [RECURSIVE]","FROM","WHERE","GROUP BY","HAVING","WINDOW","PARTITION BY","ORDER BY","LIMIT","OFFSET","INSERT [LOW_PRIORITY | DELAYED | HIGH_PRIORITY] [IGNORE] [INTO]","REPLACE [LOW_PRIORITY | DELAYED] [INTO]","VALUES","ON DUPLICATE KEY UPDATE","SET"]),Sr=G(["CREATE [TEMPORARY] TABLE [IF NOT EXISTS]"]),AE=G(["CREATE [OR REPLACE] [SQL SECURITY DEFINER | SQL SECURITY INVOKER] VIEW [IF NOT EXISTS]","UPDATE [LOW_PRIORITY] [IGNORE]","DELETE [LOW_PRIORITY] [QUICK] [IGNORE] FROM","DROP [TEMPORARY] TABLE [IF EXISTS]","ALTER TABLE","ADD [COLUMN]","{CHANGE | MODIFY} [COLUMN]","DROP [COLUMN]","RENAME [TO | AS]","RENAME COLUMN","ALTER [COLUMN]","{SET | DROP} DEFAULT","TRUNCATE [TABLE]","ALTER DATABASE","ALTER INSTANCE","ALTER RESOURCE GROUP","ALTER SEQUENCE","ALTER USER","ALTER VIEW","ANALYZE TABLE","CHECK TABLE","CHECKSUM TABLE","COMMIT","CREATE DATABASE","CREATE INDEX","CREATE RESOURCE GROUP","CREATE ROLE","CREATE SEQUENCE","CREATE USER","DEALLOCATE PREPARE","DESCRIBE","DROP DATABASE","DROP INDEX","DROP RESOURCE GROUP","DROP ROLE","DROP TABLESPACE","DROP USER","DROP VIEW","EXPLAIN","FLUSH","GRANT","IMPORT TABLE","INSTALL COMPONENT","INSTALL PLUGIN","KILL","LOAD DATA","LOCK INSTANCE FOR BACKUP","LOCK TABLES","OPTIMIZE TABLE","PREPARE","RELEASE SAVEPOINT","RENAME TABLE","RENAME USER","REPAIR TABLE","RESET","REVOKE","ROLLBACK","ROLLBACK TO SAVEPOINT","SAVEPOINT","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 TABLE","SHOW CREATE USER","SHOW CREATE VIEW","SHOW DATABASES","SHOW ENGINE","SHOW ENGINES","SHOW ERRORS","SHOW EVENTS","SHOW GRANTS","SHOW INDEX","SHOW MASTER STATUS","SHOW OPEN TABLES","SHOW PLUGINS","SHOW PRIVILEGES","SHOW PROCESSLIST","SHOW PROFILE","SHOW PROFILES","SHOW STATUS","SHOW TABLE STATUS","SHOW TABLES","SHOW TRIGGERS","SHOW VARIABLES","SHOW WARNINGS","TABLE","UNINSTALL COMPONENT","UNINSTALL PLUGIN","UNLOCK INSTANCE","UNLOCK TABLES","USE"]),Ga=G(["UNION [ALL | DISTINCT]"]),Fa=G(["JOIN","{LEFT | RIGHT} [OUTER] JOIN","{INNER | CROSS} JOIN","NATURAL [INNER] JOIN","NATURAL {LEFT | RIGHT} [OUTER] JOIN","STRAIGHT_JOIN"]),Ha=G(["ON {UPDATE | DELETE} [SET NULL]","CHARACTER SET","{ROWS | RANGE} BETWEEN","IDENTIFIED BY"]),ba=G([]),xa={name:"tidb",tokenizerOptions:{reservedSelect:ga,reservedClauses:[...ya,...Sr,...AE],reservedSetOperations:Ga,reservedJoins:Fa,reservedKeywordPhrases:Ha,reservedDataTypePhrases:ba,supportsXor:!0,reservedKeywords:Ua,reservedDataTypes:ma,reservedFunctionNames:Ba,stringTypes:['""-qq-bs',{quote:"''-qq-bs",prefixes:["N"]},{quote:"''-raw",prefixes:["B","X"],requirePrefix:!0}],identTypes:["``"],identChars:{first:"$",rest:"$",allowFirstCharNumber:!0},variableTypes:[{regex:"@@?[A-Za-z0-9_.$]+"},{quote:'""-qq-bs',prefixes:["@"],requirePrefix:!0},{quote:"''-qq-bs",prefixes:["@"],requirePrefix:!0},{quote:"``",prefixes:["@"],requirePrefix:!0}],paramTypes:{positional:!0},lineCommentTypes:["--","#"],operators:["%",":=","&","|","^","~","<<",">>","<=>","->","->>","&&","||","!","*.*"],postProcess:vt},formatOptions:{onelineClauses:[...Sr,...AE],tabularOnelineClauses:AE}},Ya=["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","CAST"],Va=["ADVISE","ALL","ALTER","ANALYZE","AND","ANY","ARRAY","AS","ASC","AT","BEGIN","BETWEEN","BINARY","BOOLEAN","BREAK","BUCKET","BUILD","BY","CALL","CASE","CAST","CLUSTER","COLLATE","COLLECTION","COMMIT","COMMITTED","CONNECT","CONTINUE","CORRELATED","COVER","CREATE","CURRENT","DATABASE","DATASET","DATASTORE","DECLARE","DECREMENT","DELETE","DERIVED","DESC","DESCRIBE","DISTINCT","DO","DROP","EACH","ELEMENT","ELSE","END","EVERY","EXCEPT","EXCLUDE","EXECUTE","EXISTS","EXPLAIN","FALSE","FETCH","FILTER","FIRST","FLATTEN","FLUSH","FOLLOWING","FOR","FORCE","FROM","FTS","FUNCTION","GOLANG","GRANT","GROUP","GROUPS","GSI","HASH","HAVING","IF","IGNORE","ILIKE","IN","INCLUDE","INCREMENT","INDEX","INFER","INLINE","INNER","INSERT","INTERSECT","INTO","IS","ISOLATION","JAVASCRIPT","JOIN","KEY","KEYS","KEYSPACE","KNOWN","LANGUAGE","LAST","LEFT","LET","LETTING","LEVEL","LIKE","LIMIT","LSM","MAP","MAPPING","MATCHED","MATERIALIZED","MERGE","MINUS","MISSING","NAMESPACE","NEST","NL","NO","NOT","NTH_VALUE","NULL","NULLS","NUMBER","OBJECT","OFFSET","ON","OPTION","OPTIONS","OR","ORDER","OTHERS","OUTER","OVER","PARSE","PARTITION","PASSWORD","PATH","POOL","PRECEDING","PREPARE","PRIMARY","PRIVATE","PRIVILEGE","PROBE","PROCEDURE","PUBLIC","RANGE","RAW","REALM","REDUCE","RENAME","RESPECT","RETURN","RETURNING","REVOKE","RIGHT","ROLE","ROLLBACK","ROW","ROWS","SATISFIES","SAVEPOINT","SCHEMA","SCOPE","SELECT","SELF","SEMI","SET","SHOW","SOME","START","STATISTICS","STRING","SYSTEM","THEN","TIES","TO","TRAN","TRANSACTION","TRIGGER","TRUE","TRUNCATE","UNBOUNDED","UNDER","UNION","UNIQUE","UNKNOWN","UNNEST","UNSET","UPDATE","UPSERT","USE","USER","USING","VALIDATE","VALUE","VALUED","VALUES","VIA","VIEW","WHEN","WHERE","WHILE","WINDOW","WITH","WITHIN","WORK","XOR"],va=[],wa=G(["SELECT [ALL | DISTINCT]"]),Wa=G(["WITH","FROM","WHERE","GROUP BY","HAVING","WINDOW","PARTITION BY","ORDER BY","LIMIT","OFFSET","INSERT INTO","VALUES","SET","MERGE INTO","WHEN [NOT] MATCHED THEN","UPDATE SET","INSERT","NEST","UNNEST","RETURNING"]),Nr=G(["UPDATE","DELETE FROM","SET SCHEMA","ADVISE","ALTER INDEX","BEGIN TRANSACTION","BUILD INDEX","COMMIT TRANSACTION","CREATE COLLECTION","CREATE FUNCTION","CREATE INDEX","CREATE PRIMARY INDEX","CREATE SCOPE","DROP COLLECTION","DROP FUNCTION","DROP INDEX","DROP PRIMARY INDEX","DROP SCOPE","EXECUTE","EXECUTE FUNCTION","EXPLAIN","GRANT","INFER","PREPARE","REVOKE","ROLLBACK TRANSACTION","SAVEPOINT","SET TRANSACTION","UPDATE STATISTICS","UPSERT","LET","SET CURRENT SCHEMA","SHOW","USE [PRIMARY] KEYS"]),Xa=G(["UNION [ALL]","EXCEPT [ALL]","INTERSECT [ALL]"]),Ka=G(["JOIN","{LEFT | RIGHT} [OUTER] JOIN","INNER JOIN"]),ka=G(["{ROWS | RANGE | GROUPS} BETWEEN"]),$a=G([]),qa={name:"n1ql",tokenizerOptions:{reservedSelect:wa,reservedClauses:[...Wa,...Nr],reservedSetOperations:Xa,reservedJoins:Ka,reservedKeywordPhrases:ka,reservedDataTypePhrases:$a,supportsXor:!0,reservedKeywords:Va,reservedDataTypes:va,reservedFunctionNames:Ya,stringTypes:['""-bs',"''-bs"],identTypes:["``"],extraParens:["[]","{}"],paramTypes:{positional:!0,numbered:["$"],named:["$"]},lineCommentTypes:["#","--"],operators:["%","==",":","||"]},formatOptions:{onelineClauses:Nr}},Ja=["ADD","AGENT","AGGREGATE","ALL","ALTER","AND","ANY","ARROW","AS","ASC","AT","ATTRIBUTE","AUTHID","AVG","BEGIN","BETWEEN","BLOCK","BODY","BOTH","BOUND","BULK","BY","BYTE","CALL","CALLING","CASCADE","CASE","CHARSET","CHARSETFORM","CHARSETID","CHECK","CLOSE","CLUSTER","CLUSTERS","COLAUTH","COLLECT","COLUMNS","COMMENT","COMMIT","COMMITTED","COMPILED","COMPRESS","CONNECT","CONSTANT","CONSTRUCTOR","CONTEXT","CONVERT","COUNT","CRASH","CREATE","CURRENT","CURSOR","CUSTOMDATUM","DANGLING","DATA","DAY","DECLARE","DEFAULT","DEFINE","DELETE","DESC","DETERMINISTIC","DISTINCT","DROP","DURATION","ELEMENT","ELSE","ELSIF","EMPTY","END","ESCAPE","EXCEPT","EXCEPTION","EXCEPTIONS","EXCLUSIVE","EXECUTE","EXISTS","EXIT","EXTERNAL","FETCH","FINAL","FIXED","FOR","FORALL","FORCE","FORM","FROM","FUNCTION","GENERAL","GOTO","GRANT","GROUP","HASH","HAVING","HEAP","HIDDEN","HOUR","IDENTIFIED","IF","IMMEDIATE","IN","INCLUDING","INDEX","INDEXES","INDICATOR","INDICES","INFINITE","INSERT","INSTANTIABLE","INTERFACE","INTERSECT","INTERVAL","INTO","INVALIDATE","IS","ISOLATION","JAVA","LANGUAGE","LARGE","LEADING","LENGTH","LEVEL","LIBRARY","LIKE","LIKE2","LIKE4","LIKEC","LIMIT","LIMITED","LOCAL","LOCK","LOOP","MAP","MAX","MAXLEN","MEMBER","MERGE","MIN","MINUS","MINUTE","MOD","MODE","MODIFY","MONTH","MULTISET","NAME","NAN","NATIONAL","NATIVE","NEW","NOCOMPRESS","NOCOPY","NOT","NOWAIT","NULL","OBJECT","OCICOLL","OCIDATE","OCIDATETIME","OCIDURATION","OCIINTERVAL","OCILOBLOCATOR","OCINUMBER","OCIRAW","OCIREF","OCIREFCURSOR","OCIROWID","OCISTRING","OCITYPE","OF","ON","ONLY","OPAQUE","OPEN","OPERATOR","OPTION","OR","ORACLE","ORADATA","ORDER","OVERLAPS","ORGANIZATION","ORLANY","ORLVARY","OTHERS","OUT","OVERRIDING","PACKAGE","PARALLEL_ENABLE","PARAMETER","PARAMETERS","PARTITION","PASCAL","PIPE","PIPELINED","PRAGMA","PRIOR","PRIVATE","PROCEDURE","PUBLIC","RAISE","RANGE","READ","RECORD","REF","REFERENCE","REM","REMAINDER","RENAME","RESOURCE","RESULT","RETURN","RETURNING","REVERSE","REVOKE","ROLLBACK","ROW","SAMPLE","SAVE","SAVEPOINT","SB1","SB2","SB4","SECOND","SEGMENT","SELECT","SELF","SEPARATE","SEQUENCE","SERIALIZABLE","SET","SHARE","SHORT","SIZE","SIZE_T","SOME","SPARSE","SQL","SQLCODE","SQLDATA","SQLNAME","SQLSTATE","STANDARD","START","STATIC","STDDEV","STORED","STRING","STRUCT","STYLE","SUBMULTISET","SUBPARTITION","SUBSTITUTABLE","SUBTYPE","SUM","SYNONYM","TABAUTH","TABLE","TDO","THE","THEN","TIME","TIMEZONE_ABBR","TIMEZONE_HOUR","TIMEZONE_MINUTE","TIMEZONE_REGION","TO","TRAILING","TRANSAC","TRANSACTIONAL","TRUSTED","TYPE","UB1","UB2","UB4","UNDER","UNION","UNIQUE","UNSIGNED","UNTRUSTED","UPDATE","USE","USING","VALIST","VALUE","VALUES","VARIABLE","VARIANCE","VARRAY","VIEW","VIEWS","VOID","WHEN","WHERE","WHILE","WITH","WORK","WRAPPED","WRITE","YEAR","ZONE"],Qa=["ARRAY","BFILE_BASE","BINARY","BLOB_BASE","CHAR VARYING","CHAR_BASE","CHAR","CHARACTER VARYING","CHARACTER","CLOB_BASE","DATE_BASE","DATE","DECIMAL","DOUBLE","FLOAT","INT","INTERVAL DAY","INTERVAL YEAR","LONG","NATIONAL CHAR VARYING","NATIONAL CHAR","NATIONAL CHARACTER VARYING","NATIONAL CHARACTER","NCHAR VARYING","NCHAR","NCHAR","NUMBER_BASE","NUMBER","NUMBERIC","NVARCHAR","PRECISION","RAW","TIMESTAMP","UROWID","VARCHAR","VARCHAR2"],Za=["ABS","ACOS","ASIN","ATAN","ATAN2","BITAND","CEIL","COS","COSH","EXP","FLOOR","LN","LOG","MOD","NANVL","POWER","REMAINDER","ROUND","SIGN","SIN","SINH","SQRT","TAN","TANH","TRUNC","WIDTH_BUCKET","CHR","CONCAT","INITCAP","LOWER","LPAD","LTRIM","NLS_INITCAP","NLS_LOWER","NLSSORT","NLS_UPPER","REGEXP_REPLACE","REGEXP_SUBSTR","REPLACE","RPAD","RTRIM","SOUNDEX","SUBSTR","TRANSLATE","TREAT","TRIM","UPPER","NLS_CHARSET_DECL_LEN","NLS_CHARSET_ID","NLS_CHARSET_NAME","ASCII","INSTR","LENGTH","REGEXP_INSTR","ADD_MONTHS","CURRENT_DATE","CURRENT_TIMESTAMP","DBTIMEZONE","EXTRACT","FROM_TZ","LAST_DAY","LOCALTIMESTAMP","MONTHS_BETWEEN","NEW_TIME","NEXT_DAY","NUMTODSINTERVAL","NUMTOYMINTERVAL","ROUND","SESSIONTIMEZONE","SYS_EXTRACT_UTC","SYSDATE","SYSTIMESTAMP","TO_CHAR","TO_TIMESTAMP","TO_TIMESTAMP_TZ","TO_DSINTERVAL","TO_YMINTERVAL","TRUNC","TZ_OFFSET","GREATEST","LEAST","ASCIISTR","BIN_TO_NUM","CAST","CHARTOROWID","COMPOSE","CONVERT","DECOMPOSE","HEXTORAW","NUMTODSINTERVAL","NUMTOYMINTERVAL","RAWTOHEX","RAWTONHEX","ROWIDTOCHAR","ROWIDTONCHAR","SCN_TO_TIMESTAMP","TIMESTAMP_TO_SCN","TO_BINARY_DOUBLE","TO_BINARY_FLOAT","TO_CHAR","TO_CLOB","TO_DATE","TO_DSINTERVAL","TO_LOB","TO_MULTI_BYTE","TO_NCHAR","TO_NCLOB","TO_NUMBER","TO_DSINTERVAL","TO_SINGLE_BYTE","TO_TIMESTAMP","TO_TIMESTAMP_TZ","TO_YMINTERVAL","TO_YMINTERVAL","TRANSLATE","UNISTR","BFILENAME","EMPTY_BLOB,","EMPTY_CLOB","CARDINALITY","COLLECT","POWERMULTISET","POWERMULTISET_BY_CARDINALITY","SET","SYS_CONNECT_BY_PATH","CLUSTER_ID","CLUSTER_PROBABILITY","CLUSTER_SET","FEATURE_ID","FEATURE_SET","FEATURE_VALUE","PREDICTION","PREDICTION_COST","PREDICTION_DETAILS","PREDICTION_PROBABILITY","PREDICTION_SET","APPENDCHILDXML","DELETEXML","DEPTH","EXTRACT","EXISTSNODE","EXTRACTVALUE","INSERTCHILDXML","INSERTXMLBEFORE","PATH","SYS_DBURIGEN","SYS_XMLAGG","SYS_XMLGEN","UPDATEXML","XMLAGG","XMLCDATA","XMLCOLATTVAL","XMLCOMMENT","XMLCONCAT","XMLFOREST","XMLPARSE","XMLPI","XMLQUERY","XMLROOT","XMLSEQUENCE","XMLSERIALIZE","XMLTABLE","XMLTRANSFORM","DECODE","DUMP","ORA_HASH","VSIZE","COALESCE","LNNVL","NULLIF","NVL","NVL2","SYS_CONTEXT","SYS_GUID","SYS_TYPEID","UID","USER","USERENV","AVG","COLLECT","CORR","CORR_S","CORR_K","COUNT","COVAR_POP","COVAR_SAMP","CUME_DIST","DENSE_RANK","FIRST","GROUP_ID","GROUPING","GROUPING_ID","LAST","MAX","MEDIAN","MIN","PERCENTILE_CONT","PERCENTILE_DISC","PERCENT_RANK","RANK","REGR_SLOPE","REGR_INTERCEPT","REGR_COUNT","REGR_R2","REGR_AVGX","REGR_AVGY","REGR_SXX","REGR_SYY","REGR_SXY","STATS_BINOMIAL_TEST","STATS_CROSSTAB","STATS_F_TEST","STATS_KS_TEST","STATS_MODE","STATS_MW_TEST","STATS_ONE_WAY_ANOVA","STATS_T_TEST_ONE","STATS_T_TEST_PAIRED","STATS_T_TEST_INDEP","STATS_T_TEST_INDEPU","STATS_WSR_TEST","STDDEV","STDDEV_POP","STDDEV_SAMP","SUM","VAR_POP","VAR_SAMP","VARIANCE","FIRST_VALUE","LAG","LAST_VALUE","LEAD","NTILE","RATIO_TO_REPORT","ROW_NUMBER","DEREF","MAKE_REF","REF","REFTOHEX","VALUE","CV","ITERATION_NUMBER","PRESENTNNV","PRESENTV","PREVIOUS"],ja=G(["SELECT [ALL | DISTINCT | UNIQUE]"]),za=G(["WITH","FROM","WHERE","GROUP BY","HAVING","PARTITION BY","ORDER [SIBLINGS] BY","OFFSET","FETCH {FIRST | NEXT}","FOR UPDATE [OF]","INSERT [INTO | ALL INTO]","VALUES","SET","MERGE [INTO]","WHEN [NOT] MATCHED [THEN]","UPDATE SET","RETURNING"]),Ir=G(["CREATE [GLOBAL TEMPORARY | PRIVATE TEMPORARY | SHARDED | DUPLICATED | IMMUTABLE BLOCKCHAIN | BLOCKCHAIN | IMMUTABLE] TABLE"]),RE=G(["CREATE [OR REPLACE] [NO FORCE | FORCE] [EDITIONING | EDITIONABLE | EDITIONABLE EDITIONING | NONEDITIONABLE] VIEW","CREATE MATERIALIZED VIEW","UPDATE [ONLY]","DELETE FROM [ONLY]","DROP TABLE","ALTER TABLE","ADD","DROP {COLUMN | UNUSED COLUMNS | COLUMNS CONTINUE}","MODIFY","RENAME TO","RENAME COLUMN","TRUNCATE TABLE","SET SCHEMA","BEGIN","CONNECT BY","DECLARE","EXCEPT","EXCEPTION","LOOP","START WITH"]),ei=G(["UNION [ALL]","MINUS","INTERSECT"]),ti=G(["JOIN","{LEFT | RIGHT | FULL} [OUTER] JOIN","{INNER | CROSS} JOIN","NATURAL [INNER] JOIN","NATURAL {LEFT | RIGHT | FULL} [OUTER] JOIN","{CROSS | OUTER} APPLY"]),Ei=G(["ON {UPDATE | DELETE} [SET NULL]","ON COMMIT","{ROWS | RANGE} BETWEEN"]),ri=G([]),ni={name:"plsql",tokenizerOptions:{reservedSelect:ja,reservedClauses:[...za,...Ir,...RE],reservedSetOperations:ei,reservedJoins:ti,reservedKeywordPhrases:Ei,reservedDataTypePhrases:ri,supportsXor:!0,reservedKeywords:Ja,reservedDataTypes:Qa,reservedFunctionNames:Za,stringTypes:[{quote:"''-qq",prefixes:["N"]},{quote:"q''",prefixes:["N"]}],identTypes:['""-qq'],identChars:{rest:"$#"},variableTypes:[{regex:"&{1,2}[A-Za-z][A-Za-z0-9_$#]*"}],paramTypes:{numbered:[":"],named:[":"]},operators:["**",":=","%","~=","^=",">>","<<","=>","@","||"],postProcess:si},formatOptions:{alwaysDenseOperators:["@"],onelineClauses:[...Ir,...RE],tabularOnelineClauses:RE}};function si(E){let t=It;return E.map(r=>Ot.SET(r)&&Ot.BY(t)?Object.assign(Object.assign({},r),{type:K.RESERVED_KEYWORD}):(Er(r.type)&&(t=r),r))}const Ti=["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","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","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","BIT_COUNT","BIT_LENGTH","GET_BIT","LENGTH","OCTET_LENGTH","OVERLAY","POSITION","SET_BIT","SUBSTRING","REGEXP_MATCH","REGEXP_MATCHES","REGEXP_REPLACE","REGEXP_SPLIT_TO_ARRAY","REGEXP_SPLIT_TO_TABLE","TO_CHAR","TO_DATE","TO_NUMBER","TO_TIMESTAMP","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_FIRST","ENUM_LAST","ENUM_RANGE","AREA","BOUND_BOX","BOX","CENTER","CIRCLE","DIAGONAL","DIAMETER","HEIGHT","ISCLOSED","ISOPEN","LENGTH","LINE","LSEG","NPOINTS","PATH","PCLOSE","POINT","POLYGON","POPEN","RADIUS","SLOPE","WIDTH","ABBREV","BROADCAST","FAMILY","HOST","HOSTMASK","INET_MERGE","INET_SAME_FAMILY","MACADDR8_SET7BIT","MASKLEN","NETMASK","NETWORK","SET_MASKLEN","TRUNC","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","GEN_RANDOM_UUID","UUIDV4","UUIDV7","UUID_EXTRACT_TIMESTAMP","UUID_EXTRACT_VERSION","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","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","CURRVAL","LASTVAL","NEXTVAL","SETVAL","COALESCE","GREATEST","LEAST","NULLIF","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","ISEMPTY","LOWER","LOWER_INC","LOWER_INF","MULTIRANGE","RANGE_MERGE","UPPER","UPPER_INC","UPPER_INF","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","STDDEV","STDDEV_POP","STDDEV_SAMP","STRING_AGG","SUM","TO_JSON","TO_JSONB","VARIANCE","VAR_POP","VAR_SAMP","XMLAGG","CUME_DIST","DENSE_RANK","FIRST_VALUE","LAG","LAST_VALUE","LEAD","NTH_VALUE","NTILE","PERCENT_RANK","RANK","ROW_NUMBER","GENERATE_SERIES","GENERATE_SUBSCRIPTS","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","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","SUPPRESS_REDUNDANT_UPDATES_TRIGGER","TSVECTOR_UPDATE_TRIGGER","TSVECTOR_UPDATE_TRIGGER_COLUMN","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","PG_MCV_LIST_ITEMS","CAST"],oi=["ALL","ANALYSE","ANALYZE","AND","ANY","AS","ASC","ASYMMETRIC","AUTHORIZATION","BETWEEN","BINARY","BOTH","CASE","CAST","CHECK","COLLATE","COLLATION","COLUMN","CONCURRENTLY","CONSTRAINT","CREATE","CROSS","CURRENT_CATALOG","CURRENT_DATE","CURRENT_ROLE","CURRENT_SCHEMA","CURRENT_TIME","CURRENT_TIMESTAMP","CURRENT_USER","DAY","DEFAULT","DEFERRABLE","DESC","DISTINCT","DO","ELSE","END","EXCEPT","EXISTS","FALSE","FETCH","FILTER","FOR","FOREIGN","FREEZE","FROM","FULL","GRANT","GROUP","HAVING","HOUR","ILIKE","IN","INITIALLY","INNER","INOUT","INTERSECT","INTO","IS","ISNULL","JOIN","LATERAL","LEADING","LEFT","LIKE","LIMIT","LOCALTIME","LOCALTIMESTAMP","MINUTE","MONTH","NATURAL","NOT","NOTNULL","NULL","NULLIF","OFFSET","ON","ONLY","OR","ORDER","OUT","OUTER","OVER","OVERLAPS","PLACING","PRIMARY","REFERENCES","RETURNING","RIGHT","ROW","SECOND","SELECT","SESSION_USER","SIMILAR","SOME","SYMMETRIC","TABLE","TABLESAMPLE","THEN","TO","TRAILING","TRUE","UNION","UNIQUE","USER","USING","VALUES","VARIADIC","VERBOSE","WHEN","WHERE","WINDOW","WITH","WITHIN","WITHOUT","YEAR"],ai=["ARRAY","BIGINT","BIT","BIT VARYING","BOOL","BOOLEAN","CHAR","CHARACTER","CHARACTER VARYING","DECIMAL","DEC","DOUBLE","ENUM","FLOAT","INT","INTEGER","INTERVAL","NCHAR","NUMERIC","JSON","JSONB","PRECISION","REAL","SMALLINT","TEXT","TIME","TIMESTAMP","TIMESTAMPTZ","UUID","VARCHAR","XML","ZONE"],ii=G(["SELECT [ALL | DISTINCT]"]),Ai=G(["WITH [RECURSIVE]","FROM","WHERE","GROUP BY [ALL | DISTINCT]","HAVING","WINDOW","PARTITION BY","ORDER BY","LIMIT","OFFSET","FETCH {FIRST | NEXT}","FOR {UPDATE | NO KEY UPDATE | SHARE | KEY SHARE} [OF]","INSERT INTO","VALUES","DEFAULT VALUES","SET","RETURNING"]),Or=G(["CREATE [GLOBAL | LOCAL] [TEMPORARY | TEMP | UNLOGGED] TABLE [IF NOT EXISTS]"]),SE=G(["CREATE [OR REPLACE] [TEMP | TEMPORARY] [RECURSIVE] VIEW","CREATE [MATERIALIZED] VIEW [IF NOT EXISTS]","UPDATE [ONLY]","WHERE CURRENT OF","ON CONFLICT","DELETE FROM [ONLY]","DROP TABLE [IF EXISTS]","ALTER TABLE [IF EXISTS] [ONLY]","ALTER TABLE ALL IN TABLESPACE","RENAME [COLUMN]","RENAME TO","ADD [COLUMN] [IF NOT EXISTS]","DROP [COLUMN] [IF EXISTS]","ALTER [COLUMN]","SET DATA TYPE","{SET | DROP} DEFAULT","{SET | DROP} NOT NULL","TRUNCATE [TABLE] [ONLY]","SET SCHEMA","AFTER","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 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 ON","COMMIT","COMMIT PREPARED","COPY","CREATE ACCESS METHOD","CREATE [OR REPLACE] AGGREGATE","CREATE CAST","CREATE COLLATION","CREATE [DEFAULT] CONVERSION","CREATE DATABASE","CREATE DOMAIN","CREATE EVENT TRIGGER","CREATE EXTENSION","CREATE FOREIGN DATA WRAPPER","CREATE FOREIGN TABLE","CREATE [OR REPLACE] FUNCTION","CREATE GROUP","CREATE [UNIQUE] INDEX","CREATE [OR REPLACE] [TRUSTED] [PROCEDURAL] LANGUAGE","CREATE OPERATOR","CREATE OPERATOR CLASS","CREATE OPERATOR FAMILY","CREATE POLICY","CREATE [OR REPLACE] PROCEDURE","CREATE PUBLICATION","CREATE ROLE","CREATE [OR REPLACE] RULE","CREATE SCHEMA [AUTHORIZATION]","CREATE [TEMPORARY | TEMP | UNLOGGED] SEQUENCE","CREATE SERVER","CREATE STATISTICS","CREATE SUBSCRIPTION","CREATE TABLESPACE","CREATE TEXT SEARCH CONFIGURATION","CREATE TEXT SEARCH DICTIONARY","CREATE TEXT SEARCH PARSER","CREATE TEXT SEARCH TEMPLATE","CREATE [OR REPLACE] TRANSFORM","CREATE [OR REPLACE] [CONSTRAINT] TRIGGER","CREATE TYPE","CREATE USER","CREATE USER MAPPING","DEALLOCATE","DECLARE","DISCARD","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 IDENTITY","DROP INDEX","DROP LANGUAGE","DROP MATERIALIZED VIEW [IF EXISTS]","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 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","EXECUTE","EXPLAIN","FETCH","GRANT","IMPORT FOREIGN SCHEMA","LISTEN","LOAD","LOCK","MOVE","NOTIFY","OVERRIDING SYSTEM VALUE","PREPARE","PREPARE TRANSACTION","REASSIGN OWNED","REFRESH MATERIALIZED VIEW","REINDEX","RELEASE SAVEPOINT","RESET [ALL|ROLE|SESSION AUTHORIZATION]","REVOKE","ROLLBACK","ROLLBACK PREPARED","ROLLBACK TO SAVEPOINT","SAVEPOINT","SECURITY LABEL","SELECT INTO","SET CONSTRAINTS","SET ROLE","SET SESSION AUTHORIZATION","SET TRANSACTION","SHOW","START TRANSACTION","UNLISTEN","VACUUM"]),Ri=G(["UNION [ALL | DISTINCT]","EXCEPT [ALL | DISTINCT]","INTERSECT [ALL | DISTINCT]"]),Si=G(["JOIN","{LEFT | RIGHT | FULL} [OUTER] JOIN","{INNER | CROSS} JOIN","NATURAL [INNER] JOIN","NATURAL {LEFT | RIGHT | FULL} [OUTER] JOIN"]),Ni=G(["PRIMARY KEY","GENERATED {ALWAYS | BY DEFAULT} AS IDENTITY","ON {UPDATE | DELETE} [NO ACTION | RESTRICT | CASCADE | SET NULL | SET DEFAULT]","DO {NOTHING | UPDATE}","AS MATERIALIZED","{ROWS | RANGE | GROUPS} BETWEEN","IS [NOT] DISTINCT FROM","NULLS {FIRST | LAST}","WITH ORDINALITY"]),Ii=G(["[TIMESTAMP | TIME] {WITH | WITHOUT} TIME ZONE"]),Oi={name:"postgresql",tokenizerOptions:{reservedSelect:ii,reservedClauses:[...Ai,...Or,...SE],reservedSetOperations:Ri,reservedJoins:Si,reservedKeywordPhrases:Ni,reservedDataTypePhrases:Ii,reservedKeywords:oi,reservedDataTypes:ai,reservedFunctionNames:Ti,nestedBlockComments:!0,extraParens:["[]"],underscoresInNumbers:!0,stringTypes:["$$",{quote:"''-qq",prefixes:["U&"]},{quote:"''-qq-bs",prefixes:["E"],requirePrefix:!0},{quote:"''-raw",prefixes:["B","X"],requirePrefix:!0}],identTypes:[{quote:'""-qq',prefixes:["U&"]}],identChars:{rest:"$"},paramTypes:{numbered:["$"]},operators:["%","^","|/","||/","@",":=","&","|","#","~","<<",">>","~>~","~<~","~>=~","~<=~","@-@","@@","##","<->","&&","&<","&>","<<|","&<|","|>>","|&>","<^","^>","?#","?-","?|","?-|","?||","@>","<@","~=","?","@?","?&","->","->>","#>","#>>","#-","=>",">>=","<<=","~~","~~*","!~~","!~~*","~","~*","!~","!~*","-|-","||","@@@","!!","^@","<%","%>","<<%","%>>","<<->","<->>","<<<->","<->>>","::",":","<#>","<=>","<+>","<~>","<%>"],operatorKeyword:!0},formatOptions:{alwaysDenseOperators:["::",":"],onelineClauses:[...Or,...SE],tabularOnelineClauses:SE}},li=["ANY_VALUE","APPROXIMATE PERCENTILE_DISC","AVG","COUNT","LISTAGG","MAX","MEDIAN","MIN","PERCENTILE_CONT","STDDEV_SAMP","STDDEV_POP","SUM","VAR_SAMP","VAR_POP","array_concat","array_flatten","get_array_length","split_to_array","subarray","BIT_AND","BIT_OR","BOOL_AND","BOOL_OR","COALESCE","DECODE","GREATEST","LEAST","NVL","NVL2","NULLIF","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","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","CHECKSUM","FUNC_SHA1","FNV_HASH","MD5","SHA","SHA1","SHA2","HLL","HLL_CREATE_SKETCH","HLL_CARDINALITY","HLL_COMBINE","IS_VALID_JSON","IS_VALID_JSON_ARRAY","JSON_ARRAY_LENGTH","JSON_EXTRACT_ARRAY_ELEMENT_TEXT","JSON_EXTRACT_PATH_TEXT","JSON_PARSE","JSON_SERIALIZE","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","EXPLAIN_MODEL","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","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","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","CAST","CONVERT","TO_CHAR","TO_DATE","TO_NUMBER","TEXT_TO_INT_ALT","TEXT_TO_NUMERIC_ALT","CHANGE_QUERY_PRIORITY","CHANGE_SESSION_PRIORITY","CHANGE_USER_PRIORITY","CURRENT_SETTING","PG_CANCEL_BACKEND","PG_TERMINATE_BACKEND","REBOOT_CLUSTER","SET_CONFIG","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"],ui=["AES128","AES256","ALL","ALLOWOVERWRITE","ANY","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","ON","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","USING","VERBOSE","WALLET","WITHOUT","ACCEPTANYDATE","ACCEPTINVCHARS","BLANKSASNULL","DATEFORMAT","EMPTYASNULL","ENCODING","ESCAPE","EXPLICIT_IDS","FILLRECORD","IGNOREBLANKLINES","IGNOREHEADER","REMOVEQUOTES","ROUNDEC","TIMEFORMAT","TRIMBLANKS","TRUNCATECOLUMNS","COMPROWS","COMPUPDATE","MAXERROR","NOLOAD","STATUPDATE","FORMAT","CSV","DELIMITER","FIXEDWIDTH","SHAPEFILE","AVRO","JSON","PARQUET","ORC","ACCESS_KEY_ID","CREDENTIALS","ENCRYPTED","IAM_ROLE","MASTER_SYMMETRIC_KEY","SECRET_ACCESS_KEY","SESSION_TOKEN","BZIP2","GZIP","LZOP","ZSTD","MANIFEST","READRATIO","REGION","SSH","RAW","AZ64","BYTEDICT","DELTA","DELTA32K","LZO","MOSTLY8","MOSTLY16","MOSTLY32","RUNLENGTH","TEXT255","TEXT32K","CATALOG_ROLE","SECRET_ARN","EXTERNAL","AUTO","EVEN","KEY","PREDICATE","COMPRESSION"],Ci=["ARRAY","BIGINT","BPCHAR","CHAR","CHARACTER VARYING","CHARACTER","DECIMAL","INT","INT2","INT4","INT8","INTEGER","NCHAR","NUMERIC","NVARCHAR","SMALLINT","TEXT","VARBYTE","VARCHAR"],ci=G(["SELECT [ALL | DISTINCT]"]),_i=G(["WITH [RECURSIVE]","FROM","WHERE","GROUP BY","HAVING","QUALIFY","PARTITION BY","ORDER BY","LIMIT","OFFSET","INSERT INTO","VALUES","SET"]),lr=G(["CREATE [TEMPORARY | TEMP | LOCAL TEMPORARY | LOCAL TEMP] TABLE [IF NOT EXISTS]"]),NE=G(["CREATE [OR REPLACE | MATERIALIZED] VIEW","UPDATE","DELETE [FROM]","DROP TABLE [IF EXISTS]","ALTER TABLE","ALTER TABLE APPEND","ADD [COLUMN]","DROP [COLUMN]","RENAME TO","RENAME COLUMN","ALTER COLUMN","TYPE","ENCODE","TRUNCATE [TABLE]","ABORT","ALTER DATABASE","ALTER DATASHARE","ALTER DEFAULT PRIVILEGES","ALTER GROUP","ALTER MATERIALIZED VIEW","ALTER PROCEDURE","ALTER SCHEMA","ALTER USER","ANALYSE","ANALYZE","ANALYSE COMPRESSION","ANALYZE COMPRESSION","BEGIN","CALL","CANCEL","CLOSE","COMMIT","COPY","CREATE DATABASE","CREATE DATASHARE","CREATE EXTERNAL FUNCTION","CREATE EXTERNAL SCHEMA","CREATE EXTERNAL TABLE","CREATE FUNCTION","CREATE GROUP","CREATE LIBRARY","CREATE MODEL","CREATE PROCEDURE","CREATE SCHEMA","CREATE USER","DEALLOCATE","DECLARE","DESC DATASHARE","DROP DATABASE","DROP DATASHARE","DROP FUNCTION","DROP GROUP","DROP LIBRARY","DROP MODEL","DROP MATERIALIZED VIEW","DROP PROCEDURE","DROP SCHEMA","DROP USER","DROP VIEW","DROP","EXECUTE","EXPLAIN","FETCH","GRANT","LOCK","PREPARE","REFRESH MATERIALIZED VIEW","RESET","REVOKE","ROLLBACK","SELECT INTO","SET SESSION AUTHORIZATION","SET SESSION CHARACTERISTICS","SHOW","SHOW EXTERNAL TABLE","SHOW MODEL","SHOW DATASHARES","SHOW PROCEDURE","SHOW TABLE","SHOW VIEW","START TRANSACTION","UNLOAD","VACUUM"]),Li=G(["UNION [ALL]","EXCEPT","INTERSECT","MINUS"]),Di=G(["JOIN","{LEFT | RIGHT | FULL} [OUTER] JOIN","{INNER | CROSS} JOIN","NATURAL [INNER] JOIN","NATURAL {LEFT | RIGHT | FULL} [OUTER] JOIN"]),pi=G(["NULL AS","DATA CATALOG","HIVE METASTORE","{ROWS | RANGE} BETWEEN"]),di=G([]),Pi={name:"redshift",tokenizerOptions:{reservedSelect:ci,reservedClauses:[..._i,...lr,...NE],reservedSetOperations:Li,reservedJoins:Di,reservedKeywordPhrases:pi,reservedDataTypePhrases:di,reservedKeywords:ui,reservedDataTypes:Ci,reservedFunctionNames:li,extraParens:["[]"],stringTypes:["''-qq"],identTypes:['""-qq'],identChars:{first:"#"},paramTypes:{numbered:["$"]},operators:["^","%","@","|/","||/","&","|","~","<<",">>","||","::"]},formatOptions:{alwaysDenseOperators:["::"],onelineClauses:[...lr,...NE],tabularOnelineClauses:NE}},fi=["ADD","AFTER","ALL","ALTER","ANALYZE","AND","ANTI","ANY","ARCHIVE","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","INTO","IS","ITEMS","KEYS","LAST","LAST_VALUE","LATERAL","LAZY","LEADING","LEFT","LIKE","LINES","LIST","LOCAL","LOCATION","LOCK","LOCKS","LOGICAL","MACRO","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","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","USING","VIEW","WINDOW","YEAR","ANALYSE","ARRAY_ZIP","COALESCE","CONTAINS","CONVERT","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","OPTIMIZE","REGEXP","SEPARATOR","SIZE","TYPE","TYPES","UNSIGNED","VARIABLES","YEAR_MONTH"],hi=["ARRAY","BIGINT","BINARY","BOOLEAN","BYTE","CHAR","DATE","DEC","DECIMAL","DOUBLE","FLOAT","INT","INTEGER","INTERVAL","LONG","MAP","NUMERIC","REAL","SHORT","SMALLINT","STRING","STRUCT","TIMESTAMP_LTZ","TIMESTAMP_NTZ","TIMESTAMP","TINYINT","VARCHAR"],Mi=["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","STD","STDDEV","STDDEV_POP","STDDEV_SAMP","SUM","VAR_POP","VAR_SAMP","VARIANCE","CUME_DIST","DENSE_RANK","LAG","LEAD","NTH_VALUE","NTILE","PERCENT_RANK","RANK","ROW_NUMBER","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","ELEMENT_AT","ELEMENT_AT","MAP_CONCAT","MAP_ENTRIES","MAP_FROM_ARRAYS","MAP_FROM_ENTRIES","MAP_KEYS","MAP_VALUES","STR_TO_MAP","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","FROM_JSON","GET_JSON_OBJECT","JSON_ARRAY_LENGTH","JSON_OBJECT_KEYS","JSON_TUPLE","SCHEMA_OF_JSON","TO_JSON","ABS","ACOS","ACOSH","AGGREGATE","ARRAY_SORT","ASCII","ASIN","ASINH","ASSERT_TRUE","ATAN","ATAN2","ATANH","BASE64","BIN","BIT_COUNT","BIT_GET","BIT_LENGTH","BROUND","BTRIM","CARDINALITY","CBRT","CEIL","CEILING","CHAR_LENGTH","CHARACTER_LENGTH","CHR","CONCAT","CONCAT_WS","CONV","COS","COSH","COT","CRC32","CURRENT_CATALOG","CURRENT_DATABASE","CURRENT_USER","DEGREES","ELT","EXP","EXPM1","FACTORIAL","FIND_IN_SET","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","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","SOUNDEX","SPACE","SPARK_PARTITION_ID","SPLIT","SQRT","STACK","SUBSTR","SUBSTRING","SUBSTRING_INDEX","TAN","TANH","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","CAST","COALESCE","NULLIF"],Ui=G(["SELECT [ALL | DISTINCT]"]),mi=G(["WITH","FROM","WHERE","GROUP BY","HAVING","WINDOW","PARTITION BY","ORDER BY","SORT BY","CLUSTER BY","DISTRIBUTE BY","LIMIT","INSERT [INTO | OVERWRITE] [TABLE]","VALUES","INSERT OVERWRITE [LOCAL] DIRECTORY","LOAD DATA [LOCAL] INPATH","[OVERWRITE] INTO TABLE"]),ur=G(["CREATE [EXTERNAL] TABLE [IF NOT EXISTS]"]),IE=G(["CREATE [OR REPLACE] [GLOBAL TEMPORARY | TEMPORARY] VIEW [IF NOT EXISTS]","DROP TABLE [IF EXISTS]","ALTER TABLE","ADD COLUMNS","DROP {COLUMN | COLUMNS}","RENAME TO","RENAME COLUMN","ALTER COLUMN","TRUNCATE TABLE","LATERAL VIEW","ALTER DATABASE","ALTER VIEW","CREATE DATABASE","CREATE FUNCTION","DROP DATABASE","DROP FUNCTION","DROP VIEW","REPAIR TABLE","USE DATABASE","TABLESAMPLE","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","SHOW COLUMNS","SHOW CREATE TABLE","SHOW DATABASES","SHOW FUNCTIONS","SHOW PARTITIONS","SHOW TABLE EXTENDED","SHOW TABLES","SHOW TBLPROPERTIES","SHOW VIEWS","UNCACHE TABLE"]),Bi=G(["UNION [ALL | DISTINCT]","EXCEPT [ALL | DISTINCT]","INTERSECT [ALL | DISTINCT]"]),gi=G(["JOIN","{LEFT | RIGHT | FULL} [OUTER] JOIN","{INNER | CROSS} JOIN","NATURAL [INNER] JOIN","NATURAL {LEFT | RIGHT | FULL} [OUTER] JOIN","[LEFT] {ANTI | SEMI} JOIN","NATURAL [LEFT] {ANTI | SEMI} JOIN"]),yi=G(["ON DELETE","ON UPDATE","CURRENT ROW","{ROWS | RANGE} BETWEEN"]),Gi=G([]),Fi={name:"spark",tokenizerOptions:{reservedSelect:Ui,reservedClauses:[...mi,...ur,...IE],reservedSetOperations:Bi,reservedJoins:gi,reservedKeywordPhrases:yi,reservedDataTypePhrases:Gi,supportsXor:!0,reservedKeywords:fi,reservedDataTypes:hi,reservedFunctionNames:Mi,extraParens:["[]"],stringTypes:["''-bs",'""-bs',{quote:"''-raw",prefixes:["R","X"],requirePrefix:!0},{quote:'""-raw',prefixes:["R","X"],requirePrefix:!0}],identTypes:["``"],identChars:{allowFirstCharNumber:!0},variableTypes:[{quote:"{}",prefixes:["$"],requirePrefix:!0}],operators:["%","~","^","|","&","<=>","==","!","||","->"],postProcess:Hi},formatOptions:{onelineClauses:[...ur,...IE],tabularOnelineClauses:IE}};function Hi(E){return E.map((t,r)=>{const n=E[r-1]||It,s=E[r+1]||It;return Ot.WINDOW(t)&&s.type===K.OPEN_PAREN?Object.assign(Object.assign({},t),{type:K.RESERVED_FUNCTION_NAME}):t.text==="ITEMS"&&t.type===K.RESERVED_KEYWORD&&!(n.text==="COLLECTION"&&s.text==="TERMINATED")?Object.assign(Object.assign({},t),{type:K.IDENTIFIER,text:t.raw}):t})}const bi=["ABS","CHANGES","CHAR","COALESCE","FORMAT","GLOB","HEX","IFNULL","IIF","INSTR","LAST_INSERT_ROWID","LENGTH","LIKE","LIKELIHOOD","LIKELY","LOAD_EXTENSION","LOWER","LTRIM","NULLIF","PRINTF","QUOTE","RANDOM","RANDOMBLOB","REPLACE","ROUND","RTRIM","SIGN","SOUNDEX","SQLITE_COMPILEOPTION_GET","SQLITE_COMPILEOPTION_USED","SQLITE_OFFSET","SQLITE_SOURCE_ID","SQLITE_VERSION","SUBSTR","SUBSTRING","TOTAL_CHANGES","TRIM","TYPEOF","UNICODE","UNLIKELY","UPPER","ZEROBLOB","AVG","COUNT","GROUP_CONCAT","MAX","MIN","SUM","TOTAL","DATE","TIME","DATETIME","JULIANDAY","UNIXEPOCH","STRFTIME","row_number","rank","dense_rank","percent_rank","cume_dist","ntile","lag","lead","first_value","last_value","nth_value","ACOS","ACOSH","ASIN","ASINH","ATAN","ATAN2","ATANH","CEIL","CEILING","COS","COSH","DEGREES","EXP","FLOOR","LN","LOG","LOG","LOG10","LOG2","MOD","PI","POW","POWER","RADIANS","SIN","SINH","SQRT","TAN","TANH","TRUNC","JSON","JSON_ARRAY","JSON_ARRAY_LENGTH","JSON_ARRAY_LENGTH","JSON_EXTRACT","JSON_INSERT","JSON_OBJECT","JSON_PATCH","JSON_REMOVE","JSON_REPLACE","JSON_SET","JSON_TYPE","JSON_TYPE","JSON_VALID","JSON_QUOTE","JSON_GROUP_ARRAY","JSON_GROUP_OBJECT","JSON_EACH","JSON_TREE","CAST"],xi=["ABORT","ACTION","ADD","AFTER","ALL","ALTER","AND","ARE","ALWAYS","ANALYZE","AS","ASC","ATTACH","AUTOINCREMENT","BEFORE","BEGIN","BETWEEN","BY","CASCADE","CASE","CAST","CHECK","COLLATE","COLUMN","COMMIT","CONFLICT","CONSTRAINT","CREATE","CROSS","CURRENT","CURRENT_DATE","CURRENT_TIME","CURRENT_TIMESTAMP","DATABASE","DEFAULT","DEFERRABLE","DEFERRED","DELETE","DESC","DETACH","DISTINCT","DO","DROP","EACH","ELSE","END","ESCAPE","EXCEPT","EXCLUDE","EXCLUSIVE","EXISTS","EXPLAIN","FAIL","FILTER","FIRST","FOLLOWING","FOR","FOREIGN","FROM","FULL","GENERATED","GLOB","GROUP","HAVING","IF","IGNORE","IMMEDIATE","IN","INDEX","INDEXED","INITIALLY","INNER","INSERT","INSTEAD","INTERSECT","INTO","IS","ISNULL","JOIN","KEY","LAST","LEFT","LIKE","LIMIT","MATCH","MATERIALIZED","NATURAL","NO","NOT","NOTHING","NOTNULL","NULL","NULLS","OF","OFFSET","ON","ONLY","OPEN","OR","ORDER","OTHERS","OUTER","OVER","PARTITION","PLAN","PRAGMA","PRECEDING","PRIMARY","QUERY","RAISE","RANGE","RECURSIVE","REFERENCES","REGEXP","REINDEX","RELEASE","RENAME","REPLACE","RESTRICT","RETURNING","RIGHT","ROLLBACK","ROW","ROWS","SAVEPOINT","SELECT","SET","TABLE","TEMP","TEMPORARY","THEN","TIES","TO","TRANSACTION","TRIGGER","UNBOUNDED","UNION","UNIQUE","UPDATE","USING","VACUUM","VALUES","VIEW","VIRTUAL","WHEN","WHERE","WINDOW","WITH","WITHOUT"],Yi=["ANY","ARRAY","BLOB","CHARACTER","DECIMAL","INT","INTEGER","NATIVE CHARACTER","NCHAR","NUMERIC","NVARCHAR","REAL","TEXT","VARCHAR","VARYING CHARACTER"],Vi=G(["SELECT [ALL | DISTINCT]"]),vi=G(["WITH [RECURSIVE]","FROM","WHERE","GROUP BY","HAVING","WINDOW","PARTITION BY","ORDER BY","LIMIT","OFFSET","INSERT [OR ABORT | OR FAIL | OR IGNORE | OR REPLACE | OR ROLLBACK] INTO","REPLACE INTO","VALUES","SET","RETURNING"]),Cr=G(["CREATE [TEMPORARY | TEMP] TABLE [IF NOT EXISTS]"]),OE=G(["CREATE [TEMPORARY | TEMP] VIEW [IF NOT EXISTS]","UPDATE [OR ABORT | OR FAIL | OR IGNORE | OR REPLACE | OR ROLLBACK]","ON CONFLICT","DELETE FROM","DROP TABLE [IF EXISTS]","ALTER TABLE","ADD [COLUMN]","DROP [COLUMN]","RENAME [COLUMN]","RENAME TO","SET SCHEMA"]),wi=G(["UNION [ALL]","EXCEPT","INTERSECT"]),Wi=G(["JOIN","{LEFT | RIGHT | FULL} [OUTER] JOIN","{INNER | CROSS} JOIN","NATURAL [INNER] JOIN","NATURAL {LEFT | RIGHT | FULL} [OUTER] JOIN"]),Xi=G(["ON {UPDATE | DELETE} [SET NULL | SET DEFAULT]","{ROWS | RANGE | GROUPS} BETWEEN","DO UPDATE"]),Ki=G([]),ki={name:"sqlite",tokenizerOptions:{reservedSelect:Vi,reservedClauses:[...vi,...Cr,...OE],reservedSetOperations:wi,reservedJoins:Wi,reservedKeywordPhrases:Xi,reservedDataTypePhrases:Ki,reservedKeywords:xi,reservedDataTypes:Yi,reservedFunctionNames:bi,stringTypes:["''-qq",{quote:"''-raw",prefixes:["X"],requirePrefix:!0}],identTypes:['""-qq',"``","[]"],paramTypes:{positional:!0,numbered:["?"],named:[":","@","$"]},operators:["%","~","&","|","<<",">>","==","->","->>","||"]},formatOptions:{onelineClauses:[...Cr,...OE],tabularOnelineClauses:OE}},$i=["GROUPING","RANK","DENSE_RANK","PERCENT_RANK","CUME_DIST","ROW_NUMBER","POSITION","OCCURRENCES_REGEX","POSITION_REGEX","EXTRACT","CHAR_LENGTH","CHARACTER_LENGTH","OCTET_LENGTH","CARDINALITY","ABS","MOD","LN","EXP","POWER","SQRT","FLOOR","CEIL","CEILING","WIDTH_BUCKET","SUBSTRING","SUBSTRING_REGEX","UPPER","LOWER","CONVERT","TRANSLATE","TRANSLATE_REGEX","TRIM","OVERLAY","NORMALIZE","SPECIFICTYPE","CURRENT_DATE","CURRENT_TIME","LOCALTIME","CURRENT_TIMESTAMP","LOCALTIMESTAMP","COUNT","AVG","MAX","MIN","SUM","STDDEV_POP","STDDEV_SAMP","VAR_SAMP","VAR_POP","COLLECT","FUSION","INTERSECTION","COVAR_POP","COVAR_SAMP","CORR","REGR_SLOPE","REGR_INTERCEPT","REGR_COUNT","REGR_R2","REGR_AVGX","REGR_AVGY","REGR_SXX","REGR_SYY","REGR_SXY","PERCENTILE_CONT","PERCENTILE_DISC","CAST","COALESCE","NULLIF","ROUND","SIN","COS","TAN","ASIN","ACOS","ATAN"],qi=["ALL","ALLOCATE","ALTER","ANY","ARE","AS","ASC","ASENSITIVE","ASYMMETRIC","AT","ATOMIC","AUTHORIZATION","BEGIN","BETWEEN","BOTH","BY","CALL","CALLED","CASCADED","CAST","CHECK","CLOSE","COALESCE","COLLATE","COLUMN","COMMIT","CONDITION","CONNECT","CONSTRAINT","CORRESPONDING","CREATE","CROSS","CUBE","CURRENT","CURRENT_CATALOG","CURRENT_DEFAULT_TRANSFORM_GROUP","CURRENT_PATH","CURRENT_ROLE","CURRENT_SCHEMA","CURRENT_TRANSFORM_GROUP_FOR_TYPE","CURRENT_USER","CURSOR","CYCLE","DEALLOCATE","DAY","DECLARE","DEFAULT","DELETE","DEREF","DESC","DESCRIBE","DETERMINISTIC","DISCONNECT","DISTINCT","DROP","DYNAMIC","EACH","ELEMENT","END-EXEC","ESCAPE","EVERY","EXCEPT","EXEC","EXECUTE","EXISTS","EXTERNAL","FALSE","FETCH","FILTER","FOR","FOREIGN","FREE","FROM","FULL","FUNCTION","GET","GLOBAL","GRANT","GROUP","HAVING","HOLD","HOUR","IDENTITY","IN","INDICATOR","INNER","INOUT","INSENSITIVE","INSERT","INTERSECT","INTO","IS","LANGUAGE","LARGE","LATERAL","LEADING","LEFT","LIKE","LIKE_REGEX","LOCAL","MATCH","MEMBER","MERGE","METHOD","MINUTE","MODIFIES","MODULE","MONTH","NATURAL","NEW","NO","NONE","NOT","NULL","NULLIF","OF","OLD","ON","ONLY","OPEN","ORDER","OUT","OUTER","OVER","OVERLAPS","PARAMETER","PARTITION","PRECISION","PREPARE","PRIMARY","PROCEDURE","RANGE","READS","REAL","RECURSIVE","REF","REFERENCES","REFERENCING","RELEASE","RESULT","RETURN","RETURNS","REVOKE","RIGHT","ROLLBACK","ROLLUP","ROW","ROWS","SAVEPOINT","SCOPE","SCROLL","SEARCH","SECOND","SELECT","SENSITIVE","SESSION_USER","SET","SIMILAR","SOME","SPECIFIC","SQL","SQLEXCEPTION","SQLSTATE","SQLWARNING","START","STATIC","SUBMULTISET","SYMMETRIC","SYSTEM","SYSTEM_USER","TABLE","TABLESAMPLE","THEN","TIMEZONE_HOUR","TIMEZONE_MINUTE","TO","TRAILING","TRANSLATION","TREAT","TRIGGER","TRUE","UESCAPE","UNION","UNIQUE","UNKNOWN","UNNEST","UPDATE","USER","USING","VALUE","VALUES","WHENEVER","WINDOW","WITHIN","WITHOUT","YEAR"],Ji=["ARRAY","BIGINT","BINARY LARGE OBJECT","BINARY VARYING","BINARY","BLOB","BOOLEAN","CHAR LARGE OBJECT","CHAR VARYING","CHAR","CHARACTER LARGE OBJECT","CHARACTER VARYING","CHARACTER","CLOB","DATE","DEC","DECIMAL","DOUBLE","FLOAT","INT","INTEGER","INTERVAL","MULTISET","NATIONAL CHAR VARYING","NATIONAL CHAR","NATIONAL CHARACTER LARGE OBJECT","NATIONAL CHARACTER VARYING","NATIONAL CHARACTER","NCHAR LARGE OBJECT","NCHAR VARYING","NCHAR","NCLOB","NUMERIC","SMALLINT","TIME","TIMESTAMP","VARBINARY","VARCHAR"],Qi=G(["SELECT [ALL | DISTINCT]"]),Zi=G(["WITH [RECURSIVE]","FROM","WHERE","GROUP BY [ALL | DISTINCT]","HAVING","WINDOW","PARTITION BY","ORDER BY","LIMIT","OFFSET","FETCH {FIRST | NEXT}","INSERT INTO","VALUES","SET"]),cr=G(["CREATE [GLOBAL TEMPORARY | LOCAL TEMPORARY] TABLE"]),lE=G(["CREATE [RECURSIVE] VIEW","UPDATE","WHERE CURRENT OF","DELETE FROM","DROP TABLE","ALTER TABLE","ADD COLUMN","DROP [COLUMN]","RENAME COLUMN","RENAME TO","ALTER [COLUMN]","{SET | DROP} DEFAULT","ADD SCOPE","DROP SCOPE {CASCADE | RESTRICT}","RESTART WITH","TRUNCATE TABLE","SET SCHEMA"]),ji=G(["UNION [ALL | DISTINCT]","EXCEPT [ALL | DISTINCT]","INTERSECT [ALL | DISTINCT]"]),zi=G(["JOIN","{LEFT | RIGHT | FULL} [OUTER] JOIN","{INNER | CROSS} JOIN","NATURAL [INNER] JOIN","NATURAL {LEFT | RIGHT | FULL} [OUTER] JOIN"]),eA=G(["ON {UPDATE | DELETE} [SET NULL | SET DEFAULT]","{ROWS | RANGE} BETWEEN"]),tA=G([]),EA={name:"sql",tokenizerOptions:{reservedSelect:Qi,reservedClauses:[...Zi,...cr,...lE],reservedSetOperations:ji,reservedJoins:zi,reservedKeywordPhrases:eA,reservedDataTypePhrases:tA,reservedKeywords:qi,reservedDataTypes:Ji,reservedFunctionNames:$i,stringTypes:[{quote:"''-qq-bs",prefixes:["N","U&"]},{quote:"''-raw",prefixes:["X"],requirePrefix:!0}],identTypes:['""-qq',"``"],paramTypes:{positional:!0},operators:["||"]},formatOptions:{onelineClauses:[...cr,...lE],tabularOnelineClauses:lE}},rA=["ABS","ACOS","ALL_MATCH","ANY_MATCH","APPROX_DISTINCT","APPROX_MOST_FREQUENT","APPROX_PERCENTILE","APPROX_SET","ARBITRARY","ARRAYS_OVERLAP","ARRAY_AGG","ARRAY_DISTINCT","ARRAY_EXCEPT","ARRAY_INTERSECT","ARRAY_JOIN","ARRAY_MAX","ARRAY_MIN","ARRAY_POSITION","ARRAY_REMOVE","ARRAY_SORT","ARRAY_UNION","ASIN","ATAN","ATAN2","AT_TIMEZONE","AVG","BAR","BETA_CDF","BING_TILE","BING_TILES_AROUND","BING_TILE_AT","BING_TILE_COORDINATES","BING_TILE_POLYGON","BING_TILE_QUADKEY","BING_TILE_ZOOM_LEVEL","BITWISE_AND","BITWISE_AND_AGG","BITWISE_LEFT_SHIFT","BITWISE_NOT","BITWISE_OR","BITWISE_OR_AGG","BITWISE_RIGHT_SHIFT","BITWISE_RIGHT_SHIFT_ARITHMETIC","BITWISE_XOR","BIT_COUNT","BOOL_AND","BOOL_OR","CARDINALITY","CAST","CBRT","CEIL","CEILING","CHAR2HEXINT","CHECKSUM","CHR","CLASSIFY","COALESCE","CODEPOINT","COLOR","COMBINATIONS","CONCAT","CONCAT_WS","CONTAINS","CONTAINS_SEQUENCE","CONVEX_HULL_AGG","CORR","COS","COSH","COSINE_SIMILARITY","COUNT","COUNT_IF","COVAR_POP","COVAR_SAMP","CRC32","CUME_DIST","CURRENT_CATALOG","CURRENT_DATE","CURRENT_GROUPS","CURRENT_SCHEMA","CURRENT_TIME","CURRENT_TIMESTAMP","CURRENT_TIMEZONE","CURRENT_USER","DATE","DATE_ADD","DATE_DIFF","DATE_FORMAT","DATE_PARSE","DATE_TRUNC","DAY","DAY_OF_MONTH","DAY_OF_WEEK","DAY_OF_YEAR","DEGREES","DENSE_RANK","DOW","DOY","E","ELEMENT_AT","EMPTY_APPROX_SET","EVALUATE_CLASSIFIER_PREDICTIONS","EVERY","EXP","EXTRACT","FEATURES","FILTER","FIRST_VALUE","FLATTEN","FLOOR","FORMAT","FORMAT_DATETIME","FORMAT_NUMBER","FROM_BASE","FROM_BASE32","FROM_BASE64","FROM_BASE64URL","FROM_BIG_ENDIAN_32","FROM_BIG_ENDIAN_64","FROM_ENCODED_POLYLINE","FROM_GEOJSON_GEOMETRY","FROM_HEX","FROM_IEEE754_32","FROM_IEEE754_64","FROM_ISO8601_DATE","FROM_ISO8601_TIMESTAMP","FROM_ISO8601_TIMESTAMP_NANOS","FROM_UNIXTIME","FROM_UNIXTIME_NANOS","FROM_UTF8","GEOMETRIC_MEAN","GEOMETRY_FROM_HADOOP_SHAPE","GEOMETRY_INVALID_REASON","GEOMETRY_NEAREST_POINTS","GEOMETRY_TO_BING_TILES","GEOMETRY_UNION","GEOMETRY_UNION_AGG","GREATEST","GREAT_CIRCLE_DISTANCE","HAMMING_DISTANCE","HASH_COUNTS","HISTOGRAM","HMAC_MD5","HMAC_SHA1","HMAC_SHA256","HMAC_SHA512","HOUR","HUMAN_READABLE_SECONDS","IF","INDEX","INFINITY","INTERSECTION_CARDINALITY","INVERSE_BETA_CDF","INVERSE_NORMAL_CDF","IS_FINITE","IS_INFINITE","IS_JSON_SCALAR","IS_NAN","JACCARD_INDEX","JSON_ARRAY_CONTAINS","JSON_ARRAY_GET","JSON_ARRAY_LENGTH","JSON_EXISTS","JSON_EXTRACT","JSON_EXTRACT_SCALAR","JSON_FORMAT","JSON_PARSE","JSON_QUERY","JSON_SIZE","JSON_VALUE","KURTOSIS","LAG","LAST_DAY_OF_MONTH","LAST_VALUE","LEAD","LEARN_CLASSIFIER","LEARN_LIBSVM_CLASSIFIER","LEARN_LIBSVM_REGRESSOR","LEARN_REGRESSOR","LEAST","LENGTH","LEVENSHTEIN_DISTANCE","LINE_INTERPOLATE_POINT","LINE_INTERPOLATE_POINTS","LINE_LOCATE_POINT","LISTAGG","LN","LOCALTIME","LOCALTIMESTAMP","LOG","LOG10","LOG2","LOWER","LPAD","LTRIM","LUHN_CHECK","MAKE_SET_DIGEST","MAP","MAP_AGG","MAP_CONCAT","MAP_ENTRIES","MAP_FILTER","MAP_FROM_ENTRIES","MAP_KEYS","MAP_UNION","MAP_VALUES","MAP_ZIP_WITH","MAX","MAX_BY","MD5","MERGE","MERGE_SET_DIGEST","MILLISECOND","MIN","MINUTE","MIN_BY","MOD","MONTH","MULTIMAP_AGG","MULTIMAP_FROM_ENTRIES","MURMUR3","NAN","NGRAMS","NONE_MATCH","NORMALIZE","NORMAL_CDF","NOW","NTH_VALUE","NTILE","NULLIF","NUMERIC_HISTOGRAM","OBJECTID","OBJECTID_TIMESTAMP","PARSE_DATA_SIZE","PARSE_DATETIME","PARSE_DURATION","PERCENT_RANK","PI","POSITION","POW","POWER","QDIGEST_AGG","QUARTER","RADIANS","RAND","RANDOM","RANK","REDUCE","REDUCE_AGG","REGEXP_COUNT","REGEXP_EXTRACT","REGEXP_EXTRACT_ALL","REGEXP_LIKE","REGEXP_POSITION","REGEXP_REPLACE","REGEXP_SPLIT","REGRESS","REGR_INTERCEPT","REGR_SLOPE","RENDER","REPEAT","REPLACE","REVERSE","RGB","ROUND","ROW_NUMBER","RPAD","RTRIM","SECOND","SEQUENCE","SHA1","SHA256","SHA512","SHUFFLE","SIGN","SIMPLIFY_GEOMETRY","SIN","SKEWNESS","SLICE","SOUNDEX","SPATIAL_PARTITIONING","SPATIAL_PARTITIONS","SPLIT","SPLIT_PART","SPLIT_TO_MAP","SPLIT_TO_MULTIMAP","SPOOKY_HASH_V2_32","SPOOKY_HASH_V2_64","SQRT","STARTS_WITH","STDDEV","STDDEV_POP","STDDEV_SAMP","STRPOS","ST_AREA","ST_ASBINARY","ST_ASTEXT","ST_BOUNDARY","ST_BUFFER","ST_CENTROID","ST_CONTAINS","ST_CONVEXHULL","ST_COORDDIM","ST_CROSSES","ST_DIFFERENCE","ST_DIMENSION","ST_DISJOINT","ST_DISTANCE","ST_ENDPOINT","ST_ENVELOPE","ST_ENVELOPEASPTS","ST_EQUALS","ST_EXTERIORRING","ST_GEOMETRIES","ST_GEOMETRYFROMTEXT","ST_GEOMETRYN","ST_GEOMETRYTYPE","ST_GEOMFROMBINARY","ST_INTERIORRINGN","ST_INTERIORRINGS","ST_INTERSECTION","ST_INTERSECTS","ST_ISCLOSED","ST_ISEMPTY","ST_ISRING","ST_ISSIMPLE","ST_ISVALID","ST_LENGTH","ST_LINEFROMTEXT","ST_LINESTRING","ST_MULTIPOINT","ST_NUMGEOMETRIES","ST_NUMINTERIORRING","ST_NUMPOINTS","ST_OVERLAPS","ST_POINT","ST_POINTN","ST_POINTS","ST_POLYGON","ST_RELATE","ST_STARTPOINT","ST_SYMDIFFERENCE","ST_TOUCHES","ST_UNION","ST_WITHIN","ST_X","ST_XMAX","ST_XMIN","ST_Y","ST_YMAX","ST_YMIN","SUBSTR","SUBSTRING","SUM","TAN","TANH","TDIGEST_AGG","TIMESTAMP_OBJECTID","TIMEZONE_HOUR","TIMEZONE_MINUTE","TO_BASE","TO_BASE32","TO_BASE64","TO_BASE64URL","TO_BIG_ENDIAN_32","TO_BIG_ENDIAN_64","TO_CHAR","TO_DATE","TO_ENCODED_POLYLINE","TO_GEOJSON_GEOMETRY","TO_GEOMETRY","TO_HEX","TO_IEEE754_32","TO_IEEE754_64","TO_ISO8601","TO_MILLISECONDS","TO_SPHERICAL_GEOGRAPHY","TO_TIMESTAMP","TO_UNIXTIME","TO_UTF8","TRANSFORM","TRANSFORM_KEYS","TRANSFORM_VALUES","TRANSLATE","TRIM","TRIM_ARRAY","TRUNCATE","TRY","TRY_CAST","TYPEOF","UPPER","URL_DECODE","URL_ENCODE","URL_EXTRACT_FRAGMENT","URL_EXTRACT_HOST","URL_EXTRACT_PARAMETER","URL_EXTRACT_PATH","URL_EXTRACT_PORT","URL_EXTRACT_PROTOCOL","URL_EXTRACT_QUERY","UUID","VALUES_AT_QUANTILES","VALUE_AT_QUANTILE","VARIANCE","VAR_POP","VAR_SAMP","VERSION","WEEK","WEEK_OF_YEAR","WIDTH_BUCKET","WILSON_INTERVAL_LOWER","WILSON_INTERVAL_UPPER","WITH_TIMEZONE","WORD_STEM","XXHASH64","YEAR","YEAR_OF_WEEK","YOW","ZIP","ZIP_WITH","CLASSIFIER","FIRST","LAST","MATCH_NUMBER","NEXT","PERMUTE","PREV"],nA=["ABSENT","ADD","ADMIN","AFTER","ALL","ALTER","ANALYZE","AND","ANY","AS","ASC","AT","AUTHORIZATION","BERNOULLI","BETWEEN","BOTH","BY","CALL","CASCADE","CASE","CATALOGS","COLUMN","COLUMNS","COMMENT","COMMIT","COMMITTED","CONDITIONAL","CONSTRAINT","COPARTITION","CREATE","CROSS","CUBE","CURRENT","CURRENT_PATH","CURRENT_ROLE","DATA","DEALLOCATE","DEFAULT","DEFINE","DEFINER","DELETE","DENY","DESC","DESCRIBE","DESCRIPTOR","DISTINCT","DISTRIBUTED","DOUBLE","DROP","ELSE","EMPTY","ENCODING","END","ERROR","ESCAPE","EXCEPT","EXCLUDING","EXECUTE","EXISTS","EXPLAIN","FALSE","FETCH","FINAL","FIRST","FOLLOWING","FOR","FROM","FULL","FUNCTIONS","GRANT","GRANTED","GRANTS","GRAPHVIZ","GROUP","GROUPING","GROUPS","HAVING","IGNORE","IN","INCLUDING","INITIAL","INNER","INPUT","INSERT","INTERSECT","INTERVAL","INTO","INVOKER","IO","IS","ISOLATION","JOIN","JSON","JSON_ARRAY","JSON_OBJECT","KEEP","KEY","KEYS","LAST","LATERAL","LEADING","LEFT","LEVEL","LIKE","LIMIT","LOCAL","LOGICAL","MATCH","MATCHED","MATCHES","MATCH_RECOGNIZE","MATERIALIZED","MEASURES","NATURAL","NEXT","NFC","NFD","NFKC","NFKD","NO","NONE","NOT","NULL","NULLS","OBJECT","OF","OFFSET","OMIT","ON","ONE","ONLY","OPTION","OR","ORDER","ORDINALITY","OUTER","OUTPUT","OVER","OVERFLOW","PARTITION","PARTITIONS","PASSING","PAST","PATH","PATTERN","PER","PERMUTE","PRECEDING","PRECISION","PREPARE","PRIVILEGES","PROPERTIES","PRUNE","QUOTES","RANGE","READ","RECURSIVE","REFRESH","RENAME","REPEATABLE","RESET","RESPECT","RESTRICT","RETURNING","REVOKE","RIGHT","ROLE","ROLES","ROLLBACK","ROLLUP","ROW","ROWS","RUNNING","SCALAR","SCHEMA","SCHEMAS","SECURITY","SEEK","SELECT","SERIALIZABLE","SESSION","SET","SETS","SHOW","SKIP","SOME","START","STATS","STRING","SUBSET","SYSTEM","TABLE","TABLES","TABLESAMPLE","TEXT","THEN","TIES","TIME","TIMESTAMP","TO","TRAILING","TRANSACTION","TRUE","TYPE","UESCAPE","UNBOUNDED","UNCOMMITTED","UNCONDITIONAL","UNION","UNIQUE","UNKNOWN","UNMATCHED","UNNEST","UPDATE","USE","USER","USING","UTF16","UTF32","UTF8","VALIDATE","VALUE","VALUES","VERBOSE","VIEW","WHEN","WHERE","WINDOW","WITH","WITHIN","WITHOUT","WORK","WRAPPER","WRITE","ZONE"],sA=["BIGINT","INT","INTEGER","SMALLINT","TINYINT","BOOLEAN","DATE","DECIMAL","REAL","DOUBLE","HYPERLOGLOG","QDIGEST","TDIGEST","P4HYPERLOGLOG","INTERVAL","TIMESTAMP","TIME","VARBINARY","VARCHAR","CHAR","ROW","ARRAY","MAP","JSON","JSON2016","IPADDRESS","GEOMETRY","UUID","SETDIGEST","JONIREGEXP","RE2JREGEXP","LIKEPATTERN","COLOR","CODEPOINTS","FUNCTION","JSONPATH"],TA=G(["SELECT [ALL | DISTINCT]"]),oA=G(["WITH [RECURSIVE]","FROM","WHERE","GROUP BY [ALL | DISTINCT]","HAVING","WINDOW","PARTITION BY","ORDER BY","LIMIT","OFFSET","FETCH {FIRST | NEXT}","INSERT INTO","VALUES","SET","MATCH_RECOGNIZE","MEASURES","ONE ROW PER MATCH","ALL ROWS PER MATCH","AFTER MATCH","PATTERN","SUBSET","DEFINE"]),_r=G(["CREATE TABLE [IF NOT EXISTS]"]),uE=G(["CREATE [OR REPLACE] [MATERIALIZED] VIEW","UPDATE","DELETE FROM","DROP TABLE [IF EXISTS]","ALTER TABLE [IF EXISTS]","ADD COLUMN [IF NOT EXISTS]","DROP COLUMN [IF EXISTS]","RENAME COLUMN [IF EXISTS]","RENAME TO","SET AUTHORIZATION [USER | ROLE]","SET PROPERTIES","EXECUTE","TRUNCATE TABLE","ALTER SCHEMA","ALTER MATERIALIZED VIEW","ALTER VIEW","CREATE SCHEMA","CREATE ROLE","DROP SCHEMA","DROP MATERIALIZED VIEW","DROP VIEW","DROP ROLE","EXPLAIN","ANALYZE","EXPLAIN ANALYZE","EXPLAIN ANALYZE VERBOSE","USE","DESCRIBE INPUT","DESCRIBE OUTPUT","REFRESH MATERIALIZED VIEW","RESET SESSION","SET SESSION","SET PATH","SET TIME ZONE","SHOW GRANTS","SHOW CREATE TABLE","SHOW CREATE SCHEMA","SHOW CREATE VIEW","SHOW CREATE MATERIALIZED VIEW","SHOW TABLES","SHOW SCHEMAS","SHOW CATALOGS","SHOW COLUMNS","SHOW STATS FOR","SHOW ROLES","SHOW CURRENT ROLES","SHOW ROLE GRANTS","SHOW FUNCTIONS","SHOW SESSION"]),aA=G(["UNION [ALL | DISTINCT]","EXCEPT [ALL | DISTINCT]","INTERSECT [ALL | DISTINCT]"]),iA=G(["JOIN","{LEFT | RIGHT | FULL} [OUTER] JOIN","{INNER | CROSS} JOIN","NATURAL [INNER] JOIN","NATURAL {LEFT | RIGHT | FULL} [OUTER] JOIN"]),AA=G(["{ROWS | RANGE | GROUPS} BETWEEN","IS [NOT] DISTINCT FROM"]),RA=G([]),SA={name:"trino",tokenizerOptions:{reservedSelect:TA,reservedClauses:[...oA,..._r,...uE],reservedSetOperations:aA,reservedJoins:iA,reservedKeywordPhrases:AA,reservedDataTypePhrases:RA,reservedKeywords:nA,reservedDataTypes:sA,reservedFunctionNames:rA,extraParens:["[]","{}"],stringTypes:[{quote:"''-qq",prefixes:["U&"]},{quote:"''-raw",prefixes:["X"],requirePrefix:!0}],identTypes:['""-qq'],paramTypes:{positional:!0},operators:["%","->","=>",":","||","|","^","$"]},formatOptions:{onelineClauses:[..._r,...uE],tabularOnelineClauses:uE}},NA=["APPROX_COUNT_DISTINCT","AVG","CHECKSUM_AGG","COUNT","COUNT_BIG","GROUPING","GROUPING_ID","MAX","MIN","STDEV","STDEVP","SUM","VAR","VARP","CUME_DIST","FIRST_VALUE","LAG","LAST_VALUE","LEAD","PERCENTILE_CONT","PERCENTILE_DISC","PERCENT_RANK","Collation - COLLATIONPROPERTY","Collation - TERTIARY_WEIGHTS","@@DBTS","@@LANGID","@@LANGUAGE","@@LOCK_TIMEOUT","@@MAX_CONNECTIONS","@@MAX_PRECISION","@@NESTLEVEL","@@OPTIONS","@@REMSERVER","@@SERVERNAME","@@SERVICENAME","@@SPID","@@TEXTSIZE","@@VERSION","CAST","CONVERT","PARSE","TRY_CAST","TRY_CONVERT","TRY_PARSE","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_ROWS","@@FETCH_STATUS","CURSOR_STATUS","DATALENGTH","IDENT_CURRENT","IDENT_INCR","IDENT_SEED","IDENTITY","SQL_VARIANT_PROPERTY","@@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","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","@@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","DENSE_RANK","NTILE","RANK","ROW_NUMBER","PUBLISHINGSERVERNAME","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","ASCII","CHARINDEX","CONCAT","CONCAT_WS","DIFFERENCE","FORMAT","LEFT","LEN","LOWER","LTRIM","PATINDEX","QUOTENAME","REPLACE","REPLICATE","REVERSE","RIGHT","RTRIM","SOUNDEX","SPACE","STR","STRING_AGG","STRING_ESCAPE","STUFF","SUBSTRING","TRANSLATE","TRIM","UNICODE","UPPER","$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","@@CONNECTIONS","@@CPU_BUSY","@@IDLE","@@IO_BUSY","@@PACK_SENT","@@PACKET_ERRORS","@@TIMETICKS","@@TOTAL_ERRORS","@@TOTAL_READ","@@TOTAL_WRITE","TEXTPTR","TEXTVALID","COLUMNS_UPDATED","EVENTDATA","TRIGGER_NESTLEVEL","UPDATE","COALESCE","NULLIF"],IA=["ADD","ALL","ALTER","AND","ANY","AS","ASC","AUTHORIZATION","BACKUP","BEGIN","BETWEEN","BREAK","BROWSE","BULK","BY","CASCADE","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","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","NOCHECK","NONCLUSTERED","NOT","NULL","NULLIF","OF","OFF","OFFSETS","ON","OPEN","OPENDATASOURCE","OPENQUERY","OPENROWSET","OPENXML","OPTION","OR","ORDER","OUTER","OVER","PERCENT","PIVOT","PLAN","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","VIEW","WAITFOR","WHERE","WHILE","WITH","WITHIN GROUP","WRITETEXT","$ACTION"],OA=["BINARY","BIT","CHAR","CHAR","CHARACTER","DATE","DATETIME2","DATETIMEOFFSET","DEC","DECIMAL","DOUBLE","FLOAT","INT","INTEGER","NATIONAL","NCHAR","NUMERIC","NVARCHAR","PRECISION","REAL","SMALLINT","TIME","TIMESTAMP","VARBINARY","VARCHAR"],lA=G(["SELECT [ALL | DISTINCT]"]),uA=G(["WITH","INTO","FROM","WHERE","GROUP BY","HAVING","WINDOW","PARTITION BY","ORDER BY","OFFSET","FETCH {FIRST | NEXT}","FOR {BROWSE | XML | JSON}","OPTION","INSERT [INTO]","VALUES","SET","MERGE [INTO]","WHEN [NOT] MATCHED [BY TARGET | BY SOURCE] [THEN]","UPDATE SET"]),Lr=G(["CREATE TABLE"]),CE=G(["CREATE [OR ALTER] [MATERIALIZED] VIEW","UPDATE","WHERE CURRENT OF","DELETE [FROM]","DROP TABLE [IF EXISTS]","ALTER TABLE","ADD","DROP COLUMN [IF EXISTS]","ALTER COLUMN","TRUNCATE TABLE","CREATE [UNIQUE] [CLUSTERED] INDEX","CREATE DATABASE","ALTER DATABASE","DROP DATABASE [IF EXISTS]","CREATE [OR ALTER] [PARTITION] {FUNCTION | PROCEDURE | PROC}","ALTER [PARTITION] {FUNCTION | PROCEDURE | PROC}","DROP [PARTITION] {FUNCTION | PROCEDURE | PROC} [IF EXISTS]","GO","USE","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","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","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","GET CONVERSATION GROUP","GET_TRANSMISSION_STATUS","GRANT","GRANT XML","IDENTITY_INSERT","IMPLICIT_TRANSACTIONS","INDEX","LANGUAGE","LOCK_TIMEOUT","LOGIN","MASTER KEY","MESSAGE TYPE","MOVE CONVERSATION","NOCOUNT","NOEXEC","NUMERIC_ROUNDABORT","OFFSETS","OPEN MASTER KEY","OPEN SYMMETRIC KEY","PARSEONLY","PARTITION SCHEME","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","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","TYPE","UPDATE STATISTICS","USER","WORKLOAD GROUP","XACT_ABORT","XML INDEX","XML SCHEMA COLLECTION"]),CA=G(["UNION [ALL]","EXCEPT","INTERSECT"]),cA=G(["JOIN","{LEFT | RIGHT | FULL} [OUTER] JOIN","{INNER | CROSS} JOIN","{CROSS | OUTER} APPLY"]),_A=G(["ON {UPDATE | DELETE} [SET NULL | SET DEFAULT]","{ROWS | RANGE} BETWEEN"]),LA=G([]),DA={name:"transactsql",tokenizerOptions:{reservedSelect:lA,reservedClauses:[...uA,...Lr,...CE],reservedSetOperations:CA,reservedJoins:cA,reservedKeywordPhrases:_A,reservedDataTypePhrases:LA,reservedKeywords:IA,reservedDataTypes:OA,reservedFunctionNames:NA,nestedBlockComments:!0,stringTypes:[{quote:"''-qq",prefixes:["N"]},"{}"],identTypes:['""-qq',"[]"],identChars:{first:"#@",rest:"#@$"},paramTypes:{named:["@"],quoted:["@"]},operators:["%","&","|","^","~","!<","!>","+=","-=","*=","/=","%=","|=","&=","^=","::",":"],propertyAccessOperators:[".."]},formatOptions:{alwaysDenseOperators:["::"],onelineClauses:[...Lr,...CE],tabularOnelineClauses:CE}},pA=["ADD","ALL","ALTER","ANALYZE","AND","AS","ASC","ASENSITIVE","BEFORE","BETWEEN","_BINARY","BOTH","BY","CALL","CASCADE","CASE","CHANGE","CHECK","COLLATE","COLUMN","CONDITION","CONSTRAINT","CONTINUE","CONVERT","CREATE","CROSS","CURRENT_DATE","CURRENT_TIME","CURRENT_TIMESTAMP","CURRENT_USER","CURSOR","DATABASE","DATABASES","DAY_HOUR","DAY_MICROSECOND","DAY_MINUTE","DAY_SECOND","DECLARE","DEFAULT","DELAYED","DELETE","DESC","DESCRIBE","DETERMINISTIC","DISTINCT","DISTINCTROW","DIV","DROP","DUAL","EACH","ELSE","ELSEIF","ENCLOSED","ESCAPED","EXCEPT","EXISTS","EXIT","EXPLAIN","EXTRA_JOIN","FALSE","FETCH","FOR","FORCE","FORCE_COMPILED_MODE","FORCE_INTERPRETER_MODE","FOREIGN","FROM","FULL","FULLTEXT","GRANT","GROUP","HAVING","HEARTBEAT_NO_LOGGING","HIGH_PRIORITY","HOUR_MICROSECOND","HOUR_MINUTE","HOUR_SECOND","IF","IGNORE","IN","INDEX","INFILE","INNER","INOUT","INSENSITIVE","INSERT","IN","_INTERNAL_DYNAMIC_TYPECAST","INTERSECT","INTERVAL","INTO","ITERATE","JOIN","KEY","KEYS","KILL","LEADING","LEAVE","LEFT","LIKE","LIMIT","LINES","LOAD","LOCALTIME","LOCALTIMESTAMP","LOCK","LOOP","LOW_PRIORITY","MATCH","MAXVALUE","MINUS","MINUTE_MICROSECOND","MINUTE_SECOND","MOD","MODIFIES","NATURAL","NO_QUERY_REWRITE","NOT","NO_WRITE_TO_BINLOG","NO_QUERY_REWRITE","NULL","ON","OPTIMIZE","OPTION","OPTIONALLY","OR","ORDER","OUT","OUTER","OUTFILE","OVER","PRIMARY","PROCEDURE","PURGE","RANGE","READ","READS","REFERENCES","REGEXP","RELEASE","RENAME","REPEAT","REPLACE","REQUIRE","RESTRICT","RETURN","REVOKE","RIGHT","RIGHT_ANTI_JOIN","RIGHT_SEMI_JOIN","RIGHT_STRAIGHT_JOIN","RLIKE","SCHEMA","SCHEMAS","SECOND_MICROSECOND","SELECT","SEMI_JOIN","SENSITIVE","SEPARATOR","SET","SHOW","SIGNAL","SPATIAL","SPECIFIC","SQL","SQL_BIG_RESULT","SQL_BUFFER_RESULT","SQL_CACHE","SQL_CALC_FOUND_ROWS","SQLEXCEPTION","SQL_NO_CACHE","SQL_NO_LOGGING","SQL_SMALL_RESULT","SQLSTATE","SQLWARNING","STRAIGHT_JOIN","TABLE","TERMINATED","THEN","TO","TRAILING","TRIGGER","TRUE","UNBOUNDED","UNDO","UNION","UNIQUE","UNLOCK","UPDATE","USAGE","USE","USING","UTC_DATE","UTC_TIME","UTC_TIMESTAMP","_UTF8","VALUES","WHEN","WHERE","WHILE","WINDOW","WITH","WITHIN","WRITE","XOR","YEAR_MONTH","ZEROFILL"],dA=["BIGINT","BINARY","BIT","BLOB","CHAR","CHARACTER","DATETIME","DEC","DECIMAL","DOUBLE PRECISION","DOUBLE","ENUM","FIXED","FLOAT","FLOAT4","FLOAT8","INT","INT1","INT2","INT3","INT4","INT8","INTEGER","LONG","LONGBLOB","LONGTEXT","MEDIUMBLOB","MEDIUMINT","MEDIUMTEXT","MIDDLEINT","NATIONAL CHAR","NATIONAL VARCHAR","NUMERIC","PRECISION","REAL","SMALLINT","TEXT","TIME","TIMESTAMP","TINYBLOB","TINYINT","TINYTEXT","UNSIGNED","VARBINARY","VARCHAR","VARCHARACTER","YEAR"],PA=["ABS","ACOS","ADDDATE","ADDTIME","AES_DECRYPT","AES_ENCRYPT","ANY_VALUE","APPROX_COUNT_DISTINCT","APPROX_COUNT_DISTINCT_ACCUMULATE","APPROX_COUNT_DISTINCT_COMBINE","APPROX_COUNT_DISTINCT_ESTIMATE","APPROX_GEOGRAPHY_INTERSECTS","APPROX_PERCENTILE","ASCII","ASIN","ATAN","ATAN2","AVG","BIN","BINARY","BIT_AND","BIT_COUNT","BIT_OR","BIT_XOR","CAST","CEIL","CEILING","CHAR","CHARACTER_LENGTH","CHAR_LENGTH","CHARSET","COALESCE","COERCIBILITY","COLLATION","COLLECT","CONCAT","CONCAT_WS","CONNECTION_ID","CONV","CONVERT","CONVERT_TZ","COS","COT","COUNT","CUME_DIST","CURDATE","CURRENT_DATE","CURRENT_ROLE","CURRENT_TIME","CURRENT_TIMESTAMP","CURRENT_USER","CURTIME","DATABASE","DATE","DATE_ADD","DATEDIFF","DATE_FORMAT","DATE_SUB","DATE_TRUNC","DAY","DAYNAME","DAYOFMONTH","DAYOFWEEK","DAYOFYEAR","DECODE","DEFAULT","DEGREES","DENSE_RANK","DIV","DOT_PRODUCT","ELT","EUCLIDEAN_DISTANCE","EXP","EXTRACT","FIELD","FIRST","FIRST_VALUE","FLOOR","FORMAT","FOUND_ROWS","FROM_BASE64","FROM_DAYS","FROM_UNIXTIME","GEOGRAPHY_AREA","GEOGRAPHY_CONTAINS","GEOGRAPHY_DISTANCE","GEOGRAPHY_INTERSECTS","GEOGRAPHY_LATITUDE","GEOGRAPHY_LENGTH","GEOGRAPHY_LONGITUDE","GEOGRAPHY_POINT","GEOGRAPHY_WITHIN_DISTANCE","GEOMETRY_AREA","GEOMETRY_CONTAINS","GEOMETRY_DISTANCE","GEOMETRY_FILTER","GEOMETRY_INTERSECTS","GEOMETRY_LENGTH","GEOMETRY_POINT","GEOMETRY_WITHIN_DISTANCE","GEOMETRY_X","GEOMETRY_Y","GREATEST","GROUPING","GROUP_CONCAT","HEX","HIGHLIGHT","HOUR","ICU_VERSION","IF","IFNULL","INET_ATON","INET_NTOA","INET6_ATON","INET6_NTOA","INITCAP","INSERT","INSTR","INTERVAL","IS","IS NULL","JSON_AGG","JSON_ARRAY_CONTAINS_DOUBLE","JSON_ARRAY_CONTAINS_JSON","JSON_ARRAY_CONTAINS_STRING","JSON_ARRAY_PUSH_DOUBLE","JSON_ARRAY_PUSH_JSON","JSON_ARRAY_PUSH_STRING","JSON_DELETE_KEY","JSON_EXTRACT_DOUBLE","JSON_EXTRACT_JSON","JSON_EXTRACT_STRING","JSON_EXTRACT_BIGINT","JSON_GET_TYPE","JSON_LENGTH","JSON_SET_DOUBLE","JSON_SET_JSON","JSON_SET_STRING","JSON_SPLICE_DOUBLE","JSON_SPLICE_JSON","JSON_SPLICE_STRING","LAG","LAST_DAY","LAST_VALUE","LCASE","LEAD","LEAST","LEFT","LENGTH","LIKE","LN","LOCALTIME","LOCALTIMESTAMP","LOCATE","LOG","LOG10","LOG2","LPAD","LTRIM","MATCH","MAX","MD5","MEDIAN","MICROSECOND","MIN","MINUTE","MOD","MONTH","MONTHNAME","MONTHS_BETWEEN","NOT","NOW","NTH_VALUE","NTILE","NULLIF","OCTET_LENGTH","PERCENT_RANK","PERCENTILE_CONT","PERCENTILE_DISC","PI","PIVOT","POSITION","POW","POWER","QUARTER","QUOTE","RADIANS","RAND","RANK","REGEXP","REPEAT","REPLACE","REVERSE","RIGHT","RLIKE","ROUND","ROW_COUNT","ROW_NUMBER","RPAD","RTRIM","SCALAR","SCHEMA","SEC_TO_TIME","SHA1","SHA2","SIGMOID","SIGN","SIN","SLEEP","SPLIT","SOUNDEX","SOUNDS LIKE","SOURCE_POS_WAIT","SPACE","SQRT","STDDEV","STDDEV_POP","STDDEV_SAMP","STR_TO_DATE","SUBDATE","SUBSTR","SUBSTRING","SUBSTRING_INDEX","SUM","SYS_GUID","TAN","TIME","TIMEDIFF","TIME_BUCKET","TIME_FORMAT","TIMESTAMP","TIMESTAMPADD","TIMESTAMPDIFF","TIME_TO_SEC","TO_BASE64","TO_CHAR","TO_DAYS","TO_JSON","TO_NUMBER","TO_SECONDS","TO_TIMESTAMP","TRIM","TRUNC","TRUNCATE","UCASE","UNHEX","UNIX_TIMESTAMP","UPDATEXML","UPPER","UTC_DATE","UTC_TIME","UTC_TIMESTAMP","UUID","VALUES","VARIANCE","VAR_POP","VAR_SAMP","VECTOR_SUB","VERSION","WEEK","WEEKDAY","WEEKOFYEAR","YEAR"],fA=G(["SELECT [ALL | DISTINCT | DISTINCTROW]"]),hA=G(["WITH","FROM","WHERE","GROUP BY","HAVING","PARTITION BY","ORDER BY","LIMIT","OFFSET","INSERT [IGNORE] [INTO]","VALUES","REPLACE [INTO]","ON DUPLICATE KEY UPDATE","SET","CREATE [OR REPLACE] [TEMPORARY] PROCEDURE [IF NOT EXISTS]","CREATE [OR REPLACE] [EXTERNAL] FUNCTION"]),Dr=G(["CREATE [ROWSTORE] [REFERENCE | TEMPORARY | GLOBAL TEMPORARY] TABLE [IF NOT EXISTS]"]),cE=G(["CREATE VIEW","UPDATE","DELETE [FROM]","DROP [TEMPORARY] TABLE [IF EXISTS]","ALTER [ONLINE] TABLE","ADD [COLUMN]","ADD [UNIQUE] {INDEX | KEY}","DROP [COLUMN]","MODIFY [COLUMN]","CHANGE","RENAME [TO | AS]","TRUNCATE [TABLE]","ADD AGGREGATOR","ADD LEAF","AGGREGATOR SET AS MASTER","ALTER DATABASE","ALTER PIPELINE","ALTER RESOURCE POOL","ALTER USER","ALTER VIEW","ANALYZE TABLE","ATTACH DATABASE","ATTACH LEAF","ATTACH LEAF ALL","BACKUP DATABASE","BINLOG","BOOTSTRAP AGGREGATOR","CACHE INDEX","CALL","CHANGE","CHANGE MASTER TO","CHANGE REPLICATION FILTER","CHANGE REPLICATION SOURCE TO","CHECK BLOB CHECKSUM","CHECK TABLE","CHECKSUM TABLE","CLEAR ORPHAN DATABASES","CLONE","COMMIT","CREATE DATABASE","CREATE GROUP","CREATE INDEX","CREATE LINK","CREATE MILESTONE","CREATE PIPELINE","CREATE RESOURCE POOL","CREATE ROLE","CREATE USER","DEALLOCATE PREPARE","DESCRIBE","DETACH DATABASE","DETACH PIPELINE","DROP DATABASE","DROP FUNCTION","DROP INDEX","DROP LINK","DROP PIPELINE","DROP PROCEDURE","DROP RESOURCE POOL","DROP ROLE","DROP USER","DROP VIEW","EXECUTE","EXPLAIN","FLUSH","FORCE","GRANT","HANDLER","HELP","KILL CONNECTION","KILLALL QUERIES","LOAD DATA","LOAD INDEX INTO CACHE","LOAD XML","LOCK INSTANCE FOR BACKUP","LOCK TABLES","MASTER_POS_WAIT","OPTIMIZE TABLE","PREPARE","PURGE BINARY LOGS","REBALANCE PARTITIONS","RELEASE SAVEPOINT","REMOVE AGGREGATOR","REMOVE LEAF","REPAIR TABLE","REPLACE","REPLICATE DATABASE","RESET","RESET MASTER","RESET PERSIST","RESET REPLICA","RESET SLAVE","RESTART","RESTORE DATABASE","RESTORE REDUNDANCY","REVOKE","ROLLBACK","ROLLBACK TO SAVEPOINT","SAVEPOINT","SET CHARACTER SET","SET DEFAULT ROLE","SET NAMES","SET PASSWORD","SET RESOURCE GROUP","SET ROLE","SET TRANSACTION","SHOW","SHOW CHARACTER SET","SHOW COLLATION","SHOW COLUMNS","SHOW CREATE DATABASE","SHOW CREATE FUNCTION","SHOW CREATE PIPELINE","SHOW CREATE PROCEDURE","SHOW CREATE TABLE","SHOW CREATE USER","SHOW CREATE VIEW","SHOW DATABASES","SHOW ENGINE","SHOW ENGINES","SHOW ERRORS","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 VARIABLES","SHOW WARNINGS","SHUTDOWN","SNAPSHOT DATABASE","SOURCE_POS_WAIT","START GROUP_REPLICATION","START PIPELINE","START REPLICA","START SLAVE","START TRANSACTION","STOP GROUP_REPLICATION","STOP PIPELINE","STOP REPLICA","STOP REPLICATING","STOP SLAVE","TEST PIPELINE","UNLOCK INSTANCE","UNLOCK TABLES","USE","XA","ITERATE","LEAVE","LOOP","REPEAT","RETURN","WHILE"]),MA=G(["UNION [ALL | DISTINCT]","EXCEPT","INTERSECT","MINUS"]),UA=G(["JOIN","{LEFT | RIGHT | FULL} [OUTER] JOIN","{INNER | CROSS} JOIN","NATURAL {LEFT | RIGHT} [OUTER] JOIN","STRAIGHT_JOIN"]),mA=G(["ON DELETE","ON UPDATE","CHARACTER SET","{ROWS | RANGE} BETWEEN","IDENTIFIED BY"]),BA=G([]),gA={name:"singlestoredb",tokenizerOptions:{reservedSelect:fA,reservedClauses:[...hA,...Dr,...cE],reservedSetOperations:MA,reservedJoins:UA,reservedKeywordPhrases:mA,reservedDataTypePhrases:BA,reservedKeywords:pA,reservedDataTypes:dA,reservedFunctionNames:PA,stringTypes:['""-qq-bs',"''-qq-bs",{quote:"''-raw",prefixes:["B","X"],requirePrefix:!0}],identTypes:["``"],identChars:{first:"$",rest:"$",allowFirstCharNumber:!0},variableTypes:[{regex:"@@?[A-Za-z0-9_$]+"},{quote:"``",prefixes:["@"],requirePrefix:!0}],lineCommentTypes:["--","#"],operators:[":=","&","|","^","~","<<",">>","<=>","&&","||","::","::$","::%",":>","!:>","*.*"],postProcess:vt},formatOptions:{alwaysDenseOperators:["::","::$","::%"],onelineClauses:[...Dr,...cE],tabularOnelineClauses:cE}},yA=["ABS","ACOS","ACOSH","ADD_MONTHS","ALL_USER_NAMES","ANY_VALUE","APPROX_COUNT_DISTINCT","APPROX_PERCENTILE","APPROX_PERCENTILE_ACCUMULATE","APPROX_PERCENTILE_COMBINE","APPROX_PERCENTILE_ESTIMATE","APPROX_TOP_K","APPROX_TOP_K_ACCUMULATE","APPROX_TOP_K_COMBINE","APPROX_TOP_K_ESTIMATE","APPROXIMATE_JACCARD_INDEX","APPROXIMATE_SIMILARITY","ARRAY_AGG","ARRAY_APPEND","ARRAY_CAT","ARRAY_COMPACT","ARRAY_CONSTRUCT","ARRAY_CONSTRUCT_COMPACT","ARRAY_CONTAINS","ARRAY_INSERT","ARRAY_INTERSECTION","ARRAY_POSITION","ARRAY_PREPEND","ARRAY_SIZE","ARRAY_SLICE","ARRAY_TO_STRING","ARRAY_UNION_AGG","ARRAY_UNIQUE_AGG","ARRAYS_OVERLAP","AS_ARRAY","AS_BINARY","AS_BOOLEAN","AS_CHAR","AS_VARCHAR","AS_DATE","AS_DECIMAL","AS_NUMBER","AS_DOUBLE","AS_REAL","AS_INTEGER","AS_OBJECT","AS_TIME","AS_TIMESTAMP_LTZ","AS_TIMESTAMP_NTZ","AS_TIMESTAMP_TZ","ASCII","ASIN","ASINH","ATAN","ATAN2","ATANH","AUTO_REFRESH_REGISTRATION_HISTORY","AUTOMATIC_CLUSTERING_HISTORY","AVG","BASE64_DECODE_BINARY","BASE64_DECODE_STRING","BASE64_ENCODE","BIT_LENGTH","BITAND","BITAND_AGG","BITMAP_BIT_POSITION","BITMAP_BUCKET_NUMBER","BITMAP_CONSTRUCT_AGG","BITMAP_COUNT","BITMAP_OR_AGG","BITNOT","BITOR","BITOR_AGG","BITSHIFTLEFT","BITSHIFTRIGHT","BITXOR","BITXOR_AGG","BOOLAND","BOOLAND_AGG","BOOLNOT","BOOLOR","BOOLOR_AGG","BOOLXOR","BOOLXOR_AGG","BUILD_SCOPED_FILE_URL","BUILD_STAGE_FILE_URL","CASE","CAST","CBRT","CEIL","CHARINDEX","CHECK_JSON","CHECK_XML","CHR","CHAR","COALESCE","COLLATE","COLLATION","COMPLETE_TASK_GRAPHS","COMPRESS","CONCAT","CONCAT_WS","CONDITIONAL_CHANGE_EVENT","CONDITIONAL_TRUE_EVENT","CONTAINS","CONVERT_TIMEZONE","COPY_HISTORY","CORR","COS","COSH","COT","COUNT","COUNT_IF","COVAR_POP","COVAR_SAMP","CUME_DIST","CURRENT_ACCOUNT","CURRENT_AVAILABLE_ROLES","CURRENT_CLIENT","CURRENT_DATABASE","CURRENT_DATE","CURRENT_IP_ADDRESS","CURRENT_REGION","CURRENT_ROLE","CURRENT_SCHEMA","CURRENT_SCHEMAS","CURRENT_SECONDARY_ROLES","CURRENT_SESSION","CURRENT_STATEMENT","CURRENT_TASK_GRAPHS","CURRENT_TIME","CURRENT_TIMESTAMP","CURRENT_TRANSACTION","CURRENT_USER","CURRENT_VERSION","CURRENT_WAREHOUSE","DATA_TRANSFER_HISTORY","DATABASE_REFRESH_HISTORY","DATABASE_REFRESH_PROGRESS","DATABASE_REFRESH_PROGRESS_BY_JOB","DATABASE_STORAGE_USAGE_HISTORY","DATE_FROM_PARTS","DATE_PART","DATE_TRUNC","DATEADD","DATEDIFF","DAYNAME","DECODE","DECOMPRESS_BINARY","DECOMPRESS_STRING","DECRYPT","DECRYPT_RAW","DEGREES","DENSE_RANK","DIV0","EDITDISTANCE","ENCRYPT","ENCRYPT_RAW","ENDSWITH","EQUAL_NULL","EXP","EXPLAIN_JSON","EXTERNAL_FUNCTIONS_HISTORY","EXTERNAL_TABLE_FILES","EXTERNAL_TABLE_FILE_REGISTRATION_HISTORY","EXTRACT","EXTRACT_SEMANTIC_CATEGORIES","FACTORIAL","FILTER","FIRST_VALUE","FLATTEN","FLOOR","GENERATE_COLUMN_DESCRIPTION","GENERATOR","GET","GET_ABSOLUTE_PATH","GET_DDL","GET_IGNORE_CASE","GET_OBJECT_REFERENCES","GET_PATH","GET_PRESIGNED_URL","GET_RELATIVE_PATH","GET_STAGE_LOCATION","GETBIT","GREATEST","GREATEST_IGNORE_NULLS","GROUPING","GROUPING_ID","HASH","HASH_AGG","HAVERSINE","HEX_DECODE_BINARY","HEX_DECODE_STRING","HEX_ENCODE","HLL","HLL_ACCUMULATE","HLL_COMBINE","HLL_ESTIMATE","HLL_EXPORT","HLL_IMPORT","HOUR","MINUTE","SECOND","IDENTIFIER","IFF","IFNULL","ILIKE","ILIKE ANY","INFER_SCHEMA","INITCAP","INSERT","INVOKER_ROLE","INVOKER_SHARE","IS_ARRAY","IS_BINARY","IS_BOOLEAN","IS_CHAR","IS_VARCHAR","IS_DATE","IS_DATE_VALUE","IS_DECIMAL","IS_DOUBLE","IS_REAL","IS_GRANTED_TO_INVOKER_ROLE","IS_INTEGER","IS_NULL_VALUE","IS_OBJECT","IS_ROLE_IN_SESSION","IS_TIME","IS_TIMESTAMP_LTZ","IS_TIMESTAMP_NTZ","IS_TIMESTAMP_TZ","JAROWINKLER_SIMILARITY","JSON_EXTRACT_PATH_TEXT","KURTOSIS","LAG","LAST_DAY","LAST_QUERY_ID","LAST_TRANSACTION","LAST_VALUE","LEAD","LEAST","LEFT","LENGTH","LEN","LIKE","LIKE ALL","LIKE ANY","LISTAGG","LN","LOCALTIME","LOCALTIMESTAMP","LOG","LOGIN_HISTORY","LOGIN_HISTORY_BY_USER","LOWER","LPAD","LTRIM","MATERIALIZED_VIEW_REFRESH_HISTORY","MD5","MD5_HEX","MD5_BINARY","MD5_NUMBER — Obsoleted","MD5_NUMBER_LOWER64","MD5_NUMBER_UPPER64","MEDIAN","MIN","MAX","MINHASH","MINHASH_COMBINE","MOD","MODE","MONTHNAME","MONTHS_BETWEEN","NEXT_DAY","NORMAL","NTH_VALUE","NTILE","NULLIF","NULLIFZERO","NVL","NVL2","OBJECT_AGG","OBJECT_CONSTRUCT","OBJECT_CONSTRUCT_KEEP_NULL","OBJECT_DELETE","OBJECT_INSERT","OBJECT_KEYS","OBJECT_PICK","OCTET_LENGTH","PARSE_IP","PARSE_JSON","PARSE_URL","PARSE_XML","PERCENT_RANK","PERCENTILE_CONT","PERCENTILE_DISC","PI","PIPE_USAGE_HISTORY","POLICY_CONTEXT","POLICY_REFERENCES","POSITION","POW","POWER","PREVIOUS_DAY","QUERY_ACCELERATION_HISTORY","QUERY_HISTORY","QUERY_HISTORY_BY_SESSION","QUERY_HISTORY_BY_USER","QUERY_HISTORY_BY_WAREHOUSE","RADIANS","RANDOM","RANDSTR","RANK","RATIO_TO_REPORT","REGEXP","REGEXP_COUNT","REGEXP_INSTR","REGEXP_LIKE","REGEXP_REPLACE","REGEXP_SUBSTR","REGEXP_SUBSTR_ALL","REGR_AVGX","REGR_AVGY","REGR_COUNT","REGR_INTERCEPT","REGR_R2","REGR_SLOPE","REGR_SXX","REGR_SXY","REGR_SYY","REGR_VALX","REGR_VALY","REPEAT","REPLACE","REPLICATION_GROUP_REFRESH_HISTORY","REPLICATION_GROUP_REFRESH_PROGRESS","REPLICATION_GROUP_REFRESH_PROGRESS_BY_JOB","REPLICATION_GROUP_USAGE_HISTORY","REPLICATION_USAGE_HISTORY","REST_EVENT_HISTORY","RESULT_SCAN","REVERSE","RIGHT","RLIKE","ROUND","ROW_NUMBER","RPAD","RTRIM","RTRIMMED_LENGTH","SEARCH_OPTIMIZATION_HISTORY","SEQ1","SEQ2","SEQ4","SEQ8","SERVERLESS_TASK_HISTORY","SHA1","SHA1_HEX","SHA1_BINARY","SHA2","SHA2_HEX","SHA2_BINARY","SIGN","SIN","SINH","SKEW","SOUNDEX","SPACE","SPLIT","SPLIT_PART","SPLIT_TO_TABLE","SQRT","SQUARE","ST_AREA","ST_ASEWKB","ST_ASEWKT","ST_ASGEOJSON","ST_ASWKB","ST_ASBINARY","ST_ASWKT","ST_ASTEXT","ST_AZIMUTH","ST_CENTROID","ST_COLLECT","ST_CONTAINS","ST_COVEREDBY","ST_COVERS","ST_DIFFERENCE","ST_DIMENSION","ST_DISJOINT","ST_DISTANCE","ST_DWITHIN","ST_ENDPOINT","ST_ENVELOPE","ST_GEOGFROMGEOHASH","ST_GEOGPOINTFROMGEOHASH","ST_GEOGRAPHYFROMWKB","ST_GEOGRAPHYFROMWKT","ST_GEOHASH","ST_GEOMETRYFROMWKB","ST_GEOMETRYFROMWKT","ST_HAUSDORFFDISTANCE","ST_INTERSECTION","ST_INTERSECTS","ST_LENGTH","ST_MAKEGEOMPOINT","ST_GEOM_POINT","ST_MAKELINE","ST_MAKEPOINT","ST_POINT","ST_MAKEPOLYGON","ST_POLYGON","ST_NPOINTS","ST_NUMPOINTS","ST_PERIMETER","ST_POINTN","ST_SETSRID","ST_SIMPLIFY","ST_SRID","ST_STARTPOINT","ST_SYMDIFFERENCE","ST_UNION","ST_WITHIN","ST_X","ST_XMAX","ST_XMIN","ST_Y","ST_YMAX","ST_YMIN","STAGE_DIRECTORY_FILE_REGISTRATION_HISTORY","STAGE_STORAGE_USAGE_HISTORY","STARTSWITH","STDDEV","STDDEV_POP","STDDEV_SAMP","STRIP_NULL_VALUE","STRTOK","STRTOK_SPLIT_TO_TABLE","STRTOK_TO_ARRAY","SUBSTR","SUBSTRING","SUM","SYSDATE","SYSTEM$ABORT_SESSION","SYSTEM$ABORT_TRANSACTION","SYSTEM$AUTHORIZE_PRIVATELINK","SYSTEM$AUTHORIZE_STAGE_PRIVATELINK_ACCESS","SYSTEM$BEHAVIOR_CHANGE_BUNDLE_STATUS","SYSTEM$CANCEL_ALL_QUERIES","SYSTEM$CANCEL_QUERY","SYSTEM$CLUSTERING_DEPTH","SYSTEM$CLUSTERING_INFORMATION","SYSTEM$CLUSTERING_RATIO ","SYSTEM$CURRENT_USER_TASK_NAME","SYSTEM$DATABASE_REFRESH_HISTORY ","SYSTEM$DATABASE_REFRESH_PROGRESS","SYSTEM$DATABASE_REFRESH_PROGRESS_BY_JOB ","SYSTEM$DISABLE_BEHAVIOR_CHANGE_BUNDLE","SYSTEM$DISABLE_DATABASE_REPLICATION","SYSTEM$ENABLE_BEHAVIOR_CHANGE_BUNDLE","SYSTEM$ESTIMATE_QUERY_ACCELERATION","SYSTEM$ESTIMATE_SEARCH_OPTIMIZATION_COSTS","SYSTEM$EXPLAIN_JSON_TO_TEXT","SYSTEM$EXPLAIN_PLAN_JSON","SYSTEM$EXTERNAL_TABLE_PIPE_STATUS","SYSTEM$GENERATE_SAML_CSR","SYSTEM$GENERATE_SCIM_ACCESS_TOKEN","SYSTEM$GET_AWS_SNS_IAM_POLICY","SYSTEM$GET_PREDECESSOR_RETURN_VALUE","SYSTEM$GET_PRIVATELINK","SYSTEM$GET_PRIVATELINK_AUTHORIZED_ENDPOINTS","SYSTEM$GET_PRIVATELINK_CONFIG","SYSTEM$GET_SNOWFLAKE_PLATFORM_INFO","SYSTEM$GET_TAG","SYSTEM$GET_TAG_ALLOWED_VALUES","SYSTEM$GET_TAG_ON_CURRENT_COLUMN","SYSTEM$GET_TAG_ON_CURRENT_TABLE","SYSTEM$GLOBAL_ACCOUNT_SET_PARAMETER","SYSTEM$LAST_CHANGE_COMMIT_TIME","SYSTEM$LINK_ACCOUNT_OBJECTS_BY_NAME","SYSTEM$MIGRATE_SAML_IDP_REGISTRATION","SYSTEM$PIPE_FORCE_RESUME","SYSTEM$PIPE_STATUS","SYSTEM$REVOKE_PRIVATELINK","SYSTEM$REVOKE_STAGE_PRIVATELINK_ACCESS","SYSTEM$SET_RETURN_VALUE","SYSTEM$SHOW_OAUTH_CLIENT_SECRETS","SYSTEM$STREAM_GET_TABLE_TIMESTAMP","SYSTEM$STREAM_HAS_DATA","SYSTEM$TASK_DEPENDENTS_ENABLE","SYSTEM$TYPEOF","SYSTEM$USER_TASK_CANCEL_ONGOING_EXECUTIONS","SYSTEM$VERIFY_EXTERNAL_OAUTH_TOKEN","SYSTEM$WAIT","SYSTEM$WHITELIST","SYSTEM$WHITELIST_PRIVATELINK","TAG_REFERENCES","TAG_REFERENCES_ALL_COLUMNS","TAG_REFERENCES_WITH_LINEAGE","TAN","TANH","TASK_DEPENDENTS","TASK_HISTORY","TIME_FROM_PARTS","TIME_SLICE","TIMEADD","TIMEDIFF","TIMESTAMP_FROM_PARTS","TIMESTAMPADD","TIMESTAMPDIFF","TO_ARRAY","TO_BINARY","TO_BOOLEAN","TO_CHAR","TO_VARCHAR","TO_DATE","DATE","TO_DECIMAL","TO_NUMBER","TO_NUMERIC","TO_DOUBLE","TO_GEOGRAPHY","TO_GEOMETRY","TO_JSON","TO_OBJECT","TO_TIME","TIME","TO_TIMESTAMP","TO_TIMESTAMP_LTZ","TO_TIMESTAMP_NTZ","TO_TIMESTAMP_TZ","TO_VARIANT","TO_XML","TRANSLATE","TRIM","TRUNCATE","TRUNC","TRUNC","TRY_BASE64_DECODE_BINARY","TRY_BASE64_DECODE_STRING","TRY_CAST","TRY_HEX_DECODE_BINARY","TRY_HEX_DECODE_STRING","TRY_PARSE_JSON","TRY_TO_BINARY","TRY_TO_BOOLEAN","TRY_TO_DATE","TRY_TO_DECIMAL","TRY_TO_NUMBER","TRY_TO_NUMERIC","TRY_TO_DOUBLE","TRY_TO_GEOGRAPHY","TRY_TO_GEOMETRY","TRY_TO_TIME","TRY_TO_TIMESTAMP","TRY_TO_TIMESTAMP_LTZ","TRY_TO_TIMESTAMP_NTZ","TRY_TO_TIMESTAMP_TZ","TYPEOF","UNICODE","UNIFORM","UPPER","UUID_STRING","VALIDATE","VALIDATE_PIPE_LOAD","VAR_POP","VAR_SAMP","VARIANCE","VARIANCE_SAMP","VARIANCE_POP","WAREHOUSE_LOAD_HISTORY","WAREHOUSE_METERING_HISTORY","WIDTH_BUCKET","XMLGET","YEAR","YEAROFWEEK","YEAROFWEEKISO","DAY","DAYOFMONTH","DAYOFWEEK","DAYOFWEEKISO","DAYOFYEAR","WEEK","WEEK","WEEKOFYEAR","WEEKISO","MONTH","QUARTER","ZEROIFNULL","ZIPF"],GA=["ACCOUNT","ALL","ALTER","AND","ANY","AS","BETWEEN","BY","CASE","CAST","CHECK","COLUMN","CONNECT","CONNECTION","CONSTRAINT","CREATE","CROSS","CURRENT","CURRENT_DATE","CURRENT_TIME","CURRENT_TIMESTAMP","CURRENT_USER","DATABASE","DELETE","DISTINCT","DROP","ELSE","EXISTS","FALSE","FOLLOWING","FOR","FROM","FULL","GRANT","GROUP","GSCLUSTER","HAVING","ILIKE","IN","INCREMENT","INNER","INSERT","INTERSECT","INTO","IS","ISSUE","JOIN","LATERAL","LEFT","LIKE","LOCALTIME","LOCALTIMESTAMP","MINUS","NATURAL","NOT","NULL","OF","ON","OR","ORDER","ORGANIZATION","QUALIFY","REGEXP","REVOKE","RIGHT","RLIKE","ROW","ROWS","SAMPLE","SCHEMA","SELECT","SET","SOME","START","TABLE","TABLESAMPLE","THEN","TO","TRIGGER","TRUE","TRY_CAST","UNION","UNIQUE","UPDATE","USING","VALUES","VIEW","WHEN","WHENEVER","WHERE","WITH","COMMENT"],FA=["NUMBER","DECIMAL","NUMERIC","INT","INTEGER","BIGINT","SMALLINT","TINYINT","BYTEINT","FLOAT","FLOAT4","FLOAT8","DOUBLE","DOUBLE PRECISION","REAL","VARCHAR","CHAR","CHARACTER","STRING","TEXT","BINARY","VARBINARY","BOOLEAN","DATE","DATETIME","TIME","TIMESTAMP","TIMESTAMP_LTZ","TIMESTAMP_NTZ","TIMESTAMP","TIMESTAMP_TZ","VARIANT","OBJECT","ARRAY","GEOGRAPHY","GEOMETRY"],HA=G(["SELECT [ALL | DISTINCT]"]),bA=G(["WITH [RECURSIVE]","FROM","WHERE","GROUP BY","HAVING","PARTITION BY","ORDER BY","QUALIFY","LIMIT","OFFSET","FETCH [FIRST | NEXT]","INSERT [OVERWRITE] [ALL INTO | INTO | ALL | FIRST]","{THEN | ELSE} INTO","VALUES","SET","CLUSTER BY","[WITH] {MASKING POLICY | TAG | ROW ACCESS POLICY}","COPY GRANTS","USING TEMPLATE","MERGE INTO","WHEN MATCHED [AND]","THEN {UPDATE SET | DELETE}","WHEN NOT MATCHED THEN INSERT"]),pr=G(["CREATE [OR REPLACE] [VOLATILE] TABLE [IF NOT EXISTS]","CREATE [OR REPLACE] [LOCAL | GLOBAL] {TEMP|TEMPORARY} TABLE [IF NOT EXISTS]"]),_E=G(["CREATE [OR REPLACE] [SECURE] [RECURSIVE] VIEW [IF NOT EXISTS]","UPDATE","DELETE FROM","DROP TABLE [IF EXISTS]","ALTER TABLE [IF EXISTS]","RENAME TO","SWAP WITH","[SUSPEND | RESUME] RECLUSTER","DROP CLUSTERING KEY","ADD [COLUMN]","RENAME COLUMN","{ALTER | MODIFY} [COLUMN]","DROP [COLUMN]","{ADD | ALTER | MODIFY | DROP} [CONSTRAINT]","RENAME CONSTRAINT","{ADD | DROP} SEARCH OPTIMIZATION","{SET | UNSET} TAG","{ADD | DROP} ROW ACCESS POLICY","DROP ALL ROW ACCESS POLICIES","{SET | DROP} DEFAULT","{SET | DROP} NOT NULL","SET DATA TYPE","UNSET COMMENT","{SET | UNSET} MASKING POLICY","TRUNCATE [TABLE] [IF EXISTS]","ALTER ACCOUNT","ALTER API INTEGRATION","ALTER CONNECTION","ALTER DATABASE","ALTER EXTERNAL TABLE","ALTER FAILOVER GROUP","ALTER FILE FORMAT","ALTER FUNCTION","ALTER INTEGRATION","ALTER MASKING POLICY","ALTER MATERIALIZED VIEW","ALTER NETWORK POLICY","ALTER NOTIFICATION INTEGRATION","ALTER PIPE","ALTER PROCEDURE","ALTER REPLICATION GROUP","ALTER RESOURCE MONITOR","ALTER ROLE","ALTER ROW ACCESS POLICY","ALTER SCHEMA","ALTER SECURITY INTEGRATION","ALTER SEQUENCE","ALTER SESSION","ALTER SESSION POLICY","ALTER SHARE","ALTER STAGE","ALTER STORAGE INTEGRATION","ALTER STREAM","ALTER TAG","ALTER TASK","ALTER USER","ALTER VIEW","ALTER WAREHOUSE","BEGIN","CALL","COMMIT","COPY INTO","CREATE ACCOUNT","CREATE API INTEGRATION","CREATE CONNECTION","CREATE DATABASE","CREATE EXTERNAL FUNCTION","CREATE EXTERNAL TABLE","CREATE FAILOVER GROUP","CREATE FILE FORMAT","CREATE FUNCTION","CREATE INTEGRATION","CREATE MANAGED ACCOUNT","CREATE MASKING POLICY","CREATE MATERIALIZED VIEW","CREATE NETWORK POLICY","CREATE NOTIFICATION INTEGRATION","CREATE PIPE","CREATE PROCEDURE","CREATE REPLICATION GROUP","CREATE RESOURCE MONITOR","CREATE ROLE","CREATE ROW ACCESS POLICY","CREATE SCHEMA","CREATE SECURITY INTEGRATION","CREATE SEQUENCE","CREATE SESSION POLICY","CREATE SHARE","CREATE STAGE","CREATE STORAGE INTEGRATION","CREATE STREAM","CREATE TAG","CREATE TASK","CREATE USER","CREATE WAREHOUSE","DELETE","DESCRIBE DATABASE","DESCRIBE EXTERNAL TABLE","DESCRIBE FILE FORMAT","DESCRIBE FUNCTION","DESCRIBE INTEGRATION","DESCRIBE MASKING POLICY","DESCRIBE MATERIALIZED VIEW","DESCRIBE NETWORK POLICY","DESCRIBE PIPE","DESCRIBE PROCEDURE","DESCRIBE RESULT","DESCRIBE ROW ACCESS POLICY","DESCRIBE SCHEMA","DESCRIBE SEQUENCE","DESCRIBE SESSION POLICY","DESCRIBE SHARE","DESCRIBE STAGE","DESCRIBE STREAM","DESCRIBE TABLE","DESCRIBE TASK","DESCRIBE TRANSACTION","DESCRIBE USER","DESCRIBE VIEW","DESCRIBE WAREHOUSE","DROP CONNECTION","DROP DATABASE","DROP EXTERNAL TABLE","DROP FAILOVER GROUP","DROP FILE FORMAT","DROP FUNCTION","DROP INTEGRATION","DROP MANAGED ACCOUNT","DROP MASKING POLICY","DROP MATERIALIZED VIEW","DROP NETWORK POLICY","DROP PIPE","DROP PROCEDURE","DROP REPLICATION GROUP","DROP RESOURCE MONITOR","DROP ROLE","DROP ROW ACCESS POLICY","DROP SCHEMA","DROP SEQUENCE","DROP SESSION POLICY","DROP SHARE","DROP STAGE","DROP STREAM","DROP TAG","DROP TASK","DROP USER","DROP VIEW","DROP WAREHOUSE","EXECUTE IMMEDIATE","EXECUTE TASK","EXPLAIN","GET","GRANT OWNERSHIP","GRANT ROLE","INSERT","LIST","MERGE","PUT","REMOVE","REVOKE ROLE","ROLLBACK","SHOW COLUMNS","SHOW CONNECTIONS","SHOW DATABASES","SHOW DATABASES IN FAILOVER GROUP","SHOW DATABASES IN REPLICATION GROUP","SHOW DELEGATED AUTHORIZATIONS","SHOW EXTERNAL FUNCTIONS","SHOW EXTERNAL TABLES","SHOW FAILOVER GROUPS","SHOW FILE FORMATS","SHOW FUNCTIONS","SHOW GLOBAL ACCOUNTS","SHOW GRANTS","SHOW INTEGRATIONS","SHOW LOCKS","SHOW MANAGED ACCOUNTS","SHOW MASKING POLICIES","SHOW MATERIALIZED VIEWS","SHOW NETWORK POLICIES","SHOW OBJECTS","SHOW ORGANIZATION ACCOUNTS","SHOW PARAMETERS","SHOW PIPES","SHOW PRIMARY KEYS","SHOW PROCEDURES","SHOW REGIONS","SHOW REPLICATION ACCOUNTS","SHOW REPLICATION DATABASES","SHOW REPLICATION GROUPS","SHOW RESOURCE MONITORS","SHOW ROLES","SHOW ROW ACCESS POLICIES","SHOW SCHEMAS","SHOW SEQUENCES","SHOW SESSION POLICIES","SHOW SHARES","SHOW SHARES IN FAILOVER GROUP","SHOW SHARES IN REPLICATION GROUP","SHOW STAGES","SHOW STREAMS","SHOW TABLES","SHOW TAGS","SHOW TASKS","SHOW TRANSACTIONS","SHOW USER FUNCTIONS","SHOW USERS","SHOW VARIABLES","SHOW VIEWS","SHOW WAREHOUSES","TRUNCATE MATERIALIZED VIEW","UNDROP DATABASE","UNDROP SCHEMA","UNDROP TABLE","UNDROP TAG","UNSET","USE DATABASE","USE ROLE","USE SCHEMA","USE SECONDARY ROLES","USE WAREHOUSE"]),xA=G(["UNION [ALL]","MINUS","EXCEPT","INTERSECT"]),YA=G(["[INNER] JOIN","[NATURAL] {LEFT | RIGHT | FULL} [OUTER] JOIN","{CROSS | NATURAL} JOIN"]),VA=G(["{ROWS | RANGE} BETWEEN","ON {UPDATE | DELETE} [SET NULL | SET DEFAULT]"]),vA=G([]),wA={name:"snowflake",tokenizerOptions:{reservedSelect:HA,reservedClauses:[...bA,...pr,..._E],reservedSetOperations:xA,reservedJoins:YA,reservedKeywordPhrases:VA,reservedDataTypePhrases:vA,reservedKeywords:GA,reservedDataTypes:FA,reservedFunctionNames:yA,stringTypes:["$$","''-qq-bs"],identTypes:['""-qq'],variableTypes:[{regex:"[$][1-9]\\d*"},{regex:"[$][_a-zA-Z][_a-zA-Z0-9$]*"}],extraParens:["[]"],identChars:{rest:"$"},lineCommentTypes:["--","//"],operators:["%","::","||","=>",":=","->"],propertyAccessOperators:[":"]},formatOptions:{alwaysDenseOperators:["::"],onelineClauses:[...pr,..._E],tabularOnelineClauses:_E}},WA=Object.freeze(Object.defineProperty({__proto__:null,bigquery:oo,clickhouse:_o,db2:go,db2i:wo,duckdb:jo,hive:aa,mariadb:Ca,mysql:Ma,n1ql:qa,plsql:ni,postgresql:Oi,redshift:Pi,singlestoredb:gA,snowflake:wA,spark:Fi,sql:EA,sqlite:ki,tidb:xa,transactsql:DA,trino:SA},Symbol.toStringTag,{value:"Module"})),yt=E=>E[E.length-1],dr=E=>E.sort((t,r)=>r.length-t.length||t.localeCompare(r)),wt=E=>E.replace(/\s+/gu," "),LE=E=>/\n/.test(E),Et=E=>E.replace(/[.*+?^${}()|[\]\\]/gu,"\\$&"),Pr=/\s+/uy,Dt=E=>new RegExp(`(?:${E})`,"uy"),XA=E=>E.split("").map(t=>/ /gu.test(t)?"\\s+":`[${t.toUpperCase()}${t.toLowerCase()}]`).join(""),KA=E=>E+"(?:-"+E+")*",kA=({prefixes:E,requirePrefix:t})=>`(?:${E.map(XA).join("|")}${t?"":"|"})`,$A=E=>new RegExp(`(?:${E.map(Et).join("|")}).*?(?=\r
27
27
  |\r|
28
- |$)`,"uy"),fr=(E,t=[])=>{const r=E==="open"?0:1,n=["()",...t].map(T=>T[r]);return Dt(n.map(Et).join("|"))},hr=E=>Dt(`${dr(E).map(Et).join("|")}`),$i=({rest:E,dashes:t})=>E||t?`(?![${E||""}${t?"-":""}])`:"",it=(E,t={})=>{if(E.length===0)return/^\b$/u;const r=$i(t),n=dr(E).map(Et).join("|").replace(/ /gu,"\\s+");return new RegExp(`(?:${n})${r}\\b`,"iuy")},DE=(E,t)=>{if(!E.length)return;const r=E.map(Et).join("|");return Dt(`(?:${r})(?:${t})`)},qi=()=>{const E={"<":">","[":"]","(":")","{":"}"},t="{left}(?:(?!{right}').)*?{right}",r=Object.entries(E).map(([i,l])=>t.replace(/{left}/g,Et(i)).replace(/{right}/g,Et(l))),n=Et(Object.keys(E).join(""));return`[Qq]'(?:${String.raw`(?<tag>[^\s${n}])(?:(?!\k<tag>').)*?\k<tag>`}|${r.join("|")})'`},Mr={"``":"(?:`[^`]*`)+","[]":String.raw`(?:\[[^\]]*\])(?:\][^\]]*\])*`,'""-qq':String.raw`(?:"[^"]*")+`,'""-bs':String.raw`(?:"[^"\\]*(?:\\.[^"\\]*)*")`,'""-qq-bs':String.raw`(?:"[^"\\]*(?:\\.[^"\\]*)*")+`,'""-raw':String.raw`(?:"[^"]*")`,"''-qq":String.raw`(?:'[^']*')+`,"''-bs":String.raw`(?:'[^'\\]*(?:\\.[^'\\]*)*')`,"''-qq-bs":String.raw`(?:'[^'\\]*(?:\\.[^'\\]*)*')+`,"''-raw":String.raw`(?:'[^']*')`,$$:String.raw`(?<tag>\$\w*\$)[\s\S]*?\k<tag>`,"'''..'''":String.raw`'''[^\\]*?(?:\\.[^\\]*?)*?'''`,'""".."""':String.raw`"""[^\\]*?(?:\\.[^\\]*?)*?"""`,"{}":String.raw`(?:\{[^\}]*\})`,"q''":qi()},Ur=E=>typeof E=="string"?Mr[E]:"regex"in E?E.regex:Ki(E)+Mr[E.quote],Ji=E=>Dt(E.map(t=>"regex"in t?t.regex:Ur(t)).join("|")),mr=E=>E.map(Ur).join("|"),Br=E=>Dt(mr(E)),Qi=(E={})=>Dt(gr(E)),gr=({first:E,rest:t,dashes:r,allowFirstCharNumber:n}={})=>{const T="\\p{Alphabetic}\\p{Mark}_",a="\\p{Decimal_Number}",i=Et(E??""),l=Et(t??""),N=n?`[${T}${a}${i}][${T}${a}${l}]*`:`[${T}${i}][${T}${a}${l}]*`;return r?Xi(N):N};function yr(E,t){const r=E.slice(0,t).split(/\n/);return{line:r.length,col:r[r.length-1].length+1}}class Zi{constructor(t,r){this.rules=t,this.dialectName=r,this.input="",this.index=0}tokenize(t){this.input=t,this.index=0;const r=[];let n;for(;this.index<this.input.length;){const T=this.getWhitespace();if(this.index<this.input.length){if(n=this.getNextToken(),!n)throw this.createParseError();r.push(Object.assign(Object.assign({},n),{precedingWhitespace:T}))}}return r}createParseError(){const t=this.input.slice(this.index,this.index+10),{line:r,col:n}=yr(this.input,this.index);return new Error(`Parse error: Unexpected "${t}" at line ${r} column ${n}.
28
+ |$)`,"uy"),fr=(E,t=[])=>{const r=E==="open"?0:1,n=["()",...t].map(s=>s[r]);return Dt(n.map(Et).join("|"))},hr=E=>Dt(`${dr(E).map(Et).join("|")}`),qA=({rest:E,dashes:t})=>E||t?`(?![${E||""}${t?"-":""}])`:"",At=(E,t={})=>{if(E.length===0)return/^\b$/u;const r=qA(t),n=dr(E).map(Et).join("|").replace(/ /gu,"\\s+");return new RegExp(`(?:${n})${r}\\b`,"iuy")},DE=(E,t)=>{if(!E.length)return;const r=E.map(Et).join("|");return Dt(`(?:${r})(?:${t})`)},JA=()=>{const E={"<":">","[":"]","(":")","{":"}"},t="{left}(?:(?!{right}').)*?{right}",r=Object.entries(E).map(([A,c])=>t.replace(/{left}/g,Et(A)).replace(/{right}/g,Et(c))),n=Et(Object.keys(E).join(""));return`[Qq]'(?:${String.raw`(?<tag>[^\s${n}])(?:(?!\k<tag>').)*?\k<tag>`}|${r.join("|")})'`},Mr={"``":"(?:`[^`]*`)+","[]":String.raw`(?:\[[^\]]*\])(?:\][^\]]*\])*`,'""-qq':String.raw`(?:"[^"]*")+`,'""-bs':String.raw`(?:"[^"\\]*(?:\\.[^"\\]*)*")`,'""-qq-bs':String.raw`(?:"[^"\\]*(?:\\.[^"\\]*)*")+`,'""-raw':String.raw`(?:"[^"]*")`,"''-qq":String.raw`(?:'[^']*')+`,"''-bs":String.raw`(?:'[^'\\]*(?:\\.[^'\\]*)*')`,"''-qq-bs":String.raw`(?:'[^'\\]*(?:\\.[^'\\]*)*')+`,"''-raw":String.raw`(?:'[^']*')`,$$:String.raw`(?<tag>\$\w*\$)[\s\S]*?\k<tag>`,"'''..'''":String.raw`'''[^\\]*?(?:\\.[^\\]*?)*?'''`,'""".."""':String.raw`"""[^\\]*?(?:\\.[^\\]*?)*?"""`,"{}":String.raw`(?:\{[^\}]*\})`,"q''":JA()},Ur=E=>typeof E=="string"?Mr[E]:"regex"in E?E.regex:kA(E)+Mr[E.quote],QA=E=>Dt(E.map(t=>"regex"in t?t.regex:Ur(t)).join("|")),mr=E=>E.map(Ur).join("|"),Br=E=>Dt(mr(E)),ZA=(E={})=>Dt(gr(E)),gr=({first:E,rest:t,dashes:r,allowFirstCharNumber:n}={})=>{const s="\\p{Alphabetic}\\p{Mark}_",a="\\p{Decimal_Number}",A=Et(E??""),c=Et(t??""),I=n?`[${s}${a}${A}][${s}${a}${c}]*`:`[${s}${A}][${s}${a}${c}]*`;return r?KA(I):I};function yr(E,t){const r=E.slice(0,t).split(/\n/);return{line:r.length,col:r[r.length-1].length+1}}class jA{constructor(t,r){this.rules=t,this.dialectName=r,this.input="",this.index=0}tokenize(t){this.input=t,this.index=0;const r=[];let n;for(;this.index<this.input.length;){const s=this.getWhitespace();if(this.index<this.input.length){if(n=this.getNextToken(),!n)throw this.createParseError();r.push(Object.assign(Object.assign({},n),{precedingWhitespace:s}))}}return r}createParseError(){const t=this.input.slice(this.index,this.index+10),{line:r,col:n}=yr(this.input,this.index);return new Error(`Parse error: Unexpected "${t}" at line ${r} column ${n}.
29
29
  ${this.dialectInfo()}`)}dialectInfo(){return this.dialectName==="sql"?`This likely happens because you're using the default "sql" dialect.
30
- If possible, please select a more specific dialect (like sqlite, postgresql, etc).`:`SQL dialect used: "${this.dialectName}".`}getWhitespace(){Pr.lastIndex=this.index;const t=Pr.exec(this.input);if(t)return this.index+=t[0].length,t[0]}getNextToken(){for(const t of this.rules){const r=this.match(t);if(r)return r}}match(t){t.regex.lastIndex=this.index;const r=t.regex.exec(this.input);if(r){const n=r[0],T={type:t.type,raw:n,text:t.text?t.text(n):n,start:this.index};return t.key&&(T.key=t.key(n)),this.index+=n.length,T}}}const Gr=/\/\*/uy,ji=/[\s\S]/uy,zi=/\*\//uy;class eR{constructor(){this.lastIndex=0}exec(t){let r="",n,T=0;if(n=this.matchSection(Gr,t))r+=n,T++;else return null;for(;T>0;)if(n=this.matchSection(Gr,t))r+=n,T++;else if(n=this.matchSection(zi,t))r+=n,T--;else if(n=this.matchSection(ji,t))r+=n;else return null;return[r]}matchSection(t,r){t.lastIndex=this.lastIndex;const n=t.exec(r);return n&&(this.lastIndex+=n[0].length),n?n[0]:null}}class tR{constructor(t,r){this.cfg=t,this.dialectName=r,this.rulesBeforeParams=this.buildRulesBeforeParams(t),this.rulesAfterParams=this.buildRulesAfterParams(t)}tokenize(t,r){const n=[...this.rulesBeforeParams,...this.buildParamRules(this.cfg,r),...this.rulesAfterParams],T=new Zi(n,this.dialectName).tokenize(t);return this.cfg.postProcess?this.cfg.postProcess(T):T}buildRulesBeforeParams(t){var r,n,T;return this.validRules([{type:X.DISABLE_COMMENT,regex:/(\/\* *sql-formatter-disable *\*\/[\s\S]*?(?:\/\* *sql-formatter-enable *\*\/|$))/uy},{type:X.BLOCK_COMMENT,regex:t.nestedBlockComments?new eR:/(\/\*[^]*?\*\/)/uy},{type:X.LINE_COMMENT,regex:ki((r=t.lineCommentTypes)!==null&&r!==void 0?r:["--"])},{type:X.QUOTED_IDENTIFIER,regex:Br(t.identTypes)},{type:X.NUMBER,regex:t.underscoresInNumbers?/(?:0x[0-9a-fA-F_]+|0b[01_]+|(?:-\s*)?(?:[0-9_]*\.[0-9_]+|[0-9_]+(?:\.[0-9_]*)?)(?:[eE][-+]?[0-9_]+(?:\.[0-9_]+)?)?)(?![\w\p{Alphabetic}])/uy:/(?:0x[0-9a-fA-F]+|0b[01]+|(?:-\s*)?(?:[0-9]*\.[0-9]+|[0-9]+(?:\.[0-9]*)?)(?:[eE][-+]?[0-9]+(?:\.[0-9]+)?)?)(?![\w\p{Alphabetic}])/uy},{type:X.RESERVED_KEYWORD_PHRASE,regex:it((n=t.reservedKeywordPhrases)!==null&&n!==void 0?n:[],t.identChars),text:Ye},{type:X.RESERVED_DATA_TYPE_PHRASE,regex:it((T=t.reservedDataTypePhrases)!==null&&T!==void 0?T:[],t.identChars),text:Ye},{type:X.CASE,regex:/CASE\b/iuy,text:Ye},{type:X.END,regex:/END\b/iuy,text:Ye},{type:X.BETWEEN,regex:/BETWEEN\b/iuy,text:Ye},{type:X.LIMIT,regex:t.reservedClauses.includes("LIMIT")?/LIMIT\b/iuy:void 0,text:Ye},{type:X.RESERVED_CLAUSE,regex:it(t.reservedClauses,t.identChars),text:Ye},{type:X.RESERVED_SELECT,regex:it(t.reservedSelect,t.identChars),text:Ye},{type:X.RESERVED_SET_OPERATION,regex:it(t.reservedSetOperations,t.identChars),text:Ye},{type:X.WHEN,regex:/WHEN\b/iuy,text:Ye},{type:X.ELSE,regex:/ELSE\b/iuy,text:Ye},{type:X.THEN,regex:/THEN\b/iuy,text:Ye},{type:X.RESERVED_JOIN,regex:it(t.reservedJoins,t.identChars),text:Ye},{type:X.AND,regex:/AND\b/iuy,text:Ye},{type:X.OR,regex:/OR\b/iuy,text:Ye},{type:X.XOR,regex:t.supportsXor?/XOR\b/iuy:void 0,text:Ye},...t.operatorKeyword?[{type:X.OPERATOR,regex:/OPERATOR *\([^)]+\)/iuy}]:[],{type:X.RESERVED_FUNCTION_NAME,regex:it(t.reservedFunctionNames,t.identChars),text:Ye},{type:X.RESERVED_DATA_TYPE,regex:it(t.reservedDataTypes,t.identChars),text:Ye},{type:X.RESERVED_KEYWORD,regex:it(t.reservedKeywords,t.identChars),text:Ye}])}buildRulesAfterParams(t){var r,n;return this.validRules([{type:X.VARIABLE,regex:t.variableTypes?Ji(t.variableTypes):void 0},{type:X.STRING,regex:Br(t.stringTypes)},{type:X.IDENTIFIER,regex:Qi(t.identChars)},{type:X.DELIMITER,regex:/[;]/uy},{type:X.COMMA,regex:/[,]/y},{type:X.OPEN_PAREN,regex:fr("open",t.extraParens)},{type:X.CLOSE_PAREN,regex:fr("close",t.extraParens)},{type:X.OPERATOR,regex:hr(["+","-","/",">","<","=","<>","<=",">=","!=",...(r=t.operators)!==null&&r!==void 0?r:[]])},{type:X.ASTERISK,regex:/[*]/uy},{type:X.PROPERTY_ACCESS_OPERATOR,regex:hr([".",...(n=t.propertyAccessOperators)!==null&&n!==void 0?n:[]])}])}buildParamRules(t,r){var n,T,a,i,l;const N={named:r?.named||((n=t.paramTypes)===null||n===void 0?void 0:n.named)||[],quoted:r?.quoted||((T=t.paramTypes)===null||T===void 0?void 0:T.quoted)||[],numbered:r?.numbered||((a=t.paramTypes)===null||a===void 0?void 0:a.numbered)||[],positional:typeof r?.positional=="boolean"?r.positional:(i=t.paramTypes)===null||i===void 0?void 0:i.positional,custom:r?.custom||((l=t.paramTypes)===null||l===void 0?void 0:l.custom)||[]};return this.validRules([{type:X.NAMED_PARAMETER,regex:DE(N.named,gr(t.paramChars||t.identChars)),key:A=>A.slice(1)},{type:X.QUOTED_PARAMETER,regex:DE(N.quoted,mr(t.identTypes)),key:A=>(({tokenKey:O,quoteChar:C})=>O.replace(new RegExp(Et("\\"+C),"gu"),C))({tokenKey:A.slice(2,-1),quoteChar:A.slice(-1)})},{type:X.NUMBERED_PARAMETER,regex:DE(N.numbered,"[0-9]+"),key:A=>A.slice(1)},{type:X.POSITIONAL_PARAMETER,regex:N.positional?/[?]/y:void 0},...N.custom.map(A=>{var O;return{type:X.CUSTOM_PARAMETER,regex:Dt(A.regex),key:(O=A.key)!==null&&O!==void 0?O:C=>C}})])}validRules(t){return t.filter(r=>!!r.regex)}}const Ye=E=>wt(E.toUpperCase()),Fr=new Map,ER=E=>{let t=Fr.get(E);return t||(t=rR(E),Fr.set(E,t)),t},rR=E=>({tokenizer:new tR(E.tokenizerOptions,E.name),formatOptions:nR(E.formatOptions)}),nR=E=>{var t;return{alwaysDenseOperators:E.alwaysDenseOperators||[],onelineClauses:Object.fromEntries(E.onelineClauses.map(r=>[r,!0])),tabularOnelineClauses:Object.fromEntries(((t=E.tabularOnelineClauses)!==null&&t!==void 0?t:E.onelineClauses).map(r=>[r,!0]))}};function sR(E){return E.indentStyle==="tabularLeft"||E.indentStyle==="tabularRight"?" ".repeat(10):E.useTabs?" ":" ".repeat(E.tabWidth)}function ft(E){return E.indentStyle==="tabularLeft"||E.indentStyle==="tabularRight"}class TR{constructor(t){this.params=t,this.index=0}get({key:t,text:r}){return this.params?t?this.params[t]:this.params[this.index++]:r}getPositionalParameterIndex(){return this.index}setPositionalParameterIndex(t){this.index=t}}var Wt={exports:{}},oR=Wt.exports,Hr;function aR(){return Hr||(Hr=1,function(E){(function(t,r){E.exports?E.exports=r():t.nearley=r()})(oR,function(){function t(A,O,C){return this.id=++t.highestId,this.name=A,this.symbols=O,this.postprocess=C,this}t.highestId=0,t.prototype.toString=function(A){var O=typeof A>"u"?this.symbols.map(N).join(" "):this.symbols.slice(0,A).map(N).join(" ")+" ● "+this.symbols.slice(A).map(N).join(" ");return this.name+" → "+O};function r(A,O,C,d){this.rule=A,this.dot=O,this.reference=C,this.data=[],this.wantedBy=d,this.isComplete=this.dot===A.symbols.length}r.prototype.toString=function(){return"{"+this.rule.toString(this.dot)+"}, from: "+(this.reference||0)},r.prototype.nextState=function(A){var O=new r(this.rule,this.dot+1,this.reference,this.wantedBy);return O.left=this,O.right=A,O.isComplete&&(O.data=O.build(),O.right=void 0),O},r.prototype.build=function(){var A=[],O=this;do A.push(O.right.data),O=O.left;while(O.left);return A.reverse(),A},r.prototype.finish=function(){this.rule.postprocess&&(this.data=this.rule.postprocess(this.data,this.reference,i.fail))};function n(A,O){this.grammar=A,this.index=O,this.states=[],this.wants={},this.scannable=[],this.completed={}}n.prototype.process=function(A){for(var O=this.states,C=this.wants,d=this.completed,M=0;M<O.length;M++){var b=O[M];if(b.isComplete){if(b.finish(),b.data!==i.fail){for(var Z=b.wantedBy,U=Z.length;U--;){var j=Z[U];this.complete(j,b)}if(b.reference===this.index){var te=b.rule.name;(this.completed[te]=this.completed[te]||[]).push(b)}}}else{var te=b.rule.symbols[b.dot];if(typeof te!="string"){this.scannable.push(b);continue}if(C[te]){if(C[te].push(b),d.hasOwnProperty(te))for(var ee=d[te],U=0;U<ee.length;U++){var pe=ee[U];this.complete(b,pe)}}else C[te]=[b],this.predict(te)}}},n.prototype.predict=function(A){for(var O=this.grammar.byName[A]||[],C=0;C<O.length;C++){var d=O[C],M=this.wants[A],b=new r(d,0,this.index,M);this.states.push(b)}},n.prototype.complete=function(A,O){var C=A.nextState(O);this.states.push(C)};function T(A,O){this.rules=A,this.start=O||this.rules[0].name;var C=this.byName={};this.rules.forEach(function(d){C.hasOwnProperty(d.name)||(C[d.name]=[]),C[d.name].push(d)})}T.fromCompiled=function(d,O){var C=d.Lexer;d.ParserStart&&(O=d.ParserStart,d=d.ParserRules);var d=d.map(function(b){return new t(b.name,b.symbols,b.postprocess)}),M=new T(d,O);return M.lexer=C,M};function a(){this.reset("")}a.prototype.reset=function(A,O){this.buffer=A,this.index=0,this.line=O?O.line:1,this.lastLineBreak=O?-O.col:0},a.prototype.next=function(){if(this.index<this.buffer.length){var A=this.buffer[this.index++];return A===`
31
- `&&(this.line+=1,this.lastLineBreak=this.index),{value:A}}},a.prototype.save=function(){return{line:this.line,col:this.index-this.lastLineBreak}},a.prototype.formatError=function(A,O){var C=this.buffer;if(typeof C=="string"){var d=C.split(`
32
- `).slice(Math.max(0,this.line-5),this.line),M=C.indexOf(`
33
- `,this.index);M===-1&&(M=C.length);var b=this.index-this.lastLineBreak,Z=String(this.line).length;return O+=" at line "+this.line+" col "+b+`:
30
+ If possible, please select a more specific dialect (like sqlite, postgresql, etc).`:`SQL dialect used: "${this.dialectName}".`}getWhitespace(){Pr.lastIndex=this.index;const t=Pr.exec(this.input);if(t)return this.index+=t[0].length,t[0]}getNextToken(){for(const t of this.rules){const r=this.match(t);if(r)return r}}match(t){t.regex.lastIndex=this.index;const r=t.regex.exec(this.input);if(r){const n=r[0],s={type:t.type,raw:n,text:t.text?t.text(n):n,start:this.index};return t.key&&(s.key=t.key(n)),this.index+=n.length,s}}}const Gr=/\/\*/uy,zA=/[\s\S]/uy,eR=/\*\//uy;class tR{constructor(){this.lastIndex=0}exec(t){let r="",n,s=0;if(n=this.matchSection(Gr,t))r+=n,s++;else return null;for(;s>0;)if(n=this.matchSection(Gr,t))r+=n,s++;else if(n=this.matchSection(eR,t))r+=n,s--;else if(n=this.matchSection(zA,t))r+=n;else return null;return[r]}matchSection(t,r){t.lastIndex=this.lastIndex;const n=t.exec(r);return n&&(this.lastIndex+=n[0].length),n?n[0]:null}}class ER{constructor(t,r){this.cfg=t,this.dialectName=r,this.rulesBeforeParams=this.buildRulesBeforeParams(t),this.rulesAfterParams=this.buildRulesAfterParams(t)}tokenize(t,r){const n=[...this.rulesBeforeParams,...this.buildParamRules(this.cfg,r),...this.rulesAfterParams],s=new jA(n,this.dialectName).tokenize(t);return this.cfg.postProcess?this.cfg.postProcess(s):s}buildRulesBeforeParams(t){var r,n,s;return this.validRules([{type:K.DISABLE_COMMENT,regex:/(\/\* *sql-formatter-disable *\*\/[\s\S]*?(?:\/\* *sql-formatter-enable *\*\/|$))/uy},{type:K.BLOCK_COMMENT,regex:t.nestedBlockComments?new tR:/(\/\*[^]*?\*\/)/uy},{type:K.LINE_COMMENT,regex:$A((r=t.lineCommentTypes)!==null&&r!==void 0?r:["--"])},{type:K.QUOTED_IDENTIFIER,regex:Br(t.identTypes)},{type:K.NUMBER,regex:t.underscoresInNumbers?/(?:0x[0-9a-fA-F_]+|0b[01_]+|(?:-\s*)?(?:[0-9_]*\.[0-9_]+|[0-9_]+(?:\.[0-9_]*)?)(?:[eE][-+]?[0-9_]+(?:\.[0-9_]+)?)?)(?![\w\p{Alphabetic}])/uy:/(?:0x[0-9a-fA-F]+|0b[01]+|(?:-\s*)?(?:[0-9]*\.[0-9]+|[0-9]+(?:\.[0-9]*)?)(?:[eE][-+]?[0-9]+(?:\.[0-9]+)?)?)(?![\w\p{Alphabetic}])/uy},{type:K.RESERVED_KEYWORD_PHRASE,regex:At((n=t.reservedKeywordPhrases)!==null&&n!==void 0?n:[],t.identChars),text:xe},{type:K.RESERVED_DATA_TYPE_PHRASE,regex:At((s=t.reservedDataTypePhrases)!==null&&s!==void 0?s:[],t.identChars),text:xe},{type:K.CASE,regex:/CASE\b/iuy,text:xe},{type:K.END,regex:/END\b/iuy,text:xe},{type:K.BETWEEN,regex:/BETWEEN\b/iuy,text:xe},{type:K.LIMIT,regex:t.reservedClauses.includes("LIMIT")?/LIMIT\b/iuy:void 0,text:xe},{type:K.RESERVED_CLAUSE,regex:At(t.reservedClauses,t.identChars),text:xe},{type:K.RESERVED_SELECT,regex:At(t.reservedSelect,t.identChars),text:xe},{type:K.RESERVED_SET_OPERATION,regex:At(t.reservedSetOperations,t.identChars),text:xe},{type:K.WHEN,regex:/WHEN\b/iuy,text:xe},{type:K.ELSE,regex:/ELSE\b/iuy,text:xe},{type:K.THEN,regex:/THEN\b/iuy,text:xe},{type:K.RESERVED_JOIN,regex:At(t.reservedJoins,t.identChars),text:xe},{type:K.AND,regex:/AND\b/iuy,text:xe},{type:K.OR,regex:/OR\b/iuy,text:xe},{type:K.XOR,regex:t.supportsXor?/XOR\b/iuy:void 0,text:xe},...t.operatorKeyword?[{type:K.OPERATOR,regex:/OPERATOR *\([^)]+\)/iuy}]:[],{type:K.RESERVED_FUNCTION_NAME,regex:At(t.reservedFunctionNames,t.identChars),text:xe},{type:K.RESERVED_DATA_TYPE,regex:At(t.reservedDataTypes,t.identChars),text:xe},{type:K.RESERVED_KEYWORD,regex:At(t.reservedKeywords,t.identChars),text:xe}])}buildRulesAfterParams(t){var r,n;return this.validRules([{type:K.VARIABLE,regex:t.variableTypes?QA(t.variableTypes):void 0},{type:K.STRING,regex:Br(t.stringTypes)},{type:K.IDENTIFIER,regex:ZA(t.identChars)},{type:K.DELIMITER,regex:/[;]/uy},{type:K.COMMA,regex:/[,]/y},{type:K.OPEN_PAREN,regex:fr("open",t.extraParens)},{type:K.CLOSE_PAREN,regex:fr("close",t.extraParens)},{type:K.OPERATOR,regex:hr(["+","-","/",">","<","=","<>","<=",">=","!=",...(r=t.operators)!==null&&r!==void 0?r:[]])},{type:K.ASTERISK,regex:/[*]/uy},{type:K.PROPERTY_ACCESS_OPERATOR,regex:hr([".",...(n=t.propertyAccessOperators)!==null&&n!==void 0?n:[]])}])}buildParamRules(t,r){var n,s,a,A,c;const I={named:r?.named||((n=t.paramTypes)===null||n===void 0?void 0:n.named)||[],quoted:r?.quoted||((s=t.paramTypes)===null||s===void 0?void 0:s.quoted)||[],numbered:r?.numbered||((a=t.paramTypes)===null||a===void 0?void 0:a.numbered)||[],positional:typeof r?.positional=="boolean"?r.positional:(A=t.paramTypes)===null||A===void 0?void 0:A.positional,custom:r?.custom||((c=t.paramTypes)===null||c===void 0?void 0:c.custom)||[]};return this.validRules([{type:K.NAMED_PARAMETER,regex:DE(I.named,gr(t.paramChars||t.identChars)),key:i=>i.slice(1)},{type:K.QUOTED_PARAMETER,regex:DE(I.quoted,mr(t.identTypes)),key:i=>(({tokenKey:O,quoteChar:C})=>O.replace(new RegExp(Et("\\"+C),"gu"),C))({tokenKey:i.slice(2,-1),quoteChar:i.slice(-1)})},{type:K.NUMBERED_PARAMETER,regex:DE(I.numbered,"[0-9]+"),key:i=>i.slice(1)},{type:K.POSITIONAL_PARAMETER,regex:I.positional?/[?]/y:void 0},...I.custom.map(i=>{var O;return{type:K.CUSTOM_PARAMETER,regex:Dt(i.regex),key:(O=i.key)!==null&&O!==void 0?O:C=>C}})])}validRules(t){return t.filter(r=>!!r.regex)}}const xe=E=>wt(E.toUpperCase()),Fr=new Map,rR=E=>{let t=Fr.get(E);return t||(t=nR(E),Fr.set(E,t)),t},nR=E=>({tokenizer:new ER(E.tokenizerOptions,E.name),formatOptions:sR(E.formatOptions)}),sR=E=>{var t;return{alwaysDenseOperators:E.alwaysDenseOperators||[],onelineClauses:Object.fromEntries(E.onelineClauses.map(r=>[r,!0])),tabularOnelineClauses:Object.fromEntries(((t=E.tabularOnelineClauses)!==null&&t!==void 0?t:E.onelineClauses).map(r=>[r,!0]))}};function TR(E){return E.indentStyle==="tabularLeft"||E.indentStyle==="tabularRight"?" ".repeat(10):E.useTabs?" ":" ".repeat(E.tabWidth)}function ht(E){return E.indentStyle==="tabularLeft"||E.indentStyle==="tabularRight"}class oR{constructor(t){this.params=t,this.index=0}get({key:t,text:r}){return this.params?t?this.params[t]:this.params[this.index++]:r}getPositionalParameterIndex(){return this.index}setPositionalParameterIndex(t){this.index=t}}var Wt={exports:{}},aR=Wt.exports,Hr;function iR(){return Hr||(Hr=1,function(E){(function(t,r){E.exports?E.exports=r():t.nearley=r()})(aR,function(){function t(i,O,C){return this.id=++t.highestId,this.name=i,this.symbols=O,this.postprocess=C,this}t.highestId=0,t.prototype.toString=function(i){var O=typeof i>"u"?this.symbols.map(I).join(" "):this.symbols.slice(0,i).map(I).join(" ")+" ● "+this.symbols.slice(i).map(I).join(" ");return this.name+" → "+O};function r(i,O,C,p){this.rule=i,this.dot=O,this.reference=C,this.data=[],this.wantedBy=p,this.isComplete=this.dot===i.symbols.length}r.prototype.toString=function(){return"{"+this.rule.toString(this.dot)+"}, from: "+(this.reference||0)},r.prototype.nextState=function(i){var O=new r(this.rule,this.dot+1,this.reference,this.wantedBy);return O.left=this,O.right=i,O.isComplete&&(O.data=O.build(),O.right=void 0),O},r.prototype.build=function(){var i=[],O=this;do i.push(O.right.data),O=O.left;while(O.left);return i.reverse(),i},r.prototype.finish=function(){this.rule.postprocess&&(this.data=this.rule.postprocess(this.data,this.reference,A.fail))};function n(i,O){this.grammar=i,this.index=O,this.states=[],this.wants={},this.scannable=[],this.completed={}}n.prototype.process=function(i){for(var O=this.states,C=this.wants,p=this.completed,g=0;g<O.length;g++){var B=O[g];if(B.isComplete){if(B.finish(),B.data!==A.fail){for(var Y=B.wantedBy,d=Y.length;d--;){var k=Y[d];this.complete(k,B)}if(B.reference===this.index){var J=B.rule.name;(this.completed[J]=this.completed[J]||[]).push(B)}}}else{var J=B.rule.symbols[B.dot];if(typeof J!="string"){this.scannable.push(B);continue}if(C[J]){if(C[J].push(B),p.hasOwnProperty(J))for(var Z=p[J],d=0;d<Z.length;d++){var De=Z[d];this.complete(B,De)}}else C[J]=[B],this.predict(J)}}},n.prototype.predict=function(i){for(var O=this.grammar.byName[i]||[],C=0;C<O.length;C++){var p=O[C],g=this.wants[i],B=new r(p,0,this.index,g);this.states.push(B)}},n.prototype.complete=function(i,O){var C=i.nextState(O);this.states.push(C)};function s(i,O){this.rules=i,this.start=O||this.rules[0].name;var C=this.byName={};this.rules.forEach(function(p){C.hasOwnProperty(p.name)||(C[p.name]=[]),C[p.name].push(p)})}s.fromCompiled=function(p,O){var C=p.Lexer;p.ParserStart&&(O=p.ParserStart,p=p.ParserRules);var p=p.map(function(B){return new t(B.name,B.symbols,B.postprocess)}),g=new s(p,O);return g.lexer=C,g};function a(){this.reset("")}a.prototype.reset=function(i,O){this.buffer=i,this.index=0,this.line=O?O.line:1,this.lastLineBreak=O?-O.col:0},a.prototype.next=function(){if(this.index<this.buffer.length){var i=this.buffer[this.index++];return i===`
31
+ `&&(this.line+=1,this.lastLineBreak=this.index),{value:i}}},a.prototype.save=function(){return{line:this.line,col:this.index-this.lastLineBreak}},a.prototype.formatError=function(i,O){var C=this.buffer;if(typeof C=="string"){var p=C.split(`
32
+ `).slice(Math.max(0,this.line-5),this.line),g=C.indexOf(`
33
+ `,this.index);g===-1&&(g=C.length);var B=this.index-this.lastLineBreak,Y=String(this.line).length;return O+=" at line "+this.line+" col "+B+`:
34
34
 
35
- `,O+=d.map(function(j,te){return U(this.line-d.length+te+1,Z)+" "+j},this).join(`
35
+ `,O+=p.map(function(k,J){return d(this.line-p.length+J+1,Y)+" "+k},this).join(`
36
36
  `),O+=`
37
- `+U("",Z+b)+`^
38
- `,O}else return O+" at index "+(this.index-1);function U(j,te){var ee=String(j);return Array(te-ee.length+1).join(" ")+ee}};function i(A,O,C){if(A instanceof T)var d=A,C=O;else var d=T.fromCompiled(A,O);this.grammar=d,this.options={keepHistory:!1,lexer:d.lexer||new a};for(var M in C||{})this.options[M]=C[M];this.lexer=this.options.lexer,this.lexerState=void 0;var b=new n(d,0);this.table=[b],b.wants[d.start]=[],b.predict(d.start),b.process(),this.current=0}i.fail={},i.prototype.feed=function(A){var O=this.lexer;O.reset(A,this.lexerState);for(var C;;){try{if(C=O.next(),!C)break}catch(D){var Z=new n(this.grammar,this.current+1);this.table.push(Z);var d=new Error(this.reportLexerError(D));throw d.offset=this.current,d.token=D.token,d}var M=this.table[this.current];this.options.keepHistory||delete this.table[this.current-1];var b=this.current+1,Z=new n(this.grammar,b);this.table.push(Z);for(var U=C.text!==void 0?C.text:C.value,j=O.constructor===a?C.value:C,te=M.scannable,ee=te.length;ee--;){var pe=te[ee],Le=pe.rule.symbols[pe.dot];if(Le.test?Le.test(j):Le.type?Le.type===C.type:Le.literal===U){var W=pe.nextState({data:j,token:C,isToken:!0,reference:b-1});Z.states.push(W)}}if(Z.process(),Z.states.length===0){var d=new Error(this.reportError(C));throw d.offset=this.current,d.token=C,d}this.options.keepHistory&&(M.lexerState=O.save()),this.current++}return M&&(this.lexerState=O.save()),this.results=this.finish(),this},i.prototype.reportLexerError=function(A){var O,C,d=A.token;return d?(O="input "+JSON.stringify(d.text[0])+" (lexer error)",C=this.lexer.formatError(d,"Syntax error")):(O="input (lexer error)",C=A.message),this.reportErrorCommon(C,O)},i.prototype.reportError=function(A){var O=(A.type?A.type+" token: ":"")+JSON.stringify(A.value!==void 0?A.value:A),C=this.lexer.formatError(A,"Syntax error");return this.reportErrorCommon(C,O)},i.prototype.reportErrorCommon=function(A,O){var C=[];C.push(A);var d=this.table.length-2,M=this.table[d],b=M.states.filter(function(U){var j=U.rule.symbols[U.dot];return j&&typeof j!="string"});if(b.length===0)C.push("Unexpected "+O+`. I did not expect any more input. Here is the state of my parse table:
39
- `),this.displayStateStack(M.states,C);else{C.push("Unexpected "+O+`. Instead, I was expecting to see one of the following:
40
- `);var Z=b.map(function(U){return this.buildFirstStateStack(U,[])||[U]},this);Z.forEach(function(U){var j=U[0],te=j.rule.symbols[j.dot],ee=this.getSymbolDisplay(te);C.push("A "+ee+" based on:"),this.displayStateStack(U,C)},this)}return C.push(""),C.join(`
41
- `)},i.prototype.displayStateStack=function(A,O){for(var C,d=0,M=0;M<A.length;M++){var b=A[M],Z=b.rule.toString(b.dot);Z===C?d++:(d>0&&O.push(" ^ "+d+" more lines identical to this"),d=0,O.push(" "+Z)),C=Z}},i.prototype.getSymbolDisplay=function(A){return l(A)},i.prototype.buildFirstStateStack=function(A,O){if(O.indexOf(A)!==-1)return null;if(A.wantedBy.length===0)return[A];var C=A.wantedBy[0],d=[A].concat(O),M=this.buildFirstStateStack(C,d);return M===null?null:[A].concat(M)},i.prototype.save=function(){var A=this.table[this.current];return A.lexerState=this.lexerState,A},i.prototype.restore=function(A){var O=A.index;this.current=O,this.table[O]=A,this.table.splice(O+1),this.lexerState=A.lexerState,this.results=this.finish()},i.prototype.rewind=function(A){if(!this.options.keepHistory)throw new Error("set option `keepHistory` to enable rewinding");this.restore(this.table[A])},i.prototype.finish=function(){var A=[],O=this.grammar.start,C=this.table[this.table.length-1];return C.states.forEach(function(d){d.rule.name===O&&d.dot===d.rule.symbols.length&&d.reference===0&&d.data!==i.fail&&A.push(d)}),A.map(function(d){return d.data})};function l(A){var O=typeof A;if(O==="string")return A;if(O==="object"){if(A.literal)return JSON.stringify(A.literal);if(A instanceof RegExp)return"character matching "+A;if(A.type)return A.type+" token";if(A.test)return"token matching "+String(A.test);throw new Error("Unknown symbol type: "+A)}}function N(A){var O=typeof A;if(O==="string")return A;if(O==="object"){if(A.literal)return JSON.stringify(A.literal);if(A instanceof RegExp)return A.toString();if(A.type)return"%"+A.type;if(A.test)return"<"+String(A.test)+">";throw new Error("Unknown symbol type: "+A)}}return{Parser:i,Grammar:T,Rule:t}})}(Wt)),Wt.exports}var AR=aR();const iR=mE(AR);function RR(E){return E.map(SR).map(NR).map(IR).map(uR).map(lR)}const SR=(E,t,r)=>{if(Er(E.type)){const n=CR(r,t);if(n&&n.type===X.PROPERTY_ACCESS_OPERATOR)return Object.assign(Object.assign({},E),{type:X.IDENTIFIER,text:E.raw});const T=ht(r,t);if(T&&T.type===X.PROPERTY_ACCESS_OPERATOR)return Object.assign(Object.assign({},E),{type:X.IDENTIFIER,text:E.raw})}return E},NR=(E,t,r)=>{if(E.type===X.RESERVED_FUNCTION_NAME){const n=ht(r,t);if(!n||!br(n))return Object.assign(Object.assign({},E),{type:X.IDENTIFIER,text:E.raw})}return E},IR=(E,t,r)=>{if(E.type===X.RESERVED_DATA_TYPE){const n=ht(r,t);if(n&&br(n))return Object.assign(Object.assign({},E),{type:X.RESERVED_PARAMETERIZED_DATA_TYPE})}return E},uR=(E,t,r)=>{if(E.type===X.IDENTIFIER){const n=ht(r,t);if(n&&Yr(n))return Object.assign(Object.assign({},E),{type:X.ARRAY_IDENTIFIER})}return E},lR=(E,t,r)=>{if(E.type===X.RESERVED_DATA_TYPE){const n=ht(r,t);if(n&&Yr(n))return Object.assign(Object.assign({},E),{type:X.ARRAY_KEYWORD})}return E},CR=(E,t)=>ht(E,t,-1),ht=(E,t,r=1)=>{let n=1;for(;E[t+n*r]&&cR(E[t+n*r]);)n++;return E[t+n*r]},br=E=>E.type===X.OPEN_PAREN&&E.text==="(",Yr=E=>E.type===X.OPEN_PAREN&&E.text==="[",cR=E=>E.type===X.BLOCK_COMMENT||E.type===X.LINE_COMMENT;class xr{constructor(t){this.tokenize=t,this.index=0,this.tokens=[],this.input=""}reset(t,r){this.input=t,this.index=0,this.tokens=this.tokenize(t)}next(){return this.tokens[this.index++]}save(){}formatError(t){const{line:r,col:n}=yr(this.input,t.start);return`Parse error at token: ${t.text} at line ${r} column ${n}`}has(t){return t in X}}var Ce;(function(E){E.statement="statement",E.clause="clause",E.set_operation="set_operation",E.function_call="function_call",E.parameterized_data_type="parameterized_data_type",E.array_subscript="array_subscript",E.property_access="property_access",E.parenthesis="parenthesis",E.between_predicate="between_predicate",E.case_expression="case_expression",E.case_when="case_when",E.case_else="case_else",E.limit_clause="limit_clause",E.all_columns_asterisk="all_columns_asterisk",E.literal="literal",E.identifier="identifier",E.keyword="keyword",E.data_type="data_type",E.parameter="parameter",E.operator="operator",E.comma="comma",E.line_comment="line_comment",E.block_comment="block_comment",E.disable_comment="disable_comment"})(Ce=Ce||(Ce={}));function pE(E){return E[0]}const Pe=new xr(E=>[]),pt=([[E]])=>E,xe=E=>({type:Ce.keyword,tokenType:E.type,text:E.text,raw:E.raw}),Vr=E=>({type:Ce.data_type,text:E.text,raw:E.raw}),Ve=(E,{leading:t,trailing:r})=>(t?.length&&(E=Object.assign(Object.assign({},E),{leadingComments:t})),r?.length&&(E=Object.assign(Object.assign({},E),{trailingComments:r})),E),_R=(E,{leading:t,trailing:r})=>{if(t?.length){const[n,...T]=E;E=[Ve(n,{leading:t}),...T]}if(r?.length){const n=E.slice(0,-1),T=E[E.length-1];E=[...n,Ve(T,{trailing:r})]}return E},LR={Lexer:Pe,ParserRules:[{name:"main$ebnf$1",symbols:[]},{name:"main$ebnf$1",symbols:["main$ebnf$1","statement"],postprocess:E=>E[0].concat([E[1]])},{name:"main",symbols:["main$ebnf$1"],postprocess:([E])=>{const t=E[E.length-1];return t&&!t.hasSemicolon?t.children.length>0?E:E.slice(0,-1):E}},{name:"statement$subexpression$1",symbols:[Pe.has("DELIMITER")?{type:"DELIMITER"}:DELIMITER]},{name:"statement$subexpression$1",symbols:[Pe.has("EOF")?{type:"EOF"}:EOF]},{name:"statement",symbols:["expressions_or_clauses","statement$subexpression$1"],postprocess:([E,[t]])=>({type:Ce.statement,children:E,hasSemicolon:t.type===X.DELIMITER})},{name:"expressions_or_clauses$ebnf$1",symbols:[]},{name:"expressions_or_clauses$ebnf$1",symbols:["expressions_or_clauses$ebnf$1","free_form_sql"],postprocess:E=>E[0].concat([E[1]])},{name:"expressions_or_clauses$ebnf$2",symbols:[]},{name:"expressions_or_clauses$ebnf$2",symbols:["expressions_or_clauses$ebnf$2","clause"],postprocess:E=>E[0].concat([E[1]])},{name:"expressions_or_clauses",symbols:["expressions_or_clauses$ebnf$1","expressions_or_clauses$ebnf$2"],postprocess:([E,t])=>[...E,...t]},{name:"clause$subexpression$1",symbols:["limit_clause"]},{name:"clause$subexpression$1",symbols:["select_clause"]},{name:"clause$subexpression$1",symbols:["other_clause"]},{name:"clause$subexpression$1",symbols:["set_operation"]},{name:"clause",symbols:["clause$subexpression$1"],postprocess:pt},{name:"limit_clause$ebnf$1$subexpression$1$ebnf$1",symbols:["free_form_sql"]},{name:"limit_clause$ebnf$1$subexpression$1$ebnf$1",symbols:["limit_clause$ebnf$1$subexpression$1$ebnf$1","free_form_sql"],postprocess:E=>E[0].concat([E[1]])},{name:"limit_clause$ebnf$1$subexpression$1",symbols:[Pe.has("COMMA")?{type:"COMMA"}:COMMA,"limit_clause$ebnf$1$subexpression$1$ebnf$1"]},{name:"limit_clause$ebnf$1",symbols:["limit_clause$ebnf$1$subexpression$1"],postprocess:pE},{name:"limit_clause$ebnf$1",symbols:[],postprocess:()=>null},{name:"limit_clause",symbols:[Pe.has("LIMIT")?{type:"LIMIT"}:LIMIT,"_","expression_chain_","limit_clause$ebnf$1"],postprocess:([E,t,r,n])=>{if(n){const[T,a]=n;return{type:Ce.limit_clause,limitKw:Ve(xe(E),{trailing:t}),offset:r,count:a}}else return{type:Ce.limit_clause,limitKw:Ve(xe(E),{trailing:t}),count:r}}},{name:"select_clause$subexpression$1$ebnf$1",symbols:[]},{name:"select_clause$subexpression$1$ebnf$1",symbols:["select_clause$subexpression$1$ebnf$1","free_form_sql"],postprocess:E=>E[0].concat([E[1]])},{name:"select_clause$subexpression$1",symbols:["all_columns_asterisk","select_clause$subexpression$1$ebnf$1"]},{name:"select_clause$subexpression$1$ebnf$2",symbols:[]},{name:"select_clause$subexpression$1$ebnf$2",symbols:["select_clause$subexpression$1$ebnf$2","free_form_sql"],postprocess:E=>E[0].concat([E[1]])},{name:"select_clause$subexpression$1",symbols:["asteriskless_free_form_sql","select_clause$subexpression$1$ebnf$2"]},{name:"select_clause",symbols:[Pe.has("RESERVED_SELECT")?{type:"RESERVED_SELECT"}:RESERVED_SELECT,"select_clause$subexpression$1"],postprocess:([E,[t,r]])=>({type:Ce.clause,nameKw:xe(E),children:[t,...r]})},{name:"select_clause",symbols:[Pe.has("RESERVED_SELECT")?{type:"RESERVED_SELECT"}:RESERVED_SELECT],postprocess:([E])=>({type:Ce.clause,nameKw:xe(E),children:[]})},{name:"all_columns_asterisk",symbols:[Pe.has("ASTERISK")?{type:"ASTERISK"}:ASTERISK],postprocess:()=>({type:Ce.all_columns_asterisk})},{name:"other_clause$ebnf$1",symbols:[]},{name:"other_clause$ebnf$1",symbols:["other_clause$ebnf$1","free_form_sql"],postprocess:E=>E[0].concat([E[1]])},{name:"other_clause",symbols:[Pe.has("RESERVED_CLAUSE")?{type:"RESERVED_CLAUSE"}:RESERVED_CLAUSE,"other_clause$ebnf$1"],postprocess:([E,t])=>({type:Ce.clause,nameKw:xe(E),children:t})},{name:"set_operation$ebnf$1",symbols:[]},{name:"set_operation$ebnf$1",symbols:["set_operation$ebnf$1","free_form_sql"],postprocess:E=>E[0].concat([E[1]])},{name:"set_operation",symbols:[Pe.has("RESERVED_SET_OPERATION")?{type:"RESERVED_SET_OPERATION"}:RESERVED_SET_OPERATION,"set_operation$ebnf$1"],postprocess:([E,t])=>({type:Ce.set_operation,nameKw:xe(E),children:t})},{name:"expression_chain_$ebnf$1",symbols:["expression_with_comments_"]},{name:"expression_chain_$ebnf$1",symbols:["expression_chain_$ebnf$1","expression_with_comments_"],postprocess:E=>E[0].concat([E[1]])},{name:"expression_chain_",symbols:["expression_chain_$ebnf$1"],postprocess:pE},{name:"expression_chain$ebnf$1",symbols:[]},{name:"expression_chain$ebnf$1",symbols:["expression_chain$ebnf$1","_expression_with_comments"],postprocess:E=>E[0].concat([E[1]])},{name:"expression_chain",symbols:["expression","expression_chain$ebnf$1"],postprocess:([E,t])=>[E,...t]},{name:"andless_expression_chain$ebnf$1",symbols:[]},{name:"andless_expression_chain$ebnf$1",symbols:["andless_expression_chain$ebnf$1","_andless_expression_with_comments"],postprocess:E=>E[0].concat([E[1]])},{name:"andless_expression_chain",symbols:["andless_expression","andless_expression_chain$ebnf$1"],postprocess:([E,t])=>[E,...t]},{name:"expression_with_comments_",symbols:["expression","_"],postprocess:([E,t])=>Ve(E,{trailing:t})},{name:"_expression_with_comments",symbols:["_","expression"],postprocess:([E,t])=>Ve(t,{leading:E})},{name:"_andless_expression_with_comments",symbols:["_","andless_expression"],postprocess:([E,t])=>Ve(t,{leading:E})},{name:"free_form_sql$subexpression$1",symbols:["asteriskless_free_form_sql"]},{name:"free_form_sql$subexpression$1",symbols:["asterisk"]},{name:"free_form_sql",symbols:["free_form_sql$subexpression$1"],postprocess:pt},{name:"asteriskless_free_form_sql$subexpression$1",symbols:["asteriskless_andless_expression"]},{name:"asteriskless_free_form_sql$subexpression$1",symbols:["logic_operator"]},{name:"asteriskless_free_form_sql$subexpression$1",symbols:["comma"]},{name:"asteriskless_free_form_sql$subexpression$1",symbols:["comment"]},{name:"asteriskless_free_form_sql$subexpression$1",symbols:["other_keyword"]},{name:"asteriskless_free_form_sql",symbols:["asteriskless_free_form_sql$subexpression$1"],postprocess:pt},{name:"expression$subexpression$1",symbols:["andless_expression"]},{name:"expression$subexpression$1",symbols:["logic_operator"]},{name:"expression",symbols:["expression$subexpression$1"],postprocess:pt},{name:"andless_expression$subexpression$1",symbols:["asteriskless_andless_expression"]},{name:"andless_expression$subexpression$1",symbols:["asterisk"]},{name:"andless_expression",symbols:["andless_expression$subexpression$1"],postprocess:pt},{name:"asteriskless_andless_expression$subexpression$1",symbols:["atomic_expression"]},{name:"asteriskless_andless_expression$subexpression$1",symbols:["between_predicate"]},{name:"asteriskless_andless_expression$subexpression$1",symbols:["case_expression"]},{name:"asteriskless_andless_expression",symbols:["asteriskless_andless_expression$subexpression$1"],postprocess:pt},{name:"atomic_expression$subexpression$1",symbols:["array_subscript"]},{name:"atomic_expression$subexpression$1",symbols:["function_call"]},{name:"atomic_expression$subexpression$1",symbols:["property_access"]},{name:"atomic_expression$subexpression$1",symbols:["parenthesis"]},{name:"atomic_expression$subexpression$1",symbols:["curly_braces"]},{name:"atomic_expression$subexpression$1",symbols:["square_brackets"]},{name:"atomic_expression$subexpression$1",symbols:["operator"]},{name:"atomic_expression$subexpression$1",symbols:["identifier"]},{name:"atomic_expression$subexpression$1",symbols:["parameter"]},{name:"atomic_expression$subexpression$1",symbols:["literal"]},{name:"atomic_expression$subexpression$1",symbols:["data_type"]},{name:"atomic_expression$subexpression$1",symbols:["keyword"]},{name:"atomic_expression",symbols:["atomic_expression$subexpression$1"],postprocess:pt},{name:"array_subscript",symbols:[Pe.has("ARRAY_IDENTIFIER")?{type:"ARRAY_IDENTIFIER"}:ARRAY_IDENTIFIER,"_","square_brackets"],postprocess:([E,t,r])=>({type:Ce.array_subscript,array:Ve({type:Ce.identifier,quoted:!1,text:E.text},{trailing:t}),parenthesis:r})},{name:"array_subscript",symbols:[Pe.has("ARRAY_KEYWORD")?{type:"ARRAY_KEYWORD"}:ARRAY_KEYWORD,"_","square_brackets"],postprocess:([E,t,r])=>({type:Ce.array_subscript,array:Ve(xe(E),{trailing:t}),parenthesis:r})},{name:"function_call",symbols:[Pe.has("RESERVED_FUNCTION_NAME")?{type:"RESERVED_FUNCTION_NAME"}:RESERVED_FUNCTION_NAME,"_","parenthesis"],postprocess:([E,t,r])=>({type:Ce.function_call,nameKw:Ve(xe(E),{trailing:t}),parenthesis:r})},{name:"parenthesis",symbols:[{literal:"("},"expressions_or_clauses",{literal:")"}],postprocess:([E,t,r])=>({type:Ce.parenthesis,children:t,openParen:"(",closeParen:")"})},{name:"curly_braces$ebnf$1",symbols:[]},{name:"curly_braces$ebnf$1",symbols:["curly_braces$ebnf$1","free_form_sql"],postprocess:E=>E[0].concat([E[1]])},{name:"curly_braces",symbols:[{literal:"{"},"curly_braces$ebnf$1",{literal:"}"}],postprocess:([E,t,r])=>({type:Ce.parenthesis,children:t,openParen:"{",closeParen:"}"})},{name:"square_brackets$ebnf$1",symbols:[]},{name:"square_brackets$ebnf$1",symbols:["square_brackets$ebnf$1","free_form_sql"],postprocess:E=>E[0].concat([E[1]])},{name:"square_brackets",symbols:[{literal:"["},"square_brackets$ebnf$1",{literal:"]"}],postprocess:([E,t,r])=>({type:Ce.parenthesis,children:t,openParen:"[",closeParen:"]"})},{name:"property_access$subexpression$1",symbols:["identifier"]},{name:"property_access$subexpression$1",symbols:["array_subscript"]},{name:"property_access$subexpression$1",symbols:["all_columns_asterisk"]},{name:"property_access$subexpression$1",symbols:["parameter"]},{name:"property_access",symbols:["atomic_expression","_",Pe.has("PROPERTY_ACCESS_OPERATOR")?{type:"PROPERTY_ACCESS_OPERATOR"}:PROPERTY_ACCESS_OPERATOR,"_","property_access$subexpression$1"],postprocess:([E,t,r,n,[T]])=>({type:Ce.property_access,object:Ve(E,{trailing:t}),operator:r.text,property:Ve(T,{leading:n})})},{name:"between_predicate",symbols:[Pe.has("BETWEEN")?{type:"BETWEEN"}:BETWEEN,"_","andless_expression_chain","_",Pe.has("AND")?{type:"AND"}:AND,"_","andless_expression"],postprocess:([E,t,r,n,T,a,i])=>({type:Ce.between_predicate,betweenKw:xe(E),expr1:_R(r,{leading:t,trailing:n}),andKw:xe(T),expr2:[Ve(i,{leading:a})]})},{name:"case_expression$ebnf$1",symbols:["expression_chain_"],postprocess:pE},{name:"case_expression$ebnf$1",symbols:[],postprocess:()=>null},{name:"case_expression$ebnf$2",symbols:[]},{name:"case_expression$ebnf$2",symbols:["case_expression$ebnf$2","case_clause"],postprocess:E=>E[0].concat([E[1]])},{name:"case_expression",symbols:[Pe.has("CASE")?{type:"CASE"}:CASE,"_","case_expression$ebnf$1","case_expression$ebnf$2",Pe.has("END")?{type:"END"}:END],postprocess:([E,t,r,n,T])=>({type:Ce.case_expression,caseKw:Ve(xe(E),{trailing:t}),endKw:xe(T),expr:r||[],clauses:n})},{name:"case_clause",symbols:[Pe.has("WHEN")?{type:"WHEN"}:WHEN,"_","expression_chain_",Pe.has("THEN")?{type:"THEN"}:THEN,"_","expression_chain_"],postprocess:([E,t,r,n,T,a])=>({type:Ce.case_when,whenKw:Ve(xe(E),{trailing:t}),thenKw:Ve(xe(n),{trailing:T}),condition:r,result:a})},{name:"case_clause",symbols:[Pe.has("ELSE")?{type:"ELSE"}:ELSE,"_","expression_chain_"],postprocess:([E,t,r])=>({type:Ce.case_else,elseKw:Ve(xe(E),{trailing:t}),result:r})},{name:"comma$subexpression$1",symbols:[Pe.has("COMMA")?{type:"COMMA"}:COMMA]},{name:"comma",symbols:["comma$subexpression$1"],postprocess:([[E]])=>({type:Ce.comma})},{name:"asterisk$subexpression$1",symbols:[Pe.has("ASTERISK")?{type:"ASTERISK"}:ASTERISK]},{name:"asterisk",symbols:["asterisk$subexpression$1"],postprocess:([[E]])=>({type:Ce.operator,text:E.text})},{name:"operator$subexpression$1",symbols:[Pe.has("OPERATOR")?{type:"OPERATOR"}:OPERATOR]},{name:"operator",symbols:["operator$subexpression$1"],postprocess:([[E]])=>({type:Ce.operator,text:E.text})},{name:"identifier$subexpression$1",symbols:[Pe.has("IDENTIFIER")?{type:"IDENTIFIER"}:IDENTIFIER]},{name:"identifier$subexpression$1",symbols:[Pe.has("QUOTED_IDENTIFIER")?{type:"QUOTED_IDENTIFIER"}:QUOTED_IDENTIFIER]},{name:"identifier$subexpression$1",symbols:[Pe.has("VARIABLE")?{type:"VARIABLE"}:VARIABLE]},{name:"identifier",symbols:["identifier$subexpression$1"],postprocess:([[E]])=>({type:Ce.identifier,quoted:E.type!=="IDENTIFIER",text:E.text})},{name:"parameter$subexpression$1",symbols:[Pe.has("NAMED_PARAMETER")?{type:"NAMED_PARAMETER"}:NAMED_PARAMETER]},{name:"parameter$subexpression$1",symbols:[Pe.has("QUOTED_PARAMETER")?{type:"QUOTED_PARAMETER"}:QUOTED_PARAMETER]},{name:"parameter$subexpression$1",symbols:[Pe.has("NUMBERED_PARAMETER")?{type:"NUMBERED_PARAMETER"}:NUMBERED_PARAMETER]},{name:"parameter$subexpression$1",symbols:[Pe.has("POSITIONAL_PARAMETER")?{type:"POSITIONAL_PARAMETER"}:POSITIONAL_PARAMETER]},{name:"parameter$subexpression$1",symbols:[Pe.has("CUSTOM_PARAMETER")?{type:"CUSTOM_PARAMETER"}:CUSTOM_PARAMETER]},{name:"parameter",symbols:["parameter$subexpression$1"],postprocess:([[E]])=>({type:Ce.parameter,key:E.key,text:E.text})},{name:"literal$subexpression$1",symbols:[Pe.has("NUMBER")?{type:"NUMBER"}:NUMBER]},{name:"literal$subexpression$1",symbols:[Pe.has("STRING")?{type:"STRING"}:STRING]},{name:"literal",symbols:["literal$subexpression$1"],postprocess:([[E]])=>({type:Ce.literal,text:E.text})},{name:"keyword$subexpression$1",symbols:[Pe.has("RESERVED_KEYWORD")?{type:"RESERVED_KEYWORD"}:RESERVED_KEYWORD]},{name:"keyword$subexpression$1",symbols:[Pe.has("RESERVED_KEYWORD_PHRASE")?{type:"RESERVED_KEYWORD_PHRASE"}:RESERVED_KEYWORD_PHRASE]},{name:"keyword$subexpression$1",symbols:[Pe.has("RESERVED_JOIN")?{type:"RESERVED_JOIN"}:RESERVED_JOIN]},{name:"keyword",symbols:["keyword$subexpression$1"],postprocess:([[E]])=>xe(E)},{name:"data_type$subexpression$1",symbols:[Pe.has("RESERVED_DATA_TYPE")?{type:"RESERVED_DATA_TYPE"}:RESERVED_DATA_TYPE]},{name:"data_type$subexpression$1",symbols:[Pe.has("RESERVED_DATA_TYPE_PHRASE")?{type:"RESERVED_DATA_TYPE_PHRASE"}:RESERVED_DATA_TYPE_PHRASE]},{name:"data_type",symbols:["data_type$subexpression$1"],postprocess:([[E]])=>Vr(E)},{name:"data_type",symbols:[Pe.has("RESERVED_PARAMETERIZED_DATA_TYPE")?{type:"RESERVED_PARAMETERIZED_DATA_TYPE"}:RESERVED_PARAMETERIZED_DATA_TYPE,"_","parenthesis"],postprocess:([E,t,r])=>({type:Ce.parameterized_data_type,dataType:Ve(Vr(E),{trailing:t}),parenthesis:r})},{name:"logic_operator$subexpression$1",symbols:[Pe.has("AND")?{type:"AND"}:AND]},{name:"logic_operator$subexpression$1",symbols:[Pe.has("OR")?{type:"OR"}:OR]},{name:"logic_operator$subexpression$1",symbols:[Pe.has("XOR")?{type:"XOR"}:XOR]},{name:"logic_operator",symbols:["logic_operator$subexpression$1"],postprocess:([[E]])=>xe(E)},{name:"other_keyword$subexpression$1",symbols:[Pe.has("WHEN")?{type:"WHEN"}:WHEN]},{name:"other_keyword$subexpression$1",symbols:[Pe.has("THEN")?{type:"THEN"}:THEN]},{name:"other_keyword$subexpression$1",symbols:[Pe.has("ELSE")?{type:"ELSE"}:ELSE]},{name:"other_keyword$subexpression$1",symbols:[Pe.has("END")?{type:"END"}:END]},{name:"other_keyword",symbols:["other_keyword$subexpression$1"],postprocess:([[E]])=>xe(E)},{name:"_$ebnf$1",symbols:[]},{name:"_$ebnf$1",symbols:["_$ebnf$1","comment"],postprocess:E=>E[0].concat([E[1]])},{name:"_",symbols:["_$ebnf$1"],postprocess:([E])=>E},{name:"comment",symbols:[Pe.has("LINE_COMMENT")?{type:"LINE_COMMENT"}:LINE_COMMENT],postprocess:([E])=>({type:Ce.line_comment,text:E.text,precedingWhitespace:E.precedingWhitespace})},{name:"comment",symbols:[Pe.has("BLOCK_COMMENT")?{type:"BLOCK_COMMENT"}:BLOCK_COMMENT],postprocess:([E])=>({type:Ce.block_comment,text:E.text,precedingWhitespace:E.precedingWhitespace})},{name:"comment",symbols:[Pe.has("DISABLE_COMMENT")?{type:"DISABLE_COMMENT"}:DISABLE_COMMENT],postprocess:([E])=>({type:Ce.disable_comment,text:E.text,precedingWhitespace:E.precedingWhitespace})}],ParserStart:"main"},{Parser:DR,Grammar:pR}=iR;function dR(E){let t={};const r=new xr(T=>[...RR(E.tokenize(T,t)),tr(T.length)]),n=new DR(pR.fromCompiled(LR),{lexer:r});return{parse:(T,a)=>{t=a;const{results:i}=n.feed(T);if(i.length===1)return i[0];throw i.length===0?new Error("Parse error: Invalid SQL"):new Error(`Parse error: Ambiguous grammar
42
- ${JSON.stringify(i,void 0,2)}`)}}}var w;(function(E){E[E.SPACE=0]="SPACE",E[E.NO_SPACE=1]="NO_SPACE",E[E.NO_NEWLINE=2]="NO_NEWLINE",E[E.NEWLINE=3]="NEWLINE",E[E.MANDATORY_NEWLINE=4]="MANDATORY_NEWLINE",E[E.INDENT=5]="INDENT",E[E.SINGLE_INDENT=6]="SINGLE_INDENT"})(w=w||(w={}));class vr{constructor(t){this.indentation=t,this.items=[]}add(...t){for(const r of t)switch(r){case w.SPACE:this.items.push(w.SPACE);break;case w.NO_SPACE:this.trimHorizontalWhitespace();break;case w.NO_NEWLINE:this.trimWhitespace();break;case w.NEWLINE:this.trimHorizontalWhitespace(),this.addNewline(w.NEWLINE);break;case w.MANDATORY_NEWLINE:this.trimHorizontalWhitespace(),this.addNewline(w.MANDATORY_NEWLINE);break;case w.INDENT:this.addIndentation();break;case w.SINGLE_INDENT:this.items.push(w.SINGLE_INDENT);break;default:this.items.push(r)}}trimHorizontalWhitespace(){for(;PR(yt(this.items));)this.items.pop()}trimWhitespace(){for(;fR(yt(this.items));)this.items.pop()}addNewline(t){if(this.items.length>0)switch(yt(this.items)){case w.NEWLINE:this.items.pop(),this.items.push(t);break;case w.MANDATORY_NEWLINE:break;default:this.items.push(t);break}}addIndentation(){for(let t=0;t<this.indentation.getLevel();t++)this.items.push(w.SINGLE_INDENT)}toString(){return this.items.map(t=>this.itemToString(t)).join("")}getLayoutItems(){return this.items}itemToString(t){switch(t){case w.SPACE:return" ";case w.NEWLINE:case w.MANDATORY_NEWLINE:return`
43
- `;case w.SINGLE_INDENT:return this.indentation.getSingleIndent();default:return t}}}const PR=E=>E===w.SPACE||E===w.SINGLE_INDENT,fR=E=>E===w.SPACE||E===w.SINGLE_INDENT||E===w.NEWLINE;function wr(E,t){if(t==="standard")return E;let r=[];return E.length>=10&&E.includes(" ")&&([E,...r]=E.split(" ")),t==="tabularLeft"?E=E.padEnd(9," "):E=E.padStart(9," "),E+["",...r].join(" ")}function Wr(E){return QT(E)||E===X.RESERVED_CLAUSE||E===X.RESERVED_SELECT||E===X.RESERVED_SET_OPERATION||E===X.RESERVED_JOIN||E===X.LIMIT}const dE="top-level",hR="block-level";class Xr{constructor(t){this.indent=t,this.indentTypes=[]}getSingleIndent(){return this.indent}getLevel(){return this.indentTypes.length}increaseTopLevel(){this.indentTypes.push(dE)}increaseBlockLevel(){this.indentTypes.push(hR)}decreaseTopLevel(){this.indentTypes.length>0&&yt(this.indentTypes)===dE&&this.indentTypes.pop()}decreaseBlockLevel(){for(;this.indentTypes.length>0&&this.indentTypes.pop()===dE;);}}class MR extends vr{constructor(t){super(new Xr("")),this.expressionWidth=t,this.length=0,this.trailingSpace=!1}add(...t){if(t.forEach(r=>this.addToLength(r)),this.length>this.expressionWidth)throw new PE;super.add(...t)}addToLength(t){if(typeof t=="string")this.length+=t.length,this.trailingSpace=!1;else{if(t===w.MANDATORY_NEWLINE||t===w.NEWLINE)throw new PE;t===w.INDENT||t===w.SINGLE_INDENT||t===w.SPACE?this.trailingSpace||(this.length++,this.trailingSpace=!0):(t===w.NO_NEWLINE||t===w.NO_SPACE)&&this.trailingSpace&&(this.trailingSpace=!1,this.length--)}}}class PE extends Error{}class Xt{constructor({cfg:t,dialectCfg:r,params:n,layout:T,inline:a=!1}){this.inline=!1,this.nodes=[],this.index=-1,this.cfg=t,this.dialectCfg=r,this.inline=a,this.params=n,this.layout=T}format(t){for(this.nodes=t,this.index=0;this.index<this.nodes.length;this.index++)this.formatNode(this.nodes[this.index]);return this.layout}formatNode(t){this.formatComments(t.leadingComments),this.formatNodeWithoutComments(t),this.formatComments(t.trailingComments)}formatNodeWithoutComments(t){switch(t.type){case Ce.function_call:return this.formatFunctionCall(t);case Ce.parameterized_data_type:return this.formatParameterizedDataType(t);case Ce.array_subscript:return this.formatArraySubscript(t);case Ce.property_access:return this.formatPropertyAccess(t);case Ce.parenthesis:return this.formatParenthesis(t);case Ce.between_predicate:return this.formatBetweenPredicate(t);case Ce.case_expression:return this.formatCaseExpression(t);case Ce.case_when:return this.formatCaseWhen(t);case Ce.case_else:return this.formatCaseElse(t);case Ce.clause:return this.formatClause(t);case Ce.set_operation:return this.formatSetOperation(t);case Ce.limit_clause:return this.formatLimitClause(t);case Ce.all_columns_asterisk:return this.formatAllColumnsAsterisk(t);case Ce.literal:return this.formatLiteral(t);case Ce.identifier:return this.formatIdentifier(t);case Ce.parameter:return this.formatParameter(t);case Ce.operator:return this.formatOperator(t);case Ce.comma:return this.formatComma(t);case Ce.line_comment:return this.formatLineComment(t);case Ce.block_comment:return this.formatBlockComment(t);case Ce.disable_comment:return this.formatBlockComment(t);case Ce.data_type:return this.formatDataType(t);case Ce.keyword:return this.formatKeywordNode(t)}}formatFunctionCall(t){this.withComments(t.nameKw,()=>{this.layout.add(this.showFunctionKw(t.nameKw))}),this.formatNode(t.parenthesis)}formatParameterizedDataType(t){this.withComments(t.dataType,()=>{this.layout.add(this.showDataType(t.dataType))}),this.formatNode(t.parenthesis)}formatArraySubscript(t){let r;switch(t.array.type){case Ce.data_type:r=this.showDataType(t.array);break;case Ce.keyword:r=this.showKw(t.array);break;default:r=this.showIdentifier(t.array);break}this.withComments(t.array,()=>{this.layout.add(r)}),this.formatNode(t.parenthesis)}formatPropertyAccess(t){this.formatNode(t.object),this.layout.add(w.NO_SPACE,t.operator),this.formatNode(t.property)}formatParenthesis(t){const r=this.formatInlineExpression(t.children);r?(this.layout.add(t.openParen),this.layout.add(...r.getLayoutItems()),this.layout.add(w.NO_SPACE,t.closeParen,w.SPACE)):(this.layout.add(t.openParen,w.NEWLINE),ft(this.cfg)?(this.layout.add(w.INDENT),this.layout=this.formatSubExpression(t.children)):(this.layout.indentation.increaseBlockLevel(),this.layout.add(w.INDENT),this.layout=this.formatSubExpression(t.children),this.layout.indentation.decreaseBlockLevel()),this.layout.add(w.NEWLINE,w.INDENT,t.closeParen,w.SPACE))}formatBetweenPredicate(t){this.layout.add(this.showKw(t.betweenKw),w.SPACE),this.layout=this.formatSubExpression(t.expr1),this.layout.add(w.NO_SPACE,w.SPACE,this.showNonTabularKw(t.andKw),w.SPACE),this.layout=this.formatSubExpression(t.expr2),this.layout.add(w.SPACE)}formatCaseExpression(t){this.formatNode(t.caseKw),this.layout.indentation.increaseBlockLevel(),this.layout=this.formatSubExpression(t.expr),this.layout=this.formatSubExpression(t.clauses),this.layout.indentation.decreaseBlockLevel(),this.layout.add(w.NEWLINE,w.INDENT),this.formatNode(t.endKw)}formatCaseWhen(t){this.layout.add(w.NEWLINE,w.INDENT),this.formatNode(t.whenKw),this.layout=this.formatSubExpression(t.condition),this.formatNode(t.thenKw),this.layout=this.formatSubExpression(t.result)}formatCaseElse(t){this.layout.add(w.NEWLINE,w.INDENT),this.formatNode(t.elseKw),this.layout=this.formatSubExpression(t.result)}formatClause(t){this.isOnelineClause(t)?this.formatClauseInOnelineStyle(t):ft(this.cfg)?this.formatClauseInTabularStyle(t):this.formatClauseInIndentedStyle(t)}isOnelineClause(t){return ft(this.cfg)?this.dialectCfg.tabularOnelineClauses[t.nameKw.text]:this.dialectCfg.onelineClauses[t.nameKw.text]}formatClauseInIndentedStyle(t){this.layout.add(w.NEWLINE,w.INDENT,this.showKw(t.nameKw),w.NEWLINE),this.layout.indentation.increaseTopLevel(),this.layout.add(w.INDENT),this.layout=this.formatSubExpression(t.children),this.layout.indentation.decreaseTopLevel()}formatClauseInOnelineStyle(t){this.layout.add(w.NEWLINE,w.INDENT,this.showKw(t.nameKw),w.SPACE),this.layout=this.formatSubExpression(t.children)}formatClauseInTabularStyle(t){this.layout.add(w.NEWLINE,w.INDENT,this.showKw(t.nameKw),w.SPACE),this.layout.indentation.increaseTopLevel(),this.layout=this.formatSubExpression(t.children),this.layout.indentation.decreaseTopLevel()}formatSetOperation(t){this.layout.add(w.NEWLINE,w.INDENT,this.showKw(t.nameKw),w.NEWLINE),this.layout.add(w.INDENT),this.layout=this.formatSubExpression(t.children)}formatLimitClause(t){this.withComments(t.limitKw,()=>{this.layout.add(w.NEWLINE,w.INDENT,this.showKw(t.limitKw))}),this.layout.indentation.increaseTopLevel(),ft(this.cfg)?this.layout.add(w.SPACE):this.layout.add(w.NEWLINE,w.INDENT),t.offset?(this.layout=this.formatSubExpression(t.offset),this.layout.add(w.NO_SPACE,",",w.SPACE),this.layout=this.formatSubExpression(t.count)):this.layout=this.formatSubExpression(t.count),this.layout.indentation.decreaseTopLevel()}formatAllColumnsAsterisk(t){this.layout.add("*",w.SPACE)}formatLiteral(t){this.layout.add(t.text,w.SPACE)}formatIdentifier(t){this.layout.add(this.showIdentifier(t),w.SPACE)}formatParameter(t){this.layout.add(this.params.get(t),w.SPACE)}formatOperator({text:t}){this.cfg.denseOperators||this.dialectCfg.alwaysDenseOperators.includes(t)?this.layout.add(w.NO_SPACE,t):t===":"?this.layout.add(w.NO_SPACE,t,w.SPACE):this.layout.add(t,w.SPACE)}formatComma(t){this.inline?this.layout.add(w.NO_SPACE,",",w.SPACE):this.layout.add(w.NO_SPACE,",",w.NEWLINE,w.INDENT)}withComments(t,r){this.formatComments(t.leadingComments),r(),this.formatComments(t.trailingComments)}formatComments(t){t&&t.forEach(r=>{r.type===Ce.line_comment?this.formatLineComment(r):this.formatBlockComment(r)})}formatLineComment(t){LE(t.precedingWhitespace||"")?this.layout.add(w.NEWLINE,w.INDENT,t.text,w.MANDATORY_NEWLINE,w.INDENT):this.layout.getLayoutItems().length>0?this.layout.add(w.NO_NEWLINE,w.SPACE,t.text,w.MANDATORY_NEWLINE,w.INDENT):this.layout.add(t.text,w.MANDATORY_NEWLINE,w.INDENT)}formatBlockComment(t){t.type===Ce.block_comment&&this.isMultilineBlockComment(t)?(this.splitBlockComment(t.text).forEach(r=>{this.layout.add(w.NEWLINE,w.INDENT,r)}),this.layout.add(w.NEWLINE,w.INDENT)):this.layout.add(t.text,w.SPACE)}isMultilineBlockComment(t){return LE(t.text)||LE(t.precedingWhitespace||"")}isDocComment(t){const r=t.split(/\n/);return/^\/\*\*?$/.test(r[0])&&r.slice(1,r.length-1).every(n=>/^\s*\*/.test(n))&&/^\s*\*\/$/.test(yt(r))}splitBlockComment(t){return this.isDocComment(t)?t.split(/\n/).map(r=>/^\s*\*/.test(r)?" "+r.replace(/^\s*/,""):r):t.split(/\n/).map(r=>r.replace(/^\s*/,""))}formatSubExpression(t){return new Xt({cfg:this.cfg,dialectCfg:this.dialectCfg,params:this.params,layout:this.layout,inline:this.inline}).format(t)}formatInlineExpression(t){const r=this.params.getPositionalParameterIndex();try{return new Xt({cfg:this.cfg,dialectCfg:this.dialectCfg,params:this.params,layout:new MR(this.cfg.expressionWidth),inline:!0}).format(t)}catch(n){if(n instanceof PE){this.params.setPositionalParameterIndex(r);return}else throw n}}formatKeywordNode(t){switch(t.tokenType){case X.RESERVED_JOIN:return this.formatJoin(t);case X.AND:case X.OR:case X.XOR:return this.formatLogicalOperator(t);default:return this.formatKeyword(t)}}formatJoin(t){ft(this.cfg)?(this.layout.indentation.decreaseTopLevel(),this.layout.add(w.NEWLINE,w.INDENT,this.showKw(t),w.SPACE),this.layout.indentation.increaseTopLevel()):this.layout.add(w.NEWLINE,w.INDENT,this.showKw(t),w.SPACE)}formatKeyword(t){this.layout.add(this.showKw(t),w.SPACE)}formatLogicalOperator(t){this.cfg.logicalOperatorNewline==="before"?ft(this.cfg)?(this.layout.indentation.decreaseTopLevel(),this.layout.add(w.NEWLINE,w.INDENT,this.showKw(t),w.SPACE),this.layout.indentation.increaseTopLevel()):this.layout.add(w.NEWLINE,w.INDENT,this.showKw(t),w.SPACE):this.layout.add(this.showKw(t),w.NEWLINE,w.INDENT)}formatDataType(t){this.layout.add(this.showDataType(t),w.SPACE)}showKw(t){return Wr(t.tokenType)?wr(this.showNonTabularKw(t),this.cfg.indentStyle):this.showNonTabularKw(t)}showNonTabularKw(t){switch(this.cfg.keywordCase){case"preserve":return wt(t.raw);case"upper":return t.text;case"lower":return t.text.toLowerCase()}}showFunctionKw(t){return Wr(t.tokenType)?wr(this.showNonTabularFunctionKw(t),this.cfg.indentStyle):this.showNonTabularFunctionKw(t)}showNonTabularFunctionKw(t){switch(this.cfg.functionCase){case"preserve":return wt(t.raw);case"upper":return t.text;case"lower":return t.text.toLowerCase()}}showIdentifier(t){if(t.quoted)return t.text;switch(this.cfg.identifierCase){case"preserve":return t.text;case"upper":return t.text.toUpperCase();case"lower":return t.text.toLowerCase()}}showDataType(t){switch(this.cfg.dataTypeCase){case"preserve":return wt(t.raw);case"upper":return t.text;case"lower":return t.text.toLowerCase()}}}class UR{constructor(t,r){this.dialect=t,this.cfg=r,this.params=new TR(this.cfg.params)}format(t){const r=this.parse(t);return this.formatAst(r).trimEnd()}parse(t){return dR(this.dialect.tokenizer).parse(t,this.cfg.paramTypes||{})}formatAst(t){return t.map(r=>this.formatStatement(r)).join(`
44
- `.repeat(this.cfg.linesBetweenQueries+1))}formatStatement(t){const r=new Xt({cfg:this.cfg,dialectCfg:this.dialect.formatOptions,params:this.params,layout:new vr(new Xr(sR(this.cfg)))}).format(t.children);return t.hasSemicolon&&(this.cfg.newlineBeforeSemicolon?r.add(w.NEWLINE,";"):r.add(w.NO_NEWLINE,";")),r.toString()}}class Kt extends Error{}function mR(E){const t=["multilineLists","newlineBeforeOpenParen","newlineBeforeCloseParen","aliasAs","commaPosition","tabulateAlias"];for(const r of t)if(r in E)throw new Kt(`${r} config is no more supported.`);if(E.expressionWidth<=0)throw new Kt(`expressionWidth config must be positive number. Received ${E.expressionWidth} instead.`);if(E.params&&!BR(E.params)&&console.warn('WARNING: All "params" option values should be strings.'),E.paramTypes&&!gR(E.paramTypes))throw new Kt("Empty regex given in custom paramTypes. That would result in matching infinite amount of parameters.");return E}function BR(E){return(E instanceof Array?E:Object.values(E)).every(r=>typeof r=="string")}function gR(E){return E.custom&&Array.isArray(E.custom)?E.custom.every(t=>t.regex!==""):!0}var yR=function(E,t){var r={};for(var n in E)Object.prototype.hasOwnProperty.call(E,n)&&t.indexOf(n)<0&&(r[n]=E[n]);if(E!=null&&typeof Object.getOwnPropertySymbols=="function")for(var T=0,n=Object.getOwnPropertySymbols(E);T<n.length;T++)t.indexOf(n[T])<0&&Object.prototype.propertyIsEnumerable.call(E,n[T])&&(r[n[T]]=E[n[T]]);return r};const Kr={bigquery:"bigquery",clickhouse:"clickhouse",db2:"db2",db2i:"db2i",duckdb:"duckdb",hive:"hive",mariadb:"mariadb",mysql:"mysql",n1ql:"n1ql",plsql:"plsql",postgresql:"postgresql",redshift:"redshift",spark:"spark",sqlite:"sqlite",sql:"sql",tidb:"tidb",trino:"trino",transactsql:"transactsql",tsql:"transactsql",singlestoredb:"singlestoredb",snowflake:"snowflake"},GR=Object.keys(Kr),FR={tabWidth:2,useTabs:!1,keywordCase:"preserve",identifierCase:"preserve",dataTypeCase:"preserve",functionCase:"preserve",indentStyle:"standard",logicalOperatorNewline:"before",expressionWidth:50,linesBetweenQueries:1,denseOperators:!1,newlineBeforeSemicolon:!1},kr=(E,t={})=>{if(typeof t.language=="string"&&!GR.includes(t.language))throw new Kt(`Unsupported SQL dialect: ${t.language}`);const r=Kr[t.language||"sql"];return HR(E,Object.assign(Object.assign({},t),{dialect:wi[r]}))},HR=(E,t)=>{var{dialect:r}=t,n=yR(t,["dialect"]);if(typeof E!="string")throw new Error("Invalid query argument. Expected string, instead got "+typeof E);const T=mR(Object.assign(Object.assign({},FR),n));return new UR(ER(r),T).format(E)},$r=["SELECT","FROM","WHERE","JOIN","INNER","LEFT","RIGHT","FULL","OUTER","ON","GROUP","BY","HAVING","ORDER","LIMIT","OFFSET","INSERT","INTO","VALUES","UPDATE","SET","DELETE","CREATE","ALTER","DROP","TABLE","DATABASE","INDEX","VIEW","AND","OR","NOT","IN","BETWEEN","LIKE","IS","NULL","AS","DISTINCT","UNION","ALL","EXISTS","CASE","WHEN","THEN","ELSE","END"],bR=["WITH","SELECT","FROM","WHERE","GROUP BY","HAVING","ORDER BY","LIMIT","INSERT INTO","UPDATE","SET","DELETE FROM","CREATE","ALTER","DROP","INNER JOIN","LEFT JOIN","RIGHT JOIN","FULL JOIN","CROSS JOIN","OUTER JOIN","JOIN","UNION ALL","UNION","INTERSECT","EXCEPT"],YR=E=>{try{if(!E||!E.trim())return{valid:!1,error:"SQL string is empty"};const t=E.toUpperCase().trim();if(!$r.some(i=>new RegExp(`\\b${i}\\b`).test(t)))return{valid:!1,error:"No valid SQL keywords found"};let n=0,T=!1,a="";for(let i=0;i<E.length;i++){const l=E[i],N=i>0?E[i-1]:"";if((l==="'"||l==='"')&&N!=="\\"&&(T?l===a&&(T=!1,a=""):(T=!0,a=l)),!T&&(l==="("&&n++,l===")"&&n--,n<0))return{valid:!1,error:"Mismatched parentheses: unexpected closing parenthesis"}}if(n!==0)return{valid:!1,error:`Mismatched parentheses: ${n} unclosed opening parenthesis`};try{return kr(E,{language:"sql"}),{valid:!0}}catch(i){return{valid:!1,error:i instanceof Error?i.message:"SQL syntax error"}}}catch(t){return{valid:!1,error:t instanceof Error?t.message:"Unknown validation error"}}},xR=(E,t)=>{const r=E.match(/\bVALUES\s*/i);if(!r||r.index===void 0)return E;const n=E.slice(0,r.index+r[0].length),T=E.slice(r.index+r[0].length),a=[];let i=0,l="",N=!1,A="",O=0;for(;O<T.length;){const U=T[O],j=O>0?T[O-1]:"";if((U==="'"||U==='"')&&j!=="\\"&&(N?U===A&&(N=!1):(N=!0,A=U)),N)i>0&&(l+=U);else if(U==="(")i===0?l=U:l+=U,i++;else if(U===")")l+=U,i--,i===0&&l.trim()&&(a.push(l.trim()),l="");else{if(U===";"&&i===0)break;i>0&&(l+=U)}O++}if(a.length===0)return E;const C=" ".repeat(t),d=a.map(U=>{const j=U.slice(1,-1),te=[];let ee="",pe=0,Le=!1,W="";for(let Ae=0;Ae<j.length;Ae++){const H=j[Ae],g=Ae>0?j[Ae-1]:"";if((H==="'"||H==='"')&&g!=="\\"&&(Le?H===W&&(Le=!1):(Le=!0,W=H)),!Le&&(H==="("&&pe++,H===")"&&pe--,H===","&&pe===0)){te.push(ee.trim()),ee="";continue}ee+=H}ee.trim()&&te.push(ee.trim());const D=te.map((Ae,H)=>{const g=H<te.length-1?",":"";return`${C}${C}${Ae}${g}`}).join(`
37
+ `+d("",Y+B)+`^
38
+ `,O}else return O+" at index "+(this.index-1);function d(k,J){var Z=String(k);return Array(J-Z.length+1).join(" ")+Z}};function A(i,O,C){if(i instanceof s)var p=i,C=O;else var p=s.fromCompiled(i,O);this.grammar=p,this.options={keepHistory:!1,lexer:p.lexer||new a};for(var g in C||{})this.options[g]=C[g];this.lexer=this.options.lexer,this.lexerState=void 0;var B=new n(p,0);this.table=[B],B.wants[p.start]=[],B.predict(p.start),B.process(),this.current=0}A.fail={},A.prototype.feed=function(i){var O=this.lexer;O.reset(i,this.lexerState);for(var C;;){try{if(C=O.next(),!C)break}catch(u){var Y=new n(this.grammar,this.current+1);this.table.push(Y);var p=new Error(this.reportLexerError(u));throw p.offset=this.current,p.token=u.token,p}var g=this.table[this.current];this.options.keepHistory||delete this.table[this.current-1];var B=this.current+1,Y=new n(this.grammar,B);this.table.push(Y);for(var d=C.text!==void 0?C.text:C.value,k=O.constructor===a?C.value:C,J=g.scannable,Z=J.length;Z--;){var De=J[Z],ce=De.rule.symbols[De.dot];if(ce.test?ce.test(k):ce.type?ce.type===C.type:ce.literal===d){var W=De.nextState({data:k,token:C,isToken:!0,reference:B-1});Y.states.push(W)}}if(Y.process(),Y.states.length===0){var p=new Error(this.reportError(C));throw p.offset=this.current,p.token=C,p}this.options.keepHistory&&(g.lexerState=O.save()),this.current++}return g&&(this.lexerState=O.save()),this.results=this.finish(),this},A.prototype.reportLexerError=function(i){var O,C,p=i.token;return p?(O="input "+JSON.stringify(p.text[0])+" (lexer error)",C=this.lexer.formatError(p,"Syntax error")):(O="input (lexer error)",C=i.message),this.reportErrorCommon(C,O)},A.prototype.reportError=function(i){var O=(i.type?i.type+" token: ":"")+JSON.stringify(i.value!==void 0?i.value:i),C=this.lexer.formatError(i,"Syntax error");return this.reportErrorCommon(C,O)},A.prototype.reportErrorCommon=function(i,O){var C=[];C.push(i);var p=this.table.length-2,g=this.table[p],B=g.states.filter(function(d){var k=d.rule.symbols[d.dot];return k&&typeof k!="string"});if(B.length===0)C.push("Unexpected "+O+`. I did not expect any more input. Here is the state of my parse table:
39
+ `),this.displayStateStack(g.states,C);else{C.push("Unexpected "+O+`. Instead, I was expecting to see one of the following:
40
+ `);var Y=B.map(function(d){return this.buildFirstStateStack(d,[])||[d]},this);Y.forEach(function(d){var k=d[0],J=k.rule.symbols[k.dot],Z=this.getSymbolDisplay(J);C.push("A "+Z+" based on:"),this.displayStateStack(d,C)},this)}return C.push(""),C.join(`
41
+ `)},A.prototype.displayStateStack=function(i,O){for(var C,p=0,g=0;g<i.length;g++){var B=i[g],Y=B.rule.toString(B.dot);Y===C?p++:(p>0&&O.push(" ^ "+p+" more lines identical to this"),p=0,O.push(" "+Y)),C=Y}},A.prototype.getSymbolDisplay=function(i){return c(i)},A.prototype.buildFirstStateStack=function(i,O){if(O.indexOf(i)!==-1)return null;if(i.wantedBy.length===0)return[i];var C=i.wantedBy[0],p=[i].concat(O),g=this.buildFirstStateStack(C,p);return g===null?null:[i].concat(g)},A.prototype.save=function(){var i=this.table[this.current];return i.lexerState=this.lexerState,i},A.prototype.restore=function(i){var O=i.index;this.current=O,this.table[O]=i,this.table.splice(O+1),this.lexerState=i.lexerState,this.results=this.finish()},A.prototype.rewind=function(i){if(!this.options.keepHistory)throw new Error("set option `keepHistory` to enable rewinding");this.restore(this.table[i])},A.prototype.finish=function(){var i=[],O=this.grammar.start,C=this.table[this.table.length-1];return C.states.forEach(function(p){p.rule.name===O&&p.dot===p.rule.symbols.length&&p.reference===0&&p.data!==A.fail&&i.push(p)}),i.map(function(p){return p.data})};function c(i){var O=typeof i;if(O==="string")return i;if(O==="object"){if(i.literal)return JSON.stringify(i.literal);if(i instanceof RegExp)return"character matching "+i;if(i.type)return i.type+" token";if(i.test)return"token matching "+String(i.test);throw new Error("Unknown symbol type: "+i)}}function I(i){var O=typeof i;if(O==="string")return i;if(O==="object"){if(i.literal)return JSON.stringify(i.literal);if(i instanceof RegExp)return i.toString();if(i.type)return"%"+i.type;if(i.test)return"<"+String(i.test)+">";throw new Error("Unknown symbol type: "+i)}}return{Parser:A,Grammar:s,Rule:t}})}(Wt)),Wt.exports}var AR=iR();const RR=mE(AR);function SR(E){return E.map(NR).map(IR).map(lR).map(uR).map(CR)}const NR=(E,t,r)=>{if(Er(E.type)){const n=cR(r,t);if(n&&n.type===K.PROPERTY_ACCESS_OPERATOR)return Object.assign(Object.assign({},E),{type:K.IDENTIFIER,text:E.raw});const s=Mt(r,t);if(s&&s.type===K.PROPERTY_ACCESS_OPERATOR)return Object.assign(Object.assign({},E),{type:K.IDENTIFIER,text:E.raw})}return E},IR=(E,t,r)=>{if(E.type===K.RESERVED_FUNCTION_NAME){const n=Mt(r,t);if(!n||!br(n))return Object.assign(Object.assign({},E),{type:K.IDENTIFIER,text:E.raw})}return E},lR=(E,t,r)=>{if(E.type===K.RESERVED_DATA_TYPE){const n=Mt(r,t);if(n&&br(n))return Object.assign(Object.assign({},E),{type:K.RESERVED_PARAMETERIZED_DATA_TYPE})}return E},uR=(E,t,r)=>{if(E.type===K.IDENTIFIER){const n=Mt(r,t);if(n&&xr(n))return Object.assign(Object.assign({},E),{type:K.ARRAY_IDENTIFIER})}return E},CR=(E,t,r)=>{if(E.type===K.RESERVED_DATA_TYPE){const n=Mt(r,t);if(n&&xr(n))return Object.assign(Object.assign({},E),{type:K.ARRAY_KEYWORD})}return E},cR=(E,t)=>Mt(E,t,-1),Mt=(E,t,r=1)=>{let n=1;for(;E[t+n*r]&&_R(E[t+n*r]);)n++;return E[t+n*r]},br=E=>E.type===K.OPEN_PAREN&&E.text==="(",xr=E=>E.type===K.OPEN_PAREN&&E.text==="[",_R=E=>E.type===K.BLOCK_COMMENT||E.type===K.LINE_COMMENT;class Yr{constructor(t){this.tokenize=t,this.index=0,this.tokens=[],this.input=""}reset(t,r){this.input=t,this.index=0,this.tokens=this.tokenize(t)}next(){return this.tokens[this.index++]}save(){}formatError(t){const{line:r,col:n}=yr(this.input,t.start);return`Parse error at token: ${t.text} at line ${r} column ${n}`}has(t){return t in K}}var ue;(function(E){E.statement="statement",E.clause="clause",E.set_operation="set_operation",E.function_call="function_call",E.parameterized_data_type="parameterized_data_type",E.array_subscript="array_subscript",E.property_access="property_access",E.parenthesis="parenthesis",E.between_predicate="between_predicate",E.case_expression="case_expression",E.case_when="case_when",E.case_else="case_else",E.limit_clause="limit_clause",E.all_columns_asterisk="all_columns_asterisk",E.literal="literal",E.identifier="identifier",E.keyword="keyword",E.data_type="data_type",E.parameter="parameter",E.operator="operator",E.comma="comma",E.line_comment="line_comment",E.block_comment="block_comment",E.disable_comment="disable_comment"})(ue=ue||(ue={}));function pE(E){return E[0]}const Pe=new Yr(E=>[]),pt=([[E]])=>E,Ye=E=>({type:ue.keyword,tokenType:E.type,text:E.text,raw:E.raw}),Vr=E=>({type:ue.data_type,text:E.text,raw:E.raw}),Ve=(E,{leading:t,trailing:r})=>(t?.length&&(E=Object.assign(Object.assign({},E),{leadingComments:t})),r?.length&&(E=Object.assign(Object.assign({},E),{trailingComments:r})),E),LR=(E,{leading:t,trailing:r})=>{if(t?.length){const[n,...s]=E;E=[Ve(n,{leading:t}),...s]}if(r?.length){const n=E.slice(0,-1),s=E[E.length-1];E=[...n,Ve(s,{trailing:r})]}return E},DR={Lexer:Pe,ParserRules:[{name:"main$ebnf$1",symbols:[]},{name:"main$ebnf$1",symbols:["main$ebnf$1","statement"],postprocess:E=>E[0].concat([E[1]])},{name:"main",symbols:["main$ebnf$1"],postprocess:([E])=>{const t=E[E.length-1];return t&&!t.hasSemicolon?t.children.length>0?E:E.slice(0,-1):E}},{name:"statement$subexpression$1",symbols:[Pe.has("DELIMITER")?{type:"DELIMITER"}:DELIMITER]},{name:"statement$subexpression$1",symbols:[Pe.has("EOF")?{type:"EOF"}:EOF]},{name:"statement",symbols:["expressions_or_clauses","statement$subexpression$1"],postprocess:([E,[t]])=>({type:ue.statement,children:E,hasSemicolon:t.type===K.DELIMITER})},{name:"expressions_or_clauses$ebnf$1",symbols:[]},{name:"expressions_or_clauses$ebnf$1",symbols:["expressions_or_clauses$ebnf$1","free_form_sql"],postprocess:E=>E[0].concat([E[1]])},{name:"expressions_or_clauses$ebnf$2",symbols:[]},{name:"expressions_or_clauses$ebnf$2",symbols:["expressions_or_clauses$ebnf$2","clause"],postprocess:E=>E[0].concat([E[1]])},{name:"expressions_or_clauses",symbols:["expressions_or_clauses$ebnf$1","expressions_or_clauses$ebnf$2"],postprocess:([E,t])=>[...E,...t]},{name:"clause$subexpression$1",symbols:["limit_clause"]},{name:"clause$subexpression$1",symbols:["select_clause"]},{name:"clause$subexpression$1",symbols:["other_clause"]},{name:"clause$subexpression$1",symbols:["set_operation"]},{name:"clause",symbols:["clause$subexpression$1"],postprocess:pt},{name:"limit_clause$ebnf$1$subexpression$1$ebnf$1",symbols:["free_form_sql"]},{name:"limit_clause$ebnf$1$subexpression$1$ebnf$1",symbols:["limit_clause$ebnf$1$subexpression$1$ebnf$1","free_form_sql"],postprocess:E=>E[0].concat([E[1]])},{name:"limit_clause$ebnf$1$subexpression$1",symbols:[Pe.has("COMMA")?{type:"COMMA"}:COMMA,"limit_clause$ebnf$1$subexpression$1$ebnf$1"]},{name:"limit_clause$ebnf$1",symbols:["limit_clause$ebnf$1$subexpression$1"],postprocess:pE},{name:"limit_clause$ebnf$1",symbols:[],postprocess:()=>null},{name:"limit_clause",symbols:[Pe.has("LIMIT")?{type:"LIMIT"}:LIMIT,"_","expression_chain_","limit_clause$ebnf$1"],postprocess:([E,t,r,n])=>{if(n){const[s,a]=n;return{type:ue.limit_clause,limitKw:Ve(Ye(E),{trailing:t}),offset:r,count:a}}else return{type:ue.limit_clause,limitKw:Ve(Ye(E),{trailing:t}),count:r}}},{name:"select_clause$subexpression$1$ebnf$1",symbols:[]},{name:"select_clause$subexpression$1$ebnf$1",symbols:["select_clause$subexpression$1$ebnf$1","free_form_sql"],postprocess:E=>E[0].concat([E[1]])},{name:"select_clause$subexpression$1",symbols:["all_columns_asterisk","select_clause$subexpression$1$ebnf$1"]},{name:"select_clause$subexpression$1$ebnf$2",symbols:[]},{name:"select_clause$subexpression$1$ebnf$2",symbols:["select_clause$subexpression$1$ebnf$2","free_form_sql"],postprocess:E=>E[0].concat([E[1]])},{name:"select_clause$subexpression$1",symbols:["asteriskless_free_form_sql","select_clause$subexpression$1$ebnf$2"]},{name:"select_clause",symbols:[Pe.has("RESERVED_SELECT")?{type:"RESERVED_SELECT"}:RESERVED_SELECT,"select_clause$subexpression$1"],postprocess:([E,[t,r]])=>({type:ue.clause,nameKw:Ye(E),children:[t,...r]})},{name:"select_clause",symbols:[Pe.has("RESERVED_SELECT")?{type:"RESERVED_SELECT"}:RESERVED_SELECT],postprocess:([E])=>({type:ue.clause,nameKw:Ye(E),children:[]})},{name:"all_columns_asterisk",symbols:[Pe.has("ASTERISK")?{type:"ASTERISK"}:ASTERISK],postprocess:()=>({type:ue.all_columns_asterisk})},{name:"other_clause$ebnf$1",symbols:[]},{name:"other_clause$ebnf$1",symbols:["other_clause$ebnf$1","free_form_sql"],postprocess:E=>E[0].concat([E[1]])},{name:"other_clause",symbols:[Pe.has("RESERVED_CLAUSE")?{type:"RESERVED_CLAUSE"}:RESERVED_CLAUSE,"other_clause$ebnf$1"],postprocess:([E,t])=>({type:ue.clause,nameKw:Ye(E),children:t})},{name:"set_operation$ebnf$1",symbols:[]},{name:"set_operation$ebnf$1",symbols:["set_operation$ebnf$1","free_form_sql"],postprocess:E=>E[0].concat([E[1]])},{name:"set_operation",symbols:[Pe.has("RESERVED_SET_OPERATION")?{type:"RESERVED_SET_OPERATION"}:RESERVED_SET_OPERATION,"set_operation$ebnf$1"],postprocess:([E,t])=>({type:ue.set_operation,nameKw:Ye(E),children:t})},{name:"expression_chain_$ebnf$1",symbols:["expression_with_comments_"]},{name:"expression_chain_$ebnf$1",symbols:["expression_chain_$ebnf$1","expression_with_comments_"],postprocess:E=>E[0].concat([E[1]])},{name:"expression_chain_",symbols:["expression_chain_$ebnf$1"],postprocess:pE},{name:"expression_chain$ebnf$1",symbols:[]},{name:"expression_chain$ebnf$1",symbols:["expression_chain$ebnf$1","_expression_with_comments"],postprocess:E=>E[0].concat([E[1]])},{name:"expression_chain",symbols:["expression","expression_chain$ebnf$1"],postprocess:([E,t])=>[E,...t]},{name:"andless_expression_chain$ebnf$1",symbols:[]},{name:"andless_expression_chain$ebnf$1",symbols:["andless_expression_chain$ebnf$1","_andless_expression_with_comments"],postprocess:E=>E[0].concat([E[1]])},{name:"andless_expression_chain",symbols:["andless_expression","andless_expression_chain$ebnf$1"],postprocess:([E,t])=>[E,...t]},{name:"expression_with_comments_",symbols:["expression","_"],postprocess:([E,t])=>Ve(E,{trailing:t})},{name:"_expression_with_comments",symbols:["_","expression"],postprocess:([E,t])=>Ve(t,{leading:E})},{name:"_andless_expression_with_comments",symbols:["_","andless_expression"],postprocess:([E,t])=>Ve(t,{leading:E})},{name:"free_form_sql$subexpression$1",symbols:["asteriskless_free_form_sql"]},{name:"free_form_sql$subexpression$1",symbols:["asterisk"]},{name:"free_form_sql",symbols:["free_form_sql$subexpression$1"],postprocess:pt},{name:"asteriskless_free_form_sql$subexpression$1",symbols:["asteriskless_andless_expression"]},{name:"asteriskless_free_form_sql$subexpression$1",symbols:["logic_operator"]},{name:"asteriskless_free_form_sql$subexpression$1",symbols:["comma"]},{name:"asteriskless_free_form_sql$subexpression$1",symbols:["comment"]},{name:"asteriskless_free_form_sql$subexpression$1",symbols:["other_keyword"]},{name:"asteriskless_free_form_sql",symbols:["asteriskless_free_form_sql$subexpression$1"],postprocess:pt},{name:"expression$subexpression$1",symbols:["andless_expression"]},{name:"expression$subexpression$1",symbols:["logic_operator"]},{name:"expression",symbols:["expression$subexpression$1"],postprocess:pt},{name:"andless_expression$subexpression$1",symbols:["asteriskless_andless_expression"]},{name:"andless_expression$subexpression$1",symbols:["asterisk"]},{name:"andless_expression",symbols:["andless_expression$subexpression$1"],postprocess:pt},{name:"asteriskless_andless_expression$subexpression$1",symbols:["atomic_expression"]},{name:"asteriskless_andless_expression$subexpression$1",symbols:["between_predicate"]},{name:"asteriskless_andless_expression$subexpression$1",symbols:["case_expression"]},{name:"asteriskless_andless_expression",symbols:["asteriskless_andless_expression$subexpression$1"],postprocess:pt},{name:"atomic_expression$subexpression$1",symbols:["array_subscript"]},{name:"atomic_expression$subexpression$1",symbols:["function_call"]},{name:"atomic_expression$subexpression$1",symbols:["property_access"]},{name:"atomic_expression$subexpression$1",symbols:["parenthesis"]},{name:"atomic_expression$subexpression$1",symbols:["curly_braces"]},{name:"atomic_expression$subexpression$1",symbols:["square_brackets"]},{name:"atomic_expression$subexpression$1",symbols:["operator"]},{name:"atomic_expression$subexpression$1",symbols:["identifier"]},{name:"atomic_expression$subexpression$1",symbols:["parameter"]},{name:"atomic_expression$subexpression$1",symbols:["literal"]},{name:"atomic_expression$subexpression$1",symbols:["data_type"]},{name:"atomic_expression$subexpression$1",symbols:["keyword"]},{name:"atomic_expression",symbols:["atomic_expression$subexpression$1"],postprocess:pt},{name:"array_subscript",symbols:[Pe.has("ARRAY_IDENTIFIER")?{type:"ARRAY_IDENTIFIER"}:ARRAY_IDENTIFIER,"_","square_brackets"],postprocess:([E,t,r])=>({type:ue.array_subscript,array:Ve({type:ue.identifier,quoted:!1,text:E.text},{trailing:t}),parenthesis:r})},{name:"array_subscript",symbols:[Pe.has("ARRAY_KEYWORD")?{type:"ARRAY_KEYWORD"}:ARRAY_KEYWORD,"_","square_brackets"],postprocess:([E,t,r])=>({type:ue.array_subscript,array:Ve(Ye(E),{trailing:t}),parenthesis:r})},{name:"function_call",symbols:[Pe.has("RESERVED_FUNCTION_NAME")?{type:"RESERVED_FUNCTION_NAME"}:RESERVED_FUNCTION_NAME,"_","parenthesis"],postprocess:([E,t,r])=>({type:ue.function_call,nameKw:Ve(Ye(E),{trailing:t}),parenthesis:r})},{name:"parenthesis",symbols:[{literal:"("},"expressions_or_clauses",{literal:")"}],postprocess:([E,t,r])=>({type:ue.parenthesis,children:t,openParen:"(",closeParen:")"})},{name:"curly_braces$ebnf$1",symbols:[]},{name:"curly_braces$ebnf$1",symbols:["curly_braces$ebnf$1","free_form_sql"],postprocess:E=>E[0].concat([E[1]])},{name:"curly_braces",symbols:[{literal:"{"},"curly_braces$ebnf$1",{literal:"}"}],postprocess:([E,t,r])=>({type:ue.parenthesis,children:t,openParen:"{",closeParen:"}"})},{name:"square_brackets$ebnf$1",symbols:[]},{name:"square_brackets$ebnf$1",symbols:["square_brackets$ebnf$1","free_form_sql"],postprocess:E=>E[0].concat([E[1]])},{name:"square_brackets",symbols:[{literal:"["},"square_brackets$ebnf$1",{literal:"]"}],postprocess:([E,t,r])=>({type:ue.parenthesis,children:t,openParen:"[",closeParen:"]"})},{name:"property_access$subexpression$1",symbols:["identifier"]},{name:"property_access$subexpression$1",symbols:["array_subscript"]},{name:"property_access$subexpression$1",symbols:["all_columns_asterisk"]},{name:"property_access$subexpression$1",symbols:["parameter"]},{name:"property_access",symbols:["atomic_expression","_",Pe.has("PROPERTY_ACCESS_OPERATOR")?{type:"PROPERTY_ACCESS_OPERATOR"}:PROPERTY_ACCESS_OPERATOR,"_","property_access$subexpression$1"],postprocess:([E,t,r,n,[s]])=>({type:ue.property_access,object:Ve(E,{trailing:t}),operator:r.text,property:Ve(s,{leading:n})})},{name:"between_predicate",symbols:[Pe.has("BETWEEN")?{type:"BETWEEN"}:BETWEEN,"_","andless_expression_chain","_",Pe.has("AND")?{type:"AND"}:AND,"_","andless_expression"],postprocess:([E,t,r,n,s,a,A])=>({type:ue.between_predicate,betweenKw:Ye(E),expr1:LR(r,{leading:t,trailing:n}),andKw:Ye(s),expr2:[Ve(A,{leading:a})]})},{name:"case_expression$ebnf$1",symbols:["expression_chain_"],postprocess:pE},{name:"case_expression$ebnf$1",symbols:[],postprocess:()=>null},{name:"case_expression$ebnf$2",symbols:[]},{name:"case_expression$ebnf$2",symbols:["case_expression$ebnf$2","case_clause"],postprocess:E=>E[0].concat([E[1]])},{name:"case_expression",symbols:[Pe.has("CASE")?{type:"CASE"}:CASE,"_","case_expression$ebnf$1","case_expression$ebnf$2",Pe.has("END")?{type:"END"}:END],postprocess:([E,t,r,n,s])=>({type:ue.case_expression,caseKw:Ve(Ye(E),{trailing:t}),endKw:Ye(s),expr:r||[],clauses:n})},{name:"case_clause",symbols:[Pe.has("WHEN")?{type:"WHEN"}:WHEN,"_","expression_chain_",Pe.has("THEN")?{type:"THEN"}:THEN,"_","expression_chain_"],postprocess:([E,t,r,n,s,a])=>({type:ue.case_when,whenKw:Ve(Ye(E),{trailing:t}),thenKw:Ve(Ye(n),{trailing:s}),condition:r,result:a})},{name:"case_clause",symbols:[Pe.has("ELSE")?{type:"ELSE"}:ELSE,"_","expression_chain_"],postprocess:([E,t,r])=>({type:ue.case_else,elseKw:Ve(Ye(E),{trailing:t}),result:r})},{name:"comma$subexpression$1",symbols:[Pe.has("COMMA")?{type:"COMMA"}:COMMA]},{name:"comma",symbols:["comma$subexpression$1"],postprocess:([[E]])=>({type:ue.comma})},{name:"asterisk$subexpression$1",symbols:[Pe.has("ASTERISK")?{type:"ASTERISK"}:ASTERISK]},{name:"asterisk",symbols:["asterisk$subexpression$1"],postprocess:([[E]])=>({type:ue.operator,text:E.text})},{name:"operator$subexpression$1",symbols:[Pe.has("OPERATOR")?{type:"OPERATOR"}:OPERATOR]},{name:"operator",symbols:["operator$subexpression$1"],postprocess:([[E]])=>({type:ue.operator,text:E.text})},{name:"identifier$subexpression$1",symbols:[Pe.has("IDENTIFIER")?{type:"IDENTIFIER"}:IDENTIFIER]},{name:"identifier$subexpression$1",symbols:[Pe.has("QUOTED_IDENTIFIER")?{type:"QUOTED_IDENTIFIER"}:QUOTED_IDENTIFIER]},{name:"identifier$subexpression$1",symbols:[Pe.has("VARIABLE")?{type:"VARIABLE"}:VARIABLE]},{name:"identifier",symbols:["identifier$subexpression$1"],postprocess:([[E]])=>({type:ue.identifier,quoted:E.type!=="IDENTIFIER",text:E.text})},{name:"parameter$subexpression$1",symbols:[Pe.has("NAMED_PARAMETER")?{type:"NAMED_PARAMETER"}:NAMED_PARAMETER]},{name:"parameter$subexpression$1",symbols:[Pe.has("QUOTED_PARAMETER")?{type:"QUOTED_PARAMETER"}:QUOTED_PARAMETER]},{name:"parameter$subexpression$1",symbols:[Pe.has("NUMBERED_PARAMETER")?{type:"NUMBERED_PARAMETER"}:NUMBERED_PARAMETER]},{name:"parameter$subexpression$1",symbols:[Pe.has("POSITIONAL_PARAMETER")?{type:"POSITIONAL_PARAMETER"}:POSITIONAL_PARAMETER]},{name:"parameter$subexpression$1",symbols:[Pe.has("CUSTOM_PARAMETER")?{type:"CUSTOM_PARAMETER"}:CUSTOM_PARAMETER]},{name:"parameter",symbols:["parameter$subexpression$1"],postprocess:([[E]])=>({type:ue.parameter,key:E.key,text:E.text})},{name:"literal$subexpression$1",symbols:[Pe.has("NUMBER")?{type:"NUMBER"}:NUMBER]},{name:"literal$subexpression$1",symbols:[Pe.has("STRING")?{type:"STRING"}:STRING]},{name:"literal",symbols:["literal$subexpression$1"],postprocess:([[E]])=>({type:ue.literal,text:E.text})},{name:"keyword$subexpression$1",symbols:[Pe.has("RESERVED_KEYWORD")?{type:"RESERVED_KEYWORD"}:RESERVED_KEYWORD]},{name:"keyword$subexpression$1",symbols:[Pe.has("RESERVED_KEYWORD_PHRASE")?{type:"RESERVED_KEYWORD_PHRASE"}:RESERVED_KEYWORD_PHRASE]},{name:"keyword$subexpression$1",symbols:[Pe.has("RESERVED_JOIN")?{type:"RESERVED_JOIN"}:RESERVED_JOIN]},{name:"keyword",symbols:["keyword$subexpression$1"],postprocess:([[E]])=>Ye(E)},{name:"data_type$subexpression$1",symbols:[Pe.has("RESERVED_DATA_TYPE")?{type:"RESERVED_DATA_TYPE"}:RESERVED_DATA_TYPE]},{name:"data_type$subexpression$1",symbols:[Pe.has("RESERVED_DATA_TYPE_PHRASE")?{type:"RESERVED_DATA_TYPE_PHRASE"}:RESERVED_DATA_TYPE_PHRASE]},{name:"data_type",symbols:["data_type$subexpression$1"],postprocess:([[E]])=>Vr(E)},{name:"data_type",symbols:[Pe.has("RESERVED_PARAMETERIZED_DATA_TYPE")?{type:"RESERVED_PARAMETERIZED_DATA_TYPE"}:RESERVED_PARAMETERIZED_DATA_TYPE,"_","parenthesis"],postprocess:([E,t,r])=>({type:ue.parameterized_data_type,dataType:Ve(Vr(E),{trailing:t}),parenthesis:r})},{name:"logic_operator$subexpression$1",symbols:[Pe.has("AND")?{type:"AND"}:AND]},{name:"logic_operator$subexpression$1",symbols:[Pe.has("OR")?{type:"OR"}:OR]},{name:"logic_operator$subexpression$1",symbols:[Pe.has("XOR")?{type:"XOR"}:XOR]},{name:"logic_operator",symbols:["logic_operator$subexpression$1"],postprocess:([[E]])=>Ye(E)},{name:"other_keyword$subexpression$1",symbols:[Pe.has("WHEN")?{type:"WHEN"}:WHEN]},{name:"other_keyword$subexpression$1",symbols:[Pe.has("THEN")?{type:"THEN"}:THEN]},{name:"other_keyword$subexpression$1",symbols:[Pe.has("ELSE")?{type:"ELSE"}:ELSE]},{name:"other_keyword$subexpression$1",symbols:[Pe.has("END")?{type:"END"}:END]},{name:"other_keyword",symbols:["other_keyword$subexpression$1"],postprocess:([[E]])=>Ye(E)},{name:"_$ebnf$1",symbols:[]},{name:"_$ebnf$1",symbols:["_$ebnf$1","comment"],postprocess:E=>E[0].concat([E[1]])},{name:"_",symbols:["_$ebnf$1"],postprocess:([E])=>E},{name:"comment",symbols:[Pe.has("LINE_COMMENT")?{type:"LINE_COMMENT"}:LINE_COMMENT],postprocess:([E])=>({type:ue.line_comment,text:E.text,precedingWhitespace:E.precedingWhitespace})},{name:"comment",symbols:[Pe.has("BLOCK_COMMENT")?{type:"BLOCK_COMMENT"}:BLOCK_COMMENT],postprocess:([E])=>({type:ue.block_comment,text:E.text,precedingWhitespace:E.precedingWhitespace})},{name:"comment",symbols:[Pe.has("DISABLE_COMMENT")?{type:"DISABLE_COMMENT"}:DISABLE_COMMENT],postprocess:([E])=>({type:ue.disable_comment,text:E.text,precedingWhitespace:E.precedingWhitespace})}],ParserStart:"main"},{Parser:pR,Grammar:dR}=RR;function PR(E){let t={};const r=new Yr(s=>[...SR(E.tokenize(s,t)),tr(s.length)]),n=new pR(dR.fromCompiled(DR),{lexer:r});return{parse:(s,a)=>{t=a;const{results:A}=n.feed(s);if(A.length===1)return A[0];throw A.length===0?new Error("Parse error: Invalid SQL"):new Error(`Parse error: Ambiguous grammar
42
+ ${JSON.stringify(A,void 0,2)}`)}}}var X;(function(E){E[E.SPACE=0]="SPACE",E[E.NO_SPACE=1]="NO_SPACE",E[E.NO_NEWLINE=2]="NO_NEWLINE",E[E.NEWLINE=3]="NEWLINE",E[E.MANDATORY_NEWLINE=4]="MANDATORY_NEWLINE",E[E.INDENT=5]="INDENT",E[E.SINGLE_INDENT=6]="SINGLE_INDENT"})(X=X||(X={}));class vr{constructor(t){this.indentation=t,this.items=[]}add(...t){for(const r of t)switch(r){case X.SPACE:this.items.push(X.SPACE);break;case X.NO_SPACE:this.trimHorizontalWhitespace();break;case X.NO_NEWLINE:this.trimWhitespace();break;case X.NEWLINE:this.trimHorizontalWhitespace(),this.addNewline(X.NEWLINE);break;case X.MANDATORY_NEWLINE:this.trimHorizontalWhitespace(),this.addNewline(X.MANDATORY_NEWLINE);break;case X.INDENT:this.addIndentation();break;case X.SINGLE_INDENT:this.items.push(X.SINGLE_INDENT);break;default:this.items.push(r)}}trimHorizontalWhitespace(){for(;fR(yt(this.items));)this.items.pop()}trimWhitespace(){for(;hR(yt(this.items));)this.items.pop()}addNewline(t){if(this.items.length>0)switch(yt(this.items)){case X.NEWLINE:this.items.pop(),this.items.push(t);break;case X.MANDATORY_NEWLINE:break;default:this.items.push(t);break}}addIndentation(){for(let t=0;t<this.indentation.getLevel();t++)this.items.push(X.SINGLE_INDENT)}toString(){return this.items.map(t=>this.itemToString(t)).join("")}getLayoutItems(){return this.items}itemToString(t){switch(t){case X.SPACE:return" ";case X.NEWLINE:case X.MANDATORY_NEWLINE:return`
43
+ `;case X.SINGLE_INDENT:return this.indentation.getSingleIndent();default:return t}}}const fR=E=>E===X.SPACE||E===X.SINGLE_INDENT,hR=E=>E===X.SPACE||E===X.SINGLE_INDENT||E===X.NEWLINE;function wr(E,t){if(t==="standard")return E;let r=[];return E.length>=10&&E.includes(" ")&&([E,...r]=E.split(" ")),t==="tabularLeft"?E=E.padEnd(9," "):E=E.padStart(9," "),E+["",...r].join(" ")}function Wr(E){return ZT(E)||E===K.RESERVED_CLAUSE||E===K.RESERVED_SELECT||E===K.RESERVED_SET_OPERATION||E===K.RESERVED_JOIN||E===K.LIMIT}const dE="top-level",MR="block-level";class Xr{constructor(t){this.indent=t,this.indentTypes=[]}getSingleIndent(){return this.indent}getLevel(){return this.indentTypes.length}increaseTopLevel(){this.indentTypes.push(dE)}increaseBlockLevel(){this.indentTypes.push(MR)}decreaseTopLevel(){this.indentTypes.length>0&&yt(this.indentTypes)===dE&&this.indentTypes.pop()}decreaseBlockLevel(){for(;this.indentTypes.length>0&&this.indentTypes.pop()===dE;);}}class UR extends vr{constructor(t){super(new Xr("")),this.expressionWidth=t,this.length=0,this.trailingSpace=!1}add(...t){if(t.forEach(r=>this.addToLength(r)),this.length>this.expressionWidth)throw new PE;super.add(...t)}addToLength(t){if(typeof t=="string")this.length+=t.length,this.trailingSpace=!1;else{if(t===X.MANDATORY_NEWLINE||t===X.NEWLINE)throw new PE;t===X.INDENT||t===X.SINGLE_INDENT||t===X.SPACE?this.trailingSpace||(this.length++,this.trailingSpace=!0):(t===X.NO_NEWLINE||t===X.NO_SPACE)&&this.trailingSpace&&(this.trailingSpace=!1,this.length--)}}}class PE extends Error{}class Xt{constructor({cfg:t,dialectCfg:r,params:n,layout:s,inline:a=!1}){this.inline=!1,this.nodes=[],this.index=-1,this.cfg=t,this.dialectCfg=r,this.inline=a,this.params=n,this.layout=s}format(t){for(this.nodes=t,this.index=0;this.index<this.nodes.length;this.index++)this.formatNode(this.nodes[this.index]);return this.layout}formatNode(t){this.formatComments(t.leadingComments),this.formatNodeWithoutComments(t),this.formatComments(t.trailingComments)}formatNodeWithoutComments(t){switch(t.type){case ue.function_call:return this.formatFunctionCall(t);case ue.parameterized_data_type:return this.formatParameterizedDataType(t);case ue.array_subscript:return this.formatArraySubscript(t);case ue.property_access:return this.formatPropertyAccess(t);case ue.parenthesis:return this.formatParenthesis(t);case ue.between_predicate:return this.formatBetweenPredicate(t);case ue.case_expression:return this.formatCaseExpression(t);case ue.case_when:return this.formatCaseWhen(t);case ue.case_else:return this.formatCaseElse(t);case ue.clause:return this.formatClause(t);case ue.set_operation:return this.formatSetOperation(t);case ue.limit_clause:return this.formatLimitClause(t);case ue.all_columns_asterisk:return this.formatAllColumnsAsterisk(t);case ue.literal:return this.formatLiteral(t);case ue.identifier:return this.formatIdentifier(t);case ue.parameter:return this.formatParameter(t);case ue.operator:return this.formatOperator(t);case ue.comma:return this.formatComma(t);case ue.line_comment:return this.formatLineComment(t);case ue.block_comment:return this.formatBlockComment(t);case ue.disable_comment:return this.formatBlockComment(t);case ue.data_type:return this.formatDataType(t);case ue.keyword:return this.formatKeywordNode(t)}}formatFunctionCall(t){this.withComments(t.nameKw,()=>{this.layout.add(this.showFunctionKw(t.nameKw))}),this.formatNode(t.parenthesis)}formatParameterizedDataType(t){this.withComments(t.dataType,()=>{this.layout.add(this.showDataType(t.dataType))}),this.formatNode(t.parenthesis)}formatArraySubscript(t){let r;switch(t.array.type){case ue.data_type:r=this.showDataType(t.array);break;case ue.keyword:r=this.showKw(t.array);break;default:r=this.showIdentifier(t.array);break}this.withComments(t.array,()=>{this.layout.add(r)}),this.formatNode(t.parenthesis)}formatPropertyAccess(t){this.formatNode(t.object),this.layout.add(X.NO_SPACE,t.operator),this.formatNode(t.property)}formatParenthesis(t){const r=this.formatInlineExpression(t.children);r?(this.layout.add(t.openParen),this.layout.add(...r.getLayoutItems()),this.layout.add(X.NO_SPACE,t.closeParen,X.SPACE)):(this.layout.add(t.openParen,X.NEWLINE),ht(this.cfg)?(this.layout.add(X.INDENT),this.layout=this.formatSubExpression(t.children)):(this.layout.indentation.increaseBlockLevel(),this.layout.add(X.INDENT),this.layout=this.formatSubExpression(t.children),this.layout.indentation.decreaseBlockLevel()),this.layout.add(X.NEWLINE,X.INDENT,t.closeParen,X.SPACE))}formatBetweenPredicate(t){this.layout.add(this.showKw(t.betweenKw),X.SPACE),this.layout=this.formatSubExpression(t.expr1),this.layout.add(X.NO_SPACE,X.SPACE,this.showNonTabularKw(t.andKw),X.SPACE),this.layout=this.formatSubExpression(t.expr2),this.layout.add(X.SPACE)}formatCaseExpression(t){this.formatNode(t.caseKw),this.layout.indentation.increaseBlockLevel(),this.layout=this.formatSubExpression(t.expr),this.layout=this.formatSubExpression(t.clauses),this.layout.indentation.decreaseBlockLevel(),this.layout.add(X.NEWLINE,X.INDENT),this.formatNode(t.endKw)}formatCaseWhen(t){this.layout.add(X.NEWLINE,X.INDENT),this.formatNode(t.whenKw),this.layout=this.formatSubExpression(t.condition),this.formatNode(t.thenKw),this.layout=this.formatSubExpression(t.result)}formatCaseElse(t){this.layout.add(X.NEWLINE,X.INDENT),this.formatNode(t.elseKw),this.layout=this.formatSubExpression(t.result)}formatClause(t){this.isOnelineClause(t)?this.formatClauseInOnelineStyle(t):ht(this.cfg)?this.formatClauseInTabularStyle(t):this.formatClauseInIndentedStyle(t)}isOnelineClause(t){return ht(this.cfg)?this.dialectCfg.tabularOnelineClauses[t.nameKw.text]:this.dialectCfg.onelineClauses[t.nameKw.text]}formatClauseInIndentedStyle(t){this.layout.add(X.NEWLINE,X.INDENT,this.showKw(t.nameKw),X.NEWLINE),this.layout.indentation.increaseTopLevel(),this.layout.add(X.INDENT),this.layout=this.formatSubExpression(t.children),this.layout.indentation.decreaseTopLevel()}formatClauseInOnelineStyle(t){this.layout.add(X.NEWLINE,X.INDENT,this.showKw(t.nameKw),X.SPACE),this.layout=this.formatSubExpression(t.children)}formatClauseInTabularStyle(t){this.layout.add(X.NEWLINE,X.INDENT,this.showKw(t.nameKw),X.SPACE),this.layout.indentation.increaseTopLevel(),this.layout=this.formatSubExpression(t.children),this.layout.indentation.decreaseTopLevel()}formatSetOperation(t){this.layout.add(X.NEWLINE,X.INDENT,this.showKw(t.nameKw),X.NEWLINE),this.layout.add(X.INDENT),this.layout=this.formatSubExpression(t.children)}formatLimitClause(t){this.withComments(t.limitKw,()=>{this.layout.add(X.NEWLINE,X.INDENT,this.showKw(t.limitKw))}),this.layout.indentation.increaseTopLevel(),ht(this.cfg)?this.layout.add(X.SPACE):this.layout.add(X.NEWLINE,X.INDENT),t.offset?(this.layout=this.formatSubExpression(t.offset),this.layout.add(X.NO_SPACE,",",X.SPACE),this.layout=this.formatSubExpression(t.count)):this.layout=this.formatSubExpression(t.count),this.layout.indentation.decreaseTopLevel()}formatAllColumnsAsterisk(t){this.layout.add("*",X.SPACE)}formatLiteral(t){this.layout.add(t.text,X.SPACE)}formatIdentifier(t){this.layout.add(this.showIdentifier(t),X.SPACE)}formatParameter(t){this.layout.add(this.params.get(t),X.SPACE)}formatOperator({text:t}){this.cfg.denseOperators||this.dialectCfg.alwaysDenseOperators.includes(t)?this.layout.add(X.NO_SPACE,t):t===":"?this.layout.add(X.NO_SPACE,t,X.SPACE):this.layout.add(t,X.SPACE)}formatComma(t){this.inline?this.layout.add(X.NO_SPACE,",",X.SPACE):this.layout.add(X.NO_SPACE,",",X.NEWLINE,X.INDENT)}withComments(t,r){this.formatComments(t.leadingComments),r(),this.formatComments(t.trailingComments)}formatComments(t){t&&t.forEach(r=>{r.type===ue.line_comment?this.formatLineComment(r):this.formatBlockComment(r)})}formatLineComment(t){LE(t.precedingWhitespace||"")?this.layout.add(X.NEWLINE,X.INDENT,t.text,X.MANDATORY_NEWLINE,X.INDENT):this.layout.getLayoutItems().length>0?this.layout.add(X.NO_NEWLINE,X.SPACE,t.text,X.MANDATORY_NEWLINE,X.INDENT):this.layout.add(t.text,X.MANDATORY_NEWLINE,X.INDENT)}formatBlockComment(t){t.type===ue.block_comment&&this.isMultilineBlockComment(t)?(this.splitBlockComment(t.text).forEach(r=>{this.layout.add(X.NEWLINE,X.INDENT,r)}),this.layout.add(X.NEWLINE,X.INDENT)):this.layout.add(t.text,X.SPACE)}isMultilineBlockComment(t){return LE(t.text)||LE(t.precedingWhitespace||"")}isDocComment(t){const r=t.split(/\n/);return/^\/\*\*?$/.test(r[0])&&r.slice(1,r.length-1).every(n=>/^\s*\*/.test(n))&&/^\s*\*\/$/.test(yt(r))}splitBlockComment(t){return this.isDocComment(t)?t.split(/\n/).map(r=>/^\s*\*/.test(r)?" "+r.replace(/^\s*/,""):r):t.split(/\n/).map(r=>r.replace(/^\s*/,""))}formatSubExpression(t){return new Xt({cfg:this.cfg,dialectCfg:this.dialectCfg,params:this.params,layout:this.layout,inline:this.inline}).format(t)}formatInlineExpression(t){const r=this.params.getPositionalParameterIndex();try{return new Xt({cfg:this.cfg,dialectCfg:this.dialectCfg,params:this.params,layout:new UR(this.cfg.expressionWidth),inline:!0}).format(t)}catch(n){if(n instanceof PE){this.params.setPositionalParameterIndex(r);return}else throw n}}formatKeywordNode(t){switch(t.tokenType){case K.RESERVED_JOIN:return this.formatJoin(t);case K.AND:case K.OR:case K.XOR:return this.formatLogicalOperator(t);default:return this.formatKeyword(t)}}formatJoin(t){ht(this.cfg)?(this.layout.indentation.decreaseTopLevel(),this.layout.add(X.NEWLINE,X.INDENT,this.showKw(t),X.SPACE),this.layout.indentation.increaseTopLevel()):this.layout.add(X.NEWLINE,X.INDENT,this.showKw(t),X.SPACE)}formatKeyword(t){this.layout.add(this.showKw(t),X.SPACE)}formatLogicalOperator(t){this.cfg.logicalOperatorNewline==="before"?ht(this.cfg)?(this.layout.indentation.decreaseTopLevel(),this.layout.add(X.NEWLINE,X.INDENT,this.showKw(t),X.SPACE),this.layout.indentation.increaseTopLevel()):this.layout.add(X.NEWLINE,X.INDENT,this.showKw(t),X.SPACE):this.layout.add(this.showKw(t),X.NEWLINE,X.INDENT)}formatDataType(t){this.layout.add(this.showDataType(t),X.SPACE)}showKw(t){return Wr(t.tokenType)?wr(this.showNonTabularKw(t),this.cfg.indentStyle):this.showNonTabularKw(t)}showNonTabularKw(t){switch(this.cfg.keywordCase){case"preserve":return wt(t.raw);case"upper":return t.text;case"lower":return t.text.toLowerCase()}}showFunctionKw(t){return Wr(t.tokenType)?wr(this.showNonTabularFunctionKw(t),this.cfg.indentStyle):this.showNonTabularFunctionKw(t)}showNonTabularFunctionKw(t){switch(this.cfg.functionCase){case"preserve":return wt(t.raw);case"upper":return t.text;case"lower":return t.text.toLowerCase()}}showIdentifier(t){if(t.quoted)return t.text;switch(this.cfg.identifierCase){case"preserve":return t.text;case"upper":return t.text.toUpperCase();case"lower":return t.text.toLowerCase()}}showDataType(t){switch(this.cfg.dataTypeCase){case"preserve":return wt(t.raw);case"upper":return t.text;case"lower":return t.text.toLowerCase()}}}class mR{constructor(t,r){this.dialect=t,this.cfg=r,this.params=new oR(this.cfg.params)}format(t){const r=this.parse(t);return this.formatAst(r).trimEnd()}parse(t){return PR(this.dialect.tokenizer).parse(t,this.cfg.paramTypes||{})}formatAst(t){return t.map(r=>this.formatStatement(r)).join(`
44
+ `.repeat(this.cfg.linesBetweenQueries+1))}formatStatement(t){const r=new Xt({cfg:this.cfg,dialectCfg:this.dialect.formatOptions,params:this.params,layout:new vr(new Xr(TR(this.cfg)))}).format(t.children);return t.hasSemicolon&&(this.cfg.newlineBeforeSemicolon?r.add(X.NEWLINE,";"):r.add(X.NO_NEWLINE,";")),r.toString()}}class Kt extends Error{}function BR(E){const t=["multilineLists","newlineBeforeOpenParen","newlineBeforeCloseParen","aliasAs","commaPosition","tabulateAlias"];for(const r of t)if(r in E)throw new Kt(`${r} config is no more supported.`);if(E.expressionWidth<=0)throw new Kt(`expressionWidth config must be positive number. Received ${E.expressionWidth} instead.`);if(E.params&&!gR(E.params)&&console.warn('WARNING: All "params" option values should be strings.'),E.paramTypes&&!yR(E.paramTypes))throw new Kt("Empty regex given in custom paramTypes. That would result in matching infinite amount of parameters.");return E}function gR(E){return(E instanceof Array?E:Object.values(E)).every(r=>typeof r=="string")}function yR(E){return E.custom&&Array.isArray(E.custom)?E.custom.every(t=>t.regex!==""):!0}var GR=function(E,t){var r={};for(var n in E)Object.prototype.hasOwnProperty.call(E,n)&&t.indexOf(n)<0&&(r[n]=E[n]);if(E!=null&&typeof Object.getOwnPropertySymbols=="function")for(var s=0,n=Object.getOwnPropertySymbols(E);s<n.length;s++)t.indexOf(n[s])<0&&Object.prototype.propertyIsEnumerable.call(E,n[s])&&(r[n[s]]=E[n[s]]);return r};const Kr={bigquery:"bigquery",clickhouse:"clickhouse",db2:"db2",db2i:"db2i",duckdb:"duckdb",hive:"hive",mariadb:"mariadb",mysql:"mysql",n1ql:"n1ql",plsql:"plsql",postgresql:"postgresql",redshift:"redshift",spark:"spark",sqlite:"sqlite",sql:"sql",tidb:"tidb",trino:"trino",transactsql:"transactsql",tsql:"transactsql",singlestoredb:"singlestoredb",snowflake:"snowflake"},FR=Object.keys(Kr),HR={tabWidth:2,useTabs:!1,keywordCase:"preserve",identifierCase:"preserve",dataTypeCase:"preserve",functionCase:"preserve",indentStyle:"standard",logicalOperatorNewline:"before",expressionWidth:50,linesBetweenQueries:1,denseOperators:!1,newlineBeforeSemicolon:!1},kr=(E,t={})=>{if(typeof t.language=="string"&&!FR.includes(t.language))throw new Kt(`Unsupported SQL dialect: ${t.language}`);const r=Kr[t.language||"sql"];return bR(E,Object.assign(Object.assign({},t),{dialect:WA[r]}))},bR=(E,t)=>{var{dialect:r}=t,n=GR(t,["dialect"]);if(typeof E!="string")throw new Error("Invalid query argument. Expected string, instead got "+typeof E);const s=BR(Object.assign(Object.assign({},HR),n));return new mR(rR(r),s).format(E)},$r=["SELECT","FROM","WHERE","JOIN","INNER","LEFT","RIGHT","FULL","OUTER","ON","GROUP","BY","HAVING","ORDER","LIMIT","OFFSET","INSERT","INTO","VALUES","UPDATE","SET","DELETE","CREATE","ALTER","DROP","TABLE","DATABASE","INDEX","VIEW","AND","OR","NOT","IN","BETWEEN","LIKE","IS","NULL","AS","DISTINCT","UNION","ALL","EXISTS","CASE","WHEN","THEN","ELSE","END"],xR=["WITH","SELECT","FROM","WHERE","GROUP BY","HAVING","ORDER BY","LIMIT","INSERT INTO","UPDATE","SET","DELETE FROM","CREATE","ALTER","DROP","INNER JOIN","LEFT JOIN","RIGHT JOIN","FULL JOIN","CROSS JOIN","OUTER JOIN","JOIN","UNION ALL","UNION","INTERSECT","EXCEPT"],YR=E=>{try{if(!E||!E.trim())return{valid:!1,error:"SQL string is empty"};const t=E.toUpperCase().trim();if(!$r.some(A=>new RegExp(`\\b${A}\\b`).test(t)))return{valid:!1,error:"No valid SQL keywords found"};let n=0,s=!1,a="";for(let A=0;A<E.length;A++){const c=E[A],I=A>0?E[A-1]:"";if((c==="'"||c==='"')&&I!=="\\"&&(s?c===a&&(s=!1,a=""):(s=!0,a=c)),!s&&(c==="("&&n++,c===")"&&n--,n<0))return{valid:!1,error:"Mismatched parentheses: unexpected closing parenthesis"}}if(n!==0)return{valid:!1,error:`Mismatched parentheses: ${n} unclosed opening parenthesis`};try{return kr(E,{language:"sql"}),{valid:!0}}catch(A){return{valid:!1,error:A instanceof Error?A.message:"SQL syntax error"}}}catch(t){return{valid:!1,error:t instanceof Error?t.message:"Unknown validation error"}}},VR=(E,t)=>{const r=E.match(/\bVALUES\s*/i);if(!r||r.index===void 0)return E;const n=E.slice(0,r.index+r[0].length),s=E.slice(r.index+r[0].length),a=[];let A=0,c="",I=!1,i="",O=0;for(;O<s.length;){const d=s[O],k=O>0?s[O-1]:"";if((d==="'"||d==='"')&&k!=="\\"&&(I?d===i&&(I=!1):(I=!0,i=d)),I)A>0&&(c+=d);else if(d==="(")A===0?c=d:c+=d,A++;else if(d===")")c+=d,A--,A===0&&c.trim()&&(a.push(c.trim()),c="");else{if(d===";"&&A===0)break;A>0&&(c+=d)}O++}if(a.length===0)return E;const C=" ".repeat(t),p=a.map(d=>{const k=d.slice(1,-1),J=[];let Z="",De=0,ce=!1,W="";for(let ee=0;ee<k.length;ee++){const U=k[ee],v=ee>0?k[ee-1]:"";if((U==="'"||U==='"')&&v!=="\\"&&(ce?U===W&&(ce=!1):(ce=!0,W=U)),!ce&&(U==="("&&De++,U===")"&&De--,U===","&&De===0)){J.push(Z.trim()),Z="";continue}Z+=U}Z.trim()&&J.push(Z.trim());const u=J.map((ee,U)=>{const v=U<J.length-1?",":"";return`${C}${C}${ee}${v}`}).join(`
45
45
  `);return`${C}(
46
- ${D}
47
- ${C})`}),M=d.map((U,j)=>{const te=j<d.length-1?",":";";return U+te}).join(`
48
- `);let b=O;b<T.length&&T[b]===";"&&b++;const Z=T.slice(b);return n.trimEnd()+`
49
- `+M+Z},fE=(E,t)=>{try{const r=t?.dialect||"sql",n=t?.tabWidth||2,T=t?.keywordCase||"upper",a=t?.useTabs||!1,i=t?.linesBetweenQueries||1,N={sql:"sql",mysql:"mysql",postgresql:"postgresql",sqlite:"sqlite",plsql:"plsql",tsql:"tsql"}[r]||"sql";let A=kr(E,{language:N,tabWidth:n,keywordCase:T,useTabs:a,linesBetweenQueries:i,indentStyle:"standard"});return/\bINSERT\s+INTO\b/i.test(A)&&/\bVALUES\b/i.test(A)&&(A=xR(A,n)),A}catch(r){return console.error("SQL formatting error:",r),E}},VR=E=>{try{const t=[];let r=E.replace(/(["'])(?:(?=(\\?))\2.)*?\1/g,n=>(t.push(n),`__STR_${t.length-1}__`));return r=r.replace(/--[^\n]*/g,"").replace(/\/\*[\s\S]*?\*\//g,""),r=r.replace(/\s+/g," ").trim(),t.forEach((n,T)=>{r=r.replace(`__STR_${T}__`,n)}),r}catch(t){return console.error("SQL compression error:",t),E}},qr=(E,t)=>{const r=[],n=E.match(/^(.*?\bVALUES\b)/is);if(!n)return[];const T=n[1].trim();r.push({type:"VALUES",content:T,raw:T,collapsible:!1,path:`clause-${t}`});let i=E.slice(n[1].length).trim(),l=0,N=0,A="",O=!1,C="";for(let d=0;d<i.length;d++){const M=i[d],b=d>0?i[d-1]:"";if((M==="'"||M==='"')&&b!=="\\"&&(O?M===C&&(O=!1):(O=!0,C=M)),O)N>0&&(A+=M);else if(M==="("&&N===0)N++,A=M;else if(M==="(")N++,A+=M;else if(M===")"){if(A+=M,N--,N===0){let Z=d+1,U="";for(;Z<i.length;){const te=i[Z];if(te===","||te===";"){U=te;break}else if(!/\s/.test(te))break;Z++}const j=A.trim();j&&(r.push({type:"VALUE_TUPLE",content:j+U,raw:j+U,collapsible:!0,path:`clause-${t}-value-${l}`}),l++),A="",U&&(d=Z)}}else N>0&&(A+=M)}return r},vR=E=>{const t=[];try{const n=fE(E,{keywordCase:"upper"}).split(`
50
- `);let T=null,a=[],i=[];for(const l of n){const N=l.trim();if(!N){T&&a.push(l);continue}if(N.startsWith("--")||N.startsWith("/*")){T?a.push(l):i.push(l);continue}let O=!1,C="UNKNOWN";const d=[...bR].sort((M,b)=>b.length-M.length);for(const M of d)if(new RegExp(`^${M}\\b`,"i").test(N)){O=!0,M.includes(" "),C=M.toUpperCase();break}if(O){if(T&&a.length>0){const M=a.join(`
51
- `);if(T.content=M,T.raw=M,T.type==="INSERT INTO"&&/\bVALUES\b/i.test(M)){const b=M.match(/^(.*?\bINSERT\s+INTO\s+[^(]+\s*\([^)]+\))/is);if(b){t.push({type:"INSERT INTO",content:b[1].trim(),raw:b[1].trim(),collapsible:!0,path:`clause-${t.length}`});const Z=M.slice(b[1].length).trim(),U=qr(Z,t.length);t.push(...U)}else t.push(T)}else t.push(T)}i.length>0&&(t.push({type:"UNKNOWN",content:i.join(`
52
- `),raw:i.join(`
53
- `),collapsible:!1,path:`clause-${t.length}`}),i=[]),a=[l],T={type:C,content:"",raw:"",collapsible:!0,path:`clause-${t.length}`}}else T?a.push(l):(a=[...i,l],i=[],T={type:"UNKNOWN",content:"",raw:"",collapsible:!1,path:`clause-${t.length}`})}if(T&&a.length>0){const l=a.join(`
54
- `);if(T.content=l,T.raw=l,T.type==="INSERT INTO"&&/\bVALUES\b/i.test(l)){const N=l.match(/^(.*?\bINSERT\s+INTO\s+[^(]+\s*\([^)]+\))/is);if(N){t.push({type:"INSERT INTO",content:N[1].trim(),raw:N[1].trim(),collapsible:!0,path:`clause-${t.length}`});const A=l.slice(N[1].length).trim(),O=qr(A,t.length);t.push(...O)}else t.push(T)}else t.push(T)}return i.length>0&&t.push({type:"UNKNOWN",content:i.join(`
55
- `),raw:i.join(`
56
- `),collapsible:!1,path:`clause-${t.length}`}),{clauses:t,raw:E}}catch{return{clauses:[{type:"UNKNOWN",content:E,raw:E,collapsible:!1,path:"clause-0"}],raw:E}}},wR=E=>{const t=[];let r=E;const n=["COUNT","SUM","AVG","MAX","MIN","UPPER","LOWER","SUBSTRING","CONCAT","LENGTH","TRIM","NOW","DATE","YEAR","MONTH","DAY","COALESCE","CAST","CONVERT","ROUND","ABS","FLOOR","CEIL"],T=["=","!=","<>","<",">","<=",">=","+","-","*","/","%","||"],a=["(",")",",",";","."];for(;r.length>0;){let i=!1;const l=r.match(/^(\s+)/);if(l){t.push({type:"whitespace",value:l[1]}),r=r.slice(l[1].length);continue}const N=r.match(/^(--[^\n]*)/);if(N){t.push({type:"comment",value:N[1]}),r=r.slice(N[1].length);continue}const A=r.match(/^(\/\*[\s\S]*?\*\/)/);if(A){t.push({type:"comment",value:A[1]}),r=r.slice(A[1].length);continue}const O=r.match(/^(["'])(?:(?=(\\?))\2.)*?\1/);if(O){t.push({type:"string",value:O[0]}),r=r.slice(O[0].length);continue}const C=r.match(/^(\d+\.?\d*|\.\d+)/);if(C){t.push({type:"number",value:C[1]}),r=r.slice(C[1].length);continue}for(const M of T)if(r.startsWith(M)){t.push({type:"operator",value:M}),r=r.slice(M.length),i=!0;break}if(i)continue;for(const M of a)if(r.startsWith(M)){t.push({type:"punctuation",value:M}),r=r.slice(M.length),i=!0;break}if(i)continue;const d=r.match(/^([a-zA-Z_][a-zA-Z0-9_]*)/);if(d){const M=d[1],b=M.toUpperCase();$r.includes(b)?t.push({type:"keyword",value:M}):n.includes(b)?t.push({type:"function",value:M}):t.push({type:"identifier",value:M}),r=r.slice(M.length);continue}t.push({type:"punctuation",value:r[0]}),r=r.slice(1)}return t},WR={class:"sql-format__content"},XR={key:0,class:"sql-format__error"},KR={key:1,class:"sql-format__viewer"},kR={key:0,class:"sql-format__clauses"},$R=["onClick"],qR=["onClick","title"],JR={key:1,class:"sql-format__toggle-spacer"},QR={class:"sql-format__clause-keyword"},ZR={class:"sql-format__clause-code"},jR=["innerHTML"],zR={key:0,class:"sql-format__clause-content"},eS={class:"sql-format__clause-code"},tS=["innerHTML"],ES={key:1,class:"sql-format__code"},rS=["innerHTML"],nS=Mt(o.defineComponent({__name:"index",props:{modelValue:{default:""},readonly:{type:Boolean,default:!1},theme:{default:"github-light"},dialect:{default:"sql"},tabWidth:{default:2}},emits:["update:modelValue","copy-success","copy-error","expand-all","collapse-all","compress","format"],setup(E,{expose:t,emit:r}){o.useCssVars(g=>({ca47134a:C.value.colors.background,"187be7cc":C.value.colors.text,f22ea76e:C.value.colors.errorBackground,f89c2e8a:C.value.colors.error,a410fb0c:C.value.colors.textSecondary,"06751623":C.value.colors.buttonPrimary}));const n=E,T=r,a=o.ref(""),i=o.ref(n.dialect),l=o.ref([]),N=o.ref(new Set),A=o.ref(""),O=o.computed(()=>a.value===""),C=o.computed(()=>vT(n.theme)),d=g=>{if(!g||!g.trim()){a.value="",l.value=[],N.value.clear();return}try{const J=YR(g);if(!J.valid){a.value=J.error||"Invalid SQL",l.value=[],A.value="";return}const K=vR(g);l.value=K.clauses,A.value=fE(g,{dialect:i.value,tabWidth:n.tabWidth}),N.value=new Set(K.clauses.map(k=>k.path||"")),a.value=""}catch(J){a.value=J instanceof Error?J.message:"Unknown parse error",l.value=[],A.value=""}},M=g=>{const J=wR(g),K=C.value.colors;return J.map(k=>{let ae=K.text;switch(k.type){case"keyword":ae=K.sqlKeyword;break;case"function":ae=K.sqlFunction;break;case"string":ae=K.sqlString;break;case"number":ae=K.sqlNumber;break;case"comment":ae=K.sqlComment;break;case"operator":ae=K.sqlOperator;break;case"identifier":ae=K.sqlIdentifier;break;case"punctuation":ae=K.sqlPunctuation;break;case"whitespace":return k.value.replace(/ /g,"&nbsp;").replace(/\n/g,`
57
- `)}const ce=k.value.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#039;");return`<span style="color: ${ae}">${ce}</span>`}).join("")},b=g=>{N.value.has(g)?N.value.delete(g):N.value.add(g),N.value=new Set(N.value)},Z=g=>N.value.has(g),U=g=>{const J=g.content.split(`
58
- `);if(J.length===0)return"";for(const K of J)if(K.trim())return K;return""},j=g=>{const J=U(g),K=Z(g.path||""),k=!!te(g);return g.collapsible&&!K&&k?`${M(J)}<span style="color: ${C.value.colors.textSecondary}; opacity: 0.6; font-style: italic; margin-left: 4px;"> ...</span>`:M(J)},te=g=>{const J=g.content.split(`
59
- `);if(J.length<=1)return"";let K=0;for(let ae=0;ae<J.length;ae++)if(J[ae].trim()){K=ae;break}return J.slice(K+1).join(`
60
- `)},ee=()=>{N.value=new Set(l.value.map(g=>g.path||"")),T("expand-all")},pe=()=>{N.value=new Set,T("collapse-all")},Le=async()=>{if(O.value)try{const g=A.value||n.modelValue;await navigator.clipboard.writeText(g),T("copy-success",g)}catch(g){const J=g instanceof Error?g:new Error("Failed to copy");T("copy-error",J)}},W=()=>{if(O.value)try{const g=fE(n.modelValue,{dialect:i.value,tabWidth:n.tabWidth});T("update:modelValue",g),T("format",g)}catch(g){console.error("Format error:",g)}},D=()=>{if(O.value)try{const g=VR(n.modelValue);T("update:modelValue",g),T("compress",g)}catch(g){console.error("Compress error:",g)}},Ae=()=>null,H=()=>a.value;return o.watch(()=>n.modelValue,g=>{d(g)},{immediate:!0}),o.watch(()=>n.dialect,g=>{i.value=g}),t({copySql:Le,formatSource:W,compressSource:D,expandAll:ee,collapseAll:pe,toggleExpand:b,isValidSql:()=>O.value,getParsedSql:Ae,getParseError:H}),(g,J)=>(o.openBlock(),o.createElementBlock("div",{class:o.normalizeClass(["sql-format",`sql-format--${C.value.name}`])},[o.createElementVNode("div",WR,[O.value?(o.openBlock(),o.createElementBlock("div",KR,[l.value.length>0?(o.openBlock(),o.createElementBlock("div",kR,[(o.openBlock(!0),o.createElementBlock(o.Fragment,null,o.renderList(l.value,K=>(o.openBlock(),o.createElementBlock("div",{key:K.path,class:"sql-format__clause"},[o.createElementVNode("div",{class:"sql-format__clause-header",onClick:k=>K.collapsible&&b(K.path||"")},[K.collapsible?(o.openBlock(),o.createElementBlock("button",{key:0,class:"sql-format__toggle-btn",onClick:o.withModifiers(k=>b(K.path||""),["stop"]),title:Z(K.path||"")?"Collapse":"Expand"},[o.createElementVNode("span",{class:o.normalizeClass(["sql-format__toggle-icon",{"sql-format__toggle-icon--expanded":Z(K.path||"")}])},"▶",2)],8,qR)):(o.openBlock(),o.createElementBlock("span",JR)),o.createElementVNode("div",QR,[o.createElementVNode("pre",ZR,[o.createElementVNode("code",{innerHTML:j(K)},null,8,jR)])])],8,$R),Z(K.path||"")&&te(K)?(o.openBlock(),o.createElementBlock("div",zR,[o.createElementVNode("pre",eS,[o.createElementVNode("code",{innerHTML:M(te(K))},null,8,tS)])])):o.createCommentVNode("",!0)]))),128))])):(o.openBlock(),o.createElementBlock("pre",ES,[o.createElementVNode("code",{innerHTML:M(n.modelValue)},null,8,rS)]))])):(o.openBlock(),o.createElementBlock("div",XR,[J[0]||(J[0]=o.createElementVNode("h4",null,"SQL Parse Error:",-1)),o.createElementVNode("pre",null,o.toDisplayString(a.value),1)]))])],2))}}),[["__scopeId","data-v-3faa3df9"]]),sS=[UE],TS={install:E=>{sS.forEach(t=>{const r=t.name||t.__name||"UnknownComponent";E.component(r,t)})}};rt.JsonFormat=UE,rt.SqlFormat=nS,rt.XmlFormat=VT,rt.default=TS,Object.defineProperties(rt,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
46
+ ${u}
47
+ ${C})`}),g=p.map((d,k)=>{const J=k<p.length-1?",":";";return d+J}).join(`
48
+ `);let B=O;B<s.length&&s[B]===";"&&B++;const Y=s.slice(B);return n.trimEnd()+`
49
+ `+g+Y},fE=(E,t)=>{try{const r=t?.dialect||"sql",n=t?.tabWidth||2,s=t?.keywordCase||"upper",a=t?.useTabs||!1,A=t?.linesBetweenQueries||1,I={sql:"sql",mysql:"mysql",postgresql:"postgresql",sqlite:"sqlite",plsql:"plsql",tsql:"tsql"}[r]||"sql";let i=kr(E,{language:I,tabWidth:n,keywordCase:s,useTabs:a,linesBetweenQueries:A,indentStyle:"standard"});return/\bINSERT\s+INTO\b/i.test(i)&&/\bVALUES\b/i.test(i)&&(i=VR(i,n)),i}catch(r){return console.error("SQL formatting error:",r),E}},vR=E=>{try{const t=[];let r=E.replace(/(["'])(?:(?=(\\?))\2.)*?\1/g,n=>(t.push(n),`__STR_${t.length-1}__`));return r=r.replace(/--[^\n]*/g,"").replace(/\/\*[\s\S]*?\*\//g,""),r=r.replace(/\s+/g," ").trim(),t.forEach((n,s)=>{r=r.replace(`__STR_${s}__`,n)}),r}catch(t){return console.error("SQL compression error:",t),E}},wR=(E,t)=>{const r=[],n=E.match(/^(.*?\bVALUES\b)/is);if(!n)return[];const s=n[1].trim();r.push({type:"VALUES",content:s,raw:s,collapsible:!1,path:`clause-${t}`});let A=E.slice(n[1].length).trim(),c=0,I=0,i="",O=!1,C="";for(let p=0;p<A.length;p++){const g=A[p],B=p>0?A[p-1]:"";if((g==="'"||g==='"')&&B!=="\\"&&(O?g===C&&(O=!1):(O=!0,C=g)),O)I>0&&(i+=g);else if(g==="("&&I===0)I++,i=g;else if(g==="(")I++,i+=g;else if(g===")"){if(i+=g,I--,I===0){let Y=p+1,d="";for(;Y<A.length;){const J=A[Y];if(J===","||J===";"){d=J;break}else if(!/\s/.test(J))break;Y++}const k=i.trim();k&&(r.push({type:"VALUE_TUPLE",content:k+d,raw:k+d,collapsible:!0,path:`clause-${t}-value-${c}`}),c++),i="",d&&(p=Y)}}else I>0&&(i+=g)}return r},WR=(E,t)=>/\n\s*ON\b/i.test(t)?t:t.replace(/^(\s*)((?:INNER|LEFT|RIGHT|FULL|CROSS|OUTER)?\s*JOIN\b[^\n]*?)\s+ON\b\s*/gim,`$1$2
50
+ $1ON `),XR=E=>{let t=0,r=!1,n="";for(let s=0;s<E.length;s++){const a=E[s],A=s>0?E[s-1]:"";if((a==="'"||a==='"')&&A!=="\\"){r?a===n&&(r=!1,n=""):(r=!0,n=a);continue}r||(a==="("&&t++,a===")"&&t--)}return t},KR=E=>{const t=[];let r=0,n=-1,s=!1,a="";for(let A=0;A<E.length;A++){const c=E[A],I=A>0?E[A-1]:"";if((c==="'"||c==='"')&&I!=="\\"){s?c===a&&(s=!1,a=""):(s=!0,a=c);continue}s||(c==="("?(r===0&&(n=A),r++):c===")"&&(r--,r===0&&n>=0&&(t.push({open:n,close:A}),n=-1)))}return t},kR=E=>{const t=E.trim();return t?/^(SELECT|WITH)\b/i.test(t)?!0:/\n\s*(SELECT|FROM|WHERE|JOIN|UNION|INTERSECT|EXCEPT)\b/i.test(E):!1},$R=E=>{const t=E.content.split(`
51
+ `);let r=-1;for(let i=0;i<t.length;i++)if(t[i].trim()){r=i;break}if(r<0)return;const n=t.slice(r+1).join(`
52
+ `);if(!n)return;const a=KR(n).filter(i=>kR(n.slice(i.open+1,i.close)));if(a.length===0)return;const A=[];let c=0;const I=E.path||"clause";a.forEach((i,O)=>{i.open+1>c&&A.push({kind:"text",text:n.slice(c,i.open+1)});const C=n.lastIndexOf(`
53
+ `,i.close-1)+1,p=C>i.open,g=p?C-1:i.close,B=n.slice(i.open+1,g),Y=qr(B,`${I}-sub${O}-`);for(const d of Y)A.push({kind:"clause",clause:d});c=p?C:i.close}),c<n.length&&A.push({kind:"text",text:n.slice(c)}),E.body=A},qr=(E,t)=>{const r=[],n=E.split(`
54
+ `);let s=null,a=[],A=[],c=0;const I=[...xR].sort((O,C)=>C.length-O.length),i=()=>{if(!s||a.length===0)return;let O=a.join(`
55
+ `);if(O=WR(s.type,O),s.content=O,s.raw=O,s.type==="INSERT INTO"&&/\bVALUES\b/i.test(O)){const C=O.match(/^(.*?\bINSERT\s+INTO\s+[^(]+\s*\([^)]+\))/is);if(C){const p={type:"INSERT INTO",content:C[1].trim(),raw:C[1].trim(),collapsible:!0,path:`${t}clause-${r.length}`};r.push(p);const g=O.slice(C[1].length).trim(),B=r.length,Y=wR(g,B);for(let d=0;d<Y.length;d++)Y[d].path=`${t}clause-${B+d}`;r.push(...Y);return}}$R(s),r.push(s)};for(const O of n){const C=O.trim();if(!C){s&&a.push(O);continue}if(C.startsWith("--")||C.startsWith("/*")){s?a.push(O):A.push(O);continue}let g=!1,B="UNKNOWN";if(c===0){for(const Y of I)if(new RegExp(`^${Y}\\b`,"i").test(C)){g=!0,B=Y.toUpperCase();break}}g?(i(),A.length>0&&(r.push({type:"UNKNOWN",content:A.join(`
56
+ `),raw:A.join(`
57
+ `),collapsible:!1,path:`${t}clause-${r.length}`}),A=[]),a=[O],s={type:B,content:"",raw:"",collapsible:!0,path:`${t}clause-${r.length}`}):s?a.push(O):(a=[...A,O],A=[],s={type:"UNKNOWN",content:"",raw:"",collapsible:!1,path:`${t}clause-${r.length}`}),c=Math.max(0,c+XR(O))}return i(),A.length>0&&r.push({type:"UNKNOWN",content:A.join(`
58
+ `),raw:A.join(`
59
+ `),collapsible:!1,path:`${t}clause-${r.length}`}),r},qR=E=>{try{const t=fE(E,{keywordCase:"upper"});return{clauses:qr(t,""),raw:E}}catch{return{clauses:[{type:"UNKNOWN",content:E,raw:E,collapsible:!1,path:"clause-0"}],raw:E}}},Jr=E=>{const t=[];let r=E;const n=["COUNT","SUM","AVG","MAX","MIN","UPPER","LOWER","SUBSTRING","CONCAT","LENGTH","TRIM","NOW","DATE","YEAR","MONTH","DAY","COALESCE","CAST","CONVERT","ROUND","ABS","FLOOR","CEIL"],s=["=","!=","<>","<",">","<=",">=","+","-","*","/","%","||"],a=["(",")",",",";","."];for(;r.length>0;){let A=!1;const c=r.match(/^(\s+)/);if(c){t.push({type:"whitespace",value:c[1]}),r=r.slice(c[1].length);continue}const I=r.match(/^(--[^\n]*)/);if(I){t.push({type:"comment",value:I[1]}),r=r.slice(I[1].length);continue}const i=r.match(/^(\/\*[\s\S]*?\*\/)/);if(i){t.push({type:"comment",value:i[1]}),r=r.slice(i[1].length);continue}const O=r.match(/^(["'])(?:(?=(\\?))\2.)*?\1/);if(O){t.push({type:"string",value:O[0]}),r=r.slice(O[0].length);continue}const C=r.match(/^(\d+\.?\d*|\.\d+)/);if(C){t.push({type:"number",value:C[1]}),r=r.slice(C[1].length);continue}for(const g of s)if(r.startsWith(g)){t.push({type:"operator",value:g}),r=r.slice(g.length),A=!0;break}if(A)continue;for(const g of a)if(r.startsWith(g)){t.push({type:"punctuation",value:g}),r=r.slice(g.length),A=!0;break}if(A)continue;const p=r.match(/^([a-zA-Z_][a-zA-Z0-9_]*)/);if(p){const g=p[1],B=g.toUpperCase();$r.includes(B)?t.push({type:"keyword",value:g}):n.includes(B)?t.push({type:"function",value:g}):t.push({type:"identifier",value:g}),r=r.slice(g.length);continue}t.push({type:"punctuation",value:r[0]}),r=r.slice(1)}return t},JR={class:"sql-clause-node"},QR=["title"],ZR={class:"sql-clause-node__code"},jR=["innerHTML"],zR={key:0,class:"sql-clause-node__body"},eS=["title"],tS=["innerHTML"],ES=["title"],rS=["innerHTML"],nS=Pt(T.defineComponent({__name:"SqlClauseNode",props:{clause:{},expandedClauses:{},theme:{}},emits:["toggle"],setup(E,{emit:t}){const r=E,n=t,s=T.computed(()=>r.clause.path||""),a=T.computed(()=>r.expandedClauses.has(s.value)),A=T.computed(()=>{const B=r.clause.content.split(`
60
+ `);for(const Y of B)if(Y.trim())return Y;return""}),c=T.computed(()=>{const B=r.clause.content.split(`
61
+ `);if(B.length<=1)return"";let Y=0;for(let d=0;d<B.length;d++)if(B[d].trim()){Y=d;break}return B.slice(Y+1).join(`
62
+ `)}),I=T.computed(()=>r.clause.body&&r.clause.body.length>0?!0:!!c.value),i=B=>{const Y=Jr(B),d=r.theme.colors;return Y.map(k=>{let J=d.text;switch(k.type){case"keyword":J=d.sqlKeyword;break;case"function":J=d.sqlFunction;break;case"string":J=d.sqlString;break;case"number":J=d.sqlNumber;break;case"comment":J=d.sqlComment;break;case"operator":J=d.sqlOperator;break;case"identifier":J=d.sqlIdentifier;break;case"punctuation":J=d.sqlPunctuation;break;case"whitespace":return k.value.replace(/ /g,"&nbsp;").replace(/\n/g,`
63
+ `)}const Z=k.value.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#039;");return`<span style="color: ${J}">${Z}</span>`}).join("")},O=T.computed(()=>{const B=r.clause.body;if(!B||B.length===0)return null;let Y="",d=!1;for(const ee of B)if(ee.kind==="text"){const U=ee.text.indexOf("(");if(U>=0){Y+=ee.text.slice(0,U),d=!0;break}Y+=ee.text}else return null;if(!d)return null;let k="";for(let ee=B.length-1;ee>=0;ee--){const U=B[ee];if(U.kind==="text"){const v=U.text.lastIndexOf(")");if(v>=0){k=U.text.slice(v+1)+k;break}k=U.text+k}else break}const J=Y.replace(/\s+/g," ").trim(),Z=k.replace(/\s+/g," ").trim(),De=A.value,ce=(De.match(/^\s*/)||[""])[0],u=[De.trimStart()];return J&&u.push(J),u.push("(...)"),Z&&u.push(Z),`${ce}${u.join(" ")}`}),C=T.computed(()=>{if(r.clause.collapsible&&!a.value&&I.value){const B=O.value;if(B)return i(B);const Y=i(A.value),d=r.theme.colors.textSecondary;return`${Y}<span style="color: ${d}; opacity: 0.6; font-style: italic; margin-left: 4px;"> ...</span>`}return i(A.value)}),p=()=>{r.clause.collapsible&&n("toggle",s.value)},g=B=>{if(!r.clause.collapsible)return;const Y=B.target;if(!Y)return;const d=(Y.textContent||"").trim();(d==="("||d===")")&&n("toggle",s.value)};return(B,Y)=>{const d=T.resolveComponent("SqlClauseNode",!0);return T.openBlock(),T.createElementBlock("div",JR,[T.createElementVNode("div",{class:T.normalizeClass(["sql-clause-node__header",{"sql-clause-node__header--collapsible":B.clause.collapsible}]),title:B.clause.collapsible?a.value?"Click to collapse":"Click to expand":"",onClick:p},[T.createElementVNode("pre",ZR,[T.createElementVNode("code",{innerHTML:C.value},null,8,jR)])],10,QR),a.value&&I.value?(T.openBlock(),T.createElementBlock("div",zR,[B.clause.body&&B.clause.body.length>0?(T.openBlock(!0),T.createElementBlock(T.Fragment,{key:0},T.renderList(B.clause.body,(k,J)=>(T.openBlock(),T.createElementBlock(T.Fragment,{key:J},[k.kind==="text"?(T.openBlock(),T.createElementBlock("pre",{key:0,class:T.normalizeClass(["sql-clause-node__code sql-clause-node__text-segment",{"sql-clause-node__text-segment--clickable":B.clause.collapsible}]),title:B.clause.collapsible?"Click ( or ) to collapse":"",onClick:Y[0]||(Y[0]=Z=>g(Z))},[T.createElementVNode("code",{innerHTML:i(k.text)},null,8,tS)],10,eS)):(T.openBlock(),T.createBlock(d,{key:1,clause:k.clause,"expanded-clauses":B.expandedClauses,theme:B.theme,onToggle:Y[1]||(Y[1]=Z=>B.$emit("toggle",Z))},null,8,["clause","expanded-clauses","theme"]))],64))),128)):(T.openBlock(),T.createElementBlock("pre",{key:1,class:T.normalizeClass(["sql-clause-node__code sql-clause-node__rest",{"sql-clause-node__rest--clickable":B.clause.collapsible}]),title:B.clause.collapsible?"Click ( or ) to collapse":"",onClick:Y[2]||(Y[2]=k=>g(k))},[T.createElementVNode("code",{innerHTML:i(c.value)},null,8,rS)],10,ES))])):T.createCommentVNode("",!0)])}}}),[["__scopeId","data-v-8b9383dc"]]),sS={class:"sql-format__content"},TS={key:0,class:"sql-format__error"},oS={key:1,class:"sql-format__viewer"},aS={key:0,class:"sql-format__clauses"},iS={key:1,class:"sql-format__code"},AS=["innerHTML"],RS=Pt(T.defineComponent({__name:"index",props:{modelValue:{default:""},readonly:{type:Boolean,default:!1},theme:{default:"github-light"},dialect:{default:"sql"},tabWidth:{default:2}},emits:["update:modelValue","copy-success","copy-error","expand-all","collapse-all","compress","format"],setup(E,{expose:t,emit:r}){T.useCssVars(u=>({"175be318":p.value.colors.background,"6c8d0a97":p.value.colors.text,e09ea4a8:p.value.colors.errorBackground,"2446b9de":p.value.colors.error}));const n=u=>{const ee=[],U=v=>{for(const te of v)if(te.path&&ee.push(te.path),te.body)for(const Ee of te.body)Ee.kind==="clause"&&U([Ee.clause])};return U(u),ee},s=E,a=r,A=T.ref(""),c=T.ref(s.dialect),I=T.ref([]),i=T.ref(new Set),O=T.ref(""),C=T.computed(()=>A.value===""),p=T.computed(()=>wT(s.theme)),g=u=>{if(!u||!u.trim()){A.value="",I.value=[],i.value.clear();return}try{const ee=YR(u);if(!ee.valid){A.value=ee.error||"Invalid SQL",I.value=[],O.value="";return}const U=qR(u);I.value=U.clauses,O.value=fE(u,{dialect:c.value,tabWidth:s.tabWidth}),i.value=new Set(n(U.clauses)),A.value=""}catch(ee){A.value=ee instanceof Error?ee.message:"Unknown parse error",I.value=[],O.value=""}},B=u=>{const ee=Jr(u),U=p.value.colors;return ee.map(v=>{let te=U.text;switch(v.type){case"keyword":te=U.sqlKeyword;break;case"function":te=U.sqlFunction;break;case"string":te=U.sqlString;break;case"number":te=U.sqlNumber;break;case"comment":te=U.sqlComment;break;case"operator":te=U.sqlOperator;break;case"identifier":te=U.sqlIdentifier;break;case"punctuation":te=U.sqlPunctuation;break;case"whitespace":return v.value.replace(/ /g,"&nbsp;").replace(/\n/g,`
64
+ `)}const Ee=v.value.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#039;");return`<span style="color: ${te}">${Ee}</span>`}).join("")},Y=u=>{i.value.has(u)?i.value.delete(u):i.value.add(u),i.value=new Set(i.value)},d=()=>{i.value=new Set(n(I.value)),a("expand-all")},k=()=>{i.value=new Set,a("collapse-all")},J=async()=>{if(C.value)try{const u=O.value||s.modelValue;await navigator.clipboard.writeText(u),a("copy-success",u)}catch(u){const ee=u instanceof Error?u:new Error("Failed to copy");a("copy-error",ee)}},Z=()=>{if(C.value)try{const u=fE(s.modelValue,{dialect:c.value,tabWidth:s.tabWidth});a("update:modelValue",u),a("format",u)}catch(u){console.error("Format error:",u)}},De=()=>{if(C.value)try{const u=vR(s.modelValue);a("update:modelValue",u),a("compress",u)}catch(u){console.error("Compress error:",u)}},ce=()=>null,W=()=>A.value;return T.watch(()=>s.modelValue,u=>{g(u)},{immediate:!0}),T.watch(()=>s.dialect,u=>{c.value=u}),t({copySql:J,formatSource:Z,compressSource:De,expandAll:d,collapseAll:k,toggleExpand:Y,isValidSql:()=>C.value,getParsedSql:ce,getParseError:W}),(u,ee)=>(T.openBlock(),T.createElementBlock("div",{class:T.normalizeClass(["sql-format",`sql-format--${p.value.name}`])},[T.createElementVNode("div",sS,[C.value?(T.openBlock(),T.createElementBlock("div",oS,[I.value.length>0?(T.openBlock(),T.createElementBlock("div",aS,[(T.openBlock(!0),T.createElementBlock(T.Fragment,null,T.renderList(I.value,U=>(T.openBlock(),T.createBlock(nS,{key:U.path,clause:U,"expanded-clauses":i.value,theme:p.value,onToggle:Y},null,8,["clause","expanded-clauses","theme"]))),128))])):(T.openBlock(),T.createElementBlock("pre",iS,[T.createElementVNode("code",{innerHTML:B(s.modelValue)},null,8,AS)]))])):(T.openBlock(),T.createElementBlock("div",TS,[ee[0]||(ee[0]=T.createElementVNode("h4",null,"SQL Parse Error:",-1)),T.createElementVNode("pre",null,T.toDisplayString(A.value),1)]))])],2))}}),[["__scopeId","data-v-36f32aa6"]]),SS=[UE],NS={install:E=>{SS.forEach(t=>{const r=t.name||t.__name||"UnknownComponent";E.component(r,t)})}};rt.JsonFormat=UE,rt.SqlFormat=RS,rt.XmlFormat=vT,rt.default=NS,Object.defineProperties(rt,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});