spark-sql-language-server 0.0.1-beta.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.
- package/README.md +30 -0
- package/out/sparksql-server-worker.js +2 -0
- package/out/sparksql-server-worker.js.map +1 -0
- package/out-tsc/assets/built-in-functions.d.ts +9 -0
- package/out-tsc/assets/built-in-functions.js +3996 -0
- package/out-tsc/assets/built-in-functions.js.map +1 -0
- package/out-tsc/auto-completion.d.ts +4 -0
- package/out-tsc/auto-completion.js +74 -0
- package/out-tsc/auto-completion.js.map +1 -0
- package/out-tsc/constant.d.ts +2 -0
- package/out-tsc/constant.js +6 -0
- package/out-tsc/constant.js.map +1 -0
- package/out-tsc/index.d.ts +3 -0
- package/out-tsc/index.js +20 -0
- package/out-tsc/index.js.map +1 -0
- package/out-tsc/lib/SparkSqlLexer.d.ts +421 -0
- package/out-tsc/lib/SparkSqlLexer.js +2501 -0
- package/out-tsc/lib/SparkSqlLexer.js.map +1 -0
- package/out-tsc/lib/SparkSqlParser.d.ts +5888 -0
- package/out-tsc/lib/SparkSqlParser.js +32320 -0
- package/out-tsc/lib/SparkSqlParser.js.map +1 -0
- package/out-tsc/lib/SparkSqlParserListener.d.ts +1089 -0
- package/out-tsc/lib/SparkSqlParserListener.js +3 -0
- package/out-tsc/lib/SparkSqlParserListener.js.map +1 -0
- package/out-tsc/lib/SparkSqlParserVisitor.d.ts +727 -0
- package/out-tsc/lib/SparkSqlParserVisitor.js +3 -0
- package/out-tsc/lib/SparkSqlParserVisitor.js.map +1 -0
- package/out-tsc/listeners/parse-error.listener.d.ts +11 -0
- package/out-tsc/listeners/parse-error.listener.js +48 -0
- package/out-tsc/listeners/parse-error.listener.js.map +1 -0
- package/out-tsc/listeners/statement.listener.d.ts +11 -0
- package/out-tsc/listeners/statement.listener.js +44 -0
- package/out-tsc/listeners/statement.listener.js.map +1 -0
- package/out-tsc/lsp-server.d.ts +15 -0
- package/out-tsc/lsp-server.js +81 -0
- package/out-tsc/lsp-server.js.map +1 -0
- package/out-tsc/parsing-warehouse.d.ts +19 -0
- package/out-tsc/parsing-warehouse.js +63 -0
- package/out-tsc/parsing-warehouse.js.map +1 -0
- package/out-tsc/protocol-translation.d.ts +6 -0
- package/out-tsc/protocol-translation.js +128 -0
- package/out-tsc/protocol-translation.js.map +1 -0
- package/out-tsc/public-apis.d.ts +1 -0
- package/out-tsc/public-apis.js +6 -0
- package/out-tsc/public-apis.js.map +1 -0
- package/out-tsc/server-worker.d.ts +1 -0
- package/out-tsc/server-worker.js +126 -0
- package/out-tsc/server-worker.js.map +1 -0
- package/package.json +39 -0
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
var serverExportVar;(()=>{var t=[,function(t,e,r){"use strict";var i=this&&this.__createBinding||(Object.create?function(t,e,r,i){void 0===i&&(i=r);var n=Object.getOwnPropertyDescriptor(e,r);n&&!("get"in n?!e.__esModule:n.writable||n.configurable)||(n={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,i,n)}:function(t,e,r,i){void 0===i&&(i=r),t[i]=e[r]}),n=this&&this.__exportStar||function(t,e){for(var r in t)"default"===r||Object.prototype.hasOwnProperty.call(e,r)||i(e,t,r)};Object.defineProperty(e,"__esModule",{value:!0}),e.createConnection=void 0;const s=r(2);n(r(65),e),n(r(2),e);let o=!1;const a={initialize:t=>{},get shutdownReceived(){return o},set shutdownReceived(t){o=t},exit:t=>{}};e.createConnection=function(t,e,r,i){let n,o,E,h;return void 0!==t&&"features"===t.__brand&&(n=t,t=e,e=r,r=i),s.ConnectionStrategy.is(t)||s.ConnectionOptions.is(t)?h=t:(o=t,E=e,h=r),(0,s.createConnection)((t=>(0,s.createProtocolConnection)(o,E,t,h)),a,n)}},function(t,e,r){"use strict";var i=this&&this.__createBinding||(Object.create?function(t,e,r,i){void 0===i&&(i=r);var n=Object.getOwnPropertyDescriptor(e,r);n&&!("get"in n?!e.__esModule:n.writable||n.configurable)||(n={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,i,n)}:function(t,e,r,i){void 0===i&&(i=r),t[i]=e[r]}),n=this&&this.__exportStar||function(t,e){for(var r in t)"default"===r||Object.prototype.hasOwnProperty.call(e,r)||i(e,t,r)};Object.defineProperty(e,"__esModule",{value:!0}),e.ProposedFeatures=e.NotebookDocuments=e.TextDocuments=e.SemanticTokensBuilder=void 0;const s=r(3);Object.defineProperty(e,"SemanticTokensBuilder",{enumerable:!0,get:function(){return s.SemanticTokensBuilder}}),n(r(4),e);const o=r(48);Object.defineProperty(e,"TextDocuments",{enumerable:!0,get:function(){return o.TextDocuments}});const a=r(49);Object.defineProperty(e,"NotebookDocuments",{enumerable:!0,get:function(){return a.NotebookDocuments}}),n(r(50),e),function(t){t.all={__brand:"features"}}(e.ProposedFeatures||(e.ProposedFeatures={}))},(t,e,r)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.SemanticTokensBuilder=e.SemanticTokensDiff=e.SemanticTokensFeature=void 0;const i=r(4);e.SemanticTokensFeature=t=>class extends t{get semanticTokens(){return{refresh:()=>this.connection.sendRequest(i.SemanticTokensRefreshRequest.type),on:t=>{const e=i.SemanticTokensRequest.type;return this.connection.onRequest(e,((r,i)=>t(r,i,this.attachWorkDoneProgress(r),this.attachPartialResultProgress(e,r))))},onDelta:t=>{const e=i.SemanticTokensDeltaRequest.type;return this.connection.onRequest(e,((r,i)=>t(r,i,this.attachWorkDoneProgress(r),this.attachPartialResultProgress(e,r))))},onRange:t=>{const e=i.SemanticTokensRangeRequest.type;return this.connection.onRequest(e,((r,i)=>t(r,i,this.attachWorkDoneProgress(r),this.attachPartialResultProgress(e,r))))}}}};class n{constructor(t,e){this.originalSequence=t,this.modifiedSequence=e}computeDiff(){const t=this.originalSequence.length,e=this.modifiedSequence.length;let r=0;for(;r<e&&r<t&&this.originalSequence[r]===this.modifiedSequence[r];)r++;if(r<e&&r<t){let i=t-1,n=e-1;for(;i>=r&&n>=r&&this.originalSequence[i]===this.modifiedSequence[n];)i--,n--;(i<r||n<r)&&(i++,n++);const s=i-r+1,o=this.modifiedSequence.slice(r,n+1);return 1===o.length&&o[0]===this.originalSequence[i]?[{start:r,deleteCount:s-1}]:[{start:r,deleteCount:s,data:o}]}return r<e?[{start:r,deleteCount:0,data:this.modifiedSequence.slice(r)}]:r<t?[{start:r,deleteCount:t-r}]:[]}}e.SemanticTokensDiff=n;e.SemanticTokensBuilder=class{constructor(){this._prevData=void 0,this.initialize()}initialize(){this._id=Date.now(),this._prevLine=0,this._prevChar=0,this._data=[],this._dataLen=0}push(t,e,r,i,n){let s=t,o=e;this._dataLen>0&&(s-=this._prevLine,0===s&&(o-=this._prevChar)),this._data[this._dataLen++]=s,this._data[this._dataLen++]=o,this._data[this._dataLen++]=r,this._data[this._dataLen++]=i,this._data[this._dataLen++]=n,this._prevLine=t,this._prevChar=e}get id(){return this._id.toString()}previousResult(t){this.id===t&&(this._prevData=this._data),this.initialize()}build(){return this._prevData=void 0,{resultId:this.id,data:this._data}}canBuildEdits(){return void 0!==this._prevData}buildEdits(){return void 0!==this._prevData?{resultId:this.id,edits:new n(this._prevData,this._data).computeDiff()}:this.build()}}},function(t,e,r){"use strict";var i=this&&this.__createBinding||(Object.create?function(t,e,r,i){void 0===i&&(i=r);var n=Object.getOwnPropertyDescriptor(e,r);n&&!("get"in n?!e.__esModule:n.writable||n.configurable)||(n={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,i,n)}:function(t,e,r,i){void 0===i&&(i=r),t[i]=e[r]}),n=this&&this.__exportStar||function(t,e){for(var r in t)"default"===r||Object.prototype.hasOwnProperty.call(e,r)||i(e,t,r)};Object.defineProperty(e,"__esModule",{value:!0}),e.createProtocolConnection=void 0;const s=r(5);n(r(5),e),n(r(22),e),e.createProtocolConnection=function(t,e,r,i){return(0,s.createMessageConnection)(t,e,r,i)}},(t,e,r)=>{"use strict";t.exports=r(6)},function(t,e,r){"use strict";var i=this&&this.__createBinding||(Object.create?function(t,e,r,i){void 0===i&&(i=r);var n=Object.getOwnPropertyDescriptor(e,r);n&&!("get"in n?!e.__esModule:n.writable||n.configurable)||(n={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,i,n)}:function(t,e,r,i){void 0===i&&(i=r),t[i]=e[r]}),n=this&&this.__exportStar||function(t,e){for(var r in t)"default"===r||Object.prototype.hasOwnProperty.call(e,r)||i(e,t,r)};Object.defineProperty(e,"__esModule",{value:!0}),e.createMessageConnection=e.BrowserMessageWriter=e.BrowserMessageReader=void 0;r(7).default.install();const s=r(8);n(r(8),e);class o extends s.AbstractMessageReader{constructor(t){super(),this._onData=new s.Emitter,this._messageListener=t=>{this._onData.fire(t.data)},t.addEventListener("error",(t=>this.fireError(t))),t.onmessage=this._messageListener}listen(t){return this._onData.event(t)}}e.BrowserMessageReader=o;class a extends s.AbstractMessageWriter{constructor(t){super(),this.port=t,this.errorCount=0,t.addEventListener("error",(t=>this.fireError(t)))}write(t){try{return this.port.postMessage(t),Promise.resolve()}catch(e){return this.handleError(e,t),Promise.reject(e)}}handleError(t,e){this.errorCount++,this.fireError(t,e,this.errorCount)}end(){}}e.BrowserMessageWriter=a,e.createMessageConnection=function(t,e,r,i){return void 0===r&&(r=s.NullLogger),s.ConnectionStrategy.is(i)&&(i={connectionStrategy:i}),(0,s.createMessageConnection)(t,e,r,i)}},(t,e,r)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0});const i=r(8);class n extends i.AbstractMessageBuffer{constructor(t="utf-8"){super(t),this.asciiDecoder=new TextDecoder("ascii")}emptyBuffer(){return n.emptyBuffer}fromString(t,e){return(new TextEncoder).encode(t)}toString(t,e){return"ascii"===e?this.asciiDecoder.decode(t):new TextDecoder(e).decode(t)}asNative(t,e){return void 0===e?t:t.slice(0,e)}allocNative(t){return new Uint8Array(t)}}n.emptyBuffer=new Uint8Array(0);class s{constructor(t){this.socket=t,this._onData=new i.Emitter,this._messageListener=t=>{t.data.arrayBuffer().then((t=>{this._onData.fire(new Uint8Array(t))}),(()=>{(0,i.RAL)().console.error("Converting blob to array buffer failed.")}))},this.socket.addEventListener("message",this._messageListener)}onClose(t){return this.socket.addEventListener("close",t),i.Disposable.create((()=>this.socket.removeEventListener("close",t)))}onError(t){return this.socket.addEventListener("error",t),i.Disposable.create((()=>this.socket.removeEventListener("error",t)))}onEnd(t){return this.socket.addEventListener("end",t),i.Disposable.create((()=>this.socket.removeEventListener("end",t)))}onData(t){return this._onData.event(t)}}class o{constructor(t){this.socket=t}onClose(t){return this.socket.addEventListener("close",t),i.Disposable.create((()=>this.socket.removeEventListener("close",t)))}onError(t){return this.socket.addEventListener("error",t),i.Disposable.create((()=>this.socket.removeEventListener("error",t)))}onEnd(t){return this.socket.addEventListener("end",t),i.Disposable.create((()=>this.socket.removeEventListener("end",t)))}write(t,e){if("string"==typeof t){if(void 0!==e&&"utf-8"!==e)throw new Error(`In a Browser environments only utf-8 text encoding is supported. But got encoding: ${e}`);this.socket.send(t)}else this.socket.send(t);return Promise.resolve()}end(){this.socket.close()}}const a=new TextEncoder,E=Object.freeze({messageBuffer:Object.freeze({create:t=>new n(t)}),applicationJson:Object.freeze({encoder:Object.freeze({name:"application/json",encode:(t,e)=>{if("utf-8"!==e.charset)throw new Error(`In a Browser environments only utf-8 text encoding is supported. But got encoding: ${e.charset}`);return Promise.resolve(a.encode(JSON.stringify(t,void 0,0)))}}),decoder:Object.freeze({name:"application/json",decode:(t,e)=>{if(!(t instanceof Uint8Array))throw new Error("In a Browser environments only Uint8Arrays are supported.");return Promise.resolve(JSON.parse(new TextDecoder(e.charset).decode(t)))}})}),stream:Object.freeze({asReadableStream:t=>new s(t),asWritableStream:t=>new o(t)}),console,timer:Object.freeze({setTimeout(t,e,...r){const i=setTimeout(t,e,...r);return{dispose:()=>clearTimeout(i)}},setImmediate(t,...e){const r=setTimeout(t,0,...e);return{dispose:()=>clearTimeout(r)}},setInterval(t,e,...r){const i=setInterval(t,e,...r);return{dispose:()=>clearInterval(i)}}})});function h(){return E}!function(t){t.install=function(){i.RAL.install(E)}}(h||(h={})),e.default=h},(t,e,r)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ProgressType=e.ProgressToken=e.createMessageConnection=e.NullLogger=e.ConnectionOptions=e.ConnectionStrategy=e.AbstractMessageBuffer=e.WriteableStreamMessageWriter=e.AbstractMessageWriter=e.MessageWriter=e.ReadableStreamMessageReader=e.AbstractMessageReader=e.MessageReader=e.SharedArrayReceiverStrategy=e.SharedArraySenderStrategy=e.CancellationToken=e.CancellationTokenSource=e.Emitter=e.Event=e.Disposable=e.LRUCache=e.Touch=e.LinkedMap=e.ParameterStructures=e.NotificationType9=e.NotificationType8=e.NotificationType7=e.NotificationType6=e.NotificationType5=e.NotificationType4=e.NotificationType3=e.NotificationType2=e.NotificationType1=e.NotificationType0=e.NotificationType=e.ErrorCodes=e.ResponseError=e.RequestType9=e.RequestType8=e.RequestType7=e.RequestType6=e.RequestType5=e.RequestType4=e.RequestType3=e.RequestType2=e.RequestType1=e.RequestType0=e.RequestType=e.Message=e.RAL=void 0,e.MessageStrategy=e.CancellationStrategy=e.CancellationSenderStrategy=e.CancellationReceiverStrategy=e.ConnectionError=e.ConnectionErrors=e.LogTraceNotification=e.SetTraceNotification=e.TraceFormat=e.TraceValues=e.Trace=void 0;const i=r(9);Object.defineProperty(e,"Message",{enumerable:!0,get:function(){return i.Message}}),Object.defineProperty(e,"RequestType",{enumerable:!0,get:function(){return i.RequestType}}),Object.defineProperty(e,"RequestType0",{enumerable:!0,get:function(){return i.RequestType0}}),Object.defineProperty(e,"RequestType1",{enumerable:!0,get:function(){return i.RequestType1}}),Object.defineProperty(e,"RequestType2",{enumerable:!0,get:function(){return i.RequestType2}}),Object.defineProperty(e,"RequestType3",{enumerable:!0,get:function(){return i.RequestType3}}),Object.defineProperty(e,"RequestType4",{enumerable:!0,get:function(){return i.RequestType4}}),Object.defineProperty(e,"RequestType5",{enumerable:!0,get:function(){return i.RequestType5}}),Object.defineProperty(e,"RequestType6",{enumerable:!0,get:function(){return i.RequestType6}}),Object.defineProperty(e,"RequestType7",{enumerable:!0,get:function(){return i.RequestType7}}),Object.defineProperty(e,"RequestType8",{enumerable:!0,get:function(){return i.RequestType8}}),Object.defineProperty(e,"RequestType9",{enumerable:!0,get:function(){return i.RequestType9}}),Object.defineProperty(e,"ResponseError",{enumerable:!0,get:function(){return i.ResponseError}}),Object.defineProperty(e,"ErrorCodes",{enumerable:!0,get:function(){return i.ErrorCodes}}),Object.defineProperty(e,"NotificationType",{enumerable:!0,get:function(){return i.NotificationType}}),Object.defineProperty(e,"NotificationType0",{enumerable:!0,get:function(){return i.NotificationType0}}),Object.defineProperty(e,"NotificationType1",{enumerable:!0,get:function(){return i.NotificationType1}}),Object.defineProperty(e,"NotificationType2",{enumerable:!0,get:function(){return i.NotificationType2}}),Object.defineProperty(e,"NotificationType3",{enumerable:!0,get:function(){return i.NotificationType3}}),Object.defineProperty(e,"NotificationType4",{enumerable:!0,get:function(){return i.NotificationType4}}),Object.defineProperty(e,"NotificationType5",{enumerable:!0,get:function(){return i.NotificationType5}}),Object.defineProperty(e,"NotificationType6",{enumerable:!0,get:function(){return i.NotificationType6}}),Object.defineProperty(e,"NotificationType7",{enumerable:!0,get:function(){return i.NotificationType7}}),Object.defineProperty(e,"NotificationType8",{enumerable:!0,get:function(){return i.NotificationType8}}),Object.defineProperty(e,"NotificationType9",{enumerable:!0,get:function(){return i.NotificationType9}}),Object.defineProperty(e,"ParameterStructures",{enumerable:!0,get:function(){return i.ParameterStructures}});const n=r(11);Object.defineProperty(e,"LinkedMap",{enumerable:!0,get:function(){return n.LinkedMap}}),Object.defineProperty(e,"LRUCache",{enumerable:!0,get:function(){return n.LRUCache}}),Object.defineProperty(e,"Touch",{enumerable:!0,get:function(){return n.Touch}});const s=r(12);Object.defineProperty(e,"Disposable",{enumerable:!0,get:function(){return s.Disposable}});const o=r(13);Object.defineProperty(e,"Event",{enumerable:!0,get:function(){return o.Event}}),Object.defineProperty(e,"Emitter",{enumerable:!0,get:function(){return o.Emitter}});const a=r(15);Object.defineProperty(e,"CancellationTokenSource",{enumerable:!0,get:function(){return a.CancellationTokenSource}}),Object.defineProperty(e,"CancellationToken",{enumerable:!0,get:function(){return a.CancellationToken}});const E=r(16);Object.defineProperty(e,"SharedArraySenderStrategy",{enumerable:!0,get:function(){return E.SharedArraySenderStrategy}}),Object.defineProperty(e,"SharedArrayReceiverStrategy",{enumerable:!0,get:function(){return E.SharedArrayReceiverStrategy}});const h=r(17);Object.defineProperty(e,"MessageReader",{enumerable:!0,get:function(){return h.MessageReader}}),Object.defineProperty(e,"AbstractMessageReader",{enumerable:!0,get:function(){return h.AbstractMessageReader}}),Object.defineProperty(e,"ReadableStreamMessageReader",{enumerable:!0,get:function(){return h.ReadableStreamMessageReader}});const l=r(19);Object.defineProperty(e,"MessageWriter",{enumerable:!0,get:function(){return l.MessageWriter}}),Object.defineProperty(e,"AbstractMessageWriter",{enumerable:!0,get:function(){return l.AbstractMessageWriter}}),Object.defineProperty(e,"WriteableStreamMessageWriter",{enumerable:!0,get:function(){return l.WriteableStreamMessageWriter}});const u=r(20);Object.defineProperty(e,"AbstractMessageBuffer",{enumerable:!0,get:function(){return u.AbstractMessageBuffer}});const c=r(21);Object.defineProperty(e,"ConnectionStrategy",{enumerable:!0,get:function(){return c.ConnectionStrategy}}),Object.defineProperty(e,"ConnectionOptions",{enumerable:!0,get:function(){return c.ConnectionOptions}}),Object.defineProperty(e,"NullLogger",{enumerable:!0,get:function(){return c.NullLogger}}),Object.defineProperty(e,"createMessageConnection",{enumerable:!0,get:function(){return c.createMessageConnection}}),Object.defineProperty(e,"ProgressToken",{enumerable:!0,get:function(){return c.ProgressToken}}),Object.defineProperty(e,"ProgressType",{enumerable:!0,get:function(){return c.ProgressType}}),Object.defineProperty(e,"Trace",{enumerable:!0,get:function(){return c.Trace}}),Object.defineProperty(e,"TraceValues",{enumerable:!0,get:function(){return c.TraceValues}}),Object.defineProperty(e,"TraceFormat",{enumerable:!0,get:function(){return c.TraceFormat}}),Object.defineProperty(e,"SetTraceNotification",{enumerable:!0,get:function(){return c.SetTraceNotification}}),Object.defineProperty(e,"LogTraceNotification",{enumerable:!0,get:function(){return c.LogTraceNotification}}),Object.defineProperty(e,"ConnectionErrors",{enumerable:!0,get:function(){return c.ConnectionErrors}}),Object.defineProperty(e,"ConnectionError",{enumerable:!0,get:function(){return c.ConnectionError}}),Object.defineProperty(e,"CancellationReceiverStrategy",{enumerable:!0,get:function(){return c.CancellationReceiverStrategy}}),Object.defineProperty(e,"CancellationSenderStrategy",{enumerable:!0,get:function(){return c.CancellationSenderStrategy}}),Object.defineProperty(e,"CancellationStrategy",{enumerable:!0,get:function(){return c.CancellationStrategy}}),Object.defineProperty(e,"MessageStrategy",{enumerable:!0,get:function(){return c.MessageStrategy}});const T=r(14);e.RAL=T.default},(t,e,r)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.Message=e.NotificationType9=e.NotificationType8=e.NotificationType7=e.NotificationType6=e.NotificationType5=e.NotificationType4=e.NotificationType3=e.NotificationType2=e.NotificationType1=e.NotificationType0=e.NotificationType=e.RequestType9=e.RequestType8=e.RequestType7=e.RequestType6=e.RequestType5=e.RequestType4=e.RequestType3=e.RequestType2=e.RequestType1=e.RequestType=e.RequestType0=e.AbstractMessageSignature=e.ParameterStructures=e.ResponseError=e.ErrorCodes=void 0;const i=r(10);var n;!function(t){t.ParseError=-32700,t.InvalidRequest=-32600,t.MethodNotFound=-32601,t.InvalidParams=-32602,t.InternalError=-32603,t.jsonrpcReservedErrorRangeStart=-32099,t.serverErrorStart=-32099,t.MessageWriteError=-32099,t.MessageReadError=-32098,t.PendingResponseRejected=-32097,t.ConnectionInactive=-32096,t.ServerNotInitialized=-32002,t.UnknownErrorCode=-32001,t.jsonrpcReservedErrorRangeEnd=-32e3,t.serverErrorEnd=-32e3}(n=e.ErrorCodes||(e.ErrorCodes={}));class s extends Error{constructor(t,e,r){super(e),this.code=i.number(t)?t:n.UnknownErrorCode,this.data=r,Object.setPrototypeOf(this,s.prototype)}toJson(){const t={code:this.code,message:this.message};return void 0!==this.data&&(t.data=this.data),t}}e.ResponseError=s;class o{constructor(t){this.kind=t}static is(t){return t===o.auto||t===o.byName||t===o.byPosition}toString(){return this.kind}}e.ParameterStructures=o,o.auto=new o("auto"),o.byPosition=new o("byPosition"),o.byName=new o("byName");class a{constructor(t,e){this.method=t,this.numberOfParams=e}get parameterStructures(){return o.auto}}e.AbstractMessageSignature=a;e.RequestType0=class extends a{constructor(t){super(t,0)}};e.RequestType=class extends a{constructor(t,e=o.auto){super(t,1),this._parameterStructures=e}get parameterStructures(){return this._parameterStructures}};e.RequestType1=class extends a{constructor(t,e=o.auto){super(t,1),this._parameterStructures=e}get parameterStructures(){return this._parameterStructures}};e.RequestType2=class extends a{constructor(t){super(t,2)}};e.RequestType3=class extends a{constructor(t){super(t,3)}};e.RequestType4=class extends a{constructor(t){super(t,4)}};e.RequestType5=class extends a{constructor(t){super(t,5)}};e.RequestType6=class extends a{constructor(t){super(t,6)}};e.RequestType7=class extends a{constructor(t){super(t,7)}};e.RequestType8=class extends a{constructor(t){super(t,8)}};e.RequestType9=class extends a{constructor(t){super(t,9)}};e.NotificationType=class extends a{constructor(t,e=o.auto){super(t,1),this._parameterStructures=e}get parameterStructures(){return this._parameterStructures}};e.NotificationType0=class extends a{constructor(t){super(t,0)}};e.NotificationType1=class extends a{constructor(t,e=o.auto){super(t,1),this._parameterStructures=e}get parameterStructures(){return this._parameterStructures}};e.NotificationType2=class extends a{constructor(t){super(t,2)}};e.NotificationType3=class extends a{constructor(t){super(t,3)}};e.NotificationType4=class extends a{constructor(t){super(t,4)}};e.NotificationType5=class extends a{constructor(t){super(t,5)}};e.NotificationType6=class extends a{constructor(t){super(t,6)}};e.NotificationType7=class extends a{constructor(t){super(t,7)}};e.NotificationType8=class extends a{constructor(t){super(t,8)}};e.NotificationType9=class extends a{constructor(t){super(t,9)}},function(t){t.isRequest=function(t){const e=t;return e&&i.string(e.method)&&(i.string(e.id)||i.number(e.id))},t.isNotification=function(t){const e=t;return e&&i.string(e.method)&&void 0===t.id},t.isResponse=function(t){const e=t;return e&&(void 0!==e.result||!!e.error)&&(i.string(e.id)||i.number(e.id)||null===e.id)}}(e.Message||(e.Message={}))},(t,e)=>{"use strict";function r(t){return"string"==typeof t||t instanceof String}function i(t){return Array.isArray(t)}Object.defineProperty(e,"__esModule",{value:!0}),e.stringArray=e.array=e.func=e.error=e.number=e.string=e.boolean=void 0,e.boolean=function(t){return!0===t||!1===t},e.string=r,e.number=function(t){return"number"==typeof t||t instanceof Number},e.error=function(t){return t instanceof Error},e.func=function(t){return"function"==typeof t},e.array=i,e.stringArray=function(t){return i(t)&&t.every((t=>r(t)))}},(t,e)=>{"use strict";var r,i;Object.defineProperty(e,"__esModule",{value:!0}),e.LRUCache=e.LinkedMap=e.Touch=void 0,function(t){t.None=0,t.First=1,t.AsOld=t.First,t.Last=2,t.AsNew=t.Last}(i=e.Touch||(e.Touch={}));class n{constructor(){this[r]="LinkedMap",this._map=new Map,this._head=void 0,this._tail=void 0,this._size=0,this._state=0}clear(){this._map.clear(),this._head=void 0,this._tail=void 0,this._size=0,this._state++}isEmpty(){return!this._head&&!this._tail}get size(){return this._size}get first(){return this._head?.value}get last(){return this._tail?.value}has(t){return this._map.has(t)}get(t,e=i.None){const r=this._map.get(t);if(r)return e!==i.None&&this.touch(r,e),r.value}set(t,e,r=i.None){let n=this._map.get(t);if(n)n.value=e,r!==i.None&&this.touch(n,r);else{switch(n={key:t,value:e,next:void 0,previous:void 0},r){case i.None:this.addItemLast(n);break;case i.First:this.addItemFirst(n);break;case i.Last:default:this.addItemLast(n)}this._map.set(t,n),this._size++}return this}delete(t){return!!this.remove(t)}remove(t){const e=this._map.get(t);if(e)return this._map.delete(t),this.removeItem(e),this._size--,e.value}shift(){if(!this._head&&!this._tail)return;if(!this._head||!this._tail)throw new Error("Invalid list");const t=this._head;return this._map.delete(t.key),this.removeItem(t),this._size--,t.value}forEach(t,e){const r=this._state;let i=this._head;for(;i;){if(e?t.bind(e)(i.value,i.key,this):t(i.value,i.key,this),this._state!==r)throw new Error("LinkedMap got modified during iteration.");i=i.next}}keys(){const t=this._state;let e=this._head;const r={[Symbol.iterator]:()=>r,next:()=>{if(this._state!==t)throw new Error("LinkedMap got modified during iteration.");if(e){const t={value:e.key,done:!1};return e=e.next,t}return{value:void 0,done:!0}}};return r}values(){const t=this._state;let e=this._head;const r={[Symbol.iterator]:()=>r,next:()=>{if(this._state!==t)throw new Error("LinkedMap got modified during iteration.");if(e){const t={value:e.value,done:!1};return e=e.next,t}return{value:void 0,done:!0}}};return r}entries(){const t=this._state;let e=this._head;const r={[Symbol.iterator]:()=>r,next:()=>{if(this._state!==t)throw new Error("LinkedMap got modified during iteration.");if(e){const t={value:[e.key,e.value],done:!1};return e=e.next,t}return{value:void 0,done:!0}}};return r}[(r=Symbol.toStringTag,Symbol.iterator)](){return this.entries()}trimOld(t){if(t>=this.size)return;if(0===t)return void this.clear();let e=this._head,r=this.size;for(;e&&r>t;)this._map.delete(e.key),e=e.next,r--;this._head=e,this._size=r,e&&(e.previous=void 0),this._state++}addItemFirst(t){if(this._head||this._tail){if(!this._head)throw new Error("Invalid list");t.next=this._head,this._head.previous=t}else this._tail=t;this._head=t,this._state++}addItemLast(t){if(this._head||this._tail){if(!this._tail)throw new Error("Invalid list");t.previous=this._tail,this._tail.next=t}else this._head=t;this._tail=t,this._state++}removeItem(t){if(t===this._head&&t===this._tail)this._head=void 0,this._tail=void 0;else if(t===this._head){if(!t.next)throw new Error("Invalid list");t.next.previous=void 0,this._head=t.next}else if(t===this._tail){if(!t.previous)throw new Error("Invalid list");t.previous.next=void 0,this._tail=t.previous}else{const e=t.next,r=t.previous;if(!e||!r)throw new Error("Invalid list");e.previous=r,r.next=e}t.next=void 0,t.previous=void 0,this._state++}touch(t,e){if(!this._head||!this._tail)throw new Error("Invalid list");if(e===i.First||e===i.Last)if(e===i.First){if(t===this._head)return;const e=t.next,r=t.previous;t===this._tail?(r.next=void 0,this._tail=r):(e.previous=r,r.next=e),t.previous=void 0,t.next=this._head,this._head.previous=t,this._head=t,this._state++}else if(e===i.Last){if(t===this._tail)return;const e=t.next,r=t.previous;t===this._head?(e.previous=void 0,this._head=e):(e.previous=r,r.next=e),t.next=void 0,t.previous=this._tail,this._tail.next=t,this._tail=t,this._state++}}toJSON(){const t=[];return this.forEach(((e,r)=>{t.push([r,e])})),t}fromJSON(t){this.clear();for(const[e,r]of t)this.set(e,r)}}e.LinkedMap=n;e.LRUCache=class extends n{constructor(t,e=1){super(),this._limit=t,this._ratio=Math.min(Math.max(0,e),1)}get limit(){return this._limit}set limit(t){this._limit=t,this.checkTrim()}get ratio(){return this._ratio}set ratio(t){this._ratio=Math.min(Math.max(0,t),1),this.checkTrim()}get(t,e=i.AsNew){return super.get(t,e)}peek(t){return super.get(t,i.None)}set(t,e){return super.set(t,e,i.Last),this.checkTrim(),this}checkTrim(){this.size>this._limit&&this.trimOld(Math.round(this._limit*this._ratio))}}},(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.Disposable=void 0,function(t){t.create=function(t){return{dispose:t}}}(e.Disposable||(e.Disposable={}))},(t,e,r)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.Emitter=e.Event=void 0;const i=r(14);!function(t){const e={dispose(){}};t.None=function(){return e}}(e.Event||(e.Event={}));class n{add(t,e=null,r){this._callbacks||(this._callbacks=[],this._contexts=[]),this._callbacks.push(t),this._contexts.push(e),Array.isArray(r)&&r.push({dispose:()=>this.remove(t,e)})}remove(t,e=null){if(!this._callbacks)return;let r=!1;for(let i=0,n=this._callbacks.length;i<n;i++)if(this._callbacks[i]===t){if(this._contexts[i]===e)return this._callbacks.splice(i,1),void this._contexts.splice(i,1);r=!0}if(r)throw new Error("When adding a listener with a context, you should remove it with the same context")}invoke(...t){if(!this._callbacks)return[];const e=[],r=this._callbacks.slice(0),n=this._contexts.slice(0);for(let s=0,o=r.length;s<o;s++)try{e.push(r[s].apply(n[s],t))}catch(t){(0,i.default)().console.error(t)}return e}isEmpty(){return!this._callbacks||0===this._callbacks.length}dispose(){this._callbacks=void 0,this._contexts=void 0}}class s{constructor(t){this._options=t}get event(){return this._event||(this._event=(t,e,r)=>{this._callbacks||(this._callbacks=new n),this._options&&this._options.onFirstListenerAdd&&this._callbacks.isEmpty()&&this._options.onFirstListenerAdd(this),this._callbacks.add(t,e);const i={dispose:()=>{this._callbacks&&(this._callbacks.remove(t,e),i.dispose=s._noop,this._options&&this._options.onLastListenerRemove&&this._callbacks.isEmpty()&&this._options.onLastListenerRemove(this))}};return Array.isArray(r)&&r.push(i),i}),this._event}fire(t){this._callbacks&&this._callbacks.invoke.call(this._callbacks,t)}dispose(){this._callbacks&&(this._callbacks.dispose(),this._callbacks=void 0)}}e.Emitter=s,s._noop=function(){}},(t,e)=>{"use strict";let r;function i(){if(void 0===r)throw new Error("No runtime abstraction layer installed");return r}Object.defineProperty(e,"__esModule",{value:!0}),function(t){t.install=function(t){if(void 0===t)throw new Error("No runtime abstraction layer provided");r=t}}(i||(i={})),e.default=i},(t,e,r)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.CancellationTokenSource=e.CancellationToken=void 0;const i=r(14),n=r(10),s=r(13);var o;!function(t){t.None=Object.freeze({isCancellationRequested:!1,onCancellationRequested:s.Event.None}),t.Cancelled=Object.freeze({isCancellationRequested:!0,onCancellationRequested:s.Event.None}),t.is=function(e){const r=e;return r&&(r===t.None||r===t.Cancelled||n.boolean(r.isCancellationRequested)&&!!r.onCancellationRequested)}}(o=e.CancellationToken||(e.CancellationToken={}));const a=Object.freeze((function(t,e){const r=(0,i.default)().timer.setTimeout(t.bind(e),0);return{dispose(){r.dispose()}}}));class E{constructor(){this._isCancelled=!1}cancel(){this._isCancelled||(this._isCancelled=!0,this._emitter&&(this._emitter.fire(void 0),this.dispose()))}get isCancellationRequested(){return this._isCancelled}get onCancellationRequested(){return this._isCancelled?a:(this._emitter||(this._emitter=new s.Emitter),this._emitter.event)}dispose(){this._emitter&&(this._emitter.dispose(),this._emitter=void 0)}}e.CancellationTokenSource=class{get token(){return this._token||(this._token=new E),this._token}cancel(){this._token?this._token.cancel():this._token=o.Cancelled}dispose(){this._token?this._token instanceof E&&this._token.dispose():this._token=o.None}}},(t,e,r)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.SharedArrayReceiverStrategy=e.SharedArraySenderStrategy=void 0;const i=r(15);var n;!function(t){t.Continue=0,t.Cancelled=1}(n||(n={}));e.SharedArraySenderStrategy=class{constructor(){this.buffers=new Map}enableCancellation(t){if(null===t.id)return;const e=new SharedArrayBuffer(4);new Int32Array(e,0,1)[0]=n.Continue,this.buffers.set(t.id,e),t.$cancellationData=e}async sendCancellation(t,e){const r=this.buffers.get(e);if(void 0===r)return;const i=new Int32Array(r,0,1);Atomics.store(i,0,n.Cancelled)}cleanup(t){this.buffers.delete(t)}dispose(){this.buffers.clear()}};class s{constructor(t){this.data=new Int32Array(t,0,1)}get isCancellationRequested(){return Atomics.load(this.data,0)===n.Cancelled}get onCancellationRequested(){throw new Error("Cancellation over SharedArrayBuffer doesn't support cancellation events")}}class o{constructor(t){this.token=new s(t)}cancel(){}dispose(){}}e.SharedArrayReceiverStrategy=class{constructor(){this.kind="request"}createCancellationTokenSource(t){const e=t.$cancellationData;return void 0===e?new i.CancellationTokenSource:new o(e)}}},(t,e,r)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ReadableStreamMessageReader=e.AbstractMessageReader=e.MessageReader=void 0;const i=r(14),n=r(10),s=r(13),o=r(18);var a;!function(t){t.is=function(t){let e=t;return e&&n.func(e.listen)&&n.func(e.dispose)&&n.func(e.onError)&&n.func(e.onClose)&&n.func(e.onPartialMessage)}}(e.MessageReader||(e.MessageReader={}));class E{constructor(){this.errorEmitter=new s.Emitter,this.closeEmitter=new s.Emitter,this.partialMessageEmitter=new s.Emitter}dispose(){this.errorEmitter.dispose(),this.closeEmitter.dispose()}get onError(){return this.errorEmitter.event}fireError(t){this.errorEmitter.fire(this.asError(t))}get onClose(){return this.closeEmitter.event}fireClose(){this.closeEmitter.fire(void 0)}get onPartialMessage(){return this.partialMessageEmitter.event}firePartialMessage(t){this.partialMessageEmitter.fire(t)}asError(t){return t instanceof Error?t:new Error(`Reader received error. Reason: ${n.string(t.message)?t.message:"unknown"}`)}}e.AbstractMessageReader=E,function(t){t.fromOptions=function(t){let e,r;const n=new Map;let s;const o=new Map;if(void 0===t||"string"==typeof t)e=t??"utf-8";else{if(e=t.charset??"utf-8",void 0!==t.contentDecoder&&(r=t.contentDecoder,n.set(r.name,r)),void 0!==t.contentDecoders)for(const e of t.contentDecoders)n.set(e.name,e);if(void 0!==t.contentTypeDecoder&&(s=t.contentTypeDecoder,o.set(s.name,s)),void 0!==t.contentTypeDecoders)for(const e of t.contentTypeDecoders)o.set(e.name,e)}return void 0===s&&(s=(0,i.default)().applicationJson.decoder,o.set(s.name,s)),{charset:e,contentDecoder:r,contentDecoders:n,contentTypeDecoder:s,contentTypeDecoders:o}}}(a||(a={}));e.ReadableStreamMessageReader=class extends E{constructor(t,e){super(),this.readable=t,this.options=a.fromOptions(e),this.buffer=(0,i.default)().messageBuffer.create(this.options.charset),this._partialMessageTimeout=1e4,this.nextMessageLength=-1,this.messageToken=0,this.readSemaphore=new o.Semaphore(1)}set partialMessageTimeout(t){this._partialMessageTimeout=t}get partialMessageTimeout(){return this._partialMessageTimeout}listen(t){this.nextMessageLength=-1,this.messageToken=0,this.partialMessageTimer=void 0,this.callback=t;const e=this.readable.onData((t=>{this.onData(t)}));return this.readable.onError((t=>this.fireError(t))),this.readable.onClose((()=>this.fireClose())),e}onData(t){for(this.buffer.append(t);;){if(-1===this.nextMessageLength){const t=this.buffer.tryReadHeaders(!0);if(!t)return;const e=t.get("content-length");if(!e)return void this.fireError(new Error("Header must provide a Content-Length property."));const r=parseInt(e);if(isNaN(r))return void this.fireError(new Error("Content-Length value must be a number."));this.nextMessageLength=r}const t=this.buffer.tryReadBody(this.nextMessageLength);if(void 0===t)return void this.setPartialMessageTimer();this.clearPartialMessageTimer(),this.nextMessageLength=-1,this.readSemaphore.lock((async()=>{const e=void 0!==this.options.contentDecoder?await this.options.contentDecoder.decode(t):t,r=await this.options.contentTypeDecoder.decode(e,this.options);this.callback(r)})).catch((t=>{this.fireError(t)}))}}clearPartialMessageTimer(){this.partialMessageTimer&&(this.partialMessageTimer.dispose(),this.partialMessageTimer=void 0)}setPartialMessageTimer(){this.clearPartialMessageTimer(),this._partialMessageTimeout<=0||(this.partialMessageTimer=(0,i.default)().timer.setTimeout(((t,e)=>{this.partialMessageTimer=void 0,t===this.messageToken&&(this.firePartialMessage({messageToken:t,waitingTime:e}),this.setPartialMessageTimer())}),this._partialMessageTimeout,this.messageToken,this._partialMessageTimeout))}}},(t,e,r)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.Semaphore=void 0;const i=r(14);e.Semaphore=class{constructor(t=1){if(t<=0)throw new Error("Capacity must be greater than 0");this._capacity=t,this._active=0,this._waiting=[]}lock(t){return new Promise(((e,r)=>{this._waiting.push({thunk:t,resolve:e,reject:r}),this.runNext()}))}get active(){return this._active}runNext(){0!==this._waiting.length&&this._active!==this._capacity&&(0,i.default)().timer.setImmediate((()=>this.doRunNext()))}doRunNext(){if(0===this._waiting.length||this._active===this._capacity)return;const t=this._waiting.shift();if(this._active++,this._active>this._capacity)throw new Error("To many thunks active");try{const e=t.thunk();e instanceof Promise?e.then((e=>{this._active--,t.resolve(e),this.runNext()}),(e=>{this._active--,t.reject(e),this.runNext()})):(this._active--,t.resolve(e),this.runNext())}catch(e){this._active--,t.reject(e),this.runNext()}}}},(t,e,r)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.WriteableStreamMessageWriter=e.AbstractMessageWriter=e.MessageWriter=void 0;const i=r(14),n=r(10),s=r(18),o=r(13);var a;!function(t){t.is=function(t){let e=t;return e&&n.func(e.dispose)&&n.func(e.onClose)&&n.func(e.onError)&&n.func(e.write)}}(e.MessageWriter||(e.MessageWriter={}));class E{constructor(){this.errorEmitter=new o.Emitter,this.closeEmitter=new o.Emitter}dispose(){this.errorEmitter.dispose(),this.closeEmitter.dispose()}get onError(){return this.errorEmitter.event}fireError(t,e,r){this.errorEmitter.fire([this.asError(t),e,r])}get onClose(){return this.closeEmitter.event}fireClose(){this.closeEmitter.fire(void 0)}asError(t){return t instanceof Error?t:new Error(`Writer received error. Reason: ${n.string(t.message)?t.message:"unknown"}`)}}e.AbstractMessageWriter=E,function(t){t.fromOptions=function(t){return void 0===t||"string"==typeof t?{charset:t??"utf-8",contentTypeEncoder:(0,i.default)().applicationJson.encoder}:{charset:t.charset??"utf-8",contentEncoder:t.contentEncoder,contentTypeEncoder:t.contentTypeEncoder??(0,i.default)().applicationJson.encoder}}}(a||(a={}));e.WriteableStreamMessageWriter=class extends E{constructor(t,e){super(),this.writable=t,this.options=a.fromOptions(e),this.errorCount=0,this.writeSemaphore=new s.Semaphore(1),this.writable.onError((t=>this.fireError(t))),this.writable.onClose((()=>this.fireClose()))}async write(t){return this.writeSemaphore.lock((async()=>this.options.contentTypeEncoder.encode(t,this.options).then((t=>void 0!==this.options.contentEncoder?this.options.contentEncoder.encode(t):t)).then((e=>{const r=[];return r.push("Content-Length: ",e.byteLength.toString(),"\r\n"),r.push("\r\n"),this.doWrite(t,r,e)}),(t=>{throw this.fireError(t),t}))))}async doWrite(t,e,r){try{return await this.writable.write(e.join(""),"ascii"),this.writable.write(r)}catch(e){return this.handleError(e,t),Promise.reject(e)}}handleError(t,e){this.errorCount++,this.fireError(t,e,this.errorCount)}end(){this.writable.end()}}},(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.AbstractMessageBuffer=void 0;e.AbstractMessageBuffer=class{constructor(t="utf-8"){this._encoding=t,this._chunks=[],this._totalLength=0}get encoding(){return this._encoding}append(t){const e="string"==typeof t?this.fromString(t,this._encoding):t;this._chunks.push(e),this._totalLength+=e.byteLength}tryReadHeaders(t=!1){if(0===this._chunks.length)return;let e=0,r=0,i=0,n=0;t:for(;r<this._chunks.length;){const t=this._chunks[r];for(i=0;i<t.length;){switch(t[i]){case 13:switch(e){case 0:e=1;break;case 2:e=3;break;default:e=0}break;case 10:switch(e){case 1:e=2;break;case 3:e=4,i++;break t;default:e=0}break;default:e=0}i++}n+=t.byteLength,r++}if(4!==e)return;const s=this._read(n+i),o=new Map,a=this.toString(s,"ascii").split("\r\n");if(a.length<2)return o;for(let e=0;e<a.length-2;e++){const r=a[e],i=r.indexOf(":");if(-1===i)throw new Error("Message header must separate key and value using :");const n=r.substr(0,i),s=r.substr(i+1).trim();o.set(t?n.toLowerCase():n,s)}return o}tryReadBody(t){if(!(this._totalLength<t))return this._read(t)}get numberOfBytes(){return this._totalLength}_read(t){if(0===t)return this.emptyBuffer();if(t>this._totalLength)throw new Error("Cannot read so many bytes!");if(this._chunks[0].byteLength===t){const e=this._chunks[0];return this._chunks.shift(),this._totalLength-=t,this.asNative(e)}if(this._chunks[0].byteLength>t){const e=this._chunks[0],r=this.asNative(e,t);return this._chunks[0]=e.slice(t),this._totalLength-=t,r}const e=this.allocNative(t);let r=0;for(;t>0;){const i=this._chunks[0];if(i.byteLength>t){const n=i.slice(0,t);e.set(n,r),r+=t,this._chunks[0]=i.slice(t),this._totalLength-=t,t-=t}else e.set(i,r),r+=i.byteLength,this._chunks.shift(),this._totalLength-=i.byteLength,t-=i.byteLength}return e}}},(t,e,r)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.createMessageConnection=e.ConnectionOptions=e.MessageStrategy=e.CancellationStrategy=e.CancellationSenderStrategy=e.CancellationReceiverStrategy=e.RequestCancellationReceiverStrategy=e.IdCancellationReceiverStrategy=e.ConnectionStrategy=e.ConnectionError=e.ConnectionErrors=e.LogTraceNotification=e.SetTraceNotification=e.TraceFormat=e.TraceValues=e.Trace=e.NullLogger=e.ProgressType=e.ProgressToken=void 0;const i=r(14),n=r(10),s=r(9),o=r(11),a=r(13),E=r(15);var h,l,u,c,T,R,p,S,A,d,N,O,C,_,I,L,f;!function(t){t.type=new s.NotificationType("$/cancelRequest")}(h||(h={})),function(t){t.is=function(t){return"string"==typeof t||"number"==typeof t}}(l=e.ProgressToken||(e.ProgressToken={})),function(t){t.type=new s.NotificationType("$/progress")}(u||(u={}));e.ProgressType=class{constructor(){}},function(t){t.is=function(t){return n.func(t)}}(c||(c={})),e.NullLogger=Object.freeze({error:()=>{},warn:()=>{},info:()=>{},log:()=>{}}),function(t){t[t.Off=0]="Off",t[t.Messages=1]="Messages",t[t.Compact=2]="Compact",t[t.Verbose=3]="Verbose"}(T=e.Trace||(e.Trace={})),function(t){t.Off="off",t.Messages="messages",t.Compact="compact",t.Verbose="verbose"}(e.TraceValues||(e.TraceValues={})),function(t){t.fromString=function(e){if(!n.string(e))return t.Off;switch(e=e.toLowerCase()){case"off":default:return t.Off;case"messages":return t.Messages;case"compact":return t.Compact;case"verbose":return t.Verbose}},t.toString=function(e){switch(e){case t.Off:return"off";case t.Messages:return"messages";case t.Compact:return"compact";case t.Verbose:return"verbose";default:return"off"}}}(T=e.Trace||(e.Trace={})),function(t){t.Text="text",t.JSON="json"}(R=e.TraceFormat||(e.TraceFormat={})),function(t){t.fromString=function(e){return n.string(e)&&"json"===(e=e.toLowerCase())?t.JSON:t.Text}}(R=e.TraceFormat||(e.TraceFormat={})),function(t){t.type=new s.NotificationType("$/setTrace")}(p=e.SetTraceNotification||(e.SetTraceNotification={})),function(t){t.type=new s.NotificationType("$/logTrace")}(S=e.LogTraceNotification||(e.LogTraceNotification={})),function(t){t[t.Closed=1]="Closed",t[t.Disposed=2]="Disposed",t[t.AlreadyListening=3]="AlreadyListening"}(A=e.ConnectionErrors||(e.ConnectionErrors={}));class m extends Error{constructor(t,e){super(e),this.code=t,Object.setPrototypeOf(this,m.prototype)}}e.ConnectionError=m,function(t){t.is=function(t){const e=t;return e&&n.func(e.cancelUndispatched)}}(d=e.ConnectionStrategy||(e.ConnectionStrategy={})),function(t){t.is=function(t){const e=t;return e&&(void 0===e.kind||"id"===e.kind)&&n.func(e.createCancellationTokenSource)&&(void 0===e.dispose||n.func(e.dispose))}}(N=e.IdCancellationReceiverStrategy||(e.IdCancellationReceiverStrategy={})),function(t){t.is=function(t){const e=t;return e&&"request"===e.kind&&n.func(e.createCancellationTokenSource)&&(void 0===e.dispose||n.func(e.dispose))}}(O=e.RequestCancellationReceiverStrategy||(e.RequestCancellationReceiverStrategy={})),function(t){t.Message=Object.freeze({createCancellationTokenSource:t=>new E.CancellationTokenSource}),t.is=function(t){return N.is(t)||O.is(t)}}(C=e.CancellationReceiverStrategy||(e.CancellationReceiverStrategy={})),function(t){t.Message=Object.freeze({sendCancellation:(t,e)=>t.sendNotification(h.type,{id:e}),cleanup(t){}}),t.is=function(t){const e=t;return e&&n.func(e.sendCancellation)&&n.func(e.cleanup)}}(_=e.CancellationSenderStrategy||(e.CancellationSenderStrategy={})),function(t){t.Message=Object.freeze({receiver:C.Message,sender:_.Message}),t.is=function(t){const e=t;return e&&C.is(e.receiver)&&_.is(e.sender)}}(I=e.CancellationStrategy||(e.CancellationStrategy={})),function(t){t.is=function(t){const e=t;return e&&n.func(e.handleMessage)}}(L=e.MessageStrategy||(e.MessageStrategy={})),function(t){t.is=function(t){const e=t;return e&&(I.is(e.cancellationStrategy)||d.is(e.connectionStrategy)||L.is(e.messageStrategy))}}(e.ConnectionOptions||(e.ConnectionOptions={})),function(t){t[t.New=1]="New",t[t.Listening=2]="Listening",t[t.Closed=3]="Closed",t[t.Disposed=4]="Disposed"}(f||(f={})),e.createMessageConnection=function(t,r,d,O){const C=void 0!==d?d:e.NullLogger;let _=0,y=0,x=0;const g="2.0";let P;const D=new Map;let M;const v=new Map,U=new Map;let k,b,G=new o.LinkedMap,F=new Map,H=new Set,w=new Map,B=T.Off,V=R.Text,Y=f.New;const W=new a.Emitter,K=new a.Emitter,X=new a.Emitter,q=new a.Emitter,j=new a.Emitter,Q=O&&O.cancellationStrategy?O.cancellationStrategy:I.Message;function z(t){if(null===t)throw new Error("Can't send requests with id null since the response can't be correlated.");return"req-"+t.toString()}function $(t,e){var r;s.Message.isRequest(e)?t.set(z(e.id),e):s.Message.isResponse(e)?t.set(null===(r=e.id)?"res-unknown-"+(++x).toString():"res-"+r.toString(),e):t.set("not-"+(++y).toString(),e)}function J(t){}function Z(){return Y===f.Listening}function tt(){return Y===f.Closed}function et(){return Y===f.Disposed}function rt(){Y!==f.New&&Y!==f.Listening||(Y=f.Closed,K.fire(void 0))}function it(){k||0===G.size||(k=(0,i.default)().timer.setImmediate((()=>{k=void 0,function(){if(0===G.size)return;const t=G.shift();try{const e=O?.messageStrategy;L.is(e)?e.handleMessage(t,nt):nt(t)}finally{it()}}()})))}function nt(t){s.Message.isRequest(t)?function(t){if(et())return;function e(e,i,n){const o={jsonrpc:g,id:t.id};e instanceof s.ResponseError?o.error=e.toJson():o.result=void 0===e?null:e,at(o,i,n),r.write(o).catch((()=>C.error("Sending response failed.")))}function i(e,i,n){const s={jsonrpc:g,id:t.id,error:e.toJson()};at(s,i,n),r.write(s).catch((()=>C.error("Sending response failed.")))}function o(e,i,n){void 0===e&&(e=null);const s={jsonrpc:g,id:t.id,result:e};at(s,i,n),r.write(s).catch((()=>C.error("Sending response failed.")))}!function(t){if(B===T.Off||!b)return;if(V===R.Text){let e;B!==T.Verbose&&B!==T.Compact||!t.params||(e=`Params: ${ot(t.params)}\n\n`),b.log(`Received request '${t.method} - (${t.id})'.`,e)}else ht("receive-request",t)}(t);const a=D.get(t.method);let E,h;a&&(E=a.type,h=a.handler);const l=Date.now();if(h||P){const r=t.id??String(Date.now()),a=N.is(Q.receiver)?Q.receiver.createCancellationTokenSource(r):Q.receiver.createCancellationTokenSource(t);null!==t.id&&H.has(t.id)&&a.cancel(),null!==t.id&&w.set(r,a);try{let u;if(h)if(void 0===t.params){if(void 0!==E&&0!==E.numberOfParams)return void i(new s.ResponseError(s.ErrorCodes.InvalidParams,`Request ${t.method} defines ${E.numberOfParams} params but received none.`),t.method,l);u=h(a.token)}else if(Array.isArray(t.params)){if(void 0!==E&&E.parameterStructures===s.ParameterStructures.byName)return void i(new s.ResponseError(s.ErrorCodes.InvalidParams,`Request ${t.method} defines parameters by name but received parameters by position`),t.method,l);u=h(...t.params,a.token)}else{if(void 0!==E&&E.parameterStructures===s.ParameterStructures.byPosition)return void i(new s.ResponseError(s.ErrorCodes.InvalidParams,`Request ${t.method} defines parameters by position but received parameters by name`),t.method,l);u=h(t.params,a.token)}else P&&(u=P(t.method,t.params,a.token));const c=u;u?c.then?c.then((i=>{w.delete(r),e(i,t.method,l)}),(e=>{w.delete(r),e instanceof s.ResponseError?i(e,t.method,l):e&&n.string(e.message)?i(new s.ResponseError(s.ErrorCodes.InternalError,`Request ${t.method} failed with message: ${e.message}`),t.method,l):i(new s.ResponseError(s.ErrorCodes.InternalError,`Request ${t.method} failed unexpectedly without providing any details.`),t.method,l)})):(w.delete(r),e(u,t.method,l)):(w.delete(r),o(u,t.method,l))}catch(o){w.delete(r),o instanceof s.ResponseError?e(o,t.method,l):o&&n.string(o.message)?i(new s.ResponseError(s.ErrorCodes.InternalError,`Request ${t.method} failed with message: ${o.message}`),t.method,l):i(new s.ResponseError(s.ErrorCodes.InternalError,`Request ${t.method} failed unexpectedly without providing any details.`),t.method,l)}}else i(new s.ResponseError(s.ErrorCodes.MethodNotFound,`Unhandled method ${t.method}`),t.method,l)}(t):s.Message.isNotification(t)?function(t){if(et())return;let e,r;if(t.method===h.type.method){const e=t.params.id;return H.delete(e),void Et(t)}{const i=v.get(t.method);i&&(r=i.handler,e=i.type)}if(r||M)try{if(Et(t),r)if(void 0===t.params)void 0!==e&&0!==e.numberOfParams&&e.parameterStructures!==s.ParameterStructures.byName&&C.error(`Notification ${t.method} defines ${e.numberOfParams} params but received none.`),r();else if(Array.isArray(t.params)){const i=t.params;t.method===u.type.method&&2===i.length&&l.is(i[0])?r({token:i[0],value:i[1]}):(void 0!==e&&(e.parameterStructures===s.ParameterStructures.byName&&C.error(`Notification ${t.method} defines parameters by name but received parameters by position`),e.numberOfParams!==t.params.length&&C.error(`Notification ${t.method} defines ${e.numberOfParams} params but received ${i.length} arguments`)),r(...i))}else void 0!==e&&e.parameterStructures===s.ParameterStructures.byPosition&&C.error(`Notification ${t.method} defines parameters by position but received parameters by name`),r(t.params);else M&&M(t.method,t.params)}catch(e){e.message?C.error(`Notification handler '${t.method}' failed with message: ${e.message}`):C.error(`Notification handler '${t.method}' failed unexpectedly.`)}else X.fire(t)}(t):s.Message.isResponse(t)?function(t){if(et())return;if(null===t.id)t.error?C.error(`Received response message without id: Error is: \n${JSON.stringify(t.error,void 0,4)}`):C.error("Received response message without id. No further error information provided.");else{const e=t.id,r=F.get(e);if(function(t,e){if(B===T.Off||!b)return;if(V===R.Text){let r;if(B!==T.Verbose&&B!==T.Compact||(t.error&&t.error.data?r=`Error data: ${ot(t.error.data)}\n\n`:t.result?r=`Result: ${ot(t.result)}\n\n`:void 0===t.error&&(r="No result returned.\n\n")),e){const i=t.error?` Request failed: ${t.error.message} (${t.error.code}).`:"";b.log(`Received response '${e.method} - (${t.id})' in ${Date.now()-e.timerStart}ms.${i}`,r)}else b.log(`Received response ${t.id} without active response promise.`,r)}else ht("receive-response",t)}(t,r),void 0!==r){F.delete(e);try{if(t.error){const e=t.error;r.reject(new s.ResponseError(e.code,e.message,e.data))}else{if(void 0===t.result)throw new Error("Should never happen.");r.resolve(t.result)}}catch(t){t.message?C.error(`Response handler '${r.method}' failed with message: ${t.message}`):C.error(`Response handler '${r.method}' failed unexpectedly.`)}}}}(t):function(t){if(!t)return void C.error("Received empty message.");C.error(`Received message which is neither a response nor a notification message:\n${JSON.stringify(t,null,4)}`);const e=t;if(n.string(e.id)||n.number(e.id)){const t=e.id,r=F.get(t);r&&r.reject(new Error("The received response has neither a result nor an error property."))}}(t)}t.onClose(rt),t.onError((function(t){W.fire([t,void 0,void 0])})),r.onClose(rt),r.onError((function(t){W.fire(t)}));const st=t=>{try{if(s.Message.isNotification(t)&&t.method===h.type.method){const e=t.params.id,i=z(e),n=G.get(i);if(s.Message.isRequest(n)){const s=O?.connectionStrategy,o=s&&s.cancelUndispatched?s.cancelUndispatched(n,J):void 0;if(o&&(void 0!==o.error||void 0!==o.result))return G.delete(i),w.delete(e),o.id=n.id,at(o,t.method,Date.now()),void r.write(o).catch((()=>C.error("Sending response for canceled message failed.")))}const o=w.get(e);if(void 0!==o)return o.cancel(),void Et(t);H.add(e)}$(G,t)}finally{it()}};function ot(t){if(null!=t)switch(B){case T.Verbose:return JSON.stringify(t,null,4);case T.Compact:return JSON.stringify(t);default:return}}function at(t,e,r){if(B!==T.Off&&b)if(V===R.Text){let i;B!==T.Verbose&&B!==T.Compact||(t.error&&t.error.data?i=`Error data: ${ot(t.error.data)}\n\n`:t.result?i=`Result: ${ot(t.result)}\n\n`:void 0===t.error&&(i="No result returned.\n\n")),b.log(`Sending response '${e} - (${t.id})'. Processing request took ${Date.now()-r}ms`,i)}else ht("send-response",t)}function Et(t){if(B!==T.Off&&b&&t.method!==S.type.method)if(V===R.Text){let e;B!==T.Verbose&&B!==T.Compact||(e=t.params?`Params: ${ot(t.params)}\n\n`:"No parameters provided.\n\n"),b.log(`Received notification '${t.method}'.`,e)}else ht("receive-notification",t)}function ht(t,e){if(!b||B===T.Off)return;const r={isLSPMessage:!0,type:t,message:e,timestamp:Date.now()};b.log(r)}function lt(){if(tt())throw new m(A.Closed,"Connection is closed.");if(et())throw new m(A.Disposed,"Connection is disposed.")}function ut(t){return void 0===t?null:t}function ct(t){return null===t?void 0:t}function Tt(t){return null!=t&&!Array.isArray(t)&&"object"==typeof t}function Rt(t,e){switch(t){case s.ParameterStructures.auto:return Tt(e)?ct(e):[ut(e)];case s.ParameterStructures.byName:if(!Tt(e))throw new Error("Received parameters by name but param is not an object literal.");return ct(e);case s.ParameterStructures.byPosition:return[ut(e)];default:throw new Error(`Unknown parameter structure ${t.toString()}`)}}function pt(t,e){let r;const i=t.numberOfParams;switch(i){case 0:r=void 0;break;case 1:r=Rt(t.parameterStructures,e[0]);break;default:r=[];for(let t=0;t<e.length&&t<i;t++)r.push(ut(e[t]));if(e.length<i)for(let t=e.length;t<i;t++)r.push(null)}return r}const St={sendNotification:(t,...e)=>{let i,o;if(lt(),n.string(t)){i=t;const r=e[0];let n=0,a=s.ParameterStructures.auto;s.ParameterStructures.is(r)&&(n=1,a=r);let E=e.length;const h=E-n;switch(h){case 0:o=void 0;break;case 1:o=Rt(a,e[n]);break;default:if(a===s.ParameterStructures.byName)throw new Error(`Received ${h} parameters for 'by Name' notification parameter structure.`);o=e.slice(n,E).map((t=>ut(t)))}}else{const r=e;i=t.method,o=pt(t,r)}const a={jsonrpc:g,method:i,params:o};return function(t){if(B!==T.Off&&b)if(V===R.Text){let e;B!==T.Verbose&&B!==T.Compact||(e=t.params?`Params: ${ot(t.params)}\n\n`:"No parameters provided.\n\n"),b.log(`Sending notification '${t.method}'.`,e)}else ht("send-notification",t)}(a),r.write(a).catch((t=>{throw C.error("Sending notification failed."),t}))},onNotification:(t,e)=>{let r;return lt(),n.func(t)?M=t:e&&(n.string(t)?(r=t,v.set(t,{type:void 0,handler:e})):(r=t.method,v.set(t.method,{type:t,handler:e}))),{dispose:()=>{void 0!==r?v.delete(r):M=void 0}}},onProgress:(t,e,r)=>{if(U.has(e))throw new Error(`Progress handler for token ${e} already registered`);return U.set(e,r),{dispose:()=>{U.delete(e)}}},sendProgress:(t,e,r)=>St.sendNotification(u.type,{token:e,value:r}),onUnhandledProgress:q.event,sendRequest:(t,...e)=>{let i,o,a;if(lt(),function(){if(!Z())throw new Error("Call listen() first.")}(),n.string(t)){i=t;const r=e[0],n=e[e.length-1];let h=0,l=s.ParameterStructures.auto;s.ParameterStructures.is(r)&&(h=1,l=r);let u=e.length;E.CancellationToken.is(n)&&(u-=1,a=n);const c=u-h;switch(c){case 0:o=void 0;break;case 1:o=Rt(l,e[h]);break;default:if(l===s.ParameterStructures.byName)throw new Error(`Received ${c} parameters for 'by Name' request parameter structure.`);o=e.slice(h,u).map((t=>ut(t)))}}else{const r=e;i=t.method,o=pt(t,r);const n=t.numberOfParams;a=E.CancellationToken.is(r[n])?r[n]:void 0}const h=_++;let l;a&&(l=a.onCancellationRequested((()=>{const t=Q.sender.sendCancellation(St,h);return void 0===t?(C.log(`Received no promise from cancellation strategy when cancelling id ${h}`),Promise.resolve()):t.catch((()=>{C.log(`Sending cancellation messages for id ${h} failed`)}))})));const u={jsonrpc:g,id:h,method:i,params:o};return function(t){if(B!==T.Off&&b)if(V===R.Text){let e;B!==T.Verbose&&B!==T.Compact||!t.params||(e=`Params: ${ot(t.params)}\n\n`),b.log(`Sending request '${t.method} - (${t.id})'.`,e)}else ht("send-request",t)}(u),"function"==typeof Q.sender.enableCancellation&&Q.sender.enableCancellation(u),new Promise((async(t,e)=>{const n={method:i,timerStart:Date.now(),resolve:e=>{t(e),Q.sender.cleanup(h),l?.dispose()},reject:t=>{e(t),Q.sender.cleanup(h),l?.dispose()}};try{await r.write(u),F.set(h,n)}catch(t){throw C.error("Sending request failed."),n.reject(new s.ResponseError(s.ErrorCodes.MessageWriteError,t.message?t.message:"Unknown reason")),t}}))},onRequest:(t,e)=>{lt();let r=null;return c.is(t)?(r=void 0,P=t):n.string(t)?(r=null,void 0!==e&&(r=t,D.set(t,{handler:e,type:void 0}))):void 0!==e&&(r=t.method,D.set(t.method,{type:t,handler:e})),{dispose:()=>{null!==r&&(void 0!==r?D.delete(r):P=void 0)}}},hasPendingResponse:()=>F.size>0,trace:async(t,e,r)=>{let i=!1,s=R.Text;void 0!==r&&(n.boolean(r)?i=r:(i=r.sendNotification||!1,s=r.traceFormat||R.Text)),B=t,V=s,b=B===T.Off?void 0:e,!i||tt()||et()||await St.sendNotification(p.type,{value:T.toString(t)})},onError:W.event,onClose:K.event,onUnhandledNotification:X.event,onDispose:j.event,end:()=>{r.end()},dispose:()=>{if(et())return;Y=f.Disposed,j.fire(void 0);const e=new s.ResponseError(s.ErrorCodes.PendingResponseRejected,"Pending response rejected since connection got disposed");for(const t of F.values())t.reject(e);F=new Map,w=new Map,H=new Set,G=new o.LinkedMap,n.func(r.dispose)&&r.dispose(),n.func(t.dispose)&&t.dispose()},listen:()=>{lt(),function(){if(Z())throw new m(A.AlreadyListening,"Connection is already listening")}(),Y=f.Listening,t.listen(st)},inspect:()=>{(0,i.default)().console.log("inspect")}};return St.onNotification(S.type,(t=>{if(B===T.Off||!b)return;const e=B===T.Verbose||B===T.Compact;b.log(t.message,e?t.verbose:void 0)})),St.onNotification(u.type,(t=>{const e=U.get(t.token);e?e(t.value):q.fire(t)})),St}},function(t,e,r){"use strict";var i=this&&this.__createBinding||(Object.create?function(t,e,r,i){void 0===i&&(i=r);var n=Object.getOwnPropertyDescriptor(e,r);n&&!("get"in n?!e.__esModule:n.writable||n.configurable)||(n={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,i,n)}:function(t,e,r,i){void 0===i&&(i=r),t[i]=e[r]}),n=this&&this.__exportStar||function(t,e){for(var r in t)"default"===r||Object.prototype.hasOwnProperty.call(e,r)||i(e,t,r)};Object.defineProperty(e,"__esModule",{value:!0}),e.LSPErrorCodes=e.createProtocolConnection=void 0,n(r(6),e),n(r(23),e),n(r(24),e),n(r(25),e);var s=r(47);Object.defineProperty(e,"createProtocolConnection",{enumerable:!0,get:function(){return s.createProtocolConnection}}),function(t){t.lspReservedErrorRangeStart=-32899,t.RequestFailed=-32803,t.ServerCancelled=-32802,t.ContentModified=-32801,t.RequestCancelled=-32800,t.lspReservedErrorRangeEnd=-32800}(e.LSPErrorCodes||(e.LSPErrorCodes={}))},(t,e,r)=>{"use strict";var i,n,s,o,a,E,h,l,u,c,T,R,p,S,A,d,N,O,C,_,I,L,f,m,y,x,g,P;r.r(e),r.d(e,{DocumentUri:()=>i,URI:()=>n,integer:()=>s,uinteger:()=>o,Position:()=>a,Range:()=>E,Location:()=>h,LocationLink:()=>l,Color:()=>u,ColorInformation:()=>c,ColorPresentation:()=>T,FoldingRangeKind:()=>R,FoldingRange:()=>p,DiagnosticRelatedInformation:()=>S,DiagnosticSeverity:()=>A,DiagnosticTag:()=>d,CodeDescription:()=>N,Diagnostic:()=>O,Command:()=>C,TextEdit:()=>_,ChangeAnnotation:()=>I,ChangeAnnotationIdentifier:()=>L,AnnotatedTextEdit:()=>f,TextDocumentEdit:()=>m,CreateFile:()=>y,RenameFile:()=>x,DeleteFile:()=>g,WorkspaceEdit:()=>P,WorkspaceChange:()=>It,TextDocumentIdentifier:()=>D,VersionedTextDocumentIdentifier:()=>M,OptionalVersionedTextDocumentIdentifier:()=>v,TextDocumentItem:()=>U,MarkupKind:()=>k,MarkupContent:()=>b,CompletionItemKind:()=>G,InsertTextFormat:()=>F,CompletionItemTag:()=>H,InsertReplaceEdit:()=>w,InsertTextMode:()=>B,CompletionItemLabelDetails:()=>V,CompletionItem:()=>Y,CompletionList:()=>W,MarkedString:()=>K,Hover:()=>X,ParameterInformation:()=>q,SignatureInformation:()=>j,DocumentHighlightKind:()=>Q,DocumentHighlight:()=>z,SymbolKind:()=>$,SymbolTag:()=>J,SymbolInformation:()=>Z,WorkspaceSymbol:()=>tt,DocumentSymbol:()=>et,CodeActionKind:()=>rt,CodeActionTriggerKind:()=>it,CodeActionContext:()=>nt,CodeAction:()=>st,CodeLens:()=>ot,FormattingOptions:()=>at,DocumentLink:()=>Et,SelectionRange:()=>ht,SemanticTokenTypes:()=>lt,SemanticTokenModifiers:()=>ut,SemanticTokens:()=>ct,InlineValueText:()=>Tt,InlineValueVariableLookup:()=>Rt,InlineValueEvaluatableExpression:()=>pt,InlineValueContext:()=>St,InlayHintKind:()=>At,InlayHintLabelPart:()=>dt,InlayHint:()=>Nt,WorkspaceFolder:()=>Ot,EOL:()=>ft,TextDocument:()=>Lt}),function(t){t.is=function(t){return"string"==typeof t}}(i||(i={})),function(t){t.is=function(t){return"string"==typeof t}}(n||(n={})),function(t){t.MIN_VALUE=-2147483648,t.MAX_VALUE=2147483647,t.is=function(e){return"number"==typeof e&&t.MIN_VALUE<=e&&e<=t.MAX_VALUE}}(s||(s={})),function(t){t.MIN_VALUE=0,t.MAX_VALUE=2147483647,t.is=function(e){return"number"==typeof e&&t.MIN_VALUE<=e&&e<=t.MAX_VALUE}}(o||(o={})),function(t){t.create=function(t,e){return t===Number.MAX_VALUE&&(t=o.MAX_VALUE),e===Number.MAX_VALUE&&(e=o.MAX_VALUE),{line:t,character:e}},t.is=function(t){var e=t;return mt.objectLiteral(e)&&mt.uinteger(e.line)&&mt.uinteger(e.character)}}(a||(a={})),function(t){t.create=function(t,e,r,i){if(mt.uinteger(t)&&mt.uinteger(e)&&mt.uinteger(r)&&mt.uinteger(i))return{start:a.create(t,e),end:a.create(r,i)};if(a.is(t)&&a.is(e))return{start:t,end:e};throw new Error("Range#create called with invalid arguments[".concat(t,", ").concat(e,", ").concat(r,", ").concat(i,"]"))},t.is=function(t){var e=t;return mt.objectLiteral(e)&&a.is(e.start)&&a.is(e.end)}}(E||(E={})),function(t){t.create=function(t,e){return{uri:t,range:e}},t.is=function(t){var e=t;return mt.objectLiteral(e)&&E.is(e.range)&&(mt.string(e.uri)||mt.undefined(e.uri))}}(h||(h={})),function(t){t.create=function(t,e,r,i){return{targetUri:t,targetRange:e,targetSelectionRange:r,originSelectionRange:i}},t.is=function(t){var e=t;return mt.objectLiteral(e)&&E.is(e.targetRange)&&mt.string(e.targetUri)&&E.is(e.targetSelectionRange)&&(E.is(e.originSelectionRange)||mt.undefined(e.originSelectionRange))}}(l||(l={})),function(t){t.create=function(t,e,r,i){return{red:t,green:e,blue:r,alpha:i}},t.is=function(t){var e=t;return mt.objectLiteral(e)&&mt.numberRange(e.red,0,1)&&mt.numberRange(e.green,0,1)&&mt.numberRange(e.blue,0,1)&&mt.numberRange(e.alpha,0,1)}}(u||(u={})),function(t){t.create=function(t,e){return{range:t,color:e}},t.is=function(t){var e=t;return mt.objectLiteral(e)&&E.is(e.range)&&u.is(e.color)}}(c||(c={})),function(t){t.create=function(t,e,r){return{label:t,textEdit:e,additionalTextEdits:r}},t.is=function(t){var e=t;return mt.objectLiteral(e)&&mt.string(e.label)&&(mt.undefined(e.textEdit)||_.is(e))&&(mt.undefined(e.additionalTextEdits)||mt.typedArray(e.additionalTextEdits,_.is))}}(T||(T={})),function(t){t.Comment="comment",t.Imports="imports",t.Region="region"}(R||(R={})),function(t){t.create=function(t,e,r,i,n,s){var o={startLine:t,endLine:e};return mt.defined(r)&&(o.startCharacter=r),mt.defined(i)&&(o.endCharacter=i),mt.defined(n)&&(o.kind=n),mt.defined(s)&&(o.collapsedText=s),o},t.is=function(t){var e=t;return mt.objectLiteral(e)&&mt.uinteger(e.startLine)&&mt.uinteger(e.startLine)&&(mt.undefined(e.startCharacter)||mt.uinteger(e.startCharacter))&&(mt.undefined(e.endCharacter)||mt.uinteger(e.endCharacter))&&(mt.undefined(e.kind)||mt.string(e.kind))}}(p||(p={})),function(t){t.create=function(t,e){return{location:t,message:e}},t.is=function(t){var e=t;return mt.defined(e)&&h.is(e.location)&&mt.string(e.message)}}(S||(S={})),function(t){t.Error=1,t.Warning=2,t.Information=3,t.Hint=4}(A||(A={})),function(t){t.Unnecessary=1,t.Deprecated=2}(d||(d={})),function(t){t.is=function(t){var e=t;return mt.objectLiteral(e)&&mt.string(e.href)}}(N||(N={})),function(t){t.create=function(t,e,r,i,n,s){var o={range:t,message:e};return mt.defined(r)&&(o.severity=r),mt.defined(i)&&(o.code=i),mt.defined(n)&&(o.source=n),mt.defined(s)&&(o.relatedInformation=s),o},t.is=function(t){var e,r=t;return mt.defined(r)&&E.is(r.range)&&mt.string(r.message)&&(mt.number(r.severity)||mt.undefined(r.severity))&&(mt.integer(r.code)||mt.string(r.code)||mt.undefined(r.code))&&(mt.undefined(r.codeDescription)||mt.string(null===(e=r.codeDescription)||void 0===e?void 0:e.href))&&(mt.string(r.source)||mt.undefined(r.source))&&(mt.undefined(r.relatedInformation)||mt.typedArray(r.relatedInformation,S.is))}}(O||(O={})),function(t){t.create=function(t,e){for(var r=[],i=2;i<arguments.length;i++)r[i-2]=arguments[i];var n={title:t,command:e};return mt.defined(r)&&r.length>0&&(n.arguments=r),n},t.is=function(t){var e=t;return mt.defined(e)&&mt.string(e.title)&&mt.string(e.command)}}(C||(C={})),function(t){t.replace=function(t,e){return{range:t,newText:e}},t.insert=function(t,e){return{range:{start:t,end:t},newText:e}},t.del=function(t){return{range:t,newText:""}},t.is=function(t){var e=t;return mt.objectLiteral(e)&&mt.string(e.newText)&&E.is(e.range)}}(_||(_={})),function(t){t.create=function(t,e,r){var i={label:t};return void 0!==e&&(i.needsConfirmation=e),void 0!==r&&(i.description=r),i},t.is=function(t){var e=t;return mt.objectLiteral(e)&&mt.string(e.label)&&(mt.boolean(e.needsConfirmation)||void 0===e.needsConfirmation)&&(mt.string(e.description)||void 0===e.description)}}(I||(I={})),function(t){t.is=function(t){var e=t;return mt.string(e)}}(L||(L={})),function(t){t.replace=function(t,e,r){return{range:t,newText:e,annotationId:r}},t.insert=function(t,e,r){return{range:{start:t,end:t},newText:e,annotationId:r}},t.del=function(t,e){return{range:t,newText:"",annotationId:e}},t.is=function(t){var e=t;return _.is(e)&&(I.is(e.annotationId)||L.is(e.annotationId))}}(f||(f={})),function(t){t.create=function(t,e){return{textDocument:t,edits:e}},t.is=function(t){var e=t;return mt.defined(e)&&v.is(e.textDocument)&&Array.isArray(e.edits)}}(m||(m={})),function(t){t.create=function(t,e,r){var i={kind:"create",uri:t};return void 0===e||void 0===e.overwrite&&void 0===e.ignoreIfExists||(i.options=e),void 0!==r&&(i.annotationId=r),i},t.is=function(t){var e=t;return e&&"create"===e.kind&&mt.string(e.uri)&&(void 0===e.options||(void 0===e.options.overwrite||mt.boolean(e.options.overwrite))&&(void 0===e.options.ignoreIfExists||mt.boolean(e.options.ignoreIfExists)))&&(void 0===e.annotationId||L.is(e.annotationId))}}(y||(y={})),function(t){t.create=function(t,e,r,i){var n={kind:"rename",oldUri:t,newUri:e};return void 0===r||void 0===r.overwrite&&void 0===r.ignoreIfExists||(n.options=r),void 0!==i&&(n.annotationId=i),n},t.is=function(t){var e=t;return e&&"rename"===e.kind&&mt.string(e.oldUri)&&mt.string(e.newUri)&&(void 0===e.options||(void 0===e.options.overwrite||mt.boolean(e.options.overwrite))&&(void 0===e.options.ignoreIfExists||mt.boolean(e.options.ignoreIfExists)))&&(void 0===e.annotationId||L.is(e.annotationId))}}(x||(x={})),function(t){t.create=function(t,e,r){var i={kind:"delete",uri:t};return void 0===e||void 0===e.recursive&&void 0===e.ignoreIfNotExists||(i.options=e),void 0!==r&&(i.annotationId=r),i},t.is=function(t){var e=t;return e&&"delete"===e.kind&&mt.string(e.uri)&&(void 0===e.options||(void 0===e.options.recursive||mt.boolean(e.options.recursive))&&(void 0===e.options.ignoreIfNotExists||mt.boolean(e.options.ignoreIfNotExists)))&&(void 0===e.annotationId||L.is(e.annotationId))}}(g||(g={})),function(t){t.is=function(t){var e=t;return e&&(void 0!==e.changes||void 0!==e.documentChanges)&&(void 0===e.documentChanges||e.documentChanges.every((function(t){return mt.string(t.kind)?y.is(t)||x.is(t)||g.is(t):m.is(t)})))}}(P||(P={}));var D,M,v,U,k,b,G,F,H,w,B,V,Y,W,K,X,q,j,Q,z,$,J,Z,tt,et,rt,it,nt,st,ot,at,Et,ht,lt,ut,ct,Tt,Rt,pt,St,At,dt,Nt,Ot,Ct=function(){function t(t,e){this.edits=t,this.changeAnnotations=e}return t.prototype.insert=function(t,e,r){var i,n;if(void 0===r?i=_.insert(t,e):L.is(r)?(n=r,i=f.insert(t,e,r)):(this.assertChangeAnnotations(this.changeAnnotations),n=this.changeAnnotations.manage(r),i=f.insert(t,e,n)),this.edits.push(i),void 0!==n)return n},t.prototype.replace=function(t,e,r){var i,n;if(void 0===r?i=_.replace(t,e):L.is(r)?(n=r,i=f.replace(t,e,r)):(this.assertChangeAnnotations(this.changeAnnotations),n=this.changeAnnotations.manage(r),i=f.replace(t,e,n)),this.edits.push(i),void 0!==n)return n},t.prototype.delete=function(t,e){var r,i;if(void 0===e?r=_.del(t):L.is(e)?(i=e,r=f.del(t,e)):(this.assertChangeAnnotations(this.changeAnnotations),i=this.changeAnnotations.manage(e),r=f.del(t,i)),this.edits.push(r),void 0!==i)return i},t.prototype.add=function(t){this.edits.push(t)},t.prototype.all=function(){return this.edits},t.prototype.clear=function(){this.edits.splice(0,this.edits.length)},t.prototype.assertChangeAnnotations=function(t){if(void 0===t)throw new Error("Text edit change is not configured to manage change annotations.")},t}(),_t=function(){function t(t){this._annotations=void 0===t?Object.create(null):t,this._counter=0,this._size=0}return t.prototype.all=function(){return this._annotations},Object.defineProperty(t.prototype,"size",{get:function(){return this._size},enumerable:!1,configurable:!0}),t.prototype.manage=function(t,e){var r;if(L.is(t)?r=t:(r=this.nextId(),e=t),void 0!==this._annotations[r])throw new Error("Id ".concat(r," is already in use."));if(void 0===e)throw new Error("No annotation provided for id ".concat(r));return this._annotations[r]=e,this._size++,r},t.prototype.nextId=function(){return this._counter++,this._counter.toString()},t}(),It=function(){function t(t){var e=this;this._textEditChanges=Object.create(null),void 0!==t?(this._workspaceEdit=t,t.documentChanges?(this._changeAnnotations=new _t(t.changeAnnotations),t.changeAnnotations=this._changeAnnotations.all(),t.documentChanges.forEach((function(t){if(m.is(t)){var r=new Ct(t.edits,e._changeAnnotations);e._textEditChanges[t.textDocument.uri]=r}}))):t.changes&&Object.keys(t.changes).forEach((function(r){var i=new Ct(t.changes[r]);e._textEditChanges[r]=i}))):this._workspaceEdit={}}return Object.defineProperty(t.prototype,"edit",{get:function(){return this.initDocumentChanges(),void 0!==this._changeAnnotations&&(0===this._changeAnnotations.size?this._workspaceEdit.changeAnnotations=void 0:this._workspaceEdit.changeAnnotations=this._changeAnnotations.all()),this._workspaceEdit},enumerable:!1,configurable:!0}),t.prototype.getTextEditChange=function(t){if(v.is(t)){if(this.initDocumentChanges(),void 0===this._workspaceEdit.documentChanges)throw new Error("Workspace edit is not configured for document changes.");var e={uri:t.uri,version:t.version};if(!(i=this._textEditChanges[e.uri])){var r={textDocument:e,edits:n=[]};this._workspaceEdit.documentChanges.push(r),i=new Ct(n,this._changeAnnotations),this._textEditChanges[e.uri]=i}return i}if(this.initChanges(),void 0===this._workspaceEdit.changes)throw new Error("Workspace edit is not configured for normal text edit changes.");var i;if(!(i=this._textEditChanges[t])){var n=[];this._workspaceEdit.changes[t]=n,i=new Ct(n),this._textEditChanges[t]=i}return i},t.prototype.initDocumentChanges=function(){void 0===this._workspaceEdit.documentChanges&&void 0===this._workspaceEdit.changes&&(this._changeAnnotations=new _t,this._workspaceEdit.documentChanges=[],this._workspaceEdit.changeAnnotations=this._changeAnnotations.all())},t.prototype.initChanges=function(){void 0===this._workspaceEdit.documentChanges&&void 0===this._workspaceEdit.changes&&(this._workspaceEdit.changes=Object.create(null))},t.prototype.createFile=function(t,e,r){if(this.initDocumentChanges(),void 0===this._workspaceEdit.documentChanges)throw new Error("Workspace edit is not configured for document changes.");var i,n,s;if(I.is(e)||L.is(e)?i=e:r=e,void 0===i?n=y.create(t,r):(s=L.is(i)?i:this._changeAnnotations.manage(i),n=y.create(t,r,s)),this._workspaceEdit.documentChanges.push(n),void 0!==s)return s},t.prototype.renameFile=function(t,e,r,i){if(this.initDocumentChanges(),void 0===this._workspaceEdit.documentChanges)throw new Error("Workspace edit is not configured for document changes.");var n,s,o;if(I.is(r)||L.is(r)?n=r:i=r,void 0===n?s=x.create(t,e,i):(o=L.is(n)?n:this._changeAnnotations.manage(n),s=x.create(t,e,i,o)),this._workspaceEdit.documentChanges.push(s),void 0!==o)return o},t.prototype.deleteFile=function(t,e,r){if(this.initDocumentChanges(),void 0===this._workspaceEdit.documentChanges)throw new Error("Workspace edit is not configured for document changes.");var i,n,s;if(I.is(e)||L.is(e)?i=e:r=e,void 0===i?n=g.create(t,r):(s=L.is(i)?i:this._changeAnnotations.manage(i),n=g.create(t,r,s)),this._workspaceEdit.documentChanges.push(n),void 0!==s)return s},t}();!function(t){t.create=function(t){return{uri:t}},t.is=function(t){var e=t;return mt.defined(e)&&mt.string(e.uri)}}(D||(D={})),function(t){t.create=function(t,e){return{uri:t,version:e}},t.is=function(t){var e=t;return mt.defined(e)&&mt.string(e.uri)&&mt.integer(e.version)}}(M||(M={})),function(t){t.create=function(t,e){return{uri:t,version:e}},t.is=function(t){var e=t;return mt.defined(e)&&mt.string(e.uri)&&(null===e.version||mt.integer(e.version))}}(v||(v={})),function(t){t.create=function(t,e,r,i){return{uri:t,languageId:e,version:r,text:i}},t.is=function(t){var e=t;return mt.defined(e)&&mt.string(e.uri)&&mt.string(e.languageId)&&mt.integer(e.version)&&mt.string(e.text)}}(U||(U={})),function(t){t.PlainText="plaintext",t.Markdown="markdown",t.is=function(e){var r=e;return r===t.PlainText||r===t.Markdown}}(k||(k={})),function(t){t.is=function(t){var e=t;return mt.objectLiteral(t)&&k.is(e.kind)&&mt.string(e.value)}}(b||(b={})),function(t){t.Text=1,t.Method=2,t.Function=3,t.Constructor=4,t.Field=5,t.Variable=6,t.Class=7,t.Interface=8,t.Module=9,t.Property=10,t.Unit=11,t.Value=12,t.Enum=13,t.Keyword=14,t.Snippet=15,t.Color=16,t.File=17,t.Reference=18,t.Folder=19,t.EnumMember=20,t.Constant=21,t.Struct=22,t.Event=23,t.Operator=24,t.TypeParameter=25}(G||(G={})),function(t){t.PlainText=1,t.Snippet=2}(F||(F={})),function(t){t.Deprecated=1}(H||(H={})),function(t){t.create=function(t,e,r){return{newText:t,insert:e,replace:r}},t.is=function(t){var e=t;return e&&mt.string(e.newText)&&E.is(e.insert)&&E.is(e.replace)}}(w||(w={})),function(t){t.asIs=1,t.adjustIndentation=2}(B||(B={})),function(t){t.is=function(t){var e=t;return e&&(mt.string(e.detail)||void 0===e.detail)&&(mt.string(e.description)||void 0===e.description)}}(V||(V={})),function(t){t.create=function(t){return{label:t}}}(Y||(Y={})),function(t){t.create=function(t,e){return{items:t||[],isIncomplete:!!e}}}(W||(W={})),function(t){t.fromPlainText=function(t){return t.replace(/[\\`*_{}[\]()#+\-.!]/g,"\\$&")},t.is=function(t){var e=t;return mt.string(e)||mt.objectLiteral(e)&&mt.string(e.language)&&mt.string(e.value)}}(K||(K={})),function(t){t.is=function(t){var e=t;return!!e&&mt.objectLiteral(e)&&(b.is(e.contents)||K.is(e.contents)||mt.typedArray(e.contents,K.is))&&(void 0===t.range||E.is(t.range))}}(X||(X={})),function(t){t.create=function(t,e){return e?{label:t,documentation:e}:{label:t}}}(q||(q={})),function(t){t.create=function(t,e){for(var r=[],i=2;i<arguments.length;i++)r[i-2]=arguments[i];var n={label:t};return mt.defined(e)&&(n.documentation=e),mt.defined(r)?n.parameters=r:n.parameters=[],n}}(j||(j={})),function(t){t.Text=1,t.Read=2,t.Write=3}(Q||(Q={})),function(t){t.create=function(t,e){var r={range:t};return mt.number(e)&&(r.kind=e),r}}(z||(z={})),function(t){t.File=1,t.Module=2,t.Namespace=3,t.Package=4,t.Class=5,t.Method=6,t.Property=7,t.Field=8,t.Constructor=9,t.Enum=10,t.Interface=11,t.Function=12,t.Variable=13,t.Constant=14,t.String=15,t.Number=16,t.Boolean=17,t.Array=18,t.Object=19,t.Key=20,t.Null=21,t.EnumMember=22,t.Struct=23,t.Event=24,t.Operator=25,t.TypeParameter=26}($||($={})),function(t){t.Deprecated=1}(J||(J={})),function(t){t.create=function(t,e,r,i,n){var s={name:t,kind:e,location:{uri:i,range:r}};return n&&(s.containerName=n),s}}(Z||(Z={})),function(t){t.create=function(t,e,r,i){return void 0!==i?{name:t,kind:e,location:{uri:r,range:i}}:{name:t,kind:e,location:{uri:r}}}}(tt||(tt={})),function(t){t.create=function(t,e,r,i,n,s){var o={name:t,detail:e,kind:r,range:i,selectionRange:n};return void 0!==s&&(o.children=s),o},t.is=function(t){var e=t;return e&&mt.string(e.name)&&mt.number(e.kind)&&E.is(e.range)&&E.is(e.selectionRange)&&(void 0===e.detail||mt.string(e.detail))&&(void 0===e.deprecated||mt.boolean(e.deprecated))&&(void 0===e.children||Array.isArray(e.children))&&(void 0===e.tags||Array.isArray(e.tags))}}(et||(et={})),function(t){t.Empty="",t.QuickFix="quickfix",t.Refactor="refactor",t.RefactorExtract="refactor.extract",t.RefactorInline="refactor.inline",t.RefactorRewrite="refactor.rewrite",t.Source="source",t.SourceOrganizeImports="source.organizeImports",t.SourceFixAll="source.fixAll"}(rt||(rt={})),function(t){t.Invoked=1,t.Automatic=2}(it||(it={})),function(t){t.create=function(t,e,r){var i={diagnostics:t};return null!=e&&(i.only=e),null!=r&&(i.triggerKind=r),i},t.is=function(t){var e=t;return mt.defined(e)&&mt.typedArray(e.diagnostics,O.is)&&(void 0===e.only||mt.typedArray(e.only,mt.string))&&(void 0===e.triggerKind||e.triggerKind===it.Invoked||e.triggerKind===it.Automatic)}}(nt||(nt={})),function(t){t.create=function(t,e,r){var i={title:t},n=!0;return"string"==typeof e?(n=!1,i.kind=e):C.is(e)?i.command=e:i.edit=e,n&&void 0!==r&&(i.kind=r),i},t.is=function(t){var e=t;return e&&mt.string(e.title)&&(void 0===e.diagnostics||mt.typedArray(e.diagnostics,O.is))&&(void 0===e.kind||mt.string(e.kind))&&(void 0!==e.edit||void 0!==e.command)&&(void 0===e.command||C.is(e.command))&&(void 0===e.isPreferred||mt.boolean(e.isPreferred))&&(void 0===e.edit||P.is(e.edit))}}(st||(st={})),function(t){t.create=function(t,e){var r={range:t};return mt.defined(e)&&(r.data=e),r},t.is=function(t){var e=t;return mt.defined(e)&&E.is(e.range)&&(mt.undefined(e.command)||C.is(e.command))}}(ot||(ot={})),function(t){t.create=function(t,e){return{tabSize:t,insertSpaces:e}},t.is=function(t){var e=t;return mt.defined(e)&&mt.uinteger(e.tabSize)&&mt.boolean(e.insertSpaces)}}(at||(at={})),function(t){t.create=function(t,e,r){return{range:t,target:e,data:r}},t.is=function(t){var e=t;return mt.defined(e)&&E.is(e.range)&&(mt.undefined(e.target)||mt.string(e.target))}}(Et||(Et={})),function(t){t.create=function(t,e){return{range:t,parent:e}},t.is=function(e){var r=e;return mt.objectLiteral(r)&&E.is(r.range)&&(void 0===r.parent||t.is(r.parent))}}(ht||(ht={})),function(t){t.namespace="namespace",t.type="type",t.class="class",t.enum="enum",t.interface="interface",t.struct="struct",t.typeParameter="typeParameter",t.parameter="parameter",t.variable="variable",t.property="property",t.enumMember="enumMember",t.event="event",t.function="function",t.method="method",t.macro="macro",t.keyword="keyword",t.modifier="modifier",t.comment="comment",t.string="string",t.number="number",t.regexp="regexp",t.operator="operator",t.decorator="decorator"}(lt||(lt={})),function(t){t.declaration="declaration",t.definition="definition",t.readonly="readonly",t.static="static",t.deprecated="deprecated",t.abstract="abstract",t.async="async",t.modification="modification",t.documentation="documentation",t.defaultLibrary="defaultLibrary"}(ut||(ut={})),function(t){t.is=function(t){var e=t;return mt.objectLiteral(e)&&(void 0===e.resultId||"string"==typeof e.resultId)&&Array.isArray(e.data)&&(0===e.data.length||"number"==typeof e.data[0])}}(ct||(ct={})),function(t){t.create=function(t,e){return{range:t,text:e}},t.is=function(t){var e=t;return null!=e&&E.is(e.range)&&mt.string(e.text)}}(Tt||(Tt={})),function(t){t.create=function(t,e,r){return{range:t,variableName:e,caseSensitiveLookup:r}},t.is=function(t){var e=t;return null!=e&&E.is(e.range)&&mt.boolean(e.caseSensitiveLookup)&&(mt.string(e.variableName)||void 0===e.variableName)}}(Rt||(Rt={})),function(t){t.create=function(t,e){return{range:t,expression:e}},t.is=function(t){var e=t;return null!=e&&E.is(e.range)&&(mt.string(e.expression)||void 0===e.expression)}}(pt||(pt={})),function(t){t.create=function(t,e){return{frameId:t,stoppedLocation:e}},t.is=function(t){var e=t;return mt.defined(e)&&E.is(t.stoppedLocation)}}(St||(St={})),function(t){t.Type=1,t.Parameter=2,t.is=function(t){return 1===t||2===t}}(At||(At={})),function(t){t.create=function(t){return{value:t}},t.is=function(t){var e=t;return mt.objectLiteral(e)&&(void 0===e.tooltip||mt.string(e.tooltip)||b.is(e.tooltip))&&(void 0===e.location||h.is(e.location))&&(void 0===e.command||C.is(e.command))}}(dt||(dt={})),function(t){t.create=function(t,e,r){var i={position:t,label:e};return void 0!==r&&(i.kind=r),i},t.is=function(t){var e=t;return mt.objectLiteral(e)&&a.is(e.position)&&(mt.string(e.label)||mt.typedArray(e.label,dt.is))&&(void 0===e.kind||At.is(e.kind))&&void 0===e.textEdits||mt.typedArray(e.textEdits,_.is)&&(void 0===e.tooltip||mt.string(e.tooltip)||b.is(e.tooltip))&&(void 0===e.paddingLeft||mt.boolean(e.paddingLeft))&&(void 0===e.paddingRight||mt.boolean(e.paddingRight))}}(Nt||(Nt={})),function(t){t.is=function(t){var e=t;return mt.objectLiteral(e)&&n.is(e.uri)&&mt.string(e.name)}}(Ot||(Ot={}));var Lt,ft=["\n","\r\n","\r"];!function(t){function e(t,r){if(t.length<=1)return t;var i=t.length/2|0,n=t.slice(0,i),s=t.slice(i);e(n,r),e(s,r);for(var o=0,a=0,E=0;o<n.length&&a<s.length;){var h=r(n[o],s[a]);t[E++]=h<=0?n[o++]:s[a++]}for(;o<n.length;)t[E++]=n[o++];for(;a<s.length;)t[E++]=s[a++];return t}t.create=function(t,e,r,i){return new yt(t,e,r,i)},t.is=function(t){var e=t;return!!(mt.defined(e)&&mt.string(e.uri)&&(mt.undefined(e.languageId)||mt.string(e.languageId))&&mt.uinteger(e.lineCount)&&mt.func(e.getText)&&mt.func(e.positionAt)&&mt.func(e.offsetAt))},t.applyEdits=function(t,r){for(var i=t.getText(),n=e(r,(function(t,e){var r=t.range.start.line-e.range.start.line;return 0===r?t.range.start.character-e.range.start.character:r})),s=i.length,o=n.length-1;o>=0;o--){var a=n[o],E=t.offsetAt(a.range.start),h=t.offsetAt(a.range.end);if(!(h<=s))throw new Error("Overlapping edit");i=i.substring(0,E)+a.newText+i.substring(h,i.length),s=E}return i}}(Lt||(Lt={}));var mt,yt=function(){function t(t,e,r,i){this._uri=t,this._languageId=e,this._version=r,this._content=i,this._lineOffsets=void 0}return Object.defineProperty(t.prototype,"uri",{get:function(){return this._uri},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"languageId",{get:function(){return this._languageId},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"version",{get:function(){return this._version},enumerable:!1,configurable:!0}),t.prototype.getText=function(t){if(t){var e=this.offsetAt(t.start),r=this.offsetAt(t.end);return this._content.substring(e,r)}return this._content},t.prototype.update=function(t,e){this._content=t.text,this._version=e,this._lineOffsets=void 0},t.prototype.getLineOffsets=function(){if(void 0===this._lineOffsets){for(var t=[],e=this._content,r=!0,i=0;i<e.length;i++){r&&(t.push(i),r=!1);var n=e.charAt(i);r="\r"===n||"\n"===n,"\r"===n&&i+1<e.length&&"\n"===e.charAt(i+1)&&i++}r&&e.length>0&&t.push(e.length),this._lineOffsets=t}return this._lineOffsets},t.prototype.positionAt=function(t){t=Math.max(Math.min(t,this._content.length),0);var e=this.getLineOffsets(),r=0,i=e.length;if(0===i)return a.create(0,t);for(;r<i;){var n=Math.floor((r+i)/2);e[n]>t?i=n:r=n+1}var s=r-1;return a.create(s,t-e[s])},t.prototype.offsetAt=function(t){var e=this.getLineOffsets();if(t.line>=e.length)return this._content.length;if(t.line<0)return 0;var r=e[t.line],i=t.line+1<e.length?e[t.line+1]:this._content.length;return Math.max(Math.min(r+t.character,i),r)},Object.defineProperty(t.prototype,"lineCount",{get:function(){return this.getLineOffsets().length},enumerable:!1,configurable:!0}),t}();!function(t){var e=Object.prototype.toString;t.defined=function(t){return void 0!==t},t.undefined=function(t){return void 0===t},t.boolean=function(t){return!0===t||!1===t},t.string=function(t){return"[object String]"===e.call(t)},t.number=function(t){return"[object Number]"===e.call(t)},t.numberRange=function(t,r,i){return"[object Number]"===e.call(t)&&r<=t&&t<=i},t.integer=function(t){return"[object Number]"===e.call(t)&&-2147483648<=t&&t<=2147483647},t.uinteger=function(t){return"[object Number]"===e.call(t)&&0<=t&&t<=2147483647},t.func=function(t){return"[object Function]"===e.call(t)},t.objectLiteral=function(t){return null!==t&&"object"==typeof t},t.typedArray=function(t,e){return Array.isArray(t)&&t.every(e)}}(mt||(mt={}))},(t,e,r)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ProtocolNotificationType=e.ProtocolNotificationType0=e.ProtocolRequestType=e.ProtocolRequestType0=e.RegistrationType=e.MessageDirection=void 0;const i=r(6);!function(t){t.clientToServer="clientToServer",t.serverToClient="serverToClient",t.both="both"}(e.MessageDirection||(e.MessageDirection={}));e.RegistrationType=class{constructor(t){this.method=t}};class n extends i.RequestType0{constructor(t){super(t)}}e.ProtocolRequestType0=n;class s extends i.RequestType{constructor(t){super(t,i.ParameterStructures.byName)}}e.ProtocolRequestType=s;class o extends i.NotificationType0{constructor(t){super(t)}}e.ProtocolNotificationType0=o;class a extends i.NotificationType{constructor(t){super(t,i.ParameterStructures.byName)}}e.ProtocolNotificationType=a},(t,e,r)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.WorkspaceSymbolRequest=e.CodeActionResolveRequest=e.CodeActionRequest=e.DocumentSymbolRequest=e.DocumentHighlightRequest=e.ReferencesRequest=e.DefinitionRequest=e.SignatureHelpRequest=e.SignatureHelpTriggerKind=e.HoverRequest=e.CompletionResolveRequest=e.CompletionRequest=e.CompletionTriggerKind=e.PublishDiagnosticsNotification=e.WatchKind=e.RelativePattern=e.FileChangeType=e.DidChangeWatchedFilesNotification=e.WillSaveTextDocumentWaitUntilRequest=e.WillSaveTextDocumentNotification=e.TextDocumentSaveReason=e.DidSaveTextDocumentNotification=e.DidCloseTextDocumentNotification=e.DidChangeTextDocumentNotification=e.TextDocumentContentChangeEvent=e.DidOpenTextDocumentNotification=e.TextDocumentSyncKind=e.TelemetryEventNotification=e.LogMessageNotification=e.ShowMessageRequest=e.ShowMessageNotification=e.MessageType=e.DidChangeConfigurationNotification=e.ExitNotification=e.ShutdownRequest=e.InitializedNotification=e.InitializeErrorCodes=e.InitializeRequest=e.WorkDoneProgressOptions=e.TextDocumentRegistrationOptions=e.StaticRegistrationOptions=e.PositionEncodingKind=e.FailureHandlingKind=e.ResourceOperationKind=e.UnregistrationRequest=e.RegistrationRequest=e.DocumentSelector=e.NotebookCellTextDocumentFilter=e.NotebookDocumentFilter=e.TextDocumentFilter=void 0,e.TypeHierarchySubtypesRequest=e.TypeHierarchyPrepareRequest=e.MonikerRequest=e.MonikerKind=e.UniquenessLevel=e.WillDeleteFilesRequest=e.DidDeleteFilesNotification=e.WillRenameFilesRequest=e.DidRenameFilesNotification=e.WillCreateFilesRequest=e.DidCreateFilesNotification=e.FileOperationPatternKind=e.LinkedEditingRangeRequest=e.ShowDocumentRequest=e.SemanticTokensRegistrationType=e.SemanticTokensRefreshRequest=e.SemanticTokensRangeRequest=e.SemanticTokensDeltaRequest=e.SemanticTokensRequest=e.TokenFormat=e.CallHierarchyPrepareRequest=e.CallHierarchyOutgoingCallsRequest=e.CallHierarchyIncomingCallsRequest=e.WorkDoneProgressCancelNotification=e.WorkDoneProgressCreateRequest=e.WorkDoneProgress=e.SelectionRangeRequest=e.DeclarationRequest=e.FoldingRangeRequest=e.ColorPresentationRequest=e.DocumentColorRequest=e.ConfigurationRequest=e.DidChangeWorkspaceFoldersNotification=e.WorkspaceFoldersRequest=e.TypeDefinitionRequest=e.ImplementationRequest=e.ApplyWorkspaceEditRequest=e.ExecuteCommandRequest=e.PrepareRenameRequest=e.RenameRequest=e.PrepareSupportDefaultBehavior=e.DocumentOnTypeFormattingRequest=e.DocumentRangeFormattingRequest=e.DocumentFormattingRequest=e.DocumentLinkResolveRequest=e.DocumentLinkRequest=e.CodeLensRefreshRequest=e.CodeLensResolveRequest=e.CodeLensRequest=e.WorkspaceSymbolResolveRequest=void 0,e.DidCloseNotebookDocumentNotification=e.DidSaveNotebookDocumentNotification=e.DidChangeNotebookDocumentNotification=e.NotebookCellArrayChange=e.DidOpenNotebookDocumentNotification=e.NotebookDocumentSyncRegistrationType=e.NotebookDocument=e.NotebookCell=e.ExecutionSummary=e.NotebookCellKind=e.DiagnosticRefreshRequest=e.WorkspaceDiagnosticRequest=e.DocumentDiagnosticRequest=e.DocumentDiagnosticReportKind=e.DiagnosticServerCancellationData=e.InlayHintRefreshRequest=e.InlayHintResolveRequest=e.InlayHintRequest=e.InlineValueRefreshRequest=e.InlineValueRequest=e.TypeHierarchySupertypesRequest=void 0;const i=r(24),n=r(23),s=r(26),o=r(27);Object.defineProperty(e,"ImplementationRequest",{enumerable:!0,get:function(){return o.ImplementationRequest}});const a=r(28);Object.defineProperty(e,"TypeDefinitionRequest",{enumerable:!0,get:function(){return a.TypeDefinitionRequest}});const E=r(29);Object.defineProperty(e,"WorkspaceFoldersRequest",{enumerable:!0,get:function(){return E.WorkspaceFoldersRequest}}),Object.defineProperty(e,"DidChangeWorkspaceFoldersNotification",{enumerable:!0,get:function(){return E.DidChangeWorkspaceFoldersNotification}});const h=r(30);Object.defineProperty(e,"ConfigurationRequest",{enumerable:!0,get:function(){return h.ConfigurationRequest}});const l=r(31);Object.defineProperty(e,"DocumentColorRequest",{enumerable:!0,get:function(){return l.DocumentColorRequest}}),Object.defineProperty(e,"ColorPresentationRequest",{enumerable:!0,get:function(){return l.ColorPresentationRequest}});const u=r(32);Object.defineProperty(e,"FoldingRangeRequest",{enumerable:!0,get:function(){return u.FoldingRangeRequest}});const c=r(33);Object.defineProperty(e,"DeclarationRequest",{enumerable:!0,get:function(){return c.DeclarationRequest}});const T=r(34);Object.defineProperty(e,"SelectionRangeRequest",{enumerable:!0,get:function(){return T.SelectionRangeRequest}});const R=r(35);Object.defineProperty(e,"WorkDoneProgress",{enumerable:!0,get:function(){return R.WorkDoneProgress}}),Object.defineProperty(e,"WorkDoneProgressCreateRequest",{enumerable:!0,get:function(){return R.WorkDoneProgressCreateRequest}}),Object.defineProperty(e,"WorkDoneProgressCancelNotification",{enumerable:!0,get:function(){return R.WorkDoneProgressCancelNotification}});const p=r(36);Object.defineProperty(e,"CallHierarchyIncomingCallsRequest",{enumerable:!0,get:function(){return p.CallHierarchyIncomingCallsRequest}}),Object.defineProperty(e,"CallHierarchyOutgoingCallsRequest",{enumerable:!0,get:function(){return p.CallHierarchyOutgoingCallsRequest}}),Object.defineProperty(e,"CallHierarchyPrepareRequest",{enumerable:!0,get:function(){return p.CallHierarchyPrepareRequest}});const S=r(37);Object.defineProperty(e,"TokenFormat",{enumerable:!0,get:function(){return S.TokenFormat}}),Object.defineProperty(e,"SemanticTokensRequest",{enumerable:!0,get:function(){return S.SemanticTokensRequest}}),Object.defineProperty(e,"SemanticTokensDeltaRequest",{enumerable:!0,get:function(){return S.SemanticTokensDeltaRequest}}),Object.defineProperty(e,"SemanticTokensRangeRequest",{enumerable:!0,get:function(){return S.SemanticTokensRangeRequest}}),Object.defineProperty(e,"SemanticTokensRefreshRequest",{enumerable:!0,get:function(){return S.SemanticTokensRefreshRequest}}),Object.defineProperty(e,"SemanticTokensRegistrationType",{enumerable:!0,get:function(){return S.SemanticTokensRegistrationType}});const A=r(38);Object.defineProperty(e,"ShowDocumentRequest",{enumerable:!0,get:function(){return A.ShowDocumentRequest}});const d=r(39);Object.defineProperty(e,"LinkedEditingRangeRequest",{enumerable:!0,get:function(){return d.LinkedEditingRangeRequest}});const N=r(40);Object.defineProperty(e,"FileOperationPatternKind",{enumerable:!0,get:function(){return N.FileOperationPatternKind}}),Object.defineProperty(e,"DidCreateFilesNotification",{enumerable:!0,get:function(){return N.DidCreateFilesNotification}}),Object.defineProperty(e,"WillCreateFilesRequest",{enumerable:!0,get:function(){return N.WillCreateFilesRequest}}),Object.defineProperty(e,"DidRenameFilesNotification",{enumerable:!0,get:function(){return N.DidRenameFilesNotification}}),Object.defineProperty(e,"WillRenameFilesRequest",{enumerable:!0,get:function(){return N.WillRenameFilesRequest}}),Object.defineProperty(e,"DidDeleteFilesNotification",{enumerable:!0,get:function(){return N.DidDeleteFilesNotification}}),Object.defineProperty(e,"WillDeleteFilesRequest",{enumerable:!0,get:function(){return N.WillDeleteFilesRequest}});const O=r(41);Object.defineProperty(e,"UniquenessLevel",{enumerable:!0,get:function(){return O.UniquenessLevel}}),Object.defineProperty(e,"MonikerKind",{enumerable:!0,get:function(){return O.MonikerKind}}),Object.defineProperty(e,"MonikerRequest",{enumerable:!0,get:function(){return O.MonikerRequest}});const C=r(42);Object.defineProperty(e,"TypeHierarchyPrepareRequest",{enumerable:!0,get:function(){return C.TypeHierarchyPrepareRequest}}),Object.defineProperty(e,"TypeHierarchySubtypesRequest",{enumerable:!0,get:function(){return C.TypeHierarchySubtypesRequest}}),Object.defineProperty(e,"TypeHierarchySupertypesRequest",{enumerable:!0,get:function(){return C.TypeHierarchySupertypesRequest}});const _=r(43);Object.defineProperty(e,"InlineValueRequest",{enumerable:!0,get:function(){return _.InlineValueRequest}}),Object.defineProperty(e,"InlineValueRefreshRequest",{enumerable:!0,get:function(){return _.InlineValueRefreshRequest}});const I=r(44);Object.defineProperty(e,"InlayHintRequest",{enumerable:!0,get:function(){return I.InlayHintRequest}}),Object.defineProperty(e,"InlayHintResolveRequest",{enumerable:!0,get:function(){return I.InlayHintResolveRequest}}),Object.defineProperty(e,"InlayHintRefreshRequest",{enumerable:!0,get:function(){return I.InlayHintRefreshRequest}});const L=r(45);Object.defineProperty(e,"DiagnosticServerCancellationData",{enumerable:!0,get:function(){return L.DiagnosticServerCancellationData}}),Object.defineProperty(e,"DocumentDiagnosticReportKind",{enumerable:!0,get:function(){return L.DocumentDiagnosticReportKind}}),Object.defineProperty(e,"DocumentDiagnosticRequest",{enumerable:!0,get:function(){return L.DocumentDiagnosticRequest}}),Object.defineProperty(e,"WorkspaceDiagnosticRequest",{enumerable:!0,get:function(){return L.WorkspaceDiagnosticRequest}}),Object.defineProperty(e,"DiagnosticRefreshRequest",{enumerable:!0,get:function(){return L.DiagnosticRefreshRequest}});const f=r(46);var m,y,x,g;Object.defineProperty(e,"NotebookCellKind",{enumerable:!0,get:function(){return f.NotebookCellKind}}),Object.defineProperty(e,"ExecutionSummary",{enumerable:!0,get:function(){return f.ExecutionSummary}}),Object.defineProperty(e,"NotebookCell",{enumerable:!0,get:function(){return f.NotebookCell}}),Object.defineProperty(e,"NotebookDocument",{enumerable:!0,get:function(){return f.NotebookDocument}}),Object.defineProperty(e,"NotebookDocumentSyncRegistrationType",{enumerable:!0,get:function(){return f.NotebookDocumentSyncRegistrationType}}),Object.defineProperty(e,"DidOpenNotebookDocumentNotification",{enumerable:!0,get:function(){return f.DidOpenNotebookDocumentNotification}}),Object.defineProperty(e,"NotebookCellArrayChange",{enumerable:!0,get:function(){return f.NotebookCellArrayChange}}),Object.defineProperty(e,"DidChangeNotebookDocumentNotification",{enumerable:!0,get:function(){return f.DidChangeNotebookDocumentNotification}}),Object.defineProperty(e,"DidSaveNotebookDocumentNotification",{enumerable:!0,get:function(){return f.DidSaveNotebookDocumentNotification}}),Object.defineProperty(e,"DidCloseNotebookDocumentNotification",{enumerable:!0,get:function(){return f.DidCloseNotebookDocumentNotification}}),function(t){t.is=function(t){const e=t;return s.string(e.language)||s.string(e.scheme)||s.string(e.pattern)}}(m=e.TextDocumentFilter||(e.TextDocumentFilter={})),function(t){t.is=function(t){const e=t;return s.objectLiteral(e)&&(s.string(e.notebookType)||s.string(e.scheme)||s.string(e.pattern))}}(y=e.NotebookDocumentFilter||(e.NotebookDocumentFilter={})),function(t){t.is=function(t){const e=t;return s.objectLiteral(e)&&(s.string(e.notebook)||y.is(e.notebook))&&(void 0===e.language||s.string(e.language))}}(x=e.NotebookCellTextDocumentFilter||(e.NotebookCellTextDocumentFilter={})),function(t){t.is=function(t){if(!Array.isArray(t))return!1;for(let e of t)if(!s.string(e)&&!m.is(e)&&!x.is(e))return!1;return!0}}(g=e.DocumentSelector||(e.DocumentSelector={})),function(t){t.method="client/registerCapability",t.messageDirection=i.MessageDirection.serverToClient,t.type=new i.ProtocolRequestType(t.method)}(e.RegistrationRequest||(e.RegistrationRequest={})),function(t){t.method="client/unregisterCapability",t.messageDirection=i.MessageDirection.serverToClient,t.type=new i.ProtocolRequestType(t.method)}(e.UnregistrationRequest||(e.UnregistrationRequest={})),function(t){t.Create="create",t.Rename="rename",t.Delete="delete"}(e.ResourceOperationKind||(e.ResourceOperationKind={})),function(t){t.Abort="abort",t.Transactional="transactional",t.TextOnlyTransactional="textOnlyTransactional",t.Undo="undo"}(e.FailureHandlingKind||(e.FailureHandlingKind={})),function(t){t.UTF8="utf-8",t.UTF16="utf-16",t.UTF32="utf-32"}(e.PositionEncodingKind||(e.PositionEncodingKind={})),function(t){t.hasId=function(t){const e=t;return e&&s.string(e.id)&&e.id.length>0}}(e.StaticRegistrationOptions||(e.StaticRegistrationOptions={})),function(t){t.is=function(t){const e=t;return e&&(null===e.documentSelector||g.is(e.documentSelector))}}(e.TextDocumentRegistrationOptions||(e.TextDocumentRegistrationOptions={})),function(t){t.is=function(t){const e=t;return s.objectLiteral(e)&&(void 0===e.workDoneProgress||s.boolean(e.workDoneProgress))},t.hasWorkDoneProgress=function(t){const e=t;return e&&s.boolean(e.workDoneProgress)}}(e.WorkDoneProgressOptions||(e.WorkDoneProgressOptions={})),function(t){t.method="initialize",t.messageDirection=i.MessageDirection.clientToServer,t.type=new i.ProtocolRequestType(t.method)}(e.InitializeRequest||(e.InitializeRequest={})),function(t){t.unknownProtocolVersion=1}(e.InitializeErrorCodes||(e.InitializeErrorCodes={})),function(t){t.method="initialized",t.messageDirection=i.MessageDirection.clientToServer,t.type=new i.ProtocolNotificationType(t.method)}(e.InitializedNotification||(e.InitializedNotification={})),function(t){t.method="shutdown",t.messageDirection=i.MessageDirection.clientToServer,t.type=new i.ProtocolRequestType0(t.method)}(e.ShutdownRequest||(e.ShutdownRequest={})),function(t){t.method="exit",t.messageDirection=i.MessageDirection.clientToServer,t.type=new i.ProtocolNotificationType0(t.method)}(e.ExitNotification||(e.ExitNotification={})),function(t){t.method="workspace/didChangeConfiguration",t.messageDirection=i.MessageDirection.clientToServer,t.type=new i.ProtocolNotificationType(t.method)}(e.DidChangeConfigurationNotification||(e.DidChangeConfigurationNotification={})),function(t){t.Error=1,t.Warning=2,t.Info=3,t.Log=4}(e.MessageType||(e.MessageType={})),function(t){t.method="window/showMessage",t.messageDirection=i.MessageDirection.serverToClient,t.type=new i.ProtocolNotificationType(t.method)}(e.ShowMessageNotification||(e.ShowMessageNotification={})),function(t){t.method="window/showMessageRequest",t.messageDirection=i.MessageDirection.serverToClient,t.type=new i.ProtocolRequestType(t.method)}(e.ShowMessageRequest||(e.ShowMessageRequest={})),function(t){t.method="window/logMessage",t.messageDirection=i.MessageDirection.serverToClient,t.type=new i.ProtocolNotificationType(t.method)}(e.LogMessageNotification||(e.LogMessageNotification={})),function(t){t.method="telemetry/event",t.messageDirection=i.MessageDirection.serverToClient,t.type=new i.ProtocolNotificationType(t.method)}(e.TelemetryEventNotification||(e.TelemetryEventNotification={})),function(t){t.None=0,t.Full=1,t.Incremental=2}(e.TextDocumentSyncKind||(e.TextDocumentSyncKind={})),function(t){t.method="textDocument/didOpen",t.messageDirection=i.MessageDirection.clientToServer,t.type=new i.ProtocolNotificationType(t.method)}(e.DidOpenTextDocumentNotification||(e.DidOpenTextDocumentNotification={})),function(t){t.isIncremental=function(t){let e=t;return null!=e&&"string"==typeof e.text&&void 0!==e.range&&(void 0===e.rangeLength||"number"==typeof e.rangeLength)},t.isFull=function(t){let e=t;return null!=e&&"string"==typeof e.text&&void 0===e.range&&void 0===e.rangeLength}}(e.TextDocumentContentChangeEvent||(e.TextDocumentContentChangeEvent={})),function(t){t.method="textDocument/didChange",t.messageDirection=i.MessageDirection.clientToServer,t.type=new i.ProtocolNotificationType(t.method)}(e.DidChangeTextDocumentNotification||(e.DidChangeTextDocumentNotification={})),function(t){t.method="textDocument/didClose",t.messageDirection=i.MessageDirection.clientToServer,t.type=new i.ProtocolNotificationType(t.method)}(e.DidCloseTextDocumentNotification||(e.DidCloseTextDocumentNotification={})),function(t){t.method="textDocument/didSave",t.messageDirection=i.MessageDirection.clientToServer,t.type=new i.ProtocolNotificationType(t.method)}(e.DidSaveTextDocumentNotification||(e.DidSaveTextDocumentNotification={})),function(t){t.Manual=1,t.AfterDelay=2,t.FocusOut=3}(e.TextDocumentSaveReason||(e.TextDocumentSaveReason={})),function(t){t.method="textDocument/willSave",t.messageDirection=i.MessageDirection.clientToServer,t.type=new i.ProtocolNotificationType(t.method)}(e.WillSaveTextDocumentNotification||(e.WillSaveTextDocumentNotification={})),function(t){t.method="textDocument/willSaveWaitUntil",t.messageDirection=i.MessageDirection.clientToServer,t.type=new i.ProtocolRequestType(t.method)}(e.WillSaveTextDocumentWaitUntilRequest||(e.WillSaveTextDocumentWaitUntilRequest={})),function(t){t.method="workspace/didChangeWatchedFiles",t.messageDirection=i.MessageDirection.clientToServer,t.type=new i.ProtocolNotificationType(t.method)}(e.DidChangeWatchedFilesNotification||(e.DidChangeWatchedFilesNotification={})),function(t){t.Created=1,t.Changed=2,t.Deleted=3}(e.FileChangeType||(e.FileChangeType={})),function(t){t.is=function(t){const e=t;return s.objectLiteral(e)&&(n.URI.is(e.baseUri)||n.WorkspaceFolder.is(e.baseUri))&&s.string(e.pattern)}}(e.RelativePattern||(e.RelativePattern={})),function(t){t.Create=1,t.Change=2,t.Delete=4}(e.WatchKind||(e.WatchKind={})),function(t){t.method="textDocument/publishDiagnostics",t.messageDirection=i.MessageDirection.serverToClient,t.type=new i.ProtocolNotificationType(t.method)}(e.PublishDiagnosticsNotification||(e.PublishDiagnosticsNotification={})),function(t){t.Invoked=1,t.TriggerCharacter=2,t.TriggerForIncompleteCompletions=3}(e.CompletionTriggerKind||(e.CompletionTriggerKind={})),function(t){t.method="textDocument/completion",t.messageDirection=i.MessageDirection.clientToServer,t.type=new i.ProtocolRequestType(t.method)}(e.CompletionRequest||(e.CompletionRequest={})),function(t){t.method="completionItem/resolve",t.messageDirection=i.MessageDirection.clientToServer,t.type=new i.ProtocolRequestType(t.method)}(e.CompletionResolveRequest||(e.CompletionResolveRequest={})),function(t){t.method="textDocument/hover",t.messageDirection=i.MessageDirection.clientToServer,t.type=new i.ProtocolRequestType(t.method)}(e.HoverRequest||(e.HoverRequest={})),function(t){t.Invoked=1,t.TriggerCharacter=2,t.ContentChange=3}(e.SignatureHelpTriggerKind||(e.SignatureHelpTriggerKind={})),function(t){t.method="textDocument/signatureHelp",t.messageDirection=i.MessageDirection.clientToServer,t.type=new i.ProtocolRequestType(t.method)}(e.SignatureHelpRequest||(e.SignatureHelpRequest={})),function(t){t.method="textDocument/definition",t.messageDirection=i.MessageDirection.clientToServer,t.type=new i.ProtocolRequestType(t.method)}(e.DefinitionRequest||(e.DefinitionRequest={})),function(t){t.method="textDocument/references",t.messageDirection=i.MessageDirection.clientToServer,t.type=new i.ProtocolRequestType(t.method)}(e.ReferencesRequest||(e.ReferencesRequest={})),function(t){t.method="textDocument/documentHighlight",t.messageDirection=i.MessageDirection.clientToServer,t.type=new i.ProtocolRequestType(t.method)}(e.DocumentHighlightRequest||(e.DocumentHighlightRequest={})),function(t){t.method="textDocument/documentSymbol",t.messageDirection=i.MessageDirection.clientToServer,t.type=new i.ProtocolRequestType(t.method)}(e.DocumentSymbolRequest||(e.DocumentSymbolRequest={})),function(t){t.method="textDocument/codeAction",t.messageDirection=i.MessageDirection.clientToServer,t.type=new i.ProtocolRequestType(t.method)}(e.CodeActionRequest||(e.CodeActionRequest={})),function(t){t.method="codeAction/resolve",t.messageDirection=i.MessageDirection.clientToServer,t.type=new i.ProtocolRequestType(t.method)}(e.CodeActionResolveRequest||(e.CodeActionResolveRequest={})),function(t){t.method="workspace/symbol",t.messageDirection=i.MessageDirection.clientToServer,t.type=new i.ProtocolRequestType(t.method)}(e.WorkspaceSymbolRequest||(e.WorkspaceSymbolRequest={})),function(t){t.method="workspaceSymbol/resolve",t.messageDirection=i.MessageDirection.clientToServer,t.type=new i.ProtocolRequestType(t.method)}(e.WorkspaceSymbolResolveRequest||(e.WorkspaceSymbolResolveRequest={})),function(t){t.method="textDocument/codeLens",t.messageDirection=i.MessageDirection.clientToServer,t.type=new i.ProtocolRequestType(t.method)}(e.CodeLensRequest||(e.CodeLensRequest={})),function(t){t.method="codeLens/resolve",t.messageDirection=i.MessageDirection.clientToServer,t.type=new i.ProtocolRequestType(t.method)}(e.CodeLensResolveRequest||(e.CodeLensResolveRequest={})),function(t){t.method="workspace/codeLens/refresh",t.messageDirection=i.MessageDirection.serverToClient,t.type=new i.ProtocolRequestType0(t.method)}(e.CodeLensRefreshRequest||(e.CodeLensRefreshRequest={})),function(t){t.method="textDocument/documentLink",t.messageDirection=i.MessageDirection.clientToServer,t.type=new i.ProtocolRequestType(t.method)}(e.DocumentLinkRequest||(e.DocumentLinkRequest={})),function(t){t.method="documentLink/resolve",t.messageDirection=i.MessageDirection.clientToServer,t.type=new i.ProtocolRequestType(t.method)}(e.DocumentLinkResolveRequest||(e.DocumentLinkResolveRequest={})),function(t){t.method="textDocument/formatting",t.messageDirection=i.MessageDirection.clientToServer,t.type=new i.ProtocolRequestType(t.method)}(e.DocumentFormattingRequest||(e.DocumentFormattingRequest={})),function(t){t.method="textDocument/rangeFormatting",t.messageDirection=i.MessageDirection.clientToServer,t.type=new i.ProtocolRequestType(t.method)}(e.DocumentRangeFormattingRequest||(e.DocumentRangeFormattingRequest={})),function(t){t.method="textDocument/onTypeFormatting",t.messageDirection=i.MessageDirection.clientToServer,t.type=new i.ProtocolRequestType(t.method)}(e.DocumentOnTypeFormattingRequest||(e.DocumentOnTypeFormattingRequest={})),function(t){t.Identifier=1}(e.PrepareSupportDefaultBehavior||(e.PrepareSupportDefaultBehavior={})),function(t){t.method="textDocument/rename",t.messageDirection=i.MessageDirection.clientToServer,t.type=new i.ProtocolRequestType(t.method)}(e.RenameRequest||(e.RenameRequest={})),function(t){t.method="textDocument/prepareRename",t.messageDirection=i.MessageDirection.clientToServer,t.type=new i.ProtocolRequestType(t.method)}(e.PrepareRenameRequest||(e.PrepareRenameRequest={})),function(t){t.method="workspace/executeCommand",t.messageDirection=i.MessageDirection.clientToServer,t.type=new i.ProtocolRequestType(t.method)}(e.ExecuteCommandRequest||(e.ExecuteCommandRequest={})),function(t){t.method="workspace/applyEdit",t.messageDirection=i.MessageDirection.serverToClient,t.type=new i.ProtocolRequestType("workspace/applyEdit")}(e.ApplyWorkspaceEditRequest||(e.ApplyWorkspaceEditRequest={}))},(t,e)=>{"use strict";function r(t){return"string"==typeof t||t instanceof String}function i(t){return Array.isArray(t)}Object.defineProperty(e,"__esModule",{value:!0}),e.objectLiteral=e.typedArray=e.stringArray=e.array=e.func=e.error=e.number=e.string=e.boolean=void 0,e.boolean=function(t){return!0===t||!1===t},e.string=r,e.number=function(t){return"number"==typeof t||t instanceof Number},e.error=function(t){return t instanceof Error},e.func=function(t){return"function"==typeof t},e.array=i,e.stringArray=function(t){return i(t)&&t.every((t=>r(t)))},e.typedArray=function(t,e){return Array.isArray(t)&&t.every(e)},e.objectLiteral=function(t){return null!==t&&"object"==typeof t}},(t,e,r)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ImplementationRequest=void 0;const i=r(24);!function(t){t.method="textDocument/implementation",t.messageDirection=i.MessageDirection.clientToServer,t.type=new i.ProtocolRequestType(t.method)}(e.ImplementationRequest||(e.ImplementationRequest={}))},(t,e,r)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.TypeDefinitionRequest=void 0;const i=r(24);!function(t){t.method="textDocument/typeDefinition",t.messageDirection=i.MessageDirection.clientToServer,t.type=new i.ProtocolRequestType(t.method)}(e.TypeDefinitionRequest||(e.TypeDefinitionRequest={}))},(t,e,r)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.DidChangeWorkspaceFoldersNotification=e.WorkspaceFoldersRequest=void 0;const i=r(24);!function(t){t.method="workspace/workspaceFolders",t.messageDirection=i.MessageDirection.serverToClient,t.type=new i.ProtocolRequestType0(t.method)}(e.WorkspaceFoldersRequest||(e.WorkspaceFoldersRequest={})),function(t){t.method="workspace/didChangeWorkspaceFolders",t.messageDirection=i.MessageDirection.clientToServer,t.type=new i.ProtocolNotificationType(t.method)}(e.DidChangeWorkspaceFoldersNotification||(e.DidChangeWorkspaceFoldersNotification={}))},(t,e,r)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ConfigurationRequest=void 0;const i=r(24);!function(t){t.method="workspace/configuration",t.messageDirection=i.MessageDirection.serverToClient,t.type=new i.ProtocolRequestType(t.method)}(e.ConfigurationRequest||(e.ConfigurationRequest={}))},(t,e,r)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ColorPresentationRequest=e.DocumentColorRequest=void 0;const i=r(24);!function(t){t.method="textDocument/documentColor",t.messageDirection=i.MessageDirection.clientToServer,t.type=new i.ProtocolRequestType(t.method)}(e.DocumentColorRequest||(e.DocumentColorRequest={})),function(t){t.method="textDocument/colorPresentation",t.messageDirection=i.MessageDirection.clientToServer,t.type=new i.ProtocolRequestType(t.method)}(e.ColorPresentationRequest||(e.ColorPresentationRequest={}))},(t,e,r)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.FoldingRangeRequest=void 0;const i=r(24);!function(t){t.method="textDocument/foldingRange",t.messageDirection=i.MessageDirection.clientToServer,t.type=new i.ProtocolRequestType(t.method)}(e.FoldingRangeRequest||(e.FoldingRangeRequest={}))},(t,e,r)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.DeclarationRequest=void 0;const i=r(24);!function(t){t.method="textDocument/declaration",t.messageDirection=i.MessageDirection.clientToServer,t.type=new i.ProtocolRequestType(t.method)}(e.DeclarationRequest||(e.DeclarationRequest={}))},(t,e,r)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.SelectionRangeRequest=void 0;const i=r(24);!function(t){t.method="textDocument/selectionRange",t.messageDirection=i.MessageDirection.clientToServer,t.type=new i.ProtocolRequestType(t.method)}(e.SelectionRangeRequest||(e.SelectionRangeRequest={}))},(t,e,r)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.WorkDoneProgressCancelNotification=e.WorkDoneProgressCreateRequest=e.WorkDoneProgress=void 0;const i=r(6),n=r(24);!function(t){t.type=new i.ProgressType,t.is=function(e){return e===t.type}}(e.WorkDoneProgress||(e.WorkDoneProgress={})),function(t){t.method="window/workDoneProgress/create",t.messageDirection=n.MessageDirection.serverToClient,t.type=new n.ProtocolRequestType(t.method)}(e.WorkDoneProgressCreateRequest||(e.WorkDoneProgressCreateRequest={})),function(t){t.method="window/workDoneProgress/cancel",t.messageDirection=n.MessageDirection.clientToServer,t.type=new n.ProtocolNotificationType(t.method)}(e.WorkDoneProgressCancelNotification||(e.WorkDoneProgressCancelNotification={}))},(t,e,r)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.CallHierarchyOutgoingCallsRequest=e.CallHierarchyIncomingCallsRequest=e.CallHierarchyPrepareRequest=void 0;const i=r(24);!function(t){t.method="textDocument/prepareCallHierarchy",t.messageDirection=i.MessageDirection.clientToServer,t.type=new i.ProtocolRequestType(t.method)}(e.CallHierarchyPrepareRequest||(e.CallHierarchyPrepareRequest={})),function(t){t.method="callHierarchy/incomingCalls",t.messageDirection=i.MessageDirection.clientToServer,t.type=new i.ProtocolRequestType(t.method)}(e.CallHierarchyIncomingCallsRequest||(e.CallHierarchyIncomingCallsRequest={})),function(t){t.method="callHierarchy/outgoingCalls",t.messageDirection=i.MessageDirection.clientToServer,t.type=new i.ProtocolRequestType(t.method)}(e.CallHierarchyOutgoingCallsRequest||(e.CallHierarchyOutgoingCallsRequest={}))},(t,e,r)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.SemanticTokensRefreshRequest=e.SemanticTokensRangeRequest=e.SemanticTokensDeltaRequest=e.SemanticTokensRequest=e.SemanticTokensRegistrationType=e.TokenFormat=void 0;const i=r(24);var n;!function(t){t.Relative="relative"}(e.TokenFormat||(e.TokenFormat={})),function(t){t.method="textDocument/semanticTokens",t.type=new i.RegistrationType(t.method)}(n=e.SemanticTokensRegistrationType||(e.SemanticTokensRegistrationType={})),function(t){t.method="textDocument/semanticTokens/full",t.messageDirection=i.MessageDirection.clientToServer,t.type=new i.ProtocolRequestType(t.method),t.registrationMethod=n.method}(e.SemanticTokensRequest||(e.SemanticTokensRequest={})),function(t){t.method="textDocument/semanticTokens/full/delta",t.messageDirection=i.MessageDirection.clientToServer,t.type=new i.ProtocolRequestType(t.method),t.registrationMethod=n.method}(e.SemanticTokensDeltaRequest||(e.SemanticTokensDeltaRequest={})),function(t){t.method="textDocument/semanticTokens/range",t.messageDirection=i.MessageDirection.clientToServer,t.type=new i.ProtocolRequestType(t.method),t.registrationMethod=n.method}(e.SemanticTokensRangeRequest||(e.SemanticTokensRangeRequest={})),function(t){t.method="workspace/semanticTokens/refresh",t.messageDirection=i.MessageDirection.serverToClient,t.type=new i.ProtocolRequestType0(t.method)}(e.SemanticTokensRefreshRequest||(e.SemanticTokensRefreshRequest={}))},(t,e,r)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ShowDocumentRequest=void 0;const i=r(24);!function(t){t.method="window/showDocument",t.messageDirection=i.MessageDirection.serverToClient,t.type=new i.ProtocolRequestType(t.method)}(e.ShowDocumentRequest||(e.ShowDocumentRequest={}))},(t,e,r)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.LinkedEditingRangeRequest=void 0;const i=r(24);!function(t){t.method="textDocument/linkedEditingRange",t.messageDirection=i.MessageDirection.clientToServer,t.type=new i.ProtocolRequestType(t.method)}(e.LinkedEditingRangeRequest||(e.LinkedEditingRangeRequest={}))},(t,e,r)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.WillDeleteFilesRequest=e.DidDeleteFilesNotification=e.DidRenameFilesNotification=e.WillRenameFilesRequest=e.DidCreateFilesNotification=e.WillCreateFilesRequest=e.FileOperationPatternKind=void 0;const i=r(24);!function(t){t.file="file",t.folder="folder"}(e.FileOperationPatternKind||(e.FileOperationPatternKind={})),function(t){t.method="workspace/willCreateFiles",t.messageDirection=i.MessageDirection.clientToServer,t.type=new i.ProtocolRequestType(t.method)}(e.WillCreateFilesRequest||(e.WillCreateFilesRequest={})),function(t){t.method="workspace/didCreateFiles",t.messageDirection=i.MessageDirection.clientToServer,t.type=new i.ProtocolNotificationType(t.method)}(e.DidCreateFilesNotification||(e.DidCreateFilesNotification={})),function(t){t.method="workspace/willRenameFiles",t.messageDirection=i.MessageDirection.clientToServer,t.type=new i.ProtocolRequestType(t.method)}(e.WillRenameFilesRequest||(e.WillRenameFilesRequest={})),function(t){t.method="workspace/didRenameFiles",t.messageDirection=i.MessageDirection.clientToServer,t.type=new i.ProtocolNotificationType(t.method)}(e.DidRenameFilesNotification||(e.DidRenameFilesNotification={})),function(t){t.method="workspace/didDeleteFiles",t.messageDirection=i.MessageDirection.clientToServer,t.type=new i.ProtocolNotificationType(t.method)}(e.DidDeleteFilesNotification||(e.DidDeleteFilesNotification={})),function(t){t.method="workspace/willDeleteFiles",t.messageDirection=i.MessageDirection.clientToServer,t.type=new i.ProtocolRequestType(t.method)}(e.WillDeleteFilesRequest||(e.WillDeleteFilesRequest={}))},(t,e,r)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.MonikerRequest=e.MonikerKind=e.UniquenessLevel=void 0;const i=r(24);!function(t){t.document="document",t.project="project",t.group="group",t.scheme="scheme",t.global="global"}(e.UniquenessLevel||(e.UniquenessLevel={})),function(t){t.$import="import",t.$export="export",t.local="local"}(e.MonikerKind||(e.MonikerKind={})),function(t){t.method="textDocument/moniker",t.messageDirection=i.MessageDirection.clientToServer,t.type=new i.ProtocolRequestType(t.method)}(e.MonikerRequest||(e.MonikerRequest={}))},(t,e,r)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.TypeHierarchySubtypesRequest=e.TypeHierarchySupertypesRequest=e.TypeHierarchyPrepareRequest=void 0;const i=r(24);!function(t){t.method="textDocument/prepareTypeHierarchy",t.messageDirection=i.MessageDirection.clientToServer,t.type=new i.ProtocolRequestType(t.method)}(e.TypeHierarchyPrepareRequest||(e.TypeHierarchyPrepareRequest={})),function(t){t.method="typeHierarchy/supertypes",t.messageDirection=i.MessageDirection.clientToServer,t.type=new i.ProtocolRequestType(t.method)}(e.TypeHierarchySupertypesRequest||(e.TypeHierarchySupertypesRequest={})),function(t){t.method="typeHierarchy/subtypes",t.messageDirection=i.MessageDirection.clientToServer,t.type=new i.ProtocolRequestType(t.method)}(e.TypeHierarchySubtypesRequest||(e.TypeHierarchySubtypesRequest={}))},(t,e,r)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.InlineValueRefreshRequest=e.InlineValueRequest=void 0;const i=r(24);!function(t){t.method="textDocument/inlineValue",t.messageDirection=i.MessageDirection.clientToServer,t.type=new i.ProtocolRequestType(t.method)}(e.InlineValueRequest||(e.InlineValueRequest={})),function(t){t.method="workspace/inlineValue/refresh",t.messageDirection=i.MessageDirection.serverToClient,t.type=new i.ProtocolRequestType0(t.method)}(e.InlineValueRefreshRequest||(e.InlineValueRefreshRequest={}))},(t,e,r)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.InlayHintRefreshRequest=e.InlayHintResolveRequest=e.InlayHintRequest=void 0;const i=r(24);!function(t){t.method="textDocument/inlayHint",t.messageDirection=i.MessageDirection.clientToServer,t.type=new i.ProtocolRequestType(t.method)}(e.InlayHintRequest||(e.InlayHintRequest={})),function(t){t.method="inlayHint/resolve",t.messageDirection=i.MessageDirection.clientToServer,t.type=new i.ProtocolRequestType(t.method)}(e.InlayHintResolveRequest||(e.InlayHintResolveRequest={})),function(t){t.method="workspace/inlayHint/refresh",t.messageDirection=i.MessageDirection.serverToClient,t.type=new i.ProtocolRequestType0(t.method)}(e.InlayHintRefreshRequest||(e.InlayHintRefreshRequest={}))},(t,e,r)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.DiagnosticRefreshRequest=e.WorkspaceDiagnosticRequest=e.DocumentDiagnosticRequest=e.DocumentDiagnosticReportKind=e.DiagnosticServerCancellationData=void 0;const i=r(6),n=r(26),s=r(24);!function(t){t.is=function(t){const e=t;return e&&n.boolean(e.retriggerRequest)}}(e.DiagnosticServerCancellationData||(e.DiagnosticServerCancellationData={})),function(t){t.Full="full",t.Unchanged="unchanged"}(e.DocumentDiagnosticReportKind||(e.DocumentDiagnosticReportKind={})),function(t){t.method="textDocument/diagnostic",t.messageDirection=s.MessageDirection.clientToServer,t.type=new s.ProtocolRequestType(t.method),t.partialResult=new i.ProgressType}(e.DocumentDiagnosticRequest||(e.DocumentDiagnosticRequest={})),function(t){t.method="workspace/diagnostic",t.messageDirection=s.MessageDirection.clientToServer,t.type=new s.ProtocolRequestType(t.method),t.partialResult=new i.ProgressType}(e.WorkspaceDiagnosticRequest||(e.WorkspaceDiagnosticRequest={})),function(t){t.method="workspace/diagnostic/refresh",t.messageDirection=s.MessageDirection.serverToClient,t.type=new s.ProtocolRequestType0(t.method)}(e.DiagnosticRefreshRequest||(e.DiagnosticRefreshRequest={}))},(t,e,r)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.DidCloseNotebookDocumentNotification=e.DidSaveNotebookDocumentNotification=e.DidChangeNotebookDocumentNotification=e.NotebookCellArrayChange=e.DidOpenNotebookDocumentNotification=e.NotebookDocumentSyncRegistrationType=e.NotebookDocument=e.NotebookCell=e.ExecutionSummary=e.NotebookCellKind=void 0;const i=r(23),n=r(26),s=r(24);var o,a,E,h;!function(t){t.Markup=1,t.Code=2,t.is=function(t){return 1===t||2===t}}(o=e.NotebookCellKind||(e.NotebookCellKind={})),function(t){t.create=function(t,e){const r={executionOrder:t};return!0!==e&&!1!==e||(r.success=e),r},t.is=function(t){const e=t;return n.objectLiteral(e)&&i.uinteger.is(e.executionOrder)&&(void 0===e.success||n.boolean(e.success))},t.equals=function(t,e){return t===e||null!=t&&null!=e&&(t.executionOrder===e.executionOrder&&t.success===e.success)}}(a=e.ExecutionSummary||(e.ExecutionSummary={})),function(t){function e(t,r){if(t===r)return!0;if(null==t||null==r)return!1;if(typeof t!=typeof r)return!1;if("object"!=typeof t)return!1;const i=Array.isArray(t),s=Array.isArray(r);if(i!==s)return!1;if(i&&s){if(t.length!==r.length)return!1;for(let i=0;i<t.length;i++)if(!e(t[i],r[i]))return!1}if(n.objectLiteral(t)&&n.objectLiteral(r)){const i=Object.keys(t),n=Object.keys(r);if(i.length!==n.length)return!1;if(i.sort(),n.sort(),!e(i,n))return!1;for(let n=0;n<i.length;n++){const s=i[n];if(!e(t[s],r[s]))return!1}}return!0}t.create=function(t,e){return{kind:t,document:e}},t.is=function(t){const e=t;return n.objectLiteral(e)&&o.is(e.kind)&&i.DocumentUri.is(e.document)&&(void 0===e.metadata||n.objectLiteral(e.metadata))},t.diff=function(t,r){const i=new Set;return t.document!==r.document&&i.add("document"),t.kind!==r.kind&&i.add("kind"),t.executionSummary!==r.executionSummary&&i.add("executionSummary"),void 0===t.metadata&&void 0===r.metadata||e(t.metadata,r.metadata)||i.add("metadata"),void 0===t.executionSummary&&void 0===r.executionSummary||a.equals(t.executionSummary,r.executionSummary)||i.add("executionSummary"),i}}(E=e.NotebookCell||(e.NotebookCell={})),function(t){t.create=function(t,e,r,i){return{uri:t,notebookType:e,version:r,cells:i}},t.is=function(t){const e=t;return n.objectLiteral(e)&&n.string(e.uri)&&i.integer.is(e.version)&&n.typedArray(e.cells,E.is)}}(e.NotebookDocument||(e.NotebookDocument={})),function(t){t.method="notebookDocument/sync",t.messageDirection=s.MessageDirection.clientToServer,t.type=new s.RegistrationType(t.method)}(h=e.NotebookDocumentSyncRegistrationType||(e.NotebookDocumentSyncRegistrationType={})),function(t){t.method="notebookDocument/didOpen",t.messageDirection=s.MessageDirection.clientToServer,t.type=new s.ProtocolNotificationType(t.method),t.registrationMethod=h.method}(e.DidOpenNotebookDocumentNotification||(e.DidOpenNotebookDocumentNotification={})),function(t){t.is=function(t){const e=t;return n.objectLiteral(e)&&i.uinteger.is(e.start)&&i.uinteger.is(e.deleteCount)&&(void 0===e.cells||n.typedArray(e.cells,E.is))},t.create=function(t,e,r){const i={start:t,deleteCount:e};return void 0!==r&&(i.cells=r),i}}(e.NotebookCellArrayChange||(e.NotebookCellArrayChange={})),function(t){t.method="notebookDocument/didChange",t.messageDirection=s.MessageDirection.clientToServer,t.type=new s.ProtocolNotificationType(t.method),t.registrationMethod=h.method}(e.DidChangeNotebookDocumentNotification||(e.DidChangeNotebookDocumentNotification={})),function(t){t.method="notebookDocument/didSave",t.messageDirection=s.MessageDirection.clientToServer,t.type=new s.ProtocolNotificationType(t.method),t.registrationMethod=h.method}(e.DidSaveNotebookDocumentNotification||(e.DidSaveNotebookDocumentNotification={})),function(t){t.method="notebookDocument/didClose",t.messageDirection=s.MessageDirection.clientToServer,t.type=new s.ProtocolNotificationType(t.method),t.registrationMethod=h.method}(e.DidCloseNotebookDocumentNotification||(e.DidCloseNotebookDocumentNotification={}))},(t,e,r)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.createProtocolConnection=void 0;const i=r(6);e.createProtocolConnection=function(t,e,r,n){return i.ConnectionStrategy.is(n)&&(n={connectionStrategy:n}),(0,i.createMessageConnection)(t,e,r,n)}},(t,e,r)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.TextDocuments=void 0;const i=r(4);e.TextDocuments=class{constructor(t){this._configuration=t,this._syncedDocuments=new Map,this._onDidChangeContent=new i.Emitter,this._onDidOpen=new i.Emitter,this._onDidClose=new i.Emitter,this._onDidSave=new i.Emitter,this._onWillSave=new i.Emitter}get onDidOpen(){return this._onDidOpen.event}get onDidChangeContent(){return this._onDidChangeContent.event}get onWillSave(){return this._onWillSave.event}onWillSaveWaitUntil(t){this._willSaveWaitUntil=t}get onDidSave(){return this._onDidSave.event}get onDidClose(){return this._onDidClose.event}get(t){return this._syncedDocuments.get(t)}all(){return Array.from(this._syncedDocuments.values())}keys(){return Array.from(this._syncedDocuments.keys())}listen(t){t.__textDocumentSync=i.TextDocumentSyncKind.Incremental;const e=[];return e.push(t.onDidOpenTextDocument((t=>{const e=t.textDocument,r=this._configuration.create(e.uri,e.languageId,e.version,e.text);this._syncedDocuments.set(e.uri,r);const i=Object.freeze({document:r});this._onDidOpen.fire(i),this._onDidChangeContent.fire(i)}))),e.push(t.onDidChangeTextDocument((t=>{const e=t.textDocument,r=t.contentChanges;if(0===r.length)return;const{version:i}=e;if(null==i)throw new Error(`Received document change event for ${e.uri} without valid version identifier`);let n=this._syncedDocuments.get(e.uri);void 0!==n&&(n=this._configuration.update(n,r,i),this._syncedDocuments.set(e.uri,n),this._onDidChangeContent.fire(Object.freeze({document:n})))}))),e.push(t.onDidCloseTextDocument((t=>{let e=this._syncedDocuments.get(t.textDocument.uri);void 0!==e&&(this._syncedDocuments.delete(t.textDocument.uri),this._onDidClose.fire(Object.freeze({document:e})))}))),e.push(t.onWillSaveTextDocument((t=>{let e=this._syncedDocuments.get(t.textDocument.uri);void 0!==e&&this._onWillSave.fire(Object.freeze({document:e,reason:t.reason}))}))),e.push(t.onWillSaveTextDocumentWaitUntil(((t,e)=>{let r=this._syncedDocuments.get(t.textDocument.uri);return void 0!==r&&this._willSaveWaitUntil?this._willSaveWaitUntil(Object.freeze({document:r,reason:t.reason}),e):[]}))),e.push(t.onDidSaveTextDocument((t=>{let e=this._syncedDocuments.get(t.textDocument.uri);void 0!==e&&this._onDidSave.fire(Object.freeze({document:e}))}))),i.Disposable.create((()=>{e.forEach((t=>t.dispose()))}))}}},(t,e,r)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.NotebookDocuments=e.NotebookSyncFeature=void 0;const i=r(4),n=r(48);e.NotebookSyncFeature=t=>class extends t{get synchronization(){return{onDidOpenNotebookDocument:t=>this.connection.onNotification(i.DidOpenNotebookDocumentNotification.type,(e=>{t(e)})),onDidChangeNotebookDocument:t=>this.connection.onNotification(i.DidChangeNotebookDocumentNotification.type,(e=>{t(e)})),onDidSaveNotebookDocument:t=>this.connection.onNotification(i.DidSaveNotebookDocumentNotification.type,(e=>{t(e)})),onDidCloseNotebookDocument:t=>this.connection.onNotification(i.DidCloseNotebookDocumentNotification.type,(e=>{t(e)}))}}};class s{onDidOpenTextDocument(t){return this.openHandler=t,i.Disposable.create((()=>{this.openHandler=void 0}))}openTextDocument(t){this.openHandler&&this.openHandler(t)}onDidChangeTextDocument(t){return this.changeHandler=t,i.Disposable.create((()=>{this.changeHandler=t}))}changeTextDocument(t){this.changeHandler&&this.changeHandler(t)}onDidCloseTextDocument(t){return this.closeHandler=t,i.Disposable.create((()=>{this.closeHandler=void 0}))}closeTextDocument(t){this.closeHandler&&this.closeHandler(t)}onWillSaveTextDocument(){return s.NULL_DISPOSE}onWillSaveTextDocumentWaitUntil(){return s.NULL_DISPOSE}onDidSaveTextDocument(){return s.NULL_DISPOSE}}s.NULL_DISPOSE=Object.freeze({dispose:()=>{}});e.NotebookDocuments=class{constructor(t){t instanceof n.TextDocuments?this._cellTextDocuments=t:this._cellTextDocuments=new n.TextDocuments(t),this.notebookDocuments=new Map,this.notebookCellMap=new Map,this._onDidOpen=new i.Emitter,this._onDidChange=new i.Emitter,this._onDidSave=new i.Emitter,this._onDidClose=new i.Emitter}get cellTextDocuments(){return this._cellTextDocuments}getCellTextDocument(t){return this._cellTextDocuments.get(t.document)}getNotebookDocument(t){return this.notebookDocuments.get(t)}getNotebookCell(t){const e=this.notebookCellMap.get(t);return e&&e[0]}findNotebookDocumentForCell(t){const e="string"==typeof t?t:t.document,r=this.notebookCellMap.get(e);return r&&r[1]}get onDidOpen(){return this._onDidOpen.event}get onDidSave(){return this._onDidSave.event}get onDidChange(){return this._onDidChange.event}get onDidClose(){return this._onDidClose.event}listen(t){const e=new s,r=[];return r.push(this.cellTextDocuments.listen(e)),r.push(t.notebooks.synchronization.onDidOpenNotebookDocument((t=>{this.notebookDocuments.set(t.notebookDocument.uri,t.notebookDocument);for(const r of t.cellTextDocuments)e.openTextDocument({textDocument:r});this.updateCellMap(t.notebookDocument),this._onDidOpen.fire(t.notebookDocument)}))),r.push(t.notebooks.synchronization.onDidChangeNotebookDocument((t=>{const r=this.notebookDocuments.get(t.notebookDocument.uri);if(void 0===r)return;r.version=t.notebookDocument.version;const i=r.metadata;let n=!1;const s=t.change;void 0!==s.metadata&&(n=!0,r.metadata=s.metadata);const o=[],a=[],E=[],h=[];if(void 0!==s.cells){const t=s.cells;if(void 0!==t.structure){const i=t.structure.array;if(r.cells.splice(i.start,i.deleteCount,...void 0!==i.cells?i.cells:[]),void 0!==t.structure.didOpen)for(const r of t.structure.didOpen)e.openTextDocument({textDocument:r}),o.push(r.uri);if(t.structure.didClose)for(const r of t.structure.didClose)e.closeTextDocument({textDocument:r}),a.push(r.uri)}if(void 0!==t.data){const e=new Map(t.data.map((t=>[t.document,t])));for(let t=0;t<=r.cells.length;t++){const i=e.get(r.cells[t].document);if(void 0!==i){const n=r.cells.splice(t,1,i);if(E.push({old:n[0],new:i}),e.delete(i.document),0===e.size)break}}}if(void 0!==t.textContent)for(const r of t.textContent)e.changeTextDocument({textDocument:r.document,contentChanges:r.changes}),h.push(r.document.uri)}this.updateCellMap(r);const l={notebookDocument:r};n&&(l.metadata={old:i,new:r.metadata});const u=[];for(const t of o)u.push(this.getNotebookCell(t));const c=[];for(const t of a)c.push(this.getNotebookCell(t));const T=[];for(const t of h)T.push(this.getNotebookCell(t));(u.length>0||c.length>0||E.length>0||T.length>0)&&(l.cells={added:u,removed:c,changed:{data:E,textContent:T}}),void 0===l.metadata&&void 0===l.cells||this._onDidChange.fire(l)}))),r.push(t.notebooks.synchronization.onDidSaveNotebookDocument((t=>{const e=this.notebookDocuments.get(t.notebookDocument.uri);void 0!==e&&this._onDidSave.fire(e)}))),r.push(t.notebooks.synchronization.onDidCloseNotebookDocument((t=>{const r=this.notebookDocuments.get(t.notebookDocument.uri);if(void 0!==r){this._onDidClose.fire(r);for(const r of t.cellTextDocuments)e.closeTextDocument({textDocument:r});this.notebookDocuments.delete(t.notebookDocument.uri);for(const t of r.cells)this.notebookCellMap.delete(t.document)}}))),i.Disposable.create((()=>{r.forEach((t=>t.dispose()))}))}updateCellMap(t){for(const e of t.cells)this.notebookCellMap.set(e.document,[e,t])}}},(t,e,r)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.createConnection=e.combineFeatures=e.combineNotebooksFeatures=e.combineLanguagesFeatures=e.combineWorkspaceFeatures=e.combineWindowFeatures=e.combineClientFeatures=e.combineTracerFeatures=e.combineTelemetryFeatures=e.combineConsoleFeatures=e._NotebooksImpl=e._LanguagesImpl=e.BulkUnregistration=e.BulkRegistration=e.ErrorMessageTracker=void 0;const i=r(4),n=r(51),s=r(52),o=r(53),a=r(54),E=r(55),h=r(56),l=r(3),u=r(57),c=r(58),T=r(59),R=r(60),p=r(61),S=r(62),A=r(63),d=r(49),N=r(64);function O(t){if(null!==t)return t}e.ErrorMessageTracker=class{constructor(){this._messages=Object.create(null)}add(t){let e=this._messages[t];e||(e=0),e++,this._messages[t]=e}sendErrors(t){Object.keys(this._messages).forEach((e=>{t.window.showErrorMessage(e)}))}};class C{constructor(){}rawAttach(t){this._rawConnection=t}attach(t){this._connection=t}get connection(){if(!this._connection)throw new Error("Remote is not attached to a connection yet.");return this._connection}fillServerCapabilities(t){}initialize(t){}error(t){this.send(i.MessageType.Error,t)}warn(t){this.send(i.MessageType.Warning,t)}info(t){this.send(i.MessageType.Info,t)}log(t){this.send(i.MessageType.Log,t)}send(t,e){this._rawConnection&&this._rawConnection.sendNotification(i.LogMessageNotification.type,{type:t,message:e}).catch((()=>{(0,i.RAL)().console.error("Sending log message failed")}))}}const _=(0,u.ShowDocumentFeature)((0,o.ProgressFeature)(class{constructor(){}attach(t){this._connection=t}get connection(){if(!this._connection)throw new Error("Remote is not attached to a connection yet.");return this._connection}initialize(t){}fillServerCapabilities(t){}showErrorMessage(t,...e){let r={type:i.MessageType.Error,message:t,actions:e};return this.connection.sendRequest(i.ShowMessageRequest.type,r).then(O)}showWarningMessage(t,...e){let r={type:i.MessageType.Warning,message:t,actions:e};return this.connection.sendRequest(i.ShowMessageRequest.type,r).then(O)}showInformationMessage(t,...e){let r={type:i.MessageType.Info,message:t,actions:e};return this.connection.sendRequest(i.ShowMessageRequest.type,r).then(O)}}));!function(t){t.create=function(){return new I}}(e.BulkRegistration||(e.BulkRegistration={}));class I{constructor(){this._registrations=[],this._registered=new Set}add(t,e){const r=n.string(t)?t:t.method;if(this._registered.has(r))throw new Error(`${r} is already added to this registration`);const i=s.generateUuid();this._registrations.push({id:i,method:r,registerOptions:e||{}}),this._registered.add(r)}asRegistrationParams(){return{registrations:this._registrations}}}!function(t){t.create=function(){return new L(void 0,[])}}(e.BulkUnregistration||(e.BulkUnregistration={}));class L{constructor(t,e){this._connection=t,this._unregistrations=new Map,e.forEach((t=>{this._unregistrations.set(t.method,t)}))}get isAttached(){return!!this._connection}attach(t){this._connection=t}add(t){this._unregistrations.set(t.method,t)}dispose(){let t=[];for(let e of this._unregistrations.values())t.push(e);let e={unregisterations:t};this._connection.sendRequest(i.UnregistrationRequest.type,e).catch((()=>{this._connection.console.info("Bulk unregistration failed.")}))}disposeSingle(t){const e=n.string(t)?t:t.method,r=this._unregistrations.get(e);if(!r)return!1;let s={unregisterations:[r]};return this._connection.sendRequest(i.UnregistrationRequest.type,s).then((()=>{this._unregistrations.delete(e)}),(t=>{this._connection.console.info(`Un-registering request handler for ${r.id} failed.`)})),!0}}class f{attach(t){this._connection=t}get connection(){if(!this._connection)throw new Error("Remote is not attached to a connection yet.");return this._connection}initialize(t){}fillServerCapabilities(t){}register(t,e,r){return t instanceof I?this.registerMany(t):t instanceof L?this.registerSingle1(t,e,r):this.registerSingle2(t,e)}registerSingle1(t,e,r){const o=n.string(e)?e:e.method,a=s.generateUuid();let E={registrations:[{id:a,method:o,registerOptions:r||{}}]};return t.isAttached||t.attach(this.connection),this.connection.sendRequest(i.RegistrationRequest.type,E).then((e=>(t.add({id:a,method:o}),t)),(t=>(this.connection.console.info(`Registering request handler for ${o} failed.`),Promise.reject(t))))}registerSingle2(t,e){const r=n.string(t)?t:t.method,o=s.generateUuid();let a={registrations:[{id:o,method:r,registerOptions:e||{}}]};return this.connection.sendRequest(i.RegistrationRequest.type,a).then((t=>i.Disposable.create((()=>{this.unregisterSingle(o,r).catch((()=>{this.connection.console.info(`Un-registering capability with id ${o} failed.`)}))}))),(t=>(this.connection.console.info(`Registering request handler for ${r} failed.`),Promise.reject(t))))}unregisterSingle(t,e){let r={unregisterations:[{id:t,method:e}]};return this.connection.sendRequest(i.UnregistrationRequest.type,r).catch((()=>{this.connection.console.info(`Un-registering request handler for ${t} failed.`)}))}registerMany(t){let e=t.asRegistrationParams();return this.connection.sendRequest(i.RegistrationRequest.type,e).then((()=>new L(this._connection,e.registrations.map((t=>({id:t.id,method:t.method}))))),(t=>(this.connection.console.info("Bulk registration failed."),Promise.reject(t))))}}const m=(0,c.FileOperationsFeature)((0,E.WorkspaceFoldersFeature)((0,a.ConfigurationFeature)(class{constructor(){}attach(t){this._connection=t}get connection(){if(!this._connection)throw new Error("Remote is not attached to a connection yet.");return this._connection}initialize(t){}fillServerCapabilities(t){}applyEdit(t){let e=(r=t)&&r.edit?t:{edit:t};var r;return this.connection.sendRequest(i.ApplyWorkspaceEditRequest.type,e)}})));class y{constructor(){this._trace=i.Trace.Off}attach(t){this._connection=t}get connection(){if(!this._connection)throw new Error("Remote is not attached to a connection yet.");return this._connection}initialize(t){}fillServerCapabilities(t){}set trace(t){this._trace=t}log(t,e){this._trace!==i.Trace.Off&&this.connection.sendNotification(i.LogTraceNotification.type,{message:t,verbose:this._trace===i.Trace.Verbose?e:void 0}).catch((()=>{}))}}class x{constructor(){}attach(t){this._connection=t}get connection(){if(!this._connection)throw new Error("Remote is not attached to a connection yet.");return this._connection}initialize(t){}fillServerCapabilities(t){}logEvent(t){this.connection.sendNotification(i.TelemetryEventNotification.type,t).catch((()=>{this.connection.console.log("Sending TelemetryEventNotification failed")}))}}class g{constructor(){}attach(t){this._connection=t}get connection(){if(!this._connection)throw new Error("Remote is not attached to a connection yet.");return this._connection}initialize(t){}fillServerCapabilities(t){}attachWorkDoneProgress(t){return(0,o.attachWorkDone)(this.connection,t)}attachPartialResultProgress(t,e){return(0,o.attachPartialResult)(this.connection,e)}}e._LanguagesImpl=g;const P=(0,N.MonikerFeature)((0,A.DiagnosticFeature)((0,S.InlayHintFeature)((0,p.InlineValueFeature)((0,R.TypeHierarchyFeature)((0,T.LinkedEditingRangeFeature)((0,l.SemanticTokensFeature)((0,h.CallHierarchyFeature)(g))))))));class D{constructor(){}attach(t){this._connection=t}get connection(){if(!this._connection)throw new Error("Remote is not attached to a connection yet.");return this._connection}initialize(t){}fillServerCapabilities(t){}attachWorkDoneProgress(t){return(0,o.attachWorkDone)(this.connection,t)}attachPartialResultProgress(t,e){return(0,o.attachPartialResult)(this.connection,e)}}e._NotebooksImpl=D;const M=(0,d.NotebookSyncFeature)(D);function v(t,e){return function(r){return e(t(r))}}function U(t,e){return function(r){return e(t(r))}}function k(t,e){return function(r){return e(t(r))}}function b(t,e){return function(r){return e(t(r))}}function G(t,e){return function(r){return e(t(r))}}function F(t,e){return function(r){return e(t(r))}}function H(t,e){return function(r){return e(t(r))}}function w(t,e){return function(r){return e(t(r))}}e.combineConsoleFeatures=v,e.combineTelemetryFeatures=U,e.combineTracerFeatures=k,e.combineClientFeatures=b,e.combineWindowFeatures=G,e.combineWorkspaceFeatures=F,e.combineLanguagesFeatures=H,e.combineNotebooksFeatures=w,e.combineFeatures=function(t,e){function r(t,e,r){return t&&e?r(t,e):t||e}return{__brand:"features",console:r(t.console,e.console,v),tracer:r(t.tracer,e.tracer,k),telemetry:r(t.telemetry,e.telemetry,U),client:r(t.client,e.client,b),window:r(t.window,e.window,G),workspace:r(t.workspace,e.workspace,F),languages:r(t.languages,e.languages,H),notebooks:r(t.notebooks,e.notebooks,w)}},e.createConnection=function(t,e,r){const s=r&&r.console?new(r.console(C)):new C,a=t(s);s.rawAttach(a);const E=r&&r.tracer?new(r.tracer(y)):new y,h=r&&r.telemetry?new(r.telemetry(x)):new x,l=r&&r.client?new(r.client(f)):new f,u=r&&r.window?new(r.window(_)):new _,c=r&&r.workspace?new(r.workspace(m)):new m,T=r&&r.languages?new(r.languages(P)):new P,R=r&&r.notebooks?new(r.notebooks(M)):new M,p=[s,E,h,l,u,c,T,R];let S,A,d,N={listen:()=>a.listen(),sendRequest:(t,...e)=>a.sendRequest(n.string(t)?t:t.method,...e),onRequest:(t,e)=>a.onRequest(t,e),sendNotification:(t,e)=>{const r=n.string(t)?t:t.method;return 1===arguments.length?a.sendNotification(r):a.sendNotification(r,e)},onNotification:(t,e)=>a.onNotification(t,e),onProgress:a.onProgress,sendProgress:a.sendProgress,onInitialize:t=>(A=t,{dispose:()=>{A=void 0}}),onInitialized:t=>a.onNotification(i.InitializedNotification.type,t),onShutdown:t=>(S=t,{dispose:()=>{S=void 0}}),onExit:t=>(d=t,{dispose:()=>{d=void 0}}),get console(){return s},get telemetry(){return h},get tracer(){return E},get client(){return l},get window(){return u},get workspace(){return c},get languages(){return T},get notebooks(){return R},onDidChangeConfiguration:t=>a.onNotification(i.DidChangeConfigurationNotification.type,t),onDidChangeWatchedFiles:t=>a.onNotification(i.DidChangeWatchedFilesNotification.type,t),__textDocumentSync:void 0,onDidOpenTextDocument:t=>a.onNotification(i.DidOpenTextDocumentNotification.type,t),onDidChangeTextDocument:t=>a.onNotification(i.DidChangeTextDocumentNotification.type,t),onDidCloseTextDocument:t=>a.onNotification(i.DidCloseTextDocumentNotification.type,t),onWillSaveTextDocument:t=>a.onNotification(i.WillSaveTextDocumentNotification.type,t),onWillSaveTextDocumentWaitUntil:t=>a.onRequest(i.WillSaveTextDocumentWaitUntilRequest.type,t),onDidSaveTextDocument:t=>a.onNotification(i.DidSaveTextDocumentNotification.type,t),sendDiagnostics:t=>a.sendNotification(i.PublishDiagnosticsNotification.type,t),onHover:t=>a.onRequest(i.HoverRequest.type,((e,r)=>t(e,r,(0,o.attachWorkDone)(a,e),void 0))),onCompletion:t=>a.onRequest(i.CompletionRequest.type,((e,r)=>t(e,r,(0,o.attachWorkDone)(a,e),(0,o.attachPartialResult)(a,e)))),onCompletionResolve:t=>a.onRequest(i.CompletionResolveRequest.type,t),onSignatureHelp:t=>a.onRequest(i.SignatureHelpRequest.type,((e,r)=>t(e,r,(0,o.attachWorkDone)(a,e),void 0))),onDeclaration:t=>a.onRequest(i.DeclarationRequest.type,((e,r)=>t(e,r,(0,o.attachWorkDone)(a,e),(0,o.attachPartialResult)(a,e)))),onDefinition:t=>a.onRequest(i.DefinitionRequest.type,((e,r)=>t(e,r,(0,o.attachWorkDone)(a,e),(0,o.attachPartialResult)(a,e)))),onTypeDefinition:t=>a.onRequest(i.TypeDefinitionRequest.type,((e,r)=>t(e,r,(0,o.attachWorkDone)(a,e),(0,o.attachPartialResult)(a,e)))),onImplementation:t=>a.onRequest(i.ImplementationRequest.type,((e,r)=>t(e,r,(0,o.attachWorkDone)(a,e),(0,o.attachPartialResult)(a,e)))),onReferences:t=>a.onRequest(i.ReferencesRequest.type,((e,r)=>t(e,r,(0,o.attachWorkDone)(a,e),(0,o.attachPartialResult)(a,e)))),onDocumentHighlight:t=>a.onRequest(i.DocumentHighlightRequest.type,((e,r)=>t(e,r,(0,o.attachWorkDone)(a,e),(0,o.attachPartialResult)(a,e)))),onDocumentSymbol:t=>a.onRequest(i.DocumentSymbolRequest.type,((e,r)=>t(e,r,(0,o.attachWorkDone)(a,e),(0,o.attachPartialResult)(a,e)))),onWorkspaceSymbol:t=>a.onRequest(i.WorkspaceSymbolRequest.type,((e,r)=>t(e,r,(0,o.attachWorkDone)(a,e),(0,o.attachPartialResult)(a,e)))),onWorkspaceSymbolResolve:t=>a.onRequest(i.WorkspaceSymbolResolveRequest.type,t),onCodeAction:t=>a.onRequest(i.CodeActionRequest.type,((e,r)=>t(e,r,(0,o.attachWorkDone)(a,e),(0,o.attachPartialResult)(a,e)))),onCodeActionResolve:t=>a.onRequest(i.CodeActionResolveRequest.type,((e,r)=>t(e,r))),onCodeLens:t=>a.onRequest(i.CodeLensRequest.type,((e,r)=>t(e,r,(0,o.attachWorkDone)(a,e),(0,o.attachPartialResult)(a,e)))),onCodeLensResolve:t=>a.onRequest(i.CodeLensResolveRequest.type,((e,r)=>t(e,r))),onDocumentFormatting:t=>a.onRequest(i.DocumentFormattingRequest.type,((e,r)=>t(e,r,(0,o.attachWorkDone)(a,e),void 0))),onDocumentRangeFormatting:t=>a.onRequest(i.DocumentRangeFormattingRequest.type,((e,r)=>t(e,r,(0,o.attachWorkDone)(a,e),void 0))),onDocumentOnTypeFormatting:t=>a.onRequest(i.DocumentOnTypeFormattingRequest.type,((e,r)=>t(e,r))),onRenameRequest:t=>a.onRequest(i.RenameRequest.type,((e,r)=>t(e,r,(0,o.attachWorkDone)(a,e),void 0))),onPrepareRename:t=>a.onRequest(i.PrepareRenameRequest.type,((e,r)=>t(e,r))),onDocumentLinks:t=>a.onRequest(i.DocumentLinkRequest.type,((e,r)=>t(e,r,(0,o.attachWorkDone)(a,e),(0,o.attachPartialResult)(a,e)))),onDocumentLinkResolve:t=>a.onRequest(i.DocumentLinkResolveRequest.type,((e,r)=>t(e,r))),onDocumentColor:t=>a.onRequest(i.DocumentColorRequest.type,((e,r)=>t(e,r,(0,o.attachWorkDone)(a,e),(0,o.attachPartialResult)(a,e)))),onColorPresentation:t=>a.onRequest(i.ColorPresentationRequest.type,((e,r)=>t(e,r,(0,o.attachWorkDone)(a,e),(0,o.attachPartialResult)(a,e)))),onFoldingRanges:t=>a.onRequest(i.FoldingRangeRequest.type,((e,r)=>t(e,r,(0,o.attachWorkDone)(a,e),(0,o.attachPartialResult)(a,e)))),onSelectionRanges:t=>a.onRequest(i.SelectionRangeRequest.type,((e,r)=>t(e,r,(0,o.attachWorkDone)(a,e),(0,o.attachPartialResult)(a,e)))),onExecuteCommand:t=>a.onRequest(i.ExecuteCommandRequest.type,((e,r)=>t(e,r,(0,o.attachWorkDone)(a,e),void 0))),dispose:()=>a.dispose()};for(let t of p)t.attach(N);return a.onRequest(i.InitializeRequest.type,(t=>{e.initialize(t),n.string(t.trace)&&(E.trace=i.Trace.fromString(t.trace));for(let e of p)e.initialize(t.capabilities);if(A){let e=A(t,(new i.CancellationTokenSource).token,(0,o.attachWorkDone)(a,t),void 0);return(r=e,r instanceof Promise?r:n.thenable(r)?new Promise(((t,e)=>{r.then((e=>t(e)),(t=>e(t)))})):Promise.resolve(r)).then((t=>{if(t instanceof i.ResponseError)return t;let e=t;e||(e={capabilities:{}});let r=e.capabilities;r||(r={},e.capabilities=r),void 0===r.textDocumentSync||null===r.textDocumentSync?r.textDocumentSync=n.number(N.__textDocumentSync)?N.__textDocumentSync:i.TextDocumentSyncKind.None:n.number(r.textDocumentSync)||n.number(r.textDocumentSync.change)||(r.textDocumentSync.change=n.number(N.__textDocumentSync)?N.__textDocumentSync:i.TextDocumentSyncKind.None);for(let t of p)t.fillServerCapabilities(r);return e}))}{let t={capabilities:{textDocumentSync:i.TextDocumentSyncKind.None}};for(let e of p)e.fillServerCapabilities(t.capabilities);return t}var r})),a.onRequest(i.ShutdownRequest.type,(()=>(e.shutdownReceived=!0,S?S((new i.CancellationTokenSource).token):void 0))),a.onNotification(i.ExitNotification.type,(()=>{try{d&&d()}finally{e.shutdownReceived?e.exit(0):e.exit(1)}})),a.onNotification(i.SetTraceNotification.type,(t=>{E.trace=i.Trace.fromString(t.value)})),N}},(t,e)=>{"use strict";function r(t){return"string"==typeof t||t instanceof String}function i(t){return"function"==typeof t}function n(t){return Array.isArray(t)}Object.defineProperty(e,"__esModule",{value:!0}),e.thenable=e.typedArray=e.stringArray=e.array=e.func=e.error=e.number=e.string=e.boolean=void 0,e.boolean=function(t){return!0===t||!1===t},e.string=r,e.number=function(t){return"number"==typeof t||t instanceof Number},e.error=function(t){return t instanceof Error},e.func=i,e.array=n,e.stringArray=function(t){return n(t)&&t.every((t=>r(t)))},e.typedArray=function(t,e){return Array.isArray(t)&&t.every(e)},e.thenable=function(t){return t&&i(t.then)}},(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.generateUuid=e.parse=e.isUUID=e.v4=e.empty=void 0;class r{constructor(t){this._value=t}asHex(){return this._value}equals(t){return this.asHex()===t.asHex()}}class i extends r{constructor(){super([i._randomHex(),i._randomHex(),i._randomHex(),i._randomHex(),i._randomHex(),i._randomHex(),i._randomHex(),i._randomHex(),"-",i._randomHex(),i._randomHex(),i._randomHex(),i._randomHex(),"-","4",i._randomHex(),i._randomHex(),i._randomHex(),"-",i._oneOf(i._timeHighBits),i._randomHex(),i._randomHex(),i._randomHex(),"-",i._randomHex(),i._randomHex(),i._randomHex(),i._randomHex(),i._randomHex(),i._randomHex(),i._randomHex(),i._randomHex(),i._randomHex(),i._randomHex(),i._randomHex(),i._randomHex()].join(""))}static _oneOf(t){return t[Math.floor(t.length*Math.random())]}static _randomHex(){return i._oneOf(i._chars)}}function n(){return new i}i._chars=["0","1","2","3","4","5","6","6","7","8","9","a","b","c","d","e","f"],i._timeHighBits=["8","9","a","b"],e.empty=new r("00000000-0000-0000-0000-000000000000"),e.v4=n;const s=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;function o(t){return s.test(t)}e.isUUID=o,e.parse=function(t){if(!o(t))throw new Error("invalid uuid");return new r(t)},e.generateUuid=function(){return n().asHex()}},(t,e,r)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.attachPartialResult=e.ProgressFeature=e.attachWorkDone=void 0;const i=r(4),n=r(52);class s{constructor(t,e){this._connection=t,this._token=e,s.Instances.set(this._token,this)}begin(t,e,r,n){let s={kind:"begin",title:t,percentage:e,message:r,cancellable:n};this._connection.sendProgress(i.WorkDoneProgress.type,this._token,s)}report(t,e){let r={kind:"report"};"number"==typeof t?(r.percentage=t,void 0!==e&&(r.message=e)):r.message=t,this._connection.sendProgress(i.WorkDoneProgress.type,this._token,r)}done(){s.Instances.delete(this._token),this._connection.sendProgress(i.WorkDoneProgress.type,this._token,{kind:"end"})}}s.Instances=new Map;class o extends s{constructor(t,e){super(t,e),this._source=new i.CancellationTokenSource}get token(){return this._source.token}done(){this._source.dispose(),super.done()}cancel(){this._source.cancel()}}class a{constructor(){}begin(){}report(){}done(){}}class E extends a{constructor(){super(),this._source=new i.CancellationTokenSource}get token(){return this._source.token}done(){this._source.dispose()}cancel(){this._source.cancel()}}e.attachWorkDone=function(t,e){if(void 0===e||void 0===e.workDoneToken)return new a;const r=e.workDoneToken;return delete e.workDoneToken,new s(t,r)};var h;e.ProgressFeature=t=>class extends t{constructor(){super(),this._progressSupported=!1}initialize(t){super.initialize(t),!0===t?.window?.workDoneProgress&&(this._progressSupported=!0,this.connection.onNotification(i.WorkDoneProgressCancelNotification.type,(t=>{let e=s.Instances.get(t.token);(e instanceof o||e instanceof E)&&e.cancel()})))}attachWorkDoneProgress(t){return void 0===t?new a:new s(this.connection,t)}createWorkDoneProgress(){if(this._progressSupported){const t=(0,n.generateUuid)();return this.connection.sendRequest(i.WorkDoneProgressCreateRequest.type,{token:t}).then((()=>new o(this.connection,t)))}return Promise.resolve(new E)}},function(t){t.type=new i.ProgressType}(h||(h={}));class l{constructor(t,e){this._connection=t,this._token=e}report(t){this._connection.sendProgress(h.type,this._token,t)}}e.attachPartialResult=function(t,e){if(void 0===e||void 0===e.partialResultToken)return;const r=e.partialResultToken;return delete e.partialResultToken,new l(t,r)}},(t,e,r)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ConfigurationFeature=void 0;const i=r(4),n=r(51);e.ConfigurationFeature=t=>class extends t{getConfiguration(t){return t?n.string(t)?this._getConfiguration({section:t}):this._getConfiguration(t):this._getConfiguration({})}_getConfiguration(t){let e={items:Array.isArray(t)?t:[t]};return this.connection.sendRequest(i.ConfigurationRequest.type,e).then((e=>Array.isArray(e)?Array.isArray(t)?e:e[0]:Array.isArray(t)?[]:null))}}},(t,e,r)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.WorkspaceFoldersFeature=void 0;const i=r(4);e.WorkspaceFoldersFeature=t=>class extends t{constructor(){super(),this._notificationIsAutoRegistered=!1}initialize(t){super.initialize(t);let e=t.workspace;e&&e.workspaceFolders&&(this._onDidChangeWorkspaceFolders=new i.Emitter,this.connection.onNotification(i.DidChangeWorkspaceFoldersNotification.type,(t=>{this._onDidChangeWorkspaceFolders.fire(t.event)})))}fillServerCapabilities(t){super.fillServerCapabilities(t);const e=t.workspace?.workspaceFolders?.changeNotifications;this._notificationIsAutoRegistered=!0===e||"string"==typeof e}getWorkspaceFolders(){return this.connection.sendRequest(i.WorkspaceFoldersRequest.type)}get onDidChangeWorkspaceFolders(){if(!this._onDidChangeWorkspaceFolders)throw new Error("Client doesn't support sending workspace folder change events.");return this._notificationIsAutoRegistered||this._unregistration||(this._unregistration=this.connection.client.register(i.DidChangeWorkspaceFoldersNotification.type)),this._onDidChangeWorkspaceFolders.event}}},(t,e,r)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.CallHierarchyFeature=void 0;const i=r(4);e.CallHierarchyFeature=t=>class extends t{get callHierarchy(){return{onPrepare:t=>this.connection.onRequest(i.CallHierarchyPrepareRequest.type,((e,r)=>t(e,r,this.attachWorkDoneProgress(e),void 0))),onIncomingCalls:t=>{const e=i.CallHierarchyIncomingCallsRequest.type;return this.connection.onRequest(e,((r,i)=>t(r,i,this.attachWorkDoneProgress(r),this.attachPartialResultProgress(e,r))))},onOutgoingCalls:t=>{const e=i.CallHierarchyOutgoingCallsRequest.type;return this.connection.onRequest(e,((r,i)=>t(r,i,this.attachWorkDoneProgress(r),this.attachPartialResultProgress(e,r))))}}}}},(t,e,r)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ShowDocumentFeature=void 0;const i=r(4);e.ShowDocumentFeature=t=>class extends t{showDocument(t){return this.connection.sendRequest(i.ShowDocumentRequest.type,t)}}},(t,e,r)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.FileOperationsFeature=void 0;const i=r(4);e.FileOperationsFeature=t=>class extends t{onDidCreateFiles(t){return this.connection.onNotification(i.DidCreateFilesNotification.type,(e=>{t(e)}))}onDidRenameFiles(t){return this.connection.onNotification(i.DidRenameFilesNotification.type,(e=>{t(e)}))}onDidDeleteFiles(t){return this.connection.onNotification(i.DidDeleteFilesNotification.type,(e=>{t(e)}))}onWillCreateFiles(t){return this.connection.onRequest(i.WillCreateFilesRequest.type,((e,r)=>t(e,r)))}onWillRenameFiles(t){return this.connection.onRequest(i.WillRenameFilesRequest.type,((e,r)=>t(e,r)))}onWillDeleteFiles(t){return this.connection.onRequest(i.WillDeleteFilesRequest.type,((e,r)=>t(e,r)))}}},(t,e,r)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.LinkedEditingRangeFeature=void 0;const i=r(4);e.LinkedEditingRangeFeature=t=>class extends t{onLinkedEditingRange(t){return this.connection.onRequest(i.LinkedEditingRangeRequest.type,((e,r)=>t(e,r,this.attachWorkDoneProgress(e),void 0)))}}},(t,e,r)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.TypeHierarchyFeature=void 0;const i=r(4);e.TypeHierarchyFeature=t=>class extends t{get typeHierarchy(){return{onPrepare:t=>this.connection.onRequest(i.TypeHierarchyPrepareRequest.type,((e,r)=>t(e,r,this.attachWorkDoneProgress(e),void 0))),onSupertypes:t=>{const e=i.TypeHierarchySupertypesRequest.type;return this.connection.onRequest(e,((r,i)=>t(r,i,this.attachWorkDoneProgress(r),this.attachPartialResultProgress(e,r))))},onSubtypes:t=>{const e=i.TypeHierarchySubtypesRequest.type;return this.connection.onRequest(e,((r,i)=>t(r,i,this.attachWorkDoneProgress(r),this.attachPartialResultProgress(e,r))))}}}}},(t,e,r)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.InlineValueFeature=void 0;const i=r(4);e.InlineValueFeature=t=>class extends t{get inlineValue(){return{refresh:()=>this.connection.sendRequest(i.InlineValueRefreshRequest.type),on:t=>this.connection.onRequest(i.InlineValueRequest.type,((e,r)=>t(e,r,this.attachWorkDoneProgress(e))))}}}},(t,e,r)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.InlayHintFeature=void 0;const i=r(4);e.InlayHintFeature=t=>class extends t{get inlayHint(){return{refresh:()=>this.connection.sendRequest(i.InlayHintRefreshRequest.type),on:t=>this.connection.onRequest(i.InlayHintRequest.type,((e,r)=>t(e,r,this.attachWorkDoneProgress(e)))),resolve:t=>this.connection.onRequest(i.InlayHintResolveRequest.type,((e,r)=>t(e,r)))}}}},(t,e,r)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.DiagnosticFeature=void 0;const i=r(4);e.DiagnosticFeature=t=>class extends t{get diagnostics(){return{refresh:()=>this.connection.sendRequest(i.DiagnosticRefreshRequest.type),on:t=>this.connection.onRequest(i.DocumentDiagnosticRequest.type,((e,r)=>t(e,r,this.attachWorkDoneProgress(e),this.attachPartialResultProgress(i.DocumentDiagnosticRequest.partialResult,e)))),onWorkspace:t=>this.connection.onRequest(i.WorkspaceDiagnosticRequest.type,((e,r)=>t(e,r,this.attachWorkDoneProgress(e),this.attachPartialResultProgress(i.WorkspaceDiagnosticRequest.partialResult,e))))}}}},(t,e,r)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.MonikerFeature=void 0;const i=r(4);e.MonikerFeature=t=>class extends t{get moniker(){return{on:t=>{const e=i.MonikerRequest.type;return this.connection.onRequest(e,((r,i)=>t(r,i,this.attachWorkDoneProgress(r),this.attachPartialResultProgress(e,r))))}}}}},(t,e,r)=>{"use strict";t.exports=r(4)},(t,e,r)=>{"use strict";t.exports=r(1)},(t,e,r)=>{"use strict";r.r(e),r.d(e,{TextDocument:()=>i});var i,n=function(t,e,r){if(r||2===arguments.length)for(var i,n=0,s=e.length;n<s;n++)!i&&n in e||(i||(i=Array.prototype.slice.call(e,0,n)),i[n]=e[n]);return t.concat(i||Array.prototype.slice.call(e))},s=function(){function t(t,e,r,i){this._uri=t,this._languageId=e,this._version=r,this._content=i,this._lineOffsets=void 0}return Object.defineProperty(t.prototype,"uri",{get:function(){return this._uri},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"languageId",{get:function(){return this._languageId},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"version",{get:function(){return this._version},enumerable:!1,configurable:!0}),t.prototype.getText=function(t){if(t){var e=this.offsetAt(t.start),r=this.offsetAt(t.end);return this._content.substring(e,r)}return this._content},t.prototype.update=function(e,r){for(var i=0,s=e;i<s.length;i++){var o=s[i];if(t.isIncremental(o)){var h=E(o.range),l=this.offsetAt(h.start),u=this.offsetAt(h.end);this._content=this._content.substring(0,l)+o.text+this._content.substring(u,this._content.length);var c=Math.max(h.start.line,0),T=Math.max(h.end.line,0),R=this._lineOffsets,p=a(o.text,!1,l);if(T-c===p.length)for(var S=0,A=p.length;S<A;S++)R[S+c+1]=p[S];else p.length<1e4?R.splice.apply(R,n([c+1,T-c],p,!1)):this._lineOffsets=R=R.slice(0,c+1).concat(p,R.slice(T+1));var d=o.text.length-(u-l);if(0!==d)for(S=c+1+p.length,A=R.length;S<A;S++)R[S]=R[S]+d}else{if(!t.isFull(o))throw new Error("Unknown change event received");this._content=o.text,this._lineOffsets=void 0}}this._version=r},t.prototype.getLineOffsets=function(){return void 0===this._lineOffsets&&(this._lineOffsets=a(this._content,!0)),this._lineOffsets},t.prototype.positionAt=function(t){t=Math.max(Math.min(t,this._content.length),0);var e=this.getLineOffsets(),r=0,i=e.length;if(0===i)return{line:0,character:t};for(;r<i;){var n=Math.floor((r+i)/2);e[n]>t?i=n:r=n+1}var s=r-1;return{line:s,character:t-e[s]}},t.prototype.offsetAt=function(t){var e=this.getLineOffsets();if(t.line>=e.length)return this._content.length;if(t.line<0)return 0;var r=e[t.line],i=t.line+1<e.length?e[t.line+1]:this._content.length;return Math.max(Math.min(r+t.character,i),r)},Object.defineProperty(t.prototype,"lineCount",{get:function(){return this.getLineOffsets().length},enumerable:!1,configurable:!0}),t.isIncremental=function(t){var e=t;return null!=e&&"string"==typeof e.text&&void 0!==e.range&&(void 0===e.rangeLength||"number"==typeof e.rangeLength)},t.isFull=function(t){var e=t;return null!=e&&"string"==typeof e.text&&void 0===e.range&&void 0===e.rangeLength},t}();function o(t,e){if(t.length<=1)return t;var r=t.length/2|0,i=t.slice(0,r),n=t.slice(r);o(i,e),o(n,e);for(var s=0,a=0,E=0;s<i.length&&a<n.length;){var h=e(i[s],n[a]);t[E++]=h<=0?i[s++]:n[a++]}for(;s<i.length;)t[E++]=i[s++];for(;a<n.length;)t[E++]=n[a++];return t}function a(t,e,r){void 0===r&&(r=0);for(var i=e?[r]:[],n=0;n<t.length;n++){var s=t.charCodeAt(n);13!==s&&10!==s||(13===s&&n+1<t.length&&10===t.charCodeAt(n+1)&&n++,i.push(r+n+1))}return i}function E(t){var e=t.start,r=t.end;return e.line>r.line||e.line===r.line&&e.character>r.character?{start:r,end:e}:t}function h(t){var e=E(t.range);return e!==t.range?{newText:t.newText,range:e}:t}!function(t){t.create=function(t,e,r,i){return new s(t,e,r,i)},t.update=function(t,e,r){if(t instanceof s)return t.update(e,r),t;throw new Error("TextDocument.update: document must be created by TextDocument.create")},t.applyEdits=function(t,e){for(var r=t.getText(),i=0,n=[],s=0,a=o(e.map(h),(function(t,e){var r=t.range.start.line-e.range.start.line;return 0===r?t.range.start.character-e.range.start.character:r}));s<a.length;s++){var E=a[s],l=t.offsetAt(E.range.start);if(l<i)throw new Error("Overlapping edit");l>i&&n.push(r.substring(i,l)),E.newText.length&&n.push(E.newText),i=t.offsetAt(E.range.end)}return n.push(r.substr(i)),n.join("")}}(i||(i={}))},(t,e,r)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.BuiltInFunctions=void 0;const i=r(23);e.BuiltInFunctions=[{name:"any(expr)",funcDesc:"Returns true if at least one value of `expr` is true.",examples:"> SELECT any(col) FROM VALUES (true), (false), (false) AS tab(col);\n true\n> SELECT any(col) FROM VALUES (NULL), (true), (false) AS tab(col);\n true\n> SELECT any(col) FROM VALUES (false), (false), (NULL) AS tab(col);\n false\n",expr:"any()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"any_value(expr[, isIgnoreNull])",funcDesc:"Returns some value of `expr` for a group of rows. If `isIgnoreNull` is true, returns only non-null values.",examples:"> SELECT any_value(col) FROM VALUES (10), (5), (20) AS tab(col);\n 10\n> SELECT any_value(col) FROM VALUES (NULL), (5), (20) AS tab(col);\n NULL\n> SELECT any_value(col, true) FROM VALUES (NULL), (5), (20) AS tab(col);\n 5\n",expr:"any_value()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"approx_count_distinct(expr[, relativeSD])",funcDesc:"Returns the estimated cardinality by HyperLogLog++. `relativeSD` defines the maximum relative standard deviation allowed.",examples:"> SELECT approx_count_distinct(col1) FROM VALUES (1), (1), (2), (2), (3) tab(col1);\n 3\n",expr:"approx_count_distinct()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"approx_percentile(col, percentage [, accuracy])",funcDesc:"Returns the approximate `percentile` of the numeric or ansi interval column `col` which is the smallest value in the ordered `col` values (sorted from least to greatest) such that no more than `percentage` of `col` values is less than the value or equal to that value. The value of percentage must be between 0.0 and 1.0. The `accuracy` parameter (default: 10000) is a positive numeric literal which controls approximation accuracy at the cost of memory. Higher value of `accuracy` yields better accuracy, `1.0/accuracy` is the relative error of the approximation. When `percentage` is an array, each value of the percentage array must be between 0.0 and 1.0. In this case, returns the approximate percentile array of column `col` at the given percentage array.",examples:"> SELECT approx_percentile(col, array(0.5, 0.4, 0.1), 100) FROM VALUES (0), (1), (2), (10) AS tab(col);\n [1,1,0]\n> SELECT approx_percentile(col, 0.5, 100) FROM VALUES (0), (6), (7), (9), (10) AS tab(col);\n 7\n> SELECT approx_percentile(col, 0.5, 100) FROM VALUES (INTERVAL '0' MONTH), (INTERVAL '1' MONTH), (INTERVAL '2' MONTH), (INTERVAL '10' MONTH) AS tab(col);\n 0-1\n> SELECT approx_percentile(col, array(0.5, 0.7), 100) FROM VALUES (INTERVAL '0' SECOND), (INTERVAL '1' SECOND), (INTERVAL '2' SECOND), (INTERVAL '10' SECOND) AS tab(col);\n [0 00:00:01.000000000,0 00:00:02.000000000]\n",expr:"approx_percentile()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"array_agg(expr)",funcDesc:"Collects and returns a list of non-unique elements.",examples:"> SELECT array_agg(col) FROM VALUES (1), (2), (1) AS tab(col);\n [1,2,1]\n",expr:"array_agg()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"avg(expr)",funcDesc:"Returns the mean calculated from values of a group.",examples:"> SELECT avg(col) FROM VALUES (1), (2), (3) AS tab(col);\n 2.0\n> SELECT avg(col) FROM VALUES (1), (2), (NULL) AS tab(col);\n 1.5\n",expr:"avg()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"bit_and(expr)",funcDesc:"Returns the bitwise AND of all non-null input values, or null if none.",examples:"> SELECT bit_and(col) FROM VALUES (3), (5) AS tab(col);\n 1\n",expr:"bit_and()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"bit_or(expr)",funcDesc:"Returns the bitwise OR of all non-null input values, or null if none.",examples:"> SELECT bit_or(col) FROM VALUES (3), (5) AS tab(col);\n 7\n",expr:"bit_or()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"bit_xor(expr)",funcDesc:"Returns the bitwise XOR of all non-null input values, or null if none.",examples:"> SELECT bit_xor(col) FROM VALUES (3), (5) AS tab(col);\n 6\n",expr:"bit_xor()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"bool_and(expr)",funcDesc:"Returns true if all values of `expr` are true.",examples:"> SELECT bool_and(col) FROM VALUES (true), (true), (true) AS tab(col);\n true\n> SELECT bool_and(col) FROM VALUES (NULL), (true), (true) AS tab(col);\n true\n> SELECT bool_and(col) FROM VALUES (true), (false), (true) AS tab(col);\n false\n",expr:"bool_and()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"bool_or(expr)",funcDesc:"Returns true if at least one value of `expr` is true.",examples:"> SELECT bool_or(col) FROM VALUES (true), (false), (false) AS tab(col);\n true\n> SELECT bool_or(col) FROM VALUES (NULL), (true), (false) AS tab(col);\n true\n> SELECT bool_or(col) FROM VALUES (false), (false), (NULL) AS tab(col);\n false\n",expr:"bool_or()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"collect_list(expr)",funcDesc:"Collects and returns a list of non-unique elements.",examples:"> SELECT collect_list(col) FROM VALUES (1), (2), (1) AS tab(col);\n [1,2,1]\n",expr:"collect_list()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"collect_set(expr)",funcDesc:"Collects and returns a set of unique elements.",examples:"> SELECT collect_set(col) FROM VALUES (1), (2), (1) AS tab(col);\n [1,2]\n",expr:"collect_set()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"corr(expr1, expr2)",funcDesc:"Returns Pearson coefficient of correlation between a set of number pairs.",examples:"> SELECT corr(c1, c2) FROM VALUES (3, 2), (3, 3), (6, 4) as tab(c1, c2);\n 0.8660254037844387\n",expr:"corr()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"count(*)",funcDesc:"Returns the total number of retrieved rows, including rows containing null.",examples:"> SELECT count(*) FROM VALUES (NULL), (5), (5), (20) AS tab(col);\n 4\n> SELECT count(col) FROM VALUES (NULL), (5), (5), (20) AS tab(col);\n 3\n> SELECT count(DISTINCT col) FROM VALUES (NULL), (5), (5), (10) AS tab(col);\n 2\n",expr:"count()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"count(expr[, expr...])",funcDesc:"Returns the number of rows for which the supplied expression(s) are all non-null.",examples:"> SELECT count(*) FROM VALUES (NULL), (5), (5), (20) AS tab(col);\n 4\n> SELECT count(col) FROM VALUES (NULL), (5), (5), (20) AS tab(col);\n 3\n> SELECT count(DISTINCT col) FROM VALUES (NULL), (5), (5), (10) AS tab(col);\n 2\n",expr:"count()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"count(DISTINCT expr[, expr...])",funcDesc:"Returns the number of rows for which the supplied expression(s) are unique and non-null.",examples:"> SELECT count(*) FROM VALUES (NULL), (5), (5), (20) AS tab(col);\n 4\n> SELECT count(col) FROM VALUES (NULL), (5), (5), (20) AS tab(col);\n 3\n> SELECT count(DISTINCT col) FROM VALUES (NULL), (5), (5), (10) AS tab(col);\n 2\n",expr:"count()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"count_if(expr)",funcDesc:"Returns the number of `TRUE` values for the expression.",examples:"> SELECT count_if(col % 2 = 0) FROM VALUES (NULL), (0), (1), (2), (3) AS tab(col);\n 2\n> SELECT count_if(col IS NULL) FROM VALUES (NULL), (0), (1), (2), (3) AS tab(col);\n 1\n",expr:"count_if()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"count_min_sketch(col, eps, confidence, seed)",funcDesc:"Returns a count-min sketch of a column with the given esp, confidence and seed. The result is an array of bytes, which can be deserialized to a `CountMinSketch` before usage. Count-min sketch is a probabilistic data structure used for cardinality estimation using sub-linear space.",examples:"> SELECT hex(count_min_sketch(col, 0.5d, 0.5d, 1)) FROM VALUES (1), (2), (1) AS tab(col);\n 0000000100000000000000030000000100000004000000005D8D6AB90000000000000000000000000000000200000000000000010000000000000000\n",expr:"count_min_sketch()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"covar_pop(expr1, expr2)",funcDesc:"Returns the population covariance of a set of number pairs.",examples:"> SELECT covar_pop(c1, c2) FROM VALUES (1,1), (2,2), (3,3) AS tab(c1, c2);\n 0.6666666666666666\n",expr:"covar_pop()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"covar_samp(expr1, expr2)",funcDesc:"Returns the sample covariance of a set of number pairs.",examples:"> SELECT covar_samp(c1, c2) FROM VALUES (1,1), (2,2), (3,3) AS tab(c1, c2);\n 1.0\n",expr:"covar_samp()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"every(expr)",funcDesc:"Returns true if all values of `expr` are true.",examples:"> SELECT every(col) FROM VALUES (true), (true), (true) AS tab(col);\n true\n> SELECT every(col) FROM VALUES (NULL), (true), (true) AS tab(col);\n true\n> SELECT every(col) FROM VALUES (true), (false), (true) AS tab(col);\n false\n",expr:"every()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"first(expr[, isIgnoreNull])",funcDesc:"Returns the first value of `expr` for a group of rows. If `isIgnoreNull` is true, returns only non-null values.",examples:"> SELECT first(col) FROM VALUES (10), (5), (20) AS tab(col);\n 10\n> SELECT first(col) FROM VALUES (NULL), (5), (20) AS tab(col);\n NULL\n> SELECT first(col, true) FROM VALUES (NULL), (5), (20) AS tab(col);\n 5\n",expr:"first()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"first_value(expr[, isIgnoreNull])",funcDesc:"Returns the first value of `expr` for a group of rows. If `isIgnoreNull` is true, returns only non-null values.",examples:"> SELECT first_value(col) FROM VALUES (10), (5), (20) AS tab(col);\n 10\n> SELECT first_value(col) FROM VALUES (NULL), (5), (20) AS tab(col);\n NULL\n> SELECT first_value(col, true) FROM VALUES (NULL), (5), (20) AS tab(col);\n 5\n",expr:"first_value()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"grouping(col)",funcDesc:'indicates whether a specified column in a GROUP BY is aggregated or not, returns 1 for aggregated or 0 for not aggregated in the result set.",',examples:"> SELECT name, grouping(name), sum(age) FROM VALUES (2, 'Alice'), (5, 'Bob') people(age, name) GROUP BY cube(name);\n Alice 0 2\n Bob 0 5\n NULL 1 7\n",expr:"grouping()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"grouping_id([col1[, col2 ..]])",funcDesc:"returns the level of grouping, equals to `(grouping(c1) << (n-1)) + (grouping(c2) << (n-2)) + ... + grouping(cn)`",examples:"> SELECT name, grouping_id(), sum(age), avg(height) FROM VALUES (2, 'Alice', 165), (5, 'Bob', 180) people(age, name, height) GROUP BY cube(name, height);\n Alice 0 2 165.0\n Alice 1 2 165.0\n NULL 3 7 172.5\n Bob 0 5 180.0\n Bob 1 5 180.0\n NULL 2 2 165.0\n NULL 2 5 180.0\n",expr:"grouping_id()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"histogram_numeric(expr, nb)",funcDesc:"Computes a histogram on numeric 'expr' using nb bins. The return value is an array of (x,y) pairs representing the centers of the histogram's bins. As the value of 'nb' is increased, the histogram approximation gets finer-grained, but may yield artifacts around outliers. In practice, 20-40 histogram bins appear to work well, with more bins being required for skewed or smaller datasets. Note that this function creates a histogram with non-uniform bin widths. It offers no guarantees in terms of the mean-squared-error of the histogram, but in practice is comparable to the histograms produced by the R/S-Plus statistical computing packages. Note: the output type of the 'x' field in the return value is propagated from the input value consumed in the aggregate function.",examples:'> SELECT histogram_numeric(col, 5) FROM VALUES (0), (1), (2), (10) AS tab(col);\n [{"x":0,"y":1.0},{"x":1,"y":1.0},{"x":2,"y":1.0},{"x":10,"y":1.0}]\n',expr:"histogram_numeric()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"kurtosis(expr)",funcDesc:"Returns the kurtosis value calculated from values of a group.",examples:"> SELECT kurtosis(col) FROM VALUES (-10), (-20), (100), (1000) AS tab(col);\n -0.7014368047529627\n> SELECT kurtosis(col) FROM VALUES (1), (10), (100), (10), (1) as tab(col);\n 0.19432323191699075\n",expr:"kurtosis()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"last(expr[, isIgnoreNull])",funcDesc:"Returns the last value of `expr` for a group of rows. If `isIgnoreNull` is true, returns only non-null values",examples:"> SELECT last(col) FROM VALUES (10), (5), (20) AS tab(col);\n 20\n> SELECT last(col) FROM VALUES (10), (5), (NULL) AS tab(col);\n NULL\n> SELECT last(col, true) FROM VALUES (10), (5), (NULL) AS tab(col);\n 5\n",expr:"last()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"last_value(expr[, isIgnoreNull])",funcDesc:"Returns the last value of `expr` for a group of rows. If `isIgnoreNull` is true, returns only non-null values",examples:"> SELECT last_value(col) FROM VALUES (10), (5), (20) AS tab(col);\n 20\n> SELECT last_value(col) FROM VALUES (10), (5), (NULL) AS tab(col);\n NULL\n> SELECT last_value(col, true) FROM VALUES (10), (5), (NULL) AS tab(col);\n 5\n",expr:"last_value()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"max(expr)",funcDesc:"Returns the maximum value of `expr`.",examples:"> SELECT max(col) FROM VALUES (10), (50), (20) AS tab(col);\n 50\n",expr:"max()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"max_by(x, y)",funcDesc:"Returns the value of `x` associated with the maximum value of `y`.",examples:"> SELECT max_by(x, y) FROM VALUES (('a', 10)), (('b', 50)), (('c', 20)) AS tab(x, y);\n b\n",expr:"max_by()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"mean(expr)",funcDesc:"Returns the mean calculated from values of a group.",examples:"> SELECT mean(col) FROM VALUES (1), (2), (3) AS tab(col);\n 2.0\n> SELECT mean(col) FROM VALUES (1), (2), (NULL) AS tab(col);\n 1.5\n",expr:"mean()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"median(col)",funcDesc:"Returns the median of numeric or ANSI interval column `col`.",examples:"> SELECT median(col) FROM VALUES (0), (10) AS tab(col);\n 5.0\n> SELECT median(col) FROM VALUES (INTERVAL '0' MONTH), (INTERVAL '10' MONTH) AS tab(col);\n 0-5\n",expr:"median()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"min(expr)",funcDesc:"Returns the minimum value of `expr`.",examples:"> SELECT min(col) FROM VALUES (10), (-1), (20) AS tab(col);\n -1\n",expr:"min()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"min_by(x, y)",funcDesc:"Returns the value of `x` associated with the minimum value of `y`.",examples:"> SELECT min_by(x, y) FROM VALUES (('a', 10)), (('b', 50)), (('c', 20)) AS tab(x, y);\n a\n",expr:"min_by()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"mode(col)",funcDesc:"Returns the most frequent value for the values within `col`. NULL values are ignored. If all the values are NULL, or there are 0 rows, returns NULL.",examples:"> SELECT mode(col) FROM VALUES (0), (10), (10) AS tab(col);\n 10\n> SELECT mode(col) FROM VALUES (INTERVAL '0' MONTH), (INTERVAL '10' MONTH), (INTERVAL '10' MONTH) AS tab(col);\n 0-10\n> SELECT mode(col) FROM VALUES (0), (10), (10), (null), (null), (null) AS tab(col);\n 10\n",expr:"mode()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"percentile(col, percentage [, frequency])",funcDesc:"Returns the exact percentile value of numeric or ANSI interval column `col` at the given percentage. The value of percentage must be between 0.0 and 1.0. The value of frequency should be positive integral",examples:"> SELECT percentile(col, 0.3) FROM VALUES (0), (10) AS tab(col);\n 3.0\n> SELECT percentile(col, array(0.25, 0.75)) FROM VALUES (0), (10) AS tab(col);\n [2.5,7.5]\n> SELECT percentile(col, 0.5) FROM VALUES (INTERVAL '0' MONTH), (INTERVAL '10' MONTH) AS tab(col);\n 0-5\n> SELECT percentile(col, array(0.2, 0.5)) FROM VALUES (INTERVAL '0' SECOND), (INTERVAL '10' SECOND) AS tab(col);\n [0 00:00:02.000000000,0 00:00:05.000000000]\n",expr:"percentile()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"percentile(col, array(percentage1 [, percentage2]...) [, frequency])",funcDesc:"Returns the exact percentile value array of numeric column `col` at the given percentage(s). Each value of the percentage array must be between 0.0 and 1.0. The value of frequency should be positive integral",examples:"> SELECT percentile(col, 0.3) FROM VALUES (0), (10) AS tab(col);\n 3.0\n> SELECT percentile(col, array(0.25, 0.75)) FROM VALUES (0), (10) AS tab(col);\n [2.5,7.5]\n> SELECT percentile(col, 0.5) FROM VALUES (INTERVAL '0' MONTH), (INTERVAL '10' MONTH) AS tab(col);\n 0-5\n> SELECT percentile(col, array(0.2, 0.5)) FROM VALUES (INTERVAL '0' SECOND), (INTERVAL '10' SECOND) AS tab(col);\n [0 00:00:02.000000000,0 00:00:05.000000000]\n",expr:"percentile()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"percentile_approx(col, percentage [, accuracy])",funcDesc:"Returns the approximate `percentile` of the numeric or ansi interval column `col` which is the smallest value in the ordered `col` values (sorted from least to greatest) such that no more than `percentage` of `col` values is less than the value or equal to that value. The value of percentage must be between 0.0 and 1.0. The `accuracy` parameter (default: 10000) is a positive numeric literal which controls approximation accuracy at the cost of memory. Higher value of `accuracy` yields better accuracy, `1.0/accuracy` is the relative error of the approximation. When `percentage` is an array, each value of the percentage array must be between 0.0 and 1.0. In this case, returns the approximate percentile array of column `col` at the given percentage array.",examples:"> SELECT percentile_approx(col, array(0.5, 0.4, 0.1), 100) FROM VALUES (0), (1), (2), (10) AS tab(col);\n [1,1,0]\n> SELECT percentile_approx(col, 0.5, 100) FROM VALUES (0), (6), (7), (9), (10) AS tab(col);\n 7\n> SELECT percentile_approx(col, 0.5, 100) FROM VALUES (INTERVAL '0' MONTH), (INTERVAL '1' MONTH), (INTERVAL '2' MONTH), (INTERVAL '10' MONTH) AS tab(col);\n 0-1\n> SELECT percentile_approx(col, array(0.5, 0.7), 100) FROM VALUES (INTERVAL '0' SECOND), (INTERVAL '1' SECOND), (INTERVAL '2' SECOND), (INTERVAL '10' SECOND) AS tab(col);\n [0 00:00:01.000000000,0 00:00:02.000000000]\n",expr:"percentile_approx()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"regr_avgx(y, x)",funcDesc:"Returns the average of the independent variable for non-null pairs in a group, where `y` is the dependent variable and `x` is the independent variable.",examples:"> SELECT regr_avgx(y, x) FROM VALUES (1, 2), (2, 2), (2, 3), (2, 4) AS tab(y, x);\n 2.75\n> SELECT regr_avgx(y, x) FROM VALUES (1, null) AS tab(y, x);\n NULL\n> SELECT regr_avgx(y, x) FROM VALUES (null, 1) AS tab(y, x);\n NULL\n> SELECT regr_avgx(y, x) FROM VALUES (1, 2), (2, null), (2, 3), (2, 4) AS tab(y, x);\n 3.0\n> SELECT regr_avgx(y, x) FROM VALUES (1, 2), (2, null), (null, 3), (2, 4) AS tab(y, x);\n 3.0\n",expr:"regr_avgx()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"regr_avgy(y, x)",funcDesc:"Returns the average of the dependent variable for non-null pairs in a group, where `y` is the dependent variable and `x` is the independent variable.",examples:"> SELECT regr_avgy(y, x) FROM VALUES (1, 2), (2, 2), (2, 3), (2, 4) AS tab(y, x);\n 1.75\n> SELECT regr_avgy(y, x) FROM VALUES (1, null) AS tab(y, x);\n NULL\n> SELECT regr_avgy(y, x) FROM VALUES (null, 1) AS tab(y, x);\n NULL\n> SELECT regr_avgy(y, x) FROM VALUES (1, 2), (2, null), (2, 3), (2, 4) AS tab(y, x);\n 1.6666666666666667\n> SELECT regr_avgy(y, x) FROM VALUES (1, 2), (2, null), (null, 3), (2, 4) AS tab(y, x);\n 1.5\n",expr:"regr_avgy()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"regr_count(y, x)",funcDesc:"Returns the number of non-null number pairs in a group, where `y` is the dependent variable and `x` is the independent variable.",examples:"> SELECT regr_count(y, x) FROM VALUES (1, 2), (2, 2), (2, 3), (2, 4) AS tab(y, x);\n 4\n> SELECT regr_count(y, x) FROM VALUES (1, 2), (2, null), (2, 3), (2, 4) AS tab(y, x);\n 3\n> SELECT regr_count(y, x) FROM VALUES (1, 2), (2, null), (null, 3), (2, 4) AS tab(y, x);\n 2\n",expr:"regr_count()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"regr_intercept(y, x)",funcDesc:"Returns the intercept of the univariate linear regression line for non-null pairs in a group, where `y` is the dependent variable and `x` is the independent variable.",examples:"> SELECT regr_intercept(y, x) FROM VALUES (1,1), (2,2), (3,3) AS tab(y, x);\n 0.0\n> SELECT regr_intercept(y, x) FROM VALUES (1, null) AS tab(y, x);\n NULL\n> SELECT regr_intercept(y, x) FROM VALUES (null, 1) AS tab(y, x);\n NULL\n",expr:"regr_intercept()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"regr_r2(y, x)",funcDesc:"Returns the coefficient of determination for non-null pairs in a group, where `y` is the dependent variable and `x` is the independent variable.",examples:"> SELECT regr_r2(y, x) FROM VALUES (1, 2), (2, 2), (2, 3), (2, 4) AS tab(y, x);\n 0.2727272727272727\n> SELECT regr_r2(y, x) FROM VALUES (1, null) AS tab(y, x);\n NULL\n> SELECT regr_r2(y, x) FROM VALUES (null, 1) AS tab(y, x);\n NULL\n> SELECT regr_r2(y, x) FROM VALUES (1, 2), (2, null), (2, 3), (2, 4) AS tab(y, x);\n 0.7500000000000001\n> SELECT regr_r2(y, x) FROM VALUES (1, 2), (2, null), (null, 3), (2, 4) AS tab(y, x);\n 1.0\n",expr:"regr_r2()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"regr_slope(y, x)",funcDesc:"Returns the slope of the linear regression line for non-null pairs in a group, where `y` is the dependent variable and `x` is the independent variable.",examples:"> SELECT regr_slope(y, x) FROM VALUES (1,1), (2,2), (3,3) AS tab(y, x);\n 1.0\n> SELECT regr_slope(y, x) FROM VALUES (1, null) AS tab(y, x);\n NULL\n> SELECT regr_slope(y, x) FROM VALUES (null, 1) AS tab(y, x);\n NULL\n",expr:"regr_slope()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"regr_sxx(y, x)",funcDesc:"Returns REGR_COUNT(y, x) * VAR_POP(x) for non-null pairs in a group, where `y` is the dependent variable and `x` is the independent variable.",examples:"> SELECT regr_sxx(y, x) FROM VALUES (1, 2), (2, 2), (2, 3), (2, 4) AS tab(y, x);\n 2.75\n> SELECT regr_sxx(y, x) FROM VALUES (1, 2), (2, null), (2, 3), (2, 4) AS tab(y, x);\n 2.0\n> SELECT regr_sxx(y, x) FROM VALUES (1, 2), (2, null), (null, 3), (2, 4) AS tab(y, x);\n 2.0\n",expr:"regr_sxx()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"regr_sxy(y, x)",funcDesc:"Returns REGR_COUNT(y, x) * COVAR_POP(y, x) for non-null pairs in a group, where `y` is the dependent variable and `x` is the independent variable.",examples:"> SELECT regr_sxy(y, x) FROM VALUES (1, 2), (2, 2), (2, 3), (2, 4) AS tab(y, x);\n 0.75\n> SELECT regr_sxy(y, x) FROM VALUES (1, 2), (2, null), (2, 3), (2, 4) AS tab(y, x);\n 1.0\n> SELECT regr_sxy(y, x) FROM VALUES (1, 2), (2, null), (null, 3), (2, 4) AS tab(y, x);\n 1.0\n",expr:"regr_sxy()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"regr_syy(y, x)",funcDesc:"Returns REGR_COUNT(y, x) * VAR_POP(y) for non-null pairs in a group, where `y` is the dependent variable and `x` is the independent variable.",examples:"> SELECT regr_syy(y, x) FROM VALUES (1, 2), (2, 2), (2, 3), (2, 4) AS tab(y, x);\n 0.75\n> SELECT regr_syy(y, x) FROM VALUES (1, 2), (2, null), (2, 3), (2, 4) AS tab(y, x);\n 0.6666666666666666\n> SELECT regr_syy(y, x) FROM VALUES (1, 2), (2, null), (null, 3), (2, 4) AS tab(y, x);\n 0.5\n",expr:"regr_syy()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"skewness(expr)",funcDesc:"Returns the skewness value calculated from values of a group.",examples:"> SELECT skewness(col) FROM VALUES (-10), (-20), (100), (1000) AS tab(col);\n 1.1135657469022011\n> SELECT skewness(col) FROM VALUES (-1000), (-100), (10), (20) AS tab(col);\n -1.1135657469022011\n",expr:"skewness()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"some(expr)",funcDesc:"Returns true if at least one value of `expr` is true.",examples:"> SELECT some(col) FROM VALUES (true), (false), (false) AS tab(col);\n true\n> SELECT some(col) FROM VALUES (NULL), (true), (false) AS tab(col);\n true\n> SELECT some(col) FROM VALUES (false), (false), (NULL) AS tab(col);\n false\n",expr:"some()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"std(expr)",funcDesc:"Returns the sample standard deviation calculated from values of a group.",examples:"> SELECT std(col) FROM VALUES (1), (2), (3) AS tab(col);\n 1.0\n",expr:"std()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"stddev(expr)",funcDesc:"Returns the sample standard deviation calculated from values of a group.",examples:"> SELECT stddev(col) FROM VALUES (1), (2), (3) AS tab(col);\n 1.0\n",expr:"stddev()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"stddev_pop(expr)",funcDesc:"Returns the population standard deviation calculated from values of a group.",examples:"> SELECT stddev_pop(col) FROM VALUES (1), (2), (3) AS tab(col);\n 0.816496580927726\n",expr:"stddev_pop()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"stddev_samp(expr)",funcDesc:"Returns the sample standard deviation calculated from values of a group.",examples:"> SELECT stddev_samp(col) FROM VALUES (1), (2), (3) AS tab(col);\n 1.0\n",expr:"stddev_samp()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"sum(expr)",funcDesc:"Returns the sum calculated from values of a group.",examples:"> SELECT sum(col) FROM VALUES (5), (10), (15) AS tab(col);\n 30\n> SELECT sum(col) FROM VALUES (NULL), (10), (15) AS tab(col);\n 25\n> SELECT sum(col) FROM VALUES (NULL), (NULL) AS tab(col);\n NULL\n",expr:"sum()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"try_avg(expr)",funcDesc:"Returns the mean calculated from values of a group and the result is null on overflow.",examples:"> SELECT try_avg(col) FROM VALUES (1), (2), (3) AS tab(col);\n 2.0\n> SELECT try_avg(col) FROM VALUES (1), (2), (NULL) AS tab(col);\n 1.5\n> SELECT try_avg(col) FROM VALUES (interval '2147483647 months'), (interval '1 months') AS tab(col);\n NULL\n",expr:"try_avg()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"try_sum(expr)",funcDesc:"Returns the sum calculated from values of a group and the result is null on overflow.",examples:"> SELECT try_sum(col) FROM VALUES (5), (10), (15) AS tab(col);\n 30\n> SELECT try_sum(col) FROM VALUES (NULL), (10), (15) AS tab(col);\n 25\n> SELECT try_sum(col) FROM VALUES (NULL), (NULL) AS tab(col);\n NULL\n> SELECT try_sum(col) FROM VALUES (9223372036854775807L), (1L) AS tab(col);\n NULL\n",expr:"try_sum()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"var_pop(expr)",funcDesc:"Returns the population variance calculated from values of a group.",examples:"> SELECT var_pop(col) FROM VALUES (1), (2), (3) AS tab(col);\n 0.6666666666666666\n",expr:"var_pop()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"var_samp(expr)",funcDesc:"Returns the sample variance calculated from values of a group.",examples:"> SELECT var_samp(col) FROM VALUES (1), (2), (3) AS tab(col);\n 1.0\n",expr:"var_samp()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"variance(expr)",funcDesc:"Returns the sample variance calculated from values of a group.",examples:"> SELECT variance(col) FROM VALUES (1), (2), (3) AS tab(col);\n 1.0\n",expr:"variance()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"cume_dist()",funcDesc:"Computes the position of a value relative to all values in the partition.",examples:"> SELECT a, b, cume_dist() OVER (PARTITION BY a ORDER BY b) FROM VALUES ('A1', 2), ('A1', 1), ('A2', 3), ('A1', 1) tab(a, b);\n A1 1 0.6666666666666666\n A1 1 0.6666666666666666\n A1 2 1.0\n A2 3 1.0\n",expr:"cume_dist()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"dense_rank()",funcDesc:"Computes the rank of a value in a group of values. The result is one plus the previously assigned rank value. Unlike the function rank, dense_rank will not produce gaps in the ranking sequence.",examples:"> SELECT a, b, dense_rank(b) OVER (PARTITION BY a ORDER BY b) FROM VALUES ('A1', 2), ('A1', 1), ('A2', 3), ('A1', 1) tab(a, b);\n A1 1 1\n A1 1 1\n A1 2 2\n A2 3 1\n",expr:"dense_rank()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"lag(input[, offset[, default]])",funcDesc:"Returns the value of `input` at the `offset`th row before the current row in the window. The default value of `offset` is 1 and the default value of `default` is null. If the value of `input` at the `offset`th row is null, null is returned. If there is no such offset row (e.g., when the offset is 1, the first row of the window does not have any previous row), `default` is returned.",examples:"> SELECT a, b, lag(b) OVER (PARTITION BY a ORDER BY b) FROM VALUES ('A1', 2), ('A1', 1), ('A2', 3), ('A1', 1) tab(a, b);\n A1 1 NULL\n A1 1 1\n A1 2 1\n A2 3 NULL\n",expr:"lag()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"lead(input[, offset[, default]])",funcDesc:"Returns the value of `input` at the `offset`th row after the current row in the window. The default value of `offset` is 1 and the default value of `default` is null. If the value of `input` at the `offset`th row is null, null is returned. If there is no such an offset row (e.g., when the offset is 1, the last row of the window does not have any subsequent row), `default` is returned.",examples:"> SELECT a, b, lead(b) OVER (PARTITION BY a ORDER BY b) FROM VALUES ('A1', 2), ('A1', 1), ('A2', 3), ('A1', 1) tab(a, b);\n A1 1 1\n A1 1 2\n A1 2 NULL\n A2 3 NULL\n",expr:"lead()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"nth_value(input[, offset])",funcDesc:"Returns the value of `input` at the row that is the `offset`th row from beginning of the window frame. Offset starts at 1. If ignoreNulls=true, we will skip nulls when finding the `offset`th row. Otherwise, every row counts for the `offset`. If there is no such an `offset`th row (e.g., when the offset is 10, size of the window frame is less than 10), null is returned.",examples:"> SELECT a, b, nth_value(b, 2) OVER (PARTITION BY a ORDER BY b) FROM VALUES ('A1', 2), ('A1', 1), ('A2', 3), ('A1', 1) tab(a, b);\n A1 1 1\n A1 1 1\n A1 2 1\n A2 3 NULL\n",expr:"nth_value()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"ntile(n)",funcDesc:"Divides the rows for each window partition into `n` buckets ranging from 1 to at most `n`.",examples:"> SELECT a, b, ntile(2) OVER (PARTITION BY a ORDER BY b) FROM VALUES ('A1', 2), ('A1', 1), ('A2', 3), ('A1', 1) tab(a, b);\n A1 1 1\n A1 1 1\n A1 2 2\n A2 3 1\n",expr:"ntile()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"percent_rank()",funcDesc:"Computes the percentage ranking of a value in a group of values.",examples:"> SELECT a, b, percent_rank(b) OVER (PARTITION BY a ORDER BY b) FROM VALUES ('A1', 2), ('A1', 1), ('A2', 3), ('A1', 1) tab(a, b);\n A1 1 0.0\n A1 1 0.0\n A1 2 1.0\n A2 3 0.0\n",expr:"percent_rank()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"rank()",funcDesc:"Computes the rank of a value in a group of values. The result is one plus the number of rows preceding or equal to the current row in the ordering of the partition. The values will produce gaps in the sequence.",examples:"> SELECT a, b, rank(b) OVER (PARTITION BY a ORDER BY b) FROM VALUES ('A1', 2), ('A1', 1), ('A2', 3), ('A1', 1) tab(a, b);\n A1 1 1\n A1 1 1\n A1 2 3\n A2 3 1\n",expr:"rank()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"row_number()",funcDesc:"Assigns a unique, sequential number to each row, starting with one, according to the ordering of rows within the window partition.",examples:"> SELECT a, b, row_number() OVER (PARTITION BY a ORDER BY b) FROM VALUES ('A1', 2), ('A1', 1), ('A2', 3), ('A1', 1) tab(a, b);\n A1 1 1\n A1 1 2\n A1 2 3\n A2 3 1\n",expr:"row_number()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"array(expr, ...)",funcDesc:"Returns an array with the given elements.",examples:"> SELECT array(1, 2, 3);\n [1,2,3]\n",expr:"array()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"array_append(array, element)",funcDesc:"Add the element at the end of the array passed as first argument. Type of element should be similar to type of the elements of the array. Null element is also appended into the array. But if the array passed, is NULL output is NULL",examples:"> SELECT array_append(array('b', 'd', 'c', 'a'), 'd');\n [\"b\",\"d\",\"c\",\"a\",\"d\"]\n> SELECT array_append(array(1, 2, 3, null), null);\n [1,2,3,null,null]\n> SELECT array_append(CAST(null as Array<Int>), 2);\n NULL\n",expr:"array_append()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"array_compact(array)",funcDesc:"Removes null values from the array.",examples:'> SELECT array_compact(array(1, 2, 3, null));\n [1,2,3]\n> SELECT array_compact(array("a", "b", "c"));\n ["a","b","c"]\n',expr:"array_compact()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"array_contains(array, value)",funcDesc:"Returns true if the array contains the value.",examples:"> SELECT array_contains(array(1, 2, 3), 2);\n true\n",expr:"array_contains()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"array_distinct(array)",funcDesc:"Removes duplicate values from the array.",examples:"> SELECT array_distinct(array(1, 2, 3, null, 3));\n [1,2,3,null]\n",expr:"array_distinct()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"array_except(array1, array2)",funcDesc:"Returns an array of the elements in array1 but not in array2, without duplicates.",examples:"> SELECT array_except(array(1, 2, 3), array(1, 3, 5));\n [2]\n",expr:"array_except()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"array_insert(x, pos, val)",funcDesc:"Places val into index pos of array x. Array indices start at 1, or start from the end if index is negative. Index above array size appends the array, or prepends the array if index is negative, with 'null' elements.",examples:"> SELECT array_insert(array(1, 2, 3, 4), 5, 5);\n [1,2,3,4,5]\n> SELECT array_insert(array(5, 3, 2, 1), -3, 4);\n [5,4,3,2,1]\n",expr:"array_insert()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"array_intersect(array1, array2)",funcDesc:"Returns an array of the elements in the intersection of array1 and array2, without duplicates.",examples:"> SELECT array_intersect(array(1, 2, 3), array(1, 3, 5));\n [1,3]\n",expr:"array_intersect()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"array_join(array, delimiter[, nullReplacement])",funcDesc:"Concatenates the elements of the given array using the delimiter and an optional string to replace nulls. If no value is set for nullReplacement, any null value is filtered.",examples:"> SELECT array_join(array('hello', 'world'), ' ');\n hello world\n> SELECT array_join(array('hello', null ,'world'), ' ');\n hello world\n> SELECT array_join(array('hello', null ,'world'), ' ', ',');\n hello , world\n",expr:"array_join()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"array_max(array)",funcDesc:"Returns the maximum value in the array. NaN is greater than any non-NaN elements for double/float type. NULL elements are skipped.",examples:"> SELECT array_max(array(1, 20, null, 3));\n 20\n",expr:"array_max()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"array_min(array)",funcDesc:"Returns the minimum value in the array. NaN is greater than any non-NaN elements for double/float type. NULL elements are skipped.",examples:"> SELECT array_min(array(1, 20, null, 3));\n 1\n",expr:"array_min()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"array_position(array, element)",funcDesc:"Returns the (1-based) index of the first element of the array as long.",examples:"> SELECT array_position(array(3, 2, 1), 1);\n 3\n",expr:"array_position()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"array_remove(array, element)",funcDesc:"Remove all elements that equal to element from array.",examples:"> SELECT array_remove(array(1, 2, 3, null, 3), 3);\n [1,2,null]\n",expr:"array_remove()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"array_repeat(element, count)",funcDesc:"Returns the array containing element count times.",examples:'> SELECT array_repeat(\'123\', 2);\n ["123","123"]\n',expr:"array_repeat()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"array_union(array1, array2)",funcDesc:"Returns an array of the elements in the union of array1 and array2, without duplicates.",examples:"> SELECT array_union(array(1, 2, 3), array(1, 3, 5));\n [1,2,3,5]\n",expr:"array_union()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"arrays_overlap(a1, a2)",funcDesc:"Returns true if a1 contains at least a non-null element present also in a2. If the arrays have no common element and they are both non-empty and either of them contains a null element null is returned, false otherwise.",examples:"> SELECT arrays_overlap(array(1, 2, 3), array(3, 4, 5));\n true\n",expr:"arrays_overlap()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"arrays_zip(a1, a2, ...)",funcDesc:"Returns a merged array of structs in which the N-th struct contains all N-th values of input arrays.",examples:'> SELECT arrays_zip(array(1, 2, 3), array(2, 3, 4));\n [{"0":1,"1":2},{"0":2,"1":3},{"0":3,"1":4}]\n> SELECT arrays_zip(array(1, 2), array(2, 3), array(3, 4));\n [{"0":1,"1":2,"2":3},{"0":2,"1":3,"2":4}]\n',expr:"arrays_zip()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"flatten(arrayOfArrays)",funcDesc:"Transforms an array of arrays into a single array.",examples:"> SELECT flatten(array(array(1, 2), array(3, 4)));\n [1,2,3,4]\n",expr:"flatten()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"get(array, index)",funcDesc:"Returns element of array at given (0-based) index. If the index points outside of the array boundaries, then this function returns NULL.",examples:"> SELECT get(array(1, 2, 3), 0);\n 1\n> SELECT get(array(1, 2, 3), 3);\n NULL\n> SELECT get(array(1, 2, 3), -1);\n NULL\n",expr:"get()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"sequence(start, stop, step)",funcDesc:"Generates an array of elements from start to stop (inclusive), incrementing by step. The type of the returned elements is the same as the type of argument expressions. Supported types are: byte, short, integer, long, date, timestamp. The start and stop expressions must resolve to the same type. If start and stop expressions resolve to the 'date' or 'timestamp' type then the step expression must resolve to the 'interval' or 'year-month interval' or 'day-time interval' type, otherwise to the same type as the start and stop expressions.",examples:"> SELECT sequence(1, 5);\n [1,2,3,4,5]\n> SELECT sequence(5, 1);\n [5,4,3,2,1]\n> SELECT sequence(to_date('2018-01-01'), to_date('2018-03-01'), interval 1 month);\n [2018-01-01,2018-02-01,2018-03-01]\n> SELECT sequence(to_date('2018-01-01'), to_date('2018-03-01'), interval '0-1' year to month);\n [2018-01-01,2018-02-01,2018-03-01]\n",expr:"sequence()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"shuffle(array)",funcDesc:"Returns a random permutation of the given array.",examples:"> SELECT shuffle(array(1, 20, 3, 5));\n [3,1,5,20]\n> SELECT shuffle(array(1, 20, null, 3));\n [20,null,3,1]\n",expr:"shuffle()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"slice(x, start, length)",funcDesc:"Subsets array x starting from index start (array indices start at 1, or starting from the end if start is negative) with the specified length.",examples:"> SELECT slice(array(1, 2, 3, 4), 2, 2);\n [2,3]\n> SELECT slice(array(1, 2, 3, 4), -2, 2);\n [3,4]\n",expr:"slice()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"sort_array(array[, ascendingOrder])",funcDesc:"Sorts the input array in ascending or descending order according to the natural ordering of the array elements. NaN is greater than any non-NaN elements for double/float type. Null elements will be placed at the beginning of the returned array in ascending order or at the end of the returned array in descending order.",examples:"> SELECT sort_array(array('b', 'd', null, 'c', 'a'), true);\n [null,\"a\",\"b\",\"c\",\"d\"]\n",expr:"sort_array()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"element_at(array, index)",funcDesc:"Returns element of array at given (1-based) index. If Index is 0, Spark will throw an error. If index < 0, accesses elements from the last to the first. The function returns NULL if the index exceeds the length of the array and `spark.sql.ansi.enabled` is set to false. If `spark.sql.ansi.enabled` is set to true, it throws ArrayIndexOutOfBoundsException for invalid indices.",examples:"> SELECT element_at(array(1, 2, 3), 2);\n 2\n> SELECT element_at(map(1, 'a', 2, 'b'), 2);\n b\n",expr:"element_at()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"element_at(map, key)",funcDesc:"Returns value for given key. The function returns NULL if the key is not contained in the map.",examples:"> SELECT element_at(array(1, 2, 3), 2);\n 2\n> SELECT element_at(map(1, 'a', 2, 'b'), 2);\n b\n",expr:"element_at()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"map(key0, value0, key1, value1, ...)",funcDesc:"Creates a map with the given key/value pairs.",examples:"> SELECT map(1.0, '2', 3.0, '4');\n {1.0:\"2\",3.0:\"4\"}\n",expr:"map()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"map_concat(map, ...)",funcDesc:"Returns the union of all the given maps",examples:"> SELECT map_concat(map(1, 'a', 2, 'b'), map(3, 'c'));\n {1:\"a\",2:\"b\",3:\"c\"}\n",expr:"map_concat()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"map_contains_key(map, key)",funcDesc:"Returns true if the map contains the key.",examples:"> SELECT map_contains_key(map(1, 'a', 2, 'b'), 1);\n true\n> SELECT map_contains_key(map(1, 'a', 2, 'b'), 3);\n false\n",expr:"map_contains_key()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"map_entries(map)",funcDesc:"Returns an unordered array of all entries in the given map.",examples:'> SELECT map_entries(map(1, \'a\', 2, \'b\'));\n [{"key":1,"value":"a"},{"key":2,"value":"b"}]\n',expr:"map_entries()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"map_from_arrays(keys, values)",funcDesc:"Creates a map with a pair of the given key/value arrays. All elements in keys should not be null",examples:"> SELECT map_from_arrays(array(1.0, 3.0), array('2', '4'));\n {1.0:\"2\",3.0:\"4\"}\n",expr:"map_from_arrays()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"map_from_entries(arrayOfEntries)",funcDesc:"Returns a map created from the given array of entries.",examples:"> SELECT map_from_entries(array(struct(1, 'a'), struct(2, 'b')));\n {1:\"a\",2:\"b\"}\n",expr:"map_from_entries()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"map_keys(map)",funcDesc:"Returns an unordered array containing the keys of the map.",examples:"> SELECT map_keys(map(1, 'a', 2, 'b'));\n [1,2]\n",expr:"map_keys()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"map_values(map)",funcDesc:"Returns an unordered array containing the values of the map.",examples:"> SELECT map_values(map(1, 'a', 2, 'b'));\n [\"a\",\"b\"]\n",expr:"map_values()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"str_to_map(text[, pairDelim[, keyValueDelim]])",funcDesc:"Creates a map after splitting the text into key/value pairs using delimiters. Default delimiters are ',' for `pairDelim` and ':' for `keyValueDelim`. Both `pairDelim` and `keyValueDelim` are treated as regular expressions.",examples:'> SELECT str_to_map(\'a:1,b:2,c:3\', \',\', \':\');\n {"a":"1","b":"2","c":"3"}\n> SELECT str_to_map(\'a\');\n {"a":null}\n',expr:"str_to_map()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"try_element_at(array, index)",funcDesc:"Returns element of array at given (1-based) index. If Index is 0, Spark will throw an error. If index < 0, accesses elements from the last to the first. The function always returns NULL if the index exceeds the length of the array.",examples:"> SELECT try_element_at(array(1, 2, 3), 2);\n 2\n> SELECT try_element_at(map(1, 'a', 2, 'b'), 2);\n b\n",expr:"try_element_at()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"try_element_at(map, key)",funcDesc:"Returns value for given key. The function always returns NULL if the key is not contained in the map.",examples:"> SELECT try_element_at(array(1, 2, 3), 2);\n 2\n> SELECT try_element_at(map(1, 'a', 2, 'b'), 2);\n b\n",expr:"try_element_at()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"add_months(start_date, num_months)",funcDesc:"Returns the date that is `num_months` after `start_date`.",examples:"> SELECT add_months('2016-08-31', 1);\n 2016-09-30\n",expr:"add_months()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"convert_timezone([sourceTz, ]targetTz, sourceTs)",funcDesc:"Converts the timestamp without time zone `sourceTs` from the `sourceTz` time zone to `targetTz`.",examples:"> SELECT convert_timezone('Europe/Brussels', 'America/Los_Angeles', timestamp_ntz'2021-12-06 00:00:00');\n 2021-12-05 15:00:00\n> SELECT convert_timezone('Europe/Brussels', timestamp_ntz'2021-12-05 15:00:00');\n 2021-12-06 00:00:00\n",expr:"convert_timezone()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"curdate()",funcDesc:"Returns the current date at the start of query evaluation. All calls of curdate within the same query return the same value.",examples:"> SELECT curdate();\n 2022-09-06\n",expr:"curdate()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"current_date()",funcDesc:"Returns the current date at the start of query evaluation. All calls of current_date within the same query return the same value.",examples:"> SELECT current_date();\n 2020-04-25\n> SELECT current_date;\n 2020-04-25\n",expr:"current_date()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"current_date",funcDesc:"Returns the current date at the start of query evaluation.",examples:"> SELECT current_date();\n 2020-04-25\n> SELECT current_date;\n 2020-04-25\n",expr:"current_date",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"current_timestamp()",funcDesc:"Returns the current timestamp at the start of query evaluation. All calls of current_timestamp within the same query return the same value.",examples:"> SELECT current_timestamp();\n 2020-04-25 15:49:11.914\n> SELECT current_timestamp;\n 2020-04-25 15:49:11.914\n",expr:"current_timestamp()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"current_timestamp",funcDesc:"Returns the current timestamp at the start of query evaluation.",examples:"> SELECT current_timestamp();\n 2020-04-25 15:49:11.914\n> SELECT current_timestamp;\n 2020-04-25 15:49:11.914\n",expr:"current_timestamp",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"current_timezone()",funcDesc:"Returns the current session local timezone.",examples:"> SELECT current_timezone();\n Asia/Shanghai\n",expr:"current_timezone()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"date_add(start_date, num_days)",funcDesc:"Returns the date that is `num_days` after `start_date`.",examples:"> SELECT date_add('2016-07-30', 1);\n 2016-07-31\n",expr:"date_add()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"date_diff(endDate, startDate)",funcDesc:"Returns the number of days from `startDate` to `endDate`.",examples:"> SELECT date_diff('2009-07-31', '2009-07-30');\n 1\n\n> SELECT date_diff('2009-07-30', '2009-07-31');\n -1\n",expr:"date_diff()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"date_format(timestamp, fmt)",funcDesc:"Converts `timestamp` to a value of string in the format specified by the date format `fmt`.",examples:"> SELECT date_format('2016-04-08', 'y');\n 2016\n",expr:"date_format()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"date_from_unix_date(days)",funcDesc:"Create date from the number of days since 1970-01-01.",examples:"> SELECT date_from_unix_date(1);\n 1970-01-02\n",expr:"date_from_unix_date()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"date_part(field, source)",funcDesc:"Extracts a part of the date/timestamp or interval source.",examples:"> SELECT date_part('YEAR', TIMESTAMP '2019-08-12 01:00:00.123456');\n 2019\n> SELECT date_part('week', timestamp'2019-08-12 01:00:00.123456');\n 33\n> SELECT date_part('doy', DATE'2019-08-12');\n 224\n> SELECT date_part('SECONDS', timestamp'2019-10-01 00:00:01.000001');\n 1.000001\n> SELECT date_part('days', interval 5 days 3 hours 7 minutes);\n 5\n> SELECT date_part('seconds', interval 5 hours 30 seconds 1 milliseconds 1 microseconds);\n 30.001001\n> SELECT date_part('MONTH', INTERVAL '2021-11' YEAR TO MONTH);\n 11\n> SELECT date_part('MINUTE', INTERVAL '123 23:55:59.002001' DAY TO SECOND);\n 55\n",expr:"date_part()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"date_sub(start_date, num_days)",funcDesc:"Returns the date that is `num_days` before `start_date`.",examples:"> SELECT date_sub('2016-07-30', 1);\n 2016-07-29\n",expr:"date_sub()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"date_trunc(fmt, ts)",funcDesc:"Returns timestamp `ts` truncated to the unit specified by the format model `fmt`.",examples:"> SELECT date_trunc('YEAR', '2015-03-05T09:32:05.359');\n 2015-01-01 00:00:00\n> SELECT date_trunc('MM', '2015-03-05T09:32:05.359');\n 2015-03-01 00:00:00\n> SELECT date_trunc('DD', '2015-03-05T09:32:05.359');\n 2015-03-05 00:00:00\n> SELECT date_trunc('HOUR', '2015-03-05T09:32:05.359');\n 2015-03-05 09:00:00\n> SELECT date_trunc('MILLISECOND', '2015-03-05T09:32:05.123456');\n 2015-03-05 09:32:05.123\n",expr:"date_trunc()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"dateadd(start_date, num_days)",funcDesc:"Returns the date that is `num_days` after `start_date`.",examples:"> SELECT dateadd('2016-07-30', 1);\n 2016-07-31\n",expr:"dateadd()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"datediff(endDate, startDate)",funcDesc:"Returns the number of days from `startDate` to `endDate`.",examples:"> SELECT datediff('2009-07-31', '2009-07-30');\n 1\n\n> SELECT datediff('2009-07-30', '2009-07-31');\n -1\n",expr:"datediff()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"datepart(field, source)",funcDesc:"Extracts a part of the date/timestamp or interval source.",examples:"> SELECT datepart('YEAR', TIMESTAMP '2019-08-12 01:00:00.123456');\n 2019\n> SELECT datepart('week', timestamp'2019-08-12 01:00:00.123456');\n 33\n> SELECT datepart('doy', DATE'2019-08-12');\n 224\n> SELECT datepart('SECONDS', timestamp'2019-10-01 00:00:01.000001');\n 1.000001\n> SELECT datepart('days', interval 5 days 3 hours 7 minutes);\n 5\n> SELECT datepart('seconds', interval 5 hours 30 seconds 1 milliseconds 1 microseconds);\n 30.001001\n> SELECT datepart('MONTH', INTERVAL '2021-11' YEAR TO MONTH);\n 11\n> SELECT datepart('MINUTE', INTERVAL '123 23:55:59.002001' DAY TO SECOND);\n 55\n",expr:"datepart()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"day(date)",funcDesc:"Returns the day of month of the date/timestamp.",examples:"> SELECT day('2009-07-30');\n 30\n",expr:"day()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"dayofmonth(date)",funcDesc:"Returns the day of month of the date/timestamp.",examples:"> SELECT dayofmonth('2009-07-30');\n 30\n",expr:"dayofmonth()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"dayofweek(date)",funcDesc:"Returns the day of the week for date/timestamp (1 = Sunday, 2 = Monday, ..., 7 = Saturday).",examples:"> SELECT dayofweek('2009-07-30');\n 5\n",expr:"dayofweek()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"dayofyear(date)",funcDesc:"Returns the day of year of the date/timestamp.",examples:"> SELECT dayofyear('2016-04-09');\n 100\n",expr:"dayofyear()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"extract(field FROM source)",funcDesc:"Extracts a part of the date/timestamp or interval source.",examples:"> SELECT extract(YEAR FROM TIMESTAMP '2019-08-12 01:00:00.123456');\n 2019\n> SELECT extract(week FROM timestamp'2019-08-12 01:00:00.123456');\n 33\n> SELECT extract(doy FROM DATE'2019-08-12');\n 224\n> SELECT extract(SECONDS FROM timestamp'2019-10-01 00:00:01.000001');\n 1.000001\n> SELECT extract(days FROM interval 5 days 3 hours 7 minutes);\n 5\n> SELECT extract(seconds FROM interval 5 hours 30 seconds 1 milliseconds 1 microseconds);\n 30.001001\n> SELECT extract(MONTH FROM INTERVAL '2021-11' YEAR TO MONTH);\n 11\n> SELECT extract(MINUTE FROM INTERVAL '123 23:55:59.002001' DAY TO SECOND);\n 55\n",expr:"extract()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"from_unixtime(unix_time[, fmt])",funcDesc:"Returns `unix_time` in the specified `fmt`.",examples:"> SELECT from_unixtime(0, 'yyyy-MM-dd HH:mm:ss');\n 1969-12-31 16:00:00\n\n> SELECT from_unixtime(0);\n 1969-12-31 16:00:00\n",expr:"from_unixtime()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"from_utc_timestamp(timestamp, timezone)",funcDesc:"Given a timestamp like '2017-07-14 02:40:00.0', interprets it as a time in UTC, and renders that time as a timestamp in the given time zone. For example, 'GMT+1' would yield '2017-07-14 03:40:00.0'.",examples:"> SELECT from_utc_timestamp('2016-08-31', 'Asia/Seoul');\n 2016-08-31 09:00:00\n",expr:"from_utc_timestamp()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"hour(timestamp)",funcDesc:"Returns the hour component of the string/timestamp.",examples:"> SELECT hour('2009-07-30 12:58:59');\n 12\n",expr:"hour()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"last_day(date)",funcDesc:"Returns the last day of the month which the date belongs to.",examples:"> SELECT last_day('2009-01-12');\n 2009-01-31\n",expr:"last_day()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"localtimestamp()",funcDesc:"Returns the current timestamp without time zone at the start of query evaluation. All calls of localtimestamp within the same query return the same value.",examples:"> SELECT localtimestamp();\n 2020-04-25 15:49:11.914\n> SELECT localtimestamp;\n 2020-04-25 15:49:11.914\n",expr:"localtimestamp()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"localtimestamp",funcDesc:"Returns the current local date-time at the session time zone at the start of query evaluation.",examples:"> SELECT localtimestamp();\n 2020-04-25 15:49:11.914\n> SELECT localtimestamp;\n 2020-04-25 15:49:11.914\n",expr:"localtimestamp",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"make_date(year, month, day)",funcDesc:"Create date from year, month and day fields. If the configuration `spark.sql.ansi.enabled` is false, the function returns NULL on invalid inputs. Otherwise, it will throw an error instead.",examples:"> SELECT make_date(2013, 7, 15);\n 2013-07-15\n> SELECT make_date(2019, 7, NULL);\n NULL\n",expr:"make_date()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"make_dt_interval([days[, hours[, mins[, secs]]]])",funcDesc:"Make DayTimeIntervalType duration from days, hours, mins and secs.",examples:"> SELECT make_dt_interval(1, 12, 30, 01.001001);\n 1 12:30:01.001001000\n> SELECT make_dt_interval(2);\n 2 00:00:00.000000000\n> SELECT make_dt_interval(100, null, 3);\n NULL\n",expr:"make_dt_interval()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"make_interval([years[, months[, weeks[, days[, hours[, mins[, secs]]]]]]])",funcDesc:"Make interval from years, months, weeks, days, hours, mins and secs.",examples:"> SELECT make_interval(100, 11, 1, 1, 12, 30, 01.001001);\n 100 years 11 months 8 days 12 hours 30 minutes 1.001001 seconds\n> SELECT make_interval(100, null, 3);\n NULL\n> SELECT make_interval(0, 1, 0, 1, 0, 0, 100.000001);\n 1 months 1 days 1 minutes 40.000001 seconds\n",expr:"make_interval()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"make_timestamp(year, month, day, hour, min, sec[, timezone])",funcDesc:"Create timestamp from year, month, day, hour, min, sec and timezone fields. The result data type is consistent with the value of configuration `spark.sql.timestampType`. If the configuration `spark.sql.ansi.enabled` is false, the function returns NULL on invalid inputs. Otherwise, it will throw an error instead.",examples:"> SELECT make_timestamp(2014, 12, 28, 6, 30, 45.887);\n 2014-12-28 06:30:45.887\n> SELECT make_timestamp(2014, 12, 28, 6, 30, 45.887, 'CET');\n 2014-12-27 21:30:45.887\n> SELECT make_timestamp(2019, 6, 30, 23, 59, 60);\n 2019-07-01 00:00:00\n> SELECT make_timestamp(2019, 6, 30, 23, 59, 1);\n 2019-06-30 23:59:01\n> SELECT make_timestamp(null, 7, 22, 15, 30, 0);\n NULL\n",expr:"make_timestamp()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"make_timestamp_ltz(year, month, day, hour, min, sec[, timezone])",funcDesc:"Create the current timestamp with local time zone from year, month, day, hour, min, sec and timezone fields. If the configuration `spark.sql.ansi.enabled` is false, the function returns NULL on invalid inputs. Otherwise, it will throw an error instead.",examples:"> SELECT make_timestamp_ltz(2014, 12, 28, 6, 30, 45.887);\n 2014-12-28 06:30:45.887\n> SELECT make_timestamp_ltz(2014, 12, 28, 6, 30, 45.887, 'CET');\n 2014-12-27 21:30:45.887\n> SELECT make_timestamp_ltz(2019, 6, 30, 23, 59, 60);\n 2019-07-01 00:00:00\n> SELECT make_timestamp_ltz(null, 7, 22, 15, 30, 0);\n NULL\n",expr:"make_timestamp_ltz()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"make_timestamp_ntz(year, month, day, hour, min, sec)",funcDesc:"Create local date-time from year, month, day, hour, min, sec fields. If the configuration `spark.sql.ansi.enabled` is false, the function returns NULL on invalid inputs. Otherwise, it will throw an error instead.",examples:"> SELECT make_timestamp_ntz(2014, 12, 28, 6, 30, 45.887);\n 2014-12-28 06:30:45.887\n> SELECT make_timestamp_ntz(2019, 6, 30, 23, 59, 60);\n 2019-07-01 00:00:00\n> SELECT make_timestamp_ntz(null, 7, 22, 15, 30, 0);\n NULL\n",expr:"make_timestamp_ntz()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"make_ym_interval([years[, months]])",funcDesc:"Make year-month interval from years, months.",examples:"> SELECT make_ym_interval(1, 2);\n 1-2\n> SELECT make_ym_interval(1, 0);\n 1-0\n> SELECT make_ym_interval(-1, 1);\n -0-11\n> SELECT make_ym_interval(2);\n 2-0\n",expr:"make_ym_interval()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"minute(timestamp)",funcDesc:"Returns the minute component of the string/timestamp.",examples:"> SELECT minute('2009-07-30 12:58:59');\n 58\n",expr:"minute()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"month(date)",funcDesc:"Returns the month component of the date/timestamp.",examples:"> SELECT month('2016-07-30');\n 7\n",expr:"month()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"months_between(timestamp1, timestamp2[, roundOff])",funcDesc:"If `timestamp1` is later than `timestamp2`, then the result is positive. If `timestamp1` and `timestamp2` are on the same day of month, or both are the last day of month, time of day will be ignored. Otherwise, the difference is calculated based on 31 days per month, and rounded to 8 digits unless roundOff=false.",examples:"> SELECT months_between('1997-02-28 10:30:00', '1996-10-30');\n 3.94959677\n> SELECT months_between('1997-02-28 10:30:00', '1996-10-30', false);\n 3.9495967741935485\n",expr:"months_between()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"next_day(start_date, day_of_week)",funcDesc:"Returns the first date which is later than `start_date` and named as indicated. The function returns NULL if at least one of the input parameters is NULL. When both of the input parameters are not NULL and day_of_week is an invalid input, the function throws IllegalArgumentException if `spark.sql.ansi.enabled` is set to true, otherwise NULL.",examples:"> SELECT next_day('2015-01-14', 'TU');\n 2015-01-20\n",expr:"next_day()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"now()",funcDesc:"Returns the current timestamp at the start of query evaluation.",examples:"> SELECT now();\n 2020-04-25 15:49:11.914\n",expr:"now()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"quarter(date)",funcDesc:"Returns the quarter of the year for date, in the range 1 to 4.",examples:"> SELECT quarter('2016-08-31');\n 3\n",expr:"quarter()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"second(timestamp)",funcDesc:"Returns the second component of the string/timestamp.",examples:"> SELECT second('2009-07-30 12:58:59');\n 59\n",expr:"second()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"session_window(time_column, gap_duration)",funcDesc:"Generates session window given a timestamp specifying column and gap duration. See 'Types of time windows' in Structured Streaming guide doc for detailed explanation and examples.",examples:"> SELECT a, session_window.start, session_window.end, count(*) as cnt FROM VALUES ('A1', '2021-01-01 00:00:00'), ('A1', '2021-01-01 00:04:30'), ('A1', '2021-01-01 00:10:00'), ('A2', '2021-01-01 00:01:00') AS tab(a, b) GROUP by a, session_window(b, '5 minutes') ORDER BY a, start;\n A1 2021-01-01 00:00:00 2021-01-01 00:09:30 2\n A1 2021-01-01 00:10:00 2021-01-01 00:15:00 1\n A2 2021-01-01 00:01:00 2021-01-01 00:06:00 1\n> SELECT a, session_window.start, session_window.end, count(*) as cnt FROM VALUES ('A1', '2021-01-01 00:00:00'), ('A1', '2021-01-01 00:04:30'), ('A1', '2021-01-01 00:10:00'), ('A2', '2021-01-01 00:01:00'), ('A2', '2021-01-01 00:04:30') AS tab(a, b) GROUP by a, session_window(b, CASE WHEN a = 'A1' THEN '5 minutes' WHEN a = 'A2' THEN '1 minute' ELSE '10 minutes' END) ORDER BY a, start;\n A1 2021-01-01 00:00:00 2021-01-01 00:09:30 2\n A1 2021-01-01 00:10:00 2021-01-01 00:15:00 1\n A2 2021-01-01 00:01:00 2021-01-01 00:02:00 1\n A2 2021-01-01 00:04:30 2021-01-01 00:05:30 1\n",expr:"session_window()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"timestamp_micros(microseconds)",funcDesc:"Creates timestamp from the number of microseconds since UTC epoch.",examples:"> SELECT timestamp_micros(1230219000123123);\n 2008-12-25 07:30:00.123123\n",expr:"timestamp_micros()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"timestamp_millis(milliseconds)",funcDesc:"Creates timestamp from the number of milliseconds since UTC epoch.",examples:"> SELECT timestamp_millis(1230219000123);\n 2008-12-25 07:30:00.123\n",expr:"timestamp_millis()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"timestamp_seconds(seconds)",funcDesc:"Creates timestamp from the number of seconds (can be fractional) since UTC epoch.",examples:"> SELECT timestamp_seconds(1230219000);\n 2008-12-25 07:30:00\n> SELECT timestamp_seconds(1230219000.123);\n 2008-12-25 07:30:00.123\n",expr:"timestamp_seconds()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"to_date(date_str[, fmt])",funcDesc:"Parses the `date_str` expression with the `fmt` expression to a date. Returns null with invalid input. By default, it follows casting rules to a date if the `fmt` is omitted.",examples:"> SELECT to_date('2009-07-30 04:17:52');\n 2009-07-30\n> SELECT to_date('2016-12-31', 'yyyy-MM-dd');\n 2016-12-31\n",expr:"to_date()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"to_timestamp(timestamp_str[, fmt])",funcDesc:"Parses the `timestamp_str` expression with the `fmt` expression to a timestamp. Returns null with invalid input. By default, it follows casting rules to a timestamp if the `fmt` is omitted. The result data type is consistent with the value of configuration `spark.sql.timestampType`.",examples:"> SELECT to_timestamp('2016-12-31 00:12:00');\n 2016-12-31 00:12:00\n> SELECT to_timestamp('2016-12-31', 'yyyy-MM-dd');\n 2016-12-31 00:00:00\n",expr:"to_timestamp()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"to_timestamp_ltz(timestamp_str[, fmt])",funcDesc:"Parses the `timestamp_str` expression with the `fmt` expression to a timestamp with local time zone. Returns null with invalid input. By default, it follows casting rules to a timestamp if the `fmt` is omitted.",examples:"> SELECT to_timestamp_ltz('2016-12-31 00:12:00');\n 2016-12-31 00:12:00\n> SELECT to_timestamp_ltz('2016-12-31', 'yyyy-MM-dd');\n 2016-12-31 00:00:00\n",expr:"to_timestamp_ltz()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"to_timestamp_ntz(timestamp_str[, fmt])",funcDesc:"Parses the `timestamp_str` expression with the `fmt` expression to a timestamp without time zone. Returns null with invalid input. By default, it follows casting rules to a timestamp if the `fmt` is omitted.",examples:"> SELECT to_timestamp_ntz('2016-12-31 00:12:00');\n 2016-12-31 00:12:00\n> SELECT to_timestamp_ntz('2016-12-31', 'yyyy-MM-dd');\n 2016-12-31 00:00:00\n",expr:"to_timestamp_ntz()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"to_unix_timestamp(timeExp[, fmt])",funcDesc:"Returns the UNIX timestamp of the given time.",examples:"> SELECT to_unix_timestamp('2016-04-08', 'yyyy-MM-dd');\n 1460098800\n",expr:"to_unix_timestamp()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"to_utc_timestamp(timestamp, timezone)",funcDesc:"Given a timestamp like '2017-07-14 02:40:00.0', interprets it as a time in the given time zone, and renders that time as a timestamp in UTC. For example, 'GMT+1' would yield '2017-07-14 01:40:00.0'.",examples:"> SELECT to_utc_timestamp('2016-08-31', 'Asia/Seoul');\n 2016-08-30 15:00:00\n",expr:"to_utc_timestamp()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"trunc(date, fmt)",funcDesc:"Returns `date` with the time portion of the day truncated to the unit specified by the format model `fmt`.",examples:"> SELECT trunc('2019-08-04', 'week');\n 2019-07-29\n> SELECT trunc('2019-08-04', 'quarter');\n 2019-07-01\n> SELECT trunc('2009-02-12', 'MM');\n 2009-02-01\n> SELECT trunc('2015-10-27', 'YEAR');\n 2015-01-01\n",expr:"trunc()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"try_to_timestamp(timestamp_str[, fmt])",funcDesc:"Parses the `timestamp_str` expression with the `fmt` expression to a timestamp. The function always returns null on an invalid input with/without ANSI SQL mode enabled. By default, it follows casting rules to a timestamp if the `fmt` is omitted. The result data type is consistent with the value of configuration `spark.sql.timestampType`.",examples:"> SELECT try_to_timestamp('2016-12-31 00:12:00');\n 2016-12-31 00:12:00\n> SELECT try_to_timestamp('2016-12-31', 'yyyy-MM-dd');\n 2016-12-31 00:00:00\n> SELECT try_to_timestamp('foo', 'yyyy-MM-dd');\n NULL\n",expr:"try_to_timestamp()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"unix_date(date)",funcDesc:"Returns the number of days since 1970-01-01.",examples:'> SELECT unix_date(DATE("1970-01-02"));\n 1\n',expr:"unix_date()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"unix_micros(timestamp)",funcDesc:"Returns the number of microseconds since 1970-01-01 00:00:00 UTC.",examples:"> SELECT unix_micros(TIMESTAMP('1970-01-01 00:00:01Z'));\n 1000000\n",expr:"unix_micros()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"unix_millis(timestamp)",funcDesc:"Returns the number of milliseconds since 1970-01-01 00:00:00 UTC. Truncates higher levels of precision.",examples:"> SELECT unix_millis(TIMESTAMP('1970-01-01 00:00:01Z'));\n 1000\n",expr:"unix_millis()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"unix_seconds(timestamp)",funcDesc:"Returns the number of seconds since 1970-01-01 00:00:00 UTC. Truncates higher levels of precision.",examples:"> SELECT unix_seconds(TIMESTAMP('1970-01-01 00:00:01Z'));\n 1\n",expr:"unix_seconds()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"unix_timestamp([timeExp[, fmt]])",funcDesc:"Returns the UNIX timestamp of current or specified time.",examples:"> SELECT unix_timestamp();\n 1476884637\n> SELECT unix_timestamp('2016-04-08', 'yyyy-MM-dd');\n 1460041200\n",expr:"unix_timestamp()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"weekday(date)",funcDesc:"Returns the day of the week for date/timestamp (0 = Monday, 1 = Tuesday, ..., 6 = Sunday).",examples:"> SELECT weekday('2009-07-30');\n 3\n",expr:"weekday()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"weekofyear(date)",funcDesc:"Returns the week of the year of the given date. A week is considered to start on a Monday and week 1 is the first week with >3 days.",examples:"> SELECT weekofyear('2008-02-20');\n 8\n",expr:"weekofyear()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"window(time_column, window_duration[, slide_duration[, start_time]])",funcDesc:"Bucketize rows into one or more time windows given a timestamp specifying column. Window starts are inclusive but the window ends are exclusive, e.g. 12:05 will be in the window [12:05,12:10) but not in [12:00,12:05). Windows can support microsecond precision. Windows in the order of months are not supported. See 'Window Operations on Event Time' in Structured Streaming guide doc for detailed explanation and examples.",examples:"> SELECT a, window.start, window.end, count(*) as cnt FROM VALUES ('A1', '2021-01-01 00:00:00'), ('A1', '2021-01-01 00:04:30'), ('A1', '2021-01-01 00:06:00'), ('A2', '2021-01-01 00:01:00') AS tab(a, b) GROUP by a, window(b, '5 minutes') ORDER BY a, start;\n A1 2021-01-01 00:00:00 2021-01-01 00:05:00 2\n A1 2021-01-01 00:05:00 2021-01-01 00:10:00 1\n A2 2021-01-01 00:00:00 2021-01-01 00:05:00 1\n> SELECT a, window.start, window.end, count(*) as cnt FROM VALUES ('A1', '2021-01-01 00:00:00'), ('A1', '2021-01-01 00:04:30'), ('A1', '2021-01-01 00:06:00'), ('A2', '2021-01-01 00:01:00') AS tab(a, b) GROUP by a, window(b, '10 minutes', '5 minutes') ORDER BY a, start;\n A1 2020-12-31 23:55:00 2021-01-01 00:05:00 2\n A1 2021-01-01 00:00:00 2021-01-01 00:10:00 3\n A1 2021-01-01 00:05:00 2021-01-01 00:15:00 1\n A2 2020-12-31 23:55:00 2021-01-01 00:05:00 1\n A2 2021-01-01 00:00:00 2021-01-01 00:10:00 1\n",expr:"window()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"window_time(window_column)",funcDesc:"Extract the time value from time/session window column which can be used for event time value of window. The extracted time is (window.end - 1) which reflects the fact that the the aggregating windows have exclusive upper bound - [start, end) See 'Window Operations on Event Time' in Structured Streaming guide doc for detailed explanation and examples.",examples:"> SELECT a, window.start as start, window.end as end, window_time(window), cnt FROM (SELECT a, window, count(*) as cnt FROM VALUES ('A1', '2021-01-01 00:00:00'), ('A1', '2021-01-01 00:04:30'), ('A1', '2021-01-01 00:06:00'), ('A2', '2021-01-01 00:01:00') AS tab(a, b) GROUP by a, window(b, '5 minutes') ORDER BY a, window.start);\n A1 2021-01-01 00:00:00 2021-01-01 00:05:00 2021-01-01 00:04:59.999999 2\n A1 2021-01-01 00:05:00 2021-01-01 00:10:00 2021-01-01 00:09:59.999999 1\n A2 2021-01-01 00:00:00 2021-01-01 00:05:00 2021-01-01 00:04:59.999999 1\n",expr:"window_time()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"year(date)",funcDesc:"Returns the year component of the date/timestamp.",examples:"> SELECT year('2016-07-30');\n 2016\n",expr:"year()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"from_json(jsonStr, schema[, options])",funcDesc:"Returns a struct value with the given `jsonStr` and `schema`.",examples:'> SELECT from_json(\'{"a":1, "b":0.8}\', \'a INT, b DOUBLE\');\n {"a":1,"b":0.8}\n> SELECT from_json(\'{"time":"26/08/2015"}\', \'time Timestamp\', map(\'timestampFormat\', \'dd/MM/yyyy\'));\n {"time":2015-08-26 00:00:00}\n> SELECT from_json(\'{"teacher": "Alice", "student": [{"name": "Bob", "rank": 1}, {"name": "Charlie", "rank": 2}]}\', \'STRUCT<teacher: STRING, student: ARRAY<STRUCT<name: STRING, rank: INT>>>\');\n {"teacher":"Alice","student":[{"name":"Bob","rank":1},{"name":"Charlie","rank":2}]}\n',expr:"from_json()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"get_json_object(json_txt, path)",funcDesc:"Extracts a json object from `path`.",examples:"> SELECT get_json_object('{\"a\":\"b\"}', '$.a');\n b\n",expr:"get_json_object()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"json_array_length(jsonArray)",funcDesc:"Returns the number of elements in the outermost JSON array.",examples:"> SELECT json_array_length('[1,2,3,4]');\n 4\n> SELECT json_array_length('[1,2,3,{\"f1\":1,\"f2\":[5,6]},4]');\n 5\n> SELECT json_array_length('[1,2');\n NULL\n",expr:"json_array_length()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"json_object_keys(json_object)",funcDesc:"Returns all the keys of the outermost JSON object as an array.",examples:'> SELECT json_object_keys(\'{}\');\n []\n> SELECT json_object_keys(\'{"key": "value"}\');\n ["key"]\n> SELECT json_object_keys(\'{"f1":"abc","f2":{"f3":"a", "f4":"b"}}\');\n ["f1","f2"]\n',expr:"json_object_keys()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"json_tuple(jsonStr, p1, p2, ..., pn)",funcDesc:"Returns a tuple like the function get_json_object, but it takes multiple names. All the input parameters and output column types are string.",examples:"> SELECT json_tuple('{\"a\":1, \"b\":2}', 'a', 'b');\n 1 2\n",expr:"json_tuple()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"schema_of_json(json[, options])",funcDesc:"Returns schema in the DDL format of JSON string.",examples:"> SELECT schema_of_json('[{\"col\":0}]');\n ARRAY<STRUCT<col: BIGINT>>\n> SELECT schema_of_json('[{\"col\":01}]', map('allowNumericLeadingZeros', 'true'));\n ARRAY<STRUCT<col: BIGINT>>\n",expr:"schema_of_json()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"to_json(expr[, options])",funcDesc:"Returns a JSON string with a given struct value",examples:"> SELECT to_json(named_struct('a', 1, 'b', 2));\n {\"a\":1,\"b\":2}\n> SELECT to_json(named_struct('time', to_timestamp('2015-08-26', 'yyyy-MM-dd')), map('timestampFormat', 'dd/MM/yyyy'));\n {\"time\":\"26/08/2015\"}\n> SELECT to_json(array(named_struct('a', 1, 'b', 2)));\n [{\"a\":1,\"b\":2}]\n> SELECT to_json(map('a', named_struct('b', 1)));\n {\"a\":{\"b\":1}}\n> SELECT to_json(map(named_struct('a', 1),named_struct('b', 2)));\n {\"[1]\":{\"b\":2}}\n> SELECT to_json(map('a', 1));\n {\"a\":1}\n> SELECT to_json(array((map('a', 1))));\n [{\"a\":1}]\n",expr:"to_json()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"expr1 % expr2",funcDesc:"Returns the remainder after `expr1`/`expr2`.",examples:"> SELECT 2 % 1.8;\n 0.2\n> SELECT 2 % 0;\n Error: DIVIDE_BY_ZERO\n",expr:"expr1 % expr2",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"expr1 * expr2",funcDesc:"Returns `expr1`*`expr2`.",examples:"> SELECT 2 * 3;\n 6\n",expr:"expr1 * expr2",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"expr1 + expr2",funcDesc:"Returns `expr1`+`expr2`.",examples:"> SELECT 1 + 2;\n 3\n",expr:"expr1 + expr2",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"expr1 - expr2",funcDesc:"Returns `expr1`-`expr2`.",examples:"> SELECT 2 - 1;\n 1\n",expr:"expr1 - expr2",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"expr1 / expr2",funcDesc:"Returns `expr1`/`expr2`. It always performs floating point division.",examples:"> SELECT 3 / 2;\n 1.5\n> SELECT 2L / 2L;\n 1.0\n",expr:"expr1 / expr2",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"abs(expr)",funcDesc:"Returns the absolute value of the numeric or interval value.",examples:"> SELECT abs(-1);\n 1\n> SELECT abs(INTERVAL -'1-1' YEAR TO MONTH);\n 1-1\n",expr:"abs()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"acos(expr)",funcDesc:"Returns the inverse cosine (a.k.a. arc cosine) of `expr`, as if computed by `java.lang.Math.acos`.",examples:"> SELECT acos(1);\n 0.0\n> SELECT acos(2);\n NaN\n",expr:"acos()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"acosh(expr)",funcDesc:"Returns inverse hyperbolic cosine of `expr`.",examples:"> SELECT acosh(1);\n 0.0\n> SELECT acosh(0);\n NaN\n",expr:"acosh()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"asin(expr)",funcDesc:"Returns the inverse sine (a.k.a. arc sine) the arc sin of `expr`, as if computed by `java.lang.Math.asin`.",examples:"> SELECT asin(0);\n 0.0\n> SELECT asin(2);\n NaN\n",expr:"asin()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"asinh(expr)",funcDesc:"Returns inverse hyperbolic sine of `expr`.",examples:"> SELECT asinh(0);\n 0.0\n",expr:"asinh()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"atan(expr)",funcDesc:"Returns the inverse tangent (a.k.a. arc tangent) of `expr`, as if computed by `java.lang.Math.atan`",examples:"> SELECT atan(0);\n 0.0\n",expr:"atan()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"atan2(exprY, exprX)",funcDesc:"Returns the angle in radians between the positive x-axis of a plane and the point given by the coordinates (`exprX`, `exprY`), as if computed by `java.lang.Math.atan2`.",examples:"> SELECT atan2(0, 0);\n 0.0\n",expr:"atan2()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"atanh(expr)",funcDesc:"Returns inverse hyperbolic tangent of `expr`.",examples:"> SELECT atanh(0);\n 0.0\n> SELECT atanh(2);\n NaN\n",expr:"atanh()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"bin(expr)",funcDesc:"Returns the string representation of the long value `expr` represented in binary.",examples:"> SELECT bin(13);\n 1101\n> SELECT bin(-13);\n 1111111111111111111111111111111111111111111111111111111111110011\n> SELECT bin(13.3);\n 1101\n",expr:"bin()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"bround(expr, d)",funcDesc:"Returns `expr` rounded to `d` decimal places using HALF_EVEN rounding mode.",examples:"> SELECT bround(2.5, 0);\n 2\n> SELECT bround(25, -1);\n 20\n",expr:"bround()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"cbrt(expr)",funcDesc:"Returns the cube root of `expr`.",examples:"> SELECT cbrt(27.0);\n 3.0\n",expr:"cbrt()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"ceil(expr[, scale])",funcDesc:"Returns the smallest number after rounding up that is not smaller than `expr`. An optional `scale` parameter can be specified to control the rounding behavior.",examples:"> SELECT ceil(-0.1);\n 0\n> SELECT ceil(5);\n 5\n> SELECT ceil(3.1411, 3);\n 3.142\n> SELECT ceil(3.1411, -3);\n 1000\n",expr:"ceil()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"ceiling(expr[, scale])",funcDesc:"Returns the smallest number after rounding up that is not smaller than `expr`. An optional `scale` parameter can be specified to control the rounding behavior.",examples:"> SELECT ceiling(-0.1);\n 0\n> SELECT ceiling(5);\n 5\n> SELECT ceiling(3.1411, 3);\n 3.142\n> SELECT ceiling(3.1411, -3);\n 1000\n",expr:"ceiling()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"conv(num, from_base, to_base)",funcDesc:"Convert `num` from `from_base` to `to_base`.",examples:"> SELECT conv('100', 2, 10);\n 4\n> SELECT conv(-10, 16, -10);\n -16\n",expr:"conv()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"cos(expr)",funcDesc:"Returns the cosine of `expr`, as if computed by `java.lang.Math.cos`.",examples:"> SELECT cos(0);\n 1.0\n",expr:"cos()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"cosh(expr)",funcDesc:"Returns the hyperbolic cosine of `expr`, as if computed by `java.lang.Math.cosh`.",examples:"> SELECT cosh(0);\n 1.0\n",expr:"cosh()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"cot(expr)",funcDesc:"Returns the cotangent of `expr`, as if computed by `1/java.lang.Math.tan`.",examples:"> SELECT cot(1);\n 0.6420926159343306\n",expr:"cot()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"csc(expr)",funcDesc:"Returns the cosecant of `expr`, as if computed by `1/java.lang.Math.sin`.",examples:"> SELECT csc(1);\n 1.1883951057781212\n",expr:"csc()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"degrees(expr)",funcDesc:"Converts radians to degrees.",examples:"> SELECT degrees(3.141592653589793);\n 180.0\n",expr:"degrees()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"expr1 div expr2",funcDesc:"Divide `expr1` by `expr2`. It returns NULL if an operand is NULL or `expr2` is 0. The result is casted to long.",examples:"> SELECT 3 div 2;\n 1\n> SELECT INTERVAL '1-1' YEAR TO MONTH div INTERVAL '-1' MONTH;\n -13\n",expr:"expr1 div expr2",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"e()",funcDesc:"Returns Euler's number, e.",examples:"> SELECT e();\n 2.718281828459045\n",expr:"e()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"exp(expr)",funcDesc:"Returns e to the power of `expr`.",examples:"> SELECT exp(0);\n 1.0\n",expr:"exp()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"expm1(expr) - Returns exp(`expr`)",funcDesc:"1.",examples:"> SELECT expm1(0);\n 0.0\n",expr:"expm1()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"factorial(expr)",funcDesc:"Returns the factorial of `expr`. `expr` is [0..20]. Otherwise, null.",examples:"> SELECT factorial(5);\n 120\n",expr:"factorial()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"floor(expr[, scale])",funcDesc:"Returns the largest number after rounding down that is not greater than `expr`. An optional `scale` parameter can be specified to control the rounding behavior.",examples:"> SELECT floor(-0.1);\n -1\n> SELECT floor(5);\n 5\n> SELECT floor(3.1411, 3);\n 3.141\n> SELECT floor(3.1411, -3);\n 0\n",expr:"floor()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"greatest(expr, ...)",funcDesc:"Returns the greatest value of all parameters, skipping null values.",examples:"> SELECT greatest(10, 9, 2, 4, 3);\n 10\n",expr:"greatest()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"hex(expr)",funcDesc:"Converts `expr` to hexadecimal.",examples:"> SELECT hex(17);\n 11\n> SELECT hex('Spark SQL');\n 537061726B2053514C\n",expr:"hex()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"hypot(expr1, expr2)",funcDesc:"Returns sqrt(`expr1`**2 + `expr2`**2).",examples:"> SELECT hypot(3, 4);\n 5.0\n",expr:"hypot()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"least(expr, ...)",funcDesc:"Returns the least value of all parameters, skipping null values.",examples:"> SELECT least(10, 9, 2, 4, 3);\n 2\n",expr:"least()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"ln(expr)",funcDesc:"Returns the natural logarithm (base e) of `expr`.",examples:"> SELECT ln(1);\n 0.0\n",expr:"ln()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"log(base, expr)",funcDesc:"Returns the logarithm of `expr` with `base`.",examples:"> SELECT log(10, 100);\n 2.0\n",expr:"log()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"log10(expr)",funcDesc:"Returns the logarithm of `expr` with base 10.",examples:"> SELECT log10(10);\n 1.0\n",expr:"log10()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"log1p(expr)",funcDesc:"Returns log(1 + `expr`).",examples:"> SELECT log1p(0);\n 0.0\n",expr:"log1p()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"log2(expr)",funcDesc:"Returns the logarithm of `expr` with base 2.",examples:"> SELECT log2(2);\n 1.0\n",expr:"log2()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"expr1 mod expr2",funcDesc:"Returns the remainder after `expr1`/`expr2`.",examples:"> SELECT 2 % 1.8;\n 0.2\n> SELECT MOD(2, 1.8);\n 0.2\n",expr:"expr1 mod expr2",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"negative(expr)",funcDesc:"Returns the negated value of `expr`.",examples:"> SELECT negative(1);\n -1\n",expr:"negative()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"pi()",funcDesc:"Returns pi.",examples:"> SELECT pi();\n 3.141592653589793\n",expr:"pi()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"pmod(expr1, expr2)",funcDesc:"Returns the positive value of `expr1` mod `expr2`.",examples:"> SELECT pmod(10, 3);\n 1\n> SELECT pmod(-10, 3);\n 2\n",expr:"pmod()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"positive(expr)",funcDesc:"Returns the value of `expr`.",examples:"> SELECT positive(1);\n 1\n",expr:"positive()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"pow(expr1, expr2)",funcDesc:"Raises `expr1` to the power of `expr2`.",examples:"> SELECT pow(2, 3);\n 8.0\n",expr:"pow()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"power(expr1, expr2)",funcDesc:"Raises `expr1` to the power of `expr2`.",examples:"> SELECT power(2, 3);\n 8.0\n",expr:"power()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"radians(expr)",funcDesc:"Converts degrees to radians.",examples:"> SELECT radians(180);\n 3.141592653589793\n",expr:"radians()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"rand([seed])",funcDesc:"Returns a random value with independent and identically distributed (i.i.d.) uniformly distributed values in [0, 1).",examples:"> SELECT rand();\n 0.9629742951434543\n> SELECT rand(0);\n 0.7604953758285915\n> SELECT rand(null);\n 0.7604953758285915\n",expr:"rand()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"randn([seed])",funcDesc:"Returns a random value with independent and identically distributed (i.i.d.) values drawn from the standard normal distribution.",examples:"> SELECT randn();\n -0.3254147983080288\n> SELECT randn(0);\n 1.6034991609278433\n> SELECT randn(null);\n 1.6034991609278433\n",expr:"randn()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"random([seed])",funcDesc:"Returns a random value with independent and identically distributed (i.i.d.) uniformly distributed values in [0, 1).",examples:"> SELECT random();\n 0.9629742951434543\n> SELECT random(0);\n 0.7604953758285915\n> SELECT random(null);\n 0.7604953758285915\n",expr:"random()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"rint(expr)",funcDesc:"Returns the double value that is closest in value to the argument and is equal to a mathematical integer.",examples:"> SELECT rint(12.3456);\n 12.0\n",expr:"rint()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"round(expr, d)",funcDesc:"Returns `expr` rounded to `d` decimal places using HALF_UP rounding mode.",examples:"> SELECT round(2.5, 0);\n 3\n",expr:"round()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"sec(expr)",funcDesc:"Returns the secant of `expr`, as if computed by `1/java.lang.Math.cos`.",examples:"> SELECT sec(0);\n 1.0\n",expr:"sec()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"shiftleft(base, expr)",funcDesc:"Bitwise left shift.",examples:"> SELECT shiftleft(2, 1);\n 4\n",expr:"shiftleft()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"sign(expr)",funcDesc:"Returns -1.0, 0.0 or 1.0 as `expr` is negative, 0 or positive.",examples:"> SELECT sign(40);\n 1.0\n> SELECT sign(INTERVAL -'100' YEAR);\n -1.0\n",expr:"sign()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"signum(expr)",funcDesc:"Returns -1.0, 0.0 or 1.0 as `expr` is negative, 0 or positive.",examples:"> SELECT signum(40);\n 1.0\n> SELECT signum(INTERVAL -'100' YEAR);\n -1.0\n",expr:"signum()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"sin(expr)",funcDesc:"Returns the sine of `expr`, as if computed by `java.lang.Math.sin`.",examples:"> SELECT sin(0);\n 0.0\n",expr:"sin()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"sinh(expr)",funcDesc:"Returns hyperbolic sine of `expr`, as if computed by `java.lang.Math.sinh`.",examples:"> SELECT sinh(0);\n 0.0\n",expr:"sinh()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"sqrt(expr)",funcDesc:"Returns the square root of `expr`.",examples:"> SELECT sqrt(4);\n 2.0\n",expr:"sqrt()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"tan(expr)",funcDesc:"Returns the tangent of `expr`, as if computed by `java.lang.Math.tan`.",examples:"> SELECT tan(0);\n 0.0\n",expr:"tan()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"tanh(expr)",funcDesc:"Returns the hyperbolic tangent of `expr`, as if computed by `java.lang.Math.tanh`.",examples:"> SELECT tanh(0);\n 0.0\n",expr:"tanh()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"try_add(expr1, expr2)",funcDesc:"Returns the sum of `expr1`and `expr2` and the result is null on overflow. The acceptable input types are the same with the `+` operator.",examples:"> SELECT try_add(1, 2);\n 3\n> SELECT try_add(2147483647, 1);\n NULL\n> SELECT try_add(date'2021-01-01', 1);\n 2021-01-02\n> SELECT try_add(date'2021-01-01', interval 1 year);\n 2022-01-01\n> SELECT try_add(timestamp'2021-01-01 00:00:00', interval 1 day);\n 2021-01-02 00:00:00\n> SELECT try_add(interval 1 year, interval 2 year);\n 3-0\n",expr:"try_add()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"try_divide(dividend, divisor)",funcDesc:"Returns `dividend`/`divisor`. It always performs floating point division. Its result is always null if `expr2` is 0. `dividend` must be a numeric or an interval. `divisor` must be a numeric.",examples:"> SELECT try_divide(3, 2);\n 1.5\n> SELECT try_divide(2L, 2L);\n 1.0\n> SELECT try_divide(1, 0);\n NULL\n> SELECT try_divide(interval 2 month, 2);\n 0-1\n> SELECT try_divide(interval 2 month, 0);\n NULL\n",expr:"try_divide()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"try_multiply(expr1, expr2)",funcDesc:"Returns `expr1`*`expr2` and the result is null on overflow. The acceptable input types are the same with the `*` operator.",examples:"> SELECT try_multiply(2, 3);\n 6\n> SELECT try_multiply(-2147483648, 10);\n NULL\n> SELECT try_multiply(interval 2 year, 3);\n 6-0\n",expr:"try_multiply()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"try_subtract(expr1, expr2)",funcDesc:"Returns `expr1`-`expr2` and the result is null on overflow. The acceptable input types are the same with the `-` operator.",examples:"> SELECT try_subtract(2, 1);\n 1\n> SELECT try_subtract(-2147483648, 1);\n NULL\n> SELECT try_subtract(date'2021-01-02', 1);\n 2021-01-01\n> SELECT try_subtract(date'2021-01-01', interval 1 year);\n 2020-01-01\n> SELECT try_subtract(timestamp'2021-01-02 00:00:00', interval 1 day);\n 2021-01-01 00:00:00\n> SELECT try_subtract(interval 2 year, interval 1 year);\n 1-0\n",expr:"try_subtract()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"unhex(expr)",funcDesc:"Converts hexadecimal `expr` to binary.",examples:"> SELECT decode(unhex('537061726B2053514C'), 'UTF-8');\n Spark SQL\n",expr:"unhex()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"width_bucket(value, min_value, max_value, num_bucket)",funcDesc:'Returns the bucket number to which `value` would be assigned in an equiwidth histogram with `num_bucket` buckets, in the range `min_value` to `max_value`."',examples:"> SELECT width_bucket(5.3, 0.2, 10.6, 5);\n 3\n> SELECT width_bucket(-2.1, 1.3, 3.4, 3);\n 0\n> SELECT width_bucket(8.1, 0.0, 5.7, 4);\n 5\n> SELECT width_bucket(-0.9, 5.2, 0.5, 2);\n 3\n> SELECT width_bucket(INTERVAL '0' YEAR, INTERVAL '0' YEAR, INTERVAL '10' YEAR, 10);\n 1\n> SELECT width_bucket(INTERVAL '1' YEAR, INTERVAL '0' YEAR, INTERVAL '10' YEAR, 10);\n 2\n> SELECT width_bucket(INTERVAL '0' DAY, INTERVAL '0' DAY, INTERVAL '10' DAY, 10);\n 1\n> SELECT width_bucket(INTERVAL '1' DAY, INTERVAL '0' DAY, INTERVAL '10' DAY, 10);\n 2\n",expr:"width_bucket()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"ascii(str)",funcDesc:"Returns the numeric value of the first character of `str`.",examples:"> SELECT ascii('222');\n 50\n> SELECT ascii(2);\n 50\n",expr:"ascii()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"base64(bin)",funcDesc:"Converts the argument from a binary `bin` to a base 64 string.",examples:"> SELECT base64('Spark SQL');\n U3BhcmsgU1FM\n> SELECT base64(x'537061726b2053514c');\n U3BhcmsgU1FM\n",expr:"base64()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"bit_length(expr)",funcDesc:"Returns the bit length of string data or number of bits of binary data.",examples:"> SELECT bit_length('Spark SQL');\n 72\n> SELECT bit_length(x'537061726b2053514c');\n 72\n",expr:"bit_length()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"btrim(str)",funcDesc:"Removes the leading and trailing space characters from `str`.",examples:"> SELECT btrim(' SparkSQL ');\n SparkSQL\n> SELECT btrim(encode(' SparkSQL ', 'utf-8'));\n SparkSQL\n> SELECT btrim('SSparkSQLS', 'SL');\n parkSQ\n> SELECT btrim(encode('SSparkSQLS', 'utf-8'), encode('SL', 'utf-8'));\n parkSQ\n",expr:"btrim()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"btrim(str, trimStr)",funcDesc:"Remove the leading and trailing `trimStr` characters from `str`.",examples:"> SELECT btrim('SSparkSQLS', 'SL');\n parkSQ\n> SELECT btrim(encode('SSparkSQLS', 'utf-8'), encode('SL', 'utf-8'));\n parkSQ\n",expr:"btrim()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"char(expr)",funcDesc:"Returns the ASCII character having the binary equivalent to `expr`. If n is larger than 256 the result is equivalent to chr(n % 256)",examples:"> SELECT char(65);\n A\n",expr:"char()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"char_length(expr)",funcDesc:"Returns the character length of string data or number of bytes of binary data. The length of string data includes the trailing spaces. The length of binary data includes binary zeros.",examples:"> SELECT char_length('Spark SQL ');\n 10\n> SELECT char_length(x'537061726b2053514c');\n 9\n> SELECT CHAR_LENGTH('Spark SQL ');\n 10\n> SELECT CHARACTER_LENGTH('Spark SQL ');\n 10\n",expr:"char_length()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"character_length(expr)",funcDesc:"Returns the character length of string data or number of bytes of binary data. The length of string data includes the trailing spaces. The length of binary data includes binary zeros.",examples:"> SELECT character_length('Spark SQL ');\n 10\n> SELECT character_length(x'537061726b2053514c');\n 9\n> SELECT CHAR_LENGTH('Spark SQL ');\n 10\n> SELECT CHARACTER_LENGTH('Spark SQL ');\n 10\n",expr:"character_length()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"chr(expr)",funcDesc:"Returns the ASCII character having the binary equivalent to `expr`. If n is larger than 256 the result is equivalent to chr(n % 256)",examples:"> SELECT chr(65);\n A\n",expr:"chr()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"concat_ws(sep[, str | array(str)]+)",funcDesc:"Returns the concatenation of the strings separated by `sep`.",examples:"> SELECT concat_ws(' ', 'Spark', 'SQL');\n Spark SQL\n> SELECT concat_ws('s');\n",expr:"concat_ws()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"contains(left, right)",funcDesc:"Returns a boolean. The value is True if right is found inside left. Returns NULL if either input expression is NULL. Otherwise, returns False. Both left or right must be of STRING or BINARY type.",examples:"> SELECT contains('Spark SQL', 'Spark');\n true\n> SELECT contains('Spark SQL', 'SPARK');\n false\n> SELECT contains('Spark SQL', null);\n NULL\n> SELECT contains(x'537061726b2053514c', x'537061726b');\n true\n",expr:"contains()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"decode(bin, charset)",funcDesc:"Decodes the first argument using the second argument character set.",examples:"> SELECT decode(encode('abc', 'utf-8'), 'utf-8');\n abc\n> SELECT decode(2, 1, 'Southlake', 2, 'San Francisco', 3, 'New Jersey', 4, 'Seattle', 'Non domestic');\n San Francisco\n> SELECT decode(6, 1, 'Southlake', 2, 'San Francisco', 3, 'New Jersey', 4, 'Seattle', 'Non domestic');\n Non domestic\n> SELECT decode(6, 1, 'Southlake', 2, 'San Francisco', 3, 'New Jersey', 4, 'Seattle');\n NULL\n> SELECT decode(null, 6, 'Spark', NULL, 'SQL', 4, 'rocks');\n SQL\n",expr:"decode()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"decode(expr, search, result [, search, result ] ... [, default])",funcDesc:"Compares expr to each search value in order. If expr is equal to a search value, decode returns the corresponding result. If no match is found, then it returns default. If default is omitted, it returns null.",examples:"> SELECT decode(encode('abc', 'utf-8'), 'utf-8');\n abc\n> SELECT decode(2, 1, 'Southlake', 2, 'San Francisco', 3, 'New Jersey', 4, 'Seattle', 'Non domestic');\n San Francisco\n> SELECT decode(6, 1, 'Southlake', 2, 'San Francisco', 3, 'New Jersey', 4, 'Seattle', 'Non domestic');\n Non domestic\n> SELECT decode(6, 1, 'Southlake', 2, 'San Francisco', 3, 'New Jersey', 4, 'Seattle');\n NULL\n> SELECT decode(null, 6, 'Spark', NULL, 'SQL', 4, 'rocks');\n SQL\n",expr:"decode()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"elt(n, input1, input2, ...)",funcDesc:"Returns the `n`-th input, e.g., returns `input2` when `n` is 2. The function returns NULL if the index exceeds the length of the array and `spark.sql.ansi.enabled` is set to false. If `spark.sql.ansi.enabled` is set to true, it throws ArrayIndexOutOfBoundsException for invalid indices.",examples:"> SELECT elt(1, 'scala', 'java');\n scala\n> SELECT elt(2, 'a', 1);\n 1\n",expr:"elt()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"encode(str, charset)",funcDesc:"Encodes the first argument using the second argument character set.",examples:"> SELECT encode('abc', 'utf-8');\n abc\n",expr:"encode()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"endswith(left, right)",funcDesc:"Returns a boolean. The value is True if left ends with right. Returns NULL if either input expression is NULL. Otherwise, returns False. Both left or right must be of STRING or BINARY type.",examples:"> SELECT endswith('Spark SQL', 'SQL');\n true\n> SELECT endswith('Spark SQL', 'Spark');\n false\n> SELECT endswith('Spark SQL', null);\n NULL\n> SELECT endswith(x'537061726b2053514c', x'537061726b');\n false\n> SELECT endswith(x'537061726b2053514c', x'53514c');\n true\n",expr:"endswith()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"find_in_set(str, str_array)",funcDesc:"Returns the index (1-based) of the given string (`str`) in the comma-delimited list (`str_array`). Returns 0, if the string was not found or if the given string (`str`) contains a comma.",examples:"> SELECT find_in_set('ab','abc,b,ab,c,def');\n 3\n",expr:"find_in_set()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"format_number(expr1, expr2)",funcDesc:"Formats the number `expr1` like '#,###,###.##', rounded to `expr2` decimal places. If `expr2` is 0, the result has no decimal point or fractional part. `expr2` also accept a user specified format. This is supposed to function like MySQL's FORMAT.",examples:"> SELECT format_number(12332.123456, 4);\n 12,332.1235\n> SELECT format_number(12332.123456, '##################.###');\n 12332.123\n",expr:"format_number()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"format_string(strfmt, obj, ...)",funcDesc:"Returns a formatted string from printf-style format strings.",examples:'> SELECT format_string("Hello World %d %s", 100, "days");\n Hello World 100 days\n',expr:"format_string()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"initcap(str)",funcDesc:"Returns `str` with the first letter of each word in uppercase. All other letters are in lowercase. Words are delimited by white space.",examples:"> SELECT initcap('sPark sql');\n Spark Sql\n",expr:"initcap()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"instr(str, substr)",funcDesc:"Returns the (1-based) index of the first occurrence of `substr` in `str`.",examples:"> SELECT instr('SparkSQL', 'SQL');\n 6\n",expr:"instr()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"lcase(str)",funcDesc:"Returns `str` with all characters changed to lowercase.",examples:"> SELECT lcase('SparkSql');\n sparksql\n",expr:"lcase()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"left(str, len)",funcDesc:"Returns the leftmost `len`(`len` can be string type) characters from the string `str`,if `len` is less or equal than 0 the result is an empty string.",examples:"> SELECT left('Spark SQL', 3);\n Spa\n> SELECT left(encode('Spark SQL', 'utf-8'), 3);\n Spa\n",expr:"left()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"len(expr)",funcDesc:"Returns the character length of string data or number of bytes of binary data. The length of string data includes the trailing spaces. The length of binary data includes binary zeros.",examples:"> SELECT len('Spark SQL ');\n 10\n> SELECT len(x'537061726b2053514c');\n 9\n> SELECT CHAR_LENGTH('Spark SQL ');\n 10\n> SELECT CHARACTER_LENGTH('Spark SQL ');\n 10\n",expr:"len()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"length(expr)",funcDesc:"Returns the character length of string data or number of bytes of binary data. The length of string data includes the trailing spaces. The length of binary data includes binary zeros.",examples:"> SELECT length('Spark SQL ');\n 10\n> SELECT length(x'537061726b2053514c');\n 9\n> SELECT CHAR_LENGTH('Spark SQL ');\n 10\n> SELECT CHARACTER_LENGTH('Spark SQL ');\n 10\n",expr:"length()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"levenshtein(str1, str2)",funcDesc:"Returns the Levenshtein distance between the two given strings.",examples:"> SELECT levenshtein('kitten', 'sitting');\n 3\n",expr:"levenshtein()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"locate(substr, str[, pos])",funcDesc:"Returns the position of the first occurrence of `substr` in `str` after position `pos`. The given `pos` and return value are 1-based.",examples:"> SELECT locate('bar', 'foobarbar');\n 4\n> SELECT locate('bar', 'foobarbar', 5);\n 7\n> SELECT POSITION('bar' IN 'foobarbar');\n 4\n",expr:"locate()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"lower(str)",funcDesc:"Returns `str` with all characters changed to lowercase.",examples:"> SELECT lower('SparkSql');\n sparksql\n",expr:"lower()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"lpad(str, len[, pad])",funcDesc:"Returns `str`, left-padded with `pad` to a length of `len`. If `str` is longer than `len`, the return value is shortened to `len` characters or bytes. If `pad` is not specified, `str` will be padded to the left with space characters if it is a character string, and with zeros if it is a byte sequence.",examples:"> SELECT lpad('hi', 5, '??');\n ???hi\n> SELECT lpad('hi', 1, '??');\n h\n> SELECT lpad('hi', 5);\n hi\n> SELECT hex(lpad(unhex('aabb'), 5));\n 000000AABB\n> SELECT hex(lpad(unhex('aabb'), 5, unhex('1122')));\n 112211AABB\n",expr:"lpad()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"ltrim(str)",funcDesc:"Removes the leading space characters from `str`.",examples:"> SELECT ltrim(' SparkSQL ');\n SparkSQL\n",expr:"ltrim()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"mask(input[, upperChar, lowerChar, digitChar, otherChar])",funcDesc:"masks the given string value. The function replaces characters with 'X' or 'x', and numbers with 'n'. This can be useful for creating copies of tables with sensitive information removed.",examples:"> SELECT mask('abcd-EFGH-8765-4321');\n xxxx-XXXX-nnnn-nnnn\n> SELECT mask('abcd-EFGH-8765-4321', 'Q');\n xxxx-QQQQ-nnnn-nnnn\n> SELECT mask('AbCD123-@$#', 'Q', 'q');\n QqQQnnn-@$#\n> SELECT mask('AbCD123-@$#');\n XxXXnnn-@$#\n> SELECT mask('AbCD123-@$#', 'Q');\n QxQQnnn-@$#\n> SELECT mask('AbCD123-@$#', 'Q', 'q');\n QqQQnnn-@$#\n> SELECT mask('AbCD123-@$#', 'Q', 'q', 'd');\n QqQQddd-@$#\n> SELECT mask('AbCD123-@$#', 'Q', 'q', 'd', 'o');\n QqQQdddoooo\n> SELECT mask('AbCD123-@$#', NULL, 'q', 'd', 'o');\n AqCDdddoooo\n> SELECT mask('AbCD123-@$#', NULL, NULL, 'd', 'o');\n AbCDdddoooo\n> SELECT mask('AbCD123-@$#', NULL, NULL, NULL, 'o');\n AbCD123oooo\n> SELECT mask(NULL, NULL, NULL, NULL, 'o');\n NULL\n> SELECT mask(NULL);\n NULL\n> SELECT mask('AbCD123-@$#', NULL, NULL, NULL, NULL);\n AbCD123-@$#\n",expr:"mask()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"octet_length(expr)",funcDesc:"Returns the byte length of string data or number of bytes of binary data.",examples:"> SELECT octet_length('Spark SQL');\n 9\n> SELECT octet_length(x'537061726b2053514c');\n 9\n",expr:"octet_length()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"overlay(input, replace, pos[, len])",funcDesc:"Replace `input` with `replace` that starts at `pos` and is of length `len`.",examples:"> SELECT overlay('Spark SQL' PLACING '_' FROM 6);\n Spark_SQL\n> SELECT overlay('Spark SQL' PLACING 'CORE' FROM 7);\n Spark CORE\n> SELECT overlay('Spark SQL' PLACING 'ANSI ' FROM 7 FOR 0);\n Spark ANSI SQL\n> SELECT overlay('Spark SQL' PLACING 'tructured' FROM 2 FOR 4);\n Structured SQL\n> SELECT overlay(encode('Spark SQL', 'utf-8') PLACING encode('_', 'utf-8') FROM 6);\n Spark_SQL\n> SELECT overlay(encode('Spark SQL', 'utf-8') PLACING encode('CORE', 'utf-8') FROM 7);\n Spark CORE\n> SELECT overlay(encode('Spark SQL', 'utf-8') PLACING encode('ANSI ', 'utf-8') FROM 7 FOR 0);\n Spark ANSI SQL\n> SELECT overlay(encode('Spark SQL', 'utf-8') PLACING encode('tructured', 'utf-8') FROM 2 FOR 4);\n Structured SQL\n",expr:"overlay()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"position(substr, str[, pos])",funcDesc:"Returns the position of the first occurrence of `substr` in `str` after position `pos`. The given `pos` and return value are 1-based.",examples:"> SELECT position('bar', 'foobarbar');\n 4\n> SELECT position('bar', 'foobarbar', 5);\n 7\n> SELECT POSITION('bar' IN 'foobarbar');\n 4\n",expr:"position()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"printf(strfmt, obj, ...)",funcDesc:"Returns a formatted string from printf-style format strings.",examples:'> SELECT printf("Hello World %d %s", 100, "days");\n Hello World 100 days\n',expr:"printf()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"regexp_count(str, regexp)",funcDesc:"Returns a count of the number of times that the regular expression pattern `regexp` is matched in the string `str`.",examples:"> SELECT regexp_count('Steven Jones and Stephen Smith are the best players', 'Ste(v|ph)en');\n 2\n> SELECT regexp_count('abcdefghijklmnopqrstuvwxyz', '[a-z]{3}');\n 8\n",expr:"regexp_count()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"regexp_extract(str, regexp[, idx])",funcDesc:"Extract the first string in the `str` that match the `regexp` expression and corresponding to the regex group index.",examples:"> SELECT regexp_extract('100-200', '(\\\\d+)-(\\\\d+)', 1);\n 100\n",expr:"regexp_extract()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"regexp_extract_all(str, regexp[, idx])",funcDesc:"Extract all strings in the `str` that match the `regexp` expression and corresponding to the regex group index.",examples:"> SELECT regexp_extract_all('100-200, 300-400', '(\\\\d+)-(\\\\d+)', 1);\n [\"100\",\"300\"]\n",expr:"regexp_extract_all()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"regexp_instr(str, regexp)",funcDesc:"Searches a string for a regular expression and returns an integer that indicates the beginning position of the matched substring. Positions are 1-based, not 0-based. If no match is found, returns 0.",examples:"> SELECT regexp_instr('user@spark.apache.org', '@[^.]*');\n 5\n",expr:"regexp_instr()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"regexp_replace(str, regexp, rep[, position])",funcDesc:"Replaces all substrings of `str` that match `regexp` with `rep`.",examples:"> SELECT regexp_replace('100-200', '(\\\\d+)', 'num');\n num-num\n",expr:"regexp_replace()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"regexp_substr(str, regexp)",funcDesc:"Returns the substring that matches the regular expression `regexp` within the string `str`. If the regular expression is not found, the result is null.",examples:"> SELECT regexp_substr('Steven Jones and Stephen Smith are the best players', 'Ste(v|ph)en');\n Steven\n> SELECT regexp_substr('Steven Jones and Stephen Smith are the best players', 'Jeck');\n NULL\n",expr:"regexp_substr()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"repeat(str, n)",funcDesc:"Returns the string which repeats the given string value n times.",examples:"> SELECT repeat('123', 2);\n 123123\n",expr:"repeat()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"replace(str, search[, replace])",funcDesc:"Replaces all occurrences of `search` with `replace`.",examples:"> SELECT replace('ABCabc', 'abc', 'DEF');\n ABCDEF\n",expr:"replace()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"right(str, len)",funcDesc:"Returns the rightmost `len`(`len` can be string type) characters from the string `str`,if `len` is less or equal than 0 the result is an empty string.",examples:"> SELECT right('Spark SQL', 3);\n SQL\n",expr:"right()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"rpad(str, len[, pad])",funcDesc:"Returns `str`, right-padded with `pad` to a length of `len`. If `str` is longer than `len`, the return value is shortened to `len` characters. If `pad` is not specified, `str` will be padded to the right with space characters if it is a character string, and with zeros if it is a binary string.",examples:"> SELECT rpad('hi', 5, '??');\n hi???\n> SELECT rpad('hi', 1, '??');\n h\n> SELECT rpad('hi', 5);\n hi\n> SELECT hex(rpad(unhex('aabb'), 5));\n AABB000000\n> SELECT hex(rpad(unhex('aabb'), 5, unhex('1122')));\n AABB112211\n",expr:"rpad()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"rtrim(str)",funcDesc:"Removes the trailing space characters from `str`.",examples:"> SELECT rtrim(' SparkSQL ');\n SparkSQL\n",expr:"rtrim()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"sentences(str[, lang, country])",funcDesc:"Splits `str` into an array of array of words.",examples:'> SELECT sentences(\'Hi there! Good morning.\');\n [["Hi","there"],["Good","morning"]]\n',expr:"sentences()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"soundex(str)",funcDesc:"Returns Soundex code of the string.",examples:"> SELECT soundex('Miller');\n M460\n",expr:"soundex()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"space(n)",funcDesc:"Returns a string consisting of `n` spaces.",examples:"> SELECT concat(space(2), '1');\n 1\n",expr:"space()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"split(str, regex, limit)",funcDesc:"Splits `str` around occurrences that match `regex` and returns an array with a length of at most `limit`",examples:'> SELECT split(\'oneAtwoBthreeC\', \'[ABC]\');\n ["one","two","three",""]\n> SELECT split(\'oneAtwoBthreeC\', \'[ABC]\', -1);\n ["one","two","three",""]\n> SELECT split(\'oneAtwoBthreeC\', \'[ABC]\', 2);\n ["one","twoBthreeC"]\n',expr:"split()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"split_part(str, delimiter, partNum)",funcDesc:"Splits `str` by delimiter and return requested part of the split (1-based). If any input is null, returns null. if `partNum` is out of range of split parts, returns empty string. If `partNum` is 0, throws an error. If `partNum` is negative, the parts are counted backward from the end of the string. If the `delimiter` is an empty string, the `str` is not split.",examples:"> SELECT split_part('11.12.13', '.', 3);\n 13\n",expr:"split_part()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"startswith(left, right)",funcDesc:"Returns a boolean. The value is True if left starts with right. Returns NULL if either input expression is NULL. Otherwise, returns False. Both left or right must be of STRING or BINARY type.",examples:"> SELECT startswith('Spark SQL', 'Spark');\n true\n> SELECT startswith('Spark SQL', 'SQL');\n false\n> SELECT startswith('Spark SQL', null);\n NULL\n> SELECT startswith(x'537061726b2053514c', x'537061726b');\n true\n> SELECT startswith(x'537061726b2053514c', x'53514c');\n false\n",expr:"startswith()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"substr(str, pos[, len])",funcDesc:"Returns the substring of `str` that starts at `pos` and is of length `len`, or the slice of byte array that starts at `pos` and is of length `len`.",examples:"> SELECT substr('Spark SQL', 5);\n k SQL\n> SELECT substr('Spark SQL', -3);\n SQL\n> SELECT substr('Spark SQL', 5, 1);\n k\n> SELECT substr('Spark SQL' FROM 5);\n k SQL\n> SELECT substr('Spark SQL' FROM -3);\n SQL\n> SELECT substr('Spark SQL' FROM 5 FOR 1);\n k\n> SELECT substr(encode('Spark SQL', 'utf-8'), 5);\n k SQL\n",expr:"substr()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"substr(str FROM pos[ FOR len]])",funcDesc:"Returns the substring of `str` that starts at `pos` and is of length `len`, or the slice of byte array that starts at `pos` and is of length `len`.",examples:"> SELECT substr('Spark SQL', 5);\n k SQL\n> SELECT substr('Spark SQL', -3);\n SQL\n> SELECT substr('Spark SQL', 5, 1);\n k\n> SELECT substr('Spark SQL' FROM 5);\n k SQL\n> SELECT substr('Spark SQL' FROM -3);\n SQL\n> SELECT substr('Spark SQL' FROM 5 FOR 1);\n k\n> SELECT substr(encode('Spark SQL', 'utf-8'), 5);\n k SQL\n",expr:"substr()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"substring(str, pos[, len])",funcDesc:"Returns the substring of `str` that starts at `pos` and is of length `len`, or the slice of byte array that starts at `pos` and is of length `len`.",examples:"> SELECT substring('Spark SQL', 5);\n k SQL\n> SELECT substring('Spark SQL', -3);\n SQL\n> SELECT substring('Spark SQL', 5, 1);\n k\n> SELECT substring('Spark SQL' FROM 5);\n k SQL\n> SELECT substring('Spark SQL' FROM -3);\n SQL\n> SELECT substring('Spark SQL' FROM 5 FOR 1);\n k\n> SELECT substring(encode('Spark SQL', 'utf-8'), 5);\n k SQL\n",expr:"substring()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"substring(str FROM pos[ FOR len]])",funcDesc:"Returns the substring of `str` that starts at `pos` and is of length `len`, or the slice of byte array that starts at `pos` and is of length `len`.",examples:"> SELECT substring('Spark SQL', 5);\n k SQL\n> SELECT substring('Spark SQL', -3);\n SQL\n> SELECT substring('Spark SQL', 5, 1);\n k\n> SELECT substring('Spark SQL' FROM 5);\n k SQL\n> SELECT substring('Spark SQL' FROM -3);\n SQL\n> SELECT substring('Spark SQL' FROM 5 FOR 1);\n k\n> SELECT substring(encode('Spark SQL', 'utf-8'), 5);\n k SQL\n",expr:"substring()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"substring_index(str, delim, count)",funcDesc:"Returns the substring from `str` before `count` occurrences of the delimiter `delim`. If `count` is positive, everything to the left of the final delimiter (counting from the left) is returned. If `count` is negative, everything to the right of the final delimiter (counting from the right) is returned. The function substring_index performs a case-sensitive match when searching for `delim`.",examples:"> SELECT substring_index('www.apache.org', '.', 2);\n www.apache\n",expr:"substring_index()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"to_binary(str[, fmt])",funcDesc:'Converts the input `str` to a binary value based on the supplied `fmt`. `fmt` can be a case-insensitive string literal of "hex", "utf-8", "utf8", or "base64". By default, the binary format for conversion is "hex" if `fmt` is omitted. The function returns NULL if at least one of the input parameters is NULL.',examples:"> SELECT to_binary('abc', 'utf-8');\n abc\n",expr:"to_binary()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"to_char(numberExpr, formatExpr)",funcDesc:"Convert `numberExpr` to a string based on the `formatExpr`. Throws an exception if the conversion fails. The format can consist of the following characters, case insensitive: '0' or '9': Specifies an expected digit between 0 and 9. A sequence of 0 or 9 in the format string matches a sequence of digits in the input value, generating a result string of the same length as the corresponding sequence in the format string. The result string is left-padded with zeros if the 0/9 sequence comprises more digits than the matching part of the decimal value, starts with 0, and is before the decimal point. Otherwise, it is padded with spaces. '.' or 'D': Specifies the position of the decimal point (optional, only allowed once). ',' or 'G': Specifies the position of the grouping (thousands) separator (,). There must be a 0 or 9 to the left and right of each grouping separator. '\n′\n:Specifiesthelocationofthe\n′\n:\n𝑆\n𝑝\n𝑒\n𝑐\n𝑖\n𝑓\n𝑖\n𝑒\n𝑠\n𝑡\nℎ\n𝑒\n𝑙\n𝑜\n𝑐\n𝑎\n𝑡\n𝑖\n𝑜\n𝑛\n𝑜\n𝑓\n𝑡\nℎ\n𝑒\n currency sign. This character may only be specified once. 'S' or 'MI': Specifies the position of a '-' or '+' sign (optional, only allowed once at the beginning or end of the format string). Note that 'S' prints '+' for positive values but 'MI' prints a space. 'PR': Only allowed at the end of the format string; specifies that the result string will be wrapped by angle brackets if the input value is negative. ('<1>').",examples:"> SELECT to_char(454, '999');\n 454\n> SELECT to_char(454.00, '000D00');\n 454.00\n> SELECT to_char(12454, '99G999');\n 12,454\n> SELECT to_char(78.12, '$99.99');\n $78.12\n> SELECT to_char(-12454.8, '99G999D9S');\n 12,454.8-\n",expr:"to_char()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"to_number(expr, fmt)",funcDesc:"Convert string 'expr' to a number based on the string format 'fmt'. Throws an exception if the conversion fails. The format can consist of the following characters, case insensitive: '0' or '9': Specifies an expected digit between 0 and 9. A sequence of 0 or 9 in the format string matches a sequence of digits in the input string. If the 0/9 sequence starts with 0 and is before the decimal point, it can only match a digit sequence of the same size. Otherwise, if the sequence starts with 9 or is after the decimal point, it can match a digit sequence that has the same or smaller size. '.' or 'D': Specifies the position of the decimal point (optional, only allowed once). ',' or 'G': Specifies the position of the grouping (thousands) separator (,). There must be a 0 or 9 to the left and right of each grouping separator. 'expr' must match the grouping separator relevant for the size of the number. '\n′\n:Specifiesthelocationofthe\n′\n:\n𝑆\n𝑝\n𝑒\n𝑐\n𝑖\n𝑓\n𝑖\n𝑒\n𝑠\n𝑡\nℎ\n𝑒\n𝑙\n𝑜\n𝑐\n𝑎\n𝑡\n𝑖\n𝑜\n𝑛\n𝑜\n𝑓\n𝑡\nℎ\n𝑒\n currency sign. This character may only be specified once. 'S' or 'MI': Specifies the position of a '-' or '+' sign (optional, only allowed once at the beginning or end of the format string). Note that 'S' allows '-' but 'MI' does not. 'PR': Only allowed at the end of the format string; specifies that 'expr' indicates a negative number with wrapping angled brackets. ('<1>').",examples:"> SELECT to_number('454', '999');\n 454\n> SELECT to_number('454.00', '000.00');\n 454.00\n> SELECT to_number('12,454', '99,999');\n 12454\n> SELECT to_number('$78.12', '$99.99');\n 78.12\n> SELECT to_number('12,454.8-', '99,999.9S');\n -12454.8\n",expr:"to_number()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"translate(input, from, to)",funcDesc:"Translates the `input` string by replacing the characters present in the `from` string with the corresponding characters in the `to` string.",examples:"> SELECT translate('AaBbCc', 'abc', '123');\n A1B2C3\n",expr:"translate()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"trim(str)",funcDesc:"Removes the leading and trailing space characters from `str`.",examples:"> SELECT trim(' SparkSQL ');\n SparkSQL\n> SELECT trim(BOTH FROM ' SparkSQL ');\n SparkSQL\n> SELECT trim(LEADING FROM ' SparkSQL ');\n SparkSQL\n> SELECT trim(TRAILING FROM ' SparkSQL ');\n SparkSQL\n> SELECT trim('SL' FROM 'SSparkSQLS');\n parkSQ\n> SELECT trim(BOTH 'SL' FROM 'SSparkSQLS');\n parkSQ\n> SELECT trim(LEADING 'SL' FROM 'SSparkSQLS');\n parkSQLS\n> SELECT trim(TRAILING 'SL' FROM 'SSparkSQLS');\n SSparkSQ\n",expr:"trim()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"trim(BOTH FROM str)",funcDesc:"Removes the leading and trailing space characters from `str`.",examples:"> SELECT trim(' SparkSQL ');\n SparkSQL\n> SELECT trim(BOTH FROM ' SparkSQL ');\n SparkSQL\n> SELECT trim(LEADING FROM ' SparkSQL ');\n SparkSQL\n> SELECT trim(TRAILING FROM ' SparkSQL ');\n SparkSQL\n> SELECT trim('SL' FROM 'SSparkSQLS');\n parkSQ\n> SELECT trim(BOTH 'SL' FROM 'SSparkSQLS');\n parkSQ\n> SELECT trim(LEADING 'SL' FROM 'SSparkSQLS');\n parkSQLS\n> SELECT trim(TRAILING 'SL' FROM 'SSparkSQLS');\n SSparkSQ\n",expr:"trim()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"trim(LEADING FROM str)",funcDesc:"Removes the leading space characters from `str`.",examples:"> SELECT trim(' SparkSQL ');\n SparkSQL\n> SELECT trim(BOTH FROM ' SparkSQL ');\n SparkSQL\n> SELECT trim(LEADING FROM ' SparkSQL ');\n SparkSQL\n> SELECT trim(TRAILING FROM ' SparkSQL ');\n SparkSQL\n> SELECT trim('SL' FROM 'SSparkSQLS');\n parkSQ\n> SELECT trim(BOTH 'SL' FROM 'SSparkSQLS');\n parkSQ\n> SELECT trim(LEADING 'SL' FROM 'SSparkSQLS');\n parkSQLS\n> SELECT trim(TRAILING 'SL' FROM 'SSparkSQLS');\n SSparkSQ\n",expr:"trim()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"trim(TRAILING FROM str)",funcDesc:"Removes the trailing space characters from `str`.",examples:"> SELECT trim(' SparkSQL ');\n SparkSQL\n> SELECT trim(BOTH FROM ' SparkSQL ');\n SparkSQL\n> SELECT trim(LEADING FROM ' SparkSQL ');\n SparkSQL\n> SELECT trim(TRAILING FROM ' SparkSQL ');\n SparkSQL\n> SELECT trim('SL' FROM 'SSparkSQLS');\n parkSQ\n> SELECT trim(BOTH 'SL' FROM 'SSparkSQLS');\n parkSQ\n> SELECT trim(LEADING 'SL' FROM 'SSparkSQLS');\n parkSQLS\n> SELECT trim(TRAILING 'SL' FROM 'SSparkSQLS');\n SSparkSQ\n",expr:"trim()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"trim(trimStr FROM str)",funcDesc:"Remove the leading and trailing `trimStr` characters from `str`.",examples:"> SELECT trim(' SparkSQL ');\n SparkSQL\n> SELECT trim(BOTH FROM ' SparkSQL ');\n SparkSQL\n> SELECT trim(LEADING FROM ' SparkSQL ');\n SparkSQL\n> SELECT trim(TRAILING FROM ' SparkSQL ');\n SparkSQL\n> SELECT trim('SL' FROM 'SSparkSQLS');\n parkSQ\n> SELECT trim(BOTH 'SL' FROM 'SSparkSQLS');\n parkSQ\n> SELECT trim(LEADING 'SL' FROM 'SSparkSQLS');\n parkSQLS\n> SELECT trim(TRAILING 'SL' FROM 'SSparkSQLS');\n SSparkSQ\n",expr:"trim()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"trim(BOTH trimStr FROM str)",funcDesc:"Remove the leading and trailing `trimStr` characters from `str`.",examples:"> SELECT trim(' SparkSQL ');\n SparkSQL\n> SELECT trim(BOTH FROM ' SparkSQL ');\n SparkSQL\n> SELECT trim(LEADING FROM ' SparkSQL ');\n SparkSQL\n> SELECT trim(TRAILING FROM ' SparkSQL ');\n SparkSQL\n> SELECT trim('SL' FROM 'SSparkSQLS');\n parkSQ\n> SELECT trim(BOTH 'SL' FROM 'SSparkSQLS');\n parkSQ\n> SELECT trim(LEADING 'SL' FROM 'SSparkSQLS');\n parkSQLS\n> SELECT trim(TRAILING 'SL' FROM 'SSparkSQLS');\n SSparkSQ\n",expr:"trim()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"trim(LEADING trimStr FROM str)",funcDesc:"Remove the leading `trimStr` characters from `str`.",examples:"> SELECT trim(' SparkSQL ');\n SparkSQL\n> SELECT trim(BOTH FROM ' SparkSQL ');\n SparkSQL\n> SELECT trim(LEADING FROM ' SparkSQL ');\n SparkSQL\n> SELECT trim(TRAILING FROM ' SparkSQL ');\n SparkSQL\n> SELECT trim('SL' FROM 'SSparkSQLS');\n parkSQ\n> SELECT trim(BOTH 'SL' FROM 'SSparkSQLS');\n parkSQ\n> SELECT trim(LEADING 'SL' FROM 'SSparkSQLS');\n parkSQLS\n> SELECT trim(TRAILING 'SL' FROM 'SSparkSQLS');\n SSparkSQ\n",expr:"trim()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"trim(TRAILING trimStr FROM str)",funcDesc:"Remove the trailing `trimStr` characters from `str`.",examples:"> SELECT trim(' SparkSQL ');\n SparkSQL\n> SELECT trim(BOTH FROM ' SparkSQL ');\n SparkSQL\n> SELECT trim(LEADING FROM ' SparkSQL ');\n SparkSQL\n> SELECT trim(TRAILING FROM ' SparkSQL ');\n SparkSQL\n> SELECT trim('SL' FROM 'SSparkSQLS');\n parkSQ\n> SELECT trim(BOTH 'SL' FROM 'SSparkSQLS');\n parkSQ\n> SELECT trim(LEADING 'SL' FROM 'SSparkSQLS');\n parkSQLS\n> SELECT trim(TRAILING 'SL' FROM 'SSparkSQLS');\n SSparkSQ\n",expr:"trim()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"try_to_binary(str[, fmt])",funcDesc:"This is a special version of `to_binary` that performs the same operation, but returns a NULL value instead of raising an error if the conversion cannot be performed.",examples:"> SELECT try_to_binary('abc', 'utf-8');\n abc\n> select try_to_binary('a!', 'base64');\n NULL\n> select try_to_binary('abc', 'invalidFormat');\n NULL\n",expr:"try_to_binary()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"try_to_number(expr, fmt)",funcDesc:"Convert string 'expr' to a number based on the string format `fmt`. Returns NULL if the string 'expr' does not match the expected format. The format follows the same semantics as the to_number function.",examples:"> SELECT try_to_number('454', '999');\n 454\n> SELECT try_to_number('454.00', '000.00');\n 454.00\n> SELECT try_to_number('12,454', '99,999');\n 12454\n> SELECT try_to_number('$78.12', '$99.99');\n 78.12\n> SELECT try_to_number('12,454.8-', '99,999.9S');\n -12454.8\n",expr:"try_to_number()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"ucase(str)",funcDesc:"Returns `str` with all characters changed to uppercase.",examples:"> SELECT ucase('SparkSql');\n SPARKSQL\n",expr:"ucase()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"unbase64(str)",funcDesc:"Converts the argument from a base 64 string `str` to a binary.",examples:"> SELECT unbase64('U3BhcmsgU1FM');\n Spark SQL\n",expr:"unbase64()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"upper(str)",funcDesc:"Returns `str` with all characters changed to uppercase.",examples:"> SELECT upper('SparkSql');\n SPARKSQL\n",expr:"upper()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"coalesce(expr1, expr2, ...)",funcDesc:"Returns the first non-null argument if exists. Otherwise, null.",examples:"> SELECT coalesce(NULL, 1, NULL);\n 1\n",expr:"coalesce()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"if(expr1, expr2, expr3)",funcDesc:"If `expr1` evaluates to true, then returns `expr2`; otherwise returns `expr3`.",examples:"> SELECT if(1 < 2, 'a', 'b');\n a\n",expr:"if()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"ifnull(expr1, expr2)",funcDesc:"Returns `expr2` if `expr1` is null, or `expr1` otherwise.",examples:"> SELECT ifnull(NULL, array('2'));\n [\"2\"]\n",expr:"ifnull()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"nanvl(expr1, expr2)",funcDesc:"Returns `expr1` if it's not NaN, or `expr2` otherwise.",examples:"> SELECT nanvl(cast('NaN' as double), 123);\n 123.0\n",expr:"nanvl()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"nullif(expr1, expr2)",funcDesc:"Returns null if `expr1` equals to `expr2`, or `expr1` otherwise.",examples:"> SELECT nullif(2, 2);\n NULL\n",expr:"nullif()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"nvl(expr1, expr2)",funcDesc:"Returns `expr2` if `expr1` is null, or `expr1` otherwise.",examples:"> SELECT nvl(NULL, array('2'));\n [\"2\"]\n",expr:"nvl()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"nvl2(expr1, expr2, expr3)",funcDesc:"Returns `expr2` if `expr1` is not null, or `expr3` otherwise.",examples:"> SELECT nvl2(NULL, 2, 1);\n 1\n",expr:"nvl2()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"CASE WHEN expr1 THEN expr2 [WHEN expr3 THEN expr4]* [ELSE expr5] END",funcDesc:"When `expr1` = true, returns `expr2`; else when `expr3` = true, returns `expr4`; else returns `expr5`.",examples:"> SELECT CASE WHEN 1 > 0 THEN 1 WHEN 2 > 0 THEN 2.0 ELSE 1.2 END;\n 1.0\n> SELECT CASE WHEN 1 < 0 THEN 1 WHEN 2 > 0 THEN 2.0 ELSE 1.2 END;\n 2.0\n> SELECT CASE WHEN 1 < 0 THEN 1 WHEN 2 < 0 THEN 2.0 END;\n NULL",expr:"CASE WHEN expr1 THEN expr2 [WHEN expr3 THEN expr4]* [ELSE expr5] END",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"expr1 & expr2",funcDesc:"Returns the result of bitwise AND of `expr1` and `expr2`.",examples:"> SELECT 3 & 5;\n 1\n",expr:"expr1 & expr2",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"expr1 ^ expr2",funcDesc:"Returns the result of bitwise exclusive OR of `expr1` and `expr2`.",examples:"> SELECT 3 ^ 5;\n 6\n",expr:"expr1 ^ expr2",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"bit_count(expr)",funcDesc:"Returns the number of bits that are set in the argument expr as an unsigned 64-bit integer, or NULL if the argument is NULL.",examples:"> SELECT bit_count(0);\n 0\n",expr:"bit_count()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"bit_get(expr, pos)",funcDesc:"Returns the value of the bit (0 or 1) at the specified position. The positions are numbered from right to left, starting at zero. The position argument cannot be negative.",examples:"> SELECT bit_get(11, 0);\n 1\n> SELECT bit_get(11, 2);\n 0\n",expr:"bit_get()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"getbit(expr, pos)",funcDesc:"Returns the value of the bit (0 or 1) at the specified position. The positions are numbered from right to left, starting at zero. The position argument cannot be negative.",examples:"> SELECT getbit(11, 0);\n 1\n> SELECT getbit(11, 2);\n 0\n",expr:"getbit()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"shiftright(base, expr)",funcDesc:"Bitwise (signed) right shift.",examples:"> SELECT shiftright(4, 1);\n 2\n",expr:"shiftright()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"shiftrightunsigned(base, expr)",funcDesc:"Bitwise unsigned right shift.",examples:"> SELECT shiftrightunsigned(4, 1);\n 2\n",expr:"shiftrightunsigned()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"expr1 | expr2",funcDesc:"Returns the result of bitwise OR of `expr1` and `expr2`.",examples:"> SELECT 3 | 5;\n 7\n",expr:"expr1 | expr2",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"~ expr",funcDesc:"Returns the result of bitwise NOT of `expr`.",examples:"> SELECT ~ 0;\n -1\n",expr:"~ expr",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"bigint(expr)",funcDesc:"Casts the value `expr` to the target data type `bigint`.",examples:"> SELECT bigint(current_timestamp);\n 1616168320\n> SELECT bigint('5');\n 5\n",expr:"bigint()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"binary(expr)",funcDesc:"Casts the value `expr` to the target data type `binary`.",examples:"> SELECT binary('Spark SQL');\n [53 70 61 72 6B 20 53 51 4C]\n> SELECT binary(1984);\n [00 00 07 C0]\n",expr:"binary()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"boolean(expr)",funcDesc:"Casts the value `expr` to the target data type `boolean`.",examples:"> SELECT boolean(1);\n true\n> SELECT boolean(0);\n false\n> SELECT boolean(2);\n true\n",expr:"boolean()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"cast(expr AS type)",funcDesc:"Casts the value `expr` to the target data type `type`.",examples:"> SELECT cast('10' as int);\n 10\n",expr:"cast()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"date(expr)",funcDesc:"Casts the value `expr` to the target data type `date`.",examples:"> SELECT date_add('2016-07-30', 1);\n 2016-07-31\n",expr:"date()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"decimal(expr)",funcDesc:"Casts the value `expr` to the target data type `decimal`.",examples:"> SELECT decimal('5.2');\n 5\n",expr:"decimal()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"double(expr)",funcDesc:"Casts the value `expr` to the target data type `double`.",examples:"> SELECT double('5.2');\n 5.2",expr:"double()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"float(expr)",funcDesc:"Casts the value `expr` to the target data type `float`.",examples:"> SELECT float('5.2');\n 5.2\n",expr:"float()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"int(expr)",funcDesc:"Casts the value `expr` to the target data type `int`.",examples:"> SELECT int(-5.6);\n 5\n> SELECT int('5');\n 5\n",expr:"int()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"smallint(expr)",funcDesc:"Casts the value `expr` to the target data type `smallint`.",examples:"> SELECT smallint(-5.6);\n 5\n> SELECT smallint('5');\n 5\n",expr:"smallint()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"string(expr)",funcDesc:"Casts the value `expr` to the target data type `string`.",examples:"> SELECT string(5);\n 5\n> SELECT string(current_date);\n 2021-04-01\n",expr:"string()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"timestamp(expr)",funcDesc:"Casts the value `expr` to the target data type `timestamp`.",examples:"> SELECT timestamp_micros(1230219000123123);\n 2008-12-25 07:30:00.123123\n",expr:"timestamp()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"tinyint(expr)",funcDesc:"Casts the value `expr` to the target data type `tinyint`.",examples:"> SELECT tinyint('12');\n 12\n> SELECT tinyint(5.4);\n 5\n",expr:"tinyint()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"! expr",funcDesc:"Logical not.",examples:"> SELECT ! true;\n false\n> SELECT ! false;\n true\n> SELECT ! NULL;\n NULL\n",expr:"! expr",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"expr1 < expr2",funcDesc:"Returns true if `expr1` is less than `expr2`.",examples:"> SELECT 1 < 2;\n true\n> SELECT 1.1 < '1';\n false\n> SELECT to_date('2009-07-30 04:17:52') < to_date('2009-07-30 04:17:52');\n false\n SELECT to_date('2009-07-30 04:17:52') < to_date('2009-08-01 04:17:52');\n true\n> SELECT 1 < NULL;\n NULL\n",expr:"expr1 < expr2",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"expr1 <= expr2",funcDesc:"Returns true if `expr1` is less than or equal to `expr2`.",examples:"> SELECT 2 <= 2;\n true\n> SELECT 1.0 <= '1';\n true\n> SELECT to_date('2009-07-30 04:17:52') <= to_date('2009-07-30 04:17:52');\n true\n> SELECT to_date('2009-07-30 04:17:52') <= to_date('2009-08-01 04:17:52');\n true\n> SELECT 1 <= NULL;\n NULL\n",expr:"expr1 <= expr2",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"expr1 <=> expr2",funcDesc:"Returns same result as the EQUAL(=) operator for non-null operands, but returns true if both are null, false if one of the them is null.",examples:"> SELECT 2 <=> 2;\n true\n> SELECT 1 <=> '1';\n true\n> SELECT true <=> NULL;\n false\n> SELECT NULL <=> NULL;\n true\n",expr:"expr1 <=> expr2",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"expr1 = expr2",funcDesc:"Returns true if `expr1` equals `expr2`, or false otherwise.",examples:"> SELECT 2 = 2;\n true\n> SELECT 1 = '1';\n true\n> SELECT true = NULL;\n NULL\n> SELECT NULL = NULL;\n NULL\n",expr:"expr1 = expr2",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"expr1 == expr2",funcDesc:"Returns true if `expr1` equals `expr2`, or false otherwise.",examples:"> SELECT 2 == 2;\n true\n> SELECT 1 == '1';\n true\n> SELECT true == NULL;\n NULL\n> SELECT NULL == NULL;\n NULL\n",expr:"expr1 == expr2",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"expr1 > expr2",funcDesc:"Returns true if `expr1` is greater than `expr2`.",examples:"> SELECT 2 > 1;\n true\n> SELECT 2 > 1.1;\n true\n> SELECT to_date('2009-07-30 04:17:52') > to_date('2009-07-30 04:17:52');\n false\n> SELECT to_date('2009-07-30 04:17:52') > to_date('2009-08-01 04:17:52');\n false\n> SELECT 1 > NULL;\n NULL\n",expr:"expr1 > expr2",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"expr1 >= expr2",funcDesc:"Returns true if `expr1` is greater than or equal to `expr2`.",examples:"> SELECT 2 >= 1;\n true\n> SELECT 2.0 >= '2.1';\n false\n> SELECT to_date('2009-07-30 04:17:52') >= to_date('2009-07-30 04:17:52');\n true\n> SELECT to_date('2009-07-30 04:17:52') >= to_date('2009-08-01 04:17:52');\n false\n> SELECT 1 >= NULL;\n NULL\n",expr:"expr1 >= expr2",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"expr1 and expr2",funcDesc:"Logical AND.",examples:"> SELECT true and true;\n true\n> SELECT true and false;\n false\n> SELECT true and NULL;\n NULL\n> SELECT false and NULL;\n false\n",expr:"expr1 and expr2",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"str ilike pattern[ ESCAPE escape]",funcDesc:"Returns true if str matches `pattern` with `escape` case-insensitively, null if any arguments are null, false otherwise.",examples:"> SELECT ilike('Spark', '_Park');\n true\n> SET spark.sql.parser.escapedStringLiterals=true;\n spark.sql.parser.escapedStringLiterals true\n> SELECT '%SystemDrive%\\Users\\John' ilike '\\%SystemDrive\\%\\\\users%';\n true\n> SET spark.sql.parser.escapedStringLiterals=false;\n spark.sql.parser.escapedStringLiterals false\n> SELECT '%SystemDrive%\\\\USERS\\\\John' ilike '\\%SystemDrive\\%\\\\\\\\Users%';\n true\n> SELECT '%SystemDrive%/Users/John' ilike '/%SYSTEMDrive/%//Users%' ESCAPE '/';\n true\n",expr:"str ilike pattern[ ESCAPE escape]",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"expr1 in(expr2, expr3, ...)",funcDesc:"Returns true if `expr` equals to any valN.",examples:"> SELECT 1 in(1, 2, 3);\n true\n> SELECT 1 in(2, 3, 4);\n false\n> SELECT named_struct('a', 1, 'b', 2) in(named_struct('a', 1, 'b', 1), named_struct('a', 1, 'b', 3));\n false\n> SELECT named_struct('a', 1, 'b', 2) in(named_struct('a', 1, 'b', 2), named_struct('a', 1, 'b', 3));\n true\n",expr:"expr1 in()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"isnan(expr)",funcDesc:"Returns true if `expr` is NaN, or false otherwise.",examples:"> SELECT isnan(cast('NaN' as double));\n true\n",expr:"isnan()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"isnotnull(expr)",funcDesc:"Returns true if `expr` is not null, or false otherwise.",examples:"> SELECT isnotnull(1);\n true\n",expr:"isnotnull()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"isnull(expr)",funcDesc:"Returns true if `expr` is null, or false otherwise.",examples:"> SELECT isnull(1);\n false\n",expr:"isnull()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"str like pattern[ ESCAPE escape]",funcDesc:"Returns true if str matches `pattern` with `escape`, null if any arguments are null, false otherwise.",examples:"> SELECT like('Spark', '_park');\n true\n> SET spark.sql.parser.escapedStringLiterals=true;\n spark.sql.parser.escapedStringLiterals true\n> SELECT '%SystemDrive%\\Users\\John' like '\\%SystemDrive\\%\\\\Users%';\n true\n> SET spark.sql.parser.escapedStringLiterals=false;\n spark.sql.parser.escapedStringLiterals false\n> SELECT '%SystemDrive%\\\\Users\\\\John' like '\\%SystemDrive\\%\\\\\\\\Users%';\n true\n> SELECT '%SystemDrive%/Users/John' like '/%SystemDrive/%//Users%' ESCAPE '/';\n true\n",expr:"str like pattern[ ESCAPE escape]",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"not expr",funcDesc:"Logical not.",examples:"> SELECT not true;\n false\n> SELECT not false;\n true\n> SELECT not NULL;\n NULL\n",expr:"not expr",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"expr1 or expr2",funcDesc:"Logical OR.",examples:"> SELECT true or false;\n true\n> SELECT false or false;\n false\n> SELECT true or NULL;\n true\n> SELECT false or NULL;\n NULL\n",expr:"expr1 or expr2",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"regexp(str, regexp)",funcDesc:"Returns true if `str` matches `regexp`, or false otherwise.",examples:"> SET spark.sql.parser.escapedStringLiterals=true;\nspark.sql.parser.escapedStringLiterals true\n> SELECT regexp('%SystemDrive%\\Users\\John', '%SystemDrive%\\\\Users.*');\ntrue\n> SET spark.sql.parser.escapedStringLiterals=false;\nspark.sql.parser.escapedStringLiterals false\n> SELECT regexp('%SystemDrive%\\\\Users\\\\John', '%SystemDrive%\\\\\\\\Users.*');\ntrue\n",expr:"regexp()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"regexp_like(str, regexp)",funcDesc:"Returns true if `str` matches `regexp`, or false otherwise.",examples:"> SET spark.sql.parser.escapedStringLiterals=true;\nspark.sql.parser.escapedStringLiterals true\n> SELECT regexp_like('%SystemDrive%\\Users\\John', '%SystemDrive%\\\\Users.*');\ntrue\n> SET spark.sql.parser.escapedStringLiterals=false;\nspark.sql.parser.escapedStringLiterals false\n> SELECT regexp_like('%SystemDrive%\\\\Users\\\\John', '%SystemDrive%\\\\\\\\Users.*');\ntrue\n",expr:"regexp_like()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"rlike(str, regexp)",funcDesc:"Returns true if `str` matches `regexp`, or false otherwise.",examples:"> SET spark.sql.parser.escapedStringLiterals=true;\nspark.sql.parser.escapedStringLiterals true\n> SELECT rlike('%SystemDrive%\\Users\\John', '%SystemDrive%\\\\Users.*');\ntrue\n> SET spark.sql.parser.escapedStringLiterals=false;\nspark.sql.parser.escapedStringLiterals false\n> SELECT rlike('%SystemDrive%\\\\Users\\\\John', '%SystemDrive%\\\\\\\\Users.*');\ntrue\n",expr:"rlike()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"from_csv(csvStr, schema[, options])",funcDesc:"Returns a struct value with the given `csvStr` and `schema`.",examples:"> SELECT from_csv('1, 0.8', 'a INT, b DOUBLE');\n {\"a\":1,\"b\":0.8}\n> SELECT from_csv('26/08/2015', 'time Timestamp', map('timestampFormat', 'dd/MM/yyyy'));\n {\"time\":2015-08-26 00:00:00}\n",expr:"from_csv()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"schema_of_csv(csv[, options])",funcDesc:"Returns schema in the DDL format of CSV string.",examples:"> SELECT schema_of_csv('1,abc');\n STRUCT<_c0: INT, _c1: STRING>\n",expr:"schema_of_csv()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"to_csv(expr[, options])",funcDesc:"Returns a CSV string with a given struct value",examples:"> SELECT to_csv(named_struct('a', 1, 'b', 2));\n 1,2\n> SELECT to_csv(named_struct('time', to_timestamp('2015-08-26', 'yyyy-MM-dd')), map('timestampFormat', 'dd/MM/yyyy'));\n 26/08/2015\n",expr:"to_csv()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"aes_decrypt(expr, key[, mode[, padding]])",funcDesc:"Returns a decrypted value of `expr` using AES in `mode` with `padding`. Key lengths of 16, 24 and 32 bits are supported. Supported combinations of (`mode`, `padding`) are ('ECB', 'PKCS') and ('GCM', 'NONE'). The default mode is GCM.",examples:"> SELECT aes_decrypt(unhex('83F16B2AA704794132802D248E6BFD4E380078182D1544813898AC97E709B28A94'), '0000111122223333');\n Spark\n> SELECT aes_decrypt(unhex('6E7CA17BBB468D3084B5744BCA729FB7B2B7BCB8E4472847D02670489D95FA97DBBA7D3210'), '0000111122223333', 'GCM');\n Spark SQL\n> SELECT aes_decrypt(unbase64('3lmwu+Mw0H3fi5NDvcu9lg=='), '1234567890abcdef', 'ECB', 'PKCS');\n Spark SQL\n",expr:"aes_decrypt()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"aes_encrypt(expr, key[, mode[, padding]])",funcDesc:"Returns an encrypted value of `expr` using AES in given `mode` with the specified `padding`. Key lengths of 16, 24 and 32 bits are supported. Supported combinations of (`mode`, `padding`) are ('ECB', 'PKCS') and ('GCM', 'NONE'). The default mode is GCM.",examples:"> SELECT hex(aes_encrypt('Spark', '0000111122223333'));\n 83F16B2AA704794132802D248E6BFD4E380078182D1544813898AC97E709B28A94\n> SELECT hex(aes_encrypt('Spark SQL', '0000111122223333', 'GCM'));\n 6E7CA17BBB468D3084B5744BCA729FB7B2B7BCB8E4472847D02670489D95FA97DBBA7D3210\n> SELECT base64(aes_encrypt('Spark SQL', '1234567890abcdef', 'ECB', 'PKCS'));\n 3lmwu+Mw0H3fi5NDvcu9lg==\n",expr:"aes_encrypt()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"assert_true(expr)",funcDesc:"Throws an exception if `expr` is not true.",examples:"> SELECT assert_true(0 < 1);\n NULL\n",expr:"assert_true()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"current_catalog()",funcDesc:"Returns the current catalog.",examples:"> SELECT current_catalog();\n spark_catalog\n",expr:"current_catalog()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"current_database()",funcDesc:"Returns the current database.",examples:"> SELECT current_database();\n default\n",expr:"current_database()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"current_schema()",funcDesc:"Returns the current database.",examples:"> SELECT current_schema();\n default\n",expr:"current_schema()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"current_user()",funcDesc:"user name of current execution context.",examples:"> SELECT current_user();\n mockingjay\n",expr:"current_user()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"equal_null(expr1, expr2)",funcDesc:"Returns same result as the EQUAL(=) operator for non-null operands, but returns true if both are null, false if one of the them is null.",examples:"> SELECT equal_null(3, 3);\n true\n> SELECT equal_null(1, '11');\n false\n> SELECT equal_null(true, NULL);\n false\n> SELECT equal_null(NULL, 'abc');\n false\n> SELECT equal_null(NULL, NULL);\n true\n",expr:"equal_null()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"input_file_block_length()",funcDesc:"Returns the length of the block being read, or -1 if not available.",examples:"> SELECT input_file_block_length();\n -1\n",expr:"input_file_block_length()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"input_file_block_start()",funcDesc:"Returns the start offset of the block being read, or -1 if not available.",examples:"> SELECT input_file_block_start();\n -1\n",expr:"input_file_block_start()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"input_file_name()",funcDesc:"Returns the name of the file being read, or empty string if not available.",examples:"> SELECT input_file_name();\n",expr:"input_file_name()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"java_method(class, method[, arg1[, arg2 ..]])",funcDesc:"Calls a method with reflection.",examples:"> SELECT java_method('java.util.UUID', 'randomUUID');\n c33fb387-8500-4bfa-81d2-6e0e3e930df2\n> SELECT java_method('java.util.UUID', 'fromString', 'a5cf6c42-0c85-418f-af6c-3e4e5b1328f2');\n a5cf6c42-0c85-418f-af6c-3e4e5b1328f2\n",expr:"java_method()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"monotonically_increasing_id()",funcDesc:"Returns monotonically increasing 64-bit integers. The generated ID is guaranteed to be monotonically increasing and unique, but not consecutive. The current implementation puts the partition ID in the upper 31 bits, and the lower 33 bits represent the record number within each partition. The assumption is that the data frame has less than 1 billion partitions, and each partition has less than 8 billion records. The function is non-deterministic because its result depends on partition IDs.",examples:"> SELECT monotonically_increasing_id();\n 0\n",expr:"monotonically_increasing_id()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"reflect(class, method[, arg1[, arg2 ..]])",funcDesc:"Calls a method with reflection.",examples:"> SELECT reflect('java.util.UUID', 'randomUUID');\n c33fb387-8500-4bfa-81d2-6e0e3e930df2\n> SELECT reflect('java.util.UUID', 'fromString', 'a5cf6c42-0c85-418f-af6c-3e4e5b1328f2');\n a5cf6c42-0c85-418f-af6c-3e4e5b1328f2\n",expr:"reflect()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"spark_partition_id()",funcDesc:"Returns the current partition id.",examples:"> SELECT spark_partition_id();\n 0\n",expr:"spark_partition_id()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"typeof(expr)",funcDesc:"Return DDL-formatted type string for the data type of the input.",examples:"> SELECT typeof(1);\n int\n> SELECT typeof(array(1));\n array<int>\n",expr:"typeof()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"user()",funcDesc:"user name of current execution context.",examples:"> SELECT user();\n mockingjay\n",expr:"user()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"uuid()",funcDesc:"Returns an universally unique identifier (UUID) string. The value is returned as a canonical UUID 36-character string.",examples:"> SELECT uuid();\n 46707d92-02f4-4817-8116-a4c3b23e6266\n",expr:"uuid()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"version()",funcDesc:"Returns the Spark version. The string contains 2 fields, the first being a release version and the second being a git revision.",examples:"> SELECT version();\n 3.1.0 a6d6ea3efedbad14d99c24143834cd4e2e52fb40\n",expr:"version()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"explode(expr)",funcDesc:"Separates the elements of array `expr` into multiple rows, or the elements of map `expr` into multiple rows and columns. Unless specified otherwise, uses the default column name `col` for elements of the array or `key` and `value` for the elements of the map.",examples:"> SELECT explode(array(10, 20));\n 10\n 20\n",expr:"explode()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"explode_outer(expr)",funcDesc:"Separates the elements of array `expr` into multiple rows, or the elements of map `expr` into multiple rows and columns. Unless specified otherwise, uses the default column name `col` for elements of the array or `key` and `value` for the elements of the map.",examples:"> SELECT explode_outer(array(10, 20));\n 10\n 20\n",expr:"explode_outer()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"inline(expr)",funcDesc:"Explodes an array of structs into a table. Uses column names col1, col2, etc. by default unless specified otherwise.",examples:"> SELECT inline(array(struct(1, 'a'), struct(2, 'b')));\n 1 a\n 2 b\n",expr:"inline()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"inline_outer(expr)",funcDesc:"Explodes an array of structs into a table. Uses column names col1, col2, etc. by default unless specified otherwise.",examples:"> SELECT inline_outer(array(struct(1, 'a'), struct(2, 'b')));\n 1 a\n 2 b\n",expr:"inline_outer()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"posexplode(expr)",funcDesc:"Separates the elements of array `expr` into multiple rows with positions, or the elements of map `expr` into multiple rows and columns with positions. Unless specified otherwise, uses the column name `pos` for position, `col` for elements of the array or `key` and `value` for elements of the map.",examples:"> SELECT posexplode(array(10,20));\n 0 10\n 1 20\n",expr:"posexplode()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"posexplode_outer(expr)",funcDesc:"Separates the elements of array `expr` into multiple rows with positions, or the elements of map `expr` into multiple rows and columns with positions. Unless specified otherwise, uses the column name `pos` for position, `col` for elements of the array or `key` and `value` for elements of the map.",examples:"> SELECT posexplode_outer(array(10,20));\n 0 10\n 1 20\n",expr:"posexplode_outer()",description:{kind:i.MarkupKind.Markdown,value:""}},{name:"stack(n, expr1, ..., exprk)",funcDesc:"Separates `expr1`, ..., `exprk` into `n` rows. Uses column names col0, col1, etc. by default unless specified otherwise.",examples:"> SELECT stack(2, 1, 2, 3);\n 1 2\n 3 NULL\n",expr:"stack()",description:{kind:i.MarkupKind.Markdown,value:""}}].map((t=>{return{...t,description:{kind:t.description.kind,value:(e=t,[`#### ${e.name}`,`${e.funcDesc}`,"#### Examples","```sql",`${e.examples?.trim()}`,"```"].join("\n"))}};var e}))},(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.VALIDATION_ON_COMMAND=e.LANGUAGE_ID=void 0,e.LANGUAGE_ID="sparksql",e.VALIDATION_ON_COMMAND="extension.sparksql.validationOn"},function(t,e,r){"use strict";var i=this&&this.__createBinding||(Object.create?function(t,e,r,i){void 0===i&&(i=r);var n=Object.getOwnPropertyDescriptor(e,r);n&&!("get"in n?!e.__esModule:n.writable||n.configurable)||(n={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,i,n)}:function(t,e,r,i){void 0===i&&(i=r),t[i]=e[r]}),n=this&&this.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),s=this&&this.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(null!=t)for(var r in t)"default"!==r&&Object.prototype.hasOwnProperty.call(t,r)&&i(e,t,r);return n(e,t),e};Object.defineProperty(e,"__esModule",{value:!0}),e.LSPServer=void 0;const o=r(71),a=r(258),E=s(r(1)),h=r(259),l=r(290),u=r(291),c=r(289);e.LSPServer=class{constructor(){this._warehouse=new u.ParsingWarehouse}get warehouse(){return this._warehouse}doValidation(t){return this._warehouse.getParsingValue(t).errors}doCompletion(t,e){const r=this._warehouse.getParsingValue(t);return(0,h.handleAutoCompletion)(t,e,r)}doFormatting(t,e){const r=this._warehouse.getParsingValue(t);try{const e=(0,a.formatDialect)(r.origin,{dialect:a.spark,tabWidth:2,useTabs:!1,keywordCase:"preserve",linesBetweenQueries:1,newlineBeforeSemicolon:!0});return[E.TextEdit.replace(E.Range.create(0,0,t.lineCount,0),e)]}catch(t){return[]}}doFoldingRanges(t){const e=this._warehouse.getParsingValue(t),r=new l.StatementListener(t);o.ParseTreeWalker.DEFAULT.walk(r,e.tree);return r.getRanges().map((t=>(0,c.toFoldingRange)(t)))}getTokenByPosition(t,e){const r=this._warehouse.getParsingValue(t),i=t.offsetAt(e);return r.tokenStream.getTokens().find((t=>t.startIndex<=i&&i<=t.stopIndex+1))}}},function(t,e,r){"use strict";var i=this&&this.__createBinding||(Object.create?function(t,e,r,i){void 0===i&&(i=r),Object.defineProperty(t,i,{enumerable:!0,get:function(){return e[r]}})}:function(t,e,r,i){void 0===i&&(i=r),t[i]=e[r]}),n=this&&this.__exportStar||function(t,e){for(var r in t)"default"===r||Object.prototype.hasOwnProperty.call(e,r)||i(e,t,r)};Object.defineProperty(e,"__esModule",{value:!0}),n(r(72),e),n(r(74),e),n(r(79),e),n(r(80),e),n(r(81),e),n(r(82),e),n(r(83),e),n(r(84),e),n(r(85),e),n(r(75),e),n(r(86),e),n(r(87),e)},function(t,e,r){"use strict";var i=this&&this.__decorate||function(t,e,r,i){var n,s=arguments.length,o=s<3?e:null===i?i=Object.getOwnPropertyDescriptor(e,r):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(t,e,r,i);else for(var a=t.length-1;a>=0;a--)(n=t[a])&&(o=(s<3?n(o):s>3?n(e,r,o):n(e,r))||o);return s>3&&o&&Object.defineProperty(e,r,o),o},n=this&&this.__param||function(t,e){return function(r,i){e(r,i,t)}};Object.defineProperty(e,"__esModule",{value:!0}),e.AbstractParseTreeVisitor=void 0;const s=r(73);class o{visit(t){return t.accept(this)}visitChildren(t){let e=this.defaultResult(),r=t.childCount;for(let i=0;i<r&&this.shouldVisitNextChild(t,e);i++){let r=t.getChild(i).accept(this);e=this.aggregateResult(e,r)}return e}visitTerminal(t){return this.defaultResult()}visitErrorNode(t){return this.defaultResult()}aggregateResult(t,e){return e}shouldVisitNextChild(t,e){return!0}}i([s.Override,n(0,s.NotNull)],o.prototype,"visit",null),i([s.Override,n(0,s.NotNull)],o.prototype,"visitChildren",null),i([s.Override,n(0,s.NotNull)],o.prototype,"visitTerminal",null),i([s.Override,n(0,s.NotNull)],o.prototype,"visitErrorNode",null),i([n(0,s.NotNull)],o.prototype,"shouldVisitNextChild",null),e.AbstractParseTreeVisitor=o},(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.SuppressWarnings=e.Override=e.Nullable=e.NotNull=void 0,e.NotNull=function(t,e,r){},e.Nullable=function(t,e,r){},e.Override=function(t,e,r){},e.SuppressWarnings=function(t){return(t,e,r)=>{}}},function(t,e,r){"use strict";var i=this&&this.__decorate||function(t,e,r,i){var n,s=arguments.length,o=s<3?e:null===i?i=Object.getOwnPropertyDescriptor(e,r):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(t,e,r,i);else for(var a=t.length-1;a>=0;a--)(n=t[a])&&(o=(s<3?n(o):s>3?n(e,r,o):n(e,r))||o);return s>3&&o&&Object.defineProperty(e,r,o),o};Object.defineProperty(e,"__esModule",{value:!0}),e.ErrorNode=void 0;const n=r(73),s=r(75);class o extends s.TerminalNode{constructor(t){super(t)}accept(t){return t.visitErrorNode(this)}}i([n.Override],o.prototype,"accept",null),e.ErrorNode=o},function(t,e,r){"use strict";var i=this&&this.__decorate||function(t,e,r,i){var n,s=arguments.length,o=s<3?e:null===i?i=Object.getOwnPropertyDescriptor(e,r):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(t,e,r,i);else for(var a=t.length-1;a>=0;a--)(n=t[a])&&(o=(s<3?n(o):s>3?n(e,r,o):n(e,r))||o);return s>3&&o&&Object.defineProperty(e,r,o),o};Object.defineProperty(e,"__esModule",{value:!0}),e.TerminalNode=void 0;const n=r(76),s=r(73),o=r(77);class a{constructor(t){this._symbol=t}getChild(t){throw new RangeError("Terminal Node has no children.")}get symbol(){return this._symbol}get parent(){return this._parent}setParent(t){this._parent=t}get payload(){return this._symbol}get sourceInterval(){let t=this._symbol.tokenIndex;return new n.Interval(t,t)}get childCount(){return 0}accept(t){return t.visitTerminal(this)}get text(){return this._symbol.text||""}toStringTree(t){return this.toString()}toString(){return this._symbol.type===o.Token.EOF?"<EOF>":this._symbol.text||""}}i([s.Override],a.prototype,"getChild",null),i([s.Override],a.prototype,"parent",null),i([s.Override],a.prototype,"setParent",null),i([s.Override],a.prototype,"payload",null),i([s.Override],a.prototype,"sourceInterval",null),i([s.Override],a.prototype,"childCount",null),i([s.Override],a.prototype,"accept",null),i([s.Override],a.prototype,"text",null),i([s.Override],a.prototype,"toStringTree",null),i([s.Override],a.prototype,"toString",null),e.TerminalNode=a},function(t,e,r){"use strict";var i=this&&this.__decorate||function(t,e,r,i){var n,s=arguments.length,o=s<3?e:null===i?i=Object.getOwnPropertyDescriptor(e,r):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(t,e,r,i);else for(var a=t.length-1;a>=0;a--)(n=t[a])&&(o=(s<3?n(o):s>3?n(e,r,o):n(e,r))||o);return s>3&&o&&Object.defineProperty(e,r,o),o};Object.defineProperty(e,"__esModule",{value:!0}),e.Interval=void 0;const n=r(73);class s{constructor(t,e){this.a=t,this.b=e}static get INVALID(){return s._INVALID}static of(t,e){return t!==e||t<0||t>1e3?new s(t,e):(null==s.cache[t]&&(s.cache[t]=new s(t,t)),s.cache[t])}get length(){return this.b<this.a?0:this.b-this.a+1}equals(t){return t===this||t instanceof s&&(this.a===t.a&&this.b===t.b)}hashCode(){let t=23;return t=31*t+this.a,t=31*t+this.b,t}startsBeforeDisjoint(t){return this.a<t.a&&this.b<t.a}startsBeforeNonDisjoint(t){return this.a<=t.a&&this.b>=t.a}startsAfter(t){return this.a>t.a}startsAfterDisjoint(t){return this.a>t.b}startsAfterNonDisjoint(t){return this.a>t.a&&this.a<=t.b}disjoint(t){return this.startsBeforeDisjoint(t)||this.startsAfterDisjoint(t)}adjacent(t){return this.a===t.b+1||this.b===t.a-1}properlyContains(t){return t.a>=this.a&&t.b<=this.b}union(t){return s.of(Math.min(this.a,t.a),Math.max(this.b,t.b))}intersection(t){return s.of(Math.max(this.a,t.a),Math.min(this.b,t.b))}differenceNotProperlyContained(t){let e;return t.startsBeforeNonDisjoint(this)?e=s.of(Math.max(this.a,t.b+1),this.b):t.startsAfterNonDisjoint(this)&&(e=s.of(this.a,t.a-1)),e}toString(){return this.a+".."+this.b}}s._INVALID=new s(-1,-2),s.cache=new Array(1001),i([n.Override],s.prototype,"equals",null),i([n.Override],s.prototype,"hashCode",null),i([n.Override],s.prototype,"toString",null),e.Interval=s},(t,e,r)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.Token=void 0;const i=r(78);!function(t){t.INVALID_TYPE=0,t.EPSILON=-2,t.MIN_USER_TOKEN_TYPE=1,t.EOF=i.IntStream.EOF,t.DEFAULT_CHANNEL=0,t.HIDDEN_CHANNEL=1,t.MIN_USER_CHANNEL_VALUE=2}(e.Token||(e.Token={}))},(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.IntStream=void 0,function(t){t.EOF=-1,t.UNKNOWN_SOURCE_NAME="<unknown>"}(e.IntStream||(e.IntStream={}))},(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0})},(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0})},(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ParseTreeProperty=void 0;e.ParseTreeProperty=class{constructor(t="ParseTreeProperty"){this._symbol=Symbol(t)}get(t){return t[this._symbol]}set(t,e){t[this._symbol]=e}removeFrom(t){let e=t[this._symbol];return delete t[this._symbol],e}}},(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0})},(t,e,r)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ParseTreeWalker=void 0;const i=r(74),n=r(75),s=r(84);class o{walk(t,e){let r=[],o=[],a=e,E=0;for(;a;)if(a instanceof i.ErrorNode?t.visitErrorNode&&t.visitErrorNode(a):a instanceof n.TerminalNode?t.visitTerminal&&t.visitTerminal(a):this.enterRule(t,a),a.childCount>0)r.push(a),o.push(E),E=0,a=a.getChild(0);else do{if(a instanceof s.RuleNode&&this.exitRule(t,a),0===r.length){a=void 0,E=0;break}let e=r[r.length-1];if(E++,a=E<e.childCount?e.getChild(E):void 0,a)break;a=r.pop(),E=o.pop()}while(a)}enterRule(t,e){let r=e.ruleContext;t.enterEveryRule&&t.enterEveryRule(r),r.enterRule(t)}exitRule(t,e){let r=e.ruleContext;r.exitRule(t),t.exitEveryRule&&t.exitEveryRule(r)}}e.ParseTreeWalker=o,function(t){t.DEFAULT=new t}(o=e.ParseTreeWalker||(e.ParseTreeWalker={}))},(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.RuleNode=void 0;e.RuleNode=class{}},(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0})},(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0})},function(t,e,r){"use strict";var i=this&&this.__decorate||function(t,e,r,i){var n,s=arguments.length,o=s<3?e:null===i?i=Object.getOwnPropertyDescriptor(e,r):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(t,e,r,i);else for(var a=t.length-1;a>=0;a--)(n=t[a])&&(o=(s<3?n(o):s>3?n(e,r,o):n(e,r))||o);return s>3&&o&&Object.defineProperty(e,r,o),o},n=this&&this.__param||function(t,e){return function(r,i){e(r,i,t)}};Object.defineProperty(e,"__esModule",{value:!0}),e.Trees=void 0;const s=r(88),o=r(161),a=r(74),E=r(73),h=r(180),l=r(201),u=r(84),c=r(75),T=r(77),R=r(145);class p{static toStringTree(t,e){let r;r=e instanceof h.Parser?e.ruleNames:e;let i=R.escapeWhitespace(this.getNodeText(t,r),!1);if(0===t.childCount)return i;let n="";n+="(",i=R.escapeWhitespace(this.getNodeText(t,r),!1),n+=i,n+=" ";for(let e=0;e<t.childCount;e++)e>0&&(n+=" "),n+=this.toStringTree(t.getChild(e),r);return n+=")",n}static getNodeText(t,e){let r;if(e instanceof h.Parser)r=e.ruleNames;else{if(!e){let e=t.payload;return"string"==typeof e.text?e.text:t.payload.toString()}r=e}if(t instanceof u.RuleNode){let e=t.ruleContext,i=r[e.ruleIndex],n=e.altNumber;return n!==s.ATN.INVALID_ALT_NUMBER?i+":"+n:i}if(t instanceof a.ErrorNode)return t.toString();if(t instanceof c.TerminalNode){return t.symbol.text||""}throw new TypeError("Unexpected node type")}static getChildren(t){let e=[];for(let r=0;r<t.childCount;r++)e.push(t.getChild(r));return e}static getAncestors(t){let e=[],r=t.parent;for(;r;)e.unshift(r),r=r.parent;return e}static isAncestorOf(t,e){if(!t||!e||!t.parent)return!1;let r=e.parent;for(;r;){if(t===r)return!0;r=r.parent}return!1}static findAllTokenNodes(t,e){return p.findAllNodes(t,e,!0)}static findAllRuleNodes(t,e){return p.findAllNodes(t,e,!1)}static findAllNodes(t,e,r){let i=[];return p._findAllNodes(t,e,r,i),i}static _findAllNodes(t,e,r,i){r&&t instanceof c.TerminalNode?t.symbol.type===e&&i.push(t):!r&&t instanceof l.ParserRuleContext&&t.ruleIndex===e&&i.push(t);for(let n=0;n<t.childCount;n++)p._findAllNodes(t.getChild(n),e,r,i)}static getDescendants(t){let e=[];return function t(r){e.push(r);const i=r.childCount;for(let e=0;e<i;e++)t(r.getChild(e))}(t),e}static getRootOfSubtreeEnclosingRegion(t,e,r){let i=t.childCount;for(let n=0;n<i;n++){let i=t.getChild(n),s=p.getRootOfSubtreeEnclosingRegion(i,e,r);if(s)return s}if(t instanceof l.ParserRuleContext){let i=t.stop;if(e>=t.start.tokenIndex&&(null==i||r<=i.tokenIndex))return t}}static stripChildrenOutOfRange(t,e,r,i){if(!t)return;let n=t.childCount;for(let s=0;s<n;s++){let n=t.getChild(s),a=n.sourceInterval;if(n instanceof l.ParserRuleContext&&(a.b<r||a.a>i)&&p.isAncestorOf(n,e)){let e=new o.CommonToken(T.Token.INVALID_TYPE,"...");t.children[s]=new c.TerminalNode(e)}}}static findNodeSuchThat(t,e){if(e(t))return t;let r=t.childCount;for(let i=0;i<r;i++){let r=p.findNodeSuchThat(t.getChild(i),e);if(void 0!==r)return r}}}i([n(0,E.NotNull)],p,"toStringTree",null),i([E.NotNull,n(0,E.NotNull)],p,"getAncestors",null),i([n(0,E.NotNull)],p,"getRootOfSubtreeEnclosingRegion",null),e.Trees=p},function(t,e,r){"use strict";var i=this&&this.__decorate||function(t,e,r,i){var n,s=arguments.length,o=s<3?e:null===i?i=Object.getOwnPropertyDescriptor(e,r):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(t,e,r,i);else for(var a=t.length-1;a>=0;a--)(n=t[a])&&(o=(s<3?n(o):s>3?n(e,r,o):n(e,r))||o);return s>3&&o&&Object.defineProperty(e,r,o),o},n=this&&this.__param||function(t,e){return function(r,i){e(r,i,t)}};Object.defineProperty(e,"__esModule",{value:!0}),e.ATN=void 0;const s=r(89),o=r(135),a=r(157),E=r(171),h=r(173),l=r(73),u=r(134),c=r(141),T=r(77),R=r(91);let p=class{constructor(t,e){this.states=[],this.decisionToState=[],this.modeNameToStartState=new Map,this.modeToStartState=[],this.contextCache=new s.Array2DHashMap(u.ObjectEqualityComparator.INSTANCE),this.decisionToDFA=[],this.modeToDFA=[],this.LL1Table=new Map,this.grammarType=t,this.maxTokenType=e}clearDFA(){this.decisionToDFA=new Array(this.decisionToState.length);for(let t=0;t<this.decisionToDFA.length;t++)this.decisionToDFA[t]=new o.DFA(this.decisionToState[t],t);this.modeToDFA=new Array(this.modeToStartState.length);for(let t=0;t<this.modeToDFA.length;t++)this.modeToDFA[t]=new o.DFA(this.modeToStartState[t]);this.contextCache.clear(),this.LL1Table.clear()}get contextCacheSize(){return this.contextCache.size}getCachedContext(t){return c.PredictionContext.getCachedContext(t,this.contextCache,new c.PredictionContext.IdentityHashMap)}getDecisionToDFA(){return R(null!=this.decisionToDFA&&this.decisionToDFA.length===this.decisionToState.length),this.decisionToDFA}nextTokens(t,e){if(e){return new h.LL1Analyzer(this).LOOK(t,e)}return t.nextTokenWithinRule||(t.nextTokenWithinRule=this.nextTokens(t,c.PredictionContext.EMPTY_LOCAL),t.nextTokenWithinRule.setReadonly(!0)),t.nextTokenWithinRule}addState(t){t.atn=this,t.stateNumber=this.states.length,this.states.push(t)}removeState(t){let e=new E.InvalidState;e.atn=this,e.stateNumber=t.stateNumber,this.states[t.stateNumber]=e}defineMode(t,e){this.modeNameToStartState.set(t,e),this.modeToStartState.push(e),this.modeToDFA.push(new o.DFA(e)),this.defineDecisionState(e)}defineDecisionState(t){return this.decisionToState.push(t),t.decision=this.decisionToState.length-1,this.decisionToDFA.push(new o.DFA(t,t.decision)),t.decision}getDecisionState(t){if(this.decisionToState.length>0)return this.decisionToState[t]}get numberOfDecisions(){return this.decisionToState.length}getExpectedTokens(t,e){if(t<0||t>=this.states.length)throw new RangeError("Invalid state number.");let r=e,i=this.states[t],n=this.nextTokens(i);if(!n.contains(T.Token.EPSILON))return n;let s=new a.IntervalSet;for(s.addAll(n),s.remove(T.Token.EPSILON);null!=r&&r.invokingState>=0&&n.contains(T.Token.EPSILON);){let t=this.states[r.invokingState].transition(0);n=this.nextTokens(t.followState),s.addAll(n),s.remove(T.Token.EPSILON),r=r._parent}return n.contains(T.Token.EPSILON)&&s.add(T.Token.EOF),s}};i([l.NotNull],p.prototype,"states",void 0),i([l.NotNull],p.prototype,"decisionToState",void 0),i([l.NotNull],p.prototype,"modeNameToStartState",void 0),i([l.NotNull],p.prototype,"modeToStartState",void 0),i([l.NotNull],p.prototype,"decisionToDFA",void 0),i([l.NotNull],p.prototype,"modeToDFA",void 0),i([l.NotNull],p.prototype,"nextTokens",null),i([n(0,l.NotNull)],p.prototype,"removeState",null),i([n(0,l.NotNull),n(1,l.NotNull)],p.prototype,"defineMode",null),i([n(0,l.NotNull)],p.prototype,"defineDecisionState",null),i([l.NotNull],p.prototype,"getExpectedTokens",null),p=i([n(0,l.NotNull)],p),e.ATN=p,function(t){t.INVALID_ALT_NUMBER=0}(p=e.ATN||(e.ATN={})),e.ATN=p},(t,e,r)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.Array2DHashMap=void 0;const i=r(90);class n{constructor(t){this.keyComparator=t}hashCode(t){return this.keyComparator.hashCode(t.key)}equals(t,e){return this.keyComparator.equals(t.key,e.key)}}class s{constructor(t){this.backingStore=t instanceof s?new i.Array2DHashSet(t.backingStore):new i.Array2DHashSet(new n(t))}clear(){this.backingStore.clear()}containsKey(t){return this.backingStore.contains({key:t})}get(t){let e=this.backingStore.get({key:t});if(e)return e.value}get isEmpty(){return this.backingStore.isEmpty}put(t,e){let r,i=this.backingStore.get({key:t,value:e});return i?(r=i.value,i.value=e):this.backingStore.add({key:t,value:e}),r}putIfAbsent(t,e){let r,i=this.backingStore.get({key:t,value:e});return i?r=i.value:this.backingStore.add({key:t,value:e}),r}get size(){return this.backingStore.size}hashCode(){return this.backingStore.hashCode()}equals(t){return t instanceof s&&this.backingStore.equals(t.backingStore)}}e.Array2DHashMap=s},function(t,e,r){"use strict";var i=this&&this.__decorate||function(t,e,r,i){var n,s=arguments.length,o=s<3?e:null===i?i=Object.getOwnPropertyDescriptor(e,r):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(t,e,r,i);else for(var a=t.length-1;a>=0;a--)(n=t[a])&&(o=(s<3?n(o):s>3?n(e,r,o):n(e,r))||o);return s>3&&o&&Object.defineProperty(e,r,o),o},n=this&&this.__param||function(t,e){return function(r,i){e(r,i,t)}};Object.defineProperty(e,"__esModule",{value:!0}),e.Array2DHashSet=void 0;const s=r(91),o=r(132),a=r(73),E=r(133),h=.75;class l{constructor(t,e=16){if(this.n=0,this.threshold=Math.floor(12),t instanceof l){this.comparator=t.comparator,this.buckets=t.buckets.slice(0);for(let t=0;t<this.buckets.length;t++){let e=this.buckets[t];e&&(this.buckets[t]=e.slice(0))}this.n=t.n,this.threshold=t.threshold}else this.comparator=t||o.DefaultEqualityComparator.INSTANCE,this.buckets=this.createBuckets(e)}getOrAdd(t){return this.n>this.threshold&&this.expand(),this.getOrAddImpl(t)}getOrAddImpl(t){let e=this.getBucket(t),r=this.buckets[e];if(!r)return r=[t],this.buckets[e]=r,this.n++,t;for(let e of r)if(this.comparator.equals(e,t))return e;return r.push(t),this.n++,t}get(t){if(null==t)return t;let e=this.getBucket(t),r=this.buckets[e];if(r)for(let e of r)if(this.comparator.equals(e,t))return e}getBucket(t){return this.comparator.hashCode(t)&this.buckets.length-1}hashCode(){let t=E.MurmurHash.initialize();for(let e of this.buckets)if(null!=e)for(let r of e){if(null==r)break;t=E.MurmurHash.update(t,this.comparator.hashCode(r))}return t=E.MurmurHash.finish(t,this.size),t}equals(t){if(t===this)return!0;if(!(t instanceof l))return!1;if(t.size!==this.size)return!1;return this.containsAll(t)}expand(){let t=this.buckets,e=2*this.buckets.length,r=this.createBuckets(e);this.buckets=r,this.threshold=Math.floor(e*h);let i=this.size;for(let e of t)if(e)for(let t of e){let e=this.getBucket(t),r=this.buckets[e];r||(r=[],this.buckets[e]=r),r.push(t)}s(this.n===i)}add(t){return this.getOrAdd(t)===t}get size(){return this.n}get isEmpty(){return 0===this.n}contains(t){return this.containsFast(this.asElementType(t))}containsFast(t){return null!=t&&null!=this.get(t)}*[Symbol.iterator](){yield*this.toArray()}toArray(){const t=new Array(this.size);let e=0;for(let r of this.buckets)if(null!=r)for(let i of r){if(null==i)break;t[e++]=i}return t}containsAll(t){if(t instanceof l){let e=t;for(let t of e.buckets)if(null!=t)for(let e of t){if(null==e)break;if(!this.containsFast(this.asElementType(e)))return!1}}else for(let e of t)if(!this.containsFast(this.asElementType(e)))return!1;return!0}addAll(t){let e=!1;for(let r of t){this.getOrAdd(r)!==r&&(e=!0)}return e}clear(){this.buckets=this.createBuckets(16),this.n=0,this.threshold=Math.floor(12)}toString(){if(0===this.size)return"{}";let t="{",e=!0;for(let r of this.buckets)if(null!=r)for(let i of r){if(null==i)break;e?e=!1:t+=", ",t+=i.toString()}return t+="}",t}toTableString(){let t="";for(let e of this.buckets){if(null==e){t+="null\n";continue}t+="[";let r=!0;for(let i of e)r?r=!1:t+=" ",t+=null==i?"_":i.toString();t+="]\n"}return t}asElementType(t){return t}createBuckets(t){return new Array(t)}}i([a.NotNull],l.prototype,"comparator",void 0),i([a.Override],l.prototype,"hashCode",null),i([a.Override],l.prototype,"equals",null),i([a.Override],l.prototype,"add",null),i([a.Override],l.prototype,"size",null),i([a.Override],l.prototype,"isEmpty",null),i([a.Override],l.prototype,"contains",null),i([n(0,a.Nullable)],l.prototype,"containsFast",null),i([a.Override],l.prototype,Symbol.iterator,null),i([a.Override],l.prototype,"toArray",null),i([a.Override],l.prototype,"containsAll",null),i([a.Override],l.prototype,"addAll",null),i([a.Override],l.prototype,"clear",null),i([a.Override],l.prototype,"toString",null),i([a.SuppressWarnings("unchecked")],l.prototype,"asElementType",null),i([a.SuppressWarnings("unchecked")],l.prototype,"createBuckets",null),e.Array2DHashSet=l},(t,e,r)=>{"use strict";var i=r(94);function n(t){return n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},n(t)}var s,o,a=r(92).codes,E=a.ERR_AMBIGUOUS_ARGUMENT,h=a.ERR_INVALID_ARG_TYPE,l=a.ERR_INVALID_ARG_VALUE,u=a.ERR_INVALID_RETURN_VALUE,c=a.ERR_MISSING_ARGS,T=r(116),R=r(93).inspect,p=r(93).types,S=p.isPromise,A=p.isRegExp,d=Object.assign?Object.assign:r(117).assign,N=Object.is?Object.is:r(118);new Map;function O(){var t=r(127);s=t.isDeepEqual,o=t.isDeepStrictEqual}var C=!1,_=t.exports=m,I={};function L(t){if(t.message instanceof Error)throw t.message;throw new T(t)}function f(t,e,r,i){if(!r){var n=!1;if(0===e)n=!0,i="No value argument passed to `assert.ok()`";else if(i instanceof Error)throw i;var s=new T({actual:r,expected:!0,message:i,operator:"==",stackStartFn:t});throw s.generatedMessage=n,s}}function m(){for(var t=arguments.length,e=new Array(t),r=0;r<t;r++)e[r]=arguments[r];f.apply(void 0,[m,e.length].concat(e))}_.fail=function t(e,r,n,s,o){var a,E=arguments.length;if(0===E)a="Failed";else if(1===E)n=e,e=void 0;else{if(!1===C)C=!0,(i.emitWarning?i.emitWarning:console.warn.bind(console))("assert.fail() with more than one argument is deprecated. Please use assert.strictEqual() instead or only pass a message.","DeprecationWarning","DEP0094");2===E&&(s="!=")}if(n instanceof Error)throw n;var h={actual:e,expected:r,operator:void 0===s?"fail":s,stackStartFn:o||t};void 0!==n&&(h.message=n);var l=new T(h);throw a&&(l.message=a,l.generatedMessage=!0),l},_.AssertionError=T,_.ok=m,_.equal=function t(e,r,i){if(arguments.length<2)throw new c("actual","expected");e!=r&&L({actual:e,expected:r,message:i,operator:"==",stackStartFn:t})},_.notEqual=function t(e,r,i){if(arguments.length<2)throw new c("actual","expected");e==r&&L({actual:e,expected:r,message:i,operator:"!=",stackStartFn:t})},_.deepEqual=function t(e,r,i){if(arguments.length<2)throw new c("actual","expected");void 0===s&&O(),s(e,r)||L({actual:e,expected:r,message:i,operator:"deepEqual",stackStartFn:t})},_.notDeepEqual=function t(e,r,i){if(arguments.length<2)throw new c("actual","expected");void 0===s&&O(),s(e,r)&&L({actual:e,expected:r,message:i,operator:"notDeepEqual",stackStartFn:t})},_.deepStrictEqual=function t(e,r,i){if(arguments.length<2)throw new c("actual","expected");void 0===s&&O(),o(e,r)||L({actual:e,expected:r,message:i,operator:"deepStrictEqual",stackStartFn:t})},_.notDeepStrictEqual=function t(e,r,i){if(arguments.length<2)throw new c("actual","expected");void 0===s&&O();o(e,r)&&L({actual:e,expected:r,message:i,operator:"notDeepStrictEqual",stackStartFn:t})},_.strictEqual=function t(e,r,i){if(arguments.length<2)throw new c("actual","expected");N(e,r)||L({actual:e,expected:r,message:i,operator:"strictEqual",stackStartFn:t})},_.notStrictEqual=function t(e,r,i){if(arguments.length<2)throw new c("actual","expected");N(e,r)&&L({actual:e,expected:r,message:i,operator:"notStrictEqual",stackStartFn:t})};var y=function t(e,r,i){var n=this;!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),r.forEach((function(t){t in e&&(void 0!==i&&"string"==typeof i[t]&&A(e[t])&&e[t].test(i[t])?n[t]=i[t]:n[t]=e[t])}))};function x(t,e,r,i){if("function"!=typeof e){if(A(e))return e.test(t);if(2===arguments.length)throw new h("expected",["Function","RegExp"],e);if("object"!==n(t)||null===t){var a=new T({actual:t,expected:e,message:r,operator:"deepStrictEqual",stackStartFn:i});throw a.operator=i.name,a}var E=Object.keys(e);if(e instanceof Error)E.push("name","message");else if(0===E.length)throw new l("error",e,"may not be an empty object");return void 0===s&&O(),E.forEach((function(n){"string"==typeof t[n]&&A(e[n])&&e[n].test(t[n])||function(t,e,r,i,n,s){if(!(r in t)||!o(t[r],e[r])){if(!i){var a=new y(t,n),E=new y(e,n,t),h=new T({actual:a,expected:E,operator:"deepStrictEqual",stackStartFn:s});throw h.actual=t,h.expected=e,h.operator=s.name,h}L({actual:t,expected:e,message:i,operator:s.name,stackStartFn:s})}}(t,e,n,r,E,i)})),!0}return void 0!==e.prototype&&t instanceof e||!Error.isPrototypeOf(e)&&!0===e.call({},t)}function g(t){if("function"!=typeof t)throw new h("fn","Function",t);try{t()}catch(t){return t}return I}function P(t){return S(t)||null!==t&&"object"===n(t)&&"function"==typeof t.then&&"function"==typeof t.catch}function D(t){return Promise.resolve().then((function(){var e;if("function"==typeof t){if(!P(e=t()))throw new u("instance of Promise","promiseFn",e)}else{if(!P(t))throw new h("promiseFn",["Function","Promise"],t);e=t}return Promise.resolve().then((function(){return e})).then((function(){return I})).catch((function(t){return t}))}))}function M(t,e,r,i){if("string"==typeof r){if(4===arguments.length)throw new h("error",["Object","Error","Function","RegExp"],r);if("object"===n(e)&&null!==e){if(e.message===r)throw new E("error/message",'The error message "'.concat(e.message,'" is identical to the message.'))}else if(e===r)throw new E("error/message",'The error "'.concat(e,'" is identical to the message.'));i=r,r=void 0}else if(null!=r&&"object"!==n(r)&&"function"!=typeof r)throw new h("error",["Object","Error","Function","RegExp"],r);if(e===I){var s="";r&&r.name&&(s+=" (".concat(r.name,")")),s+=i?": ".concat(i):".";var o="rejects"===t.name?"rejection":"exception";L({actual:void 0,expected:r,operator:t.name,message:"Missing expected ".concat(o).concat(s),stackStartFn:t})}if(r&&!x(e,r,i,t))throw e}function v(t,e,r,i){if(e!==I){if("string"==typeof r&&(i=r,r=void 0),!r||x(e,r)){var n=i?": ".concat(i):".",s="doesNotReject"===t.name?"rejection":"exception";L({actual:e,expected:r,operator:t.name,message:"Got unwanted ".concat(s).concat(n,"\n")+'Actual message: "'.concat(e&&e.message,'"'),stackStartFn:t})}throw e}}function U(){for(var t=arguments.length,e=new Array(t),r=0;r<t;r++)e[r]=arguments[r];f.apply(void 0,[U,e.length].concat(e))}_.throws=function t(e){for(var r=arguments.length,i=new Array(r>1?r-1:0),n=1;n<r;n++)i[n-1]=arguments[n];M.apply(void 0,[t,g(e)].concat(i))},_.rejects=function t(e){for(var r=arguments.length,i=new Array(r>1?r-1:0),n=1;n<r;n++)i[n-1]=arguments[n];return D(e).then((function(e){return M.apply(void 0,[t,e].concat(i))}))},_.doesNotThrow=function t(e){for(var r=arguments.length,i=new Array(r>1?r-1:0),n=1;n<r;n++)i[n-1]=arguments[n];v.apply(void 0,[t,g(e)].concat(i))},_.doesNotReject=function t(e){for(var r=arguments.length,i=new Array(r>1?r-1:0),n=1;n<r;n++)i[n-1]=arguments[n];return D(e).then((function(e){return v.apply(void 0,[t,e].concat(i))}))},_.ifError=function t(e){if(null!=e){var r="ifError got unwanted exception: ";"object"===n(e)&&"string"==typeof e.message?0===e.message.length&&e.constructor?r+=e.constructor.name:r+=e.message:r+=R(e);var i=new T({actual:e,expected:null,operator:"ifError",message:r,stackStartFn:t}),s=e.stack;if("string"==typeof s){var o=s.split("\n");o.shift();for(var a=i.stack.split("\n"),E=0;E<o.length;E++){var h=a.indexOf(o[E]);if(-1!==h){a=a.slice(0,h);break}}i.stack="".concat(a.join("\n"),"\n").concat(o.join("\n"))}throw i}},_.strict=d(U,_,{equal:_.strictEqual,deepEqual:_.deepStrictEqual,notEqual:_.notStrictEqual,notDeepEqual:_.notDeepStrictEqual}),_.strict.strict=_.strict},(t,e,r)=>{"use strict";function i(t){return i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},i(t)}function n(t,e){return!e||"object"!==i(e)&&"function"!=typeof e?function(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}(t):e}function s(t){return s=Object.setPrototypeOf?Object.getPrototypeOf:function(t){return t.__proto__||Object.getPrototypeOf(t)},s(t)}function o(t,e){return o=Object.setPrototypeOf||function(t,e){return t.__proto__=e,t},o(t,e)}var a,E,h={};function l(t,e,r){r||(r=Error);var i=function(r){function i(r,o,a){var E;return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,i),E=n(this,s(i).call(this,function(t,r,i){return"string"==typeof e?e:e(t,r,i)}(r,o,a))),E.code=t,E}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&o(t,e)}(i,r),i}(r);h[t]=i}function u(t,e){if(Array.isArray(t)){var r=t.length;return t=t.map((function(t){return String(t)})),r>2?"one of ".concat(e," ").concat(t.slice(0,r-1).join(", "),", or ")+t[r-1]:2===r?"one of ".concat(e," ").concat(t[0]," or ").concat(t[1]):"of ".concat(e," ").concat(t[0])}return"of ".concat(e," ").concat(String(t))}l("ERR_AMBIGUOUS_ARGUMENT",'The "%s" argument is ambiguous. %s',TypeError),l("ERR_INVALID_ARG_TYPE",(function(t,e,n){var s,o,E,h;if(void 0===a&&(a=r(91)),a("string"==typeof t,"'name' must be a string"),"string"==typeof e&&(o="not ",e.substr(!E||E<0?0:+E,o.length)===o)?(s="must not be",e=e.replace(/^not /,"")):s="must be",function(t,e,r){return(void 0===r||r>t.length)&&(r=t.length),t.substring(r-e.length,r)===e}(t," argument"))h="The ".concat(t," ").concat(s," ").concat(u(e,"type"));else{var l=function(t,e,r){return"number"!=typeof r&&(r=0),!(r+e.length>t.length)&&-1!==t.indexOf(e,r)}(t,".")?"property":"argument";h='The "'.concat(t,'" ').concat(l," ").concat(s," ").concat(u(e,"type"))}return h+=". Received type ".concat(i(n))}),TypeError),l("ERR_INVALID_ARG_VALUE",(function(t,e){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"is invalid";void 0===E&&(E=r(93));var n=E.inspect(e);return n.length>128&&(n="".concat(n.slice(0,128),"...")),"The argument '".concat(t,"' ").concat(i,". Received ").concat(n)}),TypeError,RangeError),l("ERR_INVALID_RETURN_VALUE",(function(t,e,r){var n;return n=r&&r.constructor&&r.constructor.name?"instance of ".concat(r.constructor.name):"type ".concat(i(r)),"Expected ".concat(t,' to be returned from the "').concat(e,'"')+" function but got ".concat(n,".")}),TypeError),l("ERR_MISSING_ARGS",(function(){for(var t=arguments.length,e=new Array(t),i=0;i<t;i++)e[i]=arguments[i];void 0===a&&(a=r(91)),a(e.length>0,"At least one arg needs to be specified");var n="The ",s=e.length;switch(e=e.map((function(t){return'"'.concat(t,'"')})),s){case 1:n+="".concat(e[0]," argument");break;case 2:n+="".concat(e[0]," and ").concat(e[1]," arguments");break;default:n+=e.slice(0,s-1).join(", "),n+=", and ".concat(e[s-1]," arguments")}return"".concat(n," must be specified")}),TypeError),t.exports.codes=h},(t,e,r)=>{var i=r(94),n=Object.getOwnPropertyDescriptors||function(t){for(var e=Object.keys(t),r={},i=0;i<e.length;i++)r[e[i]]=Object.getOwnPropertyDescriptor(t,e[i]);return r},s=/%[sdj%]/g;e.format=function(t){if(!N(t)){for(var e=[],r=0;r<arguments.length;r++)e.push(h(arguments[r]));return e.join(" ")}r=1;for(var i=arguments,n=i.length,o=String(t).replace(s,(function(t){if("%%"===t)return"%";if(r>=n)return t;switch(t){case"%s":return String(i[r++]);case"%d":return Number(i[r++]);case"%j":try{return JSON.stringify(i[r++])}catch(t){return"[Circular]"}default:return t}})),a=i[r];r<n;a=i[++r])A(a)||!_(a)?o+=" "+a:o+=" "+h(a);return o},e.deprecate=function(t,r){if(void 0!==i&&!0===i.noDeprecation)return t;if(void 0===i)return function(){return e.deprecate(t,r).apply(this,arguments)};var n=!1;return function(){if(!n){if(i.throwDeprecation)throw new Error(r);i.traceDeprecation?console.trace(r):console.error(r),n=!0}return t.apply(this,arguments)}};var o={},a=/^$/;if(i.env.NODE_DEBUG){var E=i.env.NODE_DEBUG;E=E.replace(/[|\\{}()[\]^$+?.]/g,"\\$&").replace(/\*/g,".*").replace(/,/g,"$|^").toUpperCase(),a=new RegExp("^"+E+"$","i")}function h(t,r){var i={seen:[],stylize:u};return arguments.length>=3&&(i.depth=arguments[2]),arguments.length>=4&&(i.colors=arguments[3]),S(r)?i.showHidden=r:r&&e._extend(i,r),O(i.showHidden)&&(i.showHidden=!1),O(i.depth)&&(i.depth=2),O(i.colors)&&(i.colors=!1),O(i.customInspect)&&(i.customInspect=!0),i.colors&&(i.stylize=l),c(i,t,i.depth)}function l(t,e){var r=h.styles[e];return r?"["+h.colors[r][0]+"m"+t+"["+h.colors[r][1]+"m":t}function u(t,e){return t}function c(t,r,i){if(t.customInspect&&r&&f(r.inspect)&&r.inspect!==e.inspect&&(!r.constructor||r.constructor.prototype!==r)){var n=r.inspect(i,t);return N(n)||(n=c(t,n,i)),n}var s=function(t,e){if(O(e))return t.stylize("undefined","undefined");if(N(e)){var r="'"+JSON.stringify(e).replace(/^"|"$/g,"").replace(/'/g,"\\'").replace(/\\"/g,'"')+"'";return t.stylize(r,"string")}if(d(e))return t.stylize(""+e,"number");if(S(e))return t.stylize(""+e,"boolean");if(A(e))return t.stylize("null","null")}(t,r);if(s)return s;var o=Object.keys(r),a=function(t){var e={};return t.forEach((function(t,r){e[t]=!0})),e}(o);if(t.showHidden&&(o=Object.getOwnPropertyNames(r)),L(r)&&(o.indexOf("message")>=0||o.indexOf("description")>=0))return T(r);if(0===o.length){if(f(r)){var E=r.name?": "+r.name:"";return t.stylize("[Function"+E+"]","special")}if(C(r))return t.stylize(RegExp.prototype.toString.call(r),"regexp");if(I(r))return t.stylize(Date.prototype.toString.call(r),"date");if(L(r))return T(r)}var h,l="",u=!1,_=["{","}"];(p(r)&&(u=!0,_=["[","]"]),f(r))&&(l=" [Function"+(r.name?": "+r.name:"")+"]");return C(r)&&(l=" "+RegExp.prototype.toString.call(r)),I(r)&&(l=" "+Date.prototype.toUTCString.call(r)),L(r)&&(l=" "+T(r)),0!==o.length||u&&0!=r.length?i<0?C(r)?t.stylize(RegExp.prototype.toString.call(r),"regexp"):t.stylize("[Object]","special"):(t.seen.push(r),h=u?function(t,e,r,i,n){for(var s=[],o=0,a=e.length;o<a;++o)g(e,String(o))?s.push(R(t,e,r,i,String(o),!0)):s.push("");return n.forEach((function(n){n.match(/^\d+$/)||s.push(R(t,e,r,i,n,!0))})),s}(t,r,i,a,o):o.map((function(e){return R(t,r,i,a,e,u)})),t.seen.pop(),function(t,e,r){var i=t.reduce((function(t,e){return e.indexOf("\n")>=0&&0,t+e.replace(/\u001b\[\d\d?m/g,"").length+1}),0);if(i>60)return r[0]+(""===e?"":e+"\n ")+" "+t.join(",\n ")+" "+r[1];return r[0]+e+" "+t.join(", ")+" "+r[1]}(h,l,_)):_[0]+l+_[1]}function T(t){return"["+Error.prototype.toString.call(t)+"]"}function R(t,e,r,i,n,s){var o,a,E;if((E=Object.getOwnPropertyDescriptor(e,n)||{value:e[n]}).get?a=E.set?t.stylize("[Getter/Setter]","special"):t.stylize("[Getter]","special"):E.set&&(a=t.stylize("[Setter]","special")),g(i,n)||(o="["+n+"]"),a||(t.seen.indexOf(E.value)<0?(a=A(r)?c(t,E.value,null):c(t,E.value,r-1)).indexOf("\n")>-1&&(a=s?a.split("\n").map((function(t){return" "+t})).join("\n").slice(2):"\n"+a.split("\n").map((function(t){return" "+t})).join("\n")):a=t.stylize("[Circular]","special")),O(o)){if(s&&n.match(/^\d+$/))return a;(o=JSON.stringify(""+n)).match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)?(o=o.slice(1,-1),o=t.stylize(o,"name")):(o=o.replace(/'/g,"\\'").replace(/\\"/g,'"').replace(/(^"|"$)/g,"'"),o=t.stylize(o,"string"))}return o+": "+a}function p(t){return Array.isArray(t)}function S(t){return"boolean"==typeof t}function A(t){return null===t}function d(t){return"number"==typeof t}function N(t){return"string"==typeof t}function O(t){return void 0===t}function C(t){return _(t)&&"[object RegExp]"===m(t)}function _(t){return"object"==typeof t&&null!==t}function I(t){return _(t)&&"[object Date]"===m(t)}function L(t){return _(t)&&("[object Error]"===m(t)||t instanceof Error)}function f(t){return"function"==typeof t}function m(t){return Object.prototype.toString.call(t)}function y(t){return t<10?"0"+t.toString(10):t.toString(10)}e.debuglog=function(t){if(t=t.toUpperCase(),!o[t])if(a.test(t)){var r=i.pid;o[t]=function(){var i=e.format.apply(e,arguments);console.error("%s %d: %s",t,r,i)}}else o[t]=function(){};return o[t]},e.inspect=h,h.colors={bold:[1,22],italic:[3,23],underline:[4,24],inverse:[7,27],white:[37,39],grey:[90,39],black:[30,39],blue:[34,39],cyan:[36,39],green:[32,39],magenta:[35,39],red:[31,39],yellow:[33,39]},h.styles={special:"cyan",number:"yellow",boolean:"yellow",undefined:"grey",null:"bold",string:"green",date:"magenta",regexp:"red"},e.types=r(95),e.isArray=p,e.isBoolean=S,e.isNull=A,e.isNullOrUndefined=function(t){return null==t},e.isNumber=d,e.isString=N,e.isSymbol=function(t){return"symbol"==typeof t},e.isUndefined=O,e.isRegExp=C,e.types.isRegExp=C,e.isObject=_,e.isDate=I,e.types.isDate=I,e.isError=L,e.types.isNativeError=L,e.isFunction=f,e.isPrimitive=function(t){return null===t||"boolean"==typeof t||"number"==typeof t||"string"==typeof t||"symbol"==typeof t||void 0===t},e.isBuffer=r(113);var x=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];function g(t,e){return Object.prototype.hasOwnProperty.call(t,e)}e.log=function(){var t,r;console.log("%s - %s",(t=new Date,r=[y(t.getHours()),y(t.getMinutes()),y(t.getSeconds())].join(":"),[t.getDate(),x[t.getMonth()],r].join(" ")),e.format.apply(e,arguments))},e.inherits=r(114),e._extend=function(t,e){if(!e||!_(e))return t;for(var r=Object.keys(e),i=r.length;i--;)t[r[i]]=e[r[i]];return t};var P="undefined"!=typeof Symbol?Symbol("util.promisify.custom"):void 0;function D(t,e){if(!t){var r=new Error("Promise was rejected with a falsy value");r.reason=t,t=r}return e(t)}e.promisify=function(t){if("function"!=typeof t)throw new TypeError('The "original" argument must be of type Function');if(P&&t[P]){var e;if("function"!=typeof(e=t[P]))throw new TypeError('The "util.promisify.custom" argument must be of type Function');return Object.defineProperty(e,P,{value:e,enumerable:!1,writable:!1,configurable:!0}),e}function e(){for(var e,r,i=new Promise((function(t,i){e=t,r=i})),n=[],s=0;s<arguments.length;s++)n.push(arguments[s]);n.push((function(t,i){t?r(t):e(i)}));try{t.apply(this,n)}catch(t){r(t)}return i}return Object.setPrototypeOf(e,Object.getPrototypeOf(t)),P&&Object.defineProperty(e,P,{value:e,enumerable:!1,writable:!1,configurable:!0}),Object.defineProperties(e,n(t))},e.promisify.custom=P,e.callbackify=function(t){if("function"!=typeof t)throw new TypeError('The "original" argument must be of type Function');function e(){for(var e=[],r=0;r<arguments.length;r++)e.push(arguments[r]);var n=e.pop();if("function"!=typeof n)throw new TypeError("The last argument must be of type Function");var s=this,o=function(){return n.apply(s,arguments)};t.apply(this,e).then((function(t){i.nextTick(o.bind(null,null,t))}),(function(t){i.nextTick(D.bind(null,t,o))}))}return Object.setPrototypeOf(e,Object.getPrototypeOf(t)),Object.defineProperties(e,n(t)),e}},t=>{var e,r,i=t.exports={};function n(){throw new Error("setTimeout has not been defined")}function s(){throw new Error("clearTimeout has not been defined")}function o(t){if(e===setTimeout)return setTimeout(t,0);if((e===n||!e)&&setTimeout)return e=setTimeout,setTimeout(t,0);try{return e(t,0)}catch(r){try{return e.call(null,t,0)}catch(r){return e.call(this,t,0)}}}!function(){try{e="function"==typeof setTimeout?setTimeout:n}catch(t){e=n}try{r="function"==typeof clearTimeout?clearTimeout:s}catch(t){r=s}}();var a,E=[],h=!1,l=-1;function u(){h&&a&&(h=!1,a.length?E=a.concat(E):l=-1,E.length&&c())}function c(){if(!h){var t=o(u);h=!0;for(var e=E.length;e;){for(a=E,E=[];++l<e;)a&&a[l].run();l=-1,e=E.length}a=null,h=!1,function(t){if(r===clearTimeout)return clearTimeout(t);if((r===s||!r)&&clearTimeout)return r=clearTimeout,clearTimeout(t);try{return r(t)}catch(e){try{return r.call(null,t)}catch(e){return r.call(this,t)}}}(t)}}function T(t,e){this.fun=t,this.array=e}function R(){}i.nextTick=function(t){var e=new Array(arguments.length-1);if(arguments.length>1)for(var r=1;r<arguments.length;r++)e[r-1]=arguments[r];E.push(new T(t,e)),1!==E.length||h||o(c)},T.prototype.run=function(){this.fun.apply(null,this.array)},i.title="browser",i.browser=!0,i.env={},i.argv=[],i.version="",i.versions={},i.on=R,i.addListener=R,i.once=R,i.off=R,i.removeListener=R,i.removeAllListeners=R,i.emit=R,i.prependListener=R,i.prependOnceListener=R,i.listeners=function(t){return[]},i.binding=function(t){throw new Error("process.binding is not supported")},i.cwd=function(){return"/"},i.chdir=function(t){throw new Error("process.chdir is not supported")},i.umask=function(){return 0}},(t,e,r)=>{"use strict";var i=r(96),n=r(106),s=r(107),o=r(112);function a(t){return t.call.bind(t)}var E="undefined"!=typeof BigInt,h="undefined"!=typeof Symbol,l=a(Object.prototype.toString),u=a(Number.prototype.valueOf),c=a(String.prototype.valueOf),T=a(Boolean.prototype.valueOf);if(E)var R=a(BigInt.prototype.valueOf);if(h)var p=a(Symbol.prototype.valueOf);function S(t,e){if("object"!=typeof t)return!1;try{return e(t),!0}catch(t){return!1}}function A(t){return"[object Map]"===l(t)}function d(t){return"[object Set]"===l(t)}function N(t){return"[object WeakMap]"===l(t)}function O(t){return"[object WeakSet]"===l(t)}function C(t){return"[object ArrayBuffer]"===l(t)}function _(t){return"undefined"!=typeof ArrayBuffer&&(C.working?C(t):t instanceof ArrayBuffer)}function I(t){return"[object DataView]"===l(t)}function L(t){return"undefined"!=typeof DataView&&(I.working?I(t):t instanceof DataView)}e.isArgumentsObject=i,e.isGeneratorFunction=n,e.isTypedArray=o,e.isPromise=function(t){return"undefined"!=typeof Promise&&t instanceof Promise||null!==t&&"object"==typeof t&&"function"==typeof t.then&&"function"==typeof t.catch},e.isArrayBufferView=function(t){return"undefined"!=typeof ArrayBuffer&&ArrayBuffer.isView?ArrayBuffer.isView(t):o(t)||L(t)},e.isUint8Array=function(t){return"Uint8Array"===s(t)},e.isUint8ClampedArray=function(t){return"Uint8ClampedArray"===s(t)},e.isUint16Array=function(t){return"Uint16Array"===s(t)},e.isUint32Array=function(t){return"Uint32Array"===s(t)},e.isInt8Array=function(t){return"Int8Array"===s(t)},e.isInt16Array=function(t){return"Int16Array"===s(t)},e.isInt32Array=function(t){return"Int32Array"===s(t)},e.isFloat32Array=function(t){return"Float32Array"===s(t)},e.isFloat64Array=function(t){return"Float64Array"===s(t)},e.isBigInt64Array=function(t){return"BigInt64Array"===s(t)},e.isBigUint64Array=function(t){return"BigUint64Array"===s(t)},A.working="undefined"!=typeof Map&&A(new Map),e.isMap=function(t){return"undefined"!=typeof Map&&(A.working?A(t):t instanceof Map)},d.working="undefined"!=typeof Set&&d(new Set),e.isSet=function(t){return"undefined"!=typeof Set&&(d.working?d(t):t instanceof Set)},N.working="undefined"!=typeof WeakMap&&N(new WeakMap),e.isWeakMap=function(t){return"undefined"!=typeof WeakMap&&(N.working?N(t):t instanceof WeakMap)},O.working="undefined"!=typeof WeakSet&&O(new WeakSet),e.isWeakSet=function(t){return O(t)},C.working="undefined"!=typeof ArrayBuffer&&C(new ArrayBuffer),e.isArrayBuffer=_,I.working="undefined"!=typeof ArrayBuffer&&"undefined"!=typeof DataView&&I(new DataView(new ArrayBuffer(1),0,1)),e.isDataView=L;var f="undefined"!=typeof SharedArrayBuffer?SharedArrayBuffer:void 0;function m(t){return"[object SharedArrayBuffer]"===l(t)}function y(t){return void 0!==f&&(void 0===m.working&&(m.working=m(new f)),m.working?m(t):t instanceof f)}function x(t){return S(t,u)}function g(t){return S(t,c)}function P(t){return S(t,T)}function D(t){return E&&S(t,R)}function M(t){return h&&S(t,p)}e.isSharedArrayBuffer=y,e.isAsyncFunction=function(t){return"[object AsyncFunction]"===l(t)},e.isMapIterator=function(t){return"[object Map Iterator]"===l(t)},e.isSetIterator=function(t){return"[object Set Iterator]"===l(t)},e.isGeneratorObject=function(t){return"[object Generator]"===l(t)},e.isWebAssemblyCompiledModule=function(t){return"[object WebAssembly.Module]"===l(t)},e.isNumberObject=x,e.isStringObject=g,e.isBooleanObject=P,e.isBigIntObject=D,e.isSymbolObject=M,e.isBoxedPrimitive=function(t){return x(t)||g(t)||P(t)||D(t)||M(t)},e.isAnyArrayBuffer=function(t){return"undefined"!=typeof Uint8Array&&(_(t)||y(t))},["isProxy","isExternal","isModuleNamespaceObject"].forEach((function(t){Object.defineProperty(e,t,{enumerable:!1,value:function(){throw new Error(t+" is not supported in userland")}})}))},(t,e,r)=>{"use strict";var i=r(97)(),n=r(99)("Object.prototype.toString"),s=function(t){return!(i&&t&&"object"==typeof t&&Symbol.toStringTag in t)&&"[object Arguments]"===n(t)},o=function(t){return!!s(t)||null!==t&&"object"==typeof t&&"number"==typeof t.length&&t.length>=0&&"[object Array]"!==n(t)&&"[object Function]"===n(t.callee)},a=function(){return s(arguments)}();s.isLegacyArguments=o,t.exports=a?s:o},(t,e,r)=>{"use strict";var i=r(98);t.exports=function(){return i()&&!!Symbol.toStringTag}},t=>{"use strict";t.exports=function(){if("function"!=typeof Symbol||"function"!=typeof Object.getOwnPropertySymbols)return!1;if("symbol"==typeof Symbol.iterator)return!0;var t={},e=Symbol("test"),r=Object(e);if("string"==typeof e)return!1;if("[object Symbol]"!==Object.prototype.toString.call(e))return!1;if("[object Symbol]"!==Object.prototype.toString.call(r))return!1;for(e in t[e]=42,t)return!1;if("function"==typeof Object.keys&&0!==Object.keys(t).length)return!1;if("function"==typeof Object.getOwnPropertyNames&&0!==Object.getOwnPropertyNames(t).length)return!1;var i=Object.getOwnPropertySymbols(t);if(1!==i.length||i[0]!==e)return!1;if(!Object.prototype.propertyIsEnumerable.call(t,e))return!1;if("function"==typeof Object.getOwnPropertyDescriptor){var n=Object.getOwnPropertyDescriptor(t,e);if(42!==n.value||!0!==n.enumerable)return!1}return!0}},(t,e,r)=>{"use strict";var i=r(100),n=r(105),s=n(i("String.prototype.indexOf"));t.exports=function(t,e){var r=i(t,!!e);return"function"==typeof r&&s(t,".prototype.")>-1?n(r):r}},(t,e,r)=>{"use strict";var i,n=SyntaxError,s=Function,o=TypeError,a=function(t){try{return s('"use strict"; return ('+t+").constructor;")()}catch(t){}},E=Object.getOwnPropertyDescriptor;if(E)try{E({},"")}catch(t){E=null}var h=function(){throw new o},l=E?function(){try{return h}catch(t){try{return E(arguments,"callee").get}catch(t){return h}}}():h,u=r(101)(),c=Object.getPrototypeOf||function(t){return t.__proto__},T={},R="undefined"==typeof Uint8Array?i:c(Uint8Array),p={"%AggregateError%":"undefined"==typeof AggregateError?i:AggregateError,"%Array%":Array,"%ArrayBuffer%":"undefined"==typeof ArrayBuffer?i:ArrayBuffer,"%ArrayIteratorPrototype%":u?c([][Symbol.iterator]()):i,"%AsyncFromSyncIteratorPrototype%":i,"%AsyncFunction%":T,"%AsyncGenerator%":T,"%AsyncGeneratorFunction%":T,"%AsyncIteratorPrototype%":T,"%Atomics%":"undefined"==typeof Atomics?i:Atomics,"%BigInt%":"undefined"==typeof BigInt?i:BigInt,"%BigInt64Array%":"undefined"==typeof BigInt64Array?i:BigInt64Array,"%BigUint64Array%":"undefined"==typeof BigUint64Array?i:BigUint64Array,"%Boolean%":Boolean,"%DataView%":"undefined"==typeof DataView?i:DataView,"%Date%":Date,"%decodeURI%":decodeURI,"%decodeURIComponent%":decodeURIComponent,"%encodeURI%":encodeURI,"%encodeURIComponent%":encodeURIComponent,"%Error%":Error,"%eval%":eval,"%EvalError%":EvalError,"%Float32Array%":"undefined"==typeof Float32Array?i:Float32Array,"%Float64Array%":"undefined"==typeof Float64Array?i:Float64Array,"%FinalizationRegistry%":"undefined"==typeof FinalizationRegistry?i:FinalizationRegistry,"%Function%":s,"%GeneratorFunction%":T,"%Int8Array%":"undefined"==typeof Int8Array?i:Int8Array,"%Int16Array%":"undefined"==typeof Int16Array?i:Int16Array,"%Int32Array%":"undefined"==typeof Int32Array?i:Int32Array,"%isFinite%":isFinite,"%isNaN%":isNaN,"%IteratorPrototype%":u?c(c([][Symbol.iterator]())):i,"%JSON%":"object"==typeof JSON?JSON:i,"%Map%":"undefined"==typeof Map?i:Map,"%MapIteratorPrototype%":"undefined"!=typeof Map&&u?c((new Map)[Symbol.iterator]()):i,"%Math%":Math,"%Number%":Number,"%Object%":Object,"%parseFloat%":parseFloat,"%parseInt%":parseInt,"%Promise%":"undefined"==typeof Promise?i:Promise,"%Proxy%":"undefined"==typeof Proxy?i:Proxy,"%RangeError%":RangeError,"%ReferenceError%":ReferenceError,"%Reflect%":"undefined"==typeof Reflect?i:Reflect,"%RegExp%":RegExp,"%Set%":"undefined"==typeof Set?i:Set,"%SetIteratorPrototype%":"undefined"!=typeof Set&&u?c((new Set)[Symbol.iterator]()):i,"%SharedArrayBuffer%":"undefined"==typeof SharedArrayBuffer?i:SharedArrayBuffer,"%String%":String,"%StringIteratorPrototype%":u?c(""[Symbol.iterator]()):i,"%Symbol%":u?Symbol:i,"%SyntaxError%":n,"%ThrowTypeError%":l,"%TypedArray%":R,"%TypeError%":o,"%Uint8Array%":"undefined"==typeof Uint8Array?i:Uint8Array,"%Uint8ClampedArray%":"undefined"==typeof Uint8ClampedArray?i:Uint8ClampedArray,"%Uint16Array%":"undefined"==typeof Uint16Array?i:Uint16Array,"%Uint32Array%":"undefined"==typeof Uint32Array?i:Uint32Array,"%URIError%":URIError,"%WeakMap%":"undefined"==typeof WeakMap?i:WeakMap,"%WeakRef%":"undefined"==typeof WeakRef?i:WeakRef,"%WeakSet%":"undefined"==typeof WeakSet?i:WeakSet};try{null.error}catch(t){var S=c(c(t));p["%Error.prototype%"]=S}var A=function t(e){var r;if("%AsyncFunction%"===e)r=a("async function () {}");else if("%GeneratorFunction%"===e)r=a("function* () {}");else if("%AsyncGeneratorFunction%"===e)r=a("async function* () {}");else if("%AsyncGenerator%"===e){var i=t("%AsyncGeneratorFunction%");i&&(r=i.prototype)}else if("%AsyncIteratorPrototype%"===e){var n=t("%AsyncGenerator%");n&&(r=c(n.prototype))}return p[e]=r,r},d={"%ArrayBufferPrototype%":["ArrayBuffer","prototype"],"%ArrayPrototype%":["Array","prototype"],"%ArrayProto_entries%":["Array","prototype","entries"],"%ArrayProto_forEach%":["Array","prototype","forEach"],"%ArrayProto_keys%":["Array","prototype","keys"],"%ArrayProto_values%":["Array","prototype","values"],"%AsyncFunctionPrototype%":["AsyncFunction","prototype"],"%AsyncGenerator%":["AsyncGeneratorFunction","prototype"],"%AsyncGeneratorPrototype%":["AsyncGeneratorFunction","prototype","prototype"],"%BooleanPrototype%":["Boolean","prototype"],"%DataViewPrototype%":["DataView","prototype"],"%DatePrototype%":["Date","prototype"],"%ErrorPrototype%":["Error","prototype"],"%EvalErrorPrototype%":["EvalError","prototype"],"%Float32ArrayPrototype%":["Float32Array","prototype"],"%Float64ArrayPrototype%":["Float64Array","prototype"],"%FunctionPrototype%":["Function","prototype"],"%Generator%":["GeneratorFunction","prototype"],"%GeneratorPrototype%":["GeneratorFunction","prototype","prototype"],"%Int8ArrayPrototype%":["Int8Array","prototype"],"%Int16ArrayPrototype%":["Int16Array","prototype"],"%Int32ArrayPrototype%":["Int32Array","prototype"],"%JSONParse%":["JSON","parse"],"%JSONStringify%":["JSON","stringify"],"%MapPrototype%":["Map","prototype"],"%NumberPrototype%":["Number","prototype"],"%ObjectPrototype%":["Object","prototype"],"%ObjProto_toString%":["Object","prototype","toString"],"%ObjProto_valueOf%":["Object","prototype","valueOf"],"%PromisePrototype%":["Promise","prototype"],"%PromiseProto_then%":["Promise","prototype","then"],"%Promise_all%":["Promise","all"],"%Promise_reject%":["Promise","reject"],"%Promise_resolve%":["Promise","resolve"],"%RangeErrorPrototype%":["RangeError","prototype"],"%ReferenceErrorPrototype%":["ReferenceError","prototype"],"%RegExpPrototype%":["RegExp","prototype"],"%SetPrototype%":["Set","prototype"],"%SharedArrayBufferPrototype%":["SharedArrayBuffer","prototype"],"%StringPrototype%":["String","prototype"],"%SymbolPrototype%":["Symbol","prototype"],"%SyntaxErrorPrototype%":["SyntaxError","prototype"],"%TypedArrayPrototype%":["TypedArray","prototype"],"%TypeErrorPrototype%":["TypeError","prototype"],"%Uint8ArrayPrototype%":["Uint8Array","prototype"],"%Uint8ClampedArrayPrototype%":["Uint8ClampedArray","prototype"],"%Uint16ArrayPrototype%":["Uint16Array","prototype"],"%Uint32ArrayPrototype%":["Uint32Array","prototype"],"%URIErrorPrototype%":["URIError","prototype"],"%WeakMapPrototype%":["WeakMap","prototype"],"%WeakSetPrototype%":["WeakSet","prototype"]},N=r(102),O=r(104),C=N.call(Function.call,Array.prototype.concat),_=N.call(Function.apply,Array.prototype.splice),I=N.call(Function.call,String.prototype.replace),L=N.call(Function.call,String.prototype.slice),f=N.call(Function.call,RegExp.prototype.exec),m=/[^%.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|%$))/g,y=/\\(\\)?/g,x=function(t){var e=L(t,0,1),r=L(t,-1);if("%"===e&&"%"!==r)throw new n("invalid intrinsic syntax, expected closing `%`");if("%"===r&&"%"!==e)throw new n("invalid intrinsic syntax, expected opening `%`");var i=[];return I(t,m,(function(t,e,r,n){i[i.length]=r?I(n,y,"$1"):e||t})),i},g=function(t,e){var r,i=t;if(O(d,i)&&(i="%"+(r=d[i])[0]+"%"),O(p,i)){var s=p[i];if(s===T&&(s=A(i)),void 0===s&&!e)throw new o("intrinsic "+t+" exists, but is not available. Please file an issue!");return{alias:r,name:i,value:s}}throw new n("intrinsic "+t+" does not exist!")};t.exports=function(t,e){if("string"!=typeof t||0===t.length)throw new o("intrinsic name must be a non-empty string");if(arguments.length>1&&"boolean"!=typeof e)throw new o('"allowMissing" argument must be a boolean');if(null===f(/^%?[^%]*%?$/,t))throw new n("`%` may not be present anywhere but at the beginning and end of the intrinsic name");var r=x(t),i=r.length>0?r[0]:"",s=g("%"+i+"%",e),a=s.name,h=s.value,l=!1,u=s.alias;u&&(i=u[0],_(r,C([0,1],u)));for(var c=1,T=!0;c<r.length;c+=1){var R=r[c],S=L(R,0,1),A=L(R,-1);if(('"'===S||"'"===S||"`"===S||'"'===A||"'"===A||"`"===A)&&S!==A)throw new n("property names with quotes must have matching quotes");if("constructor"!==R&&T||(l=!0),O(p,a="%"+(i+="."+R)+"%"))h=p[a];else if(null!=h){if(!(R in h)){if(!e)throw new o("base intrinsic for "+t+" exists, but the property is not available.");return}if(E&&c+1>=r.length){var d=E(h,R);h=(T=!!d)&&"get"in d&&!("originalValue"in d.get)?d.get:h[R]}else T=O(h,R),h=h[R];T&&!l&&(p[a]=h)}}return h}},(t,e,r)=>{"use strict";var i="undefined"!=typeof Symbol&&Symbol,n=r(98);t.exports=function(){return"function"==typeof i&&("function"==typeof Symbol&&("symbol"==typeof i("foo")&&("symbol"==typeof Symbol("bar")&&n())))}},(t,e,r)=>{"use strict";var i=r(103);t.exports=Function.prototype.bind||i},t=>{"use strict";var e="Function.prototype.bind called on incompatible ",r=Array.prototype.slice,i=Object.prototype.toString,n="[object Function]";t.exports=function(t){var s=this;if("function"!=typeof s||i.call(s)!==n)throw new TypeError(e+s);for(var o,a=r.call(arguments,1),E=Math.max(0,s.length-a.length),h=[],l=0;l<E;l++)h.push("$"+l);if(o=Function("binder","return function ("+h.join(",")+"){ return binder.apply(this,arguments); }")((function(){if(this instanceof o){var e=s.apply(this,a.concat(r.call(arguments)));return Object(e)===e?e:this}return s.apply(t,a.concat(r.call(arguments)))})),s.prototype){var u=function(){};u.prototype=s.prototype,o.prototype=new u,u.prototype=null}return o}},(t,e,r)=>{"use strict";var i=r(102);t.exports=i.call(Function.call,Object.prototype.hasOwnProperty)},(t,e,r)=>{"use strict";var i=r(102),n=r(100),s=n("%Function.prototype.apply%"),o=n("%Function.prototype.call%"),a=n("%Reflect.apply%",!0)||i.call(o,s),E=n("%Object.getOwnPropertyDescriptor%",!0),h=n("%Object.defineProperty%",!0),l=n("%Math.max%");if(h)try{h({},"a",{value:1})}catch(t){h=null}t.exports=function(t){var e=a(i,o,arguments);E&&h&&(E(e,"length").configurable&&h(e,"length",{value:1+l(0,t.length-(arguments.length-1))}));return e};var u=function(){return a(i,s,arguments)};h?h(t.exports,"apply",{value:u}):t.exports.apply=u},(t,e,r)=>{"use strict";var i,n=Object.prototype.toString,s=Function.prototype.toString,o=/^\s*(?:function)?\*/,a=r(97)(),E=Object.getPrototypeOf;t.exports=function(t){if("function"!=typeof t)return!1;if(o.test(s.call(t)))return!0;if(!a)return"[object GeneratorFunction]"===n.call(t);if(!E)return!1;if(void 0===i){var e=function(){if(!a)return!1;try{return Function("return function*() {}")()}catch(t){}}();i=!!e&&E(e)}return E(t)===i}},(t,e,r)=>{"use strict";var i=r(108),n=r(110),s=r(99),o=r(111),a=s("Object.prototype.toString"),E=r(97)(),h="undefined"==typeof globalThis?r.g:globalThis,l=n(),u=s("String.prototype.slice"),c={},T=Object.getPrototypeOf;E&&o&&T&&i(l,(function(t){if("function"==typeof h[t]){var e=new h[t];if(Symbol.toStringTag in e){var r=T(e),i=o(r,Symbol.toStringTag);if(!i){var n=T(r);i=o(n,Symbol.toStringTag)}c[t]=i.get}}}));var R=r(112);t.exports=function(t){return!!R(t)&&(E&&Symbol.toStringTag in t?function(t){var e=!1;return i(c,(function(r,i){if(!e)try{var n=r.call(t);n===i&&(e=n)}catch(t){}})),e}(t):u(a(t),8,-1))}},(t,e,r)=>{"use strict";var i=r(109),n=Object.prototype.toString,s=Object.prototype.hasOwnProperty,o=function(t,e,r){for(var i=0,n=t.length;i<n;i++)s.call(t,i)&&(null==r?e(t[i],i,t):e.call(r,t[i],i,t))},a=function(t,e,r){for(var i=0,n=t.length;i<n;i++)null==r?e(t.charAt(i),i,t):e.call(r,t.charAt(i),i,t)},E=function(t,e,r){for(var i in t)s.call(t,i)&&(null==r?e(t[i],i,t):e.call(r,t[i],i,t))};t.exports=function(t,e,r){if(!i(e))throw new TypeError("iterator must be a function");var s;arguments.length>=3&&(s=r),"[object Array]"===n.call(t)?o(t,e,s):"string"==typeof t?a(t,e,s):E(t,e,s)}},t=>{"use strict";var e,r,i=Function.prototype.toString,n="object"==typeof Reflect&&null!==Reflect&&Reflect.apply;if("function"==typeof n&&"function"==typeof Object.defineProperty)try{e=Object.defineProperty({},"length",{get:function(){throw r}}),r={},n((function(){throw 42}),null,e)}catch(t){t!==r&&(n=null)}else n=null;var s=/^\s*class\b/,o=function(t){try{var e=i.call(t);return s.test(e)}catch(t){return!1}},a=function(t){try{return!o(t)&&(i.call(t),!0)}catch(t){return!1}},E=Object.prototype.toString,h="function"==typeof Symbol&&!!Symbol.toStringTag,l=!(0 in[,]),u=function(){return!1};if("object"==typeof document){var c=document.all;E.call(c)===E.call(document.all)&&(u=function(t){if((l||!t)&&(void 0===t||"object"==typeof t))try{var e=E.call(t);return("[object HTMLAllCollection]"===e||"[object HTML document.all class]"===e||"[object HTMLCollection]"===e||"[object Object]"===e)&&null==t("")}catch(t){}return!1})}t.exports=n?function(t){if(u(t))return!0;if(!t)return!1;if("function"!=typeof t&&"object"!=typeof t)return!1;try{n(t,null,e)}catch(t){if(t!==r)return!1}return!o(t)&&a(t)}:function(t){if(u(t))return!0;if(!t)return!1;if("function"!=typeof t&&"object"!=typeof t)return!1;if(h)return a(t);if(o(t))return!1;var e=E.call(t);return!("[object Function]"!==e&&"[object GeneratorFunction]"!==e&&!/^\[object HTML/.test(e))&&a(t)}},(t,e,r)=>{"use strict";var i=["BigInt64Array","BigUint64Array","Float32Array","Float64Array","Int16Array","Int32Array","Int8Array","Uint16Array","Uint32Array","Uint8Array","Uint8ClampedArray"],n="undefined"==typeof globalThis?r.g:globalThis;t.exports=function(){for(var t=[],e=0;e<i.length;e++)"function"==typeof n[i[e]]&&(t[t.length]=i[e]);return t}},(t,e,r)=>{"use strict";var i=r(100)("%Object.getOwnPropertyDescriptor%",!0);if(i)try{i([],"length")}catch(t){i=null}t.exports=i},(t,e,r)=>{"use strict";var i=r(108),n=r(110),s=r(99),o=s("Object.prototype.toString"),a=r(97)(),E=r(111),h="undefined"==typeof globalThis?r.g:globalThis,l=n(),u=s("Array.prototype.indexOf",!0)||function(t,e){for(var r=0;r<t.length;r+=1)if(t[r]===e)return r;return-1},c=s("String.prototype.slice"),T={},R=Object.getPrototypeOf;a&&E&&R&&i(l,(function(t){var e=new h[t];if(Symbol.toStringTag in e){var r=R(e),i=E(r,Symbol.toStringTag);if(!i){var n=R(r);i=E(n,Symbol.toStringTag)}T[t]=i.get}}));t.exports=function(t){if(!t||"object"!=typeof t)return!1;if(!a||!(Symbol.toStringTag in t)){var e=c(o(t),8,-1);return u(l,e)>-1}return!!E&&function(t){var e=!1;return i(T,(function(r,i){if(!e)try{e=r.call(t)===i}catch(t){}})),e}(t)}},t=>{t.exports=function(t){return t&&"object"==typeof t&&"function"==typeof t.copy&&"function"==typeof t.fill&&"function"==typeof t.readUInt8}},(t,e,r)=>{try{var i=r(93);if("function"!=typeof i.inherits)throw"";t.exports=i.inherits}catch(e){t.exports=r(115)}},t=>{"function"==typeof Object.create?t.exports=function(t,e){e&&(t.super_=e,t.prototype=Object.create(e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}))}:t.exports=function(t,e){if(e){t.super_=e;var r=function(){};r.prototype=e.prototype,t.prototype=new r,t.prototype.constructor=t}}},(t,e,r)=>{"use strict";var i=r(94);function n(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function s(t,e){for(var r=0;r<e.length;r++){var i=e[r];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,i.key,i)}}function o(t,e){return!e||"object"!==c(e)&&"function"!=typeof e?a(t):e}function a(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}function E(t){var e="function"==typeof Map?new Map:void 0;return E=function(t){if(null===t||(r=t,-1===Function.toString.call(r).indexOf("[native code]")))return t;var r;if("function"!=typeof t)throw new TypeError("Super expression must either be null or a function");if(void 0!==e){if(e.has(t))return e.get(t);e.set(t,i)}function i(){return h(t,arguments,u(this).constructor)}return i.prototype=Object.create(t.prototype,{constructor:{value:i,enumerable:!1,writable:!0,configurable:!0}}),l(i,t)},E(t)}function h(t,e,r){return h=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(t){return!1}}()?Reflect.construct:function(t,e,r){var i=[null];i.push.apply(i,e);var n=new(Function.bind.apply(t,i));return r&&l(n,r.prototype),n},h.apply(null,arguments)}function l(t,e){return l=Object.setPrototypeOf||function(t,e){return t.__proto__=e,t},l(t,e)}function u(t){return u=Object.setPrototypeOf?Object.getPrototypeOf:function(t){return t.__proto__||Object.getPrototypeOf(t)},u(t)}function c(t){return c="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},c(t)}var T=r(93).inspect,R=r(92).codes.ERR_INVALID_ARG_TYPE;function p(t,e,r){return(void 0===r||r>t.length)&&(r=t.length),t.substring(r-e.length,r)===e}var S="",A="",d="",N="",O={deepStrictEqual:"Expected values to be strictly deep-equal:",strictEqual:"Expected values to be strictly equal:",strictEqualObject:'Expected "actual" to be reference-equal to "expected":',deepEqual:"Expected values to be loosely deep-equal:",equal:"Expected values to be loosely equal:",notDeepStrictEqual:'Expected "actual" not to be strictly deep-equal to:',notStrictEqual:'Expected "actual" to be strictly unequal to:',notStrictEqualObject:'Expected "actual" not to be reference-equal to "expected":',notDeepEqual:'Expected "actual" not to be loosely deep-equal to:',notEqual:'Expected "actual" to be loosely unequal to:',notIdentical:"Values identical but not reference-equal:"},C=10;function _(t){var e=Object.keys(t),r=Object.create(Object.getPrototypeOf(t));return e.forEach((function(e){r[e]=t[e]})),Object.defineProperty(r,"message",{value:t.message}),r}function I(t){return T(t,{compact:!1,customInspect:!1,depth:1e3,maxArrayLength:1/0,showHidden:!1,breakLength:1/0,showProxy:!1,sorted:!0,getters:!0})}function L(t,e,r){var n="",s="",o=0,a="",E=!1,h=I(t),l=h.split("\n"),u=I(e).split("\n"),T=0,R="";if("strictEqual"===r&&"object"===c(t)&&"object"===c(e)&&null!==t&&null!==e&&(r="strictEqualObject"),1===l.length&&1===u.length&&l[0]!==u[0]){var _=l[0].length+u[0].length;if(_<=C){if(!("object"===c(t)&&null!==t||"object"===c(e)&&null!==e||0===t&&0===e))return"".concat(O[r],"\n\n")+"".concat(l[0]," !== ").concat(u[0],"\n")}else if("strictEqualObject"!==r){if(_<(i.stderr&&i.stderr.isTTY?i.stderr.columns:80)){for(;l[0][T]===u[0][T];)T++;T>2&&(R="\n ".concat(function(t,e){if(e=Math.floor(e),0==t.length||0==e)return"";var r=t.length*e;for(e=Math.floor(Math.log(e)/Math.log(2));e;)t+=t,e--;return t+t.substring(0,r-t.length)}(" ",T),"^"),T=0)}}}for(var L=l[l.length-1],f=u[u.length-1];L===f&&(T++<2?a="\n ".concat(L).concat(a):n=L,l.pop(),u.pop(),0!==l.length&&0!==u.length);)L=l[l.length-1],f=u[u.length-1];var m=Math.max(l.length,u.length);if(0===m){var y=h.split("\n");if(y.length>30)for(y[26]="".concat(S,"...").concat(N);y.length>27;)y.pop();return"".concat(O.notIdentical,"\n\n").concat(y.join("\n"),"\n")}T>3&&(a="\n".concat(S,"...").concat(N).concat(a),E=!0),""!==n&&(a="\n ".concat(n).concat(a),n="");var x=0,g=O[r]+"\n".concat(A,"+ actual").concat(N," ").concat(d,"- expected").concat(N),P=" ".concat(S,"...").concat(N," Lines skipped");for(T=0;T<m;T++){var D=T-o;if(l.length<T+1)D>1&&T>2&&(D>4?(s+="\n".concat(S,"...").concat(N),E=!0):D>3&&(s+="\n ".concat(u[T-2]),x++),s+="\n ".concat(u[T-1]),x++),o=T,n+="\n".concat(d,"-").concat(N," ").concat(u[T]),x++;else if(u.length<T+1)D>1&&T>2&&(D>4?(s+="\n".concat(S,"...").concat(N),E=!0):D>3&&(s+="\n ".concat(l[T-2]),x++),s+="\n ".concat(l[T-1]),x++),o=T,s+="\n".concat(A,"+").concat(N," ").concat(l[T]),x++;else{var M=u[T],v=l[T],U=v!==M&&(!p(v,",")||v.slice(0,-1)!==M);U&&p(M,",")&&M.slice(0,-1)===v&&(U=!1,v+=","),U?(D>1&&T>2&&(D>4?(s+="\n".concat(S,"...").concat(N),E=!0):D>3&&(s+="\n ".concat(l[T-2]),x++),s+="\n ".concat(l[T-1]),x++),o=T,s+="\n".concat(A,"+").concat(N," ").concat(v),n+="\n".concat(d,"-").concat(N," ").concat(M),x+=2):(s+=n,n="",1!==D&&0!==T||(s+="\n ".concat(v),x++))}if(x>20&&T<m-2)return"".concat(g).concat(P,"\n").concat(s,"\n").concat(S,"...").concat(N).concat(n,"\n")+"".concat(S,"...").concat(N)}return"".concat(g).concat(E?P:"","\n").concat(s).concat(n).concat(a).concat(R)}var f=function(t){function e(t){var r;if(function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),"object"!==c(t)||null===t)throw new R("options","Object",t);var n=t.message,s=t.operator,E=t.stackStartFn,h=t.actual,l=t.expected,T=Error.stackTraceLimit;if(Error.stackTraceLimit=0,null!=n)r=o(this,u(e).call(this,String(n)));else if(i.stderr&&i.stderr.isTTY&&(i.stderr&&i.stderr.getColorDepth&&1!==i.stderr.getColorDepth()?(S="[34m",A="[32m",N="[39m",d="[31m"):(S="",A="",N="",d="")),"object"===c(h)&&null!==h&&"object"===c(l)&&null!==l&&"stack"in h&&h instanceof Error&&"stack"in l&&l instanceof Error&&(h=_(h),l=_(l)),"deepStrictEqual"===s||"strictEqual"===s)r=o(this,u(e).call(this,L(h,l,s)));else if("notDeepStrictEqual"===s||"notStrictEqual"===s){var p=O[s],C=I(h).split("\n");if("notStrictEqual"===s&&"object"===c(h)&&null!==h&&(p=O.notStrictEqualObject),C.length>30)for(C[26]="".concat(S,"...").concat(N);C.length>27;)C.pop();r=1===C.length?o(this,u(e).call(this,"".concat(p," ").concat(C[0]))):o(this,u(e).call(this,"".concat(p,"\n\n").concat(C.join("\n"),"\n")))}else{var f=I(h),m="",y=O[s];"notDeepEqual"===s||"notEqual"===s?(f="".concat(O[s],"\n\n").concat(f)).length>1024&&(f="".concat(f.slice(0,1021),"...")):(m="".concat(I(l)),f.length>512&&(f="".concat(f.slice(0,509),"...")),m.length>512&&(m="".concat(m.slice(0,509),"...")),"deepEqual"===s||"equal"===s?f="".concat(y,"\n\n").concat(f,"\n\nshould equal\n\n"):m=" ".concat(s," ").concat(m)),r=o(this,u(e).call(this,"".concat(f).concat(m)))}return Error.stackTraceLimit=T,r.generatedMessage=!n,Object.defineProperty(a(r),"name",{value:"AssertionError [ERR_ASSERTION]",enumerable:!1,writable:!0,configurable:!0}),r.code="ERR_ASSERTION",r.actual=h,r.expected=l,r.operator=s,Error.captureStackTrace&&Error.captureStackTrace(a(r),E),r.stack,r.name="AssertionError",o(r)}var r,E,h;return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&l(t,e)}(e,t),r=e,E=[{key:"toString",value:function(){return"".concat(this.name," [").concat(this.code,"]: ").concat(this.message)}},{key:T.custom,value:function(t,e){return T(this,function(t){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{},i=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(i=i.concat(Object.getOwnPropertySymbols(r).filter((function(t){return Object.getOwnPropertyDescriptor(r,t).enumerable})))),i.forEach((function(e){n(t,e,r[e])}))}return t}({},e,{customInspect:!1,depth:0}))}}],E&&s(r.prototype,E),h&&s(r,h),e}(E(Error));t.exports=f},t=>{"use strict";function e(t,e){if(null==t)throw new TypeError("Cannot convert first argument to object");for(var r=Object(t),i=1;i<arguments.length;i++){var n=arguments[i];if(null!=n)for(var s=Object.keys(Object(n)),o=0,a=s.length;o<a;o++){var E=s[o],h=Object.getOwnPropertyDescriptor(n,E);void 0!==h&&h.enumerable&&(r[E]=n[E])}}return r}t.exports={assign:e,polyfill:function(){Object.assign||Object.defineProperty(Object,"assign",{enumerable:!1,configurable:!0,writable:!0,value:e})}}},(t,e,r)=>{"use strict";var i=r(119),n=r(105),s=r(124),o=r(125),a=r(126),E=n(o(),Object);i(E,{getPolyfill:o,implementation:s,shim:a}),t.exports=E},(t,e,r)=>{"use strict";var i=r(120),n="function"==typeof Symbol&&"symbol"==typeof Symbol("foo"),s=Object.prototype.toString,o=Array.prototype.concat,a=Object.defineProperty,E=r(123)(),h=a&&E,l=function(t,e,r,i){if(e in t)if(!0===i){if(t[e]===r)return}else if("function"!=typeof(n=i)||"[object Function]"!==s.call(n)||!i())return;var n;h?a(t,e,{configurable:!0,enumerable:!1,value:r,writable:!0}):t[e]=r},u=function(t,e){var r=arguments.length>2?arguments[2]:{},s=i(e);n&&(s=o.call(s,Object.getOwnPropertySymbols(e)));for(var a=0;a<s.length;a+=1)l(t,s[a],e[s[a]],r[s[a]])};u.supportsDescriptors=!!h,t.exports=u},(t,e,r)=>{"use strict";var i=Array.prototype.slice,n=r(121),s=Object.keys,o=s?function(t){return s(t)}:r(122),a=Object.keys;o.shim=function(){if(Object.keys){var t=function(){var t=Object.keys(arguments);return t&&t.length===arguments.length}(1,2);t||(Object.keys=function(t){return n(t)?a(i.call(t)):a(t)})}else Object.keys=o;return Object.keys||o},t.exports=o},t=>{"use strict";var e=Object.prototype.toString;t.exports=function(t){var r=e.call(t),i="[object Arguments]"===r;return i||(i="[object Array]"!==r&&null!==t&&"object"==typeof t&&"number"==typeof t.length&&t.length>=0&&"[object Function]"===e.call(t.callee)),i}},(t,e,r)=>{"use strict";var i;if(!Object.keys){var n=Object.prototype.hasOwnProperty,s=Object.prototype.toString,o=r(121),a=Object.prototype.propertyIsEnumerable,E=!a.call({toString:null},"toString"),h=a.call((function(){}),"prototype"),l=["toString","toLocaleString","valueOf","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","constructor"],u=function(t){var e=t.constructor;return e&&e.prototype===t},c={$applicationCache:!0,$console:!0,$external:!0,$frame:!0,$frameElement:!0,$frames:!0,$innerHeight:!0,$innerWidth:!0,$onmozfullscreenchange:!0,$onmozfullscreenerror:!0,$outerHeight:!0,$outerWidth:!0,$pageXOffset:!0,$pageYOffset:!0,$parent:!0,$scrollLeft:!0,$scrollTop:!0,$scrollX:!0,$scrollY:!0,$self:!0,$webkitIndexedDB:!0,$webkitStorageInfo:!0,$window:!0},T=function(){if("undefined"==typeof window)return!1;for(var t in window)try{if(!c["$"+t]&&n.call(window,t)&&null!==window[t]&&"object"==typeof window[t])try{u(window[t])}catch(t){return!0}}catch(t){return!0}return!1}();i=function(t){var e=null!==t&&"object"==typeof t,r="[object Function]"===s.call(t),i=o(t),a=e&&"[object String]"===s.call(t),c=[];if(!e&&!r&&!i)throw new TypeError("Object.keys called on a non-object");var R=h&&r;if(a&&t.length>0&&!n.call(t,0))for(var p=0;p<t.length;++p)c.push(String(p));if(i&&t.length>0)for(var S=0;S<t.length;++S)c.push(String(S));else for(var A in t)R&&"prototype"===A||!n.call(t,A)||c.push(String(A));if(E)for(var d=function(t){if("undefined"==typeof window||!T)return u(t);try{return u(t)}catch(t){return!1}}(t),N=0;N<l.length;++N)d&&"constructor"===l[N]||!n.call(t,l[N])||c.push(l[N]);return c}}t.exports=i},(t,e,r)=>{"use strict";var i=r(100)("%Object.defineProperty%",!0),n=function(){if(i)try{return i({},"a",{value:1}),!0}catch(t){return!1}return!1};n.hasArrayLengthDefineBug=function(){if(!n())return null;try{return 1!==i([],"length",{value:1}).length}catch(t){return!0}},t.exports=n},t=>{"use strict";var e=function(t){return t!=t};t.exports=function(t,r){return 0===t&&0===r?1/t==1/r:t===r||!(!e(t)||!e(r))}},(t,e,r)=>{"use strict";var i=r(124);t.exports=function(){return"function"==typeof Object.is?Object.is:i}},(t,e,r)=>{"use strict";var i=r(125),n=r(119);t.exports=function(){var t=i();return n(Object,{is:t},{is:function(){return Object.is!==t}}),t}},(t,e,r)=>{"use strict";function i(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){var r=[],i=!0,n=!1,s=void 0;try{for(var o,a=t[Symbol.iterator]();!(i=(o=a.next()).done)&&(r.push(o.value),!e||r.length!==e);i=!0);}catch(t){n=!0,s=t}finally{try{i||null==a.return||a.return()}finally{if(n)throw s}}return r}(t,e)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance")}()}function n(t){return n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},n(t)}var s=void 0!==/a/g.flags,o=function(t){var e=[];return t.forEach((function(t){return e.push(t)})),e},a=function(t){var e=[];return t.forEach((function(t,r){return e.push([r,t])})),e},E=Object.is?Object.is:r(118),h=Object.getOwnPropertySymbols?Object.getOwnPropertySymbols:function(){return[]},l=Number.isNaN?Number.isNaN:r(128);function u(t){return t.call.bind(t)}var c=u(Object.prototype.hasOwnProperty),T=u(Object.prototype.propertyIsEnumerable),R=u(Object.prototype.toString),p=r(93).types,S=p.isAnyArrayBuffer,A=p.isArrayBufferView,d=p.isDate,N=p.isMap,O=p.isRegExp,C=p.isSet,_=p.isNativeError,I=p.isBoxedPrimitive,L=p.isNumberObject,f=p.isStringObject,m=p.isBooleanObject,y=p.isBigIntObject,x=p.isSymbolObject,g=p.isFloat32Array,P=p.isFloat64Array;function D(t){if(0===t.length||t.length>10)return!0;for(var e=0;e<t.length;e++){var r=t.charCodeAt(e);if(r<48||r>57)return!0}return 10===t.length&&t>=Math.pow(2,32)}function M(t){return Object.keys(t).filter(D).concat(h(t).filter(Object.prototype.propertyIsEnumerable.bind(t)))}function v(t,e){if(t===e)return 0;for(var r=t.length,i=e.length,n=0,s=Math.min(r,i);n<s;++n)if(t[n]!==e[n]){r=t[n],i=e[n];break}return r<i?-1:i<r?1:0}var U=!0,k=!1,b=0,G=1,F=2,H=3;function w(t,e,r,i){if(t===e)return 0!==t||(!r||E(t,e));if(r){if("object"!==n(t))return"number"==typeof t&&l(t)&&l(e);if("object"!==n(e)||null===t||null===e)return!1;if(Object.getPrototypeOf(t)!==Object.getPrototypeOf(e))return!1}else{if(null===t||"object"!==n(t))return(null===e||"object"!==n(e))&&t==e;if(null===e||"object"!==n(e))return!1}var o,a,h,u,c=R(t);if(c!==R(e))return!1;if(Array.isArray(t)){if(t.length!==e.length)return!1;var T=M(t),p=M(e);return T.length===p.length&&V(t,e,r,i,G,T)}if("[object Object]"===c&&(!N(t)&&N(e)||!C(t)&&C(e)))return!1;if(d(t)){if(!d(e)||Date.prototype.getTime.call(t)!==Date.prototype.getTime.call(e))return!1}else if(O(t)){if(!O(e)||(h=t,u=e,!(s?h.source===u.source&&h.flags===u.flags:RegExp.prototype.toString.call(h)===RegExp.prototype.toString.call(u))))return!1}else if(_(t)||t instanceof Error){if(t.message!==e.message||t.name!==e.name)return!1}else{if(A(t)){if(r||!g(t)&&!P(t)){if(!function(t,e){return t.byteLength===e.byteLength&&0===v(new Uint8Array(t.buffer,t.byteOffset,t.byteLength),new Uint8Array(e.buffer,e.byteOffset,e.byteLength))}(t,e))return!1}else if(!function(t,e){if(t.byteLength!==e.byteLength)return!1;for(var r=0;r<t.byteLength;r++)if(t[r]!==e[r])return!1;return!0}(t,e))return!1;var D=M(t),U=M(e);return D.length===U.length&&V(t,e,r,i,b,D)}if(C(t))return!(!C(e)||t.size!==e.size)&&V(t,e,r,i,F);if(N(t))return!(!N(e)||t.size!==e.size)&&V(t,e,r,i,H);if(S(t)){if(a=e,(o=t).byteLength!==a.byteLength||0!==v(new Uint8Array(o),new Uint8Array(a)))return!1}else if(I(t)&&!function(t,e){return L(t)?L(e)&&E(Number.prototype.valueOf.call(t),Number.prototype.valueOf.call(e)):f(t)?f(e)&&String.prototype.valueOf.call(t)===String.prototype.valueOf.call(e):m(t)?m(e)&&Boolean.prototype.valueOf.call(t)===Boolean.prototype.valueOf.call(e):y(t)?y(e)&&BigInt.prototype.valueOf.call(t)===BigInt.prototype.valueOf.call(e):x(e)&&Symbol.prototype.valueOf.call(t)===Symbol.prototype.valueOf.call(e)}(t,e))return!1}return V(t,e,r,i,b)}function B(t,e){return e.filter((function(e){return T(t,e)}))}function V(t,e,r,s,E,l){if(5===arguments.length){l=Object.keys(t);var u=Object.keys(e);if(l.length!==u.length)return!1}for(var R=0;R<l.length;R++)if(!c(e,l[R]))return!1;if(r&&5===arguments.length){var p=h(t);if(0!==p.length){var S=0;for(R=0;R<p.length;R++){var A=p[R];if(T(t,A)){if(!T(e,A))return!1;l.push(A),S++}else if(T(e,A))return!1}var d=h(e);if(p.length!==d.length&&B(e,d).length!==S)return!1}else{var N=h(e);if(0!==N.length&&0!==B(e,N).length)return!1}}if(0===l.length&&(E===b||E===G&&0===t.length||0===t.size))return!0;if(void 0===s)s={val1:new Map,val2:new Map,position:0};else{var O=s.val1.get(t);if(void 0!==O){var C=s.val2.get(e);if(void 0!==C)return O===C}s.position++}s.val1.set(t,s.position),s.val2.set(e,s.position);var _=function(t,e,r,s,E,h){var l=0;if(h===F){if(!function(t,e,r,i){for(var s=null,a=o(t),E=0;E<a.length;E++){var h=a[E];if("object"===n(h)&&null!==h)null===s&&(s=new Set),s.add(h);else if(!e.has(h)){if(r)return!1;if(!K(t,e,h))return!1;null===s&&(s=new Set),s.add(h)}}if(null!==s){for(var l=o(e),u=0;u<l.length;u++){var c=l[u];if("object"===n(c)&&null!==c){if(!Y(s,c,r,i))return!1}else if(!r&&!t.has(c)&&!Y(s,c,r,i))return!1}return 0===s.size}return!0}(t,e,r,E))return!1}else if(h===H){if(!function(t,e,r,s){for(var o=null,E=a(t),h=0;h<E.length;h++){var l=i(E[h],2),u=l[0],c=l[1];if("object"===n(u)&&null!==u)null===o&&(o=new Set),o.add(u);else{var T=e.get(u);if(void 0===T&&!e.has(u)||!w(c,T,r,s)){if(r)return!1;if(!X(t,e,u,c,s))return!1;null===o&&(o=new Set),o.add(u)}}}if(null!==o){for(var R=a(e),p=0;p<R.length;p++){var S=i(R[p],2),A=(u=S[0],S[1]);if("object"===n(u)&&null!==u){if(!q(o,t,u,A,r,s))return!1}else if(!(r||t.has(u)&&w(t.get(u),A,!1,s)||q(o,t,u,A,!1,s)))return!1}return 0===o.size}return!0}(t,e,r,E))return!1}else if(h===G)for(;l<t.length;l++){if(!c(t,l)){if(c(e,l))return!1;for(var u=Object.keys(t);l<u.length;l++){var T=u[l];if(!c(e,T)||!w(t[T],e[T],r,E))return!1}return u.length===Object.keys(e).length}if(!c(e,l)||!w(t[l],e[l],r,E))return!1}for(l=0;l<s.length;l++){var R=s[l];if(!w(t[R],e[R],r,E))return!1}return!0}(t,e,r,l,s,E);return s.val1.delete(t),s.val2.delete(e),_}function Y(t,e,r,i){for(var n=o(t),s=0;s<n.length;s++){var a=n[s];if(w(e,a,r,i))return t.delete(a),!0}return!1}function W(t){switch(n(t)){case"undefined":return null;case"object":return;case"symbol":return!1;case"string":t=+t;case"number":if(l(t))return!1}return!0}function K(t,e,r){var i=W(r);return null!=i?i:e.has(i)&&!t.has(i)}function X(t,e,r,i,n){var s=W(r);if(null!=s)return s;var o=e.get(s);return!(void 0===o&&!e.has(s)||!w(i,o,!1,n))&&(!t.has(s)&&w(i,o,!1,n))}function q(t,e,r,i,n,s){for(var a=o(t),E=0;E<a.length;E++){var h=a[E];if(w(r,h,n,s)&&w(i,e.get(h),n,s))return t.delete(h),!0}return!1}t.exports={isDeepEqual:function(t,e){return w(t,e,k)},isDeepStrictEqual:function(t,e){return w(t,e,U)}}},(t,e,r)=>{"use strict";var i=r(105),n=r(119),s=r(129),o=r(130),a=r(131),E=i(o(),Number);n(E,{getPolyfill:o,implementation:s,shim:a}),t.exports=E},t=>{"use strict";t.exports=function(t){return t!=t}},(t,e,r)=>{"use strict";var i=r(129);t.exports=function(){return Number.isNaN&&Number.isNaN(NaN)&&!Number.isNaN("a")?Number.isNaN:i}},(t,e,r)=>{"use strict";var i=r(119),n=r(130);t.exports=function(){var t=n();return i(Number,{isNaN:t},{isNaN:function(){return Number.isNaN!==t}}),t}},function(t,e,r){"use strict";var i=this&&this.__decorate||function(t,e,r,i){var n,s=arguments.length,o=s<3?e:null===i?i=Object.getOwnPropertyDescriptor(e,r):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(t,e,r,i);else for(var a=t.length-1;a>=0;a--)(n=t[a])&&(o=(s<3?n(o):s>3?n(e,r,o):n(e,r))||o);return s>3&&o&&Object.defineProperty(e,r,o),o};Object.defineProperty(e,"__esModule",{value:!0}),e.DefaultEqualityComparator=void 0;const n=r(73),s=r(133),o=r(134);class a{hashCode(t){return null==t?0:"string"==typeof t||"number"==typeof t?s.MurmurHash.hashCode([t]):o.ObjectEqualityComparator.INSTANCE.hashCode(t)}equals(t,e){return null==t?null==e:"string"==typeof t||"number"==typeof t?t===e:o.ObjectEqualityComparator.INSTANCE.equals(t,e)}}a.INSTANCE=new a,i([n.Override],a.prototype,"hashCode",null),i([n.Override],a.prototype,"equals",null),e.DefaultEqualityComparator=a},(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.MurmurHash=void 0,function(t){const e=0;function r(t=e){return t}function i(t,e){null==e?e=0:"string"==typeof e?e=function(t){let e=t.length;if(0===e)return 0;let r=0;for(let i=0;i<e;i++){r=(r<<5>>>0)-r+t.charCodeAt(i),r|=0}return r}(e):"object"==typeof e&&(e=e.hashCode());let r=e;return r=Math.imul(r,3432918353),r=r<<15|r>>>17,r=Math.imul(r,461845907),t=(t^=r)<<13|t>>>19,4294967295&(t=Math.imul(t,5)+3864292196)}function n(t,e){return t^=4*e,t^=t>>>16,t=Math.imul(t,2246822507),t^=t>>>13,t=Math.imul(t,3266489909),t^=t>>>16}t.initialize=r,t.update=i,t.finish=n,t.hashCode=function(t,s=e){let o=r(s),a=0;for(let e of t)o=i(o,e),a++;return o=n(o,a),o}}(e.MurmurHash||(e.MurmurHash={}))},function(t,e,r){"use strict";var i=this&&this.__decorate||function(t,e,r,i){var n,s=arguments.length,o=s<3?e:null===i?i=Object.getOwnPropertyDescriptor(e,r):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(t,e,r,i);else for(var a=t.length-1;a>=0;a--)(n=t[a])&&(o=(s<3?n(o):s>3?n(e,r,o):n(e,r))||o);return s>3&&o&&Object.defineProperty(e,r,o),o};Object.defineProperty(e,"__esModule",{value:!0}),e.ObjectEqualityComparator=void 0;const n=r(73);class s{hashCode(t){return null==t?0:t.hashCode()}equals(t,e){return null==t?null==e:t.equals(e)}}s.INSTANCE=new s,i([n.Override],s.prototype,"hashCode",null),i([n.Override],s.prototype,"equals",null),e.ObjectEqualityComparator=s},function(t,e,r){"use strict";var i=this&&this.__decorate||function(t,e,r,i){var n,s=arguments.length,o=s<3?e:null===i?i=Object.getOwnPropertyDescriptor(e,r):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(t,e,r,i);else for(var a=t.length-1;a>=0;a--)(n=t[a])&&(o=(s<3?n(o):s>3?n(e,r,o):n(e,r))||o);return s>3&&o&&Object.defineProperty(e,r,o),o},n=this&&this.__param||function(t,e){return function(r,i){e(r,i,t)}};Object.defineProperty(e,"__esModule",{value:!0}),e.DFA=void 0;const s=r(90),o=r(136),a=r(147),E=r(149),h=r(154),l=r(73),u=r(134),c=r(155),T=r(153);let R=class{constructor(t,e=0){if(this.states=new s.Array2DHashSet(u.ObjectEqualityComparator.INSTANCE),this.nextStateNumber=0,!t.atn)throw new Error("The ATNState must be associated with an ATN");this.atnStartState=t,this.atn=t.atn,this.decision=e;let r=!1;t instanceof c.StarLoopEntryState&&t.precedenceRuleDecision&&(r=!0,this.s0=new E.DFAState(new o.ATNConfigSet),this.s0full=new E.DFAState(new o.ATNConfigSet)),this.precedenceDfa=r}get isPrecedenceDfa(){return this.precedenceDfa}getPrecedenceStartState(t,e){if(!this.isPrecedenceDfa)throw new Error("Only precedence DFAs may contain a precedence start state.");return e?this.s0full.getTarget(t):this.s0.getTarget(t)}setPrecedenceStartState(t,e,r){if(!this.isPrecedenceDfa)throw new Error("Only precedence DFAs may contain a precedence start state.");t<0||(e?this.s0full.setTarget(t,r):this.s0.setTarget(t,r))}get isEmpty(){return this.isPrecedenceDfa?0===this.s0.getEdgeMap().size&&0===this.s0full.getEdgeMap().size:null==this.s0&&null==this.s0full}get isContextSensitive(){return this.isPrecedenceDfa?this.s0full.getEdgeMap().size>0:null!=this.s0full}addState(t){return t.stateNumber=this.nextStateNumber++,this.states.getOrAdd(t)}toString(t,e){if(t||(t=T.VocabularyImpl.EMPTY_VOCABULARY),!this.s0)return"";let r;return r=e?new a.DFASerializer(this,t,e,this.atnStartState.atn):new a.DFASerializer(this,t),r.toString()}toLexerString(){if(!this.s0)return"";return new h.LexerDFASerializer(this).toString()}};i([l.NotNull],R.prototype,"states",void 0),i([l.NotNull],R.prototype,"atnStartState",void 0),i([l.NotNull],R.prototype,"atn",void 0),R=i([n(0,l.NotNull)],R),e.DFA=R},function(t,e,r){"use strict";var i=this&&this.__decorate||function(t,e,r,i){var n,s=arguments.length,o=s<3?e:null===i?i=Object.getOwnPropertyDescriptor(e,r):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(t,e,r,i);else for(var a=t.length-1;a>=0;a--)(n=t[a])&&(o=(s<3?n(o):s>3?n(e,r,o):n(e,r))||o);return s>3&&o&&Object.defineProperty(e,r,o),o};Object.defineProperty(e,"__esModule",{value:!0}),e.ATNConfigSet=void 0;const n=r(89),s=r(90),o=r(137),a=r(88),E=r(138),h=r(146),l=r(73),u=r(134),c=r(141),T=r(143),R=r(144),p=r(91),S=r(145);class A{hashCode(t){return t.state^t.alt}equals(t,e){return t.state===e.state&&t.alt===e.alt}}function d(t){return t?new n.Array2DHashMap(t):new n.Array2DHashMap(A.INSTANCE)}A.INSTANCE=new A;class N{constructor(t,e){this._uniqueAlt=0,this._hasSemanticContext=!1,this._dipsIntoOuterContext=!1,this.outermostConfigSet=!1,this.cachedHashCode=-1,t?(e?(this.mergedConfigs=void 0,this.unmerged=void 0):t.isReadOnly?(this.mergedConfigs=d(),this.unmerged=[]):(this.mergedConfigs=d(t.mergedConfigs),this.unmerged=t.unmerged.slice(0)),this.configs=t.configs.slice(0),this._dipsIntoOuterContext=t._dipsIntoOuterContext,this._hasSemanticContext=t._hasSemanticContext,this.outermostConfigSet=t.outermostConfigSet,!e&&t.isReadOnly||(this._uniqueAlt=t._uniqueAlt,this._conflictInfo=t._conflictInfo)):(this.mergedConfigs=d(),this.unmerged=[],this.configs=[],this._uniqueAlt=a.ATN.INVALID_ALT_NUMBER)}getRepresentedAlternatives(){if(null!=this._conflictInfo)return this._conflictInfo.conflictedAlts.clone();let t=new h.BitSet;for(let e of this)t.set(e.alt);return t}get isReadOnly(){return null==this.mergedConfigs}get isOutermostConfigSet(){return this.outermostConfigSet}set isOutermostConfigSet(t){if(this.outermostConfigSet&&!t)throw new Error("IllegalStateException");p(!t||!this._dipsIntoOuterContext),this.outermostConfigSet=t}getStates(){let t=new s.Array2DHashSet(u.ObjectEqualityComparator.INSTANCE);for(let e of this.configs)t.add(e.state);return t}optimizeConfigs(t){if(0!==this.configs.length)for(let e of this.configs)e.context=t.atn.getCachedContext(e.context)}clone(t){let e=new N(this,t);return!t&&this.isReadOnly&&e.addAll(this.configs),e}get size(){return this.configs.length}get isEmpty(){return 0===this.configs.length}contains(t){if(!(t instanceof E.ATNConfig))return!1;if(this.mergedConfigs&&this.unmerged){let e=t,r=this.getKey(e),i=this.mergedConfigs.get(r);if(null!=i&&this.canMerge(e,r,i))return i.contains(e);for(let e of this.unmerged)if(e.contains(t))return!0}else for(let e of this.configs)if(e.contains(t))return!0;return!1}*[Symbol.iterator](){yield*this.configs}toArray(){return this.configs}add(t,e){if(this.ensureWritable(),!this.mergedConfigs||!this.unmerged)throw new Error("Covered by ensureWritable but duplicated here for strict null check limitation");let r;p(!this.outermostConfigSet||!t.reachesIntoOuterContext),null==e&&(e=T.PredictionContextCache.UNCACHED);let i=this.getKey(t),n=this.mergedConfigs.get(i);if(r=null==n,null!=n&&this.canMerge(t,i,n)){n.outerContextDepth=Math.max(n.outerContextDepth,t.outerContextDepth),t.isPrecedenceFilterSuppressed&&(n.isPrecedenceFilterSuppressed=!0);let r=c.PredictionContext.join(n.context,t.context,e);return this.updatePropertiesForMergedConfig(t),n.context===r?!1:(n.context=r,!0)}for(let n=0;n<this.unmerged.length;n++){let s=this.unmerged[n];if(this.canMerge(t,i,s)){s.outerContextDepth=Math.max(s.outerContextDepth,t.outerContextDepth),t.isPrecedenceFilterSuppressed&&(s.isPrecedenceFilterSuppressed=!0);let o=c.PredictionContext.join(s.context,t.context,e);return this.updatePropertiesForMergedConfig(t),s.context===o?!1:(s.context=o,r&&(this.mergedConfigs.put(i,s),this.unmerged.splice(n,1)),!0)}}return this.configs.push(t),r?this.mergedConfigs.put(i,t):this.unmerged.push(t),this.updatePropertiesForAddedConfig(t),!0}updatePropertiesForMergedConfig(t){this._dipsIntoOuterContext=this._dipsIntoOuterContext||t.reachesIntoOuterContext,p(!this.outermostConfigSet||!this._dipsIntoOuterContext)}updatePropertiesForAddedConfig(t){1===this.configs.length?this._uniqueAlt=t.alt:this._uniqueAlt!==t.alt&&(this._uniqueAlt=a.ATN.INVALID_ALT_NUMBER),this._hasSemanticContext=this._hasSemanticContext||!R.SemanticContext.NONE.equals(t.semanticContext),this._dipsIntoOuterContext=this._dipsIntoOuterContext||t.reachesIntoOuterContext,p(!this.outermostConfigSet||!this._dipsIntoOuterContext)}canMerge(t,e,r){return t.state.stateNumber===r.state.stateNumber&&(e.alt===r.alt&&t.semanticContext.equals(r.semanticContext))}getKey(t){return{state:t.state.stateNumber,alt:t.alt}}containsAll(t){for(let e of t){if(!(e instanceof E.ATNConfig))return!1;if(!this.contains(e))return!1}return!0}addAll(t,e){this.ensureWritable();let r=!1;for(let i of t)this.add(i,e)&&(r=!0);return r}clear(){if(this.ensureWritable(),!this.mergedConfigs||!this.unmerged)throw new Error("Covered by ensureWritable but duplicated here for strict null check limitation");this.mergedConfigs.clear(),this.unmerged.length=0,this.configs.length=0,this._dipsIntoOuterContext=!1,this._hasSemanticContext=!1,this._uniqueAlt=a.ATN.INVALID_ALT_NUMBER,this._conflictInfo=void 0}equals(t){return this===t||t instanceof N&&(this.outermostConfigSet===t.outermostConfigSet&&S.equals(this._conflictInfo,t._conflictInfo)&&o.ArrayEqualityComparator.INSTANCE.equals(this.configs,t.configs))}hashCode(){if(this.isReadOnly&&-1!==this.cachedHashCode)return this.cachedHashCode;let t=1;return t=5*t^(this.outermostConfigSet?1:0),t=5*t^o.ArrayEqualityComparator.INSTANCE.hashCode(this.configs),this.isReadOnly&&(this.cachedHashCode=t),t}toString(t){null==t&&(t=!1);let e="",r=this.configs.slice(0);r.sort(((t,e)=>t.alt!==e.alt?t.alt-e.alt:t.state.stateNumber!==e.state.stateNumber?t.state.stateNumber-e.state.stateNumber:t.semanticContext.toString().localeCompare(e.semanticContext.toString()))),e+="[";for(let i=0;i<r.length;i++)i>0&&(e+=", "),e+=r[i].toString(void 0,!0,t);return e+="]",this._hasSemanticContext&&(e+=",hasSemanticContext="+this._hasSemanticContext),this._uniqueAlt!==a.ATN.INVALID_ALT_NUMBER&&(e+=",uniqueAlt="+this._uniqueAlt),null!=this._conflictInfo&&(e+=",conflictingAlts="+this._conflictInfo.conflictedAlts,this._conflictInfo.isExact||(e+="*")),this._dipsIntoOuterContext&&(e+=",dipsIntoOuterContext"),e.toString()}get uniqueAlt(){return this._uniqueAlt}get hasSemanticContext(){return this._hasSemanticContext}set hasSemanticContext(t){this.ensureWritable(),this._hasSemanticContext=t}get conflictInfo(){return this._conflictInfo}set conflictInfo(t){this.ensureWritable(),this._conflictInfo=t}get conflictingAlts(){if(null!=this._conflictInfo)return this._conflictInfo.conflictedAlts}get isExactConflict(){return null!=this._conflictInfo&&this._conflictInfo.isExact}get dipsIntoOuterContext(){return this._dipsIntoOuterContext}get(t){return this.configs[t]}ensureWritable(){if(this.isReadOnly)throw new Error("This ATNConfigSet is read only.")}}i([l.NotNull],N.prototype,"getRepresentedAlternatives",null),i([l.Override],N.prototype,"size",null),i([l.Override],N.prototype,"isEmpty",null),i([l.Override],N.prototype,"contains",null),i([l.Override],N.prototype,Symbol.iterator,null),i([l.Override],N.prototype,"toArray",null),i([l.Override],N.prototype,"containsAll",null),i([l.Override],N.prototype,"clear",null),i([l.Override],N.prototype,"equals",null),i([l.Override],N.prototype,"hashCode",null),e.ATNConfigSet=N},function(t,e,r){"use strict";var i=this&&this.__decorate||function(t,e,r,i){var n,s=arguments.length,o=s<3?e:null===i?i=Object.getOwnPropertyDescriptor(e,r):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(t,e,r,i);else for(var a=t.length-1;a>=0;a--)(n=t[a])&&(o=(s<3?n(o):s>3?n(e,r,o):n(e,r))||o);return s>3&&o&&Object.defineProperty(e,r,o),o};Object.defineProperty(e,"__esModule",{value:!0}),e.ArrayEqualityComparator=void 0;const n=r(73),s=r(133),o=r(134);class a{hashCode(t){return null==t?0:s.MurmurHash.hashCode(t,0)}equals(t,e){if(null==t)return null==e;if(null==e)return!1;if(t.length!==e.length)return!1;for(let r=0;r<t.length;r++)if(!o.ObjectEqualityComparator.INSTANCE.equals(t[r],e[r]))return!1;return!0}}a.INSTANCE=new a,i([n.Override],a.prototype,"hashCode",null),i([n.Override],a.prototype,"equals",null),e.ArrayEqualityComparator=a},function(t,e,r){"use strict";var i=this&&this.__decorate||function(t,e,r,i){var n,s=arguments.length,o=s<3?e:null===i?i=Object.getOwnPropertyDescriptor(e,r):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(t,e,r,i);else for(var a=t.length-1;a>=0;a--)(n=t[a])&&(o=(s<3?n(o):s>3?n(e,r,o):n(e,r))||o);return s>3&&o&&Object.defineProperty(e,r,o),o},n=this&&this.__param||function(t,e){return function(r,i){e(r,i,t)}};Object.defineProperty(e,"__esModule",{value:!0}),e.ATNConfig=void 0;const s=r(89),o=r(139),a=r(133),E=r(73),h=r(134),l=r(141),u=r(144),c=r(91),T=2147483648;let R=class t{constructor(t,e,r){"number"==typeof e?(c((16777215&e)===e),this._state=t,this.altAndOuterContextDepth=e,this._context=r):(this._state=t,this.altAndOuterContextDepth=e.altAndOuterContextDepth,this._context=r)}static create(e,r,i,n=u.SemanticContext.NONE,s){return n!==u.SemanticContext.NONE?null!=s?new A(s,n,e,r,i,!1):new p(n,e,r,i):null!=s?new S(s,e,r,i,!1):new t(e,r,i)}get state(){return this._state}get alt(){return 16777215&this.altAndOuterContextDepth}get context(){return this._context}set context(t){this._context=t}get reachesIntoOuterContext(){return 0!==this.outerContextDepth}get outerContextDepth(){return this.altAndOuterContextDepth>>>24&127}set outerContextDepth(t){c(t>=0),t=Math.min(t,127),this.altAndOuterContextDepth=t<<24|(-2130706433&this.altAndOuterContextDepth)>>>0}get lexerActionExecutor(){}get semanticContext(){return u.SemanticContext.NONE}get hasPassedThroughNonGreedyDecision(){return!1}clone(){return this.transform(this.state,!1)}transform(t,e,r){return null==r?this.transformImpl(t,this._context,this.semanticContext,e,this.lexerActionExecutor):r instanceof l.PredictionContext?this.transformImpl(t,r,this.semanticContext,e,this.lexerActionExecutor):r instanceof u.SemanticContext?this.transformImpl(t,this._context,r,e,this.lexerActionExecutor):this.transformImpl(t,this._context,this.semanticContext,e,r)}transformImpl(e,r,i,n,s){let o=n&&t.checkNonGreedyDecision(this,e);return i!==u.SemanticContext.NONE?null!=s||o?new A(s,i,e,this,r,o):new p(i,e,this,r):null!=s||o?new S(s,e,this,r,o):new t(e,this,r)}static checkNonGreedyDecision(t,e){return t.hasPassedThroughNonGreedyDecision||e instanceof o.DecisionState&&e.nonGreedy}appendContext(t,e){if("number"==typeof t){let r=this.context.appendSingleContext(t,e);return this.transform(this.state,!1,r)}{let r=this.context.appendContext(t,e);return this.transform(this.state,!1,r)}}contains(t){if(this.state.stateNumber!==t.state.stateNumber||this.alt!==t.alt||!this.semanticContext.equals(t.semanticContext))return!1;let e=[],r=[];for(e.push(this.context),r.push(t.context);;){let t=e.pop(),i=r.pop();if(!t||!i)break;if(t===i)return!0;if(t.size<i.size)return!1;if(i.isEmpty)return t.hasEmpty;for(let n=0;n<i.size;n++){let s=t.findReturnState(i.getReturnState(n));if(s<0)return!1;e.push(t.getParent(s)),r.push(i.getParent(n))}}return!1}get isPrecedenceFilterSuppressed(){return 0!=(this.altAndOuterContextDepth&T)}set isPrecedenceFilterSuppressed(t){t?this.altAndOuterContextDepth|=T:this.altAndOuterContextDepth&=2147483647}equals(e){return this===e||e instanceof t&&(this.state.stateNumber===e.state.stateNumber&&this.alt===e.alt&&this.reachesIntoOuterContext===e.reachesIntoOuterContext&&this.context.equals(e.context)&&this.semanticContext.equals(e.semanticContext)&&this.isPrecedenceFilterSuppressed===e.isPrecedenceFilterSuppressed&&this.hasPassedThroughNonGreedyDecision===e.hasPassedThroughNonGreedyDecision&&h.ObjectEqualityComparator.INSTANCE.equals(this.lexerActionExecutor,e.lexerActionExecutor))}hashCode(){let t=a.MurmurHash.initialize(7);return t=a.MurmurHash.update(t,this.state.stateNumber),t=a.MurmurHash.update(t,this.alt),t=a.MurmurHash.update(t,this.reachesIntoOuterContext?1:0),t=a.MurmurHash.update(t,this.context),t=a.MurmurHash.update(t,this.semanticContext),t=a.MurmurHash.update(t,this.hasPassedThroughNonGreedyDecision?1:0),t=a.MurmurHash.update(t,this.lexerActionExecutor),t=a.MurmurHash.finish(t,7),t}toDotString(){let t="";t+="digraph G {\n",t+="rankdir=LR;\n";let e=new s.Array2DHashMap(l.PredictionContext.IdentityEqualityComparator.INSTANCE),r=[];function i(t){let i=e.size,n=e.putIfAbsent(t,i);return null!=n?n:(r.push(t),i)}for(r.push(this.context),e.put(this.context,0);;){let e=r.pop();if(!e)break;for(let r=0;r<e.size;r++)t+=" s"+i(e),t+="->",t+="s"+i(e.getParent(r)),t+='[label="'+e.getReturnState(r)+'"];\n'}return t+="}\n",t.toString()}toString(t,e,r){null==r&&(r=null!=e),null==e&&(e=!0);let i,n="";i=r?this.context.toStrings(t,this.state.stateNumber):["?"];let s=!0;for(let t of i)s?s=!1:n+=", ",n+="(",n+=this.state,e&&(n+=",",n+=this.alt),this.context&&(n+=",",n+=t),this.semanticContext!==u.SemanticContext.NONE&&(n+=",",n+=this.semanticContext),this.reachesIntoOuterContext&&(n+=",up="+this.outerContextDepth),n+=")";return n.toString()}};i([E.NotNull],R.prototype,"_state",void 0),i([E.NotNull],R.prototype,"_context",void 0),i([E.NotNull],R.prototype,"state",null),i([E.NotNull,n(0,E.NotNull)],R.prototype,"context",null),i([E.NotNull],R.prototype,"semanticContext",null),i([E.Override],R.prototype,"clone",null),i([n(0,E.NotNull),n(2,E.NotNull)],R.prototype,"transformImpl",null),i([E.Override],R.prototype,"equals",null),i([E.Override],R.prototype,"hashCode",null),i([n(0,E.NotNull),n(3,E.NotNull)],R,"create",null),R=i([n(0,E.NotNull),n(2,E.NotNull)],R),e.ATNConfig=R;let p=class extends R{constructor(t,e,r,i){super(e,r,i),this._semanticContext=t}get semanticContext(){return this._semanticContext}};i([E.NotNull],p.prototype,"_semanticContext",void 0),i([E.Override],p.prototype,"semanticContext",null),p=i([n(1,E.NotNull),n(2,E.NotNull)],p);let S=class extends R{constructor(t,e,r,i,n){if("number"==typeof r)super(e,r,i);else if(super(e,r,i),r.semanticContext!==u.SemanticContext.NONE)throw new Error("Not supported");this._lexerActionExecutor=t,this.passedThroughNonGreedyDecision=n}get lexerActionExecutor(){return this._lexerActionExecutor}get hasPassedThroughNonGreedyDecision(){return this.passedThroughNonGreedyDecision}};i([E.Override],S.prototype,"lexerActionExecutor",null),i([E.Override],S.prototype,"hasPassedThroughNonGreedyDecision",null),S=i([n(1,E.NotNull),n(2,E.NotNull)],S);let A=class extends p{constructor(t,e,r,i,n,s){super(e,r,i,n),this._lexerActionExecutor=t,this.passedThroughNonGreedyDecision=s}get lexerActionExecutor(){return this._lexerActionExecutor}get hasPassedThroughNonGreedyDecision(){return this.passedThroughNonGreedyDecision}};i([E.Override],A.prototype,"lexerActionExecutor",null),i([E.Override],A.prototype,"hasPassedThroughNonGreedyDecision",null),A=i([n(1,E.NotNull),n(2,E.NotNull)],A)},(t,e,r)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.DecisionState=void 0;const i=r(140);class n extends i.ATNState{constructor(){super(...arguments),this.decision=-1,this.nonGreedy=!1,this.sll=!1}}e.DecisionState=n},function(t,e,r){"use strict";var i=this&&this.__decorate||function(t,e,r,i){var n,s=arguments.length,o=s<3?e:null===i?i=Object.getOwnPropertyDescriptor(e,r):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(t,e,r,i);else for(var a=t.length-1;a>=0;a--)(n=t[a])&&(o=(s<3?n(o):s>3?n(e,r,o):n(e,r))||o);return s>3&&o&&Object.defineProperty(e,r,o),o};Object.defineProperty(e,"__esModule",{value:!0}),e.ATNState=void 0;const n=r(73);class s{constructor(){this.stateNumber=s.INVALID_STATE_NUMBER,this.ruleIndex=0,this.epsilonOnlyTransitions=!1,this.transitions=[],this.optimizedTransitions=this.transitions}getStateNumber(){return this.stateNumber}get nonStopStateNumber(){return this.getStateNumber()}hashCode(){return this.stateNumber}equals(t){return t instanceof s&&this.stateNumber===t.stateNumber}get isNonGreedyExitState(){return!1}toString(){return String(this.stateNumber)}getTransitions(){return this.transitions.slice(0)}get numberOfTransitions(){return this.transitions.length}addTransition(t,e){if(0===this.transitions.length)this.epsilonOnlyTransitions=t.isEpsilon;else if(this.epsilonOnlyTransitions!==t.isEpsilon)throw this.epsilonOnlyTransitions=!1,new Error("ATN state "+this.stateNumber+" has both epsilon and non-epsilon transitions.");this.transitions.splice(void 0!==e?e:this.transitions.length,0,t)}transition(t){return this.transitions[t]}setTransition(t,e){this.transitions[t]=e}removeTransition(t){return this.transitions.splice(t,1)[0]}get onlyHasEpsilonTransitions(){return this.epsilonOnlyTransitions}setRuleIndex(t){this.ruleIndex=t}get isOptimized(){return this.optimizedTransitions!==this.transitions}get numberOfOptimizedTransitions(){return this.optimizedTransitions.length}getOptimizedTransition(t){return this.optimizedTransitions[t]}addOptimizedTransition(t){this.isOptimized||(this.optimizedTransitions=new Array),this.optimizedTransitions.push(t)}setOptimizedTransition(t,e){if(!this.isOptimized)throw new Error("This ATNState is not optimized.");this.optimizedTransitions[t]=e}removeOptimizedTransition(t){if(!this.isOptimized)throw new Error("This ATNState is not optimized.");this.optimizedTransitions.splice(t,1)}}i([n.Override],s.prototype,"hashCode",null),i([n.Override],s.prototype,"equals",null),i([n.Override],s.prototype,"toString",null),e.ATNState=s,function(t){t.INVALID_STATE_NUMBER=-1}(s=e.ATNState||(e.ATNState={}))},function(t,e,r){"use strict";var i=this&&this.__decorate||function(t,e,r,i){var n,s=arguments.length,o=s<3?e:null===i?i=Object.getOwnPropertyDescriptor(e,r):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(t,e,r,i);else for(var a=t.length-1;a>=0;a--)(n=t[a])&&(o=(s<3?n(o):s>3?n(e,r,o):n(e,r))||o);return s>3&&o&&Object.defineProperty(e,r,o),o},n=this&&this.__param||function(t,e){return function(r,i){e(r,i,t)}};Object.defineProperty(e,"__esModule",{value:!0}),e.SingletonPredictionContext=e.PredictionContext=void 0;const s=r(89),o=r(90),a=r(142),E=r(133),h=r(73),l=r(143),u=r(91);class c{constructor(t){this.cachedHashCode=t}static calculateEmptyHashCode(){let t=E.MurmurHash.initialize(1);return t=E.MurmurHash.finish(t,0),t}static calculateSingleHashCode(t,e){let r=E.MurmurHash.initialize(1);return r=E.MurmurHash.update(r,t),r=E.MurmurHash.update(r,e),r=E.MurmurHash.finish(r,2),r}static calculateHashCode(t,e){let r=E.MurmurHash.initialize(1);for(let e of t)r=E.MurmurHash.update(r,e);for(let t of e)r=E.MurmurHash.update(r,t);return r=E.MurmurHash.finish(r,2*t.length),r}static fromRuleContext(t,e,r=!0){if(e.isEmpty)return r?c.EMPTY_FULL:c.EMPTY_LOCAL;let i;i=e._parent?c.fromRuleContext(t,e._parent,r):r?c.EMPTY_FULL:c.EMPTY_LOCAL;let n=t.states[e.invokingState].transition(0);return i.getChild(n.followState.stateNumber)}static addEmptyContext(t){return t.addEmptyContext()}static removeEmptyContext(t){return t.removeEmptyContext()}static join(t,e,r=l.PredictionContextCache.UNCACHED){if(t===e)return t;if(t.isEmpty)return c.isEmptyLocal(t)?t:c.addEmptyContext(e);if(e.isEmpty)return c.isEmptyLocal(e)?e:c.addEmptyContext(t);let i=t.size,n=e.size;if(1===i&&1===n&&t.getReturnState(0)===e.getReturnState(0)){let i=r.join(t.getParent(0),e.getParent(0));return i===t.getParent(0)?t:i===e.getParent(0)?e:i.getChild(t.getReturnState(0))}let s=0,o=new Array(i+n),a=new Array(o.length),E=0,h=0,T=!0,S=!0;for(;E<i&&h<n;)t.getReturnState(E)===e.getReturnState(h)?(o[s]=r.join(t.getParent(E),e.getParent(h)),a[s]=t.getReturnState(E),T=T&&o[s]===t.getParent(E),S=S&&o[s]===e.getParent(h),E++,h++):t.getReturnState(E)<e.getReturnState(h)?(o[s]=t.getParent(E),a[s]=t.getReturnState(E),S=!1,E++):(u(e.getReturnState(h)<t.getReturnState(E)),o[s]=e.getParent(h),a[s]=e.getReturnState(h),T=!1,h++),s++;for(;E<i;)o[s]=t.getParent(E),a[s]=t.getReturnState(E),E++,S=!1,s++;for(;h<n;)o[s]=e.getParent(h),a[s]=e.getReturnState(h),h++,T=!1,s++;return T?t:S?e:(s<o.length&&(o=o.slice(0,s),a=a.slice(0,s)),0===o.length?c.EMPTY_FULL:1===o.length?new p(o[0],a[0]):new R(o,a))}static isEmptyLocal(t){return t===c.EMPTY_LOCAL}static getCachedContext(t,e,r){if(t.isEmpty)return t;let i=r.get(t);if(i)return i;if(i=e.get(t),i)return r.put(t,i),i;let n,s=!1,o=new Array(t.size);for(let i=0;i<o.length;i++){let n=c.getCachedContext(t.getParent(i),e,r);if(s||n!==t.getParent(i)){if(!s){o=new Array(t.size);for(let e=0;e<t.size;e++)o[e]=t.getParent(e);s=!0}o[i]=n}}if(!s)return i=e.putIfAbsent(t,t),r.put(t,null!=i?i:t),t;if(1===o.length)n=new p(o[0],t.getReturnState(0));else{let e=new Array(t.size);for(let r=0;r<t.size;r++)e[r]=t.getReturnState(r);n=new R(o,e,t.hashCode())}return i=e.putIfAbsent(n,n),r.put(n,i||n),r.put(t,i||n),n}appendSingleContext(t,e){return this.appendContext(c.EMPTY_FULL.getChild(t),e)}getChild(t){return new p(this,t)}hashCode(){return this.cachedHashCode}toStrings(t,e,r=c.EMPTY_FULL){let i=[];t:for(let n=0;;n++){let s=0,o=!0,a=this,E=e,h="";for(h+="[";!a.isEmpty&&a!==r;){let e=0;if(a.size>0){let t=1;for(;1<<t>>>0<a.size;)t++;if(e=n>>s&(1<<t>>>0)-1,o=o&&e>=a.size-1,e>=a.size)continue t;s+=t}if(t){h.length>1&&(h+=" ");let e=t.atn.states[E];h+=t.ruleNames[e.ruleIndex]}else a.getReturnState(e)!==c.EMPTY_FULL_STATE_KEY&&(a.isEmpty||(h.length>1&&(h+=" "),h+=a.getReturnState(e)));E=a.getReturnState(e),a=a.getParent(e)}if(h+="]",i.push(h),o)break}return i}}i([h.Override],c.prototype,"hashCode",null),i([n(0,h.NotNull),n(1,h.NotNull),n(2,h.NotNull)],c,"join",null),i([n(0,h.NotNull),n(1,h.NotNull),n(2,h.NotNull)],c,"getCachedContext",null),e.PredictionContext=c;class T extends c{constructor(t){super(c.calculateEmptyHashCode()),this.fullContext=t}get isFullContext(){return this.fullContext}addEmptyContext(){return this}removeEmptyContext(){throw new Error("Cannot remove the empty context from itself.")}getParent(t){throw new Error("index out of bounds")}getReturnState(t){throw new Error("index out of bounds")}findReturnState(t){return-1}get size(){return 0}appendSingleContext(t,e){return e.getChild(this,t)}appendContext(t,e){return t}get isEmpty(){return!0}get hasEmpty(){return!0}equals(t){return this===t}toStrings(t,e,r){return["[]"]}}i([h.Override],T.prototype,"addEmptyContext",null),i([h.Override],T.prototype,"removeEmptyContext",null),i([h.Override],T.prototype,"getParent",null),i([h.Override],T.prototype,"getReturnState",null),i([h.Override],T.prototype,"findReturnState",null),i([h.Override],T.prototype,"size",null),i([h.Override],T.prototype,"appendSingleContext",null),i([h.Override],T.prototype,"appendContext",null),i([h.Override],T.prototype,"isEmpty",null),i([h.Override],T.prototype,"hasEmpty",null),i([h.Override],T.prototype,"equals",null),i([h.Override],T.prototype,"toStrings",null);let R=class t extends c{constructor(t,e,r){super(r||c.calculateHashCode(t,e)),u(t.length===e.length),u(e.length>1||e[0]!==c.EMPTY_FULL_STATE_KEY,"Should be using PredictionContext.EMPTY instead."),this.parents=t,this.returnStates=e}getParent(t){return this.parents[t]}getReturnState(t){return this.returnStates[t]}findReturnState(t){return a.Arrays.binarySearch(this.returnStates,t)}get size(){return this.returnStates.length}get isEmpty(){return!1}get hasEmpty(){return this.returnStates[this.returnStates.length-1]===c.EMPTY_FULL_STATE_KEY}addEmptyContext(){if(this.hasEmpty)return this;let e=this.parents.slice(0),r=this.returnStates.slice(0);return e.push(c.EMPTY_FULL),r.push(c.EMPTY_FULL_STATE_KEY),new t(e,r)}removeEmptyContext(){if(!this.hasEmpty)return this;if(2===this.returnStates.length)return new p(this.parents[0],this.returnStates[0]);{let e=this.parents.slice(0,this.parents.length-1),r=this.returnStates.slice(0,this.returnStates.length-1);return new t(e,r)}}appendContext(e,r){return t.appendContextImpl(this,e,new c.IdentityHashMap)}static appendContextImpl(e,r,i){if(r.isEmpty){if(c.isEmptyLocal(r)){if(e.hasEmpty)return c.EMPTY_LOCAL;throw new Error("what to do here?")}return e}if(1!==r.size)throw new Error("Appending a tree suffix is not yet supported.");let n=i.get(e);if(!n){if(e.isEmpty)n=r;else{let s=e.size;e.hasEmpty&&s--;let o=new Array(s),a=new Array(s);for(let t=0;t<s;t++)a[t]=e.getReturnState(t);for(let n=0;n<s;n++)o[n]=t.appendContextImpl(e.getParent(n),r,i);1===o.length?n=new p(o[0],a[0]):(u(o.length>1),n=new t(o,a)),e.hasEmpty&&(n=c.join(n,r))}i.put(e,n)}return n}equals(e){if(this===e)return!0;if(!(e instanceof t))return!1;if(this.hashCode()!==e.hashCode())return!1;let r=e;return this.equalsImpl(r,new o.Array2DHashSet)}equalsImpl(t,e){let r=[],i=[];for(r.push(this),i.push(t);;){let t=r.pop(),n=i.pop();if(!t||!n)break;let s=new l.PredictionContextCache.IdentityCommutativePredictionContextOperands(t,n);if(!e.add(s))continue;let o=s.x.size;if(0!==o){if(o!==s.y.size)return!1;for(let t=0;t<o;t++){if(s.x.getReturnState(t)!==s.y.getReturnState(t))return!1;let e=s.x.getParent(t),n=s.y.getParent(t);if(e.hashCode()!==n.hashCode())return!1;e!==n&&(r.push(e),i.push(n))}}else if(!s.x.equals(s.y))return!1}return!0}};i([h.NotNull],R.prototype,"parents",void 0),i([h.NotNull],R.prototype,"returnStates",void 0),i([h.Override],R.prototype,"getParent",null),i([h.Override],R.prototype,"getReturnState",null),i([h.Override],R.prototype,"findReturnState",null),i([h.Override],R.prototype,"size",null),i([h.Override],R.prototype,"isEmpty",null),i([h.Override],R.prototype,"hasEmpty",null),i([h.Override],R.prototype,"addEmptyContext",null),i([h.Override],R.prototype,"removeEmptyContext",null),i([h.Override],R.prototype,"appendContext",null),i([h.Override],R.prototype,"equals",null),R=i([n(0,h.NotNull)],R);let p=class t extends c{constructor(t,e){super(c.calculateSingleHashCode(t,e)),this.parent=t,this.returnState=e}getParent(t){return this.parent}getReturnState(t){return this.returnState}findReturnState(t){return this.returnState===t?0:-1}get size(){return 1}get isEmpty(){return!1}get hasEmpty(){return!1}appendContext(t,e){return e.getChild(this.parent.appendContext(t,e),this.returnState)}addEmptyContext(){let t=[this.parent,c.EMPTY_FULL],e=[this.returnState,c.EMPTY_FULL_STATE_KEY];return new R(t,e)}removeEmptyContext(){return this}equals(e){if(e===this)return!0;if(!(e instanceof t))return!1;let r=e;return this.hashCode()===r.hashCode()&&(this.returnState===r.returnState&&this.parent.equals(r.parent))}};i([h.NotNull],p.prototype,"parent",void 0),i([h.Override],p.prototype,"getParent",null),i([h.Override],p.prototype,"getReturnState",null),i([h.Override],p.prototype,"findReturnState",null),i([h.Override],p.prototype,"size",null),i([h.Override],p.prototype,"isEmpty",null),i([h.Override],p.prototype,"hasEmpty",null),i([h.Override],p.prototype,"appendContext",null),i([h.Override],p.prototype,"addEmptyContext",null),i([h.Override],p.prototype,"removeEmptyContext",null),i([h.Override],p.prototype,"equals",null),p=i([n(0,h.NotNull)],p),e.SingletonPredictionContext=p,function(t){t.EMPTY_LOCAL=new T(!1),t.EMPTY_FULL=new T(!0),t.EMPTY_LOCAL_STATE_KEY=-2147483648,t.EMPTY_FULL_STATE_KEY=2147483647;class e extends s.Array2DHashMap{constructor(){super(r.INSTANCE)}}t.IdentityHashMap=e;class r{IdentityEqualityComparator(){}hashCode(t){return t.hashCode()}equals(t,e){return t===e}}r.INSTANCE=new r,i([h.Override],r.prototype,"hashCode",null),i([h.Override],r.prototype,"equals",null),t.IdentityEqualityComparator=r}(c=e.PredictionContext||(e.PredictionContext={}))},(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.Arrays=void 0,function(t){t.binarySearch=function(t,e,r,i){return function(t,e,r,i){let n=e,s=r-1;for(;n<=s;){let e=n+s>>>1,r=t[e];if(r<i)n=e+1;else{if(!(r>i))return e;s=e-1}}return-(n+1)}(t,void 0!==r?r:0,void 0!==i?i:t.length,e)},t.toString=function(t){let e="[",r=!0;for(let i of t)r?r=!1:e+=", ",e+=null===i?"null":void 0===i?"undefined":i;return e+="]",e}}(e.Arrays||(e.Arrays={}))},function(t,e,r){"use strict";var i=this&&this.__decorate||function(t,e,r,i){var n,s=arguments.length,o=s<3?e:null===i?i=Object.getOwnPropertyDescriptor(e,r):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(t,e,r,i);else for(var a=t.length-1;a>=0;a--)(n=t[a])&&(o=(s<3?n(o):s>3?n(e,r,o):n(e,r))||o);return s>3&&o&&Object.defineProperty(e,r,o),o};Object.defineProperty(e,"__esModule",{value:!0}),e.PredictionContextCache=void 0;const n=r(89),s=r(73),o=r(134),a=r(141),E=r(91);class h{constructor(t=!0){this.contexts=new n.Array2DHashMap(o.ObjectEqualityComparator.INSTANCE),this.childContexts=new n.Array2DHashMap(o.ObjectEqualityComparator.INSTANCE),this.joinContexts=new n.Array2DHashMap(o.ObjectEqualityComparator.INSTANCE),this.enableCache=t}getAsCached(t){if(!this.enableCache)return t;let e=this.contexts.get(t);return e||(e=t,this.contexts.put(t,t)),e}getChild(t,e){if(!this.enableCache)return t.getChild(e);let r=new h.PredictionContextAndInt(t,e),i=this.childContexts.get(r);return i||(i=t.getChild(e),i=this.getAsCached(i),this.childContexts.put(r,i)),i}join(t,e){if(!this.enableCache)return a.PredictionContext.join(t,e,this);let r=new h.IdentityCommutativePredictionContextOperands(t,e),i=this.joinContexts.get(r);return i||(i=a.PredictionContext.join(t,e,this),i=this.getAsCached(i),this.joinContexts.put(r,i),i)}}e.PredictionContextCache=h,h.UNCACHED=new h(!1),function(t){class e{constructor(t,e){this.obj=t,this.value=e}equals(t){if(!(t instanceof e))return!1;if(t===this)return!0;let r=t;return this.value===r.value&&(this.obj===r.obj||null!=this.obj&&this.obj.equals(r.obj))}hashCode(){let t=5;return t=7*t+(null!=this.obj?this.obj.hashCode():0),t=7*t+this.value,t}}i([s.Override],e.prototype,"equals",null),i([s.Override],e.prototype,"hashCode",null),t.PredictionContextAndInt=e;class r{constructor(t,e){E(null!=t),E(null!=e),this._x=t,this._y=e}get x(){return this._x}get y(){return this._y}equals(t){if(!(t instanceof r))return!1;if(this===t)return!0;let e=t;return this._x===e._x&&this._y===e._y||this._x===e._y&&this._y===e._x}hashCode(){return this._x.hashCode()^this._y.hashCode()}}i([s.Override],r.prototype,"equals",null),i([s.Override],r.prototype,"hashCode",null),t.IdentityCommutativePredictionContextOperands=r}(h=e.PredictionContextCache||(e.PredictionContextCache={}))},function(t,e,r){"use strict";var i=this&&this.__decorate||function(t,e,r,i){var n,s=arguments.length,o=s<3?e:null===i?i=Object.getOwnPropertyDescriptor(e,r):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(t,e,r,i);else for(var a=t.length-1;a>=0;a--)(n=t[a])&&(o=(s<3?n(o):s>3?n(e,r,o):n(e,r))||o);return s>3&&o&&Object.defineProperty(e,r,o),o},n=this&&this.__param||function(t,e){return function(r,i){e(r,i,t)}};Object.defineProperty(e,"__esModule",{value:!0}),e.SemanticContext=void 0;const s=r(90),o=r(137),a=r(133),E=r(73),h=r(134),l=r(145);class u{static get NONE(){return void 0===u._NONE&&(u._NONE=new u.Predicate),u._NONE}evalPrecedence(t,e){return this}static and(t,e){if(!t||t===u.NONE)return e;if(e===u.NONE)return t;let r=new u.AND(t,e);return 1===r.opnds.length?r.opnds[0]:r}static or(t,e){if(!t)return e;if(t===u.NONE||e===u.NONE)return u.NONE;let r=new u.OR(t,e);return 1===r.opnds.length?r.opnds[0]:r}}e.SemanticContext=u,function(t){function e(e){let r=[];for(let i=0;i<e.length;i++){let n=e[i];n instanceof t.PrecedencePredicate&&(r.push(n),e.splice(i,1),i--)}return r}class r extends t{constructor(t=-1,e=-1,r=!1){super(),this.ruleIndex=t,this.predIndex=e,this.isCtxDependent=r}eval(t,e){let r=this.isCtxDependent?e:void 0;return t.sempred(r,this.ruleIndex,this.predIndex)}hashCode(){let t=a.MurmurHash.initialize();return t=a.MurmurHash.update(t,this.ruleIndex),t=a.MurmurHash.update(t,this.predIndex),t=a.MurmurHash.update(t,this.isCtxDependent?1:0),t=a.MurmurHash.finish(t,3),t}equals(t){return t instanceof r&&(this===t||this.ruleIndex===t.ruleIndex&&this.predIndex===t.predIndex&&this.isCtxDependent===t.isCtxDependent)}toString(){return"{"+this.ruleIndex+":"+this.predIndex+"}?"}}i([E.Override],r.prototype,"eval",null),i([E.Override],r.prototype,"hashCode",null),i([E.Override],r.prototype,"equals",null),i([E.Override],r.prototype,"toString",null),t.Predicate=r;class u extends t{constructor(t){super(),this.precedence=t}eval(t,e){return t.precpred(e,this.precedence)}evalPrecedence(e,r){return e.precpred(r,this.precedence)?t.NONE:void 0}compareTo(t){return this.precedence-t.precedence}hashCode(){let t=1;return t=31*t+this.precedence,t}equals(t){return t instanceof u&&(this===t||this.precedence===t.precedence)}toString(){return"{"+this.precedence+">=prec}?"}}i([E.Override],u.prototype,"eval",null),i([E.Override],u.prototype,"evalPrecedence",null),i([E.Override],u.prototype,"compareTo",null),i([E.Override],u.prototype,"hashCode",null),i([E.Override],u.prototype,"equals",null),i([E.Override],u.prototype,"toString",null),t.PrecedencePredicate=u;class c extends t{}t.Operator=c;let T=class r extends c{constructor(t,i){super();let n=new s.Array2DHashSet(h.ObjectEqualityComparator.INSTANCE);t instanceof r?n.addAll(t.opnds):n.add(t),i instanceof r?n.addAll(i.opnds):n.add(i),this.opnds=n.toArray();let o=function(t){let e;for(let r of t)void 0!==e?e.compareTo(r)>0&&(e=r):e=r;return e}(e(this.opnds));o&&this.opnds.push(o)}get operands(){return this.opnds}equals(t){return this===t||t instanceof r&&o.ArrayEqualityComparator.INSTANCE.equals(this.opnds,t.opnds)}hashCode(){return a.MurmurHash.hashCode(this.opnds,40363613)}eval(t,e){for(let r of this.opnds)if(!r.eval(t,e))return!1;return!0}evalPrecedence(e,r){let i=!1,n=[];for(let s of this.opnds){let o=s.evalPrecedence(e,r);if(i=i||o!==s,null==o)return;o!==t.NONE&&n.push(o)}if(!i)return this;if(0===n.length)return t.NONE;let s=n[0];for(let e=1;e<n.length;e++)s=t.and(s,n[e]);return s}toString(){return l.join(this.opnds,"&&")}};i([E.Override],T.prototype,"operands",null),i([E.Override],T.prototype,"equals",null),i([E.Override],T.prototype,"hashCode",null),i([E.Override],T.prototype,"eval",null),i([E.Override],T.prototype,"evalPrecedence",null),i([E.Override],T.prototype,"toString",null),T=i([n(0,E.NotNull),n(1,E.NotNull)],T),t.AND=T;let R=class r extends c{constructor(t,i){super();let n=new s.Array2DHashSet(h.ObjectEqualityComparator.INSTANCE);t instanceof r?n.addAll(t.opnds):n.add(t),i instanceof r?n.addAll(i.opnds):n.add(i),this.opnds=n.toArray();let o=function(t){let e;for(let r of t)void 0!==e?e.compareTo(r)<0&&(e=r):e=r;return e}(e(this.opnds));o&&this.opnds.push(o)}get operands(){return this.opnds}equals(t){return this===t||t instanceof r&&o.ArrayEqualityComparator.INSTANCE.equals(this.opnds,t.opnds)}hashCode(){return a.MurmurHash.hashCode(this.opnds,486279973)}eval(t,e){for(let r of this.opnds)if(r.eval(t,e))return!0;return!1}evalPrecedence(e,r){let i=!1,n=[];for(let s of this.opnds){let o=s.evalPrecedence(e,r);if(i=i||o!==s,o===t.NONE)return t.NONE;o&&n.push(o)}if(!i)return this;if(0===n.length)return;let s=n[0];for(let e=1;e<n.length;e++)s=t.or(s,n[e]);return s}toString(){return l.join(this.opnds,"||")}};i([E.Override],R.prototype,"operands",null),i([E.Override],R.prototype,"equals",null),i([E.Override],R.prototype,"hashCode",null),i([E.Override],R.prototype,"eval",null),i([E.Override],R.prototype,"evalPrecedence",null),i([E.Override],R.prototype,"toString",null),R=i([n(0,E.NotNull),n(1,E.NotNull)],R),t.OR=R}(u=e.SemanticContext||(e.SemanticContext={}))},(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.toCharArray=e.toMap=e.equals=e.join=e.escapeWhitespace=void 0,e.escapeWhitespace=function(t,e){return e?t.replace(/ /,"·"):t.replace(/\t/,"\\t").replace(/\n/,"\\n").replace(/\r/,"\\r")},e.join=function(t,e){let r="",i=!0;for(let n of t)i?i=!1:r+=e,r+=n;return r},e.equals=function(t,e){return t===e||void 0!==t&&void 0!==e&&t.equals(e)},e.toMap=function(t){let e=new Map;for(let r=0;r<t.length;r++)e.set(t[r],r);return e},e.toCharArray=function(t){if("string"==typeof t){let e=new Uint16Array(t.length);for(let r=0;r<t.length;r++)e[r]=t.charCodeAt(r);return e}return t.toCharArray()}},(t,e,r)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.BitSet=void 0;const i=r(93),n=r(133),s=new Uint16Array(0);function o(t){return t>>>4}function a(t){return 16*t}function E(t){let e=1;for(let r=0;r<16;r++){if(0!=(t&e))return r;e=e<<1>>>0}throw new RangeError("No specified bit found")}function h(t){let e=32768;for(let r=15;r>=0;r--){if(0!=(t&e))return r;e>>>=1}throw new RangeError("No specified bit found")}function l(t,e){return(t&=15)===(e&=15)?1<<t>>>0:65535>>>15-e^65535>>>16-t}const u=new Uint8Array(65536);for(let t=0;t<16;t++){const e=1<<t>>>0;let r=0;for(;r<u.length;){r+=e;for(let t=0;t<e;t++)u[r]++,r++}}class c{constructor(t){if(t)if("number"==typeof t){if(t<0)throw new RangeError("nbits cannot be negative");this.data=new Uint16Array(o(t-1)+1)}else if(t instanceof c)this.data=t.data.slice(0);else{let e=-1;for(let r of t)e<r&&(e=r);this.data=new Uint16Array(o(e-1)+1);for(let e of t)this.set(e)}else this.data=s}and(t){const e=this.data,r=t.data,i=Math.min(e.length,r.length);let n=-1;for(let t=0;t<i;t++){0!==(e[t]&=r[t])&&(n=t)}-1===n&&(this.data=s),n<e.length-1&&(this.data=e.slice(0,n+1))}andNot(t){const e=this.data,r=t.data,i=Math.min(e.length,r.length);let n=-1;for(let t=0;t<i;t++){0!==(e[t]&=65535^r[t])&&(n=t)}-1===n&&(this.data=s),n<e.length-1&&(this.data=e.slice(0,n+1))}cardinality(){if(this.isEmpty)return 0;const t=this.data,e=t.length;let r=0;for(let i=0;i<e;i++)r+=u[t[i]];return r}clear(t,e){null==t?this.data.fill(0):null==e?this.set(t,!1):this.set(t,e,!1)}flip(t,e){if(null==e&&(e=t),t<0||e<t)throw new RangeError;let r=o(t);const i=o(e);if(r===i)this.data[r]^=l(t,e);else{for(this.data[r++]^=l(t,15);r<i;)this.data[r++]^=65535;this.data[r++]^=l(0,e)}}get(t,e){if(void 0===e)return!!(this.data[o(t)]&l(t,t));{let r=new c(e+1);for(let i=t;i<=e;i++)r.set(i,this.get(i));return r}}intersects(t){let e=Math.min(this.length(),t.length());if(0===e)return!1;let r=o(e-1);for(let e=0;e<=r;e++)if(0!=(this.data[e]&t.data[e]))return!0;return!1}get isEmpty(){return 0===this.length()}length(){return this.data.length?this.previousSetBit(a(this.data.length)-1)+1:0}nextClearBit(t){if(t<0)throw new RangeError("fromIndex cannot be negative");const e=this.data,r=e.length;let i=o(t);if(i>r)return-1;let n=65535^l(t,15);if(65535==(e[i]|n)){for(i++,n=0;i<r&&65535===e[i];i++);if(i===r)return-1}return a(i)+E(65535^(e[i]|n))}nextSetBit(t){if(t<0)throw new RangeError("fromIndex cannot be negative");const e=this.data,r=e.length;let i=o(t);if(i>r)return-1;let n=l(t,15);if(0==(e[i]&n)){for(i++,n=65535;i<r&&0===e[i];i++);if(i>=r)return-1}return a(i)+E(e[i]&n)}or(t){const e=this.data,r=t.data,i=Math.min(e.length,r.length),n=Math.max(e.length,r.length),o=e.length===n?e:new Uint16Array(n);let a=-1;for(let t=0;t<i;t++){0!==(o[t]=e[t]|r[t])&&(a=t)}const E=e.length>r.length?e:r;for(let t=i;t<n;t++){0!==(o[t]=E[t])&&(a=t)}-1===a?this.data=s:o.length===a+1?this.data=o:this.data=o.slice(0,a)}previousClearBit(t){if(t<0)throw new RangeError("fromIndex cannot be negative");const e=this.data,r=e.length;let i=o(t);i>=r&&(i=r-1);let n=65535^l(0,t);if(65535==(e[i]|n)){for(n=0,i--;i>=0&&65535===e[i];i--);if(i<0)return-1}return a(i)+h(65535^(e[i]|n))}previousSetBit(t){if(t<0)throw new RangeError("fromIndex cannot be negative");const e=this.data,r=e.length;let i=o(t);i>=r&&(i=r-1);let n=l(0,t);if(0==(e[i]&n)){for(i--,n=65535;i>=0&&0===e[i];i--);if(i<0)return-1}return a(i)+h(e[i]&n)}set(t,e,r){if(void 0===e?(e=t,r=!0):"boolean"==typeof e&&(r=e,e=t),void 0===r&&(r=!0),t<0||t>e)throw new RangeError;let i=o(t),n=o(e);if(r&&n>=this.data.length){let t=new Uint16Array(n+1);this.data.forEach(((e,r)=>t[r]=e)),this.data=t}else if(!r){if(i>=this.data.length)return;n>=this.data.length&&(n=this.data.length-1,e=16*this.data.length-1)}if(i===n)this._setBits(i,r,l(t,e));else{for(this._setBits(i++,r,l(t,15));i<n;)this.data[i++]=r?65535:0;this._setBits(i,r,l(0,e))}}_setBits(t,e,r){e?this.data[t]|=r:this.data[t]&=65535^r}get size(){return 8*this.data.byteLength}hashCode(){return n.MurmurHash.hashCode(this.data,22)}equals(t){if(t===this)return!0;if(!(t instanceof c))return!1;const e=this.length();if(e!==t.length())return!1;if(0===e)return!0;let r=o(e-1);for(let e=0;e<=r;e++)if(this.data[e]!==t.data[e])return!1;return!0}toString(){let t="{",e=!0;for(let r=this.nextSetBit(0);r>=0;r=this.nextSetBit(r+1))e?e=!1:t+=", ",t+=r;return t+="}",t}xor(t){const e=this.data,r=t.data,i=Math.min(e.length,r.length),n=Math.max(e.length,r.length),o=e.length===n?e:new Uint16Array(n);let a=-1;for(let t=0;t<i;t++){0!==(o[t]=e[t]^r[t])&&(a=t)}const E=e.length>r.length?e:r;for(let t=i;t<n;t++){0!==(o[t]=E[t])&&(a=t)}-1===a?this.data=s:o.length===a+1?this.data=o:this.data=o.slice(0,a+1)}clone(){return new c(this)}[Symbol.iterator](){return new T(this.data)}[i.inspect.custom](){return"BitSet "+this.toString()}}e.BitSet=c;class T{constructor(t){this.data=t,this.index=0,this.mask=65535}next(){for(;this.index<this.data.length;){const t=this.data[this.index]&this.mask;if(0!==t){const e=a(this.index)+E(t);return this.mask=l(e+1,15),{done:!1,value:e}}this.index++,this.mask=65535}return{done:!0,value:-1}}[Symbol.iterator](){return this}}},function(t,e,r){"use strict";var i=this&&this.__decorate||function(t,e,r,i){var n,s=arguments.length,o=s<3?e:null===i?i=Object.getOwnPropertyDescriptor(e,r):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(t,e,r,i);else for(var a=t.length-1;a>=0;a--)(n=t[a])&&(o=(s<3?n(o):s>3?n(e,r,o):n(e,r))||o);return s>3&&o&&Object.defineProperty(e,r,o),o};Object.defineProperty(e,"__esModule",{value:!0}),e.DFASerializer=void 0;const n=r(148),s=r(73),o=r(141),a=r(150),E=r(153);class h{constructor(t,e,r,i){e instanceof a.Recognizer?(r=e.ruleNames,i=e.atn,e=e.vocabulary):e||(e=E.VocabularyImpl.EMPTY_VOCABULARY),this.dfa=t,this.vocabulary=e,this.ruleNames=r,this.atn=i}toString(){if(!this.dfa.s0)return"";let t="";if(this.dfa.states){let e=new Array(...this.dfa.states.toArray());e.sort(((t,e)=>t.stateNumber-e.stateNumber));for(let r of e){let e=r.getEdgeMap(),i=[...e.keys()].sort(((t,e)=>t-e)),s=r.getContextEdgeMap(),o=[...s.keys()].sort(((t,e)=>t-e));for(let s of i){let i=e.get(s);if((null==i||i===n.ATNSimulator.ERROR)&&!r.isContextSymbol(s))continue;let o=!1;t+=this.getStateString(r)+"-"+this.getEdgeLabel(s)+"->",r.isContextSymbol(s)&&(t+="!",o=!0);let a=i;a&&a.stateNumber!==n.ATNSimulator.ERROR.stateNumber?t+=this.getStateString(a)+"\n":o&&(t+="ctx\n")}if(r.isContextSensitive)for(let e of o)t+=this.getStateString(r)+"-"+this.getContextLabel(e)+"->"+this.getStateString(s.get(e))+"\n"}}let e=t;return 0===e.length?"":e}getContextLabel(t){if(t===o.PredictionContext.EMPTY_FULL_STATE_KEY)return"ctx:EMPTY_FULL";if(t===o.PredictionContext.EMPTY_LOCAL_STATE_KEY)return"ctx:EMPTY_LOCAL";if(this.atn&&t>0&&t<=this.atn.states.length){let e=this.atn.states[t].ruleIndex;if(this.ruleNames&&e>=0&&e<this.ruleNames.length)return"ctx:"+String(t)+"("+this.ruleNames[e]+")"}return"ctx:"+String(t)}getEdgeLabel(t){return this.vocabulary.getDisplayName(t)}getStateString(t){if(t===n.ATNSimulator.ERROR)return"ERROR";let e=t.stateNumber,r="s"+e;if(t.isAcceptState&&(r=t.predicates?":s"+e+"=>"+t.predicates:":s"+e+"=>"+t.prediction),t.isContextSensitive){r+="*";for(let e of t.configs)if(e.reachesIntoOuterContext){r+="*";break}}return r}}i([s.NotNull],h.prototype,"dfa",void 0),i([s.NotNull],h.prototype,"vocabulary",void 0),i([s.Override],h.prototype,"toString",null),e.DFASerializer=h},function(t,e,r){"use strict";var i=this&&this.__decorate||function(t,e,r,i){var n,s=arguments.length,o=s<3?e:null===i?i=Object.getOwnPropertyDescriptor(e,r):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(t,e,r,i);else for(var a=t.length-1;a>=0;a--)(n=t[a])&&(o=(s<3?n(o):s>3?n(e,r,o):n(e,r))||o);return s>3&&o&&Object.defineProperty(e,r,o),o},n=this&&this.__param||function(t,e){return function(r,i){e(r,i,t)}};Object.defineProperty(e,"__esModule",{value:!0}),e.ATNSimulator=void 0;const s=r(136),o=r(149),a=r(73),E=r(141);let h=class t{constructor(t){this.atn=t}static get ERROR(){return t._ERROR||(t._ERROR=new o.DFAState(new s.ATNConfigSet),t._ERROR.stateNumber=E.PredictionContext.EMPTY_FULL_STATE_KEY),t._ERROR}clearDFA(){this.atn.clearDFA()}};i([a.NotNull],h.prototype,"atn",void 0),i([a.NotNull],h,"ERROR",null),h=i([n(0,a.NotNull)],h),e.ATNSimulator=h,h=e.ATNSimulator||(e.ATNSimulator={}),e.ATNSimulator=h},function(t,e,r){"use strict";var i=this&&this.__decorate||function(t,e,r,i){var n,s=arguments.length,o=s<3?e:null===i?i=Object.getOwnPropertyDescriptor(e,r):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(t,e,r,i);else for(var a=t.length-1;a>=0;a--)(n=t[a])&&(o=(s<3?n(o):s>3?n(e,r,o):n(e,r))||o);return s>3&&o&&Object.defineProperty(e,r,o),o},n=this&&this.__param||function(t,e){return function(r,i){e(r,i,t)}};Object.defineProperty(e,"__esModule",{value:!0}),e.DFAState=void 0;const s=r(88),o=r(146),a=r(133),E=r(73),h=r(141),l=r(91);class u{constructor(t){this.stateNumber=-1,this.configs=t,this.edges=new Map,this.contextEdges=new Map}get isContextSensitive(){return!!this.contextSymbols}isContextSymbol(t){return!!this.isContextSensitive&&this.contextSymbols.get(t)}setContextSymbol(t){l(this.isContextSensitive),this.contextSymbols.set(t)}setContextSensitive(t){l(!this.configs.isOutermostConfigSet),this.isContextSensitive||this.contextSymbols||(this.contextSymbols=new o.BitSet)}get acceptStateInfo(){return this._acceptStateInfo}set acceptStateInfo(t){this._acceptStateInfo=t}get isAcceptState(){return!!this._acceptStateInfo}get prediction(){return this._acceptStateInfo?this._acceptStateInfo.prediction:s.ATN.INVALID_ALT_NUMBER}get lexerActionExecutor(){if(this._acceptStateInfo)return this._acceptStateInfo.lexerActionExecutor}getTarget(t){return this.edges.get(t)}setTarget(t,e){this.edges.set(t,e)}getEdgeMap(){return this.edges}getContextTarget(t){return t===h.PredictionContext.EMPTY_FULL_STATE_KEY&&(t=-1),this.contextEdges.get(t)}setContextTarget(t,e){if(!this.isContextSensitive)throw new Error("The state is not context sensitive.");t===h.PredictionContext.EMPTY_FULL_STATE_KEY&&(t=-1),this.contextEdges.set(t,e)}getContextEdgeMap(){let t=new Map(this.contextEdges),e=t.get(-1);if(void 0!==e){if(1===t.size){let t=new Map;return t.set(h.PredictionContext.EMPTY_FULL_STATE_KEY,e),t}t.delete(-1),t.set(h.PredictionContext.EMPTY_FULL_STATE_KEY,e)}return t}hashCode(){let t=a.MurmurHash.initialize(7);return t=a.MurmurHash.update(t,this.configs.hashCode()),t=a.MurmurHash.finish(t,1),t}equals(t){if(this===t)return!0;if(!(t instanceof u))return!1;let e=t;return this.configs.equals(e.configs)}toString(){let t="";return t+=this.stateNumber+":"+this.configs,this.isAcceptState&&(t+="=>",this.predicates?t+=this.predicates:t+=this.prediction),t.toString()}}i([E.NotNull],u.prototype,"configs",void 0),i([E.NotNull],u.prototype,"edges",void 0),i([E.NotNull],u.prototype,"contextEdges",void 0),i([E.Override],u.prototype,"hashCode",null),i([E.Override],u.prototype,"equals",null),i([E.Override],u.prototype,"toString",null),e.DFAState=u,function(t){let e=class{constructor(t,e){this.alt=e,this.pred=t}toString(){return"("+this.pred+", "+this.alt+")"}};i([E.NotNull],e.prototype,"pred",void 0),i([E.Override],e.prototype,"toString",null),e=i([n(0,E.NotNull)],e),t.PredPrediction=e}(u=e.DFAState||(e.DFAState={}))},function(t,e,r){"use strict";var i=this&&this.__decorate||function(t,e,r,i){var n,s=arguments.length,o=s<3?e:null===i?i=Object.getOwnPropertyDescriptor(e,r):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(t,e,r,i);else for(var a=t.length-1;a>=0;a--)(n=t[a])&&(o=(s<3?n(o):s>3?n(e,r,o):n(e,r))||o);return s>3&&o&&Object.defineProperty(e,r,o),o},n=this&&this.__param||function(t,e){return function(r,i){e(r,i,t)}};Object.defineProperty(e,"__esModule",{value:!0}),e.Recognizer=void 0;const s=r(151),o=r(152),a=r(73),E=r(77),h=r(145);class l{constructor(){this._listeners=[s.ConsoleErrorListener.INSTANCE],this._stateNumber=-1}getTokenTypeMap(){let t=this.vocabulary,e=l.tokenTypeMapCache.get(t);if(null==e){let r=new Map;for(let e=0;e<=this.atn.maxTokenType;e++){let i=t.getLiteralName(e);null!=i&&r.set(i,e);let n=t.getSymbolicName(e);null!=n&&r.set(n,e)}r.set("EOF",E.Token.EOF),e=r,l.tokenTypeMapCache.set(t,e)}return e}getRuleIndexMap(){let t=this.ruleNames;if(null==t)throw new Error("The current recognizer does not provide a list of rule names.");let e=l.ruleIndexMapCache.get(t);return null==e&&(e=h.toMap(t),l.ruleIndexMapCache.set(t,e)),e}getTokenType(t){let e=this.getTokenTypeMap().get(t);return null!=e?e:E.Token.INVALID_TYPE}get serializedATN(){throw new Error("there is no serialized ATN")}get atn(){return this._interp.atn}get interpreter(){return this._interp}set interpreter(t){this._interp=t}get parseInfo(){return Promise.resolve(void 0)}getErrorHeader(t){let e=t.getOffendingToken();return e?"line "+e.line+":"+e.charPositionInLine:""}addErrorListener(t){if(!t)throw new TypeError("listener must not be null");this._listeners.push(t)}removeErrorListener(t){let e=this._listeners.indexOf(t);-1!==e&&this._listeners.splice(e,1)}removeErrorListeners(){this._listeners.length=0}getErrorListeners(){return this._listeners.slice(0)}getErrorListenerDispatch(){return new o.ProxyErrorListener(this.getErrorListeners())}sempred(t,e,r){return!0}precpred(t,e){return!0}action(t,e,r){}get state(){return this._stateNumber}set state(t){this._stateNumber=t}}l.EOF=-1,l.tokenTypeMapCache=new WeakMap,l.ruleIndexMapCache=new WeakMap,i([a.SuppressWarnings("serial"),a.NotNull],l.prototype,"_listeners",void 0),i([a.NotNull],l.prototype,"getTokenTypeMap",null),i([a.NotNull],l.prototype,"getRuleIndexMap",null),i([a.NotNull],l.prototype,"serializedATN",null),i([a.NotNull],l.prototype,"atn",null),i([a.NotNull,n(0,a.NotNull)],l.prototype,"interpreter",null),i([a.NotNull,n(0,a.NotNull)],l.prototype,"getErrorHeader",null),i([n(0,a.NotNull)],l.prototype,"addErrorListener",null),i([n(0,a.NotNull)],l.prototype,"removeErrorListener",null),i([a.NotNull],l.prototype,"getErrorListeners",null),e.Recognizer=l},(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ConsoleErrorListener=void 0;class r{syntaxError(t,e,r,i,n,s){console.error(`line ${r}:${i} ${n}`)}}e.ConsoleErrorListener=r,r.INSTANCE=new r},function(t,e,r){"use strict";var i=this&&this.__decorate||function(t,e,r,i){var n,s=arguments.length,o=s<3?e:null===i?i=Object.getOwnPropertyDescriptor(e,r):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(t,e,r,i);else for(var a=t.length-1;a>=0;a--)(n=t[a])&&(o=(s<3?n(o):s>3?n(e,r,o):n(e,r))||o);return s>3&&o&&Object.defineProperty(e,r,o),o},n=this&&this.__param||function(t,e){return function(r,i){e(r,i,t)}};Object.defineProperty(e,"__esModule",{value:!0}),e.ProxyErrorListener=void 0;const s=r(73);class o{constructor(t){if(this.delegates=t,!t)throw new Error("Invalid delegates")}getDelegates(){return this.delegates}syntaxError(t,e,r,i,n,s){this.delegates.forEach((o=>{o.syntaxError&&o.syntaxError(t,e,r,i,n,s)}))}}i([s.Override,n(0,s.NotNull),n(4,s.NotNull)],o.prototype,"syntaxError",null),e.ProxyErrorListener=o},function(t,e,r){"use strict";var i=this&&this.__decorate||function(t,e,r,i){var n,s=arguments.length,o=s<3?e:null===i?i=Object.getOwnPropertyDescriptor(e,r):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(t,e,r,i);else for(var a=t.length-1;a>=0;a--)(n=t[a])&&(o=(s<3?n(o):s>3?n(e,r,o):n(e,r))||o);return s>3&&o&&Object.defineProperty(e,r,o),o};Object.defineProperty(e,"__esModule",{value:!0}),e.VocabularyImpl=void 0;const n=r(73),s=r(77);class o{constructor(t,e,r){this.literalNames=t,this.symbolicNames=e,this.displayNames=r,this._maxTokenType=Math.max(this.displayNames.length,Math.max(this.literalNames.length,this.symbolicNames.length))-1}get maxTokenType(){return this._maxTokenType}getLiteralName(t){if(t>=0&&t<this.literalNames.length)return this.literalNames[t]}getSymbolicName(t){return t>=0&&t<this.symbolicNames.length?this.symbolicNames[t]:t===s.Token.EOF?"EOF":void 0}getDisplayName(t){if(t>=0&&t<this.displayNames.length){let e=this.displayNames[t];if(e)return e}let e=this.getLiteralName(t);if(e)return e;let r=this.getSymbolicName(t);return r||String(t)}}o.EMPTY_VOCABULARY=new o([],[],[]),i([n.NotNull],o.prototype,"literalNames",void 0),i([n.NotNull],o.prototype,"symbolicNames",void 0),i([n.NotNull],o.prototype,"displayNames",void 0),i([n.Override],o.prototype,"maxTokenType",null),i([n.Override],o.prototype,"getLiteralName",null),i([n.Override],o.prototype,"getSymbolicName",null),i([n.Override,n.NotNull],o.prototype,"getDisplayName",null),i([n.NotNull],o,"EMPTY_VOCABULARY",void 0),e.VocabularyImpl=o},function(t,e,r){"use strict";var i=this&&this.__decorate||function(t,e,r,i){var n,s=arguments.length,o=s<3?e:null===i?i=Object.getOwnPropertyDescriptor(e,r):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(t,e,r,i);else for(var a=t.length-1;a>=0;a--)(n=t[a])&&(o=(s<3?n(o):s>3?n(e,r,o):n(e,r))||o);return s>3&&o&&Object.defineProperty(e,r,o),o},n=this&&this.__param||function(t,e){return function(r,i){e(r,i,t)}};Object.defineProperty(e,"__esModule",{value:!0}),e.LexerDFASerializer=void 0;const s=r(147),o=r(73),a=r(153);let E=class extends s.DFASerializer{constructor(t){super(t,a.VocabularyImpl.EMPTY_VOCABULARY)}getEdgeLabel(t){return"'"+String.fromCodePoint(t)+"'"}};i([o.Override,o.NotNull],E.prototype,"getEdgeLabel",null),E=i([n(0,o.NotNull)],E),e.LexerDFASerializer=E},function(t,e,r){"use strict";var i=this&&this.__decorate||function(t,e,r,i){var n,s=arguments.length,o=s<3?e:null===i?i=Object.getOwnPropertyDescriptor(e,r):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(t,e,r,i);else for(var a=t.length-1;a>=0;a--)(n=t[a])&&(o=(s<3?n(o):s>3?n(e,r,o):n(e,r))||o);return s>3&&o&&Object.defineProperty(e,r,o),o};Object.defineProperty(e,"__esModule",{value:!0}),e.StarLoopEntryState=void 0;const n=r(156),s=r(146),o=r(139),a=r(73);class E extends o.DecisionState{constructor(){super(...arguments),this.precedenceRuleDecision=!1,this.precedenceLoopbackStates=new s.BitSet}get stateType(){return n.ATNStateType.STAR_LOOP_ENTRY}}i([a.Override],E.prototype,"stateType",null),e.StarLoopEntryState=E},(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ATNStateType=void 0,function(t){t[t.INVALID_TYPE=0]="INVALID_TYPE",t[t.BASIC=1]="BASIC",t[t.RULE_START=2]="RULE_START",t[t.BLOCK_START=3]="BLOCK_START",t[t.PLUS_BLOCK_START=4]="PLUS_BLOCK_START",t[t.STAR_BLOCK_START=5]="STAR_BLOCK_START",t[t.TOKEN_START=6]="TOKEN_START",t[t.RULE_STOP=7]="RULE_STOP",t[t.BLOCK_END=8]="BLOCK_END",t[t.STAR_LOOP_BACK=9]="STAR_LOOP_BACK",t[t.STAR_LOOP_ENTRY=10]="STAR_LOOP_ENTRY",t[t.PLUS_LOOP_BACK=11]="PLUS_LOOP_BACK",t[t.LOOP_END=12]="LOOP_END"}(e.ATNStateType||(e.ATNStateType={}))},function(t,e,r){"use strict";var i=this&&this.__decorate||function(t,e,r,i){var n,s=arguments.length,o=s<3?e:null===i?i=Object.getOwnPropertyDescriptor(e,r):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(t,e,r,i);else for(var a=t.length-1;a>=0;a--)(n=t[a])&&(o=(s<3?n(o):s>3?n(e,r,o):n(e,r))||o);return s>3&&o&&Object.defineProperty(e,r,o),o},n=this&&this.__param||function(t,e){return function(r,i){e(r,i,t)}};Object.defineProperty(e,"__esModule",{value:!0}),e.IntervalSet=void 0;const s=r(137),o=r(158),a=r(76),E=r(159),h=r(133),l=r(73),u=r(77);class c{constructor(t){this.readonly=!1,this._intervals=null!=t?t.slice(0):[]}static get COMPLETE_CHAR_SET(){return void 0===c._COMPLETE_CHAR_SET&&(c._COMPLETE_CHAR_SET=c.of(E.Lexer.MIN_CHAR_VALUE,E.Lexer.MAX_CHAR_VALUE),c._COMPLETE_CHAR_SET.setReadonly(!0)),c._COMPLETE_CHAR_SET}static get EMPTY_SET(){return null==c._EMPTY_SET&&(c._EMPTY_SET=new c,c._EMPTY_SET.setReadonly(!0)),c._EMPTY_SET}static of(t,e=t){let r=new c;return r.add(t,e),r}clear(){if(this.readonly)throw new Error("can't alter readonly IntervalSet");this._intervals.length=0}add(t,e=t){this.addRange(a.Interval.of(t,e))}addRange(t){if(this.readonly)throw new Error("can't alter readonly IntervalSet");if(!(t.b<t.a)){for(let e=0;e<this._intervals.length;e++){let r=this._intervals[e];if(t.equals(r))return;if(t.adjacent(r)||!t.disjoint(r)){let i=t.union(r);for(this._intervals[e]=i;e<this._intervals.length-1;){e++;let t=this._intervals[e];if(!i.adjacent(t)&&i.disjoint(t))break;this._intervals.splice(e,1),e--,this._intervals[e]=i.union(t)}return}if(t.startsBeforeDisjoint(r))return void this._intervals.splice(e,0,t)}this._intervals.push(t)}}static or(t){let e=new c;for(let r of t)e.addAll(r);return e}addAll(t){if(null==t)return this;if(t instanceof c){let e=t,r=e._intervals.length;for(let t=0;t<r;t++){let r=e._intervals[t];this.add(r.a,r.b)}}else for(let e of t.toArray())this.add(e);return this}complementRange(t,e){return this.complement(c.of(t,e))}complement(t){if(t.isNil)return c.EMPTY_SET;let e;return t instanceof c?e=t:(e=new c,e.addAll(t)),e.subtract(this)}subtract(t){if(null==t||t.isNil)return new c(this._intervals);if(t instanceof c)return c.subtract(this,t);let e=new c;return e.addAll(t),c.subtract(this,e)}static subtract(t,e){if(t.isNil)return new c;let r=new c(t._intervals);if(e.isNil)return r;let i=0,n=0;for(;i<r._intervals.length&&n<e._intervals.length;){let t,s,o=r._intervals[i],E=e._intervals[n];if(E.b<o.a)n++;else if(E.a>o.b)i++;else if(E.a>o.a&&(t=new a.Interval(o.a,E.a-1)),E.b<o.b&&(s=new a.Interval(E.b+1,o.b)),t){if(s){r._intervals[i]=t,r._intervals.splice(i+1,0,s),i++,n++;continue}r._intervals[i]=t,i++}else s?(r._intervals[i]=s,n++):r._intervals.splice(i,1)}return r}or(t){let e=new c;return e.addAll(this),e.addAll(t),e}and(t){if(t.isNil)return new c;let e,r=this._intervals,i=t._intervals,n=r.length,s=i.length,o=0,a=0;for(;o<n&&a<s;){let t=r[o],n=i[a];t.startsBeforeDisjoint(n)?o++:n.startsBeforeDisjoint(t)?a++:t.properlyContains(n)?(e||(e=new c),e.addRange(t.intersection(n)),a++):n.properlyContains(t)?(e||(e=new c),e.addRange(t.intersection(n)),o++):t.disjoint(n)||(e||(e=new c),e.addRange(t.intersection(n)),t.startsAfterNonDisjoint(n)?a++:n.startsAfterNonDisjoint(t)&&o++)}return e||new c}contains(t){let e=0,r=this._intervals.length-1;for(;e<=r;){let i=e+r>>1,n=this._intervals[i],s=n.a;if(n.b<t)e=i+1;else{if(!(s>t))return!0;r=i-1}}return!1}get isNil(){return null==this._intervals||0===this._intervals.length}get maxElement(){if(this.isNil)throw new RangeError("set is empty");return this._intervals[this._intervals.length-1].b}get minElement(){if(this.isNil)throw new RangeError("set is empty");return this._intervals[0].a}get intervals(){return this._intervals}hashCode(){let t=h.MurmurHash.initialize();for(let e of this._intervals)t=h.MurmurHash.update(t,e.a),t=h.MurmurHash.update(t,e.b);return t=h.MurmurHash.finish(t,2*this._intervals.length),t}equals(t){return null!=t&&t instanceof c&&s.ArrayEqualityComparator.INSTANCE.equals(this._intervals,t._intervals)}toString(t=!1){let e="";if(null==this._intervals||0===this._intervals.length)return"{}";this.size>1&&(e+="{");let r=!0;for(let i of this._intervals){r?r=!1:e+=", ";let n=i.a,s=i.b;n===s?n===u.Token.EOF?e+="<EOF>":e+=t?"'"+String.fromCodePoint(n)+"'":n:e+=t?"'"+String.fromCodePoint(n)+"'..'"+String.fromCodePoint(s)+"'":n+".."+s}return this.size>1&&(e+="}"),e}toStringVocabulary(t){if(null==this._intervals||0===this._intervals.length)return"{}";let e="";this.size>1&&(e+="{");let r=!0;for(let i of this._intervals){r?r=!1:e+=", ";let n=i.a,s=i.b;if(n===s)e+=this.elementName(t,n);else for(let r=n;r<=s;r++)r>n&&(e+=", "),e+=this.elementName(t,r)}return this.size>1&&(e+="}"),e}elementName(t,e){return e===u.Token.EOF?"<EOF>":e===u.Token.EPSILON?"<EPSILON>":t.getDisplayName(e)}get size(){let t=0,e=this._intervals.length;if(1===e){let t=this._intervals[0];return t.b-t.a+1}for(let r=0;r<e;r++){let e=this._intervals[r];t+=e.b-e.a+1}return t}toIntegerList(){let t=new o.IntegerList(this.size),e=this._intervals.length;for(let r=0;r<e;r++){let e=this._intervals[r],i=e.a,n=e.b;for(let e=i;e<=n;e++)t.add(e)}return t}toSet(){let t=new Set;for(let e of this._intervals){let r=e.a,i=e.b;for(let e=r;e<=i;e++)t.add(e)}return t}toArray(){let t=new Array,e=this._intervals.length;for(let r=0;r<e;r++){let e=this._intervals[r],i=e.a,n=e.b;for(let e=i;e<=n;e++)t.push(e)}return t}remove(t){if(this.readonly)throw new Error("can't alter readonly IntervalSet");let e=this._intervals.length;for(let r=0;r<e;r++){let e=this._intervals[r],i=e.a,n=e.b;if(t<i)break;if(t===i&&t===n){this._intervals.splice(r,1);break}if(t===i){this._intervals[r]=a.Interval.of(e.a+1,e.b);break}if(t===n){this._intervals[r]=a.Interval.of(e.a,e.b-1);break}if(t>i&&t<n){let i=e.b;this._intervals[r]=a.Interval.of(e.a,t-1),this.add(t+1,i)}}}get isReadonly(){return this.readonly}setReadonly(t){if(this.readonly&&!t)throw new Error("can't alter readonly IntervalSet");this.readonly=t}}i([l.Override],c.prototype,"addAll",null),i([l.Override],c.prototype,"complement",null),i([l.Override],c.prototype,"subtract",null),i([l.Override],c.prototype,"or",null),i([l.Override],c.prototype,"and",null),i([l.Override],c.prototype,"contains",null),i([l.Override],c.prototype,"isNil",null),i([l.Override],c.prototype,"hashCode",null),i([l.Override],c.prototype,"equals",null),i([n(0,l.NotNull)],c.prototype,"toStringVocabulary",null),i([l.NotNull,n(0,l.NotNull)],c.prototype,"elementName",null),i([l.Override],c.prototype,"size",null),i([l.Override],c.prototype,"remove",null),i([l.NotNull],c,"of",null),i([l.NotNull],c,"subtract",null),e.IntervalSet=c},function(t,e,r){"use strict";var i=this&&this.__decorate||function(t,e,r,i){var n,s=arguments.length,o=s<3?e:null===i?i=Object.getOwnPropertyDescriptor(e,r):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(t,e,r,i);else for(var a=t.length-1;a>=0;a--)(n=t[a])&&(o=(s<3?n(o):s>3?n(e,r,o):n(e,r))||o);return s>3&&o&&Object.defineProperty(e,r,o),o};Object.defineProperty(e,"__esModule",{value:!0}),e.IntegerList=void 0;const n=r(142),s=r(73),o=new Int32Array(0),a=2147483639;class E{constructor(t){if(t)if(t instanceof E)this._data=t._data.slice(0),this._size=t._size;else if("number"==typeof t)0===t?(this._data=o,this._size=0):(this._data=new Int32Array(t),this._size=0);else{this._data=o,this._size=0;for(let e of t)this.add(e)}else this._data=o,this._size=0}add(t){this._data.length===this._size&&this.ensureCapacity(this._size+1),this._data[this._size]=t,this._size++}addAll(t){if(Array.isArray(t))this.ensureCapacity(this._size+t.length),this._data.subarray(this._size,this._size+t.length).set(t),this._size+=t.length;else if(t instanceof E)this.ensureCapacity(this._size+t._size),this._data.subarray(this._size,this._size+t.size).set(t._data),this._size+=t._size;else{this.ensureCapacity(this._size+t.size);let e=0;for(let r of t)this._data[this._size+e]=r,e++;this._size+=t.size}}get(t){if(t<0||t>=this._size)throw RangeError();return this._data[t]}contains(t){for(let e=0;e<this._size;e++)if(this._data[e]===t)return!0;return!1}set(t,e){if(t<0||t>=this._size)throw RangeError();let r=this._data[t];return this._data[t]=e,r}removeAt(t){let e=this.get(t);return this._data.copyWithin(t,t+1,this._size),this._data[this._size-1]=0,this._size--,e}removeRange(t,e){if(t<0||e<0||t>this._size||e>this._size)throw RangeError();if(t>e)throw RangeError();this._data.copyWithin(e,t,this._size),this._data.fill(0,this._size-(e-t),this._size),this._size-=e-t}get isEmpty(){return 0===this._size}get size(){return this._size}trimToSize(){this._data.length!==this._size&&(this._data=this._data.slice(0,this._size))}clear(){this._data.fill(0,0,this._size),this._size=0}toArray(){return 0===this._size?[]:Array.from(this._data.subarray(0,this._size))}sort(){this._data.subarray(0,this._size).sort()}equals(t){if(t===this)return!0;if(!(t instanceof E))return!1;if(this._size!==t._size)return!1;for(let e=0;e<this._size;e++)if(this._data[e]!==t._data[e])return!1;return!0}hashCode(){let t=1;for(let e=0;e<this._size;e++)t=31*t+this._data[e];return t}toString(){return this._data.toString()}binarySearch(t,e,r){if(void 0===e&&(e=0),void 0===r&&(r=this._size),e<0||r<0||e>this._size||r>this._size)throw new RangeError;if(e>r)throw new RangeError;return n.Arrays.binarySearch(this._data,t,e,r)}ensureCapacity(t){if(t<0||t>a)throw new RangeError;let e;for(e=0===this._data.length?4:this._data.length;e<t;)e*=2,(e<0||e>a)&&(e=a);let r=new Int32Array(e);r.set(this._data),this._data=r}toCharArray(){let t=new Uint16Array(this._size),e=0,r=!1;for(let i=0;i<this._size;i++){let n=this._data[i];if(n>=0&&n<65536){t[e]=n,e++;continue}if(!r){let e=new Uint16Array(this.charArraySize());e.set(t,0),t=e,r=!0}let s=String.fromCodePoint(n);t[e]=s.charCodeAt(0),t[e+1]=s.charCodeAt(1),e+=2}return t}charArraySize(){let t=0;for(let e=0;e<this._size;e++)t+=this._data[e]>=65536?2:1;return t}}i([s.NotNull],E.prototype,"_data",void 0),i([s.Override],E.prototype,"equals",null),i([s.Override],E.prototype,"hashCode",null),i([s.Override],E.prototype,"toString",null),e.IntegerList=E},function(t,e,r){"use strict";var i=this&&this.__decorate||function(t,e,r,i){var n,s=arguments.length,o=s<3?e:null===i?i=Object.getOwnPropertyDescriptor(e,r):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(t,e,r,i);else for(var a=t.length-1;a>=0;a--)(n=t[a])&&(o=(s<3?n(o):s>3?n(e,r,o):n(e,r))||o);return s>3&&o&&Object.defineProperty(e,r,o),o};Object.defineProperty(e,"__esModule",{value:!0}),e.Lexer=void 0;const n=r(160),s=r(162),o=r(76),a=r(78),E=r(163),h=r(167),l=r(73),u=r(150),c=r(77);class T extends u.Recognizer{constructor(t){super(),this._factory=n.CommonTokenFactory.DEFAULT,this._tokenStartCharIndex=-1,this._tokenStartLine=0,this._tokenStartCharPositionInLine=0,this._hitEOF=!1,this._channel=0,this._type=0,this._modeStack=new s.IntegerStack,this._mode=T.DEFAULT_MODE,this._input=t,this._tokenFactorySourcePair={source:this,stream:t}}static get DEFAULT_TOKEN_CHANNEL(){return c.Token.DEFAULT_CHANNEL}static get HIDDEN(){return c.Token.HIDDEN_CHANNEL}reset(t){(void 0===t||t)&&this._input.seek(0),this._token=void 0,this._type=c.Token.INVALID_TYPE,this._channel=c.Token.DEFAULT_CHANNEL,this._tokenStartCharIndex=-1,this._tokenStartCharPositionInLine=-1,this._tokenStartLine=-1,this._text=void 0,this._hitEOF=!1,this._mode=T.DEFAULT_MODE,this._modeStack.clear(),this.interpreter.reset()}nextToken(){if(null==this._input)throw new Error("nextToken requires a non-null input stream.");let t=this._input.mark();try{t:for(;;){if(this._hitEOF)return this.emitEOF();this._token=void 0,this._channel=c.Token.DEFAULT_CHANNEL,this._tokenStartCharIndex=this._input.index,this._tokenStartCharPositionInLine=this.interpreter.charPositionInLine,this._tokenStartLine=this.interpreter.line,this._text=void 0;do{let t;this._type=c.Token.INVALID_TYPE;try{t=this.interpreter.match(this._input,this._mode)}catch(e){if(!(e instanceof h.LexerNoViableAltException))throw e;this.notifyListeners(e),this.recover(e),t=T.SKIP}if(this._input.LA(1)===a.IntStream.EOF&&(this._hitEOF=!0),this._type===c.Token.INVALID_TYPE&&(this._type=t),this._type===T.SKIP)continue t}while(this._type===T.MORE);return null==this._token?this.emit():this._token}}finally{this._input.release(t)}}skip(){this._type=T.SKIP}more(){this._type=T.MORE}mode(t){this._mode=t}pushMode(t){E.LexerATNSimulator.debug&&console.log("pushMode "+t),this._modeStack.push(this._mode),this.mode(t)}popMode(){if(this._modeStack.isEmpty)throw new Error("EmptyStackException");return E.LexerATNSimulator.debug&&console.log("popMode back to "+this._modeStack.peek()),this.mode(this._modeStack.pop()),this._mode}get tokenFactory(){return this._factory}set tokenFactory(t){this._factory=t}get inputStream(){return this._input}set inputStream(t){this.reset(!1),this._input=t,this._tokenFactorySourcePair={source:this,stream:this._input}}get sourceName(){return this._input.sourceName}emit(t){return t||(t=this._factory.create(this._tokenFactorySourcePair,this._type,this._text,this._channel,this._tokenStartCharIndex,this.charIndex-1,this._tokenStartLine,this._tokenStartCharPositionInLine)),this._token=t,t}emitEOF(){let t=this.charPositionInLine,e=this.line,r=this._factory.create(this._tokenFactorySourcePair,c.Token.EOF,void 0,c.Token.DEFAULT_CHANNEL,this._input.index,this._input.index-1,e,t);return this.emit(r),r}get line(){return this.interpreter.line}set line(t){this.interpreter.line=t}get charPositionInLine(){return this.interpreter.charPositionInLine}set charPositionInLine(t){this.interpreter.charPositionInLine=t}get charIndex(){return this._input.index}get text(){return null!=this._text?this._text:this.interpreter.getText(this._input)}set text(t){this._text=t}get token(){return this._token}set token(t){this._token=t}set type(t){this._type=t}get type(){return this._type}set channel(t){this._channel=t}get channel(){return this._channel}getAllTokens(){let t=[],e=this.nextToken();for(;e.type!==c.Token.EOF;)t.push(e),e=this.nextToken();return t}notifyListeners(t){let e=this._input.getText(o.Interval.of(this._tokenStartCharIndex,this._input.index)),r="token recognition error at: '"+this.getErrorDisplay(e)+"'",i=this.getErrorListenerDispatch();i.syntaxError&&i.syntaxError(this,void 0,this._tokenStartLine,this._tokenStartCharPositionInLine,r,t)}getErrorDisplay(t){if("number"==typeof t){switch(t){case c.Token.EOF:return"<EOF>";case 10:return"\\n";case 9:return"\\t";case 13:return"\\r"}return String.fromCharCode(t)}return t.replace(/\n/g,"\\n").replace(/\t/g,"\\t").replace(/\r/g,"\\r")}getCharErrorDisplay(t){return"'"+this.getErrorDisplay(t)+"'"}recover(t){t instanceof h.LexerNoViableAltException?this._input.LA(1)!==a.IntStream.EOF&&this.interpreter.consume(this._input):this._input.consume()}}T.DEFAULT_MODE=0,T.MORE=-2,T.SKIP=-3,T.MIN_CHAR_VALUE=0,T.MAX_CHAR_VALUE=1114111,i([l.Override],T.prototype,"nextToken",null),i([l.Override],T.prototype,"tokenFactory",null),i([l.Override],T.prototype,"inputStream",null),i([l.Override],T.prototype,"sourceName",null),i([l.Override],T.prototype,"line",null),i([l.Override],T.prototype,"charPositionInLine",null),e.Lexer=T},function(t,e,r){"use strict";var i=this&&this.__decorate||function(t,e,r,i){var n,s=arguments.length,o=s<3?e:null===i?i=Object.getOwnPropertyDescriptor(e,r):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(t,e,r,i);else for(var a=t.length-1;a>=0;a--)(n=t[a])&&(o=(s<3?n(o):s>3?n(e,r,o):n(e,r))||o);return s>3&&o&&Object.defineProperty(e,r,o),o};Object.defineProperty(e,"__esModule",{value:!0}),e.CommonTokenFactory=void 0;const n=r(161),s=r(76),o=r(73);class a{constructor(t=!1){this.copyText=t}create(t,e,r,i,o,a,E,h){let l=new n.CommonToken(e,r,t,i,o,a);return l.line=E,l.charPositionInLine=h,null==r&&this.copyText&&null!=t.stream&&(l.text=t.stream.getText(s.Interval.of(o,a))),l}createSimple(t,e){return new n.CommonToken(t,e)}}i([o.Override],a.prototype,"create",null),i([o.Override],a.prototype,"createSimple",null),e.CommonTokenFactory=a,function(t){t.DEFAULT=new t}(a=e.CommonTokenFactory||(e.CommonTokenFactory={}))},function(t,e,r){"use strict";var i=this&&this.__decorate||function(t,e,r,i){var n,s=arguments.length,o=s<3?e:null===i?i=Object.getOwnPropertyDescriptor(e,r):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(t,e,r,i);else for(var a=t.length-1;a>=0;a--)(n=t[a])&&(o=(s<3?n(o):s>3?n(e,r,o):n(e,r))||o);return s>3&&o&&Object.defineProperty(e,r,o),o},n=this&&this.__param||function(t,e){return function(r,i){e(r,i,t)}};Object.defineProperty(e,"__esModule",{value:!0}),e.CommonToken=void 0;const s=r(76),o=r(73),a=r(77);let E=class t{constructor(e,r,i=t.EMPTY_SOURCE,n=a.Token.DEFAULT_CHANNEL,s=0,o=0){this._line=0,this._charPositionInLine=-1,this._channel=a.Token.DEFAULT_CHANNEL,this.index=-1,this._text=r,this._type=e,this.source=i,this._channel=n,this.start=s,this.stop=o,null!=i.source&&(this._line=i.source.line,this._charPositionInLine=i.source.charPositionInLine)}static fromToken(e){let r=new t(e.type,void 0,t.EMPTY_SOURCE,e.channel,e.startIndex,e.stopIndex);return r._line=e.line,r.index=e.tokenIndex,r._charPositionInLine=e.charPositionInLine,e instanceof t?(r._text=e._text,r.source=e.source):(r._text=e.text,r.source={source:e.tokenSource,stream:e.inputStream}),r}get type(){return this._type}set type(t){this._type=t}get line(){return this._line}set line(t){this._line=t}get text(){if(null!=this._text)return this._text;let t=this.inputStream;if(null==t)return;let e=t.size;return this.start<e&&this.stop<e?t.getText(s.Interval.of(this.start,this.stop)):"<EOF>"}set text(t){this._text=t}get charPositionInLine(){return this._charPositionInLine}set charPositionInLine(t){this._charPositionInLine=t}get channel(){return this._channel}set channel(t){this._channel=t}get startIndex(){return this.start}set startIndex(t){this.start=t}get stopIndex(){return this.stop}set stopIndex(t){this.stop=t}get tokenIndex(){return this.index}set tokenIndex(t){this.index=t}get tokenSource(){return this.source.source}get inputStream(){return this.source.stream}toString(t){let e="";this._channel>0&&(e=",channel="+this._channel);let r=this.text;null!=r?(r=r.replace(/\n/g,"\\n"),r=r.replace(/\r/g,"\\r"),r=r.replace(/\t/g,"\\t")):r="<no text>";let i=String(this._type);return t&&(i=t.vocabulary.getDisplayName(this._type)),"[@"+this.tokenIndex+","+this.start+":"+this.stop+"='"+r+"',<"+i+">"+e+","+this._line+":"+this.charPositionInLine+"]"}};E.EMPTY_SOURCE={source:void 0,stream:void 0},i([o.NotNull],E.prototype,"source",void 0),i([o.Override],E.prototype,"type",null),i([o.Override],E.prototype,"line",null),i([o.Override],E.prototype,"text",null),i([o.Override],E.prototype,"charPositionInLine",null),i([o.Override],E.prototype,"channel",null),i([o.Override],E.prototype,"startIndex",null),i([o.Override],E.prototype,"stopIndex",null),i([o.Override],E.prototype,"tokenIndex",null),i([o.Override],E.prototype,"tokenSource",null),i([o.Override],E.prototype,"inputStream",null),i([o.Override],E.prototype,"toString",null),i([n(0,o.NotNull)],E,"fromToken",null),E=i([n(2,o.NotNull)],E),e.CommonToken=E},(t,e,r)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.IntegerStack=void 0;const i=r(158);class n extends i.IntegerList{constructor(t){super(t)}push(t){this.add(t)}pop(){return this.removeAt(this.size-1)}peek(){return this.get(this.size-1)}}e.IntegerStack=n},function(t,e,r){"use strict";var i=this&&this.__decorate||function(t,e,r,i){var n,s=arguments.length,o=s<3?e:null===i?i=Object.getOwnPropertyDescriptor(e,r):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(t,e,r,i);else for(var a=t.length-1;a>=0;a--)(n=t[a])&&(o=(s<3?n(o):s>3?n(e,r,o):n(e,r))||o);return s>3&&o&&Object.defineProperty(e,r,o),o},n=this&&this.__param||function(t,e){return function(r,i){e(r,i,t)}};Object.defineProperty(e,"__esModule",{value:!0}),e.LexerATNSimulator=void 0;const s=r(164),o=r(88),a=r(138),E=r(136),h=r(148),l=r(149),u=r(76),c=r(78),T=r(159),R=r(165),p=r(167),S=r(73),A=r(169),d=r(141),N=r(170),O=r(77),C=r(91);let _=class t extends h.ATNSimulator{constructor(e,r){super(e),this.optimize_tail_calls=!0,this.startIndex=-1,this._line=1,this._charPositionInLine=0,this.mode=T.Lexer.DEFAULT_MODE,this.prevAccept=new t.SimState,this.recog=r}copyState(t){this._charPositionInLine=t.charPositionInLine,this._line=t._line,this.mode=t.mode,this.startIndex=t.startIndex}match(t,e){this.mode=e;let r=t.mark();try{this.startIndex=t.index,this.prevAccept.reset();let r=this.atn.modeToDFA[e].s0;return null==r?this.matchATN(t):this.execATN(t,r)}finally{t.release(r)}}reset(){this.prevAccept.reset(),this.startIndex=-1,this._line=1,this._charPositionInLine=0,this.mode=T.Lexer.DEFAULT_MODE}matchATN(e){let r=this.atn.modeToStartState[this.mode];t.debug&&console.log(`matchATN mode ${this.mode} start: ${r}`);let i=this.mode,n=this.computeStartState(e,r),s=n.hasSemanticContext;s&&(n.hasSemanticContext=!1);let o=this.addDFAState(n);if(!s){let t=this.atn.modeToDFA[this.mode];t.s0?o=t.s0:t.s0=o}let a=this.execATN(e,o);return t.debug&&console.log(`DFA after matchATN: ${this.atn.modeToDFA[i].toLexerString()}`),a}execATN(e,r){t.debug&&console.log(`start state closure=${r.configs}`),r.isAcceptState&&this.captureSimState(this.prevAccept,e,r);let i=e.LA(1),n=r;for(;;){t.debug&&console.log(`execATN loop starting closure: ${n.configs}`);let r=this.getExistingTargetState(n,i);if(null==r&&(r=this.computeTargetState(e,n,i)),r===h.ATNSimulator.ERROR)break;if(i!==c.IntStream.EOF&&this.consume(e),r.isAcceptState&&(this.captureSimState(this.prevAccept,e,r),i===c.IntStream.EOF))break;i=e.LA(1),n=r}return this.failOrAccept(this.prevAccept,e,n.configs,i)}getExistingTargetState(e,r){let i=e.getTarget(r);return t.debug&&null!=i&&console.log("reuse state "+e.stateNumber+" edge to "+i.stateNumber),i}computeTargetState(t,e,r){let i=new A.OrderedATNConfigSet;return this.getReachableConfigSet(t,e.configs,i,r),i.isEmpty?(i.hasSemanticContext||this.addDFAEdge(e,r,h.ATNSimulator.ERROR),h.ATNSimulator.ERROR):this.addDFAEdge(e,r,i)}failOrAccept(t,e,r,i){if(null!=t.dfaState){let r=t.dfaState.lexerActionExecutor;return this.accept(e,r,this.startIndex,t.index,t.line,t.charPos),t.dfaState.prediction}if(i===c.IntStream.EOF&&e.index===this.startIndex)return O.Token.EOF;throw new p.LexerNoViableAltException(this.recog,e,this.startIndex,r)}getReachableConfigSet(e,r,i,n){let s=o.ATN.INVALID_ALT_NUMBER;for(let o of r){let r=o.alt===s;if(r&&o.hasPassedThroughNonGreedyDecision)continue;t.debug&&console.log(`testing ${this.getTokenName(n)} at ${o.toString(this.recog,!0)}`);let a=o.state.numberOfOptimizedTransitions;for(let t=0;t<a;t++){let a=o.state.getOptimizedTransition(t),E=this.getReachableTarget(a,n);if(null!=E){let t,a=o.lexerActionExecutor;null!=a?(a=a.fixOffsetBeforeMatch(e.index-this.startIndex),t=o.transform(E,!0,a)):(C(null==o.lexerActionExecutor),t=o.transform(E,!0));let h=n===c.IntStream.EOF;if(this.closure(e,t,i,r,!0,h)){s=o.alt;break}}}}}accept(e,r,i,n,s,o){t.debug&&console.log(`ACTION ${r}`),e.seek(n),this._line=s,this._charPositionInLine=o,null!=r&&null!=this.recog&&r.execute(this.recog,e,i)}getReachableTarget(t,e){if(t.matches(e,T.Lexer.MIN_CHAR_VALUE,T.Lexer.MAX_CHAR_VALUE))return t.target}computeStartState(t,e){let r=d.PredictionContext.EMPTY_FULL,i=new A.OrderedATNConfigSet;for(let n=0;n<e.numberOfTransitions;n++){let s=e.transition(n).target,o=a.ATNConfig.create(s,n+1,r);this.closure(t,o,i,!1,!1,!1)}return i}closure(e,r,i,n,s,o){if(t.debug&&console.log("closure("+r.toString(this.recog,!0)+")"),r.state instanceof N.RuleStopState){t.debug&&(null!=this.recog?console.log(`closure at ${this.recog.ruleNames[r.state.ruleIndex]} rule stop ${r}`):console.log(`closure at rule stop ${r}`));let a=r.context;if(a.isEmpty)return i.add(r),!0;a.hasEmpty&&(i.add(r.transform(r.state,!0,d.PredictionContext.EMPTY_FULL)),n=!0);for(let t=0;t<a.size;t++){let E=a.getReturnState(t);if(E===d.PredictionContext.EMPTY_FULL_STATE_KEY)continue;let h=a.getParent(t),l=this.atn.states[E],u=r.transform(l,!1,h);n=this.closure(e,u,i,n,s,o)}return n}r.state.onlyHasEpsilonTransitions||n&&r.hasPassedThroughNonGreedyDecision||i.add(r);let a=r.state;for(let t=0;t<a.numberOfOptimizedTransitions;t++){let E=a.getOptimizedTransition(t),h=this.getEpsilonTarget(e,r,E,i,s,o);null!=h&&(n=this.closure(e,h,i,n,s,o))}return n}getEpsilonTarget(e,r,i,n,s,o){let a;switch(i.serializationType){case 3:let E=i;if(this.optimize_tail_calls&&E.optimizedTailCall&&!r.context.hasEmpty)a=r.transform(i.target,!0);else{let t=r.context.getChild(E.followState.stateNumber);a=r.transform(i.target,!0,t)}break;case 10:throw new Error("Precedence predicates are not supported in lexers.");case 4:let h=i;t.debug&&console.log("EVAL rule "+h.ruleIndex+":"+h.predIndex),n.hasSemanticContext=!0,a=this.evaluatePredicate(e,h.ruleIndex,h.predIndex,s)?r.transform(i.target,!0):void 0;break;case 6:if(r.context.hasEmpty){let t=R.LexerActionExecutor.append(r.lexerActionExecutor,this.atn.lexerActions[i.actionIndex]);a=r.transform(i.target,!0,t);break}a=r.transform(i.target,!0);break;case 1:a=r.transform(i.target,!0);break;case 5:case 2:case 7:if(o&&i.matches(c.IntStream.EOF,T.Lexer.MIN_CHAR_VALUE,T.Lexer.MAX_CHAR_VALUE)){a=r.transform(i.target,!1);break}a=void 0;break;default:a=void 0}return a}evaluatePredicate(t,e,r,i){if(null==this.recog)return!0;if(!i)return this.recog.sempred(void 0,e,r);let n=this._charPositionInLine,s=this._line,o=t.index,a=t.mark();try{return this.consume(t),this.recog.sempred(void 0,e,r)}finally{this._charPositionInLine=n,this._line=s,t.seek(o),t.release(a)}}captureSimState(t,e,r){t.index=e.index,t.line=this._line,t.charPos=this._charPositionInLine,t.dfaState=r}addDFAEdge(e,r,i){if(i instanceof E.ATNConfigSet){let t=i.hasSemanticContext;t&&(i.hasSemanticContext=!1);let n=this.addDFAState(i);return t||this.addDFAEdge(e,r,n),n}t.debug&&console.log("EDGE "+e+" -> "+i+" upon "+String.fromCharCode(r)),null!=e&&e.setTarget(r,i)}addDFAState(t){C(!t.hasSemanticContext);let e=new l.DFAState(t),r=this.atn.modeToDFA[this.mode].states.get(e);if(null!=r)return r;t.optimizeConfigs(this);let i,n=new l.DFAState(t.clone(!0));for(let e of t)if(e.state instanceof N.RuleStopState){i=e;break}if(null!=i){let t=this.atn.ruleToTokenType[i.state.ruleIndex],e=i.lexerActionExecutor;n.acceptStateInfo=new s.AcceptStateInfo(t,e)}return this.atn.modeToDFA[this.mode].addState(n)}getDFA(t){return this.atn.modeToDFA[t]}getText(t){return t.getText(u.Interval.of(this.startIndex,t.index-1))}get line(){return this._line}set line(t){this._line=t}get charPositionInLine(){return this._charPositionInLine}set charPositionInLine(t){this._charPositionInLine=t}consume(t){t.LA(1)==="\n".charCodeAt(0)?(this._line++,this._charPositionInLine=0):this._charPositionInLine++,t.consume()}getTokenName(t){return-1===t?"EOF":"'"+String.fromCharCode(t)+"'"}};i([S.NotNull],_.prototype,"prevAccept",void 0),i([n(0,S.NotNull)],_.prototype,"copyState",null),i([n(0,S.NotNull)],_.prototype,"match",null),i([S.Override],_.prototype,"reset",null),i([n(0,S.NotNull)],_.prototype,"matchATN",null),i([n(0,S.NotNull),n(1,S.NotNull)],_.prototype,"execATN",null),i([n(0,S.NotNull)],_.prototype,"getExistingTargetState",null),i([S.NotNull,n(0,S.NotNull),n(1,S.NotNull)],_.prototype,"computeTargetState",null),i([n(0,S.NotNull),n(1,S.NotNull),n(2,S.NotNull)],_.prototype,"getReachableConfigSet",null),i([n(0,S.NotNull)],_.prototype,"accept",null),i([S.NotNull,n(0,S.NotNull),n(1,S.NotNull)],_.prototype,"computeStartState",null),i([n(0,S.NotNull),n(1,S.NotNull),n(2,S.NotNull)],_.prototype,"closure",null),i([n(0,S.NotNull),n(1,S.NotNull),n(2,S.NotNull),n(3,S.NotNull)],_.prototype,"getEpsilonTarget",null),i([n(0,S.NotNull)],_.prototype,"evaluatePredicate",null),i([n(0,S.NotNull),n(1,S.NotNull),n(2,S.NotNull)],_.prototype,"captureSimState",null),i([S.NotNull,n(0,S.NotNull)],_.prototype,"addDFAState",null),i([S.NotNull],_.prototype,"getDFA",null),i([S.NotNull,n(0,S.NotNull)],_.prototype,"getText",null),i([n(0,S.NotNull)],_.prototype,"consume",null),i([S.NotNull],_.prototype,"getTokenName",null),_=i([n(0,S.NotNull)],_),e.LexerATNSimulator=_,function(t){t.debug=!1,t.dfa_debug=!1;t.SimState=class{constructor(){this.index=-1,this.line=0,this.charPos=-1}reset(){this.index=-1,this.line=0,this.charPos=-1,this.dfaState=void 0}}}(_=e.LexerATNSimulator||(e.LexerATNSimulator={})),e.LexerATNSimulator=_},(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.AcceptStateInfo=void 0;e.AcceptStateInfo=class{constructor(t,e){this._prediction=t,this._lexerActionExecutor=e}get prediction(){return this._prediction}get lexerActionExecutor(){return this._lexerActionExecutor}}},function(t,e,r){"use strict";var i=this&&this.__decorate||function(t,e,r,i){var n,s=arguments.length,o=s<3?e:null===i?i=Object.getOwnPropertyDescriptor(e,r):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(t,e,r,i);else for(var a=t.length-1;a>=0;a--)(n=t[a])&&(o=(s<3?n(o):s>3?n(e,r,o):n(e,r))||o);return s>3&&o&&Object.defineProperty(e,r,o),o},n=this&&this.__param||function(t,e){return function(r,i){e(r,i,t)}};Object.defineProperty(e,"__esModule",{value:!0}),e.LexerActionExecutor=void 0;const s=r(137),o=r(166),a=r(133),E=r(73);let h=class t{constructor(t){this._lexerActions=t;let e=a.MurmurHash.initialize();for(let r of t)e=a.MurmurHash.update(e,r);this.cachedHashCode=a.MurmurHash.finish(e,t.length)}static append(e,r){if(!e)return new t([r]);let i=e._lexerActions.slice(0);return i.push(r),new t(i)}fixOffsetBeforeMatch(e){let r;for(let t=0;t<this._lexerActions.length;t++)!this._lexerActions[t].isPositionDependent||this._lexerActions[t]instanceof o.LexerIndexedCustomAction||(r||(r=this._lexerActions.slice(0)),r[t]=new o.LexerIndexedCustomAction(e,this._lexerActions[t]));return r?new t(r):this}get lexerActions(){return this._lexerActions}execute(t,e,r){let i=!1,n=e.index;try{for(let s of this._lexerActions){if(s instanceof o.LexerIndexedCustomAction){let t=s.offset;e.seek(r+t),s=s.action,i=r+t!==n}else s.isPositionDependent&&(e.seek(n),i=!1);s.execute(t)}}finally{i&&e.seek(n)}}hashCode(){return this.cachedHashCode}equals(e){return e===this||e instanceof t&&(this.cachedHashCode===e.cachedHashCode&&s.ArrayEqualityComparator.INSTANCE.equals(this._lexerActions,e._lexerActions))}};i([E.NotNull],h.prototype,"_lexerActions",void 0),i([E.NotNull],h.prototype,"lexerActions",null),i([n(0,E.NotNull)],h.prototype,"execute",null),i([E.Override],h.prototype,"hashCode",null),i([E.Override],h.prototype,"equals",null),i([E.NotNull,n(1,E.NotNull)],h,"append",null),h=i([n(0,E.NotNull)],h),e.LexerActionExecutor=h},function(t,e,r){"use strict";var i=this&&this.__decorate||function(t,e,r,i){var n,s=arguments.length,o=s<3?e:null===i?i=Object.getOwnPropertyDescriptor(e,r):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(t,e,r,i);else for(var a=t.length-1;a>=0;a--)(n=t[a])&&(o=(s<3?n(o):s>3?n(e,r,o):n(e,r))||o);return s>3&&o&&Object.defineProperty(e,r,o),o},n=this&&this.__param||function(t,e){return function(r,i){e(r,i,t)}};Object.defineProperty(e,"__esModule",{value:!0}),e.LexerIndexedCustomAction=void 0;const s=r(133),o=r(73);let a=class t{constructor(t,e){this._offset=t,this._action=e}get offset(){return this._offset}get action(){return this._action}get actionType(){return this._action.actionType}get isPositionDependent(){return!0}execute(t){this._action.execute(t)}hashCode(){let t=s.MurmurHash.initialize();return t=s.MurmurHash.update(t,this._offset),t=s.MurmurHash.update(t,this._action),s.MurmurHash.finish(t,2)}equals(e){return e===this||e instanceof t&&(this._offset===e._offset&&this._action.equals(e._action))}};i([o.NotNull],a.prototype,"action",null),i([o.Override],a.prototype,"actionType",null),i([o.Override],a.prototype,"isPositionDependent",null),i([o.Override],a.prototype,"execute",null),i([o.Override],a.prototype,"hashCode",null),i([o.Override],a.prototype,"equals",null),a=i([n(1,o.NotNull)],a),e.LexerIndexedCustomAction=a},function(t,e,r){"use strict";var i=this&&this.__decorate||function(t,e,r,i){var n,s=arguments.length,o=s<3?e:null===i?i=Object.getOwnPropertyDescriptor(e,r):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(t,e,r,i);else for(var a=t.length-1;a>=0;a--)(n=t[a])&&(o=(s<3?n(o):s>3?n(e,r,o):n(e,r))||o);return s>3&&o&&Object.defineProperty(e,r,o),o},n=this&&this.__param||function(t,e){return function(r,i){e(r,i,t)}};Object.defineProperty(e,"__esModule",{value:!0}),e.LexerNoViableAltException=void 0;const s=r(168),o=r(73),a=r(76),E=r(145);let h=class extends s.RecognitionException{constructor(t,e,r,i){super(t,e),this._startIndex=r,this._deadEndConfigs=i}get startIndex(){return this._startIndex}get deadEndConfigs(){return this._deadEndConfigs}get inputStream(){return super.inputStream}toString(){let t="";return this._startIndex>=0&&this._startIndex<this.inputStream.size&&(t=this.inputStream.getText(a.Interval.of(this._startIndex,this._startIndex)),t=E.escapeWhitespace(t,!1)),`LexerNoViableAltException('${t}')`}};i([o.Override],h.prototype,"inputStream",null),i([o.Override],h.prototype,"toString",null),h=i([n(1,o.NotNull)],h),e.LexerNoViableAltException=h},(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.RecognitionException=void 0;class r extends Error{constructor(t,e,r,i){super(i),this._offendingState=-1,this._recognizer=t,this.input=e,this.ctx=r,t&&(this._offendingState=t.state)}get offendingState(){return this._offendingState}setOffendingState(t){this._offendingState=t}get expectedTokens(){if(this._recognizer)return this._recognizer.atn.getExpectedTokens(this._offendingState,this.ctx)}get context(){return this.ctx}get inputStream(){return this.input}getOffendingToken(t){if(!t||t===this._recognizer)return this.offendingToken}setOffendingToken(t,e){t===this._recognizer&&(this.offendingToken=e)}get recognizer(){return this._recognizer}}e.RecognitionException=r},function(t,e,r){"use strict";var i=this&&this.__decorate||function(t,e,r,i){var n,s=arguments.length,o=s<3?e:null===i?i=Object.getOwnPropertyDescriptor(e,r):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(t,e,r,i);else for(var a=t.length-1;a>=0;a--)(n=t[a])&&(o=(s<3?n(o):s>3?n(e,r,o):n(e,r))||o);return s>3&&o&&Object.defineProperty(e,r,o),o};Object.defineProperty(e,"__esModule",{value:!0}),e.OrderedATNConfigSet=void 0;const n=r(136),s=r(73);class o extends n.ATNConfigSet{constructor(t,e){null!=t&&null!=e?super(t,e):super()}clone(t){let e=new o(this,t);return!t&&this.isReadOnly&&e.addAll(this),e}getKey(t){return{state:0,alt:t.hashCode()}}canMerge(t,e,r){return t.equals(r)}}i([s.Override],o.prototype,"clone",null),i([s.Override],o.prototype,"getKey",null),i([s.Override],o.prototype,"canMerge",null),e.OrderedATNConfigSet=o},function(t,e,r){"use strict";var i=this&&this.__decorate||function(t,e,r,i){var n,s=arguments.length,o=s<3?e:null===i?i=Object.getOwnPropertyDescriptor(e,r):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(t,e,r,i);else for(var a=t.length-1;a>=0;a--)(n=t[a])&&(o=(s<3?n(o):s>3?n(e,r,o):n(e,r))||o);return s>3&&o&&Object.defineProperty(e,r,o),o};Object.defineProperty(e,"__esModule",{value:!0}),e.RuleStopState=void 0;const n=r(140),s=r(156),o=r(73);class a extends n.ATNState{get nonStopStateNumber(){return-1}get stateType(){return s.ATNStateType.RULE_STOP}}i([o.Override],a.prototype,"nonStopStateNumber",null),i([o.Override],a.prototype,"stateType",null),e.RuleStopState=a},function(t,e,r){"use strict";var i=this&&this.__decorate||function(t,e,r,i){var n,s=arguments.length,o=s<3?e:null===i?i=Object.getOwnPropertyDescriptor(e,r):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(t,e,r,i);else for(var a=t.length-1;a>=0;a--)(n=t[a])&&(o=(s<3?n(o):s>3?n(e,r,o):n(e,r))||o);return s>3&&o&&Object.defineProperty(e,r,o),o};Object.defineProperty(e,"__esModule",{value:!0}),e.InvalidState=void 0;const n=r(156),s=r(172),o=r(73);class a extends s.BasicState{get stateType(){return n.ATNStateType.INVALID_TYPE}}i([o.Override],a.prototype,"stateType",null),e.InvalidState=a},function(t,e,r){"use strict";var i=this&&this.__decorate||function(t,e,r,i){var n,s=arguments.length,o=s<3?e:null===i?i=Object.getOwnPropertyDescriptor(e,r):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(t,e,r,i);else for(var a=t.length-1;a>=0;a--)(n=t[a])&&(o=(s<3?n(o):s>3?n(e,r,o):n(e,r))||o);return s>3&&o&&Object.defineProperty(e,r,o),o};Object.defineProperty(e,"__esModule",{value:!0}),e.BasicState=void 0;const n=r(140),s=r(156),o=r(73);class a extends n.ATNState{get stateType(){return s.ATNStateType.BASIC}}i([o.Override],a.prototype,"stateType",null),e.BasicState=a},function(t,e,r){"use strict";var i=this&&this.__decorate||function(t,e,r,i){var n,s=arguments.length,o=s<3?e:null===i?i=Object.getOwnPropertyDescriptor(e,r):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(t,e,r,i);else for(var a=t.length-1;a>=0;a--)(n=t[a])&&(o=(s<3?n(o):s>3?n(e,r,o):n(e,r))||o);return s>3&&o&&Object.defineProperty(e,r,o),o},n=this&&this.__param||function(t,e){return function(r,i){e(r,i,t)}};Object.defineProperty(e,"__esModule",{value:!0}),e.LL1Analyzer=void 0;const s=r(174),o=r(90),a=r(138),E=r(146),h=r(157),l=r(73),u=r(176),c=r(134),T=r(141),R=r(170),p=r(178),S=r(77),A=r(179);let d=class t{constructor(t){this.atn=t}getDecisionLookahead(e){if(null==e)return;let r=new Array(e.numberOfTransitions);for(let i=0;i<e.numberOfTransitions;i++){let n=new h.IntervalSet;r[i]=n;let s=new o.Array2DHashSet(c.ObjectEqualityComparator.INSTANCE),a=!1;this._LOOK(e.transition(i).target,void 0,T.PredictionContext.EMPTY_LOCAL,n,s,new E.BitSet,a,!1),(0===n.size||n.contains(t.HIT_PRED))&&(n=void 0,r[i]=n)}return r}LOOK(t,e,r){if(void 0===r){if(null==t.atn)throw new Error("Illegal state");r=t.atn.ruleToStopState[t.ruleIndex]}else null===r&&(r=void 0);let i=new h.IntervalSet;return this._LOOK(t,r,e,i,new o.Array2DHashSet,new E.BitSet,!0,!0),i}_LOOK(e,r,i,n,o,E,l,c){let d=a.ATNConfig.create(e,0,i);if(!o.add(d))return;if(e===r){if(T.PredictionContext.isEmptyLocal(i))return void n.add(S.Token.EPSILON);if(i.isEmpty)return void(c&&n.add(S.Token.EOF))}if(e instanceof R.RuleStopState){if(i.isEmpty&&!T.PredictionContext.isEmptyLocal(i))return void(c&&n.add(S.Token.EOF));let t=E.get(e.ruleIndex);try{E.clear(e.ruleIndex);for(let t=0;t<i.size;t++){if(i.getReturnState(t)===T.PredictionContext.EMPTY_FULL_STATE_KEY)continue;let e=this.atn.states[i.getReturnState(t)];this._LOOK(e,r,i.getParent(t),n,o,E,l,c)}}finally{t&&E.set(e.ruleIndex)}}let N=e.numberOfTransitions;for(let a=0;a<N;a++){let T=e.transition(a);if(T instanceof p.RuleTransition){if(E.get(T.ruleIndex))continue;let t=i.getChild(T.followState.stateNumber);try{E.set(T.ruleIndex),this._LOOK(T.target,r,t,n,o,E,l,c)}finally{E.clear(T.ruleIndex)}}else if(T instanceof s.AbstractPredicateTransition)l?this._LOOK(T.target,r,i,n,o,E,l,c):n.add(t.HIT_PRED);else if(T.isEpsilon)this._LOOK(T.target,r,i,n,o,E,l,c);else if(T instanceof A.WildcardTransition)n.addAll(h.IntervalSet.of(S.Token.MIN_USER_TOKEN_TYPE,this.atn.maxTokenType));else{let t=T.label;null!=t&&(T instanceof u.NotSetTransition&&(t=t.complement(h.IntervalSet.of(S.Token.MIN_USER_TOKEN_TYPE,this.atn.maxTokenType))),n.addAll(t))}}}};d.HIT_PRED=S.Token.INVALID_TYPE,i([l.NotNull],d.prototype,"atn",void 0),i([l.NotNull,n(0,l.NotNull),n(1,l.NotNull)],d.prototype,"LOOK",null),i([n(0,l.NotNull),n(2,l.NotNull),n(3,l.NotNull),n(4,l.NotNull),n(5,l.NotNull)],d.prototype,"_LOOK",null),d=i([n(0,l.NotNull)],d),e.LL1Analyzer=d},(t,e,r)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.AbstractPredicateTransition=void 0;const i=r(175);class n extends i.Transition{constructor(t){super(t)}}e.AbstractPredicateTransition=n},function(t,e,r){"use strict";var i=this&&this.__decorate||function(t,e,r,i){var n,s=arguments.length,o=s<3?e:null===i?i=Object.getOwnPropertyDescriptor(e,r):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(t,e,r,i);else for(var a=t.length-1;a>=0;a--)(n=t[a])&&(o=(s<3?n(o):s>3?n(e,r,o):n(e,r))||o);return s>3&&o&&Object.defineProperty(e,r,o),o},n=this&&this.__param||function(t,e){return function(r,i){e(r,i,t)}};Object.defineProperty(e,"__esModule",{value:!0}),e.Transition=void 0;const s=r(73);let o=class{constructor(t){if(null==t)throw new Error("target cannot be null.");this.target=t}get isEpsilon(){return!1}get label(){}};o.serializationNames=["INVALID","EPSILON","RANGE","RULE","PREDICATE","ATOM","ACTION","SET","NOT_SET","WILDCARD","PRECEDENCE"],i([s.NotNull],o.prototype,"target",void 0),o=i([n(0,s.NotNull)],o),e.Transition=o},function(t,e,r){"use strict";var i=this&&this.__decorate||function(t,e,r,i){var n,s=arguments.length,o=s<3?e:null===i?i=Object.getOwnPropertyDescriptor(e,r):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(t,e,r,i);else for(var a=t.length-1;a>=0;a--)(n=t[a])&&(o=(s<3?n(o):s>3?n(e,r,o):n(e,r))||o);return s>3&&o&&Object.defineProperty(e,r,o),o},n=this&&this.__param||function(t,e){return function(r,i){e(r,i,t)}};Object.defineProperty(e,"__esModule",{value:!0}),e.NotSetTransition=void 0;const s=r(73),o=r(177);let a=class extends o.SetTransition{constructor(t,e){super(t,e)}get serializationType(){return 8}matches(t,e,r){return t>=e&&t<=r&&!super.matches(t,e,r)}toString(){return"~"+super.toString()}};i([s.Override],a.prototype,"serializationType",null),i([s.Override],a.prototype,"matches",null),i([s.Override],a.prototype,"toString",null),a=i([n(0,s.NotNull),n(1,s.Nullable)],a),e.NotSetTransition=a},function(t,e,r){"use strict";var i=this&&this.__decorate||function(t,e,r,i){var n,s=arguments.length,o=s<3?e:null===i?i=Object.getOwnPropertyDescriptor(e,r):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(t,e,r,i);else for(var a=t.length-1;a>=0;a--)(n=t[a])&&(o=(s<3?n(o):s>3?n(e,r,o):n(e,r))||o);return s>3&&o&&Object.defineProperty(e,r,o),o},n=this&&this.__param||function(t,e){return function(r,i){e(r,i,t)}};Object.defineProperty(e,"__esModule",{value:!0}),e.SetTransition=void 0;const s=r(157),o=r(73),a=r(77),E=r(175);let h=class extends E.Transition{constructor(t,e){super(t),null==e&&(e=s.IntervalSet.of(a.Token.INVALID_TYPE)),this.set=e}get serializationType(){return 7}get label(){return this.set}matches(t,e,r){return this.set.contains(t)}toString(){return this.set.toString()}};i([o.NotNull],h.prototype,"set",void 0),i([o.Override],h.prototype,"serializationType",null),i([o.Override,o.NotNull],h.prototype,"label",null),i([o.Override],h.prototype,"matches",null),i([o.Override,o.NotNull],h.prototype,"toString",null),h=i([n(0,o.NotNull),n(1,o.Nullable)],h),e.SetTransition=h},function(t,e,r){"use strict";var i=this&&this.__decorate||function(t,e,r,i){var n,s=arguments.length,o=s<3?e:null===i?i=Object.getOwnPropertyDescriptor(e,r):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(t,e,r,i);else for(var a=t.length-1;a>=0;a--)(n=t[a])&&(o=(s<3?n(o):s>3?n(e,r,o):n(e,r))||o);return s>3&&o&&Object.defineProperty(e,r,o),o},n=this&&this.__param||function(t,e){return function(r,i){e(r,i,t)}};Object.defineProperty(e,"__esModule",{value:!0}),e.RuleTransition=void 0;const s=r(73),o=r(175);let a=class extends o.Transition{constructor(t,e,r,i){super(t),this.tailCall=!1,this.optimizedTailCall=!1,this.ruleIndex=e,this.precedence=r,this.followState=i}get serializationType(){return 3}get isEpsilon(){return!0}matches(t,e,r){return!1}};i([s.NotNull],a.prototype,"followState",void 0),i([s.Override],a.prototype,"serializationType",null),i([s.Override],a.prototype,"isEpsilon",null),i([s.Override],a.prototype,"matches",null),a=i([n(0,s.NotNull),n(3,s.NotNull)],a),e.RuleTransition=a},function(t,e,r){"use strict";var i=this&&this.__decorate||function(t,e,r,i){var n,s=arguments.length,o=s<3?e:null===i?i=Object.getOwnPropertyDescriptor(e,r):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(t,e,r,i);else for(var a=t.length-1;a>=0;a--)(n=t[a])&&(o=(s<3?n(o):s>3?n(e,r,o):n(e,r))||o);return s>3&&o&&Object.defineProperty(e,r,o),o},n=this&&this.__param||function(t,e){return function(r,i){e(r,i,t)}};Object.defineProperty(e,"__esModule",{value:!0}),e.WildcardTransition=void 0;const s=r(73),o=r(175);let a=class extends o.Transition{constructor(t){super(t)}get serializationType(){return 9}matches(t,e,r){return t>=e&&t<=r}toString(){return"."}};i([s.Override],a.prototype,"serializationType",null),i([s.Override],a.prototype,"matches",null),i([s.Override,s.NotNull],a.prototype,"toString",null),a=i([n(0,s.NotNull)],a),e.WildcardTransition=a},function(t,e,r){"use strict";var i=r(94),n=this&&this.__decorate||function(t,e,r,i){var n,s=arguments.length,o=s<3?e:null===i?i=Object.getOwnPropertyDescriptor(e,r):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(t,e,r,i);else for(var a=t.length-1;a>=0;a--)(n=t[a])&&(o=(s<3?n(o):s>3?n(e,r,o):n(e,r))||o);return s>3&&o&&Object.defineProperty(e,r,o),o},s=this&&this.__param||function(t,e){return function(r,i){e(r,i,t)}},o=this&&this.__awaiter||function(t,e,r,i){return new(r||(r=Promise))((function(n,s){function o(t){try{E(i.next(t))}catch(t){s(t)}}function a(t){try{E(i.throw(t))}catch(t){s(t)}}function E(t){var e;t.done?n(t.value):(e=t.value,e instanceof r?e:new r((function(t){t(e)}))).then(o,a)}E((i=i.apply(t,e||[])).next())}))};Object.defineProperty(e,"__esModule",{value:!0}),e.Parser=void 0;const a=r(145),E=r(181),h=r(182),l=r(215),u=r(74),c=r(162),T=r(159),R=r(73),p=r(218),S=r(198),A=r(219),d=r(150),N=r(75),O=r(77);class C{constructor(t,e){this.ruleNames=t,this.tokenStream=e}enterEveryRule(t){console.log("enter "+this.ruleNames[t.ruleIndex]+", LT(1)="+this.tokenStream.LT(1).text)}exitEveryRule(t){console.log("exit "+this.ruleNames[t.ruleIndex]+", LT(1)="+this.tokenStream.LT(1).text)}visitErrorNode(t){}visitTerminal(t){let e=t.parent.ruleContext,r=t.symbol;console.log("consume "+r+" rule "+this.ruleNames[e.ruleIndex])}}n([R.Override],C.prototype,"enterEveryRule",null),n([R.Override],C.prototype,"exitEveryRule",null),n([R.Override],C.prototype,"visitErrorNode",null),n([R.Override],C.prototype,"visitTerminal",null);class _ extends d.Recognizer{constructor(t){super(),this._errHandler=new l.DefaultErrorStrategy,this._precedenceStack=new c.IntegerStack,this._buildParseTrees=!0,this._parseListeners=[],this._syntaxErrors=0,this.matchedEOF=!1,this._precedenceStack.push(0),this.inputStream=t}reset(t){(void 0===t||t)&&this.inputStream.seek(0),this._errHandler.reset(this),this._ctx=void 0,this._syntaxErrors=0,this.matchedEOF=!1,this.isTrace=!1,this._precedenceStack.clear(),this._precedenceStack.push(0);let e=this.interpreter;null!=e&&e.reset()}match(t){let e=this.currentToken;return e.type===t?(t===O.Token.EOF&&(this.matchedEOF=!0),this._errHandler.reportMatch(this),this.consume()):(e=this._errHandler.recoverInline(this),this._buildParseTrees&&-1===e.tokenIndex&&this._ctx.addErrorNode(this.createErrorNode(this._ctx,e))),e}matchWildcard(){let t=this.currentToken;return t.type>0?(this._errHandler.reportMatch(this),this.consume()):(t=this._errHandler.recoverInline(this),this._buildParseTrees&&-1===t.tokenIndex&&this._ctx.addErrorNode(this.createErrorNode(this._ctx,t))),t}set buildParseTree(t){this._buildParseTrees=t}get buildParseTree(){return this._buildParseTrees}getParseListeners(){return this._parseListeners}addParseListener(t){if(null==t)throw new TypeError("listener cannot be null");this._parseListeners.push(t)}removeParseListener(t){let e=this._parseListeners.findIndex((e=>e===t));-1!==e&&this._parseListeners.splice(e,1)}removeParseListeners(){this._parseListeners.length=0}triggerEnterRuleEvent(){for(let t of this._parseListeners)t.enterEveryRule&&t.enterEveryRule(this._ctx),this._ctx.enterRule(t)}triggerExitRuleEvent(){for(let t=this._parseListeners.length-1;t>=0;t--){let e=this._parseListeners[t];this._ctx.exitRule(e),e.exitEveryRule&&e.exitEveryRule(this._ctx)}}get numberOfSyntaxErrors(){return this._syntaxErrors}get tokenFactory(){return this._input.tokenSource.tokenFactory}getATNWithBypassAlts(){let t=this.serializedATN;if(null==t)throw new Error("The current parser does not support an ATN with bypass alternatives.");let e=_.bypassAltsAtnCache.get(t);if(null==e){let r=new E.ATNDeserializationOptions;r.isGenerateRuleBypassTransitions=!0,e=new h.ATNDeserializer(r).deserialize(a.toCharArray(t)),_.bypassAltsAtnCache.set(t,e)}return e}compileParseTreePattern(t,e,i){return o(this,void 0,void 0,(function*(){if(!i){if(this.inputStream){let t=this.inputStream.tokenSource;t instanceof T.Lexer&&(i=t)}if(!i)throw new Error("Parser can't discover a lexer to use")}let n=i;return new((yield Promise.resolve().then((()=>r(220)))).ParseTreePatternMatcher)(n,this).compile(t,e)}))}get errorHandler(){return this._errHandler}set errorHandler(t){this._errHandler=t}get inputStream(){return this._input}set inputStream(t){this.reset(!1),this._input=t}get currentToken(){return this._input.LT(1)}notifyErrorListeners(t,e,r){void 0===e?e=this.currentToken:null===e&&(e=void 0),this._syntaxErrors++;let i=-1,n=-1;null!=e&&(i=e.line,n=e.charPositionInLine);let s=this.getErrorListenerDispatch();s.syntaxError&&s.syntaxError(this,e,i,n,t,r)}consume(){let t=this.currentToken;t.type!==_.EOF&&this.inputStream.consume();let e=0!==this._parseListeners.length;if(this._buildParseTrees||e)if(this._errHandler.inErrorRecoveryMode(this)){let r=this._ctx.addErrorNode(this.createErrorNode(this._ctx,t));if(e)for(let t of this._parseListeners)t.visitErrorNode&&t.visitErrorNode(r)}else{let r=this.createTerminalNode(this._ctx,t);if(this._ctx.addChild(r),e)for(let t of this._parseListeners)t.visitTerminal&&t.visitTerminal(r)}return t}createTerminalNode(t,e){return new N.TerminalNode(e)}createErrorNode(t,e){return new u.ErrorNode(e)}addContextToParseTree(){let t=this._ctx._parent;null!=t&&t.addChild(this._ctx)}enterRule(t,e,r){this.state=e,this._ctx=t,this._ctx._start=this._input.LT(1),this._buildParseTrees&&this.addContextToParseTree(),this.triggerEnterRuleEvent()}enterLeftFactoredRule(t,e,r){if(this.state=e,this._buildParseTrees){let e=this._ctx.getChild(this._ctx.childCount-1);this._ctx.removeLastChild(),e._parent=t,t.addChild(e)}this._ctx=t,this._ctx._start=this._input.LT(1),this._buildParseTrees&&this.addContextToParseTree(),this.triggerEnterRuleEvent()}exitRule(){this.matchedEOF?this._ctx._stop=this._input.LT(1):this._ctx._stop=this._input.tryLT(-1),this.triggerExitRuleEvent(),this.state=this._ctx.invokingState,this._ctx=this._ctx._parent}enterOuterAlt(t,e){if(t.altNumber=e,this._buildParseTrees&&this._ctx!==t){let e=this._ctx._parent;null!=e&&(e.removeLastChild(),e.addChild(t))}this._ctx=t}get precedence(){return this._precedenceStack.isEmpty?-1:this._precedenceStack.peek()}enterRecursionRule(t,e,r,i){this.state=e,this._precedenceStack.push(i),this._ctx=t,this._ctx._start=this._input.LT(1),this.triggerEnterRuleEvent()}pushNewRecursionContext(t,e,r){let i=this._ctx;i._parent=t,i.invokingState=e,i._stop=this._input.tryLT(-1),this._ctx=t,this._ctx._start=i._start,this._buildParseTrees&&this._ctx.addChild(i),this.triggerEnterRuleEvent()}unrollRecursionContexts(t){this._precedenceStack.pop(),this._ctx._stop=this._input.tryLT(-1);let e=this._ctx;if(this._parseListeners.length>0)for(;this._ctx!==t;)this.triggerExitRuleEvent(),this._ctx=this._ctx._parent;else this._ctx=t;e._parent=t,this._buildParseTrees&&null!=t&&t.addChild(e)}getInvokingContext(t){let e=this._ctx;for(;e&&e.ruleIndex!==t;)e=e._parent;return e}get context(){return this._ctx}set context(t){this._ctx=t}precpred(t,e){return e>=this._precedenceStack.peek()}getErrorListenerDispatch(){return new A.ProxyParserErrorListener(this.getErrorListeners())}inContext(t){return!1}isExpectedToken(t){let e=this.interpreter.atn,r=this._ctx,i=e.states[this.state],n=e.nextTokens(i);if(n.contains(t))return!0;if(!n.contains(O.Token.EPSILON))return!1;for(;null!=r&&r.invokingState>=0&&n.contains(O.Token.EPSILON);){let i=e.states[r.invokingState].transition(0);if(n=e.nextTokens(i.followState),n.contains(t))return!0;r=r._parent}return!(!n.contains(O.Token.EPSILON)||t!==O.Token.EOF)}get isMatchedEOF(){return this.matchedEOF}getExpectedTokens(){return this.atn.getExpectedTokens(this.state,this.context)}getExpectedTokensWithinCurrentRule(){let t=this.interpreter.atn,e=t.states[this.state];return t.nextTokens(e)}getRuleIndex(t){let e=this.getRuleIndexMap().get(t);return null!=e?e:-1}get ruleContext(){return this._ctx}getRuleInvocationStack(t=this._ctx){let e=t,r=this.ruleNames,i=[];for(;null!=e;){let t=e.ruleIndex;t<0?i.push("n/a"):i.push(r[t]),e=e._parent}return i}getDFAStrings(){let t=[];for(let e of this._interp.atn.decisionToDFA)t.push(e.toString(this.vocabulary,this.ruleNames));return t}dumpDFA(){let t=!1;for(let e of this._interp.atn.decisionToDFA)e.isEmpty||(t&&console.log(),console.log("Decision "+e.decision+":"),i.stdout.write(e.toString(this.vocabulary,this.ruleNames)),t=!0)}get sourceName(){return this._input.sourceName}get parseInfo(){return Promise.resolve().then((()=>r(250))).then((t=>{let e=this.interpreter;if(e instanceof t.ProfilingATNSimulator)return new p.ParseInfo(e)}))}setProfile(t){return o(this,void 0,void 0,(function*(){let e=yield Promise.resolve().then((()=>r(250))),i=this.interpreter;t?i instanceof e.ProfilingATNSimulator||(this.interpreter=new e.ProfilingATNSimulator(this)):i instanceof e.ProfilingATNSimulator&&(this.interpreter=new S.ParserATNSimulator(this.atn,this)),this.interpreter.setPredictionMode(i.getPredictionMode())}))}set isTrace(t){t?(this._tracer?this.removeParseListener(this._tracer):this._tracer=new C(this.ruleNames,this._input),this.addParseListener(this._tracer)):this._tracer&&(this.removeParseListener(this._tracer),this._tracer=void 0)}get isTrace(){return null!=this._tracer}}_.bypassAltsAtnCache=new Map,n([R.NotNull],_.prototype,"_errHandler",void 0),n([R.NotNull],_.prototype,"match",null),n([R.NotNull],_.prototype,"matchWildcard",null),n([R.NotNull],_.prototype,"getParseListeners",null),n([s(0,R.NotNull)],_.prototype,"addParseListener",null),n([R.NotNull],_.prototype,"getATNWithBypassAlts",null),n([R.NotNull,s(0,R.NotNull)],_.prototype,"errorHandler",null),n([R.Override],_.prototype,"inputStream",null),n([R.NotNull],_.prototype,"currentToken",null),n([s(0,R.NotNull)],_.prototype,"enterRule",null),n([R.Override,s(0,R.Nullable)],_.prototype,"precpred",null),n([R.Override],_.prototype,"getErrorListenerDispatch",null),n([R.NotNull],_.prototype,"getExpectedTokens",null),n([R.NotNull],_.prototype,"getExpectedTokensWithinCurrentRule",null),n([R.Override],_.prototype,"parseInfo",null),e.Parser=_},function(t,e,r){"use strict";var i=this&&this.__decorate||function(t,e,r,i){var n,s=arguments.length,o=s<3?e:null===i?i=Object.getOwnPropertyDescriptor(e,r):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(t,e,r,i);else for(var a=t.length-1;a>=0;a--)(n=t[a])&&(o=(s<3?n(o):s>3?n(e,r,o):n(e,r))||o);return s>3&&o&&Object.defineProperty(e,r,o),o};Object.defineProperty(e,"__esModule",{value:!0}),e.ATNDeserializationOptions=void 0;const n=r(73);class s{constructor(t){this.readOnly=!1,t?(this.verifyATN=t.verifyATN,this.generateRuleBypassTransitions=t.generateRuleBypassTransitions,this.optimize=t.optimize):(this.verifyATN=!0,this.generateRuleBypassTransitions=!1,this.optimize=!0)}static get defaultOptions(){return null==s._defaultOptions&&(s._defaultOptions=new s,s._defaultOptions.makeReadOnly()),s._defaultOptions}get isReadOnly(){return this.readOnly}makeReadOnly(){this.readOnly=!0}get isVerifyATN(){return this.verifyATN}set isVerifyATN(t){this.throwIfReadOnly(),this.verifyATN=t}get isGenerateRuleBypassTransitions(){return this.generateRuleBypassTransitions}set isGenerateRuleBypassTransitions(t){this.throwIfReadOnly(),this.generateRuleBypassTransitions=t}get isOptimize(){return this.optimize}set isOptimize(t){this.throwIfReadOnly(),this.optimize=t}throwIfReadOnly(){if(this.isReadOnly)throw new Error("The object is read only.")}}i([n.NotNull],s,"defaultOptions",null),e.ATNDeserializationOptions=s},function(t,e,r){"use strict";var i=this&&this.__decorate||function(t,e,r,i){var n,s=arguments.length,o=s<3?e:null===i?i=Object.getOwnPropertyDescriptor(e,r):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(t,e,r,i);else for(var a=t.length-1;a>=0;a--)(n=t[a])&&(o=(s<3?n(o):s>3?n(e,r,o):n(e,r))||o);return s>3&&o&&Object.defineProperty(e,r,o),o},n=this&&this.__param||function(t,e){return function(r,i){e(r,i,t)}};Object.defineProperty(e,"__esModule",{value:!0}),e.ATNDeserializer=void 0;const s=r(183),o=r(90),a=r(88),E=r(181),h=r(156),l=r(184),u=r(185),c=r(172),T=r(146),R=r(187),p=r(186),S=r(139),A=r(135),d=r(188),N=r(157),O=r(171),C=r(189),_=r(190),I=r(191),L=r(192),f=r(193),m=r(194),y=r(195),x=r(196),g=r(197),P=r(73),D=r(176),M=r(198),v=r(205),U=r(206),k=r(207),b=r(208),G=r(209),F=r(210),H=r(170),w=r(178),B=r(177),V=r(211),Y=r(212),W=r(155),K=r(77),X=r(213),q=r(214),j=r(179);var Q;!function(t){t[t.UNICODE_BMP=0]="UNICODE_BMP",t[t.UNICODE_SMP=1]="UNICODE_SMP"}(Q||(Q={}));class z{constructor(t){void 0===t&&(t=E.ATNDeserializationOptions.defaultOptions),this.deserializationOptions=t}static get SERIALIZED_VERSION(){return 3}static isFeatureSupported(t,e){let r=z.SUPPORTED_UUIDS.findIndex((e=>e.equals(t)));return!(r<0)&&z.SUPPORTED_UUIDS.findIndex((t=>t.equals(e)))>=r}static getUnicodeDeserializer(t){return 0===t?{readUnicode:(t,e)=>z.toInt(t[e]),size:1}:{readUnicode:(t,e)=>z.toInt32(t,e),size:2}}deserialize(t){t=t.slice(0);for(let e=1;e<t.length;e++)t[e]=t[e]-2&65535;let e=0,r=z.toInt(t[e++]);if(r!==z.SERIALIZED_VERSION){let t=`Could not deserialize ATN with version ${r} (expected ${z.SERIALIZED_VERSION}).`;throw new Error(t)}let i=z.toUUID(t,e);if(e+=8,z.SUPPORTED_UUIDS.findIndex((t=>t.equals(i)))<0){let t=`Could not deserialize ATN with UUID ${i} (expected ${z.SERIALIZED_UUID} or a legacy UUID).`;throw new Error(t)}let n=z.isFeatureSupported(z.ADDED_LEXER_ACTIONS,i),E=z.toInt(t[e++]),T=z.toInt(t[e++]),S=new a.ATN(E,T),N=[],C=[],I=z.toInt(t[e++]);for(let r=0;r<I;r++){let r=z.toInt(t[e++]);if(r===h.ATNStateType.INVALID_TYPE){S.addState(new O.InvalidState);continue}let i=z.toInt(t[e++]);65535===i&&(i=-1);let n=this.stateFactory(r,i);if(r===h.ATNStateType.LOOP_END){let r=z.toInt(t[e++]);N.push([n,r])}else if(n instanceof p.BlockStartState){let r=z.toInt(t[e++]);C.push([n,r])}S.addState(n)}for(let t of N)t[0].loopBackState=S.states[t[1]];for(let t of C)t[0].endState=S.states[t[1]];let L=z.toInt(t[e++]);for(let r=0;r<L;r++){let r=z.toInt(t[e++]);S.states[r].nonGreedy=!0}let f=z.toInt(t[e++]);for(let r=0;r<f;r++){let r=z.toInt(t[e++]);S.states[r].sll=!0}let m=z.toInt(t[e++]);for(let r=0;r<m;r++){let r=z.toInt(t[e++]);S.states[r].isPrecedenceRule=!0}let y=z.toInt(t[e++]);0===S.grammarType&&(S.ruleToTokenType=new Int32Array(y)),S.ruleToStartState=new Array(y);for(let r=0;r<y;r++){let n=z.toInt(t[e++]),s=S.states[n];if(s.leftFactored=0!==z.toInt(t[e++]),S.ruleToStartState[r]=s,0===S.grammarType){let n=z.toInt(t[e++]);if(65535===n&&(n=K.Token.EOF),S.ruleToTokenType[r]=n,!z.isFeatureSupported(z.ADDED_LEXER_ACTIONS,i)){let r=z.toInt(t[e++]);65535===r&&(r=-1)}}}S.ruleToStopState=new Array(y);for(let t of S.states)t instanceof H.RuleStopState&&(S.ruleToStopState[t.ruleIndex]=t,S.ruleToStartState[t.ruleIndex].stopState=t);let x=z.toInt(t[e++]);for(let r=0;r<x;r++){let r=z.toInt(t[e++]);S.modeToStartState.push(S.states[r])}S.modeToDFA=new Array(x);for(let t=0;t<x;t++)S.modeToDFA[t]=new A.DFA(S.modeToStartState[t]);let P=[];e=this.deserializeSets(t,e,P,z.getUnicodeDeserializer(0)),z.isFeatureSupported(z.ADDED_UNICODE_SMP,i)&&(e=this.deserializeSets(t,e,P,z.getUnicodeDeserializer(1)));let D=z.toInt(t[e++]);for(let r=0;r<D;r++){let r=z.toInt(t[e]),i=z.toInt(t[e+1]),n=z.toInt(t[e+2]),s=z.toInt(t[e+3]),o=z.toInt(t[e+4]),a=z.toInt(t[e+5]),E=this.edgeFactory(S,n,r,i,s,o,a,P);S.states[r].addTransition(E),e+=6}let M=new o.Array2DHashSet({hashCode:t=>t.stopState^t.returnState^t.outermostPrecedenceReturn,equals:(t,e)=>t.stopState===e.stopState&&t.returnState===e.returnState&&t.outermostPrecedenceReturn===e.outermostPrecedenceReturn}),k=[];for(let t of S.states){let e=t.ruleIndex>=0&&S.ruleToStartState[t.ruleIndex].leftFactored;for(let r=0;r<t.numberOfTransitions;r++){let i=t.transition(r);if(!(i instanceof w.RuleTransition))continue;let n=i;if(!S.ruleToStartState[n.target.ruleIndex].leftFactored&&e)continue;let s=-1;S.ruleToStartState[n.target.ruleIndex].isPrecedenceRule&&0===n.precedence&&(s=n.target.ruleIndex);let o={stopState:n.target.ruleIndex,returnState:n.followState.stateNumber,outermostPrecedenceReturn:s};M.add(o)&&k.push(o)}}for(let t of k){let e=new d.EpsilonTransition(S.states[t.returnState],t.outermostPrecedenceReturn);S.ruleToStopState[t.stopState].addTransition(e)}for(let t of S.states){if(t instanceof p.BlockStartState){if(void 0===t.endState)throw new Error("IllegalStateException");if(void 0!==t.endState.startState)throw new Error("IllegalStateException");t.endState.startState=t}if(t instanceof U.PlusLoopbackState){let e=t;for(let t=0;t<e.numberOfTransitions;t++){let r=e.transition(t).target;r instanceof v.PlusBlockStartState&&(r.loopBackState=e)}}else if(t instanceof Y.StarLoopbackState){let e=t;for(let t=0;t<e.numberOfTransitions;t++){let r=e.transition(t).target;r instanceof W.StarLoopEntryState&&(r.loopBackState=e)}}}let b=z.toInt(t[e++]);for(let r=1;r<=b;r++){let i=z.toInt(t[e++]),n=S.states[i];S.decisionToState.push(n),n.decision=r-1}if(0===S.grammarType)if(n){S.lexerActions=new Array(z.toInt(t[e++]));for(let r=0;r<S.lexerActions.length;r++){let i=z.toInt(t[e++]),n=z.toInt(t[e++]);65535===n&&(n=-1);let s=z.toInt(t[e++]);65535===s&&(s=-1);let o=this.lexerActionFactory(i,n,s);S.lexerActions[r]=o}}else{let t=[];for(let e of S.states)for(let r=0;r<e.numberOfTransitions;r++){let i=e.transition(r);if(!(i instanceof s.ActionTransition))continue;let n=i.ruleIndex,o=i.actionIndex,a=new _.LexerCustomAction(n,o);e.setTransition(r,new s.ActionTransition(i.target,n,t.length,!1)),t.push(a)}S.lexerActions=t}this.markPrecedenceDecisions(S),S.decisionToDFA=new Array(b);for(let t=0;t<b;t++)S.decisionToDFA[t]=new A.DFA(S.decisionToState[t],t);if(this.deserializationOptions.isVerifyATN&&this.verifyATN(S),this.deserializationOptions.isGenerateRuleBypassTransitions&&1===S.grammarType){S.ruleToTokenType=new Int32Array(S.ruleToStartState.length);for(let t=0;t<S.ruleToStartState.length;t++)S.ruleToTokenType[t]=S.maxTokenType+t+1;for(let t=0;t<S.ruleToStartState.length;t++){let e=new u.BasicBlockStartState;e.ruleIndex=t,S.addState(e);let r,i,n=new R.BlockEndState;if(n.ruleIndex=t,S.addState(n),e.endState=n,S.defineDecisionState(e),n.startState=e,S.ruleToStartState[t].isPrecedenceRule){r=void 0;for(let e of S.states){if(e.ruleIndex!==t)continue;if(!(e instanceof W.StarLoopEntryState))continue;let i=e.transition(e.numberOfTransitions-1).target;if(i instanceof g.LoopEndState&&(i.epsilonOnlyTransitions&&i.transition(0).target instanceof H.RuleStopState)){r=e;break}}if(!r)throw new Error("Couldn't identify final state of the precedence rule prefix section.");i=r.loopBackState.transition(0)}else r=S.ruleToStopState[t];for(let t of S.states)for(let e=0;e<t.numberOfTransitions;e++){let s=t.transition(e);s!==i&&(s.target===r&&(s.target=n))}for(;S.ruleToStartState[t].numberOfTransitions>0;){let r=S.ruleToStartState[t].removeTransition(S.ruleToStartState[t].numberOfTransitions-1);e.addTransition(r)}S.ruleToStartState[t].addTransition(new d.EpsilonTransition(e)),n.addTransition(new d.EpsilonTransition(r));let s=new c.BasicState;S.addState(s),s.addTransition(new l.AtomTransition(n,S.ruleToTokenType[t])),e.addTransition(new d.EpsilonTransition(s))}this.deserializationOptions.isVerifyATN&&this.verifyATN(S)}if(this.deserializationOptions.isOptimize){for(;;){let t=0;t+=z.inlineSetRules(S),t+=z.combineChainedEpsilons(S);let e=0===S.grammarType;if(t+=z.optimizeSets(S,e),0===t)break}this.deserializationOptions.isVerifyATN&&this.verifyATN(S)}return z.identifyTailCalls(S),S}deserializeSets(t,e,r,i){let n=z.toInt(t[e++]);for(let s=0;s<n;s++){let n=z.toInt(t[e]);e++;let s=new N.IntervalSet;r.push(s),0!==z.toInt(t[e++])&&s.add(-1);for(let r=0;r<n;r++){let r=i.readUnicode(t,e);e+=i.size;let n=i.readUnicode(t,e);e+=i.size,s.add(r,n)}}return e}markPrecedenceDecisions(t){let e=new Map;for(let r of t.states)if(r instanceof W.StarLoopEntryState&&t.ruleToStartState[r.ruleIndex].isPrecedenceRule){let i=r.transition(r.numberOfTransitions-1).target;i instanceof g.LoopEndState&&i.epsilonOnlyTransitions&&i.transition(0).target instanceof H.RuleStopState&&(e.set(r.ruleIndex,r),r.precedenceRuleDecision=!0,r.precedenceLoopbackStates=new T.BitSet(t.states.length))}for(let r of e)for(let e of t.ruleToStopState[r[0]].getTransitions()){if(1!==e.serializationType)continue;-1===e.outermostPrecedenceReturn&&r[1].precedenceLoopbackStates.set(e.target.stateNumber)}}verifyATN(t){for(let e of t.states)if(this.checkCondition(void 0!==e,"ATN states should not be undefined."),e.stateType!==h.ATNStateType.INVALID_TYPE){if(this.checkCondition(e.onlyHasEpsilonTransitions||e.numberOfTransitions<=1),e instanceof v.PlusBlockStartState&&this.checkCondition(void 0!==e.loopBackState),e instanceof W.StarLoopEntryState){let t=e;if(this.checkCondition(void 0!==t.loopBackState),this.checkCondition(2===t.numberOfTransitions),t.transition(0).target instanceof V.StarBlockStartState)this.checkCondition(t.transition(1).target instanceof g.LoopEndState),this.checkCondition(!t.nonGreedy);else{if(!(t.transition(0).target instanceof g.LoopEndState))throw new Error("IllegalStateException");this.checkCondition(t.transition(1).target instanceof V.StarBlockStartState),this.checkCondition(t.nonGreedy)}}if(e instanceof Y.StarLoopbackState&&(this.checkCondition(1===e.numberOfTransitions),this.checkCondition(e.transition(0).target instanceof W.StarLoopEntryState)),e instanceof g.LoopEndState&&this.checkCondition(void 0!==e.loopBackState),e instanceof F.RuleStartState&&this.checkCondition(void 0!==e.stopState),e instanceof p.BlockStartState&&this.checkCondition(void 0!==e.endState),e instanceof R.BlockEndState&&this.checkCondition(void 0!==e.startState),e instanceof S.DecisionState){let t=e;this.checkCondition(t.numberOfTransitions<=1||t.decision>=0)}else this.checkCondition(e.numberOfTransitions<=1||e instanceof H.RuleStopState)}}checkCondition(t,e){if(!t)throw new Error("IllegalStateException: "+e)}static inlineSetRules(t){let e=0,r=new Array(t.ruleToStartState.length);for(let e=0;e<t.ruleToStartState.length;e++){let i=t.ruleToStartState[e];for(;i.onlyHasEpsilonTransitions&&1===i.numberOfOptimizedTransitions&&1===i.getOptimizedTransition(0).serializationType;)i=i.getOptimizedTransition(0).target;if(1!==i.numberOfOptimizedTransitions)continue;let n=i.getOptimizedTransition(0),s=n.target;if(!n.isEpsilon&&s.onlyHasEpsilonTransitions&&1===s.numberOfOptimizedTransitions&&s.getOptimizedTransition(0).target instanceof H.RuleStopState)switch(n.serializationType){case 5:case 2:case 7:r[e]=n;break;default:continue}}for(let i of t.states){if(i.ruleIndex<0)continue;let n;for(let s=0;s<i.numberOfOptimizedTransitions;s++){let o=i.getOptimizedTransition(s);if(!(o instanceof w.RuleTransition)){void 0!==n&&n.push(o);continue}let a=o,E=r[a.target.ruleIndex];if(void 0===E){void 0!==n&&n.push(o);continue}if(void 0===n){n=[];for(let t=0;t<s;t++)n.push(i.getOptimizedTransition(s))}e++;let h=a.followState,u=new c.BasicState;switch(u.setRuleIndex(h.ruleIndex),t.addState(u),n.push(new d.EpsilonTransition(u)),E.serializationType){case 5:u.addTransition(new l.AtomTransition(h,E._label));break;case 2:u.addTransition(new G.RangeTransition(h,E.from,E.to));break;case 7:u.addTransition(new B.SetTransition(h,E.label));break;default:throw new Error("UnsupportedOperationException")}}if(void 0!==n){if(i.isOptimized)for(;i.numberOfOptimizedTransitions>0;)i.removeOptimizedTransition(i.numberOfOptimizedTransitions-1);for(let t of n)i.addOptimizedTransition(t)}}return M.ParserATNSimulator.debug&&console.log("ATN runtime optimizer removed "+e+" rule invocations by inlining sets."),e}static combineChainedEpsilons(t){let e=0;for(let r of t.states){if(!r.onlyHasEpsilonTransitions||r instanceof H.RuleStopState)continue;let t;t:for(let i=0;i<r.numberOfOptimizedTransitions;i++){let n=r.getOptimizedTransition(i),s=n.target;if(1===n.serializationType&&-1===n.outermostPrecedenceReturn&&s.stateType===h.ATNStateType.BASIC&&s.onlyHasEpsilonTransitions){for(let e=0;e<s.numberOfOptimizedTransitions;e++)if(1!==s.getOptimizedTransition(e).serializationType||-1!==s.getOptimizedTransition(e).outermostPrecedenceReturn){void 0!==t&&t.push(n);continue t}if(e++,void 0===t){t=[];for(let e=0;e<i;e++)t.push(r.getOptimizedTransition(e))}for(let e=0;e<s.numberOfOptimizedTransitions;e++){let r=s.getOptimizedTransition(e).target;t.push(new d.EpsilonTransition(r))}}else void 0!==t&&t.push(n)}if(void 0!==t){if(r.isOptimized)for(;r.numberOfOptimizedTransitions>0;)r.removeOptimizedTransition(r.numberOfOptimizedTransitions-1);for(let e of t)r.addOptimizedTransition(e)}}return M.ParserATNSimulator.debug&&console.log("ATN runtime optimizer removed "+e+" transitions by combining chained epsilon transitions."),e}static optimizeSets(t,e){if(e)return 0;let r=0,i=t.decisionToState;for(let e of i){let i=new N.IntervalSet;for(let t=0;t<e.numberOfOptimizedTransitions;t++){let r=e.getOptimizedTransition(t);if(!(r instanceof d.EpsilonTransition))continue;if(1!==r.target.numberOfOptimizedTransitions)continue;let n=r.target.getOptimizedTransition(0);n.target instanceof R.BlockEndState&&(n instanceof D.NotSetTransition||(n instanceof l.AtomTransition||n instanceof G.RangeTransition||n instanceof B.SetTransition)&&i.add(t))}if(i.size<=1)continue;let n=[];for(let t=0;t<e.numberOfOptimizedTransitions;t++)i.contains(t)||n.push(e.getOptimizedTransition(t));let s,o=e.getOptimizedTransition(i.minElement).target.getOptimizedTransition(0).target,a=new N.IntervalSet;for(let t of i.intervals)for(let r=t.a;r<=t.b;r++){let t=e.getOptimizedTransition(r).target.getOptimizedTransition(0);if(t instanceof D.NotSetTransition)throw new Error("Not yet implemented.");a.addAll(t.label)}if(1===a.intervals.length)if(1===a.size)s=new l.AtomTransition(o,a.minElement);else{let t=a.intervals[0];s=new G.RangeTransition(o,t.a,t.b)}else s=new B.SetTransition(o,a);let E=new c.BasicState;if(E.setRuleIndex(e.ruleIndex),t.addState(E),E.addTransition(s),n.push(new d.EpsilonTransition(E)),r+=e.numberOfOptimizedTransitions-n.length,e.isOptimized)for(;e.numberOfOptimizedTransitions>0;)e.removeOptimizedTransition(e.numberOfOptimizedTransitions-1);for(let t of n)e.addOptimizedTransition(t)}return M.ParserATNSimulator.debug&&console.log("ATN runtime optimizer removed "+r+" paths by collapsing sets."),r}static identifyTailCalls(t){for(let e of t.states){for(let r=0;r<e.numberOfTransitions;r++){let i=e.transition(r);i instanceof w.RuleTransition&&(i.tailCall=this.testTailCall(t,i,!1),i.optimizedTailCall=this.testTailCall(t,i,!0))}if(e.isOptimized)for(let r=0;r<e.numberOfOptimizedTransitions;r++){let i=e.getOptimizedTransition(r);i instanceof w.RuleTransition&&(i.tailCall=this.testTailCall(t,i,!1),i.optimizedTailCall=this.testTailCall(t,i,!0))}}}static testTailCall(t,e,r){if(!r&&e.tailCall)return!0;if(r&&e.optimizedTailCall)return!0;let i=new T.BitSet(t.states.length),n=[];for(n.push(e.followState);;){let t=n.pop();if(!t)break;if(i.get(t.stateNumber))continue;if(t instanceof H.RuleStopState)continue;if(!t.onlyHasEpsilonTransitions)return!1;let e=r?t.numberOfOptimizedTransitions:t.numberOfTransitions;for(let i=0;i<e;i++){let e=r?t.getOptimizedTransition(i):t.transition(i);if(1!==e.serializationType)return!1;n.push(e.target)}}return!0}static toInt(t){return t}static toInt32(t,e){return(t[e]|t[e+1]<<16)>>>0}static toUUID(t,e){let r=z.toInt32(t,e),i=z.toInt32(t,e+2),n=z.toInt32(t,e+4),s=z.toInt32(t,e+6);return new q.UUID(s,n,i,r)}edgeFactory(t,e,r,i,n,o,a,E){let h=t.states[i];switch(e){case 1:return new d.EpsilonTransition(h);case 2:return 0!==a?new G.RangeTransition(h,K.Token.EOF,o):new G.RangeTransition(h,n,o);case 3:return new w.RuleTransition(t.states[n],o,a,h);case 4:return new b.PredicateTransition(h,n,o,0!==a);case 10:return new k.PrecedencePredicateTransition(h,n);case 5:return 0!==a?new l.AtomTransition(h,K.Token.EOF):new l.AtomTransition(h,n);case 6:return new s.ActionTransition(h,n,o,0!==a);case 7:return new B.SetTransition(h,E[n]);case 8:return new D.NotSetTransition(h,E[n]);case 9:return new j.WildcardTransition(h)}throw new Error("The specified transition type is not valid.")}stateFactory(t,e){let r;switch(t){case h.ATNStateType.INVALID_TYPE:return new O.InvalidState;case h.ATNStateType.BASIC:r=new c.BasicState;break;case h.ATNStateType.RULE_START:r=new F.RuleStartState;break;case h.ATNStateType.BLOCK_START:r=new u.BasicBlockStartState;break;case h.ATNStateType.PLUS_BLOCK_START:r=new v.PlusBlockStartState;break;case h.ATNStateType.STAR_BLOCK_START:r=new V.StarBlockStartState;break;case h.ATNStateType.TOKEN_START:r=new X.TokensStartState;break;case h.ATNStateType.RULE_STOP:r=new H.RuleStopState;break;case h.ATNStateType.BLOCK_END:r=new R.BlockEndState;break;case h.ATNStateType.STAR_LOOP_BACK:r=new Y.StarLoopbackState;break;case h.ATNStateType.STAR_LOOP_ENTRY:r=new W.StarLoopEntryState;break;case h.ATNStateType.PLUS_LOOP_BACK:r=new U.PlusLoopbackState;break;case h.ATNStateType.LOOP_END:r=new g.LoopEndState;break;default:throw new Error(`The specified state type ${t} is not valid.`)}return r.ruleIndex=e,r}lexerActionFactory(t,e,r){switch(t){case 0:return new C.LexerChannelAction(e);case 1:return new _.LexerCustomAction(e,r);case 2:return new I.LexerModeAction(e);case 3:return L.LexerMoreAction.INSTANCE;case 4:return f.LexerPopModeAction.INSTANCE;case 5:return new m.LexerPushModeAction(e);case 6:return y.LexerSkipAction.INSTANCE;case 7:return new x.LexerTypeAction(e);default:throw new Error(`The specified lexer action type ${t} is not valid.`)}}}z.BASE_SERIALIZED_UUID=q.UUID.fromString("E4178468-DF95-44D0-AD87-F22A5D5FB6D3"),z.ADDED_LEXER_ACTIONS=q.UUID.fromString("AB35191A-1603-487E-B75A-479B831EAF6D"),z.ADDED_UNICODE_SMP=q.UUID.fromString("C23FEA89-0605-4f51-AFB8-058BCAB8C91B"),z.SUPPORTED_UUIDS=[z.BASE_SERIALIZED_UUID,z.ADDED_LEXER_ACTIONS,z.ADDED_UNICODE_SMP],z.SERIALIZED_UUID=z.ADDED_UNICODE_SMP,i([P.NotNull],z.prototype,"deserializationOptions",void 0),i([n(0,P.NotNull)],z.prototype,"deserialize",null),i([n(0,P.NotNull)],z.prototype,"markPrecedenceDecisions",null),i([P.NotNull,n(0,P.NotNull)],z.prototype,"edgeFactory",null),e.ATNDeserializer=z},function(t,e,r){"use strict";var i=this&&this.__decorate||function(t,e,r,i){var n,s=arguments.length,o=s<3?e:null===i?i=Object.getOwnPropertyDescriptor(e,r):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(t,e,r,i);else for(var a=t.length-1;a>=0;a--)(n=t[a])&&(o=(s<3?n(o):s>3?n(e,r,o):n(e,r))||o);return s>3&&o&&Object.defineProperty(e,r,o),o},n=this&&this.__param||function(t,e){return function(r,i){e(r,i,t)}};Object.defineProperty(e,"__esModule",{value:!0}),e.ActionTransition=void 0;const s=r(73),o=r(175);let a=class extends o.Transition{constructor(t,e,r=-1,i=!1){super(t),this.ruleIndex=e,this.actionIndex=r,this.isCtxDependent=i}get serializationType(){return 6}get isEpsilon(){return!0}matches(t,e,r){return!1}toString(){return"action_"+this.ruleIndex+":"+this.actionIndex}};i([s.Override],a.prototype,"serializationType",null),i([s.Override],a.prototype,"isEpsilon",null),i([s.Override],a.prototype,"matches",null),i([s.Override],a.prototype,"toString",null),a=i([n(0,s.NotNull)],a),e.ActionTransition=a},function(t,e,r){"use strict";var i=this&&this.__decorate||function(t,e,r,i){var n,s=arguments.length,o=s<3?e:null===i?i=Object.getOwnPropertyDescriptor(e,r):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(t,e,r,i);else for(var a=t.length-1;a>=0;a--)(n=t[a])&&(o=(s<3?n(o):s>3?n(e,r,o):n(e,r))||o);return s>3&&o&&Object.defineProperty(e,r,o),o},n=this&&this.__param||function(t,e){return function(r,i){e(r,i,t)}};Object.defineProperty(e,"__esModule",{value:!0}),e.AtomTransition=void 0;const s=r(157),o=r(73),a=r(175);let E=class extends a.Transition{constructor(t,e){super(t),this._label=e}get serializationType(){return 5}get label(){return s.IntervalSet.of(this._label)}matches(t,e,r){return this._label===t}toString(){return String(this.label)}};i([o.Override],E.prototype,"serializationType",null),i([o.Override,o.NotNull],E.prototype,"label",null),i([o.Override],E.prototype,"matches",null),i([o.Override,o.NotNull],E.prototype,"toString",null),E=i([n(0,o.NotNull)],E),e.AtomTransition=E},function(t,e,r){"use strict";var i=this&&this.__decorate||function(t,e,r,i){var n,s=arguments.length,o=s<3?e:null===i?i=Object.getOwnPropertyDescriptor(e,r):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(t,e,r,i);else for(var a=t.length-1;a>=0;a--)(n=t[a])&&(o=(s<3?n(o):s>3?n(e,r,o):n(e,r))||o);return s>3&&o&&Object.defineProperty(e,r,o),o};Object.defineProperty(e,"__esModule",{value:!0}),e.BasicBlockStartState=void 0;const n=r(156),s=r(186),o=r(73);class a extends s.BlockStartState{get stateType(){return n.ATNStateType.BLOCK_START}}i([o.Override],a.prototype,"stateType",null),e.BasicBlockStartState=a},(t,e,r)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.BlockStartState=void 0;const i=r(139);class n extends i.DecisionState{}e.BlockStartState=n},function(t,e,r){"use strict";var i=this&&this.__decorate||function(t,e,r,i){var n,s=arguments.length,o=s<3?e:null===i?i=Object.getOwnPropertyDescriptor(e,r):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(t,e,r,i);else for(var a=t.length-1;a>=0;a--)(n=t[a])&&(o=(s<3?n(o):s>3?n(e,r,o):n(e,r))||o);return s>3&&o&&Object.defineProperty(e,r,o),o};Object.defineProperty(e,"__esModule",{value:!0}),e.BlockEndState=void 0;const n=r(140),s=r(156),o=r(73);class a extends n.ATNState{get stateType(){return s.ATNStateType.BLOCK_END}}i([o.Override],a.prototype,"stateType",null),e.BlockEndState=a},function(t,e,r){"use strict";var i=this&&this.__decorate||function(t,e,r,i){var n,s=arguments.length,o=s<3?e:null===i?i=Object.getOwnPropertyDescriptor(e,r):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(t,e,r,i);else for(var a=t.length-1;a>=0;a--)(n=t[a])&&(o=(s<3?n(o):s>3?n(e,r,o):n(e,r))||o);return s>3&&o&&Object.defineProperty(e,r,o),o},n=this&&this.__param||function(t,e){return function(r,i){e(r,i,t)}};Object.defineProperty(e,"__esModule",{value:!0}),e.EpsilonTransition=void 0;const s=r(73),o=r(175);let a=class extends o.Transition{constructor(t,e=-1){super(t),this._outermostPrecedenceReturn=e}get outermostPrecedenceReturn(){return this._outermostPrecedenceReturn}get serializationType(){return 1}get isEpsilon(){return!0}matches(t,e,r){return!1}toString(){return"epsilon"}};i([s.Override],a.prototype,"serializationType",null),i([s.Override],a.prototype,"isEpsilon",null),i([s.Override],a.prototype,"matches",null),i([s.Override,s.NotNull],a.prototype,"toString",null),a=i([n(0,s.NotNull)],a),e.EpsilonTransition=a},function(t,e,r){"use strict";var i=this&&this.__decorate||function(t,e,r,i){var n,s=arguments.length,o=s<3?e:null===i?i=Object.getOwnPropertyDescriptor(e,r):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(t,e,r,i);else for(var a=t.length-1;a>=0;a--)(n=t[a])&&(o=(s<3?n(o):s>3?n(e,r,o):n(e,r))||o);return s>3&&o&&Object.defineProperty(e,r,o),o},n=this&&this.__param||function(t,e){return function(r,i){e(r,i,t)}};Object.defineProperty(e,"__esModule",{value:!0}),e.LexerChannelAction=void 0;const s=r(133),o=r(73);class a{constructor(t){this._channel=t}get channel(){return this._channel}get actionType(){return 0}get isPositionDependent(){return!1}execute(t){t.channel=this._channel}hashCode(){let t=s.MurmurHash.initialize();return t=s.MurmurHash.update(t,this.actionType),t=s.MurmurHash.update(t,this._channel),s.MurmurHash.finish(t,2)}equals(t){return t===this||t instanceof a&&this._channel===t._channel}toString(){return`channel(${this._channel})`}}i([o.Override],a.prototype,"actionType",null),i([o.Override],a.prototype,"isPositionDependent",null),i([o.Override,n(0,o.NotNull)],a.prototype,"execute",null),i([o.Override],a.prototype,"hashCode",null),i([o.Override],a.prototype,"equals",null),i([o.Override],a.prototype,"toString",null),e.LexerChannelAction=a},function(t,e,r){"use strict";var i=this&&this.__decorate||function(t,e,r,i){var n,s=arguments.length,o=s<3?e:null===i?i=Object.getOwnPropertyDescriptor(e,r):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(t,e,r,i);else for(var a=t.length-1;a>=0;a--)(n=t[a])&&(o=(s<3?n(o):s>3?n(e,r,o):n(e,r))||o);return s>3&&o&&Object.defineProperty(e,r,o),o},n=this&&this.__param||function(t,e){return function(r,i){e(r,i,t)}};Object.defineProperty(e,"__esModule",{value:!0}),e.LexerCustomAction=void 0;const s=r(133),o=r(73);class a{constructor(t,e){this._ruleIndex=t,this._actionIndex=e}get ruleIndex(){return this._ruleIndex}get actionIndex(){return this._actionIndex}get actionType(){return 1}get isPositionDependent(){return!0}execute(t){t.action(void 0,this._ruleIndex,this._actionIndex)}hashCode(){let t=s.MurmurHash.initialize();return t=s.MurmurHash.update(t,this.actionType),t=s.MurmurHash.update(t,this._ruleIndex),t=s.MurmurHash.update(t,this._actionIndex),s.MurmurHash.finish(t,3)}equals(t){return t===this||t instanceof a&&(this._ruleIndex===t._ruleIndex&&this._actionIndex===t._actionIndex)}}i([o.Override],a.prototype,"actionType",null),i([o.Override],a.prototype,"isPositionDependent",null),i([o.Override,n(0,o.NotNull)],a.prototype,"execute",null),i([o.Override],a.prototype,"hashCode",null),i([o.Override],a.prototype,"equals",null),e.LexerCustomAction=a},function(t,e,r){"use strict";var i=this&&this.__decorate||function(t,e,r,i){var n,s=arguments.length,o=s<3?e:null===i?i=Object.getOwnPropertyDescriptor(e,r):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(t,e,r,i);else for(var a=t.length-1;a>=0;a--)(n=t[a])&&(o=(s<3?n(o):s>3?n(e,r,o):n(e,r))||o);return s>3&&o&&Object.defineProperty(e,r,o),o},n=this&&this.__param||function(t,e){return function(r,i){e(r,i,t)}};Object.defineProperty(e,"__esModule",{value:!0}),e.LexerModeAction=void 0;const s=r(133),o=r(73);class a{constructor(t){this._mode=t}get mode(){return this._mode}get actionType(){return 2}get isPositionDependent(){return!1}execute(t){t.mode(this._mode)}hashCode(){let t=s.MurmurHash.initialize();return t=s.MurmurHash.update(t,this.actionType),t=s.MurmurHash.update(t,this._mode),s.MurmurHash.finish(t,2)}equals(t){return t===this||t instanceof a&&this._mode===t._mode}toString(){return`mode(${this._mode})`}}i([o.Override],a.prototype,"actionType",null),i([o.Override],a.prototype,"isPositionDependent",null),i([o.Override,n(0,o.NotNull)],a.prototype,"execute",null),i([o.Override],a.prototype,"hashCode",null),i([o.Override],a.prototype,"equals",null),i([o.Override],a.prototype,"toString",null),e.LexerModeAction=a},function(t,e,r){"use strict";var i=this&&this.__decorate||function(t,e,r,i){var n,s=arguments.length,o=s<3?e:null===i?i=Object.getOwnPropertyDescriptor(e,r):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(t,e,r,i);else for(var a=t.length-1;a>=0;a--)(n=t[a])&&(o=(s<3?n(o):s>3?n(e,r,o):n(e,r))||o);return s>3&&o&&Object.defineProperty(e,r,o),o},n=this&&this.__param||function(t,e){return function(r,i){e(r,i,t)}};Object.defineProperty(e,"__esModule",{value:!0}),e.LexerMoreAction=void 0;const s=r(133),o=r(73);class a{constructor(){}get actionType(){return 3}get isPositionDependent(){return!1}execute(t){t.more()}hashCode(){let t=s.MurmurHash.initialize();return t=s.MurmurHash.update(t,this.actionType),s.MurmurHash.finish(t,1)}equals(t){return t===this}toString(){return"more"}}i([o.Override],a.prototype,"actionType",null),i([o.Override],a.prototype,"isPositionDependent",null),i([o.Override,n(0,o.NotNull)],a.prototype,"execute",null),i([o.Override],a.prototype,"hashCode",null),i([o.Override],a.prototype,"equals",null),i([o.Override],a.prototype,"toString",null),e.LexerMoreAction=a,function(t){t.INSTANCE=new t}(a=e.LexerMoreAction||(e.LexerMoreAction={}))},function(t,e,r){"use strict";var i=this&&this.__decorate||function(t,e,r,i){var n,s=arguments.length,o=s<3?e:null===i?i=Object.getOwnPropertyDescriptor(e,r):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(t,e,r,i);else for(var a=t.length-1;a>=0;a--)(n=t[a])&&(o=(s<3?n(o):s>3?n(e,r,o):n(e,r))||o);return s>3&&o&&Object.defineProperty(e,r,o),o},n=this&&this.__param||function(t,e){return function(r,i){e(r,i,t)}};Object.defineProperty(e,"__esModule",{value:!0}),e.LexerPopModeAction=void 0;const s=r(133),o=r(73);class a{constructor(){}get actionType(){return 4}get isPositionDependent(){return!1}execute(t){t.popMode()}hashCode(){let t=s.MurmurHash.initialize();return t=s.MurmurHash.update(t,this.actionType),s.MurmurHash.finish(t,1)}equals(t){return t===this}toString(){return"popMode"}}i([o.Override],a.prototype,"actionType",null),i([o.Override],a.prototype,"isPositionDependent",null),i([o.Override,n(0,o.NotNull)],a.prototype,"execute",null),i([o.Override],a.prototype,"hashCode",null),i([o.Override],a.prototype,"equals",null),i([o.Override],a.prototype,"toString",null),e.LexerPopModeAction=a,function(t){t.INSTANCE=new t}(a=e.LexerPopModeAction||(e.LexerPopModeAction={}))},function(t,e,r){"use strict";var i=this&&this.__decorate||function(t,e,r,i){var n,s=arguments.length,o=s<3?e:null===i?i=Object.getOwnPropertyDescriptor(e,r):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(t,e,r,i);else for(var a=t.length-1;a>=0;a--)(n=t[a])&&(o=(s<3?n(o):s>3?n(e,r,o):n(e,r))||o);return s>3&&o&&Object.defineProperty(e,r,o),o},n=this&&this.__param||function(t,e){return function(r,i){e(r,i,t)}};Object.defineProperty(e,"__esModule",{value:!0}),e.LexerPushModeAction=void 0;const s=r(133),o=r(73);class a{constructor(t){this._mode=t}get mode(){return this._mode}get actionType(){return 5}get isPositionDependent(){return!1}execute(t){t.pushMode(this._mode)}hashCode(){let t=s.MurmurHash.initialize();return t=s.MurmurHash.update(t,this.actionType),t=s.MurmurHash.update(t,this._mode),s.MurmurHash.finish(t,2)}equals(t){return t===this||t instanceof a&&this._mode===t._mode}toString(){return`pushMode(${this._mode})`}}i([o.Override],a.prototype,"actionType",null),i([o.Override],a.prototype,"isPositionDependent",null),i([o.Override,n(0,o.NotNull)],a.prototype,"execute",null),i([o.Override],a.prototype,"hashCode",null),i([o.Override],a.prototype,"equals",null),i([o.Override],a.prototype,"toString",null),e.LexerPushModeAction=a},function(t,e,r){"use strict";var i=this&&this.__decorate||function(t,e,r,i){var n,s=arguments.length,o=s<3?e:null===i?i=Object.getOwnPropertyDescriptor(e,r):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(t,e,r,i);else for(var a=t.length-1;a>=0;a--)(n=t[a])&&(o=(s<3?n(o):s>3?n(e,r,o):n(e,r))||o);return s>3&&o&&Object.defineProperty(e,r,o),o},n=this&&this.__param||function(t,e){return function(r,i){e(r,i,t)}};Object.defineProperty(e,"__esModule",{value:!0}),e.LexerSkipAction=void 0;const s=r(133),o=r(73);class a{constructor(){}get actionType(){return 6}get isPositionDependent(){return!1}execute(t){t.skip()}hashCode(){let t=s.MurmurHash.initialize();return t=s.MurmurHash.update(t,this.actionType),s.MurmurHash.finish(t,1)}equals(t){return t===this}toString(){return"skip"}}i([o.Override],a.prototype,"actionType",null),i([o.Override],a.prototype,"isPositionDependent",null),i([o.Override,n(0,o.NotNull)],a.prototype,"execute",null),i([o.Override],a.prototype,"hashCode",null),i([o.Override],a.prototype,"equals",null),i([o.Override],a.prototype,"toString",null),e.LexerSkipAction=a,function(t){t.INSTANCE=new t}(a=e.LexerSkipAction||(e.LexerSkipAction={}))},function(t,e,r){"use strict";var i=this&&this.__decorate||function(t,e,r,i){var n,s=arguments.length,o=s<3?e:null===i?i=Object.getOwnPropertyDescriptor(e,r):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(t,e,r,i);else for(var a=t.length-1;a>=0;a--)(n=t[a])&&(o=(s<3?n(o):s>3?n(e,r,o):n(e,r))||o);return s>3&&o&&Object.defineProperty(e,r,o),o},n=this&&this.__param||function(t,e){return function(r,i){e(r,i,t)}};Object.defineProperty(e,"__esModule",{value:!0}),e.LexerTypeAction=void 0;const s=r(133),o=r(73);class a{constructor(t){this._type=t}get type(){return this._type}get actionType(){return 7}get isPositionDependent(){return!1}execute(t){t.type=this._type}hashCode(){let t=s.MurmurHash.initialize();return t=s.MurmurHash.update(t,this.actionType),t=s.MurmurHash.update(t,this._type),s.MurmurHash.finish(t,2)}equals(t){return t===this||t instanceof a&&this._type===t._type}toString(){return`type(${this._type})`}}i([o.Override],a.prototype,"actionType",null),i([o.Override],a.prototype,"isPositionDependent",null),i([o.Override,n(0,o.NotNull)],a.prototype,"execute",null),i([o.Override],a.prototype,"hashCode",null),i([o.Override],a.prototype,"equals",null),i([o.Override],a.prototype,"toString",null),e.LexerTypeAction=a},function(t,e,r){"use strict";var i=this&&this.__decorate||function(t,e,r,i){var n,s=arguments.length,o=s<3?e:null===i?i=Object.getOwnPropertyDescriptor(e,r):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(t,e,r,i);else for(var a=t.length-1;a>=0;a--)(n=t[a])&&(o=(s<3?n(o):s>3?n(e,r,o):n(e,r))||o);return s>3&&o&&Object.defineProperty(e,r,o),o};Object.defineProperty(e,"__esModule",{value:!0}),e.LoopEndState=void 0;const n=r(140),s=r(156),o=r(73);class a extends n.ATNState{get stateType(){return s.ATNStateType.LOOP_END}}i([o.Override],a.prototype,"stateType",null),e.LoopEndState=a},function(t,e,r){"use strict";var i=this&&this.__decorate||function(t,e,r,i){var n,s=arguments.length,o=s<3?e:null===i?i=Object.getOwnPropertyDescriptor(e,r):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(t,e,r,i);else for(var a=t.length-1;a>=0;a--)(n=t[a])&&(o=(s<3?n(o):s>3?n(e,r,o):n(e,r))||o);return s>3&&o&&Object.defineProperty(e,r,o),o},n=this&&this.__param||function(t,e){return function(r,i){e(r,i,t)}};Object.defineProperty(e,"__esModule",{value:!0}),e.ParserATNSimulator=void 0;const s=r(164),o=r(183),a=r(90),E=r(142),h=r(88),l=r(138),u=r(136),c=r(148),T=r(156),R=r(184),p=r(146),S=r(199),A=r(139),d=r(149),N=r(158),O=r(76),C=r(78),_=r(73),I=r(176),L=r(200),f=r(134),m=r(201),y=r(141),x=r(143),g=r(203),P=r(170),D=r(178),M=r(144),v=r(177),U=r(204),k=r(77),b=r(153),G=r(91),F=-2147483648;let H=class t extends c.ATNSimulator{constructor(t,e){super(t),this.predictionMode=g.PredictionMode.LL,this.force_global_context=!1,this.always_try_local_context=!0,this.enable_global_context_dfa=!1,this.optimize_unique_closure=!0,this.optimize_ll1=!0,this.optimize_tail_calls=!0,this.tail_call_preserves_sll=!0,this.treat_sllk1_conflict_as_ambiguity=!1,this.reportAmbiguities=!1,this.userWantsCtxSensitive=!0,this._parser=e}getPredictionMode(){return this.predictionMode}setPredictionMode(t){this.predictionMode=t}reset(){}adaptivePredict(e,r,i,n){void 0===n&&(n=!1);let s,o=this.atn.decisionToDFA[r];if(G(null!=o),this.optimize_ll1&&!o.isPrecedenceDfa&&!o.isEmpty){let t=e.LA(1);if(t>=0&&t<=65535){let e=(r<<16>>>0)+t,i=this.atn.LL1Table.get(e);if(null!=i)return i}}this.dfa=o,this.force_global_context?n=!0:this.always_try_local_context||(n=n||o.isContextSensitive),this.userWantsCtxSensitive=n||this.predictionMode!==g.PredictionMode.SLL&&null!=i&&!this.atn.decisionToState[r].sll,null==i&&(i=m.ParserRuleContext.emptyContext()),o.isEmpty||(s=this.getStartState(o,e,i,n)),null==s&&(null==i&&(i=m.ParserRuleContext.emptyContext()),t.debug&&console.log("ATN decision "+o.decision+" exec LA(1)=="+this.getLookaheadName(e)+", outerContext="+i.toString(this._parser)),s=this.computeStartState(o,i,n));let a=e.mark(),E=e.index;try{let r=this.execDFA(o,e,E,s);return t.debug&&console.log("DFA after predictATN: "+o.toString(this._parser.vocabulary,this._parser.ruleNames)),r}finally{this.dfa=void 0,e.seek(E),e.release(a)}}getStartState(t,e,r,i){if(!i){if(t.isPrecedenceDfa){let e=t.getPrecedenceStartState(this._parser.precedence,!1);if(null==e)return;return new U.SimulatorState(r,e,!1,r)}if(null==t.s0)return;return new U.SimulatorState(r,t.s0,!1,r)}if(!this.enable_global_context_dfa)return;let n,s=r;for(G(null!=r),n=t.isPrecedenceDfa?t.getPrecedenceStartState(this._parser.precedence,!0):t.s0full;null!=s&&null!=n&&n.isContextSensitive;)s=this.skipTailCalls(s),n=n.getContextTarget(this.getReturnState(s)),s.isEmpty?G(null==n||!n.isContextSensitive):s=s.parent;return null!=n?new U.SimulatorState(r,n,i,s):void 0}execDFA(e,r,i,n){let s=n.outerContext;t.dfa_debug&&console.log("DFA decision "+e.decision+" exec LA(1)=="+this.getLookaheadName(r)+", outerContext="+s.toString(this._parser)),t.dfa_debug&&console.log(e.toString(this._parser.vocabulary,this._parser.ruleNames));let o=n.s0,a=r.LA(1),E=n.remainingOuterContext;for(;;){if(t.dfa_debug&&console.log("DFA state "+o.stateNumber+" LA(1)=="+this.getLookaheadName(r)),n.useContext)for(;o.isContextSymbol(a);){let t;if(null!=E&&(E=this.skipTailCalls(E),t=o.getContextTarget(this.getReturnState(E))),null==t){let t=new U.SimulatorState(n.outerContext,o,n.useContext,E);return this.execATN(e,r,i,t)}G(null!=E),E=E.parent,o=t}if(this.isAcceptState(o,n.useContext)){null!=o.predicates?t.dfa_debug&&console.log("accept "+o):t.dfa_debug&&console.log("accept; predict "+o.prediction+" in state "+o.stateNumber);break}G(!this.isAcceptState(o,n.useContext));let h=this.getExistingTargetState(o,a);if(null==h){let h;if(t.dfa_debug&&a>=0&&console.log("no edge for "+this._parser.vocabulary.getDisplayName(a)),t.dfa_debug){let t=O.Interval.of(i,this._parser.inputStream.index);console.log("ATN exec upon "+this._parser.inputStream.getText(t)+" at DFA state "+o.stateNumber)}let l=new U.SimulatorState(s,o,n.useContext,E);return h=this.execATN(e,r,i,l),t.dfa_debug&&console.log("back from DFA update, alt="+h+", dfa=\n"+e.toString(this._parser.vocabulary,this._parser.ruleNames)),t.dfa_debug&&console.log("DFA decision "+e.decision+" predicts "+h),h}if(h===c.ATNSimulator.ERROR){let t=new U.SimulatorState(s,o,n.useContext,E);return this.handleNoViableAlt(r,i,t)}o=h,this.isAcceptState(o,n.useContext)||a===C.IntStream.EOF||(r.consume(),a=r.LA(1))}if(!n.useContext&&null!=o.configs.conflictInfo&&e.atnStartState instanceof A.DecisionState&&!(!this.userWantsCtxSensitive||!o.configs.dipsIntoOuterContext&&o.configs.isExactConflict||this.treat_sllk1_conflict_as_ambiguity&&r.index===i)){let t;G(!n.useContext);let a=o.predicates;if(null!=a){let e=r.index;if(e!==i&&r.seek(i),t=this.evalSemanticContext(a,s,!0),1===t.cardinality())return t.nextSetBit(0);e!==i&&r.seek(e)}if(this.reportAmbiguities){let a=new U.SimulatorState(s,o,n.useContext,E);this.reportAttemptingFullContext(e,t,a,i,r.index)}return r.seek(i),this.adaptivePredict(r,e.decision,s,!0)}let h=o.predicates;if(null!=h){let t=r.index;i!==t&&r.seek(i);let n=this.evalSemanticContext(h,s,this.reportAmbiguities&&this.predictionMode===g.PredictionMode.LL_EXACT_AMBIG_DETECTION);switch(n.cardinality()){case 0:throw this.noViableAlt(r,s,o.configs,i);case 1:return n.nextSetBit(0);default:return i!==t&&r.seek(t),this.reportAmbiguity(e,o,i,t,o.configs.isExactConflict,n,o.configs),n.nextSetBit(0)}}return t.dfa_debug&&console.log("DFA decision "+e.decision+" predicts "+o.prediction),o.prediction}isAcceptState(t,e){return!!t.isAcceptState&&(null==t.configs.conflictingAlts||(!e||this.predictionMode!==g.PredictionMode.LL_EXACT_AMBIG_DETECTION||t.configs.isExactConflict))}execATN(e,r,i,n){t.debug&&console.log("execATN decision "+e.decision+" exec LA(1)=="+this.getLookaheadName(r));let s=n.outerContext,o=n.useContext,a=r.LA(1),E=n,l=new x.PredictionContextCache;for(;;){let n=this.computeReachSet(e,E,a,l);if(null==n)return this.setDFAEdge(E.s0,r.LA(1),c.ATNSimulator.ERROR),this.handleNoViableAlt(r,i,E);let u=n.s0;if(G(u.isAcceptState||u.prediction===h.ATN.INVALID_ALT_NUMBER),G(u.isAcceptState||null==u.configs.conflictInfo),this.isAcceptState(u,o)){let E=u.configs.conflictingAlts,l=null==E?u.prediction:h.ATN.INVALID_ALT_NUMBER;if(l!==h.ATN.INVALID_ALT_NUMBER){if(this.optimize_ll1&&r.index===i&&!e.isPrecedenceDfa&&n.outerContext===n.remainingOuterContext&&e.decision>=0&&!u.configs.hasSemanticContext&&a>=0&&a<=65535){let t=(e.decision<<16>>>0)+a;this.atn.LL1Table.set(t,l)}o&&this.always_try_local_context&&this.reportContextSensitivity(e,l,n,i,r.index)}l=u.prediction;let c=null!=E&&this.userWantsCtxSensitive;if(c&&(c=!o&&(u.configs.dipsIntoOuterContext||!u.configs.isExactConflict)&&(!this.treat_sllk1_conflict_as_ambiguity||r.index!==i)),u.configs.hasSemanticContext){let t=u.predicates;if(null!=t){let e=r.index;switch(e!==i&&r.seek(i),E=this.evalSemanticContext(t,s,c||this.reportAmbiguities),E.cardinality()){case 0:throw this.noViableAlt(r,s,u.configs,i);case 1:return E.nextSetBit(0)}e!==i&&r.seek(e)}}if(c){G(!o),G(this.isAcceptState(u,!1)),t.debug&&console.log("RETRY with outerContext="+s);let a=this.computeStartState(e,s,!0);return this.reportAmbiguities&&this.reportAttemptingFullContext(e,E,n,i,r.index),r.seek(i),this.execATN(e,r,i,a)}return null!=E&&(this.reportAmbiguities&&E.cardinality()>1&&this.reportAmbiguity(e,u,i,r.index,u.configs.isExactConflict,E,u.configs),l=E.nextSetBit(0)),l}E=n,a!==C.IntStream.EOF&&(r.consume(),a=r.LA(1))}}handleNoViableAlt(t,e,r){if(null!=r.s0){let i=new p.BitSet,n=0;for(let t of r.s0.configs)(t.reachesIntoOuterContext||t.state instanceof P.RuleStopState)&&(i.set(t.alt),n=Math.max(n,t.alt));switch(i.cardinality()){case 0:break;case 1:return i.nextSetBit(0);default:if(!r.s0.configs.hasSemanticContext)return i.nextSetBit(0);let s=new u.ATNConfigSet;for(let t of r.s0.configs)(t.reachesIntoOuterContext||t.state instanceof P.RuleStopState)&&s.add(t);let o=this.getPredsForAmbigAlts(i,s,n);if(null!=o){let n=this.getPredicatePredictions(i,o);if(null!=n){let i=t.index;try{t.seek(e);let i=this.evalSemanticContext(n,r.outerContext,!1);if(!i.isEmpty)return i.nextSetBit(0)}finally{t.seek(i)}}}return i.nextSetBit(0)}}throw this.noViableAlt(t,r.outerContext,r.s0.configs,e)}computeReachSet(t,e,r,i){let n=e.useContext,s=e.remainingOuterContext,o=e.s0;if(n)for(;o.isContextSymbol(r);){let t;if(null!=s&&(s=this.skipTailCalls(s),t=o.getContextTarget(this.getReturnState(s))),null==t)break;G(null!=s),s=s.parent,o=t}if(G(!this.isAcceptState(o,n)),this.isAcceptState(o,n))return new U.SimulatorState(e.outerContext,o,n,s);let a=o,E=this.getExistingTargetState(a,r);if(null==E){let e=this.computeTargetState(t,a,s,r,n,i);E=e[0],s=e[1]}return E!==c.ATNSimulator.ERROR?(G(!n||!E.configs.dipsIntoOuterContext),new U.SimulatorState(e.outerContext,E,n,s)):void 0}getExistingTargetState(t,e){return t.getTarget(e)}computeTargetState(e,r,i,n,s,o){let a,E,l=r.configs.toArray(),T=new u.ATNConfigSet;do{let e=!s||null!=i;e||(T.isOutermostConfigSet=!0);let r,c=new u.ATNConfigSet;for(let e of l){if(t.debug&&console.log("testing "+this.getTokenName(n)+" at "+e.toString()),e.state instanceof P.RuleStopState){G(e.context.isEmpty),(s&&!e.reachesIntoOuterContext||n===C.IntStream.EOF)&&(null==r&&(r=[]),r.push(e));continue}let i=e.state.numberOfOptimizedTransitions;for(let t=0;t<i;t++){let r=e.state.getOptimizedTransition(t),i=this.getReachableTarget(e,r,n);null!=i&&c.add(e.transform(i,!1),o)}}if(this.optimize_unique_closure&&null==r&&n!==k.Token.EOF&&c.uniqueAlt!==h.ATN.INVALID_ALT_NUMBER){c.isOutermostConfigSet=T.isOutermostConfigSet,T=c;break}let R=!1,p=n===k.Token.EOF;if(this.closure(c,T,R,e,o,p),E=T.dipsIntoOuterContext,n===C.IntStream.EOF&&(T=this.removeAllConfigsNotInRuleStopState(T,o)),!(null==r||s&&g.PredictionMode.hasConfigInRuleStopState(T))){G(r.length>0);for(let t of r)T.add(t,o)}if(s&&E){T.clear(),i=this.skipTailCalls(i);let t=this.getReturnState(i);if(null==a&&(a=new N.IntegerList),i=i.isEmpty?void 0:i.parent,a.add(t),t!==y.PredictionContext.EMPTY_FULL_STATE_KEY)for(let e=0;e<l.length;e++)l[e]=l[e].appendContext(t,o)}}while(s&&E);return T.isEmpty?(this.setDFAEdge(r,n,c.ATNSimulator.ERROR),[c.ATNSimulator.ERROR,i]):[this.addDFAEdge(e,r,n,a,T,o),i]}removeAllConfigsNotInRuleStopState(t,e){if(g.PredictionMode.allConfigsInRuleStopStates(t))return t;let r=new u.ATNConfigSet;for(let i of t)i.state instanceof P.RuleStopState&&r.add(i,e);return r}computeStartState(t,e,r){let i=t.isPrecedenceDfa?t.getPrecedenceStartState(this._parser.precedence,r):r?t.s0full:t.s0;if(null!=i){if(!r)return new U.SimulatorState(e,i,r,e);i.setContextSensitive(this.atn)}t.decision;let n=t.atnStartState,s=0,o=e,a=r?y.PredictionContext.EMPTY_FULL:y.PredictionContext.EMPTY_LOCAL,E=new x.PredictionContextCache;if(r){if(!this.enable_global_context_dfa)for(;null!=o;)o.isEmpty?(s=y.PredictionContext.EMPTY_FULL_STATE_KEY,o=void 0):(s=this.getReturnState(o),a=a.appendSingleContext(s,E),o=o.parent);for(;null!=i&&i.isContextSensitive&&null!=o;){let t;if(o=this.skipTailCalls(o),o.isEmpty?(t=i.getContextTarget(y.PredictionContext.EMPTY_FULL_STATE_KEY),s=y.PredictionContext.EMPTY_FULL_STATE_KEY,o=void 0):(s=this.getReturnState(o),t=i.getContextTarget(s),a=a.appendSingleContext(s,E),o=o.parent),null==t)break;i=t}}if(null!=i&&!i.isContextSensitive)return new U.SimulatorState(e,i,r,o);let h=new u.ATNConfigSet;for(;;){let c=new u.ATNConfigSet,T=n.numberOfTransitions;for(let t=0;t<T;t++){let e=n.transition(t).target;c.add(l.ATNConfig.create(e,t+1,a))}let R=null!=o;R||(h.isOutermostConfigSet=!0);let p=!0;this.closure(c,h,p,R,E,!1);let S,A=h.dipsIntoOuterContext;if(r&&!this.enable_global_context_dfa){i=this.addDFAState(t,h,E);break}if(null==i?t.isPrecedenceDfa?(h=this.applyPrecedenceFilter(h,e,E),S=this.addDFAState(t,h,E),t.setPrecedenceStartState(this._parser.precedence,r,S)):(S=this.addDFAState(t,h,E),r?t.s0full?S=t.s0full:t.s0full=S:t.s0?S=t.s0:t.s0=S):(t.isPrecedenceDfa&&(h=this.applyPrecedenceFilter(h,e,E)),S=this.addDFAState(t,h,E),i.setContextTarget(s,S)),i=S,!r||!A)break;S.setContextSensitive(this.atn),h.clear(),o=this.skipTailCalls(o);let d=this.getReturnState(o);o=o.isEmpty?void 0:o.parent,d!==y.PredictionContext.EMPTY_FULL_STATE_KEY&&(a=a.appendSingleContext(d,E)),s=d}return new U.SimulatorState(e,i,r,o)}applyPrecedenceFilter(t,e,r){let i=new Map,n=new u.ATNConfigSet;for(let s of t){if(1!==s.alt)continue;let t=s.semanticContext.evalPrecedence(this._parser,e);null!=t&&(i.set(s.state.stateNumber,s.context),t!==s.semanticContext?n.add(s.transform(s.state,!1,t),r):n.add(s,r))}for(let e of t)if(1!==e.alt){if(!e.isPrecedenceFilterSuppressed){let t=i.get(e.state.stateNumber);if(null!=t&&t.equals(e.context))continue}n.add(e,r)}return n}getReachableTarget(t,e,r){if(e.matches(r,0,this.atn.maxTokenType))return e.target}predicateDFAState(e,r,i){let n=this.getConflictingAltsFromConfigSet(r);if(!n)throw new Error("This unhandled scenario is intended to be unreachable, but I'm currently not sure of why we know that's the case.");t.debug&&console.log("predicateDFAState "+e);let s,o=this.getPredsForAmbigAlts(n,r,i);return null!=o&&(s=this.getPredicatePredictions(n,o),e.predicates=s),s}getPredsForAmbigAlts(e,r,i){let n=new Array(i+1),s=n.length;for(let t of r)e.get(t.alt)&&(n[t.alt]=M.SemanticContext.or(n[t.alt],t.semanticContext));let o=0;for(let t=0;t<s;t++)null==n[t]?n[t]=M.SemanticContext.NONE:n[t]!==M.SemanticContext.NONE&&o++;let a=n;return 0===o&&(a=void 0),t.debug&&console.log("getPredsForAmbigAlts result "+(a?E.Arrays.toString(a):"undefined")),a}getPredicatePredictions(t,e){let r=[],i=!1;for(let n=1;n<e.length;n++){let s=e[n];G(null!=s),null!=t&&t.get(n)&&s===M.SemanticContext.NONE?r.push(new d.DFAState.PredPrediction(s,n)):s!==M.SemanticContext.NONE&&(i=!0,r.push(new d.DFAState.PredPrediction(s,n)))}if(i)return r}evalSemanticContext(e,r,i){let n=new p.BitSet;for(let s of e){if(s.pred===M.SemanticContext.NONE){if(n.set(s.alt),!i)break;continue}let e=this.evalSemanticContextImpl(s.pred,r,s.alt);if((t.debug||t.dfa_debug)&&console.log("eval pred "+s+"="+e),e&&((t.debug||t.dfa_debug)&&console.log("PREDICT "+s.alt),n.set(s.alt),!i))break}return n}evalSemanticContextImpl(t,e,r){return t.eval(this._parser,e)}closure(t,e,r,i,n,s){null==n&&(n=x.PredictionContextCache.UNCACHED);let o=t,E=new a.Array2DHashSet(f.ObjectEqualityComparator.INSTANCE);for(;o.size>0;){let t=new u.ATNConfigSet;for(let a of o)this.closureImpl(a,e,t,E,r,i,n,0,s);o=t}}closureImpl(e,r,i,n,s,a,E,h,u){if(t.debug&&console.log("closure("+e.toString(this._parser,!0)+")"),e.state instanceof P.RuleStopState)if(e.context.isEmpty){if(!a)return void r.add(e,E);t.debug&&console.log("FALLING off rule "+this.getRuleName(e.state.ruleIndex)),e.context===y.PredictionContext.EMPTY_FULL?e=e.transform(e.state,!1,y.PredictionContext.EMPTY_LOCAL):!e.reachesIntoOuterContext&&y.PredictionContext.isEmptyLocal(e.context)&&r.add(e,E)}else{let t=e.context.hasEmpty,o=e.context.size-(t?1:0);for(let t=0;t<o;t++){let o=e.context.getParent(t),c=this.atn.states[e.context.getReturnState(t)],T=l.ATNConfig.create(c,e.alt,o,e.semanticContext);T.outerContextDepth=e.outerContextDepth,T.isPrecedenceFilterSuppressed=e.isPrecedenceFilterSuppressed,G(h>F),this.closureImpl(T,r,i,n,s,a,E,h-1,u)}if(!t||!a)return;e=e.transform(e.state,!1,y.PredictionContext.EMPTY_LOCAL)}let c=e.state;c.onlyHasEpsilonTransitions||(r.add(e,E),t.debug&&console.log("added config "+r));for(let l=0;l<c.numberOfOptimizedTransitions;l++){if(0===l&&c.stateType===T.ATNStateType.STAR_LOOP_ENTRY&&c.precedenceRuleDecision&&!e.context.hasEmpty){let t=c,r=!0;for(let i=0;i<e.context.size;i++)if(!t.precedenceLoopbackStates.get(e.context.getReturnState(i))){r=!1;break}if(r)continue}let R=c.getOptimizedTransition(l),p=!(R instanceof o.ActionTransition)&&s,S=this.getEpsilonTarget(e,R,p,0===h,E,u);if(null!=S){if(R instanceof D.RuleTransition&&null!=i&&!s){i.add(S,E);continue}let o=h;if(e.state instanceof P.RuleStopState){if(null!=this.dfa&&this.dfa.isPrecedenceDfa){R.outermostPrecedenceReturn===this.dfa.atnStartState.ruleIndex&&(S.isPrecedenceFilterSuppressed=!0)}if(S.outerContextDepth=S.outerContextDepth+1,!n.add(S))continue;G(o>F),o--,t.debug&&console.log("dips into outer ctx: "+S)}else if(R instanceof D.RuleTransition)!this.optimize_tail_calls||!R.optimizedTailCall||this.tail_call_preserves_sll&&y.PredictionContext.isEmptyLocal(e.context)?o>=0&&o++:(G(S.context===e.context),0===o&&(o--,!this.tail_call_preserves_sll&&y.PredictionContext.isEmptyLocal(e.context)&&(S.outerContextDepth=S.outerContextDepth+1)));else if(!R.isEpsilon&&!n.add(S))continue;this.closureImpl(S,r,i,n,p,a,E,o,u)}}}getRuleName(t){return null!=this._parser&&t>=0?this._parser.ruleNames[t]:"<rule "+t+">"}getEpsilonTarget(t,e,r,i,n,s){switch(e.serializationType){case 3:return this.ruleTransition(t,e,n);case 10:return this.precedenceTransition(t,e,r,i);case 4:return this.predTransition(t,e,r,i);case 6:return this.actionTransition(t,e);case 1:return t.transform(e.target,!1);case 5:case 2:case 7:return s&&e.matches(k.Token.EOF,0,1)?t.transform(e.target,!1):void 0;default:return}}actionTransition(e,r){return t.debug&&console.log("ACTION edge "+r.ruleIndex+":"+r.actionIndex),e.transform(r.target,!1)}precedenceTransition(e,r,i,n){let s;if(t.debug&&(console.log("PRED (collectPredicates="+i+") "+r.precedence+">=_p, ctx dependent=true"),null!=this._parser&&console.log("context surrounding pred is "+this._parser.getRuleInvocationStack())),i&&n){let t=M.SemanticContext.and(e.semanticContext,r.predicate);s=e.transform(r.target,!1,t)}else s=e.transform(r.target,!1);return t.debug&&console.log("config from pred transition="+s),s}predTransition(e,r,i,n){let s;if(t.debug&&(console.log("PRED (collectPredicates="+i+") "+r.ruleIndex+":"+r.predIndex+", ctx dependent="+r.isCtxDependent),null!=this._parser&&console.log("context surrounding pred is "+this._parser.getRuleInvocationStack())),i&&(!r.isCtxDependent||r.isCtxDependent&&n)){let t=M.SemanticContext.and(e.semanticContext,r.predicate);s=e.transform(r.target,!1,t)}else s=e.transform(r.target,!1);return t.debug&&console.log("config from pred transition="+s),s}ruleTransition(e,r,i){t.debug&&console.log("CALL rule "+this.getRuleName(r.target.ruleIndex)+", ctx="+e.context);let n,s=r.followState;return n=!this.optimize_tail_calls||!r.optimizedTailCall||this.tail_call_preserves_sll&&y.PredictionContext.isEmptyLocal(e.context)?null!=i?i.getChild(e.context,s.stateNumber):e.context.getChild(s.stateNumber):e.context,e.transform(r.target,!1,n)}isConflicted(e,r){if(e.uniqueAlt!==h.ATN.INVALID_ALT_NUMBER||e.size<=1)return;let i=e.toArray();i.sort(t.STATE_ALT_SORT_COMPARATOR);let n=!e.dipsIntoOuterContext,s=new p.BitSet,o=i[0].alt;s.set(o);let a,E=i[0].state.nonStopStateNumber;for(let t of i){let e=t.state.nonStopStateNumber;if(e!==E){if(t.alt!==o)return;E=e}}if(n){E=i[0].state.nonStopStateNumber,a=new p.BitSet;let t=o;for(let e of i){if(e.state.nonStopStateNumber!==E)break;let r=e.alt;a.set(r),t=r}E=i[0].state.nonStopStateNumber;let e=o;for(let r of i){let i=r.state.nonStopStateNumber,s=r.alt;if(i!==E){if(e!==t){n=!1;break}E=i,e=o}else if(s!==e){if(s!==a.nextSetBit(e+1)){n=!1;break}e=s}}}E=i[0].state.nonStopStateNumber;let l=0,u=0,c=i[0].context;for(let t=1;t<i.length;t++){let e=i[t];if(e.alt!==o)break;if(e.state.nonStopStateNumber!==E)break;u=t,c=r.join(c,i[t].context)}for(let t=u+1;t<i.length;t++){let e=i[t],a=e.state;if(s.set(e.alt),a.nonStopStateNumber!==E){E=a.nonStopStateNumber,l=t,u=t,c=e.context;for(let t=l+1;t<i.length;t++){let e=i[t];if(e.alt!==o)break;if(e.state.nonStopStateNumber!==E)break;u=t,c=r.join(c,e.context)}t=u;continue}let h=e.context,T=e.alt,R=t;for(let t=R+1;t<i.length;t++){let e=i[t];if(e.alt!==T)break;if(e.state.nonStopStateNumber!==E)break;R=t,h=r.join(h,e.context)}t=R;let p=r.join(c,h);if(!c.equals(p))return;n=n&&c.equals(h)}return new S.ConflictInfo(s,n)}getConflictingAltsFromConfigSet(t){let e=t.conflictingAlts;return null==e&&t.uniqueAlt!==h.ATN.INVALID_ALT_NUMBER&&(e=new p.BitSet,e.set(t.uniqueAlt)),e}getTokenName(t){if(t===k.Token.EOF)return"EOF";let e=(null!=this._parser?this._parser.vocabulary:b.VocabularyImpl.EMPTY_VOCABULARY).getDisplayName(t);return e===String(t)?e:e+"<"+t+">"}getLookaheadName(t){return this.getTokenName(t.LA(1))}dumpDeadEndConfigs(t){console.log("dead end configs: ");let e=t.deadEndConfigs;if(e)for(let t of e){let e="no edges";if(t.state.numberOfOptimizedTransitions>0){let r=t.state.getOptimizedTransition(0);if(r instanceof R.AtomTransition)e="Atom "+this.getTokenName(r._label);else if(r instanceof v.SetTransition){e=(r instanceof I.NotSetTransition?"~":"")+"Set "+r.set.toString()}}console.log(t.toString(this._parser,!0)+":"+e)}}noViableAlt(t,e,r,i){return new L.NoViableAltException(this._parser,t,t.get(i),t.LT(1),r,e)}getUniqueAlt(t){let e=h.ATN.INVALID_ALT_NUMBER;for(let r of t)if(e===h.ATN.INVALID_ALT_NUMBER)e=r.alt;else if(r.alt!==e)return h.ATN.INVALID_ALT_NUMBER;return e}configWithAltAtStopState(t,e){for(let r of t)if(r.alt===e&&r.state instanceof P.RuleStopState)return!0;return!1}addDFAEdge(e,r,i,n,s,o){G(null==n||n.isEmpty||e.isContextSensitive);let a=r,E=this.addDFAState(e,s,o);if(null!=n)for(let t of n.toArray()){if(t===y.PredictionContext.EMPTY_FULL_STATE_KEY&&a.configs.isOutermostConfigSet)continue;a.setContextSensitive(this.atn),a.setContextSymbol(i);let r=a.getContextTarget(t);null==r?(r=this.addDFAContextState(e,a.configs,t,o),G(t!==y.PredictionContext.EMPTY_FULL_STATE_KEY||r.configs.isOutermostConfigSet),a.setContextTarget(t,r),a=r):a=r}return t.debug&&console.log("EDGE "+a+" -> "+E+" upon "+this.getTokenName(i)),this.setDFAEdge(a,i,E),t.debug&&console.log("DFA=\n"+e.toString(null!=this._parser?this._parser.vocabulary:b.VocabularyImpl.EMPTY_VOCABULARY,null!=this._parser?this._parser.ruleNames:void 0)),E}setDFAEdge(t,e,r){null!=t&&t.setTarget(e,r)}addDFAContextState(t,e,r,i){if(r!==y.PredictionContext.EMPTY_FULL_STATE_KEY){let n=new u.ATNConfigSet;for(let t of e)n.add(t.appendContext(r,i));return this.addDFAState(t,n,i)}return G(!e.isOutermostConfigSet,"Shouldn't be adding a duplicate edge."),(e=e.clone(!0)).isOutermostConfigSet=!0,this.addDFAState(t,e,i)}addDFAState(e,r,i){let n=this.enable_global_context_dfa||!r.isOutermostConfigSet;if(n){r.isReadOnly||r.optimizeConfigs(this);let t=this.createDFAState(e,r),i=e.states.get(t);if(null!=i)return i}r.isReadOnly||null==r.conflictInfo&&(r.conflictInfo=this.isConflicted(r,i));let o=this.createDFAState(e,r.clone(!0)),a=this.atn.getDecisionState(e.decision),E=this.getUniqueAlt(r);if(E!==h.ATN.INVALID_ALT_NUMBER)o.acceptStateInfo=new s.AcceptStateInfo(E);else if(null!=r.conflictingAlts){let t=r.conflictingAlts;t&&(o.acceptStateInfo=new s.AcceptStateInfo(t.nextSetBit(0)))}if(o.isAcceptState&&r.hasSemanticContext&&this.predicateDFAState(o,r,a.numberOfTransitions),!n)return o;let l=e.addState(o);return t.debug&&l===o&&console.log("adding new DFA state: "+o),l}createDFAState(t,e){return new d.DFAState(e)}reportAttemptingFullContext(e,r,i,n,s){if(t.debug||t.retry_debug){let t=O.Interval.of(n,s);console.log("reportAttemptingFullContext decision="+e.decision+":"+i.s0.configs+", input="+this._parser.inputStream.getText(t))}if(null!=this._parser){let t=this._parser.getErrorListenerDispatch();t.reportAttemptingFullContext&&t.reportAttemptingFullContext(this._parser,e,n,s,r,i)}}reportContextSensitivity(e,r,i,n,s){if(t.debug||t.retry_debug){let t=O.Interval.of(n,s);console.log("reportContextSensitivity decision="+e.decision+":"+i.s0.configs+", input="+this._parser.inputStream.getText(t))}if(null!=this._parser){let t=this._parser.getErrorListenerDispatch();t.reportContextSensitivity&&t.reportContextSensitivity(this._parser,e,n,s,r,i)}}reportAmbiguity(e,r,i,n,s,o,a){if(t.debug||t.retry_debug){let t=O.Interval.of(i,n);console.log("reportAmbiguity "+o+":"+a+", input="+this._parser.inputStream.getText(t))}if(null!=this._parser){let t=this._parser.getErrorListenerDispatch();t.reportAmbiguity&&t.reportAmbiguity(this._parser,e,i,n,s,o,a)}}getReturnState(t){if(t.isEmpty)return y.PredictionContext.EMPTY_FULL_STATE_KEY;return this.atn.states[t.invokingState].transition(0).followState.stateNumber}skipTailCalls(t){if(!this.optimize_tail_calls)return t;for(;!t.isEmpty;){let e=this.atn.states[t.invokingState];if(G(1===e.numberOfTransitions&&3===e.transition(0).serializationType),!e.transition(0).tailCall)break;t=t.parent}return t}get parser(){return this._parser}};H.debug=!1,H.dfa_debug=!1,H.retry_debug=!1,H.STATE_ALT_SORT_COMPARATOR=(t,e)=>{let r=t.state.nonStopStateNumber-e.state.nonStopStateNumber;return 0!==r?r:(r=t.alt-e.alt,0!==r?r:0)},i([_.NotNull],H.prototype,"predictionMode",void 0),i([_.NotNull],H.prototype,"getPredictionMode",null),i([n(0,_.NotNull)],H.prototype,"setPredictionMode",null),i([_.Override],H.prototype,"reset",null),i([n(0,_.NotNull)],H.prototype,"adaptivePredict",null),i([n(0,_.NotNull),n(1,_.NotNull),n(2,_.NotNull)],H.prototype,"getStartState",null),i([n(0,_.NotNull),n(1,_.NotNull),n(3,_.NotNull)],H.prototype,"execDFA",null),i([n(0,_.NotNull),n(1,_.NotNull),n(3,_.NotNull)],H.prototype,"execATN",null),i([n(0,_.NotNull),n(2,_.NotNull)],H.prototype,"handleNoViableAlt",null),i([n(0,_.NotNull)],H.prototype,"getExistingTargetState",null),i([_.NotNull,n(0,_.NotNull),n(1,_.NotNull)],H.prototype,"computeTargetState",null),i([_.NotNull,n(0,_.NotNull)],H.prototype,"removeAllConfigsNotInRuleStopState",null),i([_.NotNull],H.prototype,"computeStartState",null),i([_.NotNull,n(0,_.NotNull)],H.prototype,"applyPrecedenceFilter",null),i([n(0,_.NotNull),n(1,_.NotNull)],H.prototype,"getReachableTarget",null),i([n(0,_.NotNull),n(1,_.NotNull)],H.prototype,"getPredsForAmbigAlts",null),i([n(0,_.NotNull)],H.prototype,"evalSemanticContext",null),i([n(0,_.NotNull)],H.prototype,"evalSemanticContextImpl",null),i([n(1,_.NotNull),n(4,_.Nullable)],H.prototype,"closure",null),i([n(0,_.NotNull),n(1,_.NotNull),n(2,_.Nullable),n(3,_.NotNull),n(6,_.NotNull)],H.prototype,"closureImpl",null),i([_.NotNull],H.prototype,"getRuleName",null),i([n(0,_.NotNull),n(1,_.NotNull)],H.prototype,"getEpsilonTarget",null),i([_.NotNull,n(0,_.NotNull),n(1,_.NotNull)],H.prototype,"actionTransition",null),i([_.Nullable,n(0,_.NotNull),n(1,_.NotNull)],H.prototype,"precedenceTransition",null),i([_.Nullable,n(0,_.NotNull),n(1,_.NotNull)],H.prototype,"predTransition",null),i([_.NotNull,n(0,_.NotNull),n(1,_.NotNull),n(2,_.Nullable)],H.prototype,"ruleTransition",null),i([n(0,_.NotNull)],H.prototype,"isConflicted",null),i([_.NotNull],H.prototype,"getTokenName",null),i([n(0,_.NotNull)],H.prototype,"dumpDeadEndConfigs",null),i([_.NotNull,n(0,_.NotNull),n(1,_.NotNull),n(2,_.NotNull)],H.prototype,"noViableAlt",null),i([n(0,_.NotNull)],H.prototype,"getUniqueAlt",null),i([n(0,_.NotNull)],H.prototype,"configWithAltAtStopState",null),i([_.NotNull,n(0,_.NotNull),n(1,_.NotNull),n(4,_.NotNull)],H.prototype,"addDFAEdge",null),i([n(0,_.Nullable),n(2,_.Nullable)],H.prototype,"setDFAEdge",null),i([_.NotNull,n(0,_.NotNull),n(1,_.NotNull)],H.prototype,"addDFAContextState",null),i([_.NotNull,n(0,_.NotNull),n(1,_.NotNull)],H.prototype,"addDFAState",null),i([_.NotNull,n(0,_.NotNull),n(1,_.NotNull)],H.prototype,"createDFAState",null),i([n(0,_.NotNull),n(2,_.NotNull)],H.prototype,"reportAttemptingFullContext",null),i([n(0,_.NotNull),n(2,_.NotNull)],H.prototype,"reportContextSensitivity",null),i([n(0,_.NotNull),n(5,_.NotNull),n(6,_.NotNull)],H.prototype,"reportAmbiguity",null),H=i([n(0,_.NotNull)],H),e.ParserATNSimulator=H},function(t,e,r){"use strict";var i=this&&this.__decorate||function(t,e,r,i){var n,s=arguments.length,o=s<3?e:null===i?i=Object.getOwnPropertyDescriptor(e,r):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(t,e,r,i);else for(var a=t.length-1;a>=0;a--)(n=t[a])&&(o=(s<3?n(o):s>3?n(e,r,o):n(e,r))||o);return s>3&&o&&Object.defineProperty(e,r,o),o};Object.defineProperty(e,"__esModule",{value:!0}),e.ConflictInfo=void 0;const n=r(73),s=r(145);class o{constructor(t,e){this._conflictedAlts=t,this.exact=e}get conflictedAlts(){return this._conflictedAlts}get isExact(){return this.exact}equals(t){return t===this||t instanceof o&&(this.isExact===t.isExact&&s.equals(this.conflictedAlts,t.conflictedAlts))}hashCode(){return this.conflictedAlts.hashCode()}}i([n.Override],o.prototype,"equals",null),i([n.Override],o.prototype,"hashCode",null),e.ConflictInfo=o},function(t,e,r){"use strict";var i=this&&this.__decorate||function(t,e,r,i){var n,s=arguments.length,o=s<3?e:null===i?i=Object.getOwnPropertyDescriptor(e,r):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(t,e,r,i);else for(var a=t.length-1;a>=0;a--)(n=t[a])&&(o=(s<3?n(o):s>3?n(e,r,o):n(e,r))||o);return s>3&&o&&Object.defineProperty(e,r,o),o};Object.defineProperty(e,"__esModule",{value:!0}),e.NoViableAltException=void 0;const n=r(180),s=r(168),o=r(73);class a extends s.RecognitionException{constructor(t,e,r,i,s,o){t instanceof n.Parser&&(void 0===e&&(e=t.inputStream),void 0===r&&(r=t.currentToken),void 0===i&&(i=t.currentToken),void 0===o&&(o=t.context)),super(t,e,o),this._deadEndConfigs=s,this._startToken=r,this.setOffendingToken(t,i)}get startToken(){return this._startToken}get deadEndConfigs(){return this._deadEndConfigs}}i([o.NotNull],a.prototype,"_startToken",void 0),e.NoViableAltException=a},function(t,e,r){"use strict";var i=this&&this.__decorate||function(t,e,r,i){var n,s=arguments.length,o=s<3?e:null===i?i=Object.getOwnPropertyDescriptor(e,r):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(t,e,r,i);else for(var a=t.length-1;a>=0;a--)(n=t[a])&&(o=(s<3?n(o):s>3?n(e,r,o):n(e,r))||o);return s>3&&o&&Object.defineProperty(e,r,o),o};Object.defineProperty(e,"__esModule",{value:!0}),e.ParserRuleContext=void 0;const n=r(74),s=r(76),o=r(73),a=r(202),E=r(75);class h extends a.RuleContext{constructor(t,e){null==e?super():super(t,e)}static emptyContext(){return h.EMPTY}copyFrom(t){if(this._parent=t._parent,this.invokingState=t.invokingState,this._start=t._start,this._stop=t._stop,t.children){this.children=[];for(let e of t.children)e instanceof n.ErrorNode&&this.addChild(e)}}enterRule(t){}exitRule(t){}addAnyChild(t){return this.children?this.children.push(t):this.children=[t],t}addChild(t){return t instanceof E.TerminalNode?(t.setParent(this),void this.addAnyChild(t)):t instanceof a.RuleContext?void this.addAnyChild(t):(t=new E.TerminalNode(t),this.addAnyChild(t),t.setParent(this),t)}addErrorNode(t){if(t instanceof n.ErrorNode){const e=t;return e.setParent(this),this.addAnyChild(e)}{const e=t;let r=new n.ErrorNode(e);return this.addAnyChild(r),r.setParent(this),r}}removeLastChild(){this.children&&this.children.pop()}get parent(){let t=super.parent;if(void 0===t||t instanceof h)return t;throw new TypeError("Invalid parent type for ParserRuleContext")}getChild(t,e){if(!this.children||t<0||t>=this.children.length)throw new RangeError("index parameter must be between >= 0 and <= number of children.");if(null==e)return this.children[t];let r=this.tryGetChild(t,e);if(void 0===r)throw new Error("The specified node does not exist");return r}tryGetChild(t,e){if(!this.children||t<0||t>=this.children.length)return;let r=-1;for(let i of this.children)if(i instanceof e&&(r++,r===t))return i}getToken(t,e){let r=this.tryGetToken(t,e);if(void 0===r)throw new Error("The specified token does not exist");return r}tryGetToken(t,e){if(!this.children||e<0||e>=this.children.length)return;let r=-1;for(let i of this.children)if(i instanceof E.TerminalNode){if(i.symbol.type===t&&(r++,r===e))return i}}getTokens(t){let e=[];if(!this.children)return e;for(let r of this.children)if(r instanceof E.TerminalNode){r.symbol.type===t&&e.push(r)}return e}get ruleContext(){return this}getRuleContext(t,e){return this.getChild(t,e)}tryGetRuleContext(t,e){return this.tryGetChild(t,e)}getRuleContexts(t){let e=[];if(!this.children)return e;for(let r of this.children)r instanceof t&&e.push(r);return e}get childCount(){return this.children?this.children.length:0}get sourceInterval(){return this._start?!this._stop||this._stop.tokenIndex<this._start.tokenIndex?s.Interval.of(this._start.tokenIndex,this._start.tokenIndex-1):s.Interval.of(this._start.tokenIndex,this._stop.tokenIndex):s.Interval.INVALID}get start(){return this._start}get stop(){return this._stop}toInfoString(t){return"ParserRuleContext"+t.getRuleInvocationStack(this).reverse()+"{start="+this._start+", stop="+this._stop+"}"}}h.EMPTY=new h,i([o.Override],h.prototype,"parent",null),i([o.Override],h.prototype,"childCount",null),i([o.Override],h.prototype,"sourceInterval",null),e.ParserRuleContext=h},function(t,e,r){"use strict";var i=this&&this.__decorate||function(t,e,r,i){var n,s=arguments.length,o=s<3?e:null===i?i=Object.getOwnPropertyDescriptor(e,r):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(t,e,r,i);else for(var a=t.length-1;a>=0;a--)(n=t[a])&&(o=(s<3?n(o):s>3?n(e,r,o):n(e,r))||o);return s>3&&o&&Object.defineProperty(e,r,o),o};Object.defineProperty(e,"__esModule",{value:!0}),e.RuleContext=void 0;const n=r(88),s=r(150),o=r(84),a=r(76),E=r(73),h=r(87),l=r(201);class u extends o.RuleNode{constructor(t,e){super(),this._parent=t,this.invokingState=null!=e?e:-1}static getChildContext(t,e){return new u(t,e)}depth(){let t=0,e=this;for(;e;)e=e._parent,t++;return t}get isEmpty(){return-1===this.invokingState}get sourceInterval(){return a.Interval.INVALID}get ruleContext(){return this}get parent(){return this._parent}setParent(t){this._parent=t}get payload(){return this}get text(){if(0===this.childCount)return"";let t="";for(let e=0;e<this.childCount;e++)t+=this.getChild(e).text;return t.toString()}get ruleIndex(){return-1}get altNumber(){return n.ATN.INVALID_ALT_NUMBER}set altNumber(t){}getChild(t){throw new RangeError("i must be greater than or equal to 0 and less than childCount")}get childCount(){return 0}accept(t){return t.visitChildren(this)}toStringTree(t){return h.Trees.toStringTree(this,t)}toString(t,e){const r=t instanceof s.Recognizer?t.ruleNames:t;e=e||l.ParserRuleContext.emptyContext();let i="",n=this;for(i+="[";n&&n!==e;){if(r){let t=n.ruleIndex;i+=t>=0&&t<r.length?r[t]:t.toString()}else n.isEmpty||(i+=n.invokingState);!n._parent||!r&&n._parent.isEmpty||(i+=" "),n=n._parent}return i+="]",i.toString()}}i([E.Override],u.prototype,"sourceInterval",null),i([E.Override],u.prototype,"ruleContext",null),i([E.Override],u.prototype,"parent",null),i([E.Override],u.prototype,"setParent",null),i([E.Override],u.prototype,"payload",null),i([E.Override],u.prototype,"text",null),i([E.Override],u.prototype,"getChild",null),i([E.Override],u.prototype,"childCount",null),i([E.Override],u.prototype,"accept",null),i([E.Override],u.prototype,"toStringTree",null),e.RuleContext=u},function(t,e,r){"use strict";var i=this&&this.__decorate||function(t,e,r,i){var n,s=arguments.length,o=s<3?e:null===i?i=Object.getOwnPropertyDescriptor(e,r):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(t,e,r,i);else for(var a=t.length-1;a>=0;a--)(n=t[a])&&(o=(s<3?n(o):s>3?n(e,r,o):n(e,r))||o);return s>3&&o&&Object.defineProperty(e,r,o),o};Object.defineProperty(e,"__esModule",{value:!0}),e.PredictionMode=void 0;const n=r(89),s=r(133),o=r(73),a=r(170);!function(t){t[t.SLL=0]="SLL",t[t.LL=1]="LL",t[t.LL_EXACT_AMBIG_DETECTION=2]="LL_EXACT_AMBIG_DETECTION"}(e.PredictionMode||(e.PredictionMode={})),function(t){class e extends n.Array2DHashMap{constructor(){super(r.INSTANCE)}}class r{AltAndContextConfigEqualityComparator(){}hashCode(t){let e=s.MurmurHash.initialize(7);return e=s.MurmurHash.update(e,t.state.stateNumber),e=s.MurmurHash.update(e,t.context),e=s.MurmurHash.finish(e,2),e}equals(t,e){return t===e||null!=t&&null!=e&&(t.state.stateNumber===e.state.stateNumber&&t.context.equals(e.context))}}r.INSTANCE=new r,i([o.Override],r.prototype,"hashCode",null),i([o.Override],r.prototype,"equals",null),t.hasConfigInRuleStopState=function(t){for(let e of t)if(e.state instanceof a.RuleStopState)return!0;return!1},t.allConfigsInRuleStopStates=function(t){for(let e of t)if(!(e.state instanceof a.RuleStopState))return!1;return!0}}(e.PredictionMode||(e.PredictionMode={}))},function(t,e,r){"use strict";var i=this&&this.__decorate||function(t,e,r,i){var n,s=arguments.length,o=s<3?e:null===i?i=Object.getOwnPropertyDescriptor(e,r):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(t,e,r,i);else for(var a=t.length-1;a>=0;a--)(n=t[a])&&(o=(s<3?n(o):s>3?n(e,r,o):n(e,r))||o);return s>3&&o&&Object.defineProperty(e,r,o),o},n=this&&this.__param||function(t,e){return function(r,i){e(r,i,t)}};Object.defineProperty(e,"__esModule",{value:!0}),e.SimulatorState=void 0;const s=r(73),o=r(201);let a=class{constructor(t,e,r,i){this.outerContext=null!=t?t:o.ParserRuleContext.emptyContext(),this.s0=e,this.useContext=r,this.remainingOuterContext=i}};a=i([n(1,s.NotNull)],a),e.SimulatorState=a},function(t,e,r){"use strict";var i=this&&this.__decorate||function(t,e,r,i){var n,s=arguments.length,o=s<3?e:null===i?i=Object.getOwnPropertyDescriptor(e,r):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(t,e,r,i);else for(var a=t.length-1;a>=0;a--)(n=t[a])&&(o=(s<3?n(o):s>3?n(e,r,o):n(e,r))||o);return s>3&&o&&Object.defineProperty(e,r,o),o};Object.defineProperty(e,"__esModule",{value:!0}),e.PlusBlockStartState=void 0;const n=r(156),s=r(186),o=r(73);class a extends s.BlockStartState{get stateType(){return n.ATNStateType.PLUS_BLOCK_START}}i([o.Override],a.prototype,"stateType",null),e.PlusBlockStartState=a},function(t,e,r){"use strict";var i=this&&this.__decorate||function(t,e,r,i){var n,s=arguments.length,o=s<3?e:null===i?i=Object.getOwnPropertyDescriptor(e,r):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(t,e,r,i);else for(var a=t.length-1;a>=0;a--)(n=t[a])&&(o=(s<3?n(o):s>3?n(e,r,o):n(e,r))||o);return s>3&&o&&Object.defineProperty(e,r,o),o};Object.defineProperty(e,"__esModule",{value:!0}),e.PlusLoopbackState=void 0;const n=r(156),s=r(139),o=r(73);class a extends s.DecisionState{get stateType(){return n.ATNStateType.PLUS_LOOP_BACK}}i([o.Override],a.prototype,"stateType",null),e.PlusLoopbackState=a},function(t,e,r){"use strict";var i=this&&this.__decorate||function(t,e,r,i){var n,s=arguments.length,o=s<3?e:null===i?i=Object.getOwnPropertyDescriptor(e,r):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(t,e,r,i);else for(var a=t.length-1;a>=0;a--)(n=t[a])&&(o=(s<3?n(o):s>3?n(e,r,o):n(e,r))||o);return s>3&&o&&Object.defineProperty(e,r,o),o},n=this&&this.__param||function(t,e){return function(r,i){e(r,i,t)}};Object.defineProperty(e,"__esModule",{value:!0}),e.PrecedencePredicateTransition=void 0;const s=r(174),o=r(73),a=r(144);let E=class extends s.AbstractPredicateTransition{constructor(t,e){super(t),this.precedence=e}get serializationType(){return 10}get isEpsilon(){return!0}matches(t,e,r){return!1}get predicate(){return new a.SemanticContext.PrecedencePredicate(this.precedence)}toString(){return this.precedence+" >= _p"}};i([o.Override],E.prototype,"serializationType",null),i([o.Override],E.prototype,"isEpsilon",null),i([o.Override],E.prototype,"matches",null),i([o.Override],E.prototype,"toString",null),E=i([n(0,o.NotNull)],E),e.PrecedencePredicateTransition=E},function(t,e,r){"use strict";var i=this&&this.__decorate||function(t,e,r,i){var n,s=arguments.length,o=s<3?e:null===i?i=Object.getOwnPropertyDescriptor(e,r):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(t,e,r,i);else for(var a=t.length-1;a>=0;a--)(n=t[a])&&(o=(s<3?n(o):s>3?n(e,r,o):n(e,r))||o);return s>3&&o&&Object.defineProperty(e,r,o),o},n=this&&this.__param||function(t,e){return function(r,i){e(r,i,t)}};Object.defineProperty(e,"__esModule",{value:!0}),e.PredicateTransition=void 0;const s=r(174),o=r(73),a=r(144);let E=class extends s.AbstractPredicateTransition{constructor(t,e,r,i){super(t),this.ruleIndex=e,this.predIndex=r,this.isCtxDependent=i}get serializationType(){return 4}get isEpsilon(){return!0}matches(t,e,r){return!1}get predicate(){return new a.SemanticContext.Predicate(this.ruleIndex,this.predIndex,this.isCtxDependent)}toString(){return"pred_"+this.ruleIndex+":"+this.predIndex}};i([o.Override],E.prototype,"serializationType",null),i([o.Override],E.prototype,"isEpsilon",null),i([o.Override],E.prototype,"matches",null),i([o.Override,o.NotNull],E.prototype,"toString",null),E=i([n(0,o.NotNull)],E),e.PredicateTransition=E},function(t,e,r){"use strict";var i=this&&this.__decorate||function(t,e,r,i){var n,s=arguments.length,o=s<3?e:null===i?i=Object.getOwnPropertyDescriptor(e,r):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(t,e,r,i);else for(var a=t.length-1;a>=0;a--)(n=t[a])&&(o=(s<3?n(o):s>3?n(e,r,o):n(e,r))||o);return s>3&&o&&Object.defineProperty(e,r,o),o},n=this&&this.__param||function(t,e){return function(r,i){e(r,i,t)}};Object.defineProperty(e,"__esModule",{value:!0}),e.RangeTransition=void 0;const s=r(157),o=r(73),a=r(175);let E=class extends a.Transition{constructor(t,e,r){super(t),this.from=e,this.to=r}get serializationType(){return 2}get label(){return s.IntervalSet.of(this.from,this.to)}matches(t,e,r){return t>=this.from&&t<=this.to}toString(){return"'"+String.fromCodePoint(this.from)+"'..'"+String.fromCodePoint(this.to)+"'"}};i([o.Override],E.prototype,"serializationType",null),i([o.Override,o.NotNull],E.prototype,"label",null),i([o.Override],E.prototype,"matches",null),i([o.Override,o.NotNull],E.prototype,"toString",null),E=i([n(0,o.NotNull)],E),e.RangeTransition=E},function(t,e,r){"use strict";var i=this&&this.__decorate||function(t,e,r,i){var n,s=arguments.length,o=s<3?e:null===i?i=Object.getOwnPropertyDescriptor(e,r):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(t,e,r,i);else for(var a=t.length-1;a>=0;a--)(n=t[a])&&(o=(s<3?n(o):s>3?n(e,r,o):n(e,r))||o);return s>3&&o&&Object.defineProperty(e,r,o),o};Object.defineProperty(e,"__esModule",{value:!0}),e.RuleStartState=void 0;const n=r(140),s=r(156),o=r(73);class a extends n.ATNState{constructor(){super(...arguments),this.isPrecedenceRule=!1,this.leftFactored=!1}get stateType(){return s.ATNStateType.RULE_START}}i([o.Override],a.prototype,"stateType",null),e.RuleStartState=a},function(t,e,r){"use strict";var i=this&&this.__decorate||function(t,e,r,i){var n,s=arguments.length,o=s<3?e:null===i?i=Object.getOwnPropertyDescriptor(e,r):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(t,e,r,i);else for(var a=t.length-1;a>=0;a--)(n=t[a])&&(o=(s<3?n(o):s>3?n(e,r,o):n(e,r))||o);return s>3&&o&&Object.defineProperty(e,r,o),o};Object.defineProperty(e,"__esModule",{value:!0}),e.StarBlockStartState=void 0;const n=r(156),s=r(186),o=r(73);class a extends s.BlockStartState{get stateType(){return n.ATNStateType.STAR_BLOCK_START}}i([o.Override],a.prototype,"stateType",null),e.StarBlockStartState=a},function(t,e,r){"use strict";var i=this&&this.__decorate||function(t,e,r,i){var n,s=arguments.length,o=s<3?e:null===i?i=Object.getOwnPropertyDescriptor(e,r):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(t,e,r,i);else for(var a=t.length-1;a>=0;a--)(n=t[a])&&(o=(s<3?n(o):s>3?n(e,r,o):n(e,r))||o);return s>3&&o&&Object.defineProperty(e,r,o),o};Object.defineProperty(e,"__esModule",{value:!0}),e.StarLoopbackState=void 0;const n=r(140),s=r(156),o=r(73);class a extends n.ATNState{get loopEntryState(){return this.transition(0).target}get stateType(){return s.ATNStateType.STAR_LOOP_BACK}}i([o.Override],a.prototype,"stateType",null),e.StarLoopbackState=a},function(t,e,r){"use strict";var i=this&&this.__decorate||function(t,e,r,i){var n,s=arguments.length,o=s<3?e:null===i?i=Object.getOwnPropertyDescriptor(e,r):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(t,e,r,i);else for(var a=t.length-1;a>=0;a--)(n=t[a])&&(o=(s<3?n(o):s>3?n(e,r,o):n(e,r))||o);return s>3&&o&&Object.defineProperty(e,r,o),o};Object.defineProperty(e,"__esModule",{value:!0}),e.TokensStartState=void 0;const n=r(156),s=r(139),o=r(73);class a extends s.DecisionState{get stateType(){return n.ATNStateType.TOKEN_START}}i([o.Override],a.prototype,"stateType",null),e.TokensStartState=a},(t,e,r)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.UUID=void 0;const i=r(133);class n{constructor(t,e,r,i){this.data=new Uint32Array(4),this.data[0]=t,this.data[1]=e,this.data[2]=r,this.data[3]=i}static fromString(t){if(!/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/.test(t))throw new Error("Incorrectly formatted UUID");let e=t.split("-"),r=parseInt(e[0],16),i=(parseInt(e[1],16)<<16>>>0)+parseInt(e[2],16),s=(parseInt(e[3],16)<<16>>>0)+parseInt(e[4].substr(0,4),16),o=parseInt(e[4].substr(-8),16);return new n(r,i,s,o)}hashCode(){return i.MurmurHash.hashCode([this.data[0],this.data[1],this.data[2],this.data[3]])}equals(t){return t===this||t instanceof n&&(this.data[0]===t.data[0]&&this.data[1]===t.data[1]&&this.data[2]===t.data[2]&&this.data[3]===t.data[3])}toString(){return("00000000"+this.data[0].toString(16)).substr(-8)+"-"+("0000"+(this.data[1]>>>16).toString(16)).substr(-4)+"-"+("0000"+this.data[1].toString(16)).substr(-4)+"-"+("0000"+(this.data[2]>>>16).toString(16)).substr(-4)+"-"+("0000"+this.data[2].toString(16)).substr(-4)+("00000000"+this.data[3].toString(16)).substr(-8)}}e.UUID=n},function(t,e,r){"use strict";var i=this&&this.__decorate||function(t,e,r,i){var n,s=arguments.length,o=s<3?e:null===i?i=Object.getOwnPropertyDescriptor(e,r):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(t,e,r,i);else for(var a=t.length-1;a>=0;a--)(n=t[a])&&(o=(s<3?n(o):s>3?n(e,r,o):n(e,r))||o);return s>3&&o&&Object.defineProperty(e,r,o),o},n=this&&this.__param||function(t,e){return function(r,i){e(r,i,t)}};Object.defineProperty(e,"__esModule",{value:!0}),e.DefaultErrorStrategy=void 0;const s=r(140),o=r(156),a=r(216),E=r(217),h=r(157),l=r(200),u=r(141),c=r(77),T=r(73);class R{constructor(){this.errorRecoveryMode=!1,this.lastErrorIndex=-1,this.nextTokensState=s.ATNState.INVALID_STATE_NUMBER}reset(t){this.endErrorCondition(t)}beginErrorCondition(t){this.errorRecoveryMode=!0}inErrorRecoveryMode(t){return this.errorRecoveryMode}endErrorCondition(t){this.errorRecoveryMode=!1,this.lastErrorStates=void 0,this.lastErrorIndex=-1}reportMatch(t){this.endErrorCondition(t)}reportError(t,e){this.inErrorRecoveryMode(t)||(this.beginErrorCondition(t),e instanceof l.NoViableAltException?this.reportNoViableAlternative(t,e):e instanceof E.InputMismatchException?this.reportInputMismatch(t,e):e instanceof a.FailedPredicateException?this.reportFailedPredicate(t,e):(console.error(`unknown recognition error type: ${e}`),this.notifyErrorListeners(t,e.toString(),e)))}notifyErrorListeners(t,e,r){let i=r.getOffendingToken(t);void 0===i&&(i=null),t.notifyErrorListeners(e,i,r)}recover(t,e){this.lastErrorIndex===t.inputStream.index&&this.lastErrorStates&&this.lastErrorStates.contains(t.state)&&t.consume(),this.lastErrorIndex=t.inputStream.index,this.lastErrorStates||(this.lastErrorStates=new h.IntervalSet),this.lastErrorStates.add(t.state);let r=this.getErrorRecoverySet(t);this.consumeUntil(t,r)}sync(t){let e=t.interpreter.atn.states[t.state];if(this.inErrorRecoveryMode(t))return;let r=t.inputStream.LA(1),i=t.atn.nextTokens(e);if(i.contains(r))return this.nextTokensContext=void 0,void(this.nextTokensState=s.ATNState.INVALID_STATE_NUMBER);if(i.contains(c.Token.EPSILON))void 0===this.nextTokensContext&&(this.nextTokensContext=t.context,this.nextTokensState=t.state);else switch(e.stateType){case o.ATNStateType.BLOCK_START:case o.ATNStateType.STAR_BLOCK_START:case o.ATNStateType.PLUS_BLOCK_START:case o.ATNStateType.STAR_LOOP_ENTRY:if(this.singleTokenDeletion(t))return;throw new E.InputMismatchException(t);case o.ATNStateType.PLUS_LOOP_BACK:case o.ATNStateType.STAR_LOOP_BACK:this.reportUnwantedToken(t);let e=t.getExpectedTokens().or(this.getErrorRecoverySet(t));this.consumeUntil(t,e)}}reportNoViableAlternative(t,e){let r,i=t.inputStream;r=i?e.startToken.type===c.Token.EOF?"<EOF>":i.getTextFromRange(e.startToken,e.getOffendingToken()):"<unknown input>";let n="no viable alternative at input "+this.escapeWSAndQuote(r);this.notifyErrorListeners(t,n,e)}reportInputMismatch(t,e){let r=e.expectedTokens,i=r?r.toStringVocabulary(t.vocabulary):"",n="mismatched input "+this.getTokenErrorDisplay(e.getOffendingToken(t))+" expecting "+i;this.notifyErrorListeners(t,n,e)}reportFailedPredicate(t,e){let r="rule "+t.ruleNames[t.context.ruleIndex]+" "+e.message;this.notifyErrorListeners(t,r,e)}reportUnwantedToken(t){if(this.inErrorRecoveryMode(t))return;this.beginErrorCondition(t);let e=t.currentToken,r="extraneous input "+this.getTokenErrorDisplay(e)+" expecting "+this.getExpectedTokens(t).toStringVocabulary(t.vocabulary);t.notifyErrorListeners(r,e,void 0)}reportMissingToken(t){if(this.inErrorRecoveryMode(t))return;this.beginErrorCondition(t);let e=t.currentToken,r="missing "+this.getExpectedTokens(t).toStringVocabulary(t.vocabulary)+" at "+this.getTokenErrorDisplay(e);t.notifyErrorListeners(r,e,void 0)}recoverInline(t){let e=this.singleTokenDeletion(t);if(e)return t.consume(),e;if(this.singleTokenInsertion(t))return this.getMissingSymbol(t);throw void 0===this.nextTokensContext?new E.InputMismatchException(t):new E.InputMismatchException(t,this.nextTokensState,this.nextTokensContext)}singleTokenInsertion(t){let e=t.inputStream.LA(1),r=t.interpreter.atn.states[t.state].transition(0).target,i=t.interpreter.atn;return!!i.nextTokens(r,u.PredictionContext.fromRuleContext(i,t.context)).contains(e)&&(this.reportMissingToken(t),!0)}singleTokenDeletion(t){let e=t.inputStream.LA(2);if(this.getExpectedTokens(t).contains(e)){this.reportUnwantedToken(t),t.consume();let e=t.currentToken;return this.reportMatch(t),e}}getMissingSymbol(t){let e,r=t.currentToken,i=this.getExpectedTokens(t),n=c.Token.INVALID_TYPE;i.isNil||(n=i.minElement),e=n===c.Token.EOF?"<missing EOF>":"<missing "+t.vocabulary.getDisplayName(n)+">";let s=r,o=t.inputStream.tryLT(-1);return s.type===c.Token.EOF&&null!=o&&(s=o),this.constructToken(t.inputStream.tokenSource,n,e,s)}constructToken(t,e,r,i){let n=t.tokenFactory,s=i.tokenSource,o=s?s.inputStream:void 0;return n.create({source:t,stream:o},e,r,c.Token.DEFAULT_CHANNEL,-1,-1,i.line,i.charPositionInLine)}getExpectedTokens(t){return t.getExpectedTokens()}getTokenErrorDisplay(t){if(!t)return"<no token>";let e=this.getSymbolText(t);return e||(e=this.getSymbolType(t)===c.Token.EOF?"<EOF>":`<${this.getSymbolType(t)}>`),this.escapeWSAndQuote(e)}getSymbolText(t){return t.text}getSymbolType(t){return t.type}escapeWSAndQuote(t){return"'"+(t=(t=(t=t.replace("\n","\\n")).replace("\r","\\r")).replace("\t","\\t"))+"'"}getErrorRecoverySet(t){let e=t.interpreter.atn,r=t.context,i=new h.IntervalSet;for(;r&&r.invokingState>=0;){let t=e.states[r.invokingState].transition(0),n=e.nextTokens(t.followState);i.addAll(n),r=r._parent}return i.remove(c.Token.EPSILON),i}consumeUntil(t,e){let r=t.inputStream.LA(1);for(;r!==c.Token.EOF&&!e.contains(r);)t.consume(),r=t.inputStream.LA(1)}}i([T.Override],R.prototype,"reset",null),i([n(0,T.NotNull)],R.prototype,"beginErrorCondition",null),i([T.Override],R.prototype,"inErrorRecoveryMode",null),i([n(0,T.NotNull)],R.prototype,"endErrorCondition",null),i([T.Override],R.prototype,"reportMatch",null),i([T.Override],R.prototype,"reportError",null),i([n(0,T.NotNull)],R.prototype,"notifyErrorListeners",null),i([T.Override],R.prototype,"recover",null),i([T.Override],R.prototype,"sync",null),i([n(0,T.NotNull),n(1,T.NotNull)],R.prototype,"reportNoViableAlternative",null),i([n(0,T.NotNull),n(1,T.NotNull)],R.prototype,"reportInputMismatch",null),i([n(0,T.NotNull),n(1,T.NotNull)],R.prototype,"reportFailedPredicate",null),i([n(0,T.NotNull)],R.prototype,"reportUnwantedToken",null),i([n(0,T.NotNull)],R.prototype,"reportMissingToken",null),i([T.Override],R.prototype,"recoverInline",null),i([n(0,T.NotNull)],R.prototype,"singleTokenInsertion",null),i([n(0,T.NotNull)],R.prototype,"singleTokenDeletion",null),i([T.NotNull,n(0,T.NotNull)],R.prototype,"getMissingSymbol",null),i([T.NotNull,n(0,T.NotNull)],R.prototype,"getExpectedTokens",null),i([n(0,T.NotNull)],R.prototype,"getSymbolText",null),i([n(0,T.NotNull)],R.prototype,"getSymbolType",null),i([T.NotNull,n(0,T.NotNull)],R.prototype,"escapeWSAndQuote",null),i([T.NotNull,n(0,T.NotNull)],R.prototype,"getErrorRecoverySet",null),i([n(0,T.NotNull),n(1,T.NotNull)],R.prototype,"consumeUntil",null),e.DefaultErrorStrategy=R},function(t,e,r){"use strict";var i=this&&this.__decorate||function(t,e,r,i){var n,s=arguments.length,o=s<3?e:null===i?i=Object.getOwnPropertyDescriptor(e,r):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(t,e,r,i);else for(var a=t.length-1;a>=0;a--)(n=t[a])&&(o=(s<3?n(o):s>3?n(e,r,o):n(e,r))||o);return s>3&&o&&Object.defineProperty(e,r,o),o},n=this&&this.__param||function(t,e){return function(r,i){e(r,i,t)}};Object.defineProperty(e,"__esModule",{value:!0}),e.FailedPredicateException=void 0;const s=r(168),o=r(73),a=r(208);let E=class t extends s.RecognitionException{constructor(e,r,i){super(e,e.inputStream,e.context,t.formatMessage(r,i));let n=e.interpreter.atn.states[e.state].transition(0);n instanceof a.PredicateTransition?(this._ruleIndex=n.ruleIndex,this._predicateIndex=n.predIndex):(this._ruleIndex=0,this._predicateIndex=0),this._predicate=r,super.setOffendingToken(e,e.currentToken)}get ruleIndex(){return this._ruleIndex}get predicateIndex(){return this._predicateIndex}get predicate(){return this._predicate}static formatMessage(t,e){return e||`failed predicate: {${t}}?`}};i([o.NotNull],E,"formatMessage",null),E=i([n(0,o.NotNull)],E),e.FailedPredicateException=E},function(t,e,r){"use strict";var i=this&&this.__decorate||function(t,e,r,i){var n,s=arguments.length,o=s<3?e:null===i?i=Object.getOwnPropertyDescriptor(e,r):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(t,e,r,i);else for(var a=t.length-1;a>=0;a--)(n=t[a])&&(o=(s<3?n(o):s>3?n(e,r,o):n(e,r))||o);return s>3&&o&&Object.defineProperty(e,r,o),o},n=this&&this.__param||function(t,e){return function(r,i){e(r,i,t)}};Object.defineProperty(e,"__esModule",{value:!0}),e.InputMismatchException=void 0;const s=r(168),o=r(73);let a=class extends s.RecognitionException{constructor(t,e,r){void 0===r&&(r=t.context),super(t,t.inputStream,r),void 0!==e&&this.setOffendingState(e),this.setOffendingToken(t,t.currentToken)}};a=i([n(0,o.NotNull)],a),e.InputMismatchException=a},function(t,e,r){"use strict";var i=this&&this.__decorate||function(t,e,r,i){var n,s=arguments.length,o=s<3?e:null===i?i=Object.getOwnPropertyDescriptor(e,r):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(t,e,r,i);else for(var a=t.length-1;a>=0;a--)(n=t[a])&&(o=(s<3?n(o):s>3?n(e,r,o):n(e,r))||o);return s>3&&o&&Object.defineProperty(e,r,o),o},n=this&&this.__param||function(t,e){return function(r,i){e(r,i,t)}};Object.defineProperty(e,"__esModule",{value:!0}),e.ParseInfo=void 0;const s=r(73);let o=class{constructor(t){this.atnSimulator=t}getDecisionInfo(){return this.atnSimulator.getDecisionInfo()}getLLDecisions(){let t=this.atnSimulator.getDecisionInfo(),e=[];for(let r=0;r<t.length;r++){t[r].LL_Fallback>0&&e.push(r)}return e}getTotalTimeInPrediction(){let t=this.atnSimulator.getDecisionInfo(),e=0;for(let r of t)e+=r.timeInPrediction;return e}getTotalSLLLookaheadOps(){let t=this.atnSimulator.getDecisionInfo(),e=0;for(let r of t)e+=r.SLL_TotalLook;return e}getTotalLLLookaheadOps(){let t=this.atnSimulator.getDecisionInfo(),e=0;for(let r of t)e+=r.LL_TotalLook;return e}getTotalSLLATNLookaheadOps(){let t=this.atnSimulator.getDecisionInfo(),e=0;for(let r of t)e+=r.SLL_ATNTransitions;return e}getTotalLLATNLookaheadOps(){let t=this.atnSimulator.getDecisionInfo(),e=0;for(let r of t)e+=r.LL_ATNTransitions;return e}getTotalATNLookaheadOps(){let t=this.atnSimulator.getDecisionInfo(),e=0;for(let r of t)e+=r.SLL_ATNTransitions,e+=r.LL_ATNTransitions;return e}getDFASize(t){if(t){return this.atnSimulator.atn.decisionToDFA[t].states.size}{let t=0,e=this.atnSimulator.atn.decisionToDFA;for(let r=0;r<e.length;r++)t+=this.getDFASize(r);return t}}};i([s.NotNull],o.prototype,"getDecisionInfo",null),i([s.NotNull],o.prototype,"getLLDecisions",null),o=i([n(0,s.NotNull)],o),e.ParseInfo=o},function(t,e,r){"use strict";var i=this&&this.__decorate||function(t,e,r,i){var n,s=arguments.length,o=s<3?e:null===i?i=Object.getOwnPropertyDescriptor(e,r):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(t,e,r,i);else for(var a=t.length-1;a>=0;a--)(n=t[a])&&(o=(s<3?n(o):s>3?n(e,r,o):n(e,r))||o);return s>3&&o&&Object.defineProperty(e,r,o),o};Object.defineProperty(e,"__esModule",{value:!0}),e.ProxyParserErrorListener=void 0;const n=r(152),s=r(73);class o extends n.ProxyErrorListener{constructor(t){super(t)}reportAmbiguity(t,e,r,i,n,s,o){this.getDelegates().forEach((a=>{a.reportAmbiguity&&a.reportAmbiguity(t,e,r,i,n,s,o)}))}reportAttemptingFullContext(t,e,r,i,n,s){this.getDelegates().forEach((o=>{o.reportAttemptingFullContext&&o.reportAttemptingFullContext(t,e,r,i,n,s)}))}reportContextSensitivity(t,e,r,i,n,s){this.getDelegates().forEach((o=>{o.reportContextSensitivity&&o.reportContextSensitivity(t,e,r,i,n,s)}))}}i([s.Override],o.prototype,"reportAmbiguity",null),i([s.Override],o.prototype,"reportAttemptingFullContext",null),i([s.Override],o.prototype,"reportContextSensitivity",null),e.ProxyParserErrorListener=o},function(t,e,r){"use strict";var i=this&&this.__decorate||function(t,e,r,i){var n,s=arguments.length,o=s<3?e:null===i?i=Object.getOwnPropertyDescriptor(e,r):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(t,e,r,i);else for(var a=t.length-1;a>=0;a--)(n=t[a])&&(o=(s<3?n(o):s>3?n(e,r,o):n(e,r))||o);return s>3&&o&&Object.defineProperty(e,r,o),o},n=this&&this.__param||function(t,e){return function(r,i){e(r,i,t)}};Object.defineProperty(e,"__esModule",{value:!0}),e.ParseTreePatternMatcher=void 0;const s=r(221),o=r(223),a=r(227),E=r(229),h=r(230),l=r(73),u=r(222),c=r(231),T=r(201),R=r(233),p=r(234),S=r(168),A=r(84),d=r(245),N=r(246),O=r(75),C=r(248),_=r(77),I=r(249);class L{constructor(t,e){this.start="<",this.stop=">",this.escape="\\",this.escapeRE=/\\/g,this._lexer=t,this._parser=e}setDelimiters(t,e,r){if(!t)throw new Error("start cannot be null or empty");if(!e)throw new Error("stop cannot be null or empty");this.start=t,this.stop=e,this.escape=r,this.escapeRE=new RegExp(r.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),"g")}matches(t,e,r=0){if("string"==typeof e){let i=this.compile(e,r);return this.matches(t,i)}{let r=new h.MultiMap;return!this.matchImpl(t,e.patternTree,r)}}match(t,e,r=0){if("string"==typeof e){let i=this.compile(e,r);return this.match(t,i)}{let r=new h.MultiMap,i=this.matchImpl(t,e.patternTree,r);return new R.ParseTreeMatch(t,e,r,i)}}compile(t,e){let r=this.tokenize(t),i=new E.ListTokenSource(r),n=new a.CommonTokenStream(i);const o=this._parser;let h,l=new c.ParserInterpreter(o.grammarFileName,o.vocabulary,o.ruleNames,o.getATNWithBypassAlts(),n);try{l.errorHandler=new s.BailErrorStrategy,h=l.parse(e)}catch(t){throw t instanceof u.ParseCancellationException?t.getCause():t instanceof S.RecognitionException?t:t instanceof Error?new L.CannotInvokeStartRule(t):t}if(n.LA(1)!==_.Token.EOF)throw new L.StartRuleDoesNotConsumeFullPattern;return new p.ParseTreePattern(this,t,e,h)}get lexer(){return this._lexer}get parser(){return this._parser}matchImpl(t,e,r){if(!t)throw new TypeError("tree cannot be null");if(!e)throw new TypeError("patternTree cannot be null");if(t instanceof O.TerminalNode&&e instanceof O.TerminalNode){let i;if(t.symbol.type===e.symbol.type)if(e.symbol instanceof I.TokenTagToken){let i=e.symbol;r.map(i.tokenName,t);const n=i.label;n&&r.map(n,t)}else t.text===e.text||i||(i=t);else i||(i=t);return i}if(t instanceof T.ParserRuleContext&&e instanceof T.ParserRuleContext){let i,n=this.getRuleTagToken(e);if(n){if(t.ruleContext.ruleIndex===e.ruleContext.ruleIndex){r.map(n.ruleName,t);const e=n.label;e&&r.map(e,t)}else i||(i=t);return i}if(t.childCount!==e.childCount)return i||(i=t),i;let s=t.childCount;for(let i=0;i<s;i++){let n=this.matchImpl(t.getChild(i),e.getChild(i),r);if(n)return n}return i}return t}getRuleTagToken(t){if(t instanceof A.RuleNode&&1===t.childCount&&t.getChild(0)instanceof O.TerminalNode){let e=t.getChild(0);if(e.symbol instanceof d.RuleTagToken)return e.symbol}}tokenize(t){let e=this.split(t),r=[];for(let i of e)if(i instanceof N.TagChunk){let e=i;const n=e.tag.substr(0,1);if(n===n.toUpperCase()){let i=this._parser.getTokenType(e.tag);if(i===_.Token.INVALID_TYPE)throw new Error("Unknown token "+e.tag+" in pattern: "+t);let n=new I.TokenTagToken(e.tag,i,e.label);r.push(n)}else{if(n!==n.toLowerCase())throw new Error("invalid tag: "+e.tag+" in pattern: "+t);{let i=this._parser.getRuleIndex(e.tag);if(-1===i)throw new Error("Unknown rule "+e.tag+" in pattern: "+t);let n=this._parser.getATNWithBypassAlts().ruleToTokenType[i];r.push(new d.RuleTagToken(e.tag,n,e.label))}}}else{let t=i;this._lexer.inputStream=o.CharStreams.fromString(t.text);let e=this._lexer.nextToken();for(;e.type!==_.Token.EOF;)r.push(e),e=this._lexer.nextToken()}return r}split(t){let e=0,r=t.length,i=[],n=[],s=[];for(;e<r;)e===t.indexOf(this.escape+this.start,e)?e+=this.escape.length+this.start.length:e===t.indexOf(this.escape+this.stop,e)?e+=this.escape.length+this.stop.length:e===t.indexOf(this.start,e)?(n.push(e),e+=this.start.length):e===t.indexOf(this.stop,e)?(s.push(e),e+=this.stop.length):e++;if(n.length>s.length)throw new Error("unterminated tag in pattern: "+t);if(n.length<s.length)throw new Error("missing start tag in pattern: "+t);let o=n.length;for(let e=0;e<o;e++)if(n[e]>=s[e])throw new Error("tag delimiters out of order in pattern: "+t);if(0===o){let e=t.substring(0,r);i.push(new C.TextChunk(e))}if(o>0&&n[0]>0){let e=t.substring(0,n[0]);i.push(new C.TextChunk(e))}for(let e=0;e<o;e++){let r,a=t.substring(n[e]+this.start.length,s[e]),E=a,h=a.indexOf(":");if(h>=0&&(r=a.substring(0,h),E=a.substring(h+1,a.length)),i.push(new N.TagChunk(E,r)),e+1<o){let r=t.substring(s[e]+this.stop.length,n[e+1]);i.push(new C.TextChunk(r))}}if(o>0){let e=s[o-1]+this.stop.length;if(e<r){let n=t.substring(e,r);i.push(new C.TextChunk(n))}}for(let t=0;t<i.length;t++){let e=i[t];if(e instanceof C.TextChunk){let r=e.text.replace(this.escapeRE,"");r.length<e.text.length&&(i[t]=new C.TextChunk(r))}}return i}}i([l.NotNull,n(1,l.NotNull)],L.prototype,"match",null),i([l.NotNull],L.prototype,"lexer",null),i([l.NotNull],L.prototype,"parser",null),i([n(0,l.NotNull),n(1,l.NotNull),n(2,l.NotNull)],L.prototype,"matchImpl",null),e.ParseTreePatternMatcher=L,function(t){class e extends Error{constructor(t){super(`CannotInvokeStartRule: ${t}`),this.error=t}}t.CannotInvokeStartRule=e;class r extends Error{constructor(){super("StartRuleDoesNotConsumeFullPattern")}}t.StartRuleDoesNotConsumeFullPattern=r}(L=e.ParseTreePatternMatcher||(e.ParseTreePatternMatcher={}))},function(t,e,r){"use strict";var i=this&&this.__decorate||function(t,e,r,i){var n,s=arguments.length,o=s<3?e:null===i?i=Object.getOwnPropertyDescriptor(e,r):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(t,e,r,i);else for(var a=t.length-1;a>=0;a--)(n=t[a])&&(o=(s<3?n(o):s>3?n(e,r,o):n(e,r))||o);return s>3&&o&&Object.defineProperty(e,r,o),o};Object.defineProperty(e,"__esModule",{value:!0}),e.BailErrorStrategy=void 0;const n=r(215),s=r(217),o=r(73),a=r(222);class E extends n.DefaultErrorStrategy{recover(t,e){for(let r=t.context;r;r=r.parent)r.exception=e;throw new a.ParseCancellationException(e)}recoverInline(t){let e=new s.InputMismatchException(t);for(let r=t.context;r;r=r.parent)r.exception=e;throw new a.ParseCancellationException(e)}sync(t){}}i([o.Override],E.prototype,"recover",null),i([o.Override],E.prototype,"recoverInline",null),i([o.Override],E.prototype,"sync",null),e.BailErrorStrategy=E},(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ParseCancellationException=void 0;class r extends Error{constructor(t){super(t.message),this.cause=t,this.stack=t.stack}getCause(){return this.cause}}e.ParseCancellationException=r},(t,e,r)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.CharStreams=void 0;const i=r(224),n=r(226),s=r(78);!function(t){t.fromString=function(t,e){void 0!==e&&0!==e.length||(e=s.IntStream.UNKNOWN_SOURCE_NAME);let r=i.CodePointBuffer.builder(t.length),o=new Uint16Array(t.length);for(let e=0;e<t.length;e++)o[e]=t.charCodeAt(e);return r.append(o),n.CodePointCharStream.fromBuffer(r.build(),e)}}(e.CharStreams||(e.CharStreams={}))},(t,e,r)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.CodePointBuffer=void 0;const i=r(91),n=r(225);class s{constructor(t,e){this.buffer=t,this._position=0,this._size=e}static withArray(t){return new s(t,t.length)}get position(){return this._position}set position(t){if(t<0||t>this._size)throw new RangeError;this._position=t}get remaining(){return this._size-this.position}get(t){return this.buffer[t]}array(){return this.buffer.slice(0,this._size)}static builder(t){return new s.Builder(t)}}e.CodePointBuffer=s,function(t){let e;!function(t){t[t.BYTE=0]="BYTE",t[t.CHAR=1]="CHAR",t[t.INT=2]="INT"}(e||(e={}));class r{constructor(t){this.type=0,this.buffer=new Uint8Array(t),this.prevHighSurrogate=-1,this.position=0}build(){return new t(this.buffer,this.position)}static roundUpToNextPowerOfTwo(t){let e=32-Math.clz32(t-1);return Math.pow(2,e)}ensureRemaining(t){switch(this.type){case 0:if(this.buffer.length-this.position<t){let e=r.roundUpToNextPowerOfTwo(this.buffer.length+t),i=new Uint8Array(e);i.set(this.buffer.subarray(0,this.position),0),this.buffer=i}break;case 1:if(this.buffer.length-this.position<t){let e=r.roundUpToNextPowerOfTwo(this.buffer.length+t),i=new Uint16Array(e);i.set(this.buffer.subarray(0,this.position),0),this.buffer=i}break;case 2:if(this.buffer.length-this.position<t){let e=r.roundUpToNextPowerOfTwo(this.buffer.length+t),i=new Int32Array(e);i.set(this.buffer.subarray(0,this.position),0),this.buffer=i}}}append(t){this.ensureRemaining(t.length),this.appendArray(t)}appendArray(t){switch(this.type){case 0:this.appendArrayByte(t);break;case 1:this.appendArrayChar(t);break;case 2:this.appendArrayInt(t)}}appendArrayByte(t){i(-1===this.prevHighSurrogate);let e=t,r=0,s=t.length,o=this.buffer,a=this.position;for(;r<s;){let i=e[r];if(!(i<=255))return t=t.subarray(r,s),this.position=a,n.isHighSurrogate(i)?(this.byteToIntBuffer(t.length),void this.appendArrayInt(t)):(this.byteToCharBuffer(t.length),void this.appendArrayChar(t));o[a]=i,r++,a++}this.position=a}appendArrayChar(t){i(-1===this.prevHighSurrogate);let e=t,r=0,s=t.length,o=this.buffer,a=this.position;for(;r<s;){let i=e[r];if(n.isHighSurrogate(i))return t=t.subarray(r,s),this.position=a,this.charToIntBuffer(t.length),void this.appendArrayInt(t);o[a]=i,r++,a++}this.position=a}appendArrayInt(t){let e=t,r=0,i=t.length,s=this.buffer,o=this.position;for(;r<i;){let t=e[r];r++,-1!==this.prevHighSurrogate?n.isLowSurrogate(t)?(s[o]=String.fromCharCode(this.prevHighSurrogate,t).codePointAt(0),o++,this.prevHighSurrogate=-1):(s[o]=this.prevHighSurrogate,o++,n.isHighSurrogate(t)?this.prevHighSurrogate=t:(s[o]=t,o++,this.prevHighSurrogate=-1)):n.isHighSurrogate(t)?this.prevHighSurrogate=t:(s[o]=t,o++)}-1!==this.prevHighSurrogate&&(s[o]=this.prevHighSurrogate,o++),this.position=o}byteToCharBuffer(t){let e=new Uint16Array(Math.max(this.position+t,this.buffer.length>>1));e.set(this.buffer.subarray(0,this.position),0),this.type=1,this.buffer=e}byteToIntBuffer(t){let e=new Int32Array(Math.max(this.position+t,this.buffer.length>>2));e.set(this.buffer.subarray(0,this.position),0),this.type=2,this.buffer=e}charToIntBuffer(t){let e=new Int32Array(Math.max(this.position+t,this.buffer.length>>1));e.set(this.buffer.subarray(0,this.position),0),this.type=2,this.buffer=e}}t.Builder=r}(s=e.CodePointBuffer||(e.CodePointBuffer={}))},(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.isSupplementaryCodePoint=e.isLowSurrogate=e.isHighSurrogate=void 0,e.isHighSurrogate=function(t){return t>=55296&&t<=56319},e.isLowSurrogate=function(t){return t>=56320&&t<=57343},e.isSupplementaryCodePoint=function(t){return t>=65536}},function(t,e,r){"use strict";var i=this&&this.__decorate||function(t,e,r,i){var n,s=arguments.length,o=s<3?e:null===i?i=Object.getOwnPropertyDescriptor(e,r):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(t,e,r,i);else for(var a=t.length-1;a>=0;a--)(n=t[a])&&(o=(s<3?n(o):s>3?n(e,r,o):n(e,r))||o);return s>3&&o&&Object.defineProperty(e,r,o),o};Object.defineProperty(e,"__esModule",{value:!0}),e.CodePointCharStream=void 0;const n=r(91),s=r(78),o=r(76),a=r(73);class E{constructor(t,e,r,i){n(0===e),this._array=t,this._size=r,this._name=i,this._position=0}get internalStorage(){return this._array}static fromBuffer(t,e){return void 0!==e&&0!==e.length||(e=s.IntStream.UNKNOWN_SOURCE_NAME),new E(t.array(),t.position,t.remaining,e)}consume(){if(this._size-this._position==0)throw n(this.LA(1)===s.IntStream.EOF),new RangeError("cannot consume EOF");this._position++}get index(){return this._position}get size(){return this._size}mark(){return-1}release(t){}seek(t){this._position=t}get sourceName(){return this._name}toString(){return this.getText(o.Interval.of(0,this.size-1))}LA(t){let e;switch(Math.sign(t)){case-1:return e=this.index+t,e<0?s.IntStream.EOF:this._array[e];case 0:return 0;case 1:return e=this.index+t-1,e>=this.size?s.IntStream.EOF:this._array[e]}throw new RangeError("Not reached")}getText(t){const e=Math.min(t.a,this.size),r=Math.min(t.b-t.a+1,this.size-e);return this._array instanceof Int32Array?String.fromCodePoint(...Array.from(this._array.subarray(e,e+r))):String.fromCharCode(...Array.from(this._array.subarray(e,e+r)))}}i([a.Override],E.prototype,"consume",null),i([a.Override],E.prototype,"index",null),i([a.Override],E.prototype,"size",null),i([a.Override],E.prototype,"mark",null),i([a.Override],E.prototype,"release",null),i([a.Override],E.prototype,"seek",null),i([a.Override],E.prototype,"sourceName",null),i([a.Override],E.prototype,"toString",null),i([a.Override],E.prototype,"LA",null),i([a.Override],E.prototype,"getText",null),e.CodePointCharStream=E},function(t,e,r){"use strict";var i=this&&this.__decorate||function(t,e,r,i){var n,s=arguments.length,o=s<3?e:null===i?i=Object.getOwnPropertyDescriptor(e,r):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(t,e,r,i);else for(var a=t.length-1;a>=0;a--)(n=t[a])&&(o=(s<3?n(o):s>3?n(e,r,o):n(e,r))||o);return s>3&&o&&Object.defineProperty(e,r,o),o},n=this&&this.__param||function(t,e){return function(r,i){e(r,i,t)}};Object.defineProperty(e,"__esModule",{value:!0}),e.CommonTokenStream=void 0;const s=r(228),o=r(73),a=r(77);let E=class extends s.BufferedTokenStream{constructor(t,e=a.Token.DEFAULT_CHANNEL){super(t),this.channel=e}adjustSeekIndex(t){return this.nextTokenOnChannel(t,this.channel)}tryLB(t){if(this.p-t<0)return;let e=this.p,r=1;for(;r<=t&&e>0;)e=this.previousTokenOnChannel(e-1,this.channel),r++;return e<0?void 0:this.tokens[e]}tryLT(t){if(this.lazyInit(),0===t)throw new RangeError("0 is not a valid lookahead index");if(t<0)return this.tryLB(-t);let e=this.p,r=1;for(;r<t;)this.sync(e+1)&&(e=this.nextTokenOnChannel(e+1,this.channel)),r++;return this.tokens[e]}getNumberOfOnChannelTokens(){let t=0;this.fill();for(let e of this.tokens)if(e.channel===this.channel&&t++,e.type===a.Token.EOF)break;return t}};i([o.Override],E.prototype,"adjustSeekIndex",null),i([o.Override],E.prototype,"tryLB",null),i([o.Override],E.prototype,"tryLT",null),E=i([n(0,o.NotNull)],E),e.CommonTokenStream=E},function(t,e,r){"use strict";var i=this&&this.__decorate||function(t,e,r,i){var n,s=arguments.length,o=s<3?e:null===i?i=Object.getOwnPropertyDescriptor(e,r):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(t,e,r,i);else for(var a=t.length-1;a>=0;a--)(n=t[a])&&(o=(s<3?n(o):s>3?n(e,r,o):n(e,r))||o);return s>3&&o&&Object.defineProperty(e,r,o),o},n=this&&this.__param||function(t,e){return function(r,i){e(r,i,t)}};Object.defineProperty(e,"__esModule",{value:!0}),e.BufferedTokenStream=void 0;const s=r(91),o=r(161),a=r(76),E=r(159),h=r(73),l=r(77);let u=class{constructor(t){if(this.tokens=[],this.p=-1,this.fetchedEOF=!1,null==t)throw new Error("tokenSource cannot be null");this._tokenSource=t}get tokenSource(){return this._tokenSource}set tokenSource(t){this._tokenSource=t,this.tokens.length=0,this.p=-1,this.fetchedEOF=!1}get index(){return this.p}mark(){return 0}release(t){}seek(t){this.lazyInit(),this.p=this.adjustSeekIndex(t)}get size(){return this.tokens.length}consume(){let t;if(t=this.p>=0&&(this.fetchedEOF?this.p<this.tokens.length-1:this.p<this.tokens.length),!t&&this.LA(1)===l.Token.EOF)throw new Error("cannot consume EOF");this.sync(this.p+1)&&(this.p=this.adjustSeekIndex(this.p+1))}sync(t){s(t>=0);let e=t-this.tokens.length+1;if(e>0){return this.fetch(e)>=e}return!0}fetch(t){if(this.fetchedEOF)return 0;for(let e=0;e<t;e++){let t=this.tokenSource.nextToken();if(this.isWritableToken(t)&&(t.tokenIndex=this.tokens.length),this.tokens.push(t),t.type===l.Token.EOF)return this.fetchedEOF=!0,e+1}return t}get(t){if(t<0||t>=this.tokens.length)throw new RangeError("token index "+t+" out of range 0.."+(this.tokens.length-1));return this.tokens[t]}getRange(t,e){if(t<0||e<0)return[];this.lazyInit();let r=new Array;e>=this.tokens.length&&(e=this.tokens.length-1);for(let i=t;i<=e;i++){let t=this.tokens[i];if(t.type===l.Token.EOF)break;r.push(t)}return r}LA(t){let e=this.LT(t);return e?e.type:l.Token.INVALID_TYPE}tryLB(t){if(!(this.p-t<0))return this.tokens[this.p-t]}LT(t){let e=this.tryLT(t);if(void 0===e)throw new RangeError("requested lookback index out of range");return e}tryLT(t){if(this.lazyInit(),0===t)throw new RangeError("0 is not a valid lookahead index");if(t<0)return this.tryLB(-t);let e=this.p+t-1;return this.sync(e),e>=this.tokens.length?this.tokens[this.tokens.length-1]:this.tokens[e]}adjustSeekIndex(t){return t}lazyInit(){-1===this.p&&this.setup()}setup(){this.sync(0),this.p=this.adjustSeekIndex(0)}getTokens(t,e,r){if(this.lazyInit(),void 0===t)return s(void 0===e&&void 0===r),this.tokens;if(void 0===e&&(e=this.tokens.length-1),t<0||e>=this.tokens.length||e<0||t>=this.tokens.length)throw new RangeError("start "+t+" or stop "+e+" not in 0.."+(this.tokens.length-1));if(t>e)return[];if(void 0===r)return this.tokens.slice(t,e+1);"number"==typeof r&&(r=(new Set).add(r));let i=r,n=this.tokens.slice(t,e+1);return n=n.filter((t=>i.has(t.type))),n}nextTokenOnChannel(t,e){if(this.sync(t),t>=this.size)return this.size-1;let r=this.tokens[t];for(;r.channel!==e;){if(r.type===l.Token.EOF)return t;t++,this.sync(t),r=this.tokens[t]}return t}previousTokenOnChannel(t,e){if(this.sync(t),t>=this.size)return this.size-1;for(;t>=0;){let r=this.tokens[t];if(r.type===l.Token.EOF||r.channel===e)return t;t--}return t}getHiddenTokensToRight(t,e=-1){if(this.lazyInit(),t<0||t>=this.tokens.length)throw new RangeError(t+" not in 0.."+(this.tokens.length-1));let r,i=this.nextTokenOnChannel(t+1,E.Lexer.DEFAULT_TOKEN_CHANNEL),n=t+1;return r=-1===i?this.size-1:i,this.filterForChannel(n,r,e)}getHiddenTokensToLeft(t,e=-1){if(this.lazyInit(),t<0||t>=this.tokens.length)throw new RangeError(t+" not in 0.."+(this.tokens.length-1));if(0===t)return[];let r=this.previousTokenOnChannel(t-1,E.Lexer.DEFAULT_TOKEN_CHANNEL);if(r===t-1)return[];let i=r+1,n=t-1;return this.filterForChannel(i,n,e)}filterForChannel(t,e,r){let i=new Array;for(let n=t;n<=e;n++){let t=this.tokens[n];-1===r?t.channel!==E.Lexer.DEFAULT_TOKEN_CHANNEL&&i.push(t):t.channel===r&&i.push(t)}return i}get sourceName(){return this.tokenSource.sourceName}getText(t){void 0===t?t=a.Interval.of(0,this.size-1):t instanceof a.Interval||(t=t.sourceInterval);let e=t.a,r=t.b;if(e<0||r<0)return"";this.fill(),r>=this.tokens.length&&(r=this.tokens.length-1);let i="";for(let t=e;t<=r;t++){let e=this.tokens[t];if(e.type===l.Token.EOF)break;i+=e.text}return i.toString()}getTextFromRange(t,e){return this.isToken(t)&&this.isToken(e)?this.getText(a.Interval.of(t.tokenIndex,e.tokenIndex)):""}fill(){this.lazyInit();for(;;){if(this.fetch(1e3)<1e3)return}}isWritableToken(t){return t instanceof o.CommonToken}isToken(t){return t instanceof o.CommonToken}};i([h.NotNull],u.prototype,"_tokenSource",void 0),i([h.Override],u.prototype,"tokenSource",null),i([h.Override],u.prototype,"index",null),i([h.Override],u.prototype,"mark",null),i([h.Override],u.prototype,"release",null),i([h.Override],u.prototype,"seek",null),i([h.Override],u.prototype,"size",null),i([h.Override],u.prototype,"consume",null),i([h.Override],u.prototype,"get",null),i([h.Override],u.prototype,"LA",null),i([h.NotNull,h.Override],u.prototype,"LT",null),i([h.Override],u.prototype,"sourceName",null),i([h.NotNull,h.Override],u.prototype,"getText",null),i([h.NotNull,h.Override],u.prototype,"getTextFromRange",null),u=i([n(0,h.NotNull)],u),e.BufferedTokenStream=u},function(t,e,r){"use strict";var i=this&&this.__decorate||function(t,e,r,i){var n,s=arguments.length,o=s<3?e:null===i?i=Object.getOwnPropertyDescriptor(e,r):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(t,e,r,i);else for(var a=t.length-1;a>=0;a--)(n=t[a])&&(o=(s<3?n(o):s>3?n(e,r,o):n(e,r))||o);return s>3&&o&&Object.defineProperty(e,r,o),o},n=this&&this.__param||function(t,e){return function(r,i){e(r,i,t)}};Object.defineProperty(e,"__esModule",{value:!0}),e.ListTokenSource=void 0;const s=r(160),o=r(73),a=r(77);let E=class{constructor(t,e){if(this.i=0,this._factory=s.CommonTokenFactory.DEFAULT,null==t)throw new Error("tokens cannot be null");this.tokens=t,this._sourceName=e}get charPositionInLine(){if(this.i<this.tokens.length)return this.tokens[this.i].charPositionInLine;if(null!=this.eofToken)return this.eofToken.charPositionInLine;if(this.tokens.length>0){let t=this.tokens[this.tokens.length-1],e=t.text;if(null!=e){let t=e.lastIndexOf("\n");if(t>=0)return e.length-t-1}return t.charPositionInLine+t.stopIndex-t.startIndex+1}return 0}nextToken(){if(this.i>=this.tokens.length){if(null==this.eofToken){let t=-1;if(this.tokens.length>0){let e=this.tokens[this.tokens.length-1].stopIndex;-1!==e&&(t=e+1)}let e=Math.max(-1,t-1);this.eofToken=this._factory.create({source:this,stream:this.inputStream},a.Token.EOF,"EOF",a.Token.DEFAULT_CHANNEL,t,e,this.line,this.charPositionInLine)}return this.eofToken}let t=this.tokens[this.i];return this.i===this.tokens.length-1&&t.type===a.Token.EOF&&(this.eofToken=t),this.i++,t}get line(){if(this.i<this.tokens.length)return this.tokens[this.i].line;if(null!=this.eofToken)return this.eofToken.line;if(this.tokens.length>0){let t=this.tokens[this.tokens.length-1],e=t.line,r=t.text;if(null!=r)for(let t=0;t<r.length;t++)"\n"===r.charAt(t)&&e++;return e}return 1}get inputStream(){return this.i<this.tokens.length?this.tokens[this.i].inputStream:null!=this.eofToken?this.eofToken.inputStream:this.tokens.length>0?this.tokens[this.tokens.length-1].inputStream:void 0}get sourceName(){if(this._sourceName)return this._sourceName;let t=this.inputStream;return null!=t?t.sourceName:"List"}set tokenFactory(t){this._factory=t}get tokenFactory(){return this._factory}};i([o.Override],E.prototype,"charPositionInLine",null),i([o.Override],E.prototype,"nextToken",null),i([o.Override],E.prototype,"line",null),i([o.Override],E.prototype,"inputStream",null),i([o.Override],E.prototype,"sourceName",null),i([o.Override,o.NotNull,n(0,o.NotNull)],E.prototype,"tokenFactory",null),E=i([n(0,o.NotNull)],E),e.ListTokenSource=E},(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.MultiMap=void 0;class r extends Map{constructor(){super()}map(t,e){let r=super.get(t);r||(r=[],super.set(t,r)),r.push(e)}getPairs(){let t=[];return this.forEach(((e,r)=>{e.forEach((e=>{t.push([r,e])}))})),t}}e.MultiMap=r},function(t,e,r){"use strict";var i=this&&this.__decorate||function(t,e,r,i){var n,s=arguments.length,o=s<3?e:null===i?i=Object.getOwnPropertyDescriptor(e,r):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(t,e,r,i);else for(var a=t.length-1;a>=0;a--)(n=t[a])&&(o=(s<3?n(o):s>3?n(e,r,o):n(e,r))||o);return s>3&&o&&Object.defineProperty(e,r,o),o},n=this&&this.__param||function(t,e){return function(r,i){e(r,i,t)}};Object.defineProperty(e,"__esModule",{value:!0}),e.ParserInterpreter=void 0;const s=r(140),o=r(156),a=r(146),E=r(216),h=r(217),l=r(232),u=r(197),c=r(73),T=r(73),R=r(180),p=r(198),S=r(168),A=r(155),d=r(77);let N=class t extends R.Parser{constructor(e,r,i,n,s){if(super(e instanceof t?e.inputStream:s),this._parentContextStack=[],this.overrideDecision=-1,this.overrideDecisionInputIndex=-1,this.overrideDecisionAlt=-1,this.overrideDecisionReached=!1,this._overrideDecisionRoot=void 0,e instanceof t){let t=e;this._grammarFileName=t._grammarFileName,this._atn=t._atn,this.pushRecursionContextStates=t.pushRecursionContextStates,this._ruleNames=t._ruleNames,this._vocabulary=t._vocabulary,this.interpreter=new p.ParserATNSimulator(this._atn,this)}else{this._grammarFileName=e,this._atn=n,this._ruleNames=i.slice(0),this._vocabulary=r,this.pushRecursionContextStates=new a.BitSet(n.states.length);for(let t of n.states)t instanceof A.StarLoopEntryState&&t.precedenceRuleDecision&&this.pushRecursionContextStates.set(t.stateNumber);this.interpreter=new p.ParserATNSimulator(n,this)}}reset(t){void 0===t?super.reset():super.reset(t),this.overrideDecisionReached=!1,this._overrideDecisionRoot=void 0}get atn(){return this._atn}get vocabulary(){return this._vocabulary}get ruleNames(){return this._ruleNames}get grammarFileName(){return this._grammarFileName}parse(t){let e=this._atn.ruleToStartState[t];for(this._rootContext=this.createInterpreterRuleContext(void 0,s.ATNState.INVALID_STATE_NUMBER,t),e.isPrecedenceRule?this.enterRecursionRule(this._rootContext,e.stateNumber,t,0):this.enterRule(this._rootContext,e.stateNumber,t);;){let t=this.atnState;if(t.stateType===o.ATNStateType.RULE_STOP){if(this._ctx.isEmpty){if(e.isPrecedenceRule){let t=this._ctx,e=this._parentContextStack.pop();return this.unrollRecursionContexts(e[0]),t}return this.exitRule(),this._rootContext}this.visitRuleStopState(t)}else try{this.visitState(t)}catch(e){if(!(e instanceof S.RecognitionException))throw e;this.state=this._atn.ruleToStopState[t.ruleIndex].stateNumber,this.context.exception=e,this.errorHandler.reportError(this,e),this.recover(e)}}}enterRecursionRule(t,e,r,i){this._parentContextStack.push([this._ctx,t.invokingState]),super.enterRecursionRule(t,e,r,i)}get atnState(){return this._atn.states[this.state]}visitState(t){let e=1;t.numberOfTransitions>1&&(e=this.visitDecisionState(t));let r=t.transition(e-1);switch(r.serializationType){case 1:if(this.pushRecursionContextStates.get(t.stateNumber)&&!(r.target instanceof u.LoopEndState)){let e=this._parentContextStack[this._parentContextStack.length-1],r=this.createInterpreterRuleContext(e[0],e[1],this._ctx.ruleIndex);this.pushNewRecursionContext(r,this._atn.ruleToStartState[t.ruleIndex].stateNumber,this._ctx.ruleIndex)}break;case 5:this.match(r._label);break;case 2:case 7:case 8:r.matches(this._input.LA(1),d.Token.MIN_USER_TOKEN_TYPE,65535)||this.recoverInline(),this.matchWildcard();break;case 9:this.matchWildcard();break;case 3:let e=r.target,i=e.ruleIndex,n=this.createInterpreterRuleContext(this._ctx,t.stateNumber,i);e.isPrecedenceRule?this.enterRecursionRule(n,e.stateNumber,i,r.precedence):this.enterRule(n,r.target.stateNumber,i);break;case 4:let s=r;if(!this.sempred(this._ctx,s.ruleIndex,s.predIndex))throw new E.FailedPredicateException(this);break;case 6:let o=r;this.action(this._ctx,o.ruleIndex,o.actionIndex);break;case 10:if(!this.precpred(this._ctx,r.precedence)){let t=r.precedence;throw new E.FailedPredicateException(this,`precpred(_ctx, ${t})`)}break;default:throw new Error("UnsupportedOperationException: Unrecognized ATN transition type.")}this.state=r.target.stateNumber}visitDecisionState(t){let e;this.errorHandler.sync(this);let r=t.decision;return r!==this.overrideDecision||this._input.index!==this.overrideDecisionInputIndex||this.overrideDecisionReached?e=this.interpreter.adaptivePredict(this._input,r,this._ctx):(e=this.overrideDecisionAlt,this.overrideDecisionReached=!0),e}createInterpreterRuleContext(t,e,r){return new l.InterpreterRuleContext(r,t,e)}visitRuleStopState(t){if(this._atn.ruleToStartState[t.ruleIndex].isPrecedenceRule){let t=this._parentContextStack.pop();this.unrollRecursionContexts(t[0]),this.state=t[1]}else this.exitRule();let e=this._atn.states[this.state].transition(0);this.state=e.followState.stateNumber}addDecisionOverride(t,e,r){this.overrideDecision=t,this.overrideDecisionInputIndex=e,this.overrideDecisionAlt=r}get overrideDecisionRoot(){return this._overrideDecisionRoot}recover(t){let e=this._input.index;if(this.errorHandler.recover(this,t),this._input.index===e){let e=t.getOffendingToken();if(!e)throw new Error("Expected exception to have an offending token");let r=e.tokenSource,i={source:r,stream:void 0!==r?r.inputStream:void 0};if(t instanceof h.InputMismatchException){let r=t.expectedTokens;if(void 0===r)throw new Error("Expected the exception to provide expected tokens");let n=d.Token.INVALID_TYPE;r.isNil||(n=r.minElement);let s=this.tokenFactory.create(i,n,e.text,d.Token.DEFAULT_CHANNEL,-1,-1,e.line,e.charPositionInLine);this._ctx.addErrorNode(this.createErrorNode(this._ctx,s))}else{e.tokenSource;let t=this.tokenFactory.create(i,d.Token.INVALID_TYPE,e.text,d.Token.DEFAULT_CHANNEL,-1,-1,e.line,e.charPositionInLine);this._ctx.addErrorNode(this.createErrorNode(this._ctx,t))}}}recoverInline(){return this._errHandler.recoverInline(this)}get rootContext(){return this._rootContext}};i([c.NotNull],N.prototype,"_vocabulary",void 0),i([T.Override],N.prototype,"reset",null),i([T.Override],N.prototype,"atn",null),i([T.Override],N.prototype,"vocabulary",null),i([T.Override],N.prototype,"ruleNames",null),i([T.Override],N.prototype,"grammarFileName",null),i([T.Override],N.prototype,"enterRecursionRule",null),N=i([n(1,c.NotNull)],N),e.ParserInterpreter=N},function(t,e,r){"use strict";var i=this&&this.__decorate||function(t,e,r,i){var n,s=arguments.length,o=s<3?e:null===i?i=Object.getOwnPropertyDescriptor(e,r):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(t,e,r,i);else for(var a=t.length-1;a>=0;a--)(n=t[a])&&(o=(s<3?n(o):s>3?n(e,r,o):n(e,r))||o);return s>3&&o&&Object.defineProperty(e,r,o),o};Object.defineProperty(e,"__esModule",{value:!0}),e.InterpreterRuleContext=void 0;const n=r(73),s=r(201);class o extends s.ParserRuleContext{constructor(t,e,r){void 0!==r?super(e,r):super(),this._ruleIndex=t}get ruleIndex(){return this._ruleIndex}}i([n.Override],o.prototype,"ruleIndex",null),e.InterpreterRuleContext=o},function(t,e,r){"use strict";var i=this&&this.__decorate||function(t,e,r,i){var n,s=arguments.length,o=s<3?e:null===i?i=Object.getOwnPropertyDescriptor(e,r):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(t,e,r,i);else for(var a=t.length-1;a>=0;a--)(n=t[a])&&(o=(s<3?n(o):s>3?n(e,r,o):n(e,r))||o);return s>3&&o&&Object.defineProperty(e,r,o),o},n=this&&this.__param||function(t,e){return function(r,i){e(r,i,t)}};Object.defineProperty(e,"__esModule",{value:!0}),e.ParseTreeMatch=void 0;const s=r(73);let o=class{constructor(t,e,r,i){if(!t)throw new Error("tree cannot be null");if(!e)throw new Error("pattern cannot be null");if(!r)throw new Error("labels cannot be null");this._tree=t,this._pattern=e,this._labels=r,this._mismatchedNode=i}get(t){let e=this._labels.get(t);if(e&&0!==e.length)return e[e.length-1]}getAll(t){const e=this._labels.get(t);return e||[]}get labels(){return this._labels}get mismatchedNode(){return this._mismatchedNode}get succeeded(){return!this._mismatchedNode}get pattern(){return this._pattern}get tree(){return this._tree}toString(){return`Match ${this.succeeded?"succeeded":"failed"}; found ${this.labels.size} labels`}};i([s.NotNull,n(0,s.NotNull)],o.prototype,"getAll",null),i([s.NotNull],o.prototype,"labels",null),i([s.NotNull],o.prototype,"pattern",null),i([s.NotNull],o.prototype,"tree",null),i([s.Override],o.prototype,"toString",null),o=i([n(0,s.NotNull),n(1,s.NotNull),n(2,s.NotNull)],o),e.ParseTreeMatch=o},function(t,e,r){"use strict";var i=this&&this.__decorate||function(t,e,r,i){var n,s=arguments.length,o=s<3?e:null===i?i=Object.getOwnPropertyDescriptor(e,r):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(t,e,r,i);else for(var a=t.length-1;a>=0;a--)(n=t[a])&&(o=(s<3?n(o):s>3?n(e,r,o):n(e,r))||o);return s>3&&o&&Object.defineProperty(e,r,o),o},n=this&&this.__param||function(t,e){return function(r,i){e(r,i,t)}};Object.defineProperty(e,"__esModule",{value:!0}),e.ParseTreePattern=void 0;const s=r(73),o=r(235);let a=class{constructor(t,e,r,i){this._matcher=t,this._patternRuleIndex=r,this._pattern=e,this._patternTree=i}match(t){return this._matcher.match(t,this)}matches(t){return this._matcher.match(t,this).succeeded}findAll(t,e){let r=o.XPath.findAll(t,e,this._matcher.parser),i=[];for(let t of r){let e=this.match(t);e.succeeded&&i.push(e)}return i}get matcher(){return this._matcher}get pattern(){return this._pattern}get patternRuleIndex(){return this._patternRuleIndex}get patternTree(){return this._patternTree}};i([s.NotNull],a.prototype,"_pattern",void 0),i([s.NotNull],a.prototype,"_patternTree",void 0),i([s.NotNull],a.prototype,"_matcher",void 0),i([s.NotNull,n(0,s.NotNull)],a.prototype,"match",null),i([n(0,s.NotNull)],a.prototype,"matches",null),i([s.NotNull,n(0,s.NotNull),n(1,s.NotNull)],a.prototype,"findAll",null),i([s.NotNull],a.prototype,"matcher",null),i([s.NotNull],a.prototype,"pattern",null),i([s.NotNull],a.prototype,"patternTree",null),a=i([n(0,s.NotNull),n(1,s.NotNull),n(3,s.NotNull)],a),e.ParseTreePattern=a},(t,e,r)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.XPath=void 0;const i=r(223),n=r(227),s=r(167),o=r(201),a=r(77),E=r(236),h=r(237),l=r(238),u=r(240),c=r(241),T=r(242),R=r(243),p=r(244);class S{constructor(t,e){this.parser=t,this.path=e,this.elements=this.split(e)}split(t){let e=new E.XPathLexer(i.CharStreams.fromString(t));e.recover=t=>{throw t},e.removeErrorListeners(),e.addErrorListener(new h.XPathLexerErrorListener);let r=new n.CommonTokenStream(e);try{r.fill()}catch(r){if(r instanceof s.LexerNoViableAltException){let i="Invalid tokens or characters at index "+e.charPositionInLine+" in path '"+t+"' -- "+r.message;throw new RangeError(i)}throw r}let o=r.getTokens(),l=[],u=o.length,c=0;t:for(;c<u;){let t,e=o[c];switch(e.type){case E.XPathLexer.ROOT:case E.XPathLexer.ANYWHERE:let r=e.type===E.XPathLexer.ANYWHERE;c++,t=o[c];let i=t.type===E.XPathLexer.BANG;i&&(c++,t=o[c]);let n=this.getXPathElement(t,r);n.invert=i,l.push(n),c++;break;case E.XPathLexer.TOKEN_REF:case E.XPathLexer.RULE_REF:case E.XPathLexer.WILDCARD:l.push(this.getXPathElement(e,!1)),c++;break;case a.Token.EOF:break t;default:throw new Error("Unknowth path element "+e)}}return l}getXPathElement(t,e){if(t.type===a.Token.EOF)throw new Error("Missing path element at end of path");let r=t.text;if(null==r)throw new Error("Expected wordToken to have text content.");let i=this.parser.getTokenType(r),n=this.parser.getRuleIndex(r);switch(t.type){case E.XPathLexer.WILDCARD:return e?new R.XPathWildcardAnywhereElement:new p.XPathWildcardElement;case E.XPathLexer.TOKEN_REF:case E.XPathLexer.STRING:if(i===a.Token.INVALID_TYPE)throw new Error(r+" at index "+t.startIndex+" isn't a valid token name");return e?new c.XPathTokenAnywhereElement(r,i):new T.XPathTokenElement(r,i);default:if(-1===n)throw new Error(r+" at index "+t.startIndex+" isn't a valid rule name");return e?new l.XPathRuleAnywhereElement(r,n):new u.XPathRuleElement(r,n)}}static findAll(t,e,r){return new S(r,e).evaluate(t)}evaluate(t){let e=new o.ParserRuleContext;e.addChild(t);let r=new Set([e]),i=0;for(;i<this.elements.length;){let t=new Set;for(let e of r)if(e.childCount>0){this.elements[i].evaluate(e).forEach(t.add,t)}i++,r=t}return r}}e.XPath=S,S.WILDCARD="*",S.NOT="!"},(t,e,r)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.XPathLexer=void 0;const i=r(182),n=r(159),s=r(163),o=r(153),a=r(145);class E extends n.Lexer{constructor(t){super(t),this._interp=new s.LexerATNSimulator(E._ATN,this)}get vocabulary(){return E.VOCABULARY}get grammarFileName(){return"XPathLexer.g4"}get ruleNames(){return E.ruleNames}get serializedATN(){return E._serializedATN}get channelNames(){return E.channelNames}get modeNames(){return E.modeNames}action(t,e,r){if(4===e)this.ID_action(t,r)}ID_action(t,e){if(0===e){let t=this.text;t.charAt(0)===t.charAt(0).toUpperCase()?this.type=E.TOKEN_REF:this.type=E.RULE_REF}}static get _ATN(){return E.__ATN||(E.__ATN=(new i.ATNDeserializer).deserialize(a.toCharArray(E._serializedATN))),E.__ATN}}e.XPathLexer=E,E.TOKEN_REF=1,E.RULE_REF=2,E.ANYWHERE=3,E.ROOT=4,E.WILDCARD=5,E.BANG=6,E.ID=7,E.STRING=8,E.channelNames=["DEFAULT_TOKEN_CHANNEL","HIDDEN"],E.modeNames=["DEFAULT_MODE"],E.ruleNames=["ANYWHERE","ROOT","WILDCARD","BANG","ID","NameChar","NameStartChar","STRING"],E._LITERAL_NAMES=[void 0,void 0,void 0,"'//'","'/'","'*'","'!'"],E._SYMBOLIC_NAMES=[void 0,"TOKEN_REF","RULE_REF","ANYWHERE","ROOT","WILDCARD","BANG","ID","STRING"],E.VOCABULARY=new o.VocabularyImpl(E._LITERAL_NAMES,E._SYMBOLIC_NAMES,[]),E._serializedATNSegments=2,E._serializedATNSegment0='줝쪺֍꾺体؇쉁\n2\b\t\t\t\t\t\t\b\t\b\t\t\t\n\f"\v\b\b\t\t\t,\n\t\f\t\t/\v\t\t\t-\n\t\b\v\t\r\nʶ\n2;C\\aac|¡¬¬¯¯··¼¼ÂØÚøú˃ˈ˓ˢ˦ˮˮ˰˰̂ͶͼͿΈΈΊΌΎΎΐΣΥϷϹ҃҅҉ҌԱԳ՛՛գ։ֿׁׁ֓׃ׄ׆ׇגײ״؇ؒ؞؞آ٫ٰە۪ۗ۟ۡ۬۾܁܁ܑݏ߂߷ࠂࡂࢢࢶࢸࢿࣖ॥२ॱॳঅইকপবলসা্য়ৡ২৳ਃਅਇਕਪਬਲਵਸਾਾੀ੍ਜ਼ਫ਼੨ઃઅઇએઑઓકપબલવષાેૉો્ૢ૨૱ૻૻଃଅଇକପବଲଵଷା୍ୟୡ୨ୱ୳୳அஇஐஒஔஜஞஞபரீைொௌ௨௱ంఅఇఎఐఒఔపబిెైొౌౘౚౢ౨ಂಅಇಎಐಒಔಪಬವಷಾೆೈೊೌೠೠೢ೨ೱೳഃഅഇഎഐഒഔ഼ിെൈൊൌൖ൙ൡ൨൱ർඁඅඇගඳඵලෂෑූෘෘේ෨෴ฃโ๐๒๛ຄຆຆຉຊຌຌຏຏຖນປມຣລວວຩຩຬອຯົຽໂໆ່່໊໒ໞ༂༂༚༛༢༫༹༹༷༷༻༻ཀཉཋཱི྆ྈྙྛ྾࿈࿈ဂ။ၒ႟ႢჇგჼჾቊቌቒቘቚቚቜቢኊኌኒኲኴኺዀዂዂዄዊዘዚጒጔጚ፟፡ᎂ᎑Ꭲᏺᐃ᙮ᙱᚁᚃ᚜ᚢ᛬ᛰᜂᜎᜐᜢ᜶ᝂᝢᝮᝰᝲគ៕៙៙២᠍᠐᠒ᠢᢂᢲᤂᤠᤢᤲ᥈ᥲᦂᦲ᧒ᨂᨢ᩠ᩢ᪁᪒᪩᪩ᪿ᪲ᬂ᭒᭛᭭᭵ᮂᰂ᱂ᱏ᱿ᲂ᳔᳖᳒᳸ᳺᴂ᷽᷷ἚἢὊὒὙὛὛὝὝὟὟὡᾂᾶᾸι῀῀ῄῆῈ῎ῒῘ῝ῢ΅ῴῶῸ῾‑‰⁁⁂⁖⁖ⁱ₁₁ₒ⃒⃞⃣⃣⃧℄℄℉℉ℌℕ℗℗ℛ℟ΩΩℨℨKKℬℯℱ℻ℾ⅁ⅇ⅋⅐⅐Ⅲ↊ⰂⰰⰲⱠⱢ⳦Ⳮⴂⴧⴲⶁⶢⶨⶪⶰⶲⶸⶺⷀⷂⷈⷊⷐⷒⷘⷚⷠⷢ⸁⸱⸱〇〉〣〱〳〷〺〾ぃ゛゜ゟァィーヾㄇㄯㄳ㆐ㆢㆼㇲ㈁㐂䶷丂鿗ꀂꓒ꓿ꔂ꘎ꘒꙂ꙱ꙶꙿꚁ꛳ꜙ꜡Ꜥ꞊ꞍꞰꞲꞹꟹ꠩ꡂ꡵ꢂ꣒꣢꣹ꣽꣽꣿꣿ꤂꤯ꤲꥢꦂ꧂꧑ꧢꨀꨂꩂ꩒ꩢ꩸ꩼꫝ꫟ꫢ꫱ꫴꬃꬋꬓꬢꬨꬪꬰꬲꭜꭞꭧꭲ꯬꯲갂ힲퟍ車全flﬕײַשׁשּׁטּךּמּנּנּףּצּרּ﮳ﯕ﴿ﵒﶔﷲ﷽︂︑︢︱︵︶﹏﹑ﹲﹶﹸ!!2;C\aac|ィᅣᅩᅯᅵ�\r(*<>?AOR_üłŶǿǿʂʞʢ˒ˢˢ̡̲̂͌͒ͼΟυϊϑϓϗЂҟҢҫҲӕӚӽԂԩԲեܸ݂ݗݢݩࠂࠇࠊࠊࠌ࠷࠹࠺࠾࠾ࡁࡗࡢࡸࢂࢠࣶࣴࣷंगढऻংহীুਂਅਇਈਕਗਙਛਵ਼ੁੁંઞૂૉો૨ଂଷୂୗୢ୴ஂஓంొಂೂဂ၈ၨၱႁႼႿႿგცჲ჻ᄂᄶᄸᅁᅒᅵᅸᅸᆂᇆᇌᇎᇒᇜᇞᇞሂሓሕሹቀቀኂኈኊኊኌኑኟኡኪኲዬዲዻጂጅጇጎጒጕጪጬጲጴጵጷጻጾፆፉፊፍፏፒፒፙፙ፟፥፨፮፲፶ᐂᑌᑒᑛᒂᓇᓉᓉᓒᓛᖂᖷᖺᗂᗚᗟᘂᙂᙆᙆᙒᙛᚂᚹᛂᛋᜂᜟᜭᜲᢢᣫᤁᤁ᫂ᰂᰊᰌ᱂᱒ᱛᱴᲑᲔᲩᲫᲸ ⎛␂⑰⒂╅。㐰䐂䙈栂樺橂橠橢橫櫒櫯櫲櫶欂欸歂歅歒歛步歹歿殑漂潆潒澀澑澡濢濢瀂蟮蠂諴뀂뀃밂뱬뱲뱾벂벊벒벛벟베벢벥텧텫텯톄톇톍톬톯퉄퉆퐂푖푘풞풠풡풤풤풧풨풫풮풰풻풽풽풿퓅퓇픇픉플픏픖픘픞픠픻픽핀핂핆핈핈핌핒핔횧횪훂후훜훞훼훾휖휘휶휸흐흒흰흲힊힌ퟄퟆퟍퟐ\ud801\uda02\uda38\uda3d\uda6e\uda77\uda77\uda86\uda86\uda9d\udaa1\udaa3\udab1ꛘ꜂뜶띂렟렢캣﨟"ĂDZɀC\\c|¬¬··¼¼ÂØÚøú˃ˈ˓ˢ˦ˮˮ˰˰ͲͶͼͿΈΈΊΌΎΎΐΣΥϷϹ҃ҌԱԳ՛՛գ։גײ״آٌٰٱٳەۗۗۧۨ۰۱ۼ۾܁܁ܒܒܔܱݏާߌ߬߶߷ࠂࠗࠜࠜࠦࠦࠪࠪࡂ࡚ࢢࢶࢸࢿआऻिि॒॒ग़ॣॳংইকপবলসিিয়ৡৣ৲৳ਇਕਪਬਲਵਸਜ਼ਫ਼ੴ੶ઇએઑઓકપબલવષિિૢૣૻૻଇକପବଲଵଷିିୟୡୣ୳୳அஅஇஐஒஔஜஞஞபரఇఎఐఒఔపబిిౚౢౣಂಂಇಎಐಒಔಪಬವಷಿಿೠೠೢೣೳഇഎഐഒഔ഼ിിൖ൘ൡൣർඁඇගඳඵලෂฃาิีโ่ຄຆຆຉຊຌຌຏຏຖນປມຣລວວຩຩຬອຯາິີໂໆ່່ໞ༂༂གཉཋྊྎဂာ၁၁ၒၗၜၟၣၣၧၨၰၲၷႃ႐႐ႢჇგჼჾቊቌቒቘቚቚቜቢኊኌኒኲኴኺዀዂዂዄዊዘዚጒጔጚᎂ᎑Ꭲᏺᐃ᙮ᙱᚁᚃ᚜ᚢ᛬ᛰᜂᜎᜐᜓᜢᜳᝂᝓᝢᝮᝰᝲគ឵៙៙ᠢᢂᢆᢉᢪᢲᤂᤠᥒᥲᦂᦲᨂᨘᨢᩖ᪩᪩ᬈᭇᮅᮢ᮰᮱ᮼᯧᰂᰥᱏ᱑ᱜ᱿ᲂᳫᳮᳰᳳ᳷᳸ᴂ᷁ḂἚἢὊὒὙὛὛὝὝὟὟὡᾂᾶᾸι῀῀ῄῆῈ῎ῒῘ῝ῢ΅ῴῶῸ῾₁₁ₒ℄℄℉℉ℌℕ℗℗ℛ℟ΩΩℨℨKKℬℯℱ℻ℾ⅁ⅇ⅋⅐⅐Ⅲ↊ⰂⰰⰲⱠⱢ⳦Ⳮ⳰ⴂⴧⴲⶂⶢⶨⶪⶰⶲⶸⶺⷀⷂⷈⷊⷐⷒⷘⷚⷠ⸱⸱〇〉〣〫〳〷〺〾ぃゟァィーヾㄇㄯㄳ㆐ㆢㆼㇲ㈁㐂䶷丂鿗ꀂꓒ꓿ꔂ꘎ꘒ꘡Ꙃ꙰ꚁꚟꚢ꛱ꜙ꜡Ꜥ꞊ꞍꞰꞲꞹꟹꠃꠅꠇꠉꠌꠎꠤꡂ꡵ꢄꢵꣴ꣹ꣽꣽꣿꣿꤌꤧꤲꥈꥢꦆꦴ꧑꧑ꧢꧦꧨ꧱ꧼꨀꨂꨪꩂꩄꩆꩍꩢ꩸ꩼꩼꪀꪱꪳꪳꪷꪸꪻ꪿ꫂꫂꫝ꫟ꫢꫬꫴ꫶ꬃꬋꬓꬢꬨꬪꬰꬲꭜꭞꭧꭲꯤ갂ힲퟍ車全flﬕײַײַﬡשׁשּׁטּךּמּנּנּףּצּרּ﮳ﯕ﴿ﵒﶔﷲ﷽ﹲﹶﹸC\c|ィᅣᅩᅯᅵ\r(*<>?AOR_üłŶʂʞʢ˒̡̲̂͌͒ͷΟυϊϑϓϗЂҟҲӕӚӽԂԩԲեܸ݂ݗݢݩࠂࠇࠊࠊࠌ࠷࠹࠺࠾࠾ࡁࡗࡢࡸࢂࢠࣶࣴࣷंगढऻংহীুਂਂਕਗਙਛਵંઞૂૉો૦ଂଷୂୗୢ୴ஂஓంొಂೂစ္ႅႱგცᄅᄨᅒᅴᅸᅸᆅᆴᇃᇆᇜᇜᇞᇞሂሓሕርኂኈኊኊኌኑኟኡኪኲዠጇጎጒጕጪጬጲጴጵጷጻጿጿፒፒ፟፣ᐂᐶᑉᑌᒂᒱᓆᓇᓉᓉᖂᖰᗚᗝᘂᘱᙆᙆᚂᚬᜂᢢᣡᤁᤁ᫂ᰂᰊᰌᰰ᱂᱂ᱴᲑ ⎛␂⑰⒂╅。㐰䐂䙈栂樺橂橠櫒櫯欂欱歂歅步歹歿殑漂潆潒潒澕澡濢濢瀂蟮蠂諴뀂뀃밂뱬뱲뱾벂벊벒벛퐂푖푘풞풠풡풤풤풧풨풫풮풰풻풽풽풿퓅퓇픇픉플픏픖픘픞픠픻픽핀핂핆핈핈',E._serializedATNSegment1="핌핒핔횧횪훂후훜훞훼훾휖휘휶휸흐흒흰흲힊힌ퟄퟆퟍꛘ꜂뜶띂렟렢캣﨟1\t\v\t\v\r%')111,\b#\n \b\r\" !!#\" #$\b$\f%&\t&'(\t()-)*,\v+*,/-.-+.0/-01)1 -",E._serializedATN=a.join([E._serializedATNSegment0,E._serializedATNSegment1],"")},function(t,e,r){"use strict";var i=this&&this.__decorate||function(t,e,r,i){var n,s=arguments.length,o=s<3?e:null===i?i=Object.getOwnPropertyDescriptor(e,r):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(t,e,r,i);else for(var a=t.length-1;a>=0;a--)(n=t[a])&&(o=(s<3?n(o):s>3?n(e,r,o):n(e,r))||o);return s>3&&o&&Object.defineProperty(e,r,o),o};Object.defineProperty(e,"__esModule",{value:!0}),e.XPathLexerErrorListener=void 0;const n=r(73);class s{syntaxError(t,e,r,i,n,s){}}i([n.Override],s.prototype,"syntaxError",null),e.XPathLexerErrorListener=s},function(t,e,r){"use strict";var i=this&&this.__decorate||function(t,e,r,i){var n,s=arguments.length,o=s<3?e:null===i?i=Object.getOwnPropertyDescriptor(e,r):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(t,e,r,i);else for(var a=t.length-1;a>=0;a--)(n=t[a])&&(o=(s<3?n(o):s>3?n(e,r,o):n(e,r))||o);return s>3&&o&&Object.defineProperty(e,r,o),o};Object.defineProperty(e,"__esModule",{value:!0}),e.XPathRuleAnywhereElement=void 0;const n=r(73),s=r(87),o=r(239);class a extends o.XPathElement{constructor(t,e){super(t),this.ruleIndex=e}evaluate(t){return s.Trees.findAllRuleNodes(t,this.ruleIndex)}}i([n.Override],a.prototype,"evaluate",null),e.XPathRuleAnywhereElement=a},function(t,e,r){"use strict";var i=this&&this.__decorate||function(t,e,r,i){var n,s=arguments.length,o=s<3?e:null===i?i=Object.getOwnPropertyDescriptor(e,r):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(t,e,r,i);else for(var a=t.length-1;a>=0;a--)(n=t[a])&&(o=(s<3?n(o):s>3?n(e,r,o):n(e,r))||o);return s>3&&o&&Object.defineProperty(e,r,o),o};Object.defineProperty(e,"__esModule",{value:!0}),e.XPathElement=void 0;const n=r(73);class s{constructor(t){this.nodeName=t,this.invert=!1}toString(){let t=this.invert?"!":"";return Object.constructor.name+"["+t+this.nodeName+"]"}}i([n.Override],s.prototype,"toString",null),e.XPathElement=s},function(t,e,r){"use strict";var i=this&&this.__decorate||function(t,e,r,i){var n,s=arguments.length,o=s<3?e:null===i?i=Object.getOwnPropertyDescriptor(e,r):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(t,e,r,i);else for(var a=t.length-1;a>=0;a--)(n=t[a])&&(o=(s<3?n(o):s>3?n(e,r,o):n(e,r))||o);return s>3&&o&&Object.defineProperty(e,r,o),o};Object.defineProperty(e,"__esModule",{value:!0}),e.XPathRuleElement=void 0;const n=r(201),s=r(73),o=r(87),a=r(239);class E extends a.XPathElement{constructor(t,e){super(t),this.ruleIndex=e}evaluate(t){let e=[];for(let r of o.Trees.getChildren(t))r instanceof n.ParserRuleContext&&(r.ruleIndex===this.ruleIndex&&!this.invert||r.ruleIndex!==this.ruleIndex&&this.invert)&&e.push(r);return e}}i([s.Override],E.prototype,"evaluate",null),e.XPathRuleElement=E},function(t,e,r){"use strict";var i=this&&this.__decorate||function(t,e,r,i){var n,s=arguments.length,o=s<3?e:null===i?i=Object.getOwnPropertyDescriptor(e,r):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(t,e,r,i);else for(var a=t.length-1;a>=0;a--)(n=t[a])&&(o=(s<3?n(o):s>3?n(e,r,o):n(e,r))||o);return s>3&&o&&Object.defineProperty(e,r,o),o};Object.defineProperty(e,"__esModule",{value:!0}),e.XPathTokenAnywhereElement=void 0;const n=r(73),s=r(87),o=r(239);class a extends o.XPathElement{constructor(t,e){super(t),this.tokenType=e}evaluate(t){return s.Trees.findAllTokenNodes(t,this.tokenType)}}i([n.Override],a.prototype,"evaluate",null),e.XPathTokenAnywhereElement=a},function(t,e,r){"use strict";var i=this&&this.__decorate||function(t,e,r,i){var n,s=arguments.length,o=s<3?e:null===i?i=Object.getOwnPropertyDescriptor(e,r):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(t,e,r,i);else for(var a=t.length-1;a>=0;a--)(n=t[a])&&(o=(s<3?n(o):s>3?n(e,r,o):n(e,r))||o);return s>3&&o&&Object.defineProperty(e,r,o),o};Object.defineProperty(e,"__esModule",{value:!0}),e.XPathTokenElement=void 0;const n=r(73),s=r(75),o=r(87),a=r(239);class E extends a.XPathElement{constructor(t,e){super(t),this.tokenType=e}evaluate(t){let e=[];for(let r of o.Trees.getChildren(t))r instanceof s.TerminalNode&&(r.symbol.type===this.tokenType&&!this.invert||r.symbol.type!==this.tokenType&&this.invert)&&e.push(r);return e}}i([n.Override],E.prototype,"evaluate",null),e.XPathTokenElement=E},function(t,e,r){"use strict";var i=this&&this.__decorate||function(t,e,r,i){var n,s=arguments.length,o=s<3?e:null===i?i=Object.getOwnPropertyDescriptor(e,r):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(t,e,r,i);else for(var a=t.length-1;a>=0;a--)(n=t[a])&&(o=(s<3?n(o):s>3?n(e,r,o):n(e,r))||o);return s>3&&o&&Object.defineProperty(e,r,o),o};Object.defineProperty(e,"__esModule",{value:!0}),e.XPathWildcardAnywhereElement=void 0;const n=r(73),s=r(87),o=r(235),a=r(239);class E extends a.XPathElement{constructor(){super(o.XPath.WILDCARD)}evaluate(t){return this.invert?[]:s.Trees.getDescendants(t)}}i([n.Override],E.prototype,"evaluate",null),e.XPathWildcardAnywhereElement=E},function(t,e,r){"use strict";var i=this&&this.__decorate||function(t,e,r,i){var n,s=arguments.length,o=s<3?e:null===i?i=Object.getOwnPropertyDescriptor(e,r):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(t,e,r,i);else for(var a=t.length-1;a>=0;a--)(n=t[a])&&(o=(s<3?n(o):s>3?n(e,r,o):n(e,r))||o);return s>3&&o&&Object.defineProperty(e,r,o),o};Object.defineProperty(e,"__esModule",{value:!0}),e.XPathWildcardElement=void 0;const n=r(73),s=r(87),o=r(235),a=r(239);class E extends a.XPathElement{constructor(){super(o.XPath.WILDCARD)}evaluate(t){let e=[];if(this.invert)return e;for(let r of s.Trees.getChildren(t))e.push(r);return e}}i([n.Override],E.prototype,"evaluate",null),e.XPathWildcardElement=E},function(t,e,r){"use strict";var i=this&&this.__decorate||function(t,e,r,i){var n,s=arguments.length,o=s<3?e:null===i?i=Object.getOwnPropertyDescriptor(e,r):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(t,e,r,i);else for(var a=t.length-1;a>=0;a--)(n=t[a])&&(o=(s<3?n(o):s>3?n(e,r,o):n(e,r))||o);return s>3&&o&&Object.defineProperty(e,r,o),o},n=this&&this.__param||function(t,e){return function(r,i){e(r,i,t)}};Object.defineProperty(e,"__esModule",{value:!0}),e.RuleTagToken=void 0;const s=r(73),o=r(77);let a=class{constructor(t,e,r){if(null==t||0===t.length)throw new Error("ruleName cannot be null or empty.");this._ruleName=t,this.bypassTokenType=e,this._label=r}get ruleName(){return this._ruleName}get label(){return this._label}get channel(){return o.Token.DEFAULT_CHANNEL}get text(){return null!=this._label?"<"+this._label+":"+this._ruleName+">":"<"+this._ruleName+">"}get type(){return this.bypassTokenType}get line(){return 0}get charPositionInLine(){return-1}get tokenIndex(){return-1}get startIndex(){return-1}get stopIndex(){return-1}get tokenSource(){}get inputStream(){}toString(){return this._ruleName+":"+this.bypassTokenType}};i([s.NotNull],a.prototype,"ruleName",null),i([s.Override],a.prototype,"channel",null),i([s.Override],a.prototype,"text",null),i([s.Override],a.prototype,"type",null),i([s.Override],a.prototype,"line",null),i([s.Override],a.prototype,"charPositionInLine",null),i([s.Override],a.prototype,"tokenIndex",null),i([s.Override],a.prototype,"startIndex",null),i([s.Override],a.prototype,"stopIndex",null),i([s.Override],a.prototype,"tokenSource",null),i([s.Override],a.prototype,"inputStream",null),i([s.Override],a.prototype,"toString",null),a=i([n(0,s.NotNull)],a),e.RuleTagToken=a},function(t,e,r){"use strict";var i=this&&this.__decorate||function(t,e,r,i){var n,s=arguments.length,o=s<3?e:null===i?i=Object.getOwnPropertyDescriptor(e,r):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(t,e,r,i);else for(var a=t.length-1;a>=0;a--)(n=t[a])&&(o=(s<3?n(o):s>3?n(e,r,o):n(e,r))||o);return s>3&&o&&Object.defineProperty(e,r,o),o};Object.defineProperty(e,"__esModule",{value:!0}),e.TagChunk=void 0;const n=r(247),s=r(73);class o extends n.Chunk{constructor(t,e){if(super(),null==t||0===t.length)throw new Error("tag cannot be null or empty");this._tag=t,this._label=e}get tag(){return this._tag}get label(){return this._label}toString(){return null!=this._label?this._label+":"+this._tag:this._tag}}i([s.NotNull],o.prototype,"tag",null),i([s.Override],o.prototype,"toString",null),e.TagChunk=o},(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.Chunk=void 0;e.Chunk=class{}},function(t,e,r){"use strict";var i=this&&this.__decorate||function(t,e,r,i){var n,s=arguments.length,o=s<3?e:null===i?i=Object.getOwnPropertyDescriptor(e,r):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(t,e,r,i);else for(var a=t.length-1;a>=0;a--)(n=t[a])&&(o=(s<3?n(o):s>3?n(e,r,o):n(e,r))||o);return s>3&&o&&Object.defineProperty(e,r,o),o},n=this&&this.__param||function(t,e){return function(r,i){e(r,i,t)}};Object.defineProperty(e,"__esModule",{value:!0}),e.TextChunk=void 0;const s=r(247),o=r(73);let a=class extends s.Chunk{constructor(t){if(super(),null==t)throw new Error("text cannot be null");this._text=t}get text(){return this._text}toString(){return"'"+this._text+"'"}};i([o.NotNull],a.prototype,"_text",void 0),i([o.NotNull],a.prototype,"text",null),i([o.Override],a.prototype,"toString",null),a=i([n(0,o.NotNull)],a),e.TextChunk=a},function(t,e,r){"use strict";var i=this&&this.__decorate||function(t,e,r,i){var n,s=arguments.length,o=s<3?e:null===i?i=Object.getOwnPropertyDescriptor(e,r):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(t,e,r,i);else for(var a=t.length-1;a>=0;a--)(n=t[a])&&(o=(s<3?n(o):s>3?n(e,r,o):n(e,r))||o);return s>3&&o&&Object.defineProperty(e,r,o),o},n=this&&this.__param||function(t,e){return function(r,i){e(r,i,t)}};Object.defineProperty(e,"__esModule",{value:!0}),e.TokenTagToken=void 0;const s=r(161),o=r(73);let a=class extends s.CommonToken{constructor(t,e,r){super(e),this._tokenName=t,this._label=r}get tokenName(){return this._tokenName}get label(){return this._label}get text(){return null!=this._label?"<"+this._label+":"+this._tokenName+">":"<"+this._tokenName+">"}toString(){return this._tokenName+":"+this.type}};i([o.NotNull],a.prototype,"_tokenName",void 0),i([o.NotNull],a.prototype,"tokenName",null),i([o.Override],a.prototype,"text",null),i([o.Override],a.prototype,"toString",null),a=i([n(0,o.NotNull)],a),e.TokenTagToken=a},function(t,e,r){"use strict";var i=r(94),n=this&&this.__decorate||function(t,e,r,i){var n,s=arguments.length,o=s<3?e:null===i?i=Object.getOwnPropertyDescriptor(e,r):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(t,e,r,i);else for(var a=t.length-1;a>=0;a--)(n=t[a])&&(o=(s<3?n(o):s>3?n(e,r,o):n(e,r))||o);return s>3&&o&&Object.defineProperty(e,r,o),o},s=this&&this.__param||function(t,e){return function(r,i){e(r,i,t)}};Object.defineProperty(e,"__esModule",{value:!0}),e.ProfilingATNSimulator=void 0;const o=r(251),a=r(88),E=r(148),h=r(253),l=r(254),u=r(255),c=r(73),T=r(256),R=r(198),p=r(257),S=r(144),A=r(204);class d extends R.ParserATNSimulator{constructor(t){super(t.interpreter.atn,t),this._startIndex=0,this._sllStopIndex=0,this._llStopIndex=0,this.currentDecision=0,this.conflictingAltResolvedBySLL=0,this.optimize_ll1=!1,this.reportAmbiguities=!0,this.numDecisions=this.atn.decisionToState.length,this.decisions=[];for(let t=0;t<this.numDecisions;t++)this.decisions.push(new l.DecisionInfo(t))}adaptivePredict(t,e,r,n){if(void 0!==n)return super.adaptivePredict(t,e,r,n);try{this._input=t,this._startIndex=t.index,this._sllStopIndex=this._startIndex-1,this._llStopIndex=-1,this.currentDecision=e,this.currentState=void 0,this.conflictingAltResolvedBySLL=a.ATN.INVALID_ALT_NUMBER;let n=i.hrtime(),s=super.adaptivePredict(t,e,r),o=i.hrtime(),E=1e9*(o[0]-n[0]);0===E?E=o[1]-n[1]:E+=1e9-n[1]+o[1],this.decisions[e].timeInPrediction+=E,this.decisions[e].invocations++;let h=this._sllStopIndex-this._startIndex+1;if(this.decisions[e].SLL_TotalLook+=h,this.decisions[e].SLL_MinLook=0===this.decisions[e].SLL_MinLook?h:Math.min(this.decisions[e].SLL_MinLook,h),h>this.decisions[e].SLL_MaxLook&&(this.decisions[e].SLL_MaxLook=h,this.decisions[e].SLL_MaxLookEvent=new T.LookaheadEventInfo(e,void 0,s,t,this._startIndex,this._sllStopIndex,!1)),this._llStopIndex>=0){let r=this._llStopIndex-this._startIndex+1;this.decisions[e].LL_TotalLook+=r,this.decisions[e].LL_MinLook=0===this.decisions[e].LL_MinLook?r:Math.min(this.decisions[e].LL_MinLook,r),r>this.decisions[e].LL_MaxLook&&(this.decisions[e].LL_MaxLook=r,this.decisions[e].LL_MaxLookEvent=new T.LookaheadEventInfo(e,void 0,s,t,this._startIndex,this._llStopIndex,!0))}return s}finally{this._input=void 0,this.currentDecision=-1}}getStartState(t,e,r,i){let n=super.getStartState(t,e,r,i);return this.currentState=n,n}computeStartState(t,e,r){let i=super.computeStartState(t,e,r);return this.currentState=i,i}computeReachSet(t,e,r,i){if(void 0===this._input)throw new Error("Invalid state");let n=super.computeReachSet(t,e,r,i);return null==n&&this.decisions[this.currentDecision].errors.push(new u.ErrorInfo(this.currentDecision,e,this._input,this._startIndex,this._input.index)),this.currentState=n,n}getExistingTargetState(t,e){if(void 0===this.currentState||void 0===this._input)throw new Error("Invalid state");this.currentState.useContext?this._llStopIndex=this._input.index:this._sllStopIndex=this._input.index;let r=super.getExistingTargetState(t,e);if(null!=r&&(this.currentState=new A.SimulatorState(this.currentState.outerContext,r,this.currentState.useContext,this.currentState.remainingOuterContext),this.currentState.useContext?this.decisions[this.currentDecision].LL_DFATransitions++:this.decisions[this.currentDecision].SLL_DFATransitions++,r===E.ATNSimulator.ERROR)){let e=new A.SimulatorState(this.currentState.outerContext,t,this.currentState.useContext,this.currentState.remainingOuterContext);this.decisions[this.currentDecision].errors.push(new u.ErrorInfo(this.currentDecision,e,this._input,this._startIndex,this._input.index))}return r}computeTargetState(t,e,r,i,n,s){let o=super.computeTargetState(t,e,r,i,n,s);return n?this.decisions[this.currentDecision].LL_ATNTransitions++:this.decisions[this.currentDecision].SLL_ATNTransitions++,o}evalSemanticContextImpl(t,e,r){if(void 0===this.currentState||void 0===this._input)throw new Error("Invalid state");let i=super.evalSemanticContextImpl(t,e,r);if(!(t instanceof S.SemanticContext.PrecedencePredicate)){let e=this._llStopIndex>=0?this._llStopIndex:this._sllStopIndex;this.decisions[this.currentDecision].predicateEvals.push(new p.PredicateEvalInfo(this.currentState,this.currentDecision,this._input,this._startIndex,e,t,i,r))}return i}reportContextSensitivity(t,e,r,i,n){if(void 0===this._input)throw new Error("Invalid state");e!==this.conflictingAltResolvedBySLL&&this.decisions[this.currentDecision].contextSensitivities.push(new h.ContextSensitivityInfo(this.currentDecision,r,this._input,i,n)),super.reportContextSensitivity(t,e,r,i,n)}reportAttemptingFullContext(t,e,r,i,n){this.conflictingAltResolvedBySLL=null!=e?e.nextSetBit(0):r.s0.configs.getRepresentedAlternatives().nextSetBit(0),this.decisions[this.currentDecision].LL_Fallback++,super.reportAttemptingFullContext(t,e,r,i,n)}reportAmbiguity(t,e,r,i,n,s,E){if(void 0===this.currentState||void 0===this._input)throw new Error("Invalid state");let l;l=null!=s?s.nextSetBit(0):E.getRepresentedAlternatives().nextSetBit(0),this.conflictingAltResolvedBySLL!==a.ATN.INVALID_ALT_NUMBER&&l!==this.conflictingAltResolvedBySLL&&this.decisions[this.currentDecision].contextSensitivities.push(new h.ContextSensitivityInfo(this.currentDecision,this.currentState,this._input,r,i)),this.decisions[this.currentDecision].ambiguities.push(new o.AmbiguityInfo(this.currentDecision,this.currentState,s,this._input,r,i)),super.reportAmbiguity(t,e,r,i,n,s,E)}getDecisionInfo(){return this.decisions}getCurrentState(){return this.currentState}}n([c.Override,s(0,c.NotNull)],d.prototype,"adaptivePredict",null),n([c.Override],d.prototype,"getStartState",null),n([c.Override],d.prototype,"computeStartState",null),n([c.Override],d.prototype,"computeReachSet",null),n([c.Override],d.prototype,"getExistingTargetState",null),n([c.Override],d.prototype,"computeTargetState",null),n([c.Override],d.prototype,"evalSemanticContextImpl",null),n([c.Override],d.prototype,"reportContextSensitivity",null),n([c.Override],d.prototype,"reportAttemptingFullContext",null),n([c.Override,s(0,c.NotNull),s(5,c.NotNull),s(6,c.NotNull)],d.prototype,"reportAmbiguity",null),e.ProfilingATNSimulator=d},function(t,e,r){"use strict";var i=this&&this.__decorate||function(t,e,r,i){var n,s=arguments.length,o=s<3?e:null===i?i=Object.getOwnPropertyDescriptor(e,r):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(t,e,r,i);else for(var a=t.length-1;a>=0;a--)(n=t[a])&&(o=(s<3?n(o):s>3?n(e,r,o):n(e,r))||o);return s>3&&o&&Object.defineProperty(e,r,o),o},n=this&&this.__param||function(t,e){return function(r,i){e(r,i,t)}};Object.defineProperty(e,"__esModule",{value:!0}),e.AmbiguityInfo=void 0;const s=r(252),o=r(73);let a=class extends s.DecisionEventInfo{constructor(t,e,r,i,n,s){super(t,e,i,n,s,e.useContext),this.ambigAlts=r}get ambiguousAlternatives(){return this.ambigAlts}};i([o.NotNull],a.prototype,"ambigAlts",void 0),i([o.NotNull],a.prototype,"ambiguousAlternatives",null),a=i([n(1,o.NotNull),n(2,o.NotNull),n(3,o.NotNull)],a),e.AmbiguityInfo=a},function(t,e,r){"use strict";var i=this&&this.__decorate||function(t,e,r,i){var n,s=arguments.length,o=s<3?e:null===i?i=Object.getOwnPropertyDescriptor(e,r):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(t,e,r,i);else for(var a=t.length-1;a>=0;a--)(n=t[a])&&(o=(s<3?n(o):s>3?n(e,r,o):n(e,r))||o);return s>3&&o&&Object.defineProperty(e,r,o),o},n=this&&this.__param||function(t,e){return function(r,i){e(r,i,t)}};Object.defineProperty(e,"__esModule",{value:!0}),e.DecisionEventInfo=void 0;const s=r(73);let o=class{constructor(t,e,r,i,n,s){this.decision=t,this.fullCtx=s,this.stopIndex=n,this.input=r,this.startIndex=i,this.state=e}};i([s.NotNull],o.prototype,"input",void 0),o=i([n(2,s.NotNull)],o),e.DecisionEventInfo=o},function(t,e,r){"use strict";var i=this&&this.__decorate||function(t,e,r,i){var n,s=arguments.length,o=s<3?e:null===i?i=Object.getOwnPropertyDescriptor(e,r):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(t,e,r,i);else for(var a=t.length-1;a>=0;a--)(n=t[a])&&(o=(s<3?n(o):s>3?n(e,r,o):n(e,r))||o);return s>3&&o&&Object.defineProperty(e,r,o),o},n=this&&this.__param||function(t,e){return function(r,i){e(r,i,t)}};Object.defineProperty(e,"__esModule",{value:!0}),e.ContextSensitivityInfo=void 0;const s=r(252),o=r(73);let a=class extends s.DecisionEventInfo{constructor(t,e,r,i,n){super(t,e,r,i,n,!0)}};a=i([n(1,o.NotNull),n(2,o.NotNull)],a),e.ContextSensitivityInfo=a},function(t,e,r){"use strict";var i=this&&this.__decorate||function(t,e,r,i){var n,s=arguments.length,o=s<3?e:null===i?i=Object.getOwnPropertyDescriptor(e,r):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(t,e,r,i);else for(var a=t.length-1;a>=0;a--)(n=t[a])&&(o=(s<3?n(o):s>3?n(e,r,o):n(e,r))||o);return s>3&&o&&Object.defineProperty(e,r,o),o};Object.defineProperty(e,"__esModule",{value:!0}),e.DecisionInfo=void 0;const n=r(73);class s{constructor(t){this.invocations=0,this.timeInPrediction=0,this.SLL_TotalLook=0,this.SLL_MinLook=0,this.SLL_MaxLook=0,this.LL_TotalLook=0,this.LL_MinLook=0,this.LL_MaxLook=0,this.contextSensitivities=[],this.errors=[],this.ambiguities=[],this.predicateEvals=[],this.SLL_ATNTransitions=0,this.SLL_DFATransitions=0,this.LL_Fallback=0,this.LL_ATNTransitions=0,this.LL_DFATransitions=0,this.decision=t}toString(){return"{decision="+this.decision+", contextSensitivities="+this.contextSensitivities.length+", errors="+this.errors.length+", ambiguities="+this.ambiguities.length+", SLL_lookahead="+this.SLL_TotalLook+", SLL_ATNTransitions="+this.SLL_ATNTransitions+", SLL_DFATransitions="+this.SLL_DFATransitions+", LL_Fallback="+this.LL_Fallback+", LL_lookahead="+this.LL_TotalLook+", LL_ATNTransitions="+this.LL_ATNTransitions+"}"}}i([n.Override],s.prototype,"toString",null),e.DecisionInfo=s},function(t,e,r){"use strict";var i=this&&this.__decorate||function(t,e,r,i){var n,s=arguments.length,o=s<3?e:null===i?i=Object.getOwnPropertyDescriptor(e,r):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(t,e,r,i);else for(var a=t.length-1;a>=0;a--)(n=t[a])&&(o=(s<3?n(o):s>3?n(e,r,o):n(e,r))||o);return s>3&&o&&Object.defineProperty(e,r,o),o},n=this&&this.__param||function(t,e){return function(r,i){e(r,i,t)}};Object.defineProperty(e,"__esModule",{value:!0}),e.ErrorInfo=void 0;const s=r(252),o=r(73);let a=class extends s.DecisionEventInfo{constructor(t,e,r,i,n){super(t,e,r,i,n,e.useContext)}};a=i([n(1,o.NotNull),n(2,o.NotNull)],a),e.ErrorInfo=a},function(t,e,r){"use strict";var i=this&&this.__decorate||function(t,e,r,i){var n,s=arguments.length,o=s<3?e:null===i?i=Object.getOwnPropertyDescriptor(e,r):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(t,e,r,i);else for(var a=t.length-1;a>=0;a--)(n=t[a])&&(o=(s<3?n(o):s>3?n(e,r,o):n(e,r))||o);return s>3&&o&&Object.defineProperty(e,r,o),o},n=this&&this.__param||function(t,e){return function(r,i){e(r,i,t)}};Object.defineProperty(e,"__esModule",{value:!0}),e.LookaheadEventInfo=void 0;const s=r(252),o=r(73);let a=class extends s.DecisionEventInfo{constructor(t,e,r,i,n,s,o){super(t,e,i,n,s,o),this.predictedAlt=r}};a=i([n(3,o.NotNull)],a),e.LookaheadEventInfo=a},function(t,e,r){"use strict";var i=this&&this.__decorate||function(t,e,r,i){var n,s=arguments.length,o=s<3?e:null===i?i=Object.getOwnPropertyDescriptor(e,r):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(t,e,r,i);else for(var a=t.length-1;a>=0;a--)(n=t[a])&&(o=(s<3?n(o):s>3?n(e,r,o):n(e,r))||o);return s>3&&o&&Object.defineProperty(e,r,o),o},n=this&&this.__param||function(t,e){return function(r,i){e(r,i,t)}};Object.defineProperty(e,"__esModule",{value:!0}),e.PredicateEvalInfo=void 0;const s=r(252),o=r(73);let a=class extends s.DecisionEventInfo{constructor(t,e,r,i,n,s,o,a){super(e,t,r,i,n,t.useContext),this.semctx=s,this.evalResult=o,this.predictedAlt=a}};a=i([n(0,o.NotNull),n(2,o.NotNull),n(5,o.NotNull)],a),e.PredicateEvalInfo=a},function(t){var e;e=()=>(()=>{var t={654:function(t){var e;e=function(){function t(e,r,i){return this.id=++t.highestId,this.name=e,this.symbols=r,this.postprocess=i,this}function e(t,e,r,i){this.rule=t,this.dot=e,this.reference=r,this.data=[],this.wantedBy=i,this.isComplete=this.dot===t.symbols.length}function r(t,e){this.grammar=t,this.index=e,this.states=[],this.wants={},this.scannable=[],this.completed={}}function i(t,e){this.rules=t,this.start=e||this.rules[0].name;var r=this.byName={};this.rules.forEach((function(t){r.hasOwnProperty(t.name)||(r[t.name]=[]),r[t.name].push(t)}))}function n(){this.reset("")}function s(t,e,s){if(t instanceof i){var o=t;s=e}else o=i.fromCompiled(t,e);for(var a in this.grammar=o,this.options={keepHistory:!1,lexer:o.lexer||new n},s||{})this.options[a]=s[a];this.lexer=this.options.lexer,this.lexerState=void 0;var E=new r(o,0);this.table=[E],E.wants[o.start]=[],E.predict(o.start),E.process(),this.current=0}function o(t){var e=typeof t;if("string"===e)return t;if("object"===e){if(t.literal)return JSON.stringify(t.literal);if(t instanceof RegExp)return t.toString();if(t.type)return"%"+t.type;if(t.test)return"<"+String(t.test)+">";throw new Error("Unknown symbol type: "+t)}}return t.highestId=0,t.prototype.toString=function(t){var e=void 0===t?this.symbols.map(o).join(" "):this.symbols.slice(0,t).map(o).join(" ")+" ● "+this.symbols.slice(t).map(o).join(" ");return this.name+" → "+e},e.prototype.toString=function(){return"{"+this.rule.toString(this.dot)+"}, from: "+(this.reference||0)},e.prototype.nextState=function(t){var r=new e(this.rule,this.dot+1,this.reference,this.wantedBy);return r.left=this,r.right=t,r.isComplete&&(r.data=r.build(),r.right=void 0),r},e.prototype.build=function(){var t=[],e=this;do{t.push(e.right.data),e=e.left}while(e.left);return t.reverse(),t},e.prototype.finish=function(){this.rule.postprocess&&(this.data=this.rule.postprocess(this.data,this.reference,s.fail))},r.prototype.process=function(t){for(var e=this.states,r=this.wants,i=this.completed,n=0;n<e.length;n++){var o=e[n];if(o.isComplete){if(o.finish(),o.data!==s.fail){for(var a=o.wantedBy,E=a.length;E--;){var h=a[E];this.complete(h,o)}if(o.reference===this.index){var l=o.rule.name;(this.completed[l]=this.completed[l]||[]).push(o)}}}else{if("string"!=typeof(l=o.rule.symbols[o.dot])){this.scannable.push(o);continue}if(r[l]){if(r[l].push(o),i.hasOwnProperty(l)){var u=i[l];for(E=0;E<u.length;E++){var c=u[E];this.complete(o,c)}}}else r[l]=[o],this.predict(l)}}},r.prototype.predict=function(t){for(var r=this.grammar.byName[t]||[],i=0;i<r.length;i++){var n=r[i],s=this.wants[t],o=new e(n,0,this.index,s);this.states.push(o)}},r.prototype.complete=function(t,e){var r=t.nextState(e);this.states.push(r)},i.fromCompiled=function(e,r){var n=e.Lexer;e.ParserStart&&(r=e.ParserStart,e=e.ParserRules);var s=new i(e=e.map((function(e){return new t(e.name,e.symbols,e.postprocess)})),r);return s.lexer=n,s},n.prototype.reset=function(t,e){this.buffer=t,this.index=0,this.line=e?e.line:1,this.lastLineBreak=e?-e.col:0},n.prototype.next=function(){if(this.index<this.buffer.length){var t=this.buffer[this.index++];return"\n"===t&&(this.line+=1,this.lastLineBreak=this.index),{value:t}}},n.prototype.save=function(){return{line:this.line,col:this.index-this.lastLineBreak}},n.prototype.formatError=function(t,e){var r=this.buffer;if("string"==typeof r){var i=r.split("\n").slice(Math.max(0,this.line-5),this.line),n=r.indexOf("\n",this.index);-1===n&&(n=r.length);var s=this.index-this.lastLineBreak,o=String(this.line).length;return e+=" at line "+this.line+" col "+s+":\n\n",(e+=i.map((function(t,e){return a(this.line-i.length+e+1,o)+" "+t}),this).join("\n"))+"\n"+a("",o+s)+"^\n"}return e+" at index "+(this.index-1);function a(t,e){var r=String(t);return Array(e-r.length+1).join(" ")+r}},s.fail={},s.prototype.feed=function(t){var e,i=this.lexer;for(i.reset(t,this.lexerState);;){try{if(!(e=i.next()))break}catch(t){var s=new r(this.grammar,this.current+1);throw this.table.push(s),(E=new Error(this.reportLexerError(t))).offset=this.current,E.token=t.token,E}var o=this.table[this.current];this.options.keepHistory||delete this.table[this.current-1];var a=this.current+1;s=new r(this.grammar,a),this.table.push(s);for(var E,h=void 0!==e.text?e.text:e.value,l=i.constructor===n?e.value:e,u=o.scannable,c=u.length;c--;){var T=u[c],R=T.rule.symbols[T.dot];if(R.test?R.test(l):R.type?R.type===e.type:R.literal===h){var p=T.nextState({data:l,token:e,isToken:!0,reference:a-1});s.states.push(p)}}if(s.process(),0===s.states.length)throw(E=new Error(this.reportError(e))).offset=this.current,E.token=e,E;this.options.keepHistory&&(o.lexerState=i.save()),this.current++}return o&&(this.lexerState=i.save()),this.results=this.finish(),this},s.prototype.reportLexerError=function(t){var e,r,i=t.token;return i?(e="input "+JSON.stringify(i.text[0])+" (lexer error)",r=this.lexer.formatError(i,"Syntax error")):(e="input (lexer error)",r=t.message),this.reportErrorCommon(r,e)},s.prototype.reportError=function(t){var e=(t.type?t.type+" token: ":"")+JSON.stringify(void 0!==t.value?t.value:t),r=this.lexer.formatError(t,"Syntax error");return this.reportErrorCommon(r,e)},s.prototype.reportErrorCommon=function(t,e){var r=[];r.push(t);var i=this.table.length-2,n=this.table[i],s=n.states.filter((function(t){var e=t.rule.symbols[t.dot];return e&&"string"!=typeof e}));return 0===s.length?(r.push("Unexpected "+e+". I did not expect any more input. Here is the state of my parse table:\n"),this.displayStateStack(n.states,r)):(r.push("Unexpected "+e+". Instead, I was expecting to see one of the following:\n"),s.map((function(t){return this.buildFirstStateStack(t,[])||[t]}),this).forEach((function(t){var e=t[0],i=e.rule.symbols[e.dot],n=this.getSymbolDisplay(i);r.push("A "+n+" based on:"),this.displayStateStack(t,r)}),this)),r.push(""),r.join("\n")},s.prototype.displayStateStack=function(t,e){for(var r,i=0,n=0;n<t.length;n++){var s=t[n],o=s.rule.toString(s.dot);o===r?i++:(i>0&&e.push(" ^ "+i+" more lines identical to this"),i=0,e.push(" "+o)),r=o}},s.prototype.getSymbolDisplay=function(t){return function(t){var e=typeof t;if("string"===e)return t;if("object"===e){if(t.literal)return JSON.stringify(t.literal);if(t instanceof RegExp)return"character matching "+t;if(t.type)return t.type+" token";if(t.test)return"token matching "+String(t.test);throw new Error("Unknown symbol type: "+t)}}(t)},s.prototype.buildFirstStateStack=function(t,e){if(-1!==e.indexOf(t))return null;if(0===t.wantedBy.length)return[t];var r=t.wantedBy[0],i=[t].concat(e),n=this.buildFirstStateStack(r,i);return null===n?null:[t].concat(n)},s.prototype.save=function(){var t=this.table[this.current];return t.lexerState=this.lexerState,t},s.prototype.restore=function(t){var e=t.index;this.current=e,this.table[e]=t,this.table.splice(e+1),this.lexerState=t.lexerState,this.results=this.finish()},s.prototype.rewind=function(t){if(!this.options.keepHistory)throw new Error("set option `keepHistory` to enable rewinding");this.restore(this.table[t])},s.prototype.finish=function(){var t=[],e=this.grammar.start;return this.table[this.table.length-1].states.forEach((function(r){r.rule.name===e&&r.dot===r.rule.symbols.length&&0===r.reference&&r.data!==s.fail&&t.push(r)})),t.map((function(t){return t.data}))},{Parser:s,Grammar:i,Rule:t}},t.exports?t.exports=e():this.nearley=e()}},e={};function r(i){var n=e[i];if(void 0!==n)return n.exports;var s=e[i]={exports:{}};return t[i].call(s.exports,s,s.exports,r),s.exports}r.n=t=>{var e=t&&t.__esModule?()=>t.default:()=>t;return r.d(e,{a:e}),e},r.d=(t,e)=>{for(var i in e)r.o(e,i)&&!r.o(t,i)&&Object.defineProperty(t,i,{enumerable:!0,get:e[i]})},r.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),r.r=t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})};var i={};return(()=>{"use strict";r.r(i),r.d(i,{ConfigError:()=>ci,bigquery:()=>P,db2:()=>B,expandPhrases:()=>h,format:()=>Si,formatDialect:()=>Ai,hive:()=>z,mariadb:()=>st,mysql:()=>Rt,n1ql:()=>It,plsql:()=>Mt,postgresql:()=>Bt,redshift:()=>zt,singlestoredb:()=>ze,snowflake:()=>sr,spark:()=>se,sql:()=>Ie,sqlite:()=>Re,supportedDialects:()=>Ri,transactsql:()=>Be,trino:()=>Me});var t,e={};r.r(e),r.d(e,{bigquery:()=>P,db2:()=>B,hive:()=>z,mariadb:()=>st,mysql:()=>Rt,n1ql:()=>It,plsql:()=>Mt,postgresql:()=>Bt,redshift:()=>zt,singlestoredb:()=>ze,snowflake:()=>sr,spark:()=>se,sql:()=>Ie,sqlite:()=>Re,transactsql:()=>Be,trino:()=>Me}),function(t){t.QUOTED_IDENTIFIER="QUOTED_IDENTIFIER",t.IDENTIFIER="IDENTIFIER",t.STRING="STRING",t.VARIABLE="VARIABLE",t.RESERVED_KEYWORD="RESERVED_KEYWORD",t.RESERVED_FUNCTION_NAME="RESERVED_FUNCTION_NAME",t.RESERVED_PHRASE="RESERVED_PHRASE",t.RESERVED_SET_OPERATION="RESERVED_SET_OPERATION",t.RESERVED_CLAUSE="RESERVED_CLAUSE",t.RESERVED_SELECT="RESERVED_SELECT",t.RESERVED_JOIN="RESERVED_JOIN",t.ARRAY_IDENTIFIER="ARRAY_IDENTIFIER",t.ARRAY_KEYWORD="ARRAY_KEYWORD",t.CASE="CASE",t.END="END",t.WHEN="WHEN",t.ELSE="ELSE",t.THEN="THEN",t.LIMIT="LIMIT",t.BETWEEN="BETWEEN",t.AND="AND",t.OR="OR",t.XOR="XOR",t.OPERATOR="OPERATOR",t.COMMA="COMMA",t.ASTERISK="ASTERISK",t.DOT="DOT",t.OPEN_PAREN="OPEN_PAREN",t.CLOSE_PAREN="CLOSE_PAREN",t.LINE_COMMENT="LINE_COMMENT",t.BLOCK_COMMENT="BLOCK_COMMENT",t.NUMBER="NUMBER",t.NAMED_PARAMETER="NAMED_PARAMETER",t.QUOTED_PARAMETER="QUOTED_PARAMETER",t.NUMBERED_PARAMETER="NUMBERED_PARAMETER",t.POSITIONAL_PARAMETER="POSITIONAL_PARAMETER",t.CUSTOM_PARAMETER="CUSTOM_PARAMETER",t.DELIMITER="DELIMITER",t.EOF="EOF"}(t=t||(t={}));const n=e=>({type:t.EOF,raw:"«EOF»",text:"«EOF»",start:e}),s=n(1/0),o=t=>e=>e.type===t.type&&e.text===t.text,a={ARRAY:o({text:"ARRAY",type:t.RESERVED_KEYWORD}),BY:o({text:"BY",type:t.RESERVED_KEYWORD}),SET:o({text:"SET",type:t.RESERVED_CLAUSE}),STRUCT:o({text:"STRUCT",type:t.RESERVED_KEYWORD}),WINDOW:o({text:"WINDOW",type:t.RESERVED_CLAUSE})},E=e=>e===t.RESERVED_KEYWORD||e===t.RESERVED_FUNCTION_NAME||e===t.RESERVED_PHRASE||e===t.RESERVED_CLAUSE||e===t.RESERVED_SELECT||e===t.RESERVED_SET_OPERATION||e===t.RESERVED_JOIN||e===t.ARRAY_KEYWORD||e===t.CASE||e===t.END||e===t.WHEN||e===t.ELSE||e===t.THEN||e===t.LIMIT||e===t.BETWEEN||e===t.AND||e===t.OR||e===t.XOR,h=t=>t.flatMap(l),l=t=>p(R(t)).map((t=>t.trim())),u=/[^[\]{}]+/y,c=/\{.*?\}/y,T=/\[.*?\]/y,R=t=>{let e=0;const r=[];for(;e<t.length;){u.lastIndex=e;const i=u.exec(t);i&&(r.push([i[0].trim()]),e+=i[0].length),T.lastIndex=e;const n=T.exec(t);if(n){const t=n[0].slice(1,-1).split("|").map((t=>t.trim()));r.push(["",...t]),e+=n[0].length}c.lastIndex=e;const s=c.exec(t);if(s){const t=s[0].slice(1,-1).split("|").map((t=>t.trim()));r.push(t),e+=s[0].length}if(!i&&!n&&!s)throw new Error(`Unbalanced parenthesis in: ${t}`)}return r},p=([t,...e])=>void 0===t?[""]:p(e).flatMap((e=>t.map((t=>t.trim()+" "+e.trim())))),S=t=>t[t.length-1],A=t=>t.sort(((t,e)=>e.length-t.length||t.localeCompare(e))),d=t=>t.reduce(((t,e)=>Math.max(t,e.length)),0),N=t=>t.replace(/\s+/gu," "),O=t=>{return e=Object.values(t).flat(),[...new Set(e)];var e},C=t=>/\n/.test(t),_=O({keywords:["ALL","AND","ANY","ARRAY","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","INTERVAL","INTO","IS","JOIN","LATERAL","LEFT","LIKE","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","STRUCT","TABLE","TABLESAMPLE","THEN","TO","TREAT","TRUE","UNBOUNDED","UNION","UNNEST","USING","WHEN","WHERE","WINDOW","WITH","WITHIN"],datatypes:["ARRAY","BOOL","BYTES","DATE","DATETIME","GEOGRAPHY","INTERVAL","INT64","INT","SMALLINT","INTEGER","BIGINT","TINYINT","BYTEINT","NUMERIC","DECIMAL","BIGNUMERIC","BIGDECIMAL","FLOAT64","STRING","STRUCT","TIME","TIMEZONE"],stringFormat:["HEX","BASEX","BASE64M","ASCII","UTF-8","UTF8"],misc:["SAFE"],ddl:["LIKE","COPY","CLONE","IN","OUT","INOUT","RETURNS","LANGUAGE","CASCADE","RESTRICT","DETERMINISTIC"]}),I=O({aead:["KEYS.NEW_KEYSET","KEYS.ADD_KEY_FROM_RAW_BYTES","AEAD.DECRYPT_BYTES","AEAD.DECRYPT_STRING","AEAD.ENCRYPT","KEYS.KEYSET_CHAIN","KEYS.KEYSET_FROM_JSON","KEYS.KEYSET_TO_JSON","KEYS.ROTATE_KEYSET","KEYS.KEYSET_LENGTH"],aggregateAnalytic:["ANY_VALUE","ARRAY_AGG","AVG","CORR","COUNT","COUNTIF","COVAR_POP","COVAR_SAMP","MAX","MIN","ST_CLUSTERDBSCAN","STDDEV_POP","STDDEV_SAMP","STRING_AGG","SUM","VAR_POP","VAR_SAMP"],aggregate:["ANY_VALUE","ARRAY_AGG","ARRAY_CONCAT_AGG","AVG","BIT_AND","BIT_OR","BIT_XOR","COUNT","COUNTIF","LOGICAL_AND","LOGICAL_OR","MAX","MIN","STRING_AGG","SUM"],approximateAggregate:["APPROX_COUNT_DISTINCT","APPROX_QUANTILES","APPROX_TOP_COUNT","APPROX_TOP_SUM"],array:["ARRAY_CONCAT","ARRAY_LENGTH","ARRAY_TO_STRING","GENERATE_ARRAY","GENERATE_DATE_ARRAY","GENERATE_TIMESTAMP_ARRAY","ARRAY_REVERSE","OFFSET","SAFE_OFFSET","ORDINAL","SAFE_ORDINAL"],bitwise:["BIT_COUNT"],conversion:["PARSE_BIGNUMERIC","PARSE_NUMERIC","SAFE_CAST"],date:["CURRENT_DATE","EXTRACT","DATE","DATE_ADD","DATE_SUB","DATE_DIFF","DATE_TRUNC","DATE_FROM_UNIX_DATE","FORMAT_DATE","LAST_DAY","PARSE_DATE","UNIX_DATE"],datetime:["CURRENT_DATETIME","DATETIME","EXTRACT","DATETIME_ADD","DATETIME_SUB","DATETIME_DIFF","DATETIME_TRUNC","FORMAT_DATETIME","LAST_DAY","PARSE_DATETIME"],debugging:["ERROR"],federatedQuery:["EXTERNAL_QUERY"],geography:["S2_CELLIDFROMPOINT","S2_COVERINGCELLIDS","ST_ANGLE","ST_AREA","ST_ASBINARY","ST_ASGEOJSON","ST_ASTEXT","ST_AZIMUTH","ST_BOUNDARY","ST_BOUNDINGBOX","ST_BUFFER","ST_BUFFERWITHTOLERANCE","ST_CENTROID","ST_CENTROID_AGG","ST_CLOSESTPOINT","ST_CLUSTERDBSCAN","ST_CONTAINS","ST_CONVEXHULL","ST_COVEREDBY","ST_COVERS","ST_DIFFERENCE","ST_DIMENSION","ST_DISJOINT","ST_DISTANCE","ST_DUMP","ST_DWITHIN","ST_ENDPOINT","ST_EQUALS","ST_EXTENT","ST_EXTERIORRING","ST_GEOGFROM","ST_GEOGFROMGEOJSON","ST_GEOGFROMTEXT","ST_GEOGFROMWKB","ST_GEOGPOINT","ST_GEOGPOINTFROMGEOHASH","ST_GEOHASH","ST_GEOMETRYTYPE","ST_INTERIORRINGS","ST_INTERSECTION","ST_INTERSECTS","ST_INTERSECTSBOX","ST_ISCOLLECTION","ST_ISEMPTY","ST_LENGTH","ST_MAKELINE","ST_MAKEPOLYGON","ST_MAKEPOLYGONORIENTED","ST_MAXDISTANCE","ST_NPOINTS","ST_NUMGEOMETRIES","ST_NUMPOINTS","ST_PERIMETER","ST_POINTN","ST_SIMPLIFY","ST_SNAPTOGRID","ST_STARTPOINT","ST_TOUCHES","ST_UNION","ST_UNION_AGG","ST_WITHIN","ST_X","ST_Y"],hash:["FARM_FINGERPRINT","MD5","SHA1","SHA256","SHA512"],hll:["HLL_COUNT.INIT","HLL_COUNT.MERGE","HLL_COUNT.MERGE_PARTIAL","HLL_COUNT.EXTRACT"],interval:["MAKE_INTERVAL","EXTRACT","JUSTIFY_DAYS","JUSTIFY_HOURS","JUSTIFY_INTERVAL"],json:["JSON_EXTRACT","JSON_QUERY","JSON_EXTRACT_SCALAR","JSON_VALUE","JSON_EXTRACT_ARRAY","JSON_QUERY_ARRAY","JSON_EXTRACT_STRING_ARRAY","JSON_VALUE_ARRAY","TO_JSON_STRING"],math:["ABS","SIGN","IS_INF","IS_NAN","IEEE_DIVIDE","RAND","SQRT","POW","POWER","EXP","LN","LOG","LOG10","GREATEST","LEAST","DIV","SAFE_DIVIDE","SAFE_MULTIPLY","SAFE_NEGATE","SAFE_ADD","SAFE_SUBTRACT","MOD","ROUND","TRUNC","CEIL","CEILING","FLOOR","COS","COSH","ACOS","ACOSH","SIN","SINH","ASIN","ASINH","TAN","TANH","ATAN","ATANH","ATAN2","RANGE_BUCKET"],navigation:["FIRST_VALUE","LAST_VALUE","NTH_VALUE","LEAD","LAG","PERCENTILE_CONT","PERCENTILE_DISC"],net:["NET.IP_FROM_STRING","NET.SAFE_IP_FROM_STRING","NET.IP_TO_STRING","NET.IP_NET_MASK","NET.IP_TRUNC","NET.IPV4_FROM_INT64","NET.IPV4_TO_INT64","NET.HOST","NET.PUBLIC_SUFFIX","NET.REG_DOMAIN"],numbering:["RANK","DENSE_RANK","PERCENT_RANK","CUME_DIST","NTILE","ROW_NUMBER"],security:["SESSION_USER"],statisticalAggregate:["CORR","COVAR_POP","COVAR_SAMP","STDDEV_POP","STDDEV_SAMP","STDDEV","VAR_POP","VAR_SAMP","VARIANCE"],string:["ASCII","BYTE_LENGTH","CHAR_LENGTH","CHARACTER_LENGTH","CHR","CODE_POINTS_TO_BYTES","CODE_POINTS_TO_STRING","CONCAT","CONTAINS_SUBSTR","ENDS_WITH","FORMAT","FROM_BASE32","FROM_BASE64","FROM_HEX","INITCAP","INSTR","LEFT","LENGTH","LPAD","LOWER","LTRIM","NORMALIZE","NORMALIZE_AND_CASEFOLD","OCTET_LENGTH","REGEXP_CONTAINS","REGEXP_EXTRACT","REGEXP_EXTRACT_ALL","REGEXP_INSTR","REGEXP_REPLACE","REGEXP_SUBSTR","REPLACE","REPEAT","REVERSE","RIGHT","RPAD","RTRIM","SAFE_CONVERT_BYTES_TO_STRING","SOUNDEX","SPLIT","STARTS_WITH","STRPOS","SUBSTR","SUBSTRING","TO_BASE32","TO_BASE64","TO_CODE_POINTS","TO_HEX","TRANSLATE","TRIM","UNICODE","UPPER"],time:["CURRENT_TIME","TIME","EXTRACT","TIME_ADD","TIME_SUB","TIME_DIFF","TIME_TRUNC","FORMAT_TIME","PARSE_TIME"],timestamp:["CURRENT_TIMESTAMP","EXTRACT","STRING","TIMESTAMP","TIMESTAMP_ADD","TIMESTAMP_SUB","TIMESTAMP_DIFF","TIMESTAMP_TRUNC","FORMAT_TIMESTAMP","PARSE_TIMESTAMP","TIMESTAMP_SECONDS","TIMESTAMP_MILLIS","TIMESTAMP_MICROS","UNIX_SECONDS","UNIX_MILLIS","UNIX_MICROS"],uuid:["GENERATE_UUID"],conditional:["COALESCE","IF","IFNULL","NULLIF"],legacyAggregate:["AVG","BIT_AND","BIT_OR","BIT_XOR","CORR","COUNT","COVAR_POP","COVAR_SAMP","EXACT_COUNT_DISTINCT","FIRST","GROUP_CONCAT","GROUP_CONCAT_UNQUOTED","LAST","MAX","MIN","NEST","NTH","QUANTILES","STDDEV","STDDEV_POP","STDDEV_SAMP","SUM","TOP","UNIQUE","VARIANCE","VAR_POP","VAR_SAMP"],legacyBitwise:["BIT_COUNT"],legacyCasting:["BOOLEAN","BYTES","CAST","FLOAT","HEX_STRING","INTEGER","STRING"],legacyComparison:["COALESCE","GREATEST","IFNULL","IS_INF","IS_NAN","IS_EXPLICITLY_DEFINED","LEAST","NVL"],legacyDatetime:["CURRENT_DATE","CURRENT_TIME","CURRENT_TIMESTAMP","DATE","DATE_ADD","DATEDIFF","DAY","DAYOFWEEK","DAYOFYEAR","FORMAT_UTC_USEC","HOUR","MINUTE","MONTH","MSEC_TO_TIMESTAMP","NOW","PARSE_UTC_USEC","QUARTER","SEC_TO_TIMESTAMP","SECOND","STRFTIME_UTC_USEC","TIME","TIMESTAMP","TIMESTAMP_TO_MSEC","TIMESTAMP_TO_SEC","TIMESTAMP_TO_USEC","USEC_TO_TIMESTAMP","UTC_USEC_TO_DAY","UTC_USEC_TO_HOUR","UTC_USEC_TO_MONTH","UTC_USEC_TO_WEEK","UTC_USEC_TO_YEAR","WEEK","YEAR"],legacyIp:["FORMAT_IP","PARSE_IP","FORMAT_PACKED_IP","PARSE_PACKED_IP"],legacyJson:["JSON_EXTRACT","JSON_EXTRACT_SCALAR"],legacyMath:["ABS","ACOS","ACOSH","ASIN","ASINH","ATAN","ATANH","ATAN2","CEIL","COS","COSH","DEGREES","EXP","FLOOR","LN","LOG","LOG2","LOG10","PI","POW","RADIANS","RAND","ROUND","SIN","SINH","SQRT","TAN","TANH"],legacyRegex:["REGEXP_MATCH","REGEXP_EXTRACT","REGEXP_REPLACE"],legacyString:["CONCAT","INSTR","LEFT","LENGTH","LOWER","LPAD","LTRIM","REPLACE","RIGHT","RPAD","RTRIM","SPLIT","SUBSTR","UPPER"],legacyTableWildcard:["TABLE_DATE_RANGE","TABLE_DATE_RANGE_STRICT","TABLE_QUERY"],legacyUrl:["HOST","DOMAIN","TLD"],legacyWindow:["AVG","COUNT","MAX","MIN","STDDEV","SUM","CUME_DIST","DENSE_RANK","FIRST_VALUE","LAG","LAST_VALUE","LEAD","NTH_VALUE","NTILE","PERCENT_RANK","PERCENTILE_CONT","PERCENTILE_DISC","RANK","RATIO_TO_REPORT","ROW_NUMBER"],legacyMisc:["CURRENT_USER","EVERY","FROM_BASE64","HASH","FARM_FINGERPRINT","IF","POSITION","SHA1","SOME","TO_BASE64"],other:["BQ.JOBS.CANCEL","BQ.REFRESH_MATERIALIZED_VIEW"],ddl:["OPTIONS"],pivot:["PIVOT","UNPIVOT"],dataTypes:["BYTES","NUMERIC","DECIMAL","BIGNUMERIC","BIGDECIMAL","STRING"]}),L=h(["SELECT [ALL | DISTINCT] [AS STRUCT | AS VALUE]"]),f=h(["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","CREATE [OR REPLACE] [MATERIALIZED] VIEW [IF NOT EXISTS]","CREATE [OR REPLACE] [TEMP|TEMPORARY|SNAPSHOT|EXTERNAL] TABLE [IF NOT EXISTS]","CLUSTER BY","FOR SYSTEM_TIME AS OF","WITH CONNECTION","WITH PARTITION COLUMNS","REMOTE WITH CONNECTION"]),m=h(["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"]),y=h(["UNION {ALL | DISTINCT}","EXCEPT DISTINCT","INTERSECT DISTINCT"]),x=h(["JOIN","{LEFT | RIGHT | FULL} [OUTER] JOIN","{INNER | CROSS} JOIN"]),g=h(["TABLESAMPLE SYSTEM","ANY TYPE","ALL COLUMNS","NOT DETERMINISTIC","{ROWS | RANGE} BETWEEN","IS [NOT] DISTINCT FROM"]),P={tokenizerOptions:{reservedSelect:L,reservedClauses:[...f,...m],reservedSetOperations:y,reservedJoins:x,reservedPhrases:g,reservedKeywords:_,reservedFunctionNames:I,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:function(e){return function(e){let r=s;return e.map((e=>"OFFSET"===e.text&&"["===r.text?(r=e,Object.assign(Object.assign({},e),{type:t.RESERVED_FUNCTION_NAME})):(r=e,e)))}(function(e){var r;const i=[];for(let n=0;n<e.length;n++){const s=e[n];if((a.ARRAY(s)||a.STRUCT(s))&&"<"===(null===(r=e[n+1])||void 0===r?void 0:r.text)){const r=M(e,n+1),o=e.slice(n,r+1);i.push({type:t.IDENTIFIER,raw:o.map(D("raw")).join(""),text:o.map(D("text")).join(""),start:s.start}),n=r}else i.push(s)}return i}(e))}},formatOptions:{onelineClauses:m}},D=e=>r=>r.type===t.IDENTIFIER||r.type===t.COMMA?r[e]+" ":r[e];function M(t,e){let r=0;for(let i=e;i<t.length;i++){const e=t[i];if("<"===e.text?r++:">"===e.text?r--:">>"===e.text&&(r-=2),0===r)return i}return t.length-1}const v=O({aggregate:["ARRAY_AGG","AVG","CORR","CORRELATION","COUNT","COUNT_BIG","COVAR_POP","COVARIANCE","COVAR","COVAR_SAMP","COVARIANCE_SAMP","CUME_DIST","GROUPING","LISTAGG","MAX","MEDIAN","MIN","PERCENTILE_CONT","PERCENTILE_DISC","PERCENT_RANK","REGR_AVGX","REGR_AVGY","REGR_COUNT","REGR_INTERCEPT","REGR_ICPT","REGR_R2","REGR_SLOPE","REGR_SXX","REGR_SXY","REGR_SYY","STDDEV_POP","STDDEV","STDDEV_SAMP","SUM","VAR_POP","VARIANCE","VAR","VAR_SAMP","VARIANCE_SAMP","XMLAGG"],scalar:["ABS","ABSVAL","ACOS","ADD_DAYS","ADD_MONTHS","ARRAY_DELETE","ARRAY_FIRST","ARRAY_LAST","ARRAY_NEXT","ARRAY_PRIOR","ARRAY_TRIM","ASCII","ASCII_CHR","ASCII_STR","ASCIISTR","ASIN","ATAN","ATANH","ATAN2","BIGINT","BINARY","BITAND","BITANDNOT","BITOR","BITXOR","BITNOT","BLOB","BTRIM","CARDINALITY","CCSID_ENCODING","CEILING","CEIL","CHAR","CHAR9","CHARACTER_LENGTH","CHAR_LENGTH","CHR","CLOB","COALESCE","COLLATION_KEY","COMPARE_DECFLOAT","CONCAT","CONTAINS","COS","COSH","DATE","DAY","DAYOFMONTH","DAYOFWEEK","DAYOFWEEK_ISO","DAYOFYEAR","DAYS","DAYS_BETWEEN","DBCLOB","DECFLOAT","DECFLOAT_FORMAT","DECFLOAT_SORTKEY","DECIMAL","DEC","DECODE","DECRYPT_BINARY","DECRYPT_BIT","DECRYPT_CHAR","DECRYPT_DB","DECRYPT_DATAKEY_BIGINT","DECRYPT_DATAKEY_BIT","DECRYPT_DATAKEY_CLOB","DECRYPT_DATAKEY_DBCLOB","DECRYPT_DATAKEY_DECIMAL","DECRYPT_DATAKEY_INTEGER","DECRYPT_DATAKEY_VARCHAR","DECRYPT_DATAKEY_VARGRAPHIC","DEGREES","DIFFERENCE","DIGITS","DOUBLE_PRECISION","DOUBLE","DSN_XMLVALIDATE","EBCDIC_CHR","EBCDIC_STR","ENCRYPT_DATAKEY","ENCRYPT_TDES","EXP","EXTRACT","FLOAT","FLOOR","GENERATE_UNIQUE","GENERATE_UNIQUE_BINARY","GETHINT","GETVARIABLE","GRAPHIC","GREATEST","HASH","HASH_CRC32","HASH_MD5","HASH_SHA1","HASH_SHA256","HEX","HOUR","IDENTITY_VAL_LOCAL","IFNULL","INSERT","INSTR","INTEGER","INT","JULIAN_DAY","LAST_DAY","LCASE","LEAST","LEFT","LENGTH","LN","LOCATE","LOCATE_IN_STRING","LOG10","LOWER","LPAD","LTRIM","MAX","MAX_CARDINALITY","MICROSECOND","MIDNIGHT_SECONDS","MIN","MINUTE","MOD","MONTH","MONTHS_BETWEEN","MQREAD","MQREADCLOB","MQRECEIVE","MQRECEIVECLOB","MQSEND","MULTIPLY_ALT","NEXT_DAY","NEXT_MONTH","NORMALIZE_DECFLOAT","NORMALIZE_STRING","NULLIF","NVL","OVERLAY","PACK","POSITION","POSSTR","POWER","POW","QUANTIZE","QUARTER","RADIANS","RAISE_ERROR","RANDOM","RAND","REAL","REGEXP_COUNT","REGEXP_INSTR","REGEXP_LIKE","REGEXP_REPLACE","REGEXP_SUBSTR","REPEAT","REPLACE","RID","RIGHT","ROUND","ROUND_TIMESTAMP","ROWID","RPAD","RTRIM","SCORE","SECOND","SIGN","SIN","SINH","SMALLINT","SOUNDEX","SOAPHTTPC","SOAPHTTPV","SOAPHTTPNC","SOAPHTTPNV","SPACE","SQRT","STRIP","STRLEFT","STRPOS","STRRIGHT","SUBSTR","SUBSTRING","TAN","TANH","TIME","TIMESTAMP","TIMESTAMPADD","TIMESTAMPDIFF","TIMESTAMP_FORMAT","TIMESTAMP_ISO","TIMESTAMP_TZ","TO_CHAR","TO_CLOB","TO_DATE","TO_NUMBER","TOTALORDER","TO_TIMESTAMP","TRANSLATE","TRIM","TRIM_ARRAY","TRUNCATE","TRUNC","TRUNC_TIMESTAMP","UCASE","UNICODE","UNICODE_STR","UNISTR","UPPER","VALUE","VARBINARY","VARCHAR","VARCHAR9","VARCHAR_BIT_FORMAT","VARCHAR_FORMAT","VARGRAPHIC","VERIFY_GROUP_FOR_USER","VERIFY_ROLE_FOR_USER","VERIFY_TRUSTED_CONTEXT_ROLE_FOR_USER","WEEK","WEEK_ISO","WRAP","XMLATTRIBUTES","XMLCOMMENT","XMLCONCAT","XMLDOCUMENT","XMLELEMENT","XMLFOREST","XMLMODIFY","XMLNAMESPACES","XMLPARSE","XMLPI","XMLQUERY","XMLSERIALIZE","XMLTEXT","XMLXSROBJECTID","XSLTRANSFORM","YEAR"],table:["ADMIN_TASK_LIST","ADMIN_TASK_OUTPUT","ADMIN_TASK_STATUS","BLOCKING_THREADS","MQREADALL","MQREADALLCLOB","MQRECEIVEALL","MQRECEIVEALLCLOB","XMLTABLE"],row:["UNPACK"],olap:["CUME_DIST","PERCENT_RANK","RANK","DENSE_RANK","NTILE","LAG","LEAD","ROW_NUMBER","FIRST_VALUE","LAST_VALUE","NTH_VALUE","RATIO_TO_REPORT"],cast:["CAST"]}),U=O({standard:["ALL","ALLOCATE","ALLOW","ALTERAND","ANY","AS","ARRAY","ARRAY_EXISTS","ASENSITIVE","ASSOCIATE","ASUTIME","AT","AUDIT","AUX","AUXILIARY","BEFORE","BEGIN","BETWEEN","BUFFERPOOL","BY","CAPTURE","CASCADED","CAST","CCSID","CHARACTER","CHECK","CLONE","CLUSTER","COLLECTION","COLLID","COLUMN","CONDITION","CONNECTION","CONSTRAINT","CONTENT","CONTINUE","CREATE","CUBE","CURRENT","CURRENT_DATE","CURRENT_LC_CTYPE","CURRENT_PATH","CURRENT_SCHEMA","CURRENT_TIME","CURRENT_TIMESTAMP","CURRVAL","CURSOR","DATA","DATABASE","DBINFO","DECLARE","DEFAULT","DESCRIPTOR","DETERMINISTIC","DISABLE","DISALLOW","DISTINCT","DO","DOCUMENT","DSSIZE","DYNAMIC","EDITPROC","ELSE","ELSEIF","ENCODING","ENCRYPTION","ENDING","END-EXEC","ERASE","ESCAPE","EXCEPTION","EXISTS","EXIT","EXTERNAL","FENCED","FIELDPROC","FINAL","FIRST","FOR","FREE","FULL","FUNCTION","GENERATED","GET","GLOBAL","GOTO","GROUP","HANDLER","HOLD","HOURS","IF","IMMEDIATE","IN","INCLUSIVE","INDEX","INHERIT","INNER","INOUT","INSENSITIVE","INTO","IS","ISOBID","ITERATE","JAR","KEEP","KEY","LANGUAGE","LAST","LC_CTYPE","LEAVE","LIKE","LOCAL","LOCALE","LOCATOR","LOCATORS","LOCK","LOCKMAX","LOCKSIZE","LONG","LOOP","MAINTAINED","MATERIALIZED","MICROSECONDS","MINUTEMINUTES","MODIFIES","MONTHS","NEXT","NEXTVAL","NO","NONE","NOT","NULL","NULLS","NUMPARTS","OBID","OF","OLD","ON","OPTIMIZATION","OPTIMIZE","ORDER","ORGANIZATION","OUT","OUTER","PACKAGE","PARAMETER","PART","PADDED","PARTITION","PARTITIONED","PARTITIONING","PATH","PIECESIZE","PERIOD","PLAN","PRECISION","PREVVAL","PRIOR","PRIQTY","PRIVILEGES","PROCEDURE","PROGRAM","PSID","PUBLIC","QUERY","QUERYNO","READS","REFERENCES","RESIGNAL","RESTRICT","RESULT","RESULT_SET_LOCATOR","RETURN","RETURNS","ROLE","ROLLUP","ROUND_CEILING","ROUND_DOWN","ROUND_FLOOR","ROUND_HALF_DOWN","ROUND_HALF_EVEN","ROUND_HALF_UP","ROUND_UP","ROW","ROWSET","SCHEMA","SCRATCHPAD","SECONDS","SECQTY","SECURITY","SEQUENCE","SENSITIVE","SESSION_USER","SIMPLE","SOME","SOURCE","SPECIFIC","STANDARD","STATIC","STATEMENT","STAY","STOGROUP","STORES","STYLE","SUMMARY","SYNONYM","SYSDATE","SYSTEM","SYSTIMESTAMP","TABLE","TABLESPACE","THEN","TO","TRIGGER","TYPE","UNDO","UNIQUE","UNTIL","USER","USING","VALIDPROC","VARIABLE","VARIANT","VCAT","VERSIONING","VIEW","VOLATILE","VOLUMES","WHILE","WLM","XMLEXISTS","XMLCAST","YEARS","ZONE"]}),k=h(["SELECT [ALL | DISTINCT]"]),b=h(["WITH","FROM","WHERE","GROUP BY","HAVING","PARTITION BY","ORDER BY [INPUT SEQUENCE]","FETCH FIRST","INSERT INTO","VALUES","SET","MERGE INTO","WHEN [NOT] MATCHED [THEN]","UPDATE SET","INSERT","CREATE [OR REPLACE] VIEW","CREATE [GLOBAL TEMPORARY] TABLE"]),G=h(["UPDATE","WHERE CURRENT OF","WITH {RR | RS | CS | UR}","DELETE FROM","DROP TABLE [HIERARCHY]","ALTER TABLE","ADD [COLUMN]","DROP [COLUMN]","RENAME [COLUMN]","ALTER [COLUMN]","SET DATA TYPE","SET NOT NULL","DROP {IDENTITY | EXPRESSION | DEFAULT | NOT NULL}","TRUNCATE [TABLE]","SET [CURRENT] SCHEMA","AFTER","GO","ALLOCATE CURSOR","ALTER DATABASE","ALTER FUNCTION","ALTER INDEX","ALTER MASK","ALTER PERMISSION","ALTER PROCEDURE","ALTER SEQUENCE","ALTER STOGROUP","ALTER TABLESPACE","ALTER TRIGGER","ALTER TRUSTED CONTEXT","ALTER VIEW","ASSOCIATE LOCATORS","BEGIN DECLARE SECTION","CALL","CLOSE","COMMENT","COMMIT","CONNECT","CREATE ALIAS","CREATE AUXILIARY TABLE","CREATE DATABASE","CREATE FUNCTION","CREATE GLOBAL TEMPORARY TABLE","CREATE INDEX","CREATE LOB TABLESPACE","CREATE MASK","CREATE PERMISSION","CREATE PROCEDURE","CREATE ROLE","CREATE SEQUENCE","CREATE STOGROUP","CREATE SYNONYM","CREATE TABLESPACE","CREATE TRIGGER","CREATE TRUSTED CONTEXT","CREATE TYPE","CREATE VARIABLE","DECLARE CURSOR","DECLARE GLOBAL TEMPORARY TABLE","DECLARE STATEMENT","DECLARE TABLE","DECLARE VARIABLE","DESCRIBE CURSOR","DESCRIBE INPUT","DESCRIBE OUTPUT","DESCRIBE PROCEDURE","DESCRIBE TABLE","DROP","END DECLARE SECTION","EXCHANGE","EXECUTE","EXECUTE IMMEDIATE","EXPLAIN","FETCH","FREE LOCATOR","GET DIAGNOSTICS","GRANT","HOLD LOCATOR","INCLUDE","LABEL","LOCK TABLE","OPEN","PREPARE","REFRESH","RELEASE","RELEASE SAVEPOINT","RENAME","REVOKE","ROLLBACK","SAVEPOINT","SELECT INTO","SET CONNECTION","SET CURRENT ACCELERATOR","SET CURRENT APPLICATION COMPATIBILITY","SET CURRENT APPLICATION ENCODING SCHEME","SET CURRENT DEBUG MODE","SET CURRENT DECFLOAT ROUNDING MODE","SET CURRENT DEGREE","SET CURRENT EXPLAIN MODE","SET CURRENT GET_ACCEL_ARCHIVE","SET CURRENT LOCALE LC_CTYPE","SET CURRENT MAINTAINED TABLE TYPES FOR OPTIMIZATION","SET CURRENT OPTIMIZATION HINT","SET CURRENT PACKAGE PATH","SET CURRENT PACKAGESET","SET CURRENT PRECISION","SET CURRENT QUERY ACCELERATION","SET CURRENT QUERY ACCELERATION WAITFORDATA","SET CURRENT REFRESH AGE","SET CURRENT ROUTINE VERSION","SET CURRENT RULES","SET CURRENT SQLID","SET CURRENT TEMPORAL BUSINESS_TIME","SET CURRENT TEMPORAL SYSTEM_TIME","SET ENCRYPTION PASSWORD","SET PATH","SET SESSION TIME ZONE","SIGNAL","VALUES INTO","WHENEVER"]),F=h(["UNION [ALL]","EXCEPT [ALL]","INTERSECT [ALL]"]),H=h(["JOIN","{LEFT | RIGHT | FULL} [OUTER] JOIN","{INNER | CROSS} JOIN"]),w=h(["ON DELETE","ON UPDATE","SET NULL","{ROWS | RANGE} BETWEEN"]),B={tokenizerOptions:{reservedSelect:k,reservedClauses:[...b,...G],reservedSetOperations:F,reservedJoins:H,reservedPhrases:w,reservedKeywords:U,reservedFunctionNames:v,stringTypes:[{quote:"''-qq",prefixes:["G","N","U&"]},{quote:"''-raw",prefixes:["X","BX","GX","UX"],requirePrefix:!0}],identTypes:['""-qq'],identChars:{first:"@#$"},paramTypes:{positional:!0,named:[":"]},paramChars:{first:"@#$",rest:"@#$"},operators:["**","¬=","¬>","¬<","!>","!<","||"]},formatOptions:{onelineClauses:G}},V=O({math:["ABS","ACOS","ASIN","ATAN","BIN","BROUND","CBRT","CEIL","CEILING","CONV","COS","DEGREES","EXP","FACTORIAL","FLOOR","GREATEST","HEX","LEAST","LN","LOG","LOG10","LOG2","NEGATIVE","PI","PMOD","POSITIVE","POW","POWER","RADIANS","RAND","ROUND","SHIFTLEFT","SHIFTRIGHT","SHIFTRIGHTUNSIGNED","SIGN","SIN","SQRT","TAN","UNHEX","WIDTH_BUCKET"],array:["ARRAY_CONTAINS","MAP_KEYS","MAP_VALUES","SIZE","SORT_ARRAY"],conversion:["BINARY","CAST"],date:["ADD_MONTHS","DATE","DATE_ADD","DATE_FORMAT","DATE_SUB","DATEDIFF","DAY","DAYNAME","DAYOFMONTH","DAYOFYEAR","EXTRACT","FROM_UNIXTIME","FROM_UTC_TIMESTAMP","HOUR","LAST_DAY","MINUTE","MONTH","MONTHS_BETWEEN","NEXT_DAY","QUARTER","SECOND","TIMESTAMP","TO_DATE","TO_UTC_TIMESTAMP","TRUNC","UNIX_TIMESTAMP","WEEKOFYEAR","YEAR"],conditional:["ASSERT_TRUE","COALESCE","IF","ISNOTNULL","ISNULL","NULLIF","NVL"],string:["ASCII","BASE64","CHARACTER_LENGTH","CHR","CONCAT","CONCAT_WS","CONTEXT_NGRAMS","DECODE","ELT","ENCODE","FIELD","FIND_IN_SET","FORMAT_NUMBER","GET_JSON_OBJECT","IN_FILE","INITCAP","INSTR","LCASE","LENGTH","LEVENSHTEIN","LOCATE","LOWER","LPAD","LTRIM","NGRAMS","OCTET_LENGTH","PARSE_URL","PRINTF","QUOTE","REGEXP_EXTRACT","REGEXP_REPLACE","REPEAT","REVERSE","RPAD","RTRIM","SENTENCES","SOUNDEX","SPACE","SPLIT","STR_TO_MAP","SUBSTR","SUBSTRING","TRANSLATE","TRIM","UCASE","UNBASE64","UPPER"],masking:["MASK","MASK_FIRST_N","MASK_HASH","MASK_LAST_N","MASK_SHOW_FIRST_N","MASK_SHOW_LAST_N"],misc:["AES_DECRYPT","AES_ENCRYPT","CRC32","CURRENT_DATABASE","CURRENT_USER","HASH","JAVA_METHOD","LOGGED_IN_USER","MD5","REFLECT","SHA","SHA1","SHA2","SURROGATE_KEY","VERSION"],aggregate:["AVG","COLLECT_LIST","COLLECT_SET","CORR","COUNT","COVAR_POP","COVAR_SAMP","HISTOGRAM_NUMERIC","MAX","MIN","NTILE","PERCENTILE","PERCENTILE_APPROX","REGR_AVGX","REGR_AVGY","REGR_COUNT","REGR_INTERCEPT","REGR_R2","REGR_SLOPE","REGR_SXX","REGR_SXY","REGR_SYY","STDDEV_POP","STDDEV_SAMP","SUM","VAR_POP","VAR_SAMP","VARIANCE"],table:["EXPLODE","INLINE","JSON_TUPLE","PARSE_URL_TUPLE","POSEXPLODE","STACK"],window:["LEAD","LAG","FIRST_VALUE","LAST_VALUE","RANK","ROW_NUMBER","DENSE_RANK","CUME_DIST","PERCENT_RANK","NTILE"],dataTypes:["DECIMAL","NUMERIC","VARCHAR","CHAR"]}),Y=O({nonReserved:["ADD","ADMIN","AFTER","ANALYZE","ARCHIVE","ASC","BEFORE","BUCKET","BUCKETS","CASCADE","CHANGE","CLUSTER","CLUSTERED","CLUSTERSTATUS","COLLECTION","COLUMNS","COMMENT","COMPACT","COMPACTIONS","COMPUTE","CONCATENATE","CONTINUE","DATA","DATABASES","DATETIME","DAY","DBPROPERTIES","DEFERRED","DEFINED","DELIMITED","DEPENDENCY","DESC","DIRECTORIES","DIRECTORY","DISABLE","DISTRIBUTE","ELEM_TYPE","ENABLE","ESCAPED","EXCLUSIVE","EXPLAIN","EXPORT","FIELDS","FILE","FILEFORMAT","FIRST","FORMAT","FORMATTED","FUNCTIONS","HOLD_DDLTIME","HOUR","IDXPROPERTIES","IGNORE","INDEX","INDEXES","INPATH","INPUTDRIVER","INPUTFORMAT","ITEMS","JAR","KEYS","KEY_TYPE","LIMIT","LINES","LOAD","LOCATION","LOCK","LOCKS","LOGICAL","LONG","MAPJOIN","MATERIALIZED","METADATA","MINUS","MINUTE","MONTH","MSCK","NOSCAN","NO_DROP","OFFLINE","OPTION","OUTPUTDRIVER","OUTPUTFORMAT","OVERWRITE","OWNER","PARTITIONED","PARTITIONS","PLUS","PRETTY","PRINCIPALS","PROTECTION","PURGE","READ","READONLY","REBUILD","RECORDREADER","RECORDWRITER","RELOAD","RENAME","REPAIR","REPLACE","REPLICATION","RESTRICT","REWRITE","ROLE","ROLES","SCHEMA","SCHEMAS","SECOND","SEMI","SERDE","SERDEPROPERTIES","SERVER","SETS","SHARED","SHOW","SHOW_DATABASE","SKEWED","SORT","SORTED","SSL","STATISTICS","STORED","STREAMTABLE","STRING","STRUCT","TABLES","TBLPROPERTIES","TEMPORARY","TERMINATED","TINYINT","TOUCH","TRANSACTIONS","UNARCHIVE","UNDO","UNIONTYPE","UNLOCK","UNSET","UNSIGNED","URI","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"],reserved:["ALL","ALTER","AND","ARRAY","AS","AUTHORIZATION","BETWEEN","BIGINT","BINARY","BOOLEAN","BOTH","BY","CASE","CAST","CHAR","COLUMN","CONF","CREATE","CROSS","CUBE","CURRENT","CURRENT_DATE","CURRENT_TIMESTAMP","CURSOR","DATABASE","DATE","DECIMAL","DELETE","DESCRIBE","DISTINCT","DOUBLE","DROP","ELSE","END","EXCHANGE","EXISTS","EXTENDED","EXTERNAL","FALSE","FETCH","FLOAT","FOLLOWING","FOR","FROM","FULL","FUNCTION","GRANT","GROUP","GROUPING","HAVING","IF","IMPORT","IN","INNER","INSERT","INT","INTERSECT","INTERVAL","INTO","IS","JOIN","LATERAL","LEFT","LESS","LIKE","LOCAL","MACRO","MAP","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","SMALLINT","TABLE","TABLESAMPLE","THEN","TIMESTAMP","TO","TRANSFORM","TRIGGER","TRUE","TRUNCATE","UNBOUNDED","UNION","UNIQUEJOIN","UPDATE","USER","USING","UTC_TMESTAMP","VALUES","VARCHAR","WHEN","WHERE","WINDOW","WITH","COMMIT","ONLY","REGEXP","RLIKE","ROLLBACK","START","CACHE","CONSTRAINT","FOREIGN","PRIMARY","REFERENCES","DAYOFWEEK","EXTRACT","FLOOR","INTEGER","PRECISION","VIEWS","TIME","NUMERIC","SYNC"],fileTypes:["TEXTFILE","SEQUENCEFILE","ORC","CSV","TSV","PARQUET","AVRO","RCFILE","JSONFILE","INPUTFORMAT","OUTPUTFORMAT"]}),W=h(["SELECT [ALL | DISTINCT]"]),K=h(["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","CREATE [MATERIALIZED] VIEW [IF NOT EXISTS]","CREATE [TEMPORARY] [EXTERNAL] TABLE [IF NOT EXISTS]"]),X=h(["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"]),q=h(["UNION [ALL | DISTINCT]"]),j=h(["JOIN","{LEFT | RIGHT | FULL} [OUTER] JOIN","{INNER | CROSS} JOIN","LEFT SEMI JOIN"]),Q=h(["{ROWS | RANGE} BETWEEN"]),z={tokenizerOptions:{reservedSelect:W,reservedClauses:[...K,...X],reservedSetOperations:q,reservedJoins:j,reservedPhrases:Q,reservedKeywords:Y,reservedFunctionNames:V,extraParens:["[]"],stringTypes:['""-bs',"''-bs"],identTypes:["``"],variableTypes:[{quote:"{}",prefixes:["$"],requirePrefix:!0}],operators:["%","~","^","|","&","<=>","==","!","||"]},formatOptions:{onelineClauses:X}},$=O({all:["ACCESSIBLE","ACCOUNT","ACTION","ADD","ADMIN","AFTER","AGAINST","AGGREGATE","ALL","ALGORITHM","ALTER","ALWAYS","ANALYZE","AND","ANY","AS","ASC","ASCII","ASENSITIVE","AT","ATOMIC","AUTHORS","AUTO_INCREMENT","AUTOEXTEND_SIZE","AUTO","AVG","AVG_ROW_LENGTH","BACKUP","BEFORE","BEGIN","BETWEEN","BIGINT","BINARY","BINLOG","BIT","BLOB","BLOCK","BODY","BOOL","BOOLEAN","BOTH","BTREE","BY","BYTE","CACHE","CALL","CASCADE","CASCADED","CASE","CATALOG_NAME","CHAIN","CHANGE","CHANGED","CHAR","CHARACTER","CHARSET","CHECK","CHECKPOINT","CHECKSUM","CIPHER","CLASS_ORIGIN","CLIENT","CLOB","CLOSE","COALESCE","CODE","COLLATE","COLLATION","COLUMN","COLUMN_NAME","COLUMNS","COLUMN_ADD","COLUMN_CHECK","COLUMN_CREATE","COLUMN_DELETE","COLUMN_GET","COMMENT","COMMIT","COMMITTED","COMPACT","COMPLETION","COMPRESSED","CONCURRENT","CONDITION","CONNECTION","CONSISTENT","CONSTRAINT","CONSTRAINT_CATALOG","CONSTRAINT_NAME","CONSTRAINT_SCHEMA","CONTAINS","CONTEXT","CONTINUE","CONTRIBUTORS","CONVERT","CPU","CREATE","CROSS","CUBE","CURRENT","CURRENT_DATE","CURRENT_POS","CURRENT_ROLE","CURRENT_TIME","CURRENT_TIMESTAMP","CURRENT_USER","CURSOR","CURSOR_NAME","CYCLE","DATA","DATABASE","DATABASES","DATAFILE","DATE","DATETIME","DAY","DAY_HOUR","DAY_MICROSECOND","DAY_MINUTE","DAY_SECOND","DEALLOCATE","DEC","DECIMAL","DECLARE","DEFAULT","DEFINER","DELAYED","DELAY_KEY_WRITE","DELETE","DELETE_DOMAIN_ID","DESC","DESCRIBE","DES_KEY_FILE","DETERMINISTIC","DIAGNOSTICS","DIRECTORY","DISABLE","DISCARD","DISK","DISTINCT","DISTINCTROW","DIV","DO","DOUBLE","DO_DOMAIN_IDS","DROP","DUAL","DUMPFILE","DUPLICATE","DYNAMIC","EACH","ELSE","ELSEIF","ELSIF","EMPTY","ENABLE","ENCLOSED","END","ENDS","ENGINE","ENGINES","ENUM","ERROR","ERRORS","ESCAPE","ESCAPED","EVENT","EVENTS","EVERY","EXAMINED","EXCEPT","EXCHANGE","EXCLUDE","EXECUTE","EXCEPTION","EXISTS","EXIT","EXPANSION","EXPIRE","EXPORT","EXPLAIN","EXTENDED","EXTENT_SIZE","FALSE","FAST","FAULTS","FEDERATED","FETCH","FIELDS","FILE","FIRST","FIXED","FLOAT","FLOAT4","FLOAT8","FLUSH","FOLLOWING","FOLLOWS","FOR","FORCE","FOREIGN","FORMAT","FOUND","FROM","FULL","FULLTEXT","FUNCTION","GENERAL","GENERATED","GET_FORMAT","GET","GLOBAL","GOTO","GRANT","GRANTS","GROUP","HANDLER","HARD","HASH","HAVING","HELP","HIGH_PRIORITY","HISTORY","HOST","HOSTS","HOUR","HOUR_MICROSECOND","HOUR_MINUTE","HOUR_SECOND","IDENTIFIED","IF","IGNORE","IGNORED","IGNORE_DOMAIN_IDS","IGNORE_SERVER_IDS","IMMEDIATE","IMPORT","INTERSECT","IN","INCREMENT","INDEX","INDEXES","INFILE","INITIAL_SIZE","INNER","INOUT","INSENSITIVE","INSERT","INSERT_METHOD","INSTALL","INT","INT1","INT2","INT3","INT4","INT8","INTEGER","INTERVAL","INVISIBLE","INTO","IO","IO_THREAD","IPC","IS","ISOLATION","ISOPEN","ISSUER","ITERATE","INVOKER","JOIN","JSON","JSON_TABLE","KEY","KEYS","KEY_BLOCK_SIZE","KILL","LANGUAGE","LAST","LAST_VALUE","LASTVAL","LEADING","LEAVE","LEAVES","LEFT","LESS","LEVEL","LIKE","LIMIT","LINEAR","LINES","LIST","LOAD","LOCAL","LOCALTIME","LOCALTIMESTAMP","LOCK","LOCKED","LOCKS","LOGFILE","LOGS","LONG","LONGBLOB","LONGTEXT","LOOP","LOW_PRIORITY","MASTER","MASTER_CONNECT_RETRY","MASTER_DELAY","MASTER_GTID_POS","MASTER_HOST","MASTER_LOG_FILE","MASTER_LOG_POS","MASTER_PASSWORD","MASTER_PORT","MASTER_SERVER_ID","MASTER_SSL","MASTER_SSL_CA","MASTER_SSL_CAPATH","MASTER_SSL_CERT","MASTER_SSL_CIPHER","MASTER_SSL_CRL","MASTER_SSL_CRLPATH","MASTER_SSL_KEY","MASTER_SSL_VERIFY_SERVER_CERT","MASTER_USER","MASTER_USE_GTID","MASTER_HEARTBEAT_PERIOD","MATCH","MAX_CONNECTIONS_PER_HOUR","MAX_QUERIES_PER_HOUR","MAX_ROWS","MAX_SIZE","MAX_STATEMENT_TIME","MAX_UPDATES_PER_HOUR","MAX_USER_CONNECTIONS","MAXVALUE","MEDIUM","MEDIUMBLOB","MEDIUMINT","MEDIUMTEXT","MEMORY","MERGE","MESSAGE_TEXT","MICROSECOND","MIDDLEINT","MIGRATE","MINUS","MINUTE","MINUTE_MICROSECOND","MINUTE_SECOND","MINVALUE","MIN_ROWS","MOD","MODE","MODIFIES","MODIFY","MONITOR","MONTH","MUTEX","MYSQL","MYSQL_ERRNO","NAME","NAMES","NATIONAL","NATURAL","NCHAR","NESTED","NEVER","NEW","NEXT","NEXTVAL","NO","NOMAXVALUE","NOMINVALUE","NOCACHE","NOCYCLE","NO_WAIT","NOWAIT","NODEGROUP","NONE","NOT","NOTFOUND","NO_WRITE_TO_BINLOG","NULL","NUMBER","NUMERIC","NVARCHAR","OF","OFFSET","OLD_PASSWORD","ON","ONE","ONLINE","ONLY","OPEN","OPTIMIZE","OPTIONS","OPTION","OPTIONALLY","OR","ORDER","ORDINALITY","OTHERS","OUT","OUTER","OUTFILE","OVER","OVERLAPS","OWNER","PACKAGE","PACK_KEYS","PAGE","PAGE_CHECKSUM","PARSER","PARSE_VCOL_EXPR","PATH","PERIOD","PARTIAL","PARTITION","PARTITIONING","PARTITIONS","PASSWORD","PERSISTENT","PHASE","PLUGIN","PLUGINS","PORT","PORTION","PRECEDES","PRECEDING","PRECISION","PREPARE","PRESERVE","PREV","PREVIOUS","PRIMARY","PRIVILEGES","PROCEDURE","PROCESS","PROCESSLIST","PROFILE","PROFILES","PROXY","PURGE","QUARTER","QUERY","QUICK","RAISE","RANGE","RAW","READ","READ_ONLY","READ_WRITE","READS","REAL","REBUILD","RECOVER","RECURSIVE","REDO_BUFFER_SIZE","REDOFILE","REDUNDANT","REFERENCES","REGEXP","RELAY","RELAYLOG","RELAY_LOG_FILE","RELAY_LOG_POS","RELAY_THREAD","RELEASE","RELOAD","REMOVE","RENAME","REORGANIZE","REPAIR","REPEATABLE","REPLACE","REPLAY","REPLICA","REPLICAS","REPLICA_POS","REPLICATION","REPEAT","REQUIRE","RESET","RESIGNAL","RESTART","RESTORE","RESTRICT","RESUME","RETURNED_SQLSTATE","RETURN","RETURNING","RETURNS","REUSE","REVERSE","REVOKE","RIGHT","RLIKE","ROLE","ROLLBACK","ROLLUP","ROUTINE","ROW","ROWCOUNT","ROWNUM","ROWS","ROWTYPE","ROW_COUNT","ROW_FORMAT","RTREE","SAVEPOINT","SCHEDULE","SCHEMA","SCHEMA_NAME","SCHEMAS","SECOND","SECOND_MICROSECOND","SECURITY","SELECT","SENSITIVE","SEPARATOR","SEQUENCE","SERIAL","SERIALIZABLE","SESSION","SERVER","SET","SETVAL","SHARE","SHOW","SHUTDOWN","SIGNAL","SIGNED","SIMPLE","SKIP","SLAVE","SLAVES","SLAVE_POS","SLOW","SNAPSHOT","SMALLINT","SOCKET","SOFT","SOME","SONAME","SOUNDS","SOURCE","STAGE","STORED","SPATIAL","SPECIFIC","REF_SYSTEM_ID","SQL","SQLEXCEPTION","SQLSTATE","SQLWARNING","SQL_BIG_RESULT","SQL_BUFFER_RESULT","SQL_CACHE","SQL_CALC_FOUND_ROWS","SQL_NO_CACHE","SQL_SMALL_RESULT","SQL_THREAD","SQL_TSI_SECOND","SQL_TSI_MINUTE","SQL_TSI_HOUR","SQL_TSI_DAY","SQL_TSI_WEEK","SQL_TSI_MONTH","SQL_TSI_QUARTER","SQL_TSI_YEAR","SSL","START","STARTING","STARTS","STATEMENT","STATS_AUTO_RECALC","STATS_PERSISTENT","STATS_SAMPLE_PAGES","STATUS","STOP","STORAGE","STRAIGHT_JOIN","STRING","SUBCLASS_ORIGIN","SUBJECT","SUBPARTITION","SUBPARTITIONS","SUPER","SUSPEND","SWAPS","SWITCHES","SYSDATE","SYSTEM","SYSTEM_TIME","TABLE","TABLE_NAME","TABLES","TABLESPACE","TABLE_CHECKSUM","TEMPORARY","TEMPTABLE","TERMINATED","TEXT","THAN","THEN","TIES","TIME","TIMESTAMP","TIMESTAMPADD","TIMESTAMPDIFF","TINYBLOB","TINYINT","TINYTEXT","TO","TRAILING","TRANSACTION","TRANSACTIONAL","THREADS","TRIGGER","TRIGGERS","TRUE","TRUNCATE","TYPE","TYPES","UNBOUNDED","UNCOMMITTED","UNDEFINED","UNDO_BUFFER_SIZE","UNDOFILE","UNDO","UNICODE","UNION","UNIQUE","UNKNOWN","UNLOCK","UNINSTALL","UNSIGNED","UNTIL","UPDATE","UPGRADE","USAGE","USE","USER","USER_RESOURCES","USE_FRM","USING","UTC_DATE","UTC_TIME","UTC_TIMESTAMP","VALUE","VALUES","VARBINARY","VARCHAR","VARCHARACTER","VARCHAR2","VARIABLES","VARYING","VIA","VIEW","VIRTUAL","VISIBLE","VERSIONING","WAIT","WARNINGS","WEEK","WEIGHT_STRING","WHEN","WHERE","WHILE","WINDOW","WITH","WITHIN","WITHOUT","WORK","WRAPPER","WRITE","X509","XOR","XA","XML","YEAR","YEAR_MONTH","ZEROFILL"]}),J=O({all:["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","TINYINT","SMALLINT","MEDIUMINT","INT","INTEGER","BIGINT","DECIMAL","DEC","NUMERIC","FIXED","FLOAT","DOUBLE","DOUBLE PRECISION","REAL","BIT","BINARY","BLOB","CHAR","NATIONAL CHAR","CHAR BYTE","ENUM","VARBINARY","VARCHAR","NATIONAL VARCHAR","TIME","DATETIME","TIMESTAMP","YEAR"]}),Z=h(["SELECT [ALL | DISTINCT | DISTINCTROW]"]),tt=h(["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","SET","CREATE [OR REPLACE] [SQL SECURITY DEFINER | SQL SECURITY INVOKER] VIEW [IF NOT EXISTS]","CREATE [OR REPLACE] [TEMPORARY] TABLE [IF NOT EXISTS]","RETURNING"]),et=h(["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"]),rt=h(["UNION [ALL | DISTINCT]","EXCEPT [ALL | DISTINCT]","INTERSECT [ALL | DISTINCT]","MINUS [ALL | DISTINCT]"]),it=h(["JOIN","{LEFT | RIGHT} [OUTER] JOIN","{INNER | CROSS} JOIN","NATURAL JOIN","NATURAL {LEFT | RIGHT} [OUTER] JOIN","STRAIGHT_JOIN"]),nt=h(["ON {UPDATE | DELETE} [SET NULL | SET DEFAULT]","CHARACTER SET","{ROWS | RANGE} BETWEEN"]),st={tokenizerOptions:{reservedSelect:Z,reservedClauses:[...tt,...et],reservedSetOperations:rt,reservedJoins:it,reservedPhrases:nt,supportsXor:!0,reservedKeywords:$,reservedFunctionNames:J,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:function(e){return e.map(((r,i)=>{const n=e[i+1]||s;return a.SET(r)&&"("===n.text?Object.assign(Object.assign({},r),{type:t.RESERVED_FUNCTION_NAME}):r}))}},formatOptions:{onelineClauses:et}},ot=O({all:["ACCESSIBLE","ACCOUNT","ACTION","ACTIVE","ADD","ADMIN","AFTER","AGAINST","AGGREGATE","ALGORITHM","ALL","ALTER","ALWAYS","ANALYZE","AND","ANY","ARRAY","AS","ASC","ASCII","ASENSITIVE","AT","ATTRIBUTE","AUTHENTICATION","AUTOEXTEND_SIZE","AUTO_INCREMENT","AVG","AVG_ROW_LENGTH","BACKUP","BEFORE","BEGIN","BETWEEN","BIGINT","BINARY","BINLOG","BIT","BLOB","BLOCK","BOOL","BOOLEAN","BOTH","BTREE","BUCKETS","BY","BYTE","CACHE","CALL","CASCADE","CASCADED","CASE","CATALOG_NAME","CHAIN","CHALLENGE_RESPONSE","CHANGE","CHANGED","CHANNEL","CHAR","CHARACTER","CHARSET","CHECK","CHECKSUM","CIPHER","CLASS_ORIGIN","CLIENT","CLONE","CLOSE","COALESCE","CODE","COLLATE","COLLATION","COLUMN","COLUMNS","COLUMN_FORMAT","COLUMN_NAME","COMMENT","COMMIT","COMMITTED","COMPACT","COMPLETION","COMPONENT","COMPRESSED","COMPRESSION","CONCURRENT","CONDITION","CONNECTION","CONSISTENT","CONSTRAINT","CONSTRAINT_CATALOG","CONSTRAINT_NAME","CONSTRAINT_SCHEMA","CONTAINS","CONTEXT","CONTINUE","CONVERT","CPU","CREATE","CROSS","CUBE","CUME_DIST","CURRENT","CURRENT_DATE","CURRENT_TIME","CURRENT_TIMESTAMP","CURRENT_USER","CURSOR","CURSOR_NAME","DATA","DATABASE","DATABASES","DATAFILE","DATE","DATETIME","DAY","DAY_HOUR","DAY_MICROSECOND","DAY_MINUTE","DAY_SECOND","DEALLOCATE","DEC","DECIMAL","DECLARE","DEFAULT","DEFAULT_AUTH","DEFINER","DEFINITION","DELAYED","DELAY_KEY_WRITE","DELETE","DENSE_RANK","DESC","DESCRIBE","DESCRIPTION","DETERMINISTIC","DIAGNOSTICS","DIRECTORY","DISABLE","DISCARD","DISK","DISTINCT","DISTINCTROW","DIV","DO","DOUBLE","DROP","DUAL","DUMPFILE","DUPLICATE","DYNAMIC","EACH","ELSE","ELSEIF","EMPTY","ENABLE","ENCLOSED","ENCRYPTION","END","ENDS","ENFORCED","ENGINE","ENGINES","ENGINE_ATTRIBUTE","ENUM","ERROR","ERRORS","ESCAPE","ESCAPED","EVENT","EVENTS","EVERY","EXCEPT","EXCHANGE","EXCLUDE","EXECUTE","EXISTS","EXIT","EXPANSION","EXPIRE","EXPLAIN","EXPORT","EXTENDED","EXTENT_SIZE","FACTOR","FAILED_LOGIN_ATTEMPTS","FALSE","FAST","FAULTS","FETCH","FIELDS","FILE","FILE_BLOCK_SIZE","FILTER","FINISH","FIRST","FIRST_VALUE","FIXED","FLOAT","FLOAT4","FLOAT8","FLUSH","FOLLOWING","FOLLOWS","FOR","FORCE","FOREIGN","FORMAT","FOUND","FROM","FULL","FULLTEXT","FUNCTION","GENERAL","GENERATED","GEOMCOLLECTION","GEOMETRY","GEOMETRYCOLLECTION","GET","GET_FORMAT","GET_MASTER_PUBLIC_KEY","GET_SOURCE_PUBLIC_KEY","GLOBAL","GRANT","GRANTS","GROUP","GROUPING","GROUPS","GROUP_REPLICATION","GTID_ONLY","HANDLER","HASH","HAVING","HELP","HIGH_PRIORITY","HISTOGRAM","HISTORY","HOST","HOSTS","HOUR","HOUR_MICROSECOND","HOUR_MINUTE","HOUR_SECOND","IDENTIFIED","IF","IGNORE","IGNORE_SERVER_IDS","IMPORT","IN","INACTIVE","INDEX","INDEXES","INFILE","INITIAL","INITIAL_SIZE","INITIATE","INNER","INOUT","INSENSITIVE","INSERT","INSERT_METHOD","INSTALL","INSTANCE","IN","INT","INT1","INT2","INT3","INT4","INT8","INTEGER","INTERSECT","INTERVAL","INTO","INVISIBLE","INVOKER","IO","IO_AFTER_GTIDS","IO_BEFORE_GTIDS","IO_THREAD","IPC","IS","ISOLATION","ISSUER","ITERATE","JOIN","JSON","JSON_TABLE","JSON_VALUE","KEY","KEYRING","KEYS","KEY_BLOCK_SIZE","KILL","LAG","LANGUAGE","LAST","LAST_VALUE","LATERAL","LEAD","LEADING","LEAVE","LEAVES","LEFT","LESS","LEVEL","LIKE","LIMIT","LINEAR","LINES","LINESTRING","LIST","LOAD","LOCAL","LOCALTIME","LOCALTIMESTAMP","LOCK","LOCKED","LOCKS","LOGFILE","LOGS","LONG","LONGBLOB","LONGTEXT","LOOP","LOW_PRIORITY","MASTER","MASTER_AUTO_POSITION","MASTER_BIND","MASTER_COMPRESSION_ALGORITHMS","MASTER_CONNECT_RETRY","MASTER_DELAY","MASTER_HEARTBEAT_PERIOD","MASTER_HOST","MASTER_LOG_FILE","MASTER_LOG_POS","MASTER_PASSWORD","MASTER_PORT","MASTER_PUBLIC_KEY_PATH","MASTER_RETRY_COUNT","MASTER_SSL","MASTER_SSL_CA","MASTER_SSL_CAPATH","MASTER_SSL_CERT","MASTER_SSL_CIPHER","MASTER_SSL_CRL","MASTER_SSL_CRLPATH","MASTER_SSL_KEY","MASTER_SSL_VERIFY_SERVER_CERT","MASTER_TLS_CIPHERSUITES","MASTER_TLS_VERSION","MASTER_USER","MASTER_ZSTD_COMPRESSION_LEVEL","MATCH","MAXVALUE","MAX_CONNECTIONS_PER_HOUR","MAX_QUERIES_PER_HOUR","MAX_ROWS","MAX_SIZE","MAX_UPDATES_PER_HOUR","MAX_USER_CONNECTIONS","MEDIUM","MEDIUMBLOB","MEDIUMINT","MEDIUMTEXT","MEMBER","MEMORY","MERGE","MESSAGE_TEXT","MICROSECOND","MIDDLEINT","MIGRATE","MINUTE","MINUTE_MICROSECOND","MINUTE_SECOND","MIN_ROWS","MOD","MODE","MODIFIES","MODIFY","MONTH","MULTILINESTRING","MULTIPOINT","MULTIPOLYGON","MUTEX","MYSQL_ERRNO","NAME","NAMES","NATIONAL","NATURAL","NCHAR","NDB","NDBCLUSTER","NESTED","NETWORK_NAMESPACE","NEVER","NEW","NEXT","NO","NODEGROUP","NONE","NOT","NOWAIT","NO_WAIT","NO_WRITE_TO_BINLOG","NTH_VALUE","NTILE","NULL","NULLS","NUMBER","NUMERIC","NVARCHAR","OF","OFF","OFFSET","OJ","OLD","ON","ONE","ONLY","OPEN","OPTIMIZE","OPTIMIZER_COSTS","OPTION","OPTIONAL","OPTIONALLY","OPTIONS","OR","ORDER","ORDINALITY","ORGANIZATION","OTHERS","OUT","OUTER","OUTFILE","OVER","OWNER","PACK_KEYS","PAGE","PARSER","PARTIAL","PARTITION","PARTITIONING","PARTITIONS","PASSWORD","PASSWORD_LOCK_TIME","PATH","PERCENT_RANK","PERSIST","PERSIST_ONLY","PHASE","PLUGIN","PLUGINS","PLUGIN_DIR","POINT","POLYGON","PORT","PRECEDES","PRECEDING","PRECISION","PREPARE","PRESERVE","PREV","PRIMARY","PRIVILEGES","PRIVILEGE_CHECKS_USER","PROCEDURE","PROCESS","PROCESSLIST","PROFILE","PROFILES","PROXY","PURGE","QUARTER","QUERY","QUICK","RANDOM","RANGE","RANK","READ","READS","READ_ONLY","READ_WRITE","REAL","REBUILD","RECOVER","RECURSIVE","REDO_BUFFER_SIZE","REDUNDANT","REFERENCE","REFERENCES","REGEXP","REGISTRATION","RELAY","RELAYLOG","RELAY_LOG_FILE","RELAY_LOG_POS","RELAY_THREAD","RELEASE","RELOAD","REMOVE","RENAME","REORGANIZE","REPAIR","REPEAT","REPEATABLE","REPLACE","REPLICA","REPLICAS","REPLICATE_DO_DB","REPLICATE_DO_TABLE","REPLICATE_IGNORE_DB","REPLICATE_IGNORE_TABLE","REPLICATE_REWRITE_DB","REPLICATE_WILD_DO_TABLE","REPLICATE_WILD_IGNORE_TABLE","REPLICATION","REQUIRE","REQUIRE_ROW_FORMAT","RESET","RESIGNAL","RESOURCE","RESPECT","RESTART","RESTORE","RESTRICT","RESUME","RETAIN","RETURN","RETURNED_SQLSTATE","RETURNING","RETURNS","REUSE","REVERSE","REVOKE","RIGHT","RLIKE","ROLE","ROLLBACK","ROLLUP","ROTATE","ROUTINE","ROW","ROWS","ROW_COUNT","ROW_FORMAT","ROW_NUMBER","RTREE","SAVEPOINT","SCHEDULE","SCHEMA","SCHEMAS","SCHEMA_NAME","SECOND","SECONDARY","SECONDARY_ENGINE","SECONDARY_ENGINE_ATTRIBUTE","SECONDARY_LOAD","SECONDARY_UNLOAD","SECOND_MICROSECOND","SECURITY","SELECT","SENSITIVE","SEPARATOR","SERIAL","SERIALIZABLE","SERVER","SESSION","SET","SHARE","SHOW","SHUTDOWN","SIGNAL","SIGNED","SIMPLE","SKIP","SLAVE","SLOW","SMALLINT","SNAPSHOT","SOCKET","SOME","SONAME","SOUNDS","SOURCE","SOURCE_AUTO_POSITION","SOURCE_BIND","SOURCE_COMPRESSION_ALGORITHMS","SOURCE_CONNECT_RETRY","SOURCE_DELAY","SOURCE_HEARTBEAT_PERIOD","SOURCE_HOST","SOURCE_LOG_FILE","SOURCE_LOG_POS","SOURCE_PASSWORD","SOURCE_PORT","SOURCE_PUBLIC_KEY_PATH","SOURCE_RETRY_COUNT","SOURCE_SSL","SOURCE_SSL_CA","SOURCE_SSL_CAPATH","SOURCE_SSL_CERT","SOURCE_SSL_CIPHER","SOURCE_SSL_CRL","SOURCE_SSL_CRLPATH","SOURCE_SSL_KEY","SOURCE_SSL_VERIFY_SERVER_CERT","SOURCE_TLS_CIPHERSUITES","SOURCE_TLS_VERSION","SOURCE_USER","SOURCE_ZSTD_COMPRESSION_LEVEL","SPATIAL","SPECIFIC","SQL","SQLEXCEPTION","SQLSTATE","SQLWARNING","SQL_AFTER_GTIDS","SQL_AFTER_MTS_GAPS","SQL_BEFORE_GTIDS","SQL_BIG_RESULT","SQL_BUFFER_RESULT","SQL_CALC_FOUND_ROWS","SQL_NO_CACHE","SQL_SMALL_RESULT","SQL_THREAD","SQL_TSI_DAY","SQL_TSI_HOUR","SQL_TSI_MINUTE","SQL_TSI_MONTH","SQL_TSI_QUARTER","SQL_TSI_SECOND","SQL_TSI_WEEK","SQL_TSI_YEAR","SRID","SSL","STACKED","START","STARTING","STARTS","STATS_AUTO_RECALC","STATS_PERSISTENT","STATS_SAMPLE_PAGES","STATUS","STOP","STORAGE","STORED","STRAIGHT_JOIN","STREAM","STRING","SUBCLASS_ORIGIN","SUBJECT","SUBPARTITION","SUBPARTITIONS","SUPER","SUSPEND","SWAPS","SWITCHES","SYSTEM","TABLE","TABLES","TABLESPACE","TABLE_CHECKSUM","TABLE_NAME","TEMPORARY","TEMPTABLE","TERMINATED","TEXT","THAN","THEN","THREAD_PRIORITY","TIES","TIME","TIMESTAMP","TIMESTAMPADD","TIMESTAMPDIFF","TINYBLOB","TINYINT","TINYTEXT","TLS","TO","TRAILING","TRANSACTION","TRIGGER","TRIGGERS","TRUE","TRUNCATE","TYPE","TYPES","UNBOUNDED","UNCOMMITTED","UNDEFINED","UNDO","UNDOFILE","UNDO_BUFFER_SIZE","UNICODE","UNINSTALL","UNION","UNIQUE","UNKNOWN","UNLOCK","UNREGISTER","UNSIGNED","UNTIL","UPDATE","UPGRADE","USAGE","USE","USER","USER_RESOURCES","USE_FRM","USING","UTC_DATE","UTC_TIME","UTC_TIMESTAMP","VALIDATION","VALUE","VALUES","VARBINARY","VARCHAR","VARCHARACTER","VARIABLES","VARYING","VCPU","VIEW","VIRTUAL","VISIBLE","WAIT","WARNINGS","WEEK","WEIGHT_STRING","WHEN","WHERE","WHILE","WINDOW","WITH","WITHOUT","WORK","WRAPPER","WRITE","X509","XA","XID","XML","XOR","YEAR","YEAR_MONTH","ZEROFILL","ZONE"]}),at=O({all:["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","USER","UTC_DATE","UTC_TIME","UTC_TIMESTAMP","UUID","UUID_SHORT","UUID_TO_BIN","VALIDATE_PASSWORD_STRENGTH","VALUES","VAR_POP","VAR_SAMP","VARIANCE","VERSION","WAIT_FOR_EXECUTED_GTID_SET","WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS","WEEK","WEEKDAY","WEEKOFYEAR","WEIGHT_STRING","YEAR","YEARWEEK","BIT","TINYINT","SMALLINT","MEDIUMINT","INT","INTEGER","BIGINT","DECIMAL","DEC","NUMERIC","FIXED","FLOAT","DOUBLE","DOUBLE PRECISION","REAL","DATETIME","TIMESTAMP","TIME","YEAR","CHAR","NATIONAL CHAR","VARCHAR","NATIONAL VARCHAR","BINARY","VARBINARY","BLOB","TEXT","ENUM"]}),Et=h(["SELECT [ALL | DISTINCT | DISTINCTROW]"]),ht=h(["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","SET","CREATE [OR REPLACE] [SQL SECURITY DEFINER | SQL SECURITY INVOKER] VIEW [IF NOT EXISTS]","CREATE [TEMPORARY] TABLE [IF NOT EXISTS]"]),lt=h(["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"]),ut=h(["UNION [ALL | DISTINCT]"]),ct=h(["JOIN","{LEFT | RIGHT} [OUTER] JOIN","{INNER | CROSS} JOIN","NATURAL [INNER] JOIN","NATURAL {LEFT | RIGHT} [OUTER] JOIN","STRAIGHT_JOIN"]),Tt=h(["ON {UPDATE | DELETE} [SET NULL]","CHARACTER SET","{ROWS | RANGE} BETWEEN"]),Rt={tokenizerOptions:{reservedSelect:Et,reservedClauses:[...ht,...lt],reservedSetOperations:ut,reservedJoins:ct,reservedPhrases:Tt,supportsXor:!0,reservedKeywords:ot,reservedFunctionNames:at,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:function(e){return e.map(((r,i)=>{const n=e[i+1]||s;return a.SET(r)&&"("===n.text?Object.assign(Object.assign({},r),{type:t.RESERVED_FUNCTION_NAME}):r}))}},formatOptions:{onelineClauses:lt}},pt=O({all:["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"]}),St=O({all:["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","ISOLATION","IGNORE","ILIKE","IN","INCLUDE","INCREMENT","INDEX","INFER","INLINE","INNER","INSERT","INTERSECT","INTO","IS","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"]}),At=h(["SELECT [ALL | DISTINCT]"]),dt=h(["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"]),Nt=h(["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"]),Ot=h(["UNION [ALL]","EXCEPT [ALL]","INTERSECT [ALL]"]),Ct=h(["JOIN","{LEFT | RIGHT} [OUTER] JOIN","INNER JOIN"]),_t=h(["{ROWS | RANGE | GROUPS} BETWEEN"]),It={tokenizerOptions:{reservedSelect:At,reservedClauses:[...dt,...Nt],reservedSetOperations:Ot,reservedJoins:Ct,reservedPhrases:_t,supportsXor:!0,reservedKeywords:St,reservedFunctionNames:pt,stringTypes:['""-bs',"''-bs"],identTypes:["``"],extraParens:["[]","{}"],paramTypes:{positional:!0,numbered:["$"],named:["$"]},lineCommentTypes:["#","--"],operators:["%","==",":","||"]},formatOptions:{onelineClauses:Nt}},Lt=O({all:["ADD","AGENT","AGGREGATE","ALL","ALTER","AND","ANY","ARRAY","ARROW","AS","ASC","AT","ATTRIBUTE","AUTHID","AVG","BEGIN","BETWEEN","BFILE_BASE","BINARY","BLOB_BASE","BLOCK","BODY","BOTH","BOUND","BULK","BY","BYTE","CALL","CALLING","CASCADE","CASE","CHAR","CHAR_BASE","CHARACTER","CHARSET","CHARSETFORM","CHARSETID","CHECK","CLOB_BASE","CLOSE","CLUSTER","CLUSTERS","COLAUTH","COLLECT","COLUMNS","COMMENT","COMMIT","COMMITTED","COMPILED","COMPRESS","CONNECT","CONSTANT","CONSTRUCTOR","CONTEXT","CONVERT","COUNT","CRASH","CREATE","CURRENT","CURSOR","CUSTOMDATUM","DANGLING","DATA","DATE","DATE_BASE","DAY","DECIMAL","DECLARE","DEFAULT","DEFINE","DELETE","DESC","DETERMINISTIC","DISTINCT","DOUBLE","DROP","DURATION","ELEMENT","ELSE","ELSIF","EMPTY","END","ESCAPE","EXCEPT","EXCEPTION","EXCEPTIONS","EXCLUSIVE","EXECUTE","EXISTS","EXIT","EXTERNAL","FETCH","FINAL","FIXED","FLOAT","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","INT","INTERFACE","INTERSECT","INTERVAL","INTO","INVALIDATE","IS","ISOLATION","JAVA","LANGUAGE","LARGE","LEADING","LENGTH","LEVEL","LIBRARY","LIKE","LIKE2","LIKE4","LIKEC","LIMIT","LIMITED","LOCAL","LOCK","LONG","LOOP","MAP","MAX","MAXLEN","MEMBER","MERGE","MIN","MINUS","MINUTE","MOD","MODE","MODIFY","MONTH","MULTISET","NAME","NAN","NATIONAL","NATIVE","NCHAR","NEW","NOCOMPRESS","NOCOPY","NOT","NOWAIT","NULL","NUMBER_BASE","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","PRECISION","PRIOR","PRIVATE","PROCEDURE","PUBLIC","RAISE","RANGE","RAW","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","TIMESTAMP","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","VARYING","VIEW","VIEWS","VOID","WHEN","WHERE","WHILE","WITH","WORK","WRAPPED","WRITE","YEAR","ZONE"]}),ft=O({numeric:["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"],character:["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"],datetime:["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"],comparison:["GREATEST","LEAST"],conversion:["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"],largeObject:["BFILENAME","EMPTY_BLOB,","EMPTY_CLOB"],collection:["CARDINALITY","COLLECT","POWERMULTISET","POWERMULTISET_BY_CARDINALITY","SET"],hierarchical:["SYS_CONNECT_BY_PATH"],dataMining:["CLUSTER_ID","CLUSTER_PROBABILITY","CLUSTER_SET","FEATURE_ID","FEATURE_SET","FEATURE_VALUE","PREDICTION","PREDICTION_COST","PREDICTION_DETAILS","PREDICTION_PROBABILITY","PREDICTION_SET"],xml:["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"],encoding:["DECODE","DUMP","ORA_HASH","VSIZE"],nullRelated:["COALESCE","LNNVL","NULLIF","NVL","NVL2"],env:["SYS_CONTEXT","SYS_GUID","SYS_TYPEID","UID","USER","USERENV"],aggregate:["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"],window:["FIRST_VALUE","LAG","LAST_VALUE","LEAD","NTILE","RATIO_TO_REPORT","ROW_NUMBER"],objectReference:["DEREF","MAKE_REF","REF","REFTOHEX","VALUE"],model:["CV","ITERATION_NUMBER","PRESENTNNV","PRESENTV","PREVIOUS"],dataTypes:["VARCHAR2","NVARCHAR2","NUMBER","FLOAT","TIMESTAMP","INTERVAL YEAR","INTERVAL DAY","RAW","UROWID","NCHAR","CHARACTER","CHAR","CHARACTER VARYING","CHAR VARYING","NATIONAL CHARACTER","NATIONAL CHAR","NATIONAL CHARACTER VARYING","NATIONAL CHAR VARYING","NCHAR VARYING","NUMERIC","DECIMAL","FLOAT","VARCHAR"]}),mt=h(["SELECT [ALL | DISTINCT | UNIQUE]"]),yt=h(["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","CREATE [OR REPLACE] [NO FORCE | FORCE] [EDITIONING | EDITIONABLE | EDITIONABLE EDITIONING | NONEDITIONABLE] VIEW","CREATE MATERIALIZED VIEW","CREATE [GLOBAL TEMPORARY | PRIVATE TEMPORARY | SHARDED | DUPLICATED | IMMUTABLE BLOCKCHAIN | BLOCKCHAIN | IMMUTABLE] TABLE","RETURNING"]),xt=h(["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"]),gt=h(["UNION [ALL]","EXCEPT","INTERSECT"]),Pt=h(["JOIN","{LEFT | RIGHT | FULL} [OUTER] JOIN","{INNER | CROSS} JOIN","NATURAL [INNER] JOIN","NATURAL {LEFT | RIGHT | FULL} [OUTER] JOIN","{CROSS | OUTER} APPLY"]),Dt=h(["ON {UPDATE | DELETE} [SET NULL]","ON COMMIT","{ROWS | RANGE} BETWEEN"]),Mt={tokenizerOptions:{reservedSelect:mt,reservedClauses:[...yt,...xt],reservedSetOperations:gt,reservedJoins:Pt,reservedPhrases:Dt,supportsXor:!0,reservedKeywords:Lt,reservedFunctionNames:ft,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:[":"]},paramChars:{},operators:["**",":=","%","~=","^=",">>","<<","=>","@","||"],postProcess:function(e){let r=s;return e.map((e=>a.SET(e)&&a.BY(r)?Object.assign(Object.assign({},e),{type:t.RESERVED_KEYWORD}):(E(e.type)&&(r=e),e)))}},formatOptions:{alwaysDenseOperators:["@"],onelineClauses:xt}},vt=O({math:["ABS","ACOS","ACOSD","ACOSH","ASIN","ASIND","ASINH","ATAN","ATAN2","ATAN2D","ATAND","ATANH","CBRT","CEIL","CEILING","COS","COSD","COSH","COT","COTD","DEGREES","DIV","EXP","FACTORIAL","FLOOR","GCD","LCM","LN","LOG","LOG10","MIN_SCALE","MOD","PI","POWER","RADIANS","RANDOM","ROUND","SCALE","SETSEED","SIGN","SIN","SIND","SINH","SQRT","TAN","TAND","TANH","TRIM_SCALE","TRUNC","WIDTH_BUCKET"],string:["ABS","ASCII","BIT_LENGTH","BTRIM","CHARACTER_LENGTH","CHAR_LENGTH","CHR","CONCAT","CONCAT_WS","FORMAT","INITCAP","LEFT","LENGTH","LOWER","LPAD","LTRIM","MD5","NORMALIZE","OCTET_LENGTH","OVERLAY","PARSE_IDENT","PG_CLIENT_ENCODING","POSITION","QUOTE_IDENT","QUOTE_LITERAL","QUOTE_NULLABLE","REGEXP_MATCH","REGEXP_MATCHES","REGEXP_REPLACE","REGEXP_SPLIT_TO_ARRAY","REGEXP_SPLIT_TO_TABLE","REPEAT","REPLACE","REVERSE","RIGHT","RPAD","RTRIM","SPLIT_PART","SPRINTF","STARTS_WITH","STRING_AGG","STRING_TO_ARRAY","STRING_TO_TABLE","STRPOS","SUBSTR","SUBSTRING","TO_ASCII","TO_HEX","TRANSLATE","TRIM","UNISTR","UPPER"],binary:["BIT_COUNT","BIT_LENGTH","BTRIM","CONVERT","CONVERT_FROM","CONVERT_TO","DECODE","ENCODE","GET_BIT","GET_BYTE","LENGTH","LTRIM","MD5","OCTET_LENGTH","OVERLAY","POSITION","RTRIM","SET_BIT","SET_BYTE","SHA224","SHA256","SHA384","SHA512","STRING_AGG","SUBSTR","SUBSTRING","TRIM"],bitstring:["BIT_COUNT","BIT_LENGTH","GET_BIT","LENGTH","OCTET_LENGTH","OVERLAY","POSITION","SET_BIT","SUBSTRING"],pattern:["REGEXP_MATCH","REGEXP_MATCHES","REGEXP_REPLACE","REGEXP_SPLIT_TO_ARRAY","REGEXP_SPLIT_TO_TABLE"],datatype:["TO_CHAR","TO_DATE","TO_NUMBER","TO_TIMESTAMP"],datetime:["CLOCK_TIMESTAMP","CURRENT_DATE","CURRENT_TIME","CURRENT_TIMESTAMP","DATE_BIN","DATE_PART","DATE_TRUNC","EXTRACT","ISFINITE","JUSTIFY_DAYS","JUSTIFY_HOURS","JUSTIFY_INTERVAL","LOCALTIME","LOCALTIMESTAMP","MAKE_DATE","MAKE_INTERVAL","MAKE_TIME","MAKE_TIMESTAMP","MAKE_TIMESTAMPTZ","NOW","PG_SLEEP","PG_SLEEP_FOR","PG_SLEEP_UNTIL","STATEMENT_TIMESTAMP","TIMEOFDAY","TO_TIMESTAMP","TRANSACTION_TIMESTAMP"],enum:["ENUM_FIRST","ENUM_LAST","ENUM_RANGE"],geometry:["AREA","BOUND_BOX","BOX","CENTER","CIRCLE","DIAGONAL","DIAMETER","HEIGHT","ISCLOSED","ISOPEN","LENGTH","LINE","LSEG","NPOINTS","PATH","PCLOSE","POINT","POLYGON","POPEN","RADIUS","SLOPE","WIDTH"],network:["ABBREV","BROADCAST","FAMILY","HOST","HOSTMASK","INET_MERGE","INET_SAME_FAMILY","MACADDR8_SET7BIT","MASKLEN","NETMASK","NETWORK","SET_MASKLEN","TEXT","TRUNC"],textsearch:["ARRAY_TO_TSVECTOR","GET_CURRENT_TS_CONFIG","JSONB_TO_TSVECTOR","JSON_TO_TSVECTOR","LENGTH","NUMNODE","PHRASETO_TSQUERY","PLAINTO_TSQUERY","QUERYTREE","SETWEIGHT","STRIP","TO_TSQUERY","TO_TSVECTOR","TSQUERY_PHRASE","TSVECTOR_TO_ARRAY","TS_DEBUG","TS_DELETE","TS_FILTER","TS_HEADLINE","TS_LEXIZE","TS_PARSE","TS_RANK","TS_RANK_CD","TS_REWRITE","TS_STAT","TS_TOKEN_TYPE","WEBSEARCH_TO_TSQUERY"],uuid:["UUID"],xml:["CURSOR_TO_XML","CURSOR_TO_XMLSCHEMA","DATABASE_TO_XML","DATABASE_TO_XMLSCHEMA","DATABASE_TO_XML_AND_XMLSCHEMA","NEXTVAL","QUERY_TO_XML","QUERY_TO_XMLSCHEMA","QUERY_TO_XML_AND_XMLSCHEMA","SCHEMA_TO_XML","SCHEMA_TO_XMLSCHEMA","SCHEMA_TO_XML_AND_XMLSCHEMA","STRING","TABLE_TO_XML","TABLE_TO_XMLSCHEMA","TABLE_TO_XML_AND_XMLSCHEMA","XMLAGG","XMLCOMMENT","XMLCONCAT","XMLELEMENT","XMLEXISTS","XMLFOREST","XMLPARSE","XMLPI","XMLROOT","XMLSERIALIZE","XMLTABLE","XML_IS_WELL_FORMED","XML_IS_WELL_FORMED_CONTENT","XML_IS_WELL_FORMED_DOCUMENT","XPATH","XPATH_EXISTS"],json:["ARRAY_TO_JSON","JSONB_AGG","JSONB_ARRAY_ELEMENTS","JSONB_ARRAY_ELEMENTS_TEXT","JSONB_ARRAY_LENGTH","JSONB_BUILD_ARRAY","JSONB_BUILD_OBJECT","JSONB_EACH","JSONB_EACH_TEXT","JSONB_EXTRACT_PATH","JSONB_EXTRACT_PATH_TEXT","JSONB_INSERT","JSONB_OBJECT","JSONB_OBJECT_AGG","JSONB_OBJECT_KEYS","JSONB_PATH_EXISTS","JSONB_PATH_EXISTS_TZ","JSONB_PATH_MATCH","JSONB_PATH_MATCH_TZ","JSONB_PATH_QUERY","JSONB_PATH_QUERY_ARRAY","JSONB_PATH_QUERY_ARRAY_TZ","JSONB_PATH_QUERY_FIRST","JSONB_PATH_QUERY_FIRST_TZ","JSONB_PATH_QUERY_TZ","JSONB_POPULATE_RECORD","JSONB_POPULATE_RECORDSET","JSONB_PRETTY","JSONB_SET","JSONB_SET_LAX","JSONB_STRIP_NULLS","JSONB_TO_RECORD","JSONB_TO_RECORDSET","JSONB_TYPEOF","JSON_AGG","JSON_ARRAY_ELEMENTS","JSON_ARRAY_ELEMENTS_TEXT","JSON_ARRAY_LENGTH","JSON_BUILD_ARRAY","JSON_BUILD_OBJECT","JSON_EACH","JSON_EACH_TEXT","JSON_EXTRACT_PATH","JSON_EXTRACT_PATH_TEXT","JSON_OBJECT","JSON_OBJECT_AGG","JSON_OBJECT_KEYS","JSON_POPULATE_RECORD","JSON_POPULATE_RECORDSET","JSON_STRIP_NULLS","JSON_TO_RECORD","JSON_TO_RECORDSET","JSON_TYPEOF","ROW_TO_JSON","TO_JSON","TO_JSONB","TO_TIMESTAMP"],sequence:["CURRVAL","LASTVAL","NEXTVAL","SETVAL"],conditional:["COALESCE","GREATEST","LEAST","NULLIF"],array:["ARRAY_AGG","ARRAY_APPEND","ARRAY_CAT","ARRAY_DIMS","ARRAY_FILL","ARRAY_LENGTH","ARRAY_LOWER","ARRAY_NDIMS","ARRAY_POSITION","ARRAY_POSITIONS","ARRAY_PREPEND","ARRAY_REMOVE","ARRAY_REPLACE","ARRAY_TO_STRING","ARRAY_UPPER","CARDINALITY","STRING_TO_ARRAY","TRIM_ARRAY","UNNEST"],range:["ISEMPTY","LOWER","LOWER_INC","LOWER_INF","MULTIRANGE","RANGE_MERGE","UPPER","UPPER_INC","UPPER_INF"],aggregate:["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"],window:["CUME_DIST","DENSE_RANK","FIRST_VALUE","LAG","LAST_VALUE","LEAD","NTH_VALUE","NTILE","PERCENT_RANK","RANK","ROW_NUMBER"],set:["GENERATE_SERIES","GENERATE_SUBSCRIPTS"],sysInfo:["ACLDEFAULT","ACLEXPLODE","COL_DESCRIPTION","CURRENT_CATALOG","CURRENT_DATABASE","CURRENT_QUERY","CURRENT_ROLE","CURRENT_SCHEMA","CURRENT_SCHEMAS","CURRENT_USER","FORMAT_TYPE","HAS_ANY_COLUMN_PRIVILEGE","HAS_COLUMN_PRIVILEGE","HAS_DATABASE_PRIVILEGE","HAS_FOREIGN_DATA_WRAPPER_PRIVILEGE","HAS_FUNCTION_PRIVILEGE","HAS_LANGUAGE_PRIVILEGE","HAS_SCHEMA_PRIVILEGE","HAS_SEQUENCE_PRIVILEGE","HAS_SERVER_PRIVILEGE","HAS_TABLESPACE_PRIVILEGE","HAS_TABLE_PRIVILEGE","HAS_TYPE_PRIVILEGE","INET_CLIENT_ADDR","INET_CLIENT_PORT","INET_SERVER_ADDR","INET_SERVER_PORT","MAKEACLITEM","OBJ_DESCRIPTION","PG_BACKEND_PID","PG_BLOCKING_PIDS","PG_COLLATION_IS_VISIBLE","PG_CONF_LOAD_TIME","PG_CONTROL_CHECKPOINT","PG_CONTROL_INIT","PG_CONTROL_SYSTEM","PG_CONVERSION_IS_VISIBLE","PG_CURRENT_LOGFILE","PG_CURRENT_SNAPSHOT","PG_CURRENT_XACT_ID","PG_CURRENT_XACT_ID_IF_ASSIGNED","PG_DESCRIBE_OBJECT","PG_FUNCTION_IS_VISIBLE","PG_GET_CATALOG_FOREIGN_KEYS","PG_GET_CONSTRAINTDEF","PG_GET_EXPR","PG_GET_FUNCTIONDEF","PG_GET_FUNCTION_ARGUMENTS","PG_GET_FUNCTION_IDENTITY_ARGUMENTS","PG_GET_FUNCTION_RESULT","PG_GET_INDEXDEF","PG_GET_KEYWORDS","PG_GET_OBJECT_ADDRESS","PG_GET_OWNED_SEQUENCE","PG_GET_RULEDEF","PG_GET_SERIAL_SEQUENCE","PG_GET_STATISTICSOBJDEF","PG_GET_TRIGGERDEF","PG_GET_USERBYID","PG_GET_VIEWDEF","PG_HAS_ROLE","PG_IDENTIFY_OBJECT","PG_IDENTIFY_OBJECT_AS_ADDRESS","PG_INDEXAM_HAS_PROPERTY","PG_INDEX_COLUMN_HAS_PROPERTY","PG_INDEX_HAS_PROPERTY","PG_IS_OTHER_TEMP_SCHEMA","PG_JIT_AVAILABLE","PG_LAST_COMMITTED_XACT","PG_LISTENING_CHANNELS","PG_MY_TEMP_SCHEMA","PG_NOTIFICATION_QUEUE_USAGE","PG_OPCLASS_IS_VISIBLE","PG_OPERATOR_IS_VISIBLE","PG_OPFAMILY_IS_VISIBLE","PG_OPTIONS_TO_TABLE","PG_POSTMASTER_START_TIME","PG_SAFE_SNAPSHOT_BLOCKING_PIDS","PG_SNAPSHOT_XIP","PG_SNAPSHOT_XMAX","PG_SNAPSHOT_XMIN","PG_STATISTICS_OBJ_IS_VISIBLE","PG_TABLESPACE_DATABASES","PG_TABLESPACE_LOCATION","PG_TABLE_IS_VISIBLE","PG_TRIGGER_DEPTH","PG_TS_CONFIG_IS_VISIBLE","PG_TS_DICT_IS_VISIBLE","PG_TS_PARSER_IS_VISIBLE","PG_TS_TEMPLATE_IS_VISIBLE","PG_TYPEOF","PG_TYPE_IS_VISIBLE","PG_VISIBLE_IN_SNAPSHOT","PG_XACT_COMMIT_TIMESTAMP","PG_XACT_COMMIT_TIMESTAMP_ORIGIN","PG_XACT_STATUS","PQSERVERVERSION","ROW_SECURITY_ACTIVE","SESSION_USER","SHOBJ_DESCRIPTION","TO_REGCLASS","TO_REGCOLLATION","TO_REGNAMESPACE","TO_REGOPER","TO_REGOPERATOR","TO_REGPROC","TO_REGPROCEDURE","TO_REGROLE","TO_REGTYPE","TXID_CURRENT","TXID_CURRENT_IF_ASSIGNED","TXID_CURRENT_SNAPSHOT","TXID_SNAPSHOT_XIP","TXID_SNAPSHOT_XMAX","TXID_SNAPSHOT_XMIN","TXID_STATUS","TXID_VISIBLE_IN_SNAPSHOT","USER","VERSION"],sysAdmin:["BRIN_DESUMMARIZE_RANGE","BRIN_SUMMARIZE_NEW_VALUES","BRIN_SUMMARIZE_RANGE","CONVERT_FROM","CURRENT_SETTING","GIN_CLEAN_PENDING_LIST","PG_ADVISORY_LOCK","PG_ADVISORY_LOCK_SHARED","PG_ADVISORY_UNLOCK","PG_ADVISORY_UNLOCK_ALL","PG_ADVISORY_UNLOCK_SHARED","PG_ADVISORY_XACT_LOCK","PG_ADVISORY_XACT_LOCK_SHARED","PG_BACKUP_START_TIME","PG_CANCEL_BACKEND","PG_COLLATION_ACTUAL_VERSION","PG_COLUMN_COMPRESSION","PG_COLUMN_SIZE","PG_COPY_LOGICAL_REPLICATION_SLOT","PG_COPY_PHYSICAL_REPLICATION_SLOT","PG_CREATE_LOGICAL_REPLICATION_SLOT","PG_CREATE_PHYSICAL_REPLICATION_SLOT","PG_CREATE_RESTORE_POINT","PG_CURRENT_WAL_FLUSH_LSN","PG_CURRENT_WAL_INSERT_LSN","PG_CURRENT_WAL_LSN","PG_DATABASE_SIZE","PG_DROP_REPLICATION_SLOT","PG_EXPORT_SNAPSHOT","PG_FILENODE_RELATION","PG_GET_WAL_REPLAY_PAUSE_STATE","PG_IMPORT_SYSTEM_COLLATIONS","PG_INDEXES_SIZE","PG_IS_IN_BACKUP","PG_IS_IN_RECOVERY","PG_IS_WAL_REPLAY_PAUSED","PG_LAST_WAL_RECEIVE_LSN","PG_LAST_WAL_REPLAY_LSN","PG_LAST_XACT_REPLAY_TIMESTAMP","PG_LOGICAL_EMIT_MESSAGE","PG_LOGICAL_SLOT_GET_BINARY_CHANGES","PG_LOGICAL_SLOT_GET_CHANGES","PG_LOGICAL_SLOT_PEEK_BINARY_CHANGES","PG_LOGICAL_SLOT_PEEK_CHANGES","PG_LOG_BACKEND_MEMORY_CONTEXTS","PG_LS_ARCHIVE_STATUSDIR","PG_LS_DIR","PG_LS_LOGDIR","PG_LS_TMPDIR","PG_LS_WALDIR","PG_PARTITION_ANCESTORS","PG_PARTITION_ROOT","PG_PARTITION_TREE","PG_PROMOTE","PG_READ_BINARY_FILE","PG_READ_FILE","PG_RELATION_FILENODE","PG_RELATION_FILEPATH","PG_RELATION_SIZE","PG_RELOAD_CONF","PG_REPLICATION_ORIGIN_ADVANCE","PG_REPLICATION_ORIGIN_CREATE","PG_REPLICATION_ORIGIN_DROP","PG_REPLICATION_ORIGIN_OID","PG_REPLICATION_ORIGIN_PROGRESS","PG_REPLICATION_ORIGIN_SESSION_IS_SETUP","PG_REPLICATION_ORIGIN_SESSION_PROGRESS","PG_REPLICATION_ORIGIN_SESSION_RESET","PG_REPLICATION_ORIGIN_SESSION_SETUP","PG_REPLICATION_ORIGIN_XACT_RESET","PG_REPLICATION_ORIGIN_XACT_SETUP","PG_REPLICATION_SLOT_ADVANCE","PG_ROTATE_LOGFILE","PG_SIZE_BYTES","PG_SIZE_PRETTY","PG_START_BACKUP","PG_STAT_FILE","PG_STOP_BACKUP","PG_SWITCH_WAL","PG_TABLESPACE_SIZE","PG_TABLE_SIZE","PG_TERMINATE_BACKEND","PG_TOTAL_RELATION_SIZE","PG_TRY_ADVISORY_LOCK","PG_TRY_ADVISORY_LOCK_SHARED","PG_TRY_ADVISORY_XACT_LOCK","PG_TRY_ADVISORY_XACT_LOCK_SHARED","PG_WALFILE_NAME","PG_WALFILE_NAME_OFFSET","PG_WAL_LSN_DIFF","PG_WAL_REPLAY_PAUSE","PG_WAL_REPLAY_RESUME","SET_CONFIG"],trigger:["SUPPRESS_REDUNDANT_UPDATES_TRIGGER","TSVECTOR_UPDATE_TRIGGER","TSVECTOR_UPDATE_TRIGGER_COLUMN"],eventTrigger:["PG_EVENT_TRIGGER_DDL_COMMANDS","PG_EVENT_TRIGGER_DROPPED_OBJECTS","PG_EVENT_TRIGGER_TABLE_REWRITE_OID","PG_EVENT_TRIGGER_TABLE_REWRITE_REASON","PG_GET_OBJECT_ADDRESS"],stats:["PG_MCV_LIST_ITEMS"],cast:["CAST"],dataTypes:["BIT","BIT VARYING","CHARACTER","CHARACTER VARYING","VARCHAR","CHAR","DECIMAL","NUMERIC","TIME","TIMESTAMP","ENUM"]}),Ut=O({all:["ABORT","ABSOLUTE","ACCESS","ACTION","ADD","ADMIN","AFTER","AGGREGATE","ALL","ALSO","ALTER","ALWAYS","ANALYSE","ANALYZE","AND","ANY","ARRAY","AS","ASC","ASENSITIVE","ASSERTION","ASSIGNMENT","ASYMMETRIC","AT","ATOMIC","ATTACH","ATTRIBUTE","AUTHORIZATION","BACKWARD","BEFORE","BEGIN","BETWEEN","BIGINT","BINARY","BIT","BOOLEAN","BOTH","BREADTH","BY","CACHE","CALL","CALLED","CASCADE","CASCADED","CASE","CAST","CATALOG","CHAIN","CHAR","CHARACTER","CHARACTERISTICS","CHECK","CHECKPOINT","CLASS","CLOSE","CLUSTER","COALESCE","COLLATE","COLLATION","COLUMN","COLUMNS","COMMENT","COMMENTS","COMMIT","COMMITTED","COMPRESSION","CONCURRENTLY","CONFIGURATION","CONFLICT","CONNECTION","CONSTRAINT","CONSTRAINTS","CONTENT","CONTINUE","CONVERSION","COPY","COST","CREATE","CROSS","CSV","CUBE","CURRENT","CURRENT_CATALOG","CURRENT_DATE","CURRENT_ROLE","CURRENT_SCHEMA","CURRENT_TIME","CURRENT_TIMESTAMP","CURRENT_USER","CURSOR","CYCLE","DATA","DATABASE","DAY","DEALLOCATE","DEC","DECIMAL","DECLARE","DEFAULT","DEFAULTS","DEFERRABLE","DEFERRED","DEFINER","DELETE","DELIMITER","DELIMITERS","DEPENDS","DEPTH","DESC","DETACH","DICTIONARY","DISABLE","DISCARD","DISTINCT","DO","DOCUMENT","DOMAIN","DOUBLE","DROP","EACH","ELSE","ENABLE","ENCODING","ENCRYPTED","END","ENUM","ESCAPE","EVENT","EXCEPT","EXCLUDE","EXCLUDING","EXCLUSIVE","EXECUTE","EXISTS","EXPLAIN","EXPRESSION","EXTENSION","EXTERNAL","EXTRACT","FALSE","FAMILY","FETCH","FILTER","FINALIZE","FIRST","FLOAT","FOLLOWING","FOR","FORCE","FOREIGN","FORWARD","FREEZE","FROM","FULL","FUNCTION","FUNCTIONS","GENERATED","GLOBAL","GRANT","GRANTED","GREATEST","GROUP","GROUPING","GROUPS","HANDLER","HAVING","HEADER","HOLD","HOUR","IDENTITY","IF","ILIKE","IMMEDIATE","IMMUTABLE","IMPLICIT","IMPORT","IN","INCLUDE","INCLUDING","INCREMENT","INDEX","INDEXES","INHERIT","INHERITS","INITIALLY","INLINE","INNER","INOUT","INPUT","INSENSITIVE","INSERT","INSTEAD","INT","INTEGER","INTERSECT","INTERVAL","INTO","INVOKER","IS","ISNULL","ISOLATION","JOIN","KEY","LABEL","LANGUAGE","LARGE","LAST","LATERAL","LEADING","LEAKPROOF","LEAST","LEFT","LEVEL","LIKE","LIMIT","LISTEN","LOAD","LOCAL","LOCALTIME","LOCALTIMESTAMP","LOCATION","LOCK","LOCKED","LOGGED","MAPPING","MATCH","MATERIALIZED","MAXVALUE","METHOD","MINUTE","MINVALUE","MODE","MONTH","MOVE","NAME","NAMES","NATIONAL","NATURAL","NCHAR","NEW","NEXT","NFC","NFD","NFKC","NFKD","NO","NONE","NORMALIZE","NORMALIZED","NOT","NOTHING","NOTIFY","NOTNULL","NOWAIT","NULL","NULLIF","NULLS","NUMERIC","OBJECT","OF","OFF","OFFSET","OIDS","OLD","ON","ONLY","OPERATOR","OPTION","OPTIONS","OR","ORDER","ORDINALITY","OTHERS","OUT","OUTER","OVER","OVERLAPS","OVERLAY","OVERRIDING","OWNED","OWNER","PARALLEL","PARSER","PARTIAL","PARTITION","PASSING","PASSWORD","PLACING","PLANS","POLICY","POSITION","PRECEDING","PRECISION","PREPARE","PREPARED","PRESERVE","PRIMARY","PRIOR","PRIVILEGES","PROCEDURAL","PROCEDURE","PROCEDURES","PROGRAM","PUBLICATION","QUOTE","RANGE","READ","REAL","REASSIGN","RECHECK","RECURSIVE","REF","REFERENCES","REFERENCING","REFRESH","REINDEX","RELATIVE","RELEASE","RENAME","REPEATABLE","REPLACE","REPLICA","RESET","RESTART","RESTRICT","RETURN","RETURNING","RETURNS","REVOKE","RIGHT","ROLE","ROLLBACK","ROLLUP","ROUTINE","ROUTINES","ROW","ROWS","RULE","SAVEPOINT","SCHEMA","SCHEMAS","SCROLL","SEARCH","SECOND","SECURITY","SELECT","SEQUENCE","SEQUENCES","SERIALIZABLE","SERVER","SESSION","SESSION_USER","SET","SETOF","SETS","SHARE","SHOW","SIMILAR","SIMPLE","SKIP","SMALLINT","SNAPSHOT","SOME","SQL","STABLE","STANDALONE","START","STATEMENT","STATISTICS","STDIN","STDOUT","STORAGE","STORED","STRICT","STRIP","SUBSCRIPTION","SUBSTRING","SUPPORT","SYMMETRIC","SYSID","SYSTEM","TABLE","TABLES","TABLESAMPLE","TABLESPACE","TEMP","TEMPLATE","TEMPORARY","TEXT","THEN","TIES","TIME","TIMESTAMP","TO","TRAILING","TRANSACTION","TRANSFORM","TREAT","TRIGGER","TRIM","TRUE","TRUNCATE","TRUSTED","TYPE","TYPES","UESCAPE","UNBOUNDED","UNCOMMITTED","UNENCRYPTED","UNION","UNIQUE","UNKNOWN","UNLISTEN","UNLOGGED","UNTIL","UPDATE","USER","USING","VACUUM","VALID","VALIDATE","VALIDATOR","VALUE","VALUES","VARCHAR","VARIADIC","VARYING","VERBOSE","VERSION","VIEW","VIEWS","VOLATILE","WHEN","WHERE","WHITESPACE","WINDOW","WITH","WITHIN","WITHOUT","WORK","WRAPPER","WRITE","XML","XMLATTRIBUTES","XMLCONCAT","XMLELEMENT","XMLEXISTS","XMLFOREST","XMLNAMESPACES","XMLPARSE","XMLPI","XMLROOT","XMLSERIALIZE","XMLTABLE","YEAR","YES","ZONE"]}),kt=h(["SELECT [ALL | DISTINCT]"]),bt=h(["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","SET","CREATE [OR REPLACE] [TEMP | TEMPORARY] [RECURSIVE] VIEW","CREATE MATERIALIZED VIEW [IF NOT EXISTS]","CREATE [GLOBAL | LOCAL] [TEMPORARY | TEMP | UNLOGGED] TABLE [IF NOT EXISTS]","RETURNING"]),Gt=h(["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","COMMIT","COMMIT PREPARED","COPY","CREATE ACCESS METHOD","CREATE AGGREGATE","CREATE CAST","CREATE COLLATION","CREATE CONVERSION","CREATE DATABASE","CREATE DOMAIN","CREATE EVENT TRIGGER","CREATE EXTENSION","CREATE FOREIGN DATA WRAPPER","CREATE FOREIGN TABLE","CREATE FUNCTION","CREATE GROUP","CREATE INDEX","CREATE LANGUAGE","CREATE OPERATOR","CREATE OPERATOR CLASS","CREATE OPERATOR FAMILY","CREATE POLICY","CREATE PROCEDURE","CREATE PUBLICATION","CREATE ROLE","CREATE RULE","CREATE SCHEMA","CREATE SEQUENCE","CREATE SERVER","CREATE STATISTICS","CREATE SUBSCRIPTION","CREATE TABLESPACE","CREATE TEXT SEARCH CONFIGURATION","CREATE TEXT SEARCH DICTIONARY","CREATE TEXT SEARCH PARSER","CREATE TEXT SEARCH TEMPLATE","CREATE TRANSFORM","CREATE TRIGGER","CREATE TYPE","CREATE USER","CREATE USER MAPPING","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 INDEX","DROP LANGUAGE","DROP MATERIALIZED VIEW","DROP OPERATOR","DROP OPERATOR CLASS","DROP OPERATOR FAMILY","DROP OWNED","DROP POLICY","DROP PROCEDURE","DROP PUBLICATION","DROP ROLE","DROP ROUTINE","DROP RULE","DROP SCHEMA","DROP SEQUENCE","DROP SERVER","DROP STATISTICS","DROP SUBSCRIPTION","DROP 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","PREPARE","PREPARE TRANSACTION","REASSIGN OWNED","REFRESH MATERIALIZED VIEW","REINDEX","RELEASE SAVEPOINT","RESET","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"]),Ft=h(["UNION [ALL | DISTINCT]","EXCEPT [ALL | DISTINCT]","INTERSECT [ALL | DISTINCT]"]),Ht=h(["JOIN","{LEFT | RIGHT | FULL} [OUTER] JOIN","{INNER | CROSS} JOIN","NATURAL [INNER] JOIN","NATURAL {LEFT | RIGHT | FULL} [OUTER] JOIN"]),wt=h(["ON {UPDATE | DELETE} [SET NULL | SET DEFAULT]","{ROWS | RANGE | GROUPS} BETWEEN","{TIMESTAMP | TIME} {WITH | WITHOUT} TIME ZONE","IS [NOT] DISTINCT FROM"]),Bt={tokenizerOptions:{reservedSelect:kt,reservedClauses:[...bt,...Gt],reservedSetOperations:Ft,reservedJoins:Ht,reservedPhrases:wt,reservedKeywords:Ut,reservedFunctionNames:vt,nestedBlockComments:!0,extraParens:["[]"],stringTypes:["$$",{quote:"''-qq",prefixes:["U&"]},{quote:"''-bs",prefixes:["E"],requirePrefix:!0},{quote:"''-raw",prefixes:["B","X"],requirePrefix:!0}],identTypes:[{quote:'""-qq',prefixes:["U&"]}],identChars:{rest:"$"},paramTypes:{numbered:["$"]},operators:["%","^","|/","||/","@",":=","&","|","#","~","<<",">>","~>~","~<~","~>=~","~<=~","@-@","@@","##","<->","&&","&<","&>","<<|","&<|","|>>","|&>","<^","^>","?#","?-","?|","?-|","?||","@>","<@","~=","?","@?","?&","->","->>","#>","#>>","#-","=>",">>=","<<=","~~","~~*","!~~","!~~*","~","~*","!~","!~*","-|-","||","@@@","!!","<%","%>","<<%","%>>","<<->","<->>","<<<->","<->>>","::"]},formatOptions:{alwaysDenseOperators:["::"],onelineClauses:Gt}},Vt=O({aggregate:["ANY_VALUE","APPROXIMATE PERCENTILE_DISC","AVG","COUNT","LISTAGG","MAX","MEDIAN","MIN","PERCENTILE_CONT","STDDEV_SAMP","STDDEV_POP","SUM","VAR_SAMP","VAR_POP"],array:["array","array_concat","array_flatten","get_array_length","split_to_array","subarray"],bitwise:["BIT_AND","BIT_OR","BOOL_AND","BOOL_OR"],conditional:["COALESCE","DECODE","GREATEST","LEAST","NVL","NVL2","NULLIF"],dateTime:["ADD_MONTHS","AT TIME ZONE","CONVERT_TIMEZONE","CURRENT_DATE","CURRENT_TIME","CURRENT_TIMESTAMP","DATE_CMP","DATE_CMP_TIMESTAMP","DATE_CMP_TIMESTAMPTZ","DATE_PART_YEAR","DATEADD","DATEDIFF","DATE_PART","DATE_TRUNC","EXTRACT","GETDATE","INTERVAL_CMP","LAST_DAY","MONTHS_BETWEEN","NEXT_DAY","SYSDATE","TIMEOFDAY","TIMESTAMP_CMP","TIMESTAMP_CMP_DATE","TIMESTAMP_CMP_TIMESTAMPTZ","TIMESTAMPTZ_CMP","TIMESTAMPTZ_CMP_DATE","TIMESTAMPTZ_CMP_TIMESTAMP","TIMEZONE","TO_TIMESTAMP","TRUNC"],spatial:["AddBBox","DropBBox","GeometryType","ST_AddPoint","ST_Angle","ST_Area","ST_AsBinary","ST_AsEWKB","ST_AsEWKT","ST_AsGeoJSON","ST_AsText","ST_Azimuth","ST_Boundary","ST_Collect","ST_Contains","ST_ContainsProperly","ST_ConvexHull","ST_CoveredBy","ST_Covers","ST_Crosses","ST_Dimension","ST_Disjoint","ST_Distance","ST_DistanceSphere","ST_DWithin","ST_EndPoint","ST_Envelope","ST_Equals","ST_ExteriorRing","ST_Force2D","ST_Force3D","ST_Force3DM","ST_Force3DZ","ST_Force4D","ST_GeometryN","ST_GeometryType","ST_GeomFromEWKB","ST_GeomFromEWKT","ST_GeomFromText","ST_GeomFromWKB","ST_InteriorRingN","ST_Intersects","ST_IsPolygonCCW","ST_IsPolygonCW","ST_IsClosed","ST_IsCollection","ST_IsEmpty","ST_IsSimple","ST_IsValid","ST_Length","ST_LengthSphere","ST_Length2D","ST_LineFromMultiPoint","ST_LineInterpolatePoint","ST_M","ST_MakeEnvelope","ST_MakeLine","ST_MakePoint","ST_MakePolygon","ST_MemSize","ST_MMax","ST_MMin","ST_Multi","ST_NDims","ST_NPoints","ST_NRings","ST_NumGeometries","ST_NumInteriorRings","ST_NumPoints","ST_Perimeter","ST_Perimeter2D","ST_Point","ST_PointN","ST_Points","ST_Polygon","ST_RemovePoint","ST_Reverse","ST_SetPoint","ST_SetSRID","ST_Simplify","ST_SRID","ST_StartPoint","ST_Touches","ST_Within","ST_X","ST_XMax","ST_XMin","ST_Y","ST_YMax","ST_YMin","ST_Z","ST_ZMax","ST_ZMin","SupportsBBox"],hash:["CHECKSUM","FUNC_SHA1","FNV_HASH","MD5","SHA","SHA1","SHA2"],hyperLogLog:["HLL","HLL_CREATE_SKETCH","HLL_CARDINALITY","HLL_COMBINE"],json:["IS_VALID_JSON","IS_VALID_JSON_ARRAY","JSON_ARRAY_LENGTH","JSON_EXTRACT_ARRAY_ELEMENT_TEXT","JSON_EXTRACT_PATH_TEXT","JSON_PARSE","JSON_SERIALIZE"],math:["ABS","ACOS","ASIN","ATAN","ATAN2","CBRT","CEILING","CEIL","COS","COT","DEGREES","DEXP","DLOG1","DLOG10","EXP","FLOOR","LN","LOG","MOD","PI","POWER","RADIANS","RANDOM","ROUND","SIN","SIGN","SQRT","TAN","TO_HEX","TRUNC"],machineLearning:["EXPLAIN_MODEL"],string:["ASCII","BPCHARCMP","BTRIM","BTTEXT_PATTERN_CMP","CHAR_LENGTH","CHARACTER_LENGTH","CHARINDEX","CHR","COLLATE","CONCAT","CRC32","DIFFERENCE","INITCAP","LEFT","RIGHT","LEN","LENGTH","LOWER","LPAD","RPAD","LTRIM","OCTETINDEX","OCTET_LENGTH","POSITION","QUOTE_IDENT","QUOTE_LITERAL","REGEXP_COUNT","REGEXP_INSTR","REGEXP_REPLACE","REGEXP_SUBSTR","REPEAT","REPLACE","REPLICATE","REVERSE","RTRIM","SOUNDEX","SPLIT_PART","STRPOS","STRTOL","SUBSTRING","TEXTLEN","TRANSLATE","TRIM","UPPER"],superType:["decimal_precision","decimal_scale","is_array","is_bigint","is_boolean","is_char","is_decimal","is_float","is_integer","is_object","is_scalar","is_smallint","is_varchar","json_typeof"],window:["AVG","COUNT","CUME_DIST","DENSE_RANK","FIRST_VALUE","LAST_VALUE","LAG","LEAD","LISTAGG","MAX","MEDIAN","MIN","NTH_VALUE","NTILE","PERCENT_RANK","PERCENTILE_CONT","PERCENTILE_DISC","RANK","RATIO_TO_REPORT","ROW_NUMBER","STDDEV_SAMP","STDDEV_POP","SUM","VAR_SAMP","VAR_POP"],dataType:["CAST","CONVERT","TO_CHAR","TO_DATE","TO_NUMBER","TEXT_TO_INT_ALT","TEXT_TO_NUMERIC_ALT"],sysAdmin:["CHANGE_QUERY_PRIORITY","CHANGE_SESSION_PRIORITY","CHANGE_USER_PRIORITY","CURRENT_SETTING","PG_CANCEL_BACKEND","PG_TERMINATE_BACKEND","REBOOT_CLUSTER","SET_CONFIG"],sysInfo:["CURRENT_AWS_ACCOUNT","CURRENT_DATABASE","CURRENT_NAMESPACE","CURRENT_SCHEMA","CURRENT_SCHEMAS","CURRENT_USER","CURRENT_USER_ID","HAS_ASSUMEROLE_PRIVILEGE","HAS_DATABASE_PRIVILEGE","HAS_SCHEMA_PRIVILEGE","HAS_TABLE_PRIVILEGE","PG_BACKEND_PID","PG_GET_COLS","PG_GET_GRANTEE_BY_IAM_ROLE","PG_GET_IAM_ROLE_BY_USER","PG_GET_LATE_BINDING_VIEW_COLS","PG_LAST_COPY_COUNT","PG_LAST_COPY_ID","PG_LAST_UNLOAD_ID","PG_LAST_QUERY_ID","PG_LAST_UNLOAD_COUNT","SESSION_USER","SLICE_NUM","USER","VERSION"],dataTypes:["DECIMAL","NUMERIC","CHAR","CHARACTER","VARCHAR","CHARACTER VARYING","NCHAR","NVARCHAR","VARBYTE"]}),Yt=O({standard:["AES128","AES256","ALL","ALLOWOVERWRITE","ANY","ARRAY","AS","ASC","AUTHORIZATION","BACKUP","BETWEEN","BINARY","BOTH","CHECK","COLUMN","CONSTRAINT","CREATE","CROSS","DEFAULT","DEFERRABLE","DEFLATE","DEFRAG","DESC","DISABLE","DISTINCT","DO","ENABLE","ENCODE","ENCRYPT","ENCRYPTION","EXPLICIT","FALSE","FOR","FOREIGN","FREEZE","FROM","FULL","GLOBALDICT256","GLOBALDICT64K","GROUP","IDENTITY","IGNORE","ILIKE","IN","INITIALLY","INNER","INTO","IS","ISNULL","LANGUAGE","LEADING","LIKE","LIMIT","LOCALTIME","LOCALTIMESTAMP","LUN","LUNS","MINUS","NATURAL","NEW","NOT","NOTNULL","NULL","NULLS","OFF","OFFLINE","OFFSET","OID","OLD","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"],dataConversionParams:["ACCEPTANYDATE","ACCEPTINVCHARS","BLANKSASNULL","DATEFORMAT","EMPTYASNULL","ENCODING","ESCAPE","EXPLICIT_IDS","FILLRECORD","IGNOREBLANKLINES","IGNOREHEADER","REMOVEQUOTES","ROUNDEC","TIMEFORMAT","TRIMBLANKS","TRUNCATECOLUMNS"],dataLoadParams:["COMPROWS","COMPUPDATE","MAXERROR","NOLOAD","STATUPDATE"],dataFormatParams:["FORMAT","CSV","DELIMITER","FIXEDWIDTH","SHAPEFILE","AVRO","JSON","PARQUET","ORC"],copyAuthParams:["ACCESS_KEY_ID","CREDENTIALS","ENCRYPTED","IAM_ROLE","MASTER_SYMMETRIC_KEY","SECRET_ACCESS_KEY","SESSION_TOKEN"],copyCompressionParams:["BZIP2","GZIP","LZOP","ZSTD"],copyMiscParams:["MANIFEST","READRATIO","REGION","SSH"],compressionEncodings:["RAW","AZ64","BYTEDICT","DELTA","DELTA32K","LZO","MOSTLY8","MOSTLY16","MOSTLY32","RUNLENGTH","TEXT255","TEXT32K"],misc:["CATALOG_ROLE","SECRET_ARN","EXTERNAL","AUTO","EVEN","KEY","PREDICATE","COMPRESSION"],dataTypes:["BPCHAR","TEXT"]}),Wt=h(["SELECT [ALL | DISTINCT]"]),Kt=h(["WITH [RECURSIVE]","FROM","WHERE","GROUP BY","HAVING","PARTITION BY","ORDER BY","LIMIT","OFFSET","INSERT INTO","VALUES","SET","CREATE [OR REPLACE | MATERIALIZED] VIEW","CREATE [TEMPORARY | TEMP | LOCAL TEMPORARY | LOCAL TEMP] TABLE [IF NOT EXISTS]"]),Xt=h(["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","COMMENT","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"]),qt=h(["UNION [ALL]","EXCEPT","INTERSECT","MINUS"]),jt=h(["JOIN","{LEFT | RIGHT | FULL} [OUTER] JOIN","{INNER | CROSS} JOIN","NATURAL [INNER] JOIN","NATURAL {LEFT | RIGHT | FULL} [OUTER] JOIN"]),Qt=h(["NULL AS","DATA CATALOG","HIVE METASTORE","{ROWS | RANGE} BETWEEN"]),zt={tokenizerOptions:{reservedSelect:Wt,reservedClauses:[...Kt,...Xt],reservedSetOperations:qt,reservedJoins:jt,reservedPhrases:Qt,reservedKeywords:Yt,reservedFunctionNames:Vt,stringTypes:["''-qq"],identTypes:['""-qq'],identChars:{first:"#"},paramTypes:{numbered:["$"]},operators:["^","%","@","|/","||/","&","|","~","<<",">>","||","::"]},formatOptions:{alwaysDenseOperators:["::"],onelineClauses:Xt}},$t=O({all:["ADD","AFTER","ALL","ALTER","ANALYZE","AND","ANTI","ANY","ARCHIVE","ARRAY","AS","ASC","AT","AUTHORIZATION","BETWEEN","BOTH","BUCKET","BUCKETS","BY","CACHE","CASCADE","CAST","CHANGE","CHECK","CLEAR","CLUSTER","CLUSTERED","CODEGEN","COLLATE","COLLECTION","COLUMN","COLUMNS","COMMENT","COMMIT","COMPACT","COMPACTIONS","COMPUTE","CONCATENATE","CONSTRAINT","COST","CREATE","CROSS","CUBE","CURRENT","CURRENT_DATE","CURRENT_TIME","CURRENT_TIMESTAMP","CURRENT_USER","DATA","DATABASE","DATABASES","DAY","DBPROPERTIES","DEFINED","DELETE","DELIMITED","DESC","DESCRIBE","DFS","DIRECTORIES","DIRECTORY","DISTINCT","DISTRIBUTE","DIV","DROP","ESCAPE","ESCAPED","EXCEPT","EXCHANGE","EXISTS","EXPORT","EXTENDED","EXTERNAL","EXTRACT","FALSE","FETCH","FIELDS","FILTER","FILEFORMAT","FIRST","FIRST_VALUE","FOLLOWING","FOR","FOREIGN","FORMAT","FORMATTED","FULL","FUNCTION","FUNCTIONS","GLOBAL","GRANT","GROUP","GROUPING","HOUR","IF","IGNORE","IMPORT","IN","INDEX","INDEXES","INNER","INPATH","INPUTFORMAT","INTERSECT","INTERVAL","INTO","IS","ITEMS","KEYS","LAST","LAST_VALUE","LATERAL","LAZY","LEADING","LEFT","LIKE","LINES","LIST","LOCAL","LOCATION","LOCK","LOCKS","LOGICAL","MACRO","MAP","MATCHED","MERGE","MINUTE","MONTH","MSCK","NAMESPACE","NAMESPACES","NATURAL","NO","NOT","NULL","NULLS","OF","ONLY","OPTION","OPTIONS","OR","ORDER","OUT","OUTER","OUTPUTFORMAT","OVER","OVERLAPS","OVERLAY","OVERWRITE","OWNER","PARTITION","PARTITIONED","PARTITIONS","PERCENT","PLACING","POSITION","PRECEDING","PRIMARY","PRINCIPALS","PROPERTIES","PURGE","QUERY","RANGE","RECORDREADER","RECORDWRITER","RECOVER","REDUCE","REFERENCES","RENAME","REPAIR","REPLACE","RESPECT","RESTRICT","REVOKE","RIGHT","RLIKE","ROLE","ROLES","ROLLBACK","ROLLUP","ROW","ROWS","SCHEMA","SECOND","SELECT","SEMI","SEPARATED","SERDE","SERDEPROPERTIES","SESSION_USER","SETS","SHOW","SKEWED","SOME","SORT","SORTED","START","STATISTICS","STORED","STRATIFY","STRUCT","SUBSTR","SUBSTRING","TABLE","TABLES","TBLPROPERTIES","TEMPORARY","TERMINATED","THEN","TO","TOUCH","TRAILING","TRANSACTION","TRANSACTIONS","TRIM","TRUE","TRUNCATE","UNARCHIVE","UNBOUNDED","UNCACHE","UNIQUE","UNKNOWN","UNLOCK","UNSET","USE","USER","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","STRING","TYPE","TYPES","UNSIGNED","VARIABLES","YEAR_MONTH"]}),Jt=O({aggregate:["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"],window:["CUME_DIST","DENSE_RANK","LAG","LEAD","NTH_VALUE","NTILE","PERCENT_RANK","RANK","ROW_NUMBER"],array:["ARRAY","ARRAY_CONTAINS","ARRAY_DISTINCT","ARRAY_EXCEPT","ARRAY_INTERSECT","ARRAY_JOIN","ARRAY_MAX","ARRAY_MIN","ARRAY_POSITION","ARRAY_REMOVE","ARRAY_REPEAT","ARRAY_UNION","ARRAYS_OVERLAP","ARRAYS_ZIP","FLATTEN","SEQUENCE","SHUFFLE","SLICE","SORT_ARRAY"],map:["ELEMENT_AT","ELEMENT_AT","MAP","MAP_CONCAT","MAP_ENTRIES","MAP_FROM_ARRAYS","MAP_FROM_ENTRIES","MAP_KEYS","MAP_VALUES","STR_TO_MAP"],datetime:["ADD_MONTHS","CURRENT_DATE","CURRENT_DATE","CURRENT_TIMESTAMP","CURRENT_TIMESTAMP","CURRENT_TIMEZONE","DATE_ADD","DATE_FORMAT","DATE_FROM_UNIX_DATE","DATE_PART","DATE_SUB","DATE_TRUNC","DATEDIFF","DAY","DAYOFMONTH","DAYOFWEEK","DAYOFYEAR","EXTRACT","FROM_UNIXTIME","FROM_UTC_TIMESTAMP","HOUR","LAST_DAY","MAKE_DATE","MAKE_DT_INTERVAL","MAKE_INTERVAL","MAKE_TIMESTAMP","MAKE_YM_INTERVAL","MINUTE","MONTH","MONTHS_BETWEEN","NEXT_DAY","NOW","QUARTER","SECOND","SESSION_WINDOW","TIMESTAMP_MICROS","TIMESTAMP_MILLIS","TIMESTAMP_SECONDS","TO_DATE","TO_TIMESTAMP","TO_UNIX_TIMESTAMP","TO_UTC_TIMESTAMP","TRUNC","UNIX_DATE","UNIX_MICROS","UNIX_MILLIS","UNIX_SECONDS","UNIX_TIMESTAMP","WEEKDAY","WEEKOFYEAR","WINDOW","YEAR"],json:["FROM_JSON","GET_JSON_OBJECT","JSON_ARRAY_LENGTH","JSON_OBJECT_KEYS","JSON_TUPLE","SCHEMA_OF_JSON","TO_JSON"],misc:["ABS","ACOS","ACOSH","AGGREGATE","ARRAY_SORT","ASCII","ASIN","ASINH","ASSERT_TRUE","ATAN","ATAN2","ATANH","BASE64","BIGINT","BIN","BINARY","BIT_COUNT","BIT_GET","BIT_LENGTH","BOOLEAN","BROUND","BTRIM","CARDINALITY","CBRT","CEIL","CEILING","CHAR","CHAR_LENGTH","CHARACTER_LENGTH","CHR","CONCAT","CONCAT_WS","CONV","COS","COSH","COT","CRC32","CURRENT_CATALOG","CURRENT_DATABASE","CURRENT_USER","DATE","DECIMAL","DEGREES","DOUBLE","ELT","EXP","EXPM1","FACTORIAL","FIND_IN_SET","FLOAT","FLOOR","FORALL","FORMAT_NUMBER","FORMAT_STRING","FROM_CSV","GETBIT","HASH","HEX","HYPOT","INITCAP","INLINE","INLINE_OUTER","INPUT_FILE_BLOCK_LENGTH","INPUT_FILE_BLOCK_START","INPUT_FILE_NAME","INSTR","INT","ISNAN","ISNOTNULL","ISNULL","JAVA_METHOD","LCASE","LEFT","LENGTH","LEVENSHTEIN","LN","LOCATE","LOG","LOG10","LOG1P","LOG2","LOWER","LPAD","LTRIM","MAP_FILTER","MAP_ZIP_WITH","MD5","MOD","MONOTONICALLY_INCREASING_ID","NAMED_STRUCT","NANVL","NEGATIVE","NVL","NVL2","OCTET_LENGTH","OVERLAY","PARSE_URL","PI","PMOD","POSEXPLODE","POSEXPLODE_OUTER","POSITION","POSITIVE","POW","POWER","PRINTF","RADIANS","RAISE_ERROR","RAND","RANDN","RANDOM","REFLECT","REGEXP_EXTRACT","REGEXP_EXTRACT_ALL","REGEXP_LIKE","REGEXP_REPLACE","REPEAT","REPLACE","REVERSE","RIGHT","RINT","ROUND","RPAD","RTRIM","SCHEMA_OF_CSV","SENTENCES","SHA","SHA1","SHA2","SHIFTLEFT","SHIFTRIGHT","SHIFTRIGHTUNSIGNED","SIGN","SIGNUM","SIN","SINH","SMALLINT","SOUNDEX","SPACE","SPARK_PARTITION_ID","SPLIT","SQRT","STACK","SUBSTR","SUBSTRING","SUBSTRING_INDEX","TAN","TANH","TIMESTAMP","TINYINT","TO_CSV","TRANSFORM_KEYS","TRANSFORM_VALUES","TRANSLATE","TRIM","TRY_ADD","TRY_DIVIDE","TYPEOF","UCASE","UNBASE64","UNHEX","UPPER","UUID","VERSION","WIDTH_BUCKET","XPATH","XPATH_BOOLEAN","XPATH_DOUBLE","XPATH_FLOAT","XPATH_INT","XPATH_LONG","XPATH_NUMBER","XPATH_SHORT","XPATH_STRING","XXHASH64","ZIP_WITH"],cast:["CAST"],caseAbbrev:["COALESCE","NULLIF"],dataTypes:["DECIMAL","DEC","NUMERIC","VARCHAR"]}),Zt=h(["SELECT [ALL | DISTINCT]"]),te=h(["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","CREATE [OR REPLACE] [GLOBAL TEMPORARY | TEMPORARY] VIEW [IF NOT EXISTS]","CREATE [EXTERNAL] TABLE [IF NOT EXISTS]"]),ee=h(["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"]),re=h(["UNION [ALL | DISTINCT]","EXCEPT [ALL | DISTINCT]","INTERSECT [ALL | DISTINCT]"]),ie=h(["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"]),ne=h(["ON DELETE","ON UPDATE","CURRENT ROW","{ROWS | RANGE} BETWEEN"]),se={tokenizerOptions:{reservedSelect:Zt,reservedClauses:[...te,...ee],reservedSetOperations:re,reservedJoins:ie,reservedPhrases:ne,supportsXor:!0,reservedKeywords:$t,reservedFunctionNames:Jt,extraParens:["[]"],stringTypes:["''-bs",'""-bs',{quote:"''-raw",prefixes:["R","X"],requirePrefix:!0},{quote:'""-raw',prefixes:["R","X"],requirePrefix:!0}],identTypes:["``"],variableTypes:[{quote:"{}",prefixes:["$"],requirePrefix:!0}],operators:["%","~","^","|","&","<=>","==","!","||","->"],postProcess:function(e){return e.map(((r,i)=>{const n=e[i-1]||s,o=e[i+1]||s;return a.WINDOW(r)&&o.type===t.OPEN_PAREN?Object.assign(Object.assign({},r),{type:t.RESERVED_FUNCTION_NAME}):"ITEMS"!==r.text||r.type!==t.RESERVED_KEYWORD||"COLLECTION"===n.text&&"TERMINATED"===o.text?r:Object.assign(Object.assign({},r),{type:t.IDENTIFIER,text:r.raw})}))}},formatOptions:{onelineClauses:ee}},oe=O({scalar:["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"],aggregate:["AVG","COUNT","GROUP_CONCAT","MAX","MIN","SUM","TOTAL"],datetime:["DATE","TIME","DATETIME","JULIANDAY","UNIXEPOCH","STRFTIME"],window:["row_number","rank","dense_rank","percent_rank","cume_dist","ntile","lag","lead","first_value","last_value","nth_value"],math:["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","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:["CAST"],dataTypes:["CHARACTER","VARCHAR","VARYING CHARACTER","NCHAR","NATIVE CHARACTER","NVARCHAR","NUMERIC","DECIMAL"]}),ae=O({all:["ABORT","ACTION","ADD","AFTER","ALL","ALTER","AND","ANY","ARE","ARRAY","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","GROUPS","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"]}),Ee=h(["SELECT [ALL | DISTINCT]"]),he=h(["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","CREATE [TEMPORARY | TEMP] VIEW [IF NOT EXISTS]","CREATE [TEMPORARY | TEMP] TABLE [IF NOT EXISTS]"]),le=h(["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"]),ue=h(["UNION [ALL]","EXCEPT","INTERSECT"]),ce=h(["JOIN","{LEFT | RIGHT | FULL} [OUTER] JOIN","{INNER | CROSS} JOIN","NATURAL [INNER] JOIN","NATURAL {LEFT | RIGHT | FULL} [OUTER] JOIN"]),Te=h(["ON {UPDATE | DELETE} [SET NULL | SET DEFAULT]","{ROWS | RANGE | GROUPS} BETWEEN"]),Re={tokenizerOptions:{reservedSelect:Ee,reservedClauses:[...he,...le],reservedSetOperations:ue,reservedJoins:ce,reservedPhrases:Te,reservedKeywords:ae,reservedFunctionNames:oe,stringTypes:["''-qq",{quote:"''-raw",prefixes:["X"],requirePrefix:!0}],identTypes:['""-qq',"``","[]"],paramTypes:{positional:!0,numbered:["?"],named:[":","@","$"]},operators:["%","~","&","|","<<",">>","==","->","->>","||"]},formatOptions:{onelineClauses:le}},pe=O({set:["GROUPING"],window:["RANK","DENSE_RANK","PERCENT_RANK","CUME_DIST","ROW_NUMBER"],numeric:["POSITION","OCCURRENCES_REGEX","POSITION_REGEX","EXTRACT","CHAR_LENGTH","CHARACTER_LENGTH","OCTET_LENGTH","CARDINALITY","ABS","MOD","LN","EXP","POWER","SQRT","FLOOR","CEIL","CEILING","WIDTH_BUCKET"],string:["SUBSTRING","SUBSTRING_REGEX","UPPER","LOWER","CONVERT","TRANSLATE","TRANSLATE_REGEX","TRIM","OVERLAY","NORMALIZE","SPECIFICTYPE"],datetime:["CURRENT_DATE","CURRENT_TIME","LOCALTIME","CURRENT_TIMESTAMP","LOCALTIMESTAMP"],aggregate:["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:["CAST"],caseAbbrev:["COALESCE","NULLIF"],nonStandard:["ROUND","SIN","COS","TAN","ASIN","ACOS","ATAN"],dataTypes:["CHARACTER","CHAR","CHARACTER VARYING","CHAR VARYING","VARCHAR","CHARACTER LARGE OBJECT","CHAR LARGE OBJECT","CLOB","NATIONAL CHARACTER","NATIONAL CHAR","NCHAR","NATIONAL CHARACTER VARYING","NATIONAL CHAR VARYING","NCHAR VARYING","NATIONAL CHARACTER LARGE OBJECT","NCHAR LARGE OBJECT","NCLOB","BINARY","BINARY VARYING","VARBINARY","BINARY LARGE OBJECT","BLOB","NUMERIC","DECIMAL","DEC","TIME","TIMESTAMP"]}),Se=O({all:["ALL","ALLOCATE","ALTER","ANY","ARE","ARRAY","AS","ASENSITIVE","ASYMMETRIC","AT","ATOMIC","AUTHORIZATION","BEGIN","BETWEEN","BIGINT","BINARY","BLOB","BOOLEAN","BOTH","BY","CALL","CALLED","CASCADED","CAST","CHAR","CHARACTER","CHECK","CLOB","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","DATE","DAY","DEALLOCATE","DEC","DECIMAL","DECLARE","DEFAULT","DELETE","DEREF","DESCRIBE","DETERMINISTIC","DISCONNECT","DISTINCT","DOUBLE","DROP","DYNAMIC","EACH","ELEMENT","END-EXEC","ESCAPE","EVERY","EXCEPT","EXEC","EXECUTE","EXISTS","EXTERNAL","FALSE","FETCH","FILTER","FLOAT","FOR","FOREIGN","FREE","FROM","FULL","FUNCTION","GET","GLOBAL","GRANT","GROUP","HAVING","HOLD","HOUR","IDENTITY","IN","INDICATOR","INNER","INOUT","INSENSITIVE","INSERT","INT","INTEGER","INTERSECT","INTERVAL","INTO","IS","LANGUAGE","LARGE","LATERAL","LEADING","LEFT","LIKE","LIKE_REGEX","LOCAL","MATCH","MEMBER","MERGE","METHOD","MINUTE","MODIFIES","MODULE","MONTH","MULTISET","NATIONAL","NATURAL","NCHAR","NCLOB","NEW","NO","NONE","NOT","NULL","NULLIF","NUMERIC","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","SMALLINT","SOME","SPECIFIC","SQL","SQLEXCEPTION","SQLSTATE","SQLWARNING","START","STATIC","SUBMULTISET","SYMMETRIC","SYSTEM","SYSTEM_USER","TABLE","TABLESAMPLE","THEN","TIME","TIMESTAMP","TIMEZONE_HOUR","TIMEZONE_MINUTE","TO","TRAILING","TRANSLATION","TREAT","TRIGGER","TRUE","UESCAPE","UNION","UNIQUE","UNKNOWN","UNNEST","UPDATE","USER","USING","VALUE","VALUES","VARBINARY","VARCHAR","VARYING","WHENEVER","WINDOW","WITHIN","WITHOUT","YEAR"]}),Ae=h(["SELECT [ALL | DISTINCT]"]),de=h(["WITH [RECURSIVE]","FROM","WHERE","GROUP BY [ALL | DISTINCT]","HAVING","WINDOW","PARTITION BY","ORDER BY","LIMIT","OFFSET","FETCH {FIRST | NEXT}","INSERT INTO","VALUES","SET","CREATE [RECURSIVE] VIEW","CREATE [GLOBAL TEMPORARY | LOCAL TEMPORARY] TABLE"]),Ne=h(["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"]),Oe=h(["UNION [ALL | DISTINCT]","EXCEPT [ALL | DISTINCT]","INTERSECT [ALL | DISTINCT]"]),Ce=h(["JOIN","{LEFT | RIGHT | FULL} [OUTER] JOIN","{INNER | CROSS} JOIN","NATURAL [INNER] JOIN","NATURAL {LEFT | RIGHT | FULL} [OUTER] JOIN"]),_e=h(["ON {UPDATE | DELETE} [SET NULL | SET DEFAULT]","{ROWS | RANGE} BETWEEN"]),Ie={tokenizerOptions:{reservedSelect:Ae,reservedClauses:[...de,...Ne],reservedSetOperations:Oe,reservedJoins:Ce,reservedPhrases:_e,reservedKeywords:Se,reservedFunctionNames:pe,stringTypes:[{quote:"''-qq-bs",prefixes:["N","U&"]},{quote:"''-raw",prefixes:["X"],requirePrefix:!0}],identTypes:['""-qq',"``"],paramTypes:{positional:!0},operators:["||"]},formatOptions:{onelineClauses:Ne}},Le=O({all:["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"],rowPattern:["CLASSIFIER","FIRST","LAST","MATCH_NUMBER","NEXT","PERMUTE","PREV"]}),fe=O({all:["ABSENT","ADD","ADMIN","AFTER","ALL","ALTER","ANALYZE","AND","ANY","ARRAY","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"],types:["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"]}),me=h(["SELECT [ALL | DISTINCT]"]),ye=h(["WITH [RECURSIVE]","FROM","WHERE","GROUP BY [ALL | DISTINCT]","HAVING","WINDOW","PARTITION BY","ORDER BY","LIMIT","OFFSET","FETCH {FIRST | NEXT}","INSERT INTO","VALUES","SET","CREATE [OR REPLACE] [MATERIALIZED] VIEW","CREATE TABLE [IF NOT EXISTS]","MATCH_RECOGNIZE","MEASURES","ONE ROW PER MATCH","ALL ROWS PER MATCH","AFTER MATCH","PATTERN","SUBSET","DEFINE"]),xe=h(["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","COMMENT ON TABLE","COMMENT ON COLUMN","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"]),ge=h(["UNION [ALL | DISTINCT]","EXCEPT [ALL | DISTINCT]","INTERSECT [ALL | DISTINCT]"]),Pe=h(["JOIN","{LEFT | RIGHT | FULL} [OUTER] JOIN","{INNER | CROSS} JOIN","NATURAL [INNER] JOIN","NATURAL {LEFT | RIGHT | FULL} [OUTER] JOIN"]),De=h(["{ROWS | RANGE | GROUPS} BETWEEN","IS [NOT] DISTINCT FROM"]),Me={tokenizerOptions:{reservedSelect:me,reservedClauses:[...ye,...xe],reservedSetOperations:ge,reservedJoins:Pe,reservedPhrases:De,reservedKeywords:fe,reservedFunctionNames:Le,extraParens:["[]","{}"],stringTypes:[{quote:"''-qq",prefixes:["U&"]},{quote:"''-raw",prefixes:["X"],requirePrefix:!0}],identTypes:['""-qq'],paramTypes:{positional:!0},operators:["%","->","=>",":","||","|","^","$"]},formatOptions:{onelineClauses:xe}},ve=O({aggregate:["APPROX_COUNT_DISTINCT","AVG","CHECKSUM_AGG","COUNT","COUNT_BIG","GROUPING","GROUPING_ID","MAX","MIN","STDEV","STDEVP","SUM","VAR","VARP"],analytic:["CUME_DIST","FIRST_VALUE","LAG","LAST_VALUE","LEAD","PERCENTILE_CONT","PERCENTILE_DISC","PERCENT_RANK","Collation - COLLATIONPROPERTY","Collation - TERTIARY_WEIGHTS"],configuration:["@@DBTS","@@LANGID","@@LANGUAGE","@@LOCK_TIMEOUT","@@MAX_CONNECTIONS","@@MAX_PRECISION","@@NESTLEVEL","@@OPTIONS","@@REMSERVER","@@SERVERNAME","@@SERVICENAME","@@SPID","@@TEXTSIZE","@@VERSION"],conversion:["CAST","CONVERT","PARSE","TRY_CAST","TRY_CONVERT","TRY_PARSE"],cryptographic:["ASYMKEY_ID","ASYMKEYPROPERTY","CERTPROPERTY","CERT_ID","CRYPT_GEN_RANDOM","DECRYPTBYASYMKEY","DECRYPTBYCERT","DECRYPTBYKEY","DECRYPTBYKEYAUTOASYMKEY","DECRYPTBYKEYAUTOCERT","DECRYPTBYPASSPHRASE","ENCRYPTBYASYMKEY","ENCRYPTBYCERT","ENCRYPTBYKEY","ENCRYPTBYPASSPHRASE","HASHBYTES","IS_OBJECTSIGNED","KEY_GUID","KEY_ID","KEY_NAME","SIGNBYASYMKEY","SIGNBYCERT","SYMKEYPROPERTY","VERIFYSIGNEDBYCERT","VERIFYSIGNEDBYASYMKEY"],cursor:["@@CURSOR_ROWS","@@FETCH_STATUS","CURSOR_STATUS"],dataType:["DATALENGTH","IDENT_CURRENT","IDENT_INCR","IDENT_SEED","IDENTITY","SQL_VARIANT_PROPERTY"],datetime:["@@DATEFIRST","CURRENT_TIMESTAMP","CURRENT_TIMEZONE","CURRENT_TIMEZONE_ID","DATEADD","DATEDIFF","DATEDIFF_BIG","DATEFROMPARTS","DATENAME","DATEPART","DATETIME2FROMPARTS","DATETIMEFROMPARTS","DATETIMEOFFSETFROMPARTS","DAY","EOMONTH","GETDATE","GETUTCDATE","ISDATE","MONTH","SMALLDATETIMEFROMPARTS","SWITCHOFFSET","SYSDATETIME","SYSDATETIMEOFFSET","SYSUTCDATETIME","TIMEFROMPARTS","TODATETIMEOFFSET","YEAR","JSON","ISJSON","JSON_VALUE","JSON_QUERY","JSON_MODIFY"],mathematical:["ABS","ACOS","ASIN","ATAN","ATN2","CEILING","COS","COT","DEGREES","EXP","FLOOR","LOG","LOG10","PI","POWER","RADIANS","RAND","ROUND","SIGN","SIN","SQRT","SQUARE","TAN","CHOOSE","GREATEST","IIF","LEAST"],metadata:["@@PROCID","APP_NAME","APPLOCK_MODE","APPLOCK_TEST","ASSEMBLYPROPERTY","COL_LENGTH","COL_NAME","COLUMNPROPERTY","DATABASEPROPERTYEX","DB_ID","DB_NAME","FILE_ID","FILE_IDEX","FILE_NAME","FILEGROUP_ID","FILEGROUP_NAME","FILEGROUPPROPERTY","FILEPROPERTY","FILEPROPERTYEX","FULLTEXTCATALOGPROPERTY","FULLTEXTSERVICEPROPERTY","INDEX_COL","INDEXKEY_PROPERTY","INDEXPROPERTY","NEXT VALUE FOR","OBJECT_DEFINITION","OBJECT_ID","OBJECT_NAME","OBJECT_SCHEMA_NAME","OBJECTPROPERTY","OBJECTPROPERTYEX","ORIGINAL_DB_NAME","PARSENAME","SCHEMA_ID","SCHEMA_NAME","SCOPE_IDENTITY","SERVERPROPERTY","STATS_DATE","TYPE_ID","TYPE_NAME","TYPEPROPERTY"],ranking:["DENSE_RANK","NTILE","RANK","ROW_NUMBER","PUBLISHINGSERVERNAME"],security:["CERTENCODED","CERTPRIVATEKEY","CURRENT_USER","DATABASE_PRINCIPAL_ID","HAS_DBACCESS","HAS_PERMS_BY_NAME","IS_MEMBER","IS_ROLEMEMBER","IS_SRVROLEMEMBER","LOGINPROPERTY","ORIGINAL_LOGIN","PERMISSIONS","PWDENCRYPT","PWDCOMPARE","SESSION_USER","SESSIONPROPERTY","SUSER_ID","SUSER_NAME","SUSER_SID","SUSER_SNAME","SYSTEM_USER","USER","USER_ID","USER_NAME"],string:["ASCII","CHAR","CHARINDEX","CONCAT","CONCAT_WS","DIFFERENCE","FORMAT","LEFT","LEN","LOWER","LTRIM","NCHAR","PATINDEX","QUOTENAME","REPLACE","REPLICATE","REVERSE","RIGHT","RTRIM","SOUNDEX","SPACE","STR","STRING_AGG","STRING_ESCAPE","STUFF","SUBSTRING","TRANSLATE","TRIM","UNICODE","UPPER"],system:["$PARTITION","@@ERROR","@@IDENTITY","@@PACK_RECEIVED","@@ROWCOUNT","@@TRANCOUNT","BINARY_CHECKSUM","CHECKSUM","COMPRESS","CONNECTIONPROPERTY","CONTEXT_INFO","CURRENT_REQUEST_ID","CURRENT_TRANSACTION_ID","DECOMPRESS","ERROR_LINE","ERROR_MESSAGE","ERROR_NUMBER","ERROR_PROCEDURE","ERROR_SEVERITY","ERROR_STATE","FORMATMESSAGE","GET_FILESTREAM_TRANSACTION_CONTEXT","GETANSINULL","HOST_ID","HOST_NAME","ISNULL","ISNUMERIC","MIN_ACTIVE_ROWVERSION","NEWID","NEWSEQUENTIALID","ROWCOUNT_BIG","SESSION_CONTEXT","XACT_STATE"],statistical:["@@CONNECTIONS","@@CPU_BUSY","@@IDLE","@@IO_BUSY","@@PACK_SENT","@@PACKET_ERRORS","@@TIMETICKS","@@TOTAL_ERRORS","@@TOTAL_READ","@@TOTAL_WRITE","TEXTPTR","TEXTVALID"],trigger:["COLUMNS_UPDATED","EVENTDATA","TRIGGER_NESTLEVEL","UPDATE"],caseAbbrev:["COALESCE","NULLIF"],dataTypes:["DECIMAL","NUMERIC","FLOAT","REAL","DATETIME2","DATETIMEOFFSET","TIME","CHAR","VARCHAR","NCHAR","NVARCHAR","BINARY","VARBINARY"]}),Ue=O({standard:["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","DOUBLE","DROP","DUMP","ERRLVL","ESCAPE","EXEC","EXECUTE","EXISTS","EXIT","EXTERNAL","FETCH","FILE","FILLFACTOR","FOR","FOREIGN","FREETEXT","FREETEXTTABLE","FROM","FULL","FUNCTION","GOTO","GRANT","GROUP","HAVING","HOLDLOCK","IDENTITY","IDENTITYCOL","IDENTITY_INSERT","IF","IN","INDEX","INNER","INSERT","INTERSECT","INTO","IS","JOIN","KEY","KILL","LEFT","LIKE","LINENO","LOAD","MERGE","NATIONAL","NOCHECK","NONCLUSTERED","NOT","NULL","NULLIF","OF","OFF","OFFSETS","ON","OPEN","OPENDATASOURCE","OPENQUERY","OPENROWSET","OPENXML","OPTION","OR","ORDER","OUTER","OVER","PERCENT","PIVOT","PLAN","PRECISION","PRIMARY","PRINT","PROC","PROCEDURE","PUBLIC","RAISERROR","READ","READTEXT","RECONFIGURE","REFERENCES","REPLICATION","RESTORE","RESTRICT","RETURN","REVERT","REVOKE","RIGHT","ROLLBACK","ROWCOUNT","ROWGUIDCOL","RULE","SAVE","SCHEMA","SECURITYAUDIT","SELECT","SEMANTICKEYPHRASETABLE","SEMANTICSIMILARITYDETAILSTABLE","SEMANTICSIMILARITYTABLE","SESSION_USER","SET","SETUSER","SHUTDOWN","SOME","STATISTICS","SYSTEM_USER","TABLE","TABLESAMPLE","TEXTSIZE","THEN","TO","TOP","TRAN","TRANSACTION","TRIGGER","TRUNCATE","TRY_CONVERT","TSEQUAL","UNION","UNIQUE","UNPIVOT","UPDATE","UPDATETEXT","USE","USER","VALUES","VARYING","VIEW","WAITFOR","WHERE","WHILE","WITH","WITHIN GROUP","WRITETEXT"],odbc:["ABSOLUTE","ACTION","ADA","ADD","ALL","ALLOCATE","ALTER","AND","ANY","ARE","AS","ASC","ASSERTION","AT","AUTHORIZATION","AVG","BEGIN","BETWEEN","BIT","BIT_LENGTH","BOTH","BY","CASCADE","CASCADED","CAST","CATALOG","CHAR","CHARACTER","CHARACTER_LENGTH","CHAR_LENGTH","CHECK","CLOSE","COALESCE","COLLATE","COLLATION","COLUMN","COMMIT","CONNECT","CONNECTION","CONSTRAINT","CONSTRAINTS","CONTINUE","CONVERT","CORRESPONDING","COUNT","CREATE","CROSS","CURRENT","CURRENT_DATE","CURRENT_TIME","CURRENT_TIMESTAMP","CURRENT_USER","CURSOR","DATE","DAY","DEALLOCATE","DEC","DECIMAL","DECLARE","DEFAULT","DEFERRABLE","DEFERRED","DELETE","DESC","DESCRIBE","DESCRIPTOR","DIAGNOSTICS","DISCONNECT","DISTINCT","DOMAIN","DOUBLE","DROP","END-EXEC","ESCAPE","EXCEPTION","EXEC","EXECUTE","EXISTS","EXTERNAL","EXTRACT","FALSE","FETCH","FIRST","FLOAT","FOR","FOREIGN","FORTRAN","FOUND","FROM","FULL","GET","GLOBAL","GO","GOTO","GRANT","GROUP","HAVING","HOUR","IDENTITY","IMMEDIATE","IN","INCLUDE","INDEX","INDICATOR","INITIALLY","INNER","INPUT","INSENSITIVE","INSERT","INT","INTEGER","INTERSECT","INTERVAL","INTO","IS","ISOLATION","JOIN","KEY","LANGUAGE","LAST","LEADING","LEFT","LEVEL","LIKE","LOCAL","LOWER","MATCH","MAX","MIN","MINUTE","MODULE","MONTH","NAMES","NATIONAL","NATURAL","NCHAR","NEXT","NO","NONE","NOT","NULL","NULLIF","NUMERIC","OCTET_LENGTH","OF","ONLY","OPEN","OPTION","OR","ORDER","OUTER","OUTPUT","OVERLAPS","PAD","PARTIAL","PASCAL","POSITION","PRECISION","PREPARE","PRESERVE","PRIMARY","PRIOR","PRIVILEGES","PROCEDURE","PUBLIC","READ","REAL","REFERENCES","RELATIVE","RESTRICT","REVOKE","RIGHT","ROLLBACK","ROWS","SCHEMA","SCROLL","SECOND","SECTION","SELECT","SESSION","SESSION_USER","SET","SIZE","SMALLINT","SOME","SPACE","SQL","SQLCA","SQLCODE","SQLERROR","SQLSTATE","SQLWARNING","SUBSTRING","SUM","SYSTEM_USER","TABLE","TEMPORARY","TIME","TIMESTAMP","TIMEZONE_HOUR","TIMEZONE_MINUTE","TO","TRAILING","TRANSACTION","TRANSLATE","TRANSLATION","TRIM","TRUE","UNION","UNIQUE","UNKNOWN","UPDATE","UPPER","USAGE","USER","VALUE","VALUES","VARCHAR","VARYING","VIEW","WHENEVER","WHERE","WITH","WORK","WRITE","YEAR","ZONE"]}),ke=h(["SELECT [ALL | DISTINCT]"]),be=h(["WITH","INTO","FROM","WHERE","GROUP BY","HAVING","WINDOW","PARTITION BY","ORDER BY","OFFSET","FETCH {FIRST | NEXT}","INSERT [INTO]","VALUES","SET","MERGE [INTO]","WHEN [NOT] MATCHED [BY TARGET | BY SOURCE] [THEN]","UPDATE SET","CREATE [OR ALTER] [MATERIALIZED] VIEW","CREATE TABLE","CREATE [OR ALTER] {PROC | PROCEDURE}"]),Ge=h(["UPDATE","WHERE CURRENT OF","DELETE [FROM]","DROP TABLE [IF EXISTS]","ALTER TABLE","ADD","DROP COLUMN [IF EXISTS]","ALTER COLUMN","TRUNCATE TABLE","ADD SENSITIVITY CLASSIFICATION","ADD SIGNATURE","AGGREGATE","ANSI_DEFAULTS","ANSI_NULLS","ANSI_NULL_DFLT_OFF","ANSI_NULL_DFLT_ON","ANSI_PADDING","ANSI_WARNINGS","APPLICATION ROLE","ARITHABORT","ARITHIGNORE","ASSEMBLY","ASYMMETRIC KEY","AUTHORIZATION","AVAILABILITY GROUP","BACKUP","BACKUP CERTIFICATE","BACKUP MASTER KEY","BACKUP SERVICE MASTER KEY","BEGIN CONVERSATION TIMER","BEGIN DIALOG CONVERSATION","BROKER PRIORITY","BULK INSERT","CERTIFICATE","CLOSE MASTER KEY","CLOSE SYMMETRIC KEY","COLLATE","COLUMN ENCRYPTION KEY","COLUMN MASTER KEY","COLUMNSTORE INDEX","CONCAT_NULL_YIELDS_NULL","CONTEXT_INFO","CONTRACT","CREDENTIAL","CRYPTOGRAPHIC PROVIDER","CURSOR_CLOSE_ON_COMMIT","DATABASE","DATABASE AUDIT SPECIFICATION","DATABASE ENCRYPTION KEY","DATABASE HADR","DATABASE SCOPED CONFIGURATION","DATABASE SCOPED CREDENTIAL","DATABASE SET","DATEFIRST","DATEFORMAT","DEADLOCK_PRIORITY","DENY","DENY XML","DISABLE TRIGGER","ENABLE TRIGGER","END CONVERSATION","ENDPOINT","EVENT NOTIFICATION","EVENT SESSION","EXECUTE AS","EXTERNAL DATA SOURCE","EXTERNAL FILE FORMAT","EXTERNAL LANGUAGE","EXTERNAL LIBRARY","EXTERNAL RESOURCE POOL","EXTERNAL TABLE","FIPS_FLAGGER","FMTONLY","FORCEPLAN","FULLTEXT CATALOG","FULLTEXT INDEX","FULLTEXT STOPLIST","FUNCTION","GET CONVERSATION GROUP","GET_TRANSMISSION_STATUS","GRANT","GRANT XML","IDENTITY_INSERT","IMPLICIT_TRANSACTIONS","INDEX","LANGUAGE","LOCK_TIMEOUT","LOGIN","MASTER KEY","MESSAGE TYPE","MOVE CONVERSATION","NOCOUNT","NOEXEC","NUMERIC_ROUNDABORT","OFFSETS","OPEN MASTER KEY","OPEN SYMMETRIC KEY","PARSEONLY","PARTITION FUNCTION","PARTITION SCHEME","PROCEDURE","QUERY_GOVERNOR_COST_LIMIT","QUEUE","QUOTED_IDENTIFIER","RECEIVE","REMOTE SERVICE BINDING","REMOTE_PROC_TRANSACTIONS","RESOURCE GOVERNOR","RESOURCE POOL","RESTORE","RESTORE FILELISTONLY","RESTORE HEADERONLY","RESTORE LABELONLY","RESTORE MASTER KEY","RESTORE REWINDONLY","RESTORE SERVICE MASTER KEY","RESTORE VERIFYONLY","REVERT","REVOKE","REVOKE XML","ROLE","ROUTE","ROWCOUNT","RULE","SCHEMA","SEARCH PROPERTY LIST","SECURITY POLICY","SELECTIVE XML INDEX","SEND","SENSITIVITY CLASSIFICATION","SEQUENCE","SERVER AUDIT","SERVER AUDIT SPECIFICATION","SERVER CONFIGURATION","SERVER ROLE","SERVICE","SERVICE MASTER KEY","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"]),Fe=h(["UNION [ALL]","EXCEPT","INTERSECT"]),He=h(["JOIN","{LEFT | RIGHT | FULL} [OUTER] JOIN","{INNER | CROSS} JOIN","{CROSS | OUTER} APPLY"]),we=h(["ON {UPDATE | DELETE} [SET NULL | SET DEFAULT]","{ROWS | RANGE} BETWEEN"]),Be={tokenizerOptions:{reservedSelect:ke,reservedClauses:[...be,...Ge],reservedSetOperations:Fe,reservedJoins:He,reservedPhrases:we,reservedKeywords:Ue,reservedFunctionNames:ve,nestedBlockComments:!0,stringTypes:[{quote:"''-qq",prefixes:["N"]}],identTypes:['""-qq',"[]"],identChars:{first:"#@",rest:"#@$"},paramTypes:{named:["@"],quoted:["@"]},operators:["%","&","|","^","~","!<","!>","+=","-=","*=","/=","%=","|=","&=","^=","::"]},formatOptions:{alwaysDenseOperators:["::"],onelineClauses:Ge}},Ve=O({all:["ABORT","ABSOLUTE","ACCESS","ACCESSIBLE","ACCOUNT","ACTION","ACTIVE","ADD","ADMIN","AFTER","AGAINST","AGGREGATE","AGGREGATES","AGGREGATOR","AGGREGATOR_ID","AGGREGATOR_PLAN_HASH","AGGREGATORS","ALGORITHM","ALL","ALSO","ALTER","ALWAYS","ANALYZE","AND","ANY","ARGHISTORY","ARRANGE","ARRANGEMENT","ARRAY","AS","ASC","ASCII","ASENSITIVE","ASM","ASSERTION","ASSIGNMENT","AST","ASYMMETRIC","ASYNC","AT","ATTACH","ATTRIBUTE","AUTHORIZATION","AUTO","AUTO_INCREMENT","AUTO_REPROVISION","AUTOSTATS","AUTOSTATS_CARDINALITY_MODE","AUTOSTATS_ENABLED","AUTOSTATS_HISTOGRAM_MODE","AUTOSTATS_SAMPLING","AVAILABILITY","AVG","AVG_ROW_LENGTH","AVRO","AZURE","BACKGROUND","_BACKGROUND_THREADS_FOR_CLEANUP","BACKUP","BACKUP_HISTORY","BACKUP_ID","BACKWARD","BATCH","BATCHES","BATCH_INTERVAL","_BATCH_SIZE_LIMIT","BEFORE","BEGIN","BETWEEN","BIGINT","BINARY","_BINARY","BIT","BLOB","BOOL","BOOLEAN","BOOTSTRAP","BOTH","_BT","BTREE","BUCKET_COUNT","BUCKETS","BY","BYTE","BYTE_LENGTH","CACHE","CALL","CALL_FOR_PIPELINE","CALLED","CAPTURE","CASCADE","CASCADED","CASE","CATALOG","CHAIN","CHANGE","CHAR","CHARACTER","CHARACTERISTICS","CHARSET","CHECK","CHECKPOINT","_CHECK_CAN_CONNECT","_CHECK_CONSISTENCY","CHECKSUM","_CHECKSUM","CLASS","CLEAR","CLIENT","CLIENT_FOUND_ROWS","CLOSE","CLUSTER","CLUSTERED","CNF","COALESCE","COLLATE","COLLATION","COLUMN","COLUMNAR","COLUMNS","COLUMNSTORE","COLUMNSTORE_SEGMENT_ROWS","COMMENT","COMMENTS","COMMIT","COMMITTED","_COMMIT_LOG_TAIL","COMPACT","COMPILE","COMPRESSED","COMPRESSION","CONCURRENT","CONCURRENTLY","CONDITION","CONFIGURATION","CONNECTION","CONNECTIONS","CONFIG","CONSTRAINT","CONTAINS","CONTENT","CONTINUE","_CONTINUE_REPLAY","CONVERSION","CONVERT","COPY","_CORE","COST","CREATE","CREDENTIALS","CROSS","CUBE","CSV","CUME_DIST","CURRENT","CURRENT_CATALOG","CURRENT_DATE","CURRENT_SCHEMA","CURRENT_SECURITY_GROUPS","CURRENT_SECURITY_ROLES","CURRENT_TIME","CURRENT_TIMESTAMP","CURRENT_USER","CURSOR","CYCLE","DATA","DATABASE","DATABASES","DATE","DATETIME","DAY","DAY_HOUR","DAY_MICROSECOND","DAY_MINUTE","DAY_SECOND","DEALLOCATE","DEC","DECIMAL","DECLARE","DEFAULT","DEFAULTS","DEFERRABLE","DEFERRED","DEFINED","DEFINER","DELAYED","DELAY_KEY_WRITE","DELETE","DELIMITER","DELIMITERS","DENSE_RANK","DESC","DESCRIBE","DETACH","DETERMINISTIC","DICTIONARY","DIFFERENTIAL","DIRECTORY","DISABLE","DISCARD","_DISCONNECT","DISK","DISTINCT","DISTINCTROW","DISTRIBUTED_JOINS","DIV","DO","DOCUMENT","DOMAIN","DOUBLE","DROP","_DROP_PROFILE","DUAL","DUMP","DUPLICATE","DURABILITY","DYNAMIC","EARLIEST","EACH","ECHO","ELECTION","ELSE","ELSEIF","ENABLE","ENCLOSED","ENCODING","ENCRYPTED","END","ENGINE","ENGINES","ENUM","ERRORS","ESCAPE","ESCAPED","ESTIMATE","EVENT","EVENTS","EXCEPT","EXCLUDE","EXCLUDING","EXCLUSIVE","EXECUTE","EXISTS","EXIT","EXPLAIN","EXTENDED","EXTENSION","EXTERNAL","EXTERNAL_HOST","EXTERNAL_PORT","EXTRACTOR","EXTRACTORS","EXTRA_JOIN","_FAILOVER","FAILED_LOGIN_ATTEMPTS","FAILURE","FALSE","FAMILY","FAULT","FETCH","FIELDS","FILE","FILES","FILL","FIX_ALTER","FIXED","FLOAT","FLOAT4","FLOAT8","FLUSH","FOLLOWING","FOR","FORCE","FORCE_COMPILED_MODE","FORCE_INTERPRETER_MODE","FOREGROUND","FOREIGN","FORMAT","FORWARD","FREEZE","FROM","FS","_FSYNC","FULL","FULLTEXT","FUNCTION","FUNCTIONS","GC","GCS","GET_FORMAT","_GC","_GCX","GENERATE","GEOGRAPHY","GEOGRAPHYPOINT","GEOMETRY","GEOMETRYPOINT","GLOBAL","_GLOBAL_VERSION_TIMESTAMP","GRANT","GRANTED","GRANTS","GROUP","GROUPING","GROUPS","GZIP","HANDLE","HANDLER","HARD_CPU_LIMIT_PERCENTAGE","HASH","HAS_TEMP_TABLES","HAVING","HDFS","HEADER","HEARTBEAT_NO_LOGGING","HIGH_PRIORITY","HISTOGRAM","HOLD","HOLDING","HOST","HOSTS","HOUR","HOUR_MICROSECOND","HOUR_MINUTE","HOUR_SECOND","IDENTIFIED","IDENTITY","IF","IGNORE","ILIKE","IMMEDIATE","IMMUTABLE","IMPLICIT","IMPORT","IN","INCLUDING","INCREMENT","INCREMENTAL","INDEX","INDEXES","INFILE","INHERIT","INHERITS","_INIT_PROFILE","INIT","INITIALIZE","INITIALLY","INJECT","INLINE","INNER","INOUT","INPUT","INSENSITIVE","INSERT","INSERT_METHOD","INSTANCE","INSTEAD","IN","INT","INT1","INT2","INT3","INT4","INT8","INTEGER","_INTERNAL_DYNAMIC_TYPECAST","INTERPRETER_MODE","INTERSECT","INTERVAL","INTO","INVOKER","ISOLATION","ITERATE","JOIN","JSON","KAFKA","KEY","KEY_BLOCK_SIZE","KEYS","KILL","KILLALL","LABEL","LAG","LANGUAGE","LARGE","LAST","LAST_VALUE","LATERAL","LATEST","LC_COLLATE","LC_CTYPE","LEAD","LEADING","LEAF","LEAKPROOF","LEAVE","LEAVES","LEFT","LEVEL","LICENSE","LIKE","LIMIT","LINES","LISTEN","LLVM","LOADDATA_WHERE","LOAD","LOCAL","LOCALTIME","LOCALTIMESTAMP","LOCATION","LOCK","LONG","LONGBLOB","LONGTEXT","LOOP","LOW_PRIORITY","_LS","LZ4","MANAGEMENT","_MANAGEMENT_THREAD","MAPPING","MASTER","MATCH","MATERIALIZED","MAXVALUE","MAX_CONCURRENCY","MAX_ERRORS","MAX_PARTITIONS_PER_BATCH","MAX_QUEUE_DEPTH","MAX_RETRIES_PER_BATCH_PARTITION","MAX_ROWS","MBC","MPL","MEDIUMBLOB","MEDIUMINT","MEDIUMTEXT","MEMBER","MEMORY","MEMORY_PERCENTAGE","_MEMSQL_TABLE_ID_LOOKUP","MEMSQL","MEMSQL_DESERIALIZE","MEMSQL_IMITATING_KAFKA","MEMSQL_SERIALIZE","MERGE","METADATA","MICROSECOND","MIDDLEINT","MIN_ROWS","MINUS","MINUTE_MICROSECOND","MINUTE_SECOND","MINVALUE","MOD","MODE","MODEL","MODIFIES","MODIFY","MONTH","MOVE","MPL","NAMES","NAMED","NAMESPACE","NATIONAL","NATURAL","NCHAR","NEXT","NO","NODE","NONE","NO_QUERY_REWRITE","NOPARAM","NOT","NOTHING","NOTIFY","NOWAIT","NO_WRITE_TO_BINLOG","NO_QUERY_REWRITE","NORELY","NTH_VALUE","NTILE","NULL","NULLCOLS","NULLS","NUMERIC","NVARCHAR","OBJECT","OF","OFF","OFFLINE","OFFSET","OFFSETS","OIDS","ON","ONLINE","ONLY","OPEN","OPERATOR","OPTIMIZATION","OPTIMIZE","OPTIMIZER","OPTIMIZER_STATE","OPTION","OPTIONS","OPTIONALLY","OR","ORDER","ORDERED_SERIALIZE","ORPHAN","OUT","OUT_OF_ORDER","OUTER","OUTFILE","OVER","OVERLAPS","OVERLAY","OWNED","OWNER","PACK_KEYS","PAIRED","PARSER","PARQUET","PARTIAL","PARTITION","PARTITION_ID","PARTITIONING","PARTITIONS","PASSING","PASSWORD","PASSWORD_LOCK_TIME","PAUSE","_PAUSE_REPLAY","PERIODIC","PERSISTED","PIPELINE","PIPELINES","PLACING","PLAN","PLANS","PLANCACHE","PLUGINS","POOL","POOLS","PORT","PRECEDING","PRECISION","PREPARE","PRESERVE","PRIMARY","PRIOR","PRIVILEGES","PROCEDURAL","PROCEDURE","PROCEDURES","PROCESS","PROCESSLIST","PROFILE","PROFILES","PROGRAM","PROMOTE","PROXY","PURGE","QUARTER","QUERIES","QUERY","QUERY_TIMEOUT","QUEUE","RANGE","RANK","READ","_READ","READS","REAL","REASSIGN","REBALANCE","RECHECK","RECORD","RECURSIVE","REDUNDANCY","REDUNDANT","REF","REFERENCE","REFERENCES","REFRESH","REGEXP","REINDEX","RELATIVE","RELEASE","RELOAD","RELY","REMOTE","REMOVE","RENAME","REPAIR","_REPAIR_TABLE","REPEAT","REPEATABLE","_REPL","_REPROVISIONING","REPLACE","REPLICA","REPLICATE","REPLICATING","REPLICATION","REQUIRE","RESOURCE","RESOURCE_POOL","RESET","RESTART","RESTORE","RESTRICT","RESULT","_RESURRECT","RETRY","RETURN","RETURNING","RETURNS","REVERSE","RG_POOL","REVOKE","RIGHT","RIGHT_ANTI_JOIN","RIGHT_SEMI_JOIN","RIGHT_STRAIGHT_JOIN","RLIKE","ROLES","ROLLBACK","ROLLUP","ROUTINE","ROW","ROW_COUNT","ROW_FORMAT","ROW_NUMBER","ROWS","ROWSTORE","RULE","_RPC","RUNNING","S3","SAFE","SAVE","SAVEPOINT","SCALAR","SCHEMA","SCHEMAS","SCHEMA_BINDING","SCROLL","SEARCH","SECOND","SECOND_MICROSECOND","SECURITY","SELECT","SEMI_JOIN","_SEND_THREADS","SENSITIVE","SEPARATOR","SEQUENCE","SEQUENCES","SERIAL","SERIALIZABLE","SERIES","SERVICE_USER","SERVER","SESSION","SESSION_USER","SET","SETOF","SECURITY_LISTS_INTERSECT","SHA","SHARD","SHARDED","SHARDED_ID","SHARE","SHOW","SHUTDOWN","SIGNAL","SIGNED","SIMILAR","SIMPLE","SITE","SKIP","SKIPPED_BATCHES","__SLEEP","SMALLINT","SNAPSHOT","_SNAPSHOT","_SNAPSHOTS","SOFT_CPU_LIMIT_PERCENTAGE","SOME","SONAME","SPARSE","SPATIAL","SPATIAL_CHECK_INDEX","SPECIFIC","SQL","SQL_BIG_RESULT","SQL_BUFFER_RESULT","SQL_CACHE","SQL_CALC_FOUND_ROWS","SQLEXCEPTION","SQL_MODE","SQL_NO_CACHE","SQL_NO_LOGGING","SQL_SMALL_RESULT","SQLSTATE","SQLWARNING","STDIN","STDOUT","STOP","STORAGE","STRAIGHT_JOIN","STRICT","STRING","STRIP","SUCCESS","SUPER","SYMMETRIC","SYNC_SNAPSHOT","SYNC","_SYNC","_SYNC2","_SYNC_PARTITIONS","_SYNC_SNAPSHOT","SYNCHRONIZE","SYSID","SYSTEM","TABLE","TABLE_CHECKSUM","TABLES","TABLESPACE","TAGS","TARGET_SIZE","TASK","TEMP","TEMPLATE","TEMPORARY","TEMPTABLE","_TERM_BUMP","TERMINATE","TERMINATED","TEXT","THEN","TIME","TIMEOUT","TIMESTAMP","TIMESTAMPADD","TIMESTAMPDIFF","TIMEZONE","TINYBLOB","TINYINT","TINYTEXT","TO","TRACELOGS","TRADITIONAL","TRAILING","TRANSFORM","TRANSACTION","_TRANSACTIONS_EXPERIMENTAL","TREAT","TRIGGER","TRIGGERS","TRUE","TRUNC","TRUNCATE","TRUSTED","TWO_PHASE","_TWOPCID","TYPE","TYPES","UNBOUNDED","UNCOMMITTED","UNDEFINED","UNDO","UNENCRYPTED","UNENFORCED","UNHOLD","UNICODE","UNION","UNIQUE","_UNITTEST","UNKNOWN","UNLISTEN","_UNLOAD","UNLOCK","UNLOGGED","UNPIVOT","UNSIGNED","UNTIL","UPDATE","UPGRADE","USAGE","USE","USER","USERS","USING","UTC_DATE","UTC_TIME","UTC_TIMESTAMP","_UTF8","VACUUM","VALID","VALIDATE","VALIDATOR","VALUE","VALUES","VARBINARY","VARCHAR","VARCHARACTER","VARIABLES","VARIADIC","VARYING","VERBOSE","VIEW","VOID","VOLATILE","VOTING","WAIT","_WAKE","WARNINGS","WEEK","WHEN","WHERE","WHILE","WHITESPACE","WINDOW","WITH","WITHOUT","WITHIN","_WM_HEARTBEAT","WORK","WORKLOAD","WRAPPER","WRITE","XACT_ID","XOR","YEAR","YEAR_MONTH","YES","ZEROFILL","ZONE"]}),Ye=O({all:["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","USER","UTC_DATE","UTC_TIME","UTC_TIMESTAMP","UUID","VALUES","VARIANCE","VAR_POP","VAR_SAMP","VECTOR_SUB","VERSION","WEEK","WEEKDAY","WEEKOFYEAR","YEAR","BIT","TINYINT","SMALLINT","MEDIUMINT","INT","INTEGER","BIGINT","DECIMAL","DEC","NUMERIC","FIXED","FLOAT","DOUBLE","DOUBLE PRECISION","REAL","DATETIME","TIMESTAMP","TIME","YEAR","CHAR","NATIONAL CHAR","VARCHAR","NATIONAL VARCHAR","BINARY","VARBINARY","BLOB","TEXT","ENUM"]}),We=h(["SELECT [ALL | DISTINCT | DISTINCTROW]"]),Ke=h(["WITH","FROM","WHERE","GROUP BY","HAVING","PARTITION BY","ORDER BY","LIMIT","OFFSET","INSERT [IGNORE] [INTO]","VALUES","REPLACE [INTO]","SET","CREATE VIEW","CREATE [ROWSTORE] [REFERENCE | TEMPORARY | GLOBAL TEMPORARY] TABLE [IF NOT EXISTS]","CREATE [OR REPLACE] [TEMPORARY] PROCEDURE [IF NOT EXISTS]","CREATE [OR REPLACE] [EXTERNAL] FUNCTION"]),Xe=h(["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"]),qe=h(["UNION [ALL | DISTINCT]","EXCEPT","INTERSECT","MINUS"]),je=h(["JOIN","{LEFT | RIGHT | FULL} [OUTER] JOIN","{INNER | CROSS} JOIN","NATURAL {LEFT | RIGHT} [OUTER] JOIN","STRAIGHT_JOIN"]),Qe=h(["ON DELETE","ON UPDATE","CHARACTER SET","{ROWS | RANGE} BETWEEN"]),ze={tokenizerOptions:{reservedSelect:We,reservedClauses:[...Ke,...Xe],reservedSetOperations:qe,reservedJoins:je,reservedPhrases:Qe,reservedKeywords:Ve,reservedFunctionNames:Ye,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:function(e){return e.map(((r,i)=>{const n=e[i+1]||s;return a.SET(r)&&"("===n.text?Object.assign(Object.assign({},r),{type:t.RESERVED_FUNCTION_NAME}):r}))}},formatOptions:{alwaysDenseOperators:["::","::$","::%"],onelineClauses:Xe}},$e=O({all:["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","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","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","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"]}),Je=O({all:["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"]}),Ze=h(["SELECT [ALL | DISTINCT]"]),tr=h(["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","CREATE [OR REPLACE] [SECURE] [RECURSIVE] VIEW [IF NOT EXISTS]","CREATE [OR REPLACE] [VOLATILE] TABLE [IF NOT EXISTS]","CREATE [OR REPLACE] [LOCAL | GLOBAL] {TEMP|TEMPORARY} TABLE [IF NOT EXISTS]","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"]),er=h(["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"]),rr=h(["UNION [ALL]","MINUS","EXCEPT","INTERSECT"]),ir=h(["[INNER] JOIN","[NATURAL] {LEFT | RIGHT | FULL} [OUTER] JOIN","{CROSS | NATURAL} JOIN"]),nr=h(["{ROWS | RANGE} BETWEEN","ON {UPDATE | DELETE} [SET NULL | SET DEFAULT]"]),sr={tokenizerOptions:{reservedSelect:Ze,reservedClauses:[...tr,...er],reservedSetOperations:rr,reservedJoins:ir,reservedPhrases:nr,reservedKeywords:Je,reservedFunctionNames:$e,stringTypes:["$$","''-qq-bs"],identTypes:['""-qq'],variableTypes:[{regex:"[$][1-9]\\d*"},{regex:"[$][_a-zA-Z][_a-zA-Z0-9$]*"}],extraParens:["[]"],identChars:{rest:"$"},lineCommentTypes:["--","//"],operators:["%","::","||",":","=>"]},formatOptions:{alwaysDenseOperators:[":","::"],onelineClauses:er}},or=t=>t.replace(/[.*+?^${}()|[\]\\]/gu,"\\$&"),ar=/\s+/uy,Er=t=>new RegExp(`(?:${t})`,"uy"),hr=t=>t.split("").map((t=>/ /gu.test(t)?"\\s+":`[${t.toUpperCase()}${t.toLowerCase()}]`)).join(""),lr=(t,e=[])=>{const r="open"===t?0:1,i=["()",...e].map((t=>t[r]));return Er(i.map(or).join("|"))},ur=(t,e={})=>{if(0===t.length)return/^\b$/u;const r=(({rest:t,dashes:e})=>t||e?`(?![${t||""}${e?"-":""}])`:"")(e),i=A(t).map(or).join("|").replace(/ /gu,"\\s+");return new RegExp(`(?:${i})${r}\\b`,"iuy")},cr=(t,e)=>{if(!t.length)return;const r=t.map(or).join("|");return Er(`(?:${r})(?:${e})`)},Tr={"``":"(?:`[^`]*`)+","[]":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''":(()=>{const t={"<":">","[":"]","(":")","{":"}"},e=Object.entries(t).map((([t,e])=>"{left}(?:(?!{right}').)*?{right}".replace(/{left}/g,or(t)).replace(/{right}/g,or(e)))),r=or(Object.keys(t).join(""));return`[Qq]'(?:${String.raw`(?<tag>[^\s${r}])(?:(?!\k<tag>').)*?\k<tag>`}|${e.join("|")})'`})()},Rr=t=>"string"==typeof t?Tr[t]:"regex"in t?t.regex:(({prefixes:t,requirePrefix:e})=>`(?:${t.map(hr).join("|")}${e?"":"|"})`)(t)+Tr[t.quote],pr=t=>t.map(Rr).join("|"),Sr=t=>Er(pr(t)),Ar=(t={})=>Er(dr(t)),dr=({first:t,rest:e,dashes:r,allowFirstCharNumber:i}={})=>{const n="\\p{Alphabetic}\\p{Mark}_",s="\\p{Decimal_Number}",o=or(null!=t?t:""),a=or(null!=e?e:""),E=i?`[${n}${s}${o}][${n}${s}${a}]*`:`[${n}${o}][${n}${s}${a}]*`;return r?(t=>t+"(?:-"+t+")*")(E):E};function Nr(t,e){const r=t.slice(0,e).split(/\n/);return{line:r.length,col:r[r.length-1].length+1}}class Or{constructor(t){this.rules=t,this.input="",this.index=0}tokenize(t){this.input=t,this.index=0;const e=[];let r;for(;this.index<this.input.length;){const t=this.getWhitespace();if(this.index<this.input.length){if(r=this.getNextToken(),!r)throw this.createParseError();e.push(Object.assign(Object.assign({},r),{precedingWhitespace:t}))}}return e}createParseError(){const t=this.input.slice(this.index,this.index+10),{line:e,col:r}=Nr(this.input,this.index);return new Error(`Parse error: Unexpected "${t}" at line ${e} column ${r}`)}getWhitespace(){ar.lastIndex=this.index;const t=ar.exec(this.input);if(t)return this.index+=t[0].length,t[0]}getNextToken(){for(const t of this.rules){const e=this.match(t);if(e)return e}}match(t){t.regex.lastIndex=this.index;const e=t.regex.exec(this.input);if(e){const r=e[0],i={type:t.type,raw:r,text:t.text?t.text(r):r,start:this.index};return t.key&&(i.key=t.key(r)),this.index+=r.length,i}}}const Cr=/\/\*/uy,_r=/([^/*]|\*[^/]|\/[^*])+/uy,Ir=/\*\//uy;class Lr{constructor(){this.lastIndex=0}exec(t){let e,r="",i=0;if(!(e=this.matchSection(Cr,t)))return null;for(r+=e,i++;i>0;)if(e=this.matchSection(Cr,t))r+=e,i++;else if(e=this.matchSection(Ir,t))r+=e,i--;else{if(!(e=this.matchSection(_r,t)))return null;r+=e}return[r]}matchSection(t,e){t.lastIndex=this.lastIndex;const r=t.exec(e);return r&&(this.lastIndex+=r[0].length),r?r[0]:null}}class fr{constructor(t){this.cfg=t,this.rulesBeforeParams=this.buildRulesBeforeParams(t),this.rulesAfterParams=this.buildRulesAfterParams(t)}tokenize(t,e){const r=[...this.rulesBeforeParams,...this.buildParamRules(this.cfg,e),...this.rulesAfterParams],i=new Or(r).tokenize(t);return this.cfg.postProcess?this.cfg.postProcess(i):i}buildRulesBeforeParams(e){var r,i,n;return this.validRules([{type:t.BLOCK_COMMENT,regex:e.nestedBlockComments?new Lr:/(\/\*[^]*?\*\/)/uy},{type:t.LINE_COMMENT,regex:(n=null!==(r=e.lineCommentTypes)&&void 0!==r?r:["--"],new RegExp(`(?:${n.map(or).join("|")}).*?(?=\r\n|\r|\n|$)`,"uy"))},{type:t.QUOTED_IDENTIFIER,regex:Sr(e.identTypes)},{type:t.NUMBER,regex:/(?:0x[0-9a-fA-F]+|0b[01]+|(?:-\s*)?[0-9]+(?:\.[0-9]*)?(?:[eE][-+]?[0-9]+(?:\.[0-9]+)?)?)(?!\w)/uy},{type:t.RESERVED_PHRASE,regex:ur(null!==(i=e.reservedPhrases)&&void 0!==i?i:[],e.identChars),text:mr},{type:t.CASE,regex:/CASE\b/iuy,text:mr},{type:t.END,regex:/END\b/iuy,text:mr},{type:t.BETWEEN,regex:/BETWEEN\b/iuy,text:mr},{type:t.LIMIT,regex:e.reservedClauses.includes("LIMIT")?/LIMIT\b/iuy:void 0,text:mr},{type:t.RESERVED_CLAUSE,regex:ur(e.reservedClauses,e.identChars),text:mr},{type:t.RESERVED_SELECT,regex:ur(e.reservedSelect,e.identChars),text:mr},{type:t.RESERVED_SET_OPERATION,regex:ur(e.reservedSetOperations,e.identChars),text:mr},{type:t.WHEN,regex:/WHEN\b/iuy,text:mr},{type:t.ELSE,regex:/ELSE\b/iuy,text:mr},{type:t.THEN,regex:/THEN\b/iuy,text:mr},{type:t.RESERVED_JOIN,regex:ur(e.reservedJoins,e.identChars),text:mr},{type:t.AND,regex:/AND\b/iuy,text:mr},{type:t.OR,regex:/OR\b/iuy,text:mr},{type:t.XOR,regex:e.supportsXor?/XOR\b/iuy:void 0,text:mr},{type:t.RESERVED_FUNCTION_NAME,regex:ur(e.reservedFunctionNames,e.identChars),text:mr},{type:t.RESERVED_KEYWORD,regex:ur(e.reservedKeywords,e.identChars),text:mr}])}buildRulesAfterParams(e){var r,i,n;return this.validRules([{type:t.VARIABLE,regex:e.variableTypes?(n=e.variableTypes,Er(n.map((t=>"regex"in t?t.regex:Rr(t))).join("|"))):void 0},{type:t.STRING,regex:Sr(e.stringTypes)},{type:t.IDENTIFIER,regex:Ar(e.identChars)},{type:t.DELIMITER,regex:/[;]/uy},{type:t.COMMA,regex:/[,]/y},{type:t.OPEN_PAREN,regex:lr("open",e.extraParens)},{type:t.CLOSE_PAREN,regex:lr("close",e.extraParens)},{type:t.OPERATOR,regex:(i=["+","-","/",">","<","=","<>","<=",">=","!=",...null!==(r=e.operators)&&void 0!==r?r:[]],Er(`${A(i).map(or).join("|")}`))},{type:t.ASTERISK,regex:/[*]/uy},{type:t.DOT,regex:/[.]/uy}])}buildParamRules(e,r){var i,n,s,o,a;const E={named:(null==r?void 0:r.named)||(null===(i=e.paramTypes)||void 0===i?void 0:i.named)||[],quoted:(null==r?void 0:r.quoted)||(null===(n=e.paramTypes)||void 0===n?void 0:n.quoted)||[],numbered:(null==r?void 0:r.numbered)||(null===(s=e.paramTypes)||void 0===s?void 0:s.numbered)||[],positional:"boolean"==typeof(null==r?void 0:r.positional)?r.positional:null===(o=e.paramTypes)||void 0===o?void 0:o.positional,custom:(null==r?void 0:r.custom)||(null===(a=e.paramTypes)||void 0===a?void 0:a.custom)||[]};return this.validRules([{type:t.NAMED_PARAMETER,regex:cr(E.named,dr(e.paramChars||e.identChars)),key:t=>t.slice(1)},{type:t.QUOTED_PARAMETER,regex:cr(E.quoted,pr(e.identTypes)),key:t=>(({tokenKey:t,quoteChar:e})=>t.replace(new RegExp(or("\\"+e),"gu"),e))({tokenKey:t.slice(2,-1),quoteChar:t.slice(-1)})},{type:t.NUMBERED_PARAMETER,regex:cr(E.numbered,"[0-9]+"),key:t=>t.slice(1)},{type:t.POSITIONAL_PARAMETER,regex:E.positional?/[?]/y:void 0},...E.custom.map((e=>{var r;return{type:t.CUSTOM_PARAMETER,regex:Er(e.regex),key:null!==(r=e.key)&&void 0!==r?r:t=>t}}))])}validRules(t){return t.filter((t=>Boolean(t.regex)))}}const mr=t=>N(t.toUpperCase()),yr=new Map,xr=t=>({alwaysDenseOperators:t.alwaysDenseOperators||[],onelineClauses:Object.fromEntries(t.onelineClauses.map((t=>[t,!0])))});function gr(t){return"tabularLeft"===t.indentStyle||"tabularRight"===t.indentStyle?" ".repeat(10):t.useTabs?"\t":" ".repeat(t.tabWidth)}function Pr(t){return"tabularLeft"===t.indentStyle||"tabularRight"===t.indentStyle}class Dr{constructor(t){this.params=t,this.index=0}get({key:t,text:e}){return this.params?t?this.params[t]:this.params[this.index++]:e}getPositionalParameterIndex(){return this.index}setPositionalParameterIndex(t){this.index=t}}var Mr=r(654),vr=r.n(Mr);const Ur=(e,r,i)=>{if(E(e.type)){const n=Fr(i,r);if(n&&"."===n.text)return Object.assign(Object.assign({},e),{type:t.IDENTIFIER,text:e.raw})}return e},kr=(e,r,i)=>{if(e.type===t.RESERVED_FUNCTION_NAME){const n=Hr(i,r);if(!n||!wr(n))return Object.assign(Object.assign({},e),{type:t.RESERVED_KEYWORD})}return e},br=(e,r,i)=>{if(e.type===t.IDENTIFIER){const n=Hr(i,r);if(n&&Br(n))return Object.assign(Object.assign({},e),{type:t.ARRAY_IDENTIFIER})}return e},Gr=(e,r,i)=>{if(e.type===t.RESERVED_KEYWORD){const n=Hr(i,r);if(n&&Br(n))return Object.assign(Object.assign({},e),{type:t.ARRAY_KEYWORD})}return e},Fr=(t,e)=>Hr(t,e,-1),Hr=(t,e,r=1)=>{let i=1;for(;t[e+i*r]&&Vr(t[e+i*r]);)i++;return t[e+i*r]},wr=e=>e.type===t.OPEN_PAREN&&"("===e.text,Br=e=>e.type===t.OPEN_PAREN&&"["===e.text,Vr=e=>e.type===t.BLOCK_COMMENT||e.type===t.LINE_COMMENT;class Yr{constructor(t){this.tokenize=t,this.index=0,this.tokens=[],this.input=""}reset(t,e){this.input=t,this.index=0,this.tokens=this.tokenize(t)}next(){return this.tokens[this.index++]}save(){}formatError(t){const{line:e,col:r}=Nr(this.input,t.start);return`Parse error at token: ${t.text} at line ${e} column ${r}`}has(e){return e in t}}var Wr;function Kr(t){return t[0]}!function(t){t.statement="statement",t.clause="clause",t.set_operation="set_operation",t.function_call="function_call",t.array_subscript="array_subscript",t.property_access="property_access",t.parenthesis="parenthesis",t.between_predicate="between_predicate",t.case_expression="case_expression",t.case_when="case_when",t.case_else="case_else",t.limit_clause="limit_clause",t.all_columns_asterisk="all_columns_asterisk",t.literal="literal",t.identifier="identifier",t.keyword="keyword",t.parameter="parameter",t.operator="operator",t.comma="comma",t.line_comment="line_comment",t.block_comment="block_comment"}(Wr=Wr||(Wr={}));const Xr=new Yr((t=>[])),qr=([[t]])=>t,jr=t=>({type:Wr.keyword,tokenType:t.type,text:t.text,raw:t.raw}),Qr=(t,{leading:e,trailing:r})=>((null==e?void 0:e.length)&&(t=Object.assign(Object.assign({},t),{leadingComments:e})),(null==r?void 0:r.length)&&(t=Object.assign(Object.assign({},t),{trailingComments:r})),t),zr=(t,{leading:e,trailing:r})=>{if(null==e?void 0:e.length){const[r,...i]=t;t=[Qr(r,{leading:e}),...i]}if(null==r?void 0:r.length){const e=t.slice(0,-1),i=t[t.length-1];t=[...e,Qr(i,{trailing:r})]}return t},$r={Lexer:Xr,ParserRules:[{name:"main$ebnf$1",symbols:[]},{name:"main$ebnf$1",symbols:["main$ebnf$1","statement"],postprocess:t=>t[0].concat([t[1]])},{name:"main",symbols:["main$ebnf$1"],postprocess:([t])=>{const e=t[t.length-1];return e&&!e.hasSemicolon?e.children.length>0?t:t.slice(0,-1):t}},{name:"statement$subexpression$1",symbols:[Xr.has("DELIMITER")?{type:"DELIMITER"}:DELIMITER]},{name:"statement$subexpression$1",symbols:[Xr.has("EOF")?{type:"EOF"}:EOF]},{name:"statement",symbols:["expressions_or_clauses","statement$subexpression$1"],postprocess:([e,[r]])=>({type:Wr.statement,children:e,hasSemicolon:r.type===t.DELIMITER})},{name:"expressions_or_clauses$ebnf$1",symbols:[]},{name:"expressions_or_clauses$ebnf$1",symbols:["expressions_or_clauses$ebnf$1","free_form_sql"],postprocess:t=>t[0].concat([t[1]])},{name:"expressions_or_clauses$ebnf$2",symbols:[]},{name:"expressions_or_clauses$ebnf$2",symbols:["expressions_or_clauses$ebnf$2","clause"],postprocess:t=>t[0].concat([t[1]])},{name:"expressions_or_clauses",symbols:["expressions_or_clauses$ebnf$1","expressions_or_clauses$ebnf$2"],postprocess:([t,e])=>[...t,...e]},{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:qr},{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:t=>t[0].concat([t[1]])},{name:"limit_clause$ebnf$1$subexpression$1",symbols:[Xr.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:Kr},{name:"limit_clause$ebnf$1",symbols:[],postprocess:()=>null},{name:"limit_clause",symbols:[Xr.has("LIMIT")?{type:"LIMIT"}:LIMIT,"_","expression_chain_","limit_clause$ebnf$1"],postprocess:([t,e,r,i])=>{if(i){const[n,s]=i;return{type:Wr.limit_clause,limitKw:Qr(jr(t),{trailing:e}),offset:r,count:s}}return{type:Wr.limit_clause,limitKw:Qr(jr(t),{trailing:e}),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:t=>t[0].concat([t[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:t=>t[0].concat([t[1]])},{name:"select_clause$subexpression$1",symbols:["asteriskless_free_form_sql","select_clause$subexpression$1$ebnf$2"]},{name:"select_clause",symbols:[Xr.has("RESERVED_SELECT")?{type:"RESERVED_SELECT"}:RESERVED_SELECT,"select_clause$subexpression$1"],postprocess:([t,[e,r]])=>({type:Wr.clause,nameKw:jr(t),children:[e,...r]})},{name:"select_clause",symbols:[Xr.has("RESERVED_SELECT")?{type:"RESERVED_SELECT"}:RESERVED_SELECT],postprocess:([t])=>({type:Wr.clause,nameKw:jr(t),children:[]})},{name:"all_columns_asterisk",symbols:[Xr.has("ASTERISK")?{type:"ASTERISK"}:ASTERISK],postprocess:()=>({type:Wr.all_columns_asterisk})},{name:"other_clause$ebnf$1",symbols:[]},{name:"other_clause$ebnf$1",symbols:["other_clause$ebnf$1","free_form_sql"],postprocess:t=>t[0].concat([t[1]])},{name:"other_clause",symbols:[Xr.has("RESERVED_CLAUSE")?{type:"RESERVED_CLAUSE"}:RESERVED_CLAUSE,"other_clause$ebnf$1"],postprocess:([t,e])=>({type:Wr.clause,nameKw:jr(t),children:e})},{name:"set_operation$ebnf$1",symbols:[]},{name:"set_operation$ebnf$1",symbols:["set_operation$ebnf$1","free_form_sql"],postprocess:t=>t[0].concat([t[1]])},{name:"set_operation",symbols:[Xr.has("RESERVED_SET_OPERATION")?{type:"RESERVED_SET_OPERATION"}:RESERVED_SET_OPERATION,"set_operation$ebnf$1"],postprocess:([t,e])=>({type:Wr.set_operation,nameKw:jr(t),children:e})},{name:"expression_chain_$ebnf$1",symbols:["expression_with_comments_"]},{name:"expression_chain_$ebnf$1",symbols:["expression_chain_$ebnf$1","expression_with_comments_"],postprocess:t=>t[0].concat([t[1]])},{name:"expression_chain_",symbols:["expression_chain_$ebnf$1"],postprocess:Kr},{name:"expression_chain$ebnf$1",symbols:[]},{name:"expression_chain$ebnf$1",symbols:["expression_chain$ebnf$1","_expression_with_comments"],postprocess:t=>t[0].concat([t[1]])},{name:"expression_chain",symbols:["expression","expression_chain$ebnf$1"],postprocess:([t,e])=>[t,...e]},{name:"andless_expression_chain$ebnf$1",symbols:[]},{name:"andless_expression_chain$ebnf$1",symbols:["andless_expression_chain$ebnf$1","_andless_expression_with_comments"],postprocess:t=>t[0].concat([t[1]])},{name:"andless_expression_chain",symbols:["andless_expression","andless_expression_chain$ebnf$1"],postprocess:([t,e])=>[t,...e]},{name:"expression_with_comments_",symbols:["expression","_"],postprocess:([t,e])=>Qr(t,{trailing:e})},{name:"_expression_with_comments",symbols:["_","expression"],postprocess:([t,e])=>Qr(e,{leading:t})},{name:"_andless_expression_with_comments",symbols:["_","andless_expression"],postprocess:([t,e])=>Qr(e,{leading:t})},{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:qr},{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:["between_predicate"]},{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:qr},{name:"expression$subexpression$1",symbols:["andless_expression"]},{name:"expression$subexpression$1",symbols:["logic_operator"]},{name:"expression",symbols:["expression$subexpression$1"],postprocess:qr},{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:qr},{name:"asteriskless_andless_expression$subexpression$1",symbols:["array_subscript"]},{name:"asteriskless_andless_expression$subexpression$1",symbols:["case_expression"]},{name:"asteriskless_andless_expression$subexpression$1",symbols:["function_call"]},{name:"asteriskless_andless_expression$subexpression$1",symbols:["property_access"]},{name:"asteriskless_andless_expression$subexpression$1",symbols:["parenthesis"]},{name:"asteriskless_andless_expression$subexpression$1",symbols:["curly_braces"]},{name:"asteriskless_andless_expression$subexpression$1",symbols:["square_brackets"]},{name:"asteriskless_andless_expression$subexpression$1",symbols:["operator"]},{name:"asteriskless_andless_expression$subexpression$1",symbols:["identifier"]},{name:"asteriskless_andless_expression$subexpression$1",symbols:["parameter"]},{name:"asteriskless_andless_expression$subexpression$1",symbols:["literal"]},{name:"asteriskless_andless_expression$subexpression$1",symbols:["keyword"]},{name:"asteriskless_andless_expression",symbols:["asteriskless_andless_expression$subexpression$1"],postprocess:qr},{name:"array_subscript",symbols:[Xr.has("ARRAY_IDENTIFIER")?{type:"ARRAY_IDENTIFIER"}:ARRAY_IDENTIFIER,"_","square_brackets"],postprocess:([t,e,r])=>({type:Wr.array_subscript,array:Qr({type:Wr.identifier,text:t.text},{trailing:e}),parenthesis:r})},{name:"array_subscript",symbols:[Xr.has("ARRAY_KEYWORD")?{type:"ARRAY_KEYWORD"}:ARRAY_KEYWORD,"_","square_brackets"],postprocess:([t,e,r])=>({type:Wr.array_subscript,array:Qr(jr(t),{trailing:e}),parenthesis:r})},{name:"function_call",symbols:[Xr.has("RESERVED_FUNCTION_NAME")?{type:"RESERVED_FUNCTION_NAME"}:RESERVED_FUNCTION_NAME,"_","parenthesis"],postprocess:([t,e,r])=>({type:Wr.function_call,nameKw:Qr(jr(t),{trailing:e}),parenthesis:r})},{name:"parenthesis",symbols:[{literal:"("},"expressions_or_clauses",{literal:")"}],postprocess:([t,e,r])=>({type:Wr.parenthesis,children:e,openParen:"(",closeParen:")"})},{name:"curly_braces$ebnf$1",symbols:[]},{name:"curly_braces$ebnf$1",symbols:["curly_braces$ebnf$1","free_form_sql"],postprocess:t=>t[0].concat([t[1]])},{name:"curly_braces",symbols:[{literal:"{"},"curly_braces$ebnf$1",{literal:"}"}],postprocess:([t,e,r])=>({type:Wr.parenthesis,children:e,openParen:"{",closeParen:"}"})},{name:"square_brackets$ebnf$1",symbols:[]},{name:"square_brackets$ebnf$1",symbols:["square_brackets$ebnf$1","free_form_sql"],postprocess:t=>t[0].concat([t[1]])},{name:"square_brackets",symbols:[{literal:"["},"square_brackets$ebnf$1",{literal:"]"}],postprocess:([t,e,r])=>({type:Wr.parenthesis,children:e,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",symbols:["expression","_",Xr.has("DOT")?{type:"DOT"}:DOT,"_","property_access$subexpression$1"],postprocess:([t,e,r,i,[n]])=>({type:Wr.property_access,object:Qr(t,{trailing:e}),property:Qr(n,{leading:i})})},{name:"between_predicate",symbols:[Xr.has("BETWEEN")?{type:"BETWEEN"}:BETWEEN,"_","andless_expression_chain","_",Xr.has("AND")?{type:"AND"}:AND,"_","andless_expression"],postprocess:([t,e,r,i,n,s,o])=>({type:Wr.between_predicate,betweenKw:jr(t),expr1:zr(r,{leading:e,trailing:i}),andKw:jr(n),expr2:[Qr(o,{leading:s})]})},{name:"case_expression$ebnf$1",symbols:["expression_chain_"],postprocess:Kr},{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:t=>t[0].concat([t[1]])},{name:"case_expression",symbols:[Xr.has("CASE")?{type:"CASE"}:CASE,"_","case_expression$ebnf$1","case_expression$ebnf$2",Xr.has("END")?{type:"END"}:END],postprocess:([t,e,r,i,n])=>({type:Wr.case_expression,caseKw:Qr(jr(t),{trailing:e}),endKw:jr(n),expr:r||[],clauses:i})},{name:"case_clause",symbols:[Xr.has("WHEN")?{type:"WHEN"}:WHEN,"_","expression_chain_",Xr.has("THEN")?{type:"THEN"}:THEN,"_","expression_chain_"],postprocess:([t,e,r,i,n,s])=>({type:Wr.case_when,whenKw:Qr(jr(t),{trailing:e}),thenKw:Qr(jr(i),{trailing:n}),condition:r,result:s})},{name:"case_clause",symbols:[Xr.has("ELSE")?{type:"ELSE"}:ELSE,"_","expression_chain_"],postprocess:([t,e,r])=>({type:Wr.case_else,elseKw:Qr(jr(t),{trailing:e}),result:r})},{name:"comma$subexpression$1",symbols:[Xr.has("COMMA")?{type:"COMMA"}:COMMA]},{name:"comma",symbols:["comma$subexpression$1"],postprocess:([[t]])=>({type:Wr.comma})},{name:"asterisk$subexpression$1",symbols:[Xr.has("ASTERISK")?{type:"ASTERISK"}:ASTERISK]},{name:"asterisk",symbols:["asterisk$subexpression$1"],postprocess:([[t]])=>({type:Wr.operator,text:t.text})},{name:"operator$subexpression$1",symbols:[Xr.has("OPERATOR")?{type:"OPERATOR"}:OPERATOR]},{name:"operator",symbols:["operator$subexpression$1"],postprocess:([[t]])=>({type:Wr.operator,text:t.text})},{name:"identifier$subexpression$1",symbols:[Xr.has("IDENTIFIER")?{type:"IDENTIFIER"}:IDENTIFIER]},{name:"identifier$subexpression$1",symbols:[Xr.has("QUOTED_IDENTIFIER")?{type:"QUOTED_IDENTIFIER"}:QUOTED_IDENTIFIER]},{name:"identifier$subexpression$1",symbols:[Xr.has("VARIABLE")?{type:"VARIABLE"}:VARIABLE]},{name:"identifier",symbols:["identifier$subexpression$1"],postprocess:([[t]])=>({type:Wr.identifier,text:t.text})},{name:"parameter$subexpression$1",symbols:[Xr.has("NAMED_PARAMETER")?{type:"NAMED_PARAMETER"}:NAMED_PARAMETER]},{name:"parameter$subexpression$1",symbols:[Xr.has("QUOTED_PARAMETER")?{type:"QUOTED_PARAMETER"}:QUOTED_PARAMETER]},{name:"parameter$subexpression$1",symbols:[Xr.has("NUMBERED_PARAMETER")?{type:"NUMBERED_PARAMETER"}:NUMBERED_PARAMETER]},{name:"parameter$subexpression$1",symbols:[Xr.has("POSITIONAL_PARAMETER")?{type:"POSITIONAL_PARAMETER"}:POSITIONAL_PARAMETER]},{name:"parameter$subexpression$1",symbols:[Xr.has("CUSTOM_PARAMETER")?{type:"CUSTOM_PARAMETER"}:CUSTOM_PARAMETER]},{name:"parameter",symbols:["parameter$subexpression$1"],postprocess:([[t]])=>({type:Wr.parameter,key:t.key,text:t.text})},{name:"literal$subexpression$1",symbols:[Xr.has("NUMBER")?{type:"NUMBER"}:NUMBER]},{name:"literal$subexpression$1",symbols:[Xr.has("STRING")?{type:"STRING"}:STRING]},{name:"literal",symbols:["literal$subexpression$1"],postprocess:([[t]])=>({type:Wr.literal,text:t.text})},{name:"keyword$subexpression$1",symbols:[Xr.has("RESERVED_KEYWORD")?{type:"RESERVED_KEYWORD"}:RESERVED_KEYWORD]},{name:"keyword$subexpression$1",symbols:[Xr.has("RESERVED_PHRASE")?{type:"RESERVED_PHRASE"}:RESERVED_PHRASE]},{name:"keyword$subexpression$1",symbols:[Xr.has("RESERVED_JOIN")?{type:"RESERVED_JOIN"}:RESERVED_JOIN]},{name:"keyword",symbols:["keyword$subexpression$1"],postprocess:([[t]])=>jr(t)},{name:"logic_operator$subexpression$1",symbols:[Xr.has("AND")?{type:"AND"}:AND]},{name:"logic_operator$subexpression$1",symbols:[Xr.has("OR")?{type:"OR"}:OR]},{name:"logic_operator$subexpression$1",symbols:[Xr.has("XOR")?{type:"XOR"}:XOR]},{name:"logic_operator",symbols:["logic_operator$subexpression$1"],postprocess:([[t]])=>jr(t)},{name:"other_keyword$subexpression$1",symbols:[Xr.has("WHEN")?{type:"WHEN"}:WHEN]},{name:"other_keyword$subexpression$1",symbols:[Xr.has("THEN")?{type:"THEN"}:THEN]},{name:"other_keyword$subexpression$1",symbols:[Xr.has("ELSE")?{type:"ELSE"}:ELSE]},{name:"other_keyword$subexpression$1",symbols:[Xr.has("END")?{type:"END"}:END]},{name:"other_keyword",symbols:["other_keyword$subexpression$1"],postprocess:([[t]])=>jr(t)},{name:"_$ebnf$1",symbols:[]},{name:"_$ebnf$1",symbols:["_$ebnf$1","comment"],postprocess:t=>t[0].concat([t[1]])},{name:"_",symbols:["_$ebnf$1"],postprocess:([t])=>t},{name:"comment",symbols:[Xr.has("LINE_COMMENT")?{type:"LINE_COMMENT"}:LINE_COMMENT],postprocess:([t])=>({type:Wr.line_comment,text:t.text,precedingWhitespace:t.precedingWhitespace})},{name:"comment",symbols:[Xr.has("BLOCK_COMMENT")?{type:"BLOCK_COMMENT"}:BLOCK_COMMENT],postprocess:([t])=>({type:Wr.block_comment,text:t.text,precedingWhitespace:t.precedingWhitespace})}],ParserStart:"main"},Jr=$r,{Parser:Zr,Grammar:ti}=vr(),ei=/^\s+/u;var ri;!function(t){t[t.SPACE=0]="SPACE",t[t.NO_SPACE=1]="NO_SPACE",t[t.NO_NEWLINE=2]="NO_NEWLINE",t[t.NEWLINE=3]="NEWLINE",t[t.MANDATORY_NEWLINE=4]="MANDATORY_NEWLINE",t[t.INDENT=5]="INDENT",t[t.SINGLE_INDENT=6]="SINGLE_INDENT"}(ri=ri||(ri={}));class ii{constructor(t){this.indentation=t,this.items=[]}add(...t){for(const e of t)switch(e){case ri.SPACE:this.items.push(ri.SPACE);break;case ri.NO_SPACE:this.trimHorizontalWhitespace();break;case ri.NO_NEWLINE:this.trimWhitespace();break;case ri.NEWLINE:this.trimHorizontalWhitespace(),this.addNewline(ri.NEWLINE);break;case ri.MANDATORY_NEWLINE:this.trimHorizontalWhitespace(),this.addNewline(ri.MANDATORY_NEWLINE);break;case ri.INDENT:this.addIndentation();break;case ri.SINGLE_INDENT:this.items.push(ri.SINGLE_INDENT);break;default:this.items.push(e)}}trimHorizontalWhitespace(){for(;ni(S(this.items));)this.items.pop()}trimWhitespace(){for(;si(S(this.items));)this.items.pop()}addNewline(t){if(this.items.length>0)switch(S(this.items)){case ri.NEWLINE:this.items.pop(),this.items.push(t);break;case ri.MANDATORY_NEWLINE:break;default:this.items.push(t)}}addIndentation(){for(let t=0;t<this.indentation.getLevel();t++)this.items.push(ri.SINGLE_INDENT)}toString(){return this.items.map((t=>this.itemToString(t))).join("")}getLayoutItems(){return this.items}itemToString(t){switch(t){case ri.SPACE:return" ";case ri.NEWLINE:case ri.MANDATORY_NEWLINE:return"\n";case ri.SINGLE_INDENT:return this.indentation.getSingleIndent();default:return t}}}const ni=t=>t===ri.SPACE||t===ri.SINGLE_INDENT,si=t=>t===ri.SPACE||t===ri.SINGLE_INDENT||t===ri.NEWLINE,oi="top-level";class ai{constructor(t){this.indent=t,this.indentTypes=[]}getSingleIndent(){return this.indent}getLevel(){return this.indentTypes.length}increaseTopLevel(){this.indentTypes.push(oi)}increaseBlockLevel(){this.indentTypes.push("block-level")}decreaseTopLevel(){this.indentTypes.length>0&&S(this.indentTypes)===oi&&this.indentTypes.pop()}decreaseBlockLevel(){for(;this.indentTypes.length>0&&this.indentTypes.pop()===oi;);}}class Ei extends ii{constructor(t){super(new ai("")),this.expressionWidth=t,this.length=0,this.trailingSpace=!1}add(...t){if(t.forEach((t=>this.addToLength(t))),this.length>this.expressionWidth)throw new hi;super.add(...t)}addToLength(t){if("string"==typeof t)this.length+=t.length,this.trailingSpace=!1;else{if(t===ri.MANDATORY_NEWLINE||t===ri.NEWLINE)throw new hi;t===ri.INDENT||t===ri.SINGLE_INDENT||t===ri.SPACE?this.trailingSpace||(this.length++,this.trailingSpace=!0):t!==ri.NO_NEWLINE&&t!==ri.NO_SPACE||this.trailingSpace&&(this.trailingSpace=!1,this.length--)}}}class hi extends Error{}class li{constructor({cfg:t,dialectCfg:e,params:r,layout:i,inline:n=!1}){this.inline=!1,this.nodes=[],this.index=-1,this.cfg=t,this.dialectCfg=e,this.inline=n,this.params=r,this.layout=i}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 Wr.function_call:return this.formatFunctionCall(t);case Wr.array_subscript:return this.formatArraySubscript(t);case Wr.property_access:return this.formatPropertyAccess(t);case Wr.parenthesis:return this.formatParenthesis(t);case Wr.between_predicate:return this.formatBetweenPredicate(t);case Wr.case_expression:return this.formatCaseExpression(t);case Wr.case_when:return this.formatCaseWhen(t);case Wr.case_else:return this.formatCaseElse(t);case Wr.clause:return this.formatClause(t);case Wr.set_operation:return this.formatSetOperation(t);case Wr.limit_clause:return this.formatLimitClause(t);case Wr.all_columns_asterisk:return this.formatAllColumnsAsterisk(t);case Wr.literal:return this.formatLiteral(t);case Wr.identifier:return this.formatIdentifier(t);case Wr.parameter:return this.formatParameter(t);case Wr.operator:return this.formatOperator(t);case Wr.comma:return this.formatComma(t);case Wr.line_comment:return this.formatLineComment(t);case Wr.block_comment:return this.formatBlockComment(t);case Wr.keyword:return this.formatKeywordNode(t)}}formatFunctionCall(t){this.withComments(t.nameKw,(()=>{this.layout.add(this.showKw(t.nameKw))})),this.formatNode(t.parenthesis)}formatArraySubscript(t){this.withComments(t.array,(()=>{this.layout.add(t.array.type===Wr.keyword?this.showKw(t.array):t.array.text)})),this.formatNode(t.parenthesis)}formatPropertyAccess(t){this.formatNode(t.object),this.layout.add(ri.NO_SPACE,"."),this.formatNode(t.property)}formatParenthesis(t){const e=this.formatInlineExpression(t.children);e?(this.layout.add(t.openParen),this.layout.add(...e.getLayoutItems()),this.layout.add(ri.NO_SPACE,t.closeParen,ri.SPACE)):(this.layout.add(t.openParen,ri.NEWLINE),Pr(this.cfg)?(this.layout.add(ri.INDENT),this.layout=this.formatSubExpression(t.children)):(this.layout.indentation.increaseBlockLevel(),this.layout.add(ri.INDENT),this.layout=this.formatSubExpression(t.children),this.layout.indentation.decreaseBlockLevel()),this.layout.add(ri.NEWLINE,ri.INDENT,t.closeParen,ri.SPACE))}formatBetweenPredicate(t){this.layout.add(this.showKw(t.betweenKw),ri.SPACE),this.layout=this.formatSubExpression(t.expr1),this.layout.add(ri.NO_SPACE,ri.SPACE,this.showNonTabularKw(t.andKw),ri.SPACE),this.layout=this.formatSubExpression(t.expr2),this.layout.add(ri.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(ri.NEWLINE,ri.INDENT),this.formatNode(t.endKw)}formatCaseWhen(t){this.layout.add(ri.NEWLINE,ri.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(ri.NEWLINE,ri.INDENT),this.formatNode(t.elseKw),this.layout=this.formatSubExpression(t.result)}formatClause(t){this.isOnelineClause(t)?this.formatClauseInOnelineStyle(t):Pr(this.cfg)?this.formatClauseInTabularStyle(t):this.formatClauseInIndentedStyle(t)}isOnelineClause(t){return this.dialectCfg.onelineClauses[t.nameKw.text]}formatClauseInIndentedStyle(t){this.layout.add(ri.NEWLINE,ri.INDENT,this.showKw(t.nameKw),ri.NEWLINE),this.layout.indentation.increaseTopLevel(),this.layout.add(ri.INDENT),this.layout=this.formatSubExpression(t.children),this.layout.indentation.decreaseTopLevel()}formatClauseInOnelineStyle(t){this.layout.add(ri.NEWLINE,ri.INDENT,this.showKw(t.nameKw),ri.SPACE),this.layout=this.formatSubExpression(t.children)}formatClauseInTabularStyle(t){this.layout.add(ri.NEWLINE,ri.INDENT,this.showKw(t.nameKw),ri.SPACE),this.layout.indentation.increaseTopLevel(),this.layout=this.formatSubExpression(t.children),this.layout.indentation.decreaseTopLevel()}formatSetOperation(t){this.layout.add(ri.NEWLINE,ri.INDENT,this.showKw(t.nameKw),ri.NEWLINE),this.layout.add(ri.INDENT),this.layout=this.formatSubExpression(t.children)}formatLimitClause(t){this.withComments(t.limitKw,(()=>{this.layout.add(ri.NEWLINE,ri.INDENT,this.showKw(t.limitKw))})),this.layout.indentation.increaseTopLevel(),Pr(this.cfg)?this.layout.add(ri.SPACE):this.layout.add(ri.NEWLINE,ri.INDENT),t.offset?(this.layout=this.formatSubExpression(t.offset),this.layout.add(ri.NO_SPACE,",",ri.SPACE),this.layout=this.formatSubExpression(t.count)):this.layout=this.formatSubExpression(t.count),this.layout.indentation.decreaseTopLevel()}formatAllColumnsAsterisk(t){this.layout.add("*",ri.SPACE)}formatLiteral(t){this.layout.add(t.text,ri.SPACE)}formatIdentifier(t){this.layout.add(t.text,ri.SPACE)}formatParameter(t){this.layout.add(this.params.get(t),ri.SPACE)}formatOperator({text:t}){this.cfg.denseOperators||this.dialectCfg.alwaysDenseOperators.includes(t)?this.layout.add(ri.NO_SPACE,t):":"===t?this.layout.add(ri.NO_SPACE,t,ri.SPACE):this.layout.add(t,ri.SPACE)}formatComma(t){this.inline?this.layout.add(ri.NO_SPACE,",",ri.SPACE):this.layout.add(ri.NO_SPACE,",",ri.NEWLINE,ri.INDENT)}withComments(t,e){this.formatComments(t.leadingComments),e(),this.formatComments(t.trailingComments)}formatComments(t){t&&t.forEach((t=>{t.type===Wr.line_comment?this.formatLineComment(t):this.formatBlockComment(t)}))}formatLineComment(t){C(t.precedingWhitespace||"")?this.layout.add(ri.NEWLINE,ri.INDENT,t.text,ri.MANDATORY_NEWLINE,ri.INDENT):this.layout.getLayoutItems().length>0?this.layout.add(ri.NO_NEWLINE,ri.SPACE,t.text,ri.MANDATORY_NEWLINE,ri.INDENT):this.layout.add(t.text,ri.MANDATORY_NEWLINE,ri.INDENT)}formatBlockComment(t){this.isMultilineBlockComment(t)?(this.splitBlockComment(t.text).forEach((t=>{this.layout.add(ri.NEWLINE,ri.INDENT,t)})),this.layout.add(ri.NEWLINE,ri.INDENT)):this.layout.add(t.text,ri.SPACE)}isMultilineBlockComment(t){return C(t.text)||C(t.precedingWhitespace||"")}isDocComment(t){const e=t.split(/\n/);return/^\/\*\*?$/.test(e[0])&&e.slice(1,e.length-1).every((t=>/^\s*\*/.test(t)))&&/^\s*\*\/$/.test(S(e))}splitBlockComment(t){return this.isDocComment(t)?t.split(/\n/).map((t=>/^\s*\*/.test(t)?" "+t.replace(/^\s*/,""):t)):t.split(/\n/).map((t=>t.replace(/^\s*/,"")))}formatSubExpression(t){return new li({cfg:this.cfg,dialectCfg:this.dialectCfg,params:this.params,layout:this.layout,inline:this.inline}).format(t)}formatInlineExpression(t){const e=this.params.getPositionalParameterIndex();try{return new li({cfg:this.cfg,dialectCfg:this.dialectCfg,params:this.params,layout:new Ei(this.cfg.expressionWidth),inline:!0}).format(t)}catch(t){if(t instanceof hi)return void this.params.setPositionalParameterIndex(e);throw t}}formatKeywordNode(e){switch(e.tokenType){case t.RESERVED_JOIN:return this.formatJoin(e);case t.AND:case t.OR:case t.XOR:return this.formatLogicalOperator(e);default:return this.formatKeyword(e)}}formatJoin(t){Pr(this.cfg)?(this.layout.indentation.decreaseTopLevel(),this.layout.add(ri.NEWLINE,ri.INDENT,this.showKw(t),ri.SPACE),this.layout.indentation.increaseTopLevel()):this.layout.add(ri.NEWLINE,ri.INDENT,this.showKw(t),ri.SPACE)}formatKeyword(t){this.layout.add(this.showKw(t),ri.SPACE)}formatLogicalOperator(t){"before"===this.cfg.logicalOperatorNewline?Pr(this.cfg)?(this.layout.indentation.decreaseTopLevel(),this.layout.add(ri.NEWLINE,ri.INDENT,this.showKw(t),ri.SPACE),this.layout.indentation.increaseTopLevel()):this.layout.add(ri.NEWLINE,ri.INDENT,this.showKw(t),ri.SPACE):this.layout.add(this.showKw(t),ri.NEWLINE,ri.INDENT)}showKw(e){return(e=>e===t.AND||e===t.OR||e===t.XOR)(r=e.tokenType)||r===t.RESERVED_CLAUSE||r===t.RESERVED_SELECT||r===t.RESERVED_SET_OPERATION||r===t.RESERVED_JOIN||r===t.LIMIT?function(t,e){if("standard"===e)return t;let r=[];return t.length>=10&&t.includes(" ")&&([t,...r]=t.split(" ")),(t="tabularLeft"===e?t.padEnd(9," "):t.padStart(9," "))+["",...r].join(" ")}(this.showNonTabularKw(e),this.cfg.indentStyle):this.showNonTabularKw(e);var r}showNonTabularKw(t){switch(this.cfg.keywordCase){case"preserve":return N(t.raw);case"upper":return t.text;case"lower":return t.text.toLowerCase()}}}class ui{constructor(t,e){this.dialect=t,this.cfg=e,this.params=new Dr(this.cfg.params)}format(t){const e=this.parse(t),r=this.formatAst(e);return this.postFormat(r).trimEnd()}parse(t){return function(t){let e={};const r=new Yr((r=>{return[...(i=t.tokenize(r,e),i.map(Ur).map(kr).map(br).map(Gr)),n(r.length)];var i})),i=new Zr(ti.fromCompiled(Jr),{lexer:r});return{parse:(t,r)=>{e=r;const{results:n}=i.feed(t);if(1===n.length)return n[0];throw 0===n.length?new Error("Parse error: Invalid SQL"):new Error(`Parse error: Ambiguous grammar\n${JSON.stringify(n,void 0,2)}`)}}}(this.dialect.tokenizer).parse(t,this.cfg.paramTypes||{})}formatAst(t){return t.map((t=>this.formatStatement(t))).join("\n".repeat(this.cfg.linesBetweenQueries+1))}formatStatement(t){const e=new li({cfg:this.cfg,dialectCfg:this.dialect.formatOptions,params:this.params,layout:new ii(new ai(gr(this.cfg)))}).format(t.children);return t.hasSemicolon&&(this.cfg.newlineBeforeSemicolon?e.add(ri.NEWLINE,";"):e.add(ri.NO_NEWLINE,";")),e.toString()}postFormat(t){return this.cfg.tabulateAlias&&(t=function(t){const e=t.split("\n");let r=[];for(let t=0;t<e.length;t++){if(e[t].match(/^\s*SELECT/i)){let i=[];if(e[t].match(/.*,$/))i=[e[t]];else{if(r.push(e[t]),e[t].match(/^\s*SELECT\s+.+(?!,$)/i))continue;i.push(e[++t])}for(;e[t++].match(/.*,$/);)i.push(e[t]);const n=i.map((t=>({line:t,matches:t.match(/(^.*?\S) (AS )?(\S+,?$)/i)}))).map((({line:t,matches:e})=>e?{precedingText:e[1],as:e[2],alias:e[3]}:{precedingText:t})),s=d(n.map((({precedingText:t})=>t.replace(/\s*,\s*$/,""))));i=n.map((({precedingText:t,as:e,alias:r})=>t+(r?" ".repeat(s-t.length+1)+(null!=e?e:"")+r:""))),r=[...r,...i]}r.push(e[t])}return r.join("\n")}(t)),"before"!==this.cfg.commaPosition&&"tabular"!==this.cfg.commaPosition||(t=function(t,e,r){return function(t){const e=[];for(let r=0;r<t.length;r++){const i=[t[r]];for(;t[r].match(/.*,(\s*(--.*)?$)/);)r++,i.push(t[r]);e.push(i)}return e}(t.split("\n")).flatMap((t=>{if(1===t.length)return t;if("tabular"===e)return function(t){const e=d(t.map((t=>t.replace(/\s*--.*/,""))))-1;return t.map(((r,i)=>i===t.length-1?r:function(t,e){const[,r,i]=t.match(/^(.*?),(\s*--.*)?$/)||[];return`${r}${" ".repeat(e-r.length)},${null!=i?i:""}`}(r,e)))}(t);if("before"===e)return function(t,e){return(r=t,r.map((t=>t.replace(/,(\s*(--.*)?$)/,"$1")))).map(((t,r)=>{if(0===r)return t;const[i]=t.match(ei)||[""];return function(t,e){return t.replace(new RegExp(e+"$"),"")}(i,e)+e.replace(/ {2}$/,", ")+t.trimStart()}));var r}(t,r);throw new Error(`Unexpected commaPosition: ${e}`)})).join("\n")}(t,this.cfg.commaPosition,gr(this.cfg))),t}}class ci extends Error{}const Ti={bigquery:"bigquery",db2:"db2",hive:"hive",mariadb:"mariadb",mysql:"mysql",n1ql:"n1ql",plsql:"plsql",postgresql:"postgresql",redshift:"redshift",spark:"spark",sqlite:"sqlite",sql:"sql",trino:"trino",transactsql:"transactsql",tsql:"transactsql",singlestoredb:"singlestoredb",snowflake:"snowflake"},Ri=Object.keys(Ti),pi={tabWidth:2,useTabs:!1,keywordCase:"preserve",indentStyle:"standard",logicalOperatorNewline:"before",tabulateAlias:!1,commaPosition:"after",expressionWidth:50,linesBetweenQueries:1,denseOperators:!1,newlineBeforeSemicolon:!1},Si=(t,r={})=>{if("string"==typeof r.language&&!Ri.includes(r.language))throw new ci(`Unsupported SQL dialect: ${r.language}`);const i=Ti[r.language||"sql"];return Ai(t,Object.assign(Object.assign({},r),{dialect:e[i]}))},Ai=(t,e)=>{var{dialect:r}=e,i=function(t,e){var r={};for(var i in t)Object.prototype.hasOwnProperty.call(t,i)&&e.indexOf(i)<0&&(r[i]=t[i]);if(null!=t&&"function"==typeof Object.getOwnPropertySymbols){var n=0;for(i=Object.getOwnPropertySymbols(t);n<i.length;n++)e.indexOf(i[n])<0&&Object.prototype.propertyIsEnumerable.call(t,i[n])&&(r[i[n]]=t[i[n]])}return r}(e,["dialect"]);if("string"!=typeof t)throw new Error("Invalid query argument. Expected string, instead got "+typeof t);const n=function(t){if("multilineLists"in t)throw new ci("multilineLists config is no more supported.");if("newlineBeforeOpenParen"in t)throw new ci("newlineBeforeOpenParen config is no more supported.");if("newlineBeforeCloseParen"in t)throw new ci("newlineBeforeCloseParen config is no more supported.");if("aliasAs"in t)throw new ci("aliasAs config is no more supported.");if(t.expressionWidth<=0)throw new ci(`expressionWidth config must be positive number. Received ${t.expressionWidth} instead.`);if("before"===t.commaPosition&&t.useTabs)throw new ci("commaPosition: before does not work when tabs are used for indentation.");var e;return t.params&&!((e=t.params)instanceof Array?e:Object.values(e)).every((t=>"string"==typeof t))&&console.warn('WARNING: All "params" option values should be strings.'),t}(Object.assign(Object.assign({},pi),i));return new ui((t=>{let e=yr.get(t);return e||(e={tokenizer:new fr((r=t).tokenizerOptions),formatOptions:xr(r.formatOptions)},yr.set(t,e)),e;var r})(r),n).format(t)}})(),i})(),t.exports=e()},(t,e,r)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.handleAutoCompletion=void 0;const i=r(260),n=r(1),s=r(68),o=r(287),a=r(288),E=r(289),h=[o.SparkSqlLexer.EOF,o.SparkSqlLexer.DOT,o.SparkSqlLexer.SEMI,o.SparkSqlLexer.COMMA,o.SparkSqlLexer.LEFT_BRACKET,o.SparkSqlLexer.RIGHT_BRACKET,o.SparkSqlLexer.EQ,o.SparkSqlLexer.DOUBLEQUOTED_STRING,o.SparkSqlLexer.BACKQUOTED_IDENTIFIER,o.SparkSqlLexer.AT,o.SparkSqlLexer.DIV,o.SparkSqlLexer.NSEQ,o.SparkSqlLexer.NEQ,o.SparkSqlLexer.NEQJ,o.SparkSqlLexer.LT,o.SparkSqlLexer.LTE,o.SparkSqlLexer.GT,o.SparkSqlLexer.GTE,o.SparkSqlLexer.PLUS,o.SparkSqlLexer.MINUS],l=[a.SparkSqlParser.RULE_functionName,a.SparkSqlParser.RULE_identifierReference];e.handleAutoCompletion=function(t,e,r){const u=t.offsetAt(e),c=r.tokenStream.getTokens().find((t=>t.startIndex<=u&&u<=t.stopIndex+1));if(!c)return[];const T=new i.CodeCompletionCore(r.parser);T.ignoredTokens=new Set(h),T.preferredRules=new Set(l);let R=c.tokenIndex;c.type===o.SparkSqlLexer.DOT&&(R+=1);const p=[];try{const t=T.collectCandidates(R);t.rules.size>0&&t.rules.has(a.SparkSqlParser.RULE_functionName)&&p.push(...s.BuiltInFunctions.map((t=>(0,E.toCompletionItem)("built-in",t.name,t.name,"built-in function",t.description))));for(const e of Array.from(t.tokens)){const t=r.parser.vocabulary.getDisplayName(e[0]).replace(/'/g,"");isNaN(Number(t))&&p.push({kind:n.CompletionItemKind.Keyword,label:t,insertText:t,insertTextFormat:n.InsertTextFormat.Snippet})}}catch(t){}return p}},function(t,e,r){"use strict";var i=this&&this.__createBinding||(Object.create?function(t,e,r,i){void 0===i&&(i=r),Object.defineProperty(t,i,{enumerable:!0,get:function(){return e[r]}})}:function(t,e,r,i){void 0===i&&(i=r),t[i]=e[r]}),n=this&&this.__exportStar||function(t,e){for(var r in t)"default"===r||Object.prototype.hasOwnProperty.call(e,r)||i(e,t,r)};Object.defineProperty(e,"__esModule",{value:!0}),n(r(261),e),n(r(286),e)},(t,e,r)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.CodeCompletionCore=e.CandidatesCollection=void 0;const i=r(262),n=r(280),s=r(157);class o{constructor(){this.tokens=new Map,this.rules=new Map}}e.CandidatesCollection=o;class a{constructor(){this.path=[],this.following=[]}}class E{}class h{constructor(t){this.showResult=!1,this.showDebugOutput=!1,this.debugOutputWithTransitions=!1,this.showRuleStack=!1,this.translateRulesTopDown=!1,this.tokenStartIndex=0,this.statesProcessed=0,this.shortcutMap=new Map,this.candidates=new o,this.parser=t,this.atn=t.atn,this.vocabulary=t.vocabulary,this.ruleNames=t.ruleNames,this.ignoredTokens=new Set,this.preferredRules=new Set}collectCandidates(t,e){this.shortcutMap.clear(),this.candidates.rules.clear(),this.candidates.tokens.clear(),this.statesProcessed=0,this.precedenceStack=[],this.tokenStartIndex=e?e.start.tokenIndex:0;const r=this.parser.inputStream;this.tokens=[];let n=this.tokenStartIndex;for(;;){const e=r.get(n++);if(e.channel===i.Token.DEFAULT_CHANNEL&&(this.tokens.push(e),e.tokenIndex>=t||e.type===i.Token.EOF))break;if(e.type===i.Token.EOF)break}const s=e?e.ruleIndex:0;if(this.processRule(this.atn.ruleToStartState[s],0,[],0,0),this.showResult){console.log(`States processed: ${this.statesProcessed}`),console.log("\n\nCollected rules:\n");for(const t of this.candidates.rules){let e="";for(const r of t[1].ruleList)e+=this.ruleNames[r]+" ";console.log(this.ruleNames[t[0]]+", path: ",e)}const t=new Set;for(const e of this.candidates.tokens){let r=this.vocabulary.getDisplayName(e[0]);for(const t of e[1])r+=" "+this.vocabulary.getDisplayName(t);t.add(r)}console.log("\n\nCollected tokens:\n");for(const e of t)console.log(e);console.log("\n\n")}return this.candidates}checkPredicate(t){return t.predicate.eval(this.parser,i.ParserRuleContext.emptyContext())}translateStackToRuleIndex(t){if(0===this.preferredRules.size)return!1;if(this.translateRulesTopDown){for(let e=t.length-1;e>=0;e--)if(this.translateToRuleIndex(e,t))return!0}else for(let e=0;e<t.length;e++)if(this.translateToRuleIndex(e,t))return!0;return!1}translateToRuleIndex(t,e){const{ruleIndex:r,startTokenIndex:i}=e[t];if(this.preferredRules.has(r)){const n=e.slice(0,t).map((({ruleIndex:t})=>t));let s=!0;for(const t of this.candidates.rules)if(t[0]===r&&t[1].ruleList.length===n.length&&n.every(((e,r)=>e===t[1].ruleList[r]))){s=!1;break}return s&&(this.candidates.rules.set(r,{startTokenIndex:i,ruleList:n}),this.showDebugOutput&&console.log("=====> collected: ",this.ruleNames[r])),!0}return!1}getFollowingTokens(t){const e=[],r=[t.target];for(;r.length>0;){const t=r.pop();t&&t.getTransitions().forEach((t=>{if(5===t.serializationType)if(t.isEpsilon)r.push(t.target);else{const i=t.label.toArray();1!==i.length||this.ignoredTokens.has(i[0])||(e.push(i[0]),r.push(t.target))}}))}return e}determineFollowSets(t,e){const r=[];return this.collectFollowSets(t,e,r,[],[]),r}collectFollowSets(t,e,r,o,E){if(!o.find((e=>e===t))){if(o.push(t),t===e||t.stateType===n.ATNStateType.RULE_STOP){const t=new a;return t.intervals=s.IntervalSet.of(i.Token.EPSILON),t.path=E.slice(),r.push(t),void o.pop()}for(const n of t.getTransitions())if(3===n.serializationType){const t=n;if(-1!==E.indexOf(t.target.ruleIndex))continue;E.push(t.target.ruleIndex),this.collectFollowSets(n.target,e,r,o,E),E.pop()}else if(4===n.serializationType)this.checkPredicate(n)&&this.collectFollowSets(n.target,e,r,o,E);else if(n.isEpsilon)this.collectFollowSets(n.target,e,r,o,E);else if(9===n.serializationType){const t=new a;t.intervals=s.IntervalSet.of(i.Token.MIN_USER_TOKEN_TYPE,this.atn.maxTokenType),t.path=E.slice(),r.push(t)}else{let t=n.label;if(t&&t.size>0){8===n.serializationType&&(t=t.complement(s.IntervalSet.of(i.Token.MIN_USER_TOKEN_TYPE,this.atn.maxTokenType)));const e=new a;e.intervals=t,e.path=E.slice(),e.following=this.getFollowingTokens(n),r.push(e)}}o.pop()}}processRule(t,e,r,o,a){let l=this.shortcutMap.get(t.ruleIndex);if(l){if(l.has(e))return this.showDebugOutput&&console.log("=====> shortcut"),l.get(e)}else l=new Map,this.shortcutMap.set(t.ruleIndex,l);const u=new Set;let c=h.followSetsByATN.get(this.parser.constructor.name);c||(c=new Map,h.followSetsByATN.set(this.parser.constructor.name,c));let T=c.get(t.stateNumber);if(!T){T=new E,c.set(t.stateNumber,T);const e=this.atn.ruleToStopState[t.ruleIndex];T.sets=this.determineFollowSets(t,e);const r=new s.IntervalSet;for(const t of T.sets)r.addAll(t.intervals);T.combined=r}const R=this.tokens[e].tokenIndex;if(r.push({startTokenIndex:R,ruleIndex:t.ruleIndex}),e>=this.tokens.length-1){if(this.preferredRules.has(t.ruleIndex))this.translateStackToRuleIndex(r);else for(const t of T.sets){const e=r.slice(),i=t.path.map((t=>({startTokenIndex:R,ruleIndex:t})));if(e.push(...i),!this.translateStackToRuleIndex(e))for(const e of t.intervals.toArray())this.ignoredTokens.has(e)||(this.showDebugOutput&&console.log("=====> collected: ",this.vocabulary.getDisplayName(e)),this.candidates.tokens.has(e)?this.candidates.tokens.get(e)!==t.following&&this.candidates.tokens.set(e,[]):this.candidates.tokens.set(e,t.following))}return r.pop(),u}{const t=this.tokens[e].type;if(!T.combined.contains(i.Token.EPSILON)&&!T.combined.contains(t))return r.pop(),u}t.isPrecedenceRule&&this.precedenceStack.push(o);const p=[];let S;for(p.push({state:t,tokenListIndex:e});p.length>0;){S=p.pop(),++this.statesProcessed;const t=this.tokens[S.tokenListIndex].type,e=S.tokenListIndex>=this.tokens.length-1;if(this.showDebugOutput&&(this.printDescription(a,S.state,this.generateBaseDescription(S.state),S.tokenListIndex),this.showRuleStack&&this.printRuleState(r)),S.state.stateType===n.ATNStateType.RULE_STOP){u.add(S.tokenListIndex);continue}const o=S.state.getTransitions();for(const n of o)switch(n.serializationType){case 3:{const t=n,e=this.processRule(n.target,S.tokenListIndex,r,t.precedence,a+1);for(const t of e)p.push({state:n.followState,tokenListIndex:t});break}case 4:this.checkPredicate(n)&&p.push({state:n.target,tokenListIndex:S.tokenListIndex});break;case 10:n.precedence>=this.precedenceStack[this.precedenceStack.length-1]&&p.push({state:n.target,tokenListIndex:S.tokenListIndex});break;case 9:if(e){if(!this.translateStackToRuleIndex(r))for(const t of s.IntervalSet.of(i.Token.MIN_USER_TOKEN_TYPE,this.atn.maxTokenType).toArray())this.ignoredTokens.has(t)||this.candidates.tokens.set(t,[])}else p.push({state:n.target,tokenListIndex:S.tokenListIndex+1});break;default:{if(n.isEpsilon){p.push({state:n.target,tokenListIndex:S.tokenListIndex});continue}let o=n.label;if(o&&o.size>0)if(8===n.serializationType&&(o=o.complement(s.IntervalSet.of(i.Token.MIN_USER_TOKEN_TYPE,this.atn.maxTokenType))),e){if(!this.translateStackToRuleIndex(r)){const t=o.toArray(),e=1===t.length;for(const r of t)this.ignoredTokens.has(r)||(this.showDebugOutput&&console.log("=====> collected: ",this.vocabulary.getDisplayName(r)),e?this.candidates.tokens.set(r,this.getFollowingTokens(n)):this.candidates.tokens.set(r,[]))}}else o.contains(t)&&(this.showDebugOutput&&console.log("=====> consumed: ",this.vocabulary.getDisplayName(t)),p.push({state:n.target,tokenListIndex:S.tokenListIndex+1}))}}}return r.pop(),t.isPrecedenceRule&&this.precedenceStack.pop(),l.set(e,u),u}generateBaseDescription(t){return`[${t.stateNumber===n.ATNState.INVALID_STATE_NUMBER?"Invalid":t.stateNumber} ${h.atnStateTypeMap[t.stateType]}] in ${this.ruleNames[t.ruleIndex]}`}printDescription(t,e,r,i){const n=" ".repeat(t);let s=n,o="";if(this.debugOutputWithTransitions)for(const t of e.getTransitions()){let e="";const r=t.label?t.label.toArray():[];if(r.length>2)e=this.vocabulary.getDisplayName(r[0])+" .. "+this.vocabulary.getDisplayName(r[r.length-1]);else for(const t of r)e.length>0&&(e+=", "),e+=this.vocabulary.getDisplayName(t);0===e.length&&(e="ε"),o+=`\n${n}\t(${e}) [${t.target.stateNumber} ${h.atnStateTypeMap[t.target.stateType]}] in ${this.ruleNames[t.target.ruleIndex]}`}i>=this.tokens.length-1?s+=`<<${this.tokenStartIndex+i}>> `:s+=`<${this.tokenStartIndex+i}> `,console.log(s+"Current state: "+r+o)}printRuleState(t){if(0!==t.length)for(const e of t)console.log(this.ruleNames[e.ruleIndex]);else console.log("<empty stack>")}}e.CodeCompletionCore=h,h.followSetsByATN=new Map,h.atnStateTypeMap=["invalid","basic","rule start","block start","plus block start","star block start","token start","rule stop","block end","star loop back","star loop entry","plus loop back","loop end"]},function(t,e,r){"use strict";var i=this&&this.__createBinding||(Object.create?function(t,e,r,i){void 0===i&&(i=r),Object.defineProperty(t,i,{enumerable:!0,get:function(){return e[r]}})}:function(t,e,r,i){void 0===i&&(i=r),t[i]=e[r]}),n=this&&this.__exportStar||function(t,e){for(var r in t)"default"===r||Object.prototype.hasOwnProperty.call(e,r)||i(e,t,r)};Object.defineProperty(e,"__esModule",{value:!0}),n(r(263),e),n(r(264),e),n(r(265),e),n(r(221),e),n(r(228),e),n(r(266),e),n(r(223),e),n(r(224),e),n(r(226),e),n(r(161),e),n(r(160),e),n(r(227),e),n(r(151),e),n(r(215),e),n(r(267),e),n(r(268),e),n(r(216),e),n(r(217),e),n(r(232),e),n(r(78),e),n(r(159),e),n(r(269),e),n(r(167),e),n(r(229),e),n(r(200),e),n(r(180),e),n(r(270),e),n(r(231),e),n(r(201),e),n(r(152),e),n(r(219),e),n(r(168),e),n(r(150),e),n(r(202),e),n(r(271),e),n(r(272),e),n(r(273),e),n(r(77),e),n(r(274),e),n(r(275),e),n(r(276),e),n(r(277),e),n(r(278),e),n(r(153),e),n(r(279),e)},(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0})},(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0})},function(t,e,r){"use strict";var i=this&&this.__decorate||function(t,e,r,i){var n,s=arguments.length,o=s<3?e:null===i?i=Object.getOwnPropertyDescriptor(e,r):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(t,e,r,i);else for(var a=t.length-1;a>=0;a--)(n=t[a])&&(o=(s<3?n(o):s>3?n(e,r,o):n(e,r))||o);return s>3&&o&&Object.defineProperty(e,r,o),o};Object.defineProperty(e,"__esModule",{value:!0}),e.ANTLRInputStream=void 0;const n=r(91),s=r(73),o=r(78);class a{constructor(t){this.p=0,this.data=t,this.n=t.length}reset(){this.p=0}consume(){if(this.p>=this.n)throw n(this.LA(1)===o.IntStream.EOF),new Error("cannot consume EOF");this.p<this.n&&this.p++}LA(t){return 0===t?0:t<0&&(t++,this.p+t-1<0)||this.p+t-1>=this.n?o.IntStream.EOF:this.data.charCodeAt(this.p+t-1)}LT(t){return this.LA(t)}get index(){return this.p}get size(){return this.n}mark(){return-1}release(t){}seek(t){if(t<=this.p)this.p=t;else for(t=Math.min(t,this.n);this.p<t;)this.consume()}getText(t){let e=t.a,r=t.b;r>=this.n&&(r=this.n-1);let i=r-e+1;return e>=this.n?"":this.data.substr(e,i)}get sourceName(){return this.name?this.name:o.IntStream.UNKNOWN_SOURCE_NAME}toString(){return this.data}}i([s.Override],a.prototype,"consume",null),i([s.Override],a.prototype,"LA",null),i([s.Override],a.prototype,"index",null),i([s.Override],a.prototype,"size",null),i([s.Override],a.prototype,"mark",null),i([s.Override],a.prototype,"release",null),i([s.Override],a.prototype,"seek",null),i([s.Override],a.prototype,"getText",null),i([s.Override],a.prototype,"sourceName",null),i([s.Override],a.prototype,"toString",null),e.ANTLRInputStream=a},(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0})},(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.Dependents=void 0,function(t){t[t.SELF=0]="SELF",t[t.PARENTS=1]="PARENTS",t[t.CHILDREN=2]="CHILDREN",t[t.ANCESTORS=3]="ANCESTORS",t[t.DESCENDANTS=4]="DESCENDANTS",t[t.SIBLINGS=5]="SIBLINGS",t[t.PRECEEDING_SIBLINGS=6]="PRECEEDING_SIBLINGS",t[t.FOLLOWING_SIBLINGS=7]="FOLLOWING_SIBLINGS",t[t.PRECEEDING=8]="PRECEEDING",t[t.FOLLOWING=9]="FOLLOWING"}(e.Dependents||(e.Dependents={}))},function(t,e,r){"use strict";var i=this&&this.__decorate||function(t,e,r,i){var n,s=arguments.length,o=s<3?e:null===i?i=Object.getOwnPropertyDescriptor(e,r):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(t,e,r,i);else for(var a=t.length-1;a>=0;a--)(n=t[a])&&(o=(s<3?n(o):s>3?n(e,r,o):n(e,r))||o);return s>3&&o&&Object.defineProperty(e,r,o),o},n=this&&this.__param||function(t,e){return function(r,i){e(r,i,t)}};Object.defineProperty(e,"__esModule",{value:!0}),e.DiagnosticErrorListener=void 0;const s=r(146),o=r(73),a=r(76);class E{constructor(t=!0){this.exactOnly=t,this.exactOnly=t}syntaxError(t,e,r,i,n,s){}reportAmbiguity(t,e,r,i,n,s,o){if(this.exactOnly&&!n)return;let E=`reportAmbiguity d=${this.getDecisionDescription(t,e)}: ambigAlts=${this.getConflictingAlts(s,o)}, input='${t.inputStream.getText(a.Interval.of(r,i))}'`;t.notifyErrorListeners(E)}reportAttemptingFullContext(t,e,r,i,n,s){let o=`reportAttemptingFullContext d=${this.getDecisionDescription(t,e)}, input='${t.inputStream.getText(a.Interval.of(r,i))}'`;t.notifyErrorListeners(o)}reportContextSensitivity(t,e,r,i,n,s){let o=`reportContextSensitivity d=${this.getDecisionDescription(t,e)}, input='${t.inputStream.getText(a.Interval.of(r,i))}'`;t.notifyErrorListeners(o)}getDecisionDescription(t,e){let r=e.decision,i=e.atnStartState.ruleIndex,n=t.ruleNames;if(i<0||i>=n.length)return r.toString();let s=n[i];return s?`${r} (${s})`:r.toString()}getConflictingAlts(t,e){if(null!=t)return t;let r=new s.BitSet;for(let t of e)r.set(t.alt);return r}}i([o.Override],E.prototype,"syntaxError",null),i([o.Override,n(0,o.NotNull),n(1,o.NotNull),n(6,o.NotNull)],E.prototype,"reportAmbiguity",null),i([o.Override,n(0,o.NotNull),n(1,o.NotNull),n(5,o.NotNull)],E.prototype,"reportAttemptingFullContext",null),i([o.Override,n(0,o.NotNull),n(1,o.NotNull),n(5,o.NotNull)],E.prototype,"reportContextSensitivity",null),i([n(0,o.NotNull),n(1,o.NotNull)],E.prototype,"getDecisionDescription",null),i([o.NotNull,n(1,o.NotNull)],E.prototype,"getConflictingAlts",null),e.DiagnosticErrorListener=E},function(t,e,r){"use strict";var i=this&&this.__decorate||function(t,e,r,i){var n,s=arguments.length,o=s<3?e:null===i?i=Object.getOwnPropertyDescriptor(e,r):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(t,e,r,i);else for(var a=t.length-1;a>=0;a--)(n=t[a])&&(o=(s<3?n(o):s>3?n(e,r,o):n(e,r))||o);return s>3&&o&&Object.defineProperty(e,r,o),o},n=this&&this.__param||function(t,e){return function(r,i){e(r,i,t)}};Object.defineProperty(e,"__esModule",{value:!0}),e.LexerInterpreter=void 0;const s=r(159),o=r(163),a=r(73),E=r(73);let h=class extends s.Lexer{constructor(t,e,r,i,n,s,a){if(super(a),0!==s.grammarType)throw new Error("IllegalArgumentException: The ATN must be a lexer ATN.");this._grammarFileName=t,this._atn=s,this._ruleNames=r.slice(0),this._channelNames=i.slice(0),this._modeNames=n.slice(0),this._vocabulary=e,this._interp=new o.LexerATNSimulator(s,this)}get atn(){return this._atn}get grammarFileName(){return this._grammarFileName}get ruleNames(){return this._ruleNames}get channelNames(){return this._channelNames}get modeNames(){return this._modeNames}get vocabulary(){return this._vocabulary}};i([a.NotNull],h.prototype,"_vocabulary",void 0),i([E.Override],h.prototype,"atn",null),i([E.Override],h.prototype,"grammarFileName",null),i([E.Override],h.prototype,"ruleNames",null),i([E.Override],h.prototype,"channelNames",null),i([E.Override],h.prototype,"modeNames",null),i([E.Override],h.prototype,"vocabulary",null),h=i([n(1,a.NotNull)],h),e.LexerInterpreter=h},(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0})},function(t,e,r){"use strict";var i=this&&this.__decorate||function(t,e,r,i){var n,s=arguments.length,o=s<3?e:null===i?i=Object.getOwnPropertyDescriptor(e,r):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(t,e,r,i);else for(var a=t.length-1;a>=0;a--)(n=t[a])&&(o=(s<3?n(o):s>3?n(e,r,o):n(e,r))||o);return s>3&&o&&Object.defineProperty(e,r,o),o};Object.defineProperty(e,"__esModule",{value:!0}),e.RuleContextWithAltNum=void 0;const n=r(88),s=r(73),o=r(201);class a extends o.ParserRuleContext{constructor(t,e){void 0!==e?super(t,e):super(),this._altNumber=n.ATN.INVALID_ALT_NUMBER}get altNumber(){return this._altNumber}set altNumber(t){this._altNumber=t}}i([s.Override],a.prototype,"altNumber",null),e.RuleContextWithAltNum=a},(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.RuleDependency=void 0,e.RuleDependency=function(t){return(t,e,r)=>{}}},(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.RuleVersion=void 0,e.RuleVersion=function(t){return(t,e,r)=>{}}},(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0})},(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0})},(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0})},function(t,e,r){"use strict";var i=this&&this.__decorate||function(t,e,r,i){var n,s=arguments.length,o=s<3?e:null===i?i=Object.getOwnPropertyDescriptor(e,r):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(t,e,r,i);else for(var a=t.length-1;a>=0;a--)(n=t[a])&&(o=(s<3?n(o):s>3?n(e,r,o):n(e,r))||o);return s>3&&o&&Object.defineProperty(e,r,o),o};Object.defineProperty(e,"__esModule",{value:!0}),e.RewriteOperation=e.TokenStreamRewriter=void 0;const n=r(76),s=r(73),o=r(77);class a{constructor(t){this.tokens=t,this.programs=new Map,this.programs.set(a.DEFAULT_PROGRAM_NAME,[]),this.lastRewriteTokenIndexes=new Map}getTokenStream(){return this.tokens}rollback(t,e=a.DEFAULT_PROGRAM_NAME){let r=this.programs.get(e);null!=r&&this.programs.set(e,r.slice(a.MIN_TOKEN_INDEX,t))}deleteProgram(t=a.DEFAULT_PROGRAM_NAME){this.rollback(a.MIN_TOKEN_INDEX,t)}insertAfter(t,e,r=a.DEFAULT_PROGRAM_NAME){let i;i="number"==typeof t?t:t.tokenIndex;let n=this.getProgram(r),s=new l(this.tokens,i,n.length,e);n.push(s)}insertBefore(t,e,r=a.DEFAULT_PROGRAM_NAME){let i;i="number"==typeof t?t:t.tokenIndex;let n=this.getProgram(r),s=new h(this.tokens,i,n.length,e);n.push(s)}replaceSingle(t,e){this.replace(t,t,e)}replace(t,e,r,i=a.DEFAULT_PROGRAM_NAME){if("number"!=typeof t&&(t=t.tokenIndex),"number"!=typeof e&&(e=e.tokenIndex),t>e||t<0||e<0||e>=this.tokens.size)throw new RangeError(`replace: range invalid: ${t}..${e}(size=${this.tokens.size})`);let n=this.getProgram(i),s=new u(this.tokens,t,e,n.length,r);n.push(s)}delete(t,e,r=a.DEFAULT_PROGRAM_NAME){void 0===e&&(e=t),this.replace(t,e,"",r)}getLastRewriteTokenIndex(t=a.DEFAULT_PROGRAM_NAME){let e=this.lastRewriteTokenIndexes.get(t);return null==e?-1:e}setLastRewriteTokenIndex(t,e){this.lastRewriteTokenIndexes.set(t,e)}getProgram(t){let e=this.programs.get(t);return null==e&&(e=this.initializeProgram(t)),e}initializeProgram(t){let e=[];return this.programs.set(t,e),e}getText(t,e=a.DEFAULT_PROGRAM_NAME){let r;r=t instanceof n.Interval?t:n.Interval.of(0,this.tokens.size-1),"string"==typeof t&&(e=t);let i=this.programs.get(e),s=r.a,E=r.b;if(E>this.tokens.size-1&&(E=this.tokens.size-1),s<0&&(s=0),null==i||0===i.length)return this.tokens.getText(r);let h=[],l=this.reduceToSingleOperationPerIndex(i),u=s;for(;u<=E&&u<this.tokens.size;){let t=l.get(u);l.delete(u);let e=this.tokens.get(u);null==t?(e.type!==o.Token.EOF&&h.push(String(e.text)),u++):u=t.execute(h)}if(E===this.tokens.size-1)for(let t of l.values())t.index>=this.tokens.size-1&&h.push(t.text.toString());return h.join("")}reduceToSingleOperationPerIndex(t){for(let e=0;e<t.length;e++){let r=t[e];if(null==r)continue;if(!(r instanceof u))continue;let i=r,n=this.getKindOfOps(t,h,e);for(let e of n)e.index===i.index?(t[e.instructionIndex]=void 0,i.text=e.text.toString()+(null!=i.text?i.text.toString():"")):e.index>i.index&&e.index<=i.lastIndex&&(t[e.instructionIndex]=void 0);let s=this.getKindOfOps(t,u,e);for(let e of s){if(e.index>=i.index&&e.lastIndex<=i.lastIndex){t[e.instructionIndex]=void 0;continue}let r=e.lastIndex<i.index||e.index>i.lastIndex;if(null!=e.text||null!=i.text||r){if(!r)throw new Error(`replace op boundaries of ${i} overlap with previous ${e}`)}else t[e.instructionIndex]=void 0,i.index=Math.min(e.index,i.index),i.lastIndex=Math.max(e.lastIndex,i.lastIndex)}}for(let e=0;e<t.length;e++){let r=t[e];if(null==r)continue;if(!(r instanceof h))continue;let i=r,n=this.getKindOfOps(t,h,e);for(let e of n)e.index===i.index&&(e instanceof l?(i.text=this.catOpText(e.text,i.text),t[e.instructionIndex]=void 0):e instanceof h&&(i.text=this.catOpText(i.text,e.text),t[e.instructionIndex]=void 0));let s=this.getKindOfOps(t,u,e);for(let r of s)if(i.index!==r.index){if(i.index>=r.index&&i.index<=r.lastIndex)throw new Error(`insert op ${i} within boundaries of previous ${r}`)}else r.text=this.catOpText(i.text,r.text),t[e]=void 0}let e=new Map;for(let r of t)if(null!=r){if(null!=e.get(r.index))throw new Error("should only be one op per index");e.set(r.index,r)}return e}catOpText(t,e){let r="",i="";return null!=t&&(r=t.toString()),null!=e&&(i=e.toString()),r+i}getKindOfOps(t,e,r){let i=[];for(let n=0;n<r&&n<t.length;n++){let r=t[n];null!=r&&(r instanceof e&&i.push(r))}return i}}e.TokenStreamRewriter=a,a.DEFAULT_PROGRAM_NAME="default",a.PROGRAM_INIT_SIZE=100,a.MIN_TOKEN_INDEX=0;class E{constructor(t,e,r,i){this.tokens=t,this.instructionIndex=r,this.index=e,this.text=void 0===i?"":i}execute(t){return this.index}toString(){let t=this.constructor.name,e=t.indexOf("$");return t=t.substring(e+1,t.length),"<"+t+"@"+this.tokens.get(this.index)+':"'+this.text+'">'}}i([s.Override],E.prototype,"toString",null),e.RewriteOperation=E;class h extends E{constructor(t,e,r,i){super(t,e,r,i)}execute(t){return t.push(this.text.toString()),this.tokens.get(this.index).type!==o.Token.EOF&&t.push(String(this.tokens.get(this.index).text)),this.index+1}}i([s.Override],h.prototype,"execute",null);class l extends h{constructor(t,e,r,i){super(t,e+1,r,i)}}class u extends E{constructor(t,e,r,i,n){super(t,e,i,n),this.lastIndex=r}execute(t){return null!=this.text&&t.push(this.text.toString()),this.lastIndex+1}toString(){return null==this.text?"<DeleteOp@"+this.tokens.get(this.index)+".."+this.tokens.get(this.lastIndex)+">":"<ReplaceOp@"+this.tokens.get(this.index)+".."+this.tokens.get(this.lastIndex)+':"'+this.text+'">'}}i([s.Override],u.prototype,"execute",null),i([s.Override],u.prototype,"toString",null)},(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0})},(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0})},function(t,e,r){"use strict";var i=this&&this.__createBinding||(Object.create?function(t,e,r,i){void 0===i&&(i=r),Object.defineProperty(t,i,{enumerable:!0,get:function(){return e[r]}})}:function(t,e,r,i){void 0===i&&(i=r),t[i]=e[r]}),n=this&&this.__exportStar||function(t,e){for(var r in t)"default"===r||Object.prototype.hasOwnProperty.call(e,r)||i(e,t,r)};Object.defineProperty(e,"__esModule",{value:!0}),n(r(174),e),n(r(183),e),n(r(251),e),n(r(88),e),n(r(138),e),n(r(136),e),n(r(181),e),n(r(182),e),n(r(148),e),n(r(140),e),n(r(156),e),n(r(281),e),n(r(184),e),n(r(185),e),n(r(172),e),n(r(187),e),n(r(186),e),n(r(282),e),n(r(199),e),n(r(253),e),n(r(252),e),n(r(254),e),n(r(139),e),n(r(188),e),n(r(255),e),n(r(171),e),n(r(283),e),n(r(165),e),n(r(284),e),n(r(163),e),n(r(189),e),n(r(190),e),n(r(166),e),n(r(191),e),n(r(192),e),n(r(193),e),n(r(194),e),n(r(195),e),n(r(196),e),n(r(173),e),n(r(256),e),n(r(197),e),n(r(176),e),n(r(169),e),n(r(218),e),n(r(198),e),n(r(205),e),n(r(206),e),n(r(207),e),n(r(257),e),n(r(208),e),n(r(141),e),n(r(143),e),n(r(203),e),n(r(250),e),n(r(209),e),n(r(210),e),n(r(170),e),n(r(178),e),n(r(144),e),n(r(177),e),n(r(204),e),n(r(211),e),n(r(212),e),n(r(155),e),n(r(213),e),n(r(175),e),n(r(285),e),n(r(179),e)},(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ATNType=void 0,function(t){t[t.LEXER=0]="LEXER",t[t.PARSER=1]="PARSER"}(e.ATNType||(e.ATNType={}))},(t,e,r)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.createWithCodePointRange=e.createWithCodePoint=void 0;const i=r(225),n=r(184),s=r(157),o=r(209),a=r(177);e.createWithCodePoint=function(t,e){return i.isSupplementaryCodePoint(e)?new a.SetTransition(t,s.IntervalSet.of(e)):new n.AtomTransition(t,e)},e.createWithCodePointRange=function(t,e,r){return i.isSupplementaryCodePoint(e)||i.isSupplementaryCodePoint(r)?new a.SetTransition(t,s.IntervalSet.of(e,r)):new o.RangeTransition(t,e,r)}},(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0})},(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.LexerActionType=void 0,function(t){t[t.CHANNEL=0]="CHANNEL",t[t.CUSTOM=1]="CUSTOM",t[t.MODE=2]="MODE",t[t.MORE=3]="MORE",t[t.POP_MODE=4]="POP_MODE",t[t.PUSH_MODE=5]="PUSH_MODE",t[t.SKIP=6]="SKIP",t[t.TYPE=7]="TYPE"}(e.LexerActionType||(e.LexerActionType={}))},(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.TransitionType=void 0,function(t){t[t.EPSILON=1]="EPSILON",t[t.RANGE=2]="RANGE",t[t.RULE=3]="RULE",t[t.PREDICATE=4]="PREDICATE",t[t.ATOM=5]="ATOM",t[t.ACTION=6]="ACTION",t[t.SET=7]="SET",t[t.NOT_SET=8]="NOT_SET",t[t.WILDCARD=9]="WILDCARD",t[t.PRECEDENCE=10]="PRECEDENCE"}(e.TransitionType||(e.TransitionType={}))},function(t,e){"use strict";var r,i,n,s,o=this&&this.__awaiter||function(t,e,r,i){return new(r||(r=Promise))((function(n,s){function o(t){try{E(i.next(t))}catch(t){s(t)}}function a(t){try{E(i.throw(t))}catch(t){s(t)}}function E(t){var e;t.done?n(t.value):(e=t.value,e instanceof r?e:new r((function(t){t(e)}))).then(o,a)}E((i=i.apply(t,e||[])).next())}))};Object.defineProperty(e,"__esModule",{value:!0}),e.SymbolTable=e.ArrayType=e.InterfaceSymbol=e.ClassSymbol=e.FieldSymbol=e.MethodSymbol=e.MethodFlags=e.RoutineSymbol=e.ParameterSymbol=e.LiteralSymbol=e.VariableSymbol=e.BlockSymbol=e.NamespaceSymbol=e.ScopedSymbol=e.TypeAlias=e.TypedSymbol=e.Symbol=e.FundamentalType=e.ReferenceKind=e.TypeKind=e.Modifier=e.MemberVisibility=e.DuplicateSymbolError=void 0;class a extends Error{}e.DuplicateSymbolError=a,function(t){t[t.Unknown=0]="Unknown",t[t.Open=1]="Open",t[t.Public=2]="Public",t[t.Protected=3]="Protected",t[t.Private=4]="Private",t[t.FilePrivate=5]="FilePrivate",t[t.Library=6]="Library"}(r=e.MemberVisibility||(e.MemberVisibility={})),function(t){t[t.Static=0]="Static",t[t.Final=1]="Final",t[t.Sealed=2]="Sealed",t[t.Abstract=3]="Abstract",t[t.Deprecated=4]="Deprecated",t[t.Virtual=5]="Virtual",t[t.Const=6]="Const",t[t.Overwritten=7]="Overwritten"}(e.Modifier||(e.Modifier={})),function(t){t[t.Integer=0]="Integer",t[t.Float=1]="Float",t[t.String=2]="String",t[t.Boolean=3]="Boolean",t[t.Date=4]="Date",t[t.Class=5]="Class",t[t.Interface=6]="Interface",t[t.Array=7]="Array",t[t.Alias=8]="Alias"}(i=e.TypeKind||(e.TypeKind={})),function(t){t[t.Irrelevant=0]="Irrelevant",t[t.Pointer=1]="Pointer",t[t.Reference=2]="Reference",t[t.Instance=3]="Instance"}(n=e.ReferenceKind||(e.ReferenceKind={}));class E{constructor(t,e,r){this.name=t,this.typeKind=e,this.referenceKind=r}get baseTypes(){return[]}get kind(){return this.typeKind}get reference(){return this.referenceKind}}e.FundamentalType=E,E.integerType=new E("int",i.Integer,n.Instance),E.floatType=new E("float",i.Float,n.Instance),E.stringType=new E("string",i.String,n.Instance),E.boolType=new E("bool",i.Boolean,n.Instance),E.dateType=new E("date",i.Date,n.Instance);class h{constructor(t=""){this.name="",this.modifiers=new Set,this.visibility=r.Unknown,this.name=t}get parent(){return this.theParent}get firstSibling(){return this.theParent instanceof u?this.theParent.firstChild:this}get previousSibling(){return this.theParent instanceof u?this.theParent.previousSiblingOf(this):this}get nextSibling(){return this.theParent instanceof u?this.theParent.nextSiblingOf(this):this}get lastSibling(){return this.theParent instanceof u?this.theParent.lastChild:this}get next(){if(this.theParent instanceof u)return this.theParent.nextOf(this)}get root(){let t=this.theParent;for(;t;){if(!t.theParent||t.theParent instanceof d)return t;t=t.theParent}return t}get symbolTable(){if(this instanceof d)return this;let t=this.theParent;for(;t;){if(t instanceof d)return t;t=t.theParent}}get symbolPath(){const t=[];let e=this;for(;e&&(t.push(e),e.theParent);)e=e.theParent;return t}setParent(t){this.theParent=t}removeFromParent(){this.theParent instanceof u&&(this.theParent.removeSymbol(this),this.theParent=void 0)}resolve(t,e=!1){return o(this,void 0,void 0,(function*(){return this.theParent instanceof u?this.theParent.resolve(t,e):Promise.resolve(void 0)}))}resolveSync(t,e=!1){if(this.theParent instanceof u)return this.theParent.resolveSync(t,e)}getParentOfType(t){let e=this.theParent;for(;e;){if(e instanceof t)return e;e=e.theParent}}qualifiedName(t=".",e=!1,r=!1){if(!r&&0===this.name.length)return"";let i=0===this.name.length?"<anonymous>":this.name,n=this.theParent;for(;n&&((r||n.name.length>0)&&(i=(0===n.name.length?"<anonymous>":n.name)+t+i),e&&n.theParent);)n=n.theParent;return i}}e.Symbol=h;class l extends h{constructor(t,e){super(t),this.type=e}}e.TypedSymbol=l;e.TypeAlias=class extends h{constructor(t,e){super(t),this.targetType=e}get baseTypes(){return[this.targetType]}get kind(){return i.Alias}get reference(){return n.Irrelevant}};class u extends h{constructor(t=""){super(t),this._children=[]}get directScopes(){return this.getSymbolsOfType(u)}get children(){return this._children}get firstChild(){if(this.children.length>0)return this.children[0]}get lastChild(){if(this.children.length>0)return this.children[this.children.length-1]}clear(){this._children=[]}addSymbol(t){t.removeFromParent();const e=this.symbolTable;e&&e.options.allowDuplicateSymbols||this.children.forEach((e=>{if(e===t||t.name.length>0&&e.name===t.name){let e=t.name;throw 0===e.length&&(e="<anonymous>"),new a("Attempt to add duplicate symbol '"+e+"'")}})),this.children.push(t),t.setParent(this)}removeSymbol(t){const e=this.children.indexOf(t);e>-1&&(this.children.splice(e,1),t.setParent(void 0))}getNestedSymbolsOfType(t){return o(this,void 0,void 0,(function*(){const e=[],r=[];this.children.forEach((i=>{i instanceof t&&e.push(i),i instanceof u&&r.push(i.getNestedSymbolsOfType(t))}));return(yield Promise.all(r)).forEach((t=>{e.push(...t)})),e}))}getNestedSymbolsOfTypeSync(t){const e=[];return this.children.forEach((r=>{r instanceof t&&e.push(r),r instanceof u&&e.push(...r.getNestedSymbolsOfTypeSync(t))})),e}getAllNestedSymbols(t){return o(this,void 0,void 0,(function*(){const e=[],r=[];this.children.forEach((i=>{t&&i.name!==t||e.push(i),i instanceof u&&r.push(i.getAllNestedSymbols(t))}));return(yield Promise.all(r)).forEach((t=>{e.push(...t)})),e}))}getAllNestedSymbolsSync(t){const e=[];return this.children.forEach((r=>{t&&r.name!==t||e.push(r),r instanceof u&&e.push(...r.getAllNestedSymbolsSync(t))})),e}getSymbolsOfType(t){return new Promise((e=>{const r=[];this.children.forEach((e=>{e instanceof t&&r.push(e)})),e(r)}))}getAllSymbols(t,e=!1){return o(this,void 0,void 0,(function*(){const r=[];for(const e of this.children)if(e instanceof t&&r.push(e),e instanceof c){const i=yield e.getAllSymbols(t,!0);r.push(...i)}if(!e&&this.parent instanceof u){const e=yield this.getAllSymbols(t,!0);r.push(...e)}return r}))}getAllSymbolsSync(t,e=!1){const r=[];for(const e of this.children)if(e instanceof t&&r.push(e),e instanceof c){const i=e.getAllSymbolsSync(t,!0);r.push(...i)}if(!e&&this.parent instanceof u){const e=this.getAllSymbolsSync(t,!0);r.push(...e)}return r}resolve(t,e=!1){return o(this,void 0,void 0,(function*(){return new Promise(((r,i)=>{for(const e of this.children)if(e.name===t)return void r(e);!e&&this.parent instanceof u?r(this.parent.resolve(t,!1)):r(void 0)}))}))}resolveSync(t,e=!1){for(const e of this.children)if(e.name===t)return e;if(!e&&this.parent instanceof u)return this.parent.resolveSync(t,!1)}getTypedSymbols(t=!0){const e=[];for(const t of this.children)t instanceof l&&e.push(t);if(!t&&this.parent instanceof u){const t=this.parent.getTypedSymbols(!0);e.push(...t)}return e}getTypedSymbolNames(t=!0){const e=[];for(const t of this.children)t instanceof l&&e.push(t.name);if(!t&&this.parent instanceof u){const t=this.parent.getTypedSymbolNames(!0);e.push(...t)}return e}symbolFromPath(t,e="."){const r=t.split(e);let i=0;r[0]!==this.name&&0!==r[0].length||++i;let n=this;for(;i<r.length;){if(!(n instanceof u))return;const t=n.children.find((t=>t.name===r[i]));if(!t)return;n=t,++i}return n}indexOfChild(t){return this.children.findIndex(((e,r)=>e===t))}nextSiblingOf(t){const e=this.indexOfChild(t);if(!(-1===e||e>=this.children.length-1))return this.children[e+1]}previousSiblingOf(t){const e=this.indexOfChild(t);if(!(e<1))return this.children[e-1]}nextOf(t){if(!(t.parent instanceof u))return;if(t.parent!==this)return t.parent.nextOf(t);if(t instanceof u&&t.children.length>0)return t.children[0];const e=this.nextSiblingOf(t);return e||this.parent.nextOf(this)}}e.ScopedSymbol=u;class c extends u{}e.NamespaceSymbol=c;e.BlockSymbol=class extends u{};class T extends l{constructor(t,e,r){super(t,r),this.value=e}}e.VariableSymbol=T;e.LiteralSymbol=class extends l{constructor(t,e,r){super(t,r),this.value=e}};class R extends T{}e.ParameterSymbol=R;class p extends u{constructor(t,e){super(t),this.returnType=e}getVariables(t=!0){return this.getSymbolsOfType(T)}getParameters(t=!0){return this.getSymbolsOfType(R)}}e.RoutineSymbol=p,function(t){t[t.None=0]="None",t[t.Virtual=1]="Virtual",t[t.Const=2]="Const",t[t.Overwritten=4]="Overwritten",t[t.SetterOrGetter=8]="SetterOrGetter",t[t.Explicit=16]="Explicit"}(s=e.MethodFlags||(e.MethodFlags={}));class S extends p{constructor(){super(...arguments),this.methodFlags=s.None}}e.MethodSymbol=S;class A extends T{}e.FieldSymbol=A;e.ClassSymbol=class extends u{constructor(t,e,r){super(t),this.isStruct=!1,this.reference=n.Irrelevant,this.extends=e,this.implements=r}get baseTypes(){return this.extends}get kind(){return i.Class}getMethods(t=!1){return this.getSymbolsOfType(S)}getFields(t=!1){return this.getSymbolsOfType(A)}};e.InterfaceSymbol=class extends u{constructor(t,e){super(t),this.reference=n.Irrelevant,this.extends=e}get baseTypes(){return this.extends}get kind(){return i.Interface}getMethods(t=!1){return this.getSymbolsOfType(S)}getFields(t=!1){return this.getSymbolsOfType(A)}};e.ArrayType=class extends h{constructor(t,e,r,i=0){super(t),this.referenceKind=e,this.elementType=r,this.size=i}get baseTypes(){return[]}get kind(){return i.Array}get reference(){return this.referenceKind}};class d extends u{constructor(t,e){super(t),this.options=e,this.dependencies=new Set}get info(){return{dependencyCount:this.dependencies.size,symbolCount:this.children.length}}clear(){super.clear(),this.dependencies.clear()}addDependencies(...t){t.forEach(((t,e)=>{this.dependencies.add(t)}))}removeDependency(t){this.dependencies.has(t)&&this.dependencies.delete(t)}addNewSymbolOfType(t,e,...r){const i=new t(...r);return e&&e!==this?e.addSymbol(i):this.addSymbol(i),i}addNewNamespaceFromPath(t,e,r="."){return o(this,void 0,void 0,(function*(){const i=e.split(r);let n=0,s=void 0===t?this:t;for(;n<i.length-1;){let t=yield s.resolve(i[n],!0);void 0===t&&(t=this.addNewSymbolOfType(c,s,i[n])),s=t,++n}return this.addNewSymbolOfType(c,s,i[i.length-1])}))}addNewNamespaceFromPathSync(t,e,r="."){const i=e.split(r);let n=0,s=void 0===t?this:t;for(;n<i.length-1;){let t=s.resolveSync(i[n],!0);void 0===t&&(t=this.addNewSymbolOfType(c,s,i[n])),s=t,++n}return this.addNewSymbolOfType(c,s,i[i.length-1])}getAllSymbols(t,e=!1){const r=Object.create(null,{getAllSymbols:{get:()=>super.getAllSymbols}});return o(this,void 0,void 0,(function*(){const i=yield r.getAllSymbols.call(this,t,e);if(!e){(yield Promise.all([...this.dependencies].map((r=>r.getAllSymbols(t,e))))).forEach((t=>{i.push(...t)}))}return i}))}getAllSymbolsSync(t,e=!1){const r=super.getAllSymbolsSync(t,e);return e||this.dependencies.forEach((i=>{r.push(...i.getAllSymbolsSync(t,e))})),r}symbolWithContext(t){return o(this,void 0,void 0,(function*(){const e=r=>{if(r.context===t)return r;if(r instanceof u)for(const t of r.children){const r=e(t);if(r)return r}};let r=yield this.getAllSymbols(h);for(const t of r){const r=e(t);if(r)return r}for(const t of this.dependencies){r=yield t.getAllSymbols(h);for(const t of r){e(t)}}}))}symbolWithContextSync(t){const e=r=>{if(r.context===t)return r;if(r instanceof u)for(const t of r.children){const r=e(t);if(r)return r}};let r=this.getAllSymbolsSync(h);for(const t of r){const r=e(t);if(r)return r}for(const t of this.dependencies){r=t.getAllSymbolsSync(h);for(const t of r){e(t)}}}resolve(t,e=!1){const r=Object.create(null,{resolve:{get:()=>super.resolve}});return o(this,void 0,void 0,(function*(){let i=yield r.resolve.call(this,t,e);if(!i&&!e)for(const e of this.dependencies)if(i=yield e.resolve(t,!1),i)return i;return i}))}resolveSync(t,e=!1){let r=super.resolveSync(t,e);if(!r&&!e)for(const e of this.dependencies)if(r=e.resolveSync(t,!1),r)return r;return r}}e.SymbolTable=d},function(t,e,r){"use strict";var i=this&&this.__createBinding||(Object.create?function(t,e,r,i){void 0===i&&(i=r);var n=Object.getOwnPropertyDescriptor(e,r);n&&!("get"in n?!e.__esModule:n.writable||n.configurable)||(n={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,i,n)}:function(t,e,r,i){void 0===i&&(i=r),t[i]=e[r]}),n=this&&this.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),s=this&&this.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(null!=t)for(var r in t)"default"!==r&&Object.prototype.hasOwnProperty.call(t,r)&&i(e,t,r);return n(e,t),e};Object.defineProperty(e,"__esModule",{value:!0}),e.SparkSqlLexer=void 0;const o=r(182),a=r(159),E=r(163),h=r(153),l=s(r(145));class u extends a.Lexer{constructor(t){super(t),this.has_unclosed_bracketed_comment=!1,this._interp=new E.LexerATNSimulator(u._ATN,this)}get vocabulary(){return u.VOCABULARY}isValidDecimal(){const t=this._input.LA(1),e=String.fromCharCode(t);return!(t>=65&&t<=90||t>=48&&t<=57||"_"===e)}isHint(){const t=this._input.LA(1);return"+"===String.fromCharCode(t)}markUnclosedComment(){this.has_unclosed_bracketed_comment=!0}get grammarFileName(){return"SparkSqlLexer.g4"}get ruleNames(){return u.ruleNames}get serializedATN(){return u._serializedATN}get channelNames(){return u.channelNames}get modeNames(){return u.modeNames}action(t,e,r){if(378===e)this.BRACKETED_COMMENT_action(t,r)}BRACKETED_COMMENT_action(t,e){if(0===e)this.markUnclosedComment()}sempred(t,e,r){switch(e){case 366:return this.EXPONENT_VALUE_sempred(t,r);case 367:return this.DECIMAL_VALUE_sempred(t,r);case 368:return this.FLOAT_LITERAL_sempred(t,r);case 369:return this.DOUBLE_LITERAL_sempred(t,r);case 370:return this.BIGDECIMAL_LITERAL_sempred(t,r);case 378:return this.BRACKETED_COMMENT_sempred(t,r)}return!0}EXPONENT_VALUE_sempred(t,e){return 0!==e||this.isValidDecimal()}DECIMAL_VALUE_sempred(t,e){return 1!==e||this.isValidDecimal()}FLOAT_LITERAL_sempred(t,e){return 2!==e||this.isValidDecimal()}DOUBLE_LITERAL_sempred(t,e){return 3!==e||this.isValidDecimal()}BIGDECIMAL_LITERAL_sempred(t,e){return 4!==e||this.isValidDecimal()}BRACKETED_COMMENT_sempred(t,e){return 5!==e||!this.isHint()}static get _ATN(){return u.__ATN||(u.__ATN=(new o.ATNDeserializer).deserialize(l.toCharArray(u._serializedATN))),u.__ATN}}e.SparkSqlLexer=u,u.SEMICOLON=1,u.LEFT_PAREN=2,u.RIGHT_PAREN=3,u.COMMA=4,u.DOT=5,u.LEFT_BRACKET=6,u.RIGHT_BRACKET=7,u.ADD=8,u.AFTER=9,u.ALL=10,u.ALTER=11,u.ALWAYS=12,u.ANALYZE=13,u.AND=14,u.ANTI=15,u.ANY=16,u.ANY_VALUE=17,u.ARCHIVE=18,u.ARRAY=19,u.AS=20,u.ASC=21,u.AT=22,u.AUTHORIZATION=23,u.BETWEEN=24,u.BIGINT=25,u.BINARY=26,u.BOOLEAN=27,u.BOTH=28,u.BUCKET=29,u.BUCKETS=30,u.BY=31,u.BYTE=32,u.CACHE=33,u.CASCADE=34,u.CASE=35,u.CAST=36,u.CATALOG=37,u.CATALOGS=38,u.CHANGE=39,u.CHAR=40,u.CHARACTER=41,u.CHECK=42,u.CLEAR=43,u.CLUSTER=44,u.CLUSTERED=45,u.CODEGEN=46,u.COLLATE=47,u.COLLECTION=48,u.COLUMN=49,u.COLUMNS=50,u.COMMENT=51,u.COMMIT=52,u.COMPACT=53,u.COMPACTIONS=54,u.COMPUTE=55,u.CONCATENATE=56,u.CONSTRAINT=57,u.COST=58,u.CREATE=59,u.CROSS=60,u.CUBE=61,u.CURRENT=62,u.CURRENT_DATE=63,u.CURRENT_TIME=64,u.CURRENT_TIMESTAMP=65,u.CURRENT_USER=66,u.DAY=67,u.DAYS=68,u.DAYOFYEAR=69,u.DATA=70,u.DATE=71,u.DATABASE=72,u.DATABASES=73,u.DATEADD=74,u.DATE_ADD=75,u.DATEDIFF=76,u.DATE_DIFF=77,u.DBPROPERTIES=78,u.DEC=79,u.DECIMAL=80,u.DEFAULT=81,u.DEFINED=82,u.DELETE=83,u.DELIMITED=84,u.DESC=85,u.DESCRIBE=86,u.DFS=87,u.DIRECTORIES=88,u.DIRECTORY=89,u.DISTINCT=90,u.DISTRIBUTE=91,u.DIV=92,u.DOUBLE=93,u.DROP=94,u.ELSE=95,u.END=96,u.ESCAPE=97,u.ESCAPED=98,u.EXCEPT=99,u.EXCHANGE=100,u.EXCLUDE=101,u.EXISTS=102,u.EXPLAIN=103,u.EXPORT=104,u.EXTENDED=105,u.EXTERNAL=106,u.EXTRACT=107,u.FALSE=108,u.FETCH=109,u.FIELDS=110,u.FILTER=111,u.FILEFORMAT=112,u.FIRST=113,u.FLOAT=114,u.FOLLOWING=115,u.FOR=116,u.FOREIGN=117,u.FORMAT=118,u.FORMATTED=119,u.FROM=120,u.FULL=121,u.FUNCTION=122,u.FUNCTIONS=123,u.GENERATED=124,u.GLOBAL=125,u.GRANT=126,u.GROUP=127,u.GROUPING=128,u.HAVING=129,u.BINARY_HEX=130,u.HOUR=131,u.HOURS=132,u.IDENTIFIER_KW=133,u.IF=134,u.IGNORE=135,u.IMPORT=136,u.IN=137,u.INCLUDE=138,u.INDEX=139,u.INDEXES=140,u.INNER=141,u.INPATH=142,u.INPUTFORMAT=143,u.INSERT=144,u.INTERSECT=145,u.INTERVAL=146,u.INT=147,u.INTEGER=148,u.INTO=149,u.IS=150,u.ITEMS=151,u.JOIN=152,u.KEYS=153,u.LAST=154,u.LATERAL=155,u.LAZY=156,u.LEADING=157,u.LEFT=158,u.LIKE=159,u.ILIKE=160,u.LIMIT=161,u.LINES=162,u.LIST=163,u.LOAD=164,u.LOCAL=165,u.LOCATION=166,u.LOCK=167,u.LOCKS=168,u.LOGICAL=169,u.LONG=170,u.MACRO=171,u.MAP=172,u.MATCHED=173,u.MERGE=174,u.MICROSECOND=175,u.MICROSECONDS=176,u.MILLISECOND=177,u.MILLISECONDS=178,u.MINUTE=179,u.MINUTES=180,u.MONTH=181,u.MONTHS=182,u.MSCK=183,u.NAME=184,u.NAMESPACE=185,u.NAMESPACES=186,u.NANOSECOND=187,u.NANOSECONDS=188,u.NATURAL=189,u.NO=190,u.NOT=191,u.NULL=192,u.NULLS=193,u.NUMERIC=194,u.OF=195,u.OFFSET=196,u.ON=197,u.ONLY=198,u.OPTION=199,u.OPTIONS=200,u.OR=201,u.ORDER=202,u.OUT=203,u.OUTER=204,u.OUTPUTFORMAT=205,u.OVER=206,u.OVERLAPS=207,u.OVERLAY=208,u.OVERWRITE=209,u.PARTITION=210,u.PARTITIONED=211,u.PARTITIONS=212,u.PERCENTILE_CONT=213,u.PERCENTILE_DISC=214,u.PERCENTLIT=215,u.PIVOT=216,u.PLACING=217,u.POSITION=218,u.PRECEDING=219,u.PRIMARY=220,u.PRINCIPALS=221,u.PROPERTIES=222,u.PURGE=223,u.QUARTER=224,u.QUERY=225,u.RANGE=226,u.REAL=227,u.RECORDREADER=228,u.RECORDWRITER=229,u.RECOVER=230,u.REDUCE=231,u.REFERENCES=232,u.REFRESH=233,u.RENAME=234,u.REPAIR=235,u.REPEATABLE=236,u.REPLACE=237,u.RESET=238,u.RESPECT=239,u.RESTRICT=240,u.REVOKE=241,u.RIGHT=242,u.RLIKE=243,u.ROLE=244,u.ROLES=245,u.ROLLBACK=246,u.ROLLUP=247,u.ROW=248,u.ROWS=249,u.SECOND=250,u.SECONDS=251,u.SCHEMA=252,u.SCHEMAS=253,u.SELECT=254,u.SEMI=255,u.SEPARATED=256,u.SERDE=257,u.SERDEPROPERTIES=258,u.SESSION_USER=259,u.SET=260,u.SETMINUS=261,u.SETS=262,u.SHORT=263,u.SHOW=264,u.SKEWED=265,u.SMALLINT=266,u.SOME=267,u.SORT=268,u.SORTED=269,u.SOURCE=270,u.START=271,u.STATISTICS=272,u.STORED=273,u.STRATIFY=274,u.STRING=275,u.STRUCT=276,u.SUBSTR=277,u.SUBSTRING=278,u.SYNC=279,u.SYSTEM_TIME=280,u.SYSTEM_VERSION=281,u.TABLE=282,u.TABLES=283,u.TABLESAMPLE=284,u.TARGET=285,u.TBLPROPERTIES=286,u.TEMPORARY=287,u.TERMINATED=288,u.THEN=289,u.TIME=290,u.TIMESTAMP=291,u.TIMESTAMP_LTZ=292,u.TIMESTAMP_NTZ=293,u.TIMESTAMPADD=294,u.TIMESTAMPDIFF=295,u.TINYINT=296,u.TO=297,u.TOUCH=298,u.TRAILING=299,u.TRANSACTION=300,u.TRANSACTIONS=301,u.TRANSFORM=302,u.TRIM=303,u.TRUE=304,u.TRUNCATE=305,u.TRY_CAST=306,u.TYPE=307,u.UNARCHIVE=308,u.UNBOUNDED=309,u.UNCACHE=310,u.UNION=311,u.UNIQUE=312,u.UNKNOWN=313,u.UNLOCK=314,u.UNPIVOT=315,u.UNSET=316,u.UPDATE=317,u.USE=318,u.USER=319,u.USING=320,u.VALUES=321,u.VARCHAR=322,u.VERSION=323,u.VIEW=324,u.VIEWS=325,u.VOID=326,u.WEEK=327,u.WEEKS=328,u.WHEN=329,u.WHERE=330,u.WINDOW=331,u.WITH=332,u.WITHIN=333,u.YEAR=334,u.YEARS=335,u.ZONE=336,u.EQ=337,u.NSEQ=338,u.NEQ=339,u.NEQJ=340,u.LT=341,u.LTE=342,u.GT=343,u.GTE=344,u.PLUS=345,u.MINUS=346,u.ASTERISK=347,u.SLASH=348,u.PERCENT=349,u.TILDE=350,u.AMPERSAND=351,u.PIPE=352,u.CONCAT_PIPE=353,u.HAT=354,u.COLON=355,u.ARROW=356,u.FAT_ARROW=357,u.HENT_START=358,u.HENT_END=359,u.QUESTION=360,u.STRING_LITERAL=361,u.DOUBLEQUOTED_STRING=362,u.BIGINT_LITERAL=363,u.SMALLINT_LITERAL=364,u.TINYINT_LITERAL=365,u.INTEGER_VALUE=366,u.EXPONENT_VALUE=367,u.DECIMAL_VALUE=368,u.FLOAT_LITERAL=369,u.DOUBLE_LITERAL=370,u.BIGDECIMAL_LITERAL=371,u.IDENTIFIER=372,u.BACKQUOTED_IDENTIFIER=373,u.SIMPLE_COMMENT=374,u.BRACKETED_COMMENT=375,u.WS=376,u.UNRECOGNIZED=377,u.channelNames=["DEFAULT_TOKEN_CHANNEL","HIDDEN"],u.modeNames=["DEFAULT_MODE"],u.ruleNames=["SEMICOLON","LEFT_PAREN","RIGHT_PAREN","COMMA","DOT","LEFT_BRACKET","RIGHT_BRACKET","ADD","AFTER","ALL","ALTER","ALWAYS","ANALYZE","AND","ANTI","ANY","ANY_VALUE","ARCHIVE","ARRAY","AS","ASC","AT","AUTHORIZATION","BETWEEN","BIGINT","BINARY","BOOLEAN","BOTH","BUCKET","BUCKETS","BY","BYTE","CACHE","CASCADE","CASE","CAST","CATALOG","CATALOGS","CHANGE","CHAR","CHARACTER","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","DAY","DAYS","DAYOFYEAR","DATA","DATE","DATABASE","DATABASES","DATEADD","DATE_ADD","DATEDIFF","DATE_DIFF","DBPROPERTIES","DEC","DECIMAL","DEFAULT","DEFINED","DELETE","DELIMITED","DESC","DESCRIBE","DFS","DIRECTORIES","DIRECTORY","DISTINCT","DISTRIBUTE","DIV","DOUBLE","DROP","ELSE","END","ESCAPE","ESCAPED","EXCEPT","EXCHANGE","EXCLUDE","EXISTS","EXPLAIN","EXPORT","EXTENDED","EXTERNAL","EXTRACT","FALSE","FETCH","FIELDS","FILTER","FILEFORMAT","FIRST","FLOAT","FOLLOWING","FOR","FOREIGN","FORMAT","FORMATTED","FROM","FULL","FUNCTION","FUNCTIONS","GENERATED","GLOBAL","GRANT","GROUP","GROUPING","HAVING","BINARY_HEX","HOUR","HOURS","IDENTIFIER_KW","IF","IGNORE","IMPORT","IN","INCLUDE","INDEX","INDEXES","INNER","INPATH","INPUTFORMAT","INSERT","INTERSECT","INTERVAL","INT","INTEGER","INTO","IS","ITEMS","JOIN","KEYS","LAST","LATERAL","LAZY","LEADING","LEFT","LIKE","ILIKE","LIMIT","LINES","LIST","LOAD","LOCAL","LOCATION","LOCK","LOCKS","LOGICAL","LONG","MACRO","MAP","MATCHED","MERGE","MICROSECOND","MICROSECONDS","MILLISECOND","MILLISECONDS","MINUTE","MINUTES","MONTH","MONTHS","MSCK","NAME","NAMESPACE","NAMESPACES","NANOSECOND","NANOSECONDS","NATURAL","NO","NOT","NULL","NULLS","NUMERIC","OF","OFFSET","ON","ONLY","OPTION","OPTIONS","OR","ORDER","OUT","OUTER","OUTPUTFORMAT","OVER","OVERLAPS","OVERLAY","OVERWRITE","PARTITION","PARTITIONED","PARTITIONS","PERCENTILE_CONT","PERCENTILE_DISC","PERCENTLIT","PIVOT","PLACING","POSITION","PRECEDING","PRIMARY","PRINCIPALS","PROPERTIES","PURGE","QUARTER","QUERY","RANGE","REAL","RECORDREADER","RECORDWRITER","RECOVER","REDUCE","REFERENCES","REFRESH","RENAME","REPAIR","REPEATABLE","REPLACE","RESET","RESPECT","RESTRICT","REVOKE","RIGHT","RLIKE","ROLE","ROLES","ROLLBACK","ROLLUP","ROW","ROWS","SECOND","SECONDS","SCHEMA","SCHEMAS","SELECT","SEMI","SEPARATED","SERDE","SERDEPROPERTIES","SESSION_USER","SET","SETMINUS","SETS","SHORT","SHOW","SKEWED","SMALLINT","SOME","SORT","SORTED","SOURCE","START","STATISTICS","STORED","STRATIFY","STRING","STRUCT","SUBSTR","SUBSTRING","SYNC","SYSTEM_TIME","SYSTEM_VERSION","TABLE","TABLES","TABLESAMPLE","TARGET","TBLPROPERTIES","TEMPORARY","TERMINATED","THEN","TIME","TIMESTAMP","TIMESTAMP_LTZ","TIMESTAMP_NTZ","TIMESTAMPADD","TIMESTAMPDIFF","TINYINT","TO","TOUCH","TRAILING","TRANSACTION","TRANSACTIONS","TRANSFORM","TRIM","TRUE","TRUNCATE","TRY_CAST","TYPE","UNARCHIVE","UNBOUNDED","UNCACHE","UNION","UNIQUE","UNKNOWN","UNLOCK","UNPIVOT","UNSET","UPDATE","USE","USER","USING","VALUES","VARCHAR","VERSION","VIEW","VIEWS","VOID","WEEK","WEEKS","WHEN","WHERE","WINDOW","WITH","WITHIN","YEAR","YEARS","ZONE","EQ","NSEQ","NEQ","NEQJ","LT","LTE","GT","GTE","PLUS","MINUS","ASTERISK","SLASH","PERCENT","TILDE","AMPERSAND","PIPE","CONCAT_PIPE","HAT","COLON","ARROW","FAT_ARROW","HENT_START","HENT_END","QUESTION","STRING_LITERAL","DOUBLEQUOTED_STRING","BIGINT_LITERAL","SMALLINT_LITERAL","TINYINT_LITERAL","INTEGER_VALUE","EXPONENT_VALUE","DECIMAL_VALUE","FLOAT_LITERAL","DOUBLE_LITERAL","BIGDECIMAL_LITERAL","IDENTIFIER","BACKQUOTED_IDENTIFIER","DECIMAL_DIGITS","EXPONENT","DIGIT","LETTER","SIMPLE_COMMENT","BRACKETED_COMMENT","WS","UNRECOGNIZED"],u._LITERAL_NAMES=[void 0,"';'","'('","')'","','","'.'","'['","']'","'ADD'","'AFTER'","'ALL'","'ALTER'","'ALWAYS'","'ANALYZE'","'AND'","'ANTI'","'ANY'","'ANY_VALUE'","'ARCHIVE'","'ARRAY'","'AS'","'ASC'","'AT'","'AUTHORIZATION'","'BETWEEN'","'BIGINT'","'BINARY'","'BOOLEAN'","'BOTH'","'BUCKET'","'BUCKETS'","'BY'","'BYTE'","'CACHE'","'CASCADE'","'CASE'","'CAST'","'CATALOG'","'CATALOGS'","'CHANGE'","'CHAR'","'CHARACTER'","'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'","'DAY'","'DAYS'","'DAYOFYEAR'","'DATA'","'DATE'","'DATABASE'","'DATABASES'","'DATEADD'","'DATE_ADD'","'DATEDIFF'","'DATE_DIFF'","'DBPROPERTIES'","'DEC'","'DECIMAL'","'DEFAULT'","'DEFINED'","'DELETE'","'DELIMITED'","'DESC'","'DESCRIBE'","'DFS'","'DIRECTORIES'","'DIRECTORY'","'DISTINCT'","'DISTRIBUTE'","'DIV'","'DOUBLE'","'DROP'","'ELSE'","'END'","'ESCAPE'","'ESCAPED'","'EXCEPT'","'EXCHANGE'","'EXCLUDE'","'EXISTS'","'EXPLAIN'","'EXPORT'","'EXTENDED'","'EXTERNAL'","'EXTRACT'","'FALSE'","'FETCH'","'FIELDS'","'FILTER'","'FILEFORMAT'","'FIRST'","'FLOAT'","'FOLLOWING'","'FOR'","'FOREIGN'","'FORMAT'","'FORMATTED'","'FROM'","'FULL'","'FUNCTION'","'FUNCTIONS'","'GENERATED'","'GLOBAL'","'GRANT'","'GROUP'","'GROUPING'","'HAVING'","'X'","'HOUR'","'HOURS'","'IDENTIFIER'","'IF'","'IGNORE'","'IMPORT'","'IN'","'INCLUDE'","'INDEX'","'INDEXES'","'INNER'","'INPATH'","'INPUTFORMAT'","'INSERT'","'INTERSECT'","'INTERVAL'","'INT'","'INTEGER'","'INTO'","'IS'","'ITEMS'","'JOIN'","'KEYS'","'LAST'","'LATERAL'","'LAZY'","'LEADING'","'LEFT'","'LIKE'","'ILIKE'","'LIMIT'","'LINES'","'LIST'","'LOAD'","'LOCAL'","'LOCATION'","'LOCK'","'LOCKS'","'LOGICAL'","'LONG'","'MACRO'","'MAP'","'MATCHED'","'MERGE'","'MICROSECOND'","'MICROSECONDS'","'MILLISECOND'","'MILLISECONDS'","'MINUTE'","'MINUTES'","'MONTH'","'MONTHS'","'MSCK'","'NAME'","'NAMESPACE'","'NAMESPACES'","'NANOSECOND'","'NANOSECONDS'","'NATURAL'","'NO'",void 0,"'NULL'","'NULLS'","'NUMERIC'","'OF'","'OFFSET'","'ON'","'ONLY'","'OPTION'","'OPTIONS'","'OR'","'ORDER'","'OUT'","'OUTER'","'OUTPUTFORMAT'","'OVER'","'OVERLAPS'","'OVERLAY'","'OVERWRITE'","'PARTITION'","'PARTITIONED'","'PARTITIONS'","'PERCENTILE_CONT'","'PERCENTILE_DISC'","'PERCENT'","'PIVOT'","'PLACING'","'POSITION'","'PRECEDING'","'PRIMARY'","'PRINCIPALS'","'PROPERTIES'","'PURGE'","'QUARTER'","'QUERY'","'RANGE'","'REAL'","'RECORDREADER'","'RECORDWRITER'","'RECOVER'","'REDUCE'","'REFERENCES'","'REFRESH'","'RENAME'","'REPAIR'","'REPEATABLE'","'REPLACE'","'RESET'","'RESPECT'","'RESTRICT'","'REVOKE'","'RIGHT'",void 0,"'ROLE'","'ROLES'","'ROLLBACK'","'ROLLUP'","'ROW'","'ROWS'","'SECOND'","'SECONDS'","'SCHEMA'","'SCHEMAS'","'SELECT'","'SEMI'","'SEPARATED'","'SERDE'","'SERDEPROPERTIES'","'SESSION_USER'","'SET'","'MINUS'","'SETS'","'SHORT'","'SHOW'","'SKEWED'","'SMALLINT'","'SOME'","'SORT'","'SORTED'","'SOURCE'","'START'","'STATISTICS'","'STORED'","'STRATIFY'","'STRING'","'STRUCT'","'SUBSTR'","'SUBSTRING'","'SYNC'","'SYSTEM_TIME'","'SYSTEM_VERSION'","'TABLE'","'TABLES'","'TABLESAMPLE'","'TARGET'","'TBLPROPERTIES'",void 0,"'TERMINATED'","'THEN'","'TIME'","'TIMESTAMP'","'TIMESTAMP_LTZ'","'TIMESTAMP_NTZ'","'TIMESTAMPADD'","'TIMESTAMPDIFF'","'TINYINT'","'TO'","'TOUCH'","'TRAILING'","'TRANSACTION'","'TRANSACTIONS'","'TRANSFORM'","'TRIM'","'TRUE'","'TRUNCATE'","'TRY_CAST'","'TYPE'","'UNARCHIVE'","'UNBOUNDED'","'UNCACHE'","'UNION'","'UNIQUE'","'UNKNOWN'","'UNLOCK'","'UNPIVOT'","'UNSET'","'UPDATE'","'USE'","'USER'","'USING'","'VALUES'","'VARCHAR'","'VERSION'","'VIEW'","'VIEWS'","'VOID'","'WEEK'","'WEEKS'","'WHEN'","'WHERE'","'WINDOW'","'WITH'","'WITHIN'","'YEAR'","'YEARS'","'ZONE'",void 0,"'<=>'","'<>'","'!='","'<'",void 0,"'>'",void 0,"'+'","'-'","'*'","'/'","'%'","'~'","'&'","'|'","'||'","'^'","':'","'->'","'=>'","'/*+'","'*/'","'?'"],u._SYMBOLIC_NAMES=[void 0,"SEMICOLON","LEFT_PAREN","RIGHT_PAREN","COMMA","DOT","LEFT_BRACKET","RIGHT_BRACKET","ADD","AFTER","ALL","ALTER","ALWAYS","ANALYZE","AND","ANTI","ANY","ANY_VALUE","ARCHIVE","ARRAY","AS","ASC","AT","AUTHORIZATION","BETWEEN","BIGINT","BINARY","BOOLEAN","BOTH","BUCKET","BUCKETS","BY","BYTE","CACHE","CASCADE","CASE","CAST","CATALOG","CATALOGS","CHANGE","CHAR","CHARACTER","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","DAY","DAYS","DAYOFYEAR","DATA","DATE","DATABASE","DATABASES","DATEADD","DATE_ADD","DATEDIFF","DATE_DIFF","DBPROPERTIES","DEC","DECIMAL","DEFAULT","DEFINED","DELETE","DELIMITED","DESC","DESCRIBE","DFS","DIRECTORIES","DIRECTORY","DISTINCT","DISTRIBUTE","DIV","DOUBLE","DROP","ELSE","END","ESCAPE","ESCAPED","EXCEPT","EXCHANGE","EXCLUDE","EXISTS","EXPLAIN","EXPORT","EXTENDED","EXTERNAL","EXTRACT","FALSE","FETCH","FIELDS","FILTER","FILEFORMAT","FIRST","FLOAT","FOLLOWING","FOR","FOREIGN","FORMAT","FORMATTED","FROM","FULL","FUNCTION","FUNCTIONS","GENERATED","GLOBAL","GRANT","GROUP","GROUPING","HAVING","BINARY_HEX","HOUR","HOURS","IDENTIFIER_KW","IF","IGNORE","IMPORT","IN","INCLUDE","INDEX","INDEXES","INNER","INPATH","INPUTFORMAT","INSERT","INTERSECT","INTERVAL","INT","INTEGER","INTO","IS","ITEMS","JOIN","KEYS","LAST","LATERAL","LAZY","LEADING","LEFT","LIKE","ILIKE","LIMIT","LINES","LIST","LOAD","LOCAL","LOCATION","LOCK","LOCKS","LOGICAL","LONG","MACRO","MAP","MATCHED","MERGE","MICROSECOND","MICROSECONDS","MILLISECOND","MILLISECONDS","MINUTE","MINUTES","MONTH","MONTHS","MSCK","NAME","NAMESPACE","NAMESPACES","NANOSECOND","NANOSECONDS","NATURAL","NO","NOT","NULL","NULLS","NUMERIC","OF","OFFSET","ON","ONLY","OPTION","OPTIONS","OR","ORDER","OUT","OUTER","OUTPUTFORMAT","OVER","OVERLAPS","OVERLAY","OVERWRITE","PARTITION","PARTITIONED","PARTITIONS","PERCENTILE_CONT","PERCENTILE_DISC","PERCENTLIT","PIVOT","PLACING","POSITION","PRECEDING","PRIMARY","PRINCIPALS","PROPERTIES","PURGE","QUARTER","QUERY","RANGE","REAL","RECORDREADER","RECORDWRITER","RECOVER","REDUCE","REFERENCES","REFRESH","RENAME","REPAIR","REPEATABLE","REPLACE","RESET","RESPECT","RESTRICT","REVOKE","RIGHT","RLIKE","ROLE","ROLES","ROLLBACK","ROLLUP","ROW","ROWS","SECOND","SECONDS","SCHEMA","SCHEMAS","SELECT","SEMI","SEPARATED","SERDE","SERDEPROPERTIES","SESSION_USER","SET","SETMINUS","SETS","SHORT","SHOW","SKEWED","SMALLINT","SOME","SORT","SORTED","SOURCE","START","STATISTICS","STORED","STRATIFY","STRING","STRUCT","SUBSTR","SUBSTRING","SYNC","SYSTEM_TIME","SYSTEM_VERSION","TABLE","TABLES","TABLESAMPLE","TARGET","TBLPROPERTIES","TEMPORARY","TERMINATED","THEN","TIME","TIMESTAMP","TIMESTAMP_LTZ","TIMESTAMP_NTZ","TIMESTAMPADD","TIMESTAMPDIFF","TINYINT","TO","TOUCH","TRAILING","TRANSACTION","TRANSACTIONS","TRANSFORM","TRIM","TRUE","TRUNCATE","TRY_CAST","TYPE","UNARCHIVE","UNBOUNDED","UNCACHE","UNION","UNIQUE","UNKNOWN","UNLOCK","UNPIVOT","UNSET","UPDATE","USE","USER","USING","VALUES","VARCHAR","VERSION","VIEW","VIEWS","VOID","WEEK","WEEKS","WHEN","WHERE","WINDOW","WITH","WITHIN","YEAR","YEARS","ZONE","EQ","NSEQ","NEQ","NEQJ","LT","LTE","GT","GTE","PLUS","MINUS","ASTERISK","SLASH","PERCENT","TILDE","AMPERSAND","PIPE","CONCAT_PIPE","HAT","COLON","ARROW","FAT_ARROW","HENT_START","HENT_END","QUESTION","STRING_LITERAL","DOUBLEQUOTED_STRING","BIGINT_LITERAL","SMALLINT_LITERAL","TINYINT_LITERAL","INTEGER_VALUE","EXPONENT_VALUE","DECIMAL_VALUE","FLOAT_LITERAL","DOUBLE_LITERAL","BIGDECIMAL_LITERAL","IDENTIFIER","BACKQUOTED_IDENTIFIER","SIMPLE_COMMENT","BRACKETED_COMMENT","WS","UNRECOGNIZED"],u.VOCABULARY=new h.VocabularyImpl(u._LITERAL_NAMES,u._SYMBOLIC_NAMES,[]),u._serializedATNSegments=7,u._serializedATNSegment0="줝쪺֍꾺体؇쉁Ż\b\t\t\t\t\t\t\b\t\b\t\t\t\n\t\n\v\t\v\f\t\f\r\t\r\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t \t !\t!\"\t\"#\t#$\t$%\t%&\t&'\t'(\t()\t)*\t*+\t+,\t,-\t-.\t./\t/0\t01\t12\t23\t34\t45\t56\t67\t78\t89\t9:\t:;\t;<\t<=\t=>\t>?\t?@\t@A\tAB\tBC\tCD\tDE\tEF\tFG\tGH\tHI\tIJ\tJK\tKL\tLM\tMN\tNO\tOP\tPQ\tQR\tRS\tST\tTU\tUV\tVW\tWX\tXY\tYZ\tZ[\t[\\\t\\]\t]^\t^_\t_`\t`a\tab\tbc\tcd\tde\tef\tfg\tgh\thi\tij\tjk\tkl\tlm\tmn\tno\top\tpq\tqr\trs\tst\ttu\tuv\tvw\twx\txy\tyz\tz{\t{|\t|}\t}~\t~\t\t\t\t\t\t
\t
\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t \t ¡\t¡¢\t¢£\t£¤\t¤¥\t¥¦\t¦§\t§¨\t¨©\t©ª\tª«\t«¬\t¬\t®\t®¯\t¯°\t°±\t±²\t²³\t³´\t´µ\tµ¶\t¶·\t·¸\t¸¹\t¹º\tº»\t»¼\t¼½\t½¾\t¾¿\t¿À\tÀÁ\tÁÂ\tÂÃ\tÃÄ\tÄÅ\tÅÆ\tÆÇ\tÇÈ\tÈÉ\tÉÊ\tÊË\tËÌ\tÌÍ\tÍÎ\tÎÏ\tÏÐ\tÐÑ\tÑÒ\tÒÓ\tÓÔ\tÔÕ\tÕÖ\tÖ×\tר\tØÙ\tÙÚ\tÚÛ\tÛÜ\tÜÝ\tÝÞ\tÞß\tßà\tàá\táâ\tâã\tãä\täå\tåæ\tæç\tçè\tèé\téê\têë\tëì\tìí\tíî\tîï\tïð\tðñ\tñò\tòó\tóô\tôõ\tõö\tö÷\t÷ø\tøù\tùú\túû\tûü\tüý\týþ\tþÿ\tÿĀ\tĀā\tāĂ\tĂă\tăĄ\tĄą\tąĆ\tĆć\tćĈ\tĈĉ\tĉĊ\tĊċ\tċČ\tČč\tčĎ\tĎď\tďĐ\tĐđ\tđĒ\tĒē\tēĔ\tĔĕ\tĕĖ\tĖė\tėĘ\tĘę\tęĚ\tĚě\těĜ\tĜĝ\tĝĞ\tĞğ\tğĠ\tĠġ\tġĢ\tĢģ\tģĤ\tĤĥ\tĥĦ\tĦħ\tħĨ\tĨĩ\tĩĪ\tĪī\tīĬ\tĬĭ\tĭĮ\tĮį\tįİ\tİı\tıIJ\tIJij\tijĴ\tĴĵ\tĵĶ\tĶķ\tķĸ\tĸĹ\tĹĺ\tĺĻ\tĻļ\tļĽ\tĽľ\tľĿ\tĿŀ\tŀŁ\tŁł\tłŃ\tŃń\tńŅ\tŅņ\tņŇ\tŇň\tňʼn\tʼnŊ\tŊŋ\tŋŌ\tŌō\tōŎ\tŎŏ\tŏŐ\tŐő\tőŒ\tŒœ\tœŔ\tŔŕ\tŕŖ\tŖŗ\tŗŘ\tŘř\třŚ\tŚś\tśŜ\tŜŝ\tŝŞ\tŞş\tşŠ\tŠš\tšŢ\tŢţ\tţŤ\tŤť\tťŦ\tŦŧ\tŧŨ\tŨũ\tũŪ\tŪū\tūŬ\tŬŭ\tŭŮ\tŮů\tůŰ\tŰű\tűŲ\tŲų\tųŴ\tŴŵ\tŵŶ\tŶŷ\tŷŸ\tŸŹ\tŹź\tźŻ\tŻż\tżŽ\tŽž\tž\b\b\t\t\t\t\n\n\n\n\n\n\v\v\v\v\f\f\f\f\f\f\r\r\r\r\r\r\r !!!!!\"\"\"\"\"\"########$$$$$%%%%%&&&&&&&&'''''''''((((((()))))**********++++++,,,,,,--------..........////////00000000111111111112222222333333334444444455555556666666677777777777788888888999999999999:::::::::::;;;;;<<<<<<<======>>>>>????????@@@@@@@@@@@@@AAAAAAAAAAAAABBBBBBBBBBBBBBBBBBCCCCCCCCCCCCCDDDDEEEEEFFFFFFFFFFGGGGGHHHHHIIIIIIIIIJJJJJJJJJJKKKKKKKKLLLLLLLLLMMMMMMMMMNNNNNNNNNNOOOOOOOOOOOOOPPPPQQQQQQQQRRRRRRRRSSSSSSSSTTTTTTTUUUUUUUUUUVVVVVWWWWWWWWWXXXXYYYYYYYYYYYYZZZZZZZZZZ[[[[[[[[[\\\\\\\\\\\\\\\\\\\\\\]]]]^^^^^^^_____`````aaaabbbbbbbccccccccdddddddeeeeeeeeeffffffffggggggghhhhhhhhiiiiiiijjjjjjjjjkkkkkkkkkllllllllmmmmmmnnnnnnooooooopppppppqqqqqqqqqqqrrrrrrssssssttttttttttuuuuvvvvvvvvwwwwwwwxxxxxxxxxxyyyyyzzzzz{{{{{{{{{||||||||||}}}}}}}}}}~~~~~~~
¡¡¡¡¡¡¢¢¢¢¢¢££££££¤¤¤¤¤¥¥¥¥¥¦¦¦¦¦¦§§§§§§§§§¨¨¨¨¨©©©©©©ªªªªªªªª«««««¬¬¬¬¬¬®®®®®®®®¯¯¯¯¯¯°°°°°°°°°°°°±±±±±±±±±±±±±²²²²²²²²²²²²³³³³³³³³³³³³³´´´´´´´µµµµµµµµ¶¶¶¶¶¶·······¸¸¸¸¸¹¹¹¹¹ºººººººººº»»»»»»»»»»»¼¼¼¼¼¼¼¼¼¼¼½½½½½½½½½½½½¾¾¾¾¾¾¾¾¿¿¿ÀÀÀÀÀࡎ\nÀÁÁÁÁÁÂÂÂÂÂÂÃÃÃÃÃÃÃÃÄÄÄÅÅÅÅÅÅÅÆÆÆÇÇÇÇÇÈÈÈÈÈÈÈÉÉÉÉÉÉÉÉÊÊÊËËËËËËÌÌÌÌÍÍÍÍÍÍÎÎÎÎÎÎÎÎÎÎÎÎÎÏÏÏÏÏÐÐÐÐÐÐÐÐÐÑÑÑÑÑÑÑÑÒÒÒÒÒÒÒÒÒÒÓÓÓÓÓÓÓÓÓÓÔÔÔÔÔÔÔÔÔÔÔÔÕÕÕÕÕÕÕÕÕÕÕÖÖÖÖÖÖÖÖÖÖÖÖÖÖÖÖ××××××××××××××××ØØØØØØØØÙÙÙÙÙÙÚÚÚÚÚÚÚÚÛÛÛÛÛÛÛÛÛÜÜÜÜÜÜÜÜÜÜÝÝÝÝÝÝÝÝÞÞÞÞÞÞÞÞÞÞÞßßßßßßßßßßßààààààááááááááââââââããããããäääääåååååååååååååæææææææææææææççççççççèèèèèèèéééééééééééêêêêêêêêëëëëëëëìììììììííííííííííí",u._serializedATNSegment1="îîîîîîîîïïïïïïððððððððñññññññññòòòòòòòóóóóóóôôôôôôôôôôôô৷\nôõõõõõöööööö÷÷÷÷÷÷÷÷÷øøøøøøøùùùùúúúúúûûûûûûûüüüüüüüüýýýýýýýþþþþþþþþÿÿÿÿÿÿÿĀĀĀĀĀāāāāāāāāāāĂĂĂĂĂĂăăăăăăăăăăăăăăă㥥ĄĄĄĄĄĄĄĄĄĄĄąąąąĆĆĆĆĆĆćććććĈĈĈĈĈĈĉĉĉĉĉĊĊĊĊĊĊĊċċċċċċċċċČČČČČčččččĎĎĎĎĎĎĎďďďďďďďĐĐĐĐĐĐđđđđđđđđđđđĒĒĒĒĒĒĒēēēēēēēēēĔĔĔĔĔĔĔĕĕĕĕĕĕĕĖĖĖĖĖĖĖėėėėėėėėėėĘĘĘĘĘęęęęęęęęęęęęĚĚĚĚĚĚĚĚĚĚĚĚĚĚĚěěěěěěĜĜĜĜĜĜĜĝĝĝĝĝĝĝĝĝĝĝĝĞĞĞĞĞĞĞğğğğğğğğğğğğğğĠĠĠĠĠĠĠĠĠĠĠĠĠĠ\nĠġġġġġġġġġġġĢĢĢĢĢģģģģģĤĤĤĤĤĤĤĤĤĤĥĥĥĥĥĥĥĥĥĥĥĥĥĥĦĦĦĦĦĦĦĦĦĦĦĦĦĦħħħħħħħħħħħħħĨĨĨĨĨĨĨĨĨĨĨĨĨĨĩĩĩĩĩĩĩĩĪĪĪīīīīīīĬĬĬĬĬĬĬĬĬĭĭĭĭĭĭĭĭĭĭĭĭĮĮĮĮĮĮĮĮĮĮĮĮĮįįįįįįįįįįİİİİİıııııIJIJIJIJIJIJIJIJIJijijijijijijijijijĴĴĴĴĴĵĵĵĵĵĵĵĵĵĵĶĶĶĶĶĶĶĶĶĶķķķķķķķķĸĸĸĸĸĸĹĹĹĹĹĹĹĺĺĺĺĺĺĺĺĻĻĻĻĻĻĻļļļļļļļļĽĽĽĽĽĽľľľľľľľĿĿĿĿŀŀŀŀŀŁŁŁŁŁŁłłłłłłłŃŃŃŃŃŃŃŃńńńńńńńńŅŅŅŅŅņņņņņņŇŇŇŇŇňňňňňʼnʼnʼnʼnʼnʼnŊŊŊŊŊŋŋŋŋŋŋŌŌŌŌŌŌŌōōōōōŎŎŎŎŎŎŎŏŏŏŏŏŐŐŐŐŐŐőőőőőŒŒŒŒೆ\nŒœœœœŔŔŔŕŕŕŖŖŗŗŗŗŗ\nŗŘŘřřřřřೠ\nřŚŚśśŜŜŝŝŞŞşşŠŠššŢŢŢţţŤŤťťťŦŦŦŧŧŧŧŨŨŨũũŪŪŪŪŪഌ\nŪ\fŪŪഏ\vŪŪŪŪŪŪŪഖ\nŪ\fŪŪങ\vŪŪŪŪŪŪŪഠ\nŪ\fŪŪണ\vŪŪŪദ\nŪūūūūūബ\nū\fūūയ\vūūūŬŬഴ\nŬ\rŬŬവŬŬŭŭ഻\nŭ\rŭŭ഼ŭŭŮŮൂ\nŮ\rŮŮൃŮŮůů\nů\růůൊŰŰൎ\nŰ\rŰŰ൏ŰŰŰŰŰŰŰ൘\nŰűűűŲŲ൞\nŲ\rŲŲൟŲŲൣ\nŲŲŲŲŲŲ൩\nŲŲŲŲŲ൮\nŲųų൱\nų\rųų൲ųų൶\nųųųųųųർ\nųųųųųඁ\nųŴŴ\nŴ\rŴŴඅŴŴඉ\nŴŴŴŴŴŴŴඐ\nŴŴŴŴŴŴŴ\nŴŵŵŵŵග\nŵ\rŵŵඝŶŶŶŶŶඤ\nŶ\fŶŶට\vŶŶŶŷŷඬ\nŷ\rŷŷතŷŷŷ\nŷ\fŷŷඵ\vŷŷŷŷඹ\nŷ\rŷŷයŷල\nŷŸŸŸශ\nŸŸŸහ\nŸ\rŸŸළŹŹźźŻŻŻŻŻŻŻි\nŻ\fŻŻ\vŻŻŻෘ\nŻŻŻෛ\nŻŻŻżżżżżżż\nż\fżż෨\vżżżżżż෮\nżżżŽŽෳ\nŽ\rŽŽ෴ŽŽžž෦ſ\t\v\r\b\t\n\v\f\r!#%')+-/13579;= ?!A\"C#E$G%I&K'M(O)Q*S+U,W-Y.[/]0_1a2c3e4g5i6k7m8o9q:s;u<w=y>{?}@ABC
DEFGHIJKLMNOPQ¡R£S¥T§U©V«WX¯Y±Z³[µ\\·]¹^»_½`¿aÁbÃcÅdÇeÉfËgÍhÏiÑjÓkÕl×mÙnÛoÝpßqárãsåtçuévëwíxïyñzó{õ|÷}ù~ûýÿāăąć
ĉċčďđēĕėęěĝğġģĥħĩīĭįıijĵķĹĻĽ Ŀ¡Ł¢Ń£Ņ¤Ň¥ʼn¦ŋ§ō¨ŏ©őªœ«ŕ¬ŗř®ś¯ŝ°ş±š²ţ³ť´ŧµũ¶ū·ŭ¸ů¹űºų»ŵ¼ŷ½Ź¾Ż¿ŽÀſÁƁÂƃÃƅÄƇÅƉÆƋÇƍÈƏÉƑÊƓËƕÌƗÍƙÎƛÏƝÐƟÑơÒƣÓƥÔƧÕƩÖƫ×ƭØƯÙƱÚƳÛƵÜƷÝƹÞƻßƽàƿáǁâǃãDžäLJåljæNjçǍèǏéǑêǓëǕìǗíǙîǛïǝðǟñǡòǣóǥôǧõǩöǫ÷ǭøǯùDZúdzûǵüǷýǹþǻÿǽĀǿāȁĂȃăȅĄȇąȉĆȋćȍĈȏĉȑĊȓċȕČȗčșĎțďȝĐȟđȡĒȣēȥĔȧĕȩĖȫėȭĘȯęȱĚȳěȵĜȷĝȹĞȻğȽĠȿġɁĢɃģɅĤɇĥɉĦɋħɍĨɏĩɑĪɓīɕĬɗĭəĮɛįɝİɟıɡIJɣijɥĴɧĵɩĶɫķɭĸɯĹɱĺɳĻɵļɷĽɹľɻĿɽŀɿŁʁłʃŃʅńʇŅʉņʋŇʍňʏʼnʑŊʓŋʕŌʗōʙŎʛŏʝŐʟőʡŒʣœʥŔʧŕʩŖʫŗʭŘʯřʱŚʳśʵŜʷŝʹŞʻşʽŠʿšˁŢ˃ţ˅ŤˇťˉŦˋŧˍŨˏũˑŪ˓ū˕Ŭ˗ŭ˙ٲů˝Ű˟űˡŲˣų˥Ŵ˧ŵ˩Ŷ˫ŷ˭˯˱˳˵Ÿ˷Ź˹ź˻Ż\f))^^))$$$$^^bb--//2;C\\\f\f\v\f\"\"ศ\t\v\r!#%')+-/13579;=?ACEGIKMOQSUWY[]_acegikmoqsuwy{}
¡£¥§©«¯±³µ·¹»½¿ÁÃÅÇÉËÍÏÑÓÕ×ÙÛÝßáãåçéëíïñóõ÷ùûýÿāăąćĉċčďđēĕėęěĝğġģĥħĩīĭįıijĵķĹĻĽĿŁŃŅŇʼnŋōŏőœŕŗřśŝşšţťŧũūŭůűųŵŷŹŻŽſƁƃƅƇƉƋƍƏƑƓƕƗƙƛƝƟơƣƥƧƩƫƭƯƱƳƵƷƹƻƽƿǁǃDžLJljNjǍǏǑǓǕǗǙǛǝǟǡǣǥǧǩǫǭǯDZdzǵǷǹǻǽǿȁȃȅȇȉȋ",u._serializedATNSegment2="ȍȏȑȓȕȗșțȝȟȡȣȥȧȩȫȭȯȱȳȵȷȹȻȽȿɁɃɅɇɉɋɍɏɑɓɕɗəɛɝɟɡɣɥɧɩɫɭɯɱɳɵɷɹɻɽɿʁʃʅʇʉʋʍʏʑʓʕʗʙʛʝʟʡʣʥʧʩʫʭʯʱʳʵʷʹʻʽʿˁ˃˅ˇˉˋˍˏˑ˓˕˗˙˛˝˟ˡˣ˥˧˩˫˵˷˹˻˽˿́\t̃\v̅\ṙ̙̟̦̮̲̉̋̏̕!̷#̻%ͅ'͍)͓+͖-͚/͝1ͫ3ͳ5ͺ79Ή;Ύ=Ε?ΝAΠCΥEΫGγIθKνMυOώQϕSϚUϤWϪYϰ[ϸ]Ђ_ЊaВcНeФgЬiдkлmуoяqїsѣuѮwѳyѺ{Ҁ}҅ҍҚҧ
ҹӆӊӏәӞӣӬӶӾԇԐԚԧ¡ԫ£Գ¥Ի§Ճ©Պ«Քՙ¯բ±զ³ղµռ·օ¹»֔½֛¿֠Á֥Ã֩ÅְÇָÉֿËÍאÏחÑןÓצÕׯ×ÙÛ؆Ý،ßؓáؚãإåثçرéػëؿíهïَñ٘óٝõ٢÷٫ùٵûٿýچÿڌāڒăڛąڢćڤĉکċگčںďڽđۄēۋĕێėۖęۜěۤĝ۪ğ۱ġ۽ģ܄ĥħܗĩܛīܣĭܨįܫıܱijܶĵܻķ݀Ĺ݈ĻݍĽݕĿݚŁݟŃݥŅݫŇݱʼnݶŋݻōށŏފőޏœޕŕޝŗޢřިśެŝşš߆ţߓťߟŧ߬ũ߳ūŭࠁůࠈűࠍųࠒŵࠜŷࠧŹ࠲Ż࠾ŽࡆſࡍƁࡏƃࡔƅ࡚ƇࡢƉࡥƋƍƏࡴƑࡻƓࢃƕࢆƗࢌƙƛƝࢣƟࢨơࢱƣࢹƥࣃƧ࣍ƩࣙƫࣤƭࣴƯऄƱऌƳऒƵचƷणƹभƻवƽीƿोǁ॑ǃख़Džय़LJ॥lj४NjॷǍǏঌǑওǓঞǕদǗভǙǛিǝেǟ্ǡǣǥǧ৶ǩ৸ǫ৽ǭਃǯDZਓdzਗǵਜǷਣǹਫǻਲǽǿੁȁȃȅȇ੦ȉੳȋȍȏંȑઈȓઍȕઔȗઝșઢțધȝમȟવȡȣȥ્ȧȩȫȭ૫ȯȱૺȳଆȵକȷଛȹଢȻମȽଵȿɁɃଢ଼Ʌୢɇ୧ɉୱɋɍɏசɑநɓரɕளɗஹəூɛɝɟɡ௪ɣ௯ɥ௸ɧఁɩఆɫఐɭచɯఢɱనɳయɵషɷాɹెɻౌɽɿʁʃౢʅ౩ʇʉ౹ʋ౾ʍ಄ʏಉʑಎʓಔʕಙʗಟʙದʛಫʝಲʟಷʡಽʣʥೇʧೋʩʫʭʯʱʳೡʵೣʷʹ೧ʻ೩ʽ೫ʿ೭ˁ೯˃ೱ˅ˇˉˋˍˏംˑഅ˓ഥ˕ധ˗ള˙ഺ˛ു˝ൈ˟ൗˡ൙ˣ൭˥˧ඖ˩ඛ˫ඟ˭˯˱˳˵˷ෞ˹ෲ˻˽˾=˾˿̀*̀́̂+̂\b̃̄.̄\n̅̆0̆\ḟ̈]̈̉̊_̊̋̌Č̍F̍̎F̎̏̐C̐̑H̑̒V̒̓G̓̔T̖̔̕C̖̗N̗̘N̘̙̚C̛̚N̛̜V̜̝G̝̞T̞̟̠C̡̠N̡̢Ỵ̢C̣̤[̤̥U̧̥̦Ç̨P̨̩C̩̪N̪̫[̫̬\\̬̭G̭̮̯C̯̰P̰̱F̱̲̳C̴̳P̴̵V̵̶K̶ ̷̸C̸̹P̹̺[̺\"̻̼C̼̽P̽̾[̾̿a̿̀X̀́Ć͂N͂̓W̓̈́G̈́$͆ͅC͇͆T͇͈E͈͉J͉͊K͊͋X͋͌G͌&͍͎C͎͏T͏͐T͐͑C͑͒[͒(͓͔C͔͕U͕*͖͗C͗͘U͙͘E͙,͚͛C͛͜V͜.͝͞C͟͞W͟͠V͠͡J͢͡Qͣ͢TͣͤKͤͥ\\ͥͦCͦͧVͧͨKͨͩQͩͪPͪ0ͫͬDͬͭGͭͮVͮͯYͯͰGͰͱGͱͲPͲ2ͳʹDʹ͵K͵ͶIͶͷKͷPV4ͺͻDͻͼKͼͽPͽ;C;ͿTͿ[6DQ΄Q΄΅N΅ΆGΆ·C·ΈPΈ8ΉΊDΊQΌVΌJ:ΎΏDΏΐWΐΑEΑΒMΒΓGΓΔVΔ<ΕΖDΖΗWΗΘEΘΙMΙΚGΚΛVΛΜUΜ>ΝΞDΞΟ[Ο@ΠΡDΡ[ΣVΣΤGΤBΥΦEΦΧCΧΨEΨΩJΩΪGΪDΫάEάέCέήUήίEίΰCΰαFαβGβFγδEδεCεζUζηGηHθιEικCκλUλμVμJνξEξοCοπVπρCρςNςσQστIτLυφEφχCχψVψωCωϊNϊϋQϋόIόύUύNώϏEϏϐJϐϑCϑϒPϒϓIϓϔGϔPϕϖEϖϗJϗϘCϘϙTϙRϚϛEϛϜJϜϝCϝϞTϞϟCϟϠEϠϡVϡϢGϢϣTϣTϤϥEϥϦJϦϧGϧϨEϨϩMϩVϪϫEϫϬNϬϭGϭϮCϮϯTϯXϰϱEϱϲNϲϳWϳϴUϴϵVϵ϶G϶ϷTϷZϸϹEϹϺNϺϻWϻϼUϼϽVϽϾGϾϿTϿЀGЀЁFЁ\\ЂЃEЃЄQЄЅFЅІGІЇIЇЈGЈЉPЉ^ЊЋEЋЌQЌЍNЍЎNЎЏCЏАVАБGБ`ВГEГДQДЕNЕЖNЖЗGЗИEИЙVЙКKКЛQЛМPМbНОEОПQПРNРСWСТOТУPУdФХEХЦQЦЧNЧШWШЩOЩЪPЪЫUЫfЬЭEЭЮQЮЯOЯаOабGбвPвгVгhдеEежQжзOзиOийKйкVкjлмEмнQноOопRпрCрсEстVтlуфEфхQхцOцчRчшCшщEщъVъыKыьQьэPэю",u._serializedATNSegment3="UюnяѐEѐёQёђOђѓRѓєWєѕVѕіGіpїјEјљQљњPњћEћќCќѝVѝўGўџPџѠCѠѡVѡѢGѢrѣѤEѤѥQѥѦPѦѧUѧѨVѨѩTѩѪCѪѫKѫѬPѬѭVѭtѮѯEѯѰQѰѱUѱѲVѲvѳѴEѴѵTѵѶGѶѷCѷѸVѸѹGѹxѺѻEѻѼTѼѽQѽѾUѾѿUѿzҀҁEҁ҂W҂҃D҃҄G҄|҅҆E҆҇W҇҈T҈҉T҉ҊGҊҋPҋҌVҌ~ҍҎEҎҏWҏҐTҐґTґҒGҒғPғҔVҔҕaҕҖFҖҗCҗҘVҘҙGҙҚқEқҜWҜҝTҝҞTҞҟGҟҠPҠҡVҡҢaҢңVңҤKҤҥOҥҦGҦҧҨEҨҩWҩҪTҪҫTҫҬGҬҭPҭҮVҮүaүҰVҰұKұҲOҲҳGҳҴUҴҵVҵҶCҶҷOҷҸRҸҹҺEҺһWһҼTҼҽTҽҾGҾҿPҿӀVӀӁaӁӂWӂӃUӃӄGӄӅTӅӆӇFӇӈCӈӉ[ӉӊӋFӋӌCӌӍ[ӍӎUӎӏӐFӐӑCӑӒ[ӒӓQӓӔHӔӕ[ӕӖGӖӗCӗӘTӘәӚFӚӛCӛӜVӜӝCӝӞӟFӟӠCӠӡVӡӢGӢӣӤFӤӥCӥӦVӦӧCӧӨDӨөCөӪUӪӫGӫӬӭFӭӮCӮӯVӯӰCӰӱDӱӲCӲӳUӳӴGӴӵUӵӶӷFӷӸCӸӹVӹӺGӺӻCӻӼFӼӽFӽӾӿFӿԀCԀԁVԁԂGԂԃaԃԄCԄԅFԅԆFԆԇԈFԈԉCԉԊVԊԋGԋԌFԌԍKԍԎHԎԏHԏԐԑFԑԒCԒԓVԓԔGԔԕaԕԖFԖԗKԗԘHԘԙHԙԚԛFԛԜDԜԝRԝԞTԞԟQԟԠRԠԡGԡԢTԢԣVԣԤKԤԥGԥԦUԦԧԨFԨԩGԩԪEԪ ԫԬFԬԭGԭԮEԮԯKԯOԱCԱԲNԲ¢ԳԴFԴԵGԵԶHԶԷCԷԸWԸԹNԹԺVԺ¤ԻԼFԼԽGԽԾHԾԿKԿՀPՀՁGՁՂFՂ¦ՃՄFՄՅGՅՆNՆՇGՇՈVՈՉGՉ¨ՊՋFՋՌGՌՍNՍՎKՎՏOՏՐKՐՑVՑՒGՒՓFՓªՔՕFՕՖGՖUE¬ՙ՚F՚՛G՛՜U՜՝E՝՞T՞՟K՟ՠDՠաGա®բգFգդHդեUե°զէFէըKըթTթժGժիEիլVլխQխծTծկKկհGհձUձ²ղճFճմKմյTյնGնշEշոVոչQչպTպջ[ջ´ռսFսվKվտUտրVրցKցւPւփEփքVք¶օֆFֆևKևֈUֈ։V։֊T֊KD֍W֍֎V֎֏G֏¸֑F֑֒K֒֓X֓º֔֕F֖֕Q֖֗W֗֘D֘֙N֚֙G֚¼֛֜F֜֝T֝֞Q֞֟R֟¾֠֡G֢֡N֢֣U֣֤G֤À֥֦G֦֧P֧֨F֨Â֪֩G֪֫U֫֬E֭֬C֭֮R֮֯G֯ÄְֱGֱֲUֲֳEֳִCִֵRֵֶGֶַFַÆָֹGֹֺZֺֻEֻּGּֽRֽ־V־Èֿ׀G׀ׁZׁׂEׂ׃J׃ׄCׅׄPׅ׆I׆ׇGׇÊGZENWFGÌאבGבגZגדKדהUהוVוזUזÎחטGטיZיךRךכNכלCלםKםמPמÐןנGנסZסעRעףQףפTפץVץÒצקGקרZרשVשתGתPFGFÔׯװGװױZױײVײ׳G׳״T״PCNÖGZVTCEVØHCNUGÚ؆؇H؇؈G؈؉V؉؊E؊؋J؋Ü،؍H؍؎K؎؏G؏ؐNؐؑFؑؒUؒÞؓؔHؔؕKؕؖNؖؗVؘؗGؘؙTؙàؚ؛H؛K؝N؝؞G؞؟H؟ؠQؠءTءآOآأCأؤVؤâإئHئاKابTبةUةتVتäثجHجحNحخQخدCدذVذæرزHزسQسشNشصNصضQضطYطظKظعPعغIغèػؼHؼؽQؽؾTؾêؿـHـفQفقTقكGكلKلمIمنPنìهوHوىQىيTيًOًٌCٌٍVٍîَُHُِQِّTّْOْٓCٓٔVٕٔVٕٖGٖٗFٗð٘ٙHٙٚTٚٛQٜٛOٜòٝٞHٟٞWٟ٠N٠١N١ô٢٣H٣٤W٤٥P٥٦E٦٧V٧٨K٨٩Q٩٪P٪ö٫٬H٬٭W٭ٮPٮٯEٯٰVٰٱKٱٲQٲٳPٳٴUٴøٵٶIٶٷGٷٸPٸٹGٹٺTٺٻCٻټVټٽGٽپFپúٿڀIڀځNځڂQڂڃDڃڄCڄڅNڅüچڇIڇڈTڈډCډڊPڊڋVڋþڌڍIڍڎTڎڏQڏڐWڐڑRڑĀڒړIړڔTڔڕQڕږWږڗRڗژKژڙPڙښIښĂڛڜJڜڝCڝڞXڞڟKڟڠPڠڡIڡĄڢڣZڣĆڤڥJڥڦQڦڧWڧڨTڨĈکڪJڪګQګڬWڬڭTڭڮUڮĊگڰKڰڱFڱڲGڲڳPڳڴVڴڵKڵڶHڶڷKڷڸGڸڹTڹČںڻKڻڼHڼĎڽھKھڿIڿۀPۀہQہۂTۂۃGۃĐۄۅKۅۆOۆۇRۇۈQۈۉTۉۊVۊĒۋیKیۍPۍĔێۏKۏېPېۑEۑےNےۓWۓ۔F۔ەGەĖۖۗKۗۘPۘۙFۙۚGۚۛZۛĘۜK۞P۞۟F۟۠G۠ۡZۡۢGۣۢUۣĚۤۥKۥۦPۦۧPۧۨGۨ۩T۩Ĝ۪۫K۫۬Pۭ۬RۭۮCۮۯVۯ۰J۰Ğ۱۲K۲۳P۳۴R۴۵W۵۶V۶۷H۷۸Q۸۹T۹ۺOۺۻCۻۼVۼĠ۽۾K۾ۿPۿ܀U܀܁G܁܂T܂܃V܃Ģ܄܅K܅܆P܆܇V܇܈G܈܉T܉܊U܊܋G܋܌E܌܍V܍ĤKܐPܐܑVܑܒGܒܓTܓܔXܔܕCܕܖNܖĦܗܘKܘܙPܙܚVܚĨܛܜKܜܝPܝܞVܞܟGܟܠIܠܡGܡܢTܢĪܣܤKܤܥPܥܦVܦܧQܧĬܨܩKܩܪUܪĮܫܬKܬܭVܭܮGܮܯOܯܰUܰİܱܲLܲܳQܴܳKܴܵPܵIJܷܶMܷܸGܸܹ[ܹܺUܺĴܻܼNܼܽCܾܽUܾܿVܿĶ݀݁N݂݁C݂݃V݄݃G݄݅T݆݅C݆݇N݇ĸ݈݉N݉݊C݊\\[ĺݍݎNݎݏGݏݐCݐݑFݑݒKݒݓPݓݔIݔļݕݖNݖݗGݗݘHݘݙVݙľݚݛNݛݜKݜݝMݝݞGݞŀݟݠKݠݡNݡݢKݢݣMݣݤGݤłݥݦNݦݧKݧݨOݨݩKݩݪVݪńݫݬNݬݭKݭݮPݮݯGݯݰUݰņݱݲNݲݳKݳݴUݴݵVݵňݶݷNݷݸQݸݹCݹݺFݺŊݻݼNݼݽQݽݾEݾݿCݿހNހŌށނNނރQރބEބޅCޅކVކއKއވQވމPމŎފދNދތQތލEލގMގŐ",u._serializedATNSegment4="ޏސNސޑQޑޒEޒޓMޓޔUޔŒޕޖNޖޗQޗޘIޘޙKޙޚEޚޛCޛޜNޜŔޝޞNޞޟQޟޠPޠޡIޡŖޢޣOޣޤCޤޥEޥަTަާQާŘިީOީުCުޫRޫŚެޭOޭޮCޮޯVޯްEްޱJޱGFŜOGTIGŞOKETQ߀U߀߁G߁߂E߂߃Q߃߄P߄߅F߅Š߆߇O߇߈K߈߉E߉ߊTߊߋQߋߌUߌߍGߍߎEߎߏQߏߐPߐߑFߑߒUߒŢߓߔOߔߕKߕߖNߖߗNߗߘKߘߙUߙߚGߚߛEߛߜQߜߝPߝߞFߞŤߟߠOߠߡKߡߢNߢߣNߣߤKߤߥUߥߦGߦߧEߧߨQߨߩPߩߪFߪ߫U߫Ŧ߬߭O߭߮K߮߯P߯߰W߰߱V߲߱G߲Ũ߳ߴOߴߵKߵ߶P߶߷W߷߸V߸߹G߹ߺUߺŪO߽Q߽߾P߾߿V߿ࠀJࠀŬࠁࠂOࠂࠃQࠃࠄPࠄࠅVࠅࠆJࠆࠇUࠇŮࠈࠉOࠉࠊUࠊࠋEࠋࠌMࠌŰࠍࠎPࠎࠏCࠏࠐOࠐࠑGࠑŲࠒࠓPࠓࠔCࠔࠕOࠕࠖGࠖࠗUࠗ࠘R࠘࠙C࠙ࠚEࠚࠛGࠛŴࠜࠝPࠝࠞCࠞࠟOࠟࠠGࠠࠡUࠡࠢRࠢࠣCࠣࠤEࠤࠥGࠥࠦUࠦŶࠧࠨPࠨࠩCࠩࠪPࠪࠫQࠫࠬUࠬ࠭G࠭EQ࠰P࠰࠱F࠱Ÿ࠲࠳P࠳࠴C࠴࠵P࠵࠶Q࠶࠷U࠷࠸G࠸࠹E࠹࠺Q࠺࠻P࠻࠼F࠼࠽U࠽ź࠾PࡀCࡀࡁVࡁࡂWࡂࡃTࡃࡄCࡄࡅNࡅżࡆࡇPࡇࡈQࡈžࡉࡊPࡊࡋQࡋࡎVࡌࡎ#ࡍࡉࡍࡌࡎƀࡏࡐPࡐࡑWࡑࡒNࡒࡓNࡓƂࡔࡕPࡕࡖWࡖࡗNࡗࡘNࡘ࡙U࡙Ƅ࡚࡛P࡛WO࡞G࡞TࡠKࡠࡡEࡡƆࡢࡣQࡣࡤHࡤƈࡥࡦQࡦࡧHࡧࡨHࡨࡩUࡩࡪGࡪVƊQPƌࡰQࡰࡱPࡱࡲNࡲࡳ[ࡳƎࡴࡵQࡵࡶRࡶࡷVࡷࡸKࡸࡹQࡹࡺPࡺƐࡻࡼQࡼࡽRࡽࡾVࡾࡿKࡿࢀQࢀࢁPࢁࢂUࢂƒࢃࢄQࢄࢅTࢅƔࢆࢇQࢇ࢈T࢈ࢉFࢉࢊGࢊࢋTࢋƖࢌࢍQࢍࢎWࢎVƘQWVGTƚQ࢘W࢙࢘V࢙࢚R࢚࢛W࢛࢜V࢜࢝H࢝࢞Q࢞࢟T࢟ࢠOࢠࢡCࢡࢢVࢢƜࢣࢤQࢤࢥXࢥࢦGࢦࢧTࢧƞࢨࢩQࢩࢪXࢪࢫGࢫࢬTࢬࢭNࢭࢮCࢮࢯRࢯࢰUࢰƠࢱࢲQࢲࢳXࢳࢴGࢴࢵTࢵࢶNࢶࢷCࢷࢸ[ࢸƢࢹࢺQࢺࢻXࢻࢼGࢼࢽTࢽࢾYࢾࢿTࢿࣀKࣀࣁVࣁࣂGࣂƤࣃࣄRࣄࣅCࣅࣆTࣆࣇVࣇࣈKࣈࣉVࣉ࣊K࣊࣋Q࣋࣌P࣌Ʀ࣍࣎R࣏࣎C࣏࣐T࣐࣑V࣑࣒K࣒࣓V࣓ࣔKࣔࣕQࣕࣖPࣖࣗGࣗࣘFࣘƨࣙࣚRࣚࣛCࣛࣜTࣜࣝVࣝࣞKࣞࣟVࣟ࣠K࣠࣡Q࣡PࣣUࣣƪࣤࣥRࣦࣥGࣦࣧTࣧࣨEࣩࣨGࣩ࣪P࣪࣫V࣫࣬K࣭࣬N࣭࣮G࣮࣯aࣰ࣯EࣰࣱQࣱࣲPࣲࣳVࣳƬࣴࣵRࣶࣵGࣶࣷTࣷࣸEࣹࣸGࣹࣺPࣺࣻVࣻࣼKࣼࣽNࣽࣾGࣾࣿaࣿऀFऀँKँंUंःEःƮऄअRअआGआइTइईEईउGउऊPऊऋVऋưऌऍRऍऎKऎएXएऐQऐऑVऑƲऒओRओऔNऔकCकखEखगKगघPघङIङƴचछRछजQजझUझञKञटVटठKठडQडढPढƶणतRतथTथदGदधEधनGनऩFऩपKपफPफबIबƸभमRमयTयरKरऱOऱलCलळTळऴ[ऴƺवशRशषTषसKसहPहऺEऺऻKऻ़R़ऽCऽाNािUिƼीुRुूTूृQृॄRॄॅGॅॆTॆेVेैKैॉGॉॊUॊƾोौRौ्W्ॎTॎॏIॏॐGॐǀ॒॑S॒॓W॓॔C॔ॕTॕॖVॖॗGॗक़Tक़ǂख़ग़Sग़ज़Wज़ड़Gड़ढ़Tढ़फ़[फ़DŽय़ॠTॠॡCॡॢPॢॣIॣ।G।dž॥०T०१G१२C२३N३Lj४५T५६G६७E७८Q८९T९॰F॰ॱTॱॲGॲॳCॳॴFॴॵGॵॶTॶNJॷॸTॸॹGॹॺEॺॻQॻॼTॼॽFॽॾYॾॿTॿঀKঀঁVঁংGংঃTঃnjঅTঅআGআইEইঈQঈউXউঊGঊঋTঋǎঌTGএFএঐWঐEGǐওঔTঔকGকখHখগGগঘTঘঙGঙচPচছEছজGজঝUঝǒঞটTটঠGঠডHডঢTঢণGণতUতথJথǔদধTধনGনPপCপফOফবGবǖভমTমযGযরRরCলKলTǘTশGশষRষসGসহCহVC়D়ঽNঽাGাǚিীTীুGুূRূৃNৃৄCৄEGǜেৈTৈGUোGোৌVৌǞ্ৎTৎGURGEVǠTৗGৗUVTKড়Eড়ঢ়Vঢ়Ǣয়Tয়ৠGৠৡXৡৢQৢৣMৣGǤ০T০১K১২I২৩J৩৪V৪Ǧ৫৬T৬৭N৭৮K৮৯M৯৷GৰৱTৱ৲G৲৳I৳৴G৴৵Z৵৷R৶৫৶ৰ৷Ǩ৸৹T৹৺Q৺৻N৻ৼGৼǪ৽৾T৾QNਁGਁਂUਂǬਃTਅQਅਆNਆਇNਇਈDਈਉCਉਊEਊMǮTQਏNਏਐNਐWRǰਓਔTਔਕQਕਖYਖDzਗਘTਘਙQਙਚYਚਛUਛǴਜਝUਝਞGਞਟEਟਠQਠਡPਡਢFਢǶਣਤUਤਥGਥਦEਦਧQਧਨPਨFਪUਪǸਫਬUਬਭEਭਮJਮਯGਯਰOਰCǺਲਲ਼Uਲ਼EਵJਵਸ਼Gਸ਼OਸCਸਹUਹǼU਼G਼NਾGਾਿEਿੀVੀǾੁੂUੂGOKȀੇUੇੈGੈRCੋTੋੌCੌ੍V੍GFȂੑUੑGTFGȄUGਖ਼Tਖ਼ਗ਼Fਗ਼ਜ਼Gਜ਼ੜRੜTਫ਼Qਫ਼RGTVKGUȆ੦੧U੧੨G੨੩U੩੪U੪੫K੫੬Q੬੭P੭੮a੮੯W੯ੰUੰੱGੱੲTੲȈੳੴUੴੵGੵ੶V੶ȊOKPWUȌUGVઁUઁȎંઃUઃJઅQઅઆTઆઇVઇȐઈઉUઉઊJઊઋQઋઌYઌȒઍUએMએઐGઐઑYઑGઓFઓȔઔકUકખOખગCગઘNઘઙNઙચKચછPછજVજȖઝઞUઞટQટઠOઠડGડȘઢણUણતQતથTથદVદȚધનUનQપTપફVફબGબભFભȜમયUયરQરWલTલળEળGȞવશUશષVષસCસહTહVȠ઼U઼ઽVઽાCાિVિીKીુUુૂVૂૃKૃૄEૄૅUૅȢેUેૈVૈૉQૉTોGોૌFૌȤ્U",u._serializedATNSegment5="VૐTૐCVKH[ȦUVTKPIȨUVૠTૠૡWૡૢEૢૣVૣȪU૦W૦૧D૧૨U૨૩V૩૪T૪Ȭ૫૬U૬૭W૭૮D૮૯U૯૰V૰૱T૱KPIȮU[PૹEૹȰૺૻUૻૼ[ૼ૽U૽૾V૾૿G૿OଁaଁଂVଂଃKଃOଅGଅȲଆଇUଇଈ[ଈଉUଉଊVଊଋGଋଌOଌaXଏGଏଐTଐUKଓQଓଔPଔȴକଖVଖଗCଗଘDଘଙNଙଚGଚȶଛଜVଜଝCଝଞDଞଟNଟଠGଠଡUଡȸଢଣVଣତCତଥDଥଦNଦଧGଧନUନCପOପଫRଫବNବଭGଭȺମଯVଯରCରTଲIଲଳGଳVȼଵଶVଶଷDଷସNସହRହTQ଼R଼ଽGଽାTାିVିୀKୀୁGୁୂUୂȾୃୄVୄGOେRେୈQୈTCୋTୋ[ୌ୍V୍GORୃୌɀVG୕T୕ୖOୖୗKୗPCVGଡ଼Fଡ଼ɂଢ଼VୟJୟୠGୠୡPୡɄୢୣVୣKO୦G୦Ɇ୧୨V୨୩K୩୪O୪୫G୫୬U୬୭V୭୮C୮୯O୯୰R୰Ɉୱ୲V୲୳K୳୴O୴୵G୵୶U୶୷V୷CORaNV\\ɊVKஂOஂஃGஃUஅVஅஆCஆஇOஇஈRஈஉaஉஊPஊV\\ɌஎVஎஏKஏஐOஐGஒUஒஓVஓஔCஔகOகRCFஙFஙɎசVஜKஜOஞGஞடUடVCOணRணதFதKHHɐநனVனபKபP[KமPமயVயɒரறVறலQலɔளழVழவQவஶWஶஷEஷஸJஸɖஹVTCKாNாிKிீPீுIுɘூVTCெPெேUேைCைEொVொோKோௌQௌ்P்ɚVௐTௐCPUCEVௗKௗQPUɜVTCPUHQTOɞ௦V௦௧T௧௨K௨௩O௩ɠ௪௫V௫௬T௬௭W௭௮G௮ɢ௯௰V௰௱T௱௲W௲௳P௳௴E௴௵C௵௶V௶௷G௷ɤ௸௹V௹௺T௺[aECUఀVఀɦఁంVంః[ఃఄRఄఅGఅɨఆఇWఇఈPఈఉCఉఊTఊఋEఋఌJఌKఎXఎఏGఏɪఐWఒPఒఓDఓఔQఔకWకఖPఖగFగఘGఘఙFఙɬచఛWఛజPజఝEఝఞCఞటEటఠJఠడGడɮఢణWణతPతథKథదQదధPధɰనWపPపఫKఫబSబభWభమGమɲయరWరఱPఱలMలళPళఴQఴవYవశPశɴషసWసహPహNQ఼E఼ఽMఽɶాిWిీPీుRుూKూృXృౄQౄVɸెేWేైPైUొGొోVోɺౌ్W్RFCVGɼWౕUౕౖGౖɾౘWౘౙUౙౚGౚTʀౝWౝUKౠPౠౡIౡʂౢౣXౣCN౦W౦౧G౧౨U౨ʄ౩౪X౪౫C౫౬T౬౭E౭౮J౮౯C౯TʆXGTUK౷Q౷౸P౸ʈ౹౺X౺౻K౻౼G౼౽Y౽ʊ౾౿X౿ಀKಀಁGಁಂYಂಃUಃʌ಄ಅXಅಆQಆಇKಇಈFಈʎಉಊYಊಋGಋಌGಌMʐಎಏYಏಐGಐGಒMಒಓUಓʒಔಕYಕಖJಖಗGಗಘPಘʔಙಚYಚಛJಛಜGಜಝTಝಞGಞʖಟಠYಠಡKಡಢPಢಣFಣತQತಥYಥʘದಧYಧನKನVಪJಪʚಫಬYಬಭKಭಮVಮಯJಯರKರಱPಱʜಲಳ[ಳGವCವಶTಶʞಷಸ[ಸಹGಹCT಼U಼ʠಽಾ\\ಾಿQಿೀPೀುGುʢೂೆ?ೃೄ?ೄೆ?ೂೃೆʤೇೈ>ೈ?ೊ@ೊʦೋೌ>ೌ್@್ʨ#?ʪ>ʬ>?ೕೖ#ೖ@ೕʮ@ʰ@ೠ?ೝೞ#ೞೠ>ೝೠʲೡೢ-ೢʴೣ/ʶ೦,೦ʸ೧೨1೨ʺ೩೪'೪ʼ೫೬೬ʾ೭೮(೮ˀ೯~˂ೱೲ~ೲೳ~ೳ˄`ˆ<ˈ/@ˊ?@ˌ1ഀ,ഀഁ-ഁˎംഃ,ഃഄ1ഄːഅആAആ˒ഇ)ഈഌ\nഉഊ^ഊഌ\vഋഈഋഉഌഏഋഎഎഐഏഐദ)ഒTഒഓ)ഓഗഔഖ\nകഔഖങഗകഗഘഘചങഗചദ)ഛജTജഝ$ഝഡഞഠ\nടഞഠണഡടഡഢഢതണഡതദ$ഥഇഥഥഛദ˔ധഭ$നബ\nഩപ^പബ\vഫനഫഩബയഭഫഭമമരയഭരറ$റ˖ലഴ˱ŹളലഴവവളവശശഷഷസNസ˘ഹ഻˱Źഺഹ഻഼഼ഺ഼ഽഽാാിUി˚ീൂ˱Źുീൂൃൃുൃൄൄെ[െ˜േ˱Źൈേൊൊൈൊോോ˞ൌൎ˱Ź്ൌൎ൏൏്൏˯Ÿ൘ൔ˭ŷൔൕ˯ŸൕൖŰൖ൘ൗ്ൗ൘ˠ൙൚˭ŷ൚൛ű൛ˢ൜൞˱Ź൝൜൞ൟൟ൝ൟൠൠൢൡൣ˯ŸൢൡൢൣൣH൮൦൨˭ŷ൧൩˯Ÿ൨൧൨൩൩൪൪൫H൫൬Ų൬൮൭൝൭൦൮ˤ൯൱˱Ź൰൯൱൲൲൰൲൳൳൵൴൶˯Ÿ൵൴൵൶൶൷൷൸F൸ඁ൹ൻ˭ŷൺർ˯ŸൻൺൻർർൽൽൾFൾൿųൿඁ൰൹ඁ˦ං˱Źඃංඅඅඃඅආආඈඇඉ˯ŸඈඇඈඉඉඊඊඋDඋඌFඌඍඏ˭ŷඎඐ˯ŸඏඎඏඐඐඑඑඒDඒඓFඓඔඔඕŴඕඖඃඖඍ˨ග˳źග˱Źකගaඛඛඛකගඝඝඛඝඞඞ˪ඟඥbචඤ\nඡජbජඤbඣචඣඡඤටඥඣඥඦඦඨටඥඨඩbඩˬඪඬ˱Źණඪඬතතණතථථදදඳ0ධ˱Źනධඵඳනඳපපලඵඳබම0භඹ˱ŹමභඹයයමයරරලණබලˮවGශ\tවවශශසෂහ˱Źසෂහළළසළෆෆ˰\t\b˲්\t\t්˴//ීා^ාි\fැි\n\nෑෑැිීෑීුුීූෘූෘෘේෙෛ\fේෙේෛෛොොෝ\bŻෝ˶ෞෟ1ෟ,෦ż",u._serializedATNSegment6="˷ż\v෨෦෧෦෧෭෨෦෩෪,෪෮1෫෬\bż෬෮෭෩෭෫෮෯෯\bż˸ෳ\t\vෲෳ෴෴ෲ෴\bŽ˺\v˼4ࡍ৶ഋഗഡഥഫഭവ഼ൃൊ൏ൗൟൢ൨൭൲൵ൻඅඈඏඖඛඝඣඥතඳයවළෑීේ෦෭෴ż",u._serializedATN=l.join([u._serializedATNSegment0,u._serializedATNSegment1,u._serializedATNSegment2,u._serializedATNSegment3,u._serializedATNSegment4,u._serializedATNSegment5,u._serializedATNSegment6],"")},function(t,e,r){"use strict";var i=this&&this.__createBinding||(Object.create?function(t,e,r,i){void 0===i&&(i=r);var n=Object.getOwnPropertyDescriptor(e,r);n&&!("get"in n?!e.__esModule:n.writable||n.configurable)||(n={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,i,n)}:function(t,e,r,i){void 0===i&&(i=r),t[i]=e[r]}),n=this&&this.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),s=this&&this.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(null!=t)for(var r in t)"default"!==r&&Object.prototype.hasOwnProperty.call(t,r)&&i(e,t,r);return n(e,t),e};Object.defineProperty(e,"__esModule",{value:!0}),e.DropFunctionContext=e.CreateFunctionContext=e.AlterViewQueryContext=e.CreateTempViewUsingContext=e.CreateViewContext=e.DropViewContext=e.DropTableContext=e.RecoverPartitionsContext=e.SetTableLocationContext=e.DropTablePartitionsContext=e.RenameTablePartitionContext=e.AddTablePartitionContext=e.SetTableSerDeContext=e.HiveReplaceColumnsContext=e.HiveChangeColumnContext=e.AlterTableAlterColumnContext=e.UnsetTablePropertiesContext=e.SetTablePropertiesContext=e.RenameTableContext=e.DropTableColumnsContext=e.RenameTableColumnContext=e.AddTableColumnsContext=e.AnalyzeTablesContext=e.AnalyzeContext=e.ReplaceTableContext=e.CreateTableLikeContext=e.CreateTableContext=e.ShowNamespacesContext=e.DropNamespaceContext=e.SetNamespaceLocationContext=e.SetNamespacePropertiesContext=e.CreateNamespaceContext=e.SetCatalogContext=e.UseNamespaceContext=e.UseContext=e.DmlStatementContext=e.StatementDefaultContext=e.StatementContext=e.StatementForFoldingContext=e.SingleTableSchemaContext=e.SingleDataTypeContext=e.SingleFunctionIdentifierContext=e.SingleMultipartIdentifierContext=e.SingleTableIdentifierContext=e.SingleExpressionContext=e.SingleStatementContext=e.StatementEndContext=e.StatementsContext=e.ProgramContext=e.SparkSqlParser=void 0,e.InsertIntoReplaceWhereContext=e.InsertIntoTableContext=e.InsertOverwriteTableContext=e.InsertIntoContext=e.QueryContext=e.CommentSpecContext=e.LocationSpecContext=e.SkewSpecContext=e.BucketSpecContext=e.ReplaceTableHeaderContext=e.CreateTableHeaderContext=e.UnsupportedHiveNativeCommandsContext=e.ConfigValueContext=e.ConfigKeyContext=e.TimezoneContext=e.DropIndexContext=e.CreateIndexContext=e.ResetConfigurationContext=e.ResetQuotedConfigurationContext=e.SetConfigurationContext=e.SetQuotedConfigurationContext=e.SetTimeZoneContext=e.FailNativeCommandContext=e.ManageResourceContext=e.RepairTableContext=e.TruncateTableContext=e.LoadDataContext=e.ClearCacheContext=e.UncacheTableContext=e.CacheTableContext=e.RefreshResourceContext=e.RefreshFunctionContext=e.RefreshTableContext=e.CommentTableContext=e.CommentNamespaceContext=e.DescribeQueryContext=e.DescribeRelationContext=e.DescribeNamespaceContext=e.DescribeFunctionContext=e.ShowCatalogsContext=e.ShowCurrentNamespaceContext=e.ShowCreateTableContext=e.ShowFunctionsContext=e.ShowPartitionsContext=e.ShowViewsContext=e.ShowColumnsContext=e.ShowTblPropertiesContext=e.ShowTableExtendedContext=e.ShowTablesContext=e.ExplainContext=void 0,e.TransformQuerySpecificationContext=e.QuerySpecificationContext=e.FromStatementBodyContext=e.FromStatementContext=e.SortItemContext=e.SubqueryContext=e.InlineTableDefault1Context=e.TableContext=e.FromStmtContext=e.QueryPrimaryDefaultContext=e.QueryPrimaryContext=e.SetOperationContext=e.QueryTermDefaultContext=e.QueryTermContext=e.MultiInsertQueryBodyContext=e.QueryOrganizationContext=e.IdentifierReferenceContext=e.MergeIntoTableContext=e.UpdateTableContext=e.DeleteFromTableContext=e.MultiInsertQueryContext=e.SingleInsertQueryContext=e.DmlStatementNoWithContext=e.ResourceContext=e.StorageHandlerContext=e.GenericFileFormatContext=e.TableFileFormatContext=e.FileFormatContext=e.CreateFileFormatContext=e.NestedConstantListContext=e.ConstantListContext=e.ExpressionPropertyContext=e.ExpressionPropertyListContext=e.PropertyValueContext=e.PropertyKeyContext=e.PropertyContext=e.PropertyListContext=e.CreateTableClausesContext=e.TableProviderContext=e.NamedQueryContext=e.CtesContext=e.DescribeColNameContext=e.DescribeFuncNameContext=e.NamespacesContext=e.NamespaceContext=e.PartitionValContext=e.PartitionSpecContext=e.PartitionSpecLocationContext=e.InsertOverwriteDirContext=e.InsertOverwriteHiveDirContext=void 0,e.SampleByBytesContext=e.SampleByBucketContext=e.SampleByRowsContext=e.SampleByPercentileContext=e.SampleMethodContext=e.SampleContext=e.JoinCriteriaContext=e.JoinTypeContext=e.JoinRelationContext=e.RelationExtensionContext=e.RelationContext=e.SetQuantifierContext=e.LateralViewContext=e.UnpivotAliasContext=e.UnpivotColumnContext=e.UnpivotColumnAndAliasContext=e.UnpivotNameColumnContext=e.UnpivotValueColumnContext=e.UnpivotColumnSetContext=e.UnpivotMultiValueColumnClauseContext=e.UnpivotSingleValueColumnClauseContext=e.UnpivotOperatorContext=e.UnpivotNullClauseContext=e.UnpivotClauseContext=e.PivotValueContext=e.PivotColumnContext=e.PivotClauseContext=e.GroupingSetContext=e.GroupingElementContext=e.GroupingAnalyticsContext=e.GroupByClauseContext=e.AggregationClauseContext=e.TemporalClauseContext=e.FromClauseContext=e.HintStatementContext=e.HintContext=e.HavingClauseContext=e.WhereClauseContext=e.AssignmentContext=e.AssignmentListContext=e.NotMatchedBySourceActionContext=e.NotMatchedActionContext=e.MatchedActionContext=e.NotMatchedBySourceClauseContext=e.NotMatchedClauseContext=e.MatchedClauseContext=e.SetClauseContext=e.SelectClauseContext=e.TransformClauseContext=e.RegularQuerySpecificationContext=void 0,e.ValueExpressionContext=e.PredicateContext=e.LogicalBinaryContext=e.PredicatedContext=e.ExistsContext=e.LogicalNotContext=e.BooleanExpressionContext=e.ExpressionSeqContext=e.FunctionArgumentContext=e.NamedArgumentExpressionContext=e.ExpressionContext=e.TransformArgumentContext=e.ApplyTransformContext=e.IdentityTransformContext=e.TransformContext=e.PartitionColumnContext=e.PartitionTransformContext=e.PartitionFieldContext=e.PartitionFieldListContext=e.NamedExpressionSeqContext=e.NamedExpressionContext=e.FunctionIdentifierContext=e.TableIdentifierContext=e.MultipartIdentifierPropertyContext=e.MultipartIdentifierPropertyListContext=e.MultipartIdentifierContext=e.MultipartIdentifierListContext=e.RowFormatDelimitedContext=e.RowFormatSerdeContext=e.RowFormatContext=e.TableAliasContext=e.FunctionTableContext=e.FunctionTableArgumentContext=e.FunctionTableReferenceArgumentContext=e.FunctionTableNamedArgumentExpressionContext=e.TableArgumentPartitioningContext=e.FunctionTableSubqueryArgumentContext=e.InlineTableContext=e.TableValuedFunctionContext=e.InlineTableDefault2Context=e.AliasedRelationContext=e.AliasedQueryContext=e.TableNameContext=e.RelationPrimaryContext=e.IdentifierCommentContext=e.IdentifierCommentListContext=e.OrderedIdentifierContext=e.OrderedIdentifierListContext=e.IdentifierSeqContext=e.IdentifierListContext=void 0,e.MultiUnitsIntervalContext=e.ErrorCapturingMultiUnitsIntervalContext=e.IntervalContext=e.BooleanValueContext=e.PredicateOperatorContext=e.ArithmeticOperatorContext=e.ComparisonOperatorContext=e.StringLiteralContext=e.BooleanLiteralContext=e.NumericLiteralContext=e.TypeConstructorContext=e.IntervalLiteralContext=e.NamedParameterLiteralContext=e.PosParameterLiteralContext=e.NullLiteralContext=e.ConstantContext=e.LiteralTypeContext=e.PercentileContext=e.OverlayContext=e.TrimContext=e.SubstringContext=e.ExtractContext=e.ParenthesizedExpressionContext=e.DereferenceContext=e.ColumnReferenceContext=e.SubscriptContext=e.LambdaContext=e.FunctionCallContext=e.IdentifierClauseContext=e.SubqueryExpressionContext=e.RowConstructorContext=e.StarContext=e.ConstantDefaultContext=e.PositionContext=e.LastContext=e.Any_valueContext=e.FirstContext=e.StructContext=e.CastContext=e.SimpleCaseContext=e.SearchedCaseContext=e.TimestampdiffContext=e.TimestampaddContext=e.CurrentLikeContext=e.PrimaryExpressionContext=e.DatetimeUnitContext=e.ComparisonContext=e.ArithmeticBinaryContext=e.ArithmeticUnaryContext=e.ValueExpressionDefaultContext=void 0,e.IntegerLiteralContext=e.LegacyDecimalLiteralContext=e.DecimalLiteralContext=e.ExponentLiteralContext=e.NumberContext=e.BackQuotedIdentifierContext=e.QuotedIdentifierContext=e.QuotedIdentifierAlternativeContext=e.UnquotedIdentifierContext=e.StrictIdentifierContext=e.IdentifierContext=e.RealIdentContext=e.ErrorIdentContext=e.ErrorCapturingIdentifierExtraContext=e.ErrorCapturingIdentifierContext=e.QualifiedNameContext=e.FunctionNameContext=e.QualifiedNameListContext=e.FrameBoundContext=e.WindowFrameContext=e.WindowDefContext=e.WindowRefContext=e.WindowSpecContext=e.NamedWindowContext=e.WindowClauseContext=e.WhenClauseContext=e.ComplexColTypeContext=e.ComplexColTypeListContext=e.GenerationExpressionContext=e.ColDefinitionOptionContext=e.CreateOrReplaceTableColTypeContext=e.CreateOrReplaceTableColTypeListContext=e.ColTypeContext=e.ColTypeListContext=e.DefaultExpressionContext=e.ColDefinitionDescriptorWithPositionContext=e.QualifiedColTypeWithPositionContext=e.QualifiedColTypeWithPositionListContext=e.PrimitiveDataTypeContext=e.DayTimeIntervalDataTypeContext=e.YearMonthIntervalDataTypeContext=e.ComplexDataTypeContext=e.DataTypeContext=e.TypeContext=e.ColPositionContext=e.UnitInUnitToUnitContext=e.UnitInMultiUnitsContext=e.IntervalValueContext=e.UnitToUnitIntervalContext=e.ErrorCapturingUnitToUnitIntervalContext=void 0,e.NonReservedContext=e.StrictNonReservedContext=e.AnsiNonReservedContext=e.VersionContext=e.CommentContext=e.StringLitContext=e.AlterColumnActionContext=e.BigDecimalLiteralContext=e.FloatLiteralContext=e.DoubleLiteralContext=e.TinyIntLiteralContext=e.SmallIntLiteralContext=e.BigIntLiteralContext=void 0;const o=r(88),a=r(182),E=r(216),h=r(200),l=r(180),u=r(201),c=r(198),T=r(168),R=r(77),p=r(153),S=s(r(145));class A extends l.Parser{constructor(t){super(t),this.legacy_setops_precedence_enabled=!1,this.legacy_exponent_literal_as_decimal_enabled=!1,this.SQL_standard_keyword_behavior=!1,this.double_quoted_identifiers=!1,this._interp=new c.ParserATNSimulator(A._ATN,this)}get vocabulary(){return A.VOCABULARY}get grammarFileName(){return"SparkSqlParser.g4"}get ruleNames(){return A.ruleNames}get serializedATN(){return A._serializedATN}createFailedPredicateException(t,e){return new E.FailedPredicateException(this,t,e)}program(){let t=new d(this._ctx,this.state);this.enterRule(t,0,A.RULE_program);try{switch(this.state=386,this._errHandler.sync(this),this._input.LA(1)){case A.LEFT_PAREN:case A.ADD:case A.ALTER:case A.ANALYZE:case A.CACHE:case A.CLEAR:case A.COMMENT:case A.COMMIT:case A.CREATE:case A.DELETE:case A.DESC:case A.DESCRIBE:case A.DFS:case A.DROP:case A.EXPLAIN:case A.EXPORT:case A.FROM:case A.GRANT:case A.IMPORT:case A.INSERT:case A.LIST:case A.LOAD:case A.LOCK:case A.MAP:case A.MERGE:case A.MSCK:case A.REDUCE:case A.REFRESH:case A.REPAIR:case A.REPLACE:case A.RESET:case A.REVOKE:case A.ROLLBACK:case A.SELECT:case A.SET:case A.SHOW:case A.START:case A.TABLE:case A.TRUNCATE:case A.UNCACHE:case A.UNLOCK:case A.UPDATE:case A.USE:case A.VALUES:case A.WITH:this.enterOuterAlt(t,1),this.state=382,this.statements(),this.state=383,this.match(A.EOF);break;case A.EOF:this.enterOuterAlt(t,2),this.state=385,this.match(A.EOF);break;default:throw new h.NoViableAltException(this)}}catch(e){if(!(e instanceof T.RecognitionException))throw e;t.exception=e,this._errHandler.reportError(this,e),this._errHandler.recover(this,e)}finally{this.exitRule()}return t}statements(){let t,e=new N(this._ctx,this.state);this.enterRule(e,2,A.RULE_statements);try{let r;for(this.enterOuterAlt(e,1),this.state=388,this.statementForFolding(),this.state=398,this._errHandler.sync(this),r=this.interpreter.adaptivePredict(this._input,2,this._ctx);2!==r&&r!==o.ATN.INVALID_ALT_NUMBER;){if(1===r){this.state=390,this._errHandler.sync(this),t=this._input.LA(1);do{this.state=389,this.statementEnd(),this.state=392,this._errHandler.sync(this),t=this._input.LA(1)}while(t===A.SEMICOLON);this.state=394,this.statementForFolding()}this.state=400,this._errHandler.sync(this),r=this.interpreter.adaptivePredict(this._input,2,this._ctx)}for(this.state=404,this._errHandler.sync(this),t=this._input.LA(1);t===A.SEMICOLON;)this.state=401,this.statementEnd(),this.state=406,this._errHandler.sync(this),t=this._input.LA(1)}catch(t){if(!(t instanceof T.RecognitionException))throw t;e.exception=t,this._errHandler.reportError(this,t),this._errHandler.recover(this,t)}finally{this.exitRule()}return e}statementEnd(){let t=new O(this._ctx,this.state);this.enterRule(t,4,A.RULE_statementEnd);try{this.enterOuterAlt(t,1),this.state=407,this.match(A.SEMICOLON)}catch(e){if(!(e instanceof T.RecognitionException))throw e;t.exception=e,this._errHandler.reportError(this,e),this._errHandler.recover(this,e)}finally{this.exitRule()}return t}singleStatement(){let t,e=new C(this._ctx,this.state);this.enterRule(e,6,A.RULE_singleStatement);try{for(this.enterOuterAlt(e,1),this.state=409,this.statement(),this.state=413,this._errHandler.sync(this),t=this._input.LA(1);t===A.SEMICOLON;)this.state=410,this.match(A.SEMICOLON),this.state=415,this._errHandler.sync(this),t=this._input.LA(1);this.state=416,this.match(A.EOF)}catch(t){if(!(t instanceof T.RecognitionException))throw t;e.exception=t,this._errHandler.reportError(this,t),this._errHandler.recover(this,t)}finally{this.exitRule()}return e}singleExpression(){let t=new _(this._ctx,this.state);this.enterRule(t,8,A.RULE_singleExpression);try{this.enterOuterAlt(t,1),this.state=418,this.namedExpression(),this.state=419,this.match(A.EOF)}catch(e){if(!(e instanceof T.RecognitionException))throw e;t.exception=e,this._errHandler.reportError(this,e),this._errHandler.recover(this,e)}finally{this.exitRule()}return t}singleTableIdentifier(){let t=new I(this._ctx,this.state);this.enterRule(t,10,A.RULE_singleTableIdentifier);try{this.enterOuterAlt(t,1),this.state=421,this.tableIdentifier(),this.state=422,this.match(A.EOF)}catch(e){if(!(e instanceof T.RecognitionException))throw e;t.exception=e,this._errHandler.reportError(this,e),this._errHandler.recover(this,e)}finally{this.exitRule()}return t}singleMultipartIdentifier(){let t=new L(this._ctx,this.state);this.enterRule(t,12,A.RULE_singleMultipartIdentifier);try{this.enterOuterAlt(t,1),this.state=424,this.multipartIdentifier(),this.state=425,this.match(A.EOF)}catch(e){if(!(e instanceof T.RecognitionException))throw e;t.exception=e,this._errHandler.reportError(this,e),this._errHandler.recover(this,e)}finally{this.exitRule()}return t}singleFunctionIdentifier(){let t=new f(this._ctx,this.state);this.enterRule(t,14,A.RULE_singleFunctionIdentifier);try{this.enterOuterAlt(t,1),this.state=427,this.functionIdentifier(),this.state=428,this.match(A.EOF)}catch(e){if(!(e instanceof T.RecognitionException))throw e;t.exception=e,this._errHandler.reportError(this,e),this._errHandler.recover(this,e)}finally{this.exitRule()}return t}singleDataType(){let t=new m(this._ctx,this.state);this.enterRule(t,16,A.RULE_singleDataType);try{this.enterOuterAlt(t,1),this.state=430,this.dataType(),this.state=431,this.match(A.EOF)}catch(e){if(!(e instanceof T.RecognitionException))throw e;t.exception=e,this._errHandler.reportError(this,e),this._errHandler.recover(this,e)}finally{this.exitRule()}return t}singleTableSchema(){let t=new y(this._ctx,this.state);this.enterRule(t,18,A.RULE_singleTableSchema);try{this.enterOuterAlt(t,1),this.state=433,this.colTypeList(),this.state=434,this.match(A.EOF)}catch(e){if(!(e instanceof T.RecognitionException))throw e;t.exception=e,this._errHandler.reportError(this,e),this._errHandler.recover(this,e)}finally{this.exitRule()}return t}statementForFolding(){let t=new x(this._ctx,this.state);this.enterRule(t,20,A.RULE_statementForFolding);try{this.enterOuterAlt(t,1),this.state=436,this.statement()}catch(e){if(!(e instanceof T.RecognitionException))throw e;t.exception=e,this._errHandler.reportError(this,e),this._errHandler.recover(this,e)}finally{this.exitRule()}return t}statement(){let t,e=new g(this._ctx,this.state);this.enterRule(e,22,A.RULE_statement);try{let r;switch(this.state=1241,this._errHandler.sync(this),this.interpreter.adaptivePredict(this._input,125,this._ctx)){case 1:e=new P(e),this.enterOuterAlt(e,1),this.state=438,this.query();break;case 2:e=new D(e),this.enterOuterAlt(e,2),this.state=440,this._errHandler.sync(this),t=this._input.LA(1),t===A.WITH&&(this.state=439,this.ctes()),this.state=442,this.dmlStatementNoWith();break;case 3:e=new M(e),this.enterOuterAlt(e,3),this.state=443,this.match(A.USE),this.state=444,this.identifierReference();break;case 4:e=new v(e),this.enterOuterAlt(e,4),this.state=445,this.match(A.USE),this.state=446,this.namespace(),this.state=447,this.identifierReference();break;case 5:switch(e=new U(e),this.enterOuterAlt(e,5),this.state=449,this.match(A.SET),this.state=450,this.match(A.CATALOG),this.state=453,this._errHandler.sync(this),this.interpreter.adaptivePredict(this._input,6,this._ctx)){case 1:this.state=451,this.identifier();break;case 2:this.state=452,this.stringLit()}break;case 6:if(e=new k(e),this.enterOuterAlt(e,6),this.state=455,this.match(A.CREATE),this.state=456,this.namespace(),this.state=460,this._errHandler.sync(this),1===this.interpreter.adaptivePredict(this._input,7,this._ctx))this.state=457,this.match(A.IF),this.state=458,this.match(A.NOT),this.state=459,this.match(A.EXISTS);for(this.state=462,this.identifierReference(),this.state=470,this._errHandler.sync(this),t=this._input.LA(1);t===A.COMMENT||t===A.LOCATION||t===A.WITH;){switch(this.state=468,this._errHandler.sync(this),this._input.LA(1)){case A.COMMENT:this.state=463,this.commentSpec();break;case A.LOCATION:this.state=464,this.locationSpec();break;case A.WITH:this.state=465,this.match(A.WITH),this.state=466,t=this._input.LA(1),t!==A.DBPROPERTIES&&t!==A.PROPERTIES?this._errHandler.recoverInline(this):(this._input.LA(1)===R.Token.EOF&&(this.matchedEOF=!0),this._errHandler.reportMatch(this),this.consume()),this.state=467,this.propertyList();break;default:throw new h.NoViableAltException(this)}this.state=472,this._errHandler.sync(this),t=this._input.LA(1)}break;case 7:e=new b(e),this.enterOuterAlt(e,7),this.state=473,this.match(A.ALTER),this.state=474,this.namespace(),this.state=475,this.identifierReference(),this.state=476,this.match(A.SET),this.state=477,t=this._input.LA(1),t!==A.DBPROPERTIES&&t!==A.PROPERTIES?this._errHandler.recoverInline(this):(this._input.LA(1)===R.Token.EOF&&(this.matchedEOF=!0),this._errHandler.reportMatch(this),this.consume()),this.state=478,this.propertyList();break;case 8:e=new G(e),this.enterOuterAlt(e,8),this.state=480,this.match(A.ALTER),this.state=481,this.namespace(),this.state=482,this.identifierReference(),this.state=483,this.match(A.SET),this.state=484,this.locationSpec();break;case 9:if(e=new F(e),this.enterOuterAlt(e,9),this.state=486,this.match(A.DROP),this.state=487,this.namespace(),this.state=490,this._errHandler.sync(this),1===this.interpreter.adaptivePredict(this._input,10,this._ctx))this.state=488,this.match(A.IF),this.state=489,this.match(A.EXISTS);this.state=492,this.identifierReference(),this.state=494,this._errHandler.sync(this),t=this._input.LA(1),t!==A.CASCADE&&t!==A.RESTRICT||(this.state=493,t=this._input.LA(1),t!==A.CASCADE&&t!==A.RESTRICT?this._errHandler.recoverInline(this):(this._input.LA(1)===R.Token.EOF&&(this.matchedEOF=!0),this._errHandler.reportMatch(this),this.consume()));break;case 10:if(e=new H(e),this.enterOuterAlt(e,10),this.state=496,this.match(A.SHOW),this.state=497,this.namespaces(),this.state=500,this._errHandler.sync(this),1===this.interpreter.adaptivePredict(this._input,12,this._ctx))this.state=498,t=this._input.LA(1),t!==A.FROM&&t!==A.IN?this._errHandler.recoverInline(this):(this._input.LA(1)===R.Token.EOF&&(this.matchedEOF=!0),this._errHandler.reportMatch(this),this.consume()),this.state=499,this.multipartIdentifier();if(this.state=506,this._errHandler.sync(this),1===this.interpreter.adaptivePredict(this._input,14,this._ctx)){if(this.state=503,this._errHandler.sync(this),1===this.interpreter.adaptivePredict(this._input,13,this._ctx))this.state=502,this.match(A.LIKE);this.state=505,e._pattern=this.stringLit()}break;case 11:if(e=new w(e),this.enterOuterAlt(e,11),this.state=508,this.createTableHeader(),this.state=513,this._errHandler.sync(this),1===this.interpreter.adaptivePredict(this._input,15,this._ctx))this.state=509,this.match(A.LEFT_PAREN),this.state=510,this.createOrReplaceTableColTypeList(),this.state=511,this.match(A.RIGHT_PAREN);this.state=516,this._errHandler.sync(this),t=this._input.LA(1),t===A.USING&&(this.state=515,this.tableProvider()),this.state=518,this.createTableClauses(),this.state=523,this._errHandler.sync(this),t=this._input.LA(1),t!==A.LEFT_PAREN&&t!==A.AS&&t!==A.FROM&&t!==A.MAP&&t!==A.REDUCE&&t!==A.SELECT&&t!==A.TABLE&&t!==A.VALUES&&t!==A.WITH||(this.state=520,this._errHandler.sync(this),t=this._input.LA(1),t===A.AS&&(this.state=519,this.match(A.AS)),this.state=522,this.query());break;case 12:if(e=new B(e),this.enterOuterAlt(e,12),this.state=525,this.match(A.CREATE),this.state=526,this.match(A.TABLE),this.state=530,this._errHandler.sync(this),1===this.interpreter.adaptivePredict(this._input,19,this._ctx))this.state=527,this.match(A.IF),this.state=528,this.match(A.NOT),this.state=529,this.match(A.EXISTS);for(this.state=532,e._target=this.tableIdentifier(),this.state=533,this.match(A.LIKE),this.state=534,e._source=this.tableIdentifier(),this.state=543,this._errHandler.sync(this),t=this._input.LA(1);t===A.LOCATION||t===A.ROW||t===A.STORED||t===A.TBLPROPERTIES||t===A.USING;){switch(this.state=541,this._errHandler.sync(this),this._input.LA(1)){case A.USING:this.state=535,this.tableProvider();break;case A.ROW:this.state=536,this.rowFormat();break;case A.STORED:this.state=537,this.createFileFormat();break;case A.LOCATION:this.state=538,this.locationSpec();break;case A.TBLPROPERTIES:this.state=539,this.match(A.TBLPROPERTIES),this.state=540,e._tableProps=this.propertyList();break;default:throw new h.NoViableAltException(this)}this.state=545,this._errHandler.sync(this),t=this._input.LA(1)}break;case 13:if(e=new V(e),this.enterOuterAlt(e,13),this.state=546,this.replaceTableHeader(),this.state=551,this._errHandler.sync(this),1===this.interpreter.adaptivePredict(this._input,22,this._ctx))this.state=547,this.match(A.LEFT_PAREN),this.state=548,this.createOrReplaceTableColTypeList(),this.state=549,this.match(A.RIGHT_PAREN);this.state=554,this._errHandler.sync(this),t=this._input.LA(1),t===A.USING&&(this.state=553,this.tableProvider()),this.state=556,this.createTableClauses(),this.state=561,this._errHandler.sync(this),t=this._input.LA(1),t!==A.LEFT_PAREN&&t!==A.AS&&t!==A.FROM&&t!==A.MAP&&t!==A.REDUCE&&t!==A.SELECT&&t!==A.TABLE&&t!==A.VALUES&&t!==A.WITH||(this.state=558,this._errHandler.sync(this),t=this._input.LA(1),t===A.AS&&(this.state=557,this.match(A.AS)),this.state=560,this.query());break;case 14:switch(e=new Y(e),this.enterOuterAlt(e,14),this.state=563,this.match(A.ANALYZE),this.state=564,this.match(A.TABLE),this.state=565,this.identifierReference(),this.state=567,this._errHandler.sync(this),t=this._input.LA(1),t===A.PARTITION&&(this.state=566,this.partitionSpec()),this.state=569,this.match(A.COMPUTE),this.state=570,this.match(A.STATISTICS),this.state=578,this._errHandler.sync(this),this.interpreter.adaptivePredict(this._input,27,this._ctx)){case 1:this.state=571,this.identifier();break;case 2:this.state=572,this.match(A.FOR),this.state=573,this.match(A.COLUMNS),this.state=574,this.identifierSeq();break;case 3:this.state=575,this.match(A.FOR),this.state=576,this.match(A.ALL),this.state=577,this.match(A.COLUMNS)}break;case 15:if(e=new W(e),this.enterOuterAlt(e,15),this.state=580,this.match(A.ANALYZE),this.state=581,this.match(A.TABLES),this.state=584,this._errHandler.sync(this),t=this._input.LA(1),t!==A.FROM&&t!==A.IN||(this.state=582,t=this._input.LA(1),t!==A.FROM&&t!==A.IN?this._errHandler.recoverInline(this):(this._input.LA(1)===R.Token.EOF&&(this.matchedEOF=!0),this._errHandler.reportMatch(this),this.consume()),this.state=583,this.identifierReference()),this.state=586,this.match(A.COMPUTE),this.state=587,this.match(A.STATISTICS),this.state=589,this._errHandler.sync(this),1===this.interpreter.adaptivePredict(this._input,29,this._ctx))this.state=588,this.identifier();break;case 16:e=new K(e),this.enterOuterAlt(e,16),this.state=591,this.match(A.ALTER),this.state=592,this.match(A.TABLE),this.state=593,this.identifierReference(),this.state=594,this.match(A.ADD),this.state=595,t=this._input.LA(1),t!==A.COLUMN&&t!==A.COLUMNS?this._errHandler.recoverInline(this):(this._input.LA(1)===R.Token.EOF&&(this.matchedEOF=!0),this._errHandler.reportMatch(this),this.consume()),this.state=596,e._columns=this.qualifiedColTypeWithPositionList();break;case 17:e=new K(e),this.enterOuterAlt(e,17),this.state=598,this.match(A.ALTER),this.state=599,this.match(A.TABLE),this.state=600,this.identifierReference(),this.state=601,this.match(A.ADD),this.state=602,t=this._input.LA(1),t!==A.COLUMN&&t!==A.COLUMNS?this._errHandler.recoverInline(this):(this._input.LA(1)===R.Token.EOF&&(this.matchedEOF=!0),this._errHandler.reportMatch(this),this.consume()),this.state=603,this.match(A.LEFT_PAREN),this.state=604,e._columns=this.qualifiedColTypeWithPositionList(),this.state=605,this.match(A.RIGHT_PAREN);break;case 18:e=new X(e),this.enterOuterAlt(e,18),this.state=607,this.match(A.ALTER),this.state=608,this.match(A.TABLE),this.state=609,e._table=this.identifierReference(),this.state=610,this.match(A.RENAME),this.state=611,this.match(A.COLUMN),this.state=612,e._from=this.multipartIdentifier(),this.state=613,this.match(A.TO),this.state=614,e._to=this.errorCapturingIdentifier();break;case 19:e=new q(e),this.enterOuterAlt(e,19),this.state=616,this.match(A.ALTER),this.state=617,this.match(A.TABLE),this.state=618,this.identifierReference(),this.state=619,this.match(A.DROP),this.state=620,t=this._input.LA(1),t!==A.COLUMN&&t!==A.COLUMNS?this._errHandler.recoverInline(this):(this._input.LA(1)===R.Token.EOF&&(this.matchedEOF=!0),this._errHandler.reportMatch(this),this.consume()),this.state=623,this._errHandler.sync(this),t=this._input.LA(1),t===A.IF&&(this.state=621,this.match(A.IF),this.state=622,this.match(A.EXISTS)),this.state=625,this.match(A.LEFT_PAREN),this.state=626,e._columns=this.multipartIdentifierList(),this.state=627,this.match(A.RIGHT_PAREN);break;case 20:if(e=new q(e),this.enterOuterAlt(e,20),this.state=629,this.match(A.ALTER),this.state=630,this.match(A.TABLE),this.state=631,this.identifierReference(),this.state=632,this.match(A.DROP),this.state=633,t=this._input.LA(1),t!==A.COLUMN&&t!==A.COLUMNS?this._errHandler.recoverInline(this):(this._input.LA(1)===R.Token.EOF&&(this.matchedEOF=!0),this._errHandler.reportMatch(this),this.consume()),this.state=636,this._errHandler.sync(this),1===this.interpreter.adaptivePredict(this._input,31,this._ctx))this.state=634,this.match(A.IF),this.state=635,this.match(A.EXISTS);this.state=638,e._columns=this.multipartIdentifierList();break;case 21:e=new j(e),this.enterOuterAlt(e,21),this.state=640,this.match(A.ALTER),this.state=641,t=this._input.LA(1),t!==A.TABLE&&t!==A.VIEW?this._errHandler.recoverInline(this):(this._input.LA(1)===R.Token.EOF&&(this.matchedEOF=!0),this._errHandler.reportMatch(this),this.consume()),this.state=642,e._from=this.identifierReference(),this.state=643,this.match(A.RENAME),this.state=644,this.match(A.TO),this.state=645,e._to=this.multipartIdentifier();break;case 22:e=new Q(e),this.enterOuterAlt(e,22),this.state=647,this.match(A.ALTER),this.state=648,t=this._input.LA(1),t!==A.TABLE&&t!==A.VIEW?this._errHandler.recoverInline(this):(this._input.LA(1)===R.Token.EOF&&(this.matchedEOF=!0),this._errHandler.reportMatch(this),this.consume()),this.state=649,this.identifierReference(),this.state=650,this.match(A.SET),this.state=651,this.match(A.TBLPROPERTIES),this.state=652,this.propertyList();break;case 23:e=new z(e),this.enterOuterAlt(e,23),this.state=654,this.match(A.ALTER),this.state=655,t=this._input.LA(1),t!==A.TABLE&&t!==A.VIEW?this._errHandler.recoverInline(this):(this._input.LA(1)===R.Token.EOF&&(this.matchedEOF=!0),this._errHandler.reportMatch(this),this.consume()),this.state=656,this.identifierReference(),this.state=657,this.match(A.UNSET),this.state=658,this.match(A.TBLPROPERTIES),this.state=661,this._errHandler.sync(this),t=this._input.LA(1),t===A.IF&&(this.state=659,this.match(A.IF),this.state=660,this.match(A.EXISTS)),this.state=663,this.propertyList();break;case 24:if(e=new $(e),this.enterOuterAlt(e,24),this.state=665,this.match(A.ALTER),this.state=666,this.match(A.TABLE),this.state=667,e._table=this.identifierReference(),this.state=668,t=this._input.LA(1),t!==A.ALTER&&t!==A.CHANGE?this._errHandler.recoverInline(this):(this._input.LA(1)===R.Token.EOF&&(this.matchedEOF=!0),this._errHandler.reportMatch(this),this.consume()),this.state=670,this._errHandler.sync(this),1===this.interpreter.adaptivePredict(this._input,33,this._ctx))this.state=669,this.match(A.COLUMN);this.state=672,e._column=this.multipartIdentifier(),this.state=674,this._errHandler.sync(this),t=this._input.LA(1),t!==A.AFTER&&t!==A.COMMENT&&t!==A.DROP&&t!==A.FIRST&&t!==A.SET&&t!==A.TYPE||(this.state=673,this.alterColumnAction());break;case 25:if(e=new J(e),this.enterOuterAlt(e,25),this.state=676,this.match(A.ALTER),this.state=677,this.match(A.TABLE),this.state=678,e._table=this.identifierReference(),this.state=680,this._errHandler.sync(this),t=this._input.LA(1),t===A.PARTITION&&(this.state=679,this.partitionSpec()),this.state=682,this.match(A.CHANGE),this.state=684,this._errHandler.sync(this),1===this.interpreter.adaptivePredict(this._input,36,this._ctx))this.state=683,this.match(A.COLUMN);this.state=686,e._colName=this.multipartIdentifier(),this.state=687,this.colType(),this.state=689,this._errHandler.sync(this),t=this._input.LA(1),t!==A.AFTER&&t!==A.FIRST||(this.state=688,this.colPosition());break;case 26:e=new Z(e),this.enterOuterAlt(e,26),this.state=691,this.match(A.ALTER),this.state=692,this.match(A.TABLE),this.state=693,e._table=this.identifierReference(),this.state=695,this._errHandler.sync(this),t=this._input.LA(1),t===A.PARTITION&&(this.state=694,this.partitionSpec()),this.state=697,this.match(A.REPLACE),this.state=698,this.match(A.COLUMNS),this.state=699,this.match(A.LEFT_PAREN),this.state=700,e._columns=this.qualifiedColTypeWithPositionList(),this.state=701,this.match(A.RIGHT_PAREN);break;case 27:e=new tt(e),this.enterOuterAlt(e,27),this.state=703,this.match(A.ALTER),this.state=704,this.match(A.TABLE),this.state=705,this.identifierReference(),this.state=707,this._errHandler.sync(this),t=this._input.LA(1),t===A.PARTITION&&(this.state=706,this.partitionSpec()),this.state=709,this.match(A.SET),this.state=710,this.match(A.SERDE),this.state=711,this.stringLit(),this.state=715,this._errHandler.sync(this),t=this._input.LA(1),t===A.WITH&&(this.state=712,this.match(A.WITH),this.state=713,this.match(A.SERDEPROPERTIES),this.state=714,this.propertyList());break;case 28:e=new tt(e),this.enterOuterAlt(e,28),this.state=717,this.match(A.ALTER),this.state=718,this.match(A.TABLE),this.state=719,this.identifierReference(),this.state=721,this._errHandler.sync(this),t=this._input.LA(1),t===A.PARTITION&&(this.state=720,this.partitionSpec()),this.state=723,this.match(A.SET),this.state=724,this.match(A.SERDEPROPERTIES),this.state=725,this.propertyList();break;case 29:e=new et(e),this.enterOuterAlt(e,29),this.state=727,this.match(A.ALTER),this.state=728,t=this._input.LA(1),t!==A.TABLE&&t!==A.VIEW?this._errHandler.recoverInline(this):(this._input.LA(1)===R.Token.EOF&&(this.matchedEOF=!0),this._errHandler.reportMatch(this),this.consume()),this.state=729,this.identifierReference(),this.state=730,this.match(A.ADD),this.state=734,this._errHandler.sync(this),t=this._input.LA(1),t===A.IF&&(this.state=731,this.match(A.IF),this.state=732,this.match(A.NOT),this.state=733,this.match(A.EXISTS)),this.state=737,this._errHandler.sync(this),t=this._input.LA(1);do{this.state=736,this.partitionSpecLocation(),this.state=739,this._errHandler.sync(this),t=this._input.LA(1)}while(t===A.PARTITION);break;case 30:e=new rt(e),this.enterOuterAlt(e,30),this.state=741,this.match(A.ALTER),this.state=742,this.match(A.TABLE),this.state=743,this.identifierReference(),this.state=744,e._from=this.partitionSpec(),this.state=745,this.match(A.RENAME),this.state=746,this.match(A.TO),this.state=747,e._to=this.partitionSpec();break;case 31:for(e=new it(e),this.enterOuterAlt(e,31),this.state=749,this.match(A.ALTER),this.state=750,t=this._input.LA(1),t!==A.TABLE&&t!==A.VIEW?this._errHandler.recoverInline(this):(this._input.LA(1)===R.Token.EOF&&(this.matchedEOF=!0),this._errHandler.reportMatch(this),this.consume()),this.state=751,this.identifierReference(),this.state=752,this.match(A.DROP),this.state=755,this._errHandler.sync(this),t=this._input.LA(1),t===A.IF&&(this.state=753,this.match(A.IF),this.state=754,this.match(A.EXISTS)),this.state=757,this.partitionSpec(),this.state=762,this._errHandler.sync(this),t=this._input.LA(1);t===A.COMMA;)this.state=758,this.match(A.COMMA),this.state=759,this.partitionSpec(),this.state=764,this._errHandler.sync(this),t=this._input.LA(1);this.state=766,this._errHandler.sync(this),t=this._input.LA(1),t===A.PURGE&&(this.state=765,this.match(A.PURGE));break;case 32:e=new nt(e),this.enterOuterAlt(e,32),this.state=768,this.match(A.ALTER),this.state=769,this.match(A.TABLE),this.state=770,this.identifierReference(),this.state=772,this._errHandler.sync(this),t=this._input.LA(1),t===A.PARTITION&&(this.state=771,this.partitionSpec()),this.state=774,this.match(A.SET),this.state=775,this.locationSpec();break;case 33:e=new st(e),this.enterOuterAlt(e,33),this.state=777,this.match(A.ALTER),this.state=778,this.match(A.TABLE),this.state=779,this.identifierReference(),this.state=780,this.match(A.RECOVER),this.state=781,this.match(A.PARTITIONS);break;case 34:if(e=new ot(e),this.enterOuterAlt(e,34),this.state=783,this.match(A.DROP),this.state=784,this.match(A.TABLE),this.state=787,this._errHandler.sync(this),1===this.interpreter.adaptivePredict(this._input,48,this._ctx))this.state=785,this.match(A.IF),this.state=786,this.match(A.EXISTS);this.state=789,this.identifierReference(),this.state=791,this._errHandler.sync(this),t=this._input.LA(1),t===A.PURGE&&(this.state=790,this.match(A.PURGE));break;case 35:if(e=new at(e),this.enterOuterAlt(e,35),this.state=793,this.match(A.DROP),this.state=794,this.match(A.VIEW),this.state=797,this._errHandler.sync(this),1===this.interpreter.adaptivePredict(this._input,50,this._ctx))this.state=795,this.match(A.IF),this.state=796,this.match(A.EXISTS);this.state=799,this.identifierReference();break;case 36:if(e=new Et(e),this.enterOuterAlt(e,36),this.state=800,this.match(A.CREATE),this.state=803,this._errHandler.sync(this),t=this._input.LA(1),t===A.OR&&(this.state=801,this.match(A.OR),this.state=802,this.match(A.REPLACE)),this.state=809,this._errHandler.sync(this),t=this._input.LA(1),t!==A.GLOBAL&&t!==A.TEMPORARY||(this.state=806,this._errHandler.sync(this),t=this._input.LA(1),t===A.GLOBAL&&(this.state=805,this.match(A.GLOBAL)),this.state=808,this.match(A.TEMPORARY)),this.state=811,this.match(A.VIEW),this.state=815,this._errHandler.sync(this),1===this.interpreter.adaptivePredict(this._input,54,this._ctx))this.state=812,this.match(A.IF),this.state=813,this.match(A.NOT),this.state=814,this.match(A.EXISTS);for(this.state=817,this.identifierReference(),this.state=819,this._errHandler.sync(this),t=this._input.LA(1),t===A.LEFT_PAREN&&(this.state=818,this.identifierCommentList()),this.state=829,this._errHandler.sync(this),t=this._input.LA(1);t===A.COMMENT||t===A.PARTITIONED||t===A.TBLPROPERTIES;){switch(this.state=827,this._errHandler.sync(this),this._input.LA(1)){case A.COMMENT:this.state=821,this.commentSpec();break;case A.PARTITIONED:this.state=822,this.match(A.PARTITIONED),this.state=823,this.match(A.ON),this.state=824,this.identifierList();break;case A.TBLPROPERTIES:this.state=825,this.match(A.TBLPROPERTIES),this.state=826,this.propertyList();break;default:throw new h.NoViableAltException(this)}this.state=831,this._errHandler.sync(this),t=this._input.LA(1)}this.state=832,this.match(A.AS),this.state=833,this.query();break;case 37:e=new ht(e),this.enterOuterAlt(e,37),this.state=835,this.match(A.CREATE),this.state=838,this._errHandler.sync(this),t=this._input.LA(1),t===A.OR&&(this.state=836,this.match(A.OR),this.state=837,this.match(A.REPLACE)),this.state=841,this._errHandler.sync(this),t=this._input.LA(1),t===A.GLOBAL&&(this.state=840,this.match(A.GLOBAL)),this.state=843,this.match(A.TEMPORARY),this.state=844,this.match(A.VIEW),this.state=845,this.tableIdentifier(),this.state=850,this._errHandler.sync(this),t=this._input.LA(1),t===A.LEFT_PAREN&&(this.state=846,this.match(A.LEFT_PAREN),this.state=847,this.colTypeList(),this.state=848,this.match(A.RIGHT_PAREN)),this.state=852,this.tableProvider(),this.state=855,this._errHandler.sync(this),t=this._input.LA(1),t===A.OPTIONS&&(this.state=853,this.match(A.OPTIONS),this.state=854,this.propertyList());break;case 38:e=new lt(e),this.enterOuterAlt(e,38),this.state=857,this.match(A.ALTER),this.state=858,this.match(A.VIEW),this.state=859,this.identifierReference(),this.state=861,this._errHandler.sync(this),t=this._input.LA(1),t===A.AS&&(this.state=860,this.match(A.AS)),this.state=863,this.query();break;case 39:if(e=new ut(e),this.enterOuterAlt(e,39),this.state=865,this.match(A.CREATE),this.state=868,this._errHandler.sync(this),t=this._input.LA(1),t===A.OR&&(this.state=866,this.match(A.OR),this.state=867,this.match(A.REPLACE)),this.state=871,this._errHandler.sync(this),t=this._input.LA(1),t===A.TEMPORARY&&(this.state=870,this.match(A.TEMPORARY)),this.state=873,this.match(A.FUNCTION),this.state=877,this._errHandler.sync(this),1===this.interpreter.adaptivePredict(this._input,65,this._ctx))this.state=874,this.match(A.IF),this.state=875,this.match(A.NOT),this.state=876,this.match(A.EXISTS);if(this.state=879,this.identifierReference(),this.state=880,this.match(A.AS),this.state=881,e._className=this.stringLit(),this.state=891,this._errHandler.sync(this),t=this._input.LA(1),t===A.USING)for(this.state=882,this.match(A.USING),this.state=883,this.resource(),this.state=888,this._errHandler.sync(this),t=this._input.LA(1);t===A.COMMA;)this.state=884,this.match(A.COMMA),this.state=885,this.resource(),this.state=890,this._errHandler.sync(this),t=this._input.LA(1);break;case 40:if(e=new ct(e),this.enterOuterAlt(e,40),this.state=893,this.match(A.DROP),this.state=895,this._errHandler.sync(this),t=this._input.LA(1),t===A.TEMPORARY&&(this.state=894,this.match(A.TEMPORARY)),this.state=897,this.match(A.FUNCTION),this.state=900,this._errHandler.sync(this),1===this.interpreter.adaptivePredict(this._input,69,this._ctx))this.state=898,this.match(A.IF),this.state=899,this.match(A.EXISTS);this.state=902,this.identifierReference();break;case 41:e=new Tt(e),this.enterOuterAlt(e,41),this.state=903,this.match(A.EXPLAIN),this.state=905,this._errHandler.sync(this),t=this._input.LA(1),t!==A.CODEGEN&&t!==A.COST&&t!==A.EXTENDED&&t!==A.FORMATTED&&t!==A.LOGICAL||(this.state=904,t=this._input.LA(1),t!==A.CODEGEN&&t!==A.COST&&t!==A.EXTENDED&&t!==A.FORMATTED&&t!==A.LOGICAL?this._errHandler.recoverInline(this):(this._input.LA(1)===R.Token.EOF&&(this.matchedEOF=!0),this._errHandler.reportMatch(this),this.consume())),this.state=907,this.statement();break;case 42:if(e=new Rt(e),this.enterOuterAlt(e,42),this.state=908,this.match(A.SHOW),this.state=909,this.match(A.TABLES),this.state=912,this._errHandler.sync(this),1===this.interpreter.adaptivePredict(this._input,71,this._ctx))this.state=910,t=this._input.LA(1),t!==A.FROM&&t!==A.IN?this._errHandler.recoverInline(this):(this._input.LA(1)===R.Token.EOF&&(this.matchedEOF=!0),this._errHandler.reportMatch(this),this.consume()),this.state=911,this.identifierReference();if(this.state=918,this._errHandler.sync(this),1===this.interpreter.adaptivePredict(this._input,73,this._ctx)){if(this.state=915,this._errHandler.sync(this),1===this.interpreter.adaptivePredict(this._input,72,this._ctx))this.state=914,this.match(A.LIKE);this.state=917,e._pattern=this.stringLit()}break;case 43:e=new pt(e),this.enterOuterAlt(e,43),this.state=920,this.match(A.SHOW),this.state=921,this.match(A.TABLE),this.state=922,this.match(A.EXTENDED),this.state=925,this._errHandler.sync(this),t=this._input.LA(1),t!==A.FROM&&t!==A.IN||(this.state=923,t=this._input.LA(1),t!==A.FROM&&t!==A.IN?this._errHandler.recoverInline(this):(this._input.LA(1)===R.Token.EOF&&(this.matchedEOF=!0),this._errHandler.reportMatch(this),this.consume()),this.state=924,e._ns=this.identifierReference()),this.state=927,this.match(A.LIKE),this.state=928,e._pattern=this.stringLit(),this.state=930,this._errHandler.sync(this),t=this._input.LA(1),t===A.PARTITION&&(this.state=929,this.partitionSpec());break;case 44:e=new St(e),this.enterOuterAlt(e,44),this.state=932,this.match(A.SHOW),this.state=933,this.match(A.TBLPROPERTIES),this.state=934,e._table=this.identifierReference(),this.state=939,this._errHandler.sync(this),t=this._input.LA(1),t===A.LEFT_PAREN&&(this.state=935,this.match(A.LEFT_PAREN),this.state=936,e._key=this.propertyKey(),this.state=937,this.match(A.RIGHT_PAREN));break;case 45:e=new At(e),this.enterOuterAlt(e,45),this.state=941,this.match(A.SHOW),this.state=942,this.match(A.COLUMNS),this.state=943,t=this._input.LA(1),t!==A.FROM&&t!==A.IN?this._errHandler.recoverInline(this):(this._input.LA(1)===R.Token.EOF&&(this.matchedEOF=!0),this._errHandler.reportMatch(this),this.consume()),this.state=944,e._table=this.identifierReference(),this.state=947,this._errHandler.sync(this),t=this._input.LA(1),t!==A.FROM&&t!==A.IN||(this.state=945,t=this._input.LA(1),t!==A.FROM&&t!==A.IN?this._errHandler.recoverInline(this):(this._input.LA(1)===R.Token.EOF&&(this.matchedEOF=!0),this._errHandler.reportMatch(this),this.consume()),this.state=946,e._ns=this.multipartIdentifier());break;case 46:if(e=new dt(e),this.enterOuterAlt(e,46),this.state=949,this.match(A.SHOW),this.state=950,this.match(A.VIEWS),this.state=953,this._errHandler.sync(this),1===this.interpreter.adaptivePredict(this._input,78,this._ctx))this.state=951,t=this._input.LA(1),t!==A.FROM&&t!==A.IN?this._errHandler.recoverInline(this):(this._input.LA(1)===R.Token.EOF&&(this.matchedEOF=!0),this._errHandler.reportMatch(this),this.consume()),this.state=952,this.identifierReference();if(this.state=959,this._errHandler.sync(this),1===this.interpreter.adaptivePredict(this._input,80,this._ctx)){if(this.state=956,this._errHandler.sync(this),1===this.interpreter.adaptivePredict(this._input,79,this._ctx))this.state=955,this.match(A.LIKE);this.state=958,e._pattern=this.stringLit()}break;case 47:e=new Nt(e),this.enterOuterAlt(e,47),this.state=961,this.match(A.SHOW),this.state=962,this.match(A.PARTITIONS),this.state=963,this.identifierReference(),this.state=965,this._errHandler.sync(this),t=this._input.LA(1),t===A.PARTITION&&(this.state=964,this.partitionSpec());break;case 48:if(e=new Ot(e),this.enterOuterAlt(e,48),this.state=967,this.match(A.SHOW),this.state=969,this._errHandler.sync(this),1===this.interpreter.adaptivePredict(this._input,82,this._ctx))this.state=968,this.identifier();if(this.state=971,this.match(A.FUNCTIONS),this.state=974,this._errHandler.sync(this),1===this.interpreter.adaptivePredict(this._input,83,this._ctx))this.state=972,t=this._input.LA(1),t!==A.FROM&&t!==A.IN?this._errHandler.recoverInline(this):(this._input.LA(1)===R.Token.EOF&&(this.matchedEOF=!0),this._errHandler.reportMatch(this),this.consume()),this.state=973,e._ns=this.identifierReference();if(this.state=983,this._errHandler.sync(this),1===this.interpreter.adaptivePredict(this._input,86,this._ctx)){if(this.state=977,this._errHandler.sync(this),1===this.interpreter.adaptivePredict(this._input,84,this._ctx))this.state=976,this.match(A.LIKE);switch(this.state=981,this._errHandler.sync(this),this.interpreter.adaptivePredict(this._input,85,this._ctx)){case 1:this.state=979,e._legacy=this.multipartIdentifier();break;case 2:this.state=980,e._pattern=this.stringLit()}}break;case 49:e=new Ct(e),this.enterOuterAlt(e,49),this.state=985,this.match(A.SHOW),this.state=986,this.match(A.CREATE),this.state=987,this.match(A.TABLE),this.state=988,this.identifierReference(),this.state=991,this._errHandler.sync(this),t=this._input.LA(1),t===A.AS&&(this.state=989,this.match(A.AS),this.state=990,this.match(A.SERDE));break;case 50:e=new _t(e),this.enterOuterAlt(e,50),this.state=993,this.match(A.SHOW),this.state=994,this.match(A.CURRENT),this.state=995,this.namespace();break;case 51:if(e=new It(e),this.enterOuterAlt(e,51),this.state=996,this.match(A.SHOW),this.state=997,this.match(A.CATALOGS),this.state=1002,this._errHandler.sync(this),1===this.interpreter.adaptivePredict(this._input,89,this._ctx)){if(this.state=999,this._errHandler.sync(this),1===this.interpreter.adaptivePredict(this._input,88,this._ctx))this.state=998,this.match(A.LIKE);this.state=1001,e._pattern=this.stringLit()}break;case 52:if(e=new Lt(e),this.enterOuterAlt(e,52),this.state=1004,t=this._input.LA(1),t!==A.DESC&&t!==A.DESCRIBE?this._errHandler.recoverInline(this):(this._input.LA(1)===R.Token.EOF&&(this.matchedEOF=!0),this._errHandler.reportMatch(this),this.consume()),this.state=1005,this.match(A.FUNCTION),this.state=1007,this._errHandler.sync(this),1===this.interpreter.adaptivePredict(this._input,90,this._ctx))this.state=1006,this.match(A.EXTENDED);this.state=1009,this.describeFuncName();break;case 53:if(e=new ft(e),this.enterOuterAlt(e,53),this.state=1010,t=this._input.LA(1),t!==A.DESC&&t!==A.DESCRIBE?this._errHandler.recoverInline(this):(this._input.LA(1)===R.Token.EOF&&(this.matchedEOF=!0),this._errHandler.reportMatch(this),this.consume()),this.state=1011,this.namespace(),this.state=1013,this._errHandler.sync(this),1===this.interpreter.adaptivePredict(this._input,91,this._ctx))this.state=1012,this.match(A.EXTENDED);this.state=1015,this.identifierReference();break;case 54:if(e=new mt(e),this.enterOuterAlt(e,54),this.state=1017,t=this._input.LA(1),t!==A.DESC&&t!==A.DESCRIBE?this._errHandler.recoverInline(this):(this._input.LA(1)===R.Token.EOF&&(this.matchedEOF=!0),this._errHandler.reportMatch(this),this.consume()),this.state=1019,this._errHandler.sync(this),1===this.interpreter.adaptivePredict(this._input,92,this._ctx))this.state=1018,this.match(A.TABLE);if(this.state=1022,this._errHandler.sync(this),1===this.interpreter.adaptivePredict(this._input,93,this._ctx))this.state=1021,e._option=this._input.LT(1),t=this._input.LA(1),t!==A.EXTENDED&&t!==A.FORMATTED?e._option=this._errHandler.recoverInline(this):(this._input.LA(1)===R.Token.EOF&&(this.matchedEOF=!0),this._errHandler.reportMatch(this),this.consume());if(this.state=1024,this.identifierReference(),this.state=1026,this._errHandler.sync(this),1===this.interpreter.adaptivePredict(this._input,94,this._ctx))this.state=1025,this.partitionSpec();if(this.state=1029,this._errHandler.sync(this),1===this.interpreter.adaptivePredict(this._input,95,this._ctx))this.state=1028,this.describeColName();break;case 55:e=new yt(e),this.enterOuterAlt(e,55),this.state=1031,t=this._input.LA(1),t!==A.DESC&&t!==A.DESCRIBE?this._errHandler.recoverInline(this):(this._input.LA(1)===R.Token.EOF&&(this.matchedEOF=!0),this._errHandler.reportMatch(this),this.consume()),this.state=1033,this._errHandler.sync(this),t=this._input.LA(1),t===A.QUERY&&(this.state=1032,this.match(A.QUERY)),this.state=1035,this.query();break;case 56:e=new xt(e),this.enterOuterAlt(e,56),this.state=1036,this.match(A.COMMENT),this.state=1037,this.match(A.ON),this.state=1038,this.namespace(),this.state=1039,this.identifierReference(),this.state=1040,this.match(A.IS),this.state=1041,this.comment();break;case 57:e=new gt(e),this.enterOuterAlt(e,57),this.state=1043,this.match(A.COMMENT),this.state=1044,this.match(A.ON),this.state=1045,this.match(A.TABLE),this.state=1046,this.identifierReference(),this.state=1047,this.match(A.IS),this.state=1048,this.comment();break;case 58:e=new Pt(e),this.enterOuterAlt(e,58),this.state=1050,this.match(A.REFRESH),this.state=1051,this.match(A.TABLE),this.state=1052,this.identifierReference();break;case 59:e=new Dt(e),this.enterOuterAlt(e,59),this.state=1053,this.match(A.REFRESH),this.state=1054,this.match(A.FUNCTION),this.state=1055,this.identifierReference();break;case 60:switch(e=new Mt(e),this.enterOuterAlt(e,60),this.state=1056,this.match(A.REFRESH),this.state=1064,this._errHandler.sync(this),this.interpreter.adaptivePredict(this._input,98,this._ctx)){case 1:this.state=1057,this.stringLit();break;case 2:for(this.state=1061,this._errHandler.sync(this),r=this.interpreter.adaptivePredict(this._input,97,this._ctx);1!==r&&r!==o.ATN.INVALID_ALT_NUMBER;)2===r&&(this.state=1058,this.matchWildcard()),this.state=1063,this._errHandler.sync(this),r=this.interpreter.adaptivePredict(this._input,97,this._ctx)}break;case 61:e=new vt(e),this.enterOuterAlt(e,61),this.state=1066,this.match(A.CACHE),this.state=1068,this._errHandler.sync(this),t=this._input.LA(1),t===A.LAZY&&(this.state=1067,this.match(A.LAZY)),this.state=1070,this.match(A.TABLE),this.state=1071,this.identifierReference(),this.state=1074,this._errHandler.sync(this),t=this._input.LA(1),t===A.OPTIONS&&(this.state=1072,this.match(A.OPTIONS),this.state=1073,e._options=this.propertyList()),this.state=1080,this._errHandler.sync(this),t=this._input.LA(1),t!==A.LEFT_PAREN&&t!==A.AS&&t!==A.FROM&&t!==A.MAP&&t!==A.REDUCE&&t!==A.SELECT&&t!==A.TABLE&&t!==A.VALUES&&t!==A.WITH||(this.state=1077,this._errHandler.sync(this),t=this._input.LA(1),t===A.AS&&(this.state=1076,this.match(A.AS)),this.state=1079,this.query());break;case 62:if(e=new Ut(e),this.enterOuterAlt(e,62),this.state=1082,this.match(A.UNCACHE),this.state=1083,this.match(A.TABLE),this.state=1086,this._errHandler.sync(this),1===this.interpreter.adaptivePredict(this._input,103,this._ctx))this.state=1084,this.match(A.IF),this.state=1085,this.match(A.EXISTS);this.state=1088,this.identifierReference();break;case 63:e=new kt(e),this.enterOuterAlt(e,63),this.state=1089,this.match(A.CLEAR),this.state=1090,this.match(A.CACHE);break;case 64:e=new bt(e),this.enterOuterAlt(e,64),this.state=1091,this.match(A.LOAD),this.state=1092,this.match(A.DATA),this.state=1094,this._errHandler.sync(this),t=this._input.LA(1),t===A.LOCAL&&(this.state=1093,this.match(A.LOCAL)),this.state=1096,this.match(A.INPATH),this.state=1097,e._path=this.stringLit(),this.state=1099,this._errHandler.sync(this),t=this._input.LA(1),t===A.OVERWRITE&&(this.state=1098,this.match(A.OVERWRITE)),this.state=1101,this.match(A.INTO),this.state=1102,this.match(A.TABLE),this.state=1103,this.identifierReference(),this.state=1105,this._errHandler.sync(this),t=this._input.LA(1),t===A.PARTITION&&(this.state=1104,this.partitionSpec());break;case 65:e=new Gt(e),this.enterOuterAlt(e,65),this.state=1107,this.match(A.TRUNCATE),this.state=1108,this.match(A.TABLE),this.state=1109,this.identifierReference(),this.state=1111,this._errHandler.sync(this),t=this._input.LA(1),t===A.PARTITION&&(this.state=1110,this.partitionSpec());break;case 66:e=new Ft(e),this.enterOuterAlt(e,66),this.state=1114,this._errHandler.sync(this),t=this._input.LA(1),t===A.MSCK&&(this.state=1113,this.match(A.MSCK)),this.state=1116,this.match(A.REPAIR),this.state=1117,this.match(A.TABLE),this.state=1118,this.identifierReference(),this.state=1121,this._errHandler.sync(this),t=this._input.LA(1),t!==A.ADD&&t!==A.DROP&&t!==A.SYNC||(this.state=1119,e._option=this._input.LT(1),t=this._input.LA(1),t!==A.ADD&&t!==A.DROP&&t!==A.SYNC?e._option=this._errHandler.recoverInline(this):(this._input.LA(1)===R.Token.EOF&&(this.matchedEOF=!0),this._errHandler.reportMatch(this),this.consume()),this.state=1120,this.match(A.PARTITIONS));break;case 67:for(e=new Ht(e),this.enterOuterAlt(e,67),this.state=1123,e._op=this._input.LT(1),t=this._input.LA(1),t!==A.ADD&&t!==A.LIST?e._op=this._errHandler.recoverInline(this):(this._input.LA(1)===R.Token.EOF&&(this.matchedEOF=!0),this._errHandler.reportMatch(this),this.consume()),this.state=1124,this.identifier(),this.state=1128,this._errHandler.sync(this),r=this.interpreter.adaptivePredict(this._input,110,this._ctx);1!==r&&r!==o.ATN.INVALID_ALT_NUMBER;)2===r&&(this.state=1125,this.matchWildcard()),this.state=1130,this._errHandler.sync(this),r=this.interpreter.adaptivePredict(this._input,110,this._ctx);break;case 68:for(e=new wt(e),this.enterOuterAlt(e,68),this.state=1131,this.match(A.SET),this.state=1132,this.match(A.ROLE),this.state=1136,this._errHandler.sync(this),r=this.interpreter.adaptivePredict(this._input,111,this._ctx);1!==r&&r!==o.ATN.INVALID_ALT_NUMBER;)2===r&&(this.state=1133,this.matchWildcard()),this.state=1138,this._errHandler.sync(this),r=this.interpreter.adaptivePredict(this._input,111,this._ctx);break;case 69:e=new Bt(e),this.enterOuterAlt(e,69),this.state=1139,this.match(A.SET),this.state=1140,this.match(A.TIME),this.state=1141,this.match(A.ZONE),this.state=1142,this.interval();break;case 70:e=new Bt(e),this.enterOuterAlt(e,70),this.state=1143,this.match(A.SET),this.state=1144,this.match(A.TIME),this.state=1145,this.match(A.ZONE),this.state=1146,this.timezone();break;case 71:for(e=new Bt(e),this.enterOuterAlt(e,71),this.state=1147,this.match(A.SET),this.state=1148,this.match(A.TIME),this.state=1149,this.match(A.ZONE),this.state=1153,this._errHandler.sync(this),r=this.interpreter.adaptivePredict(this._input,112,this._ctx);1!==r&&r!==o.ATN.INVALID_ALT_NUMBER;)2===r&&(this.state=1150,this.matchWildcard()),this.state=1155,this._errHandler.sync(this),r=this.interpreter.adaptivePredict(this._input,112,this._ctx);break;case 72:e=new Vt(e),this.enterOuterAlt(e,72),this.state=1156,this.match(A.SET),this.state=1157,this.configKey(),this.state=1158,this.match(A.EQ),this.state=1159,this.configValue();break;case 73:if(e=new Yt(e),this.enterOuterAlt(e,73),this.state=1161,this.match(A.SET),this.state=1162,this.configKey(),this.state=1170,this._errHandler.sync(this),t=this._input.LA(1),t===A.EQ)for(this.state=1163,this.match(A.EQ),this.state=1167,this._errHandler.sync(this),r=this.interpreter.adaptivePredict(this._input,113,this._ctx);1!==r&&r!==o.ATN.INVALID_ALT_NUMBER;)2===r&&(this.state=1164,this.matchWildcard()),this.state=1169,this._errHandler.sync(this),r=this.interpreter.adaptivePredict(this._input,113,this._ctx);break;case 74:for(e=new Vt(e),this.enterOuterAlt(e,74),this.state=1172,this.match(A.SET),this.state=1176,this._errHandler.sync(this),r=this.interpreter.adaptivePredict(this._input,115,this._ctx);1!==r&&r!==o.ATN.INVALID_ALT_NUMBER;)2===r&&(this.state=1173,this.matchWildcard()),this.state=1178,this._errHandler.sync(this),r=this.interpreter.adaptivePredict(this._input,115,this._ctx);this.state=1179,this.match(A.EQ),this.state=1180,this.configValue();break;case 75:for(e=new Yt(e),this.enterOuterAlt(e,75),this.state=1181,this.match(A.SET),this.state=1185,this._errHandler.sync(this),r=this.interpreter.adaptivePredict(this._input,116,this._ctx);1!==r&&r!==o.ATN.INVALID_ALT_NUMBER;)2===r&&(this.state=1182,this.matchWildcard()),this.state=1187,this._errHandler.sync(this),r=this.interpreter.adaptivePredict(this._input,116,this._ctx);break;case 76:e=new Wt(e),this.enterOuterAlt(e,76),this.state=1188,this.match(A.RESET),this.state=1189,this.configKey();break;case 77:for(e=new Kt(e),this.enterOuterAlt(e,77),this.state=1190,this.match(A.RESET),this.state=1194,this._errHandler.sync(this),r=this.interpreter.adaptivePredict(this._input,117,this._ctx);1!==r&&r!==o.ATN.INVALID_ALT_NUMBER;)2===r&&(this.state=1191,this.matchWildcard()),this.state=1196,this._errHandler.sync(this),r=this.interpreter.adaptivePredict(this._input,117,this._ctx);break;case 78:if(e=new Xt(e),this.enterOuterAlt(e,78),this.state=1197,this.match(A.CREATE),this.state=1198,this.match(A.INDEX),this.state=1202,this._errHandler.sync(this),1===this.interpreter.adaptivePredict(this._input,118,this._ctx))this.state=1199,this.match(A.IF),this.state=1200,this.match(A.NOT),this.state=1201,this.match(A.EXISTS);if(this.state=1204,this.identifier(),this.state=1205,this.match(A.ON),this.state=1207,this._errHandler.sync(this),1===this.interpreter.adaptivePredict(this._input,119,this._ctx))this.state=1206,this.match(A.TABLE);this.state=1209,this.identifierReference(),this.state=1212,this._errHandler.sync(this),t=this._input.LA(1),t===A.USING&&(this.state=1210,this.match(A.USING),this.state=1211,e._indexType=this.identifier()),this.state=1214,this.match(A.LEFT_PAREN),this.state=1215,e._columns=this.multipartIdentifierPropertyList(),this.state=1216,this.match(A.RIGHT_PAREN),this.state=1219,this._errHandler.sync(this),t=this._input.LA(1),t===A.OPTIONS&&(this.state=1217,this.match(A.OPTIONS),this.state=1218,e._options=this.propertyList());break;case 79:if(e=new qt(e),this.enterOuterAlt(e,79),this.state=1221,this.match(A.DROP),this.state=1222,this.match(A.INDEX),this.state=1225,this._errHandler.sync(this),1===this.interpreter.adaptivePredict(this._input,122,this._ctx))this.state=1223,this.match(A.IF),this.state=1224,this.match(A.EXISTS);if(this.state=1227,this.identifier(),this.state=1228,this.match(A.ON),this.state=1230,this._errHandler.sync(this),1===this.interpreter.adaptivePredict(this._input,123,this._ctx))this.state=1229,this.match(A.TABLE);this.state=1232,this.identifierReference();break;case 80:for(e=new wt(e),this.enterOuterAlt(e,80),this.state=1234,this.unsupportedHiveNativeCommands(),this.state=1238,this._errHandler.sync(this),r=this.interpreter.adaptivePredict(this._input,124,this._ctx);1!==r&&r!==o.ATN.INVALID_ALT_NUMBER;)2===r&&(this.state=1235,this.matchWildcard()),this.state=1240,this._errHandler.sync(this),r=this.interpreter.adaptivePredict(this._input,124,this._ctx)}}catch(t){if(!(t instanceof T.RecognitionException))throw t;e.exception=t,this._errHandler.reportError(this,t),this._errHandler.recover(this,t)}finally{this.exitRule()}return e}timezone(){let t=new jt(this._ctx,this.state);this.enterRule(t,24,A.RULE_timezone);try{switch(this.state=1245,this._errHandler.sync(this),this.interpreter.adaptivePredict(this._input,126,this._ctx)){case 1:this.enterOuterAlt(t,1),this.state=1243,this.stringLit();break;case 2:this.enterOuterAlt(t,2),this.state=1244,this.match(A.LOCAL)}}catch(e){if(!(e instanceof T.RecognitionException))throw e;t.exception=e,this._errHandler.reportError(this,e),this._errHandler.recover(this,e)}finally{this.exitRule()}return t}configKey(){let t=new Qt(this._ctx,this.state);this.enterRule(t,26,A.RULE_configKey);try{this.enterOuterAlt(t,1),this.state=1247,this.quotedIdentifier()}catch(e){if(!(e instanceof T.RecognitionException))throw e;t.exception=e,this._errHandler.reportError(this,e),this._errHandler.recover(this,e)}finally{this.exitRule()}return t}configValue(){let t=new zt(this._ctx,this.state);this.enterRule(t,28,A.RULE_configValue);try{this.enterOuterAlt(t,1),this.state=1249,this.backQuotedIdentifier()}catch(e){if(!(e instanceof T.RecognitionException))throw e;t.exception=e,this._errHandler.reportError(this,e),this._errHandler.recover(this,e)}finally{this.exitRule()}return t}unsupportedHiveNativeCommands(){let t,e=new $t(this._ctx,this.state);this.enterRule(e,30,A.RULE_unsupportedHiveNativeCommands);try{switch(this.state=1419,this._errHandler.sync(this),this.interpreter.adaptivePredict(this._input,134,this._ctx)){case 1:this.enterOuterAlt(e,1),this.state=1251,e._kw1=this.match(A.CREATE),this.state=1252,e._kw2=this.match(A.ROLE);break;case 2:this.enterOuterAlt(e,2),this.state=1253,e._kw1=this.match(A.DROP),this.state=1254,e._kw2=this.match(A.ROLE);break;case 3:if(this.enterOuterAlt(e,3),this.state=1255,e._kw1=this.match(A.GRANT),this.state=1257,this._errHandler.sync(this),1===this.interpreter.adaptivePredict(this._input,127,this._ctx))this.state=1256,e._kw2=this.match(A.ROLE);break;case 4:if(this.enterOuterAlt(e,4),this.state=1259,e._kw1=this.match(A.REVOKE),this.state=1261,this._errHandler.sync(this),1===this.interpreter.adaptivePredict(this._input,128,this._ctx))this.state=1260,e._kw2=this.match(A.ROLE);break;case 5:this.enterOuterAlt(e,5),this.state=1263,e._kw1=this.match(A.SHOW),this.state=1264,e._kw2=this.match(A.GRANT);break;case 6:if(this.enterOuterAlt(e,6),this.state=1265,e._kw1=this.match(A.SHOW),this.state=1266,e._kw2=this.match(A.ROLE),this.state=1268,this._errHandler.sync(this),1===this.interpreter.adaptivePredict(this._input,129,this._ctx))this.state=1267,e._kw3=this.match(A.GRANT);break;case 7:this.enterOuterAlt(e,7),this.state=1270,e._kw1=this.match(A.SHOW),this.state=1271,e._kw2=this.match(A.PRINCIPALS);break;case 8:this.enterOuterAlt(e,8),this.state=1272,e._kw1=this.match(A.SHOW),this.state=1273,e._kw2=this.match(A.ROLES);break;case 9:this.enterOuterAlt(e,9),this.state=1274,e._kw1=this.match(A.SHOW),this.state=1275,e._kw2=this.match(A.CURRENT),this.state=1276,e._kw3=this.match(A.ROLES);break;case 10:this.enterOuterAlt(e,10),this.state=1277,e._kw1=this.match(A.EXPORT),this.state=1278,e._kw2=this.match(A.TABLE);break;case 11:this.enterOuterAlt(e,11),this.state=1279,e._kw1=this.match(A.IMPORT),this.state=1280,e._kw2=this.match(A.TABLE);break;case 12:this.enterOuterAlt(e,12),this.state=1281,e._kw1=this.match(A.SHOW),this.state=1282,e._kw2=this.match(A.COMPACTIONS);break;case 13:this.enterOuterAlt(e,13),this.state=1283,e._kw1=this.match(A.SHOW),this.state=1284,e._kw2=this.match(A.CREATE),this.state=1285,e._kw3=this.match(A.TABLE);break;case 14:this.enterOuterAlt(e,14),this.state=1286,e._kw1=this.match(A.SHOW),this.state=1287,e._kw2=this.match(A.TRANSACTIONS);break;case 15:this.enterOuterAlt(e,15),this.state=1288,e._kw1=this.match(A.SHOW),this.state=1289,e._kw2=this.match(A.INDEXES);break;case 16:this.enterOuterAlt(e,16),this.state=1290,e._kw1=this.match(A.SHOW),this.state=1291,e._kw2=this.match(A.LOCKS);break;case 17:this.enterOuterAlt(e,17),this.state=1292,e._kw1=this.match(A.CREATE),this.state=1293,e._kw2=this.match(A.INDEX);break;case 18:this.enterOuterAlt(e,18),this.state=1294,e._kw1=this.match(A.DROP),this.state=1295,e._kw2=this.match(A.INDEX);break;case 19:this.enterOuterAlt(e,19),this.state=1296,e._kw1=this.match(A.ALTER),this.state=1297,e._kw2=this.match(A.INDEX);break;case 20:this.enterOuterAlt(e,20),this.state=1298,e._kw1=this.match(A.LOCK),this.state=1299,e._kw2=this.match(A.TABLE);break;case 21:this.enterOuterAlt(e,21),this.state=1300,e._kw1=this.match(A.LOCK),this.state=1301,e._kw2=this.match(A.DATABASE);break;case 22:this.enterOuterAlt(e,22),this.state=1302,e._kw1=this.match(A.UNLOCK),this.state=1303,e._kw2=this.match(A.TABLE);break;case 23:this.enterOuterAlt(e,23),this.state=1304,e._kw1=this.match(A.UNLOCK),this.state=1305,e._kw2=this.match(A.DATABASE);break;case 24:this.enterOuterAlt(e,24),this.state=1306,e._kw1=this.match(A.CREATE),this.state=1307,e._kw2=this.match(A.TEMPORARY),this.state=1308,e._kw3=this.match(A.MACRO);break;case 25:this.enterOuterAlt(e,25),this.state=1309,e._kw1=this.match(A.DROP),this.state=1310,e._kw2=this.match(A.TEMPORARY),this.state=1311,e._kw3=this.match(A.MACRO);break;case 26:this.enterOuterAlt(e,26),this.state=1312,e._kw1=this.match(A.ALTER),this.state=1313,e._kw2=this.match(A.TABLE),this.state=1314,this.tableIdentifier(),this.state=1315,e._kw3=this.match(A.NOT),this.state=1316,e._kw4=this.match(A.CLUSTERED);break;case 27:this.enterOuterAlt(e,27),this.state=1318,e._kw1=this.match(A.ALTER),this.state=1319,e._kw2=this.match(A.TABLE),this.state=1320,this.tableIdentifier(),this.state=1321,e._kw3=this.match(A.CLUSTERED),this.state=1322,e._kw4=this.match(A.BY);break;case 28:this.enterOuterAlt(e,28),this.state=1324,e._kw1=this.match(A.ALTER),this.state=1325,e._kw2=this.match(A.TABLE),this.state=1326,this.tableIdentifier(),this.state=1327,e._kw3=this.match(A.NOT),this.state=1328,e._kw4=this.match(A.SORTED);break;case 29:this.enterOuterAlt(e,29),this.state=1330,e._kw1=this.match(A.ALTER),this.state=1331,e._kw2=this.match(A.TABLE),this.state=1332,this.tableIdentifier(),this.state=1333,e._kw3=this.match(A.SKEWED),this.state=1334,e._kw4=this.match(A.BY);break;case 30:this.enterOuterAlt(e,30),this.state=1336,e._kw1=this.match(A.ALTER),this.state=1337,e._kw2=this.match(A.TABLE),this.state=1338,this.tableIdentifier(),this.state=1339,e._kw3=this.match(A.NOT),this.state=1340,e._kw4=this.match(A.SKEWED);break;case 31:this.enterOuterAlt(e,31),this.state=1342,e._kw1=this.match(A.ALTER),this.state=1343,e._kw2=this.match(A.TABLE),this.state=1344,this.tableIdentifier(),this.state=1345,e._kw3=this.match(A.NOT),this.state=1346,e._kw4=this.match(A.STORED),this.state=1347,e._kw5=this.match(A.AS),this.state=1348,e._kw6=this.match(A.DIRECTORIES);break;case 32:this.enterOuterAlt(e,32),this.state=1350,e._kw1=this.match(A.ALTER),this.state=1351,e._kw2=this.match(A.TABLE),this.state=1352,this.tableIdentifier(),this.state=1353,e._kw3=this.match(A.SET),this.state=1354,e._kw4=this.match(A.SKEWED),this.state=1355,e._kw5=this.match(A.LOCATION);break;case 33:this.enterOuterAlt(e,33),this.state=1357,e._kw1=this.match(A.ALTER),this.state=1358,e._kw2=this.match(A.TABLE),this.state=1359,this.tableIdentifier(),this.state=1360,e._kw3=this.match(A.EXCHANGE),this.state=1361,e._kw4=this.match(A.PARTITION);break;case 34:this.enterOuterAlt(e,34),this.state=1363,e._kw1=this.match(A.ALTER),this.state=1364,e._kw2=this.match(A.TABLE),this.state=1365,this.tableIdentifier(),this.state=1366,e._kw3=this.match(A.ARCHIVE),this.state=1367,e._kw4=this.match(A.PARTITION);break;case 35:this.enterOuterAlt(e,35),this.state=1369,e._kw1=this.match(A.ALTER),this.state=1370,e._kw2=this.match(A.TABLE),this.state=1371,this.tableIdentifier(),this.state=1372,e._kw3=this.match(A.UNARCHIVE),this.state=1373,e._kw4=this.match(A.PARTITION);break;case 36:this.enterOuterAlt(e,36),this.state=1375,e._kw1=this.match(A.ALTER),this.state=1376,e._kw2=this.match(A.TABLE),this.state=1377,this.tableIdentifier(),this.state=1378,e._kw3=this.match(A.TOUCH);break;case 37:this.enterOuterAlt(e,37),this.state=1380,e._kw1=this.match(A.ALTER),this.state=1381,e._kw2=this.match(A.TABLE),this.state=1382,this.tableIdentifier(),this.state=1384,this._errHandler.sync(this),t=this._input.LA(1),t===A.PARTITION&&(this.state=1383,this.partitionSpec()),this.state=1386,e._kw3=this.match(A.COMPACT);break;case 38:this.enterOuterAlt(e,38),this.state=1388,e._kw1=this.match(A.ALTER),this.state=1389,e._kw2=this.match(A.TABLE),this.state=1390,this.tableIdentifier(),this.state=1392,this._errHandler.sync(this),t=this._input.LA(1),t===A.PARTITION&&(this.state=1391,this.partitionSpec()),this.state=1394,e._kw3=this.match(A.CONCATENATE);break;case 39:this.enterOuterAlt(e,39),this.state=1396,e._kw1=this.match(A.ALTER),this.state=1397,e._kw2=this.match(A.TABLE),this.state=1398,this.tableIdentifier(),this.state=1400,this._errHandler.sync(this),t=this._input.LA(1),t===A.PARTITION&&(this.state=1399,this.partitionSpec()),this.state=1402,e._kw3=this.match(A.SET),this.state=1403,e._kw4=this.match(A.FILEFORMAT);break;case 40:this.enterOuterAlt(e,40),this.state=1405,e._kw1=this.match(A.ALTER),this.state=1406,e._kw2=this.match(A.TABLE),this.state=1407,this.tableIdentifier(),this.state=1409,this._errHandler.sync(this),t=this._input.LA(1),t===A.PARTITION&&(this.state=1408,this.partitionSpec()),this.state=1411,e._kw3=this.match(A.REPLACE),this.state=1412,e._kw4=this.match(A.COLUMNS);break;case 41:this.enterOuterAlt(e,41),this.state=1414,e._kw1=this.match(A.START),this.state=1415,e._kw2=this.match(A.TRANSACTION);break;case 42:this.enterOuterAlt(e,42),this.state=1416,e._kw1=this.match(A.COMMIT);break;case 43:this.enterOuterAlt(e,43),this.state=1417,e._kw1=this.match(A.ROLLBACK);break;case 44:this.enterOuterAlt(e,44),this.state=1418,e._kw1=this.match(A.DFS)}}catch(t){if(!(t instanceof T.RecognitionException))throw t;e.exception=t,this._errHandler.reportError(this,t),this._errHandler.recover(this,t)}finally{this.exitRule()}return e}createTableHeader(){let t,e=new Jt(this._ctx,this.state);this.enterRule(e,32,A.RULE_createTableHeader);try{if(this.enterOuterAlt(e,1),this.state=1421,this.match(A.CREATE),this.state=1423,this._errHandler.sync(this),t=this._input.LA(1),t===A.TEMPORARY&&(this.state=1422,this.match(A.TEMPORARY)),this.state=1426,this._errHandler.sync(this),t=this._input.LA(1),t===A.EXTERNAL&&(this.state=1425,this.match(A.EXTERNAL)),this.state=1428,this.match(A.TABLE),this.state=1432,this._errHandler.sync(this),1===this.interpreter.adaptivePredict(this._input,137,this._ctx))this.state=1429,this.match(A.IF),this.state=1430,this.match(A.NOT),this.state=1431,this.match(A.EXISTS);this.state=1434,this.identifierReference()}catch(t){if(!(t instanceof T.RecognitionException))throw t;e.exception=t,this._errHandler.reportError(this,t),this._errHandler.recover(this,t)}finally{this.exitRule()}return e}replaceTableHeader(){let t,e=new Zt(this._ctx,this.state);this.enterRule(e,34,A.RULE_replaceTableHeader);try{this.enterOuterAlt(e,1),this.state=1438,this._errHandler.sync(this),t=this._input.LA(1),t===A.CREATE&&(this.state=1436,this.match(A.CREATE),this.state=1437,this.match(A.OR)),this.state=1440,this.match(A.REPLACE),this.state=1441,this.match(A.TABLE),this.state=1442,this.identifierReference()}catch(t){if(!(t instanceof T.RecognitionException))throw t;e.exception=t,this._errHandler.reportError(this,t),this._errHandler.recover(this,t)}finally{this.exitRule()}return e}bucketSpec(){let t,e=new te(this._ctx,this.state);this.enterRule(e,36,A.RULE_bucketSpec);try{this.enterOuterAlt(e,1),this.state=1444,this.match(A.CLUSTERED),this.state=1445,this.match(A.BY),this.state=1446,this.identifierList(),this.state=1450,this._errHandler.sync(this),t=this._input.LA(1),t===A.SORTED&&(this.state=1447,this.match(A.SORTED),this.state=1448,this.match(A.BY),this.state=1449,this.orderedIdentifierList()),this.state=1452,this.match(A.INTO),this.state=1453,this.match(A.INTEGER_VALUE),this.state=1454,this.match(A.BUCKETS)}catch(t){if(!(t instanceof T.RecognitionException))throw t;e.exception=t,this._errHandler.reportError(this,t),this._errHandler.recover(this,t)}finally{this.exitRule()}return e}skewSpec(){let t=new ee(this._ctx,this.state);this.enterRule(t,38,A.RULE_skewSpec);try{switch(this.enterOuterAlt(t,1),this.state=1456,this.match(A.SKEWED),this.state=1457,this.match(A.BY),this.state=1458,this.identifierList(),this.state=1459,this.match(A.ON),this.state=1462,this._errHandler.sync(this),this.interpreter.adaptivePredict(this._input,140,this._ctx)){case 1:this.state=1460,this.constantList();break;case 2:this.state=1461,this.nestedConstantList()}if(this.state=1467,this._errHandler.sync(this),1===this.interpreter.adaptivePredict(this._input,141,this._ctx))this.state=1464,this.match(A.STORED),this.state=1465,this.match(A.AS),this.state=1466,this.match(A.DIRECTORIES)}catch(e){if(!(e instanceof T.RecognitionException))throw e;t.exception=e,this._errHandler.reportError(this,e),this._errHandler.recover(this,e)}finally{this.exitRule()}return t}locationSpec(){let t=new re(this._ctx,this.state);this.enterRule(t,40,A.RULE_locationSpec);try{this.enterOuterAlt(t,1),this.state=1469,this.match(A.LOCATION),this.state=1470,this.stringLit()}catch(e){if(!(e instanceof T.RecognitionException))throw e;t.exception=e,this._errHandler.reportError(this,e),this._errHandler.recover(this,e)}finally{this.exitRule()}return t}commentSpec(){let t=new ie(this._ctx,this.state);this.enterRule(t,42,A.RULE_commentSpec);try{this.enterOuterAlt(t,1),this.state=1472,this.match(A.COMMENT),this.state=1473,this.stringLit()}catch(e){if(!(e instanceof T.RecognitionException))throw e;t.exception=e,this._errHandler.reportError(this,e),this._errHandler.recover(this,e)}finally{this.exitRule()}return t}query(){let t,e=new ne(this._ctx,this.state);this.enterRule(e,44,A.RULE_query);try{this.enterOuterAlt(e,1),this.state=1476,this._errHandler.sync(this),t=this._input.LA(1),t===A.WITH&&(this.state=1475,this.ctes()),this.state=1478,this.queryTerm(0),this.state=1479,this.queryOrganization()}catch(t){if(!(t instanceof T.RecognitionException))throw t;e.exception=t,this._errHandler.reportError(this,t),this._errHandler.recover(this,t)}finally{this.exitRule()}return e}insertInto(){let t,e=new se(this._ctx,this.state);this.enterRule(e,46,A.RULE_insertInto);try{switch(this.state=1555,this._errHandler.sync(this),this.interpreter.adaptivePredict(this._input,158,this._ctx)){case 1:if(e=new oe(e),this.enterOuterAlt(e,1),this.state=1481,this.match(A.INSERT),this.state=1482,this.match(A.OVERWRITE),this.state=1484,this._errHandler.sync(this),1===this.interpreter.adaptivePredict(this._input,143,this._ctx))this.state=1483,this.match(A.TABLE);switch(this.state=1486,this.identifierReference(),this.state=1493,this._errHandler.sync(this),t=this._input.LA(1),t===A.PARTITION&&(this.state=1487,this.partitionSpec(),this.state=1491,this._errHandler.sync(this),t=this._input.LA(1),t===A.IF&&(this.state=1488,this.match(A.IF),this.state=1489,this.match(A.NOT),this.state=1490,this.match(A.EXISTS))),this.state=1498,this._errHandler.sync(this),this.interpreter.adaptivePredict(this._input,146,this._ctx)){case 1:this.state=1495,this.match(A.BY),this.state=1496,this.match(A.NAME);break;case 2:this.state=1497,this.identifierList()}break;case 2:if(e=new ae(e),this.enterOuterAlt(e,2),this.state=1500,this.match(A.INSERT),this.state=1501,this.match(A.INTO),this.state=1503,this._errHandler.sync(this),1===this.interpreter.adaptivePredict(this._input,147,this._ctx))this.state=1502,this.match(A.TABLE);switch(this.state=1505,this.identifierReference(),this.state=1507,this._errHandler.sync(this),t=this._input.LA(1),t===A.PARTITION&&(this.state=1506,this.partitionSpec()),this.state=1512,this._errHandler.sync(this),t=this._input.LA(1),t===A.IF&&(this.state=1509,this.match(A.IF),this.state=1510,this.match(A.NOT),this.state=1511,this.match(A.EXISTS)),this.state=1517,this._errHandler.sync(this),this.interpreter.adaptivePredict(this._input,150,this._ctx)){case 1:this.state=1514,this.match(A.BY),this.state=1515,this.match(A.NAME);break;case 2:this.state=1516,this.identifierList()}break;case 3:if(e=new Ee(e),this.enterOuterAlt(e,3),this.state=1519,this.match(A.INSERT),this.state=1520,this.match(A.INTO),this.state=1522,this._errHandler.sync(this),1===this.interpreter.adaptivePredict(this._input,151,this._ctx))this.state=1521,this.match(A.TABLE);this.state=1524,this.identifierReference(),this.state=1525,this.match(A.REPLACE),this.state=1526,this.whereClause();break;case 4:e=new he(e),this.enterOuterAlt(e,4),this.state=1528,this.match(A.INSERT),this.state=1529,this.match(A.OVERWRITE),this.state=1531,this._errHandler.sync(this),t=this._input.LA(1),t===A.LOCAL&&(this.state=1530,this.match(A.LOCAL)),this.state=1533,this.match(A.DIRECTORY),this.state=1534,e._path=this.stringLit(),this.state=1536,this._errHandler.sync(this),t=this._input.LA(1),t===A.ROW&&(this.state=1535,this.rowFormat()),this.state=1539,this._errHandler.sync(this),t=this._input.LA(1),t===A.STORED&&(this.state=1538,this.createFileFormat());break;case 5:if(e=new le(e),this.enterOuterAlt(e,5),this.state=1541,this.match(A.INSERT),this.state=1542,this.match(A.OVERWRITE),this.state=1544,this._errHandler.sync(this),t=this._input.LA(1),t===A.LOCAL&&(this.state=1543,this.match(A.LOCAL)),this.state=1546,this.match(A.DIRECTORY),this.state=1548,this._errHandler.sync(this),1===this.interpreter.adaptivePredict(this._input,156,this._ctx))this.state=1547,e._path=this.stringLit();this.state=1550,this.tableProvider(),this.state=1553,this._errHandler.sync(this),t=this._input.LA(1),t===A.OPTIONS&&(this.state=1551,this.match(A.OPTIONS),this.state=1552,e._options=this.propertyList())}}catch(t){if(!(t instanceof T.RecognitionException))throw t;e.exception=t,this._errHandler.reportError(this,t),this._errHandler.recover(this,t)}finally{this.exitRule()}return e}partitionSpecLocation(){let t,e=new ue(this._ctx,this.state);this.enterRule(e,48,A.RULE_partitionSpecLocation);try{this.enterOuterAlt(e,1),this.state=1557,this.partitionSpec(),this.state=1559,this._errHandler.sync(this),t=this._input.LA(1),t===A.LOCATION&&(this.state=1558,this.locationSpec())}catch(t){if(!(t instanceof T.RecognitionException))throw t;e.exception=t,this._errHandler.reportError(this,t),this._errHandler.recover(this,t)}finally{this.exitRule()}return e}partitionSpec(){let t,e=new ce(this._ctx,this.state);this.enterRule(e,50,A.RULE_partitionSpec);try{for(this.enterOuterAlt(e,1),this.state=1561,this.match(A.PARTITION),this.state=1562,this.match(A.LEFT_PAREN),this.state=1563,this.partitionVal(),this.state=1568,this._errHandler.sync(this),t=this._input.LA(1);t===A.COMMA;)this.state=1564,this.match(A.COMMA),this.state=1565,this.partitionVal(),this.state=1570,this._errHandler.sync(this),t=this._input.LA(1);this.state=1571,this.match(A.RIGHT_PAREN)}catch(t){if(!(t instanceof T.RecognitionException))throw t;e.exception=t,this._errHandler.reportError(this,t),this._errHandler.recover(this,t)}finally{this.exitRule()}return e}partitionVal(){let t,e=new Te(this._ctx,this.state);this.enterRule(e,52,A.RULE_partitionVal);try{switch(this.state=1582,this._errHandler.sync(this),this.interpreter.adaptivePredict(this._input,162,this._ctx)){case 1:this.enterOuterAlt(e,1),this.state=1573,this.identifier(),this.state=1576,this._errHandler.sync(this),t=this._input.LA(1),t===A.EQ&&(this.state=1574,this.match(A.EQ),this.state=1575,this.constant());break;case 2:this.enterOuterAlt(e,2),this.state=1578,this.identifier(),this.state=1579,this.match(A.EQ),this.state=1580,this.match(A.DEFAULT)}}catch(t){if(!(t instanceof T.RecognitionException))throw t;e.exception=t,this._errHandler.reportError(this,t),this._errHandler.recover(this,t)}finally{this.exitRule()}return e}namespace(){let t,e=new Re(this._ctx,this.state);this.enterRule(e,54,A.RULE_namespace);try{this.enterOuterAlt(e,1),this.state=1584,t=this._input.LA(1),t!==A.DATABASE&&t!==A.NAMESPACE&&t!==A.SCHEMA?this._errHandler.recoverInline(this):(this._input.LA(1)===R.Token.EOF&&(this.matchedEOF=!0),this._errHandler.reportMatch(this),this.consume())}catch(t){if(!(t instanceof T.RecognitionException))throw t;e.exception=t,this._errHandler.reportError(this,t),this._errHandler.recover(this,t)}finally{this.exitRule()}return e}namespaces(){let t,e=new pe(this._ctx,this.state);this.enterRule(e,56,A.RULE_namespaces);try{this.enterOuterAlt(e,1),this.state=1586,t=this._input.LA(1),t!==A.DATABASES&&t!==A.NAMESPACES&&t!==A.SCHEMAS?this._errHandler.recoverInline(this):(this._input.LA(1)===R.Token.EOF&&(this.matchedEOF=!0),this._errHandler.reportMatch(this),this.consume())}catch(t){if(!(t instanceof T.RecognitionException))throw t;e.exception=t,this._errHandler.reportError(this,t),this._errHandler.recover(this,t)}finally{this.exitRule()}return e}describeFuncName(){let t=new Se(this._ctx,this.state);this.enterRule(t,58,A.RULE_describeFuncName);try{switch(this.state=1593,this._errHandler.sync(this),this.interpreter.adaptivePredict(this._input,163,this._ctx)){case 1:this.enterOuterAlt(t,1),this.state=1588,this.identifierReference();break;case 2:this.enterOuterAlt(t,2),this.state=1589,this.stringLit();break;case 3:this.enterOuterAlt(t,3),this.state=1590,this.comparisonOperator();break;case 4:this.enterOuterAlt(t,4),this.state=1591,this.arithmeticOperator();break;case 5:this.enterOuterAlt(t,5),this.state=1592,this.predicateOperator()}}catch(e){if(!(e instanceof T.RecognitionException))throw e;t.exception=e,this._errHandler.reportError(this,e),this._errHandler.recover(this,e)}finally{this.exitRule()}return t}describeColName(){let t,e=new Ae(this._ctx,this.state);this.enterRule(e,60,A.RULE_describeColName);try{for(this.enterOuterAlt(e,1),this.state=1595,e._identifier=this.identifier(),e._nameParts.push(e._identifier),this.state=1600,this._errHandler.sync(this),t=this._input.LA(1);t===A.DOT;)this.state=1596,this.match(A.DOT),this.state=1597,e._identifier=this.identifier(),e._nameParts.push(e._identifier),this.state=1602,this._errHandler.sync(this),t=this._input.LA(1)}catch(t){if(!(t instanceof T.RecognitionException))throw t;e.exception=t,this._errHandler.reportError(this,t),this._errHandler.recover(this,t)}finally{this.exitRule()}return e}ctes(){let t,e=new de(this._ctx,this.state);this.enterRule(e,62,A.RULE_ctes);try{for(this.enterOuterAlt(e,1),this.state=1603,this.match(A.WITH),this.state=1604,this.namedQuery(),this.state=1609,this._errHandler.sync(this),t=this._input.LA(1);t===A.COMMA;)this.state=1605,this.match(A.COMMA),this.state=1606,this.namedQuery(),this.state=1611,this._errHandler.sync(this),t=this._input.LA(1)}catch(t){if(!(t instanceof T.RecognitionException))throw t;e.exception=t,this._errHandler.reportError(this,t),this._errHandler.recover(this,t)}finally{this.exitRule()}return e}namedQuery(){let t,e=new Ne(this._ctx,this.state);this.enterRule(e,64,A.RULE_namedQuery);try{if(this.enterOuterAlt(e,1),this.state=1612,e._name=this.errorCapturingIdentifier(),this.state=1614,this._errHandler.sync(this),1===this.interpreter.adaptivePredict(this._input,166,this._ctx))this.state=1613,e._columnAliases=this.identifierList();this.state=1617,this._errHandler.sync(this),t=this._input.LA(1),t===A.AS&&(this.state=1616,this.match(A.AS)),this.state=1619,this.match(A.LEFT_PAREN),this.state=1620,this.query(),this.state=1621,this.match(A.RIGHT_PAREN)}catch(t){if(!(t instanceof T.RecognitionException))throw t;e.exception=t,this._errHandler.reportError(this,t),this._errHandler.recover(this,t)}finally{this.exitRule()}return e}tableProvider(){let t=new Oe(this._ctx,this.state);this.enterRule(t,66,A.RULE_tableProvider);try{this.enterOuterAlt(t,1),this.state=1623,this.match(A.USING),this.state=1624,this.multipartIdentifier()}catch(e){if(!(e instanceof T.RecognitionException))throw e;t.exception=e,this._errHandler.reportError(this,e),this._errHandler.recover(this,e)}finally{this.exitRule()}return t}createTableClauses(){let t,e=new Ce(this._ctx,this.state);this.enterRule(e,68,A.RULE_createTableClauses);try{for(this.enterOuterAlt(e,1),this.state=1641,this._errHandler.sync(this),t=this._input.LA(1);t===A.CLUSTERED||t===A.COMMENT||t===A.LOCATION||t===A.OPTIONS||t===A.PARTITIONED||0==(t-248&-32)&&0!=(1<<t-248&(1<<A.ROW-248|1<<A.SKEWED-248|1<<A.STORED-248))||t===A.TBLPROPERTIES;){switch(this.state=1639,this._errHandler.sync(this),this._input.LA(1)){case A.OPTIONS:this.state=1626,this.match(A.OPTIONS),this.state=1627,e._options=this.expressionPropertyList();break;case A.PARTITIONED:this.state=1628,this.match(A.PARTITIONED),this.state=1629,this.match(A.BY),this.state=1630,e._partitioning=this.partitionFieldList();break;case A.SKEWED:this.state=1631,this.skewSpec();break;case A.CLUSTERED:this.state=1632,this.bucketSpec();break;case A.ROW:this.state=1633,this.rowFormat();break;case A.STORED:this.state=1634,this.createFileFormat();break;case A.LOCATION:this.state=1635,this.locationSpec();break;case A.COMMENT:this.state=1636,this.commentSpec();break;case A.TBLPROPERTIES:this.state=1637,this.match(A.TBLPROPERTIES),this.state=1638,e._tableProps=this.propertyList();break;default:throw new h.NoViableAltException(this)}this.state=1643,this._errHandler.sync(this),t=this._input.LA(1)}}catch(t){if(!(t instanceof T.RecognitionException))throw t;e.exception=t,this._errHandler.reportError(this,t),this._errHandler.recover(this,t)}finally{this.exitRule()}return e}propertyList(){let t,e=new _e(this._ctx,this.state);this.enterRule(e,70,A.RULE_propertyList);try{for(this.enterOuterAlt(e,1),this.state=1644,this.match(A.LEFT_PAREN),this.state=1645,this.property(),this.state=1650,this._errHandler.sync(this),t=this._input.LA(1);t===A.COMMA;)this.state=1646,this.match(A.COMMA),this.state=1647,this.property(),this.state=1652,this._errHandler.sync(this),t=this._input.LA(1);this.state=1653,this.match(A.RIGHT_PAREN)}catch(t){if(!(t instanceof T.RecognitionException))throw t;e.exception=t,this._errHandler.reportError(this,t),this._errHandler.recover(this,t)}finally{this.exitRule()}return e}property(){let t=new Ie(this._ctx,this.state);this.enterRule(t,72,A.RULE_property);try{if(this.enterOuterAlt(t,1),this.state=1655,t._key=this.propertyKey(),this.state=1660,this._errHandler.sync(this),1===this.interpreter.adaptivePredict(this._input,172,this._ctx)){if(this.state=1657,this._errHandler.sync(this),1===this.interpreter.adaptivePredict(this._input,171,this._ctx))this.state=1656,this.match(A.EQ);this.state=1659,t._value=this.propertyValue()}}catch(e){if(!(e instanceof T.RecognitionException))throw e;t.exception=e,this._errHandler.reportError(this,e),this._errHandler.recover(this,e)}finally{this.exitRule()}return t}propertyKey(){let t=new Le(this._ctx,this.state);this.enterRule(t,74,A.RULE_propertyKey);try{let e;switch(this.state=1671,this._errHandler.sync(this),this.interpreter.adaptivePredict(this._input,174,this._ctx)){case 1:for(this.enterOuterAlt(t,1),this.state=1662,this.identifier(),this.state=1667,this._errHandler.sync(this),e=this.interpreter.adaptivePredict(this._input,173,this._ctx);2!==e&&e!==o.ATN.INVALID_ALT_NUMBER;)1===e&&(this.state=1663,this.match(A.DOT),this.state=1664,this.identifier()),this.state=1669,this._errHandler.sync(this),e=this.interpreter.adaptivePredict(this._input,173,this._ctx);break;case 2:this.enterOuterAlt(t,2),this.state=1670,this.stringLit()}}catch(e){if(!(e instanceof T.RecognitionException))throw e;t.exception=e,this._errHandler.reportError(this,e),this._errHandler.recover(this,e)}finally{this.exitRule()}return t}propertyValue(){let t=new fe(this._ctx,this.state);this.enterRule(t,76,A.RULE_propertyValue);try{switch(this.state=1677,this._errHandler.sync(this),this.interpreter.adaptivePredict(this._input,175,this._ctx)){case 1:this.enterOuterAlt(t,1),this.state=1673,this.match(A.INTEGER_VALUE);break;case 2:this.enterOuterAlt(t,2),this.state=1674,this.match(A.DECIMAL_VALUE);break;case 3:this.enterOuterAlt(t,3),this.state=1675,this.booleanValue();break;case 4:this.enterOuterAlt(t,4),this.state=1676,this.stringLit()}}catch(e){if(!(e instanceof T.RecognitionException))throw e;t.exception=e,this._errHandler.reportError(this,e),this._errHandler.recover(this,e)}finally{this.exitRule()}return t}expressionPropertyList(){let t,e=new me(this._ctx,this.state);this.enterRule(e,78,A.RULE_expressionPropertyList);try{for(this.enterOuterAlt(e,1),this.state=1679,this.match(A.LEFT_PAREN),this.state=1680,this.expressionProperty(),this.state=1685,this._errHandler.sync(this),t=this._input.LA(1);t===A.COMMA;)this.state=1681,this.match(A.COMMA),this.state=1682,this.expressionProperty(),this.state=1687,this._errHandler.sync(this),t=this._input.LA(1);this.state=1688,this.match(A.RIGHT_PAREN)}catch(t){if(!(t instanceof T.RecognitionException))throw t;e.exception=t,this._errHandler.reportError(this,t),this._errHandler.recover(this,t)}finally{this.exitRule()}return e}expressionProperty(){let t=new ye(this._ctx,this.state);this.enterRule(t,80,A.RULE_expressionProperty);try{if(this.enterOuterAlt(t,1),this.state=1690,t._key=this.propertyKey(),this.state=1695,this._errHandler.sync(this),1===this.interpreter.adaptivePredict(this._input,178,this._ctx)){if(this.state=1692,this._errHandler.sync(this),1===this.interpreter.adaptivePredict(this._input,177,this._ctx))this.state=1691,this.match(A.EQ);this.state=1694,t._value=this.expression()}}catch(e){if(!(e instanceof T.RecognitionException))throw e;t.exception=e,this._errHandler.reportError(this,e),this._errHandler.recover(this,e)}finally{this.exitRule()}return t}constantList(){let t,e=new xe(this._ctx,this.state);this.enterRule(e,82,A.RULE_constantList);try{for(this.enterOuterAlt(e,1),this.state=1697,this.match(A.LEFT_PAREN),this.state=1698,this.constant(),this.state=1703,this._errHandler.sync(this),t=this._input.LA(1);t===A.COMMA;)this.state=1699,this.match(A.COMMA),this.state=1700,this.constant(),this.state=1705,this._errHandler.sync(this),t=this._input.LA(1);this.state=1706,this.match(A.RIGHT_PAREN)}catch(t){if(!(t instanceof T.RecognitionException))throw t;e.exception=t,this._errHandler.reportError(this,t),this._errHandler.recover(this,t)}finally{this.exitRule()}return e}nestedConstantList(){let t,e=new ge(this._ctx,this.state);this.enterRule(e,84,A.RULE_nestedConstantList);try{for(this.enterOuterAlt(e,1),this.state=1708,this.match(A.LEFT_PAREN),this.state=1709,this.constantList(),this.state=1714,this._errHandler.sync(this),t=this._input.LA(1);t===A.COMMA;)this.state=1710,this.match(A.COMMA),this.state=1711,this.constantList(),this.state=1716,this._errHandler.sync(this),t=this._input.LA(1);this.state=1717,this.match(A.RIGHT_PAREN)}catch(t){if(!(t instanceof T.RecognitionException))throw t;e.exception=t,this._errHandler.reportError(this,t),this._errHandler.recover(this,t)}finally{this.exitRule()}return e}createFileFormat(){let t=new Pe(this._ctx,this.state);this.enterRule(t,86,A.RULE_createFileFormat);try{switch(this.state=1725,this._errHandler.sync(this),this.interpreter.adaptivePredict(this._input,181,this._ctx)){case 1:this.enterOuterAlt(t,1),this.state=1719,this.match(A.STORED),this.state=1720,this.match(A.AS),this.state=1721,this.fileFormat();break;case 2:this.enterOuterAlt(t,2),this.state=1722,this.match(A.STORED),this.state=1723,this.match(A.BY),this.state=1724,this.storageHandler()}}catch(e){if(!(e instanceof T.RecognitionException))throw e;t.exception=e,this._errHandler.reportError(this,e),this._errHandler.recover(this,e)}finally{this.exitRule()}return t}fileFormat(){let t=new De(this._ctx,this.state);this.enterRule(t,88,A.RULE_fileFormat);try{switch(this.state=1733,this._errHandler.sync(this),this.interpreter.adaptivePredict(this._input,182,this._ctx)){case 1:t=new Me(t),this.enterOuterAlt(t,1),this.state=1727,this.match(A.INPUTFORMAT),this.state=1728,t._inFmt=this.stringLit(),this.state=1729,this.match(A.OUTPUTFORMAT),this.state=1730,t._outFmt=this.stringLit();break;case 2:t=new ve(t),this.enterOuterAlt(t,2),this.state=1732,this.identifier()}}catch(e){if(!(e instanceof T.RecognitionException))throw e;t.exception=e,this._errHandler.reportError(this,e),this._errHandler.recover(this,e)}finally{this.exitRule()}return t}storageHandler(){let t=new Ue(this._ctx,this.state);this.enterRule(t,90,A.RULE_storageHandler);try{if(this.enterOuterAlt(t,1),this.state=1735,this.stringLit(),this.state=1739,this._errHandler.sync(this),1===this.interpreter.adaptivePredict(this._input,183,this._ctx))this.state=1736,this.match(A.WITH),this.state=1737,this.match(A.SERDEPROPERTIES),this.state=1738,this.propertyList()}catch(e){if(!(e instanceof T.RecognitionException))throw e;t.exception=e,this._errHandler.reportError(this,e),this._errHandler.recover(this,e)}finally{this.exitRule()}return t}resource(){let t=new ke(this._ctx,this.state);this.enterRule(t,92,A.RULE_resource);try{this.enterOuterAlt(t,1),this.state=1741,this.identifier(),this.state=1742,this.stringLit()}catch(e){if(!(e instanceof T.RecognitionException))throw e;t.exception=e,this._errHandler.reportError(this,e),this._errHandler.recover(this,e)}finally{this.exitRule()}return t}dmlStatementNoWith(){let t,e=new be(this._ctx,this.state);this.enterRule(e,94,A.RULE_dmlStatementNoWith);try{let r;switch(this.state=1800,this._errHandler.sync(this),this._input.LA(1)){case A.INSERT:e=new Ge(e),this.enterOuterAlt(e,1),this.state=1744,this.insertInto(),this.state=1745,this.query();break;case A.FROM:e=new Fe(e),this.enterOuterAlt(e,2),this.state=1747,this.fromClause(),this.state=1749,this._errHandler.sync(this),t=this._input.LA(1);do{this.state=1748,this.multiInsertQueryBody(),this.state=1751,this._errHandler.sync(this),t=this._input.LA(1)}while(t===A.INSERT);break;case A.DELETE:e=new He(e),this.enterOuterAlt(e,3),this.state=1753,this.match(A.DELETE),this.state=1754,this.match(A.FROM),this.state=1755,this.identifierReference(),this.state=1756,this.tableAlias(),this.state=1758,this._errHandler.sync(this),t=this._input.LA(1),t===A.WHERE&&(this.state=1757,this.whereClause());break;case A.UPDATE:e=new we(e),this.enterOuterAlt(e,4),this.state=1760,this.match(A.UPDATE),this.state=1761,this.identifierReference(),this.state=1762,this.tableAlias(),this.state=1763,this.setClause(),this.state=1765,this._errHandler.sync(this),t=this._input.LA(1),t===A.WHERE&&(this.state=1764,this.whereClause());break;case A.MERGE:switch(e=new Be(e),this.enterOuterAlt(e,5),this.state=1767,this.match(A.MERGE),this.state=1768,this.match(A.INTO),this.state=1769,e._target=this.identifierReference(),this.state=1770,e._targetAlias=this.tableAlias(),this.state=1771,this.match(A.USING),this.state=1777,this._errHandler.sync(this),this.interpreter.adaptivePredict(this._input,187,this._ctx)){case 1:this.state=1772,e._source=this.identifierReference();break;case 2:this.state=1773,this.match(A.LEFT_PAREN),this.state=1774,e._sourceQuery=this.query(),this.state=1775,this.match(A.RIGHT_PAREN)}for(this.state=1779,e._sourceAlias=this.tableAlias(),this.state=1780,this.match(A.ON),this.state=1781,e._mergeCondition=this.booleanExpression(0),this.state=1785,this._errHandler.sync(this),r=this.interpreter.adaptivePredict(this._input,188,this._ctx);2!==r&&r!==o.ATN.INVALID_ALT_NUMBER;)1===r&&(this.state=1782,this.matchedClause()),this.state=1787,this._errHandler.sync(this),r=this.interpreter.adaptivePredict(this._input,188,this._ctx);for(this.state=1791,this._errHandler.sync(this),r=this.interpreter.adaptivePredict(this._input,189,this._ctx);2!==r&&r!==o.ATN.INVALID_ALT_NUMBER;)1===r&&(this.state=1788,this.notMatchedClause()),this.state=1793,this._errHandler.sync(this),r=this.interpreter.adaptivePredict(this._input,189,this._ctx);for(this.state=1797,this._errHandler.sync(this),t=this._input.LA(1);t===A.WHEN;)this.state=1794,this.notMatchedBySourceClause(),this.state=1799,this._errHandler.sync(this),t=this._input.LA(1);break;default:throw new h.NoViableAltException(this)}}catch(t){if(!(t instanceof T.RecognitionException))throw t;e.exception=t,this._errHandler.reportError(this,t),this._errHandler.recover(this,t)}finally{this.exitRule()}return e}identifierReference(){let t=new Ve(this._ctx,this.state);this.enterRule(t,96,A.RULE_identifierReference);try{switch(this.state=1808,this._errHandler.sync(this),this.interpreter.adaptivePredict(this._input,192,this._ctx)){case 1:this.enterOuterAlt(t,1),this.state=1802,this.match(A.IDENTIFIER_KW),this.state=1803,this.match(A.LEFT_PAREN),this.state=1804,this.expression(),this.state=1805,this.match(A.RIGHT_PAREN);break;case 2:this.enterOuterAlt(t,2),this.state=1807,this.multipartIdentifier()}}catch(e){if(!(e instanceof T.RecognitionException))throw e;t.exception=e,this._errHandler.reportError(this,e),this._errHandler.recover(this,e)}finally{this.exitRule()}return t}queryOrganization(){let t=new Ye(this._ctx,this.state);this.enterRule(t,98,A.RULE_queryOrganization);try{let e;if(this.enterOuterAlt(t,1),this.state=1820,this._errHandler.sync(this),1===this.interpreter.adaptivePredict(this._input,194,this._ctx))for(this.state=1810,this.match(A.ORDER),this.state=1811,this.match(A.BY),this.state=1812,t._sortItem=this.sortItem(),t._order.push(t._sortItem),this.state=1817,this._errHandler.sync(this),e=this.interpreter.adaptivePredict(this._input,193,this._ctx);2!==e&&e!==o.ATN.INVALID_ALT_NUMBER;)1===e&&(this.state=1813,this.match(A.COMMA),this.state=1814,t._sortItem=this.sortItem(),t._order.push(t._sortItem)),this.state=1819,this._errHandler.sync(this),e=this.interpreter.adaptivePredict(this._input,193,this._ctx);if(this.state=1832,this._errHandler.sync(this),1===this.interpreter.adaptivePredict(this._input,196,this._ctx))for(this.state=1822,this.match(A.CLUSTER),this.state=1823,this.match(A.BY),this.state=1824,t._expression=this.expression(),t._clusterBy.push(t._expression),this.state=1829,this._errHandler.sync(this),e=this.interpreter.adaptivePredict(this._input,195,this._ctx);2!==e&&e!==o.ATN.INVALID_ALT_NUMBER;)1===e&&(this.state=1825,this.match(A.COMMA),this.state=1826,t._expression=this.expression(),t._clusterBy.push(t._expression)),this.state=1831,this._errHandler.sync(this),e=this.interpreter.adaptivePredict(this._input,195,this._ctx);if(this.state=1844,this._errHandler.sync(this),1===this.interpreter.adaptivePredict(this._input,198,this._ctx))for(this.state=1834,this.match(A.DISTRIBUTE),this.state=1835,this.match(A.BY),this.state=1836,t._expression=this.expression(),t._distributeBy.push(t._expression),this.state=1841,this._errHandler.sync(this),e=this.interpreter.adaptivePredict(this._input,197,this._ctx);2!==e&&e!==o.ATN.INVALID_ALT_NUMBER;)1===e&&(this.state=1837,this.match(A.COMMA),this.state=1838,t._expression=this.expression(),t._distributeBy.push(t._expression)),this.state=1843,this._errHandler.sync(this),e=this.interpreter.adaptivePredict(this._input,197,this._ctx);if(this.state=1856,this._errHandler.sync(this),1===this.interpreter.adaptivePredict(this._input,200,this._ctx))for(this.state=1846,this.match(A.SORT),this.state=1847,this.match(A.BY),this.state=1848,t._sortItem=this.sortItem(),t._sort.push(t._sortItem),this.state=1853,this._errHandler.sync(this),e=this.interpreter.adaptivePredict(this._input,199,this._ctx);2!==e&&e!==o.ATN.INVALID_ALT_NUMBER;)1===e&&(this.state=1849,this.match(A.COMMA),this.state=1850,t._sortItem=this.sortItem(),t._sort.push(t._sortItem)),this.state=1855,this._errHandler.sync(this),e=this.interpreter.adaptivePredict(this._input,199,this._ctx);if(this.state=1859,this._errHandler.sync(this),1===this.interpreter.adaptivePredict(this._input,201,this._ctx))this.state=1858,this.windowClause();if(this.state=1866,this._errHandler.sync(this),1===this.interpreter.adaptivePredict(this._input,203,this._ctx))switch(this.state=1861,this.match(A.LIMIT),this.state=1864,this._errHandler.sync(this),this.interpreter.adaptivePredict(this._input,202,this._ctx)){case 1:this.state=1862,this.match(A.ALL);break;case 2:this.state=1863,t._limit=this.expression()}if(this.state=1870,this._errHandler.sync(this),1===this.interpreter.adaptivePredict(this._input,204,this._ctx))this.state=1868,this.match(A.OFFSET),this.state=1869,t._offset=this.expression()}catch(e){if(!(e instanceof T.RecognitionException))throw e;t.exception=e,this._errHandler.reportError(this,e),this._errHandler.recover(this,e)}finally{this.exitRule()}return t}multiInsertQueryBody(){let t=new We(this._ctx,this.state);this.enterRule(t,100,A.RULE_multiInsertQueryBody);try{this.enterOuterAlt(t,1),this.state=1872,this.insertInto(),this.state=1873,this.fromStatementBody()}catch(e){if(!(e instanceof T.RecognitionException))throw e;t.exception=e,this._errHandler.reportError(this,e),this._errHandler.recover(this,e)}finally{this.exitRule()}return t}queryTerm(t){void 0===t&&(t=0);let e,r=this._ctx,i=this.state,n=new Ke(this._ctx,i),s=n;this.enterRecursionRule(n,102,A.RULE_queryTerm,t);try{let t;for(this.enterOuterAlt(n,1),n=new Xe(n),this._ctx=n,s=n,this.state=1876,this.queryPrimary(),this._ctx._stop=this._input.tryLT(-1),this.state=1901,this._errHandler.sync(this),t=this.interpreter.adaptivePredict(this._input,209,this._ctx);2!==t&&t!==o.ATN.INVALID_ALT_NUMBER;){if(1===t)switch(null!=this._parseListeners&&this.triggerExitRuleEvent(),s=n,this.state=1899,this._errHandler.sync(this),this.interpreter.adaptivePredict(this._input,208,this._ctx)){case 1:if(n=new qe(new Ke(r,i)),n._left=s,this.pushNewRecursionContext(n,102,A.RULE_queryTerm),this.state=1878,!this.precpred(this._ctx,3))throw this.createFailedPredicateException("this.precpred(this._ctx, 3)");if(this.state=1879,!this.legacy_setops_precedence_enabled)throw this.createFailedPredicateException("this.legacy_setops_precedence_enabled");this.state=1880,n._operator=this._input.LT(1),e=this._input.LA(1),e!==A.EXCEPT&&e!==A.INTERSECT&&e!==A.SETMINUS&&e!==A.UNION?n._operator=this._errHandler.recoverInline(this):(this._input.LA(1)===R.Token.EOF&&(this.matchedEOF=!0),this._errHandler.reportMatch(this),this.consume()),this.state=1882,this._errHandler.sync(this),e=this._input.LA(1),e!==A.ALL&&e!==A.DISTINCT||(this.state=1881,this.setQuantifier()),this.state=1884,n._right=this.queryTerm(4);break;case 2:if(n=new qe(new Ke(r,i)),n._left=s,this.pushNewRecursionContext(n,102,A.RULE_queryTerm),this.state=1885,!this.precpred(this._ctx,2))throw this.createFailedPredicateException("this.precpred(this._ctx, 2)");if(this.state=1886,this.legacy_setops_precedence_enabled)throw this.createFailedPredicateException("!this.legacy_setops_precedence_enabled");this.state=1887,n._operator=this.match(A.INTERSECT),this.state=1889,this._errHandler.sync(this),e=this._input.LA(1),e!==A.ALL&&e!==A.DISTINCT||(this.state=1888,this.setQuantifier()),this.state=1891,n._right=this.queryTerm(3);break;case 3:if(n=new qe(new Ke(r,i)),n._left=s,this.pushNewRecursionContext(n,102,A.RULE_queryTerm),this.state=1892,!this.precpred(this._ctx,1))throw this.createFailedPredicateException("this.precpred(this._ctx, 1)");if(this.state=1893,this.legacy_setops_precedence_enabled)throw this.createFailedPredicateException("!this.legacy_setops_precedence_enabled");this.state=1894,n._operator=this._input.LT(1),e=this._input.LA(1),e!==A.EXCEPT&&e!==A.SETMINUS&&e!==A.UNION?n._operator=this._errHandler.recoverInline(this):(this._input.LA(1)===R.Token.EOF&&(this.matchedEOF=!0),this._errHandler.reportMatch(this),this.consume()),this.state=1896,this._errHandler.sync(this),e=this._input.LA(1),e!==A.ALL&&e!==A.DISTINCT||(this.state=1895,this.setQuantifier()),this.state=1898,n._right=this.queryTerm(2)}this.state=1903,this._errHandler.sync(this),t=this.interpreter.adaptivePredict(this._input,209,this._ctx)}}catch(t){if(!(t instanceof T.RecognitionException))throw t;n.exception=t,this._errHandler.reportError(this,t),this._errHandler.recover(this,t)}finally{this.unrollRecursionContexts(r)}return n}queryPrimary(){let t=new je(this._ctx,this.state);this.enterRule(t,104,A.RULE_queryPrimary);try{switch(this.state=1913,this._errHandler.sync(this),this._input.LA(1)){case A.MAP:case A.REDUCE:case A.SELECT:t=new Qe(t),this.enterOuterAlt(t,1),this.state=1904,this.querySpecification();break;case A.FROM:t=new ze(t),this.enterOuterAlt(t,2),this.state=1905,this.fromStatement();break;case A.TABLE:t=new $e(t),this.enterOuterAlt(t,3),this.state=1906,this.match(A.TABLE),this.state=1907,this.identifierReference();break;case A.VALUES:t=new Je(t),this.enterOuterAlt(t,4),this.state=1908,this.inlineTable();break;case A.LEFT_PAREN:t=new Ze(t),this.enterOuterAlt(t,5),this.state=1909,this.match(A.LEFT_PAREN),this.state=1910,this.query(),this.state=1911,this.match(A.RIGHT_PAREN);break;default:throw new h.NoViableAltException(this)}}catch(e){if(!(e instanceof T.RecognitionException))throw e;t.exception=e,this._errHandler.reportError(this,e),this._errHandler.recover(this,e)}finally{this.exitRule()}return t}sortItem(){let t,e=new tr(this._ctx,this.state);this.enterRule(e,106,A.RULE_sortItem);try{if(this.enterOuterAlt(e,1),this.state=1915,this.expression(),this.state=1917,this._errHandler.sync(this),1===this.interpreter.adaptivePredict(this._input,211,this._ctx))this.state=1916,e._ordering=this._input.LT(1),t=this._input.LA(1),t!==A.ASC&&t!==A.DESC?e._ordering=this._errHandler.recoverInline(this):(this._input.LA(1)===R.Token.EOF&&(this.matchedEOF=!0),this._errHandler.reportMatch(this),this.consume());if(this.state=1921,this._errHandler.sync(this),1===this.interpreter.adaptivePredict(this._input,212,this._ctx))this.state=1919,this.match(A.NULLS),this.state=1920,e._nullOrder=this._input.LT(1),t=this._input.LA(1),t!==A.FIRST&&t!==A.LAST?e._nullOrder=this._errHandler.recoverInline(this):(this._input.LA(1)===R.Token.EOF&&(this.matchedEOF=!0),this._errHandler.reportMatch(this),this.consume())}catch(t){if(!(t instanceof T.RecognitionException))throw t;e.exception=t,this._errHandler.reportError(this,t),this._errHandler.recover(this,t)}finally{this.exitRule()}return e}fromStatement(){let t=new er(this._ctx,this.state);this.enterRule(t,108,A.RULE_fromStatement);try{let e;this.enterOuterAlt(t,1),this.state=1923,this.fromClause(),this.state=1925,this._errHandler.sync(this),e=1;do{if(1!==e)throw new h.NoViableAltException(this);this.state=1924,this.fromStatementBody(),this.state=1927,this._errHandler.sync(this),e=this.interpreter.adaptivePredict(this._input,213,this._ctx)}while(2!==e&&e!==o.ATN.INVALID_ALT_NUMBER)}catch(e){if(!(e instanceof T.RecognitionException))throw e;t.exception=e,this._errHandler.reportError(this,e),this._errHandler.recover(this,e)}finally{this.exitRule()}return t}fromStatementBody(){let t=new rr(this._ctx,this.state);this.enterRule(t,110,A.RULE_fromStatementBody);try{let e;switch(this.state=1956,this._errHandler.sync(this),this.interpreter.adaptivePredict(this._input,220,this._ctx)){case 1:if(this.enterOuterAlt(t,1),this.state=1929,this.transformClause(),this.state=1931,this._errHandler.sync(this),1===this.interpreter.adaptivePredict(this._input,214,this._ctx))this.state=1930,this.whereClause();this.state=1933,this.queryOrganization();break;case 2:for(this.enterOuterAlt(t,2),this.state=1935,this.selectClause(),this.state=1939,this._errHandler.sync(this),e=this.interpreter.adaptivePredict(this._input,215,this._ctx);2!==e&&e!==o.ATN.INVALID_ALT_NUMBER;)1===e&&(this.state=1936,this.lateralView()),this.state=1941,this._errHandler.sync(this),e=this.interpreter.adaptivePredict(this._input,215,this._ctx);if(this.state=1943,this._errHandler.sync(this),1===this.interpreter.adaptivePredict(this._input,216,this._ctx))this.state=1942,this.whereClause();if(this.state=1946,this._errHandler.sync(this),1===this.interpreter.adaptivePredict(this._input,217,this._ctx))this.state=1945,this.aggregationClause();if(this.state=1949,this._errHandler.sync(this),1===this.interpreter.adaptivePredict(this._input,218,this._ctx))this.state=1948,this.havingClause();if(this.state=1952,this._errHandler.sync(this),1===this.interpreter.adaptivePredict(this._input,219,this._ctx))this.state=1951,this.windowClause();this.state=1954,this.queryOrganization()}}catch(e){if(!(e instanceof T.RecognitionException))throw e;t.exception=e,this._errHandler.reportError(this,e),this._errHandler.recover(this,e)}finally{this.exitRule()}return t}querySpecification(){let t=new ir(this._ctx,this.state);this.enterRule(t,112,A.RULE_querySpecification);try{let e;switch(this.state=2002,this._errHandler.sync(this),this.interpreter.adaptivePredict(this._input,233,this._ctx)){case 1:if(t=new nr(t),this.enterOuterAlt(t,1),this.state=1958,this.transformClause(),this.state=1960,this._errHandler.sync(this),1===this.interpreter.adaptivePredict(this._input,221,this._ctx))this.state=1959,this.fromClause();for(this.state=1965,this._errHandler.sync(this),e=this.interpreter.adaptivePredict(this._input,222,this._ctx);2!==e&&e!==o.ATN.INVALID_ALT_NUMBER;)1===e&&(this.state=1962,this.lateralView()),this.state=1967,this._errHandler.sync(this),e=this.interpreter.adaptivePredict(this._input,222,this._ctx);if(this.state=1969,this._errHandler.sync(this),1===this.interpreter.adaptivePredict(this._input,223,this._ctx))this.state=1968,this.whereClause();if(this.state=1972,this._errHandler.sync(this),1===this.interpreter.adaptivePredict(this._input,224,this._ctx))this.state=1971,this.aggregationClause();if(this.state=1975,this._errHandler.sync(this),1===this.interpreter.adaptivePredict(this._input,225,this._ctx))this.state=1974,this.havingClause();if(this.state=1978,this._errHandler.sync(this),1===this.interpreter.adaptivePredict(this._input,226,this._ctx))this.state=1977,this.windowClause();break;case 2:if(t=new sr(t),this.enterOuterAlt(t,2),this.state=1980,this.selectClause(),this.state=1982,this._errHandler.sync(this),1===this.interpreter.adaptivePredict(this._input,227,this._ctx))this.state=1981,this.fromClause();for(this.state=1987,this._errHandler.sync(this),e=this.interpreter.adaptivePredict(this._input,228,this._ctx);2!==e&&e!==o.ATN.INVALID_ALT_NUMBER;)1===e&&(this.state=1984,this.lateralView()),this.state=1989,this._errHandler.sync(this),e=this.interpreter.adaptivePredict(this._input,228,this._ctx);if(this.state=1991,this._errHandler.sync(this),1===this.interpreter.adaptivePredict(this._input,229,this._ctx))this.state=1990,this.whereClause();if(this.state=1994,this._errHandler.sync(this),1===this.interpreter.adaptivePredict(this._input,230,this._ctx))this.state=1993,this.aggregationClause();if(this.state=1997,this._errHandler.sync(this),1===this.interpreter.adaptivePredict(this._input,231,this._ctx))this.state=1996,this.havingClause();if(this.state=2e3,this._errHandler.sync(this),1===this.interpreter.adaptivePredict(this._input,232,this._ctx))this.state=1999,this.windowClause()}}catch(e){if(!(e instanceof T.RecognitionException))throw e;t.exception=e,this._errHandler.reportError(this,e),this._errHandler.recover(this,e)}finally{this.exitRule()}return t}transformClause(){let t,e=new or(this._ctx,this.state);this.enterRule(e,114,A.RULE_transformClause);try{switch(this.enterOuterAlt(e,1),this.state=2023,this._errHandler.sync(this),this._input.LA(1)){case A.SELECT:if(this.state=2004,this.match(A.SELECT),this.state=2005,e._kind=this.match(A.TRANSFORM),this.state=2006,this.match(A.LEFT_PAREN),this.state=2008,this._errHandler.sync(this),1===this.interpreter.adaptivePredict(this._input,234,this._ctx))this.state=2007,this.setQuantifier();this.state=2010,this.expressionSeq(),this.state=2011,this.match(A.RIGHT_PAREN);break;case A.MAP:if(this.state=2013,e._kind=this.match(A.MAP),this.state=2015,this._errHandler.sync(this),1===this.interpreter.adaptivePredict(this._input,235,this._ctx))this.state=2014,this.setQuantifier();this.state=2017,this.expressionSeq();break;case A.REDUCE:if(this.state=2018,e._kind=this.match(A.REDUCE),this.state=2020,this._errHandler.sync(this),1===this.interpreter.adaptivePredict(this._input,236,this._ctx))this.state=2019,this.setQuantifier();this.state=2022,this.expressionSeq();break;default:throw new h.NoViableAltException(this)}if(this.state=2026,this._errHandler.sync(this),t=this._input.LA(1),t===A.ROW&&(this.state=2025,e._inRowFormat=this.rowFormat()),this.state=2030,this._errHandler.sync(this),t=this._input.LA(1),t===A.RECORDWRITER&&(this.state=2028,this.match(A.RECORDWRITER),this.state=2029,e._recordWriter=this.stringLit()),this.state=2032,this.match(A.USING),this.state=2033,e._script=this.stringLit(),this.state=2046,this._errHandler.sync(this),1===this.interpreter.adaptivePredict(this._input,242,this._ctx))switch(this.state=2034,this.match(A.AS),this.state=2044,this._errHandler.sync(this),this.interpreter.adaptivePredict(this._input,241,this._ctx)){case 1:this.state=2035,this.identifierSeq();break;case 2:this.state=2036,this.colTypeList();break;case 3:switch(this.state=2037,this.match(A.LEFT_PAREN),this.state=2040,this._errHandler.sync(this),this.interpreter.adaptivePredict(this._input,240,this._ctx)){case 1:this.state=2038,this.identifierSeq();break;case 2:this.state=2039,this.colTypeList()}this.state=2042,this.match(A.RIGHT_PAREN)}if(this.state=2049,this._errHandler.sync(this),1===this.interpreter.adaptivePredict(this._input,243,this._ctx))this.state=2048,e._outRowFormat=this.rowFormat();if(this.state=2053,this._errHandler.sync(this),1===this.interpreter.adaptivePredict(this._input,244,this._ctx))this.state=2051,this.match(A.RECORDREADER),this.state=2052,e._recordReader=this.stringLit()}catch(t){if(!(t instanceof T.RecognitionException))throw t;e.exception=t,this._errHandler.reportError(this,t),this._errHandler.recover(this,t)}finally{this.exitRule()}return e}selectClause(){let t=new ar(this._ctx,this.state);this.enterRule(t,116,A.RULE_selectClause);try{let e;for(this.enterOuterAlt(t,1),this.state=2055,this.match(A.SELECT),this.state=2059,this._errHandler.sync(this),e=this.interpreter.adaptivePredict(this._input,245,this._ctx);2!==e&&e!==o.ATN.INVALID_ALT_NUMBER;)1===e&&(this.state=2056,t._hint=this.hint(),t._hints.push(t._hint)),this.state=2061,this._errHandler.sync(this),e=this.interpreter.adaptivePredict(this._input,245,this._ctx);if(this.state=2063,this._errHandler.sync(this),1===this.interpreter.adaptivePredict(this._input,246,this._ctx))this.state=2062,this.setQuantifier();this.state=2065,this.namedExpressionSeq()}catch(e){if(!(e instanceof T.RecognitionException))throw e;t.exception=e,this._errHandler.reportError(this,e),this._errHandler.recover(this,e)}finally{this.exitRule()}return t}setClause(){let t=new Er(this._ctx,this.state);this.enterRule(t,118,A.RULE_setClause);try{this.enterOuterAlt(t,1),this.state=2067,this.match(A.SET),this.state=2068,this.assignmentList()}catch(e){if(!(e instanceof T.RecognitionException))throw e;t.exception=e,this._errHandler.reportError(this,e),this._errHandler.recover(this,e)}finally{this.exitRule()}return t}matchedClause(){let t,e=new hr(this._ctx,this.state);this.enterRule(e,120,A.RULE_matchedClause);try{this.enterOuterAlt(e,1),this.state=2070,this.match(A.WHEN),this.state=2071,this.match(A.MATCHED),this.state=2074,this._errHandler.sync(this),t=this._input.LA(1),t===A.AND&&(this.state=2072,this.match(A.AND),this.state=2073,e._matchedCond=this.booleanExpression(0)),this.state=2076,this.match(A.THEN),this.state=2077,this.matchedAction()}catch(t){if(!(t instanceof T.RecognitionException))throw t;e.exception=t,this._errHandler.reportError(this,t),this._errHandler.recover(this,t)}finally{this.exitRule()}return e}notMatchedClause(){let t,e=new lr(this._ctx,this.state);this.enterRule(e,122,A.RULE_notMatchedClause);try{this.enterOuterAlt(e,1),this.state=2079,this.match(A.WHEN),this.state=2080,this.match(A.NOT),this.state=2081,this.match(A.MATCHED),this.state=2084,this._errHandler.sync(this),t=this._input.LA(1),t===A.BY&&(this.state=2082,this.match(A.BY),this.state=2083,this.match(A.TARGET)),this.state=2088,this._errHandler.sync(this),t=this._input.LA(1),t===A.AND&&(this.state=2086,this.match(A.AND),this.state=2087,e._notMatchedCond=this.booleanExpression(0)),this.state=2090,this.match(A.THEN),this.state=2091,this.notMatchedAction()}catch(t){if(!(t instanceof T.RecognitionException))throw t;e.exception=t,this._errHandler.reportError(this,t),this._errHandler.recover(this,t)}finally{this.exitRule()}return e}notMatchedBySourceClause(){let t,e=new ur(this._ctx,this.state);this.enterRule(e,124,A.RULE_notMatchedBySourceClause);try{this.enterOuterAlt(e,1),this.state=2093,this.match(A.WHEN),this.state=2094,this.match(A.NOT),this.state=2095,this.match(A.MATCHED),this.state=2096,this.match(A.BY),this.state=2097,this.match(A.SOURCE),this.state=2100,this._errHandler.sync(this),t=this._input.LA(1),t===A.AND&&(this.state=2098,this.match(A.AND),this.state=2099,e._notMatchedBySourceCond=this.booleanExpression(0)),this.state=2102,this.match(A.THEN),this.state=2103,this.notMatchedBySourceAction()}catch(t){if(!(t instanceof T.RecognitionException))throw t;e.exception=t,this._errHandler.reportError(this,t),this._errHandler.recover(this,t)}finally{this.exitRule()}return e}matchedAction(){let t=new cr(this._ctx,this.state);this.enterRule(t,126,A.RULE_matchedAction);try{switch(this.state=2112,this._errHandler.sync(this),this.interpreter.adaptivePredict(this._input,251,this._ctx)){case 1:this.enterOuterAlt(t,1),this.state=2105,this.match(A.DELETE);break;case 2:this.enterOuterAlt(t,2),this.state=2106,this.match(A.UPDATE),this.state=2107,this.match(A.SET),this.state=2108,this.match(A.ASTERISK);break;case 3:this.enterOuterAlt(t,3),this.state=2109,this.match(A.UPDATE),this.state=2110,this.match(A.SET),this.state=2111,this.assignmentList()}}catch(e){if(!(e instanceof T.RecognitionException))throw e;t.exception=e,this._errHandler.reportError(this,e),this._errHandler.recover(this,e)}finally{this.exitRule()}return t}notMatchedAction(){let t,e=new Tr(this._ctx,this.state);this.enterRule(e,128,A.RULE_notMatchedAction);try{switch(this.state=2132,this._errHandler.sync(this),this.interpreter.adaptivePredict(this._input,253,this._ctx)){case 1:this.enterOuterAlt(e,1),this.state=2114,this.match(A.INSERT),this.state=2115,this.match(A.ASTERISK);break;case 2:for(this.enterOuterAlt(e,2),this.state=2116,this.match(A.INSERT),this.state=2117,this.match(A.LEFT_PAREN),this.state=2118,e._columns=this.multipartIdentifierList(),this.state=2119,this.match(A.RIGHT_PAREN),this.state=2120,this.match(A.VALUES),this.state=2121,this.match(A.LEFT_PAREN),this.state=2122,this.expression(),this.state=2127,this._errHandler.sync(this),t=this._input.LA(1);t===A.COMMA;)this.state=2123,this.match(A.COMMA),this.state=2124,this.expression(),this.state=2129,this._errHandler.sync(this),t=this._input.LA(1);this.state=2130,this.match(A.RIGHT_PAREN)}}catch(t){if(!(t instanceof T.RecognitionException))throw t;e.exception=t,this._errHandler.reportError(this,t),this._errHandler.recover(this,t)}finally{this.exitRule()}return e}notMatchedBySourceAction(){let t=new Rr(this._ctx,this.state);this.enterRule(t,130,A.RULE_notMatchedBySourceAction);try{switch(this.state=2138,this._errHandler.sync(this),this._input.LA(1)){case A.DELETE:this.enterOuterAlt(t,1),this.state=2134,this.match(A.DELETE);break;case A.UPDATE:this.enterOuterAlt(t,2),this.state=2135,this.match(A.UPDATE),this.state=2136,this.match(A.SET),this.state=2137,this.assignmentList();break;default:throw new h.NoViableAltException(this)}}catch(e){if(!(e instanceof T.RecognitionException))throw e;t.exception=e,this._errHandler.reportError(this,e),this._errHandler.recover(this,e)}finally{this.exitRule()}return t}assignmentList(){let t,e=new pr(this._ctx,this.state);this.enterRule(e,132,A.RULE_assignmentList);try{for(this.enterOuterAlt(e,1),this.state=2140,this.assignment(),this.state=2145,this._errHandler.sync(this),t=this._input.LA(1);t===A.COMMA;)this.state=2141,this.match(A.COMMA),this.state=2142,this.assignment(),this.state=2147,this._errHandler.sync(this),t=this._input.LA(1)}catch(t){if(!(t instanceof T.RecognitionException))throw t;e.exception=t,this._errHandler.reportError(this,t),this._errHandler.recover(this,t)}finally{this.exitRule()}return e}assignment(){let t=new Sr(this._ctx,this.state);this.enterRule(t,134,A.RULE_assignment);try{this.enterOuterAlt(t,1),this.state=2148,t._key=this.multipartIdentifier(),this.state=2149,this.match(A.EQ),this.state=2150,t._value=this.expression()}catch(e){if(!(e instanceof T.RecognitionException))throw e;t.exception=e,this._errHandler.reportError(this,e),this._errHandler.recover(this,e)}finally{this.exitRule()}return t}whereClause(){let t=new Ar(this._ctx,this.state);this.enterRule(t,136,A.RULE_whereClause);try{this.enterOuterAlt(t,1),this.state=2152,this.match(A.WHERE),this.state=2153,this.booleanExpression(0)}catch(e){if(!(e instanceof T.RecognitionException))throw e;t.exception=e,this._errHandler.reportError(this,e),this._errHandler.recover(this,e)}finally{this.exitRule()}return t}havingClause(){let t=new dr(this._ctx,this.state);this.enterRule(t,138,A.RULE_havingClause);try{this.enterOuterAlt(t,1),this.state=2155,this.match(A.HAVING),this.state=2156,this.booleanExpression(0)}catch(e){if(!(e instanceof T.RecognitionException))throw e;t.exception=e,this._errHandler.reportError(this,e),this._errHandler.recover(this,e)}finally{this.exitRule()}return t}hint(){let t=new Nr(this._ctx,this.state);this.enterRule(t,140,A.RULE_hint);try{let e;for(this.enterOuterAlt(t,1),this.state=2158,this.match(A.HENT_START),this.state=2159,t._hintStatement=this.hintStatement(),t._hintStatements.push(t._hintStatement),this.state=2166,this._errHandler.sync(this),e=this.interpreter.adaptivePredict(this._input,257,this._ctx);2!==e&&e!==o.ATN.INVALID_ALT_NUMBER;){if(1===e){if(this.state=2161,this._errHandler.sync(this),1===this.interpreter.adaptivePredict(this._input,256,this._ctx))this.state=2160,this.match(A.COMMA);this.state=2163,t._hintStatement=this.hintStatement(),t._hintStatements.push(t._hintStatement)}this.state=2168,this._errHandler.sync(this),e=this.interpreter.adaptivePredict(this._input,257,this._ctx)}this.state=2169,this.match(A.HENT_END)}catch(e){if(!(e instanceof T.RecognitionException))throw e;t.exception=e,this._errHandler.reportError(this,e),this._errHandler.recover(this,e)}finally{this.exitRule()}return t}hintStatement(){let t,e=new Or(this._ctx,this.state);this.enterRule(e,142,A.RULE_hintStatement);try{switch(this.state=2184,this._errHandler.sync(this),this.interpreter.adaptivePredict(this._input,259,this._ctx)){case 1:this.enterOuterAlt(e,1),this.state=2171,e._hintName=this.identifier();break;case 2:for(this.enterOuterAlt(e,2),this.state=2172,e._hintName=this.identifier(),this.state=2173,this.match(A.LEFT_PAREN),this.state=2174,e._primaryExpression=this.primaryExpression(0),e._parameters.push(e._primaryExpression),this.state=2179,this._errHandler.sync(this),t=this._input.LA(1);t===A.COMMA;)this.state=2175,this.match(A.COMMA),this.state=2176,e._primaryExpression=this.primaryExpression(0),e._parameters.push(e._primaryExpression),this.state=2181,this._errHandler.sync(this),t=this._input.LA(1);this.state=2182,this.match(A.RIGHT_PAREN)}}catch(t){if(!(t instanceof T.RecognitionException))throw t;e.exception=t,this._errHandler.reportError(this,t),this._errHandler.recover(this,t)}finally{this.exitRule()}return e}fromClause(){let t=new Cr(this._ctx,this.state);this.enterRule(t,144,A.RULE_fromClause);try{let e;for(this.enterOuterAlt(t,1),this.state=2186,this.match(A.FROM),this.state=2187,this.relation(),this.state=2192,this._errHandler.sync(this),e=this.interpreter.adaptivePredict(this._input,260,this._ctx);2!==e&&e!==o.ATN.INVALID_ALT_NUMBER;)1===e&&(this.state=2188,this.match(A.COMMA),this.state=2189,this.relation()),this.state=2194,this._errHandler.sync(this),e=this.interpreter.adaptivePredict(this._input,260,this._ctx);for(this.state=2198,this._errHandler.sync(this),e=this.interpreter.adaptivePredict(this._input,261,this._ctx);2!==e&&e!==o.ATN.INVALID_ALT_NUMBER;)1===e&&(this.state=2195,this.lateralView()),this.state=2200,this._errHandler.sync(this),e=this.interpreter.adaptivePredict(this._input,261,this._ctx);if(this.state=2202,this._errHandler.sync(this),1===this.interpreter.adaptivePredict(this._input,262,this._ctx))this.state=2201,this.pivotClause();if(this.state=2205,this._errHandler.sync(this),1===this.interpreter.adaptivePredict(this._input,263,this._ctx))this.state=2204,this.unpivotClause()}catch(e){if(!(e instanceof T.RecognitionException))throw e;t.exception=e,this._errHandler.reportError(this,e),this._errHandler.recover(this,e)}finally{this.exitRule()}return t}temporalClause(){let t,e=new _r(this._ctx,this.state);this.enterRule(e,146,A.RULE_temporalClause);try{switch(this.state=2221,this._errHandler.sync(this),this.interpreter.adaptivePredict(this._input,266,this._ctx)){case 1:this.enterOuterAlt(e,1),this.state=2208,this._errHandler.sync(this),t=this._input.LA(1),t===A.FOR&&(this.state=2207,this.match(A.FOR)),this.state=2210,t=this._input.LA(1),t!==A.SYSTEM_VERSION&&t!==A.VERSION?this._errHandler.recoverInline(this):(this._input.LA(1)===R.Token.EOF&&(this.matchedEOF=!0),this._errHandler.reportMatch(this),this.consume()),this.state=2211,this.match(A.AS),this.state=2212,this.match(A.OF),this.state=2213,this.version();break;case 2:this.enterOuterAlt(e,2),this.state=2215,this._errHandler.sync(this),t=this._input.LA(1),t===A.FOR&&(this.state=2214,this.match(A.FOR)),this.state=2217,t=this._input.LA(1),t!==A.SYSTEM_TIME&&t!==A.TIMESTAMP?this._errHandler.recoverInline(this):(this._input.LA(1)===R.Token.EOF&&(this.matchedEOF=!0),this._errHandler.reportMatch(this),this.consume()),this.state=2218,this.match(A.AS),this.state=2219,this.match(A.OF),this.state=2220,e._timestamp=this.valueExpression(0)}}catch(t){if(!(t instanceof T.RecognitionException))throw t;e.exception=t,this._errHandler.reportError(this,t),this._errHandler.recover(this,t)}finally{this.exitRule()}return e}aggregationClause(){let t,e=new Ir(this._ctx,this.state);this.enterRule(e,148,A.RULE_aggregationClause);try{let r;switch(this.state=2262,this._errHandler.sync(this),this.interpreter.adaptivePredict(this._input,271,this._ctx)){case 1:for(this.enterOuterAlt(e,1),this.state=2223,this.match(A.GROUP),this.state=2224,this.match(A.BY),this.state=2225,e._groupByClause=this.groupByClause(),e._groupingExpressionsWithGroupingAnalytics.push(e._groupByClause),this.state=2230,this._errHandler.sync(this),r=this.interpreter.adaptivePredict(this._input,267,this._ctx);2!==r&&r!==o.ATN.INVALID_ALT_NUMBER;)1===r&&(this.state=2226,this.match(A.COMMA),this.state=2227,e._groupByClause=this.groupByClause(),e._groupingExpressionsWithGroupingAnalytics.push(e._groupByClause)),this.state=2232,this._errHandler.sync(this),r=this.interpreter.adaptivePredict(this._input,267,this._ctx);break;case 2:for(this.enterOuterAlt(e,2),this.state=2233,this.match(A.GROUP),this.state=2234,this.match(A.BY),this.state=2235,e._expression=this.expression(),e._groupingExpressions.push(e._expression),this.state=2240,this._errHandler.sync(this),r=this.interpreter.adaptivePredict(this._input,268,this._ctx);2!==r&&r!==o.ATN.INVALID_ALT_NUMBER;)1===r&&(this.state=2236,this.match(A.COMMA),this.state=2237,e._expression=this.expression(),e._groupingExpressions.push(e._expression)),this.state=2242,this._errHandler.sync(this),r=this.interpreter.adaptivePredict(this._input,268,this._ctx);switch(this.state=2260,this._errHandler.sync(this),this.interpreter.adaptivePredict(this._input,270,this._ctx)){case 1:this.state=2243,this.match(A.WITH),this.state=2244,e._kind=this.match(A.ROLLUP);break;case 2:this.state=2245,this.match(A.WITH),this.state=2246,e._kind=this.match(A.CUBE);break;case 3:for(this.state=2247,e._kind=this.match(A.GROUPING),this.state=2248,this.match(A.SETS),this.state=2249,this.match(A.LEFT_PAREN),this.state=2250,this.groupingSet(),this.state=2255,this._errHandler.sync(this),t=this._input.LA(1);t===A.COMMA;)this.state=2251,this.match(A.COMMA),this.state=2252,this.groupingSet(),this.state=2257,this._errHandler.sync(this),t=this._input.LA(1);this.state=2258,this.match(A.RIGHT_PAREN)}}}catch(t){if(!(t instanceof T.RecognitionException))throw t;e.exception=t,this._errHandler.reportError(this,t),this._errHandler.recover(this,t)}finally{this.exitRule()}return e}groupByClause(){let t=new Lr(this._ctx,this.state);this.enterRule(t,150,A.RULE_groupByClause);try{switch(this.state=2266,this._errHandler.sync(this),this.interpreter.adaptivePredict(this._input,272,this._ctx)){case 1:this.enterOuterAlt(t,1),this.state=2264,this.groupingAnalytics();break;case 2:this.enterOuterAlt(t,2),this.state=2265,this.expression()}}catch(e){if(!(e instanceof T.RecognitionException))throw e;t.exception=e,this._errHandler.reportError(this,e),this._errHandler.recover(this,e)}finally{this.exitRule()}return t}groupingAnalytics(){let t,e=new fr(this._ctx,this.state);this.enterRule(e,152,A.RULE_groupingAnalytics);try{switch(this.state=2293,this._errHandler.sync(this),this._input.LA(1)){case A.CUBE:case A.ROLLUP:for(this.enterOuterAlt(e,1),this.state=2268,t=this._input.LA(1),t!==A.CUBE&&t!==A.ROLLUP?this._errHandler.recoverInline(this):(this._input.LA(1)===R.Token.EOF&&(this.matchedEOF=!0),this._errHandler.reportMatch(this),this.consume()),this.state=2269,this.match(A.LEFT_PAREN),this.state=2270,this.groupingSet(),this.state=2275,this._errHandler.sync(this),t=this._input.LA(1);t===A.COMMA;)this.state=2271,this.match(A.COMMA),this.state=2272,this.groupingSet(),this.state=2277,this._errHandler.sync(this),t=this._input.LA(1);this.state=2278,this.match(A.RIGHT_PAREN);break;case A.GROUPING:for(this.enterOuterAlt(e,2),this.state=2280,this.match(A.GROUPING),this.state=2281,this.match(A.SETS),this.state=2282,this.match(A.LEFT_PAREN),this.state=2283,this.groupingElement(),this.state=2288,this._errHandler.sync(this),t=this._input.LA(1);t===A.COMMA;)this.state=2284,this.match(A.COMMA),this.state=2285,this.groupingElement(),this.state=2290,this._errHandler.sync(this),t=this._input.LA(1);this.state=2291,this.match(A.RIGHT_PAREN);break;default:throw new h.NoViableAltException(this)}}catch(t){if(!(t instanceof T.RecognitionException))throw t;e.exception=t,this._errHandler.reportError(this,t),this._errHandler.recover(this,t)}finally{this.exitRule()}return e}groupingElement(){let t=new mr(this._ctx,this.state);this.enterRule(t,154,A.RULE_groupingElement);try{switch(this.state=2297,this._errHandler.sync(this),this.interpreter.adaptivePredict(this._input,276,this._ctx)){case 1:this.enterOuterAlt(t,1),this.state=2295,this.groupingAnalytics();break;case 2:this.enterOuterAlt(t,2),this.state=2296,this.groupingSet()}}catch(e){if(!(e instanceof T.RecognitionException))throw e;t.exception=e,this._errHandler.reportError(this,e),this._errHandler.recover(this,e)}finally{this.exitRule()}return t}groupingSet(){let t,e=new yr(this._ctx,this.state);this.enterRule(e,156,A.RULE_groupingSet);try{switch(this.state=2312,this._errHandler.sync(this),this.interpreter.adaptivePredict(this._input,279,this._ctx)){case 1:if(this.enterOuterAlt(e,1),this.state=2299,this.match(A.LEFT_PAREN),this.state=2308,this._errHandler.sync(this),1===this.interpreter.adaptivePredict(this._input,278,this._ctx))for(this.state=2300,this.expression(),this.state=2305,this._errHandler.sync(this),t=this._input.LA(1);t===A.COMMA;)this.state=2301,this.match(A.COMMA),this.state=2302,this.expression(),this.state=2307,this._errHandler.sync(this),t=this._input.LA(1);this.state=2310,this.match(A.RIGHT_PAREN);break;case 2:this.enterOuterAlt(e,2),this.state=2311,this.expression()}}catch(t){if(!(t instanceof T.RecognitionException))throw t;e.exception=t,this._errHandler.reportError(this,t),this._errHandler.recover(this,t)}finally{this.exitRule()}return e}pivotClause(){let t,e=new xr(this._ctx,this.state);this.enterRule(e,158,A.RULE_pivotClause);try{for(this.enterOuterAlt(e,1),this.state=2314,this.match(A.PIVOT),this.state=2315,this.match(A.LEFT_PAREN),this.state=2316,e._aggregates=this.namedExpressionSeq(),this.state=2317,this.match(A.FOR),this.state=2318,this.pivotColumn(),this.state=2319,this.match(A.IN),this.state=2320,this.match(A.LEFT_PAREN),this.state=2321,e._pivotValue=this.pivotValue(),e._pivotValues.push(e._pivotValue),this.state=2326,this._errHandler.sync(this),t=this._input.LA(1);t===A.COMMA;)this.state=2322,this.match(A.COMMA),this.state=2323,e._pivotValue=this.pivotValue(),e._pivotValues.push(e._pivotValue),this.state=2328,this._errHandler.sync(this),t=this._input.LA(1);this.state=2329,this.match(A.RIGHT_PAREN),this.state=2330,this.match(A.RIGHT_PAREN)}catch(t){if(!(t instanceof T.RecognitionException))throw t;e.exception=t,this._errHandler.reportError(this,t),this._errHandler.recover(this,t)}finally{this.exitRule()}return e}pivotColumn(){let t,e=new gr(this._ctx,this.state);this.enterRule(e,160,A.RULE_pivotColumn);try{switch(this.state=2344,this._errHandler.sync(this),this.interpreter.adaptivePredict(this._input,282,this._ctx)){case 1:this.enterOuterAlt(e,1),this.state=2332,e._identifier=this.identifier(),e._identifiers.push(e._identifier);break;case 2:for(this.enterOuterAlt(e,2),this.state=2333,this.match(A.LEFT_PAREN),this.state=2334,e._identifier=this.identifier(),e._identifiers.push(e._identifier),this.state=2339,this._errHandler.sync(this),t=this._input.LA(1);t===A.COMMA;)this.state=2335,this.match(A.COMMA),this.state=2336,e._identifier=this.identifier(),e._identifiers.push(e._identifier),this.state=2341,this._errHandler.sync(this),t=this._input.LA(1);this.state=2342,this.match(A.RIGHT_PAREN)}}catch(t){if(!(t instanceof T.RecognitionException))throw t;e.exception=t,this._errHandler.reportError(this,t),this._errHandler.recover(this,t)}finally{this.exitRule()}return e}pivotValue(){let t=new Pr(this._ctx,this.state);this.enterRule(t,162,A.RULE_pivotValue);try{if(this.enterOuterAlt(t,1),this.state=2346,this.expression(),this.state=2351,this._errHandler.sync(this),1===this.interpreter.adaptivePredict(this._input,284,this._ctx)){if(this.state=2348,this._errHandler.sync(this),1===this.interpreter.adaptivePredict(this._input,283,this._ctx))this.state=2347,this.match(A.AS);this.state=2350,this.identifier()}}catch(e){if(!(e instanceof T.RecognitionException))throw e;t.exception=e,this._errHandler.reportError(this,e),this._errHandler.recover(this,e)}finally{this.exitRule()}return t}unpivotClause(){let t,e=new Dr(this._ctx,this.state);this.enterRule(e,164,A.RULE_unpivotClause);try{if(this.enterOuterAlt(e,1),this.state=2353,this.match(A.UNPIVOT),this.state=2355,this._errHandler.sync(this),t=this._input.LA(1),t!==A.EXCLUDE&&t!==A.INCLUDE||(this.state=2354,e._nullOperator=this.unpivotNullClause()),this.state=2357,this.match(A.LEFT_PAREN),this.state=2358,e._operator=this.unpivotOperator(),this.state=2359,this.match(A.RIGHT_PAREN),this.state=2364,this._errHandler.sync(this),1===this.interpreter.adaptivePredict(this._input,287,this._ctx)){if(this.state=2361,this._errHandler.sync(this),1===this.interpreter.adaptivePredict(this._input,286,this._ctx))this.state=2360,this.match(A.AS);this.state=2363,this.identifier()}}catch(t){if(!(t instanceof T.RecognitionException))throw t;e.exception=t,this._errHandler.reportError(this,t),this._errHandler.recover(this,t)}finally{this.exitRule()}return e}unpivotNullClause(){let t,e=new Mr(this._ctx,this.state);this.enterRule(e,166,A.RULE_unpivotNullClause);try{this.enterOuterAlt(e,1),this.state=2366,t=this._input.LA(1),t!==A.EXCLUDE&&t!==A.INCLUDE?this._errHandler.recoverInline(this):(this._input.LA(1)===R.Token.EOF&&(this.matchedEOF=!0),this._errHandler.reportMatch(this),this.consume()),this.state=2367,this.match(A.NULLS)}catch(t){if(!(t instanceof T.RecognitionException))throw t;e.exception=t,this._errHandler.reportError(this,t),this._errHandler.recover(this,t)}finally{this.exitRule()}return e}unpivotOperator(){let t=new vr(this._ctx,this.state);this.enterRule(t,168,A.RULE_unpivotOperator);try{switch(this.enterOuterAlt(t,1),this.state=2371,this._errHandler.sync(this),this.interpreter.adaptivePredict(this._input,288,this._ctx)){case 1:this.state=2369,this.unpivotSingleValueColumnClause();break;case 2:this.state=2370,this.unpivotMultiValueColumnClause()}}catch(e){if(!(e instanceof T.RecognitionException))throw e;t.exception=e,this._errHandler.reportError(this,e),this._errHandler.recover(this,e)}finally{this.exitRule()}return t}unpivotSingleValueColumnClause(){let t,e=new Ur(this._ctx,this.state);this.enterRule(e,170,A.RULE_unpivotSingleValueColumnClause);try{for(this.enterOuterAlt(e,1),this.state=2373,this.unpivotValueColumn(),this.state=2374,this.match(A.FOR),this.state=2375,this.unpivotNameColumn(),this.state=2376,this.match(A.IN),this.state=2377,this.match(A.LEFT_PAREN),this.state=2378,e._unpivotColumnAndAlias=this.unpivotColumnAndAlias(),e._unpivotColumns.push(e._unpivotColumnAndAlias),this.state=2383,this._errHandler.sync(this),t=this._input.LA(1);t===A.COMMA;)this.state=2379,this.match(A.COMMA),this.state=2380,e._unpivotColumnAndAlias=this.unpivotColumnAndAlias(),e._unpivotColumns.push(e._unpivotColumnAndAlias),this.state=2385,this._errHandler.sync(this),t=this._input.LA(1);this.state=2386,this.match(A.RIGHT_PAREN)}catch(t){if(!(t instanceof T.RecognitionException))throw t;e.exception=t,this._errHandler.reportError(this,t),this._errHandler.recover(this,t)}finally{this.exitRule()}return e}unpivotMultiValueColumnClause(){let t,e=new kr(this._ctx,this.state);this.enterRule(e,172,A.RULE_unpivotMultiValueColumnClause);try{for(this.enterOuterAlt(e,1),this.state=2388,this.match(A.LEFT_PAREN),this.state=2389,e._unpivotValueColumn=this.unpivotValueColumn(),e._unpivotValueColumns.push(e._unpivotValueColumn),this.state=2394,this._errHandler.sync(this),t=this._input.LA(1);t===A.COMMA;)this.state=2390,this.match(A.COMMA),this.state=2391,e._unpivotValueColumn=this.unpivotValueColumn(),e._unpivotValueColumns.push(e._unpivotValueColumn),this.state=2396,this._errHandler.sync(this),t=this._input.LA(1);for(this.state=2397,this.match(A.RIGHT_PAREN),this.state=2398,this.match(A.FOR),this.state=2399,this.unpivotNameColumn(),this.state=2400,this.match(A.IN),this.state=2401,this.match(A.LEFT_PAREN),this.state=2402,e._unpivotColumnSet=this.unpivotColumnSet(),e._unpivotColumnSets.push(e._unpivotColumnSet),this.state=2407,this._errHandler.sync(this),t=this._input.LA(1);t===A.COMMA;)this.state=2403,this.match(A.COMMA),this.state=2404,e._unpivotColumnSet=this.unpivotColumnSet(),e._unpivotColumnSets.push(e._unpivotColumnSet),this.state=2409,this._errHandler.sync(this),t=this._input.LA(1);this.state=2410,this.match(A.RIGHT_PAREN)}catch(t){if(!(t instanceof T.RecognitionException))throw t;e.exception=t,this._errHandler.reportError(this,t),this._errHandler.recover(this,t)}finally{this.exitRule()}return e}unpivotColumnSet(){let t,e=new br(this._ctx,this.state);this.enterRule(e,174,A.RULE_unpivotColumnSet);try{for(this.enterOuterAlt(e,1),this.state=2412,this.match(A.LEFT_PAREN),this.state=2413,e._unpivotColumn=this.unpivotColumn(),e._unpivotColumns.push(e._unpivotColumn),this.state=2418,this._errHandler.sync(this),t=this._input.LA(1);t===A.COMMA;)this.state=2414,this.match(A.COMMA),this.state=2415,e._unpivotColumn=this.unpivotColumn(),e._unpivotColumns.push(e._unpivotColumn),this.state=2420,this._errHandler.sync(this),t=this._input.LA(1);if(this.state=2421,this.match(A.RIGHT_PAREN),this.state=2423,this._errHandler.sync(this),1===this.interpreter.adaptivePredict(this._input,293,this._ctx))this.state=2422,this.unpivotAlias()}catch(t){if(!(t instanceof T.RecognitionException))throw t;e.exception=t,this._errHandler.reportError(this,t),this._errHandler.recover(this,t)}finally{this.exitRule()}return e}unpivotValueColumn(){let t=new Gr(this._ctx,this.state);this.enterRule(t,176,A.RULE_unpivotValueColumn);try{this.enterOuterAlt(t,1),this.state=2425,this.identifier()}catch(e){if(!(e instanceof T.RecognitionException))throw e;t.exception=e,this._errHandler.reportError(this,e),this._errHandler.recover(this,e)}finally{this.exitRule()}return t}unpivotNameColumn(){let t=new Fr(this._ctx,this.state);this.enterRule(t,178,A.RULE_unpivotNameColumn);try{this.enterOuterAlt(t,1),this.state=2427,this.identifier()}catch(e){if(!(e instanceof T.RecognitionException))throw e;t.exception=e,this._errHandler.reportError(this,e),this._errHandler.recover(this,e)}finally{this.exitRule()}return t}unpivotColumnAndAlias(){let t=new Hr(this._ctx,this.state);this.enterRule(t,180,A.RULE_unpivotColumnAndAlias);try{if(this.enterOuterAlt(t,1),this.state=2429,this.unpivotColumn(),this.state=2431,this._errHandler.sync(this),1===this.interpreter.adaptivePredict(this._input,294,this._ctx))this.state=2430,this.unpivotAlias()}catch(e){if(!(e instanceof T.RecognitionException))throw e;t.exception=e,this._errHandler.reportError(this,e),this._errHandler.recover(this,e)}finally{this.exitRule()}return t}unpivotColumn(){let t=new wr(this._ctx,this.state);this.enterRule(t,182,A.RULE_unpivotColumn);try{this.enterOuterAlt(t,1),this.state=2433,this.multipartIdentifier()}catch(e){if(!(e instanceof T.RecognitionException))throw e;t.exception=e,this._errHandler.reportError(this,e),this._errHandler.recover(this,e)}finally{this.exitRule()}return t}unpivotAlias(){let t=new Br(this._ctx,this.state);this.enterRule(t,184,A.RULE_unpivotAlias);try{if(this.enterOuterAlt(t,1),this.state=2436,this._errHandler.sync(this),1===this.interpreter.adaptivePredict(this._input,295,this._ctx))this.state=2435,this.match(A.AS);this.state=2438,this.identifier()}catch(e){if(!(e instanceof T.RecognitionException))throw e;t.exception=e,this._errHandler.reportError(this,e),this._errHandler.recover(this,e)}finally{this.exitRule()}return t}lateralView(){let t,e=new Vr(this._ctx,this.state);this.enterRule(e,186,A.RULE_lateralView);try{let r;if(this.enterOuterAlt(e,1),this.state=2440,this.match(A.LATERAL),this.state=2441,this.match(A.VIEW),this.state=2443,this._errHandler.sync(this),1===this.interpreter.adaptivePredict(this._input,296,this._ctx))this.state=2442,this.match(A.OUTER);if(this.state=2445,this.qualifiedName(),this.state=2446,this.match(A.LEFT_PAREN),this.state=2455,this._errHandler.sync(this),1===this.interpreter.adaptivePredict(this._input,298,this._ctx))for(this.state=2447,this.expression(),this.state=2452,this._errHandler.sync(this),t=this._input.LA(1);t===A.COMMA;)this.state=2448,this.match(A.COMMA),this.state=2449,this.expression(),this.state=2454,this._errHandler.sync(this),t=this._input.LA(1);if(this.state=2457,this.match(A.RIGHT_PAREN),this.state=2458,e._tblName=this.identifier(),this.state=2470,this._errHandler.sync(this),1===this.interpreter.adaptivePredict(this._input,301,this._ctx)){if(this.state=2460,this._errHandler.sync(this),1===this.interpreter.adaptivePredict(this._input,299,this._ctx))this.state=2459,this.match(A.AS);for(this.state=2462,e._identifier=this.identifier(),e._colName.push(e._identifier),this.state=2467,this._errHandler.sync(this),r=this.interpreter.adaptivePredict(this._input,300,this._ctx);2!==r&&r!==o.ATN.INVALID_ALT_NUMBER;)1===r&&(this.state=2463,this.match(A.COMMA),this.state=2464,e._identifier=this.identifier(),e._colName.push(e._identifier)),this.state=2469,this._errHandler.sync(this),r=this.interpreter.adaptivePredict(this._input,300,this._ctx)}}catch(t){if(!(t instanceof T.RecognitionException))throw t;e.exception=t,this._errHandler.reportError(this,t),this._errHandler.recover(this,t)}finally{this.exitRule()}return e}setQuantifier(){let t,e=new Yr(this._ctx,this.state);this.enterRule(e,188,A.RULE_setQuantifier);try{this.enterOuterAlt(e,1),this.state=2472,t=this._input.LA(1),t!==A.ALL&&t!==A.DISTINCT?this._errHandler.recoverInline(this):(this._input.LA(1)===R.Token.EOF&&(this.matchedEOF=!0),this._errHandler.reportMatch(this),this.consume())}catch(t){if(!(t instanceof T.RecognitionException))throw t;e.exception=t,this._errHandler.reportError(this,t),this._errHandler.recover(this,t)}finally{this.exitRule()}return e}relation(){let t=new Wr(this._ctx,this.state);this.enterRule(t,190,A.RULE_relation);try{let e;if(this.enterOuterAlt(t,1),this.state=2475,this._errHandler.sync(this),1===this.interpreter.adaptivePredict(this._input,302,this._ctx))this.state=2474,this.match(A.LATERAL);for(this.state=2477,this.relationPrimary(),this.state=2481,this._errHandler.sync(this),e=this.interpreter.adaptivePredict(this._input,303,this._ctx);2!==e&&e!==o.ATN.INVALID_ALT_NUMBER;)1===e&&(this.state=2478,this.relationExtension()),this.state=2483,this._errHandler.sync(this),e=this.interpreter.adaptivePredict(this._input,303,this._ctx)}catch(e){if(!(e instanceof T.RecognitionException))throw e;t.exception=e,this._errHandler.reportError(this,e),this._errHandler.recover(this,e)}finally{this.exitRule()}return t}relationExtension(){let t=new Kr(this._ctx,this.state);this.enterRule(t,192,A.RULE_relationExtension);try{switch(this.state=2487,this._errHandler.sync(this),this._input.LA(1)){case A.ANTI:case A.CROSS:case A.FULL:case A.INNER:case A.JOIN:case A.LEFT:case A.NATURAL:case A.RIGHT:case A.SEMI:this.enterOuterAlt(t,1),this.state=2484,this.joinRelation();break;case A.PIVOT:this.enterOuterAlt(t,2),this.state=2485,this.pivotClause();break;case A.UNPIVOT:this.enterOuterAlt(t,3),this.state=2486,this.unpivotClause();break;default:throw new h.NoViableAltException(this)}}catch(e){if(!(e instanceof T.RecognitionException))throw e;t.exception=e,this._errHandler.reportError(this,e),this._errHandler.recover(this,e)}finally{this.exitRule()}return t}joinRelation(){let t=new Xr(this._ctx,this.state);this.enterRule(t,194,A.RULE_joinRelation);try{switch(this.state=2506,this._errHandler.sync(this),this._input.LA(1)){case A.ANTI:case A.CROSS:case A.FULL:case A.INNER:case A.JOIN:case A.LEFT:case A.RIGHT:case A.SEMI:if(this.enterOuterAlt(t,1),this.state=2489,this.joinType(),this.state=2490,this.match(A.JOIN),this.state=2492,this._errHandler.sync(this),1===this.interpreter.adaptivePredict(this._input,305,this._ctx))this.state=2491,this.match(A.LATERAL);if(this.state=2494,t._right=this.relationPrimary(),this.state=2496,this._errHandler.sync(this),1===this.interpreter.adaptivePredict(this._input,306,this._ctx))this.state=2495,this.joinCriteria();break;case A.NATURAL:if(this.enterOuterAlt(t,2),this.state=2498,this.match(A.NATURAL),this.state=2499,this.joinType(),this.state=2500,this.match(A.JOIN),this.state=2502,this._errHandler.sync(this),1===this.interpreter.adaptivePredict(this._input,307,this._ctx))this.state=2501,this.match(A.LATERAL);this.state=2504,t._right=this.relationPrimary();break;default:throw new h.NoViableAltException(this)}}catch(e){if(!(e instanceof T.RecognitionException))throw e;t.exception=e,this._errHandler.reportError(this,e),this._errHandler.recover(this,e)}finally{this.exitRule()}return t}joinType(){let t,e=new qr(this._ctx,this.state);this.enterRule(e,196,A.RULE_joinType);try{switch(this.state=2532,this._errHandler.sync(this),this.interpreter.adaptivePredict(this._input,315,this._ctx)){case 1:this.enterOuterAlt(e,1),this.state=2509,this._errHandler.sync(this),t=this._input.LA(1),t===A.INNER&&(this.state=2508,this.match(A.INNER));break;case 2:this.enterOuterAlt(e,2),this.state=2511,this.match(A.CROSS);break;case 3:this.enterOuterAlt(e,3),this.state=2512,this.match(A.LEFT),this.state=2514,this._errHandler.sync(this),t=this._input.LA(1),t===A.OUTER&&(this.state=2513,this.match(A.OUTER));break;case 4:this.enterOuterAlt(e,4),this.state=2517,this._errHandler.sync(this),t=this._input.LA(1),t===A.LEFT&&(this.state=2516,this.match(A.LEFT)),this.state=2519,this.match(A.SEMI);break;case 5:this.enterOuterAlt(e,5),this.state=2520,this.match(A.RIGHT),this.state=2522,this._errHandler.sync(this),t=this._input.LA(1),t===A.OUTER&&(this.state=2521,this.match(A.OUTER));break;case 6:this.enterOuterAlt(e,6),this.state=2524,this.match(A.FULL),this.state=2526,this._errHandler.sync(this),t=this._input.LA(1),t===A.OUTER&&(this.state=2525,this.match(A.OUTER));break;case 7:this.enterOuterAlt(e,7),this.state=2529,this._errHandler.sync(this),t=this._input.LA(1),t===A.LEFT&&(this.state=2528,this.match(A.LEFT)),this.state=2531,this.match(A.ANTI)}}catch(t){if(!(t instanceof T.RecognitionException))throw t;e.exception=t,this._errHandler.reportError(this,t),this._errHandler.recover(this,t)}finally{this.exitRule()}return e}joinCriteria(){let t=new jr(this._ctx,this.state);this.enterRule(t,198,A.RULE_joinCriteria);try{switch(this.state=2538,this._errHandler.sync(this),this._input.LA(1)){case A.ON:this.enterOuterAlt(t,1),this.state=2534,this.match(A.ON),this.state=2535,this.booleanExpression(0);break;case A.USING:this.enterOuterAlt(t,2),this.state=2536,this.match(A.USING),this.state=2537,this.identifierList();break;default:throw new h.NoViableAltException(this)}}catch(e){if(!(e instanceof T.RecognitionException))throw e;t.exception=e,this._errHandler.reportError(this,e),this._errHandler.recover(this,e)}finally{this.exitRule()}return t}sample(){let t=new Qr(this._ctx,this.state);this.enterRule(t,200,A.RULE_sample);try{if(this.enterOuterAlt(t,1),this.state=2540,this.match(A.TABLESAMPLE),this.state=2541,this.match(A.LEFT_PAREN),this.state=2543,this._errHandler.sync(this),1===this.interpreter.adaptivePredict(this._input,317,this._ctx))this.state=2542,this.sampleMethod();if(this.state=2545,this.match(A.RIGHT_PAREN),this.state=2550,this._errHandler.sync(this),1===this.interpreter.adaptivePredict(this._input,318,this._ctx))this.state=2546,this.match(A.REPEATABLE),this.state=2547,this.match(A.LEFT_PAREN),this.state=2548,t._seed=this.match(A.INTEGER_VALUE),this.state=2549,this.match(A.RIGHT_PAREN)}catch(e){if(!(e instanceof T.RecognitionException))throw e;t.exception=e,this._errHandler.reportError(this,e),this._errHandler.recover(this,e)}finally{this.exitRule()}return t}sampleMethod(){let t,e=new zr(this._ctx,this.state);this.enterRule(e,202,A.RULE_sampleMethod);try{switch(this.state=2576,this._errHandler.sync(this),this.interpreter.adaptivePredict(this._input,322,this._ctx)){case 1:e=new $r(e),this.enterOuterAlt(e,1),this.state=2553,this._errHandler.sync(this),t=this._input.LA(1),t===A.MINUS&&(this.state=2552,e._negativeSign=this.match(A.MINUS)),this.state=2555,e._percentage=this._input.LT(1),t=this._input.LA(1),t!==A.INTEGER_VALUE&&t!==A.DECIMAL_VALUE?e._percentage=this._errHandler.recoverInline(this):(this._input.LA(1)===R.Token.EOF&&(this.matchedEOF=!0),this._errHandler.reportMatch(this),this.consume()),this.state=2556,this.match(A.PERCENTLIT);break;case 2:e=new Jr(e),this.enterOuterAlt(e,2),this.state=2557,this.expression(),this.state=2558,this.match(A.ROWS);break;case 3:if(e=new Zr(e),this.enterOuterAlt(e,3),this.state=2560,e._sampleType=this.match(A.BUCKET),this.state=2561,e._numerator=this.match(A.INTEGER_VALUE),this.state=2562,this.match(A.OUT),this.state=2563,this.match(A.OF),this.state=2564,e._denominator=this.match(A.INTEGER_VALUE),this.state=2573,this._errHandler.sync(this),t=this._input.LA(1),t===A.ON)switch(this.state=2565,this.match(A.ON),this.state=2571,this._errHandler.sync(this),this.interpreter.adaptivePredict(this._input,320,this._ctx)){case 1:this.state=2566,this.identifier();break;case 2:this.state=2567,this.qualifiedName(),this.state=2568,this.match(A.LEFT_PAREN),this.state=2569,this.match(A.RIGHT_PAREN)}break;case 4:e=new ti(e),this.enterOuterAlt(e,4),this.state=2575,e._bytes=this.expression()}}catch(t){if(!(t instanceof T.RecognitionException))throw t;e.exception=t,this._errHandler.reportError(this,t),this._errHandler.recover(this,t)}finally{this.exitRule()}return e}identifierList(){let t=new ei(this._ctx,this.state);this.enterRule(t,204,A.RULE_identifierList);try{this.enterOuterAlt(t,1),this.state=2578,this.match(A.LEFT_PAREN),this.state=2579,this.identifierSeq(),this.state=2580,this.match(A.RIGHT_PAREN)}catch(e){if(!(e instanceof T.RecognitionException))throw e;t.exception=e,this._errHandler.reportError(this,e),this._errHandler.recover(this,e)}finally{this.exitRule()}return t}identifierSeq(){let t=new ri(this._ctx,this.state);this.enterRule(t,206,A.RULE_identifierSeq);try{let e;for(this.enterOuterAlt(t,1),this.state=2582,t._errorCapturingIdentifier=this.errorCapturingIdentifier(),t._ident.push(t._errorCapturingIdentifier),this.state=2587,this._errHandler.sync(this),e=this.interpreter.adaptivePredict(this._input,323,this._ctx);2!==e&&e!==o.ATN.INVALID_ALT_NUMBER;)1===e&&(this.state=2583,this.match(A.COMMA),this.state=2584,t._errorCapturingIdentifier=this.errorCapturingIdentifier(),t._ident.push(t._errorCapturingIdentifier)),this.state=2589,this._errHandler.sync(this),e=this.interpreter.adaptivePredict(this._input,323,this._ctx)}catch(e){if(!(e instanceof T.RecognitionException))throw e;t.exception=e,this._errHandler.reportError(this,e),this._errHandler.recover(this,e)}finally{this.exitRule()}return t}orderedIdentifierList(){let t,e=new ii(this._ctx,this.state);this.enterRule(e,208,A.RULE_orderedIdentifierList);try{for(this.enterOuterAlt(e,1),this.state=2590,this.match(A.LEFT_PAREN),this.state=2591,this.orderedIdentifier(),this.state=2596,this._errHandler.sync(this),t=this._input.LA(1);t===A.COMMA;)this.state=2592,this.match(A.COMMA),this.state=2593,this.orderedIdentifier(),this.state=2598,this._errHandler.sync(this),t=this._input.LA(1);this.state=2599,this.match(A.RIGHT_PAREN)}catch(t){if(!(t instanceof T.RecognitionException))throw t;e.exception=t,this._errHandler.reportError(this,t),this._errHandler.recover(this,t)}finally{this.exitRule()}return e}orderedIdentifier(){let t,e=new ni(this._ctx,this.state);this.enterRule(e,210,A.RULE_orderedIdentifier);try{this.enterOuterAlt(e,1),this.state=2601,e._ident=this.errorCapturingIdentifier(),this.state=2603,this._errHandler.sync(this),t=this._input.LA(1),t!==A.ASC&&t!==A.DESC||(this.state=2602,e._ordering=this._input.LT(1),t=this._input.LA(1),t!==A.ASC&&t!==A.DESC?e._ordering=this._errHandler.recoverInline(this):(this._input.LA(1)===R.Token.EOF&&(this.matchedEOF=!0),this._errHandler.reportMatch(this),this.consume()))}catch(t){if(!(t instanceof T.RecognitionException))throw t;e.exception=t,this._errHandler.reportError(this,t),this._errHandler.recover(this,t)}finally{this.exitRule()}return e}identifierCommentList(){let t,e=new si(this._ctx,this.state);this.enterRule(e,212,A.RULE_identifierCommentList);try{for(this.enterOuterAlt(e,1),this.state=2605,this.match(A.LEFT_PAREN),this.state=2606,this.identifierComment(),this.state=2611,this._errHandler.sync(this),t=this._input.LA(1);t===A.COMMA;)this.state=2607,this.match(A.COMMA),this.state=2608,this.identifierComment(),this.state=2613,this._errHandler.sync(this),t=this._input.LA(1);this.state=2614,this.match(A.RIGHT_PAREN)}catch(t){if(!(t instanceof T.RecognitionException))throw t;e.exception=t,this._errHandler.reportError(this,t),this._errHandler.recover(this,t)}finally{this.exitRule()}return e}identifierComment(){let t,e=new oi(this._ctx,this.state);this.enterRule(e,214,A.RULE_identifierComment);try{this.enterOuterAlt(e,1),this.state=2616,this.identifier(),this.state=2618,this._errHandler.sync(this),t=this._input.LA(1),t===A.COMMENT&&(this.state=2617,this.commentSpec())}catch(t){if(!(t instanceof T.RecognitionException))throw t;e.exception=t,this._errHandler.reportError(this,t),this._errHandler.recover(this,t)}finally{this.exitRule()}return e}relationPrimary(){let t=new ai(this._ctx,this.state);this.enterRule(t,216,A.RULE_relationPrimary);try{switch(this.state=2647,this._errHandler.sync(this),this.interpreter.adaptivePredict(this._input,332,this._ctx)){case 1:if(t=new Ei(t),this.enterOuterAlt(t,1),this.state=2620,this.identifierReference(),this.state=2622,this._errHandler.sync(this),1===this.interpreter.adaptivePredict(this._input,328,this._ctx))this.state=2621,this.temporalClause();if(this.state=2625,this._errHandler.sync(this),1===this.interpreter.adaptivePredict(this._input,329,this._ctx))this.state=2624,this.sample();this.state=2627,this.tableAlias();break;case 2:if(t=new hi(t),this.enterOuterAlt(t,2),this.state=2629,this.match(A.LEFT_PAREN),this.state=2630,this.query(),this.state=2631,this.match(A.RIGHT_PAREN),this.state=2633,this._errHandler.sync(this),1===this.interpreter.adaptivePredict(this._input,330,this._ctx))this.state=2632,this.sample();this.state=2635,this.tableAlias();break;case 3:if(t=new li(t),this.enterOuterAlt(t,3),this.state=2637,this.match(A.LEFT_PAREN),this.state=2638,this.relation(),this.state=2639,this.match(A.RIGHT_PAREN),this.state=2641,this._errHandler.sync(this),1===this.interpreter.adaptivePredict(this._input,331,this._ctx))this.state=2640,this.sample();this.state=2643,this.tableAlias();break;case 4:t=new ui(t),this.enterOuterAlt(t,4),this.state=2645,this.inlineTable();break;case 5:t=new ci(t),this.enterOuterAlt(t,5),this.state=2646,this.functionTable()}}catch(e){if(!(e instanceof T.RecognitionException))throw e;t.exception=e,this._errHandler.reportError(this,e),this._errHandler.recover(this,e)}finally{this.exitRule()}return t}inlineTable(){let t=new Ti(this._ctx,this.state);this.enterRule(t,218,A.RULE_inlineTable);try{let e;for(this.enterOuterAlt(t,1),this.state=2649,this.match(A.VALUES),this.state=2650,this.expression(),this.state=2655,this._errHandler.sync(this),e=this.interpreter.adaptivePredict(this._input,333,this._ctx);2!==e&&e!==o.ATN.INVALID_ALT_NUMBER;)1===e&&(this.state=2651,this.match(A.COMMA),this.state=2652,this.expression()),this.state=2657,this._errHandler.sync(this),e=this.interpreter.adaptivePredict(this._input,333,this._ctx);this.state=2658,this.tableAlias()}catch(e){if(!(e instanceof T.RecognitionException))throw e;t.exception=e,this._errHandler.reportError(this,e),this._errHandler.recover(this,e)}finally{this.exitRule()}return t}functionTableSubqueryArgument(){let t,e=new Ri(this._ctx,this.state);this.enterRule(e,220,A.RULE_functionTableSubqueryArgument);try{switch(this.state=2679,this._errHandler.sync(this),this.interpreter.adaptivePredict(this._input,337,this._ctx)){case 1:this.enterOuterAlt(e,1),this.state=2660,this.match(A.TABLE),this.state=2661,this.identifierReference(),this.state=2663,this._errHandler.sync(this),t=this._input.LA(1),t!==A.DISTRIBUTE&&t!==A.PARTITION||(this.state=2662,this.tableArgumentPartitioning());break;case 2:this.enterOuterAlt(e,2),this.state=2665,this.match(A.TABLE),this.state=2666,this.match(A.LEFT_PAREN),this.state=2667,this.identifierReference(),this.state=2668,this.match(A.RIGHT_PAREN),this.state=2670,this._errHandler.sync(this),t=this._input.LA(1),t!==A.DISTRIBUTE&&t!==A.PARTITION||(this.state=2669,this.tableArgumentPartitioning());break;case 3:this.enterOuterAlt(e,3),this.state=2672,this.match(A.TABLE),this.state=2673,this.match(A.LEFT_PAREN),this.state=2674,this.query(),this.state=2675,this.match(A.RIGHT_PAREN),this.state=2677,this._errHandler.sync(this),t=this._input.LA(1),t!==A.DISTRIBUTE&&t!==A.PARTITION||(this.state=2676,this.tableArgumentPartitioning())}}catch(t){if(!(t instanceof T.RecognitionException))throw t;e.exception=t,this._errHandler.reportError(this,t),this._errHandler.recover(this,t)}finally{this.exitRule()}return e}tableArgumentPartitioning(){let t,e=new pi(this._ctx,this.state);this.enterRule(e,222,A.RULE_tableArgumentPartitioning);try{let r;if(this.enterOuterAlt(e,1),this.state=2681,t=this._input.LA(1),t!==A.DISTRIBUTE&&t!==A.PARTITION?this._errHandler.recoverInline(this):(this._input.LA(1)===R.Token.EOF&&(this.matchedEOF=!0),this._errHandler.reportMatch(this),this.consume()),this.state=2682,this.match(A.BY),this.state=2683,this.expressionSeq(),this.state=2694,this._errHandler.sync(this),t=this._input.LA(1),t===A.ORDER||t===A.SORT)for(this.state=2684,t=this._input.LA(1),t!==A.ORDER&&t!==A.SORT?this._errHandler.recoverInline(this):(this._input.LA(1)===R.Token.EOF&&(this.matchedEOF=!0),this._errHandler.reportMatch(this),this.consume()),this.state=2685,this.match(A.BY),this.state=2686,this.sortItem(),this.state=2691,this._errHandler.sync(this),r=this.interpreter.adaptivePredict(this._input,338,this._ctx);2!==r&&r!==o.ATN.INVALID_ALT_NUMBER;)1===r&&(this.state=2687,this.match(A.COMMA),this.state=2688,this.sortItem()),this.state=2693,this._errHandler.sync(this),r=this.interpreter.adaptivePredict(this._input,338,this._ctx)}catch(t){if(!(t instanceof T.RecognitionException))throw t;e.exception=t,this._errHandler.reportError(this,t),this._errHandler.recover(this,t)}finally{this.exitRule()}return e}functionTableNamedArgumentExpression(){let t=new Si(this._ctx,this.state);this.enterRule(t,224,A.RULE_functionTableNamedArgumentExpression);try{this.enterOuterAlt(t,1),this.state=2696,t._key=this.identifier(),this.state=2697,this.match(A.FAT_ARROW),this.state=2698,t._table=this.functionTableSubqueryArgument()}catch(e){if(!(e instanceof T.RecognitionException))throw e;t.exception=e,this._errHandler.reportError(this,e),this._errHandler.recover(this,e)}finally{this.exitRule()}return t}functionTableReferenceArgument(){let t=new Ai(this._ctx,this.state);this.enterRule(t,226,A.RULE_functionTableReferenceArgument);try{switch(this.state=2702,this._errHandler.sync(this),this.interpreter.adaptivePredict(this._input,340,this._ctx)){case 1:this.enterOuterAlt(t,1),this.state=2700,this.functionTableSubqueryArgument();break;case 2:this.enterOuterAlt(t,2),this.state=2701,this.functionTableNamedArgumentExpression()}}catch(e){if(!(e instanceof T.RecognitionException))throw e;t.exception=e,this._errHandler.reportError(this,e),this._errHandler.recover(this,e)}finally{this.exitRule()}return t}functionTableArgument(){let t=new di(this._ctx,this.state);this.enterRule(t,228,A.RULE_functionTableArgument);try{switch(this.state=2706,this._errHandler.sync(this),this.interpreter.adaptivePredict(this._input,341,this._ctx)){case 1:this.enterOuterAlt(t,1),this.state=2704,this.functionTableReferenceArgument();break;case 2:this.enterOuterAlt(t,2),this.state=2705,this.functionArgument()}}catch(e){if(!(e instanceof T.RecognitionException))throw e;t.exception=e,this._errHandler.reportError(this,e),this._errHandler.recover(this,e)}finally{this.exitRule()}return t}functionTable(){let t,e=new Ni(this._ctx,this.state);this.enterRule(e,230,A.RULE_functionTable);try{if(this.enterOuterAlt(e,1),this.state=2708,e._funcName=this.functionName(),this.state=2709,this.match(A.LEFT_PAREN),this.state=2718,this._errHandler.sync(this),1===this.interpreter.adaptivePredict(this._input,343,this._ctx))for(this.state=2710,this.functionTableArgument(),this.state=2715,this._errHandler.sync(this),t=this._input.LA(1);t===A.COMMA;)this.state=2711,this.match(A.COMMA),this.state=2712,this.functionTableArgument(),this.state=2717,this._errHandler.sync(this),t=this._input.LA(1);this.state=2720,this.match(A.RIGHT_PAREN),this.state=2721,this.tableAlias()}catch(t){if(!(t instanceof T.RecognitionException))throw t;e.exception=t,this._errHandler.reportError(this,t),this._errHandler.recover(this,t)}finally{this.exitRule()}return e}tableAlias(){let t=new Oi(this._ctx,this.state);this.enterRule(t,232,A.RULE_tableAlias);try{if(this.enterOuterAlt(t,1),this.state=2730,this._errHandler.sync(this),1===this.interpreter.adaptivePredict(this._input,346,this._ctx)){if(this.state=2724,this._errHandler.sync(this),1===this.interpreter.adaptivePredict(this._input,344,this._ctx))this.state=2723,this.match(A.AS);if(this.state=2726,this.strictIdentifier(),this.state=2728,this._errHandler.sync(this),1===this.interpreter.adaptivePredict(this._input,345,this._ctx))this.state=2727,this.identifierList()}}catch(e){if(!(e instanceof T.RecognitionException))throw e;t.exception=e,this._errHandler.reportError(this,e),this._errHandler.recover(this,e)}finally{this.exitRule()}return t}rowFormat(){let t=new Ci(this._ctx,this.state);this.enterRule(t,234,A.RULE_rowFormat);try{switch(this.state=2781,this._errHandler.sync(this),this.interpreter.adaptivePredict(this._input,354,this._ctx)){case 1:if(t=new _i(t),this.enterOuterAlt(t,1),this.state=2732,this.match(A.ROW),this.state=2733,this.match(A.FORMAT),this.state=2734,this.match(A.SERDE),this.state=2735,t._name=this.stringLit(),this.state=2739,this._errHandler.sync(this),1===this.interpreter.adaptivePredict(this._input,347,this._ctx))this.state=2736,this.match(A.WITH),this.state=2737,this.match(A.SERDEPROPERTIES),this.state=2738,t._props=this.propertyList();break;case 2:if(t=new Ii(t),this.enterOuterAlt(t,2),this.state=2741,this.match(A.ROW),this.state=2742,this.match(A.FORMAT),this.state=2743,this.match(A.DELIMITED),this.state=2753,this._errHandler.sync(this),1===this.interpreter.adaptivePredict(this._input,349,this._ctx))if(this.state=2744,this.match(A.FIELDS),this.state=2745,this.match(A.TERMINATED),this.state=2746,this.match(A.BY),this.state=2747,t._fieldsTerminatedBy=this.stringLit(),this.state=2751,this._errHandler.sync(this),1===this.interpreter.adaptivePredict(this._input,348,this._ctx))this.state=2748,this.match(A.ESCAPED),this.state=2749,this.match(A.BY),this.state=2750,t._escapedBy=this.stringLit();if(this.state=2760,this._errHandler.sync(this),1===this.interpreter.adaptivePredict(this._input,350,this._ctx))this.state=2755,this.match(A.COLLECTION),this.state=2756,this.match(A.ITEMS),this.state=2757,this.match(A.TERMINATED),this.state=2758,this.match(A.BY),this.state=2759,t._collectionItemsTerminatedBy=this.stringLit();if(this.state=2767,this._errHandler.sync(this),1===this.interpreter.adaptivePredict(this._input,351,this._ctx))this.state=2762,this.match(A.MAP),this.state=2763,this.match(A.KEYS),this.state=2764,this.match(A.TERMINATED),this.state=2765,this.match(A.BY),this.state=2766,t._keysTerminatedBy=this.stringLit();if(this.state=2773,this._errHandler.sync(this),1===this.interpreter.adaptivePredict(this._input,352,this._ctx))this.state=2769,this.match(A.LINES),this.state=2770,this.match(A.TERMINATED),this.state=2771,this.match(A.BY),this.state=2772,t._linesSeparatedBy=this.stringLit();if(this.state=2779,this._errHandler.sync(this),1===this.interpreter.adaptivePredict(this._input,353,this._ctx))this.state=2775,this.match(A.NULL),this.state=2776,this.match(A.DEFINED),this.state=2777,this.match(A.AS),this.state=2778,t._nullDefinedAs=this.stringLit()}}catch(e){if(!(e instanceof T.RecognitionException))throw e;t.exception=e,this._errHandler.reportError(this,e),this._errHandler.recover(this,e)}finally{this.exitRule()}return t}multipartIdentifierList(){let t,e=new Li(this._ctx,this.state);this.enterRule(e,236,A.RULE_multipartIdentifierList);try{for(this.enterOuterAlt(e,1),this.state=2783,this.multipartIdentifier(),this.state=2788,this._errHandler.sync(this),t=this._input.LA(1);t===A.COMMA;)this.state=2784,this.match(A.COMMA),this.state=2785,this.multipartIdentifier(),this.state=2790,this._errHandler.sync(this),t=this._input.LA(1)}catch(t){if(!(t instanceof T.RecognitionException))throw t;e.exception=t,this._errHandler.reportError(this,t),this._errHandler.recover(this,t)}finally{this.exitRule()}return e}multipartIdentifier(){let t=new fi(this._ctx,this.state);this.enterRule(t,238,A.RULE_multipartIdentifier);try{let e;for(this.enterOuterAlt(t,1),this.state=2791,t._errorCapturingIdentifier=this.errorCapturingIdentifier(),t._parts.push(t._errorCapturingIdentifier),this.state=2796,this._errHandler.sync(this),e=this.interpreter.adaptivePredict(this._input,356,this._ctx);2!==e&&e!==o.ATN.INVALID_ALT_NUMBER;)1===e&&(this.state=2792,this.match(A.DOT),this.state=2793,t._errorCapturingIdentifier=this.errorCapturingIdentifier(),t._parts.push(t._errorCapturingIdentifier)),this.state=2798,this._errHandler.sync(this),e=this.interpreter.adaptivePredict(this._input,356,this._ctx)}catch(e){if(!(e instanceof T.RecognitionException))throw e;t.exception=e,this._errHandler.reportError(this,e),this._errHandler.recover(this,e)}finally{this.exitRule()}return t}multipartIdentifierPropertyList(){let t,e=new mi(this._ctx,this.state);this.enterRule(e,240,A.RULE_multipartIdentifierPropertyList);try{for(this.enterOuterAlt(e,1),this.state=2799,this.multipartIdentifierProperty(),this.state=2804,this._errHandler.sync(this),t=this._input.LA(1);t===A.COMMA;)this.state=2800,this.match(A.COMMA),this.state=2801,this.multipartIdentifierProperty(),this.state=2806,this._errHandler.sync(this),t=this._input.LA(1)}catch(t){if(!(t instanceof T.RecognitionException))throw t;e.exception=t,this._errHandler.reportError(this,t),this._errHandler.recover(this,t)}finally{this.exitRule()}return e}multipartIdentifierProperty(){let t,e=new yi(this._ctx,this.state);this.enterRule(e,242,A.RULE_multipartIdentifierProperty);try{this.enterOuterAlt(e,1),this.state=2807,this.multipartIdentifier(),this.state=2810,this._errHandler.sync(this),t=this._input.LA(1),t===A.OPTIONS&&(this.state=2808,this.match(A.OPTIONS),this.state=2809,e._options=this.propertyList())}catch(t){if(!(t instanceof T.RecognitionException))throw t;e.exception=t,this._errHandler.reportError(this,t),this._errHandler.recover(this,t)}finally{this.exitRule()}return e}tableIdentifier(){let t=new xi(this._ctx,this.state);this.enterRule(t,244,A.RULE_tableIdentifier);try{if(this.enterOuterAlt(t,1),this.state=2815,this._errHandler.sync(this),1===this.interpreter.adaptivePredict(this._input,359,this._ctx))this.state=2812,t._db=this.errorCapturingIdentifier(),this.state=2813,this.match(A.DOT);this.state=2817,t._table=this.errorCapturingIdentifier()}catch(e){if(!(e instanceof T.RecognitionException))throw e;t.exception=e,this._errHandler.reportError(this,e),this._errHandler.recover(this,e)}finally{this.exitRule()}return t}functionIdentifier(){let t=new gi(this._ctx,this.state);this.enterRule(t,246,A.RULE_functionIdentifier);try{if(this.enterOuterAlt(t,1),this.state=2822,this._errHandler.sync(this),1===this.interpreter.adaptivePredict(this._input,360,this._ctx))this.state=2819,t._db=this.errorCapturingIdentifier(),this.state=2820,this.match(A.DOT);this.state=2824,t._function=this.errorCapturingIdentifier()}catch(e){if(!(e instanceof T.RecognitionException))throw e;t.exception=e,this._errHandler.reportError(this,e),this._errHandler.recover(this,e)}finally{this.exitRule()}return t}namedExpression(){let t=new Pi(this._ctx,this.state);this.enterRule(t,248,A.RULE_namedExpression);try{if(this.enterOuterAlt(t,1),this.state=2826,this.expression(),this.state=2834,this._errHandler.sync(this),1===this.interpreter.adaptivePredict(this._input,363,this._ctx)){if(this.state=2828,this._errHandler.sync(this),1===this.interpreter.adaptivePredict(this._input,361,this._ctx))this.state=2827,this.match(A.AS);switch(this.state=2832,this._errHandler.sync(this),this.interpreter.adaptivePredict(this._input,362,this._ctx)){case 1:this.state=2830,t._name=this.errorCapturingIdentifier();break;case 2:this.state=2831,this.identifierList()}}}catch(e){if(!(e instanceof T.RecognitionException))throw e;t.exception=e,this._errHandler.reportError(this,e),this._errHandler.recover(this,e)}finally{this.exitRule()}return t}namedExpressionSeq(){let t=new Di(this._ctx,this.state);this.enterRule(t,250,A.RULE_namedExpressionSeq);try{let e;for(this.enterOuterAlt(t,1),this.state=2836,this.namedExpression(),this.state=2841,this._errHandler.sync(this),e=this.interpreter.adaptivePredict(this._input,364,this._ctx);2!==e&&e!==o.ATN.INVALID_ALT_NUMBER;)1===e&&(this.state=2837,this.match(A.COMMA),this.state=2838,this.namedExpression()),this.state=2843,this._errHandler.sync(this),e=this.interpreter.adaptivePredict(this._input,364,this._ctx)}catch(e){if(!(e instanceof T.RecognitionException))throw e;t.exception=e,this._errHandler.reportError(this,e),this._errHandler.recover(this,e)}finally{this.exitRule()}return t}partitionFieldList(){let t,e=new Mi(this._ctx,this.state);this.enterRule(e,252,A.RULE_partitionFieldList);try{for(this.enterOuterAlt(e,1),this.state=2844,this.match(A.LEFT_PAREN),this.state=2845,e._partitionField=this.partitionField(),e._fields.push(e._partitionField),this.state=2850,this._errHandler.sync(this),t=this._input.LA(1);t===A.COMMA;)this.state=2846,this.match(A.COMMA),this.state=2847,e._partitionField=this.partitionField(),e._fields.push(e._partitionField),this.state=2852,this._errHandler.sync(this),t=this._input.LA(1);this.state=2853,this.match(A.RIGHT_PAREN)}catch(t){if(!(t instanceof T.RecognitionException))throw t;e.exception=t,this._errHandler.reportError(this,t),this._errHandler.recover(this,t)}finally{this.exitRule()}return e}partitionField(){let t=new vi(this._ctx,this.state);this.enterRule(t,254,A.RULE_partitionField);try{switch(this.state=2857,this._errHandler.sync(this),this.interpreter.adaptivePredict(this._input,366,this._ctx)){case 1:t=new Ui(t),this.enterOuterAlt(t,1),this.state=2855,this.transform();break;case 2:t=new ki(t),this.enterOuterAlt(t,2),this.state=2856,this.colType()}}catch(e){if(!(e instanceof T.RecognitionException))throw e;t.exception=e,this._errHandler.reportError(this,e),this._errHandler.recover(this,e)}finally{this.exitRule()}return t}transform(){let t,e=new bi(this._ctx,this.state);this.enterRule(e,256,A.RULE_transform);try{switch(this.state=2872,this._errHandler.sync(this),this.interpreter.adaptivePredict(this._input,368,this._ctx)){case 1:e=new Gi(e),this.enterOuterAlt(e,1),this.state=2859,this.qualifiedName();break;case 2:for(e=new Fi(e),this.enterOuterAlt(e,2),this.state=2860,e._transformName=this.identifier(),this.state=2861,this.match(A.LEFT_PAREN),this.state=2862,e._transformArgument=this.transformArgument(),e._argument.push(e._transformArgument),this.state=2867,this._errHandler.sync(this),t=this._input.LA(1);t===A.COMMA;)this.state=2863,this.match(A.COMMA),this.state=2864,e._transformArgument=this.transformArgument(),e._argument.push(e._transformArgument),this.state=2869,this._errHandler.sync(this),t=this._input.LA(1);this.state=2870,this.match(A.RIGHT_PAREN)}}catch(t){if(!(t instanceof T.RecognitionException))throw t;e.exception=t,this._errHandler.reportError(this,t),this._errHandler.recover(this,t)}finally{this.exitRule()}return e}transformArgument(){let t=new Hi(this._ctx,this.state);this.enterRule(t,258,A.RULE_transformArgument);try{switch(this.state=2876,this._errHandler.sync(this),this.interpreter.adaptivePredict(this._input,369,this._ctx)){case 1:this.enterOuterAlt(t,1),this.state=2874,this.qualifiedName();break;case 2:this.enterOuterAlt(t,2),this.state=2875,this.constant()}}catch(e){if(!(e instanceof T.RecognitionException))throw e;t.exception=e,this._errHandler.reportError(this,e),this._errHandler.recover(this,e)}finally{this.exitRule()}return t}expression(){let t=new wi(this._ctx,this.state);this.enterRule(t,260,A.RULE_expression);try{this.enterOuterAlt(t,1),this.state=2878,this.booleanExpression(0)}catch(e){if(!(e instanceof T.RecognitionException))throw e;t.exception=e,this._errHandler.reportError(this,e),this._errHandler.recover(this,e)}finally{this.exitRule()}return t}namedArgumentExpression(){let t=new Bi(this._ctx,this.state);this.enterRule(t,262,A.RULE_namedArgumentExpression);try{this.enterOuterAlt(t,1),this.state=2880,t._key=this.identifier(),this.state=2881,this.match(A.FAT_ARROW),this.state=2882,t._value=this.expression()}catch(e){if(!(e instanceof T.RecognitionException))throw e;t.exception=e,this._errHandler.reportError(this,e),this._errHandler.recover(this,e)}finally{this.exitRule()}return t}functionArgument(){let t=new Vi(this._ctx,this.state);this.enterRule(t,264,A.RULE_functionArgument);try{switch(this.state=2886,this._errHandler.sync(this),this.interpreter.adaptivePredict(this._input,370,this._ctx)){case 1:this.enterOuterAlt(t,1),this.state=2884,this.expression();break;case 2:this.enterOuterAlt(t,2),this.state=2885,this.namedArgumentExpression()}}catch(e){if(!(e instanceof T.RecognitionException))throw e;t.exception=e,this._errHandler.reportError(this,e),this._errHandler.recover(this,e)}finally{this.exitRule()}return t}expressionSeq(){let t=new Yi(this._ctx,this.state);this.enterRule(t,266,A.RULE_expressionSeq);try{let e;for(this.enterOuterAlt(t,1),this.state=2888,this.expression(),this.state=2893,this._errHandler.sync(this),e=this.interpreter.adaptivePredict(this._input,371,this._ctx);2!==e&&e!==o.ATN.INVALID_ALT_NUMBER;)1===e&&(this.state=2889,this.match(A.COMMA),this.state=2890,this.expression()),this.state=2895,this._errHandler.sync(this),e=this.interpreter.adaptivePredict(this._input,371,this._ctx)}catch(e){if(!(e instanceof T.RecognitionException))throw e;t.exception=e,this._errHandler.reportError(this,e),this._errHandler.recover(this,e)}finally{this.exitRule()}return t}booleanExpression(t){void 0===t&&(t=0);let e=this._ctx,r=this.state,i=new Wi(this._ctx,r),n=i;this.enterRecursionRule(i,268,A.RULE_booleanExpression,t);try{let t;switch(this.enterOuterAlt(i,1),this.state=2908,this._errHandler.sync(this),this.interpreter.adaptivePredict(this._input,373,this._ctx)){case 1:i=new Ki(i),this._ctx=i,n=i,this.state=2897,this.match(A.NOT),this.state=2898,this.booleanExpression(5);break;case 2:i=new Xi(i),this._ctx=i,n=i,this.state=2899,this.match(A.EXISTS),this.state=2900,this.match(A.LEFT_PAREN),this.state=2901,this.query(),this.state=2902,this.match(A.RIGHT_PAREN);break;case 3:if(i=new qi(i),this._ctx=i,n=i,this.state=2904,this.valueExpression(0),this.state=2906,this._errHandler.sync(this),1===this.interpreter.adaptivePredict(this._input,372,this._ctx))this.state=2905,this.predicate()}for(this._ctx._stop=this._input.tryLT(-1),this.state=2918,this._errHandler.sync(this),t=this.interpreter.adaptivePredict(this._input,375,this._ctx);2!==t&&t!==o.ATN.INVALID_ALT_NUMBER;){if(1===t)switch(null!=this._parseListeners&&this.triggerExitRuleEvent(),n=i,this.state=2916,this._errHandler.sync(this),this.interpreter.adaptivePredict(this._input,374,this._ctx)){case 1:if(i=new ji(new Wi(e,r)),i._left=n,this.pushNewRecursionContext(i,268,A.RULE_booleanExpression),this.state=2910,!this.precpred(this._ctx,2))throw this.createFailedPredicateException("this.precpred(this._ctx, 2)");this.state=2911,i._operator=this.match(A.AND),this.state=2912,i._right=this.booleanExpression(3);break;case 2:if(i=new ji(new Wi(e,r)),i._left=n,this.pushNewRecursionContext(i,268,A.RULE_booleanExpression),this.state=2913,!this.precpred(this._ctx,1))throw this.createFailedPredicateException("this.precpred(this._ctx, 1)");this.state=2914,i._operator=this.match(A.OR),this.state=2915,i._right=this.booleanExpression(2)}this.state=2920,this._errHandler.sync(this),t=this.interpreter.adaptivePredict(this._input,375,this._ctx)}}catch(t){if(!(t instanceof T.RecognitionException))throw t;i.exception=t,this._errHandler.reportError(this,t),this._errHandler.recover(this,t)}finally{this.unrollRecursionContexts(e)}return i}predicate(){let t,e=new Qi(this._ctx,this.state);this.enterRule(e,270,A.RULE_predicate);try{switch(this.state=3003,this._errHandler.sync(this),this.interpreter.adaptivePredict(this._input,389,this._ctx)){case 1:this.enterOuterAlt(e,1),this.state=2922,this._errHandler.sync(this),t=this._input.LA(1),t===A.NOT&&(this.state=2921,this.match(A.NOT)),this.state=2924,e._kind=this.match(A.BETWEEN),this.state=2925,e._lower=this.valueExpression(0),this.state=2926,this.match(A.AND),this.state=2927,e._upper=this.valueExpression(0);break;case 2:for(this.enterOuterAlt(e,2),this.state=2930,this._errHandler.sync(this),t=this._input.LA(1),t===A.NOT&&(this.state=2929,this.match(A.NOT)),this.state=2932,e._kind=this.match(A.IN),this.state=2933,this.match(A.LEFT_PAREN),this.state=2934,this.expression(),this.state=2939,this._errHandler.sync(this),t=this._input.LA(1);t===A.COMMA;)this.state=2935,this.match(A.COMMA),this.state=2936,this.expression(),this.state=2941,this._errHandler.sync(this),t=this._input.LA(1);this.state=2942,this.match(A.RIGHT_PAREN);break;case 3:this.enterOuterAlt(e,3),this.state=2945,this._errHandler.sync(this),t=this._input.LA(1),t===A.NOT&&(this.state=2944,this.match(A.NOT)),this.state=2947,e._kind=this.match(A.IN),this.state=2948,this.match(A.LEFT_PAREN),this.state=2949,this.query(),this.state=2950,this.match(A.RIGHT_PAREN);break;case 4:this.enterOuterAlt(e,4),this.state=2953,this._errHandler.sync(this),t=this._input.LA(1),t===A.NOT&&(this.state=2952,this.match(A.NOT)),this.state=2955,e._kind=this.match(A.RLIKE),this.state=2956,e._pattern=this.valueExpression(0);break;case 5:switch(this.enterOuterAlt(e,5),this.state=2958,this._errHandler.sync(this),t=this._input.LA(1),t===A.NOT&&(this.state=2957,this.match(A.NOT)),this.state=2960,e._kind=this._input.LT(1),t=this._input.LA(1),t!==A.LIKE&&t!==A.ILIKE?e._kind=this._errHandler.recoverInline(this):(this._input.LA(1)===R.Token.EOF&&(this.matchedEOF=!0),this._errHandler.reportMatch(this),this.consume()),this.state=2961,e._quantifier=this._input.LT(1),t=this._input.LA(1),t!==A.ALL&&t!==A.ANY&&t!==A.SOME?e._quantifier=this._errHandler.recoverInline(this):(this._input.LA(1)===R.Token.EOF&&(this.matchedEOF=!0),this._errHandler.reportMatch(this),this.consume()),this.state=2975,this._errHandler.sync(this),this.interpreter.adaptivePredict(this._input,383,this._ctx)){case 1:this.state=2962,this.match(A.LEFT_PAREN),this.state=2963,this.match(A.RIGHT_PAREN);break;case 2:for(this.state=2964,this.match(A.LEFT_PAREN),this.state=2965,this.expression(),this.state=2970,this._errHandler.sync(this),t=this._input.LA(1);t===A.COMMA;)this.state=2966,this.match(A.COMMA),this.state=2967,this.expression(),this.state=2972,this._errHandler.sync(this),t=this._input.LA(1);this.state=2973,this.match(A.RIGHT_PAREN)}break;case 6:if(this.enterOuterAlt(e,6),this.state=2978,this._errHandler.sync(this),t=this._input.LA(1),t===A.NOT&&(this.state=2977,this.match(A.NOT)),this.state=2980,e._kind=this._input.LT(1),t=this._input.LA(1),t!==A.LIKE&&t!==A.ILIKE?e._kind=this._errHandler.recoverInline(this):(this._input.LA(1)===R.Token.EOF&&(this.matchedEOF=!0),this._errHandler.reportMatch(this),this.consume()),this.state=2981,e._pattern=this.valueExpression(0),this.state=2984,this._errHandler.sync(this),1===this.interpreter.adaptivePredict(this._input,385,this._ctx))this.state=2982,this.match(A.ESCAPE),this.state=2983,e._escapeChar=this.stringLit();break;case 7:this.enterOuterAlt(e,7),this.state=2986,this.match(A.IS),this.state=2988,this._errHandler.sync(this),t=this._input.LA(1),t===A.NOT&&(this.state=2987,this.match(A.NOT)),this.state=2990,e._kind=this.match(A.NULL);break;case 8:this.enterOuterAlt(e,8),this.state=2991,this.match(A.IS),this.state=2993,this._errHandler.sync(this),t=this._input.LA(1),t===A.NOT&&(this.state=2992,this.match(A.NOT)),this.state=2995,e._kind=this._input.LT(1),t=this._input.LA(1),t!==A.FALSE&&t!==A.TRUE&&t!==A.UNKNOWN?e._kind=this._errHandler.recoverInline(this):(this._input.LA(1)===R.Token.EOF&&(this.matchedEOF=!0),this._errHandler.reportMatch(this),this.consume());break;case 9:this.enterOuterAlt(e,9),this.state=2996,this.match(A.IS),this.state=2998,this._errHandler.sync(this),t=this._input.LA(1),t===A.NOT&&(this.state=2997,this.match(A.NOT)),this.state=3e3,e._kind=this.match(A.DISTINCT),this.state=3001,this.match(A.FROM),this.state=3002,e._right=this.valueExpression(0)}}catch(t){if(!(t instanceof T.RecognitionException))throw t;e.exception=t,this._errHandler.reportError(this,t),this._errHandler.recover(this,t)}finally{this.exitRule()}return e}valueExpression(t){void 0===t&&(t=0);let e,r=this._ctx,i=this.state,n=new zi(this._ctx,i),s=n,a=272;this.enterRecursionRule(n,272,A.RULE_valueExpression,t);try{let t;switch(this.enterOuterAlt(n,1),this.state=3009,this._errHandler.sync(this),this.interpreter.adaptivePredict(this._input,390,this._ctx)){case 1:n=new $i(n),this._ctx=n,s=n,this.state=3006,this.primaryExpression(0);break;case 2:n=new Ji(n),this._ctx=n,s=n,this.state=3007,n._operator=this._input.LT(1),e=this._input.LA(1),0!=(e-345&-32)||0==(1<<e-345&(1<<A.PLUS-345|1<<A.MINUS-345|1<<A.TILDE-345))?n._operator=this._errHandler.recoverInline(this):(this._input.LA(1)===R.Token.EOF&&(this.matchedEOF=!0),this._errHandler.reportMatch(this),this.consume()),this.state=3008,this.valueExpression(7)}for(this._ctx._stop=this._input.tryLT(-1),this.state=3032,this._errHandler.sync(this),t=this.interpreter.adaptivePredict(this._input,392,this._ctx);2!==t&&t!==o.ATN.INVALID_ALT_NUMBER;){if(1===t)switch(null!=this._parseListeners&&this.triggerExitRuleEvent(),s=n,this.state=3030,this._errHandler.sync(this),this.interpreter.adaptivePredict(this._input,391,this._ctx)){case 1:if(n=new Zi(new zi(r,i)),n._left=s,this.pushNewRecursionContext(n,a,A.RULE_valueExpression),this.state=3011,!this.precpred(this._ctx,6))throw this.createFailedPredicateException("this.precpred(this._ctx, 6)");this.state=3012,n._operator=this._input.LT(1),e=this._input.LA(1),e===A.DIV||0==(e-347&-32)&&0!=(1<<e-347&(1<<A.ASTERISK-347|1<<A.SLASH-347|1<<A.PERCENT-347))?(this._input.LA(1)===R.Token.EOF&&(this.matchedEOF=!0),this._errHandler.reportMatch(this),this.consume()):n._operator=this._errHandler.recoverInline(this),this.state=3013,n._right=this.valueExpression(7);break;case 2:if(n=new Zi(new zi(r,i)),n._left=s,this.pushNewRecursionContext(n,a,A.RULE_valueExpression),this.state=3014,!this.precpred(this._ctx,5))throw this.createFailedPredicateException("this.precpred(this._ctx, 5)");this.state=3015,n._operator=this._input.LT(1),e=this._input.LA(1),0!=(e-345&-32)||0==(1<<e-345&(1<<A.PLUS-345|1<<A.MINUS-345|1<<A.CONCAT_PIPE-345))?n._operator=this._errHandler.recoverInline(this):(this._input.LA(1)===R.Token.EOF&&(this.matchedEOF=!0),this._errHandler.reportMatch(this),this.consume()),this.state=3016,n._right=this.valueExpression(6);break;case 3:if(n=new Zi(new zi(r,i)),n._left=s,this.pushNewRecursionContext(n,a,A.RULE_valueExpression),this.state=3017,!this.precpred(this._ctx,4))throw this.createFailedPredicateException("this.precpred(this._ctx, 4)");this.state=3018,n._operator=this.match(A.AMPERSAND),this.state=3019,n._right=this.valueExpression(5);break;case 4:if(n=new Zi(new zi(r,i)),n._left=s,this.pushNewRecursionContext(n,a,A.RULE_valueExpression),this.state=3020,!this.precpred(this._ctx,3))throw this.createFailedPredicateException("this.precpred(this._ctx, 3)");this.state=3021,n._operator=this.match(A.HAT),this.state=3022,n._right=this.valueExpression(4);break;case 5:if(n=new Zi(new zi(r,i)),n._left=s,this.pushNewRecursionContext(n,a,A.RULE_valueExpression),this.state=3023,!this.precpred(this._ctx,2))throw this.createFailedPredicateException("this.precpred(this._ctx, 2)");this.state=3024,n._operator=this.match(A.PIPE),this.state=3025,n._right=this.valueExpression(3);break;case 6:if(n=new tn(new zi(r,i)),n._left=s,this.pushNewRecursionContext(n,a,A.RULE_valueExpression),this.state=3026,!this.precpred(this._ctx,1))throw this.createFailedPredicateException("this.precpred(this._ctx, 1)");this.state=3027,this.comparisonOperator(),this.state=3028,n._right=this.valueExpression(2)}this.state=3034,this._errHandler.sync(this),t=this.interpreter.adaptivePredict(this._input,392,this._ctx)}}catch(t){if(!(t instanceof T.RecognitionException))throw t;n.exception=t,this._errHandler.reportError(this,t),this._errHandler.recover(this,t)}finally{this.unrollRecursionContexts(r)}return n}datetimeUnit(){let t,e=new en(this._ctx,this.state);this.enterRule(e,274,A.RULE_datetimeUnit);try{this.enterOuterAlt(e,1),this.state=3035,t=this._input.LA(1),t===A.DAY||t===A.DAYOFYEAR||t===A.HOUR||0==(t-175&-32)&&0!=(1<<t-175&(1<<A.MICROSECOND-175|1<<A.MILLISECOND-175|1<<A.MINUTE-175|1<<A.MONTH-175))||t===A.QUARTER||t===A.SECOND||t===A.WEEK||t===A.YEAR?(this._input.LA(1)===R.Token.EOF&&(this.matchedEOF=!0),this._errHandler.reportMatch(this),this.consume()):this._errHandler.recoverInline(this)}catch(t){if(!(t instanceof T.RecognitionException))throw t;e.exception=t,this._errHandler.reportError(this,t),this._errHandler.recover(this,t)}finally{this.exitRule()}return e}primaryExpression(t){void 0===t&&(t=0);let e,r=this._ctx,i=this.state,n=new rn(this._ctx,i),s=n;this.enterRecursionRule(n,276,A.RULE_primaryExpression,t);try{let t;switch(this.enterOuterAlt(n,1),this.state=3286,this._errHandler.sync(this),this.interpreter.adaptivePredict(this._input,418,this._ctx)){case 1:n=new nn(n),this._ctx=n,s=n,this.state=3038,n._name=this._input.LT(1),e=this._input.LA(1),0==(e-63&-32)&&0!=(1<<e-63&(1<<A.CURRENT_DATE-63|1<<A.CURRENT_TIMESTAMP-63|1<<A.CURRENT_USER-63))||e===A.USER?(this._input.LA(1)===R.Token.EOF&&(this.matchedEOF=!0),this._errHandler.reportMatch(this),this.consume()):n._name=this._errHandler.recoverInline(this);break;case 2:switch(n=new sn(n),this._ctx=n,s=n,this.state=3039,n._name=this._input.LT(1),e=this._input.LA(1),e!==A.DATEADD&&e!==A.DATE_ADD&&e!==A.TIMESTAMPADD?n._name=this._errHandler.recoverInline(this):(this._input.LA(1)===R.Token.EOF&&(this.matchedEOF=!0),this._errHandler.reportMatch(this),this.consume()),this.state=3040,this.match(A.LEFT_PAREN),this.state=3043,this._errHandler.sync(this),this.interpreter.adaptivePredict(this._input,393,this._ctx)){case 1:this.state=3041,n._unit=this.datetimeUnit();break;case 2:this.state=3042,n._invalidUnit=this.stringLit()}this.state=3045,this.match(A.COMMA),this.state=3046,n._unitsAmount=this.valueExpression(0),this.state=3047,this.match(A.COMMA),this.state=3048,n._timestamp=this.valueExpression(0),this.state=3049,this.match(A.RIGHT_PAREN);break;case 3:switch(n=new on(n),this._ctx=n,s=n,this.state=3051,n._name=this._input.LT(1),e=this._input.LA(1),e!==A.DATEDIFF&&e!==A.DATE_DIFF&&e!==A.TIMESTAMPDIFF?n._name=this._errHandler.recoverInline(this):(this._input.LA(1)===R.Token.EOF&&(this.matchedEOF=!0),this._errHandler.reportMatch(this),this.consume()),this.state=3052,this.match(A.LEFT_PAREN),this.state=3055,this._errHandler.sync(this),this.interpreter.adaptivePredict(this._input,394,this._ctx)){case 1:this.state=3053,n._unit=this.datetimeUnit();break;case 2:this.state=3054,n._invalidUnit=this.stringLit()}this.state=3057,this.match(A.COMMA),this.state=3058,n._startTimestamp=this.valueExpression(0),this.state=3059,this.match(A.COMMA),this.state=3060,n._endTimestamp=this.valueExpression(0),this.state=3061,this.match(A.RIGHT_PAREN);break;case 4:n=new an(n),this._ctx=n,s=n,this.state=3063,this.match(A.CASE),this.state=3065,this._errHandler.sync(this),e=this._input.LA(1);do{this.state=3064,this.whenClause(),this.state=3067,this._errHandler.sync(this),e=this._input.LA(1)}while(e===A.WHEN);this.state=3071,this._errHandler.sync(this),e=this._input.LA(1),e===A.ELSE&&(this.state=3069,this.match(A.ELSE),this.state=3070,n._elseExpression=this.expression()),this.state=3073,this.match(A.END);break;case 5:n=new En(n),this._ctx=n,s=n,this.state=3075,this.match(A.CASE),this.state=3076,n._value=this.expression(),this.state=3078,this._errHandler.sync(this),e=this._input.LA(1);do{this.state=3077,this.whenClause(),this.state=3080,this._errHandler.sync(this),e=this._input.LA(1)}while(e===A.WHEN);this.state=3084,this._errHandler.sync(this),e=this._input.LA(1),e===A.ELSE&&(this.state=3082,this.match(A.ELSE),this.state=3083,n._elseExpression=this.expression()),this.state=3086,this.match(A.END);break;case 6:n=new hn(n),this._ctx=n,s=n,this.state=3088,n._name=this._input.LT(1),e=this._input.LA(1),e!==A.CAST&&e!==A.TRY_CAST?n._name=this._errHandler.recoverInline(this):(this._input.LA(1)===R.Token.EOF&&(this.matchedEOF=!0),this._errHandler.reportMatch(this),this.consume()),this.state=3089,this.match(A.LEFT_PAREN),this.state=3090,this.expression(),this.state=3091,this.match(A.AS),this.state=3092,this.dataType(),this.state=3093,this.match(A.RIGHT_PAREN);break;case 7:if(n=new ln(n),this._ctx=n,s=n,this.state=3095,this.match(A.STRUCT),this.state=3096,this.match(A.LEFT_PAREN),this.state=3105,this._errHandler.sync(this),1===this.interpreter.adaptivePredict(this._input,400,this._ctx))for(this.state=3097,n._namedExpression=this.namedExpression(),n._argument.push(n._namedExpression),this.state=3102,this._errHandler.sync(this),e=this._input.LA(1);e===A.COMMA;)this.state=3098,this.match(A.COMMA),this.state=3099,n._namedExpression=this.namedExpression(),n._argument.push(n._namedExpression),this.state=3104,this._errHandler.sync(this),e=this._input.LA(1);this.state=3107,this.match(A.RIGHT_PAREN);break;case 8:n=new un(n),this._ctx=n,s=n,this.state=3108,this.match(A.FIRST),this.state=3109,this.match(A.LEFT_PAREN),this.state=3110,this.expression(),this.state=3113,this._errHandler.sync(this),e=this._input.LA(1),e===A.IGNORE&&(this.state=3111,this.match(A.IGNORE),this.state=3112,this.match(A.NULLS)),this.state=3115,this.match(A.RIGHT_PAREN);break;case 9:n=new cn(n),this._ctx=n,s=n,this.state=3117,this.match(A.ANY_VALUE),this.state=3118,this.match(A.LEFT_PAREN),this.state=3119,this.expression(),this.state=3122,this._errHandler.sync(this),e=this._input.LA(1),e===A.IGNORE&&(this.state=3120,this.match(A.IGNORE),this.state=3121,this.match(A.NULLS)),this.state=3124,this.match(A.RIGHT_PAREN);break;case 10:n=new Tn(n),this._ctx=n,s=n,this.state=3126,this.match(A.LAST),this.state=3127,this.match(A.LEFT_PAREN),this.state=3128,this.expression(),this.state=3131,this._errHandler.sync(this),e=this._input.LA(1),e===A.IGNORE&&(this.state=3129,this.match(A.IGNORE),this.state=3130,this.match(A.NULLS)),this.state=3133,this.match(A.RIGHT_PAREN);break;case 11:n=new Rn(n),this._ctx=n,s=n,this.state=3135,this.match(A.POSITION),this.state=3136,this.match(A.LEFT_PAREN),this.state=3137,n._substr=this.valueExpression(0),this.state=3138,this.match(A.IN),this.state=3139,n._str=this.valueExpression(0),this.state=3140,this.match(A.RIGHT_PAREN);break;case 12:n=new pn(n),this._ctx=n,s=n,this.state=3142,this.constant();break;case 13:n=new Sn(n),this._ctx=n,s=n,this.state=3143,this.match(A.ASTERISK);break;case 14:n=new Sn(n),this._ctx=n,s=n,this.state=3144,this.qualifiedName(),this.state=3145,this.match(A.DOT),this.state=3146,this.match(A.ASTERISK);break;case 15:n=new An(n),this._ctx=n,s=n,this.state=3148,this.match(A.LEFT_PAREN),this.state=3149,this.namedExpression(),this.state=3152,this._errHandler.sync(this),e=this._input.LA(1);do{this.state=3150,this.match(A.COMMA),this.state=3151,this.namedExpression(),this.state=3154,this._errHandler.sync(this),e=this._input.LA(1)}while(e===A.COMMA);this.state=3156,this.match(A.RIGHT_PAREN);break;case 16:n=new dn(n),this._ctx=n,s=n,this.state=3158,this.match(A.LEFT_PAREN),this.state=3159,this.query(),this.state=3160,this.match(A.RIGHT_PAREN);break;case 17:n=new Nn(n),this._ctx=n,s=n,this.state=3162,this.match(A.IDENTIFIER_KW),this.state=3163,this.match(A.LEFT_PAREN),this.state=3164,this.expression(),this.state=3165,this.match(A.RIGHT_PAREN);break;case 18:if(n=new On(n),this._ctx=n,s=n,this.state=3167,this.functionName(),this.state=3168,this.match(A.LEFT_PAREN),this.state=3180,this._errHandler.sync(this),1===this.interpreter.adaptivePredict(this._input,407,this._ctx)){if(this.state=3170,this._errHandler.sync(this),1===this.interpreter.adaptivePredict(this._input,405,this._ctx))this.state=3169,this.setQuantifier();for(this.state=3172,n._functionArgument=this.functionArgument(),n._argument.push(n._functionArgument),this.state=3177,this._errHandler.sync(this),e=this._input.LA(1);e===A.COMMA;)this.state=3173,this.match(A.COMMA),this.state=3174,n._functionArgument=this.functionArgument(),n._argument.push(n._functionArgument),this.state=3179,this._errHandler.sync(this),e=this._input.LA(1)}if(this.state=3182,this.match(A.RIGHT_PAREN),this.state=3189,this._errHandler.sync(this),1===this.interpreter.adaptivePredict(this._input,408,this._ctx))this.state=3183,this.match(A.FILTER),this.state=3184,this.match(A.LEFT_PAREN),this.state=3185,this.match(A.WHERE),this.state=3186,n._where=this.booleanExpression(0),this.state=3187,this.match(A.RIGHT_PAREN);if(this.state=3193,this._errHandler.sync(this),1===this.interpreter.adaptivePredict(this._input,409,this._ctx))this.state=3191,n._nullsOption=this._input.LT(1),e=this._input.LA(1),e!==A.IGNORE&&e!==A.RESPECT?n._nullsOption=this._errHandler.recoverInline(this):(this._input.LA(1)===R.Token.EOF&&(this.matchedEOF=!0),this._errHandler.reportMatch(this),this.consume()),this.state=3192,this.match(A.NULLS);if(this.state=3197,this._errHandler.sync(this),1===this.interpreter.adaptivePredict(this._input,410,this._ctx))this.state=3195,this.match(A.OVER),this.state=3196,this.windowSpec();break;case 19:n=new Cn(n),this._ctx=n,s=n,this.state=3199,this.identifier(),this.state=3200,this.match(A.ARROW),this.state=3201,this.expression();break;case 20:n=new Cn(n),this._ctx=n,s=n,this.state=3203,this.match(A.LEFT_PAREN),this.state=3204,this.identifier(),this.state=3207,this._errHandler.sync(this),e=this._input.LA(1);do{this.state=3205,this.match(A.COMMA),this.state=3206,this.identifier(),this.state=3209,this._errHandler.sync(this),e=this._input.LA(1)}while(e===A.COMMA);this.state=3211,this.match(A.RIGHT_PAREN),this.state=3212,this.match(A.ARROW),this.state=3213,this.expression();break;case 21:n=new In(n),this._ctx=n,s=n,this.state=3215,this.identifier();break;case 22:n=new fn(n),this._ctx=n,s=n,this.state=3216,this.match(A.LEFT_PAREN),this.state=3217,this.expression(),this.state=3218,this.match(A.RIGHT_PAREN);break;case 23:n=new mn(n),this._ctx=n,s=n,this.state=3220,this.match(A.EXTRACT),this.state=3221,this.match(A.LEFT_PAREN),this.state=3222,n._field=this.identifier(),this.state=3223,this.match(A.FROM),this.state=3224,n._source=this.valueExpression(0),this.state=3225,this.match(A.RIGHT_PAREN);break;case 24:n=new yn(n),this._ctx=n,s=n,this.state=3227,e=this._input.LA(1),e!==A.SUBSTR&&e!==A.SUBSTRING?this._errHandler.recoverInline(this):(this._input.LA(1)===R.Token.EOF&&(this.matchedEOF=!0),this._errHandler.reportMatch(this),this.consume()),this.state=3228,this.match(A.LEFT_PAREN),this.state=3229,n._str=this.valueExpression(0),this.state=3230,e=this._input.LA(1),e!==A.COMMA&&e!==A.FROM?this._errHandler.recoverInline(this):(this._input.LA(1)===R.Token.EOF&&(this.matchedEOF=!0),this._errHandler.reportMatch(this),this.consume()),this.state=3231,n._pos=this.valueExpression(0),this.state=3234,this._errHandler.sync(this),e=this._input.LA(1),e!==A.COMMA&&e!==A.FOR||(this.state=3232,e=this._input.LA(1),e!==A.COMMA&&e!==A.FOR?this._errHandler.recoverInline(this):(this._input.LA(1)===R.Token.EOF&&(this.matchedEOF=!0),this._errHandler.reportMatch(this),this.consume()),this.state=3233,n._len=this.valueExpression(0)),this.state=3236,this.match(A.RIGHT_PAREN);break;case 25:if(n=new xn(n),this._ctx=n,s=n,this.state=3238,this.match(A.TRIM),this.state=3239,this.match(A.LEFT_PAREN),this.state=3241,this._errHandler.sync(this),1===this.interpreter.adaptivePredict(this._input,413,this._ctx))this.state=3240,n._trimOption=this._input.LT(1),e=this._input.LA(1),e!==A.BOTH&&e!==A.LEADING&&e!==A.TRAILING?n._trimOption=this._errHandler.recoverInline(this):(this._input.LA(1)===R.Token.EOF&&(this.matchedEOF=!0),this._errHandler.reportMatch(this),this.consume());if(this.state=3244,this._errHandler.sync(this),1===this.interpreter.adaptivePredict(this._input,414,this._ctx))this.state=3243,n._trimStr=this.valueExpression(0);this.state=3246,this.match(A.FROM),this.state=3247,n._srcStr=this.valueExpression(0),this.state=3248,this.match(A.RIGHT_PAREN);break;case 26:n=new gn(n),this._ctx=n,s=n,this.state=3250,this.match(A.OVERLAY),this.state=3251,this.match(A.LEFT_PAREN),this.state=3252,n._input=this.valueExpression(0),this.state=3253,this.match(A.PLACING),this.state=3254,n._replace=this.valueExpression(0),this.state=3255,this.match(A.FROM),this.state=3256,n._position=this.valueExpression(0),this.state=3259,this._errHandler.sync(this),e=this._input.LA(1),e===A.FOR&&(this.state=3257,this.match(A.FOR),this.state=3258,n._length=this.valueExpression(0)),this.state=3261,this.match(A.RIGHT_PAREN);break;case 27:if(n=new Pn(n),this._ctx=n,s=n,this.state=3263,n._name=this._input.LT(1),e=this._input.LA(1),e!==A.PERCENTILE_CONT&&e!==A.PERCENTILE_DISC?n._name=this._errHandler.recoverInline(this):(this._input.LA(1)===R.Token.EOF&&(this.matchedEOF=!0),this._errHandler.reportMatch(this),this.consume()),this.state=3264,this.match(A.LEFT_PAREN),this.state=3265,n._percentage=this.valueExpression(0),this.state=3266,this.match(A.RIGHT_PAREN),this.state=3267,this.match(A.WITHIN),this.state=3268,this.match(A.GROUP),this.state=3269,this.match(A.LEFT_PAREN),this.state=3270,this.match(A.ORDER),this.state=3271,this.match(A.BY),this.state=3272,this.sortItem(),this.state=3273,this.match(A.RIGHT_PAREN),this.state=3280,this._errHandler.sync(this),1===this.interpreter.adaptivePredict(this._input,416,this._ctx))this.state=3274,this.match(A.FILTER),this.state=3275,this.match(A.LEFT_PAREN),this.state=3276,this.match(A.WHERE),this.state=3277,n._where=this.booleanExpression(0),this.state=3278,this.match(A.RIGHT_PAREN);if(this.state=3284,this._errHandler.sync(this),1===this.interpreter.adaptivePredict(this._input,417,this._ctx))this.state=3282,this.match(A.OVER),this.state=3283,this.windowSpec()}for(this._ctx._stop=this._input.tryLT(-1),this.state=3298,this._errHandler.sync(this),t=this.interpreter.adaptivePredict(this._input,420,this._ctx);2!==t&&t!==o.ATN.INVALID_ALT_NUMBER;){if(1===t)switch(null!=this._parseListeners&&this.triggerExitRuleEvent(),s=n,this.state=3296,this._errHandler.sync(this),this.interpreter.adaptivePredict(this._input,419,this._ctx)){case 1:if(n=new _n(new rn(r,i)),n._value=s,this.pushNewRecursionContext(n,276,A.RULE_primaryExpression),this.state=3288,!this.precpred(this._ctx,9))throw this.createFailedPredicateException("this.precpred(this._ctx, 9)");this.state=3289,this.match(A.LEFT_BRACKET),this.state=3290,n._index=this.valueExpression(0),this.state=3291,this.match(A.RIGHT_BRACKET);break;case 2:if(n=new Ln(new rn(r,i)),n._base=s,this.pushNewRecursionContext(n,276,A.RULE_primaryExpression),this.state=3293,!this.precpred(this._ctx,7))throw this.createFailedPredicateException("this.precpred(this._ctx, 7)");this.state=3294,this.match(A.DOT),this.state=3295,n._fieldName=this.identifier()}this.state=3300,this._errHandler.sync(this),t=this.interpreter.adaptivePredict(this._input,420,this._ctx)}}catch(t){if(!(t instanceof T.RecognitionException))throw t;n.exception=t,this._errHandler.reportError(this,t),this._errHandler.recover(this,t)}finally{this.unrollRecursionContexts(r)}return n}literalType(){let t=new Dn(this._ctx,this.state);this.enterRule(t,278,A.RULE_literalType);try{switch(this.state=3308,this._errHandler.sync(this),this.interpreter.adaptivePredict(this._input,421,this._ctx)){case 1:this.enterOuterAlt(t,1),this.state=3301,this.match(A.DATE);break;case 2:this.enterOuterAlt(t,2),this.state=3302,this.match(A.TIMESTAMP);break;case 3:this.enterOuterAlt(t,3),this.state=3303,this.match(A.TIMESTAMP_LTZ);break;case 4:this.enterOuterAlt(t,4),this.state=3304,this.match(A.TIMESTAMP_NTZ);break;case 5:this.enterOuterAlt(t,5),this.state=3305,this.match(A.INTERVAL);break;case 6:this.enterOuterAlt(t,6),this.state=3306,this.match(A.BINARY_HEX);break;case 7:this.enterOuterAlt(t,7),this.state=3307,t._unsupportedType=this.identifier()}}catch(e){if(!(e instanceof T.RecognitionException))throw e;t.exception=e,this._errHandler.reportError(this,e),this._errHandler.recover(this,e)}finally{this.exitRule()}return t}constant(){let t=new Mn(this._ctx,this.state);this.enterRule(t,280,A.RULE_constant);try{let e;switch(this.state=3325,this._errHandler.sync(this),this.interpreter.adaptivePredict(this._input,423,this._ctx)){case 1:t=new vn(t),this.enterOuterAlt(t,1),this.state=3310,this.match(A.NULL);break;case 2:t=new Un(t),this.enterOuterAlt(t,2),this.state=3311,this.match(A.QUESTION);break;case 3:t=new kn(t),this.enterOuterAlt(t,3),this.state=3312,this.match(A.COLON),this.state=3313,this.identifier();break;case 4:t=new bn(t),this.enterOuterAlt(t,4),this.state=3314,this.interval();break;case 5:t=new Gn(t),this.enterOuterAlt(t,5),this.state=3315,this.literalType(),this.state=3316,this.stringLit();break;case 6:t=new Fn(t),this.enterOuterAlt(t,6),this.state=3318,this.number();break;case 7:t=new Hn(t),this.enterOuterAlt(t,7),this.state=3319,this.booleanValue();break;case 8:t=new wn(t),this.enterOuterAlt(t,8),this.state=3321,this._errHandler.sync(this),e=1;do{if(1!==e)throw new h.NoViableAltException(this);this.state=3320,this.stringLit(),this.state=3323,this._errHandler.sync(this),e=this.interpreter.adaptivePredict(this._input,422,this._ctx)}while(2!==e&&e!==o.ATN.INVALID_ALT_NUMBER)}}catch(e){if(!(e instanceof T.RecognitionException))throw e;t.exception=e,this._errHandler.reportError(this,e),this._errHandler.recover(this,e)}finally{this.exitRule()}return t}comparisonOperator(){let t,e=new Bn(this._ctx,this.state);this.enterRule(e,282,A.RULE_comparisonOperator);try{this.enterOuterAlt(e,1),this.state=3327,t=this._input.LA(1),0!=(t-337&-32)||0==(1<<t-337&(1<<A.EQ-337|1<<A.NSEQ-337|1<<A.NEQ-337|1<<A.NEQJ-337|1<<A.LT-337|1<<A.LTE-337|1<<A.GT-337|1<<A.GTE-337))?this._errHandler.recoverInline(this):(this._input.LA(1)===R.Token.EOF&&(this.matchedEOF=!0),this._errHandler.reportMatch(this),this.consume())}catch(t){if(!(t instanceof T.RecognitionException))throw t;e.exception=t,this._errHandler.reportError(this,t),this._errHandler.recover(this,t)}finally{this.exitRule()}return e}arithmeticOperator(){let t,e=new Vn(this._ctx,this.state);this.enterRule(e,284,A.RULE_arithmeticOperator);try{this.enterOuterAlt(e,1),this.state=3329,t=this._input.LA(1),t===A.DIV||0==(t-345&-32)&&0!=(1<<t-345&(1<<A.PLUS-345|1<<A.MINUS-345|1<<A.ASTERISK-345|1<<A.SLASH-345|1<<A.PERCENT-345|1<<A.TILDE-345|1<<A.AMPERSAND-345|1<<A.PIPE-345|1<<A.CONCAT_PIPE-345|1<<A.HAT-345))?(this._input.LA(1)===R.Token.EOF&&(this.matchedEOF=!0),this._errHandler.reportMatch(this),this.consume()):this._errHandler.recoverInline(this)}catch(t){if(!(t instanceof T.RecognitionException))throw t;e.exception=t,this._errHandler.reportError(this,t),this._errHandler.recover(this,t)}finally{this.exitRule()}return e}predicateOperator(){let t,e=new Yn(this._ctx,this.state);this.enterRule(e,286,A.RULE_predicateOperator);try{this.enterOuterAlt(e,1),this.state=3331,t=this._input.LA(1),t!==A.AND&&t!==A.IN&&t!==A.NOT&&t!==A.OR?this._errHandler.recoverInline(this):(this._input.LA(1)===R.Token.EOF&&(this.matchedEOF=!0),this._errHandler.reportMatch(this),this.consume())}catch(t){if(!(t instanceof T.RecognitionException))throw t;e.exception=t,this._errHandler.reportError(this,t),this._errHandler.recover(this,t)}finally{this.exitRule()}return e}booleanValue(){let t,e=new Wn(this._ctx,this.state);this.enterRule(e,288,A.RULE_booleanValue);try{this.enterOuterAlt(e,1),this.state=3333,t=this._input.LA(1),t!==A.FALSE&&t!==A.TRUE?this._errHandler.recoverInline(this):(this._input.LA(1)===R.Token.EOF&&(this.matchedEOF=!0),this._errHandler.reportMatch(this),this.consume())}catch(t){if(!(t instanceof T.RecognitionException))throw t;e.exception=t,this._errHandler.reportError(this,t),this._errHandler.recover(this,t)}finally{this.exitRule()}return e}interval(){let t=new Kn(this._ctx,this.state);this.enterRule(t,290,A.RULE_interval);try{switch(this.enterOuterAlt(t,1),this.state=3335,this.match(A.INTERVAL),this.state=3338,this._errHandler.sync(this),this.interpreter.adaptivePredict(this._input,424,this._ctx)){case 1:this.state=3336,this.errorCapturingMultiUnitsInterval();break;case 2:this.state=3337,this.errorCapturingUnitToUnitInterval()}}catch(e){if(!(e instanceof T.RecognitionException))throw e;t.exception=e,this._errHandler.reportError(this,e),this._errHandler.recover(this,e)}finally{this.exitRule()}return t}errorCapturingMultiUnitsInterval(){let t=new Xn(this._ctx,this.state);this.enterRule(t,292,A.RULE_errorCapturingMultiUnitsInterval);try{if(this.enterOuterAlt(t,1),this.state=3340,t._body=this.multiUnitsInterval(),this.state=3342,this._errHandler.sync(this),1===this.interpreter.adaptivePredict(this._input,425,this._ctx))this.state=3341,this.unitToUnitInterval()}catch(e){if(!(e instanceof T.RecognitionException))throw e;t.exception=e,this._errHandler.reportError(this,e),this._errHandler.recover(this,e)}finally{this.exitRule()}return t}multiUnitsInterval(){let t=new qn(this._ctx,this.state);this.enterRule(t,294,A.RULE_multiUnitsInterval);try{let e;this.enterOuterAlt(t,1),this.state=3347,this._errHandler.sync(this),e=1;do{if(1!==e)throw new h.NoViableAltException(this);this.state=3344,this.intervalValue(),this.state=3345,t._unitInMultiUnits=this.unitInMultiUnits(),t._unit.push(t._unitInMultiUnits),this.state=3349,this._errHandler.sync(this),e=this.interpreter.adaptivePredict(this._input,426,this._ctx)}while(2!==e&&e!==o.ATN.INVALID_ALT_NUMBER)}catch(e){if(!(e instanceof T.RecognitionException))throw e;t.exception=e,this._errHandler.reportError(this,e),this._errHandler.recover(this,e)}finally{this.exitRule()}return t}errorCapturingUnitToUnitInterval(){let t=new jn(this._ctx,this.state);this.enterRule(t,296,A.RULE_errorCapturingUnitToUnitInterval);try{switch(this.enterOuterAlt(t,1),this.state=3351,t._body=this.unitToUnitInterval(),this.state=3354,this._errHandler.sync(this),this.interpreter.adaptivePredict(this._input,427,this._ctx)){case 1:this.state=3352,t._error1=this.multiUnitsInterval();break;case 2:this.state=3353,t._error2=this.unitToUnitInterval()}}catch(e){if(!(e instanceof T.RecognitionException))throw e;t.exception=e,this._errHandler.reportError(this,e),this._errHandler.recover(this,e)}finally{this.exitRule()}return t}unitToUnitInterval(){let t=new Qn(this._ctx,this.state);this.enterRule(t,298,A.RULE_unitToUnitInterval);try{this.enterOuterAlt(t,1),this.state=3356,t._value=this.intervalValue(),this.state=3357,t._from=this.unitInUnitToUnit(),this.state=3358,this.match(A.TO),this.state=3359,t._to=this.unitInUnitToUnit()}catch(e){if(!(e instanceof T.RecognitionException))throw e;t.exception=e,this._errHandler.reportError(this,e),this._errHandler.recover(this,e)}finally{this.exitRule()}return t}intervalValue(){let t,e=new zn(this._ctx,this.state);this.enterRule(e,300,A.RULE_intervalValue);try{if(this.enterOuterAlt(e,1),this.state=3362,this._errHandler.sync(this),1===this.interpreter.adaptivePredict(this._input,428,this._ctx))this.state=3361,t=this._input.LA(1),t!==A.PLUS&&t!==A.MINUS?this._errHandler.recoverInline(this):(this._input.LA(1)===R.Token.EOF&&(this.matchedEOF=!0),this._errHandler.reportMatch(this),this.consume());switch(this.state=3367,this._errHandler.sync(this),this.interpreter.adaptivePredict(this._input,429,this._ctx)){case 1:this.state=3364,this.match(A.INTEGER_VALUE);break;case 2:this.state=3365,this.match(A.DECIMAL_VALUE);break;case 3:this.state=3366,this.stringLit()}}catch(t){if(!(t instanceof T.RecognitionException))throw t;e.exception=t,this._errHandler.reportError(this,t),this._errHandler.recover(this,t)}finally{this.exitRule()}return e}unitInMultiUnits(){let t,e=new $n(this._ctx,this.state);this.enterRule(e,302,A.RULE_unitInMultiUnits);try{this.enterOuterAlt(e,1),this.state=3369,t=this._input.LA(1),t===A.DAY||t===A.DAYS||t===A.HOUR||t===A.HOURS||0==(t-175&-32)&&0!=(1<<t-175&(1<<A.MICROSECOND-175|1<<A.MICROSECONDS-175|1<<A.MILLISECOND-175|1<<A.MILLISECONDS-175|1<<A.MINUTE-175|1<<A.MINUTES-175|1<<A.MONTH-175|1<<A.MONTHS-175|1<<A.NANOSECOND-175|1<<A.NANOSECONDS-175))||t===A.SECOND||t===A.SECONDS||0==(t-327&-32)&&0!=(1<<t-327&(1<<A.WEEK-327|1<<A.WEEKS-327|1<<A.YEAR-327|1<<A.YEARS-327))?(this._input.LA(1)===R.Token.EOF&&(this.matchedEOF=!0),this._errHandler.reportMatch(this),this.consume()):this._errHandler.recoverInline(this)}catch(t){if(!(t instanceof T.RecognitionException))throw t;e.exception=t,this._errHandler.reportError(this,t),this._errHandler.recover(this,t)}finally{this.exitRule()}return e}unitInUnitToUnit(){let t,e=new Jn(this._ctx,this.state);this.enterRule(e,304,A.RULE_unitInUnitToUnit);try{this.enterOuterAlt(e,1),this.state=3371,t=this._input.LA(1),t!==A.DAY&&t!==A.HOUR&&t!==A.MINUTE&&t!==A.MONTH&&t!==A.SECOND&&t!==A.YEAR?this._errHandler.recoverInline(this):(this._input.LA(1)===R.Token.EOF&&(this.matchedEOF=!0),this._errHandler.reportMatch(this),this.consume())}catch(t){if(!(t instanceof T.RecognitionException))throw t;e.exception=t,this._errHandler.reportError(this,t),this._errHandler.recover(this,t)}finally{this.exitRule()}return e}colPosition(){let t=new Zn(this._ctx,this.state);this.enterRule(t,306,A.RULE_colPosition);try{switch(this.state=3376,this._errHandler.sync(this),this._input.LA(1)){case A.FIRST:this.enterOuterAlt(t,1),this.state=3373,t._position=this.match(A.FIRST);break;case A.AFTER:this.enterOuterAlt(t,2),this.state=3374,t._position=this.match(A.AFTER),this.state=3375,t._afterCol=this.errorCapturingIdentifier();break;default:throw new h.NoViableAltException(this)}}catch(e){if(!(e instanceof T.RecognitionException))throw e;t.exception=e,this._errHandler.reportError(this,e),this._errHandler.recover(this,e)}finally{this.exitRule()}return t}type(){let t=new ts(this._ctx,this.state);this.enterRule(t,308,A.RULE_type);try{switch(this.state=3408,this._errHandler.sync(this),this.interpreter.adaptivePredict(this._input,431,this._ctx)){case 1:this.enterOuterAlt(t,1),this.state=3378,this.match(A.BOOLEAN);break;case 2:this.enterOuterAlt(t,2),this.state=3379,this.match(A.TINYINT);break;case 3:this.enterOuterAlt(t,3),this.state=3380,this.match(A.BYTE);break;case 4:this.enterOuterAlt(t,4),this.state=3381,this.match(A.SMALLINT);break;case 5:this.enterOuterAlt(t,5),this.state=3382,this.match(A.SHORT);break;case 6:this.enterOuterAlt(t,6),this.state=3383,this.match(A.INT);break;case 7:this.enterOuterAlt(t,7),this.state=3384,this.match(A.INTEGER);break;case 8:this.enterOuterAlt(t,8),this.state=3385,this.match(A.BIGINT);break;case 9:this.enterOuterAlt(t,9),this.state=3386,this.match(A.LONG);break;case 10:this.enterOuterAlt(t,10),this.state=3387,this.match(A.FLOAT);break;case 11:this.enterOuterAlt(t,11),this.state=3388,this.match(A.REAL);break;case 12:this.enterOuterAlt(t,12),this.state=3389,this.match(A.DOUBLE);break;case 13:this.enterOuterAlt(t,13),this.state=3390,this.match(A.DATE);break;case 14:this.enterOuterAlt(t,14),this.state=3391,this.match(A.TIMESTAMP);break;case 15:this.enterOuterAlt(t,15),this.state=3392,this.match(A.TIMESTAMP_NTZ);break;case 16:this.enterOuterAlt(t,16),this.state=3393,this.match(A.TIMESTAMP_LTZ);break;case 17:this.enterOuterAlt(t,17),this.state=3394,this.match(A.STRING);break;case 18:this.enterOuterAlt(t,18),this.state=3395,this.match(A.CHARACTER);break;case 19:this.enterOuterAlt(t,19),this.state=3396,this.match(A.CHAR);break;case 20:this.enterOuterAlt(t,20),this.state=3397,this.match(A.VARCHAR);break;case 21:this.enterOuterAlt(t,21),this.state=3398,this.match(A.BINARY);break;case 22:this.enterOuterAlt(t,22),this.state=3399,this.match(A.DECIMAL);break;case 23:this.enterOuterAlt(t,23),this.state=3400,this.match(A.DEC);break;case 24:this.enterOuterAlt(t,24),this.state=3401,this.match(A.NUMERIC);break;case 25:this.enterOuterAlt(t,25),this.state=3402,this.match(A.VOID);break;case 26:this.enterOuterAlt(t,26),this.state=3403,this.match(A.INTERVAL);break;case 27:this.enterOuterAlt(t,27),this.state=3404,this.match(A.ARRAY);break;case 28:this.enterOuterAlt(t,28),this.state=3405,this.match(A.STRUCT);break;case 29:this.enterOuterAlt(t,29),this.state=3406,this.match(A.MAP);break;case 30:this.enterOuterAlt(t,30),this.state=3407,t._unsupportedType=this.identifier()}}catch(e){if(!(e instanceof T.RecognitionException))throw e;t.exception=e,this._errHandler.reportError(this,e),this._errHandler.recover(this,e)}finally{this.exitRule()}return t}dataType(){let t,e=new es(this._ctx,this.state);this.enterRule(e,310,A.RULE_dataType);try{switch(this.state=3456,this._errHandler.sync(this),this.interpreter.adaptivePredict(this._input,438,this._ctx)){case 1:e=new rs(e),this.enterOuterAlt(e,1),this.state=3410,e._complex=this.match(A.ARRAY),this.state=3411,this.match(A.LT),this.state=3412,this.dataType(),this.state=3413,this.match(A.GT);break;case 2:e=new rs(e),this.enterOuterAlt(e,2),this.state=3415,e._complex=this.match(A.MAP),this.state=3416,this.match(A.LT),this.state=3417,this.dataType(),this.state=3418,this.match(A.COMMA),this.state=3419,this.dataType(),this.state=3420,this.match(A.GT);break;case 3:switch(e=new rs(e),this.enterOuterAlt(e,3),this.state=3422,e._complex=this.match(A.STRUCT),this.state=3429,this._errHandler.sync(this),this._input.LA(1)){case A.LT:if(this.state=3423,this.match(A.LT),this.state=3425,this._errHandler.sync(this),1===this.interpreter.adaptivePredict(this._input,432,this._ctx))this.state=3424,this.complexColTypeList();this.state=3427,this.match(A.GT);break;case A.NEQ:this.state=3428,this.match(A.NEQ);break;default:throw new h.NoViableAltException(this)}break;case 4:if(e=new is(e),this.enterOuterAlt(e,4),this.state=3431,this.match(A.INTERVAL),this.state=3432,e._from=this._input.LT(1),t=this._input.LA(1),t!==A.MONTH&&t!==A.YEAR?e._from=this._errHandler.recoverInline(this):(this._input.LA(1)===R.Token.EOF&&(this.matchedEOF=!0),this._errHandler.reportMatch(this),this.consume()),this.state=3435,this._errHandler.sync(this),1===this.interpreter.adaptivePredict(this._input,434,this._ctx))this.state=3433,this.match(A.TO),this.state=3434,e._to=this.match(A.MONTH);break;case 5:if(e=new ns(e),this.enterOuterAlt(e,5),this.state=3437,this.match(A.INTERVAL),this.state=3438,e._from=this._input.LT(1),t=this._input.LA(1),t!==A.DAY&&t!==A.HOUR&&t!==A.MINUTE&&t!==A.SECOND?e._from=this._errHandler.recoverInline(this):(this._input.LA(1)===R.Token.EOF&&(this.matchedEOF=!0),this._errHandler.reportMatch(this),this.consume()),this.state=3441,this._errHandler.sync(this),1===this.interpreter.adaptivePredict(this._input,435,this._ctx))this.state=3439,this.match(A.TO),this.state=3440,e._to=this._input.LT(1),t=this._input.LA(1),t!==A.HOUR&&t!==A.MINUTE&&t!==A.SECOND?e._to=this._errHandler.recoverInline(this):(this._input.LA(1)===R.Token.EOF&&(this.matchedEOF=!0),this._errHandler.reportMatch(this),this.consume());break;case 6:if(e=new ss(e),this.enterOuterAlt(e,6),this.state=3443,this.type(),this.state=3454,this._errHandler.sync(this),1===this.interpreter.adaptivePredict(this._input,437,this._ctx)){for(this.state=3444,this.match(A.LEFT_PAREN),this.state=3445,this.match(A.INTEGER_VALUE),this.state=3450,this._errHandler.sync(this),t=this._input.LA(1);t===A.COMMA;)this.state=3446,this.match(A.COMMA),this.state=3447,this.match(A.INTEGER_VALUE),this.state=3452,this._errHandler.sync(this),t=this._input.LA(1);this.state=3453,this.match(A.RIGHT_PAREN)}}}catch(t){if(!(t instanceof T.RecognitionException))throw t;e.exception=t,this._errHandler.reportError(this,t),this._errHandler.recover(this,t)}finally{this.exitRule()}return e}qualifiedColTypeWithPositionList(){let t,e=new os(this._ctx,this.state);this.enterRule(e,312,A.RULE_qualifiedColTypeWithPositionList);try{for(this.enterOuterAlt(e,1),this.state=3458,this.qualifiedColTypeWithPosition(),this.state=3463,this._errHandler.sync(this),t=this._input.LA(1);t===A.COMMA;)this.state=3459,this.match(A.COMMA),this.state=3460,this.qualifiedColTypeWithPosition(),this.state=3465,this._errHandler.sync(this),t=this._input.LA(1)}catch(t){if(!(t instanceof T.RecognitionException))throw t;e.exception=t,this._errHandler.reportError(this,t),this._errHandler.recover(this,t)}finally{this.exitRule()}return e}qualifiedColTypeWithPosition(){let t,e=new as(this._ctx,this.state);this.enterRule(e,314,A.RULE_qualifiedColTypeWithPosition);try{for(this.enterOuterAlt(e,1),this.state=3466,e._name=this.multipartIdentifier(),this.state=3467,this.dataType(),this.state=3471,this._errHandler.sync(this),t=this._input.LA(1);t===A.AFTER||t===A.COMMENT||t===A.DEFAULT||t===A.FIRST||t===A.NOT;)this.state=3468,this.colDefinitionDescriptorWithPosition(),this.state=3473,this._errHandler.sync(this),t=this._input.LA(1)}catch(t){if(!(t instanceof T.RecognitionException))throw t;e.exception=t,this._errHandler.reportError(this,t),this._errHandler.recover(this,t)}finally{this.exitRule()}return e}colDefinitionDescriptorWithPosition(){let t=new Es(this._ctx,this.state);this.enterRule(t,316,A.RULE_colDefinitionDescriptorWithPosition);try{switch(this.state=3479,this._errHandler.sync(this),this._input.LA(1)){case A.NOT:this.enterOuterAlt(t,1),this.state=3474,this.match(A.NOT),this.state=3475,this.match(A.NULL);break;case A.DEFAULT:this.enterOuterAlt(t,2),this.state=3476,this.defaultExpression();break;case A.COMMENT:this.enterOuterAlt(t,3),this.state=3477,this.commentSpec();break;case A.AFTER:case A.FIRST:this.enterOuterAlt(t,4),this.state=3478,this.colPosition();break;default:throw new h.NoViableAltException(this)}}catch(e){if(!(e instanceof T.RecognitionException))throw e;t.exception=e,this._errHandler.reportError(this,e),this._errHandler.recover(this,e)}finally{this.exitRule()}return t}defaultExpression(){let t=new hs(this._ctx,this.state);this.enterRule(t,318,A.RULE_defaultExpression);try{this.enterOuterAlt(t,1),this.state=3481,this.match(A.DEFAULT),this.state=3482,this.expression()}catch(e){if(!(e instanceof T.RecognitionException))throw e;t.exception=e,this._errHandler.reportError(this,e),this._errHandler.recover(this,e)}finally{this.exitRule()}return t}colTypeList(){let t=new ls(this._ctx,this.state);this.enterRule(t,320,A.RULE_colTypeList);try{let e;for(this.enterOuterAlt(t,1),this.state=3484,this.colType(),this.state=3489,this._errHandler.sync(this),e=this.interpreter.adaptivePredict(this._input,442,this._ctx);2!==e&&e!==o.ATN.INVALID_ALT_NUMBER;)1===e&&(this.state=3485,this.match(A.COMMA),this.state=3486,this.colType()),this.state=3491,this._errHandler.sync(this),e=this.interpreter.adaptivePredict(this._input,442,this._ctx)}catch(e){if(!(e instanceof T.RecognitionException))throw e;t.exception=e,this._errHandler.reportError(this,e),this._errHandler.recover(this,e)}finally{this.exitRule()}return t}colType(){let t=new us(this._ctx,this.state);this.enterRule(t,322,A.RULE_colType);try{if(this.enterOuterAlt(t,1),this.state=3492,t._colName=this.errorCapturingIdentifier(),this.state=3493,this.dataType(),this.state=3496,this._errHandler.sync(this),1===this.interpreter.adaptivePredict(this._input,443,this._ctx))this.state=3494,this.match(A.NOT),this.state=3495,this.match(A.NULL);if(this.state=3499,this._errHandler.sync(this),1===this.interpreter.adaptivePredict(this._input,444,this._ctx))this.state=3498,this.commentSpec()}catch(e){if(!(e instanceof T.RecognitionException))throw e;t.exception=e,this._errHandler.reportError(this,e),this._errHandler.recover(this,e)}finally{this.exitRule()}return t}createOrReplaceTableColTypeList(){let t,e=new cs(this._ctx,this.state);this.enterRule(e,324,A.RULE_createOrReplaceTableColTypeList);try{for(this.enterOuterAlt(e,1),this.state=3501,this.createOrReplaceTableColType(),this.state=3506,this._errHandler.sync(this),t=this._input.LA(1);t===A.COMMA;)this.state=3502,this.match(A.COMMA),this.state=3503,this.createOrReplaceTableColType(),this.state=3508,this._errHandler.sync(this),t=this._input.LA(1)}catch(t){if(!(t instanceof T.RecognitionException))throw t;e.exception=t,this._errHandler.reportError(this,t),this._errHandler.recover(this,t)}finally{this.exitRule()}return e}createOrReplaceTableColType(){let t,e=new Ts(this._ctx,this.state);this.enterRule(e,326,A.RULE_createOrReplaceTableColType);try{for(this.enterOuterAlt(e,1),this.state=3509,e._colName=this.errorCapturingIdentifier(),this.state=3510,this.dataType(),this.state=3514,this._errHandler.sync(this),t=this._input.LA(1);t===A.COMMENT||t===A.DEFAULT||t===A.GENERATED||t===A.NOT;)this.state=3511,this.colDefinitionOption(),this.state=3516,this._errHandler.sync(this),t=this._input.LA(1)}catch(t){if(!(t instanceof T.RecognitionException))throw t;e.exception=t,this._errHandler.reportError(this,t),this._errHandler.recover(this,t)}finally{this.exitRule()}return e}colDefinitionOption(){let t=new Rs(this._ctx,this.state);this.enterRule(t,328,A.RULE_colDefinitionOption);try{switch(this.state=3522,this._errHandler.sync(this),this._input.LA(1)){case A.NOT:this.enterOuterAlt(t,1),this.state=3517,this.match(A.NOT),this.state=3518,this.match(A.NULL);break;case A.DEFAULT:this.enterOuterAlt(t,2),this.state=3519,this.defaultExpression();break;case A.GENERATED:this.enterOuterAlt(t,3),this.state=3520,this.generationExpression();break;case A.COMMENT:this.enterOuterAlt(t,4),this.state=3521,this.commentSpec();break;default:throw new h.NoViableAltException(this)}}catch(e){if(!(e instanceof T.RecognitionException))throw e;t.exception=e,this._errHandler.reportError(this,e),this._errHandler.recover(this,e)}finally{this.exitRule()}return t}generationExpression(){let t=new ps(this._ctx,this.state);this.enterRule(t,330,A.RULE_generationExpression);try{this.enterOuterAlt(t,1),this.state=3524,this.match(A.GENERATED),this.state=3525,this.match(A.ALWAYS),this.state=3526,this.match(A.AS),this.state=3527,this.match(A.LEFT_PAREN),this.state=3528,this.expression(),this.state=3529,this.match(A.RIGHT_PAREN)}catch(e){if(!(e instanceof T.RecognitionException))throw e;t.exception=e,this._errHandler.reportError(this,e),this._errHandler.recover(this,e)}finally{this.exitRule()}return t}complexColTypeList(){let t,e=new Ss(this._ctx,this.state);this.enterRule(e,332,A.RULE_complexColTypeList);try{for(this.enterOuterAlt(e,1),this.state=3531,this.complexColType(),this.state=3536,this._errHandler.sync(this),t=this._input.LA(1);t===A.COMMA;)this.state=3532,this.match(A.COMMA),this.state=3533,this.complexColType(),this.state=3538,this._errHandler.sync(this),t=this._input.LA(1)}catch(t){if(!(t instanceof T.RecognitionException))throw t;e.exception=t,this._errHandler.reportError(this,t),this._errHandler.recover(this,t)}finally{this.exitRule()}return e}complexColType(){let t,e=new As(this._ctx,this.state);this.enterRule(e,334,A.RULE_complexColType);try{if(this.enterOuterAlt(e,1),this.state=3539,this.identifier(),this.state=3541,this._errHandler.sync(this),1===this.interpreter.adaptivePredict(this._input,449,this._ctx))this.state=3540,this.match(A.COLON);this.state=3543,this.dataType(),this.state=3546,this._errHandler.sync(this),t=this._input.LA(1),t===A.NOT&&(this.state=3544,this.match(A.NOT),this.state=3545,this.match(A.NULL)),this.state=3549,this._errHandler.sync(this),t=this._input.LA(1),t===A.COMMENT&&(this.state=3548,this.commentSpec())}catch(t){if(!(t instanceof T.RecognitionException))throw t;e.exception=t,this._errHandler.reportError(this,t),this._errHandler.recover(this,t)}finally{this.exitRule()}return e}whenClause(){let t=new ds(this._ctx,this.state);this.enterRule(t,336,A.RULE_whenClause);try{this.enterOuterAlt(t,1),this.state=3551,this.match(A.WHEN),this.state=3552,t._condition=this.expression(),this.state=3553,this.match(A.THEN),this.state=3554,t._result=this.expression()}catch(e){if(!(e instanceof T.RecognitionException))throw e;t.exception=e,this._errHandler.reportError(this,e),this._errHandler.recover(this,e)}finally{this.exitRule()}return t}windowClause(){let t=new Ns(this._ctx,this.state);this.enterRule(t,338,A.RULE_windowClause);try{let e;for(this.enterOuterAlt(t,1),this.state=3556,this.match(A.WINDOW),this.state=3557,this.namedWindow(),this.state=3562,this._errHandler.sync(this),e=this.interpreter.adaptivePredict(this._input,452,this._ctx);2!==e&&e!==o.ATN.INVALID_ALT_NUMBER;)1===e&&(this.state=3558,this.match(A.COMMA),this.state=3559,this.namedWindow()),this.state=3564,this._errHandler.sync(this),e=this.interpreter.adaptivePredict(this._input,452,this._ctx)}catch(e){if(!(e instanceof T.RecognitionException))throw e;t.exception=e,this._errHandler.reportError(this,e),this._errHandler.recover(this,e)}finally{this.exitRule()}return t}namedWindow(){let t=new Os(this._ctx,this.state);this.enterRule(t,340,A.RULE_namedWindow);try{this.enterOuterAlt(t,1),this.state=3565,t._name=this.errorCapturingIdentifier(),this.state=3566,this.match(A.AS),this.state=3567,this.windowSpec()}catch(e){if(!(e instanceof T.RecognitionException))throw e;t.exception=e,this._errHandler.reportError(this,e),this._errHandler.recover(this,e)}finally{this.exitRule()}return t}windowSpec(){let t,e=new Cs(this._ctx,this.state);this.enterRule(e,342,A.RULE_windowSpec);try{switch(this.state=3615,this._errHandler.sync(this),this.interpreter.adaptivePredict(this._input,460,this._ctx)){case 1:e=new _s(e),this.enterOuterAlt(e,1),this.state=3569,e._name=this.errorCapturingIdentifier();break;case 2:e=new _s(e),this.enterOuterAlt(e,2),this.state=3570,this.match(A.LEFT_PAREN),this.state=3571,e._name=this.errorCapturingIdentifier(),this.state=3572,this.match(A.RIGHT_PAREN);break;case 3:switch(e=new Is(e),this.enterOuterAlt(e,3),this.state=3574,this.match(A.LEFT_PAREN),this.state=3609,this._errHandler.sync(this),this._input.LA(1)){case A.CLUSTER:for(this.state=3575,this.match(A.CLUSTER),this.state=3576,this.match(A.BY),this.state=3577,e._expression=this.expression(),e._partition.push(e._expression),this.state=3582,this._errHandler.sync(this),t=this._input.LA(1);t===A.COMMA;)this.state=3578,this.match(A.COMMA),this.state=3579,e._expression=this.expression(),e._partition.push(e._expression),this.state=3584,this._errHandler.sync(this),t=this._input.LA(1);break;case A.RIGHT_PAREN:case A.DISTRIBUTE:case A.ORDER:case A.PARTITION:case A.RANGE:case A.ROWS:case A.SORT:if(this.state=3595,this._errHandler.sync(this),t=this._input.LA(1),t===A.DISTRIBUTE||t===A.PARTITION)for(this.state=3585,t=this._input.LA(1),t!==A.DISTRIBUTE&&t!==A.PARTITION?this._errHandler.recoverInline(this):(this._input.LA(1)===R.Token.EOF&&(this.matchedEOF=!0),this._errHandler.reportMatch(this),this.consume()),this.state=3586,this.match(A.BY),this.state=3587,e._expression=this.expression(),e._partition.push(e._expression),this.state=3592,this._errHandler.sync(this),t=this._input.LA(1);t===A.COMMA;)this.state=3588,this.match(A.COMMA),this.state=3589,e._expression=this.expression(),e._partition.push(e._expression),this.state=3594,this._errHandler.sync(this),t=this._input.LA(1);if(this.state=3607,this._errHandler.sync(this),t=this._input.LA(1),t===A.ORDER||t===A.SORT)for(this.state=3597,t=this._input.LA(1),t!==A.ORDER&&t!==A.SORT?this._errHandler.recoverInline(this):(this._input.LA(1)===R.Token.EOF&&(this.matchedEOF=!0),this._errHandler.reportMatch(this),this.consume()),this.state=3598,this.match(A.BY),this.state=3599,this.sortItem(),this.state=3604,this._errHandler.sync(this),t=this._input.LA(1);t===A.COMMA;)this.state=3600,this.match(A.COMMA),this.state=3601,this.sortItem(),this.state=3606,this._errHandler.sync(this),t=this._input.LA(1);break;default:throw new h.NoViableAltException(this)}this.state=3612,this._errHandler.sync(this),t=this._input.LA(1),t!==A.RANGE&&t!==A.ROWS||(this.state=3611,this.windowFrame()),this.state=3614,this.match(A.RIGHT_PAREN)}}catch(t){if(!(t instanceof T.RecognitionException))throw t;e.exception=t,this._errHandler.reportError(this,t),this._errHandler.recover(this,t)}finally{this.exitRule()}return e}windowFrame(){let t=new Ls(this._ctx,this.state);this.enterRule(t,344,A.RULE_windowFrame);try{switch(this.state=3633,this._errHandler.sync(this),this.interpreter.adaptivePredict(this._input,461,this._ctx)){case 1:this.enterOuterAlt(t,1),this.state=3617,t._frameType=this.match(A.RANGE),this.state=3618,t._startPoint=this.frameBound();break;case 2:this.enterOuterAlt(t,2),this.state=3619,t._frameType=this.match(A.ROWS),this.state=3620,t._startPoint=this.frameBound();break;case 3:this.enterOuterAlt(t,3),this.state=3621,t._frameType=this.match(A.RANGE),this.state=3622,this.match(A.BETWEEN),this.state=3623,t._startPoint=this.frameBound(),this.state=3624,this.match(A.AND),this.state=3625,t._endPoint=this.frameBound();break;case 4:this.enterOuterAlt(t,4),this.state=3627,t._frameType=this.match(A.ROWS),this.state=3628,this.match(A.BETWEEN),this.state=3629,t._startPoint=this.frameBound(),this.state=3630,this.match(A.AND),this.state=3631,t._endPoint=this.frameBound()}}catch(e){if(!(e instanceof T.RecognitionException))throw e;t.exception=e,this._errHandler.reportError(this,e),this._errHandler.recover(this,e)}finally{this.exitRule()}return t}frameBound(){let t,e=new fs(this._ctx,this.state);this.enterRule(e,346,A.RULE_frameBound);try{switch(this.state=3642,this._errHandler.sync(this),this.interpreter.adaptivePredict(this._input,462,this._ctx)){case 1:this.enterOuterAlt(e,1),this.state=3635,this.match(A.UNBOUNDED),this.state=3636,e._boundType=this._input.LT(1),t=this._input.LA(1),t!==A.FOLLOWING&&t!==A.PRECEDING?e._boundType=this._errHandler.recoverInline(this):(this._input.LA(1)===R.Token.EOF&&(this.matchedEOF=!0),this._errHandler.reportMatch(this),this.consume());break;case 2:this.enterOuterAlt(e,2),this.state=3637,e._boundType=this.match(A.CURRENT),this.state=3638,this.match(A.ROW);break;case 3:this.enterOuterAlt(e,3),this.state=3639,this.expression(),this.state=3640,e._boundType=this._input.LT(1),t=this._input.LA(1),t!==A.FOLLOWING&&t!==A.PRECEDING?e._boundType=this._errHandler.recoverInline(this):(this._input.LA(1)===R.Token.EOF&&(this.matchedEOF=!0),this._errHandler.reportMatch(this),this.consume())}}catch(t){if(!(t instanceof T.RecognitionException))throw t;e.exception=t,this._errHandler.reportError(this,t),this._errHandler.recover(this,t)}finally{this.exitRule()}return e}qualifiedNameList(){let t,e=new ms(this._ctx,this.state);this.enterRule(e,348,A.RULE_qualifiedNameList);try{for(this.enterOuterAlt(e,1),this.state=3644,this.qualifiedName(),this.state=3649,this._errHandler.sync(this),t=this._input.LA(1);t===A.COMMA;)this.state=3645,this.match(A.COMMA),this.state=3646,this.qualifiedName(),this.state=3651,this._errHandler.sync(this),t=this._input.LA(1)}catch(t){if(!(t instanceof T.RecognitionException))throw t;e.exception=t,this._errHandler.reportError(this,t),this._errHandler.recover(this,t)}finally{this.exitRule()}return e}functionName(){let t=new ys(this._ctx,this.state);this.enterRule(t,350,A.RULE_functionName);try{switch(this.state=3661,this._errHandler.sync(this),this.interpreter.adaptivePredict(this._input,464,this._ctx)){case 1:this.enterOuterAlt(t,1),this.state=3652,this.match(A.IDENTIFIER_KW),this.state=3653,this.match(A.LEFT_PAREN),this.state=3654,this.expression(),this.state=3655,this.match(A.RIGHT_PAREN);break;case 2:this.enterOuterAlt(t,2),this.state=3657,this.qualifiedName();break;case 3:this.enterOuterAlt(t,3),this.state=3658,this.match(A.FILTER);break;case 4:this.enterOuterAlt(t,4),this.state=3659,this.match(A.LEFT);break;case 5:this.enterOuterAlt(t,5),this.state=3660,this.match(A.RIGHT)}}catch(e){if(!(e instanceof T.RecognitionException))throw e;t.exception=e,this._errHandler.reportError(this,e),this._errHandler.recover(this,e)}finally{this.exitRule()}return t}qualifiedName(){let t=new xs(this._ctx,this.state);this.enterRule(t,352,A.RULE_qualifiedName);try{let e;for(this.enterOuterAlt(t,1),this.state=3663,this.identifier(),this.state=3668,this._errHandler.sync(this),e=this.interpreter.adaptivePredict(this._input,465,this._ctx);2!==e&&e!==o.ATN.INVALID_ALT_NUMBER;)1===e&&(this.state=3664,this.match(A.DOT),this.state=3665,this.identifier()),this.state=3670,this._errHandler.sync(this),e=this.interpreter.adaptivePredict(this._input,465,this._ctx)}catch(e){if(!(e instanceof T.RecognitionException))throw e;t.exception=e,this._errHandler.reportError(this,e),this._errHandler.recover(this,e)}finally{this.exitRule()}return t}errorCapturingIdentifier(){let t=new gs(this._ctx,this.state);this.enterRule(t,354,A.RULE_errorCapturingIdentifier);try{this.enterOuterAlt(t,1),this.state=3671,this.identifier(),this.state=3672,this.errorCapturingIdentifierExtra()}catch(e){if(!(e instanceof T.RecognitionException))throw e;t.exception=e,this._errHandler.reportError(this,e),this._errHandler.recover(this,e)}finally{this.exitRule()}return t}errorCapturingIdentifierExtra(){let t=new Ps(this._ctx,this.state);this.enterRule(t,356,A.RULE_errorCapturingIdentifierExtra);try{let e;switch(this.state=3681,this._errHandler.sync(this),this.interpreter.adaptivePredict(this._input,467,this._ctx)){case 1:t=new Ds(t),this.enterOuterAlt(t,1),this.state=3676,this._errHandler.sync(this),e=1;do{if(1!==e)throw new h.NoViableAltException(this);this.state=3674,this.match(A.MINUS),this.state=3675,this.identifier(),this.state=3678,this._errHandler.sync(this),e=this.interpreter.adaptivePredict(this._input,466,this._ctx)}while(2!==e&&e!==o.ATN.INVALID_ALT_NUMBER);break;case 2:t=new Ms(t),this.enterOuterAlt(t,2)}}catch(e){if(!(e instanceof T.RecognitionException))throw e;t.exception=e,this._errHandler.reportError(this,e),this._errHandler.recover(this,e)}finally{this.exitRule()}return t}identifier(){let t=new vs(this._ctx,this.state);this.enterRule(t,358,A.RULE_identifier);try{switch(this.state=3686,this._errHandler.sync(this),this.interpreter.adaptivePredict(this._input,468,this._ctx)){case 1:this.enterOuterAlt(t,1),this.state=3683,this.strictIdentifier();break;case 2:if(this.enterOuterAlt(t,2),this.state=3684,this.SQL_standard_keyword_behavior)throw this.createFailedPredicateException("!this.SQL_standard_keyword_behavior");this.state=3685,this.strictNonReserved()}}catch(e){if(!(e instanceof T.RecognitionException))throw e;t.exception=e,this._errHandler.reportError(this,e),this._errHandler.recover(this,e)}finally{this.exitRule()}return t}strictIdentifier(){let t=new Us(this._ctx,this.state);this.enterRule(t,360,A.RULE_strictIdentifier);try{switch(this.state=3694,this._errHandler.sync(this),this.interpreter.adaptivePredict(this._input,469,this._ctx)){case 1:t=new ks(t),this.enterOuterAlt(t,1),this.state=3688,this.match(A.IDENTIFIER);break;case 2:t=new bs(t),this.enterOuterAlt(t,2),this.state=3689,this.quotedIdentifier();break;case 3:if(t=new ks(t),this.enterOuterAlt(t,3),this.state=3690,!this.SQL_standard_keyword_behavior)throw this.createFailedPredicateException("this.SQL_standard_keyword_behavior");this.state=3691,this.ansiNonReserved();break;case 4:if(t=new ks(t),this.enterOuterAlt(t,4),this.state=3692,this.SQL_standard_keyword_behavior)throw this.createFailedPredicateException("!this.SQL_standard_keyword_behavior");this.state=3693,this.nonReserved()}}catch(e){if(!(e instanceof T.RecognitionException))throw e;t.exception=e,this._errHandler.reportError(this,e),this._errHandler.recover(this,e)}finally{this.exitRule()}return t}quotedIdentifier(){let t=new Gs(this._ctx,this.state);this.enterRule(t,362,A.RULE_quotedIdentifier);try{switch(this.state=3699,this._errHandler.sync(this),this.interpreter.adaptivePredict(this._input,470,this._ctx)){case 1:this.enterOuterAlt(t,1),this.state=3696,this.match(A.BACKQUOTED_IDENTIFIER);break;case 2:if(this.enterOuterAlt(t,2),this.state=3697,!this.double_quoted_identifiers)throw this.createFailedPredicateException("this.double_quoted_identifiers");this.state=3698,this.match(A.DOUBLEQUOTED_STRING)}}catch(e){if(!(e instanceof T.RecognitionException))throw e;t.exception=e,this._errHandler.reportError(this,e),this._errHandler.recover(this,e)}finally{this.exitRule()}return t}backQuotedIdentifier(){let t=new Fs(this._ctx,this.state);this.enterRule(t,364,A.RULE_backQuotedIdentifier);try{this.enterOuterAlt(t,1),this.state=3701,this.match(A.BACKQUOTED_IDENTIFIER)}catch(e){if(!(e instanceof T.RecognitionException))throw e;t.exception=e,this._errHandler.reportError(this,e),this._errHandler.recover(this,e)}finally{this.exitRule()}return t}number(){let t,e=new Hs(this._ctx,this.state);this.enterRule(e,366,A.RULE_number);try{switch(this.state=3746,this._errHandler.sync(this),this.interpreter.adaptivePredict(this._input,481,this._ctx)){case 1:if(e=new ws(e),this.enterOuterAlt(e,1),this.state=3703,this.legacy_exponent_literal_as_decimal_enabled)throw this.createFailedPredicateException("!this.legacy_exponent_literal_as_decimal_enabled");this.state=3705,this._errHandler.sync(this),t=this._input.LA(1),t===A.MINUS&&(this.state=3704,this.match(A.MINUS)),this.state=3707,this.match(A.EXPONENT_VALUE);break;case 2:if(e=new Bs(e),this.enterOuterAlt(e,2),this.state=3708,this.legacy_exponent_literal_as_decimal_enabled)throw this.createFailedPredicateException("!this.legacy_exponent_literal_as_decimal_enabled");this.state=3710,this._errHandler.sync(this),t=this._input.LA(1),t===A.MINUS&&(this.state=3709,this.match(A.MINUS)),this.state=3712,this.match(A.DECIMAL_VALUE);break;case 3:if(e=new Vs(e),this.enterOuterAlt(e,3),this.state=3713,!this.legacy_exponent_literal_as_decimal_enabled)throw this.createFailedPredicateException("this.legacy_exponent_literal_as_decimal_enabled");this.state=3715,this._errHandler.sync(this),t=this._input.LA(1),t===A.MINUS&&(this.state=3714,this.match(A.MINUS)),this.state=3717,t=this._input.LA(1),t!==A.EXPONENT_VALUE&&t!==A.DECIMAL_VALUE?this._errHandler.recoverInline(this):(this._input.LA(1)===R.Token.EOF&&(this.matchedEOF=!0),this._errHandler.reportMatch(this),this.consume());break;case 4:e=new Ys(e),this.enterOuterAlt(e,4),this.state=3719,this._errHandler.sync(this),t=this._input.LA(1),t===A.MINUS&&(this.state=3718,this.match(A.MINUS)),this.state=3721,this.match(A.INTEGER_VALUE);break;case 5:e=new Ws(e),this.enterOuterAlt(e,5),this.state=3723,this._errHandler.sync(this),t=this._input.LA(1),t===A.MINUS&&(this.state=3722,this.match(A.MINUS)),this.state=3725,this.match(A.BIGINT_LITERAL);break;case 6:e=new Ks(e),this.enterOuterAlt(e,6),this.state=3727,this._errHandler.sync(this),t=this._input.LA(1),t===A.MINUS&&(this.state=3726,this.match(A.MINUS)),this.state=3729,this.match(A.SMALLINT_LITERAL);break;case 7:e=new Xs(e),this.enterOuterAlt(e,7),this.state=3731,this._errHandler.sync(this),t=this._input.LA(1),t===A.MINUS&&(this.state=3730,this.match(A.MINUS)),this.state=3733,this.match(A.TINYINT_LITERAL);break;case 8:e=new qs(e),this.enterOuterAlt(e,8),this.state=3735,this._errHandler.sync(this),t=this._input.LA(1),t===A.MINUS&&(this.state=3734,this.match(A.MINUS)),this.state=3737,this.match(A.DOUBLE_LITERAL);break;case 9:e=new js(e),this.enterOuterAlt(e,9),this.state=3739,this._errHandler.sync(this),t=this._input.LA(1),t===A.MINUS&&(this.state=3738,this.match(A.MINUS)),this.state=3741,this.match(A.FLOAT_LITERAL);break;case 10:e=new Qs(e),this.enterOuterAlt(e,10),this.state=3743,this._errHandler.sync(this),t=this._input.LA(1),t===A.MINUS&&(this.state=3742,this.match(A.MINUS)),this.state=3745,this.match(A.BIGDECIMAL_LITERAL)}}catch(t){if(!(t instanceof T.RecognitionException))throw t;e.exception=t,this._errHandler.reportError(this,t),this._errHandler.recover(this,t)}finally{this.exitRule()}return e}alterColumnAction(){let t,e=new zs(this._ctx,this.state);this.enterRule(e,368,A.RULE_alterColumnAction);try{switch(this.state=3759,this._errHandler.sync(this),this.interpreter.adaptivePredict(this._input,482,this._ctx)){case 1:this.enterOuterAlt(e,1),this.state=3748,this.match(A.TYPE),this.state=3749,this.dataType();break;case 2:this.enterOuterAlt(e,2),this.state=3750,this.commentSpec();break;case 3:this.enterOuterAlt(e,3),this.state=3751,this.colPosition();break;case 4:this.enterOuterAlt(e,4),this.state=3752,e._setOrDrop=this._input.LT(1),t=this._input.LA(1),t!==A.DROP&&t!==A.SET?e._setOrDrop=this._errHandler.recoverInline(this):(this._input.LA(1)===R.Token.EOF&&(this.matchedEOF=!0),this._errHandler.reportMatch(this),this.consume()),this.state=3753,this.match(A.NOT),this.state=3754,this.match(A.NULL);break;case 5:this.enterOuterAlt(e,5),this.state=3755,this.match(A.SET),this.state=3756,this.defaultExpression();break;case 6:this.enterOuterAlt(e,6),this.state=3757,e._dropDefault=this.match(A.DROP),this.state=3758,this.match(A.DEFAULT)}}catch(t){if(!(t instanceof T.RecognitionException))throw t;e.exception=t,this._errHandler.reportError(this,t),this._errHandler.recover(this,t)}finally{this.exitRule()}return e}stringLit(){let t=new $s(this._ctx,this.state);this.enterRule(t,370,A.RULE_stringLit);try{switch(this.state=3764,this._errHandler.sync(this),this.interpreter.adaptivePredict(this._input,483,this._ctx)){case 1:this.enterOuterAlt(t,1),this.state=3761,this.match(A.STRING_LITERAL);break;case 2:if(this.enterOuterAlt(t,2),this.state=3762,this.double_quoted_identifiers)throw this.createFailedPredicateException("!this.double_quoted_identifiers");this.state=3763,this.match(A.DOUBLEQUOTED_STRING)}}catch(e){if(!(e instanceof T.RecognitionException))throw e;t.exception=e,this._errHandler.reportError(this,e),this._errHandler.recover(this,e)}finally{this.exitRule()}return t}comment(){let t=new Js(this._ctx,this.state);this.enterRule(t,372,A.RULE_comment);try{switch(this.state=3768,this._errHandler.sync(this),this.interpreter.adaptivePredict(this._input,484,this._ctx)){case 1:this.enterOuterAlt(t,1),this.state=3766,this.stringLit();break;case 2:this.enterOuterAlt(t,2),this.state=3767,this.match(A.NULL)}}catch(e){if(!(e instanceof T.RecognitionException))throw e;t.exception=e,this._errHandler.reportError(this,e),this._errHandler.recover(this,e)}finally{this.exitRule()}return t}version(){let t=new Zs(this._ctx,this.state);this.enterRule(t,374,A.RULE_version);try{switch(this.state=3772,this._errHandler.sync(this),this.interpreter.adaptivePredict(this._input,485,this._ctx)){case 1:this.enterOuterAlt(t,1),this.state=3770,this.match(A.INTEGER_VALUE);break;case 2:this.enterOuterAlt(t,2),this.state=3771,this.stringLit()}}catch(e){if(!(e instanceof T.RecognitionException))throw e;t.exception=e,this._errHandler.reportError(this,e),this._errHandler.recover(this,e)}finally{this.exitRule()}return t}ansiNonReserved(){let t,e=new to(this._ctx,this.state);this.enterRule(e,376,A.RULE_ansiNonReserved);try{this.enterOuterAlt(e,1),this.state=3774,t=this._input.LA(1),0==(-32&t)&&0!=(1<<t&(1<<A.ADD|1<<A.AFTER|1<<A.ALTER|1<<A.ALWAYS|1<<A.ANALYZE|1<<A.ANTI|1<<A.ANY_VALUE|1<<A.ARCHIVE|1<<A.ARRAY|1<<A.ASC|1<<A.AT|1<<A.BETWEEN|1<<A.BIGINT|1<<A.BINARY|1<<A.BOOLEAN|1<<A.BUCKET|1<<A.BUCKETS|1<<A.BY))||0==(t-32&-32)&&0!=(1<<t-32&(1<<A.BYTE-32|1<<A.CACHE-32|1<<A.CASCADE-32|1<<A.CATALOG-32|1<<A.CATALOGS-32|1<<A.CHANGE-32|1<<A.CHAR-32|1<<A.CHARACTER-32|1<<A.CLEAR-32|1<<A.CLUSTER-32|1<<A.CLUSTERED-32|1<<A.CODEGEN-32|1<<A.COLLECTION-32|1<<A.COLUMNS-32|1<<A.COMMENT-32|1<<A.COMMIT-32|1<<A.COMPACT-32|1<<A.COMPACTIONS-32|1<<A.COMPUTE-32|1<<A.CONCATENATE-32|1<<A.COST-32|1<<A.CUBE-32|1<<A.CURRENT-32))||0==(t-67&-32)&&0!=(1<<t-67&(1<<A.DAY-67|1<<A.DAYS-67|1<<A.DAYOFYEAR-67|1<<A.DATA-67|1<<A.DATE-67|1<<A.DATABASE-67|1<<A.DATABASES-67|1<<A.DATEADD-67|1<<A.DATE_ADD-67|1<<A.DATEDIFF-67|1<<A.DATE_DIFF-67|1<<A.DBPROPERTIES-67|1<<A.DEC-67|1<<A.DECIMAL-67|1<<A.DEFAULT-67|1<<A.DEFINED-67|1<<A.DELETE-67|1<<A.DELIMITED-67|1<<A.DESC-67|1<<A.DESCRIBE-67|1<<A.DFS-67|1<<A.DIRECTORIES-67|1<<A.DIRECTORY-67|1<<A.DISTRIBUTE-67|1<<A.DIV-67|1<<A.DOUBLE-67|1<<A.DROP-67|1<<A.ESCAPED-67))||0==(t-100&-32)&&0!=(1<<t-100&(1<<A.EXCHANGE-100|1<<A.EXCLUDE-100|1<<A.EXISTS-100|1<<A.EXPLAIN-100|1<<A.EXPORT-100|1<<A.EXTENDED-100|1<<A.EXTERNAL-100|1<<A.EXTRACT-100|1<<A.FIELDS-100|1<<A.FILEFORMAT-100|1<<A.FIRST-100|1<<A.FLOAT-100|1<<A.FOLLOWING-100|1<<A.FORMAT-100|1<<A.FORMATTED-100|1<<A.FUNCTION-100|1<<A.FUNCTIONS-100|1<<A.GENERATED-100|1<<A.GLOBAL-100|1<<A.GROUPING-100|1<<A.BINARY_HEX-100|1<<A.HOUR-100))||0==(t-132&-32)&&0!=(1<<t-132&(1<<A.HOURS-132|1<<A.IDENTIFIER_KW-132|1<<A.IF-132|1<<A.IGNORE-132|1<<A.IMPORT-132|1<<A.INCLUDE-132|1<<A.INDEX-132|1<<A.INDEXES-132|1<<A.INPATH-132|1<<A.INPUTFORMAT-132|1<<A.INSERT-132|1<<A.INTERVAL-132|1<<A.INT-132|1<<A.INTEGER-132|1<<A.ITEMS-132|1<<A.KEYS-132|1<<A.LAST-132|1<<A.LAZY-132|1<<A.LIKE-132|1<<A.ILIKE-132|1<<A.LIMIT-132|1<<A.LINES-132|1<<A.LIST-132))||0==(t-164&-32)&&0!=(1<<t-164&(1<<A.LOAD-164|1<<A.LOCAL-164|1<<A.LOCATION-164|1<<A.LOCK-164|1<<A.LOCKS-164|1<<A.LOGICAL-164|1<<A.LONG-164|1<<A.MACRO-164|1<<A.MAP-164|1<<A.MATCHED-164|1<<A.MERGE-164|1<<A.MICROSECOND-164|1<<A.MICROSECONDS-164|1<<A.MILLISECOND-164|1<<A.MILLISECONDS-164|1<<A.MINUTE-164|1<<A.MINUTES-164|1<<A.MONTH-164|1<<A.MONTHS-164|1<<A.MSCK-164|1<<A.NAME-164|1<<A.NAMESPACE-164|1<<A.NAMESPACES-164|1<<A.NANOSECOND-164|1<<A.NANOSECONDS-164|1<<A.NO-164|1<<A.NULLS-164|1<<A.NUMERIC-164|1<<A.OF-164))||0==(t-199&-32)&&0!=(1<<t-199&(1<<A.OPTION-199|1<<A.OPTIONS-199|1<<A.OUT-199|1<<A.OUTPUTFORMAT-199|1<<A.OVER-199|1<<A.OVERLAY-199|1<<A.OVERWRITE-199|1<<A.PARTITION-199|1<<A.PARTITIONED-199|1<<A.PARTITIONS-199|1<<A.PERCENTLIT-199|1<<A.PIVOT-199|1<<A.PLACING-199|1<<A.POSITION-199|1<<A.PRECEDING-199|1<<A.PRINCIPALS-199|1<<A.PROPERTIES-199|1<<A.PURGE-199|1<<A.QUARTER-199|1<<A.QUERY-199|1<<A.RANGE-199|1<<A.REAL-199|1<<A.RECORDREADER-199|1<<A.RECORDWRITER-199|1<<A.RECOVER-199))||0==(t-231&-32)&&0!=(1<<t-231&(1<<A.REDUCE-231|1<<A.REFRESH-231|1<<A.RENAME-231|1<<A.REPAIR-231|1<<A.REPEATABLE-231|1<<A.REPLACE-231|1<<A.RESET-231|1<<A.RESPECT-231|1<<A.RESTRICT-231|1<<A.REVOKE-231|1<<A.RLIKE-231|1<<A.ROLE-231|1<<A.ROLES-231|1<<A.ROLLBACK-231|1<<A.ROLLUP-231|1<<A.ROW-231|1<<A.ROWS-231|1<<A.SECOND-231|1<<A.SECONDS-231|1<<A.SCHEMA-231|1<<A.SCHEMAS-231|1<<A.SEMI-231|1<<A.SEPARATED-231|1<<A.SERDE-231|1<<A.SERDEPROPERTIES-231|1<<A.SET-231|1<<A.SETMINUS-231|1<<A.SETS-231))||0==(t-263&-32)&&0!=(1<<t-263&(1<<A.SHORT-263|1<<A.SHOW-263|1<<A.SKEWED-263|1<<A.SMALLINT-263|1<<A.SORT-263|1<<A.SORTED-263|1<<A.SOURCE-263|1<<A.START-263|1<<A.STATISTICS-263|1<<A.STORED-263|1<<A.STRATIFY-263|1<<A.STRING-263|1<<A.STRUCT-263|1<<A.SUBSTR-263|1<<A.SUBSTRING-263|1<<A.SYNC-263|1<<A.SYSTEM_TIME-263|1<<A.SYSTEM_VERSION-263|1<<A.TABLES-263|1<<A.TABLESAMPLE-263|1<<A.TARGET-263|1<<A.TBLPROPERTIES-263|1<<A.TEMPORARY-263|1<<A.TERMINATED-263|1<<A.TIMESTAMP-263|1<<A.TIMESTAMP_LTZ-263|1<<A.TIMESTAMP_NTZ-263|1<<A.TIMESTAMPADD-263))||0==(t-295&-32)&&0!=(1<<t-295&(1<<A.TIMESTAMPDIFF-295|1<<A.TINYINT-295|1<<A.TOUCH-295|1<<A.TRANSACTION-295|1<<A.TRANSACTIONS-295|1<<A.TRANSFORM-295|1<<A.TRIM-295|1<<A.TRUE-295|1<<A.TRUNCATE-295|1<<A.TRY_CAST-295|1<<A.TYPE-295|1<<A.UNARCHIVE-295|1<<A.UNBOUNDED-295|1<<A.UNCACHE-295|1<<A.UNLOCK-295|1<<A.UNPIVOT-295|1<<A.UNSET-295|1<<A.UPDATE-295|1<<A.USE-295|1<<A.VALUES-295|1<<A.VARCHAR-295|1<<A.VERSION-295|1<<A.VIEW-295|1<<A.VIEWS-295|1<<A.VOID-295))||0==(t-327&-32)&&0!=(1<<t-327&(1<<A.WEEK-327|1<<A.WEEKS-327|1<<A.WINDOW-327|1<<A.YEAR-327|1<<A.YEARS-327|1<<A.ZONE-327))?(this._input.LA(1)===R.Token.EOF&&(this.matchedEOF=!0),this._errHandler.reportMatch(this),this.consume()):this._errHandler.recoverInline(this)}catch(t){if(!(t instanceof T.RecognitionException))throw t;e.exception=t,this._errHandler.reportError(this,t),this._errHandler.recover(this,t)}finally{this.exitRule()}return e}strictNonReserved(){let t,e=new eo(this._ctx,this.state);this.enterRule(e,378,A.RULE_strictNonReserved);try{this.enterOuterAlt(e,1),this.state=3776,t=this._input.LA(1),t===A.ANTI||t===A.CROSS||t===A.EXCEPT||t===A.FULL||0==(t-141&-32)&&0!=(1<<t-141&(1<<A.INNER-141|1<<A.INTERSECT-141|1<<A.JOIN-141|1<<A.LATERAL-141|1<<A.LEFT-141))||t===A.NATURAL||t===A.ON||0==(t-242&-32)&&0!=(1<<t-242&(1<<A.RIGHT-242|1<<A.SEMI-242|1<<A.SETMINUS-242))||t===A.UNION||t===A.USING?(this._input.LA(1)===R.Token.EOF&&(this.matchedEOF=!0),this._errHandler.reportMatch(this),this.consume()):this._errHandler.recoverInline(this)}catch(t){if(!(t instanceof T.RecognitionException))throw t;e.exception=t,this._errHandler.reportError(this,t),this._errHandler.recover(this,t)}finally{this.exitRule()}return e}nonReserved(){let t,e=new ro(this._ctx,this.state);this.enterRule(e,380,A.RULE_nonReserved);try{this.enterOuterAlt(e,1),this.state=3778,t=this._input.LA(1),0==(-32&t)&&0!=(1<<t&(1<<A.ADD|1<<A.AFTER|1<<A.ALL|1<<A.ALTER|1<<A.ALWAYS|1<<A.ANALYZE|1<<A.AND|1<<A.ANY|1<<A.ANY_VALUE|1<<A.ARCHIVE|1<<A.ARRAY|1<<A.AS|1<<A.ASC|1<<A.AT|1<<A.AUTHORIZATION|1<<A.BETWEEN|1<<A.BIGINT|1<<A.BINARY|1<<A.BOOLEAN|1<<A.BOTH|1<<A.BUCKET|1<<A.BUCKETS|1<<A.BY))||0==(t-32&-32)&&0!=(1<<t-32&(1<<A.BYTE-32|1<<A.CACHE-32|1<<A.CASCADE-32|1<<A.CASE-32|1<<A.CAST-32|1<<A.CATALOG-32|1<<A.CATALOGS-32|1<<A.CHANGE-32|1<<A.CHAR-32|1<<A.CHARACTER-32|1<<A.CHECK-32|1<<A.CLEAR-32|1<<A.CLUSTER-32|1<<A.CLUSTERED-32|1<<A.CODEGEN-32|1<<A.COLLATE-32|1<<A.COLLECTION-32|1<<A.COLUMN-32|1<<A.COLUMNS-32|1<<A.COMMENT-32|1<<A.COMMIT-32|1<<A.COMPACT-32|1<<A.COMPACTIONS-32|1<<A.COMPUTE-32|1<<A.CONCATENATE-32|1<<A.CONSTRAINT-32|1<<A.COST-32|1<<A.CREATE-32|1<<A.CUBE-32|1<<A.CURRENT-32|1<<A.CURRENT_DATE-32))||0==(t-64&-32)&&0!=(1<<t-64&(1<<A.CURRENT_TIME-64|1<<A.CURRENT_TIMESTAMP-64|1<<A.CURRENT_USER-64|1<<A.DAY-64|1<<A.DAYS-64|1<<A.DAYOFYEAR-64|1<<A.DATA-64|1<<A.DATE-64|1<<A.DATABASE-64|1<<A.DATABASES-64|1<<A.DATEADD-64|1<<A.DATE_ADD-64|1<<A.DATEDIFF-64|1<<A.DATE_DIFF-64|1<<A.DBPROPERTIES-64|1<<A.DEC-64|1<<A.DECIMAL-64|1<<A.DEFAULT-64|1<<A.DEFINED-64|1<<A.DELETE-64|1<<A.DELIMITED-64|1<<A.DESC-64|1<<A.DESCRIBE-64|1<<A.DFS-64|1<<A.DIRECTORIES-64|1<<A.DIRECTORY-64|1<<A.DISTINCT-64|1<<A.DISTRIBUTE-64|1<<A.DIV-64|1<<A.DOUBLE-64|1<<A.DROP-64|1<<A.ELSE-64))||0==(t-96&-32)&&0!=(1<<t-96&(1<<A.END-96|1<<A.ESCAPE-96|1<<A.ESCAPED-96|1<<A.EXCHANGE-96|1<<A.EXCLUDE-96|1<<A.EXISTS-96|1<<A.EXPLAIN-96|1<<A.EXPORT-96|1<<A.EXTENDED-96|1<<A.EXTERNAL-96|1<<A.EXTRACT-96|1<<A.FALSE-96|1<<A.FETCH-96|1<<A.FIELDS-96|1<<A.FILTER-96|1<<A.FILEFORMAT-96|1<<A.FIRST-96|1<<A.FLOAT-96|1<<A.FOLLOWING-96|1<<A.FOR-96|1<<A.FOREIGN-96|1<<A.FORMAT-96|1<<A.FORMATTED-96|1<<A.FROM-96|1<<A.FUNCTION-96|1<<A.FUNCTIONS-96|1<<A.GENERATED-96|1<<A.GLOBAL-96|1<<A.GRANT-96|1<<A.GROUP-96))||0==(t-128&-32)&&0!=(1<<t-128&(1<<A.GROUPING-128|1<<A.HAVING-128|1<<A.BINARY_HEX-128|1<<A.HOUR-128|1<<A.HOURS-128|1<<A.IDENTIFIER_KW-128|1<<A.IF-128|1<<A.IGNORE-128|1<<A.IMPORT-128|1<<A.IN-128|1<<A.INCLUDE-128|1<<A.INDEX-128|1<<A.INDEXES-128|1<<A.INPATH-128|1<<A.INPUTFORMAT-128|1<<A.INSERT-128|1<<A.INTERVAL-128|1<<A.INT-128|1<<A.INTEGER-128|1<<A.INTO-128|1<<A.IS-128|1<<A.ITEMS-128|1<<A.KEYS-128|1<<A.LAST-128|1<<A.LAZY-128|1<<A.LEADING-128|1<<A.LIKE-128))||0==(t-160&-32)&&0!=(1<<t-160&(1<<A.ILIKE-160|1<<A.LIMIT-160|1<<A.LINES-160|1<<A.LIST-160|1<<A.LOAD-160|1<<A.LOCAL-160|1<<A.LOCATION-160|1<<A.LOCK-160|1<<A.LOCKS-160|1<<A.LOGICAL-160|1<<A.LONG-160|1<<A.MACRO-160|1<<A.MAP-160|1<<A.MATCHED-160|1<<A.MERGE-160|1<<A.MICROSECOND-160|1<<A.MICROSECONDS-160|1<<A.MILLISECOND-160|1<<A.MILLISECONDS-160|1<<A.MINUTE-160|1<<A.MINUTES-160|1<<A.MONTH-160|1<<A.MONTHS-160|1<<A.MSCK-160|1<<A.NAME-160|1<<A.NAMESPACE-160|1<<A.NAMESPACES-160|1<<A.NANOSECOND-160|1<<A.NANOSECONDS-160|1<<A.NO-160|1<<A.NOT-160))||0==(t-192&-32)&&0!=(1<<t-192&(1<<A.NULL-192|1<<A.NULLS-192|1<<A.NUMERIC-192|1<<A.OF-192|1<<A.OFFSET-192|1<<A.ONLY-192|1<<A.OPTION-192|1<<A.OPTIONS-192|1<<A.OR-192|1<<A.ORDER-192|1<<A.OUT-192|1<<A.OUTER-192|1<<A.OUTPUTFORMAT-192|1<<A.OVER-192|1<<A.OVERLAPS-192|1<<A.OVERLAY-192|1<<A.OVERWRITE-192|1<<A.PARTITION-192|1<<A.PARTITIONED-192|1<<A.PARTITIONS-192|1<<A.PERCENTILE_CONT-192|1<<A.PERCENTILE_DISC-192|1<<A.PERCENTLIT-192|1<<A.PIVOT-192|1<<A.PLACING-192|1<<A.POSITION-192|1<<A.PRECEDING-192|1<<A.PRIMARY-192|1<<A.PRINCIPALS-192|1<<A.PROPERTIES-192|1<<A.PURGE-192))||0==(t-224&-32)&&0!=(1<<t-224&(1<<A.QUARTER-224|1<<A.QUERY-224|1<<A.RANGE-224|1<<A.REAL-224|1<<A.RECORDREADER-224|1<<A.RECORDWRITER-224|1<<A.RECOVER-224|1<<A.REDUCE-224|1<<A.REFERENCES-224|1<<A.REFRESH-224|1<<A.RENAME-224|1<<A.REPAIR-224|1<<A.REPEATABLE-224|1<<A.REPLACE-224|1<<A.RESET-224|1<<A.RESPECT-224|1<<A.RESTRICT-224|1<<A.REVOKE-224|1<<A.RLIKE-224|1<<A.ROLE-224|1<<A.ROLES-224|1<<A.ROLLBACK-224|1<<A.ROLLUP-224|1<<A.ROW-224|1<<A.ROWS-224|1<<A.SECOND-224|1<<A.SECONDS-224|1<<A.SCHEMA-224|1<<A.SCHEMAS-224|1<<A.SELECT-224))||0==(t-256&-32)&&0!=(1<<t-256&(1<<A.SEPARATED-256|1<<A.SERDE-256|1<<A.SERDEPROPERTIES-256|1<<A.SESSION_USER-256|1<<A.SET-256|1<<A.SETS-256|1<<A.SHORT-256|1<<A.SHOW-256|1<<A.SKEWED-256|1<<A.SMALLINT-256|1<<A.SOME-256|1<<A.SORT-256|1<<A.SORTED-256|1<<A.SOURCE-256|1<<A.START-256|1<<A.STATISTICS-256|1<<A.STORED-256|1<<A.STRATIFY-256|1<<A.STRING-256|1<<A.STRUCT-256|1<<A.SUBSTR-256|1<<A.SUBSTRING-256|1<<A.SYNC-256|1<<A.SYSTEM_TIME-256|1<<A.SYSTEM_VERSION-256|1<<A.TABLE-256|1<<A.TABLES-256|1<<A.TABLESAMPLE-256|1<<A.TARGET-256|1<<A.TBLPROPERTIES-256|1<<A.TEMPORARY-256))||0==(t-288&-32)&&0!=(1<<t-288&(1<<A.TERMINATED-288|1<<A.THEN-288|1<<A.TIME-288|1<<A.TIMESTAMP-288|1<<A.TIMESTAMP_LTZ-288|1<<A.TIMESTAMP_NTZ-288|1<<A.TIMESTAMPADD-288|1<<A.TIMESTAMPDIFF-288|1<<A.TINYINT-288|1<<A.TO-288|1<<A.TOUCH-288|1<<A.TRAILING-288|1<<A.TRANSACTION-288|1<<A.TRANSACTIONS-288|1<<A.TRANSFORM-288|1<<A.TRIM-288|1<<A.TRUE-288|1<<A.TRUNCATE-288|1<<A.TRY_CAST-288|1<<A.TYPE-288|1<<A.UNARCHIVE-288|1<<A.UNBOUNDED-288|1<<A.UNCACHE-288|1<<A.UNIQUE-288|1<<A.UNKNOWN-288|1<<A.UNLOCK-288|1<<A.UNPIVOT-288|1<<A.UNSET-288|1<<A.UPDATE-288|1<<A.USE-288|1<<A.USER-288))||0==(t-321&-32)&&0!=(1<<t-321&(1<<A.VALUES-321|1<<A.VARCHAR-321|1<<A.VERSION-321|1<<A.VIEW-321|1<<A.VIEWS-321|1<<A.VOID-321|1<<A.WEEK-321|1<<A.WEEKS-321|1<<A.WHEN-321|1<<A.WHERE-321|1<<A.WINDOW-321|1<<A.WITH-321|1<<A.WITHIN-321|1<<A.YEAR-321|1<<A.YEARS-321|1<<A.ZONE-321))?(this._input.LA(1)===R.Token.EOF&&(this.matchedEOF=!0),this._errHandler.reportMatch(this),this.consume()):this._errHandler.recoverInline(this)}catch(t){if(!(t instanceof T.RecognitionException))throw t;e.exception=t,this._errHandler.reportError(this,t),this._errHandler.recover(this,t)}finally{this.exitRule()}return e}sempred(t,e,r){switch(e){case 51:return this.queryTerm_sempred(t,r);case 134:return this.booleanExpression_sempred(t,r);case 136:return this.valueExpression_sempred(t,r);case 138:return this.primaryExpression_sempred(t,r);case 179:return this.identifier_sempred(t,r);case 180:return this.strictIdentifier_sempred(t,r);case 181:return this.quotedIdentifier_sempred(t,r);case 183:return this.number_sempred(t,r);case 185:return this.stringLit_sempred(t,r)}return!0}queryTerm_sempred(t,e){switch(e){case 0:return this.precpred(this._ctx,3);case 1:return this.legacy_setops_precedence_enabled;case 2:return this.precpred(this._ctx,2);case 3:case 5:return!this.legacy_setops_precedence_enabled;case 4:return this.precpred(this._ctx,1)}return!0}booleanExpression_sempred(t,e){switch(e){case 6:return this.precpred(this._ctx,2);case 7:return this.precpred(this._ctx,1)}return!0}valueExpression_sempred(t,e){switch(e){case 8:return this.precpred(this._ctx,6);case 9:return this.precpred(this._ctx,5);case 10:return this.precpred(this._ctx,4);case 11:return this.precpred(this._ctx,3);case 12:return this.precpred(this._ctx,2);case 13:return this.precpred(this._ctx,1)}return!0}primaryExpression_sempred(t,e){switch(e){case 14:return this.precpred(this._ctx,9);case 15:return this.precpred(this._ctx,7)}return!0}identifier_sempred(t,e){return 16!==e||!this.SQL_standard_keyword_behavior}strictIdentifier_sempred(t,e){switch(e){case 17:return this.SQL_standard_keyword_behavior;case 18:return!this.SQL_standard_keyword_behavior}return!0}quotedIdentifier_sempred(t,e){return 19!==e||this.double_quoted_identifiers}number_sempred(t,e){switch(e){case 20:case 21:return!this.legacy_exponent_literal_as_decimal_enabled;case 22:return this.legacy_exponent_literal_as_decimal_enabled}return!0}stringLit_sempred(t,e){return 23!==e||!this.double_quoted_identifiers}static get _ATN(){return A.__ATN||(A.__ATN=(new a.ATNDeserializer).deserialize(S.toCharArray(A._serializedATN))),A.__ATN}}e.SparkSqlParser=A,A.SEMICOLON=1,A.LEFT_PAREN=2,A.RIGHT_PAREN=3,A.COMMA=4,A.DOT=5,A.LEFT_BRACKET=6,A.RIGHT_BRACKET=7,A.ADD=8,A.AFTER=9,A.ALL=10,A.ALTER=11,A.ALWAYS=12,A.ANALYZE=13,A.AND=14,A.ANTI=15,A.ANY=16,A.ANY_VALUE=17,A.ARCHIVE=18,A.ARRAY=19,A.AS=20,A.ASC=21,A.AT=22,A.AUTHORIZATION=23,A.BETWEEN=24,A.BIGINT=25,A.BINARY=26,A.BOOLEAN=27,A.BOTH=28,A.BUCKET=29,A.BUCKETS=30,A.BY=31,A.BYTE=32,A.CACHE=33,A.CASCADE=34,A.CASE=35,A.CAST=36,A.CATALOG=37,A.CATALOGS=38,A.CHANGE=39,A.CHAR=40,A.CHARACTER=41,A.CHECK=42,A.CLEAR=43,A.CLUSTER=44,A.CLUSTERED=45,A.CODEGEN=46,A.COLLATE=47,A.COLLECTION=48,A.COLUMN=49,A.COLUMNS=50,A.COMMENT=51,A.COMMIT=52,A.COMPACT=53,A.COMPACTIONS=54,A.COMPUTE=55,A.CONCATENATE=56,A.CONSTRAINT=57,A.COST=58,A.CREATE=59,A.CROSS=60,A.CUBE=61,A.CURRENT=62,A.CURRENT_DATE=63,A.CURRENT_TIME=64,A.CURRENT_TIMESTAMP=65,A.CURRENT_USER=66,A.DAY=67,A.DAYS=68,A.DAYOFYEAR=69,A.DATA=70,A.DATE=71,A.DATABASE=72,A.DATABASES=73,A.DATEADD=74,A.DATE_ADD=75,A.DATEDIFF=76,A.DATE_DIFF=77,A.DBPROPERTIES=78,A.DEC=79,A.DECIMAL=80,A.DEFAULT=81,A.DEFINED=82,A.DELETE=83,A.DELIMITED=84,A.DESC=85,A.DESCRIBE=86,A.DFS=87,A.DIRECTORIES=88,A.DIRECTORY=89,A.DISTINCT=90,A.DISTRIBUTE=91,A.DIV=92,A.DOUBLE=93,A.DROP=94,A.ELSE=95,A.END=96,A.ESCAPE=97,A.ESCAPED=98,A.EXCEPT=99,A.EXCHANGE=100,A.EXCLUDE=101,A.EXISTS=102,A.EXPLAIN=103,A.EXPORT=104,A.EXTENDED=105,A.EXTERNAL=106,A.EXTRACT=107,A.FALSE=108,A.FETCH=109,A.FIELDS=110,A.FILTER=111,A.FILEFORMAT=112,A.FIRST=113,A.FLOAT=114,A.FOLLOWING=115,A.FOR=116,A.FOREIGN=117,A.FORMAT=118,A.FORMATTED=119,A.FROM=120,A.FULL=121,A.FUNCTION=122,A.FUNCTIONS=123,A.GENERATED=124,A.GLOBAL=125,A.GRANT=126,A.GROUP=127,A.GROUPING=128,A.HAVING=129,A.BINARY_HEX=130,A.HOUR=131,A.HOURS=132,A.IDENTIFIER_KW=133,A.IF=134,A.IGNORE=135,A.IMPORT=136,A.IN=137,A.INCLUDE=138,A.INDEX=139,A.INDEXES=140,A.INNER=141,A.INPATH=142,A.INPUTFORMAT=143,A.INSERT=144,A.INTERSECT=145,A.INTERVAL=146,A.INT=147,A.INTEGER=148,A.INTO=149,A.IS=150,A.ITEMS=151,A.JOIN=152,A.KEYS=153,A.LAST=154,A.LATERAL=155,A.LAZY=156,A.LEADING=157,A.LEFT=158,A.LIKE=159,A.ILIKE=160,A.LIMIT=161,A.LINES=162,A.LIST=163,A.LOAD=164,A.LOCAL=165,A.LOCATION=166,A.LOCK=167,A.LOCKS=168,A.LOGICAL=169,A.LONG=170,A.MACRO=171,A.MAP=172,A.MATCHED=173,A.MERGE=174,A.MICROSECOND=175,A.MICROSECONDS=176,A.MILLISECOND=177,A.MILLISECONDS=178,A.MINUTE=179,A.MINUTES=180,A.MONTH=181,A.MONTHS=182,A.MSCK=183,A.NAME=184,A.NAMESPACE=185,A.NAMESPACES=186,A.NANOSECOND=187,A.NANOSECONDS=188,A.NATURAL=189,A.NO=190,A.NOT=191,A.NULL=192,A.NULLS=193,A.NUMERIC=194,A.OF=195,A.OFFSET=196,A.ON=197,A.ONLY=198,A.OPTION=199,A.OPTIONS=200,A.OR=201,A.ORDER=202,A.OUT=203,A.OUTER=204,A.OUTPUTFORMAT=205,A.OVER=206,A.OVERLAPS=207,A.OVERLAY=208,A.OVERWRITE=209,A.PARTITION=210,A.PARTITIONED=211,A.PARTITIONS=212,A.PERCENTILE_CONT=213,A.PERCENTILE_DISC=214,A.PERCENTLIT=215,A.PIVOT=216,A.PLACING=217,A.POSITION=218,A.PRECEDING=219,A.PRIMARY=220,A.PRINCIPALS=221,A.PROPERTIES=222,A.PURGE=223,A.QUARTER=224,A.QUERY=225,A.RANGE=226,A.REAL=227,A.RECORDREADER=228,A.RECORDWRITER=229,A.RECOVER=230,A.REDUCE=231,A.REFERENCES=232,A.REFRESH=233,A.RENAME=234,A.REPAIR=235,A.REPEATABLE=236,A.REPLACE=237,A.RESET=238,A.RESPECT=239,A.RESTRICT=240,A.REVOKE=241,A.RIGHT=242,A.RLIKE=243,A.ROLE=244,A.ROLES=245,A.ROLLBACK=246,A.ROLLUP=247,A.ROW=248,A.ROWS=249,A.SECOND=250,A.SECONDS=251,A.SCHEMA=252,A.SCHEMAS=253,A.SELECT=254,A.SEMI=255,A.SEPARATED=256,A.SERDE=257,A.SERDEPROPERTIES=258,A.SESSION_USER=259,A.SET=260,A.SETMINUS=261,A.SETS=262,A.SHORT=263,A.SHOW=264,A.SKEWED=265,A.SMALLINT=266,A.SOME=267,A.SORT=268,A.SORTED=269,A.SOURCE=270,A.START=271,A.STATISTICS=272,A.STORED=273,A.STRATIFY=274,A.STRING=275,A.STRUCT=276,A.SUBSTR=277,A.SUBSTRING=278,A.SYNC=279,A.SYSTEM_TIME=280,A.SYSTEM_VERSION=281,A.TABLE=282,A.TABLES=283,A.TABLESAMPLE=284,A.TARGET=285,A.TBLPROPERTIES=286,A.TEMPORARY=287,A.TERMINATED=288,A.THEN=289,A.TIME=290,A.TIMESTAMP=291,A.TIMESTAMP_LTZ=292,A.TIMESTAMP_NTZ=293,A.TIMESTAMPADD=294,A.TIMESTAMPDIFF=295,A.TINYINT=296,A.TO=297,A.TOUCH=298,A.TRAILING=299,A.TRANSACTION=300,A.TRANSACTIONS=301,A.TRANSFORM=302,A.TRIM=303,A.TRUE=304,A.TRUNCATE=305,A.TRY_CAST=306,A.TYPE=307,A.UNARCHIVE=308,A.UNBOUNDED=309,A.UNCACHE=310,A.UNION=311,A.UNIQUE=312,A.UNKNOWN=313,A.UNLOCK=314,A.UNPIVOT=315,A.UNSET=316,A.UPDATE=317,A.USE=318,A.USER=319,A.USING=320,A.VALUES=321,A.VARCHAR=322,A.VERSION=323,A.VIEW=324,A.VIEWS=325,A.VOID=326,A.WEEK=327,A.WEEKS=328,A.WHEN=329,A.WHERE=330,A.WINDOW=331,A.WITH=332,A.WITHIN=333,A.YEAR=334,A.YEARS=335,A.ZONE=336,A.EQ=337,A.NSEQ=338,A.NEQ=339,A.NEQJ=340,A.LT=341,A.LTE=342,A.GT=343,A.GTE=344,A.PLUS=345,A.MINUS=346,A.ASTERISK=347,A.SLASH=348,A.PERCENT=349,A.TILDE=350,A.AMPERSAND=351,A.PIPE=352,A.CONCAT_PIPE=353,A.HAT=354,A.COLON=355,A.ARROW=356,A.FAT_ARROW=357,A.HENT_START=358,A.HENT_END=359,A.QUESTION=360,A.STRING_LITERAL=361,A.DOUBLEQUOTED_STRING=362,A.BIGINT_LITERAL=363,A.SMALLINT_LITERAL=364,A.TINYINT_LITERAL=365,A.INTEGER_VALUE=366,A.EXPONENT_VALUE=367,A.DECIMAL_VALUE=368,A.FLOAT_LITERAL=369,A.DOUBLE_LITERAL=370,A.BIGDECIMAL_LITERAL=371,A.IDENTIFIER=372,A.BACKQUOTED_IDENTIFIER=373,A.SIMPLE_COMMENT=374,A.BRACKETED_COMMENT=375,A.WS=376,A.UNRECOGNIZED=377,A.RULE_program=0,A.RULE_statements=1,A.RULE_statementEnd=2,A.RULE_singleStatement=3,A.RULE_singleExpression=4,A.RULE_singleTableIdentifier=5,A.RULE_singleMultipartIdentifier=6,A.RULE_singleFunctionIdentifier=7,A.RULE_singleDataType=8,A.RULE_singleTableSchema=9,A.RULE_statementForFolding=10,A.RULE_statement=11,A.RULE_timezone=12,A.RULE_configKey=13,A.RULE_configValue=14,A.RULE_unsupportedHiveNativeCommands=15,A.RULE_createTableHeader=16,A.RULE_replaceTableHeader=17,A.RULE_bucketSpec=18,A.RULE_skewSpec=19,A.RULE_locationSpec=20,A.RULE_commentSpec=21,A.RULE_query=22,A.RULE_insertInto=23,A.RULE_partitionSpecLocation=24,A.RULE_partitionSpec=25,A.RULE_partitionVal=26,A.RULE_namespace=27,A.RULE_namespaces=28,A.RULE_describeFuncName=29,A.RULE_describeColName=30,A.RULE_ctes=31,A.RULE_namedQuery=32,A.RULE_tableProvider=33,A.RULE_createTableClauses=34,A.RULE_propertyList=35,A.RULE_property=36,A.RULE_propertyKey=37,A.RULE_propertyValue=38,A.RULE_expressionPropertyList=39,A.RULE_expressionProperty=40,A.RULE_constantList=41,A.RULE_nestedConstantList=42,A.RULE_createFileFormat=43,A.RULE_fileFormat=44,A.RULE_storageHandler=45,A.RULE_resource=46,A.RULE_dmlStatementNoWith=47,A.RULE_identifierReference=48,A.RULE_queryOrganization=49,A.RULE_multiInsertQueryBody=50,A.RULE_queryTerm=51,A.RULE_queryPrimary=52,A.RULE_sortItem=53,A.RULE_fromStatement=54,A.RULE_fromStatementBody=55,A.RULE_querySpecification=56,A.RULE_transformClause=57,A.RULE_selectClause=58,A.RULE_setClause=59,A.RULE_matchedClause=60,A.RULE_notMatchedClause=61,A.RULE_notMatchedBySourceClause=62,A.RULE_matchedAction=63,A.RULE_notMatchedAction=64,A.RULE_notMatchedBySourceAction=65,A.RULE_assignmentList=66,A.RULE_assignment=67,A.RULE_whereClause=68,A.RULE_havingClause=69,A.RULE_hint=70,A.RULE_hintStatement=71,A.RULE_fromClause=72,A.RULE_temporalClause=73,A.RULE_aggregationClause=74,A.RULE_groupByClause=75,A.RULE_groupingAnalytics=76,A.RULE_groupingElement=77,A.RULE_groupingSet=78,A.RULE_pivotClause=79,A.RULE_pivotColumn=80,A.RULE_pivotValue=81,A.RULE_unpivotClause=82,A.RULE_unpivotNullClause=83,A.RULE_unpivotOperator=84,A.RULE_unpivotSingleValueColumnClause=85,A.RULE_unpivotMultiValueColumnClause=86,A.RULE_unpivotColumnSet=87,A.RULE_unpivotValueColumn=88,A.RULE_unpivotNameColumn=89,A.RULE_unpivotColumnAndAlias=90,A.RULE_unpivotColumn=91,A.RULE_unpivotAlias=92,A.RULE_lateralView=93,A.RULE_setQuantifier=94,A.RULE_relation=95,A.RULE_relationExtension=96,A.RULE_joinRelation=97,A.RULE_joinType=98,A.RULE_joinCriteria=99,A.RULE_sample=100,A.RULE_sampleMethod=101,A.RULE_identifierList=102,A.RULE_identifierSeq=103,A.RULE_orderedIdentifierList=104,A.RULE_orderedIdentifier=105,A.RULE_identifierCommentList=106,A.RULE_identifierComment=107,A.RULE_relationPrimary=108,A.RULE_inlineTable=109,A.RULE_functionTableSubqueryArgument=110,A.RULE_tableArgumentPartitioning=111,A.RULE_functionTableNamedArgumentExpression=112,A.RULE_functionTableReferenceArgument=113,A.RULE_functionTableArgument=114,A.RULE_functionTable=115,A.RULE_tableAlias=116,A.RULE_rowFormat=117,A.RULE_multipartIdentifierList=118,A.RULE_multipartIdentifier=119,A.RULE_multipartIdentifierPropertyList=120,A.RULE_multipartIdentifierProperty=121,A.RULE_tableIdentifier=122,A.RULE_functionIdentifier=123,A.RULE_namedExpression=124,A.RULE_namedExpressionSeq=125,A.RULE_partitionFieldList=126,A.RULE_partitionField=127,A.RULE_transform=128,A.RULE_transformArgument=129,A.RULE_expression=130,A.RULE_namedArgumentExpression=131,A.RULE_functionArgument=132,A.RULE_expressionSeq=133,A.RULE_booleanExpression=134,A.RULE_predicate=135,A.RULE_valueExpression=136,A.RULE_datetimeUnit=137,A.RULE_primaryExpression=138,A.RULE_literalType=139,A.RULE_constant=140,A.RULE_comparisonOperator=141,A.RULE_arithmeticOperator=142,A.RULE_predicateOperator=143,A.RULE_booleanValue=144,A.RULE_interval=145,A.RULE_errorCapturingMultiUnitsInterval=146,A.RULE_multiUnitsInterval=147,A.RULE_errorCapturingUnitToUnitInterval=148,A.RULE_unitToUnitInterval=149,A.RULE_intervalValue=150,A.RULE_unitInMultiUnits=151,A.RULE_unitInUnitToUnit=152,A.RULE_colPosition=153,A.RULE_type=154,A.RULE_dataType=155,A.RULE_qualifiedColTypeWithPositionList=156,A.RULE_qualifiedColTypeWithPosition=157,A.RULE_colDefinitionDescriptorWithPosition=158,A.RULE_defaultExpression=159,A.RULE_colTypeList=160,A.RULE_colType=161,A.RULE_createOrReplaceTableColTypeList=162,A.RULE_createOrReplaceTableColType=163,A.RULE_colDefinitionOption=164,A.RULE_generationExpression=165,A.RULE_complexColTypeList=166,A.RULE_complexColType=167,A.RULE_whenClause=168,A.RULE_windowClause=169,A.RULE_namedWindow=170,A.RULE_windowSpec=171,A.RULE_windowFrame=172,A.RULE_frameBound=173,A.RULE_qualifiedNameList=174,A.RULE_functionName=175,A.RULE_qualifiedName=176,A.RULE_errorCapturingIdentifier=177,A.RULE_errorCapturingIdentifierExtra=178,A.RULE_identifier=179,A.RULE_strictIdentifier=180,A.RULE_quotedIdentifier=181,A.RULE_backQuotedIdentifier=182,A.RULE_number=183,A.RULE_alterColumnAction=184,A.RULE_stringLit=185,A.RULE_comment=186,A.RULE_version=187,A.RULE_ansiNonReserved=188,A.RULE_strictNonReserved=189,A.RULE_nonReserved=190,A.ruleNames=["program","statements","statementEnd","singleStatement","singleExpression","singleTableIdentifier","singleMultipartIdentifier","singleFunctionIdentifier","singleDataType","singleTableSchema","statementForFolding","statement","timezone","configKey","configValue","unsupportedHiveNativeCommands","createTableHeader","replaceTableHeader","bucketSpec","skewSpec","locationSpec","commentSpec","query","insertInto","partitionSpecLocation","partitionSpec","partitionVal","namespace","namespaces","describeFuncName","describeColName","ctes","namedQuery","tableProvider","createTableClauses","propertyList","property","propertyKey","propertyValue","expressionPropertyList","expressionProperty","constantList","nestedConstantList","createFileFormat","fileFormat","storageHandler","resource","dmlStatementNoWith","identifierReference","queryOrganization","multiInsertQueryBody","queryTerm","queryPrimary","sortItem","fromStatement","fromStatementBody","querySpecification","transformClause","selectClause","setClause","matchedClause","notMatchedClause","notMatchedBySourceClause","matchedAction","notMatchedAction","notMatchedBySourceAction","assignmentList","assignment","whereClause","havingClause","hint","hintStatement","fromClause","temporalClause","aggregationClause","groupByClause","groupingAnalytics","groupingElement","groupingSet","pivotClause","pivotColumn","pivotValue","unpivotClause","unpivotNullClause","unpivotOperator","unpivotSingleValueColumnClause","unpivotMultiValueColumnClause","unpivotColumnSet","unpivotValueColumn","unpivotNameColumn","unpivotColumnAndAlias","unpivotColumn","unpivotAlias","lateralView","setQuantifier","relation","relationExtension","joinRelation","joinType","joinCriteria","sample","sampleMethod","identifierList","identifierSeq","orderedIdentifierList","orderedIdentifier","identifierCommentList","identifierComment","relationPrimary","inlineTable","functionTableSubqueryArgument","tableArgumentPartitioning","functionTableNamedArgumentExpression","functionTableReferenceArgument","functionTableArgument","functionTable","tableAlias","rowFormat","multipartIdentifierList","multipartIdentifier","multipartIdentifierPropertyList","multipartIdentifierProperty","tableIdentifier","functionIdentifier","namedExpression","namedExpressionSeq","partitionFieldList","partitionField","transform","transformArgument","expression","namedArgumentExpression","functionArgument","expressionSeq","booleanExpression","predicate","valueExpression","datetimeUnit","primaryExpression","literalType","constant","comparisonOperator","arithmeticOperator","predicateOperator","booleanValue","interval","errorCapturingMultiUnitsInterval","multiUnitsInterval","errorCapturingUnitToUnitInterval","unitToUnitInterval","intervalValue","unitInMultiUnits","unitInUnitToUnit","colPosition","type","dataType","qualifiedColTypeWithPositionList","qualifiedColTypeWithPosition","colDefinitionDescriptorWithPosition","defaultExpression","colTypeList","colType","createOrReplaceTableColTypeList","createOrReplaceTableColType","colDefinitionOption","generationExpression","complexColTypeList","complexColType","whenClause","windowClause","namedWindow","windowSpec","windowFrame","frameBound","qualifiedNameList","functionName","qualifiedName","errorCapturingIdentifier","errorCapturingIdentifierExtra","identifier","strictIdentifier","quotedIdentifier","backQuotedIdentifier","number","alterColumnAction","stringLit","comment","version","ansiNonReserved","strictNonReserved","nonReserved"],A._LITERAL_NAMES=[void 0,"';'","'('","')'","','","'.'","'['","']'","'ADD'","'AFTER'","'ALL'","'ALTER'","'ALWAYS'","'ANALYZE'","'AND'","'ANTI'","'ANY'","'ANY_VALUE'","'ARCHIVE'","'ARRAY'","'AS'","'ASC'","'AT'","'AUTHORIZATION'","'BETWEEN'","'BIGINT'","'BINARY'","'BOOLEAN'","'BOTH'","'BUCKET'","'BUCKETS'","'BY'","'BYTE'","'CACHE'","'CASCADE'","'CASE'","'CAST'","'CATALOG'","'CATALOGS'","'CHANGE'","'CHAR'","'CHARACTER'","'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'","'DAY'","'DAYS'","'DAYOFYEAR'","'DATA'","'DATE'","'DATABASE'","'DATABASES'","'DATEADD'","'DATE_ADD'","'DATEDIFF'","'DATE_DIFF'","'DBPROPERTIES'","'DEC'","'DECIMAL'","'DEFAULT'","'DEFINED'","'DELETE'","'DELIMITED'","'DESC'","'DESCRIBE'","'DFS'","'DIRECTORIES'","'DIRECTORY'","'DISTINCT'","'DISTRIBUTE'","'DIV'","'DOUBLE'","'DROP'","'ELSE'","'END'","'ESCAPE'","'ESCAPED'","'EXCEPT'","'EXCHANGE'","'EXCLUDE'","'EXISTS'","'EXPLAIN'","'EXPORT'","'EXTENDED'","'EXTERNAL'","'EXTRACT'","'FALSE'","'FETCH'","'FIELDS'","'FILTER'","'FILEFORMAT'","'FIRST'","'FLOAT'","'FOLLOWING'","'FOR'","'FOREIGN'","'FORMAT'","'FORMATTED'","'FROM'","'FULL'","'FUNCTION'","'FUNCTIONS'","'GENERATED'","'GLOBAL'","'GRANT'","'GROUP'","'GROUPING'","'HAVING'","'X'","'HOUR'","'HOURS'","'IDENTIFIER'","'IF'","'IGNORE'","'IMPORT'","'IN'","'INCLUDE'","'INDEX'","'INDEXES'","'INNER'","'INPATH'","'INPUTFORMAT'","'INSERT'","'INTERSECT'","'INTERVAL'","'INT'","'INTEGER'","'INTO'","'IS'","'ITEMS'","'JOIN'","'KEYS'","'LAST'","'LATERAL'","'LAZY'","'LEADING'","'LEFT'","'LIKE'","'ILIKE'","'LIMIT'","'LINES'","'LIST'","'LOAD'","'LOCAL'","'LOCATION'","'LOCK'","'LOCKS'","'LOGICAL'","'LONG'","'MACRO'","'MAP'","'MATCHED'","'MERGE'","'MICROSECOND'","'MICROSECONDS'","'MILLISECOND'","'MILLISECONDS'","'MINUTE'","'MINUTES'","'MONTH'","'MONTHS'","'MSCK'","'NAME'","'NAMESPACE'","'NAMESPACES'","'NANOSECOND'","'NANOSECONDS'","'NATURAL'","'NO'",void 0,"'NULL'","'NULLS'","'NUMERIC'","'OF'","'OFFSET'","'ON'","'ONLY'","'OPTION'","'OPTIONS'","'OR'","'ORDER'","'OUT'","'OUTER'","'OUTPUTFORMAT'","'OVER'","'OVERLAPS'","'OVERLAY'","'OVERWRITE'","'PARTITION'","'PARTITIONED'","'PARTITIONS'","'PERCENTILE_CONT'","'PERCENTILE_DISC'","'PERCENT'","'PIVOT'","'PLACING'","'POSITION'","'PRECEDING'","'PRIMARY'","'PRINCIPALS'","'PROPERTIES'","'PURGE'","'QUARTER'","'QUERY'","'RANGE'","'REAL'","'RECORDREADER'","'RECORDWRITER'","'RECOVER'","'REDUCE'","'REFERENCES'","'REFRESH'","'RENAME'","'REPAIR'","'REPEATABLE'","'REPLACE'","'RESET'","'RESPECT'","'RESTRICT'","'REVOKE'","'RIGHT'",void 0,"'ROLE'","'ROLES'","'ROLLBACK'","'ROLLUP'","'ROW'","'ROWS'","'SECOND'","'SECONDS'","'SCHEMA'","'SCHEMAS'","'SELECT'","'SEMI'","'SEPARATED'","'SERDE'","'SERDEPROPERTIES'","'SESSION_USER'","'SET'","'MINUS'","'SETS'","'SHORT'","'SHOW'","'SKEWED'","'SMALLINT'","'SOME'","'SORT'","'SORTED'","'SOURCE'","'START'","'STATISTICS'","'STORED'","'STRATIFY'","'STRING'","'STRUCT'","'SUBSTR'","'SUBSTRING'","'SYNC'","'SYSTEM_TIME'","'SYSTEM_VERSION'","'TABLE'","'TABLES'","'TABLESAMPLE'","'TARGET'","'TBLPROPERTIES'",void 0,"'TERMINATED'","'THEN'","'TIME'","'TIMESTAMP'","'TIMESTAMP_LTZ'","'TIMESTAMP_NTZ'","'TIMESTAMPADD'","'TIMESTAMPDIFF'","'TINYINT'","'TO'","'TOUCH'","'TRAILING'","'TRANSACTION'","'TRANSACTIONS'","'TRANSFORM'","'TRIM'","'TRUE'","'TRUNCATE'","'TRY_CAST'","'TYPE'","'UNARCHIVE'","'UNBOUNDED'","'UNCACHE'","'UNION'","'UNIQUE'","'UNKNOWN'","'UNLOCK'","'UNPIVOT'","'UNSET'","'UPDATE'","'USE'","'USER'","'USING'","'VALUES'","'VARCHAR'","'VERSION'","'VIEW'","'VIEWS'","'VOID'","'WEEK'","'WEEKS'","'WHEN'","'WHERE'","'WINDOW'","'WITH'","'WITHIN'","'YEAR'","'YEARS'","'ZONE'",void 0,"'<=>'","'<>'","'!='","'<'",void 0,"'>'",void 0,"'+'","'-'","'*'","'/'","'%'","'~'","'&'","'|'","'||'","'^'","':'","'->'","'=>'","'/*+'","'*/'","'?'"],A._SYMBOLIC_NAMES=[void 0,"SEMICOLON","LEFT_PAREN","RIGHT_PAREN","COMMA","DOT","LEFT_BRACKET","RIGHT_BRACKET","ADD","AFTER","ALL","ALTER","ALWAYS","ANALYZE","AND","ANTI","ANY","ANY_VALUE","ARCHIVE","ARRAY","AS","ASC","AT","AUTHORIZATION","BETWEEN","BIGINT","BINARY","BOOLEAN","BOTH","BUCKET","BUCKETS","BY","BYTE","CACHE","CASCADE","CASE","CAST","CATALOG","CATALOGS","CHANGE","CHAR","CHARACTER","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","DAY","DAYS","DAYOFYEAR","DATA","DATE","DATABASE","DATABASES","DATEADD","DATE_ADD","DATEDIFF","DATE_DIFF","DBPROPERTIES","DEC","DECIMAL","DEFAULT","DEFINED","DELETE","DELIMITED","DESC","DESCRIBE","DFS","DIRECTORIES","DIRECTORY","DISTINCT","DISTRIBUTE","DIV","DOUBLE","DROP","ELSE","END","ESCAPE","ESCAPED","EXCEPT","EXCHANGE","EXCLUDE","EXISTS","EXPLAIN","EXPORT","EXTENDED","EXTERNAL","EXTRACT","FALSE","FETCH","FIELDS","FILTER","FILEFORMAT","FIRST","FLOAT","FOLLOWING","FOR","FOREIGN","FORMAT","FORMATTED","FROM","FULL","FUNCTION","FUNCTIONS","GENERATED","GLOBAL","GRANT","GROUP","GROUPING","HAVING","BINARY_HEX","HOUR","HOURS","IDENTIFIER_KW","IF","IGNORE","IMPORT","IN","INCLUDE","INDEX","INDEXES","INNER","INPATH","INPUTFORMAT","INSERT","INTERSECT","INTERVAL","INT","INTEGER","INTO","IS","ITEMS","JOIN","KEYS","LAST","LATERAL","LAZY","LEADING","LEFT","LIKE","ILIKE","LIMIT","LINES","LIST","LOAD","LOCAL","LOCATION","LOCK","LOCKS","LOGICAL","LONG","MACRO","MAP","MATCHED","MERGE","MICROSECOND","MICROSECONDS","MILLISECOND","MILLISECONDS","MINUTE","MINUTES","MONTH","MONTHS","MSCK","NAME","NAMESPACE","NAMESPACES","NANOSECOND","NANOSECONDS","NATURAL","NO","NOT","NULL","NULLS","NUMERIC","OF","OFFSET","ON","ONLY","OPTION","OPTIONS","OR","ORDER","OUT","OUTER","OUTPUTFORMAT","OVER","OVERLAPS","OVERLAY","OVERWRITE","PARTITION","PARTITIONED","PARTITIONS","PERCENTILE_CONT","PERCENTILE_DISC","PERCENTLIT","PIVOT","PLACING","POSITION","PRECEDING","PRIMARY","PRINCIPALS","PROPERTIES","PURGE","QUARTER","QUERY","RANGE","REAL","RECORDREADER","RECORDWRITER","RECOVER","REDUCE","REFERENCES","REFRESH","RENAME","REPAIR","REPEATABLE","REPLACE","RESET","RESPECT","RESTRICT","REVOKE","RIGHT","RLIKE","ROLE","ROLES","ROLLBACK","ROLLUP","ROW","ROWS","SECOND","SECONDS","SCHEMA","SCHEMAS","SELECT","SEMI","SEPARATED","SERDE","SERDEPROPERTIES","SESSION_USER","SET","SETMINUS","SETS","SHORT","SHOW","SKEWED","SMALLINT","SOME","SORT","SORTED","SOURCE","START","STATISTICS","STORED","STRATIFY","STRING","STRUCT","SUBSTR","SUBSTRING","SYNC","SYSTEM_TIME","SYSTEM_VERSION","TABLE","TABLES","TABLESAMPLE","TARGET","TBLPROPERTIES","TEMPORARY","TERMINATED","THEN","TIME","TIMESTAMP","TIMESTAMP_LTZ","TIMESTAMP_NTZ","TIMESTAMPADD","TIMESTAMPDIFF","TINYINT","TO","TOUCH","TRAILING","TRANSACTION","TRANSACTIONS","TRANSFORM","TRIM","TRUE","TRUNCATE","TRY_CAST","TYPE","UNARCHIVE","UNBOUNDED","UNCACHE","UNION","UNIQUE","UNKNOWN","UNLOCK","UNPIVOT","UNSET","UPDATE","USE","USER","USING","VALUES","VARCHAR","VERSION","VIEW","VIEWS","VOID","WEEK","WEEKS","WHEN","WHERE","WINDOW","WITH","WITHIN","YEAR","YEARS","ZONE","EQ","NSEQ","NEQ","NEQJ","LT","LTE","GT","GTE","PLUS","MINUS","ASTERISK","SLASH","PERCENT","TILDE","AMPERSAND","PIPE","CONCAT_PIPE","HAT","COLON","ARROW","FAT_ARROW","HENT_START","HENT_END","QUESTION","STRING_LITERAL","DOUBLEQUOTED_STRING","BIGINT_LITERAL","SMALLINT_LITERAL","TINYINT_LITERAL","INTEGER_VALUE","EXPONENT_VALUE","DECIMAL_VALUE","FLOAT_LITERAL","DOUBLE_LITERAL","BIGDECIMAL_LITERAL","IDENTIFIER","BACKQUOTED_IDENTIFIER","SIMPLE_COMMENT","BRACKETED_COMMENT","WS","UNRECOGNIZED"],A.VOCABULARY=new p.VocabularyImpl(A._LITERAL_NAMES,A._SYMBOLIC_NAMES,[]),A._serializedATNSegments=8,A._serializedATNSegment0="줝쪺֍꾺体؇쉁Ż\t\t\t\t\t\t\b\t\b\t\t\t\n\t\n\v\t\v\f\t\f\r\t\r\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t \t !\t!\"\t\"#\t#$\t$%\t%&\t&'\t'(\t()\t)*\t*+\t+,\t,-\t-.\t./\t/0\t01\t12\t23\t34\t45\t56\t67\t78\t89\t9:\t:;\t;<\t<=\t=>\t>?\t?@\t@A\tAB\tBC\tCD\tDE\tEF\tFG\tGH\tHI\tIJ\tJK\tKL\tLM\tMN\tNO\tOP\tPQ\tQR\tRS\tST\tTU\tUV\tVW\tWX\tXY\tYZ\tZ[\t[\\\t\\]\t]^\t^_\t_`\t`a\tab\tbc\tcd\tde\tef\tfg\tgh\thi\tij\tjk\tkl\tlm\tmn\tno\top\tpq\tqr\trs\tst\ttu\tuv\tvw\twx\txy\tyz\tz{\t{|\t|}\t}~\t~\t\t\t\t\t\t
\t
\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t \t ¡\t¡¢\t¢£\t£¤\t¤¥\t¥¦\t¦§\t§¨\t¨©\t©ª\tª«\t«¬\t¬\t®\t®¯\t¯°\t°±\t±²\t²³\t³´\t´µ\tµ¶\t¶·\t·¸\t¸¹\t¹º\tº»\t»¼\t¼½\t½¾\t¾¿\t¿À\tÀƅ\nƉ\n\rƊƏ\n\fƒ\vƕ\n\fƘ\vƞ\n\fơ\v\b\b\b\t\t\t\n\n\n\v\v\v\f\f\r\r\rƻ\n\r\r\r\r\r\r\r\r\r\r\r\r\rLj\n\r\r\r\r\r\r\rǏ\n\r\r\r\r\r\r\r\rǗ\n\r\f\r\rǚ\v\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\rǭ\n\r\r\r\rDZ\n\r\r\r\r\r\rǷ\n\r\r\rǺ\n\r\r\rǽ\n\r\r\r\r\r\r\rȄ\n\r\r\rȇ\n\r\r\r\rȋ\n\r\r\rȎ\n\r\r\r\r\r\r\rȕ\n\r\r\r\r\r\r\r\r\r\r\rȠ\n\r\f\r\rȣ\v\r\r\r\r\r\r\rȪ\n\r\r\rȭ\n\r\r\r\rȱ\n\r\r\rȴ\n\r\r\r\r\r\rȺ\n\r\r\r\r\r\r\r\r\r\r\rɅ\n\r\r\r\r\r\rɋ\n\r\r\r\r\rɐ\n\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\rɲ\n\r\r\r\r\r\r\r\r\r\r\r\r\rɿ\n\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\rʘ\n\r\r\r\r\r\r\r\r\rʡ\n\r\r\r\rʥ\n\r\r\r\r\r\rʫ\n\r\r\r\rʯ\n\r\r\r\r\rʴ\n\r\r\r\r\r\rʺ\n\r\r\r\r\r\r\r\r\r\r\r\rˆ\n\r\r\r\r\r\r\r\rˎ\n\r\r\r\r\r\r˔\n\r\r\r\r\r\r\r\r\r\r\r\r\rˡ\n\r\r\rˤ\n\r\r\r\r˥\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r˶\n\r\r\r\r\r˻\n\r\f\r\r˾\v\r\r\ŕ\n\r\r\r\r\r\ṙ\n\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r̖\n\r\r\r\r̚\n\r\r\r\r\r\r̠\n\r\r\r\r\r\r̦\n\r\r\r̩\n\r\r\r̬\n\r\r\r\r\r\r̲\n\r\r\r\r̶\n\r\r\r\r\r\r\r\r̾\n\r\f\r\ŕ\v\r\r\r\r\r\r\r\r͉\n\r\r\r͌\n\r\r\r\r\r\r\r\r\r͕\n\r\r\r\r\r͚\n\r\r\r\r\r\r͠\n\r\r\r\r\r\r\rͧ\n\r\r\rͪ\n\r\r\r\r\r\rͰ\n\r\r\r\r\r\r\r\r\r\n\r\f\r\rͼ\v\r\r;\n\r\r\r\r\n\r\r\r\r\r·\n\r\r\r\r\rΌ\n\r\r\r\r\r\r\rΓ\n\r\r\rΖ\n\r\r\rΙ\n\r\r\r\r\r\r\rΠ\n\r\r\r\r\rΥ\n\r\r\r\r\r\r\r\r\rή\n\r\r\r\r\r\r\r\rζ\n\r\r\r\r\r\rμ\n\r\r\rο\n\r\r\rς\n\r\r\r\r\r\rψ\n\r\r\r\rό\n\r\r\r\r\rϑ\n\r\r\rϔ\n\r\r\r\rϘ\n\r\rϚ\n\r\r\r\r\r\r\r\rϢ\n\r\r\r\r\r\r\r\rϪ\n\r\r\rϭ\n\r\r\r\r\rϲ\n\r\r\r\r\r\rϸ\n\r\r\r\r\r\rϾ\n\r\r\rЁ\n\r\r\r\rЅ\n\r\r\rЈ\n\r\r\r\rЌ\n\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\rЦ\n\r\f\r\rЩ\v\r\rЫ\n\r\r\r\rЯ\n\r\r\r\r\r\rе\n\r\r\rи\n\r\r\rл\n\r\r\r\r\r\rс\n\r\r\r\r\r\r\r\rщ\n\r\r\r\r\rю\n\r\r\r\r\r\rє\n\r\r\r\r\r\rњ\n\r\r\rѝ\n\r\r\r\r\r\r\rѤ\n\r\r\r\r\rѩ\n\r\f\r\rѬ\v\r\r\r\r\rѱ\n\r\f\r\rѴ\v\r\r\r\r\r\r\r\r\r\r\r\r\r\r҂\n\r\f\r\r҅\v\r\r\r\r\r\r\r\r\r\r\rҐ\n\r\f\r\rғ\v\r\rҕ\n\r\r\r\rҙ\n\r\f\r\rҜ\v\r\r\r\r\r\rҢ\n\r\f\r\rҥ\v\r\r\r\r\r\rҫ\n\r\f\r\rҮ\v\r\r\r\r\r\r\rҵ\n\r\r\r\r\rҺ\n\r\r\r\r\rҿ\n\r\r\r\r\r\r\rӆ\n\r\r\r\r\r\rӌ\n\r\r\r\r\rӑ\n\r\r\r\r\r\rӗ\n\r\f\r\rӚ\v\r\rӜ\n\rӠ\nӬ\nӰ\nӷ\nի\nճ\nջ\nք\n֎\n֒\n֕\n֛\n֡\n֭\nֹ\n־\nׇ\n\nז\nט\nם\nע\nצ\n\nװ\n\n\n\n؆\n؋\n؏\nؔ\nؖ\nؚ\nء\n\fؤ\vث\nر\nؼ\n ف\n \f ل\v !!!!!ي\n!\f!!ٍ\v!\"\"\"ّ\n\"\"\"ٔ\n\"\"\"\"\"###$$$$$$$$$$$$$$٪\n$\f$$٭\v$%%%%%ٳ\n%\f%%ٶ\v%%%&&&ټ\n&&&ٿ\n&''''ڄ\n'\f''ڇ\v'''ڊ\n'(((((ڐ\n()))))ږ\n)\f))ڙ\v)))***ڟ\n***ڢ\n*+++++ڨ\n+\f++ګ\v+++,,,,,ڳ\n,\f,,ڶ\v,,,-------ۀ\n-.......ۈ\n./////ێ\n/000111111ۘ\n1\r11ۙ111111ۡ\n1111111ۨ\n111111111111۴\n111111ۺ\n1\f11۽\v111܀\n1\f11܃\v111܆\n1\f11܉\v11܋\n12222222ܓ\n2333333ܚ\n3\f33ܝ\v33ܟ\n3333333ܦ\n3\f33ܩ\v33ܫ\n3333333ܲ\n3\f33ܵ\v33ܷ\n3333333ܾ\n3\f33݁\v33݃\n333݆\n33333\n33ݍ\n3333ݑ\n344455555555ݝ\n5555555ݤ\n5555555ݫ\n555ݮ\n5\f55ݱ\v56666666666ݼ\n6777ހ\n7777ބ\n7888ވ\n8\r88މ999ގ\n999999ޔ\n9\f99ޗ\v999ޚ\n999ޝ\n999ޠ\n999ޣ\n9999ާ\n9:::ޫ\n:::ޮ\n:\f::ޱ\v:::\n:::\n:::\n:::\n::::߁\n:::߄\n:\f::߇\v:::ߊ\n:::ߍ\n:::ߐ\n:::ߓ\n::ߕ\n:;;;;;ߛ\n;;;;;;;ߢ\n;;;;;ߧ\n;;;ߪ\n;;;߭\n;;;;߱\n;;;;;;;;;;\n;;;;߿\n;;ࠁ\n;;;ࠄ\n;;;;ࠈ\n;<<<ࠌ\n<\f<<ࠏ\v<<<ࠒ\n<<<===>>>>>ࠝ\n>>>>??????ࠧ\n????ࠫ\n????@@@@@@@@࠷\n@@@@AAAAAAAAࡃ\nABBBBBBBBBBBBࡐ\nB\fBBࡓ\vBBBBࡗ\nBCCCCC\nCDDDDࡢ\nD\fDDࡥ\vDEEEEFFFGGGHHHHࡴ\nHHHࡷ\nH\fHHࡺ\vHHHIIIIIIIࢄ\nI\fIIࢇ\vIIIIࢋ\nIJJJJJ\nJ\fJJ\vJJJ\nJ\fJJ࢚\vJJJ࢝\nJJJࢠ\nJKKࢣ\nKKKKKKKࢪ\nKKKKKKࢰ\nKLLLLLLࢷ\nL\fLLࢺ\vLLLLLLLࣁ\nL\fLLࣄ\vLLLLLLLLLLLL࣐\nL\fLL࣓\vLLLLࣗ\nLLࣙ\nLMMMࣝ\nMNNNNNNࣤ\nN\fNNࣧ\vNNNNNNNNNNࣱ\nN\fNNࣴ\vNNNNࣸ\nNOOOࣼ\nOPPPPPं\nP\fPPअ\vPPइ\nPPPPऋ\nPQQQQQQQQQQQग\nQ\fQQच\v",A._serializedATNSegment1='QQQQRRRRRRत\nR\fRRध\vRRRRफ\nRSSSय\nSSSल\nSTTTश\nTTTTTT़\nTTTि\nTUUUVVVॆ\nVWWWWWWWWWॐ\nW\fWW॓\vWWWXXXXXज़\nX\fXXफ़\vXXXXXXXXXX२\nX\fXX५\vXXXYYYYYॳ\nY\fYYॶ\vYYYYॺ\nYZZ[[\\\\\\ং\n\\]]^^ই\n^^^____\n_______ক\n_\f__ঘ\v__চ\n_____ট\n_____ত\n_\f__ধ\v__\n_``aaম\naaaaল\na\faa\vabbbb\nbccccি\nccccৃ\ncccccc\ncccc্\ncdd\nddddd\nddd\ndddddঢ়\nddddৡ\nddd\nddd১\ndeeeee৭\neffff৲\nfffffff৹\nfggৼ\ngggggggggggggggggg\nggਐ\ngggਓ\nghhhhiiiiਜ\ni\fiiਟ\vijjjjjਥ\nj\fjjਨ\vjjjkkkਮ\nklllll\nl\fll\vlllmmm\nmnnnੁ\nnnn\nnnnnnnnnੌ\nnnnnnnnn\nnnnnnnਗ਼\nnooooo\no\foo\vooopppp੪\npppppppੱ\nppppppp\npp\npqqqqqqqqq\nq\fqqઇ\vqqઉ\nqrrrrsssઑ\nstttક\ntuuuuuuજ\nu\fuuટ\vuuડ\nuuuuvvધ\nvvvvફ\nvvભ\nvwwwwwwwwશ\nwwwwwwwwwwwwૂ\nwwૄ\nwwwwwwwો\nwwwwwww\nwwwwww\nwwwwww\nwwૠ\nwxxxx\nx\fxx૨\vxyyyy૭\ny\fyy૰\vyzzzz\nz\fzz\vz{{{{૽\n{||||ଂ\n|||}}}}ଉ\n}}}~~~ଏ\n~~~~ଓ\n~~କ\n~ଚ\n\fଝ\vଣ\n\fଦ\vବ\n\n\fଷ\v\nି\n
\n\n\f\vଢ଼\nୟ\n୧\n\f୪\v୭\n୵\n\n\f\v\n\n\n\n\fஞ\v\n\n\nய\nழ\nஹ\nா\n\n\n\f\v௦\n௲\n\n\rం\nఉ\n\rఊఏ\nట\n\fఢ\vత\nబ\nవ\nా\n\n\r\n౪\n\f౭\v౯\n౸\n౼\nಀ\nಊ\n\rಋಥ\nಬ\nಯ\nಾ\n\n\n\nೣ\n\f೦\v೯\n\n\rഀ\n\n\nഖ\n\rഗഝ\nഥ\nപ\nള\n\n\n൨\n൮\n൴\nൻ\n\fൾ\vඁ\nඃ\nඈ\n\fඋ\vඐ\n\fඓ\v ක\n ¡¡¡¢¢¢¢ජ\n¢\f¢¢ඥ\v¢£££££ණ\n£££ථ\n£¤¤¤¤ඳ\n¤\f¤¤බ\v¤¥¥¥¥ර\n¥\f¥¥\v¥¦¦¦¦¦¦ළ\n¦§§§§§§§¨¨¨¨ෑ\n¨\f¨¨ු\v¨©©©ෘ\n©©©©©ෝ\n©©©\n©ªªªªª«««««෫\n«\f««෮\v«¬¬¬¬\n\fข\vฉ\n\fฌ\vฎ\nต\n\fธ\vบ\nผ\nฟ\nย\n®®®®®®®®®®®®®®®®®ิ\n®¯¯¯¯¯¯¯¯\n¯°°°°โ\n°\f°°ๅ\v°±±±±±±±±±±๐\n±²²²²๕\n²\f²²๘\v²³³³´´´\n´\r´´´´\n´µµµµ\nµ¶¶¶¶¶¶¶\n¶····\n·¸¸¹¹¹\n¹¹¹¹¹ກ\n¹¹¹¹¹ຆ\n¹¹¹¹ຊ\n¹¹¹¹ຎ\n¹¹¹¹ຒ\n¹¹¹¹ຖ\n¹¹¹¹ບ\n¹¹¹¹ພ\n¹¹¹¹ຢ\n¹¹¹ລ\n¹ººººººººººººາ\nº»»»»ື\n»¼¼¼ົ\n¼½½½\n½¾¾¿¿ÀÀÀ\vЧѪѲ҃ґҚңҬӘhĎĒĖÁ\b\n\f "$&(*,.02468:<>@BDFHJLNPRTVXZ\\^`bdfhjlnprtvxz|~ ¢¤¦¨ª¬®°²´¶¸º¼¾ÀÂÄÆÈÊÌÎÐÒÔÖØÚÜÞàâäæèêìîðòôöøúüþĀĂĄĆĈĊČĎĐĒĔĖĘĚĜĞĠĢĤĦĨĪĬĮİIJĴĶĸĺļľŀłńņňŊŌŎŐŒŔŖŘŚŜŞŠŢŤŦŨŪŬŮŰŲŴŶŸźżž<PPàà$$òòzz34ĜĜņņ\r\r))00<<kkyy««WXkkyy\n\n``ęę\n\n¥¥JJ»»þþKK¼¼ÿÿeeććĹĹeeććĹĹWWssěěŅŅĚĚĥĥ??ùùgg\f\f\\\\ŰŰŲŲ]]ÔÔÌÌĎĎ¡¢\f\fččnnIJIJĻĻśŜŠŠ^^ŝşśŜţţ\rEEGG
±±³³µµ··ââüüʼnʼnŐŐAACDŁŁLMĨĨNOĩĩ&&ĴĴññėĘzzvvĭĭרœŚ^^śŤÁÁËËnnIJIJśŜ\tEF
±¸½¾üýʼnŊŐő\bEE
µµ··üüŐŐ··ŐŐEE
µµüü
µµüüuuÝÝűŲ``ĆĆ5\n\v\r$\'+-0224:<<?@E[]`ddfmppruxy|¡¾ÀÀÃÅÉÊÍÍÏÐÒÖÙÝßéëóõÿāĄĆČĎěĝĢĥĪĬĬĮĸļŀŃŊōōŐŒ>>ee{{ ¿¿ÇÇôôāāććĹĹłł\n=?dfz|¡¾ÀÆÈóõĀĂĆĈĸĺŁŃŒᄀƄƆƙ\bƛ\nƤ\fƧƪƭưƳƶӛӟӡӣ ֍"֏$֠&֦(ֲ*ֿ,ׂ.׆0ؕ2ؗ4؛6ذ8ز:ش<ػ>ؽ@مBَDٙF٫HٮJٹLډNڏPڑRڜTڣVڮXڿZۇ\\ۉ^ۏ`܊bܒdܞfݒhݕjݻlݽnޅpަrߔtߩvࠉxࠕz࠘|ࠡ~ࡂࡖ࡞ࡦࡪࡰࢊࢌࢯࣘࣜࣷࣻऊ ऌ¢प¤ब¦ळ¨ीªॅ¬े®ॖ°८²ॻ´ॽ¶ॿ¸ঃºআ¼ঊ¾পÀভÂহÄৌÆ০È৬Ê৮ÌÎਔÐਘÒਠÔਫÖਯØÚਖ਼Üਜ਼Þàâઊäઐæઔèખêબìîૡð૩ò૱ôૹöଁøଈúଌüଖþଞĀଫĂĄାĆୀĈୂĊୈČĎĐĒĔĖĘ೮ĚĜഁĞഃĠഅĢഇĤഉĦഎ',A._serializedATNSegment2="ĨകĪങĬഞĮതİഫIJഭĴലĶĸංĺļඌľŀඛłඞńඦņදňභŊහŌෆŎŐŒŔ෦Ŗ෯ŘมŚำŜŞŠ๏Ţ๑Ť๙ŦŨŪŬŮŰŲັŴຶŶ຺ŸźເżໂžໄƀƁƁƂƂƅƃƅƄƀƄƃƅƆƐ\fƇƉƈƇƉƊƊƈƊƋƋƌƌƍ\fƍƏƎƈƏƒƐƎƐƑƑƖƒƐƓƕƔƓƕƘƖƔƖƗƗƘƖƙƚƚƛƟ\rƜƞƝƜƞơƟƝƟƠƠƢơƟƢƣƣ\tƤƥú~ƥƦƦ\vƧƨö|ƨƩƩ\rƪƫðyƫƬƬƭƮø}ƮƯƯưƱĸƱƲƲƳƴł¢ƴƵƵƶƷ\rƷƸӜ.ƹƻ@!ƺƹƺƻƻƼƼӜ`1ƽƾŀƾӜb2ƿǀŀǀǁ8ǁǂb2ǂӜǃDŽĆDŽLJ'DžLjŨµdžLjŴ»LJDžLJdžLjӜljNJ=NJǎ8NjnjnjǍÁǍǏhǎNjǎǏǏǐǐǘb2ǑǗ,ǒǗ*ǓǔŎǔǕ\tǕǗH%ǖǑǖǒǖǓǗǚǘǖǘǙǙӜǚǘǛǜ\rǜǝ8ǝǞb2ǞǟĆǟǠ\tǠǡH%ǡӜǢǣ\rǣǤ8Ǥǥb2ǥǦĆǦǧ*ǧӜǨǩ`ǩǬ8ǪǫǫǭhǬǪǬǭǭǮǮǰb2ǯDZ\tǰǯǰDZDZӜDzdzĊdzǶ:Ǵǵ\tǵǷðyǶǴǶǷǷǼǸǺ¡ǹǸǹǺǺǻǻǽŴ»ǼǹǼǽǽӜǾȃ\"ǿȀȀȁņ¤ȁȂȂȄȃǿȃȄȄȆȅȇD#ȆȅȆȇȇȈȈȍF$ȉȋȊȉȊȋȋȌȌȎ.ȍȊȍȎȎӜȏȐ=ȐȔĜȑȒȒȓÁȓȕhȔȑȔȕȕȖȖȗö|ȗȘ¡Șȡö|șȠD#ȚȠìwțȠX-ȜȠ*ȝȞĠȞȠH%ȟșȟȚȟțȟȜȟȝȠȣȡȟȡȢȢӜȣȡȤȩ$ȥȦȦȧņ¤ȧȨȨȪȩȥȩȪȪȬȫȭD#ȬȫȬȭȭȮȮȳF$ȯȱȰȯȰȱȱȲȲȴ.ȳȰȳȴȴӜȵȶȶȷĜȷȹb2ȸȺ4ȹȸȹȺȺȻȻȼ9ȼɄĒȽɅŨµȾȿvȿɀ4ɀɅÐiɁɂvɂɃ\fɃɅ4ɄȽɄȾɄɁɄɅɅӜɆɇɇɊĝɈɉ\tɉɋb2ɊɈɊɋɋɌɌɍ9ɍɏĒɎɐŨµɏɎɏɐɐӜɑɒ\rɒɓĜɓɔb2ɔɕ\nɕɖ\tɖɗĺɗӜɘə\rəɚĜɚɛb2ɛɜ\nɜɝ\tɝɞɞɟĺɟɠɠӜɡɢ\rɢɣĜɣɤb2ɤɥìɥɦ3ɦɧðyɧɨīɨɩŤ³ɩӜɪɫ\rɫɬĜɬɭb2ɭɮ`ɮɱ\tɯɰɰɲhɱɯɱɲɲɳɳɴɴɵîxɵɶɶӜɷɸ\rɸɹĜɹɺb2ɺɻ`ɻɾ\tɼɽɽɿhɾɼɾɿɿʀʀʁîxʁӜʂʃ\rʃʄ\tʄʅb2ʅʆìʆʇīʇʈðyʈӜʉʊ\rʊʋ\tʋʌb2ʌʍĆʍʎĠʎʏH%ʏӜʐʑ\rʑʒ\tʒʓb2ʓʔľʔʗĠʕʖʖʘhʗʕʗʘʘʙʙʚH%ʚӜʛʜ\rʜʝĜʝʞb2ʞʠ\tʟʡ3ʠʟʠʡʡʢʢʤðyʣʥŲºʤʣʤʥʥӜʦʧ\rʧʨĜʨʪb2ʩʫ4ʪʩʪʫʫʬʬʮ)ʭʯ3ʮʭʮʯʯʰʰʱðyʱʳń£ʲʴĴʳʲʳʴʴӜʵʶ\rʶʷĜʷʹb2ʸʺ4ʹʸʹʺʺʻʻʼïʼʽ4ʽʾʾʿĺʿˀˀӜˁ˂\r˂˃Ĝ˃˅b2˄ˆ4˅˄˅ˆˆˇˇˈĆˈˉăˉˍŴ»ˊˋŎˋˌĄˌˎH%ˍˊˍˎˎӜˏː\rːˑĜˑ˓b2˒˔4˓˒˓˔˔˕˕˖Ć˖˗Ą˗˘H%˘Ӝ˙˚\r˚˛\t˛˜b2˜ˠ\n˝˞˞˟Á˟ˡhˠ˝ˠˡˡˣˢˤ2ˣˢˤ˥˥ˣ˥˦˦Ӝ˧˨\r˨˩Ĝ˩˪b2˪˫4˫ˬìˬ˭ī˭ˮ4ˮӜ˯˰\r˰˱\t˱˲b2˲˵`˳˴˴˶h˵˳˵˶˶˷˷˼4˸˹˹˻4˺˸˻˾˼˺˼˽˽̀˾˼˿́á̀˿̀́́Ӝ̂̃\r̃̄Ĝ̄̆b2̅̇4̆̅̆̇̇̈̈̉Ć̉̊*̊Ӝ̋̌\ř̍Ĝ̍̎b2̎̏è̏̐Ö̐Ӝ̑̒`̒̕Ĝ̖̓̔̔h̖̖̗̗̙̓̕̕b2̘̚á̙̘̙̚̚Ӝ̛̜`̜̟ņ̝̞̞̠h̡̡̟̝̟̠̠Ӝb2̢̥=̣̤Ë̤̦ï̧̨̧̨̥̣̥̦̦̫̩̩̩̪̪̬ġ̨̫̫̬̬̭̭̱ņ̮̯̯̰Á̰̲ẖ̵̮̱̲̲̳̳b2̴̶Öl̵̴̵̶̶̷̿̾,̸̹Õ̹̺Ç̺̾Îh̻̼Ġ̼̾H%̷̸̻̽̽̽̾́̿̽̿̀̀͂́̿͂̓̓̈́.̈́Ӝ͈ͅ=͇͆Ë͇͉ï͈͈͉͉͍͍͎͆͋͊͌͋͊͋͌͌ġ͎͏ņ͏͔ö|͐͑͑͒ł¢͓͓͕͔͔͕͕͖͖͙͒͐D#͗͘Ê͚͘H%͙͙͚͚͗Ӝ͛͜\r͜͝ņ͟͝b2͟͟͢͞͠͞͠͠͡͡.͢Ӝͣͦ=ͤͥËͥͧïͦͤͦͧͧͩͨͪġͩͨͩͪͪͫͫͯ|ͬͭͭͮÁͮͰhͯͬͯͰͰͱͱͲb2ͲͳͳͽŴ»ʹ͵ł͵ͺ^0Ͷͷͷ^0Ͷͼͺͺͻͻ;ͼͺͽʹͽ;;ӜͿ`ġΆ|΄΅΅·hΆ΄Ά··ΈΈӜb2ΉiΊΌ\t\bΊΌΌӜ\rΎΏĊΏΒĝΐΑ\tΑΓb2ΒΐΒΓΓΘΔΖ¡ΕΔΕΖΖΗΗΙŴ»ΘΕΘΙΙӜΚΛĊΛΜĜΜΟkΝΞ\tΞΠb2ΟΝΟΠΠΡΡ¡ΤŴ»ΣΥ4ΤΣΤΥΥӜΦΧĊΧΨĠΨέb2ΩΪΪΫL'ΫάάήέΩέήήӜίΰĊΰα4αβ\tβεb2γδ\tδζðyεγεζζӜηθĊθλŇικ\tκμb2λιλμμρνο¡ξνξοοππςŴ»ρξρςςӜστĊτυÖυχb2φψ4χφχψψӜωϋĊϊόŨµϋϊϋόόύύϐ}ώϏ\tϏϑb2ϐώϐϑϑϙϒϔ¡ϓϒϓϔϔϗϕϘðyϖϘŴ»ϗϕϗϖϘϚϙϓϙϚϚӜϛϜĊϜϝ=ϝϞĜϞϡb2ϟϠϠϢăϡϟϡϢϢӜϣϤĊϤϥ@ϥӜ8ϦϧĊϧϬ(ϨϪ¡ϩϨϩϪϪϫϫϭŴ»ϬϩϬϭϭӜϮϯ\t\tϯϱ|ϰϲkϱϰϱϲϲϳϳӜ<ϴϵ\t\tϵϷ8϶ϸkϷ϶ϷϸϸϹϹϺb2ϺӜϻϽ\t\tϼϾĜϽϼϽϾϾЀϿЁ\t\nЀϿЀЁЁЂЂЄb2ЃЅ4ЄЃЄЅЅЇІЈ> ЇІЇЈЈӜЉЋ\t\tЊЌãЋЊЋЌЌЍЍӜ.ЎЏ5ЏАÇАБ8БВb2ВГГДŶ¼ДӜЕЖ5ЖЗÇЗИĜИЙb2ЙККЛŶ¼ЛӜМНëНОĜОӜb2ПРëРС|СӜb2ТЪëУЫŴ»ФЦ\vХФЦЩЧШЧХШЫЩЧЪУЪЧЫӜ",A._serializedATNSegment3="ЬЮ#ЭЯЮЭЮЯЯаабĜбдb2вгÊгеH%двдеекжизжзииййл.кзкллӜмнĸнрĜоппсhрорссттӜb2уф-фӜ#хц¦цшHчщ§шчшщщъъыыэŴ»ьюÓэьэююяяѐѐёĜёѓb2ђє4ѓђѓєєӜѕіijіїĜїљb2јњ4љјљњњӜћѝ¹ќћќѝѝўўџíџѠĜѠѣb2ѡѢ\t\vѢѤÖѣѡѣѤѤӜѥѦ\t\fѦѪŨµѧѩ\vѨѧѩѬѪѫѪѨѫӜѬѪѭѮĆѮѲöѯѱ\vѰѯѱѴѲѳѲѰѳӜѴѲѵѶĆѶѷĤѷѸŒѸӜĤѹѺĆѺѻĤѻѼŒѼӜѽѾĆѾѿĤѿ҃ŒҀ҂\vҁҀ҂҅҃҄҃ҁ҄Ӝ҅҃҆҇Ć҇҈҈҉œ҉ҊҊӜҋҌĆҌҔҍґœҎҐ\vҏҎҐғґҒґҏҒҕғґҔҍҔҕҕӜҖҚĆҗҙ\vҘҗҙҜҚқҚҘқҝҜҚҝҞœҞӜҟңĆҠҢ\vҡҠҢҥңҤңҡҤӜҥңҦҧðҧӜҨҬðҩҫ\vҪҩҫҮҬҭҬҪҭӜҮҬүҰ=ҰҴұҲҲҳÁҳҵhҴұҴҵҵҶҶҷŨµҷҹÇҸҺĜҹҸҹҺҺһһҾb2ҼҽłҽҿŨµҾҼҾҿҿӀӀӁӁӂòzӂӅӃӄÊӄӆH%ӅӃӅӆӆӜӇӈ`ӈӋӉӊӊӌhӋӉӋӌӌӍӍӎŨµӎӐÇӏӑĜӐӏӐӑӑӒӒӓb2ӓӜӔӘ ӕӗ\vӖӕӗӚӘәӘӖәӜӚӘӛƸӛƺӛƽӛƿӛǃӛljӛǛӛǢӛǨӛDzӛǾӛȏӛȤӛȵӛɆӛɑӛɘӛɡӛɪӛɷӛʂӛʉӛʐӛʛӛʦӛʵӛˁӛˏӛ˙ӛ˧ӛ˯ӛ̂ӛ̋ӛ̑ӛ̛ӛ̢ӛͅӛ͛ӛͣӛͿӛΉӛΎӛΚӛΦӛίӛηӛσӛωӛϛӛϣӛϦӛϮӛϴӛϻӛЉӛЎӛЕӛМӛПӛТӛЬӛмӛуӛхӛѕӛќӛѥӛѭӛѵӛѹӛѽӛ҆ӛҋӛҖӛҟӛҦӛҨӛүӛӇӛӔӜӝӠŴ»ӞӠ§ӟӝӟӞӠӡӢŬ·ӢӣӤٸӤӥӦ=Ӧ֎öӧӨ`Ө֎öөӫӪӬöӫӪӫӬӬ֎ӭӯóӮӰöӯӮӯӰӰ֎ӱӲĊӲ֎ӳӴĊӴӶöӵӷӶӵӶӷӷ֎ӸӹĊӹ֎ßӺӻĊӻ֎÷ӼӽĊӽӾ@Ӿ֎÷ӿԀjԀ֎ĜԁԂԂ֎ĜԃԄĊԄ֎8ԅԆĊԆԇ=ԇ֎ĜԈԉĊԉ֎įԊԋĊԋ֎ԌԍĊԍ֎ªԎԏ=ԏ֎Ԑԑ`ԑ֎Ԓԓ\rԓ֎Ԕԕ©ԕ֎ĜԖԗ©ԗ֎JԘԙļԙ֎ĜԚԛļԛ֎JԜԝ=ԝԞġԞ֎ԟԠ`Ԡԡġԡ֎Ԣԣ\rԣԤĜԤԥö|ԥԦÁԦԧ/ԧ֎Ԩԩ\rԩԪĜԪԫö|ԫԬ/Ԭԭ!ԭ֎Ԯԯ\rԯĜԱö|ԱԲÁԲԳďԳ֎ԴԵ\rԵԶĜԶԷö|ԷԸċԸԹ!Թ֎ԺԻ\rԻԼĜԼԽö|ԽԾÁԾԿċԿ֎ՀՁ\rՁՂĜՂՃö|ՃՄÁՄՅēՅՆՆՇZՇ֎ՈՉ\rՉՊĜՊՋö|ՋՌĆՌՍċՍՎ¨Վ֎ՏՐ\rՐՑĜՑՒö|ՒՓfՓՔÔՔ֎ՕՖ\rՖĜö|ՙՙ՚Ô՚֎՛՜\r՜՝Ĝ՝՞ö|՞՟Ķ՟ՠÔՠ֎աբ\rբգĜգդö|դեĬե֎զէ\rէըĜըժö|թի4ժթժիիլլխ7խ֎ծկ\rկհĜհղö|ձճ4ղձղճճմմյ:յ֎նշ\rշոĜոպö|չջ4պչպջջռռսĆսվrվ֎տր\rրցĜցփö|ւք4փւփքքօօֆïֆև4և֎ֈ։đ։֎Į֊֎6֎ø֎Y֍ӥ֍ӧ֍ө֍ӭ֍ӱ֍ӳ֍Ӹ֍Ӻ֍Ӽ֍ӿ֍ԁ֍ԃ֍ԅ֍Ԉ֍Ԋ֍Ԍ֍Ԏ֍Ԑ֍Ԓ֍Ԕ֍Ԗ֍Ԙ֍Ԛ֍Ԝ֍ԟ֍Ԣ֍Ԩ֍Ԯ֍Դ֍Ժ֍Հ֍Ո֍Տ֍Օ֍՛֍ա֍զ֍ծ֍ն֍տ֍ֈ֍֊֍֍֎!֏֑=֒ġ֑֑֒֒֔֓֕l֖֖֚֔֓֔֕֕Ĝ֗֘֘֙Á֛֙h֛֛֚֚֗֜֜֝b2֝#֞֟=֟֡Ë֢֢֣֠֞֠֡֡ï֣֤Ĝ֤֥b2֥%֦֧/֧֨!֨֬Îh֪֩ď֪֫!֭֫Òjְ֭֭֮֮֬֩֬֯֯Űְֱ ֱ'ֲֳċֳִ!ִֵÎhֵָÇֶֹT+ַֹV,ֶַָָֹֺֻֽēֻּּ־Zֺֽֽ־־)ֿ׀¨׀ׁŴ»ׁ+ׂ׃5׃ׄŴ»ׄ-ׇׅ@!׆ׅ׆ׇׇh5d3/ÓĜאאחb2בו4גדדהÁהזhוגוזזטחבחטטליך!ךםºכםÎhלילכלםםؖמןןסנעĜסנסעעףףץb2פצ4ץפץצצתקררשÁשhתקתׯ!װºװÎhׯׯׯװװؖױײײ״׳Ĝ״׳״b2ïFؖÓ§[Ŵ»ìw؆X-؆؆ؖ؇؈؈؊Ó؉؋§؊؉؊؋؋،،؎[؍؏Ŵ»؎؍؎؏؏ؐؐؓD#ؑؒÊؒؔH%ؓؑؓؔؔؖؕؕמؕױؕؕ؇ؖ1ؙؗ4ؘؚ*ؘؙؙؚؚ3؛Ô؝؝آ6؞؟؟ء6ؠ؞ءؤآؠآأأإؤآإئئ5اتŨµبةœةثĚتبتثثرجحŨµحخœخدSدرذاذجر7زس\t\rس9شص\tص;ضؼb2طؼŴ»ظؼĜعؼĞغؼĠػضػطػظػعػغؼ=ؽقŨµؾؿؿفŨµـؾفلقـقكك?لقمنŎنًB\"هوويB\"ىهيًٍىًٌٌAًٍَِŤ³ُّÎhُِِّّْْٕٕٖٖٓٔٓٓٔٔٗ.ٗ٘٘CٙٚłٚٛðyٛEٜٝÊٝ٪P)ٟٞÕٟ٠!٠٪þ١٪(٢٪&٣٪ìw٤٪X-٥٪*٦٪,٧٨Ġ٨٪H%٩ٜ٩ٞ٩١٩٢٩٣٩٤٩٥٩٦٩٧٪٭٫٩٫٬٬G٭٫ٮٯٯٴJ&ٰٱٱٳJ&ٲٰٳٶٴٲٴٵٵٷٶٴٷٸٸIٹپL'ٺټœٻٺٻټټٽٽٿN(پٻپٿٿKڀڅŨµځڂڂڄŨµڃځڄڇڅڃڅچچڊڇڅڈڊŴ»ډڀډڈڊMڋڐŰڌڐŲڍڐĢڎڐŴ»ڏڋڏڌڏڍڏڎڐOڑڒڒڗR*ړڔڔږR*ڕړږڙ",A._serializedATNSegment4="ڗڕڗژژښڙڗښڛڛQڜڡL'ڝڟœڞڝڞڟڟڠڠڢĆڡڞڡڢڢSڣڤڤکĚڥڦڦڨĚڧڥڨګکڧکڪڪڬګکڬڭڭUڮگگڴT+ڰڱڱڳT+ڲڰڳڶڴڲڴڵڵڷڶڴڷڸڸWڹںēںڻڻۀZ.ڼڽēڽھ!ھۀ\\/ڿڹڿڼۀYہۂۂۃŴ»ۃۄÏۄۅŴ»ۅۈۆۈŨµۇہۇۆۈ[ۉۍŴ»ۊۋŎۋیĄیێH%ۍۊۍێێ]ۏېŨµېۑŴ»ۑ_ےۓ0ۓ۔.۔܋ەۗJۖۘf4ۗۖۘۙۙۗۙۚۚ܋ۛۜUۜz۞b2۞۠êv۟ۡF۠۟۠ۡۡ܋ۣۢĿۣۤb2ۤۥêvۥۧx=ۦۨFۧۦۧۨۨ܋۩۪°۪۫۫۬b2ۭ۬êvۭ۳łۮ۴b2ۯ۰۰۱.۱۲۲۴۳ۮ۳ۯ۴۵۵۶êv۶۷Ç۷ۻĎ۸ۺz>۹۸ۺ۽ۻ۹ۻۼۼ܁۽ۻ۾܀|?ۿ۾܀܃܁ۿ܁܂܂܇܃܁܄܆~@܅܄܆܉܇܅܇܈܈܋܉܇܊ے܊ە܊ۛ܊ۢ܊۩܋a܌܍܍Ćܐܐܓܑܓðyܒ܌ܒܑܓcܔܕÌܕܖ!ܖܛl7ܗܘܘܚl7ܙܗܚܝܛܙܛܜܜܟܝܛܞܔܞܟܟܪܠܡ.ܡܢ!ܢܧĆܣܤܤܦĆܥܣܦܩܧܥܧܨܨܫܩܧܪܠܪܫܫܶܬܭ]ܭܮ!ܮܳĆܯܰܰܲĆܱܯܱܴܴܷܲܵܳܳܵܳܶܬܷܷ݂ܸܹܶĎܹܺ!ܺܿl7ܻܼܼܾl7ܻܾ݂ܸ݂݄݆ܽ݁ܿܽܿ݀݀݃݁ܿ݃݃݅Ŕ«݄݆݆݅݅݇݊£݈\f݉Ć݈݊݊݉ݍ݇ݍݍݐݎݏÆݏݑĆݐݎݐݑݑeݒݓ0ݓݔp9ݔgݕݖ\b5ݖݗj6ݗݯݘݙ\fݙݚ5ݚݜ\tݛݝ¾`ݜݛݜݝݝݞݞݮh5ݟݠ\fݠݡ5ݡݣݢݤ¾`ݣݢݣݤݤݥݥݮh5ݦݧ\fݧݨ5ݨݪ\tݩݫ¾`ݪݩݪݫݫݬݬݮh5ݭݘݭݟݭݦݮݱݯݭݯݰݰiݱݯݲݼr:ݳݼn8ݴݵĜݵݼb2ݶݼÜoݷݸݸݹ.ݹݺݺݼݻݲݻݳݻݴݻݶݻݷݼkݽݿĆݾހ\tݿݾݿހހރށނÃނބ\tރށރބބmޅއJކވp9އކވމމއމފފoދލt;ތގFލތލގގޏޏސd3ސާޑޕv<ޒޔ¼_ޓޒޔޗޕޓޕޖޖޙޗޕޘޚFޙޘޙޚޚޜޛޝLޜޛޜޝޝޟޞޠGޟޞޟޠޠޢޡޣŔ«ޢޡޢޣޣޤޤޥd3ޥާަދަޑާqިުt;ީޫJުީުޫޫޯެޮ¼_ޭެޮޱޯޭޯްްޱޯFLGŔ«ߕ߀v<߁J߀߀߁߁߅߂߄¼_߃߂߄߇߅߃߅߆߆߉߇߅߈ߊF߉߈߉ߊߊߌߋߍLߌߋߌߍߍߏߎߐGߏߎߏߐߐߒߑߓŔ«ߒߑߒߓߓߕߔިߔߕsߖߗĀߗߘİߘߚߙߛ¾`ߚߙߚߛߛߜߜߝČߝߞߞߪߟߡ®ߠߢ¾`ߡߠߡߢߢߣߣߪČߤߦéߥߧ¾`ߦߥߦߧߧߨߨߪČߩߖߩߟߩߤߪ߬߫߭ìw߬߫߬߭߭߰߮߯ç߯߱Ŵ»߲߲߰߮߰߱߱߳ł߳ࠀŴ»ߴ߾ߵ߿Ði߶߿ł¢߷ߺ߸Ði߹ł¢ߺ߸ߺ߹߽߽߿߾ߵ߾߶߾߷߿ࠁࠀߴࠀࠁࠁࠃࠂࠄìwࠃࠂࠃࠄࠄࠇࠅࠆæࠆࠈŴ»ࠇࠅࠇࠈࠈuࠉࠍĀࠊࠌHࠋࠊࠌࠏࠍࠋࠍࠎࠎࠑࠏࠍࠐࠒ¾`ࠑࠐࠑࠒࠒࠓࠓࠔüࠔwࠕࠖĆࠖࠗDࠗy࠘࠙ŋ࠙ࠜ¯ࠚࠛࠛࠝĎࠜࠚࠜࠝࠝࠞࠞࠟģࠟࠠAࠠ{ࠡࠢŋࠢࠣÁࠣࠦ¯ࠤࠥ!ࠥࠧğࠦࠤࠦࠧࠧࠪࠨࠩࠩࠫĎࠪࠨࠪࠫࠫࠬࠬ࠭ģ࠭B}࠰ŋ࠰࠱Á࠱࠲¯࠲࠳!࠳࠶Đ࠴࠵࠵࠷Ď࠶࠴࠶࠷࠷࠸࠸࠹ģ࠹࠺C࠺࠻ࡃU࠼࠽Ŀ࠽࠾Ć࠾ࡃŝࡀĿࡀࡁĆࡁࡃDࡂ࠻ࡂ࠼ࡂࡃࡄࡅࡅࡗŝࡆࡇࡇࡈࡈࡉîxࡉࡊࡊࡋŃࡋࡌࡌࡑĆࡍࡎࡎࡐĆࡏࡍࡐࡓࡑࡏࡑࡒࡒࡔࡓࡑࡔࡕࡕࡗࡖࡄࡖࡆࡗࡘU࡙࡚Ŀ࡚࡛Ć࡛Dࡘ࡙
࡞ࡣEࡠࡠࡢEࡡࡢࡥࡣࡡࡣࡤࡤࡥࡣࡦࡧðyࡧࡨœࡨࡩĆࡩࡪŌĎĎࡰࡱŨࡱࡸIࡲࡴࡳࡲࡳࡴࡴࡵࡵࡷIࡶࡳࡷࡺࡸࡶࡸࡹࡹࡻࡺࡸࡻࡼũࡼࡽࢋŨµࡾࡿŨµࡿࢀࢀࢅĖࢁࢂࢂࢄĖࢃࢁࢄࢇࢅࢃࢅࢆࢆ࢈ࢇࢅ࢈ࢉࢉࢋࢊࡽࢊࡾࢋࢌࢍzࢍÀaࢎÀaࢎ࢘¼_࢚࢙࢙࢚࢛࢘࢘࢜࢘࢝ Q࢛࢜࢜࢝࢝࢟࢞ࢠ¦T࢟࢞࢟ࢠࢠࢡࢣvࢢࢡࢢࢣࢣࢤࢤࢥ\tࢥࢦࢦࢧÅࢧࢰŸ½ࢨࢪvࢩࢨࢩࢪࢪࢫࢫࢬ\tࢬࢭࢭࢮÅࢮࢰĒࢯࢢࢯࢩࢰࢱࢲࢲࢳ!ࢳࢸMࢴࢵࢵࢷMࢶࢴࢷࢺࢸࢶࢸࢹࢹࣙࢺࢸࢻࢼࢼࢽ!ࢽࣂĆࢾࢿࢿࣁĆࣀࢾࣁࣄࣂࣀࣂࣃࣃࣖࣄࣂࣅࣆŎࣆࣗùࣇࣈŎࣈࣗ?ࣉ࣊࣊࣋Ĉ࣑࣋࣌࣌P࣐࣍࣎࣎P࣏࣐࣓࣑࣏࣑࣒࣒࣓࣑࣍ࣔࣔࣕࣕࣗࣖࣅࣖࣇࣖࣉࣖࣗࣗࣙࣘࢱࣘࢻࣙࣚࣝNࣛࣝĆࣜࣚࣜࣛࣝࣞࣟ\tࣟ࣠࣠ࣥP࣡ࣤPࣣࣣࣦࣦࣩࣩ࣡ࣤࣧࣥࣥࣨࣧࣥࣨࣸ࣪࣫࣫࣬Ĉࣲ࣭࣭࣬Oࣱ࣮࣯࣯Oࣰࣰࣱࣲࣲࣲ࣮ࣶࣶࣹࣴࣳࣳࣵࣴࣵࣸࣷࣞࣷ࣪ࣸࣼNࣺࣼPࣹࣺࣻࣻࣼࣽआࣾःĆࣿऀऀंĆँࣿंअःँःऄऄइअःआࣾआइइईईऋउऋĆऊࣽऊउऋऌऍÚऍऎऎएüएऐvऐऑ¢Rऑऒऒओओघ¤Sऔककग¤Sखऔगचघखघङङछचघछजजझझ¡ञफŨµटठठथŨµडढढतŨµणडतधथणथददनधथनऩऩफपञपटफ£बऱĆभयमभमययररलŨµऱमऱलल¥ळवĽऴश¨UवऴवशशषषससहªVहाऺ़ऻऺऻ़़ऽऽिŨµाऻािि§ीु\tुूÃू©ृॆ¬Wॄॆ®Xॅृॅॄॆ«ेै²Zैॉvॉॊ´[ॊोोौौ॑¶\\्ॎॎॐ¶\\ॏ्ॐ॓॑ॏ॒॒॑॔॓॑॔ॕॕॖॗॗड़²Zक़ख़ख़ज़²Z",A._serializedATNSegment5='ग़क़ज़फ़ड़ग़ड़ढ़ढ़य़फ़ड़य़ॠॠॡvॡॢ´[ॢॣॣ।।३°Y॥००२°Y१॥२५३१३४४६५३६७७¯८९९ॴ¸]॰ॱॱॳ¸]ॲ॰ॳॶॴॲॴॵॵॷॶॴॷॹॸॺº^ॹॸॹॺॺ±ॻॼŨµॼ³ॽॾŨµॾµॿঁ¸]ঀংº^ঁঀঁংং·ঃðy¹অইআঅআইইঈঈউŨµউ»ঊঋঋņঌÎঌএএঐŢ²ঐঙখĆওওকĆঔকঘখঔখগগচঘখঙঙচচছছজজনŨµঝটঞঝঞটটঠঠথŨµডঢঢতŨµণডতধথণথদদধথনঞন½পফ\tফ¿বমভবভমমযযÚnরলÂbরলÁশÄcষ Qস¦TহশহষহসÃ়Æd়াঽিাঽািিীীূÚnুৃÈeূুূৃৃ্ৄ¿ÆdৈেৈেৈোÚnো্ৌৌৄ্Åৎৎ১১> Î১ ৗৗ১āড়ôঢ়Îড়ড়ঢ়ঢ়১ৠ{য়ৡÎৠয়ৠৡৡ১ৢ ৣৢৣ১০০০০ৗ০০০ৣ১Ç২৩Ç৩৭Ď৪৫ł৫৭Îh৬২৬৪৭É৮৯Ğ৯ৱৰ৲Ìgৱৰৱ৲৲৳৳৸৴৵î৵৶৶৷Ű৷৹৸৴৸৹৹Ë৺ৼŜ৻৺৻ৼৼ৽৽৾\t৾ਓÙĆਁûਁਓਂਃਃŰਅÍਅਆÅਆਏŰਇÇਈŨµਉਊŢ²ਊਈਉਐਏਇਏਐਐਓਓĆ৻ਂਓÍਔਕਕਖÐiਖਗਗÏਘਝŤ³ਙਚਚਜŤ³ਛਙਜਟਝਛਝਞਞÑਟਝਠਡਡਦÔkਢਣਣਥÔkਤਢਥਨਦਤਦਧਧਨਦਪਪÓਫਭŤ³ਬਮ\tਭਬਭਮਮÕਯਰਰਵØmਲਲØmਲ਼ਵਲ਼ਵਸ਼ਸ਼ਸਵਸਹਹ×਼Ũµ,਼਼Ùਾੀb2ਿੁKੀਿੀੁੁੂÊfੂêvਗ਼ੇੈੈ.ੋੌÊfੋੋੌੌ੍੍êvਗ਼ੑÀaੑÊfêvਗ਼ਗ਼Üoਗ਼èuਖ਼ਾਖ਼ੇਖ਼ਖ਼ਖ਼ਗ਼Ûਜ਼ੜŃੜĆਫ਼ਫ਼ĆêvÝ੦੧Ĝ੧੩b2੨੪àq੩੨੩੪੪੫੬Ĝ੬੭੭੮b2੮ੰ੯ੱàqੰ੯ੰੱੱੲੳĜੳੴੴੵ.ੵ੶àq੶੦੫ੲß\t!ઈČ\t!અl7ઁંંl7ઃઁઇઅઃઅઆઆઉઇઅઈઈઉઉáઊઋŨµઋઌŧઌઍÞpઍãઑÞpએઑârઐઐએઑåકäsઓકĊઔઔઓકçખગбગઠઘઝætઙચચજætછઙજટઝછઝઞઞડટઝઠઘઠડડઢઢણણતêvતéથધદથદધધનનપŪ¶ફÎhપપફફભબદબભભëમયúયરxરăવŴ»લળŎળĄશH%વલવશશૠષસúસહxહૃVp઼Ģ઼ઽ!ઽુŴ»ાિdિી!ીૂŴ»ુાુૂૂૄૃૃૄૄૅ2ેેૈĢૈૉ!ૉોŴ»ૅોોૌ્®્Ģૐ!ૐŴ»ૌ¤Ģ!Ŵ»ÂTŴ»ૠમષૠíૡ૦ðyૢૣૣðyૢ૨૦૦૧૧ï૨૦૩૮Ť³૪૫૫૭Ť³૬૪૭૰૮૬૮૯૯ñ૰૮૱ô{ô{óૹૼðyૺૻÊૻ૽H%ૼૺૼ૽૽õ૾૿Ť³૿ଂଁ૾ଁଂଂଃଃŤ³÷ଅଆŤ³ଆଇଇଉଈଅଈଉଉଊଊଋŤ³ଋùଌଔĆଏଏଏଐଓŤ³ଓÎhଐଓକଔଔକକûଖଛú~ଗଘଘଚú~ଙଗଚଝଛଙଛଜଜýଝଛଞଟଟତĀଠଡଡଣĀଢଠଣଦତଢତଥଥଧଦତଧନନÿବĂପବń£ଫଫପବāଭŢ²ମଯŨµଯରରଵĄଲଲĄଳଷଵଳଵଶଶସଷଵସହହଭମă଼ିŢ²ଽିĚା଼ାଽିąୀୁĎୁćୂୃŨµୃୄŧୄĆĉĆେĈ
ୈୈେċĆୋୌୌĆ୍ୋ୍č\bÁୟĎ୕ୖhୖୗୗ.ୟଡ଼Ēଢ଼Đଡ଼ଡ଼ଢ଼ଢ଼ୟ୕ୟ୨ୠୡ\fୡୢୢ୧Ďୣ\fË୧Ď୦ୠ୦ୣ୧୪୨୦୨୩୩ď୪୨୫୭Á୬୫୬୭୭୮୮୯୯୰Ē୰ୱୱ୲Ē୲ா୳୵Á୴୳୴୵୵୶୶୷୷ĆĆாஂÁஃஂஃஅஅஆஆஇஇஈ.ஈஉஉாஊÁஊஎõஎாĒஏÁஐஏஐஒஒஓ\tஓ\tஔககஜĆஙஙĆசஞஜசஜடஞஜடஔாணÁதணத\tபĒநனcனŴ»பநபாமயÁமமயயரராÂறளலழÁளலளழழவவா\tஶஸஷஹÁஸஷஸஹஹ\\zாĒ୬୴ஃஐதறஶாđிீ\bீĖுூ\tூĒ\tிுெ\f\bெே\tேĒ\tை\fொ\t ொĒ\bோௌ\fௌ்š்Ē\fௐŤௐĒ\fŢĒ\fĜௗĒௗைோē\t!ĕ\b\t"\t#௦Ĕ௦Ŵ»௦௧௧௨௨௩Ē௩௪௪௫Ē௫௬௬௭௮\t$௮௱௯௲Ĕ௰௲Ŵ»௱௯௱௰௲௳௳௴௴௵Ē௵௶௶௷Ē௷௸௸௹%௺Œª௺ఁఀaఀంĆఁఁంంఃఃఄbఄఅఆ%ఆఈĆఇఉŒªఈఇఉఊఊఈఊఋఋఎఌaఏĆఎఌఎఏఏఐఐbఒఓ\t%ఓఔఔకĆకఖఖగ',A._serializedATNSegment6="ĸగఘఘఙచĖచణఛఠú~జఝఝటú~ఞజటఢఠఞఠడడతఢఠణఛణతతథథదధsధననఫĆపపబÃఫఫబబభభమమయరరఱఱఴĆలళళవÃఴలఴవవశశషషసహహఽĆ఼఼ాÃఽఽాాిిీీుూÜూృృౄĒౄెĒెేేైĚŝొోŢ²ోౌౌ్ŝ్ú~ú~ౕౕౖౖౘౙౙౚ.ౚౝౝĆౠౠౡౢбౢ౮ౣ¾`ౣ౦౦౫Ċ౧౨౨౪Ċ౩౧౪౭౫౩౫౬౬౯౭౫౮౮౯౯౷qŌĎ౸౷౷౸౸౻౹౺\t&౺౼Ã౻౹౻౼౼౿౽౾Ð౾ಀŘ౿౽౿ಀಀಁಂŨµಂಃŦಃ಄Ć಄ಅಆಆಉŨµಇಈಈಊŨµಉಇಊಋಋಉಋಌಌಎಎಏŦಏಐĆಐŨµಒಓಓಔĆಔಕಕಖಗmಗಘಘಙŨµಙಚzಚಛĒಛಜಜಝಞ\t'ಞಟಟಠĒಠಡ\t(ಡತĒಢಣ\t)ಣಥĒತಢತಥಥದದಧಧನıಫಪಬ\t*ಫಪಫಬಬಮಭಯĒಮಭಮಯಯರರಱzಱಲĒಲಳಳವÒವಶಶಷĒಷಸÛಸಹĒಹzಽĒ಼v಼ಾĒಽಽಾಾಿಿೀೀುೂ\t+ೂೃೃೄĒೄೆŏೆೇೇೈೈÌೊ!ೊೋl7ೋೌ್q್ŌĎೌೖೕÐೕŘೖೖ௭௹అఒఙదయసుైొౘౡಁಅಒಖಝನು\f\v\bೝĒೝೞ\tೞೣೠ\f\tೠೡೡೣŨµೢೢೣ೦ೢė೦೧೯I೨೯ĥ೩೯Ħ೪೯ħ೫೯೬೯೭೯Ũµ೮೧೮೨೮೩೮೪೮೫೮೬೮೭೯ęഀÂೱഀŪೲೳťೳഀŨµഀĤĘŴ»ഀഀŰ¹ഀĢŴ»ഀೱೲഀěഁം\t,ംĝഃഄ\t-ഄğഅആ\t.ആġഇഈ\t/ഈģഉഌഊĦഋĪഌഊഌഋĥഎഐĨഏĬഐഏഐħഒഓĮഓഔİഔഖകഒഖഗഗകഗഘഘĩങജĬചഝĨഛഝĬജചജഛജഝഝīഞടĮടഠIJഠഡīഡഢIJഢĭണഥ\t0തണതഥഥഩദപŰധപŲനപŴ»ഩദഩധഩനപįഫബ\t1ബıഭമ\t2മijയളsരറ\vറളŤ³ലയലരളĵഴവĪശ\"ഷČസĉഹഺ഻഼¬ഽtാåി_ീIുĥൂħൃĦൄĕ+െ*േńൈRൊQോÄൌň്ൎ൏Ė®Ũµഴവശഷസഹഺ഻഼ഽാിീുൂൃൄെേൈൊോൌ്ൎ൏ķൔൕൕൖŗൖൗĸൗ൘ř൘ඃ൙൚®൚൛ŗ൛൜ĸ൜൝൝൞ĸ൞ൟřൟඃൠ൧ĖൡൣŗൢŎ¨ൣൢൣ൨ř൦൨ŕ൧ൡ൧൦൨ඃ൩൪൪൭\t3൫൬ī൬൮·൭൫൭൮൮ඃ൯൰൰൳\t4൱൲ī൲൴\t5൳൱൳൴൴ඃ൵Ķ൶൷൷ർŰ൸൹൹ൻŰൺ൸ൻൾർൺർൽൽൿൾർൿඁ൶ඁඁඃංൔං൙ංൠං൩ං൯ං൵ඃĹඉļඅආආඈļඇඅඈඋඉඇඉඊඊĻඋඉඌඍðyඍඑĸඎඐľ ඏඎඐඓඑඏඑඒඒĽඓඑඔඕÁඕකÂඖකŀ¡ක,කĴඔඖකĿඛගSගඝĆඝŁඞඣń£ඟචචජń£ඡඟජඥඣඡඣඤඤŃඥඣඦටŤ³ටඪĸඨඩÁඩණÂඪඨඪණණතඬථ,තඬතථථŅදපň¥ධනනඳň¥ධඳබපපඵඵŇබපභමŤ³මĸඹරŊ¦යඹරයලලʼnවÁවළÂශළŀ¡ෂළŌ§සළ,හහශහෂහසළŋෆ~්්ĆōිŐ©ාාෑŐ©ැෑුිැිීීŏුිŨµූෘťූෘෘෙෙොĸේෛÁෛෝÂොේොෝෝෟෞ,ෟෞෟőŋĆģĆœ෦෧ō෧෬Ŗ¬෨෩෩෫Ŗ¬෪෨෫෮෬෪෬෭෭ŕ෮෬෯Ť³ෲŘෲŗෳยŤ³෴Ť³ยป.!ĆĆขกกผขฃค\tคฅ!ฅชĆฆงงฉĆจฆฉฌชจชซซฎฌชญฃญฎฎนฏฐ\tฐฑ!ฑถl7ฒณณตl7ดฒตธถดถททบธถนฏนบบผปปญผพฝฟŚ®พฝพฟฟภภยมෳม෴มยřรฤäฤิŜ¯ลฦûฦิŜ¯วศäศษษสŜ¯สหหฬŜ¯ฬิอฮûฮฯฯะŜ¯ะััาŜ¯าิำรำลำวำอิśีึķึ\t6ืุ@ุúฺูĆฺ\t6ีืูŝใŢ²฿เเโŢ²แ฿โๅใแใไไşๅใๆ็็่่้Ć้๊๊๐๋๐Ţ²์๐qํ๐ ๎๐ô๏ๆ๏๋๏์๏ํ๏๎๐š๑๖Ũµ๒๓๓๕Ũµ๔๒๕๘๖๔๖๗๗ţ๘๖๙๚Ũµ๚๛Ŧ´๛ťŜŨµŧŪ¶µż¿ũŶŬ·¶ź¾¶žÀūŷ·Ŭŭŷů¹Ŝລű¹ກŜກກຂຂລŲ¹ຄຆŜຄຆຆງງລ\t7ຈຊŜຉຈຉຊຊລŰຌຎŜຍຌຍຎຎຏຏລŭຐຒŜຑຐຑຒຒຓຓລŮດຖŜຕດຕຖຖທທລůຘບŜນຘນບບປປລŴຜພŜຝຜຝພພຟຟລųຠຢŜມຠມຢຢຣຣລŵຉຍຑຕນຝມລűວĵວາĸຨາ,ຩາĴ",A._serializedATNSegment7="ສຫ\t8ຫຬÁຬາÂອຮĆຮາŀ¡ຯະ`ະາSັັຨັຩັສັອັຯາųຳືūິີ»ີືŬຶຳຶິືŵຸົŴ»ູົÂ຺຺ຸູົŷຼŰຽŴ»ຼຽŹເແ\t9ແŻໂໃ\t:ໃŽໄ\t;ſǨƄƊƐƖƟƺLJǎǖǘǬǰǶǹǼȃȆȊȍȔȟȡȩȬȰȳȹɄɊɏɱɾʗʠʤʪʮʳʹ˅ˍ˓ˠ˥˵˼̵̨̙̟̥̫̱͈͔͙̀̆̽̿͋ͦͩͯ̕͟ͺͽΆΒΕΘΟΤέελξρχϋϐϓϗϙϡϩϬϱϷϽЀЄЇЋЧЪЮдзкршэѓљќѣѪѲ҃ґҔҚңҬҴҹҾӅӋӐӘӛӟӫӯӶժղպփ֍ָֽ֑֚֔֠֬׆וחלסץתׯ״؊؎ؙؓؕآتذػقًِٓ٩٫ٴٻپڅډڏڗڞڡکڴڿۇۍۙ۠ۧ۳ۻ܁܇܊ܒܛܞܧܪ݂ܳܶܿ݅݊ݐݜݣݪݭݯݻݿރމލޕޙޜޟޢަުޯ߀߅߉ߌߏߒߔߚߡߦߩ߬߰ߺ߾ࠀࠃࠇࠍࠑࠜࠦࠪ࠶ࡂࡑࡖࡣࡳࡸࢅࢊ࢘࢜࢟ࢢࢩࢯࢸࣂࣲ࣑ࣖࣘࣜࣥࣷࣻःआऊघथपमऱवऻाॅ॑ड़३ॴॹঁআখঙঞথনভহাূৈৌৗড়ৠৣ০৬ৱ৸৻ਏਝਦਭਵ਼ੀੋਖ਼੩ੰઅઈઐઔઝઠદપબવુૃ૦૮ૼଁଈଔଛତଫଵାୈଡ଼୦୨୬୴ஃஐஜதபமளஸ௱ఁఊఎఠణఫఴఽ౫౮౷౻౿ಋತಫಮಽೖೢ೮ഌഐഗജതഩലൣ൧൭൳ർංඉඑඣඪතපහිොෟ෬ชญถนปพมำใ๏๖ຉຍຑຕນຝມັຶ຺",A._serializedATN=S.join([A._serializedATNSegment0,A._serializedATNSegment1,A._serializedATNSegment2,A._serializedATNSegment3,A._serializedATNSegment4,A._serializedATNSegment5,A._serializedATNSegment6,A._serializedATNSegment7],"");class d extends u.ParserRuleContext{statements(){return this.tryGetRuleContext(0,N)}EOF(){return this.getToken(A.EOF,0)}constructor(t,e){super(t,e)}get ruleIndex(){return A.RULE_program}enterRule(t){t.enterProgram&&t.enterProgram(this)}exitRule(t){t.exitProgram&&t.exitProgram(this)}accept(t){return t.visitProgram?t.visitProgram(this):t.visitChildren(this)}}e.ProgramContext=d;class N extends u.ParserRuleContext{statementForFolding(t){return void 0===t?this.getRuleContexts(x):this.getRuleContext(t,x)}statementEnd(t){return void 0===t?this.getRuleContexts(O):this.getRuleContext(t,O)}constructor(t,e){super(t,e)}get ruleIndex(){return A.RULE_statements}enterRule(t){t.enterStatements&&t.enterStatements(this)}exitRule(t){t.exitStatements&&t.exitStatements(this)}accept(t){return t.visitStatements?t.visitStatements(this):t.visitChildren(this)}}e.StatementsContext=N;class O extends u.ParserRuleContext{SEMICOLON(){return this.getToken(A.SEMICOLON,0)}constructor(t,e){super(t,e)}get ruleIndex(){return A.RULE_statementEnd}enterRule(t){t.enterStatementEnd&&t.enterStatementEnd(this)}exitRule(t){t.exitStatementEnd&&t.exitStatementEnd(this)}accept(t){return t.visitStatementEnd?t.visitStatementEnd(this):t.visitChildren(this)}}e.StatementEndContext=O;class C extends u.ParserRuleContext{statement(){return this.getRuleContext(0,g)}EOF(){return this.getToken(A.EOF,0)}SEMICOLON(t){return void 0===t?this.getTokens(A.SEMICOLON):this.getToken(A.SEMICOLON,t)}constructor(t,e){super(t,e)}get ruleIndex(){return A.RULE_singleStatement}enterRule(t){t.enterSingleStatement&&t.enterSingleStatement(this)}exitRule(t){t.exitSingleStatement&&t.exitSingleStatement(this)}accept(t){return t.visitSingleStatement?t.visitSingleStatement(this):t.visitChildren(this)}}e.SingleStatementContext=C;class _ extends u.ParserRuleContext{namedExpression(){return this.getRuleContext(0,Pi)}EOF(){return this.getToken(A.EOF,0)}constructor(t,e){super(t,e)}get ruleIndex(){return A.RULE_singleExpression}enterRule(t){t.enterSingleExpression&&t.enterSingleExpression(this)}exitRule(t){t.exitSingleExpression&&t.exitSingleExpression(this)}accept(t){return t.visitSingleExpression?t.visitSingleExpression(this):t.visitChildren(this)}}e.SingleExpressionContext=_;class I extends u.ParserRuleContext{tableIdentifier(){return this.getRuleContext(0,xi)}EOF(){return this.getToken(A.EOF,0)}constructor(t,e){super(t,e)}get ruleIndex(){return A.RULE_singleTableIdentifier}enterRule(t){t.enterSingleTableIdentifier&&t.enterSingleTableIdentifier(this)}exitRule(t){t.exitSingleTableIdentifier&&t.exitSingleTableIdentifier(this)}accept(t){return t.visitSingleTableIdentifier?t.visitSingleTableIdentifier(this):t.visitChildren(this)}}e.SingleTableIdentifierContext=I;class L extends u.ParserRuleContext{multipartIdentifier(){return this.getRuleContext(0,fi)}EOF(){return this.getToken(A.EOF,0)}constructor(t,e){super(t,e)}get ruleIndex(){return A.RULE_singleMultipartIdentifier}enterRule(t){t.enterSingleMultipartIdentifier&&t.enterSingleMultipartIdentifier(this)}exitRule(t){t.exitSingleMultipartIdentifier&&t.exitSingleMultipartIdentifier(this)}accept(t){return t.visitSingleMultipartIdentifier?t.visitSingleMultipartIdentifier(this):t.visitChildren(this)}}e.SingleMultipartIdentifierContext=L;class f extends u.ParserRuleContext{functionIdentifier(){return this.getRuleContext(0,gi)}EOF(){return this.getToken(A.EOF,0)}constructor(t,e){super(t,e)}get ruleIndex(){return A.RULE_singleFunctionIdentifier}enterRule(t){t.enterSingleFunctionIdentifier&&t.enterSingleFunctionIdentifier(this)}exitRule(t){t.exitSingleFunctionIdentifier&&t.exitSingleFunctionIdentifier(this)}accept(t){return t.visitSingleFunctionIdentifier?t.visitSingleFunctionIdentifier(this):t.visitChildren(this)}}e.SingleFunctionIdentifierContext=f;class m extends u.ParserRuleContext{dataType(){return this.getRuleContext(0,es)}EOF(){return this.getToken(A.EOF,0)}constructor(t,e){super(t,e)}get ruleIndex(){return A.RULE_singleDataType}enterRule(t){t.enterSingleDataType&&t.enterSingleDataType(this)}exitRule(t){t.exitSingleDataType&&t.exitSingleDataType(this)}accept(t){return t.visitSingleDataType?t.visitSingleDataType(this):t.visitChildren(this)}}e.SingleDataTypeContext=m;class y extends u.ParserRuleContext{colTypeList(){return this.getRuleContext(0,ls)}EOF(){return this.getToken(A.EOF,0)}constructor(t,e){super(t,e)}get ruleIndex(){return A.RULE_singleTableSchema}enterRule(t){t.enterSingleTableSchema&&t.enterSingleTableSchema(this)}exitRule(t){t.exitSingleTableSchema&&t.exitSingleTableSchema(this)}accept(t){return t.visitSingleTableSchema?t.visitSingleTableSchema(this):t.visitChildren(this)}}e.SingleTableSchemaContext=y;class x extends u.ParserRuleContext{statement(){return this.getRuleContext(0,g)}constructor(t,e){super(t,e)}get ruleIndex(){return A.RULE_statementForFolding}enterRule(t){t.enterStatementForFolding&&t.enterStatementForFolding(this)}exitRule(t){t.exitStatementForFolding&&t.exitStatementForFolding(this)}accept(t){return t.visitStatementForFolding?t.visitStatementForFolding(this):t.visitChildren(this)}}e.StatementForFoldingContext=x;class g extends u.ParserRuleContext{constructor(t,e){super(t,e)}get ruleIndex(){return A.RULE_statement}copyFrom(t){super.copyFrom(t)}}e.StatementContext=g;class P extends g{query(){return this.getRuleContext(0,ne)}constructor(t){super(t.parent,t.invokingState),this.copyFrom(t)}enterRule(t){t.enterStatementDefault&&t.enterStatementDefault(this)}exitRule(t){t.exitStatementDefault&&t.exitStatementDefault(this)}accept(t){return t.visitStatementDefault?t.visitStatementDefault(this):t.visitChildren(this)}}e.StatementDefaultContext=P;class D extends g{dmlStatementNoWith(){return this.getRuleContext(0,be)}ctes(){return this.tryGetRuleContext(0,de)}constructor(t){super(t.parent,t.invokingState),this.copyFrom(t)}enterRule(t){t.enterDmlStatement&&t.enterDmlStatement(this)}exitRule(t){t.exitDmlStatement&&t.exitDmlStatement(this)}accept(t){return t.visitDmlStatement?t.visitDmlStatement(this):t.visitChildren(this)}}e.DmlStatementContext=D;class M extends g{USE(){return this.getToken(A.USE,0)}identifierReference(){return this.getRuleContext(0,Ve)}constructor(t){super(t.parent,t.invokingState),this.copyFrom(t)}enterRule(t){t.enterUse&&t.enterUse(this)}exitRule(t){t.exitUse&&t.exitUse(this)}accept(t){return t.visitUse?t.visitUse(this):t.visitChildren(this)}}e.UseContext=M;class v extends g{USE(){return this.getToken(A.USE,0)}namespace(){return this.getRuleContext(0,Re)}identifierReference(){return this.getRuleContext(0,Ve)}constructor(t){super(t.parent,t.invokingState),this.copyFrom(t)}enterRule(t){t.enterUseNamespace&&t.enterUseNamespace(this)}exitRule(t){t.exitUseNamespace&&t.exitUseNamespace(this)}accept(t){return t.visitUseNamespace?t.visitUseNamespace(this):t.visitChildren(this)}}e.UseNamespaceContext=v;class U extends g{SET(){return this.getToken(A.SET,0)}CATALOG(){return this.getToken(A.CATALOG,0)}identifier(){return this.tryGetRuleContext(0,vs)}stringLit(){return this.tryGetRuleContext(0,$s)}constructor(t){super(t.parent,t.invokingState),this.copyFrom(t)}enterRule(t){t.enterSetCatalog&&t.enterSetCatalog(this)}exitRule(t){t.exitSetCatalog&&t.exitSetCatalog(this)}accept(t){return t.visitSetCatalog?t.visitSetCatalog(this):t.visitChildren(this)}}e.SetCatalogContext=U;class k extends g{CREATE(){return this.getToken(A.CREATE,0)}namespace(){return this.getRuleContext(0,Re)}identifierReference(){return this.getRuleContext(0,Ve)}IF(){return this.tryGetToken(A.IF,0)}NOT(){return this.tryGetToken(A.NOT,0)}EXISTS(){return this.tryGetToken(A.EXISTS,0)}commentSpec(t){return void 0===t?this.getRuleContexts(ie):this.getRuleContext(t,ie)}locationSpec(t){return void 0===t?this.getRuleContexts(re):this.getRuleContext(t,re)}WITH(t){return void 0===t?this.getTokens(A.WITH):this.getToken(A.WITH,t)}propertyList(t){return void 0===t?this.getRuleContexts(_e):this.getRuleContext(t,_e)}DBPROPERTIES(t){return void 0===t?this.getTokens(A.DBPROPERTIES):this.getToken(A.DBPROPERTIES,t)}PROPERTIES(t){return void 0===t?this.getTokens(A.PROPERTIES):this.getToken(A.PROPERTIES,t)}constructor(t){super(t.parent,t.invokingState),this.copyFrom(t)}enterRule(t){t.enterCreateNamespace&&t.enterCreateNamespace(this)}exitRule(t){t.exitCreateNamespace&&t.exitCreateNamespace(this)}accept(t){return t.visitCreateNamespace?t.visitCreateNamespace(this):t.visitChildren(this)}}e.CreateNamespaceContext=k;class b extends g{ALTER(){return this.getToken(A.ALTER,0)}namespace(){return this.getRuleContext(0,Re)}identifierReference(){return this.getRuleContext(0,Ve)}SET(){return this.getToken(A.SET,0)}propertyList(){return this.getRuleContext(0,_e)}DBPROPERTIES(){return this.tryGetToken(A.DBPROPERTIES,0)}PROPERTIES(){return this.tryGetToken(A.PROPERTIES,0)}constructor(t){super(t.parent,t.invokingState),this.copyFrom(t)}enterRule(t){t.enterSetNamespaceProperties&&t.enterSetNamespaceProperties(this)}exitRule(t){t.exitSetNamespaceProperties&&t.exitSetNamespaceProperties(this)}accept(t){return t.visitSetNamespaceProperties?t.visitSetNamespaceProperties(this):t.visitChildren(this)}}e.SetNamespacePropertiesContext=b;class G extends g{ALTER(){return this.getToken(A.ALTER,0)}namespace(){return this.getRuleContext(0,Re)}identifierReference(){return this.getRuleContext(0,Ve)}SET(){return this.getToken(A.SET,0)}locationSpec(){return this.getRuleContext(0,re)}constructor(t){super(t.parent,t.invokingState),this.copyFrom(t)}enterRule(t){t.enterSetNamespaceLocation&&t.enterSetNamespaceLocation(this)}exitRule(t){t.exitSetNamespaceLocation&&t.exitSetNamespaceLocation(this)}accept(t){return t.visitSetNamespaceLocation?t.visitSetNamespaceLocation(this):t.visitChildren(this)}}e.SetNamespaceLocationContext=G;class F extends g{DROP(){return this.getToken(A.DROP,0)}namespace(){return this.getRuleContext(0,Re)}identifierReference(){return this.getRuleContext(0,Ve)}IF(){return this.tryGetToken(A.IF,0)}EXISTS(){return this.tryGetToken(A.EXISTS,0)}RESTRICT(){return this.tryGetToken(A.RESTRICT,0)}CASCADE(){return this.tryGetToken(A.CASCADE,0)}constructor(t){super(t.parent,t.invokingState),this.copyFrom(t)}enterRule(t){t.enterDropNamespace&&t.enterDropNamespace(this)}exitRule(t){t.exitDropNamespace&&t.exitDropNamespace(this)}accept(t){return t.visitDropNamespace?t.visitDropNamespace(this):t.visitChildren(this)}}e.DropNamespaceContext=F;class H extends g{constructor(t){super(t.parent,t.invokingState),this.copyFrom(t)}SHOW(){return this.getToken(A.SHOW,0)}namespaces(){return this.getRuleContext(0,pe)}multipartIdentifier(){return this.tryGetRuleContext(0,fi)}FROM(){return this.tryGetToken(A.FROM,0)}IN(){return this.tryGetToken(A.IN,0)}stringLit(){return this.tryGetRuleContext(0,$s)}LIKE(){return this.tryGetToken(A.LIKE,0)}enterRule(t){t.enterShowNamespaces&&t.enterShowNamespaces(this)}exitRule(t){t.exitShowNamespaces&&t.exitShowNamespaces(this)}accept(t){return t.visitShowNamespaces?t.visitShowNamespaces(this):t.visitChildren(this)}}e.ShowNamespacesContext=H;class w extends g{createTableHeader(){return this.getRuleContext(0,Jt)}createTableClauses(){return this.getRuleContext(0,Ce)}LEFT_PAREN(){return this.tryGetToken(A.LEFT_PAREN,0)}createOrReplaceTableColTypeList(){return this.tryGetRuleContext(0,cs)}RIGHT_PAREN(){return this.tryGetToken(A.RIGHT_PAREN,0)}tableProvider(){return this.tryGetRuleContext(0,Oe)}query(){return this.tryGetRuleContext(0,ne)}AS(){return this.tryGetToken(A.AS,0)}constructor(t){super(t.parent,t.invokingState),this.copyFrom(t)}enterRule(t){t.enterCreateTable&&t.enterCreateTable(this)}exitRule(t){t.exitCreateTable&&t.exitCreateTable(this)}accept(t){return t.visitCreateTable?t.visitCreateTable(this):t.visitChildren(this)}}e.CreateTableContext=w;class B extends g{constructor(t){super(t.parent,t.invokingState),this.copyFrom(t)}CREATE(){return this.getToken(A.CREATE,0)}TABLE(){return this.getToken(A.TABLE,0)}LIKE(){return this.getToken(A.LIKE,0)}tableIdentifier(t){return void 0===t?this.getRuleContexts(xi):this.getRuleContext(t,xi)}IF(){return this.tryGetToken(A.IF,0)}NOT(){return this.tryGetToken(A.NOT,0)}EXISTS(){return this.tryGetToken(A.EXISTS,0)}tableProvider(t){return void 0===t?this.getRuleContexts(Oe):this.getRuleContext(t,Oe)}rowFormat(t){return void 0===t?this.getRuleContexts(Ci):this.getRuleContext(t,Ci)}createFileFormat(t){return void 0===t?this.getRuleContexts(Pe):this.getRuleContext(t,Pe)}locationSpec(t){return void 0===t?this.getRuleContexts(re):this.getRuleContext(t,re)}TBLPROPERTIES(t){return void 0===t?this.getTokens(A.TBLPROPERTIES):this.getToken(A.TBLPROPERTIES,t)}propertyList(t){return void 0===t?this.getRuleContexts(_e):this.getRuleContext(t,_e)}enterRule(t){t.enterCreateTableLike&&t.enterCreateTableLike(this)}exitRule(t){t.exitCreateTableLike&&t.exitCreateTableLike(this)}accept(t){return t.visitCreateTableLike?t.visitCreateTableLike(this):t.visitChildren(this)}}e.CreateTableLikeContext=B;class V extends g{replaceTableHeader(){return this.getRuleContext(0,Zt)}createTableClauses(){return this.getRuleContext(0,Ce)}LEFT_PAREN(){return this.tryGetToken(A.LEFT_PAREN,0)}createOrReplaceTableColTypeList(){return this.tryGetRuleContext(0,cs)}RIGHT_PAREN(){return this.tryGetToken(A.RIGHT_PAREN,0)}tableProvider(){return this.tryGetRuleContext(0,Oe)}query(){return this.tryGetRuleContext(0,ne)}AS(){return this.tryGetToken(A.AS,0)}constructor(t){super(t.parent,t.invokingState),this.copyFrom(t)}enterRule(t){t.enterReplaceTable&&t.enterReplaceTable(this)}exitRule(t){t.exitReplaceTable&&t.exitReplaceTable(this)}accept(t){return t.visitReplaceTable?t.visitReplaceTable(this):t.visitChildren(this)}}e.ReplaceTableContext=V;class Y extends g{ANALYZE(){return this.getToken(A.ANALYZE,0)}TABLE(){return this.getToken(A.TABLE,0)}identifierReference(){return this.getRuleContext(0,Ve)}COMPUTE(){return this.getToken(A.COMPUTE,0)}STATISTICS(){return this.getToken(A.STATISTICS,0)}partitionSpec(){return this.tryGetRuleContext(0,ce)}identifier(){return this.tryGetRuleContext(0,vs)}FOR(){return this.tryGetToken(A.FOR,0)}COLUMNS(){return this.tryGetToken(A.COLUMNS,0)}identifierSeq(){return this.tryGetRuleContext(0,ri)}ALL(){return this.tryGetToken(A.ALL,0)}constructor(t){super(t.parent,t.invokingState),this.copyFrom(t)}enterRule(t){t.enterAnalyze&&t.enterAnalyze(this)}exitRule(t){t.exitAnalyze&&t.exitAnalyze(this)}accept(t){return t.visitAnalyze?t.visitAnalyze(this):t.visitChildren(this)}}e.AnalyzeContext=Y;class W extends g{ANALYZE(){return this.getToken(A.ANALYZE,0)}TABLES(){return this.getToken(A.TABLES,0)}COMPUTE(){return this.getToken(A.COMPUTE,0)}STATISTICS(){return this.getToken(A.STATISTICS,0)}identifierReference(){return this.tryGetRuleContext(0,Ve)}identifier(){return this.tryGetRuleContext(0,vs)}FROM(){return this.tryGetToken(A.FROM,0)}IN(){return this.tryGetToken(A.IN,0)}constructor(t){super(t.parent,t.invokingState),this.copyFrom(t)}enterRule(t){t.enterAnalyzeTables&&t.enterAnalyzeTables(this)}exitRule(t){t.exitAnalyzeTables&&t.exitAnalyzeTables(this)}accept(t){return t.visitAnalyzeTables?t.visitAnalyzeTables(this):t.visitChildren(this)}}e.AnalyzeTablesContext=W;class K extends g{constructor(t){super(t.parent,t.invokingState),this.copyFrom(t)}ALTER(){return this.getToken(A.ALTER,0)}TABLE(){return this.getToken(A.TABLE,0)}identifierReference(){return this.getRuleContext(0,Ve)}ADD(){return this.getToken(A.ADD,0)}COLUMN(){return this.tryGetToken(A.COLUMN,0)}COLUMNS(){return this.tryGetToken(A.COLUMNS,0)}qualifiedColTypeWithPositionList(){return this.getRuleContext(0,os)}LEFT_PAREN(){return this.tryGetToken(A.LEFT_PAREN,0)}RIGHT_PAREN(){return this.tryGetToken(A.RIGHT_PAREN,0)}enterRule(t){t.enterAddTableColumns&&t.enterAddTableColumns(this)}exitRule(t){t.exitAddTableColumns&&t.exitAddTableColumns(this)}accept(t){return t.visitAddTableColumns?t.visitAddTableColumns(this):t.visitChildren(this)}}e.AddTableColumnsContext=K;class X extends g{constructor(t){super(t.parent,t.invokingState),this.copyFrom(t)}ALTER(){return this.getToken(A.ALTER,0)}TABLE(){return this.getToken(A.TABLE,0)}RENAME(){return this.getToken(A.RENAME,0)}COLUMN(){return this.getToken(A.COLUMN,0)}TO(){return this.getToken(A.TO,0)}identifierReference(){return this.getRuleContext(0,Ve)}multipartIdentifier(){return this.getRuleContext(0,fi)}errorCapturingIdentifier(){return this.getRuleContext(0,gs)}enterRule(t){t.enterRenameTableColumn&&t.enterRenameTableColumn(this)}exitRule(t){t.exitRenameTableColumn&&t.exitRenameTableColumn(this)}accept(t){return t.visitRenameTableColumn?t.visitRenameTableColumn(this):t.visitChildren(this)}}e.RenameTableColumnContext=X;class q extends g{constructor(t){super(t.parent,t.invokingState),this.copyFrom(t)}ALTER(){return this.getToken(A.ALTER,0)}TABLE(){return this.getToken(A.TABLE,0)}identifierReference(){return this.getRuleContext(0,Ve)}DROP(){return this.getToken(A.DROP,0)}LEFT_PAREN(){return this.tryGetToken(A.LEFT_PAREN,0)}RIGHT_PAREN(){return this.tryGetToken(A.RIGHT_PAREN,0)}COLUMN(){return this.tryGetToken(A.COLUMN,0)}COLUMNS(){return this.tryGetToken(A.COLUMNS,0)}multipartIdentifierList(){return this.getRuleContext(0,Li)}IF(){return this.tryGetToken(A.IF,0)}EXISTS(){return this.tryGetToken(A.EXISTS,0)}enterRule(t){t.enterDropTableColumns&&t.enterDropTableColumns(this)}exitRule(t){t.exitDropTableColumns&&t.exitDropTableColumns(this)}accept(t){return t.visitDropTableColumns?t.visitDropTableColumns(this):t.visitChildren(this)}}e.DropTableColumnsContext=q;class j extends g{constructor(t){super(t.parent,t.invokingState),this.copyFrom(t)}ALTER(){return this.getToken(A.ALTER,0)}RENAME(){return this.getToken(A.RENAME,0)}TO(){return this.getToken(A.TO,0)}TABLE(){return this.tryGetToken(A.TABLE,0)}VIEW(){return this.tryGetToken(A.VIEW,0)}identifierReference(){return this.getRuleContext(0,Ve)}multipartIdentifier(){return this.getRuleContext(0,fi)}enterRule(t){t.enterRenameTable&&t.enterRenameTable(this)}exitRule(t){t.exitRenameTable&&t.exitRenameTable(this)}accept(t){return t.visitRenameTable?t.visitRenameTable(this):t.visitChildren(this)}}e.RenameTableContext=j;class Q extends g{ALTER(){return this.getToken(A.ALTER,0)}identifierReference(){return this.getRuleContext(0,Ve)}SET(){return this.getToken(A.SET,0)}TBLPROPERTIES(){return this.getToken(A.TBLPROPERTIES,0)}propertyList(){return this.getRuleContext(0,_e)}TABLE(){return this.tryGetToken(A.TABLE,0)}VIEW(){return this.tryGetToken(A.VIEW,0)}constructor(t){super(t.parent,t.invokingState),this.copyFrom(t)}enterRule(t){t.enterSetTableProperties&&t.enterSetTableProperties(this)}exitRule(t){t.exitSetTableProperties&&t.exitSetTableProperties(this)}accept(t){return t.visitSetTableProperties?t.visitSetTableProperties(this):t.visitChildren(this)}}e.SetTablePropertiesContext=Q;class z extends g{ALTER(){return this.getToken(A.ALTER,0)}identifierReference(){return this.getRuleContext(0,Ve)}UNSET(){return this.getToken(A.UNSET,0)}TBLPROPERTIES(){return this.getToken(A.TBLPROPERTIES,0)}propertyList(){return this.getRuleContext(0,_e)}TABLE(){return this.tryGetToken(A.TABLE,0)}VIEW(){return this.tryGetToken(A.VIEW,0)}IF(){return this.tryGetToken(A.IF,0)}EXISTS(){return this.tryGetToken(A.EXISTS,0)}constructor(t){super(t.parent,t.invokingState),this.copyFrom(t)}enterRule(t){t.enterUnsetTableProperties&&t.enterUnsetTableProperties(this)}exitRule(t){t.exitUnsetTableProperties&&t.exitUnsetTableProperties(this)}accept(t){return t.visitUnsetTableProperties?t.visitUnsetTableProperties(this):t.visitChildren(this)}}e.UnsetTablePropertiesContext=z;class $ extends g{constructor(t){super(t.parent,t.invokingState),this.copyFrom(t)}ALTER(t){return void 0===t?this.getTokens(A.ALTER):this.getToken(A.ALTER,t)}TABLE(){return this.getToken(A.TABLE,0)}identifierReference(){return this.getRuleContext(0,Ve)}CHANGE(){return this.tryGetToken(A.CHANGE,0)}multipartIdentifier(){return this.getRuleContext(0,fi)}COLUMN(){return this.tryGetToken(A.COLUMN,0)}alterColumnAction(){return this.tryGetRuleContext(0,zs)}enterRule(t){t.enterAlterTableAlterColumn&&t.enterAlterTableAlterColumn(this)}exitRule(t){t.exitAlterTableAlterColumn&&t.exitAlterTableAlterColumn(this)}accept(t){return t.visitAlterTableAlterColumn?t.visitAlterTableAlterColumn(this):t.visitChildren(this)}}e.AlterTableAlterColumnContext=$;class J extends g{constructor(t){super(t.parent,t.invokingState),this.copyFrom(t)}ALTER(){return this.getToken(A.ALTER,0)}TABLE(){return this.getToken(A.TABLE,0)}CHANGE(){return this.getToken(A.CHANGE,0)}colType(){return this.getRuleContext(0,us)}identifierReference(){return this.getRuleContext(0,Ve)}multipartIdentifier(){return this.getRuleContext(0,fi)}partitionSpec(){return this.tryGetRuleContext(0,ce)}COLUMN(){return this.tryGetToken(A.COLUMN,0)}colPosition(){return this.tryGetRuleContext(0,Zn)}enterRule(t){t.enterHiveChangeColumn&&t.enterHiveChangeColumn(this)}exitRule(t){t.exitHiveChangeColumn&&t.exitHiveChangeColumn(this)}accept(t){return t.visitHiveChangeColumn?t.visitHiveChangeColumn(this):t.visitChildren(this)}}e.HiveChangeColumnContext=J;class Z extends g{constructor(t){super(t.parent,t.invokingState),this.copyFrom(t)}ALTER(){return this.getToken(A.ALTER,0)}TABLE(){return this.getToken(A.TABLE,0)}REPLACE(){return this.getToken(A.REPLACE,0)}COLUMNS(){return this.getToken(A.COLUMNS,0)}LEFT_PAREN(){return this.getToken(A.LEFT_PAREN,0)}RIGHT_PAREN(){return this.getToken(A.RIGHT_PAREN,0)}identifierReference(){return this.getRuleContext(0,Ve)}qualifiedColTypeWithPositionList(){return this.getRuleContext(0,os)}partitionSpec(){return this.tryGetRuleContext(0,ce)}enterRule(t){t.enterHiveReplaceColumns&&t.enterHiveReplaceColumns(this)}exitRule(t){t.exitHiveReplaceColumns&&t.exitHiveReplaceColumns(this)}accept(t){return t.visitHiveReplaceColumns?t.visitHiveReplaceColumns(this):t.visitChildren(this)}}e.HiveReplaceColumnsContext=Z;class tt extends g{ALTER(){return this.getToken(A.ALTER,0)}TABLE(){return this.getToken(A.TABLE,0)}identifierReference(){return this.getRuleContext(0,Ve)}SET(){return this.getToken(A.SET,0)}SERDE(){return this.tryGetToken(A.SERDE,0)}stringLit(){return this.tryGetRuleContext(0,$s)}partitionSpec(){return this.tryGetRuleContext(0,ce)}WITH(){return this.tryGetToken(A.WITH,0)}SERDEPROPERTIES(){return this.tryGetToken(A.SERDEPROPERTIES,0)}propertyList(){return this.tryGetRuleContext(0,_e)}constructor(t){super(t.parent,t.invokingState),this.copyFrom(t)}enterRule(t){t.enterSetTableSerDe&&t.enterSetTableSerDe(this)}exitRule(t){t.exitSetTableSerDe&&t.exitSetTableSerDe(this)}accept(t){return t.visitSetTableSerDe?t.visitSetTableSerDe(this):t.visitChildren(this)}}e.SetTableSerDeContext=tt;class et extends g{ALTER(){return this.getToken(A.ALTER,0)}identifierReference(){return this.getRuleContext(0,Ve)}ADD(){return this.getToken(A.ADD,0)}TABLE(){return this.tryGetToken(A.TABLE,0)}VIEW(){return this.tryGetToken(A.VIEW,0)}IF(){return this.tryGetToken(A.IF,0)}NOT(){return this.tryGetToken(A.NOT,0)}EXISTS(){return this.tryGetToken(A.EXISTS,0)}partitionSpecLocation(t){return void 0===t?this.getRuleContexts(ue):this.getRuleContext(t,ue)}constructor(t){super(t.parent,t.invokingState),this.copyFrom(t)}enterRule(t){t.enterAddTablePartition&&t.enterAddTablePartition(this)}exitRule(t){t.exitAddTablePartition&&t.exitAddTablePartition(this)}accept(t){return t.visitAddTablePartition?t.visitAddTablePartition(this):t.visitChildren(this)}}e.AddTablePartitionContext=et;class rt extends g{constructor(t){super(t.parent,t.invokingState),this.copyFrom(t)}ALTER(){return this.getToken(A.ALTER,0)}TABLE(){return this.getToken(A.TABLE,0)}identifierReference(){return this.getRuleContext(0,Ve)}RENAME(){return this.getToken(A.RENAME,0)}TO(){return this.getToken(A.TO,0)}partitionSpec(t){return void 0===t?this.getRuleContexts(ce):this.getRuleContext(t,ce)}enterRule(t){t.enterRenameTablePartition&&t.enterRenameTablePartition(this)}exitRule(t){t.exitRenameTablePartition&&t.exitRenameTablePartition(this)}accept(t){return t.visitRenameTablePartition?t.visitRenameTablePartition(this):t.visitChildren(this)}}e.RenameTablePartitionContext=rt;class it extends g{ALTER(){return this.getToken(A.ALTER,0)}identifierReference(){return this.getRuleContext(0,Ve)}DROP(){return this.getToken(A.DROP,0)}partitionSpec(t){return void 0===t?this.getRuleContexts(ce):this.getRuleContext(t,ce)}TABLE(){return this.tryGetToken(A.TABLE,0)}VIEW(){return this.tryGetToken(A.VIEW,0)}IF(){return this.tryGetToken(A.IF,0)}EXISTS(){return this.tryGetToken(A.EXISTS,0)}COMMA(t){return void 0===t?this.getTokens(A.COMMA):this.getToken(A.COMMA,t)}PURGE(){return this.tryGetToken(A.PURGE,0)}constructor(t){super(t.parent,t.invokingState),this.copyFrom(t)}enterRule(t){t.enterDropTablePartitions&&t.enterDropTablePartitions(this)}exitRule(t){t.exitDropTablePartitions&&t.exitDropTablePartitions(this)}accept(t){return t.visitDropTablePartitions?t.visitDropTablePartitions(this):t.visitChildren(this)}}e.DropTablePartitionsContext=it;class nt extends g{ALTER(){return this.getToken(A.ALTER,0)}TABLE(){return this.getToken(A.TABLE,0)}identifierReference(){return this.getRuleContext(0,Ve)}SET(){return this.getToken(A.SET,0)}locationSpec(){return this.getRuleContext(0,re)}partitionSpec(){return this.tryGetRuleContext(0,ce)}constructor(t){super(t.parent,t.invokingState),this.copyFrom(t)}enterRule(t){t.enterSetTableLocation&&t.enterSetTableLocation(this)}exitRule(t){t.exitSetTableLocation&&t.exitSetTableLocation(this)}accept(t){return t.visitSetTableLocation?t.visitSetTableLocation(this):t.visitChildren(this)}}e.SetTableLocationContext=nt;class st extends g{ALTER(){return this.getToken(A.ALTER,0)}TABLE(){return this.getToken(A.TABLE,0)}identifierReference(){return this.getRuleContext(0,Ve)}RECOVER(){return this.getToken(A.RECOVER,0)}PARTITIONS(){return this.getToken(A.PARTITIONS,0)}constructor(t){super(t.parent,t.invokingState),this.copyFrom(t)}enterRule(t){t.enterRecoverPartitions&&t.enterRecoverPartitions(this)}exitRule(t){t.exitRecoverPartitions&&t.exitRecoverPartitions(this)}accept(t){return t.visitRecoverPartitions?t.visitRecoverPartitions(this):t.visitChildren(this)}}e.RecoverPartitionsContext=st;class ot extends g{DROP(){return this.getToken(A.DROP,0)}TABLE(){return this.getToken(A.TABLE,0)}identifierReference(){return this.getRuleContext(0,Ve)}IF(){return this.tryGetToken(A.IF,0)}EXISTS(){return this.tryGetToken(A.EXISTS,0)}PURGE(){return this.tryGetToken(A.PURGE,0)}constructor(t){super(t.parent,t.invokingState),this.copyFrom(t)}enterRule(t){t.enterDropTable&&t.enterDropTable(this)}exitRule(t){t.exitDropTable&&t.exitDropTable(this)}accept(t){return t.visitDropTable?t.visitDropTable(this):t.visitChildren(this)}}e.DropTableContext=ot;class at extends g{DROP(){return this.getToken(A.DROP,0)}VIEW(){return this.getToken(A.VIEW,0)}identifierReference(){return this.getRuleContext(0,Ve)}IF(){return this.tryGetToken(A.IF,0)}EXISTS(){return this.tryGetToken(A.EXISTS,0)}constructor(t){super(t.parent,t.invokingState),this.copyFrom(t)}enterRule(t){t.enterDropView&&t.enterDropView(this)}exitRule(t){t.exitDropView&&t.exitDropView(this)}accept(t){return t.visitDropView?t.visitDropView(this):t.visitChildren(this)}}e.DropViewContext=at;class Et extends g{CREATE(){return this.getToken(A.CREATE,0)}VIEW(){return this.getToken(A.VIEW,0)}identifierReference(){return this.getRuleContext(0,Ve)}AS(){return this.getToken(A.AS,0)}query(){return this.getRuleContext(0,ne)}OR(){return this.tryGetToken(A.OR,0)}REPLACE(){return this.tryGetToken(A.REPLACE,0)}TEMPORARY(){return this.tryGetToken(A.TEMPORARY,0)}IF(){return this.tryGetToken(A.IF,0)}NOT(){return this.tryGetToken(A.NOT,0)}EXISTS(){return this.tryGetToken(A.EXISTS,0)}identifierCommentList(){return this.tryGetRuleContext(0,si)}commentSpec(t){return void 0===t?this.getRuleContexts(ie):this.getRuleContext(t,ie)}PARTITIONED(t){return void 0===t?this.getTokens(A.PARTITIONED):this.getToken(A.PARTITIONED,t)}ON(t){return void 0===t?this.getTokens(A.ON):this.getToken(A.ON,t)}identifierList(t){return void 0===t?this.getRuleContexts(ei):this.getRuleContext(t,ei)}TBLPROPERTIES(t){return void 0===t?this.getTokens(A.TBLPROPERTIES):this.getToken(A.TBLPROPERTIES,t)}propertyList(t){return void 0===t?this.getRuleContexts(_e):this.getRuleContext(t,_e)}GLOBAL(){return this.tryGetToken(A.GLOBAL,0)}constructor(t){super(t.parent,t.invokingState),this.copyFrom(t)}enterRule(t){t.enterCreateView&&t.enterCreateView(this)}exitRule(t){t.exitCreateView&&t.exitCreateView(this)}accept(t){return t.visitCreateView?t.visitCreateView(this):t.visitChildren(this)}}e.CreateViewContext=Et;class ht extends g{CREATE(){return this.getToken(A.CREATE,0)}TEMPORARY(){return this.getToken(A.TEMPORARY,0)}VIEW(){return this.getToken(A.VIEW,0)}tableIdentifier(){return this.getRuleContext(0,xi)}tableProvider(){return this.getRuleContext(0,Oe)}OR(){return this.tryGetToken(A.OR,0)}REPLACE(){return this.tryGetToken(A.REPLACE,0)}GLOBAL(){return this.tryGetToken(A.GLOBAL,0)}LEFT_PAREN(){return this.tryGetToken(A.LEFT_PAREN,0)}colTypeList(){return this.tryGetRuleContext(0,ls)}RIGHT_PAREN(){return this.tryGetToken(A.RIGHT_PAREN,0)}OPTIONS(){return this.tryGetToken(A.OPTIONS,0)}propertyList(){return this.tryGetRuleContext(0,_e)}constructor(t){super(t.parent,t.invokingState),this.copyFrom(t)}enterRule(t){t.enterCreateTempViewUsing&&t.enterCreateTempViewUsing(this)}exitRule(t){t.exitCreateTempViewUsing&&t.exitCreateTempViewUsing(this)}accept(t){return t.visitCreateTempViewUsing?t.visitCreateTempViewUsing(this):t.visitChildren(this)}}e.CreateTempViewUsingContext=ht;class lt extends g{ALTER(){return this.getToken(A.ALTER,0)}VIEW(){return this.getToken(A.VIEW,0)}identifierReference(){return this.getRuleContext(0,Ve)}query(){return this.getRuleContext(0,ne)}AS(){return this.tryGetToken(A.AS,0)}constructor(t){super(t.parent,t.invokingState),this.copyFrom(t)}enterRule(t){t.enterAlterViewQuery&&t.enterAlterViewQuery(this)}exitRule(t){t.exitAlterViewQuery&&t.exitAlterViewQuery(this)}accept(t){return t.visitAlterViewQuery?t.visitAlterViewQuery(this):t.visitChildren(this)}}e.AlterViewQueryContext=lt;class ut extends g{constructor(t){super(t.parent,t.invokingState),this.copyFrom(t)}CREATE(){return this.getToken(A.CREATE,0)}FUNCTION(){return this.getToken(A.FUNCTION,0)}identifierReference(){return this.getRuleContext(0,Ve)}AS(){return this.getToken(A.AS,0)}stringLit(){return this.getRuleContext(0,$s)}OR(){return this.tryGetToken(A.OR,0)}REPLACE(){return this.tryGetToken(A.REPLACE,0)}TEMPORARY(){return this.tryGetToken(A.TEMPORARY,0)}IF(){return this.tryGetToken(A.IF,0)}NOT(){return this.tryGetToken(A.NOT,0)}EXISTS(){return this.tryGetToken(A.EXISTS,0)}USING(){return this.tryGetToken(A.USING,0)}resource(t){return void 0===t?this.getRuleContexts(ke):this.getRuleContext(t,ke)}COMMA(t){return void 0===t?this.getTokens(A.COMMA):this.getToken(A.COMMA,t)}enterRule(t){t.enterCreateFunction&&t.enterCreateFunction(this)}exitRule(t){t.exitCreateFunction&&t.exitCreateFunction(this)}accept(t){return t.visitCreateFunction?t.visitCreateFunction(this):t.visitChildren(this)}}e.CreateFunctionContext=ut;class ct extends g{DROP(){return this.getToken(A.DROP,0)}FUNCTION(){return this.getToken(A.FUNCTION,0)}identifierReference(){return this.getRuleContext(0,Ve)}TEMPORARY(){return this.tryGetToken(A.TEMPORARY,0)}IF(){return this.tryGetToken(A.IF,0)}EXISTS(){return this.tryGetToken(A.EXISTS,0)}constructor(t){super(t.parent,t.invokingState),this.copyFrom(t)}enterRule(t){t.enterDropFunction&&t.enterDropFunction(this)}exitRule(t){t.exitDropFunction&&t.exitDropFunction(this)}accept(t){return t.visitDropFunction?t.visitDropFunction(this):t.visitChildren(this)}}e.DropFunctionContext=ct;class Tt extends g{EXPLAIN(){return this.getToken(A.EXPLAIN,0)}statement(){return this.getRuleContext(0,g)}LOGICAL(){return this.tryGetToken(A.LOGICAL,0)}FORMATTED(){return this.tryGetToken(A.FORMATTED,0)}EXTENDED(){return this.tryGetToken(A.EXTENDED,0)}CODEGEN(){return this.tryGetToken(A.CODEGEN,0)}COST(){return this.tryGetToken(A.COST,0)}constructor(t){super(t.parent,t.invokingState),this.copyFrom(t)}enterRule(t){t.enterExplain&&t.enterExplain(this)}exitRule(t){t.exitExplain&&t.exitExplain(this)}accept(t){return t.visitExplain?t.visitExplain(this):t.visitChildren(this)}}e.ExplainContext=Tt;class Rt extends g{constructor(t){super(t.parent,t.invokingState),this.copyFrom(t)}SHOW(){return this.getToken(A.SHOW,0)}TABLES(){return this.getToken(A.TABLES,0)}identifierReference(){return this.tryGetRuleContext(0,Ve)}FROM(){return this.tryGetToken(A.FROM,0)}IN(){return this.tryGetToken(A.IN,0)}stringLit(){return this.tryGetRuleContext(0,$s)}LIKE(){return this.tryGetToken(A.LIKE,0)}enterRule(t){t.enterShowTables&&t.enterShowTables(this)}exitRule(t){t.exitShowTables&&t.exitShowTables(this)}accept(t){return t.visitShowTables?t.visitShowTables(this):t.visitChildren(this)}}e.ShowTablesContext=Rt;class pt extends g{constructor(t){super(t.parent,t.invokingState),this.copyFrom(t)}SHOW(){return this.getToken(A.SHOW,0)}TABLE(){return this.getToken(A.TABLE,0)}EXTENDED(){return this.getToken(A.EXTENDED,0)}LIKE(){return this.getToken(A.LIKE,0)}stringLit(){return this.getRuleContext(0,$s)}partitionSpec(){return this.tryGetRuleContext(0,ce)}FROM(){return this.tryGetToken(A.FROM,0)}IN(){return this.tryGetToken(A.IN,0)}identifierReference(){return this.tryGetRuleContext(0,Ve)}enterRule(t){t.enterShowTableExtended&&t.enterShowTableExtended(this)}exitRule(t){t.exitShowTableExtended&&t.exitShowTableExtended(this)}accept(t){return t.visitShowTableExtended?t.visitShowTableExtended(this):t.visitChildren(this)}}e.ShowTableExtendedContext=pt;class St extends g{constructor(t){super(t.parent,t.invokingState),this.copyFrom(t)}SHOW(){return this.getToken(A.SHOW,0)}TBLPROPERTIES(){return this.getToken(A.TBLPROPERTIES,0)}identifierReference(){return this.getRuleContext(0,Ve)}LEFT_PAREN(){return this.tryGetToken(A.LEFT_PAREN,0)}RIGHT_PAREN(){return this.tryGetToken(A.RIGHT_PAREN,0)}propertyKey(){return this.tryGetRuleContext(0,Le)}enterRule(t){t.enterShowTblProperties&&t.enterShowTblProperties(this)}exitRule(t){t.exitShowTblProperties&&t.exitShowTblProperties(this)}accept(t){return t.visitShowTblProperties?t.visitShowTblProperties(this):t.visitChildren(this)}}e.ShowTblPropertiesContext=St;class At extends g{constructor(t){super(t.parent,t.invokingState),this.copyFrom(t)}SHOW(){return this.getToken(A.SHOW,0)}COLUMNS(){return this.getToken(A.COLUMNS,0)}FROM(t){return void 0===t?this.getTokens(A.FROM):this.getToken(A.FROM,t)}IN(t){return void 0===t?this.getTokens(A.IN):this.getToken(A.IN,t)}identifierReference(){return this.getRuleContext(0,Ve)}multipartIdentifier(){return this.tryGetRuleContext(0,fi)}enterRule(t){t.enterShowColumns&&t.enterShowColumns(this)}exitRule(t){t.exitShowColumns&&t.exitShowColumns(this)}accept(t){return t.visitShowColumns?t.visitShowColumns(this):t.visitChildren(this)}}e.ShowColumnsContext=At;class dt extends g{constructor(t){super(t.parent,t.invokingState),this.copyFrom(t)}SHOW(){return this.getToken(A.SHOW,0)}VIEWS(){return this.getToken(A.VIEWS,0)}identifierReference(){return this.tryGetRuleContext(0,Ve)}FROM(){return this.tryGetToken(A.FROM,0)}IN(){return this.tryGetToken(A.IN,0)}stringLit(){return this.tryGetRuleContext(0,$s)}LIKE(){return this.tryGetToken(A.LIKE,0)}enterRule(t){t.enterShowViews&&t.enterShowViews(this)}exitRule(t){t.exitShowViews&&t.exitShowViews(this)}accept(t){return t.visitShowViews?t.visitShowViews(this):t.visitChildren(this)}}e.ShowViewsContext=dt;class Nt extends g{SHOW(){return this.getToken(A.SHOW,0)}PARTITIONS(){return this.getToken(A.PARTITIONS,0)}identifierReference(){return this.getRuleContext(0,Ve)}partitionSpec(){return this.tryGetRuleContext(0,ce)}constructor(t){super(t.parent,t.invokingState),this.copyFrom(t)}enterRule(t){t.enterShowPartitions&&t.enterShowPartitions(this)}exitRule(t){t.exitShowPartitions&&t.exitShowPartitions(this)}accept(t){return t.visitShowPartitions?t.visitShowPartitions(this):t.visitChildren(this)}}e.ShowPartitionsContext=Nt;class Ot extends g{constructor(t){super(t.parent,t.invokingState),this.copyFrom(t)}SHOW(){return this.getToken(A.SHOW,0)}FUNCTIONS(){return this.getToken(A.FUNCTIONS,0)}identifier(){return this.tryGetRuleContext(0,vs)}FROM(){return this.tryGetToken(A.FROM,0)}IN(){return this.tryGetToken(A.IN,0)}identifierReference(){return this.tryGetRuleContext(0,Ve)}LIKE(){return this.tryGetToken(A.LIKE,0)}multipartIdentifier(){return this.tryGetRuleContext(0,fi)}stringLit(){return this.tryGetRuleContext(0,$s)}enterRule(t){t.enterShowFunctions&&t.enterShowFunctions(this)}exitRule(t){t.exitShowFunctions&&t.exitShowFunctions(this)}accept(t){return t.visitShowFunctions?t.visitShowFunctions(this):t.visitChildren(this)}}e.ShowFunctionsContext=Ot;class Ct extends g{SHOW(){return this.getToken(A.SHOW,0)}CREATE(){return this.getToken(A.CREATE,0)}TABLE(){return this.getToken(A.TABLE,0)}identifierReference(){return this.getRuleContext(0,Ve)}AS(){return this.tryGetToken(A.AS,0)}SERDE(){return this.tryGetToken(A.SERDE,0)}constructor(t){super(t.parent,t.invokingState),this.copyFrom(t)}enterRule(t){t.enterShowCreateTable&&t.enterShowCreateTable(this)}exitRule(t){t.exitShowCreateTable&&t.exitShowCreateTable(this)}accept(t){return t.visitShowCreateTable?t.visitShowCreateTable(this):t.visitChildren(this)}}e.ShowCreateTableContext=Ct;class _t extends g{SHOW(){return this.getToken(A.SHOW,0)}CURRENT(){return this.getToken(A.CURRENT,0)}namespace(){return this.getRuleContext(0,Re)}constructor(t){super(t.parent,t.invokingState),this.copyFrom(t)}enterRule(t){t.enterShowCurrentNamespace&&t.enterShowCurrentNamespace(this)}exitRule(t){t.exitShowCurrentNamespace&&t.exitShowCurrentNamespace(this)}accept(t){return t.visitShowCurrentNamespace?t.visitShowCurrentNamespace(this):t.visitChildren(this)}}e.ShowCurrentNamespaceContext=_t;class It extends g{constructor(t){super(t.parent,t.invokingState),this.copyFrom(t)}SHOW(){return this.getToken(A.SHOW,0)}CATALOGS(){return this.getToken(A.CATALOGS,0)}stringLit(){return this.tryGetRuleContext(0,$s)}LIKE(){return this.tryGetToken(A.LIKE,0)}enterRule(t){t.enterShowCatalogs&&t.enterShowCatalogs(this)}exitRule(t){t.exitShowCatalogs&&t.exitShowCatalogs(this)}accept(t){return t.visitShowCatalogs?t.visitShowCatalogs(this):t.visitChildren(this)}}e.ShowCatalogsContext=It;class Lt extends g{FUNCTION(){return this.getToken(A.FUNCTION,0)}describeFuncName(){return this.getRuleContext(0,Se)}DESC(){return this.tryGetToken(A.DESC,0)}DESCRIBE(){return this.tryGetToken(A.DESCRIBE,0)}EXTENDED(){return this.tryGetToken(A.EXTENDED,0)}constructor(t){super(t.parent,t.invokingState),this.copyFrom(t)}enterRule(t){t.enterDescribeFunction&&t.enterDescribeFunction(this)}exitRule(t){t.exitDescribeFunction&&t.exitDescribeFunction(this)}accept(t){return t.visitDescribeFunction?t.visitDescribeFunction(this):t.visitChildren(this)}}e.DescribeFunctionContext=Lt;class ft extends g{namespace(){return this.getRuleContext(0,Re)}identifierReference(){return this.getRuleContext(0,Ve)}DESC(){return this.tryGetToken(A.DESC,0)}DESCRIBE(){return this.tryGetToken(A.DESCRIBE,0)}EXTENDED(){return this.tryGetToken(A.EXTENDED,0)}constructor(t){super(t.parent,t.invokingState),this.copyFrom(t)}enterRule(t){t.enterDescribeNamespace&&t.enterDescribeNamespace(this)}exitRule(t){t.exitDescribeNamespace&&t.exitDescribeNamespace(this)}accept(t){return t.visitDescribeNamespace?t.visitDescribeNamespace(this):t.visitChildren(this)}}e.DescribeNamespaceContext=ft;class mt extends g{constructor(t){super(t.parent,t.invokingState),this.copyFrom(t)}identifierReference(){return this.getRuleContext(0,Ve)}DESC(){return this.tryGetToken(A.DESC,0)}DESCRIBE(){return this.tryGetToken(A.DESCRIBE,0)}TABLE(){return this.tryGetToken(A.TABLE,0)}partitionSpec(){return this.tryGetRuleContext(0,ce)}describeColName(){return this.tryGetRuleContext(0,Ae)}EXTENDED(){return this.tryGetToken(A.EXTENDED,0)}FORMATTED(){return this.tryGetToken(A.FORMATTED,0)}enterRule(t){t.enterDescribeRelation&&t.enterDescribeRelation(this)}exitRule(t){t.exitDescribeRelation&&t.exitDescribeRelation(this)}accept(t){return t.visitDescribeRelation?t.visitDescribeRelation(this):t.visitChildren(this)}}e.DescribeRelationContext=mt;class yt extends g{query(){return this.getRuleContext(0,ne)}DESC(){return this.tryGetToken(A.DESC,0)}DESCRIBE(){return this.tryGetToken(A.DESCRIBE,0)}QUERY(){return this.tryGetToken(A.QUERY,0)}constructor(t){super(t.parent,t.invokingState),this.copyFrom(t)}enterRule(t){t.enterDescribeQuery&&t.enterDescribeQuery(this)}exitRule(t){t.exitDescribeQuery&&t.exitDescribeQuery(this)}accept(t){return t.visitDescribeQuery?t.visitDescribeQuery(this):t.visitChildren(this)}}e.DescribeQueryContext=yt;class xt extends g{COMMENT(){return this.getToken(A.COMMENT,0)}ON(){return this.getToken(A.ON,0)}namespace(){return this.getRuleContext(0,Re)}identifierReference(){return this.getRuleContext(0,Ve)}IS(){return this.getToken(A.IS,0)}comment(){return this.getRuleContext(0,Js)}constructor(t){super(t.parent,t.invokingState),this.copyFrom(t)}enterRule(t){t.enterCommentNamespace&&t.enterCommentNamespace(this)}exitRule(t){t.exitCommentNamespace&&t.exitCommentNamespace(this)}accept(t){return t.visitCommentNamespace?t.visitCommentNamespace(this):t.visitChildren(this)}}e.CommentNamespaceContext=xt;class gt extends g{COMMENT(){return this.getToken(A.COMMENT,0)}ON(){return this.getToken(A.ON,0)}TABLE(){return this.getToken(A.TABLE,0)}identifierReference(){return this.getRuleContext(0,Ve)}IS(){return this.getToken(A.IS,0)}comment(){return this.getRuleContext(0,Js)}constructor(t){super(t.parent,t.invokingState),this.copyFrom(t)}enterRule(t){t.enterCommentTable&&t.enterCommentTable(this)}exitRule(t){t.exitCommentTable&&t.exitCommentTable(this)}accept(t){return t.visitCommentTable?t.visitCommentTable(this):t.visitChildren(this)}}e.CommentTableContext=gt;class Pt extends g{REFRESH(){return this.getToken(A.REFRESH,0)}TABLE(){return this.getToken(A.TABLE,0)}identifierReference(){return this.getRuleContext(0,Ve)}constructor(t){super(t.parent,t.invokingState),this.copyFrom(t)}enterRule(t){t.enterRefreshTable&&t.enterRefreshTable(this)}exitRule(t){t.exitRefreshTable&&t.exitRefreshTable(this)}accept(t){return t.visitRefreshTable?t.visitRefreshTable(this):t.visitChildren(this)}}e.RefreshTableContext=Pt;class Dt extends g{REFRESH(){return this.getToken(A.REFRESH,0)}FUNCTION(){return this.getToken(A.FUNCTION,0)}identifierReference(){return this.getRuleContext(0,Ve)}constructor(t){super(t.parent,t.invokingState),this.copyFrom(t)}enterRule(t){t.enterRefreshFunction&&t.enterRefreshFunction(this)}exitRule(t){t.exitRefreshFunction&&t.exitRefreshFunction(this)}accept(t){return t.visitRefreshFunction?t.visitRefreshFunction(this):t.visitChildren(this)}}e.RefreshFunctionContext=Dt;class Mt extends g{REFRESH(){return this.getToken(A.REFRESH,0)}stringLit(){return this.tryGetRuleContext(0,$s)}constructor(t){super(t.parent,t.invokingState),this.copyFrom(t)}enterRule(t){t.enterRefreshResource&&t.enterRefreshResource(this)}exitRule(t){t.exitRefreshResource&&t.exitRefreshResource(this)}accept(t){return t.visitRefreshResource?t.visitRefreshResource(this):t.visitChildren(this)}}e.RefreshResourceContext=Mt;class vt extends g{constructor(t){super(t.parent,t.invokingState),this.copyFrom(t)}CACHE(){return this.getToken(A.CACHE,0)}TABLE(){return this.getToken(A.TABLE,0)}identifierReference(){return this.getRuleContext(0,Ve)}LAZY(){return this.tryGetToken(A.LAZY,0)}OPTIONS(){return this.tryGetToken(A.OPTIONS,0)}query(){return this.tryGetRuleContext(0,ne)}propertyList(){return this.tryGetRuleContext(0,_e)}AS(){return this.tryGetToken(A.AS,0)}enterRule(t){t.enterCacheTable&&t.enterCacheTable(this)}exitRule(t){t.exitCacheTable&&t.exitCacheTable(this)}accept(t){return t.visitCacheTable?t.visitCacheTable(this):t.visitChildren(this)}}e.CacheTableContext=vt;class Ut extends g{UNCACHE(){return this.getToken(A.UNCACHE,0)}TABLE(){return this.getToken(A.TABLE,0)}identifierReference(){return this.getRuleContext(0,Ve)}IF(){return this.tryGetToken(A.IF,0)}EXISTS(){return this.tryGetToken(A.EXISTS,0)}constructor(t){super(t.parent,t.invokingState),this.copyFrom(t)}enterRule(t){t.enterUncacheTable&&t.enterUncacheTable(this)}exitRule(t){t.exitUncacheTable&&t.exitUncacheTable(this)}accept(t){return t.visitUncacheTable?t.visitUncacheTable(this):t.visitChildren(this)}}e.UncacheTableContext=Ut;class kt extends g{CLEAR(){return this.getToken(A.CLEAR,0)}CACHE(){return this.getToken(A.CACHE,0)}constructor(t){super(t.parent,t.invokingState),this.copyFrom(t)}enterRule(t){t.enterClearCache&&t.enterClearCache(this)}exitRule(t){t.exitClearCache&&t.exitClearCache(this)}accept(t){return t.visitClearCache?t.visitClearCache(this):t.visitChildren(this)}}e.ClearCacheContext=kt;class bt extends g{constructor(t){super(t.parent,t.invokingState),this.copyFrom(t)}LOAD(){return this.getToken(A.LOAD,0)}DATA(){return this.getToken(A.DATA,0)}INPATH(){return this.getToken(A.INPATH,0)}INTO(){return this.getToken(A.INTO,0)}TABLE(){return this.getToken(A.TABLE,0)}identifierReference(){return this.getRuleContext(0,Ve)}stringLit(){return this.getRuleContext(0,$s)}LOCAL(){return this.tryGetToken(A.LOCAL,0)}OVERWRITE(){return this.tryGetToken(A.OVERWRITE,0)}partitionSpec(){return this.tryGetRuleContext(0,ce)}enterRule(t){t.enterLoadData&&t.enterLoadData(this)}exitRule(t){t.exitLoadData&&t.exitLoadData(this)}accept(t){return t.visitLoadData?t.visitLoadData(this):t.visitChildren(this)}}e.LoadDataContext=bt;class Gt extends g{TRUNCATE(){return this.getToken(A.TRUNCATE,0)}TABLE(){return this.getToken(A.TABLE,0)}identifierReference(){return this.getRuleContext(0,Ve)}partitionSpec(){return this.tryGetRuleContext(0,ce)}constructor(t){super(t.parent,t.invokingState),this.copyFrom(t)}enterRule(t){t.enterTruncateTable&&t.enterTruncateTable(this)}exitRule(t){t.exitTruncateTable&&t.exitTruncateTable(this)}accept(t){return t.visitTruncateTable?t.visitTruncateTable(this):t.visitChildren(this)}}e.TruncateTableContext=Gt;class Ft extends g{constructor(t){super(t.parent,t.invokingState),this.copyFrom(t)}REPAIR(){return this.getToken(A.REPAIR,0)}TABLE(){return this.getToken(A.TABLE,0)}identifierReference(){return this.getRuleContext(0,Ve)}MSCK(){return this.tryGetToken(A.MSCK,0)}PARTITIONS(){return this.tryGetToken(A.PARTITIONS,0)}ADD(){return this.tryGetToken(A.ADD,0)}DROP(){return this.tryGetToken(A.DROP,0)}SYNC(){return this.tryGetToken(A.SYNC,0)}enterRule(t){t.enterRepairTable&&t.enterRepairTable(this)}exitRule(t){t.exitRepairTable&&t.exitRepairTable(this)}accept(t){return t.visitRepairTable?t.visitRepairTable(this):t.visitChildren(this)}}e.RepairTableContext=Ft;class Ht extends g{constructor(t){super(t.parent,t.invokingState),this.copyFrom(t)}identifier(){return this.getRuleContext(0,vs)}ADD(){return this.tryGetToken(A.ADD,0)}LIST(){return this.tryGetToken(A.LIST,0)}enterRule(t){t.enterManageResource&&t.enterManageResource(this)}exitRule(t){t.exitManageResource&&t.exitManageResource(this)}accept(t){return t.visitManageResource?t.visitManageResource(this):t.visitChildren(this)}}e.ManageResourceContext=Ht;class wt extends g{SET(){return this.tryGetToken(A.SET,0)}ROLE(){return this.tryGetToken(A.ROLE,0)}unsupportedHiveNativeCommands(){return this.tryGetRuleContext(0,$t)}constructor(t){super(t.parent,t.invokingState),this.copyFrom(t)}enterRule(t){t.enterFailNativeCommand&&t.enterFailNativeCommand(this)}exitRule(t){t.exitFailNativeCommand&&t.exitFailNativeCommand(this)}accept(t){return t.visitFailNativeCommand?t.visitFailNativeCommand(this):t.visitChildren(this)}}e.FailNativeCommandContext=wt;class Bt extends g{SET(){return this.getToken(A.SET,0)}TIME(){return this.getToken(A.TIME,0)}ZONE(){return this.getToken(A.ZONE,0)}interval(){return this.tryGetRuleContext(0,Kn)}timezone(){return this.tryGetRuleContext(0,jt)}constructor(t){super(t.parent,t.invokingState),this.copyFrom(t)}enterRule(t){t.enterSetTimeZone&&t.enterSetTimeZone(this)}exitRule(t){t.exitSetTimeZone&&t.exitSetTimeZone(this)}accept(t){return t.visitSetTimeZone?t.visitSetTimeZone(this):t.visitChildren(this)}}e.SetTimeZoneContext=Bt;class Vt extends g{SET(){return this.getToken(A.SET,0)}configKey(){return this.tryGetRuleContext(0,Qt)}EQ(){return this.getToken(A.EQ,0)}configValue(){return this.getRuleContext(0,zt)}constructor(t){super(t.parent,t.invokingState),this.copyFrom(t)}enterRule(t){t.enterSetQuotedConfiguration&&t.enterSetQuotedConfiguration(this)}exitRule(t){t.exitSetQuotedConfiguration&&t.exitSetQuotedConfiguration(this)}accept(t){return t.visitSetQuotedConfiguration?t.visitSetQuotedConfiguration(this):t.visitChildren(this)}}e.SetQuotedConfigurationContext=Vt;class Yt extends g{SET(){return this.getToken(A.SET,0)}configKey(){return this.tryGetRuleContext(0,Qt)}EQ(){return this.tryGetToken(A.EQ,0)}constructor(t){super(t.parent,t.invokingState),this.copyFrom(t)}enterRule(t){t.enterSetConfiguration&&t.enterSetConfiguration(this)}exitRule(t){t.exitSetConfiguration&&t.exitSetConfiguration(this)}accept(t){return t.visitSetConfiguration?t.visitSetConfiguration(this):t.visitChildren(this)}}e.SetConfigurationContext=Yt;class Wt extends g{RESET(){return this.getToken(A.RESET,0)}configKey(){return this.getRuleContext(0,Qt)}constructor(t){super(t.parent,t.invokingState),this.copyFrom(t)}enterRule(t){t.enterResetQuotedConfiguration&&t.enterResetQuotedConfiguration(this)}exitRule(t){t.exitResetQuotedConfiguration&&t.exitResetQuotedConfiguration(this)}accept(t){return t.visitResetQuotedConfiguration?t.visitResetQuotedConfiguration(this):t.visitChildren(this)}}e.ResetQuotedConfigurationContext=Wt;class Kt extends g{RESET(){return this.getToken(A.RESET,0)}constructor(t){super(t.parent,t.invokingState),this.copyFrom(t)}enterRule(t){t.enterResetConfiguration&&t.enterResetConfiguration(this)}exitRule(t){t.exitResetConfiguration&&t.exitResetConfiguration(this)}accept(t){return t.visitResetConfiguration?t.visitResetConfiguration(this):t.visitChildren(this)}}e.ResetConfigurationContext=Kt;class Xt extends g{constructor(t){super(t.parent,t.invokingState),this.copyFrom(t)}CREATE(){return this.getToken(A.CREATE,0)}INDEX(){return this.getToken(A.INDEX,0)}identifier(t){return void 0===t?this.getRuleContexts(vs):this.getRuleContext(t,vs)}ON(){return this.getToken(A.ON,0)}identifierReference(){return this.getRuleContext(0,Ve)}LEFT_PAREN(){return this.getToken(A.LEFT_PAREN,0)}RIGHT_PAREN(){return this.getToken(A.RIGHT_PAREN,0)}multipartIdentifierPropertyList(){return this.getRuleContext(0,mi)}IF(){return this.tryGetToken(A.IF,0)}NOT(){return this.tryGetToken(A.NOT,0)}EXISTS(){return this.tryGetToken(A.EXISTS,0)}TABLE(){return this.tryGetToken(A.TABLE,0)}USING(){return this.tryGetToken(A.USING,0)}OPTIONS(){return this.tryGetToken(A.OPTIONS,0)}propertyList(){return this.tryGetRuleContext(0,_e)}enterRule(t){t.enterCreateIndex&&t.enterCreateIndex(this)}exitRule(t){t.exitCreateIndex&&t.exitCreateIndex(this)}accept(t){return t.visitCreateIndex?t.visitCreateIndex(this):t.visitChildren(this)}}e.CreateIndexContext=Xt;class qt extends g{DROP(){return this.getToken(A.DROP,0)}INDEX(){return this.getToken(A.INDEX,0)}identifier(){return this.getRuleContext(0,vs)}ON(){return this.getToken(A.ON,0)}identifierReference(){return this.getRuleContext(0,Ve)}IF(){return this.tryGetToken(A.IF,0)}EXISTS(){return this.tryGetToken(A.EXISTS,0)}TABLE(){return this.tryGetToken(A.TABLE,0)}constructor(t){super(t.parent,t.invokingState),this.copyFrom(t)}enterRule(t){t.enterDropIndex&&t.enterDropIndex(this)}exitRule(t){t.exitDropIndex&&t.exitDropIndex(this)}accept(t){return t.visitDropIndex?t.visitDropIndex(this):t.visitChildren(this)}}e.DropIndexContext=qt;class jt extends u.ParserRuleContext{stringLit(){return this.tryGetRuleContext(0,$s)}LOCAL(){return this.tryGetToken(A.LOCAL,0)}constructor(t,e){super(t,e)}get ruleIndex(){return A.RULE_timezone}enterRule(t){t.enterTimezone&&t.enterTimezone(this)}exitRule(t){t.exitTimezone&&t.exitTimezone(this)}accept(t){return t.visitTimezone?t.visitTimezone(this):t.visitChildren(this)}}e.TimezoneContext=jt;class Qt extends u.ParserRuleContext{quotedIdentifier(){return this.getRuleContext(0,Gs)}constructor(t,e){super(t,e)}get ruleIndex(){return A.RULE_configKey}enterRule(t){t.enterConfigKey&&t.enterConfigKey(this)}exitRule(t){t.exitConfigKey&&t.exitConfigKey(this)}accept(t){return t.visitConfigKey?t.visitConfigKey(this):t.visitChildren(this)}}e.ConfigKeyContext=Qt;class zt extends u.ParserRuleContext{backQuotedIdentifier(){return this.getRuleContext(0,Fs)}constructor(t,e){super(t,e)}get ruleIndex(){return A.RULE_configValue}enterRule(t){t.enterConfigValue&&t.enterConfigValue(this)}exitRule(t){t.exitConfigValue&&t.exitConfigValue(this)}accept(t){return t.visitConfigValue?t.visitConfigValue(this):t.visitChildren(this)}}e.ConfigValueContext=zt;class $t extends u.ParserRuleContext{constructor(t,e){super(t,e)}CREATE(){return this.tryGetToken(A.CREATE,0)}ROLE(){return this.tryGetToken(A.ROLE,0)}DROP(){return this.tryGetToken(A.DROP,0)}GRANT(){return this.tryGetToken(A.GRANT,0)}REVOKE(){return this.tryGetToken(A.REVOKE,0)}SHOW(){return this.tryGetToken(A.SHOW,0)}PRINCIPALS(){return this.tryGetToken(A.PRINCIPALS,0)}ROLES(){return this.tryGetToken(A.ROLES,0)}CURRENT(){return this.tryGetToken(A.CURRENT,0)}EXPORT(){return this.tryGetToken(A.EXPORT,0)}TABLE(){return this.tryGetToken(A.TABLE,0)}IMPORT(){return this.tryGetToken(A.IMPORT,0)}COMPACTIONS(){return this.tryGetToken(A.COMPACTIONS,0)}TRANSACTIONS(){return this.tryGetToken(A.TRANSACTIONS,0)}INDEXES(){return this.tryGetToken(A.INDEXES,0)}LOCKS(){return this.tryGetToken(A.LOCKS,0)}INDEX(){return this.tryGetToken(A.INDEX,0)}ALTER(){return this.tryGetToken(A.ALTER,0)}LOCK(){return this.tryGetToken(A.LOCK,0)}DATABASE(){return this.tryGetToken(A.DATABASE,0)}UNLOCK(){return this.tryGetToken(A.UNLOCK,0)}TEMPORARY(){return this.tryGetToken(A.TEMPORARY,0)}MACRO(){return this.tryGetToken(A.MACRO,0)}tableIdentifier(){return this.tryGetRuleContext(0,xi)}NOT(){return this.tryGetToken(A.NOT,0)}CLUSTERED(){return this.tryGetToken(A.CLUSTERED,0)}BY(){return this.tryGetToken(A.BY,0)}SORTED(){return this.tryGetToken(A.SORTED,0)}SKEWED(){return this.tryGetToken(A.SKEWED,0)}STORED(){return this.tryGetToken(A.STORED,0)}AS(){return this.tryGetToken(A.AS,0)}DIRECTORIES(){return this.tryGetToken(A.DIRECTORIES,0)}SET(){return this.tryGetToken(A.SET,0)}LOCATION(){return this.tryGetToken(A.LOCATION,0)}EXCHANGE(){return this.tryGetToken(A.EXCHANGE,0)}PARTITION(){return this.tryGetToken(A.PARTITION,0)}ARCHIVE(){return this.tryGetToken(A.ARCHIVE,0)}UNARCHIVE(){return this.tryGetToken(A.UNARCHIVE,0)}TOUCH(){return this.tryGetToken(A.TOUCH,0)}COMPACT(){return this.tryGetToken(A.COMPACT,0)}partitionSpec(){return this.tryGetRuleContext(0,ce)}CONCATENATE(){return this.tryGetToken(A.CONCATENATE,0)}FILEFORMAT(){return this.tryGetToken(A.FILEFORMAT,0)}REPLACE(){return this.tryGetToken(A.REPLACE,0)}COLUMNS(){return this.tryGetToken(A.COLUMNS,0)}START(){return this.tryGetToken(A.START,0)}TRANSACTION(){return this.tryGetToken(A.TRANSACTION,0)}COMMIT(){return this.tryGetToken(A.COMMIT,0)}ROLLBACK(){return this.tryGetToken(A.ROLLBACK,0)}DFS(){return this.tryGetToken(A.DFS,0)}get ruleIndex(){return A.RULE_unsupportedHiveNativeCommands}enterRule(t){t.enterUnsupportedHiveNativeCommands&&t.enterUnsupportedHiveNativeCommands(this)}exitRule(t){t.exitUnsupportedHiveNativeCommands&&t.exitUnsupportedHiveNativeCommands(this)}accept(t){return t.visitUnsupportedHiveNativeCommands?t.visitUnsupportedHiveNativeCommands(this):t.visitChildren(this)}}e.UnsupportedHiveNativeCommandsContext=$t;class Jt extends u.ParserRuleContext{CREATE(){return this.getToken(A.CREATE,0)}TABLE(){return this.getToken(A.TABLE,0)}identifierReference(){return this.getRuleContext(0,Ve)}TEMPORARY(){return this.tryGetToken(A.TEMPORARY,0)}EXTERNAL(){return this.tryGetToken(A.EXTERNAL,0)}IF(){return this.tryGetToken(A.IF,0)}NOT(){return this.tryGetToken(A.NOT,0)}EXISTS(){return this.tryGetToken(A.EXISTS,0)}constructor(t,e){super(t,e)}get ruleIndex(){return A.RULE_createTableHeader}enterRule(t){t.enterCreateTableHeader&&t.enterCreateTableHeader(this)}exitRule(t){t.exitCreateTableHeader&&t.exitCreateTableHeader(this)}accept(t){return t.visitCreateTableHeader?t.visitCreateTableHeader(this):t.visitChildren(this)}}e.CreateTableHeaderContext=Jt;class Zt extends u.ParserRuleContext{REPLACE(){return this.getToken(A.REPLACE,0)}TABLE(){return this.getToken(A.TABLE,0)}identifierReference(){return this.getRuleContext(0,Ve)}CREATE(){return this.tryGetToken(A.CREATE,0)}OR(){return this.tryGetToken(A.OR,0)}constructor(t,e){super(t,e)}get ruleIndex(){return A.RULE_replaceTableHeader}enterRule(t){t.enterReplaceTableHeader&&t.enterReplaceTableHeader(this)}exitRule(t){t.exitReplaceTableHeader&&t.exitReplaceTableHeader(this)}accept(t){return t.visitReplaceTableHeader?t.visitReplaceTableHeader(this):t.visitChildren(this)}}e.ReplaceTableHeaderContext=Zt;class te extends u.ParserRuleContext{CLUSTERED(){return this.getToken(A.CLUSTERED,0)}BY(t){return void 0===t?this.getTokens(A.BY):this.getToken(A.BY,t)}identifierList(){return this.getRuleContext(0,ei)}INTO(){return this.getToken(A.INTO,0)}INTEGER_VALUE(){return this.getToken(A.INTEGER_VALUE,0)}BUCKETS(){return this.getToken(A.BUCKETS,0)}SORTED(){return this.tryGetToken(A.SORTED,0)}orderedIdentifierList(){return this.tryGetRuleContext(0,ii)}constructor(t,e){super(t,e)}get ruleIndex(){return A.RULE_bucketSpec}enterRule(t){t.enterBucketSpec&&t.enterBucketSpec(this)}exitRule(t){t.exitBucketSpec&&t.exitBucketSpec(this)}accept(t){return t.visitBucketSpec?t.visitBucketSpec(this):t.visitChildren(this)}}e.BucketSpecContext=te;class ee extends u.ParserRuleContext{SKEWED(){return this.getToken(A.SKEWED,0)}BY(){return this.getToken(A.BY,0)}identifierList(){return this.getRuleContext(0,ei)}ON(){return this.getToken(A.ON,0)}constantList(){return this.tryGetRuleContext(0,xe)}nestedConstantList(){return this.tryGetRuleContext(0,ge)}STORED(){return this.tryGetToken(A.STORED,0)}AS(){return this.tryGetToken(A.AS,0)}DIRECTORIES(){return this.tryGetToken(A.DIRECTORIES,0)}constructor(t,e){super(t,e)}get ruleIndex(){return A.RULE_skewSpec}enterRule(t){t.enterSkewSpec&&t.enterSkewSpec(this)}exitRule(t){t.exitSkewSpec&&t.exitSkewSpec(this)}accept(t){return t.visitSkewSpec?t.visitSkewSpec(this):t.visitChildren(this)}}e.SkewSpecContext=ee;class re extends u.ParserRuleContext{LOCATION(){return this.getToken(A.LOCATION,0)}stringLit(){return this.getRuleContext(0,$s)}constructor(t,e){super(t,e)}get ruleIndex(){return A.RULE_locationSpec}enterRule(t){t.enterLocationSpec&&t.enterLocationSpec(this)}exitRule(t){t.exitLocationSpec&&t.exitLocationSpec(this)}accept(t){return t.visitLocationSpec?t.visitLocationSpec(this):t.visitChildren(this)}}e.LocationSpecContext=re;class ie extends u.ParserRuleContext{COMMENT(){return this.getToken(A.COMMENT,0)}stringLit(){return this.getRuleContext(0,$s)}constructor(t,e){super(t,e)}get ruleIndex(){return A.RULE_commentSpec}enterRule(t){t.enterCommentSpec&&t.enterCommentSpec(this)}exitRule(t){t.exitCommentSpec&&t.exitCommentSpec(this)}accept(t){return t.visitCommentSpec?t.visitCommentSpec(this):t.visitChildren(this)}}e.CommentSpecContext=ie;class ne extends u.ParserRuleContext{queryTerm(){return this.getRuleContext(0,Ke)}queryOrganization(){return this.getRuleContext(0,Ye)}ctes(){return this.tryGetRuleContext(0,de)}constructor(t,e){super(t,e)}get ruleIndex(){return A.RULE_query}enterRule(t){t.enterQuery&&t.enterQuery(this)}exitRule(t){t.exitQuery&&t.exitQuery(this)}accept(t){return t.visitQuery?t.visitQuery(this):t.visitChildren(this)}}e.QueryContext=ne;class se extends u.ParserRuleContext{constructor(t,e){super(t,e)}get ruleIndex(){return A.RULE_insertInto}copyFrom(t){super.copyFrom(t)}}e.InsertIntoContext=se;class oe extends se{INSERT(){return this.getToken(A.INSERT,0)}OVERWRITE(){return this.getToken(A.OVERWRITE,0)}identifierReference(){return this.getRuleContext(0,Ve)}TABLE(){return this.tryGetToken(A.TABLE,0)}partitionSpec(){return this.tryGetRuleContext(0,ce)}identifierList(){return this.tryGetRuleContext(0,ei)}BY(){return this.tryGetToken(A.BY,0)}NAME(){return this.tryGetToken(A.NAME,0)}IF(){return this.tryGetToken(A.IF,0)}NOT(){return this.tryGetToken(A.NOT,0)}EXISTS(){return this.tryGetToken(A.EXISTS,0)}constructor(t){super(t.parent,t.invokingState),this.copyFrom(t)}enterRule(t){t.enterInsertOverwriteTable&&t.enterInsertOverwriteTable(this)}exitRule(t){t.exitInsertOverwriteTable&&t.exitInsertOverwriteTable(this)}accept(t){return t.visitInsertOverwriteTable?t.visitInsertOverwriteTable(this):t.visitChildren(this)}}e.InsertOverwriteTableContext=oe;class ae extends se{INSERT(){return this.getToken(A.INSERT,0)}INTO(){return this.getToken(A.INTO,0)}identifierReference(){return this.getRuleContext(0,Ve)}TABLE(){return this.tryGetToken(A.TABLE,0)}partitionSpec(){return this.tryGetRuleContext(0,ce)}IF(){return this.tryGetToken(A.IF,0)}NOT(){return this.tryGetToken(A.NOT,0)}EXISTS(){return this.tryGetToken(A.EXISTS,0)}identifierList(){return this.tryGetRuleContext(0,ei)}BY(){return this.tryGetToken(A.BY,0)}NAME(){return this.tryGetToken(A.NAME,0)}constructor(t){super(t.parent,t.invokingState),this.copyFrom(t)}enterRule(t){t.enterInsertIntoTable&&t.enterInsertIntoTable(this)}exitRule(t){t.exitInsertIntoTable&&t.exitInsertIntoTable(this)}accept(t){return t.visitInsertIntoTable?t.visitInsertIntoTable(this):t.visitChildren(this)}}e.InsertIntoTableContext=ae;class Ee extends se{INSERT(){return this.getToken(A.INSERT,0)}INTO(){return this.getToken(A.INTO,0)}identifierReference(){return this.getRuleContext(0,Ve)}REPLACE(){return this.getToken(A.REPLACE,0)}whereClause(){return this.getRuleContext(0,Ar)}TABLE(){return this.tryGetToken(A.TABLE,0)}constructor(t){super(t.parent,t.invokingState),this.copyFrom(t)}enterRule(t){t.enterInsertIntoReplaceWhere&&t.enterInsertIntoReplaceWhere(this)}exitRule(t){t.exitInsertIntoReplaceWhere&&t.exitInsertIntoReplaceWhere(this)}accept(t){return t.visitInsertIntoReplaceWhere?t.visitInsertIntoReplaceWhere(this):t.visitChildren(this)}}e.InsertIntoReplaceWhereContext=Ee;class he extends se{constructor(t){super(t.parent,t.invokingState),this.copyFrom(t)}INSERT(){return this.getToken(A.INSERT,0)}OVERWRITE(){return this.getToken(A.OVERWRITE,0)}DIRECTORY(){return this.getToken(A.DIRECTORY,0)}stringLit(){return this.getRuleContext(0,$s)}LOCAL(){return this.tryGetToken(A.LOCAL,0)}rowFormat(){return this.tryGetRuleContext(0,Ci)}createFileFormat(){return this.tryGetRuleContext(0,Pe)}enterRule(t){t.enterInsertOverwriteHiveDir&&t.enterInsertOverwriteHiveDir(this)}exitRule(t){t.exitInsertOverwriteHiveDir&&t.exitInsertOverwriteHiveDir(this)}accept(t){return t.visitInsertOverwriteHiveDir?t.visitInsertOverwriteHiveDir(this):t.visitChildren(this)}}e.InsertOverwriteHiveDirContext=he;class le extends se{constructor(t){super(t.parent,t.invokingState),this.copyFrom(t)}INSERT(){return this.getToken(A.INSERT,0)}OVERWRITE(){return this.getToken(A.OVERWRITE,0)}DIRECTORY(){return this.getToken(A.DIRECTORY,0)}tableProvider(){return this.getRuleContext(0,Oe)}LOCAL(){return this.tryGetToken(A.LOCAL,0)}OPTIONS(){return this.tryGetToken(A.OPTIONS,0)}stringLit(){return this.tryGetRuleContext(0,$s)}propertyList(){return this.tryGetRuleContext(0,_e)}enterRule(t){t.enterInsertOverwriteDir&&t.enterInsertOverwriteDir(this)}exitRule(t){t.exitInsertOverwriteDir&&t.exitInsertOverwriteDir(this)}accept(t){return t.visitInsertOverwriteDir?t.visitInsertOverwriteDir(this):t.visitChildren(this)}}e.InsertOverwriteDirContext=le;class ue extends u.ParserRuleContext{partitionSpec(){return this.getRuleContext(0,ce)}locationSpec(){return this.tryGetRuleContext(0,re)}constructor(t,e){super(t,e)}get ruleIndex(){return A.RULE_partitionSpecLocation}enterRule(t){t.enterPartitionSpecLocation&&t.enterPartitionSpecLocation(this)}exitRule(t){t.exitPartitionSpecLocation&&t.exitPartitionSpecLocation(this)}accept(t){return t.visitPartitionSpecLocation?t.visitPartitionSpecLocation(this):t.visitChildren(this)}}e.PartitionSpecLocationContext=ue;class ce extends u.ParserRuleContext{PARTITION(){return this.getToken(A.PARTITION,0)}LEFT_PAREN(){return this.getToken(A.LEFT_PAREN,0)}partitionVal(t){return void 0===t?this.getRuleContexts(Te):this.getRuleContext(t,Te)}RIGHT_PAREN(){return this.getToken(A.RIGHT_PAREN,0)}COMMA(t){return void 0===t?this.getTokens(A.COMMA):this.getToken(A.COMMA,t)}constructor(t,e){super(t,e)}get ruleIndex(){return A.RULE_partitionSpec}enterRule(t){t.enterPartitionSpec&&t.enterPartitionSpec(this)}exitRule(t){t.exitPartitionSpec&&t.exitPartitionSpec(this)}accept(t){return t.visitPartitionSpec?t.visitPartitionSpec(this):t.visitChildren(this)}}e.PartitionSpecContext=ce;class Te extends u.ParserRuleContext{identifier(){return this.getRuleContext(0,vs)}EQ(){return this.tryGetToken(A.EQ,0)}constant(){return this.tryGetRuleContext(0,Mn)}DEFAULT(){return this.tryGetToken(A.DEFAULT,0)}constructor(t,e){super(t,e)}get ruleIndex(){return A.RULE_partitionVal}enterRule(t){t.enterPartitionVal&&t.enterPartitionVal(this)}exitRule(t){t.exitPartitionVal&&t.exitPartitionVal(this)}accept(t){return t.visitPartitionVal?t.visitPartitionVal(this):t.visitChildren(this)}}e.PartitionValContext=Te;class Re extends u.ParserRuleContext{NAMESPACE(){return this.tryGetToken(A.NAMESPACE,0)}DATABASE(){return this.tryGetToken(A.DATABASE,0)}SCHEMA(){return this.tryGetToken(A.SCHEMA,0)}constructor(t,e){super(t,e)}get ruleIndex(){return A.RULE_namespace}enterRule(t){t.enterNamespace&&t.enterNamespace(this)}exitRule(t){t.exitNamespace&&t.exitNamespace(this)}accept(t){return t.visitNamespace?t.visitNamespace(this):t.visitChildren(this)}}e.NamespaceContext=Re;class pe extends u.ParserRuleContext{NAMESPACES(){return this.tryGetToken(A.NAMESPACES,0)}DATABASES(){return this.tryGetToken(A.DATABASES,0)}SCHEMAS(){return this.tryGetToken(A.SCHEMAS,0)}constructor(t,e){super(t,e)}get ruleIndex(){return A.RULE_namespaces}enterRule(t){t.enterNamespaces&&t.enterNamespaces(this)}exitRule(t){t.exitNamespaces&&t.exitNamespaces(this)}accept(t){return t.visitNamespaces?t.visitNamespaces(this):t.visitChildren(this)}}e.NamespacesContext=pe;class Se extends u.ParserRuleContext{identifierReference(){return this.tryGetRuleContext(0,Ve)}stringLit(){return this.tryGetRuleContext(0,$s)}comparisonOperator(){return this.tryGetRuleContext(0,Bn)}arithmeticOperator(){return this.tryGetRuleContext(0,Vn)}predicateOperator(){return this.tryGetRuleContext(0,Yn)}constructor(t,e){super(t,e)}get ruleIndex(){return A.RULE_describeFuncName}enterRule(t){t.enterDescribeFuncName&&t.enterDescribeFuncName(this)}exitRule(t){t.exitDescribeFuncName&&t.exitDescribeFuncName(this)}accept(t){return t.visitDescribeFuncName?t.visitDescribeFuncName(this):t.visitChildren(this)}}e.DescribeFuncNameContext=Se;class Ae extends u.ParserRuleContext{constructor(t,e){super(t,e),this._nameParts=[]}identifier(t){return void 0===t?this.getRuleContexts(vs):this.getRuleContext(t,vs)}DOT(t){return void 0===t?this.getTokens(A.DOT):this.getToken(A.DOT,t)}get ruleIndex(){return A.RULE_describeColName}enterRule(t){t.enterDescribeColName&&t.enterDescribeColName(this)}exitRule(t){t.exitDescribeColName&&t.exitDescribeColName(this)}accept(t){return t.visitDescribeColName?t.visitDescribeColName(this):t.visitChildren(this)}}e.DescribeColNameContext=Ae;class de extends u.ParserRuleContext{WITH(){return this.getToken(A.WITH,0)}namedQuery(t){return void 0===t?this.getRuleContexts(Ne):this.getRuleContext(t,Ne)}COMMA(t){return void 0===t?this.getTokens(A.COMMA):this.getToken(A.COMMA,t)}constructor(t,e){super(t,e)}get ruleIndex(){return A.RULE_ctes}enterRule(t){t.enterCtes&&t.enterCtes(this)}exitRule(t){t.exitCtes&&t.exitCtes(this)}accept(t){return t.visitCtes?t.visitCtes(this):t.visitChildren(this)}}e.CtesContext=de;class Ne extends u.ParserRuleContext{constructor(t,e){super(t,e)}LEFT_PAREN(){return this.getToken(A.LEFT_PAREN,0)}query(){return this.getRuleContext(0,ne)}RIGHT_PAREN(){return this.getToken(A.RIGHT_PAREN,0)}errorCapturingIdentifier(){return this.getRuleContext(0,gs)}AS(){return this.tryGetToken(A.AS,0)}identifierList(){return this.tryGetRuleContext(0,ei)}get ruleIndex(){return A.RULE_namedQuery}enterRule(t){t.enterNamedQuery&&t.enterNamedQuery(this)}exitRule(t){t.exitNamedQuery&&t.exitNamedQuery(this)}accept(t){return t.visitNamedQuery?t.visitNamedQuery(this):t.visitChildren(this)}}e.NamedQueryContext=Ne;class Oe extends u.ParserRuleContext{USING(){return this.getToken(A.USING,0)}multipartIdentifier(){return this.getRuleContext(0,fi)}constructor(t,e){super(t,e)}get ruleIndex(){return A.RULE_tableProvider}enterRule(t){t.enterTableProvider&&t.enterTableProvider(this)}exitRule(t){t.exitTableProvider&&t.exitTableProvider(this)}accept(t){return t.visitTableProvider?t.visitTableProvider(this):t.visitChildren(this)}}e.TableProviderContext=Oe;class Ce extends u.ParserRuleContext{constructor(t,e){super(t,e)}skewSpec(t){return void 0===t?this.getRuleContexts(ee):this.getRuleContext(t,ee)}bucketSpec(t){return void 0===t?this.getRuleContexts(te):this.getRuleContext(t,te)}rowFormat(t){return void 0===t?this.getRuleContexts(Ci):this.getRuleContext(t,Ci)}createFileFormat(t){return void 0===t?this.getRuleContexts(Pe):this.getRuleContext(t,Pe)}locationSpec(t){return void 0===t?this.getRuleContexts(re):this.getRuleContext(t,re)}commentSpec(t){return void 0===t?this.getRuleContexts(ie):this.getRuleContext(t,ie)}OPTIONS(t){return void 0===t?this.getTokens(A.OPTIONS):this.getToken(A.OPTIONS,t)}PARTITIONED(t){return void 0===t?this.getTokens(A.PARTITIONED):this.getToken(A.PARTITIONED,t)}BY(t){return void 0===t?this.getTokens(A.BY):this.getToken(A.BY,t)}TBLPROPERTIES(t){return void 0===t?this.getTokens(A.TBLPROPERTIES):this.getToken(A.TBLPROPERTIES,t)}expressionPropertyList(t){return void 0===t?this.getRuleContexts(me):this.getRuleContext(t,me)}partitionFieldList(t){return void 0===t?this.getRuleContexts(Mi):this.getRuleContext(t,Mi)}propertyList(t){return void 0===t?this.getRuleContexts(_e):this.getRuleContext(t,_e)}get ruleIndex(){return A.RULE_createTableClauses}enterRule(t){t.enterCreateTableClauses&&t.enterCreateTableClauses(this)}exitRule(t){t.exitCreateTableClauses&&t.exitCreateTableClauses(this)}accept(t){return t.visitCreateTableClauses?t.visitCreateTableClauses(this):t.visitChildren(this)}}e.CreateTableClausesContext=Ce;class _e extends u.ParserRuleContext{LEFT_PAREN(){return this.getToken(A.LEFT_PAREN,0)}property(t){return void 0===t?this.getRuleContexts(Ie):this.getRuleContext(t,Ie)}RIGHT_PAREN(){return this.getToken(A.RIGHT_PAREN,0)}COMMA(t){return void 0===t?this.getTokens(A.COMMA):this.getToken(A.COMMA,t)}constructor(t,e){super(t,e)}get ruleIndex(){return A.RULE_propertyList}enterRule(t){t.enterPropertyList&&t.enterPropertyList(this)}exitRule(t){t.exitPropertyList&&t.exitPropertyList(this)}accept(t){return t.visitPropertyList?t.visitPropertyList(this):t.visitChildren(this)}}e.PropertyListContext=_e;class Ie extends u.ParserRuleContext{constructor(t,e){super(t,e)}propertyKey(){return this.getRuleContext(0,Le)}propertyValue(){return this.tryGetRuleContext(0,fe)}EQ(){return this.tryGetToken(A.EQ,0)}get ruleIndex(){return A.RULE_property}enterRule(t){t.enterProperty&&t.enterProperty(this)}exitRule(t){t.exitProperty&&t.exitProperty(this)}accept(t){return t.visitProperty?t.visitProperty(this):t.visitChildren(this)}}e.PropertyContext=Ie;class Le extends u.ParserRuleContext{identifier(t){return void 0===t?this.getRuleContexts(vs):this.getRuleContext(t,vs)}DOT(t){return void 0===t?this.getTokens(A.DOT):this.getToken(A.DOT,t)}stringLit(){return this.tryGetRuleContext(0,$s)}constructor(t,e){super(t,e)}get ruleIndex(){return A.RULE_propertyKey}enterRule(t){t.enterPropertyKey&&t.enterPropertyKey(this)}exitRule(t){t.exitPropertyKey&&t.exitPropertyKey(this)}accept(t){return t.visitPropertyKey?t.visitPropertyKey(this):t.visitChildren(this)}}e.PropertyKeyContext=Le;class fe extends u.ParserRuleContext{INTEGER_VALUE(){return this.tryGetToken(A.INTEGER_VALUE,0)}DECIMAL_VALUE(){return this.tryGetToken(A.DECIMAL_VALUE,0)}booleanValue(){return this.tryGetRuleContext(0,Wn)}stringLit(){return this.tryGetRuleContext(0,$s)}constructor(t,e){super(t,e)}get ruleIndex(){return A.RULE_propertyValue}enterRule(t){t.enterPropertyValue&&t.enterPropertyValue(this)}exitRule(t){t.exitPropertyValue&&t.exitPropertyValue(this)}accept(t){return t.visitPropertyValue?t.visitPropertyValue(this):t.visitChildren(this)}}e.PropertyValueContext=fe;class me extends u.ParserRuleContext{LEFT_PAREN(){return this.getToken(A.LEFT_PAREN,0)}expressionProperty(t){return void 0===t?this.getRuleContexts(ye):this.getRuleContext(t,ye)}RIGHT_PAREN(){return this.getToken(A.RIGHT_PAREN,0)}COMMA(t){return void 0===t?this.getTokens(A.COMMA):this.getToken(A.COMMA,t)}constructor(t,e){super(t,e)}get ruleIndex(){return A.RULE_expressionPropertyList}enterRule(t){t.enterExpressionPropertyList&&t.enterExpressionPropertyList(this)}exitRule(t){t.exitExpressionPropertyList&&t.exitExpressionPropertyList(this)}accept(t){return t.visitExpressionPropertyList?t.visitExpressionPropertyList(this):t.visitChildren(this)}}e.ExpressionPropertyListContext=me;class ye extends u.ParserRuleContext{constructor(t,e){super(t,e)}propertyKey(){return this.getRuleContext(0,Le)}expression(){return this.tryGetRuleContext(0,wi)}EQ(){return this.tryGetToken(A.EQ,0)}get ruleIndex(){return A.RULE_expressionProperty}enterRule(t){t.enterExpressionProperty&&t.enterExpressionProperty(this)}exitRule(t){t.exitExpressionProperty&&t.exitExpressionProperty(this)}accept(t){return t.visitExpressionProperty?t.visitExpressionProperty(this):t.visitChildren(this)}}e.ExpressionPropertyContext=ye;class xe extends u.ParserRuleContext{LEFT_PAREN(){return this.getToken(A.LEFT_PAREN,0)}constant(t){return void 0===t?this.getRuleContexts(Mn):this.getRuleContext(t,Mn)}RIGHT_PAREN(){return this.getToken(A.RIGHT_PAREN,0)}COMMA(t){return void 0===t?this.getTokens(A.COMMA):this.getToken(A.COMMA,t)}constructor(t,e){super(t,e)}get ruleIndex(){return A.RULE_constantList}enterRule(t){t.enterConstantList&&t.enterConstantList(this)}exitRule(t){t.exitConstantList&&t.exitConstantList(this)}accept(t){return t.visitConstantList?t.visitConstantList(this):t.visitChildren(this)}}e.ConstantListContext=xe;class ge extends u.ParserRuleContext{LEFT_PAREN(){return this.getToken(A.LEFT_PAREN,0)}constantList(t){return void 0===t?this.getRuleContexts(xe):this.getRuleContext(t,xe)}RIGHT_PAREN(){return this.getToken(A.RIGHT_PAREN,0)}COMMA(t){return void 0===t?this.getTokens(A.COMMA):this.getToken(A.COMMA,t)}constructor(t,e){super(t,e)}get ruleIndex(){return A.RULE_nestedConstantList}enterRule(t){t.enterNestedConstantList&&t.enterNestedConstantList(this)}exitRule(t){t.exitNestedConstantList&&t.exitNestedConstantList(this)}accept(t){return t.visitNestedConstantList?t.visitNestedConstantList(this):t.visitChildren(this)}}e.NestedConstantListContext=ge;class Pe extends u.ParserRuleContext{STORED(){return this.getToken(A.STORED,0)}AS(){return this.tryGetToken(A.AS,0)}fileFormat(){return this.tryGetRuleContext(0,De)}BY(){return this.tryGetToken(A.BY,0)}storageHandler(){return this.tryGetRuleContext(0,Ue)}constructor(t,e){super(t,e)}get ruleIndex(){return A.RULE_createFileFormat}enterRule(t){t.enterCreateFileFormat&&t.enterCreateFileFormat(this)}exitRule(t){t.exitCreateFileFormat&&t.exitCreateFileFormat(this)}accept(t){return t.visitCreateFileFormat?t.visitCreateFileFormat(this):t.visitChildren(this)}}e.CreateFileFormatContext=Pe;class De extends u.ParserRuleContext{constructor(t,e){super(t,e)}get ruleIndex(){return A.RULE_fileFormat}copyFrom(t){super.copyFrom(t)}}e.FileFormatContext=De;class Me extends De{constructor(t){super(t.parent,t.invokingState),this.copyFrom(t)}INPUTFORMAT(){return this.getToken(A.INPUTFORMAT,0)}OUTPUTFORMAT(){return this.getToken(A.OUTPUTFORMAT,0)}stringLit(t){return void 0===t?this.getRuleContexts($s):this.getRuleContext(t,$s)}enterRule(t){t.enterTableFileFormat&&t.enterTableFileFormat(this)}exitRule(t){t.exitTableFileFormat&&t.exitTableFileFormat(this)}accept(t){return t.visitTableFileFormat?t.visitTableFileFormat(this):t.visitChildren(this)}}e.TableFileFormatContext=Me;class ve extends De{identifier(){return this.getRuleContext(0,vs)}constructor(t){super(t.parent,t.invokingState),this.copyFrom(t)}enterRule(t){t.enterGenericFileFormat&&t.enterGenericFileFormat(this)}exitRule(t){t.exitGenericFileFormat&&t.exitGenericFileFormat(this)}accept(t){return t.visitGenericFileFormat?t.visitGenericFileFormat(this):t.visitChildren(this)}}e.GenericFileFormatContext=ve;class Ue extends u.ParserRuleContext{stringLit(){return this.getRuleContext(0,$s)}WITH(){return this.tryGetToken(A.WITH,0)}SERDEPROPERTIES(){return this.tryGetToken(A.SERDEPROPERTIES,0)}propertyList(){return this.tryGetRuleContext(0,_e)}constructor(t,e){super(t,e)}get ruleIndex(){return A.RULE_storageHandler}enterRule(t){t.enterStorageHandler&&t.enterStorageHandler(this)}exitRule(t){t.exitStorageHandler&&t.exitStorageHandler(this)}accept(t){return t.visitStorageHandler?t.visitStorageHandler(this):t.visitChildren(this)}}e.StorageHandlerContext=Ue;class ke extends u.ParserRuleContext{identifier(){return this.getRuleContext(0,vs)}stringLit(){return this.getRuleContext(0,$s)}constructor(t,e){super(t,e)}get ruleIndex(){return A.RULE_resource}enterRule(t){t.enterResource&&t.enterResource(this)}exitRule(t){t.exitResource&&t.exitResource(this)}accept(t){return t.visitResource?t.visitResource(this):t.visitChildren(this)}}e.ResourceContext=ke;class be extends u.ParserRuleContext{constructor(t,e){super(t,e)}get ruleIndex(){return A.RULE_dmlStatementNoWith}copyFrom(t){super.copyFrom(t)}}e.DmlStatementNoWithContext=be;class Ge extends be{insertInto(){return this.getRuleContext(0,se)}query(){return this.getRuleContext(0,ne)}constructor(t){super(t.parent,t.invokingState),this.copyFrom(t)}enterRule(t){t.enterSingleInsertQuery&&t.enterSingleInsertQuery(this)}exitRule(t){t.exitSingleInsertQuery&&t.exitSingleInsertQuery(this)}accept(t){return t.visitSingleInsertQuery?t.visitSingleInsertQuery(this):t.visitChildren(this)}}e.SingleInsertQueryContext=Ge;class Fe extends be{fromClause(){return this.getRuleContext(0,Cr)}multiInsertQueryBody(t){return void 0===t?this.getRuleContexts(We):this.getRuleContext(t,We)}constructor(t){super(t.parent,t.invokingState),this.copyFrom(t)}enterRule(t){t.enterMultiInsertQuery&&t.enterMultiInsertQuery(this)}exitRule(t){t.exitMultiInsertQuery&&t.exitMultiInsertQuery(this)}accept(t){return t.visitMultiInsertQuery?t.visitMultiInsertQuery(this):t.visitChildren(this)}}e.MultiInsertQueryContext=Fe;class He extends be{DELETE(){return this.getToken(A.DELETE,0)}FROM(){return this.getToken(A.FROM,0)}identifierReference(){return this.getRuleContext(0,Ve)}tableAlias(){return this.getRuleContext(0,Oi)}whereClause(){return this.tryGetRuleContext(0,Ar)}constructor(t){super(t.parent,t.invokingState),this.copyFrom(t)}enterRule(t){t.enterDeleteFromTable&&t.enterDeleteFromTable(this)}exitRule(t){t.exitDeleteFromTable&&t.exitDeleteFromTable(this)}accept(t){return t.visitDeleteFromTable?t.visitDeleteFromTable(this):t.visitChildren(this)}}e.DeleteFromTableContext=He;class we extends be{UPDATE(){return this.getToken(A.UPDATE,0)}identifierReference(){return this.getRuleContext(0,Ve)}tableAlias(){return this.getRuleContext(0,Oi)}setClause(){return this.getRuleContext(0,Er)}whereClause(){return this.tryGetRuleContext(0,Ar)}constructor(t){super(t.parent,t.invokingState),this.copyFrom(t)}enterRule(t){t.enterUpdateTable&&t.enterUpdateTable(this)}exitRule(t){t.exitUpdateTable&&t.exitUpdateTable(this)}accept(t){return t.visitUpdateTable?t.visitUpdateTable(this):t.visitChildren(this)}}e.UpdateTableContext=we;class Be extends be{constructor(t){super(t.parent,t.invokingState),this.copyFrom(t)}MERGE(){return this.getToken(A.MERGE,0)}INTO(){return this.getToken(A.INTO,0)}USING(){return this.getToken(A.USING,0)}ON(){return this.getToken(A.ON,0)}identifierReference(t){return void 0===t?this.getRuleContexts(Ve):this.getRuleContext(t,Ve)}tableAlias(t){return void 0===t?this.getRuleContexts(Oi):this.getRuleContext(t,Oi)}booleanExpression(){return this.getRuleContext(0,Wi)}LEFT_PAREN(){return this.tryGetToken(A.LEFT_PAREN,0)}RIGHT_PAREN(){return this.tryGetToken(A.RIGHT_PAREN,0)}query(){return this.tryGetRuleContext(0,ne)}matchedClause(t){return void 0===t?this.getRuleContexts(hr):this.getRuleContext(t,hr)}notMatchedClause(t){return void 0===t?this.getRuleContexts(lr):this.getRuleContext(t,lr)}notMatchedBySourceClause(t){return void 0===t?this.getRuleContexts(ur):this.getRuleContext(t,ur)}enterRule(t){t.enterMergeIntoTable&&t.enterMergeIntoTable(this)}exitRule(t){t.exitMergeIntoTable&&t.exitMergeIntoTable(this)}accept(t){return t.visitMergeIntoTable?t.visitMergeIntoTable(this):t.visitChildren(this)}}e.MergeIntoTableContext=Be;class Ve extends u.ParserRuleContext{IDENTIFIER_KW(){return this.tryGetToken(A.IDENTIFIER_KW,0)}LEFT_PAREN(){return this.tryGetToken(A.LEFT_PAREN,0)}expression(){return this.tryGetRuleContext(0,wi)}RIGHT_PAREN(){return this.tryGetToken(A.RIGHT_PAREN,0)}multipartIdentifier(){return this.tryGetRuleContext(0,fi)}constructor(t,e){super(t,e)}get ruleIndex(){return A.RULE_identifierReference}enterRule(t){t.enterIdentifierReference&&t.enterIdentifierReference(this)}exitRule(t){t.exitIdentifierReference&&t.exitIdentifierReference(this)}accept(t){return t.visitIdentifierReference?t.visitIdentifierReference(this):t.visitChildren(this)}}e.IdentifierReferenceContext=Ve;class Ye extends u.ParserRuleContext{constructor(t,e){super(t,e),this._order=[],this._clusterBy=[],this._distributeBy=[],this._sort=[]}ORDER(){return this.tryGetToken(A.ORDER,0)}BY(t){return void 0===t?this.getTokens(A.BY):this.getToken(A.BY,t)}CLUSTER(){return this.tryGetToken(A.CLUSTER,0)}DISTRIBUTE(){return this.tryGetToken(A.DISTRIBUTE,0)}SORT(){return this.tryGetToken(A.SORT,0)}windowClause(){return this.tryGetRuleContext(0,Ns)}LIMIT(){return this.tryGetToken(A.LIMIT,0)}OFFSET(){return this.tryGetToken(A.OFFSET,0)}sortItem(t){return void 0===t?this.getRuleContexts(tr):this.getRuleContext(t,tr)}expression(t){return void 0===t?this.getRuleContexts(wi):this.getRuleContext(t,wi)}ALL(){return this.tryGetToken(A.ALL,0)}COMMA(t){return void 0===t?this.getTokens(A.COMMA):this.getToken(A.COMMA,t)}get ruleIndex(){return A.RULE_queryOrganization}enterRule(t){t.enterQueryOrganization&&t.enterQueryOrganization(this)}exitRule(t){t.exitQueryOrganization&&t.exitQueryOrganization(this)}accept(t){return t.visitQueryOrganization?t.visitQueryOrganization(this):t.visitChildren(this)}}e.QueryOrganizationContext=Ye;class We extends u.ParserRuleContext{insertInto(){return this.getRuleContext(0,se)}fromStatementBody(){return this.getRuleContext(0,rr)}constructor(t,e){super(t,e)}get ruleIndex(){return A.RULE_multiInsertQueryBody}enterRule(t){t.enterMultiInsertQueryBody&&t.enterMultiInsertQueryBody(this)}exitRule(t){t.exitMultiInsertQueryBody&&t.exitMultiInsertQueryBody(this)}accept(t){return t.visitMultiInsertQueryBody?t.visitMultiInsertQueryBody(this):t.visitChildren(this)}}e.MultiInsertQueryBodyContext=We;class Ke extends u.ParserRuleContext{constructor(t,e){super(t,e)}get ruleIndex(){return A.RULE_queryTerm}copyFrom(t){super.copyFrom(t)}}e.QueryTermContext=Ke;class Xe extends Ke{queryPrimary(){return this.getRuleContext(0,je)}constructor(t){super(t.parent,t.invokingState),this.copyFrom(t)}enterRule(t){t.enterQueryTermDefault&&t.enterQueryTermDefault(this)}exitRule(t){t.exitQueryTermDefault&&t.exitQueryTermDefault(this)}accept(t){return t.visitQueryTermDefault?t.visitQueryTermDefault(this):t.visitChildren(this)}}e.QueryTermDefaultContext=Xe;class qe extends Ke{constructor(t){super(t.parent,t.invokingState),this.copyFrom(t)}queryTerm(t){return void 0===t?this.getRuleContexts(Ke):this.getRuleContext(t,Ke)}INTERSECT(){return this.tryGetToken(A.INTERSECT,0)}UNION(){return this.tryGetToken(A.UNION,0)}EXCEPT(){return this.tryGetToken(A.EXCEPT,0)}SETMINUS(){return this.tryGetToken(A.SETMINUS,0)}setQuantifier(){return this.tryGetRuleContext(0,Yr)}enterRule(t){t.enterSetOperation&&t.enterSetOperation(this)}exitRule(t){t.exitSetOperation&&t.exitSetOperation(this)}accept(t){return t.visitSetOperation?t.visitSetOperation(this):t.visitChildren(this)}}e.SetOperationContext=qe;class je extends u.ParserRuleContext{constructor(t,e){super(t,e)}get ruleIndex(){return A.RULE_queryPrimary}copyFrom(t){super.copyFrom(t)}}e.QueryPrimaryContext=je;class Qe extends je{querySpecification(){return this.getRuleContext(0,ir)}constructor(t){super(t.parent,t.invokingState),this.copyFrom(t)}enterRule(t){t.enterQueryPrimaryDefault&&t.enterQueryPrimaryDefault(this)}exitRule(t){t.exitQueryPrimaryDefault&&t.exitQueryPrimaryDefault(this)}accept(t){return t.visitQueryPrimaryDefault?t.visitQueryPrimaryDefault(this):t.visitChildren(this)}}e.QueryPrimaryDefaultContext=Qe;class ze extends je{fromStatement(){return this.getRuleContext(0,er)}constructor(t){super(t.parent,t.invokingState),this.copyFrom(t)}enterRule(t){t.enterFromStmt&&t.enterFromStmt(this)}exitRule(t){t.exitFromStmt&&t.exitFromStmt(this)}accept(t){return t.visitFromStmt?t.visitFromStmt(this):t.visitChildren(this)}}e.FromStmtContext=ze;class $e extends je{TABLE(){return this.getToken(A.TABLE,0)}identifierReference(){return this.getRuleContext(0,Ve)}constructor(t){super(t.parent,t.invokingState),this.copyFrom(t)}enterRule(t){t.enterTable&&t.enterTable(this)}exitRule(t){t.exitTable&&t.exitTable(this)}accept(t){return t.visitTable?t.visitTable(this):t.visitChildren(this)}}e.TableContext=$e;class Je extends je{inlineTable(){return this.getRuleContext(0,Ti)}constructor(t){super(t.parent,t.invokingState),this.copyFrom(t)}enterRule(t){t.enterInlineTableDefault1&&t.enterInlineTableDefault1(this)}exitRule(t){t.exitInlineTableDefault1&&t.exitInlineTableDefault1(this)}accept(t){return t.visitInlineTableDefault1?t.visitInlineTableDefault1(this):t.visitChildren(this)}}e.InlineTableDefault1Context=Je;class Ze extends je{LEFT_PAREN(){return this.getToken(A.LEFT_PAREN,0)}query(){return this.getRuleContext(0,ne)}RIGHT_PAREN(){return this.getToken(A.RIGHT_PAREN,0)}constructor(t){super(t.parent,t.invokingState),this.copyFrom(t)}enterRule(t){t.enterSubquery&&t.enterSubquery(this)}exitRule(t){t.exitSubquery&&t.exitSubquery(this)}accept(t){return t.visitSubquery?t.visitSubquery(this):t.visitChildren(this)}}e.SubqueryContext=Ze;class tr extends u.ParserRuleContext{constructor(t,e){super(t,e)}expression(){return this.getRuleContext(0,wi)}NULLS(){return this.tryGetToken(A.NULLS,0)}ASC(){return this.tryGetToken(A.ASC,0)}DESC(){return this.tryGetToken(A.DESC,0)}LAST(){return this.tryGetToken(A.LAST,0)}FIRST(){return this.tryGetToken(A.FIRST,0)}get ruleIndex(){return A.RULE_sortItem}enterRule(t){t.enterSortItem&&t.enterSortItem(this)}exitRule(t){t.exitSortItem&&t.exitSortItem(this)}accept(t){return t.visitSortItem?t.visitSortItem(this):t.visitChildren(this)}}e.SortItemContext=tr;class er extends u.ParserRuleContext{fromClause(){return this.getRuleContext(0,Cr)}fromStatementBody(t){return void 0===t?this.getRuleContexts(rr):this.getRuleContext(t,rr)}constructor(t,e){super(t,e)}get ruleIndex(){return A.RULE_fromStatement}enterRule(t){t.enterFromStatement&&t.enterFromStatement(this)}exitRule(t){t.exitFromStatement&&t.exitFromStatement(this)}accept(t){return t.visitFromStatement?t.visitFromStatement(this):t.visitChildren(this)}}e.FromStatementContext=er;class rr extends u.ParserRuleContext{transformClause(){return this.tryGetRuleContext(0,or)}queryOrganization(){return this.getRuleContext(0,Ye)}whereClause(){return this.tryGetRuleContext(0,Ar)}selectClause(){return this.tryGetRuleContext(0,ar)}lateralView(t){return void 0===t?this.getRuleContexts(Vr):this.getRuleContext(t,Vr)}aggregationClause(){return this.tryGetRuleContext(0,Ir)}havingClause(){return this.tryGetRuleContext(0,dr)}windowClause(){return this.tryGetRuleContext(0,Ns)}constructor(t,e){super(t,e)}get ruleIndex(){return A.RULE_fromStatementBody}enterRule(t){t.enterFromStatementBody&&t.enterFromStatementBody(this)}exitRule(t){t.exitFromStatementBody&&t.exitFromStatementBody(this)}accept(t){return t.visitFromStatementBody?t.visitFromStatementBody(this):t.visitChildren(this)}}e.FromStatementBodyContext=rr;class ir extends u.ParserRuleContext{constructor(t,e){super(t,e)}get ruleIndex(){return A.RULE_querySpecification}copyFrom(t){super.copyFrom(t)}}e.QuerySpecificationContext=ir;class nr extends ir{transformClause(){return this.getRuleContext(0,or)}fromClause(){return this.tryGetRuleContext(0,Cr)}lateralView(t){return void 0===t?this.getRuleContexts(Vr):this.getRuleContext(t,Vr)}whereClause(){return this.tryGetRuleContext(0,Ar)}aggregationClause(){return this.tryGetRuleContext(0,Ir)}havingClause(){return this.tryGetRuleContext(0,dr)}windowClause(){return this.tryGetRuleContext(0,Ns)}constructor(t){super(t.parent,t.invokingState),this.copyFrom(t)}enterRule(t){t.enterTransformQuerySpecification&&t.enterTransformQuerySpecification(this)}exitRule(t){t.exitTransformQuerySpecification&&t.exitTransformQuerySpecification(this)}accept(t){return t.visitTransformQuerySpecification?t.visitTransformQuerySpecification(this):t.visitChildren(this)}}e.TransformQuerySpecificationContext=nr;class sr extends ir{selectClause(){return this.getRuleContext(0,ar)}fromClause(){return this.tryGetRuleContext(0,Cr)}lateralView(t){return void 0===t?this.getRuleContexts(Vr):this.getRuleContext(t,Vr)}whereClause(){return this.tryGetRuleContext(0,Ar)}aggregationClause(){return this.tryGetRuleContext(0,Ir)}havingClause(){return this.tryGetRuleContext(0,dr)}windowClause(){return this.tryGetRuleContext(0,Ns)}constructor(t){super(t.parent,t.invokingState),this.copyFrom(t)}enterRule(t){t.enterRegularQuerySpecification&&t.enterRegularQuerySpecification(this)}exitRule(t){t.exitRegularQuerySpecification&&t.exitRegularQuerySpecification(this)}accept(t){return t.visitRegularQuerySpecification?t.visitRegularQuerySpecification(this):t.visitChildren(this)}}e.RegularQuerySpecificationContext=sr;class or extends u.ParserRuleContext{constructor(t,e){super(t,e)}USING(){return this.getToken(A.USING,0)}stringLit(t){return void 0===t?this.getRuleContexts($s):this.getRuleContext(t,$s)}SELECT(){return this.tryGetToken(A.SELECT,0)}LEFT_PAREN(t){return void 0===t?this.getTokens(A.LEFT_PAREN):this.getToken(A.LEFT_PAREN,t)}expressionSeq(){return this.tryGetRuleContext(0,Yi)}RIGHT_PAREN(t){return void 0===t?this.getTokens(A.RIGHT_PAREN):this.getToken(A.RIGHT_PAREN,t)}TRANSFORM(){return this.tryGetToken(A.TRANSFORM,0)}MAP(){return this.tryGetToken(A.MAP,0)}REDUCE(){return this.tryGetToken(A.REDUCE,0)}RECORDWRITER(){return this.tryGetToken(A.RECORDWRITER,0)}AS(){return this.tryGetToken(A.AS,0)}RECORDREADER(){return this.tryGetToken(A.RECORDREADER,0)}rowFormat(t){return void 0===t?this.getRuleContexts(Ci):this.getRuleContext(t,Ci)}setQuantifier(){return this.tryGetRuleContext(0,Yr)}identifierSeq(){return this.tryGetRuleContext(0,ri)}colTypeList(){return this.tryGetRuleContext(0,ls)}get ruleIndex(){return A.RULE_transformClause}enterRule(t){t.enterTransformClause&&t.enterTransformClause(this)}exitRule(t){t.exitTransformClause&&t.exitTransformClause(this)}accept(t){return t.visitTransformClause?t.visitTransformClause(this):t.visitChildren(this)}}e.TransformClauseContext=or;class ar extends u.ParserRuleContext{constructor(t,e){super(t,e),this._hints=[]}SELECT(){return this.getToken(A.SELECT,0)}namedExpressionSeq(){return this.getRuleContext(0,Di)}setQuantifier(){return this.tryGetRuleContext(0,Yr)}hint(t){return void 0===t?this.getRuleContexts(Nr):this.getRuleContext(t,Nr)}get ruleIndex(){return A.RULE_selectClause}enterRule(t){t.enterSelectClause&&t.enterSelectClause(this)}exitRule(t){t.exitSelectClause&&t.exitSelectClause(this)}accept(t){return t.visitSelectClause?t.visitSelectClause(this):t.visitChildren(this)}}e.SelectClauseContext=ar;class Er extends u.ParserRuleContext{SET(){return this.getToken(A.SET,0)}assignmentList(){return this.getRuleContext(0,pr)}constructor(t,e){super(t,e)}get ruleIndex(){return A.RULE_setClause}enterRule(t){t.enterSetClause&&t.enterSetClause(this)}exitRule(t){t.exitSetClause&&t.exitSetClause(this)}accept(t){return t.visitSetClause?t.visitSetClause(this):t.visitChildren(this)}}e.SetClauseContext=Er;class hr extends u.ParserRuleContext{constructor(t,e){super(t,e)}WHEN(){return this.getToken(A.WHEN,0)}MATCHED(){return this.getToken(A.MATCHED,0)}THEN(){return this.getToken(A.THEN,0)}matchedAction(){return this.getRuleContext(0,cr)}AND(){return this.tryGetToken(A.AND,0)}booleanExpression(){return this.tryGetRuleContext(0,Wi)}get ruleIndex(){return A.RULE_matchedClause}enterRule(t){t.enterMatchedClause&&t.enterMatchedClause(this)}exitRule(t){t.exitMatchedClause&&t.exitMatchedClause(this)}accept(t){return t.visitMatchedClause?t.visitMatchedClause(this):t.visitChildren(this)}}e.MatchedClauseContext=hr;class lr extends u.ParserRuleContext{constructor(t,e){super(t,e)}WHEN(){return this.getToken(A.WHEN,0)}NOT(){return this.getToken(A.NOT,0)}MATCHED(){return this.getToken(A.MATCHED,0)}THEN(){return this.getToken(A.THEN,0)}notMatchedAction(){return this.getRuleContext(0,Tr)}BY(){return this.tryGetToken(A.BY,0)}TARGET(){return this.tryGetToken(A.TARGET,0)}AND(){return this.tryGetToken(A.AND,0)}booleanExpression(){return this.tryGetRuleContext(0,Wi)}get ruleIndex(){return A.RULE_notMatchedClause}enterRule(t){t.enterNotMatchedClause&&t.enterNotMatchedClause(this)}exitRule(t){t.exitNotMatchedClause&&t.exitNotMatchedClause(this)}accept(t){return t.visitNotMatchedClause?t.visitNotMatchedClause(this):t.visitChildren(this)}}e.NotMatchedClauseContext=lr;class ur extends u.ParserRuleContext{constructor(t,e){super(t,e)}WHEN(){return this.getToken(A.WHEN,0)}NOT(){return this.getToken(A.NOT,0)}MATCHED(){return this.getToken(A.MATCHED,0)}BY(){return this.getToken(A.BY,0)}SOURCE(){return this.getToken(A.SOURCE,0)}THEN(){return this.getToken(A.THEN,0)}notMatchedBySourceAction(){return this.getRuleContext(0,Rr)}AND(){return this.tryGetToken(A.AND,0)}booleanExpression(){return this.tryGetRuleContext(0,Wi)}get ruleIndex(){return A.RULE_notMatchedBySourceClause}enterRule(t){t.enterNotMatchedBySourceClause&&t.enterNotMatchedBySourceClause(this)}exitRule(t){t.exitNotMatchedBySourceClause&&t.exitNotMatchedBySourceClause(this)}accept(t){return t.visitNotMatchedBySourceClause?t.visitNotMatchedBySourceClause(this):t.visitChildren(this)}}e.NotMatchedBySourceClauseContext=ur;class cr extends u.ParserRuleContext{DELETE(){return this.tryGetToken(A.DELETE,0)}UPDATE(){return this.tryGetToken(A.UPDATE,0)}SET(){return this.tryGetToken(A.SET,0)}ASTERISK(){return this.tryGetToken(A.ASTERISK,0)}assignmentList(){return this.tryGetRuleContext(0,pr)}constructor(t,e){super(t,e)}get ruleIndex(){return A.RULE_matchedAction}enterRule(t){t.enterMatchedAction&&t.enterMatchedAction(this)}exitRule(t){t.exitMatchedAction&&t.exitMatchedAction(this)}accept(t){return t.visitMatchedAction?t.visitMatchedAction(this):t.visitChildren(this)}}e.MatchedActionContext=cr;class Tr extends u.ParserRuleContext{constructor(t,e){super(t,e)}INSERT(){return this.getToken(A.INSERT,0)}ASTERISK(){return this.tryGetToken(A.ASTERISK,0)}LEFT_PAREN(t){return void 0===t?this.getTokens(A.LEFT_PAREN):this.getToken(A.LEFT_PAREN,t)}RIGHT_PAREN(t){return void 0===t?this.getTokens(A.RIGHT_PAREN):this.getToken(A.RIGHT_PAREN,t)}VALUES(){return this.tryGetToken(A.VALUES,0)}expression(t){return void 0===t?this.getRuleContexts(wi):this.getRuleContext(t,wi)}multipartIdentifierList(){return this.tryGetRuleContext(0,Li)}COMMA(t){return void 0===t?this.getTokens(A.COMMA):this.getToken(A.COMMA,t)}get ruleIndex(){return A.RULE_notMatchedAction}enterRule(t){t.enterNotMatchedAction&&t.enterNotMatchedAction(this)}exitRule(t){t.exitNotMatchedAction&&t.exitNotMatchedAction(this)}accept(t){return t.visitNotMatchedAction?t.visitNotMatchedAction(this):t.visitChildren(this)}}e.NotMatchedActionContext=Tr;class Rr extends u.ParserRuleContext{DELETE(){return this.tryGetToken(A.DELETE,0)}UPDATE(){return this.tryGetToken(A.UPDATE,0)}SET(){return this.tryGetToken(A.SET,0)}assignmentList(){return this.tryGetRuleContext(0,pr)}constructor(t,e){super(t,e)}get ruleIndex(){return A.RULE_notMatchedBySourceAction}enterRule(t){t.enterNotMatchedBySourceAction&&t.enterNotMatchedBySourceAction(this)}exitRule(t){t.exitNotMatchedBySourceAction&&t.exitNotMatchedBySourceAction(this)}accept(t){return t.visitNotMatchedBySourceAction?t.visitNotMatchedBySourceAction(this):t.visitChildren(this)}}e.NotMatchedBySourceActionContext=Rr;class pr extends u.ParserRuleContext{assignment(t){return void 0===t?this.getRuleContexts(Sr):this.getRuleContext(t,Sr)}COMMA(t){return void 0===t?this.getTokens(A.COMMA):this.getToken(A.COMMA,t)}constructor(t,e){super(t,e)}get ruleIndex(){return A.RULE_assignmentList}enterRule(t){t.enterAssignmentList&&t.enterAssignmentList(this)}exitRule(t){t.exitAssignmentList&&t.exitAssignmentList(this)}accept(t){return t.visitAssignmentList?t.visitAssignmentList(this):t.visitChildren(this)}}e.AssignmentListContext=pr;class Sr extends u.ParserRuleContext{constructor(t,e){super(t,e)}EQ(){return this.getToken(A.EQ,0)}multipartIdentifier(){return this.getRuleContext(0,fi)}expression(){return this.getRuleContext(0,wi)}get ruleIndex(){return A.RULE_assignment}enterRule(t){t.enterAssignment&&t.enterAssignment(this)}exitRule(t){t.exitAssignment&&t.exitAssignment(this)}accept(t){return t.visitAssignment?t.visitAssignment(this):t.visitChildren(this)}}e.AssignmentContext=Sr;class Ar extends u.ParserRuleContext{WHERE(){return this.getToken(A.WHERE,0)}booleanExpression(){return this.getRuleContext(0,Wi)}constructor(t,e){super(t,e)}get ruleIndex(){return A.RULE_whereClause}enterRule(t){t.enterWhereClause&&t.enterWhereClause(this)}exitRule(t){t.exitWhereClause&&t.exitWhereClause(this)}accept(t){return t.visitWhereClause?t.visitWhereClause(this):t.visitChildren(this)}}e.WhereClauseContext=Ar;class dr extends u.ParserRuleContext{HAVING(){return this.getToken(A.HAVING,0)}booleanExpression(){return this.getRuleContext(0,Wi)}constructor(t,e){super(t,e)}get ruleIndex(){return A.RULE_havingClause}enterRule(t){t.enterHavingClause&&t.enterHavingClause(this)}exitRule(t){t.exitHavingClause&&t.exitHavingClause(this)}accept(t){return t.visitHavingClause?t.visitHavingClause(this):t.visitChildren(this)}}e.HavingClauseContext=dr;class Nr extends u.ParserRuleContext{constructor(t,e){super(t,e),this._hintStatements=[]}HENT_START(){return this.getToken(A.HENT_START,0)}HENT_END(){return this.getToken(A.HENT_END,0)}hintStatement(t){return void 0===t?this.getRuleContexts(Or):this.getRuleContext(t,Or)}COMMA(t){return void 0===t?this.getTokens(A.COMMA):this.getToken(A.COMMA,t)}get ruleIndex(){return A.RULE_hint}enterRule(t){t.enterHint&&t.enterHint(this)}exitRule(t){t.exitHint&&t.exitHint(this)}accept(t){return t.visitHint?t.visitHint(this):t.visitChildren(this)}}e.HintContext=Nr;class Or extends u.ParserRuleContext{constructor(t,e){super(t,e),this._parameters=[]}identifier(){return this.getRuleContext(0,vs)}LEFT_PAREN(){return this.tryGetToken(A.LEFT_PAREN,0)}RIGHT_PAREN(){return this.tryGetToken(A.RIGHT_PAREN,0)}primaryExpression(t){return void 0===t?this.getRuleContexts(rn):this.getRuleContext(t,rn)}COMMA(t){return void 0===t?this.getTokens(A.COMMA):this.getToken(A.COMMA,t)}get ruleIndex(){return A.RULE_hintStatement}enterRule(t){t.enterHintStatement&&t.enterHintStatement(this)}exitRule(t){t.exitHintStatement&&t.exitHintStatement(this)}accept(t){return t.visitHintStatement?t.visitHintStatement(this):t.visitChildren(this)}}e.HintStatementContext=Or;class Cr extends u.ParserRuleContext{FROM(){return this.getToken(A.FROM,0)}relation(t){return void 0===t?this.getRuleContexts(Wr):this.getRuleContext(t,Wr)}COMMA(t){return void 0===t?this.getTokens(A.COMMA):this.getToken(A.COMMA,t)}lateralView(t){return void 0===t?this.getRuleContexts(Vr):this.getRuleContext(t,Vr)}pivotClause(){return this.tryGetRuleContext(0,xr)}unpivotClause(){return this.tryGetRuleContext(0,Dr)}constructor(t,e){super(t,e)}get ruleIndex(){return A.RULE_fromClause}enterRule(t){t.enterFromClause&&t.enterFromClause(this)}exitRule(t){t.exitFromClause&&t.exitFromClause(this)}accept(t){return t.visitFromClause?t.visitFromClause(this):t.visitChildren(this)}}e.FromClauseContext=Cr;class _r extends u.ParserRuleContext{constructor(t,e){super(t,e)}AS(){return this.getToken(A.AS,0)}OF(){return this.getToken(A.OF,0)}version(){return this.tryGetRuleContext(0,Zs)}SYSTEM_VERSION(){return this.tryGetToken(A.SYSTEM_VERSION,0)}VERSION(){return this.tryGetToken(A.VERSION,0)}FOR(){return this.tryGetToken(A.FOR,0)}SYSTEM_TIME(){return this.tryGetToken(A.SYSTEM_TIME,0)}TIMESTAMP(){return this.tryGetToken(A.TIMESTAMP,0)}valueExpression(){return this.tryGetRuleContext(0,zi)}get ruleIndex(){return A.RULE_temporalClause}enterRule(t){t.enterTemporalClause&&t.enterTemporalClause(this)}exitRule(t){t.exitTemporalClause&&t.exitTemporalClause(this)}accept(t){return t.visitTemporalClause?t.visitTemporalClause(this):t.visitChildren(this)}}e.TemporalClauseContext=_r;class Ir extends u.ParserRuleContext{constructor(t,e){super(t,e),this._groupingExpressionsWithGroupingAnalytics=[],this._groupingExpressions=[]}GROUP(){return this.getToken(A.GROUP,0)}BY(){return this.getToken(A.BY,0)}groupByClause(t){return void 0===t?this.getRuleContexts(Lr):this.getRuleContext(t,Lr)}COMMA(t){return void 0===t?this.getTokens(A.COMMA):this.getToken(A.COMMA,t)}expression(t){return void 0===t?this.getRuleContexts(wi):this.getRuleContext(t,wi)}WITH(){return this.tryGetToken(A.WITH,0)}SETS(){return this.tryGetToken(A.SETS,0)}LEFT_PAREN(){return this.tryGetToken(A.LEFT_PAREN,0)}groupingSet(t){return void 0===t?this.getRuleContexts(yr):this.getRuleContext(t,yr)}RIGHT_PAREN(){return this.tryGetToken(A.RIGHT_PAREN,0)}ROLLUP(){return this.tryGetToken(A.ROLLUP,0)}CUBE(){return this.tryGetToken(A.CUBE,0)}GROUPING(){return this.tryGetToken(A.GROUPING,0)}get ruleIndex(){return A.RULE_aggregationClause}enterRule(t){t.enterAggregationClause&&t.enterAggregationClause(this)}exitRule(t){t.exitAggregationClause&&t.exitAggregationClause(this)}accept(t){return t.visitAggregationClause?t.visitAggregationClause(this):t.visitChildren(this)}}e.AggregationClauseContext=Ir;class Lr extends u.ParserRuleContext{groupingAnalytics(){return this.tryGetRuleContext(0,fr)}expression(){return this.tryGetRuleContext(0,wi)}constructor(t,e){super(t,e)}get ruleIndex(){return A.RULE_groupByClause}enterRule(t){t.enterGroupByClause&&t.enterGroupByClause(this)}exitRule(t){t.exitGroupByClause&&t.exitGroupByClause(this)}accept(t){return t.visitGroupByClause?t.visitGroupByClause(this):t.visitChildren(this)}}e.GroupByClauseContext=Lr;class fr extends u.ParserRuleContext{LEFT_PAREN(){return this.getToken(A.LEFT_PAREN,0)}groupingSet(t){return void 0===t?this.getRuleContexts(yr):this.getRuleContext(t,yr)}RIGHT_PAREN(){return this.getToken(A.RIGHT_PAREN,0)}ROLLUP(){return this.tryGetToken(A.ROLLUP,0)}CUBE(){return this.tryGetToken(A.CUBE,0)}COMMA(t){return void 0===t?this.getTokens(A.COMMA):this.getToken(A.COMMA,t)}GROUPING(){return this.tryGetToken(A.GROUPING,0)}SETS(){return this.tryGetToken(A.SETS,0)}groupingElement(t){return void 0===t?this.getRuleContexts(mr):this.getRuleContext(t,mr)}constructor(t,e){super(t,e)}get ruleIndex(){return A.RULE_groupingAnalytics}enterRule(t){t.enterGroupingAnalytics&&t.enterGroupingAnalytics(this)}exitRule(t){t.exitGroupingAnalytics&&t.exitGroupingAnalytics(this)}accept(t){return t.visitGroupingAnalytics?t.visitGroupingAnalytics(this):t.visitChildren(this)}}e.GroupingAnalyticsContext=fr;class mr extends u.ParserRuleContext{groupingAnalytics(){return this.tryGetRuleContext(0,fr)}groupingSet(){return this.tryGetRuleContext(0,yr)}constructor(t,e){super(t,e)}get ruleIndex(){return A.RULE_groupingElement}enterRule(t){t.enterGroupingElement&&t.enterGroupingElement(this)}exitRule(t){t.exitGroupingElement&&t.exitGroupingElement(this)}accept(t){return t.visitGroupingElement?t.visitGroupingElement(this):t.visitChildren(this)}}e.GroupingElementContext=mr;class yr extends u.ParserRuleContext{LEFT_PAREN(){return this.tryGetToken(A.LEFT_PAREN,0)}RIGHT_PAREN(){return this.tryGetToken(A.RIGHT_PAREN,0)}expression(t){return void 0===t?this.getRuleContexts(wi):this.getRuleContext(t,wi)}COMMA(t){return void 0===t?this.getTokens(A.COMMA):this.getToken(A.COMMA,t)}constructor(t,e){super(t,e)}get ruleIndex(){return A.RULE_groupingSet}enterRule(t){t.enterGroupingSet&&t.enterGroupingSet(this)}exitRule(t){t.exitGroupingSet&&t.exitGroupingSet(this)}accept(t){return t.visitGroupingSet?t.visitGroupingSet(this):t.visitChildren(this)}}e.GroupingSetContext=yr;class xr extends u.ParserRuleContext{constructor(t,e){super(t,e),this._pivotValues=[]}PIVOT(){return this.getToken(A.PIVOT,0)}LEFT_PAREN(t){return void 0===t?this.getTokens(A.LEFT_PAREN):this.getToken(A.LEFT_PAREN,t)}FOR(){return this.getToken(A.FOR,0)}pivotColumn(){return this.getRuleContext(0,gr)}IN(){return this.getToken(A.IN,0)}RIGHT_PAREN(t){return void 0===t?this.getTokens(A.RIGHT_PAREN):this.getToken(A.RIGHT_PAREN,t)}namedExpressionSeq(){return this.getRuleContext(0,Di)}pivotValue(t){return void 0===t?this.getRuleContexts(Pr):this.getRuleContext(t,Pr)}COMMA(t){return void 0===t?this.getTokens(A.COMMA):this.getToken(A.COMMA,t)}get ruleIndex(){return A.RULE_pivotClause}enterRule(t){t.enterPivotClause&&t.enterPivotClause(this)}exitRule(t){t.exitPivotClause&&t.exitPivotClause(this)}accept(t){return t.visitPivotClause?t.visitPivotClause(this):t.visitChildren(this)}}e.PivotClauseContext=xr;class gr extends u.ParserRuleContext{constructor(t,e){super(t,e),this._identifiers=[]}identifier(t){return void 0===t?this.getRuleContexts(vs):this.getRuleContext(t,vs)}LEFT_PAREN(){return this.tryGetToken(A.LEFT_PAREN,0)}RIGHT_PAREN(){return this.tryGetToken(A.RIGHT_PAREN,0)}COMMA(t){return void 0===t?this.getTokens(A.COMMA):this.getToken(A.COMMA,t)}get ruleIndex(){return A.RULE_pivotColumn}enterRule(t){t.enterPivotColumn&&t.enterPivotColumn(this)}exitRule(t){t.exitPivotColumn&&t.exitPivotColumn(this)}accept(t){return t.visitPivotColumn?t.visitPivotColumn(this):t.visitChildren(this)}}e.PivotColumnContext=gr;class Pr extends u.ParserRuleContext{expression(){return this.getRuleContext(0,wi)}identifier(){return this.tryGetRuleContext(0,vs)}AS(){return this.tryGetToken(A.AS,0)}constructor(t,e){super(t,e)}get ruleIndex(){return A.RULE_pivotValue}enterRule(t){t.enterPivotValue&&t.enterPivotValue(this)}exitRule(t){t.exitPivotValue&&t.exitPivotValue(this)}accept(t){return t.visitPivotValue?t.visitPivotValue(this):t.visitChildren(this)}}e.PivotValueContext=Pr;class Dr extends u.ParserRuleContext{constructor(t,e){super(t,e)}UNPIVOT(){return this.getToken(A.UNPIVOT,0)}LEFT_PAREN(){return this.getToken(A.LEFT_PAREN,0)}RIGHT_PAREN(){return this.getToken(A.RIGHT_PAREN,0)}unpivotOperator(){return this.getRuleContext(0,vr)}identifier(){return this.tryGetRuleContext(0,vs)}unpivotNullClause(){return this.tryGetRuleContext(0,Mr)}AS(){return this.tryGetToken(A.AS,0)}get ruleIndex(){return A.RULE_unpivotClause}enterRule(t){t.enterUnpivotClause&&t.enterUnpivotClause(this)}exitRule(t){t.exitUnpivotClause&&t.exitUnpivotClause(this)}accept(t){return t.visitUnpivotClause?t.visitUnpivotClause(this):t.visitChildren(this)}}e.UnpivotClauseContext=Dr;class Mr extends u.ParserRuleContext{NULLS(){return this.getToken(A.NULLS,0)}INCLUDE(){return this.tryGetToken(A.INCLUDE,0)}EXCLUDE(){return this.tryGetToken(A.EXCLUDE,0)}constructor(t,e){super(t,e)}get ruleIndex(){return A.RULE_unpivotNullClause}enterRule(t){t.enterUnpivotNullClause&&t.enterUnpivotNullClause(this)}exitRule(t){t.exitUnpivotNullClause&&t.exitUnpivotNullClause(this)}accept(t){return t.visitUnpivotNullClause?t.visitUnpivotNullClause(this):t.visitChildren(this)}}e.UnpivotNullClauseContext=Mr;class vr extends u.ParserRuleContext{unpivotSingleValueColumnClause(){return this.tryGetRuleContext(0,Ur)}unpivotMultiValueColumnClause(){return this.tryGetRuleContext(0,kr)}constructor(t,e){super(t,e)}get ruleIndex(){return A.RULE_unpivotOperator}enterRule(t){t.enterUnpivotOperator&&t.enterUnpivotOperator(this)}exitRule(t){t.exitUnpivotOperator&&t.exitUnpivotOperator(this)}accept(t){return t.visitUnpivotOperator?t.visitUnpivotOperator(this):t.visitChildren(this)}}e.UnpivotOperatorContext=vr;class Ur extends u.ParserRuleContext{constructor(t,e){super(t,e),this._unpivotColumns=[]}unpivotValueColumn(){return this.getRuleContext(0,Gr)}FOR(){return this.getToken(A.FOR,0)}unpivotNameColumn(){return this.getRuleContext(0,Fr)}IN(){return this.getToken(A.IN,0)}LEFT_PAREN(){return this.getToken(A.LEFT_PAREN,0)}RIGHT_PAREN(){return this.getToken(A.RIGHT_PAREN,0)}unpivotColumnAndAlias(t){return void 0===t?this.getRuleContexts(Hr):this.getRuleContext(t,Hr)}COMMA(t){return void 0===t?this.getTokens(A.COMMA):this.getToken(A.COMMA,t)}get ruleIndex(){return A.RULE_unpivotSingleValueColumnClause}enterRule(t){t.enterUnpivotSingleValueColumnClause&&t.enterUnpivotSingleValueColumnClause(this)}exitRule(t){t.exitUnpivotSingleValueColumnClause&&t.exitUnpivotSingleValueColumnClause(this)}accept(t){return t.visitUnpivotSingleValueColumnClause?t.visitUnpivotSingleValueColumnClause(this):t.visitChildren(this)}}e.UnpivotSingleValueColumnClauseContext=Ur;class kr extends u.ParserRuleContext{constructor(t,e){super(t,e),this._unpivotValueColumns=[],this._unpivotColumnSets=[]}LEFT_PAREN(t){return void 0===t?this.getTokens(A.LEFT_PAREN):this.getToken(A.LEFT_PAREN,t)}RIGHT_PAREN(t){return void 0===t?this.getTokens(A.RIGHT_PAREN):this.getToken(A.RIGHT_PAREN,t)}FOR(){return this.getToken(A.FOR,0)}unpivotNameColumn(){return this.getRuleContext(0,Fr)}IN(){return this.getToken(A.IN,0)}unpivotValueColumn(t){return void 0===t?this.getRuleContexts(Gr):this.getRuleContext(t,Gr)}unpivotColumnSet(t){return void 0===t?this.getRuleContexts(br):this.getRuleContext(t,br)}COMMA(t){return void 0===t?this.getTokens(A.COMMA):this.getToken(A.COMMA,t)}get ruleIndex(){return A.RULE_unpivotMultiValueColumnClause}enterRule(t){t.enterUnpivotMultiValueColumnClause&&t.enterUnpivotMultiValueColumnClause(this)}exitRule(t){t.exitUnpivotMultiValueColumnClause&&t.exitUnpivotMultiValueColumnClause(this)}accept(t){return t.visitUnpivotMultiValueColumnClause?t.visitUnpivotMultiValueColumnClause(this):t.visitChildren(this)}}e.UnpivotMultiValueColumnClauseContext=kr;class br extends u.ParserRuleContext{constructor(t,e){super(t,e),this._unpivotColumns=[]}LEFT_PAREN(){return this.getToken(A.LEFT_PAREN,0)}RIGHT_PAREN(){return this.getToken(A.RIGHT_PAREN,0)}unpivotColumn(t){return void 0===t?this.getRuleContexts(wr):this.getRuleContext(t,wr)}COMMA(t){return void 0===t?this.getTokens(A.COMMA):this.getToken(A.COMMA,t)}unpivotAlias(){return this.tryGetRuleContext(0,Br)}get ruleIndex(){return A.RULE_unpivotColumnSet}enterRule(t){t.enterUnpivotColumnSet&&t.enterUnpivotColumnSet(this)}exitRule(t){t.exitUnpivotColumnSet&&t.exitUnpivotColumnSet(this)}accept(t){return t.visitUnpivotColumnSet?t.visitUnpivotColumnSet(this):t.visitChildren(this)}}e.UnpivotColumnSetContext=br;class Gr extends u.ParserRuleContext{identifier(){return this.getRuleContext(0,vs)}constructor(t,e){super(t,e)}get ruleIndex(){return A.RULE_unpivotValueColumn}enterRule(t){t.enterUnpivotValueColumn&&t.enterUnpivotValueColumn(this)}exitRule(t){t.exitUnpivotValueColumn&&t.exitUnpivotValueColumn(this)}accept(t){return t.visitUnpivotValueColumn?t.visitUnpivotValueColumn(this):t.visitChildren(this)}}e.UnpivotValueColumnContext=Gr;class Fr extends u.ParserRuleContext{identifier(){return this.getRuleContext(0,vs)}constructor(t,e){super(t,e)}get ruleIndex(){return A.RULE_unpivotNameColumn}enterRule(t){t.enterUnpivotNameColumn&&t.enterUnpivotNameColumn(this)}exitRule(t){t.exitUnpivotNameColumn&&t.exitUnpivotNameColumn(this)}accept(t){return t.visitUnpivotNameColumn?t.visitUnpivotNameColumn(this):t.visitChildren(this)}}e.UnpivotNameColumnContext=Fr;class Hr extends u.ParserRuleContext{unpivotColumn(){return this.getRuleContext(0,wr)}unpivotAlias(){return this.tryGetRuleContext(0,Br)}constructor(t,e){super(t,e)}get ruleIndex(){return A.RULE_unpivotColumnAndAlias}enterRule(t){t.enterUnpivotColumnAndAlias&&t.enterUnpivotColumnAndAlias(this)}exitRule(t){t.exitUnpivotColumnAndAlias&&t.exitUnpivotColumnAndAlias(this)}accept(t){return t.visitUnpivotColumnAndAlias?t.visitUnpivotColumnAndAlias(this):t.visitChildren(this)}}e.UnpivotColumnAndAliasContext=Hr;class wr extends u.ParserRuleContext{multipartIdentifier(){return this.getRuleContext(0,fi)}constructor(t,e){super(t,e)}get ruleIndex(){return A.RULE_unpivotColumn}enterRule(t){t.enterUnpivotColumn&&t.enterUnpivotColumn(this)}exitRule(t){t.exitUnpivotColumn&&t.exitUnpivotColumn(this)}accept(t){return t.visitUnpivotColumn?t.visitUnpivotColumn(this):t.visitChildren(this)}}e.UnpivotColumnContext=wr;class Br extends u.ParserRuleContext{identifier(){return this.getRuleContext(0,vs)}AS(){return this.tryGetToken(A.AS,0)}constructor(t,e){super(t,e)}get ruleIndex(){return A.RULE_unpivotAlias}enterRule(t){t.enterUnpivotAlias&&t.enterUnpivotAlias(this)}exitRule(t){t.exitUnpivotAlias&&t.exitUnpivotAlias(this)}accept(t){return t.visitUnpivotAlias?t.visitUnpivotAlias(this):t.visitChildren(this)}}e.UnpivotAliasContext=Br;class Vr extends u.ParserRuleContext{constructor(t,e){super(t,e),this._colName=[]}LATERAL(){return this.getToken(A.LATERAL,0)}VIEW(){return this.getToken(A.VIEW,0)}qualifiedName(){return this.getRuleContext(0,xs)}LEFT_PAREN(){return this.getToken(A.LEFT_PAREN,0)}RIGHT_PAREN(){return this.getToken(A.RIGHT_PAREN,0)}identifier(t){return void 0===t?this.getRuleContexts(vs):this.getRuleContext(t,vs)}OUTER(){return this.tryGetToken(A.OUTER,0)}expression(t){return void 0===t?this.getRuleContexts(wi):this.getRuleContext(t,wi)}COMMA(t){return void 0===t?this.getTokens(A.COMMA):this.getToken(A.COMMA,t)}AS(){return this.tryGetToken(A.AS,0)}get ruleIndex(){return A.RULE_lateralView}enterRule(t){t.enterLateralView&&t.enterLateralView(this)}exitRule(t){t.exitLateralView&&t.exitLateralView(this)}accept(t){return t.visitLateralView?t.visitLateralView(this):t.visitChildren(this)}}e.LateralViewContext=Vr;class Yr extends u.ParserRuleContext{DISTINCT(){return this.tryGetToken(A.DISTINCT,0)}ALL(){return this.tryGetToken(A.ALL,0)}constructor(t,e){super(t,e)}get ruleIndex(){return A.RULE_setQuantifier}enterRule(t){t.enterSetQuantifier&&t.enterSetQuantifier(this)}exitRule(t){t.exitSetQuantifier&&t.exitSetQuantifier(this)}accept(t){return t.visitSetQuantifier?t.visitSetQuantifier(this):t.visitChildren(this)}}e.SetQuantifierContext=Yr;class Wr extends u.ParserRuleContext{relationPrimary(){return this.getRuleContext(0,ai)}LATERAL(){return this.tryGetToken(A.LATERAL,0)}relationExtension(t){return void 0===t?this.getRuleContexts(Kr):this.getRuleContext(t,Kr)}constructor(t,e){super(t,e)}get ruleIndex(){return A.RULE_relation}enterRule(t){t.enterRelation&&t.enterRelation(this)}exitRule(t){t.exitRelation&&t.exitRelation(this)}accept(t){return t.visitRelation?t.visitRelation(this):t.visitChildren(this)}}e.RelationContext=Wr;class Kr extends u.ParserRuleContext{joinRelation(){return this.tryGetRuleContext(0,Xr)}pivotClause(){return this.tryGetRuleContext(0,xr)}unpivotClause(){return this.tryGetRuleContext(0,Dr)}constructor(t,e){super(t,e)}get ruleIndex(){return A.RULE_relationExtension}enterRule(t){t.enterRelationExtension&&t.enterRelationExtension(this)}exitRule(t){t.exitRelationExtension&&t.exitRelationExtension(this)}accept(t){return t.visitRelationExtension?t.visitRelationExtension(this):t.visitChildren(this)}}e.RelationExtensionContext=Kr;class Xr extends u.ParserRuleContext{constructor(t,e){super(t,e)}JOIN(){return this.getToken(A.JOIN,0)}relationPrimary(){return this.getRuleContext(0,ai)}joinType(){return this.tryGetRuleContext(0,qr)}LATERAL(){return this.tryGetToken(A.LATERAL,0)}joinCriteria(){return this.tryGetRuleContext(0,jr)}NATURAL(){return this.tryGetToken(A.NATURAL,0)}get ruleIndex(){return A.RULE_joinRelation}enterRule(t){t.enterJoinRelation&&t.enterJoinRelation(this)}exitRule(t){t.exitJoinRelation&&t.exitJoinRelation(this)}accept(t){return t.visitJoinRelation?t.visitJoinRelation(this):t.visitChildren(this)}}e.JoinRelationContext=Xr;class qr extends u.ParserRuleContext{INNER(){return this.tryGetToken(A.INNER,0)}CROSS(){return this.tryGetToken(A.CROSS,0)}LEFT(){return this.tryGetToken(A.LEFT,0)}OUTER(){return this.tryGetToken(A.OUTER,0)}SEMI(){return this.tryGetToken(A.SEMI,0)}RIGHT(){return this.tryGetToken(A.RIGHT,0)}FULL(){return this.tryGetToken(A.FULL,0)}ANTI(){return this.tryGetToken(A.ANTI,0)}constructor(t,e){super(t,e)}get ruleIndex(){return A.RULE_joinType}enterRule(t){t.enterJoinType&&t.enterJoinType(this)}exitRule(t){t.exitJoinType&&t.exitJoinType(this)}accept(t){return t.visitJoinType?t.visitJoinType(this):t.visitChildren(this)}}e.JoinTypeContext=qr;class jr extends u.ParserRuleContext{ON(){return this.tryGetToken(A.ON,0)}booleanExpression(){return this.tryGetRuleContext(0,Wi)}USING(){return this.tryGetToken(A.USING,0)}identifierList(){return this.tryGetRuleContext(0,ei)}constructor(t,e){super(t,e)}get ruleIndex(){return A.RULE_joinCriteria}enterRule(t){t.enterJoinCriteria&&t.enterJoinCriteria(this)}exitRule(t){t.exitJoinCriteria&&t.exitJoinCriteria(this)}accept(t){return t.visitJoinCriteria?t.visitJoinCriteria(this):t.visitChildren(this)}}e.JoinCriteriaContext=jr;class Qr extends u.ParserRuleContext{constructor(t,e){super(t,e)}TABLESAMPLE(){return this.getToken(A.TABLESAMPLE,0)}LEFT_PAREN(t){return void 0===t?this.getTokens(A.LEFT_PAREN):this.getToken(A.LEFT_PAREN,t)}RIGHT_PAREN(t){return void 0===t?this.getTokens(A.RIGHT_PAREN):this.getToken(A.RIGHT_PAREN,t)}sampleMethod(){return this.tryGetRuleContext(0,zr)}REPEATABLE(){return this.tryGetToken(A.REPEATABLE,0)}INTEGER_VALUE(){return this.tryGetToken(A.INTEGER_VALUE,0)}get ruleIndex(){return A.RULE_sample}enterRule(t){t.enterSample&&t.enterSample(this)}exitRule(t){t.exitSample&&t.exitSample(this)}accept(t){return t.visitSample?t.visitSample(this):t.visitChildren(this)}}e.SampleContext=Qr;class zr extends u.ParserRuleContext{constructor(t,e){super(t,e)}get ruleIndex(){return A.RULE_sampleMethod}copyFrom(t){super.copyFrom(t)}}e.SampleMethodContext=zr;class $r extends zr{constructor(t){super(t.parent,t.invokingState),this.copyFrom(t)}PERCENTLIT(){return this.getToken(A.PERCENTLIT,0)}INTEGER_VALUE(){return this.tryGetToken(A.INTEGER_VALUE,0)}DECIMAL_VALUE(){return this.tryGetToken(A.DECIMAL_VALUE,0)}MINUS(){return this.tryGetToken(A.MINUS,0)}enterRule(t){t.enterSampleByPercentile&&t.enterSampleByPercentile(this)}exitRule(t){t.exitSampleByPercentile&&t.exitSampleByPercentile(this)}accept(t){return t.visitSampleByPercentile?t.visitSampleByPercentile(this):t.visitChildren(this)}}e.SampleByPercentileContext=$r;class Jr extends zr{expression(){return this.getRuleContext(0,wi)}ROWS(){return this.getToken(A.ROWS,0)}constructor(t){super(t.parent,t.invokingState),this.copyFrom(t)}enterRule(t){t.enterSampleByRows&&t.enterSampleByRows(this)}exitRule(t){t.exitSampleByRows&&t.exitSampleByRows(this)}accept(t){return t.visitSampleByRows?t.visitSampleByRows(this):t.visitChildren(this)}}e.SampleByRowsContext=Jr;class Zr extends zr{constructor(t){super(t.parent,t.invokingState),this.copyFrom(t)}OUT(){return this.getToken(A.OUT,0)}OF(){return this.getToken(A.OF,0)}BUCKET(){return this.getToken(A.BUCKET,0)}INTEGER_VALUE(t){return void 0===t?this.getTokens(A.INTEGER_VALUE):this.getToken(A.INTEGER_VALUE,t)}ON(){return this.tryGetToken(A.ON,0)}identifier(){return this.tryGetRuleContext(0,vs)}qualifiedName(){return this.tryGetRuleContext(0,xs)}LEFT_PAREN(){return this.tryGetToken(A.LEFT_PAREN,0)}RIGHT_PAREN(){return this.tryGetToken(A.RIGHT_PAREN,0)}enterRule(t){t.enterSampleByBucket&&t.enterSampleByBucket(this)}exitRule(t){t.exitSampleByBucket&&t.exitSampleByBucket(this)}accept(t){return t.visitSampleByBucket?t.visitSampleByBucket(this):t.visitChildren(this)}}e.SampleByBucketContext=Zr;class ti extends zr{constructor(t){super(t.parent,t.invokingState),this.copyFrom(t)}expression(){return this.getRuleContext(0,wi)}enterRule(t){t.enterSampleByBytes&&t.enterSampleByBytes(this)}exitRule(t){t.exitSampleByBytes&&t.exitSampleByBytes(this)}accept(t){return t.visitSampleByBytes?t.visitSampleByBytes(this):t.visitChildren(this)}}e.SampleByBytesContext=ti;class ei extends u.ParserRuleContext{LEFT_PAREN(){return this.getToken(A.LEFT_PAREN,0)}identifierSeq(){return this.getRuleContext(0,ri)}RIGHT_PAREN(){return this.getToken(A.RIGHT_PAREN,0)}constructor(t,e){super(t,e)}get ruleIndex(){return A.RULE_identifierList}enterRule(t){t.enterIdentifierList&&t.enterIdentifierList(this)}exitRule(t){t.exitIdentifierList&&t.exitIdentifierList(this)}accept(t){return t.visitIdentifierList?t.visitIdentifierList(this):t.visitChildren(this)}}e.IdentifierListContext=ei;class ri extends u.ParserRuleContext{constructor(t,e){super(t,e),this._ident=[]}errorCapturingIdentifier(t){return void 0===t?this.getRuleContexts(gs):this.getRuleContext(t,gs)}COMMA(t){return void 0===t?this.getTokens(A.COMMA):this.getToken(A.COMMA,t)}get ruleIndex(){return A.RULE_identifierSeq}enterRule(t){t.enterIdentifierSeq&&t.enterIdentifierSeq(this)}exitRule(t){t.exitIdentifierSeq&&t.exitIdentifierSeq(this)}accept(t){return t.visitIdentifierSeq?t.visitIdentifierSeq(this):t.visitChildren(this)}}e.IdentifierSeqContext=ri;class ii extends u.ParserRuleContext{LEFT_PAREN(){return this.getToken(A.LEFT_PAREN,0)}orderedIdentifier(t){return void 0===t?this.getRuleContexts(ni):this.getRuleContext(t,ni)}RIGHT_PAREN(){return this.getToken(A.RIGHT_PAREN,0)}COMMA(t){return void 0===t?this.getTokens(A.COMMA):this.getToken(A.COMMA,t)}constructor(t,e){super(t,e)}get ruleIndex(){return A.RULE_orderedIdentifierList}enterRule(t){t.enterOrderedIdentifierList&&t.enterOrderedIdentifierList(this)}exitRule(t){t.exitOrderedIdentifierList&&t.exitOrderedIdentifierList(this)}accept(t){return t.visitOrderedIdentifierList?t.visitOrderedIdentifierList(this):t.visitChildren(this)}}e.OrderedIdentifierListContext=ii;class ni extends u.ParserRuleContext{constructor(t,e){super(t,e)}errorCapturingIdentifier(){return this.getRuleContext(0,gs)}ASC(){return this.tryGetToken(A.ASC,0)}DESC(){return this.tryGetToken(A.DESC,0)}get ruleIndex(){return A.RULE_orderedIdentifier}enterRule(t){t.enterOrderedIdentifier&&t.enterOrderedIdentifier(this)}exitRule(t){t.exitOrderedIdentifier&&t.exitOrderedIdentifier(this)}accept(t){return t.visitOrderedIdentifier?t.visitOrderedIdentifier(this):t.visitChildren(this)}}e.OrderedIdentifierContext=ni;class si extends u.ParserRuleContext{LEFT_PAREN(){return this.getToken(A.LEFT_PAREN,0)}identifierComment(t){return void 0===t?this.getRuleContexts(oi):this.getRuleContext(t,oi)}RIGHT_PAREN(){return this.getToken(A.RIGHT_PAREN,0)}COMMA(t){return void 0===t?this.getTokens(A.COMMA):this.getToken(A.COMMA,t)}constructor(t,e){super(t,e)}get ruleIndex(){return A.RULE_identifierCommentList}enterRule(t){t.enterIdentifierCommentList&&t.enterIdentifierCommentList(this)}exitRule(t){t.exitIdentifierCommentList&&t.exitIdentifierCommentList(this)}accept(t){return t.visitIdentifierCommentList?t.visitIdentifierCommentList(this):t.visitChildren(this)}}e.IdentifierCommentListContext=si;class oi extends u.ParserRuleContext{identifier(){return this.getRuleContext(0,vs)}commentSpec(){return this.tryGetRuleContext(0,ie)}constructor(t,e){super(t,e)}get ruleIndex(){return A.RULE_identifierComment}enterRule(t){t.enterIdentifierComment&&t.enterIdentifierComment(this)}exitRule(t){t.exitIdentifierComment&&t.exitIdentifierComment(this)}accept(t){return t.visitIdentifierComment?t.visitIdentifierComment(this):t.visitChildren(this)}}e.IdentifierCommentContext=oi;class ai extends u.ParserRuleContext{constructor(t,e){super(t,e)}get ruleIndex(){return A.RULE_relationPrimary}copyFrom(t){super.copyFrom(t)}}e.RelationPrimaryContext=ai;class Ei extends ai{identifierReference(){return this.getRuleContext(0,Ve)}tableAlias(){return this.getRuleContext(0,Oi)}temporalClause(){return this.tryGetRuleContext(0,_r)}sample(){return this.tryGetRuleContext(0,Qr)}constructor(t){super(t.parent,t.invokingState),this.copyFrom(t)}enterRule(t){t.enterTableName&&t.enterTableName(this)}exitRule(t){t.exitTableName&&t.exitTableName(this)}accept(t){return t.visitTableName?t.visitTableName(this):t.visitChildren(this)}}e.TableNameContext=Ei;class hi extends ai{LEFT_PAREN(){return this.getToken(A.LEFT_PAREN,0)}query(){return this.getRuleContext(0,ne)}RIGHT_PAREN(){return this.getToken(A.RIGHT_PAREN,0)}tableAlias(){return this.getRuleContext(0,Oi)}sample(){return this.tryGetRuleContext(0,Qr)}constructor(t){super(t.parent,t.invokingState),this.copyFrom(t)}enterRule(t){t.enterAliasedQuery&&t.enterAliasedQuery(this)}exitRule(t){t.exitAliasedQuery&&t.exitAliasedQuery(this)}accept(t){return t.visitAliasedQuery?t.visitAliasedQuery(this):t.visitChildren(this)}}e.AliasedQueryContext=hi;class li extends ai{LEFT_PAREN(){return this.getToken(A.LEFT_PAREN,0)}relation(){return this.getRuleContext(0,Wr)}RIGHT_PAREN(){return this.getToken(A.RIGHT_PAREN,0)}tableAlias(){return this.getRuleContext(0,Oi)}sample(){return this.tryGetRuleContext(0,Qr)}constructor(t){super(t.parent,t.invokingState),this.copyFrom(t)}enterRule(t){t.enterAliasedRelation&&t.enterAliasedRelation(this)}exitRule(t){t.exitAliasedRelation&&t.exitAliasedRelation(this)}accept(t){return t.visitAliasedRelation?t.visitAliasedRelation(this):t.visitChildren(this)}}e.AliasedRelationContext=li;class ui extends ai{inlineTable(){return this.getRuleContext(0,Ti)}constructor(t){super(t.parent,t.invokingState),this.copyFrom(t)}enterRule(t){t.enterInlineTableDefault2&&t.enterInlineTableDefault2(this)}exitRule(t){t.exitInlineTableDefault2&&t.exitInlineTableDefault2(this)}accept(t){return t.visitInlineTableDefault2?t.visitInlineTableDefault2(this):t.visitChildren(this)}}e.InlineTableDefault2Context=ui;class ci extends ai{functionTable(){return this.getRuleContext(0,Ni)}constructor(t){super(t.parent,t.invokingState),this.copyFrom(t)}enterRule(t){t.enterTableValuedFunction&&t.enterTableValuedFunction(this)}exitRule(t){t.exitTableValuedFunction&&t.exitTableValuedFunction(this)}accept(t){return t.visitTableValuedFunction?t.visitTableValuedFunction(this):t.visitChildren(this)}}e.TableValuedFunctionContext=ci;class Ti extends u.ParserRuleContext{VALUES(){return this.getToken(A.VALUES,0)}expression(t){return void 0===t?this.getRuleContexts(wi):this.getRuleContext(t,wi)}tableAlias(){return this.getRuleContext(0,Oi)}COMMA(t){return void 0===t?this.getTokens(A.COMMA):this.getToken(A.COMMA,t)}constructor(t,e){super(t,e)}get ruleIndex(){return A.RULE_inlineTable}enterRule(t){t.enterInlineTable&&t.enterInlineTable(this)}exitRule(t){t.exitInlineTable&&t.exitInlineTable(this)}accept(t){return t.visitInlineTable?t.visitInlineTable(this):t.visitChildren(this)}}e.InlineTableContext=Ti;class Ri extends u.ParserRuleContext{TABLE(){return this.getToken(A.TABLE,0)}identifierReference(){return this.tryGetRuleContext(0,Ve)}tableArgumentPartitioning(){return this.tryGetRuleContext(0,pi)}LEFT_PAREN(){return this.tryGetToken(A.LEFT_PAREN,0)}RIGHT_PAREN(){return this.tryGetToken(A.RIGHT_PAREN,0)}query(){return this.tryGetRuleContext(0,ne)}constructor(t,e){super(t,e)}get ruleIndex(){return A.RULE_functionTableSubqueryArgument}enterRule(t){t.enterFunctionTableSubqueryArgument&&t.enterFunctionTableSubqueryArgument(this)}exitRule(t){t.exitFunctionTableSubqueryArgument&&t.exitFunctionTableSubqueryArgument(this)}accept(t){return t.visitFunctionTableSubqueryArgument?t.visitFunctionTableSubqueryArgument(this):t.visitChildren(this)}}e.FunctionTableSubqueryArgumentContext=Ri;class pi extends u.ParserRuleContext{BY(t){return void 0===t?this.getTokens(A.BY):this.getToken(A.BY,t)}expressionSeq(){return this.getRuleContext(0,Yi)}PARTITION(){return this.tryGetToken(A.PARTITION,0)}DISTRIBUTE(){return this.tryGetToken(A.DISTRIBUTE,0)}sortItem(t){return void 0===t?this.getRuleContexts(tr):this.getRuleContext(t,tr)}ORDER(){return this.tryGetToken(A.ORDER,0)}SORT(){return this.tryGetToken(A.SORT,0)}COMMA(t){return void 0===t?this.getTokens(A.COMMA):this.getToken(A.COMMA,t)}constructor(t,e){super(t,e)}get ruleIndex(){return A.RULE_tableArgumentPartitioning}enterRule(t){t.enterTableArgumentPartitioning&&t.enterTableArgumentPartitioning(this)}exitRule(t){t.exitTableArgumentPartitioning&&t.exitTableArgumentPartitioning(this)}accept(t){return t.visitTableArgumentPartitioning?t.visitTableArgumentPartitioning(this):t.visitChildren(this)}}e.TableArgumentPartitioningContext=pi;class Si extends u.ParserRuleContext{constructor(t,e){super(t,e)}FAT_ARROW(){return this.getToken(A.FAT_ARROW,0)}identifier(){return this.getRuleContext(0,vs)}functionTableSubqueryArgument(){return this.getRuleContext(0,Ri)}get ruleIndex(){return A.RULE_functionTableNamedArgumentExpression}enterRule(t){t.enterFunctionTableNamedArgumentExpression&&t.enterFunctionTableNamedArgumentExpression(this)}exitRule(t){t.exitFunctionTableNamedArgumentExpression&&t.exitFunctionTableNamedArgumentExpression(this)}accept(t){return t.visitFunctionTableNamedArgumentExpression?t.visitFunctionTableNamedArgumentExpression(this):t.visitChildren(this)}}e.FunctionTableNamedArgumentExpressionContext=Si;class Ai extends u.ParserRuleContext{functionTableSubqueryArgument(){return this.tryGetRuleContext(0,Ri)}functionTableNamedArgumentExpression(){return this.tryGetRuleContext(0,Si)}constructor(t,e){super(t,e)}get ruleIndex(){return A.RULE_functionTableReferenceArgument}enterRule(t){t.enterFunctionTableReferenceArgument&&t.enterFunctionTableReferenceArgument(this)}exitRule(t){t.exitFunctionTableReferenceArgument&&t.exitFunctionTableReferenceArgument(this)}accept(t){return t.visitFunctionTableReferenceArgument?t.visitFunctionTableReferenceArgument(this):t.visitChildren(this)}}e.FunctionTableReferenceArgumentContext=Ai;class di extends u.ParserRuleContext{functionTableReferenceArgument(){return this.tryGetRuleContext(0,Ai)}functionArgument(){return this.tryGetRuleContext(0,Vi)}constructor(t,e){super(t,e)}get ruleIndex(){return A.RULE_functionTableArgument}enterRule(t){t.enterFunctionTableArgument&&t.enterFunctionTableArgument(this)}exitRule(t){t.exitFunctionTableArgument&&t.exitFunctionTableArgument(this)}accept(t){return t.visitFunctionTableArgument?t.visitFunctionTableArgument(this):t.visitChildren(this)}}e.FunctionTableArgumentContext=di;class Ni extends u.ParserRuleContext{constructor(t,e){super(t,e)}LEFT_PAREN(){return this.getToken(A.LEFT_PAREN,0)}RIGHT_PAREN(){return this.getToken(A.RIGHT_PAREN,0)}tableAlias(){return this.getRuleContext(0,Oi)}functionName(){return this.getRuleContext(0,ys)}functionTableArgument(t){return void 0===t?this.getRuleContexts(di):this.getRuleContext(t,di)}COMMA(t){return void 0===t?this.getTokens(A.COMMA):this.getToken(A.COMMA,t)}get ruleIndex(){return A.RULE_functionTable}enterRule(t){t.enterFunctionTable&&t.enterFunctionTable(this)}exitRule(t){t.exitFunctionTable&&t.exitFunctionTable(this)}accept(t){return t.visitFunctionTable?t.visitFunctionTable(this):t.visitChildren(this)}}e.FunctionTableContext=Ni;class Oi extends u.ParserRuleContext{strictIdentifier(){return this.tryGetRuleContext(0,Us)}AS(){return this.tryGetToken(A.AS,0)}identifierList(){return this.tryGetRuleContext(0,ei)}constructor(t,e){super(t,e)}get ruleIndex(){return A.RULE_tableAlias}enterRule(t){t.enterTableAlias&&t.enterTableAlias(this)}exitRule(t){t.exitTableAlias&&t.exitTableAlias(this)}accept(t){return t.visitTableAlias?t.visitTableAlias(this):t.visitChildren(this)}}e.TableAliasContext=Oi;class Ci extends u.ParserRuleContext{constructor(t,e){super(t,e)}get ruleIndex(){return A.RULE_rowFormat}copyFrom(t){super.copyFrom(t)}}e.RowFormatContext=Ci;class _i extends Ci{constructor(t){super(t.parent,t.invokingState),this.copyFrom(t)}ROW(){return this.getToken(A.ROW,0)}FORMAT(){return this.getToken(A.FORMAT,0)}SERDE(){return this.getToken(A.SERDE,0)}stringLit(){return this.getRuleContext(0,$s)}WITH(){return this.tryGetToken(A.WITH,0)}SERDEPROPERTIES(){return this.tryGetToken(A.SERDEPROPERTIES,0)}propertyList(){return this.tryGetRuleContext(0,_e)}enterRule(t){t.enterRowFormatSerde&&t.enterRowFormatSerde(this)}exitRule(t){t.exitRowFormatSerde&&t.exitRowFormatSerde(this)}accept(t){return t.visitRowFormatSerde?t.visitRowFormatSerde(this):t.visitChildren(this)}}e.RowFormatSerdeContext=_i;class Ii extends Ci{constructor(t){super(t.parent,t.invokingState),this.copyFrom(t)}ROW(){return this.getToken(A.ROW,0)}FORMAT(){return this.getToken(A.FORMAT,0)}DELIMITED(){return this.getToken(A.DELIMITED,0)}FIELDS(){return this.tryGetToken(A.FIELDS,0)}TERMINATED(t){return void 0===t?this.getTokens(A.TERMINATED):this.getToken(A.TERMINATED,t)}BY(t){return void 0===t?this.getTokens(A.BY):this.getToken(A.BY,t)}COLLECTION(){return this.tryGetToken(A.COLLECTION,0)}ITEMS(){return this.tryGetToken(A.ITEMS,0)}MAP(){return this.tryGetToken(A.MAP,0)}KEYS(){return this.tryGetToken(A.KEYS,0)}LINES(){return this.tryGetToken(A.LINES,0)}NULL(){return this.tryGetToken(A.NULL,0)}DEFINED(){return this.tryGetToken(A.DEFINED,0)}AS(){return this.tryGetToken(A.AS,0)}stringLit(t){return void 0===t?this.getRuleContexts($s):this.getRuleContext(t,$s)}ESCAPED(){return this.tryGetToken(A.ESCAPED,0)}enterRule(t){t.enterRowFormatDelimited&&t.enterRowFormatDelimited(this)}exitRule(t){t.exitRowFormatDelimited&&t.exitRowFormatDelimited(this)}accept(t){return t.visitRowFormatDelimited?t.visitRowFormatDelimited(this):t.visitChildren(this)}}e.RowFormatDelimitedContext=Ii;class Li extends u.ParserRuleContext{multipartIdentifier(t){return void 0===t?this.getRuleContexts(fi):this.getRuleContext(t,fi)}COMMA(t){return void 0===t?this.getTokens(A.COMMA):this.getToken(A.COMMA,t)}constructor(t,e){super(t,e)}get ruleIndex(){return A.RULE_multipartIdentifierList}enterRule(t){t.enterMultipartIdentifierList&&t.enterMultipartIdentifierList(this)}exitRule(t){t.exitMultipartIdentifierList&&t.exitMultipartIdentifierList(this)}accept(t){return t.visitMultipartIdentifierList?t.visitMultipartIdentifierList(this):t.visitChildren(this)}}e.MultipartIdentifierListContext=Li;class fi extends u.ParserRuleContext{constructor(t,e){super(t,e),this._parts=[]}errorCapturingIdentifier(t){return void 0===t?this.getRuleContexts(gs):this.getRuleContext(t,gs)}DOT(t){return void 0===t?this.getTokens(A.DOT):this.getToken(A.DOT,t)}get ruleIndex(){return A.RULE_multipartIdentifier}enterRule(t){t.enterMultipartIdentifier&&t.enterMultipartIdentifier(this)}exitRule(t){t.exitMultipartIdentifier&&t.exitMultipartIdentifier(this)}accept(t){return t.visitMultipartIdentifier?t.visitMultipartIdentifier(this):t.visitChildren(this)}}e.MultipartIdentifierContext=fi;class mi extends u.ParserRuleContext{multipartIdentifierProperty(t){return void 0===t?this.getRuleContexts(yi):this.getRuleContext(t,yi)}COMMA(t){return void 0===t?this.getTokens(A.COMMA):this.getToken(A.COMMA,t)}constructor(t,e){super(t,e)}get ruleIndex(){return A.RULE_multipartIdentifierPropertyList}enterRule(t){t.enterMultipartIdentifierPropertyList&&t.enterMultipartIdentifierPropertyList(this)}exitRule(t){t.exitMultipartIdentifierPropertyList&&t.exitMultipartIdentifierPropertyList(this)}accept(t){return t.visitMultipartIdentifierPropertyList?t.visitMultipartIdentifierPropertyList(this):t.visitChildren(this)}}e.MultipartIdentifierPropertyListContext=mi;class yi extends u.ParserRuleContext{constructor(t,e){super(t,e)}multipartIdentifier(){return this.getRuleContext(0,fi)}OPTIONS(){return this.tryGetToken(A.OPTIONS,0)}propertyList(){return this.tryGetRuleContext(0,_e)}get ruleIndex(){return A.RULE_multipartIdentifierProperty}enterRule(t){t.enterMultipartIdentifierProperty&&t.enterMultipartIdentifierProperty(this)}exitRule(t){t.exitMultipartIdentifierProperty&&t.exitMultipartIdentifierProperty(this)}accept(t){return t.visitMultipartIdentifierProperty?t.visitMultipartIdentifierProperty(this):t.visitChildren(this)}}e.MultipartIdentifierPropertyContext=yi;class xi extends u.ParserRuleContext{constructor(t,e){super(t,e)}errorCapturingIdentifier(t){return void 0===t?this.getRuleContexts(gs):this.getRuleContext(t,gs)}DOT(){return this.tryGetToken(A.DOT,0)}get ruleIndex(){return A.RULE_tableIdentifier}enterRule(t){t.enterTableIdentifier&&t.enterTableIdentifier(this)}exitRule(t){t.exitTableIdentifier&&t.exitTableIdentifier(this)}accept(t){return t.visitTableIdentifier?t.visitTableIdentifier(this):t.visitChildren(this)}}e.TableIdentifierContext=xi;class gi extends u.ParserRuleContext{constructor(t,e){super(t,e)}errorCapturingIdentifier(t){return void 0===t?this.getRuleContexts(gs):this.getRuleContext(t,gs)}DOT(){return this.tryGetToken(A.DOT,0)}get ruleIndex(){return A.RULE_functionIdentifier}enterRule(t){t.enterFunctionIdentifier&&t.enterFunctionIdentifier(this)}exitRule(t){t.exitFunctionIdentifier&&t.exitFunctionIdentifier(this)}accept(t){return t.visitFunctionIdentifier?t.visitFunctionIdentifier(this):t.visitChildren(this)}}e.FunctionIdentifierContext=gi;class Pi extends u.ParserRuleContext{constructor(t,e){super(t,e)}expression(){return this.getRuleContext(0,wi)}identifierList(){return this.tryGetRuleContext(0,ei)}AS(){return this.tryGetToken(A.AS,0)}errorCapturingIdentifier(){return this.tryGetRuleContext(0,gs)}get ruleIndex(){return A.RULE_namedExpression}enterRule(t){t.enterNamedExpression&&t.enterNamedExpression(this)}exitRule(t){t.exitNamedExpression&&t.exitNamedExpression(this)}accept(t){return t.visitNamedExpression?t.visitNamedExpression(this):t.visitChildren(this)}}e.NamedExpressionContext=Pi;class Di extends u.ParserRuleContext{namedExpression(t){return void 0===t?this.getRuleContexts(Pi):this.getRuleContext(t,Pi)}COMMA(t){return void 0===t?this.getTokens(A.COMMA):this.getToken(A.COMMA,t)}constructor(t,e){super(t,e)}get ruleIndex(){return A.RULE_namedExpressionSeq}enterRule(t){t.enterNamedExpressionSeq&&t.enterNamedExpressionSeq(this)}exitRule(t){t.exitNamedExpressionSeq&&t.exitNamedExpressionSeq(this)}accept(t){return t.visitNamedExpressionSeq?t.visitNamedExpressionSeq(this):t.visitChildren(this)}}e.NamedExpressionSeqContext=Di;class Mi extends u.ParserRuleContext{constructor(t,e){super(t,e),this._fields=[]}LEFT_PAREN(){return this.getToken(A.LEFT_PAREN,0)}RIGHT_PAREN(){return this.getToken(A.RIGHT_PAREN,0)}partitionField(t){return void 0===t?this.getRuleContexts(vi):this.getRuleContext(t,vi)}COMMA(t){return void 0===t?this.getTokens(A.COMMA):this.getToken(A.COMMA,t)}get ruleIndex(){return A.RULE_partitionFieldList}enterRule(t){t.enterPartitionFieldList&&t.enterPartitionFieldList(this)}exitRule(t){t.exitPartitionFieldList&&t.exitPartitionFieldList(this)}accept(t){return t.visitPartitionFieldList?t.visitPartitionFieldList(this):t.visitChildren(this)}}e.PartitionFieldListContext=Mi;class vi extends u.ParserRuleContext{constructor(t,e){super(t,e)}get ruleIndex(){return A.RULE_partitionField}copyFrom(t){super.copyFrom(t)}}e.PartitionFieldContext=vi;class Ui extends vi{transform(){return this.getRuleContext(0,bi)}constructor(t){super(t.parent,t.invokingState),this.copyFrom(t)}enterRule(t){t.enterPartitionTransform&&t.enterPartitionTransform(this)}exitRule(t){t.exitPartitionTransform&&t.exitPartitionTransform(this)}accept(t){return t.visitPartitionTransform?t.visitPartitionTransform(this):t.visitChildren(this)}}e.PartitionTransformContext=Ui;class ki extends vi{colType(){return this.getRuleContext(0,us)}constructor(t){super(t.parent,t.invokingState),this.copyFrom(t)}enterRule(t){t.enterPartitionColumn&&t.enterPartitionColumn(this)}exitRule(t){t.exitPartitionColumn&&t.exitPartitionColumn(this)}accept(t){return t.visitPartitionColumn?t.visitPartitionColumn(this):t.visitChildren(this)}}e.PartitionColumnContext=ki;class bi extends u.ParserRuleContext{constructor(t,e){super(t,e)}get ruleIndex(){return A.RULE_transform}copyFrom(t){super.copyFrom(t)}}e.TransformContext=bi;class Gi extends bi{qualifiedName(){return this.getRuleContext(0,xs)}constructor(t){super(t.parent,t.invokingState),this.copyFrom(t)}enterRule(t){t.enterIdentityTransform&&t.enterIdentityTransform(this)}exitRule(t){t.exitIdentityTransform&&t.exitIdentityTransform(this)}accept(t){return t.visitIdentityTransform?t.visitIdentityTransform(this):t.visitChildren(this)}}e.IdentityTransformContext=Gi;class Fi extends bi{constructor(t){super(t.parent,t.invokingState),this._argument=[],this.copyFrom(t)}LEFT_PAREN(){return this.getToken(A.LEFT_PAREN,0)}RIGHT_PAREN(){return this.getToken(A.RIGHT_PAREN,0)}identifier(){return this.getRuleContext(0,vs)}transformArgument(t){return void 0===t?this.getRuleContexts(Hi):this.getRuleContext(t,Hi)}COMMA(t){return void 0===t?this.getTokens(A.COMMA):this.getToken(A.COMMA,t)}enterRule(t){t.enterApplyTransform&&t.enterApplyTransform(this)}exitRule(t){t.exitApplyTransform&&t.exitApplyTransform(this)}accept(t){return t.visitApplyTransform?t.visitApplyTransform(this):t.visitChildren(this)}}e.ApplyTransformContext=Fi;class Hi extends u.ParserRuleContext{qualifiedName(){return this.tryGetRuleContext(0,xs)}constant(){return this.tryGetRuleContext(0,Mn)}constructor(t,e){super(t,e)}get ruleIndex(){return A.RULE_transformArgument}enterRule(t){t.enterTransformArgument&&t.enterTransformArgument(this)}exitRule(t){t.exitTransformArgument&&t.exitTransformArgument(this)}accept(t){return t.visitTransformArgument?t.visitTransformArgument(this):t.visitChildren(this)}}e.TransformArgumentContext=Hi;class wi extends u.ParserRuleContext{booleanExpression(){return this.getRuleContext(0,Wi)}constructor(t,e){super(t,e)}get ruleIndex(){return A.RULE_expression}enterRule(t){t.enterExpression&&t.enterExpression(this)}exitRule(t){t.exitExpression&&t.exitExpression(this)}accept(t){return t.visitExpression?t.visitExpression(this):t.visitChildren(this)}}e.ExpressionContext=wi;class Bi extends u.ParserRuleContext{constructor(t,e){super(t,e)}FAT_ARROW(){return this.getToken(A.FAT_ARROW,0)}identifier(){return this.getRuleContext(0,vs)}expression(){return this.getRuleContext(0,wi)}get ruleIndex(){return A.RULE_namedArgumentExpression}enterRule(t){t.enterNamedArgumentExpression&&t.enterNamedArgumentExpression(this)}exitRule(t){t.exitNamedArgumentExpression&&t.exitNamedArgumentExpression(this)}accept(t){return t.visitNamedArgumentExpression?t.visitNamedArgumentExpression(this):t.visitChildren(this)}}e.NamedArgumentExpressionContext=Bi;class Vi extends u.ParserRuleContext{expression(){return this.tryGetRuleContext(0,wi)}namedArgumentExpression(){return this.tryGetRuleContext(0,Bi)}constructor(t,e){super(t,e)}get ruleIndex(){return A.RULE_functionArgument}enterRule(t){t.enterFunctionArgument&&t.enterFunctionArgument(this)}exitRule(t){t.exitFunctionArgument&&t.exitFunctionArgument(this)}accept(t){return t.visitFunctionArgument?t.visitFunctionArgument(this):t.visitChildren(this)}}e.FunctionArgumentContext=Vi;class Yi extends u.ParserRuleContext{expression(t){return void 0===t?this.getRuleContexts(wi):this.getRuleContext(t,wi)}COMMA(t){return void 0===t?this.getTokens(A.COMMA):this.getToken(A.COMMA,t)}constructor(t,e){super(t,e)}get ruleIndex(){return A.RULE_expressionSeq}enterRule(t){t.enterExpressionSeq&&t.enterExpressionSeq(this)}exitRule(t){t.exitExpressionSeq&&t.exitExpressionSeq(this)}accept(t){return t.visitExpressionSeq?t.visitExpressionSeq(this):t.visitChildren(this)}}e.ExpressionSeqContext=Yi;class Wi extends u.ParserRuleContext{constructor(t,e){super(t,e)}get ruleIndex(){return A.RULE_booleanExpression}copyFrom(t){super.copyFrom(t)}}e.BooleanExpressionContext=Wi;class Ki extends Wi{NOT(){return this.getToken(A.NOT,0)}booleanExpression(){return this.getRuleContext(0,Wi)}constructor(t){super(t.parent,t.invokingState),this.copyFrom(t)}enterRule(t){t.enterLogicalNot&&t.enterLogicalNot(this)}exitRule(t){t.exitLogicalNot&&t.exitLogicalNot(this)}accept(t){return t.visitLogicalNot?t.visitLogicalNot(this):t.visitChildren(this)}}e.LogicalNotContext=Ki;class Xi extends Wi{EXISTS(){return this.getToken(A.EXISTS,0)}LEFT_PAREN(){return this.getToken(A.LEFT_PAREN,0)}query(){return this.getRuleContext(0,ne)}RIGHT_PAREN(){return this.getToken(A.RIGHT_PAREN,0)}constructor(t){super(t.parent,t.invokingState),this.copyFrom(t)}enterRule(t){t.enterExists&&t.enterExists(this)}exitRule(t){t.exitExists&&t.exitExists(this)}accept(t){return t.visitExists?t.visitExists(this):t.visitChildren(this)}}e.ExistsContext=Xi;class qi extends Wi{valueExpression(){return this.getRuleContext(0,zi)}predicate(){return this.tryGetRuleContext(0,Qi)}constructor(t){super(t.parent,t.invokingState),this.copyFrom(t)}enterRule(t){t.enterPredicated&&t.enterPredicated(this)}exitRule(t){t.exitPredicated&&t.exitPredicated(this)}accept(t){return t.visitPredicated?t.visitPredicated(this):t.visitChildren(this)}}e.PredicatedContext=qi;class ji extends Wi{constructor(t){super(t.parent,t.invokingState),this.copyFrom(t)}booleanExpression(t){return void 0===t?this.getRuleContexts(Wi):this.getRuleContext(t,Wi)}AND(){return this.tryGetToken(A.AND,0)}OR(){return this.tryGetToken(A.OR,0)}enterRule(t){t.enterLogicalBinary&&t.enterLogicalBinary(this)}exitRule(t){t.exitLogicalBinary&&t.exitLogicalBinary(this)}accept(t){return t.visitLogicalBinary?t.visitLogicalBinary(this):t.visitChildren(this)}}e.LogicalBinaryContext=ji;class Qi extends u.ParserRuleContext{constructor(t,e){super(t,e)}AND(){return this.tryGetToken(A.AND,0)}BETWEEN(){return this.tryGetToken(A.BETWEEN,0)}valueExpression(t){return void 0===t?this.getRuleContexts(zi):this.getRuleContext(t,zi)}NOT(){return this.tryGetToken(A.NOT,0)}LEFT_PAREN(){return this.tryGetToken(A.LEFT_PAREN,0)}expression(t){return void 0===t?this.getRuleContexts(wi):this.getRuleContext(t,wi)}RIGHT_PAREN(){return this.tryGetToken(A.RIGHT_PAREN,0)}IN(){return this.tryGetToken(A.IN,0)}COMMA(t){return void 0===t?this.getTokens(A.COMMA):this.getToken(A.COMMA,t)}query(){return this.tryGetRuleContext(0,ne)}RLIKE(){return this.tryGetToken(A.RLIKE,0)}LIKE(){return this.tryGetToken(A.LIKE,0)}ILIKE(){return this.tryGetToken(A.ILIKE,0)}ANY(){return this.tryGetToken(A.ANY,0)}SOME(){return this.tryGetToken(A.SOME,0)}ALL(){return this.tryGetToken(A.ALL,0)}ESCAPE(){return this.tryGetToken(A.ESCAPE,0)}stringLit(){return this.tryGetRuleContext(0,$s)}IS(){return this.tryGetToken(A.IS,0)}NULL(){return this.tryGetToken(A.NULL,0)}TRUE(){return this.tryGetToken(A.TRUE,0)}FALSE(){return this.tryGetToken(A.FALSE,0)}UNKNOWN(){return this.tryGetToken(A.UNKNOWN,0)}FROM(){return this.tryGetToken(A.FROM,0)}DISTINCT(){return this.tryGetToken(A.DISTINCT,0)}get ruleIndex(){return A.RULE_predicate}enterRule(t){t.enterPredicate&&t.enterPredicate(this)}exitRule(t){t.exitPredicate&&t.exitPredicate(this)}accept(t){return t.visitPredicate?t.visitPredicate(this):t.visitChildren(this)}}e.PredicateContext=Qi;class zi extends u.ParserRuleContext{constructor(t,e){super(t,e)}get ruleIndex(){return A.RULE_valueExpression}copyFrom(t){super.copyFrom(t)}}e.ValueExpressionContext=zi;class $i extends zi{primaryExpression(){return this.getRuleContext(0,rn)}constructor(t){super(t.parent,t.invokingState),this.copyFrom(t)}enterRule(t){t.enterValueExpressionDefault&&t.enterValueExpressionDefault(this)}exitRule(t){t.exitValueExpressionDefault&&t.exitValueExpressionDefault(this)}accept(t){return t.visitValueExpressionDefault?t.visitValueExpressionDefault(this):t.visitChildren(this)}}e.ValueExpressionDefaultContext=$i;class Ji extends zi{constructor(t){super(t.parent,t.invokingState),this.copyFrom(t)}valueExpression(){return this.getRuleContext(0,zi)}MINUS(){return this.tryGetToken(A.MINUS,0)}PLUS(){return this.tryGetToken(A.PLUS,0)}TILDE(){return this.tryGetToken(A.TILDE,0)}enterRule(t){t.enterArithmeticUnary&&t.enterArithmeticUnary(this)}exitRule(t){t.exitArithmeticUnary&&t.exitArithmeticUnary(this)}accept(t){return t.visitArithmeticUnary?t.visitArithmeticUnary(this):t.visitChildren(this)}}e.ArithmeticUnaryContext=Ji;class Zi extends zi{constructor(t){super(t.parent,t.invokingState),this.copyFrom(t)}valueExpression(t){return void 0===t?this.getRuleContexts(zi):this.getRuleContext(t,zi)}ASTERISK(){return this.tryGetToken(A.ASTERISK,0)}SLASH(){return this.tryGetToken(A.SLASH,0)}PERCENT(){return this.tryGetToken(A.PERCENT,0)}DIV(){return this.tryGetToken(A.DIV,0)}PLUS(){return this.tryGetToken(A.PLUS,0)}MINUS(){return this.tryGetToken(A.MINUS,0)}CONCAT_PIPE(){return this.tryGetToken(A.CONCAT_PIPE,0)}AMPERSAND(){return this.tryGetToken(A.AMPERSAND,0)}HAT(){return this.tryGetToken(A.HAT,0)}PIPE(){return this.tryGetToken(A.PIPE,0)}enterRule(t){t.enterArithmeticBinary&&t.enterArithmeticBinary(this)}exitRule(t){t.exitArithmeticBinary&&t.exitArithmeticBinary(this)}accept(t){return t.visitArithmeticBinary?t.visitArithmeticBinary(this):t.visitChildren(this)}}e.ArithmeticBinaryContext=Zi;class tn extends zi{constructor(t){super(t.parent,t.invokingState),this.copyFrom(t)}comparisonOperator(){return this.getRuleContext(0,Bn)}valueExpression(t){return void 0===t?this.getRuleContexts(zi):this.getRuleContext(t,zi)}enterRule(t){t.enterComparison&&t.enterComparison(this)}exitRule(t){t.exitComparison&&t.exitComparison(this)}accept(t){return t.visitComparison?t.visitComparison(this):t.visitChildren(this)}}e.ComparisonContext=tn;class en extends u.ParserRuleContext{YEAR(){return this.tryGetToken(A.YEAR,0)}QUARTER(){return this.tryGetToken(A.QUARTER,0)}MONTH(){return this.tryGetToken(A.MONTH,0)}WEEK(){return this.tryGetToken(A.WEEK,0)}DAY(){return this.tryGetToken(A.DAY,0)}DAYOFYEAR(){return this.tryGetToken(A.DAYOFYEAR,0)}HOUR(){return this.tryGetToken(A.HOUR,0)}MINUTE(){return this.tryGetToken(A.MINUTE,0)}SECOND(){return this.tryGetToken(A.SECOND,0)}MILLISECOND(){return this.tryGetToken(A.MILLISECOND,0)}MICROSECOND(){return this.tryGetToken(A.MICROSECOND,0)}constructor(t,e){super(t,e)}get ruleIndex(){return A.RULE_datetimeUnit}enterRule(t){t.enterDatetimeUnit&&t.enterDatetimeUnit(this)}exitRule(t){t.exitDatetimeUnit&&t.exitDatetimeUnit(this)}accept(t){return t.visitDatetimeUnit?t.visitDatetimeUnit(this):t.visitChildren(this)}}e.DatetimeUnitContext=en;class rn extends u.ParserRuleContext{constructor(t,e){super(t,e)}get ruleIndex(){return A.RULE_primaryExpression}copyFrom(t){super.copyFrom(t)}}e.PrimaryExpressionContext=rn;class nn extends rn{constructor(t){super(t.parent,t.invokingState),this.copyFrom(t)}CURRENT_DATE(){return this.tryGetToken(A.CURRENT_DATE,0)}CURRENT_TIMESTAMP(){return this.tryGetToken(A.CURRENT_TIMESTAMP,0)}CURRENT_USER(){return this.tryGetToken(A.CURRENT_USER,0)}USER(){return this.tryGetToken(A.USER,0)}enterRule(t){t.enterCurrentLike&&t.enterCurrentLike(this)}exitRule(t){t.exitCurrentLike&&t.exitCurrentLike(this)}accept(t){return t.visitCurrentLike?t.visitCurrentLike(this):t.visitChildren(this)}}e.CurrentLikeContext=nn;class sn extends rn{constructor(t){super(t.parent,t.invokingState),this.copyFrom(t)}LEFT_PAREN(){return this.getToken(A.LEFT_PAREN,0)}COMMA(t){return void 0===t?this.getTokens(A.COMMA):this.getToken(A.COMMA,t)}RIGHT_PAREN(){return this.getToken(A.RIGHT_PAREN,0)}valueExpression(t){return void 0===t?this.getRuleContexts(zi):this.getRuleContext(t,zi)}TIMESTAMPADD(){return this.tryGetToken(A.TIMESTAMPADD,0)}DATEADD(){return this.tryGetToken(A.DATEADD,0)}DATE_ADD(){return this.tryGetToken(A.DATE_ADD,0)}datetimeUnit(){return this.tryGetRuleContext(0,en)}stringLit(){return this.tryGetRuleContext(0,$s)}enterRule(t){t.enterTimestampadd&&t.enterTimestampadd(this)}exitRule(t){t.exitTimestampadd&&t.exitTimestampadd(this)}accept(t){return t.visitTimestampadd?t.visitTimestampadd(this):t.visitChildren(this)}}e.TimestampaddContext=sn;class on extends rn{constructor(t){super(t.parent,t.invokingState),this.copyFrom(t)}LEFT_PAREN(){return this.getToken(A.LEFT_PAREN,0)}COMMA(t){return void 0===t?this.getTokens(A.COMMA):this.getToken(A.COMMA,t)}RIGHT_PAREN(){return this.getToken(A.RIGHT_PAREN,0)}valueExpression(t){return void 0===t?this.getRuleContexts(zi):this.getRuleContext(t,zi)}TIMESTAMPDIFF(){return this.tryGetToken(A.TIMESTAMPDIFF,0)}DATEDIFF(){return this.tryGetToken(A.DATEDIFF,0)}DATE_DIFF(){return this.tryGetToken(A.DATE_DIFF,0)}datetimeUnit(){return this.tryGetRuleContext(0,en)}stringLit(){return this.tryGetRuleContext(0,$s)}enterRule(t){t.enterTimestampdiff&&t.enterTimestampdiff(this)}exitRule(t){t.exitTimestampdiff&&t.exitTimestampdiff(this)}accept(t){return t.visitTimestampdiff?t.visitTimestampdiff(this):t.visitChildren(this)}}e.TimestampdiffContext=on;class an extends rn{constructor(t){super(t.parent,t.invokingState),this.copyFrom(t)}CASE(){return this.getToken(A.CASE,0)}END(){return this.getToken(A.END,0)}whenClause(t){return void 0===t?this.getRuleContexts(ds):this.getRuleContext(t,ds)}ELSE(){return this.tryGetToken(A.ELSE,0)}expression(){return this.tryGetRuleContext(0,wi)}enterRule(t){t.enterSearchedCase&&t.enterSearchedCase(this)}exitRule(t){t.exitSearchedCase&&t.exitSearchedCase(this)}accept(t){return t.visitSearchedCase?t.visitSearchedCase(this):t.visitChildren(this)}}e.SearchedCaseContext=an;class En extends rn{constructor(t){super(t.parent,t.invokingState),this.copyFrom(t)}CASE(){return this.getToken(A.CASE,0)}END(){return this.getToken(A.END,0)}expression(t){return void 0===t?this.getRuleContexts(wi):this.getRuleContext(t,wi)}whenClause(t){return void 0===t?this.getRuleContexts(ds):this.getRuleContext(t,ds)}ELSE(){return this.tryGetToken(A.ELSE,0)}enterRule(t){t.enterSimpleCase&&t.enterSimpleCase(this)}exitRule(t){t.exitSimpleCase&&t.exitSimpleCase(this)}accept(t){return t.visitSimpleCase?t.visitSimpleCase(this):t.visitChildren(this)}}e.SimpleCaseContext=En;class hn extends rn{constructor(t){super(t.parent,t.invokingState),this.copyFrom(t)}LEFT_PAREN(){return this.getToken(A.LEFT_PAREN,0)}expression(){return this.getRuleContext(0,wi)}AS(){return this.getToken(A.AS,0)}dataType(){return this.getRuleContext(0,es)}RIGHT_PAREN(){return this.getToken(A.RIGHT_PAREN,0)}CAST(){return this.tryGetToken(A.CAST,0)}TRY_CAST(){return this.tryGetToken(A.TRY_CAST,0)}enterRule(t){t.enterCast&&t.enterCast(this)}exitRule(t){t.exitCast&&t.exitCast(this)}accept(t){return t.visitCast?t.visitCast(this):t.visitChildren(this)}}e.CastContext=hn;class ln extends rn{constructor(t){super(t.parent,t.invokingState),this._argument=[],this.copyFrom(t)}STRUCT(){return this.getToken(A.STRUCT,0)}LEFT_PAREN(){return this.getToken(A.LEFT_PAREN,0)}RIGHT_PAREN(){return this.getToken(A.RIGHT_PAREN,0)}namedExpression(t){return void 0===t?this.getRuleContexts(Pi):this.getRuleContext(t,Pi)}COMMA(t){return void 0===t?this.getTokens(A.COMMA):this.getToken(A.COMMA,t)}enterRule(t){t.enterStruct&&t.enterStruct(this)}exitRule(t){t.exitStruct&&t.exitStruct(this)}accept(t){return t.visitStruct?t.visitStruct(this):t.visitChildren(this)}}e.StructContext=ln;class un extends rn{FIRST(){return this.getToken(A.FIRST,0)}LEFT_PAREN(){return this.getToken(A.LEFT_PAREN,0)}expression(){return this.getRuleContext(0,wi)}RIGHT_PAREN(){return this.getToken(A.RIGHT_PAREN,0)}IGNORE(){return this.tryGetToken(A.IGNORE,0)}NULLS(){return this.tryGetToken(A.NULLS,0)}constructor(t){super(t.parent,t.invokingState),this.copyFrom(t)}enterRule(t){t.enterFirst&&t.enterFirst(this)}exitRule(t){t.exitFirst&&t.exitFirst(this)}accept(t){return t.visitFirst?t.visitFirst(this):t.visitChildren(this)}}e.FirstContext=un;class cn extends rn{ANY_VALUE(){return this.getToken(A.ANY_VALUE,0)}LEFT_PAREN(){return this.getToken(A.LEFT_PAREN,0)}expression(){return this.getRuleContext(0,wi)}RIGHT_PAREN(){return this.getToken(A.RIGHT_PAREN,0)}IGNORE(){return this.tryGetToken(A.IGNORE,0)}NULLS(){return this.tryGetToken(A.NULLS,0)}constructor(t){super(t.parent,t.invokingState),this.copyFrom(t)}enterRule(t){t.enterAny_value&&t.enterAny_value(this)}exitRule(t){t.exitAny_value&&t.exitAny_value(this)}accept(t){return t.visitAny_value?t.visitAny_value(this):t.visitChildren(this)}}e.Any_valueContext=cn;class Tn extends rn{LAST(){return this.getToken(A.LAST,0)}LEFT_PAREN(){return this.getToken(A.LEFT_PAREN,0)}expression(){return this.getRuleContext(0,wi)}RIGHT_PAREN(){return this.getToken(A.RIGHT_PAREN,0)}IGNORE(){return this.tryGetToken(A.IGNORE,0)}NULLS(){return this.tryGetToken(A.NULLS,0)}constructor(t){super(t.parent,t.invokingState),this.copyFrom(t)}enterRule(t){t.enterLast&&t.enterLast(this)}exitRule(t){t.exitLast&&t.exitLast(this)}accept(t){return t.visitLast?t.visitLast(this):t.visitChildren(this)}}e.LastContext=Tn;class Rn extends rn{constructor(t){super(t.parent,t.invokingState),this.copyFrom(t)}POSITION(){return this.getToken(A.POSITION,0)}LEFT_PAREN(){return this.getToken(A.LEFT_PAREN,0)}IN(){return this.getToken(A.IN,0)}RIGHT_PAREN(){return this.getToken(A.RIGHT_PAREN,0)}valueExpression(t){return void 0===t?this.getRuleContexts(zi):this.getRuleContext(t,zi)}enterRule(t){t.enterPosition&&t.enterPosition(this)}exitRule(t){t.exitPosition&&t.exitPosition(this)}accept(t){return t.visitPosition?t.visitPosition(this):t.visitChildren(this)}}e.PositionContext=Rn;class pn extends rn{constant(){return this.getRuleContext(0,Mn)}constructor(t){super(t.parent,t.invokingState),this.copyFrom(t)}enterRule(t){t.enterConstantDefault&&t.enterConstantDefault(this)}exitRule(t){t.exitConstantDefault&&t.exitConstantDefault(this)}accept(t){return t.visitConstantDefault?t.visitConstantDefault(this):t.visitChildren(this)}}e.ConstantDefaultContext=pn;class Sn extends rn{ASTERISK(){return this.getToken(A.ASTERISK,0)}qualifiedName(){return this.tryGetRuleContext(0,xs)}DOT(){return this.tryGetToken(A.DOT,0)}constructor(t){super(t.parent,t.invokingState),this.copyFrom(t)}enterRule(t){t.enterStar&&t.enterStar(this)}exitRule(t){t.exitStar&&t.exitStar(this)}accept(t){return t.visitStar?t.visitStar(this):t.visitChildren(this)}}e.StarContext=Sn;class An extends rn{LEFT_PAREN(){return this.getToken(A.LEFT_PAREN,0)}namedExpression(t){return void 0===t?this.getRuleContexts(Pi):this.getRuleContext(t,Pi)}RIGHT_PAREN(){return this.getToken(A.RIGHT_PAREN,0)}COMMA(t){return void 0===t?this.getTokens(A.COMMA):this.getToken(A.COMMA,t)}constructor(t){super(t.parent,t.invokingState),this.copyFrom(t)}enterRule(t){t.enterRowConstructor&&t.enterRowConstructor(this)}exitRule(t){t.exitRowConstructor&&t.exitRowConstructor(this)}accept(t){return t.visitRowConstructor?t.visitRowConstructor(this):t.visitChildren(this)}}e.RowConstructorContext=An;class dn extends rn{LEFT_PAREN(){return this.getToken(A.LEFT_PAREN,0)}query(){return this.getRuleContext(0,ne)}RIGHT_PAREN(){return this.getToken(A.RIGHT_PAREN,0)}constructor(t){super(t.parent,t.invokingState),this.copyFrom(t)}enterRule(t){t.enterSubqueryExpression&&t.enterSubqueryExpression(this)}exitRule(t){t.exitSubqueryExpression&&t.exitSubqueryExpression(this)}accept(t){return t.visitSubqueryExpression?t.visitSubqueryExpression(this):t.visitChildren(this)}}e.SubqueryExpressionContext=dn;class Nn extends rn{IDENTIFIER_KW(){return this.getToken(A.IDENTIFIER_KW,0)}LEFT_PAREN(){return this.getToken(A.LEFT_PAREN,0)}expression(){return this.getRuleContext(0,wi)}RIGHT_PAREN(){return this.getToken(A.RIGHT_PAREN,0)}constructor(t){super(t.parent,t.invokingState),this.copyFrom(t)}enterRule(t){t.enterIdentifierClause&&t.enterIdentifierClause(this)}exitRule(t){t.exitIdentifierClause&&t.exitIdentifierClause(this)}accept(t){return t.visitIdentifierClause?t.visitIdentifierClause(this):t.visitChildren(this)}}e.IdentifierClauseContext=Nn;class On extends rn{constructor(t){super(t.parent,t.invokingState),this._argument=[],this.copyFrom(t)}functionName(){return this.getRuleContext(0,ys)}LEFT_PAREN(t){return void 0===t?this.getTokens(A.LEFT_PAREN):this.getToken(A.LEFT_PAREN,t)}RIGHT_PAREN(t){return void 0===t?this.getTokens(A.RIGHT_PAREN):this.getToken(A.RIGHT_PAREN,t)}FILTER(){return this.tryGetToken(A.FILTER,0)}WHERE(){return this.tryGetToken(A.WHERE,0)}NULLS(){return this.tryGetToken(A.NULLS,0)}OVER(){return this.tryGetToken(A.OVER,0)}windowSpec(){return this.tryGetRuleContext(0,Cs)}functionArgument(t){return void 0===t?this.getRuleContexts(Vi):this.getRuleContext(t,Vi)}booleanExpression(){return this.tryGetRuleContext(0,Wi)}IGNORE(){return this.tryGetToken(A.IGNORE,0)}RESPECT(){return this.tryGetToken(A.RESPECT,0)}setQuantifier(){return this.tryGetRuleContext(0,Yr)}COMMA(t){return void 0===t?this.getTokens(A.COMMA):this.getToken(A.COMMA,t)}enterRule(t){t.enterFunctionCall&&t.enterFunctionCall(this)}exitRule(t){t.exitFunctionCall&&t.exitFunctionCall(this)}accept(t){return t.visitFunctionCall?t.visitFunctionCall(this):t.visitChildren(this)}}e.FunctionCallContext=On;class Cn extends rn{identifier(t){return void 0===t?this.getRuleContexts(vs):this.getRuleContext(t,vs)}ARROW(){return this.getToken(A.ARROW,0)}expression(){return this.getRuleContext(0,wi)}LEFT_PAREN(){return this.tryGetToken(A.LEFT_PAREN,0)}RIGHT_PAREN(){return this.tryGetToken(A.RIGHT_PAREN,0)}COMMA(t){return void 0===t?this.getTokens(A.COMMA):this.getToken(A.COMMA,t)}constructor(t){super(t.parent,t.invokingState),this.copyFrom(t)}enterRule(t){t.enterLambda&&t.enterLambda(this)}exitRule(t){t.exitLambda&&t.exitLambda(this)}accept(t){return t.visitLambda?t.visitLambda(this):t.visitChildren(this)}}e.LambdaContext=Cn;class _n extends rn{constructor(t){super(t.parent,t.invokingState),this.copyFrom(t)}LEFT_BRACKET(){return this.getToken(A.LEFT_BRACKET,0)}RIGHT_BRACKET(){return this.getToken(A.RIGHT_BRACKET,0)}primaryExpression(){return this.getRuleContext(0,rn)}valueExpression(){return this.getRuleContext(0,zi)}enterRule(t){t.enterSubscript&&t.enterSubscript(this)}exitRule(t){t.exitSubscript&&t.exitSubscript(this)}accept(t){return t.visitSubscript?t.visitSubscript(this):t.visitChildren(this)}}e.SubscriptContext=_n;class In extends rn{identifier(){return this.getRuleContext(0,vs)}constructor(t){super(t.parent,t.invokingState),this.copyFrom(t)}enterRule(t){t.enterColumnReference&&t.enterColumnReference(this)}exitRule(t){t.exitColumnReference&&t.exitColumnReference(this)}accept(t){return t.visitColumnReference?t.visitColumnReference(this):t.visitChildren(this)}}e.ColumnReferenceContext=In;class Ln extends rn{constructor(t){super(t.parent,t.invokingState),this.copyFrom(t)}DOT(){return this.getToken(A.DOT,0)}primaryExpression(){return this.getRuleContext(0,rn)}identifier(){return this.getRuleContext(0,vs)}enterRule(t){t.enterDereference&&t.enterDereference(this)}exitRule(t){t.exitDereference&&t.exitDereference(this)}accept(t){return t.visitDereference?t.visitDereference(this):t.visitChildren(this)}}e.DereferenceContext=Ln;class fn extends rn{LEFT_PAREN(){return this.getToken(A.LEFT_PAREN,0)}expression(){return this.getRuleContext(0,wi)}RIGHT_PAREN(){return this.getToken(A.RIGHT_PAREN,0)}constructor(t){super(t.parent,t.invokingState),this.copyFrom(t)}enterRule(t){t.enterParenthesizedExpression&&t.enterParenthesizedExpression(this)}exitRule(t){t.exitParenthesizedExpression&&t.exitParenthesizedExpression(this)}accept(t){return t.visitParenthesizedExpression?t.visitParenthesizedExpression(this):t.visitChildren(this)}}e.ParenthesizedExpressionContext=fn;class mn extends rn{constructor(t){super(t.parent,t.invokingState),this.copyFrom(t)}EXTRACT(){return this.getToken(A.EXTRACT,0)}LEFT_PAREN(){return this.getToken(A.LEFT_PAREN,0)}FROM(){return this.getToken(A.FROM,0)}RIGHT_PAREN(){return this.getToken(A.RIGHT_PAREN,0)}identifier(){return this.getRuleContext(0,vs)}valueExpression(){return this.getRuleContext(0,zi)}enterRule(t){t.enterExtract&&t.enterExtract(this)}exitRule(t){t.exitExtract&&t.exitExtract(this)}accept(t){return t.visitExtract?t.visitExtract(this):t.visitChildren(this)}}e.ExtractContext=mn;class yn extends rn{constructor(t){super(t.parent,t.invokingState),this.copyFrom(t)}LEFT_PAREN(){return this.getToken(A.LEFT_PAREN,0)}RIGHT_PAREN(){return this.getToken(A.RIGHT_PAREN,0)}SUBSTR(){return this.tryGetToken(A.SUBSTR,0)}SUBSTRING(){return this.tryGetToken(A.SUBSTRING,0)}valueExpression(t){return void 0===t?this.getRuleContexts(zi):this.getRuleContext(t,zi)}FROM(){return this.tryGetToken(A.FROM,0)}COMMA(t){return void 0===t?this.getTokens(A.COMMA):this.getToken(A.COMMA,t)}FOR(){return this.tryGetToken(A.FOR,0)}enterRule(t){t.enterSubstring&&t.enterSubstring(this)}exitRule(t){t.exitSubstring&&t.exitSubstring(this)}accept(t){return t.visitSubstring?t.visitSubstring(this):t.visitChildren(this)}}e.SubstringContext=yn;class xn extends rn{constructor(t){super(t.parent,t.invokingState),this.copyFrom(t)}TRIM(){return this.getToken(A.TRIM,0)}LEFT_PAREN(){return this.getToken(A.LEFT_PAREN,0)}FROM(){return this.getToken(A.FROM,0)}RIGHT_PAREN(){return this.getToken(A.RIGHT_PAREN,0)}valueExpression(t){return void 0===t?this.getRuleContexts(zi):this.getRuleContext(t,zi)}BOTH(){return this.tryGetToken(A.BOTH,0)}LEADING(){return this.tryGetToken(A.LEADING,0)}TRAILING(){return this.tryGetToken(A.TRAILING,0)}enterRule(t){t.enterTrim&&t.enterTrim(this)}exitRule(t){t.exitTrim&&t.exitTrim(this)}accept(t){return t.visitTrim?t.visitTrim(this):t.visitChildren(this)}}e.TrimContext=xn;class gn extends rn{constructor(t){super(t.parent,t.invokingState),this.copyFrom(t)}OVERLAY(){return this.getToken(A.OVERLAY,0)}LEFT_PAREN(){return this.getToken(A.LEFT_PAREN,0)}PLACING(){return this.getToken(A.PLACING,0)}FROM(){return this.getToken(A.FROM,0)}RIGHT_PAREN(){return this.getToken(A.RIGHT_PAREN,0)}valueExpression(t){return void 0===t?this.getRuleContexts(zi):this.getRuleContext(t,zi)}FOR(){return this.tryGetToken(A.FOR,0)}enterRule(t){t.enterOverlay&&t.enterOverlay(this)}exitRule(t){t.exitOverlay&&t.exitOverlay(this)}accept(t){return t.visitOverlay?t.visitOverlay(this):t.visitChildren(this)}}e.OverlayContext=gn;class Pn extends rn{constructor(t){super(t.parent,t.invokingState),this.copyFrom(t)}LEFT_PAREN(t){return void 0===t?this.getTokens(A.LEFT_PAREN):this.getToken(A.LEFT_PAREN,t)}RIGHT_PAREN(t){return void 0===t?this.getTokens(A.RIGHT_PAREN):this.getToken(A.RIGHT_PAREN,t)}WITHIN(){return this.getToken(A.WITHIN,0)}GROUP(){return this.getToken(A.GROUP,0)}ORDER(){return this.getToken(A.ORDER,0)}BY(){return this.getToken(A.BY,0)}sortItem(){return this.getRuleContext(0,tr)}valueExpression(){return this.getRuleContext(0,zi)}PERCENTILE_CONT(){return this.tryGetToken(A.PERCENTILE_CONT,0)}PERCENTILE_DISC(){return this.tryGetToken(A.PERCENTILE_DISC,0)}FILTER(){return this.tryGetToken(A.FILTER,0)}WHERE(){return this.tryGetToken(A.WHERE,0)}OVER(){return this.tryGetToken(A.OVER,0)}windowSpec(){return this.tryGetRuleContext(0,Cs)}booleanExpression(){return this.tryGetRuleContext(0,Wi)}enterRule(t){t.enterPercentile&&t.enterPercentile(this)}exitRule(t){t.exitPercentile&&t.exitPercentile(this)}accept(t){return t.visitPercentile?t.visitPercentile(this):t.visitChildren(this)}}e.PercentileContext=Pn;class Dn extends u.ParserRuleContext{constructor(t,e){super(t,e)}DATE(){return this.tryGetToken(A.DATE,0)}TIMESTAMP(){return this.tryGetToken(A.TIMESTAMP,0)}TIMESTAMP_LTZ(){return this.tryGetToken(A.TIMESTAMP_LTZ,0)}TIMESTAMP_NTZ(){return this.tryGetToken(A.TIMESTAMP_NTZ,0)}INTERVAL(){return this.tryGetToken(A.INTERVAL,0)}BINARY_HEX(){return this.tryGetToken(A.BINARY_HEX,0)}identifier(){return this.tryGetRuleContext(0,vs)}get ruleIndex(){return A.RULE_literalType}enterRule(t){t.enterLiteralType&&t.enterLiteralType(this)}exitRule(t){t.exitLiteralType&&t.exitLiteralType(this)}accept(t){return t.visitLiteralType?t.visitLiteralType(this):t.visitChildren(this)}}e.LiteralTypeContext=Dn;class Mn extends u.ParserRuleContext{constructor(t,e){super(t,e)}get ruleIndex(){return A.RULE_constant}copyFrom(t){super.copyFrom(t)}}e.ConstantContext=Mn;class vn extends Mn{NULL(){return this.getToken(A.NULL,0)}constructor(t){super(t.parent,t.invokingState),this.copyFrom(t)}enterRule(t){t.enterNullLiteral&&t.enterNullLiteral(this)}exitRule(t){t.exitNullLiteral&&t.exitNullLiteral(this)}accept(t){return t.visitNullLiteral?t.visitNullLiteral(this):t.visitChildren(this)}}e.NullLiteralContext=vn;class Un extends Mn{QUESTION(){return this.getToken(A.QUESTION,0)}constructor(t){super(t.parent,t.invokingState),this.copyFrom(t)}enterRule(t){t.enterPosParameterLiteral&&t.enterPosParameterLiteral(this)}exitRule(t){t.exitPosParameterLiteral&&t.exitPosParameterLiteral(this)}accept(t){return t.visitPosParameterLiteral?t.visitPosParameterLiteral(this):t.visitChildren(this)}}e.PosParameterLiteralContext=Un;class kn extends Mn{COLON(){return this.getToken(A.COLON,0)}identifier(){return this.getRuleContext(0,vs)}constructor(t){super(t.parent,t.invokingState),this.copyFrom(t)}enterRule(t){t.enterNamedParameterLiteral&&t.enterNamedParameterLiteral(this)}exitRule(t){t.exitNamedParameterLiteral&&t.exitNamedParameterLiteral(this)}accept(t){return t.visitNamedParameterLiteral?t.visitNamedParameterLiteral(this):t.visitChildren(this)}}e.NamedParameterLiteralContext=kn;class bn extends Mn{interval(){return this.getRuleContext(0,Kn)}constructor(t){super(t.parent,t.invokingState),this.copyFrom(t)}enterRule(t){t.enterIntervalLiteral&&t.enterIntervalLiteral(this)}exitRule(t){t.exitIntervalLiteral&&t.exitIntervalLiteral(this)}accept(t){return t.visitIntervalLiteral?t.visitIntervalLiteral(this):t.visitChildren(this)}}e.IntervalLiteralContext=bn;class Gn extends Mn{literalType(){return this.getRuleContext(0,Dn)}stringLit(){return this.getRuleContext(0,$s)}constructor(t){super(t.parent,t.invokingState),this.copyFrom(t)}enterRule(t){t.enterTypeConstructor&&t.enterTypeConstructor(this)}exitRule(t){t.exitTypeConstructor&&t.exitTypeConstructor(this)}accept(t){return t.visitTypeConstructor?t.visitTypeConstructor(this):t.visitChildren(this)}}e.TypeConstructorContext=Gn;class Fn extends Mn{number(){return this.getRuleContext(0,Hs)}constructor(t){super(t.parent,t.invokingState),this.copyFrom(t)}enterRule(t){t.enterNumericLiteral&&t.enterNumericLiteral(this)}exitRule(t){t.exitNumericLiteral&&t.exitNumericLiteral(this)}accept(t){return t.visitNumericLiteral?t.visitNumericLiteral(this):t.visitChildren(this)}}e.NumericLiteralContext=Fn;class Hn extends Mn{booleanValue(){return this.getRuleContext(0,Wn)}constructor(t){super(t.parent,t.invokingState),this.copyFrom(t)}enterRule(t){t.enterBooleanLiteral&&t.enterBooleanLiteral(this)}exitRule(t){t.exitBooleanLiteral&&t.exitBooleanLiteral(this)}accept(t){return t.visitBooleanLiteral?t.visitBooleanLiteral(this):t.visitChildren(this)}}e.BooleanLiteralContext=Hn;class wn extends Mn{stringLit(t){return void 0===t?this.getRuleContexts($s):this.getRuleContext(t,$s)}constructor(t){super(t.parent,t.invokingState),this.copyFrom(t)}enterRule(t){t.enterStringLiteral&&t.enterStringLiteral(this)}exitRule(t){t.exitStringLiteral&&t.exitStringLiteral(this)}accept(t){return t.visitStringLiteral?t.visitStringLiteral(this):t.visitChildren(this)}}e.StringLiteralContext=wn;class Bn extends u.ParserRuleContext{EQ(){return this.tryGetToken(A.EQ,0)}NEQ(){return this.tryGetToken(A.NEQ,0)}NEQJ(){return this.tryGetToken(A.NEQJ,0)}LT(){return this.tryGetToken(A.LT,0)}LTE(){return this.tryGetToken(A.LTE,0)}GT(){return this.tryGetToken(A.GT,0)}GTE(){return this.tryGetToken(A.GTE,0)}NSEQ(){return this.tryGetToken(A.NSEQ,0)}constructor(t,e){super(t,e)}get ruleIndex(){return A.RULE_comparisonOperator}enterRule(t){t.enterComparisonOperator&&t.enterComparisonOperator(this)}exitRule(t){t.exitComparisonOperator&&t.exitComparisonOperator(this)}accept(t){return t.visitComparisonOperator?t.visitComparisonOperator(this):t.visitChildren(this)}}e.ComparisonOperatorContext=Bn;class Vn extends u.ParserRuleContext{PLUS(){return this.tryGetToken(A.PLUS,0)}MINUS(){return this.tryGetToken(A.MINUS,0)}ASTERISK(){return this.tryGetToken(A.ASTERISK,0)}SLASH(){return this.tryGetToken(A.SLASH,0)}PERCENT(){return this.tryGetToken(A.PERCENT,0)}DIV(){return this.tryGetToken(A.DIV,0)}TILDE(){return this.tryGetToken(A.TILDE,0)}AMPERSAND(){return this.tryGetToken(A.AMPERSAND,0)}PIPE(){return this.tryGetToken(A.PIPE,0)}CONCAT_PIPE(){return this.tryGetToken(A.CONCAT_PIPE,0)}HAT(){return this.tryGetToken(A.HAT,0)}constructor(t,e){super(t,e)}get ruleIndex(){return A.RULE_arithmeticOperator}enterRule(t){t.enterArithmeticOperator&&t.enterArithmeticOperator(this)}exitRule(t){t.exitArithmeticOperator&&t.exitArithmeticOperator(this)}accept(t){return t.visitArithmeticOperator?t.visitArithmeticOperator(this):t.visitChildren(this)}}e.ArithmeticOperatorContext=Vn;class Yn extends u.ParserRuleContext{OR(){return this.tryGetToken(A.OR,0)}AND(){return this.tryGetToken(A.AND,0)}IN(){return this.tryGetToken(A.IN,0)}NOT(){return this.tryGetToken(A.NOT,0)}constructor(t,e){super(t,e)}get ruleIndex(){return A.RULE_predicateOperator}enterRule(t){t.enterPredicateOperator&&t.enterPredicateOperator(this)}exitRule(t){t.exitPredicateOperator&&t.exitPredicateOperator(this)}accept(t){return t.visitPredicateOperator?t.visitPredicateOperator(this):t.visitChildren(this)}}e.PredicateOperatorContext=Yn;class Wn extends u.ParserRuleContext{TRUE(){return this.tryGetToken(A.TRUE,0)}FALSE(){return this.tryGetToken(A.FALSE,0)}constructor(t,e){super(t,e)}get ruleIndex(){return A.RULE_booleanValue}enterRule(t){t.enterBooleanValue&&t.enterBooleanValue(this)}exitRule(t){t.exitBooleanValue&&t.exitBooleanValue(this)}accept(t){return t.visitBooleanValue?t.visitBooleanValue(this):t.visitChildren(this)}}e.BooleanValueContext=Wn;class Kn extends u.ParserRuleContext{INTERVAL(){return this.getToken(A.INTERVAL,0)}errorCapturingMultiUnitsInterval(){return this.tryGetRuleContext(0,Xn)}errorCapturingUnitToUnitInterval(){return this.tryGetRuleContext(0,jn)}constructor(t,e){super(t,e)}get ruleIndex(){return A.RULE_interval}enterRule(t){t.enterInterval&&t.enterInterval(this)}exitRule(t){t.exitInterval&&t.exitInterval(this)}accept(t){return t.visitInterval?t.visitInterval(this):t.visitChildren(this)}}e.IntervalContext=Kn;class Xn extends u.ParserRuleContext{constructor(t,e){super(t,e)}multiUnitsInterval(){return this.getRuleContext(0,qn)}unitToUnitInterval(){return this.tryGetRuleContext(0,Qn)}get ruleIndex(){return A.RULE_errorCapturingMultiUnitsInterval}enterRule(t){t.enterErrorCapturingMultiUnitsInterval&&t.enterErrorCapturingMultiUnitsInterval(this)}exitRule(t){t.exitErrorCapturingMultiUnitsInterval&&t.exitErrorCapturingMultiUnitsInterval(this)}accept(t){return t.visitErrorCapturingMultiUnitsInterval?t.visitErrorCapturingMultiUnitsInterval(this):t.visitChildren(this)}}e.ErrorCapturingMultiUnitsIntervalContext=Xn;class qn extends u.ParserRuleContext{constructor(t,e){super(t,e),this._unit=[]}intervalValue(t){return void 0===t?this.getRuleContexts(zn):this.getRuleContext(t,zn)}unitInMultiUnits(t){return void 0===t?this.getRuleContexts($n):this.getRuleContext(t,$n)}get ruleIndex(){return A.RULE_multiUnitsInterval}enterRule(t){t.enterMultiUnitsInterval&&t.enterMultiUnitsInterval(this)}exitRule(t){t.exitMultiUnitsInterval&&t.exitMultiUnitsInterval(this)}accept(t){return t.visitMultiUnitsInterval?t.visitMultiUnitsInterval(this):t.visitChildren(this)}}e.MultiUnitsIntervalContext=qn;class jn extends u.ParserRuleContext{constructor(t,e){super(t,e)}unitToUnitInterval(t){return void 0===t?this.getRuleContexts(Qn):this.getRuleContext(t,Qn)}multiUnitsInterval(){return this.tryGetRuleContext(0,qn)}get ruleIndex(){return A.RULE_errorCapturingUnitToUnitInterval}enterRule(t){t.enterErrorCapturingUnitToUnitInterval&&t.enterErrorCapturingUnitToUnitInterval(this)}exitRule(t){t.exitErrorCapturingUnitToUnitInterval&&t.exitErrorCapturingUnitToUnitInterval(this)}accept(t){return t.visitErrorCapturingUnitToUnitInterval?t.visitErrorCapturingUnitToUnitInterval(this):t.visitChildren(this)}}e.ErrorCapturingUnitToUnitIntervalContext=jn;class Qn extends u.ParserRuleContext{constructor(t,e){super(t,e)}TO(){return this.getToken(A.TO,0)}intervalValue(){return this.getRuleContext(0,zn)}unitInUnitToUnit(t){return void 0===t?this.getRuleContexts(Jn):this.getRuleContext(t,Jn)}get ruleIndex(){return A.RULE_unitToUnitInterval}enterRule(t){t.enterUnitToUnitInterval&&t.enterUnitToUnitInterval(this)}exitRule(t){t.exitUnitToUnitInterval&&t.exitUnitToUnitInterval(this)}accept(t){return t.visitUnitToUnitInterval?t.visitUnitToUnitInterval(this):t.visitChildren(this)}}e.UnitToUnitIntervalContext=Qn;class zn extends u.ParserRuleContext{INTEGER_VALUE(){return this.tryGetToken(A.INTEGER_VALUE,0)}DECIMAL_VALUE(){return this.tryGetToken(A.DECIMAL_VALUE,0)}stringLit(){return this.tryGetRuleContext(0,$s)}PLUS(){return this.tryGetToken(A.PLUS,0)}MINUS(){return this.tryGetToken(A.MINUS,0)}constructor(t,e){super(t,e)}get ruleIndex(){return A.RULE_intervalValue}enterRule(t){t.enterIntervalValue&&t.enterIntervalValue(this)}exitRule(t){t.exitIntervalValue&&t.exitIntervalValue(this)}accept(t){return t.visitIntervalValue?t.visitIntervalValue(this):t.visitChildren(this)}}e.IntervalValueContext=zn;class $n extends u.ParserRuleContext{NANOSECOND(){return this.tryGetToken(A.NANOSECOND,0)}NANOSECONDS(){return this.tryGetToken(A.NANOSECONDS,0)}MICROSECOND(){return this.tryGetToken(A.MICROSECOND,0)}MICROSECONDS(){return this.tryGetToken(A.MICROSECONDS,0)}MILLISECOND(){return this.tryGetToken(A.MILLISECOND,0)}MILLISECONDS(){return this.tryGetToken(A.MILLISECONDS,0)}SECOND(){return this.tryGetToken(A.SECOND,0)}SECONDS(){return this.tryGetToken(A.SECONDS,0)}MINUTE(){return this.tryGetToken(A.MINUTE,0)}MINUTES(){return this.tryGetToken(A.MINUTES,0)}HOUR(){return this.tryGetToken(A.HOUR,0)}HOURS(){return this.tryGetToken(A.HOURS,0)}DAY(){return this.tryGetToken(A.DAY,0)}DAYS(){return this.tryGetToken(A.DAYS,0)}WEEK(){return this.tryGetToken(A.WEEK,0)}WEEKS(){return this.tryGetToken(A.WEEKS,0)}MONTH(){return this.tryGetToken(A.MONTH,0)}MONTHS(){return this.tryGetToken(A.MONTHS,0)}YEAR(){return this.tryGetToken(A.YEAR,0)}YEARS(){return this.tryGetToken(A.YEARS,0)}constructor(t,e){super(t,e)}get ruleIndex(){return A.RULE_unitInMultiUnits}enterRule(t){t.enterUnitInMultiUnits&&t.enterUnitInMultiUnits(this)}exitRule(t){t.exitUnitInMultiUnits&&t.exitUnitInMultiUnits(this)}accept(t){return t.visitUnitInMultiUnits?t.visitUnitInMultiUnits(this):t.visitChildren(this)}}e.UnitInMultiUnitsContext=$n;class Jn extends u.ParserRuleContext{SECOND(){return this.tryGetToken(A.SECOND,0)}MINUTE(){return this.tryGetToken(A.MINUTE,0)}HOUR(){return this.tryGetToken(A.HOUR,0)}DAY(){return this.tryGetToken(A.DAY,0)}MONTH(){return this.tryGetToken(A.MONTH,0)}YEAR(){return this.tryGetToken(A.YEAR,0)}constructor(t,e){super(t,e)}get ruleIndex(){return A.RULE_unitInUnitToUnit}enterRule(t){t.enterUnitInUnitToUnit&&t.enterUnitInUnitToUnit(this)}exitRule(t){t.exitUnitInUnitToUnit&&t.exitUnitInUnitToUnit(this)}accept(t){return t.visitUnitInUnitToUnit?t.visitUnitInUnitToUnit(this):t.visitChildren(this)}}e.UnitInUnitToUnitContext=Jn;class Zn extends u.ParserRuleContext{constructor(t,e){super(t,e)}FIRST(){return this.tryGetToken(A.FIRST,0)}AFTER(){return this.tryGetToken(A.AFTER,0)}errorCapturingIdentifier(){return this.tryGetRuleContext(0,gs)}get ruleIndex(){return A.RULE_colPosition}enterRule(t){t.enterColPosition&&t.enterColPosition(this)}exitRule(t){t.exitColPosition&&t.exitColPosition(this)}accept(t){return t.visitColPosition?t.visitColPosition(this):t.visitChildren(this)}}e.ColPositionContext=Zn;class ts extends u.ParserRuleContext{constructor(t,e){super(t,e)}BOOLEAN(){return this.tryGetToken(A.BOOLEAN,0)}TINYINT(){return this.tryGetToken(A.TINYINT,0)}BYTE(){return this.tryGetToken(A.BYTE,0)}SMALLINT(){return this.tryGetToken(A.SMALLINT,0)}SHORT(){return this.tryGetToken(A.SHORT,0)}INT(){return this.tryGetToken(A.INT,0)}INTEGER(){return this.tryGetToken(A.INTEGER,0)}BIGINT(){return this.tryGetToken(A.BIGINT,0)}LONG(){return this.tryGetToken(A.LONG,0)}FLOAT(){return this.tryGetToken(A.FLOAT,0)}REAL(){return this.tryGetToken(A.REAL,0)}DOUBLE(){return this.tryGetToken(A.DOUBLE,0)}DATE(){return this.tryGetToken(A.DATE,0)}TIMESTAMP(){return this.tryGetToken(A.TIMESTAMP,0)}TIMESTAMP_NTZ(){return this.tryGetToken(A.TIMESTAMP_NTZ,0)}TIMESTAMP_LTZ(){return this.tryGetToken(A.TIMESTAMP_LTZ,0)}STRING(){return this.tryGetToken(A.STRING,0)}CHARACTER(){return this.tryGetToken(A.CHARACTER,0)}CHAR(){return this.tryGetToken(A.CHAR,0)}VARCHAR(){return this.tryGetToken(A.VARCHAR,0)}BINARY(){return this.tryGetToken(A.BINARY,0)}DECIMAL(){return this.tryGetToken(A.DECIMAL,0)}DEC(){return this.tryGetToken(A.DEC,0)}NUMERIC(){return this.tryGetToken(A.NUMERIC,0)}VOID(){return this.tryGetToken(A.VOID,0)}INTERVAL(){return this.tryGetToken(A.INTERVAL,0)}ARRAY(){return this.tryGetToken(A.ARRAY,0)}STRUCT(){return this.tryGetToken(A.STRUCT,0)}MAP(){return this.tryGetToken(A.MAP,0)}identifier(){return this.tryGetRuleContext(0,vs)}get ruleIndex(){return A.RULE_type}enterRule(t){t.enterType&&t.enterType(this)}exitRule(t){t.exitType&&t.exitType(this)}accept(t){return t.visitType?t.visitType(this):t.visitChildren(this)}}e.TypeContext=ts;class es extends u.ParserRuleContext{constructor(t,e){super(t,e)}get ruleIndex(){return A.RULE_dataType}copyFrom(t){super.copyFrom(t)}}e.DataTypeContext=es;class rs extends es{constructor(t){super(t.parent,t.invokingState),this.copyFrom(t)}LT(){return this.tryGetToken(A.LT,0)}dataType(t){return void 0===t?this.getRuleContexts(es):this.getRuleContext(t,es)}GT(){return this.tryGetToken(A.GT,0)}ARRAY(){return this.tryGetToken(A.ARRAY,0)}COMMA(){return this.tryGetToken(A.COMMA,0)}MAP(){return this.tryGetToken(A.MAP,0)}STRUCT(){return this.tryGetToken(A.STRUCT,0)}NEQ(){return this.tryGetToken(A.NEQ,0)}complexColTypeList(){return this.tryGetRuleContext(0,Ss)}enterRule(t){t.enterComplexDataType&&t.enterComplexDataType(this)}exitRule(t){t.exitComplexDataType&&t.exitComplexDataType(this)}accept(t){return t.visitComplexDataType?t.visitComplexDataType(this):t.visitChildren(this)}}e.ComplexDataTypeContext=rs;class is extends es{constructor(t){super(t.parent,t.invokingState),this.copyFrom(t)}INTERVAL(){return this.getToken(A.INTERVAL,0)}YEAR(){return this.tryGetToken(A.YEAR,0)}MONTH(t){return void 0===t?this.getTokens(A.MONTH):this.getToken(A.MONTH,t)}TO(){return this.tryGetToken(A.TO,0)}enterRule(t){t.enterYearMonthIntervalDataType&&t.enterYearMonthIntervalDataType(this)}exitRule(t){t.exitYearMonthIntervalDataType&&t.exitYearMonthIntervalDataType(this)}accept(t){return t.visitYearMonthIntervalDataType?t.visitYearMonthIntervalDataType(this):t.visitChildren(this)}}e.YearMonthIntervalDataTypeContext=is;class ns extends es{constructor(t){super(t.parent,t.invokingState),this.copyFrom(t)}INTERVAL(){return this.getToken(A.INTERVAL,0)}DAY(){return this.tryGetToken(A.DAY,0)}HOUR(t){return void 0===t?this.getTokens(A.HOUR):this.getToken(A.HOUR,t)}MINUTE(t){return void 0===t?this.getTokens(A.MINUTE):this.getToken(A.MINUTE,t)}SECOND(t){return void 0===t?this.getTokens(A.SECOND):this.getToken(A.SECOND,t)}TO(){return this.tryGetToken(A.TO,0)}enterRule(t){t.enterDayTimeIntervalDataType&&t.enterDayTimeIntervalDataType(this)}exitRule(t){t.exitDayTimeIntervalDataType&&t.exitDayTimeIntervalDataType(this)}accept(t){return t.visitDayTimeIntervalDataType?t.visitDayTimeIntervalDataType(this):t.visitChildren(this)}}e.DayTimeIntervalDataTypeContext=ns;class ss extends es{type(){return this.getRuleContext(0,ts)}LEFT_PAREN(){return this.tryGetToken(A.LEFT_PAREN,0)}INTEGER_VALUE(t){return void 0===t?this.getTokens(A.INTEGER_VALUE):this.getToken(A.INTEGER_VALUE,t)}RIGHT_PAREN(){return this.tryGetToken(A.RIGHT_PAREN,0)}COMMA(t){return void 0===t?this.getTokens(A.COMMA):this.getToken(A.COMMA,t)}constructor(t){super(t.parent,t.invokingState),this.copyFrom(t)}enterRule(t){t.enterPrimitiveDataType&&t.enterPrimitiveDataType(this)}exitRule(t){t.exitPrimitiveDataType&&t.exitPrimitiveDataType(this)}accept(t){return t.visitPrimitiveDataType?t.visitPrimitiveDataType(this):t.visitChildren(this)}}e.PrimitiveDataTypeContext=ss;class os extends u.ParserRuleContext{qualifiedColTypeWithPosition(t){return void 0===t?this.getRuleContexts(as):this.getRuleContext(t,as)}COMMA(t){return void 0===t?this.getTokens(A.COMMA):this.getToken(A.COMMA,t)}constructor(t,e){super(t,e)}get ruleIndex(){return A.RULE_qualifiedColTypeWithPositionList}enterRule(t){t.enterQualifiedColTypeWithPositionList&&t.enterQualifiedColTypeWithPositionList(this)}exitRule(t){t.exitQualifiedColTypeWithPositionList&&t.exitQualifiedColTypeWithPositionList(this)}accept(t){return t.visitQualifiedColTypeWithPositionList?t.visitQualifiedColTypeWithPositionList(this):t.visitChildren(this)}}e.QualifiedColTypeWithPositionListContext=os;class as extends u.ParserRuleContext{constructor(t,e){super(t,e)}dataType(){return this.getRuleContext(0,es)}multipartIdentifier(){return this.getRuleContext(0,fi)}colDefinitionDescriptorWithPosition(t){return void 0===t?this.getRuleContexts(Es):this.getRuleContext(t,Es)}get ruleIndex(){return A.RULE_qualifiedColTypeWithPosition}enterRule(t){t.enterQualifiedColTypeWithPosition&&t.enterQualifiedColTypeWithPosition(this)}exitRule(t){t.exitQualifiedColTypeWithPosition&&t.exitQualifiedColTypeWithPosition(this)}accept(t){return t.visitQualifiedColTypeWithPosition?t.visitQualifiedColTypeWithPosition(this):t.visitChildren(this)}}e.QualifiedColTypeWithPositionContext=as;class Es extends u.ParserRuleContext{NOT(){return this.tryGetToken(A.NOT,0)}NULL(){return this.tryGetToken(A.NULL,0)}defaultExpression(){return this.tryGetRuleContext(0,hs)}commentSpec(){return this.tryGetRuleContext(0,ie)}colPosition(){return this.tryGetRuleContext(0,Zn)}constructor(t,e){super(t,e)}get ruleIndex(){return A.RULE_colDefinitionDescriptorWithPosition}enterRule(t){t.enterColDefinitionDescriptorWithPosition&&t.enterColDefinitionDescriptorWithPosition(this)}exitRule(t){t.exitColDefinitionDescriptorWithPosition&&t.exitColDefinitionDescriptorWithPosition(this)}accept(t){return t.visitColDefinitionDescriptorWithPosition?t.visitColDefinitionDescriptorWithPosition(this):t.visitChildren(this)}}e.ColDefinitionDescriptorWithPositionContext=Es;class hs extends u.ParserRuleContext{DEFAULT(){return this.getToken(A.DEFAULT,0)}expression(){return this.getRuleContext(0,wi)}constructor(t,e){super(t,e)}get ruleIndex(){return A.RULE_defaultExpression}enterRule(t){t.enterDefaultExpression&&t.enterDefaultExpression(this)}exitRule(t){t.exitDefaultExpression&&t.exitDefaultExpression(this)}accept(t){return t.visitDefaultExpression?t.visitDefaultExpression(this):t.visitChildren(this)}}e.DefaultExpressionContext=hs;class ls extends u.ParserRuleContext{colType(t){return void 0===t?this.getRuleContexts(us):this.getRuleContext(t,us)}COMMA(t){return void 0===t?this.getTokens(A.COMMA):this.getToken(A.COMMA,t)}constructor(t,e){super(t,e)}get ruleIndex(){return A.RULE_colTypeList}enterRule(t){t.enterColTypeList&&t.enterColTypeList(this)}exitRule(t){t.exitColTypeList&&t.exitColTypeList(this)}accept(t){return t.visitColTypeList?t.visitColTypeList(this):t.visitChildren(this)}}e.ColTypeListContext=ls;class us extends u.ParserRuleContext{constructor(t,e){super(t,e)}dataType(){return this.getRuleContext(0,es)}errorCapturingIdentifier(){return this.getRuleContext(0,gs)}NOT(){return this.tryGetToken(A.NOT,0)}NULL(){return this.tryGetToken(A.NULL,0)}commentSpec(){return this.tryGetRuleContext(0,ie)}get ruleIndex(){return A.RULE_colType}enterRule(t){t.enterColType&&t.enterColType(this)}exitRule(t){t.exitColType&&t.exitColType(this)}accept(t){return t.visitColType?t.visitColType(this):t.visitChildren(this)}}e.ColTypeContext=us;class cs extends u.ParserRuleContext{createOrReplaceTableColType(t){return void 0===t?this.getRuleContexts(Ts):this.getRuleContext(t,Ts)}COMMA(t){return void 0===t?this.getTokens(A.COMMA):this.getToken(A.COMMA,t)}constructor(t,e){super(t,e)}get ruleIndex(){return A.RULE_createOrReplaceTableColTypeList}enterRule(t){t.enterCreateOrReplaceTableColTypeList&&t.enterCreateOrReplaceTableColTypeList(this)}exitRule(t){t.exitCreateOrReplaceTableColTypeList&&t.exitCreateOrReplaceTableColTypeList(this)}accept(t){return t.visitCreateOrReplaceTableColTypeList?t.visitCreateOrReplaceTableColTypeList(this):t.visitChildren(this)}}e.CreateOrReplaceTableColTypeListContext=cs;class Ts extends u.ParserRuleContext{constructor(t,e){super(t,e)}dataType(){return this.getRuleContext(0,es)}errorCapturingIdentifier(){return this.getRuleContext(0,gs)}colDefinitionOption(t){return void 0===t?this.getRuleContexts(Rs):this.getRuleContext(t,Rs)}get ruleIndex(){return A.RULE_createOrReplaceTableColType}enterRule(t){t.enterCreateOrReplaceTableColType&&t.enterCreateOrReplaceTableColType(this)}exitRule(t){t.exitCreateOrReplaceTableColType&&t.exitCreateOrReplaceTableColType(this)}accept(t){return t.visitCreateOrReplaceTableColType?t.visitCreateOrReplaceTableColType(this):t.visitChildren(this)}}e.CreateOrReplaceTableColTypeContext=Ts;class Rs extends u.ParserRuleContext{NOT(){return this.tryGetToken(A.NOT,0)}NULL(){return this.tryGetToken(A.NULL,0)}defaultExpression(){return this.tryGetRuleContext(0,hs)}generationExpression(){return this.tryGetRuleContext(0,ps)}commentSpec(){return this.tryGetRuleContext(0,ie)}constructor(t,e){super(t,e)}get ruleIndex(){return A.RULE_colDefinitionOption}enterRule(t){t.enterColDefinitionOption&&t.enterColDefinitionOption(this)}exitRule(t){t.exitColDefinitionOption&&t.exitColDefinitionOption(this)}accept(t){return t.visitColDefinitionOption?t.visitColDefinitionOption(this):t.visitChildren(this)}}e.ColDefinitionOptionContext=Rs;class ps extends u.ParserRuleContext{GENERATED(){return this.getToken(A.GENERATED,0)}ALWAYS(){return this.getToken(A.ALWAYS,0)}AS(){return this.getToken(A.AS,0)}LEFT_PAREN(){return this.getToken(A.LEFT_PAREN,0)}expression(){return this.getRuleContext(0,wi)}RIGHT_PAREN(){return this.getToken(A.RIGHT_PAREN,0)}constructor(t,e){super(t,e)}get ruleIndex(){return A.RULE_generationExpression}enterRule(t){t.enterGenerationExpression&&t.enterGenerationExpression(this)}exitRule(t){t.exitGenerationExpression&&t.exitGenerationExpression(this)}accept(t){return t.visitGenerationExpression?t.visitGenerationExpression(this):t.visitChildren(this)}}e.GenerationExpressionContext=ps;class Ss extends u.ParserRuleContext{complexColType(t){return void 0===t?this.getRuleContexts(As):this.getRuleContext(t,As)}COMMA(t){return void 0===t?this.getTokens(A.COMMA):this.getToken(A.COMMA,t)}constructor(t,e){super(t,e)}get ruleIndex(){return A.RULE_complexColTypeList}enterRule(t){t.enterComplexColTypeList&&t.enterComplexColTypeList(this)}exitRule(t){t.exitComplexColTypeList&&t.exitComplexColTypeList(this)}accept(t){return t.visitComplexColTypeList?t.visitComplexColTypeList(this):t.visitChildren(this)}}e.ComplexColTypeListContext=Ss;class As extends u.ParserRuleContext{identifier(){return this.getRuleContext(0,vs)}dataType(){return this.getRuleContext(0,es)}COLON(){return this.tryGetToken(A.COLON,0)}NOT(){return this.tryGetToken(A.NOT,0)}NULL(){return this.tryGetToken(A.NULL,0)}commentSpec(){return this.tryGetRuleContext(0,ie)}constructor(t,e){super(t,e)}get ruleIndex(){return A.RULE_complexColType}enterRule(t){t.enterComplexColType&&t.enterComplexColType(this)}exitRule(t){t.exitComplexColType&&t.exitComplexColType(this)}accept(t){return t.visitComplexColType?t.visitComplexColType(this):t.visitChildren(this)}}e.ComplexColTypeContext=As;class ds extends u.ParserRuleContext{constructor(t,e){super(t,e)}WHEN(){return this.getToken(A.WHEN,0)}THEN(){return this.getToken(A.THEN,0)}expression(t){return void 0===t?this.getRuleContexts(wi):this.getRuleContext(t,wi)}get ruleIndex(){return A.RULE_whenClause}enterRule(t){t.enterWhenClause&&t.enterWhenClause(this)}exitRule(t){t.exitWhenClause&&t.exitWhenClause(this)}accept(t){return t.visitWhenClause?t.visitWhenClause(this):t.visitChildren(this)}}e.WhenClauseContext=ds;class Ns extends u.ParserRuleContext{WINDOW(){return this.getToken(A.WINDOW,0)}namedWindow(t){return void 0===t?this.getRuleContexts(Os):this.getRuleContext(t,Os)}COMMA(t){return void 0===t?this.getTokens(A.COMMA):this.getToken(A.COMMA,t)}constructor(t,e){super(t,e)}get ruleIndex(){return A.RULE_windowClause}enterRule(t){t.enterWindowClause&&t.enterWindowClause(this)}exitRule(t){t.exitWindowClause&&t.exitWindowClause(this)}accept(t){return t.visitWindowClause?t.visitWindowClause(this):t.visitChildren(this)}}e.WindowClauseContext=Ns;class Os extends u.ParserRuleContext{constructor(t,e){super(t,e)}AS(){return this.getToken(A.AS,0)}windowSpec(){return this.getRuleContext(0,Cs)}errorCapturingIdentifier(){return this.getRuleContext(0,gs)}get ruleIndex(){return A.RULE_namedWindow}enterRule(t){t.enterNamedWindow&&t.enterNamedWindow(this)}exitRule(t){t.exitNamedWindow&&t.exitNamedWindow(this)}accept(t){return t.visitNamedWindow?t.visitNamedWindow(this):t.visitChildren(this)}}e.NamedWindowContext=Os;class Cs extends u.ParserRuleContext{constructor(t,e){super(t,e)}get ruleIndex(){return A.RULE_windowSpec}copyFrom(t){super.copyFrom(t)}}e.WindowSpecContext=Cs;class _s extends Cs{constructor(t){super(t.parent,t.invokingState),this.copyFrom(t)}errorCapturingIdentifier(){return this.getRuleContext(0,gs)}LEFT_PAREN(){return this.tryGetToken(A.LEFT_PAREN,0)}RIGHT_PAREN(){return this.tryGetToken(A.RIGHT_PAREN,0)}enterRule(t){t.enterWindowRef&&t.enterWindowRef(this)}exitRule(t){t.exitWindowRef&&t.exitWindowRef(this)}accept(t){return t.visitWindowRef?t.visitWindowRef(this):t.visitChildren(this)}}e.WindowRefContext=_s;class Is extends Cs{constructor(t){super(t.parent,t.invokingState),this._partition=[],this.copyFrom(t)}LEFT_PAREN(){return this.getToken(A.LEFT_PAREN,0)}RIGHT_PAREN(){return this.getToken(A.RIGHT_PAREN,0)}CLUSTER(){return this.tryGetToken(A.CLUSTER,0)}BY(t){return void 0===t?this.getTokens(A.BY):this.getToken(A.BY,t)}expression(t){return void 0===t?this.getRuleContexts(wi):this.getRuleContext(t,wi)}windowFrame(){return this.tryGetRuleContext(0,Ls)}COMMA(t){return void 0===t?this.getTokens(A.COMMA):this.getToken(A.COMMA,t)}sortItem(t){return void 0===t?this.getRuleContexts(tr):this.getRuleContext(t,tr)}PARTITION(){return this.tryGetToken(A.PARTITION,0)}DISTRIBUTE(){return this.tryGetToken(A.DISTRIBUTE,0)}ORDER(){return this.tryGetToken(A.ORDER,0)}SORT(){return this.tryGetToken(A.SORT,0)}enterRule(t){t.enterWindowDef&&t.enterWindowDef(this)}exitRule(t){t.exitWindowDef&&t.exitWindowDef(this)}accept(t){return t.visitWindowDef?t.visitWindowDef(this):t.visitChildren(this)}}e.WindowDefContext=Is;class Ls extends u.ParserRuleContext{constructor(t,e){super(t,e)}RANGE(){return this.tryGetToken(A.RANGE,0)}frameBound(t){return void 0===t?this.getRuleContexts(fs):this.getRuleContext(t,fs)}ROWS(){return this.tryGetToken(A.ROWS,0)}BETWEEN(){return this.tryGetToken(A.BETWEEN,0)}AND(){return this.tryGetToken(A.AND,0)}get ruleIndex(){return A.RULE_windowFrame}enterRule(t){t.enterWindowFrame&&t.enterWindowFrame(this)}exitRule(t){t.exitWindowFrame&&t.exitWindowFrame(this)}accept(t){return t.visitWindowFrame?t.visitWindowFrame(this):t.visitChildren(this)}}e.WindowFrameContext=Ls;class fs extends u.ParserRuleContext{constructor(t,e){super(t,e)}UNBOUNDED(){return this.tryGetToken(A.UNBOUNDED,0)}PRECEDING(){return this.tryGetToken(A.PRECEDING,0)}FOLLOWING(){return this.tryGetToken(A.FOLLOWING,0)}ROW(){return this.tryGetToken(A.ROW,0)}CURRENT(){return this.tryGetToken(A.CURRENT,0)}expression(){return this.tryGetRuleContext(0,wi)}get ruleIndex(){return A.RULE_frameBound}enterRule(t){t.enterFrameBound&&t.enterFrameBound(this)}exitRule(t){t.exitFrameBound&&t.exitFrameBound(this)}accept(t){return t.visitFrameBound?t.visitFrameBound(this):t.visitChildren(this)}}e.FrameBoundContext=fs;class ms extends u.ParserRuleContext{qualifiedName(t){return void 0===t?this.getRuleContexts(xs):this.getRuleContext(t,xs)}COMMA(t){return void 0===t?this.getTokens(A.COMMA):this.getToken(A.COMMA,t)}constructor(t,e){super(t,e)}get ruleIndex(){return A.RULE_qualifiedNameList}enterRule(t){t.enterQualifiedNameList&&t.enterQualifiedNameList(this)}exitRule(t){t.exitQualifiedNameList&&t.exitQualifiedNameList(this)}accept(t){return t.visitQualifiedNameList?t.visitQualifiedNameList(this):t.visitChildren(this)}}e.QualifiedNameListContext=ms;class ys extends u.ParserRuleContext{IDENTIFIER_KW(){return this.tryGetToken(A.IDENTIFIER_KW,0)}LEFT_PAREN(){return this.tryGetToken(A.LEFT_PAREN,0)}expression(){return this.tryGetRuleContext(0,wi)}RIGHT_PAREN(){return this.tryGetToken(A.RIGHT_PAREN,0)}qualifiedName(){return this.tryGetRuleContext(0,xs)}FILTER(){return this.tryGetToken(A.FILTER,0)}LEFT(){return this.tryGetToken(A.LEFT,0)}RIGHT(){return this.tryGetToken(A.RIGHT,0)}constructor(t,e){super(t,e)}get ruleIndex(){return A.RULE_functionName}enterRule(t){t.enterFunctionName&&t.enterFunctionName(this)}exitRule(t){t.exitFunctionName&&t.exitFunctionName(this)}accept(t){return t.visitFunctionName?t.visitFunctionName(this):t.visitChildren(this)}}e.FunctionNameContext=ys;class xs extends u.ParserRuleContext{identifier(t){return void 0===t?this.getRuleContexts(vs):this.getRuleContext(t,vs)}DOT(t){return void 0===t?this.getTokens(A.DOT):this.getToken(A.DOT,t)}constructor(t,e){super(t,e)}get ruleIndex(){return A.RULE_qualifiedName}enterRule(t){t.enterQualifiedName&&t.enterQualifiedName(this)}exitRule(t){t.exitQualifiedName&&t.exitQualifiedName(this)}accept(t){return t.visitQualifiedName?t.visitQualifiedName(this):t.visitChildren(this)}}e.QualifiedNameContext=xs;class gs extends u.ParserRuleContext{identifier(){return this.getRuleContext(0,vs)}errorCapturingIdentifierExtra(){return this.getRuleContext(0,Ps)}constructor(t,e){super(t,e)}get ruleIndex(){return A.RULE_errorCapturingIdentifier}enterRule(t){t.enterErrorCapturingIdentifier&&t.enterErrorCapturingIdentifier(this)}exitRule(t){t.exitErrorCapturingIdentifier&&t.exitErrorCapturingIdentifier(this)}accept(t){return t.visitErrorCapturingIdentifier?t.visitErrorCapturingIdentifier(this):t.visitChildren(this)}}e.ErrorCapturingIdentifierContext=gs;class Ps extends u.ParserRuleContext{constructor(t,e){super(t,e)}get ruleIndex(){return A.RULE_errorCapturingIdentifierExtra}copyFrom(t){super.copyFrom(t)}}e.ErrorCapturingIdentifierExtraContext=Ps;class Ds extends Ps{MINUS(t){return void 0===t?this.getTokens(A.MINUS):this.getToken(A.MINUS,t)}identifier(t){return void 0===t?this.getRuleContexts(vs):this.getRuleContext(t,vs)}constructor(t){super(t.parent,t.invokingState),this.copyFrom(t)}enterRule(t){t.enterErrorIdent&&t.enterErrorIdent(this)}exitRule(t){t.exitErrorIdent&&t.exitErrorIdent(this)}accept(t){return t.visitErrorIdent?t.visitErrorIdent(this):t.visitChildren(this)}}e.ErrorIdentContext=Ds;class Ms extends Ps{constructor(t){super(t.parent,t.invokingState),this.copyFrom(t)}enterRule(t){t.enterRealIdent&&t.enterRealIdent(this)}exitRule(t){t.exitRealIdent&&t.exitRealIdent(this)}accept(t){return t.visitRealIdent?t.visitRealIdent(this):t.visitChildren(this)}}e.RealIdentContext=Ms;class vs extends u.ParserRuleContext{strictIdentifier(){return this.tryGetRuleContext(0,Us)}strictNonReserved(){return this.tryGetRuleContext(0,eo)}constructor(t,e){super(t,e)}get ruleIndex(){return A.RULE_identifier}enterRule(t){t.enterIdentifier&&t.enterIdentifier(this)}exitRule(t){t.exitIdentifier&&t.exitIdentifier(this)}accept(t){return t.visitIdentifier?t.visitIdentifier(this):t.visitChildren(this)}}e.IdentifierContext=vs;class Us extends u.ParserRuleContext{constructor(t,e){super(t,e)}get ruleIndex(){return A.RULE_strictIdentifier}copyFrom(t){super.copyFrom(t)}}e.StrictIdentifierContext=Us;class ks extends Us{IDENTIFIER(){return this.tryGetToken(A.IDENTIFIER,0)}ansiNonReserved(){return this.tryGetRuleContext(0,to)}nonReserved(){return this.tryGetRuleContext(0,ro)}constructor(t){super(t.parent,t.invokingState),this.copyFrom(t)}enterRule(t){t.enterUnquotedIdentifier&&t.enterUnquotedIdentifier(this)}exitRule(t){t.exitUnquotedIdentifier&&t.exitUnquotedIdentifier(this)}accept(t){return t.visitUnquotedIdentifier?t.visitUnquotedIdentifier(this):t.visitChildren(this)}}e.UnquotedIdentifierContext=ks;class bs extends Us{quotedIdentifier(){return this.getRuleContext(0,Gs)}constructor(t){super(t.parent,t.invokingState),this.copyFrom(t)}enterRule(t){t.enterQuotedIdentifierAlternative&&t.enterQuotedIdentifierAlternative(this)}exitRule(t){t.exitQuotedIdentifierAlternative&&t.exitQuotedIdentifierAlternative(this)}accept(t){return t.visitQuotedIdentifierAlternative?t.visitQuotedIdentifierAlternative(this):t.visitChildren(this)}}e.QuotedIdentifierAlternativeContext=bs;class Gs extends u.ParserRuleContext{BACKQUOTED_IDENTIFIER(){return this.tryGetToken(A.BACKQUOTED_IDENTIFIER,0)}DOUBLEQUOTED_STRING(){return this.tryGetToken(A.DOUBLEQUOTED_STRING,0)}constructor(t,e){super(t,e)}get ruleIndex(){return A.RULE_quotedIdentifier}enterRule(t){t.enterQuotedIdentifier&&t.enterQuotedIdentifier(this)}exitRule(t){t.exitQuotedIdentifier&&t.exitQuotedIdentifier(this)}accept(t){return t.visitQuotedIdentifier?t.visitQuotedIdentifier(this):t.visitChildren(this)}}e.QuotedIdentifierContext=Gs;class Fs extends u.ParserRuleContext{BACKQUOTED_IDENTIFIER(){return this.getToken(A.BACKQUOTED_IDENTIFIER,0)}constructor(t,e){super(t,e)}get ruleIndex(){return A.RULE_backQuotedIdentifier}enterRule(t){t.enterBackQuotedIdentifier&&t.enterBackQuotedIdentifier(this)}exitRule(t){t.exitBackQuotedIdentifier&&t.exitBackQuotedIdentifier(this)}accept(t){return t.visitBackQuotedIdentifier?t.visitBackQuotedIdentifier(this):t.visitChildren(this)}}e.BackQuotedIdentifierContext=Fs;class Hs extends u.ParserRuleContext{constructor(t,e){super(t,e)}get ruleIndex(){return A.RULE_number}copyFrom(t){super.copyFrom(t)}}e.NumberContext=Hs;class ws extends Hs{EXPONENT_VALUE(){return this.getToken(A.EXPONENT_VALUE,0)}MINUS(){return this.tryGetToken(A.MINUS,0)}constructor(t){super(t.parent,t.invokingState),this.copyFrom(t)}enterRule(t){t.enterExponentLiteral&&t.enterExponentLiteral(this)}exitRule(t){t.exitExponentLiteral&&t.exitExponentLiteral(this)}accept(t){return t.visitExponentLiteral?t.visitExponentLiteral(this):t.visitChildren(this)}}e.ExponentLiteralContext=ws;class Bs extends Hs{DECIMAL_VALUE(){return this.getToken(A.DECIMAL_VALUE,0)}MINUS(){return this.tryGetToken(A.MINUS,0)}constructor(t){super(t.parent,t.invokingState),this.copyFrom(t)}enterRule(t){t.enterDecimalLiteral&&t.enterDecimalLiteral(this)}exitRule(t){t.exitDecimalLiteral&&t.exitDecimalLiteral(this)}accept(t){return t.visitDecimalLiteral?t.visitDecimalLiteral(this):t.visitChildren(this)}}e.DecimalLiteralContext=Bs;class Vs extends Hs{EXPONENT_VALUE(){return this.tryGetToken(A.EXPONENT_VALUE,0)}DECIMAL_VALUE(){return this.tryGetToken(A.DECIMAL_VALUE,0)}MINUS(){return this.tryGetToken(A.MINUS,0)}constructor(t){super(t.parent,t.invokingState),this.copyFrom(t)}enterRule(t){t.enterLegacyDecimalLiteral&&t.enterLegacyDecimalLiteral(this)}exitRule(t){t.exitLegacyDecimalLiteral&&t.exitLegacyDecimalLiteral(this)}accept(t){return t.visitLegacyDecimalLiteral?t.visitLegacyDecimalLiteral(this):t.visitChildren(this)}}e.LegacyDecimalLiteralContext=Vs;class Ys extends Hs{INTEGER_VALUE(){return this.getToken(A.INTEGER_VALUE,0)}MINUS(){return this.tryGetToken(A.MINUS,0)}constructor(t){super(t.parent,t.invokingState),this.copyFrom(t)}enterRule(t){t.enterIntegerLiteral&&t.enterIntegerLiteral(this)}exitRule(t){t.exitIntegerLiteral&&t.exitIntegerLiteral(this)}accept(t){return t.visitIntegerLiteral?t.visitIntegerLiteral(this):t.visitChildren(this)}}e.IntegerLiteralContext=Ys;class Ws extends Hs{BIGINT_LITERAL(){return this.getToken(A.BIGINT_LITERAL,0)}MINUS(){return this.tryGetToken(A.MINUS,0)}constructor(t){super(t.parent,t.invokingState),this.copyFrom(t)}enterRule(t){t.enterBigIntLiteral&&t.enterBigIntLiteral(this)}exitRule(t){t.exitBigIntLiteral&&t.exitBigIntLiteral(this)}accept(t){return t.visitBigIntLiteral?t.visitBigIntLiteral(this):t.visitChildren(this)}}e.BigIntLiteralContext=Ws;class Ks extends Hs{SMALLINT_LITERAL(){return this.getToken(A.SMALLINT_LITERAL,0)}MINUS(){return this.tryGetToken(A.MINUS,0)}constructor(t){super(t.parent,t.invokingState),this.copyFrom(t)}enterRule(t){t.enterSmallIntLiteral&&t.enterSmallIntLiteral(this)}exitRule(t){t.exitSmallIntLiteral&&t.exitSmallIntLiteral(this)}accept(t){return t.visitSmallIntLiteral?t.visitSmallIntLiteral(this):t.visitChildren(this)}}e.SmallIntLiteralContext=Ks;class Xs extends Hs{TINYINT_LITERAL(){return this.getToken(A.TINYINT_LITERAL,0)}MINUS(){return this.tryGetToken(A.MINUS,0)}constructor(t){super(t.parent,t.invokingState),this.copyFrom(t)}enterRule(t){t.enterTinyIntLiteral&&t.enterTinyIntLiteral(this)}exitRule(t){t.exitTinyIntLiteral&&t.exitTinyIntLiteral(this)}accept(t){return t.visitTinyIntLiteral?t.visitTinyIntLiteral(this):t.visitChildren(this)}}e.TinyIntLiteralContext=Xs;class qs extends Hs{DOUBLE_LITERAL(){return this.getToken(A.DOUBLE_LITERAL,0)}MINUS(){return this.tryGetToken(A.MINUS,0)}constructor(t){super(t.parent,t.invokingState),this.copyFrom(t)}enterRule(t){t.enterDoubleLiteral&&t.enterDoubleLiteral(this)}exitRule(t){t.exitDoubleLiteral&&t.exitDoubleLiteral(this)}accept(t){return t.visitDoubleLiteral?t.visitDoubleLiteral(this):t.visitChildren(this)}}e.DoubleLiteralContext=qs;class js extends Hs{FLOAT_LITERAL(){return this.getToken(A.FLOAT_LITERAL,0)}MINUS(){return this.tryGetToken(A.MINUS,0)}constructor(t){super(t.parent,t.invokingState),this.copyFrom(t)}enterRule(t){t.enterFloatLiteral&&t.enterFloatLiteral(this)}exitRule(t){t.exitFloatLiteral&&t.exitFloatLiteral(this)}accept(t){return t.visitFloatLiteral?t.visitFloatLiteral(this):t.visitChildren(this)}}e.FloatLiteralContext=js;class Qs extends Hs{BIGDECIMAL_LITERAL(){return this.getToken(A.BIGDECIMAL_LITERAL,0)}MINUS(){return this.tryGetToken(A.MINUS,0)}constructor(t){super(t.parent,t.invokingState),this.copyFrom(t)}enterRule(t){t.enterBigDecimalLiteral&&t.enterBigDecimalLiteral(this)}exitRule(t){t.exitBigDecimalLiteral&&t.exitBigDecimalLiteral(this)}accept(t){return t.visitBigDecimalLiteral?t.visitBigDecimalLiteral(this):t.visitChildren(this)}}e.BigDecimalLiteralContext=Qs;class zs extends u.ParserRuleContext{constructor(t,e){super(t,e)}TYPE(){return this.tryGetToken(A.TYPE,0)}dataType(){return this.tryGetRuleContext(0,es)}commentSpec(){return this.tryGetRuleContext(0,ie)}colPosition(){return this.tryGetRuleContext(0,Zn)}NOT(){return this.tryGetToken(A.NOT,0)}NULL(){return this.tryGetToken(A.NULL,0)}SET(){return this.tryGetToken(A.SET,0)}DROP(){return this.tryGetToken(A.DROP,0)}defaultExpression(){return this.tryGetRuleContext(0,hs)}DEFAULT(){return this.tryGetToken(A.DEFAULT,0)}get ruleIndex(){return A.RULE_alterColumnAction}enterRule(t){t.enterAlterColumnAction&&t.enterAlterColumnAction(this)}exitRule(t){t.exitAlterColumnAction&&t.exitAlterColumnAction(this)}accept(t){return t.visitAlterColumnAction?t.visitAlterColumnAction(this):t.visitChildren(this)}}e.AlterColumnActionContext=zs;class $s extends u.ParserRuleContext{STRING_LITERAL(){return this.tryGetToken(A.STRING_LITERAL,0)}DOUBLEQUOTED_STRING(){return this.tryGetToken(A.DOUBLEQUOTED_STRING,0)}constructor(t,e){super(t,e)}get ruleIndex(){return A.RULE_stringLit}enterRule(t){t.enterStringLit&&t.enterStringLit(this)}exitRule(t){t.exitStringLit&&t.exitStringLit(this)}accept(t){return t.visitStringLit?t.visitStringLit(this):t.visitChildren(this)}}e.StringLitContext=$s;class Js extends u.ParserRuleContext{stringLit(){return this.tryGetRuleContext(0,$s)}NULL(){return this.tryGetToken(A.NULL,0)}constructor(t,e){super(t,e)}get ruleIndex(){return A.RULE_comment}enterRule(t){t.enterComment&&t.enterComment(this)}exitRule(t){t.exitComment&&t.exitComment(this)}accept(t){return t.visitComment?t.visitComment(this):t.visitChildren(this)}}e.CommentContext=Js;class Zs extends u.ParserRuleContext{INTEGER_VALUE(){return this.tryGetToken(A.INTEGER_VALUE,0)}stringLit(){return this.tryGetRuleContext(0,$s)}constructor(t,e){super(t,e)}get ruleIndex(){return A.RULE_version}enterRule(t){t.enterVersion&&t.enterVersion(this)}exitRule(t){t.exitVersion&&t.exitVersion(this)}accept(t){return t.visitVersion?t.visitVersion(this):t.visitChildren(this)}}e.VersionContext=Zs;class to extends u.ParserRuleContext{ADD(){return this.tryGetToken(A.ADD,0)}AFTER(){return this.tryGetToken(A.AFTER,0)}ALTER(){return this.tryGetToken(A.ALTER,0)}ALWAYS(){return this.tryGetToken(A.ALWAYS,0)}ANALYZE(){return this.tryGetToken(A.ANALYZE,0)}ANTI(){return this.tryGetToken(A.ANTI,0)}ANY_VALUE(){return this.tryGetToken(A.ANY_VALUE,0)}ARCHIVE(){return this.tryGetToken(A.ARCHIVE,0)}ARRAY(){return this.tryGetToken(A.ARRAY,0)}ASC(){return this.tryGetToken(A.ASC,0)}AT(){return this.tryGetToken(A.AT,0)}BETWEEN(){return this.tryGetToken(A.BETWEEN,0)}BIGINT(){return this.tryGetToken(A.BIGINT,0)}BINARY(){return this.tryGetToken(A.BINARY,0)}BINARY_HEX(){return this.tryGetToken(A.BINARY_HEX,0)}BOOLEAN(){return this.tryGetToken(A.BOOLEAN,0)}BUCKET(){return this.tryGetToken(A.BUCKET,0)}BUCKETS(){return this.tryGetToken(A.BUCKETS,0)}BY(){return this.tryGetToken(A.BY,0)}BYTE(){return this.tryGetToken(A.BYTE,0)}CACHE(){return this.tryGetToken(A.CACHE,0)}CASCADE(){return this.tryGetToken(A.CASCADE,0)}CATALOG(){return this.tryGetToken(A.CATALOG,0)}CATALOGS(){return this.tryGetToken(A.CATALOGS,0)}CHANGE(){return this.tryGetToken(A.CHANGE,0)}CHAR(){return this.tryGetToken(A.CHAR,0)}CHARACTER(){return this.tryGetToken(A.CHARACTER,0)}CLEAR(){return this.tryGetToken(A.CLEAR,0)}CLUSTER(){return this.tryGetToken(A.CLUSTER,0)}CLUSTERED(){return this.tryGetToken(A.CLUSTERED,0)}CODEGEN(){return this.tryGetToken(A.CODEGEN,0)}COLLECTION(){return this.tryGetToken(A.COLLECTION,0)}COLUMNS(){return this.tryGetToken(A.COLUMNS,0)}COMMENT(){return this.tryGetToken(A.COMMENT,0)}COMMIT(){return this.tryGetToken(A.COMMIT,0)}COMPACT(){return this.tryGetToken(A.COMPACT,0)}COMPACTIONS(){return this.tryGetToken(A.COMPACTIONS,0)}COMPUTE(){return this.tryGetToken(A.COMPUTE,0)}CONCATENATE(){return this.tryGetToken(A.CONCATENATE,0)}COST(){return this.tryGetToken(A.COST,0)}CUBE(){return this.tryGetToken(A.CUBE,0)}CURRENT(){return this.tryGetToken(A.CURRENT,0)}DATA(){return this.tryGetToken(A.DATA,0)}DATABASE(){return this.tryGetToken(A.DATABASE,0)}DATABASES(){return this.tryGetToken(A.DATABASES,0)}DATE(){return this.tryGetToken(A.DATE,0)}DATEADD(){return this.tryGetToken(A.DATEADD,0)}DATE_ADD(){return this.tryGetToken(A.DATE_ADD,0)}DATEDIFF(){return this.tryGetToken(A.DATEDIFF,0)}DATE_DIFF(){return this.tryGetToken(A.DATE_DIFF,0)}DAY(){return this.tryGetToken(A.DAY,0)}DAYS(){return this.tryGetToken(A.DAYS,0)}DAYOFYEAR(){return this.tryGetToken(A.DAYOFYEAR,0)}DBPROPERTIES(){return this.tryGetToken(A.DBPROPERTIES,0)}DEC(){return this.tryGetToken(A.DEC,0)}DECIMAL(){return this.tryGetToken(A.DECIMAL,0)}DEFAULT(){return this.tryGetToken(A.DEFAULT,0)}DEFINED(){return this.tryGetToken(A.DEFINED,0)}DELETE(){return this.tryGetToken(A.DELETE,0)}DELIMITED(){return this.tryGetToken(A.DELIMITED,0)}DESC(){return this.tryGetToken(A.DESC,0)}DESCRIBE(){return this.tryGetToken(A.DESCRIBE,0)}DFS(){return this.tryGetToken(A.DFS,0)}DIRECTORIES(){return this.tryGetToken(A.DIRECTORIES,0)}DIRECTORY(){return this.tryGetToken(A.DIRECTORY,0)}DISTRIBUTE(){return this.tryGetToken(A.DISTRIBUTE,0)}DIV(){return this.tryGetToken(A.DIV,0)}DOUBLE(){return this.tryGetToken(A.DOUBLE,0)}DROP(){return this.tryGetToken(A.DROP,0)}ESCAPED(){return this.tryGetToken(A.ESCAPED,0)}EXCHANGE(){return this.tryGetToken(A.EXCHANGE,0)}EXCLUDE(){return this.tryGetToken(A.EXCLUDE,0)}EXISTS(){return this.tryGetToken(A.EXISTS,0)}EXPLAIN(){return this.tryGetToken(A.EXPLAIN,0)}EXPORT(){return this.tryGetToken(A.EXPORT,0)}EXTENDED(){return this.tryGetToken(A.EXTENDED,0)}EXTERNAL(){return this.tryGetToken(A.EXTERNAL,0)}EXTRACT(){return this.tryGetToken(A.EXTRACT,0)}FIELDS(){return this.tryGetToken(A.FIELDS,0)}FILEFORMAT(){return this.tryGetToken(A.FILEFORMAT,0)}FIRST(){return this.tryGetToken(A.FIRST,0)}FLOAT(){return this.tryGetToken(A.FLOAT,0)}FOLLOWING(){return this.tryGetToken(A.FOLLOWING,0)}FORMAT(){return this.tryGetToken(A.FORMAT,0)}FORMATTED(){return this.tryGetToken(A.FORMATTED,0)}FUNCTION(){return this.tryGetToken(A.FUNCTION,0)}FUNCTIONS(){return this.tryGetToken(A.FUNCTIONS,0)}GENERATED(){return this.tryGetToken(A.GENERATED,0)}GLOBAL(){return this.tryGetToken(A.GLOBAL,0)}GROUPING(){return this.tryGetToken(A.GROUPING,0)}HOUR(){return this.tryGetToken(A.HOUR,0)}HOURS(){return this.tryGetToken(A.HOURS,0)}IDENTIFIER_KW(){return this.tryGetToken(A.IDENTIFIER_KW,0)}IF(){return this.tryGetToken(A.IF,0)}IGNORE(){return this.tryGetToken(A.IGNORE,0)}IMPORT(){return this.tryGetToken(A.IMPORT,0)}INCLUDE(){return this.tryGetToken(A.INCLUDE,0)}INDEX(){return this.tryGetToken(A.INDEX,0)}INDEXES(){return this.tryGetToken(A.INDEXES,0)}INPATH(){return this.tryGetToken(A.INPATH,0)}INPUTFORMAT(){return this.tryGetToken(A.INPUTFORMAT,0)}INSERT(){return this.tryGetToken(A.INSERT,0)}INT(){return this.tryGetToken(A.INT,0)}INTEGER(){return this.tryGetToken(A.INTEGER,0)}INTERVAL(){return this.tryGetToken(A.INTERVAL,0)}ITEMS(){return this.tryGetToken(A.ITEMS,0)}KEYS(){return this.tryGetToken(A.KEYS,0)}LAST(){return this.tryGetToken(A.LAST,0)}LAZY(){return this.tryGetToken(A.LAZY,0)}LIKE(){return this.tryGetToken(A.LIKE,0)}ILIKE(){return this.tryGetToken(A.ILIKE,0)}LIMIT(){return this.tryGetToken(A.LIMIT,0)}LINES(){return this.tryGetToken(A.LINES,0)}LIST(){return this.tryGetToken(A.LIST,0)}LOAD(){return this.tryGetToken(A.LOAD,0)}LOCAL(){return this.tryGetToken(A.LOCAL,0)}LOCATION(){return this.tryGetToken(A.LOCATION,0)}LOCK(){return this.tryGetToken(A.LOCK,0)}LOCKS(){return this.tryGetToken(A.LOCKS,0)}LOGICAL(){return this.tryGetToken(A.LOGICAL,0)}LONG(){return this.tryGetToken(A.LONG,0)}MACRO(){return this.tryGetToken(A.MACRO,0)}MAP(){return this.tryGetToken(A.MAP,0)}MATCHED(){return this.tryGetToken(A.MATCHED,0)}MERGE(){return this.tryGetToken(A.MERGE,0)}MICROSECOND(){return this.tryGetToken(A.MICROSECOND,0)}MICROSECONDS(){return this.tryGetToken(A.MICROSECONDS,0)}MILLISECOND(){return this.tryGetToken(A.MILLISECOND,0)}MILLISECONDS(){return this.tryGetToken(A.MILLISECONDS,0)}MINUTE(){return this.tryGetToken(A.MINUTE,0)}MINUTES(){return this.tryGetToken(A.MINUTES,0)}MONTH(){return this.tryGetToken(A.MONTH,0)}MONTHS(){return this.tryGetToken(A.MONTHS,0)}MSCK(){return this.tryGetToken(A.MSCK,0)}NAME(){return this.tryGetToken(A.NAME,0)}NAMESPACE(){return this.tryGetToken(A.NAMESPACE,0)}NAMESPACES(){return this.tryGetToken(A.NAMESPACES,0)}NANOSECOND(){return this.tryGetToken(A.NANOSECOND,0)}NANOSECONDS(){return this.tryGetToken(A.NANOSECONDS,0)}NO(){return this.tryGetToken(A.NO,0)}NULLS(){return this.tryGetToken(A.NULLS,0)}NUMERIC(){return this.tryGetToken(A.NUMERIC,0)}OF(){return this.tryGetToken(A.OF,0)}OPTION(){return this.tryGetToken(A.OPTION,0)}OPTIONS(){return this.tryGetToken(A.OPTIONS,0)}OUT(){return this.tryGetToken(A.OUT,0)}OUTPUTFORMAT(){return this.tryGetToken(A.OUTPUTFORMAT,0)}OVER(){return this.tryGetToken(A.OVER,0)}OVERLAY(){return this.tryGetToken(A.OVERLAY,0)}OVERWRITE(){return this.tryGetToken(A.OVERWRITE,0)}PARTITION(){return this.tryGetToken(A.PARTITION,0)}PARTITIONED(){return this.tryGetToken(A.PARTITIONED,0)}PARTITIONS(){return this.tryGetToken(A.PARTITIONS,0)}PERCENTLIT(){return this.tryGetToken(A.PERCENTLIT,0)}PIVOT(){return this.tryGetToken(A.PIVOT,0)}PLACING(){return this.tryGetToken(A.PLACING,0)}POSITION(){return this.tryGetToken(A.POSITION,0)}PRECEDING(){return this.tryGetToken(A.PRECEDING,0)}PRINCIPALS(){return this.tryGetToken(A.PRINCIPALS,0)}PROPERTIES(){return this.tryGetToken(A.PROPERTIES,0)}PURGE(){return this.tryGetToken(A.PURGE,0)}QUARTER(){return this.tryGetToken(A.QUARTER,0)}QUERY(){return this.tryGetToken(A.QUERY,0)}RANGE(){return this.tryGetToken(A.RANGE,0)}REAL(){return this.tryGetToken(A.REAL,0)}RECORDREADER(){return this.tryGetToken(A.RECORDREADER,0)}RECORDWRITER(){return this.tryGetToken(A.RECORDWRITER,0)}RECOVER(){return this.tryGetToken(A.RECOVER,0)}REDUCE(){return this.tryGetToken(A.REDUCE,0)}REFRESH(){return this.tryGetToken(A.REFRESH,0)}RENAME(){return this.tryGetToken(A.RENAME,0)}REPAIR(){return this.tryGetToken(A.REPAIR,0)}REPEATABLE(){return this.tryGetToken(A.REPEATABLE,0)}REPLACE(){return this.tryGetToken(A.REPLACE,0)}RESET(){return this.tryGetToken(A.RESET,0)}RESPECT(){return this.tryGetToken(A.RESPECT,0)}RESTRICT(){return this.tryGetToken(A.RESTRICT,0)}REVOKE(){return this.tryGetToken(A.REVOKE,0)}RLIKE(){return this.tryGetToken(A.RLIKE,0)}ROLE(){return this.tryGetToken(A.ROLE,0)}ROLES(){return this.tryGetToken(A.ROLES,0)}ROLLBACK(){return this.tryGetToken(A.ROLLBACK,0)}ROLLUP(){return this.tryGetToken(A.ROLLUP,0)}ROW(){return this.tryGetToken(A.ROW,0)}ROWS(){return this.tryGetToken(A.ROWS,0)}SCHEMA(){return this.tryGetToken(A.SCHEMA,0)}SCHEMAS(){return this.tryGetToken(A.SCHEMAS,0)}SECOND(){return this.tryGetToken(A.SECOND,0)}SECONDS(){return this.tryGetToken(A.SECONDS,0)}SEMI(){return this.tryGetToken(A.SEMI,0)}SEPARATED(){return this.tryGetToken(A.SEPARATED,0)}SERDE(){return this.tryGetToken(A.SERDE,0)}SERDEPROPERTIES(){return this.tryGetToken(A.SERDEPROPERTIES,0)}SET(){return this.tryGetToken(A.SET,0)}SETMINUS(){return this.tryGetToken(A.SETMINUS,0)}SETS(){return this.tryGetToken(A.SETS,0)}SHORT(){return this.tryGetToken(A.SHORT,0)}SHOW(){return this.tryGetToken(A.SHOW,0)}SKEWED(){return this.tryGetToken(A.SKEWED,0)}SMALLINT(){return this.tryGetToken(A.SMALLINT,0)}SORT(){return this.tryGetToken(A.SORT,0)}SORTED(){return this.tryGetToken(A.SORTED,0)}SOURCE(){return this.tryGetToken(A.SOURCE,0)}START(){return this.tryGetToken(A.START,0)}STATISTICS(){return this.tryGetToken(A.STATISTICS,0)}STORED(){return this.tryGetToken(A.STORED,0)}STRATIFY(){return this.tryGetToken(A.STRATIFY,0)}STRING(){return this.tryGetToken(A.STRING,0)}STRUCT(){return this.tryGetToken(A.STRUCT,0)}SUBSTR(){return this.tryGetToken(A.SUBSTR,0)}SUBSTRING(){return this.tryGetToken(A.SUBSTRING,0)}SYNC(){return this.tryGetToken(A.SYNC,0)}SYSTEM_TIME(){return this.tryGetToken(A.SYSTEM_TIME,0)}SYSTEM_VERSION(){return this.tryGetToken(A.SYSTEM_VERSION,0)}TABLES(){return this.tryGetToken(A.TABLES,0)}TABLESAMPLE(){return this.tryGetToken(A.TABLESAMPLE,0)}TARGET(){return this.tryGetToken(A.TARGET,0)}TBLPROPERTIES(){return this.tryGetToken(A.TBLPROPERTIES,0)}TEMPORARY(){return this.tryGetToken(A.TEMPORARY,0)}TERMINATED(){return this.tryGetToken(A.TERMINATED,0)}TIMESTAMP(){return this.tryGetToken(A.TIMESTAMP,0)}TIMESTAMP_LTZ(){return this.tryGetToken(A.TIMESTAMP_LTZ,0)}TIMESTAMP_NTZ(){return this.tryGetToken(A.TIMESTAMP_NTZ,0)}TIMESTAMPADD(){return this.tryGetToken(A.TIMESTAMPADD,0)}TIMESTAMPDIFF(){return this.tryGetToken(A.TIMESTAMPDIFF,0)}TINYINT(){return this.tryGetToken(A.TINYINT,0)}TOUCH(){return this.tryGetToken(A.TOUCH,0)}TRANSACTION(){return this.tryGetToken(A.TRANSACTION,0)}TRANSACTIONS(){return this.tryGetToken(A.TRANSACTIONS,0)}TRANSFORM(){return this.tryGetToken(A.TRANSFORM,0)}TRIM(){return this.tryGetToken(A.TRIM,0)}TRUE(){return this.tryGetToken(A.TRUE,0)}TRUNCATE(){return this.tryGetToken(A.TRUNCATE,0)}TRY_CAST(){return this.tryGetToken(A.TRY_CAST,0)}TYPE(){return this.tryGetToken(A.TYPE,0)}UNARCHIVE(){return this.tryGetToken(A.UNARCHIVE,0)}UNBOUNDED(){return this.tryGetToken(A.UNBOUNDED,0)}UNCACHE(){return this.tryGetToken(A.UNCACHE,0)}UNLOCK(){return this.tryGetToken(A.UNLOCK,0)}UNPIVOT(){return this.tryGetToken(A.UNPIVOT,0)}UNSET(){return this.tryGetToken(A.UNSET,0)}UPDATE(){return this.tryGetToken(A.UPDATE,0)}USE(){return this.tryGetToken(A.USE,0)}VALUES(){return this.tryGetToken(A.VALUES,0)}VARCHAR(){return this.tryGetToken(A.VARCHAR,0)}VERSION(){return this.tryGetToken(A.VERSION,0)}VIEW(){return this.tryGetToken(A.VIEW,0)}VIEWS(){return this.tryGetToken(A.VIEWS,0)}VOID(){return this.tryGetToken(A.VOID,0)}WEEK(){return this.tryGetToken(A.WEEK,0)}WEEKS(){return this.tryGetToken(A.WEEKS,0)}WINDOW(){return this.tryGetToken(A.WINDOW,0)}YEAR(){return this.tryGetToken(A.YEAR,0)}YEARS(){return this.tryGetToken(A.YEARS,0)}ZONE(){return this.tryGetToken(A.ZONE,0)}constructor(t,e){super(t,e)}get ruleIndex(){return A.RULE_ansiNonReserved}enterRule(t){t.enterAnsiNonReserved&&t.enterAnsiNonReserved(this)}exitRule(t){t.exitAnsiNonReserved&&t.exitAnsiNonReserved(this)}accept(t){return t.visitAnsiNonReserved?t.visitAnsiNonReserved(this):t.visitChildren(this)}}e.AnsiNonReservedContext=to;class eo extends u.ParserRuleContext{ANTI(){return this.tryGetToken(A.ANTI,0)}CROSS(){return this.tryGetToken(A.CROSS,0)}EXCEPT(){return this.tryGetToken(A.EXCEPT,0)}FULL(){return this.tryGetToken(A.FULL,0)}INNER(){return this.tryGetToken(A.INNER,0)}INTERSECT(){return this.tryGetToken(A.INTERSECT,0)}JOIN(){return this.tryGetToken(A.JOIN,0)}LATERAL(){return this.tryGetToken(A.LATERAL,0)}LEFT(){return this.tryGetToken(A.LEFT,0)}NATURAL(){return this.tryGetToken(A.NATURAL,0)}ON(){return this.tryGetToken(A.ON,0)}RIGHT(){return this.tryGetToken(A.RIGHT,0)}SEMI(){return this.tryGetToken(A.SEMI,0)}SETMINUS(){return this.tryGetToken(A.SETMINUS,0)}UNION(){return this.tryGetToken(A.UNION,0)}USING(){return this.tryGetToken(A.USING,0)}constructor(t,e){super(t,e)}get ruleIndex(){return A.RULE_strictNonReserved}enterRule(t){t.enterStrictNonReserved&&t.enterStrictNonReserved(this)}exitRule(t){t.exitStrictNonReserved&&t.exitStrictNonReserved(this)}accept(t){return t.visitStrictNonReserved?t.visitStrictNonReserved(this):t.visitChildren(this)}}e.StrictNonReservedContext=eo;class ro extends u.ParserRuleContext{ADD(){return this.tryGetToken(A.ADD,0)}AFTER(){return this.tryGetToken(A.AFTER,0)}ALL(){return this.tryGetToken(A.ALL,0)}ALTER(){return this.tryGetToken(A.ALTER,0)}ALWAYS(){return this.tryGetToken(A.ALWAYS,0)}ANALYZE(){return this.tryGetToken(A.ANALYZE,0)}AND(){return this.tryGetToken(A.AND,0)}ANY(){return this.tryGetToken(A.ANY,0)}ANY_VALUE(){return this.tryGetToken(A.ANY_VALUE,0)}ARCHIVE(){return this.tryGetToken(A.ARCHIVE,0)}ARRAY(){return this.tryGetToken(A.ARRAY,0)}AS(){return this.tryGetToken(A.AS,0)}ASC(){return this.tryGetToken(A.ASC,0)}AT(){return this.tryGetToken(A.AT,0)}AUTHORIZATION(){return this.tryGetToken(A.AUTHORIZATION,0)}BETWEEN(){return this.tryGetToken(A.BETWEEN,0)}BIGINT(){return this.tryGetToken(A.BIGINT,0)}BINARY(){return this.tryGetToken(A.BINARY,0)}BINARY_HEX(){return this.tryGetToken(A.BINARY_HEX,0)}BOOLEAN(){return this.tryGetToken(A.BOOLEAN,0)}BOTH(){return this.tryGetToken(A.BOTH,0)}BUCKET(){return this.tryGetToken(A.BUCKET,0)}BUCKETS(){return this.tryGetToken(A.BUCKETS,0)}BY(){return this.tryGetToken(A.BY,0)}BYTE(){return this.tryGetToken(A.BYTE,0)}CACHE(){return this.tryGetToken(A.CACHE,0)}CASCADE(){return this.tryGetToken(A.CASCADE,0)}CASE(){return this.tryGetToken(A.CASE,0)}CAST(){return this.tryGetToken(A.CAST,0)}CATALOG(){return this.tryGetToken(A.CATALOG,0)}CATALOGS(){return this.tryGetToken(A.CATALOGS,0)}CHANGE(){return this.tryGetToken(A.CHANGE,0)}CHAR(){return this.tryGetToken(A.CHAR,0)}CHARACTER(){return this.tryGetToken(A.CHARACTER,0)}CHECK(){return this.tryGetToken(A.CHECK,0)}CLEAR(){return this.tryGetToken(A.CLEAR,0)}CLUSTER(){return this.tryGetToken(A.CLUSTER,0)}CLUSTERED(){return this.tryGetToken(A.CLUSTERED,0)}CODEGEN(){return this.tryGetToken(A.CODEGEN,0)}COLLATE(){return this.tryGetToken(A.COLLATE,0)}COLLECTION(){return this.tryGetToken(A.COLLECTION,0)}COLUMN(){return this.tryGetToken(A.COLUMN,0)}COLUMNS(){return this.tryGetToken(A.COLUMNS,0)}COMMENT(){return this.tryGetToken(A.COMMENT,0)}COMMIT(){return this.tryGetToken(A.COMMIT,0)}COMPACT(){return this.tryGetToken(A.COMPACT,0)}COMPACTIONS(){return this.tryGetToken(A.COMPACTIONS,0)}COMPUTE(){return this.tryGetToken(A.COMPUTE,0)}CONCATENATE(){return this.tryGetToken(A.CONCATENATE,0)}CONSTRAINT(){return this.tryGetToken(A.CONSTRAINT,0)}COST(){return this.tryGetToken(A.COST,0)}CREATE(){return this.tryGetToken(A.CREATE,0)}CUBE(){return this.tryGetToken(A.CUBE,0)}CURRENT(){return this.tryGetToken(A.CURRENT,0)}CURRENT_DATE(){return this.tryGetToken(A.CURRENT_DATE,0)}CURRENT_TIME(){return this.tryGetToken(A.CURRENT_TIME,0)}CURRENT_TIMESTAMP(){return this.tryGetToken(A.CURRENT_TIMESTAMP,0)}CURRENT_USER(){return this.tryGetToken(A.CURRENT_USER,0)}DATA(){return this.tryGetToken(A.DATA,0)}DATABASE(){return this.tryGetToken(A.DATABASE,0)}DATABASES(){return this.tryGetToken(A.DATABASES,0)}DATE(){return this.tryGetToken(A.DATE,0)}DATEADD(){return this.tryGetToken(A.DATEADD,0)}DATE_ADD(){return this.tryGetToken(A.DATE_ADD,0)}DATEDIFF(){return this.tryGetToken(A.DATEDIFF,0)}DATE_DIFF(){return this.tryGetToken(A.DATE_DIFF,0)}DAY(){return this.tryGetToken(A.DAY,0)}DAYS(){return this.tryGetToken(A.DAYS,0)}DAYOFYEAR(){return this.tryGetToken(A.DAYOFYEAR,0)}DBPROPERTIES(){return this.tryGetToken(A.DBPROPERTIES,0)}DEC(){return this.tryGetToken(A.DEC,0)}DECIMAL(){return this.tryGetToken(A.DECIMAL,0)}DEFAULT(){return this.tryGetToken(A.DEFAULT,0)}DEFINED(){return this.tryGetToken(A.DEFINED,0)}DELETE(){return this.tryGetToken(A.DELETE,0)}DELIMITED(){return this.tryGetToken(A.DELIMITED,0)}DESC(){return this.tryGetToken(A.DESC,0)}DESCRIBE(){return this.tryGetToken(A.DESCRIBE,0)}DFS(){return this.tryGetToken(A.DFS,0)}DIRECTORIES(){return this.tryGetToken(A.DIRECTORIES,0)}DIRECTORY(){return this.tryGetToken(A.DIRECTORY,0)}DISTINCT(){return this.tryGetToken(A.DISTINCT,0)}DISTRIBUTE(){return this.tryGetToken(A.DISTRIBUTE,0)}DIV(){return this.tryGetToken(A.DIV,0)}DOUBLE(){return this.tryGetToken(A.DOUBLE,0)}DROP(){return this.tryGetToken(A.DROP,0)}ELSE(){return this.tryGetToken(A.ELSE,0)}END(){return this.tryGetToken(A.END,0)}ESCAPE(){return this.tryGetToken(A.ESCAPE,0)}ESCAPED(){return this.tryGetToken(A.ESCAPED,0)}EXCHANGE(){return this.tryGetToken(A.EXCHANGE,0)}EXCLUDE(){return this.tryGetToken(A.EXCLUDE,0)}EXISTS(){return this.tryGetToken(A.EXISTS,0)}EXPLAIN(){return this.tryGetToken(A.EXPLAIN,0)}EXPORT(){return this.tryGetToken(A.EXPORT,0)}EXTENDED(){return this.tryGetToken(A.EXTENDED,0)}EXTERNAL(){return this.tryGetToken(A.EXTERNAL,0)}EXTRACT(){return this.tryGetToken(A.EXTRACT,0)}FALSE(){return this.tryGetToken(A.FALSE,0)}FETCH(){return this.tryGetToken(A.FETCH,0)}FILTER(){return this.tryGetToken(A.FILTER,0)}FIELDS(){return this.tryGetToken(A.FIELDS,0)}FILEFORMAT(){return this.tryGetToken(A.FILEFORMAT,0)}FIRST(){return this.tryGetToken(A.FIRST,0)}FLOAT(){return this.tryGetToken(A.FLOAT,0)}FOLLOWING(){return this.tryGetToken(A.FOLLOWING,0)}FOR(){return this.tryGetToken(A.FOR,0)}FOREIGN(){return this.tryGetToken(A.FOREIGN,0)}FORMAT(){return this.tryGetToken(A.FORMAT,0)}FORMATTED(){return this.tryGetToken(A.FORMATTED,0)}FROM(){return this.tryGetToken(A.FROM,0)}FUNCTION(){return this.tryGetToken(A.FUNCTION,0)}FUNCTIONS(){return this.tryGetToken(A.FUNCTIONS,0)}GENERATED(){return this.tryGetToken(A.GENERATED,0)}GLOBAL(){return this.tryGetToken(A.GLOBAL,0)}GRANT(){return this.tryGetToken(A.GRANT,0)}GROUP(){return this.tryGetToken(A.GROUP,0)}GROUPING(){return this.tryGetToken(A.GROUPING,0)}HAVING(){return this.tryGetToken(A.HAVING,0)}HOUR(){return this.tryGetToken(A.HOUR,0)}HOURS(){return this.tryGetToken(A.HOURS,0)}IDENTIFIER_KW(){return this.tryGetToken(A.IDENTIFIER_KW,0)}IF(){return this.tryGetToken(A.IF,0)}IGNORE(){return this.tryGetToken(A.IGNORE,0)}IMPORT(){return this.tryGetToken(A.IMPORT,0)}IN(){return this.tryGetToken(A.IN,0)}INCLUDE(){return this.tryGetToken(A.INCLUDE,0)}INDEX(){return this.tryGetToken(A.INDEX,0)}INDEXES(){return this.tryGetToken(A.INDEXES,0)}INPATH(){return this.tryGetToken(A.INPATH,0)}INPUTFORMAT(){return this.tryGetToken(A.INPUTFORMAT,0)}INSERT(){return this.tryGetToken(A.INSERT,0)}INT(){return this.tryGetToken(A.INT,0)}INTEGER(){return this.tryGetToken(A.INTEGER,0)}INTERVAL(){return this.tryGetToken(A.INTERVAL,0)}INTO(){return this.tryGetToken(A.INTO,0)}IS(){return this.tryGetToken(A.IS,0)}ITEMS(){return this.tryGetToken(A.ITEMS,0)}KEYS(){return this.tryGetToken(A.KEYS,0)}LAST(){return this.tryGetToken(A.LAST,0)}LAZY(){return this.tryGetToken(A.LAZY,0)}LEADING(){return this.tryGetToken(A.LEADING,0)}LIKE(){return this.tryGetToken(A.LIKE,0)}LONG(){return this.tryGetToken(A.LONG,0)}ILIKE(){return this.tryGetToken(A.ILIKE,0)}LIMIT(){return this.tryGetToken(A.LIMIT,0)}LINES(){return this.tryGetToken(A.LINES,0)}LIST(){return this.tryGetToken(A.LIST,0)}LOAD(){return this.tryGetToken(A.LOAD,0)}LOCAL(){return this.tryGetToken(A.LOCAL,0)}LOCATION(){return this.tryGetToken(A.LOCATION,0)}LOCK(){return this.tryGetToken(A.LOCK,0)}LOCKS(){return this.tryGetToken(A.LOCKS,0)}LOGICAL(){return this.tryGetToken(A.LOGICAL,0)}MACRO(){return this.tryGetToken(A.MACRO,0)}MAP(){return this.tryGetToken(A.MAP,0)}MATCHED(){return this.tryGetToken(A.MATCHED,0)}MERGE(){return this.tryGetToken(A.MERGE,0)}MICROSECOND(){return this.tryGetToken(A.MICROSECOND,0)}MICROSECONDS(){return this.tryGetToken(A.MICROSECONDS,0)}MILLISECOND(){return this.tryGetToken(A.MILLISECOND,0)}MILLISECONDS(){return this.tryGetToken(A.MILLISECONDS,0)}MINUTE(){return this.tryGetToken(A.MINUTE,0)}MINUTES(){return this.tryGetToken(A.MINUTES,0)}MONTH(){return this.tryGetToken(A.MONTH,0)}MONTHS(){return this.tryGetToken(A.MONTHS,0)}MSCK(){return this.tryGetToken(A.MSCK,0)}NAME(){return this.tryGetToken(A.NAME,0)}NAMESPACE(){return this.tryGetToken(A.NAMESPACE,0)}NAMESPACES(){return this.tryGetToken(A.NAMESPACES,0)}NANOSECOND(){return this.tryGetToken(A.NANOSECOND,0)}NANOSECONDS(){return this.tryGetToken(A.NANOSECONDS,0)}NO(){return this.tryGetToken(A.NO,0)}NOT(){return this.tryGetToken(A.NOT,0)}NULL(){return this.tryGetToken(A.NULL,0)}NULLS(){return this.tryGetToken(A.NULLS,0)}NUMERIC(){return this.tryGetToken(A.NUMERIC,0)}OF(){return this.tryGetToken(A.OF,0)}OFFSET(){return this.tryGetToken(A.OFFSET,0)}ONLY(){return this.tryGetToken(A.ONLY,0)}OPTION(){return this.tryGetToken(A.OPTION,0)}OPTIONS(){return this.tryGetToken(A.OPTIONS,0)}OR(){return this.tryGetToken(A.OR,0)}ORDER(){return this.tryGetToken(A.ORDER,0)}OUT(){return this.tryGetToken(A.OUT,0)}OUTER(){return this.tryGetToken(A.OUTER,0)}OUTPUTFORMAT(){return this.tryGetToken(A.OUTPUTFORMAT,0)}OVER(){return this.tryGetToken(A.OVER,0)}OVERLAPS(){return this.tryGetToken(A.OVERLAPS,0)}OVERLAY(){return this.tryGetToken(A.OVERLAY,0)}OVERWRITE(){return this.tryGetToken(A.OVERWRITE,0)}PARTITION(){return this.tryGetToken(A.PARTITION,0)}PARTITIONED(){return this.tryGetToken(A.PARTITIONED,0)}PARTITIONS(){return this.tryGetToken(A.PARTITIONS,0)}PERCENTILE_CONT(){return this.tryGetToken(A.PERCENTILE_CONT,0)}PERCENTILE_DISC(){return this.tryGetToken(A.PERCENTILE_DISC,0)}PERCENTLIT(){return this.tryGetToken(A.PERCENTLIT,0)}PIVOT(){return this.tryGetToken(A.PIVOT,0)}PLACING(){return this.tryGetToken(A.PLACING,0)}POSITION(){return this.tryGetToken(A.POSITION,0)}PRECEDING(){return this.tryGetToken(A.PRECEDING,0)}PRIMARY(){return this.tryGetToken(A.PRIMARY,0)}PRINCIPALS(){return this.tryGetToken(A.PRINCIPALS,0)}PROPERTIES(){return this.tryGetToken(A.PROPERTIES,0)}PURGE(){return this.tryGetToken(A.PURGE,0)}QUARTER(){return this.tryGetToken(A.QUARTER,0)}QUERY(){return this.tryGetToken(A.QUERY,0)}RANGE(){return this.tryGetToken(A.RANGE,0)}REAL(){return this.tryGetToken(A.REAL,0)}RECORDREADER(){return this.tryGetToken(A.RECORDREADER,0)}RECORDWRITER(){return this.tryGetToken(A.RECORDWRITER,0)}RECOVER(){return this.tryGetToken(A.RECOVER,0)}REDUCE(){return this.tryGetToken(A.REDUCE,0)}REFERENCES(){return this.tryGetToken(A.REFERENCES,0)}REFRESH(){return this.tryGetToken(A.REFRESH,0)}RENAME(){return this.tryGetToken(A.RENAME,0)}REPAIR(){return this.tryGetToken(A.REPAIR,0)}REPEATABLE(){return this.tryGetToken(A.REPEATABLE,0)}REPLACE(){return this.tryGetToken(A.REPLACE,0)}RESET(){return this.tryGetToken(A.RESET,0)}RESPECT(){return this.tryGetToken(A.RESPECT,0)}RESTRICT(){return this.tryGetToken(A.RESTRICT,0)}REVOKE(){return this.tryGetToken(A.REVOKE,0)}RLIKE(){return this.tryGetToken(A.RLIKE,0)}ROLE(){return this.tryGetToken(A.ROLE,0)}ROLES(){return this.tryGetToken(A.ROLES,0)}ROLLBACK(){return this.tryGetToken(A.ROLLBACK,0)}ROLLUP(){return this.tryGetToken(A.ROLLUP,0)}ROW(){return this.tryGetToken(A.ROW,0)}ROWS(){return this.tryGetToken(A.ROWS,0)}SCHEMA(){return this.tryGetToken(A.SCHEMA,0)}SCHEMAS(){return this.tryGetToken(A.SCHEMAS,0)}SECOND(){return this.tryGetToken(A.SECOND,0)}SECONDS(){return this.tryGetToken(A.SECONDS,0)}SELECT(){return this.tryGetToken(A.SELECT,0)}SEPARATED(){return this.tryGetToken(A.SEPARATED,0)}SERDE(){return this.tryGetToken(A.SERDE,0)}SERDEPROPERTIES(){return this.tryGetToken(A.SERDEPROPERTIES,0)}SESSION_USER(){return this.tryGetToken(A.SESSION_USER,0)}SET(){return this.tryGetToken(A.SET,0)}SETS(){return this.tryGetToken(A.SETS,0)}SHORT(){return this.tryGetToken(A.SHORT,0)}SHOW(){return this.tryGetToken(A.SHOW,0)}SKEWED(){return this.tryGetToken(A.SKEWED,0)}SMALLINT(){return this.tryGetToken(A.SMALLINT,0)}SOME(){return this.tryGetToken(A.SOME,0)}SORT(){return this.tryGetToken(A.SORT,0)}SORTED(){return this.tryGetToken(A.SORTED,0)}SOURCE(){return this.tryGetToken(A.SOURCE,0)}START(){return this.tryGetToken(A.START,0)}STATISTICS(){return this.tryGetToken(A.STATISTICS,0)}STORED(){return this.tryGetToken(A.STORED,0)}STRATIFY(){return this.tryGetToken(A.STRATIFY,0)}STRING(){return this.tryGetToken(A.STRING,0)}STRUCT(){return this.tryGetToken(A.STRUCT,0)}SUBSTR(){return this.tryGetToken(A.SUBSTR,0)}SUBSTRING(){return this.tryGetToken(A.SUBSTRING,0)}SYNC(){return this.tryGetToken(A.SYNC,0)}SYSTEM_TIME(){return this.tryGetToken(A.SYSTEM_TIME,0)}SYSTEM_VERSION(){return this.tryGetToken(A.SYSTEM_VERSION,0)}TABLE(){return this.tryGetToken(A.TABLE,0)}TABLES(){return this.tryGetToken(A.TABLES,0)}TABLESAMPLE(){return this.tryGetToken(A.TABLESAMPLE,0)}TARGET(){return this.tryGetToken(A.TARGET,0)}TBLPROPERTIES(){return this.tryGetToken(A.TBLPROPERTIES,0)}TEMPORARY(){return this.tryGetToken(A.TEMPORARY,0)}TERMINATED(){return this.tryGetToken(A.TERMINATED,0)}THEN(){return this.tryGetToken(A.THEN,0)}TIME(){return this.tryGetToken(A.TIME,0)}TIMESTAMP(){return this.tryGetToken(A.TIMESTAMP,0)}TIMESTAMP_LTZ(){return this.tryGetToken(A.TIMESTAMP_LTZ,0)}TIMESTAMP_NTZ(){return this.tryGetToken(A.TIMESTAMP_NTZ,0)}TIMESTAMPADD(){return this.tryGetToken(A.TIMESTAMPADD,0)}TIMESTAMPDIFF(){return this.tryGetToken(A.TIMESTAMPDIFF,0)}TINYINT(){return this.tryGetToken(A.TINYINT,0)}TO(){return this.tryGetToken(A.TO,0)}TOUCH(){return this.tryGetToken(A.TOUCH,0)}TRAILING(){return this.tryGetToken(A.TRAILING,0)}TRANSACTION(){return this.tryGetToken(A.TRANSACTION,0)}TRANSACTIONS(){return this.tryGetToken(A.TRANSACTIONS,0)}TRANSFORM(){return this.tryGetToken(A.TRANSFORM,0)}TRIM(){return this.tryGetToken(A.TRIM,0)}TRUE(){return this.tryGetToken(A.TRUE,0)}TRUNCATE(){return this.tryGetToken(A.TRUNCATE,0)}TRY_CAST(){return this.tryGetToken(A.TRY_CAST,0)}TYPE(){return this.tryGetToken(A.TYPE,0)}UNARCHIVE(){return this.tryGetToken(A.UNARCHIVE,0)}UNBOUNDED(){return this.tryGetToken(A.UNBOUNDED,0)}UNCACHE(){return this.tryGetToken(A.UNCACHE,0)}UNIQUE(){return this.tryGetToken(A.UNIQUE,0)}UNKNOWN(){return this.tryGetToken(A.UNKNOWN,0)}UNLOCK(){return this.tryGetToken(A.UNLOCK,0)}UNPIVOT(){return this.tryGetToken(A.UNPIVOT,0)}UNSET(){return this.tryGetToken(A.UNSET,0)}UPDATE(){return this.tryGetToken(A.UPDATE,0)}USE(){return this.tryGetToken(A.USE,0)}USER(){return this.tryGetToken(A.USER,0)}VALUES(){return this.tryGetToken(A.VALUES,0)}VARCHAR(){return this.tryGetToken(A.VARCHAR,0)}VERSION(){return this.tryGetToken(A.VERSION,0)}VIEW(){return this.tryGetToken(A.VIEW,0)}VIEWS(){return this.tryGetToken(A.VIEWS,0)}VOID(){return this.tryGetToken(A.VOID,0)}WEEK(){return this.tryGetToken(A.WEEK,0)}WEEKS(){return this.tryGetToken(A.WEEKS,0)}WHEN(){return this.tryGetToken(A.WHEN,0)}WHERE(){return this.tryGetToken(A.WHERE,0)}WINDOW(){return this.tryGetToken(A.WINDOW,0)}WITH(){return this.tryGetToken(A.WITH,0)}WITHIN(){return this.tryGetToken(A.WITHIN,0)}YEAR(){return this.tryGetToken(A.YEAR,0)}YEARS(){return this.tryGetToken(A.YEARS,0)}ZONE(){return this.tryGetToken(A.ZONE,0)}constructor(t,e){super(t,e)}get ruleIndex(){return A.RULE_nonReserved}enterRule(t){t.enterNonReserved&&t.enterNonReserved(this)}exitRule(t){t.exitNonReserved&&t.exitNonReserved(this)}accept(t){return t.visitNonReserved?t.visitNonReserved(this):t.visitChildren(this)}}e.NonReservedContext=ro},function(t,e,r){"use strict";var i=this&&this.__createBinding||(Object.create?function(t,e,r,i){void 0===i&&(i=r);var n=Object.getOwnPropertyDescriptor(e,r);n&&!("get"in n?!e.__esModule:n.writable||n.configurable)||(n={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,i,n)}:function(t,e,r,i){void 0===i&&(i=r),t[i]=e[r]}),n=this&&this.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),s=this&&this.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(null!=t)for(var r in t)"default"!==r&&Object.prototype.hasOwnProperty.call(t,r)&&i(e,t,r);return n(e,t),e};Object.defineProperty(e,"__esModule",{value:!0}),e.toFoldingRange=e.toCompletionItem=e.toDiagnosticSeverity=void 0;const o=r(1),a=s(r(1));e.toDiagnosticSeverity=function(t){switch(t){case"error":default:return o.DiagnosticSeverity.Error;case"warning":return o.DiagnosticSeverity.Warning;case"suggestion":return o.DiagnosticSeverity.Hint}},e.toCompletionItem=function(t,e,r,i,n){switch(t){case"catalog":return{kind:a.CompletionItemKind.Class,label:e,insertText:r,insertTextFormat:a.InsertTextFormat.Snippet,sortText:`AAA${e}`,documentation:n,detail:i,data:"catalog"};case"database":return{kind:a.CompletionItemKind.Enum,label:e,insertText:r,insertTextFormat:a.InsertTextFormat.Snippet,sortText:`BAA${e}`,documentation:n,detail:i,data:"database"};case"table":return{kind:a.CompletionItemKind.EnumMember,label:e,insertText:r,insertTextFormat:a.InsertTextFormat.Snippet,sortText:`CBA${e}`,documentation:n,detail:i,data:"table"};case"column":return{kind:a.CompletionItemKind.Field,label:e,insertText:r,insertTextFormat:a.InsertTextFormat.Snippet,sortText:`DAA${e}`,documentation:n,detail:i,data:"column"};case"view":return{kind:a.CompletionItemKind.EnumMember,label:e,insertText:r,insertTextFormat:a.InsertTextFormat.Snippet,sortText:`CAA${e}`,documentation:n,detail:i,data:"view"};case"function":return{kind:a.CompletionItemKind.Property,label:e,insertText:`\`${r}\``,insertTextFormat:a.InsertTextFormat.Snippet,sortText:`EAA${e}`,documentation:n,detail:i,data:"function"};case"built-in":return{kind:a.CompletionItemKind.Function,label:e,insertText:r,insertTextFormat:a.InsertTextFormat.Snippet,sortText:`FAA${e}`,documentation:n,detail:i,data:"function"}}},e.toFoldingRange=function(t,e=a.FoldingRangeKind.Region){return a.FoldingRange.create(t.start.line,t.end.line,t.start.character,t.end.character,e)}},function(t,e,r){"use strict";var i=this&&this.__createBinding||(Object.create?function(t,e,r,i){void 0===i&&(i=r);var n=Object.getOwnPropertyDescriptor(e,r);n&&!("get"in n?!e.__esModule:n.writable||n.configurable)||(n={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,i,n)}:function(t,e,r,i){void 0===i&&(i=r),t[i]=e[r]}),n=this&&this.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),s=this&&this.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(null!=t)for(var r in t)"default"!==r&&Object.prototype.hasOwnProperty.call(t,r)&&i(e,t,r);return n(e,t),e};Object.defineProperty(e,"__esModule",{value:!0}),e.StatementListener=void 0;const o=s(r(1));e.StatementListener=class{constructor(t){this.document=t,this.ranges=[]}getRanges(){return this.ranges}enterStatementForFolding(t){const e=t.start.startIndex,r=t.stop?t.stop.stopIndex+1:e+t.text.length,i=o.Range.create(this.document.positionAt(t.start.startIndex),this.document.positionAt(r));this.ranges.push(i)}}},(t,e,r)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ParsingWarehouse=void 0;const i=r(262),n=r(280),s=r(287),o=r(288),a=r(292);e.ParsingWarehouse=class{constructor(){this._warehouse=new Map}setParsingValue(t){const e=this.parseDocument(t);this._warehouse.set(t.uri,{...e})}parseDocument(t,e){const r=e?t.getText(e):t.getText(),E=i.CharStreams.fromString(r.toUpperCase()),h=new s.SparkSqlLexer(E),l=new i.CommonTokenStream(h),u=new o.SparkSqlParser(l),c=new a.ParseErrorListener(t);let T;h.removeErrorListeners(),u.removeErrorListeners(),u.errorHandler=new i.BailErrorStrategy,u.interpreter.setPredictionMode(n.PredictionMode.SLL);try{T=u.program()}catch(t){u.reset(),u.errorHandler=new i.DefaultErrorStrategy,u.addErrorListener(c),u.interpreter.setPredictionMode(n.PredictionMode.LL),T=u.program()}return{origin:r,tokenStream:l,parser:u,tree:T,errors:c.getErrors()}}hasParsingValue(t){return this._warehouse.has(t.uri)}getParsingValue(t){return this._warehouse.has(t.uri)||this.setParsingValue(t),this._warehouse.get(t.uri)}removeParsingValue(t){this._warehouse.delete(t)}}},(t,e,r)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ParseErrorListener=void 0;const i=r(288),n=r(289);e.ParseErrorListener=class{constructor(t){this.document=t,this._errors=[]}getErrors(){return this._errors}syntaxError(t,e,r,s,o,a){const E=a?.expectedTokens?.toArray().map((t=>i.SparkSqlParser.VOCABULARY.getDisplayName(t).replace(/'/g,"")||"")).filter((t=>!!t))||[],h=t=>{let e=`SQL parse failed. A problem is encountered around "${t}" at line ${r}, column ${s+1}. `;return E.length?e+=`Do you mean:\n ${E.map((t=>`"${t}"`)).join(", ")}`:e+="There are no viable suggestions.",e};void 0!==e?.text&&this._errors.push({message:h(e.text),severity:(0,n.toDiagnosticSeverity)("error"),source:"Language Server",range:{start:this.document.positionAt(e.startIndex),end:this.document.positionAt(e.stopIndex+1)},data:{suggestions:E}})}}}],e={};function r(i){var n=e[i];if(void 0!==n)return n.exports;var s=e[i]={exports:{}};return t[i].call(s.exports,s,s.exports,r),s.exports}r.d=(t,e)=>{for(var i in e)r.o(e,i)&&!r.o(t,i)&&Object.defineProperty(t,i,{enumerable:!0,get:e[i]})},r.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(t){if("object"==typeof window)return window}}(),r.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),r.r=t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})};var i={};(()=>{"use strict";var t=i;Object.defineProperty(t,"__esModule",{value:!0});const e=r(1),n=r(66),s=r(67),o=r(68),a=r(69),E=r(70),h=new n.BrowserMessageReader(self),l=new n.BrowserMessageWriter(self),u=(0,n.createConnection)(h,l);u.onInitialize((()=>({capabilities:{textDocumentSync:e.TextDocumentSyncKind.Incremental,completionProvider:{triggerCharacters:".1234567890abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ".split(""),resolveProvider:!0},executeCommandProvider:{commands:[a.VALIDATION_ON_COMMAND]},documentFormattingProvider:!0,hoverProvider:!0,foldingRangeProvider:!0}})));const c=new e.TextDocuments(s.TextDocument),T=new E.LSPServer;let R=!1;c.listen(u),c.onDidClose((t=>{T.warehouse.removeParsingValue(t.document.uri)})),c.onDidChangeContent((t=>{if(T.warehouse.hasParsingValue(t.document)){const e=T.warehouse.getParsingValue(t.document);if(t.document.getText()===e.origin)return;T.warehouse.setParsingValue(t.document)}else T.warehouse.setParsingValue(t.document);R&&function(t){const e=T.doValidation(t);u.sendDiagnostics({uri:t.uri,diagnostics:e}).then()}(t.document)})),u.onCompletion((t=>{const{textDocument:e,position:r}=t,i=c.get(e.uri);return i?T.doCompletion(i,r):(console.error("Language Server: TextDocument not found."),[])})),u.onCompletionResolve((t=>(t.detail||(t.detail="keyword"),t))),u.onRequest(e.DocumentDiagnosticRequest.type,(t=>{const e=c.get(t.textDocument.uri);if(!e)return console.error("Language Server: TextDocument not found."),{kind:"full",items:[]};return{kind:"full",items:T.doValidation(e)}})),u.onExecuteCommand((t=>{t.command===a.VALIDATION_ON_COMMAND&&(R=!!t.arguments?.[0],R||c.all().forEach((t=>{u.sendDiagnostics({uri:t.uri,diagnostics:[]}).then()})))})),u.onDocumentFormatting((t=>{const e=c.get(t.textDocument.uri);return e?T.doFormatting(e,t.options):(console.error("Language Server: TextDocument not found."),[])})),u.onHover((t=>{const e=c.get(t.textDocument.uri),r=[];if(!e)return console.error("Language Server: TextDocument not found."),{contents:r};const i=T.getTokenByPosition(e,t.position);if(void 0===i?.text)return{contents:r};const n=o.BuiltInFunctions.find((t=>0===i.text.localeCompare(t.expr.replace("()",""),void 0,{sensitivity:"accent"})));return n&&(r.push("**System (Built-in) Function**"),r.push(n.description.value),r.push("For more information, please refer to [Spark Document](https://spark.apache.org/docs/latest/sql-ref-functions-builtin.html).")),{contents:r}})),u.onFoldingRanges((t=>{const e=c.get(t.textDocument.uri);return e?T.doFoldingRanges(e):(console.error("Language Server: TextDocument not found."),[])})),u.listen()})(),serverExportVar=i})();
|
|
2
|
+
//# sourceMappingURL=sparksql-server-worker.js.map
|