1(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[135],{8894:function(h,v){/*! For license information please see bibtex-js-parser.js.LICENSE.txt */!function(){var h={654:function(){}},P={};function n(v){var B=P[v];if(void 0!==B)return B.exports;var ts=P[v]={exports:{}};return h[v](ts,ts.exports,n),ts.exports}n.d=function(h,v){for(var P in v)n.o(v,P)&&!n.o(h,P)&&Object.defineProperty(h,P,{enumerable:!0,get:v[P]})},n.o=function(h,v){return Object.prototype.hasOwnProperty.call(h,v)},n.r=function(h){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(h,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(h,"__esModule",{value:!0})};var B={};!function(){"use strict";n.r(B),n.d(B,{parseToJSON:function(){return Tn},parseToJSONString:function(){return xn}}),String.prototype.seed=String.prototype.seed||Math.round(4294967296*Math.random()),String.prototype.hashCode=function(){let h,v;let P=this.toString(),B=3&P.length,ts=P.length-B,ti=String.prototype.seed,tr=0;for(;tr<ts;)v=255&P.charCodeAt(tr)|(255&P.charCodeAt(++tr))<<8|(255&P.charCodeAt(++tr))<<16|(255&P.charCodeAt(++tr))<<24,++tr,ti^=v=(65535&(v=(v=(65535&v)*3432918353+(((v>>>16)*3432918353&65535)<<16)&4294967295)<<15|v>>>17))*461845907+(((v>>>16)*461845907&65535)<<16)&4294967295,ti=27492+(65535&(h=5*(65535&(ti=ti<<13|ti>>>19))+((5*(ti>>>16)&65535)<<16)&4294967295))+((58964+(h>>>16)&65535)<<16);switch(v=0,B){case 3:v^=(255&P.charCodeAt(tr+2))<<16;case 2:v^=(255&P.charCodeAt(tr+1))<<8;case 1:v^=255&P.charCodeAt(tr),ti^=v=(65535&(v=(v=(65535&v)*3432918353+(((v>>>16)*3432918353&65535)<<16)&4294967295)<<15|v>>>17))*461845907+(((v>>>16)*461845907&65535)<<16)&4294967295}return ti^=P.length,ti^=ti>>>16,ti=2246822507*(65535&ti)+((2246822507*(ti>>>16)&65535)<<16)&4294967295,ti^=ti>>>13,ti=3266489909*(65535&ti)+((3266489909*(ti>>>16)&65535)<<16)&4294967295,(ti^=ti>>>16)>>>0},String.prototype.codePointAt||function(){var h=function(){let h;try{let v={},P=Object.defineProperty;h=P(v,v,v)&&P}catch(h){}return h}();let e=function(h){let v;if(null==this)throw TypeError();let P=String(this),B=P.length,ts=h?Number(h):0;if(ts!=ts&&(ts=0),ts<0||ts>=B)return;let ti=P.charCodeAt(ts);return ti>=55296&&ti<=56319&&B>ts+1&&(v=P.charCodeAt(ts+1))>=56320&&v<=57343?1024*(ti-55296)+v-56320+65536:ti};h?h(String.prototype,"codePointAt",{value:e,configurable:!0,writable:!0}):String.prototype.codePointAt=e}(),String.fromCodePoint||function(){let h=function(){let h;try{let v={},P=Object.defineProperty;h=P(v,v,v)&&P}catch(h){}return h}(),v=String.fromCharCode,P=Math.floor,s=function(h){let B=[],ts,ti,tr=-1,tl=arguments.length;if(!tl)return"";let to="";for(;++tr<tl;){let h=Number(arguments[tr]);if(!isFinite(h)||h<0||h>1114111||P(h)!==h)throw RangeError("Invalid code point: "+h);h<=65535?B.push(h):(h-=65536,ts=55296+(h>>10),ti=h%1024+56320,B.push(ts,ti)),(tr+1===tl||B.length>16384)&&(to+=v.apply(null,B),B.length=0)}return to};h?h(String,"fromCodePoint",{value:s,configurable:!0,writable:!0}):String.fromCodePoint=s}();let t=class t{constructor(){this.source=null,this.type=null,this.channel=null,this.start=null,this.stop=null,this.tokenIndex=null,this.line=null,this.column=null,this._text=null}getTokenSource(){return this.source[0]}getInputStream(){return this.source[1]}get text(){return this._text}set text(h){this._text=h}};function e(h,v){if(!Array.isArray(h)||!Array.isArray(v))return!1;if(h===v)return!0;if(h.length!==v.length)return!1;for(let P=0;P<h.length;P++)if(!(h[P]===v[P]||h[P].equals&&h[P].equals(v[P])))return!1;return!0}t.INVALID_TYPE=0,t.EPSILON=-2,t.MIN_USER_TOKEN_TYPE=1,t.EOF=-1,t.DEFAULT_CHANNEL=0,t.HIDDEN_CHANNEL=1;let i=class i{constructor(){this.count=0,this.hash=0}update(){for(let h=0;h<arguments.length;h++){let v=arguments[h];if(null!=v){if(Array.isArray(v))this.update.apply(this,v);else{let h=0;switch(typeof v){case"undefined":case"function":continue;case"number":case"boolean":h=v;break;case"string":h=v.hashCode();break;default:v.updateHashCode?v.updateHashCode(this):console.log("No updateHashCode for "+v.toString());continue}h*=3432918353,h=(h<<15|h>>>17)*461845907,this.count=this.count+1;let P=this.hash^h;P=5*(P=P<<13|P>>>19)+3864292196,this.hash=P}}}}finish(){let h=this.hash^4*this.count;return h^=h>>>16,h*=2246822507,h^=h>>>13,h*=3266489909,h^=h>>>16}static hashStuff(){let h=new i;return h.update.apply(h,arguments),h.finish()}};function r(h){return h?h.hashCode():-1}function o(h,v){return h?h.equals(v):h===v}function l(h){return null===h?"null":h}function a(h){return Array.isArray(h)?"["+h.map(l).join(", ")+"]":"null"}let c=class c{constructor(h,v){this.data={},this.hashFunction=h||r,this.equalsFunction=v||o}add(h){let v="h-"+this.hashFunction(h);if(v in this.data){let P=this.data[v];for(let v=0;v<P.length;v++)if(this.equalsFunction(h,P[v]))return P[v];return P.push(h),h}return this.data[v]=[h],h}has(h){return null!=this.get(h)}get(h){let v="h-"+this.hashFunction(h);if(v in this.data){let P=this.data[v];for(let v=0;v<P.length;v++)if(this.equalsFunction(h,P[v]))return P[v]}return null}values(){return Object.keys(this.data).filter(h=>h.startsWith("h-")).flatMap(h=>this.data[h],this)}toString(){return a(this.values())}get length(){return Object.keys(this.data).filter(h=>h.startsWith("h-")).map(h=>this.data[h].length,this).reduce((h,v)=>h+v,0)}};let u=class u{hashCode(){let h=new i;return this.updateHashCode(h),h.finish()}evaluate(h,v){}evalPrecedence(h,v){return this}static andContext(h,v){if(null===h||h===u.NONE)return v;if(null===v||v===u.NONE)return h;let P=new d(h,v);return 1===P.opnds.length?P.opnds[0]:P}static orContext(h,v){if(null===h)return v;if(null===v)return h;if(h===u.NONE||v===u.NONE)return u.NONE;let P=new p(h,v);return 1===P.opnds.length?P.opnds[0]:P}};let d=class d extends u{constructor(h,v){super();let P=new c;h instanceof d?h.opnds.map(function(h){P.add(h)}):P.add(h),v instanceof d?v.opnds.map(function(h){P.add(h)}):P.add(v);let B=g(P);if(B.length>0){let h=null;B.map(function(v){(null===h||v.precedence<h.precedence)&&(h=v)}),P.add(h)}this.opnds=Array.from(P.values())}equals(h){return this===h||h instanceof d&&e(this.opnds,h.opnds)}updateHashCode(h){h.update(this.opnds,"AND")}evaluate(h,v){for(let P=0;P<this.opnds.length;P++)if(!this.opnds[P].evaluate(h,v))return!1;return!0}evalPrecedence(h,v){let P=!1,B=[];for(let ts=0;ts<this.opnds.length;ts++){let ti=this.opnds[ts],tr=ti.evalPrecedence(h,v);if(P|=tr!==ti,null===tr)return null;tr!==u.NONE&&B.push(tr)}if(!P)return this;if(0===B.length)return u.NONE;let ts=null;return B.map(function(h){ts=null===ts?h:u.andContext(ts,h)}),ts}toString(){let h=this.opnds.map(h=>h.toString());
1return(h.length>3?h.slice(3):h).join("&&")}};let p=class p extends u{constructor(h,v){super();let P=new c;h instanceof p?h.opnds.map(function(h){P.add(h)}):P.add(h),v instanceof p?v.opnds.map(function(h){P.add(h)}):P.add(v);let B=g(P);if(B.length>0){let h=B.sort(function(h,v){return h.compareTo(v)}),v=h[h.length-1];P.add(v)}this.opnds=Array.from(P.values())}equals(h){return this===h||h instanceof p&&e(this.opnds,h.opnds)}updateHashCode(h){h.update(this.opnds,"OR")}evaluate(h,v){for(let P=0;P<this.opnds.length;P++)if(this.opnds[P].evaluate(h,v))return!0;return!1}evalPrecedence(h,v){let P=!1,B=[];for(let ts=0;ts<this.opnds.length;ts++){let ti=this.opnds[ts],tr=ti.evalPrecedence(h,v);if(P|=tr!==ti,tr===u.NONE)return u.NONE;null!==tr&&B.push(tr)}return P?(0===B.length||B.map(function(h){return h}),null):this}toString(){let h=this.opnds.map(h=>h.toString());return(h.length>3?h.slice(3):h).join("||")}};function g(h){let v=[];return h.values().map(function(h){h instanceof u.PrecedencePredicate&&v.push(h)}),v}function f(h,v){if(null===h){let h={state:null,alt:null,context:null,semanticContext:null};return v&&(h.reachesIntoOuterContext=0),h}{let P={};return P.state=h.state||null,P.alt=void 0===h.alt?null:h.alt,P.context=h.context||null,P.semanticContext=h.semanticContext||null,v&&(P.reachesIntoOuterContext=h.reachesIntoOuterContext||0,P.precedenceFilterSuppressed=h.precedenceFilterSuppressed||!1),P}}let E=class E{constructor(h,v){this.checkContext(h,v),h=f(h),v=f(v,!0),this.state=null!==h.state?h.state:v.state,this.alt=null!==h.alt?h.alt:v.alt,this.context=null!==h.context?h.context:v.context,this.semanticContext=null!==h.semanticContext?h.semanticContext:null!==v.semanticContext?v.semanticContext:u.NONE,this.reachesIntoOuterContext=v.reachesIntoOuterContext,this.precedenceFilterSuppressed=v.precedenceFilterSuppressed}checkContext(h,v){null!==h.context&&void 0!==h.context||null!==v&&null!==v.context&&void 0!==v.context||(this.context=null)}hashCode(){let h=new i;return this.updateHashCode(h),h.finish()}updateHashCode(h){h.update(this.state.stateNumber,this.alt,this.context,this.semanticContext)}equals(h){return this===h||h instanceof E&&this.state.stateNumber===h.state.stateNumber&&this.alt===h.alt&&(null===this.context?null===h.context:this.context.equals(h.context))&&this.semanticContext.equals(h.semanticContext)&&this.precedenceFilterSuppressed===h.precedenceFilterSuppressed}hashCodeForConfigSet(){let h=new i;return h.update(this.state.stateNumber,this.alt,this.semanticContext),h.finish()}equalsForConfigSet(h){return this===h||h instanceof E&&this.state.stateNumber===h.state.stateNumber&&this.alt===h.alt&&this.semanticContext.equals(h.semanticContext)}toString(){return"("+this.state+","+this.alt+(null!==this.context?",["+this.context.toString()+"]":"")+(this.semanticContext!==u.NONE?","+this.semanticContext.toString():"")+(this.reachesIntoOuterContext>0?",up="+this.reachesIntoOuterContext:"")+")"}};let T=class T{constructor(h,v){this.start=h,this.stop=v}clone(){return new T(this.start,this.stop)}contains(h){return h>=this.start&&h<this.stop}toString(){return this.start===this.stop-1?this.start.toString():this.start.toString()+".."+(this.stop-1).toString()}get length(){return this.stop-this.start}};T.INVALID_INTERVAL=new T(-1,-2);let x=class x{constructor(){this.intervals=null,this.readOnly=!1}first(h){return null===this.intervals||0===this.intervals.length?t.INVALID_TYPE:this.intervals[0].start}addOne(h){this.addInterval(new T(h,h+1))}addRange(h,v){this.addInterval(new T(h,v+1))}addInterval(h){if(null===this.intervals)this.intervals=[],this.intervals.push(h.clone());else{for(let v=0;v<this.intervals.length;v++){let P=this.intervals[v];if(h.stop<P.start)return void this.intervals.splice(v,0,h);if(h.stop===P.start)return void(this.intervals[v]=new T(h.start,P.stop));if(h.start<=P.stop)return this.intervals[v]=new T(Math.min(P.start,h.start),Math.max(P.stop,h.stop)),void this.reduce(v)}this.intervals.push(h.clone())}}addSet(h){return null!==h.intervals&&h.intervals.forEach(h=>this.addInterval(h),this),this}reduce(h){if(h<this.intervals.length-1){let v=this.intervals[h],P=this.intervals[h+1];v.stop>=P.stop?(this.intervals.splice(h+1,1),this.reduce(h)):v.stop>=P.start&&(this.intervals[h]=new T(v.start,P.stop),this.intervals.splice(h+1,1))}}complement(h,v){let P=new x;return P.addInterval(new T(h,v+1)),null!==this.intervals&&this.intervals.forEac
1h(h=>P.removeRange(h)),P}contains(h){if(null===this.intervals)return!1;for(let v=0;v<this.intervals.length;v++)if(this.intervals[v].contains(h))return!0;return!1}removeRange(h){if(h.start===h.stop-1)this.removeOne(h.start);else if(null!==this.intervals){let v=0;for(let P=0;P<this.intervals.length;P++){let P=this.intervals[v];if(h.stop<=P.start)return;if(h.start>P.start&&h.stop<P.stop){this.intervals[v]=new T(P.start,h.start);let B=new T(h.stop,P.stop);return void this.intervals.splice(v,0,B)}h.start<=P.start&&h.stop>=P.stop?(this.intervals.splice(v,1),v-=1):h.start<P.stop?this.intervals[v]=new T(P.start,h.start):h.stop<P.stop&&(this.intervals[v]=new T(h.stop,P.stop)),v+=1}}}removeOne(h){if(null!==this.intervals)for(let v=0;v<this.intervals.length;v++){let P=this.intervals[v];if(h<P.start)return;if(h===P.start&&h===P.stop-1)return void this.intervals.splice(v,1);if(h===P.start)return void(this.intervals[v]=new T(P.start+1,P.stop));if(h===P.stop-1)return void(this.intervals[v]=new T(P.start,P.stop-1));if(h<P.stop-1){let B=new T(P.start,h);return P.start=h+1,void this.intervals.splice(v,0,B)}}}toString(h,v,P){return h=h||null,v=v||null,P=P||!1,null===this.intervals?"{}":null!==h||null!==v?this.toTokenString(h,v):P?this.toCharString():this.toIndexString()}toCharString(){let h=[];for(let v=0;v<this.intervals.length;v++){let P=this.intervals[v];P.stop===P.start+1?P.start===t.EOF?h.push("<EOF>"):h.push("'"+String.fromCharCode(P.start)+"'"):h.push("'"+String.fromCharCode(P.start)+"'..'"+String.fromCharCode(P.stop-1)+"'")}return h.length>1?"{"+h.join(", ")+"}":h[0]}toIndexString(){let h=[];for(let v=0;v<this.intervals.length;v++){let P=this.intervals[v];P.stop===P.start+1?P.start===t.EOF?h.push("<EOF>"):h.push(P.start.toString()):h.push(P.start.toString()+".."+(P.stop-1).toString())}return h.length>1?"{"+h.join(", ")+"}":h[0]}toTokenString(h,v){let P=[];for(let B=0;B<this.intervals.length;B++){let ts=this.intervals[B];for(let B=ts.start;B<ts.stop;B++)P.push(this.elementName(h,v,B))}return P.length>1?"{"+P.join(", ")+"}":P[0]}elementName(h,v,P){return P===t.EOF?"<EOF>":P===t.EPSILON?"<EPSILON>":h[P]||v[P]}get length(){return this.intervals.map(h=>h.length).reduce((h,v)=>h+v)}};let C=class C{constructor(){this.atn=null,this.stateNumber=C.INVALID_STATE_NUMBER,this.stateType=null,this.ruleIndex=0,this.epsilonOnlyTransitions=!1,this.transitions=[],this.nextTokenWithinRule=null}toString(){return this.stateNumber}equals(h){return h instanceof C&&this.stateNumber===h.stateNumber}isNonGreedyExitState(){return!1}addTransition(h,v){void 0===v&&(v=-1),0===this.transitions.length?this.epsilonOnlyTransitions=h.isEpsilon:this.epsilonOnlyTransitions!==h.isEpsilon&&(this.epsilonOnlyTransitions=!1),-1===v?this.transitions.push(h):this.transitions.splice(v,1,h)}};C.INVALID_TYPE=0,C.BASIC=1,C.RULE_START=2,C.BLOCK_START=3,C.PLUS_BLOCK_START=4,C.STAR_BLOCK_START=5,C.TOKEN_START=6,C.RULE_STOP=7,C.BLOCK_END=8,C.STAR_LOOP_BACK=9,C.STAR_LOOP_ENTRY=10,C.PLUS_LOOP_BACK=11,C.LOOP_END=12,C.serializationNames=["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"],C.INVALID_STATE_NUMBER=-1;let S=class S extends C{constructor(){return super(),this.stateType=C.RULE_STOP,this}};let A=class A{constructor(h){if(null==h)throw"target cannot be null.";this.target=h,this.isEpsilon=!1,this.label=null}};A.EPSILON=1,A.RANGE=2,A.RULE=3,A.PREDICATE=4,A.ATOM=5,A.ACTION=6,A.SET=7,A.NOT_SET=8,A.WILDCARD=9,A.PRECEDENCE=10,A.serializationNames=["INVALID","EPSILON","RANGE","RULE","PREDICATE","ATOM","ACTION","SET","NOT_SET","WILDCARD","PRECEDENCE"],A.serializationTypes={EpsilonTransition:A.EPSILON,RangeTransition:A.RANGE,RuleTransition:A.RULE,PredicateTransition:A.PREDICATE,AtomTransition:A.ATOM,ActionTransition:A.ACTION,SetTransition:A.SET,NotSetTransition:A.NOT_SET,WildcardTransition:A.WILDCARD,PrecedencePredicateTransition:A.PRECEDENCE};let I=class I extends A{constructor(h,v,P,B){super(h),this.ruleIndex=v,this.precedence=P,this.followState=B,this.serializationType=A.RULE,this.isEpsilon=!0}matches(h,v,P){return!1}};let R=class R extends A{constructor(h,v){super(h),this.serializationType=A.SET,null!=v?this.label=v:(this.label=new x,this.label.addOne(t.INVALID_TYPE))}matches(h,v,P){return this.label.contains(h)}toString(){return this.label.toString()}};let m=class m extends R{constructor(h,v){super(h,v),this.serializationType=A.NOT_SET}matches(h,v,P){return h>=v&&h<=P&&!super.matches(h,v,P)}toString(){return"~"+super.toString()}};let _=class _ extends A{constructor(h){super(h),this.serializationType=A.WILDCARD}matches(h,v,P){return h>=v&&h<=P}toString(){return"."}};let N=class N extends A{constructor(h){super(h)}};let L=class L extends class extends class{}{}{};let y=class y extends L{getRuleContext(){throw Error("missing interface implementation")}};let O=class O extends L{};let k=class k extends O{};let h={toStringTree:function(v,P,B){P=P||null,null!==(B=B||null)&&(P=B.ruleNames);let ts=h.getNodeText(v,P);ts=ts.replace(/\t/g,"\\t").replace(/\n/g,"\\n").replace(/\r/g,"\\r");let ti=v.getChildCount();if(0===ti)return ts;let tr="("+ts+" ";ti>0&&(ts=h.toStringTree(v.getChild(0),P),tr=tr.concat(ts));for(let B=1;B<ti;B++)ts=h.toStringTree(v.getChild(B),P),tr=tr.concat(" "+ts);return tr.concat(")")},getNodeText:function(h,v,P){if(v=v||null,null!==(P=P||null)&&(v=P.ruleNames),null!==v){if(h instanceof y){let P=h.getRuleContext().getAltNumber();return 0!=P?v[h.ruleIndex]+":"+P:v[h.ruleIndex]}if(h instanceof k)return h.toString();if(h instanceof O&&null!==h.symbol)return h.symbol.text}let B=h.getPayload();return B instanceof t?B.text:h.getPayload().toString()},getChildren:function(h){let v=[];for(let P=0;P<h.getChildCount();P++)v.push(h.getChild(P));return v},getAncestors:function(h){let v=[];for(h=h.getParent();null!==h;)v=[h].concat(v),h=h.getParent();return v},findAllTokenNodes:function(v,P){return h.findAllNodes(v,P,!0)},findAllRuleNodes:function(v,P){return h.findAllNodes(v,P,!1)},findAllNodes:function(v,P,B){let ts=[];return h._findAllNodes(v,P,B,ts),ts},_findAllNodes:function(v,P,B,ts){B&&v instanceof O?v.symbol.type===P&&ts.push(v):!B&&v instanceof y&&v.ruleIndex===P&&ts.push(v);for(let ti=0;ti<v.getChildCount();ti++)h._findAllNodes(v.getChild(ti),P,B,ts)},descendants:function(v){let P=[v];for(let B=0;B<v.getChildCount();B++)P=P.concat(h.descendants(v.getChild(B)));return P}};let D=class D extends y{constructor(h,v){super(),this.parentCtx=h||null,this.invokingState=v||-1}depth(){let h=0,v=this;for(;null!==v;)v=v.parentCtx,h+=1;return h}isEmpty(){return -1===this.invokingState}getSourceInterval(){return T.INVALID_INTERVAL}getRuleContext(){return this}getPayload(){return this}getText(){return 0===this.getChildCount()?"":this.children.map(function(h){return h.getText()}).join("")}getAltNumber(){return 0}setAltNumber(h){}getChild(h){return null}getChildCount(){return 0}accept(h){return h.visitChildren(this)}toStringTree(v,P){return h.toStringTree(this,v,P)}toString(h,v){h=h||null,v=v||null;let P=this,B="[";for(;null!==P&&P!==v;){if(null===h)P.isEmpty()||(B+=P.invokingState);else{let v=P.ruleIndex;B+=v>=0&&v<h.length?h[v]:""+v}null===P.parentCtx||null===h&&P.parentCtx.isEmpty()||(B+=" "),P=P.parentCtx}return B+"]"}};let w=class w{constructor(h){this.cachedHashCode=h}isEmpty(){return this===w.EMPTY}hasEmptyPath(){return this.getReturnState(this.length-1)===w.EMPTY_RETURN_STATE}hashCode(){return this.cachedHashCode}updateHashCode(h){h.update(this.cachedHashCode)}};w.EMPTY=null,w.EMPTY_RETURN_STATE=2147483647,w.globalNodeCount=1,w.id=w.globalNodeCount;let b=class b extends w{constructor(h,v){let P=new i;return P.update(h,v),super(P.finish()),this.parents=h,this.returnStates=v,this}isEmpty(){return this.returnStates[0]===w.EMPTY_RETURN_STATE}getParent(h){return this.parents[h]}getReturnState(h){return this.returnStates[h]}equals(h){return this===h||h instanceof b&&this.hashCode()===h.hashCode()&&e(this.returnStates,h.returnStates)&&e(this.parents,h.parents)}toString(){if(this.isEmpty())return"[]";{let h="[";for(let v=0;v<this.returnStates.length;v++)v>0&&(h+=", "),this.returnStates[v]!==w.EMPTY_RETURN_STATE?(h+=this.returnStates[v],null!==this.parents[v]?h=h+" "+this.parents[v]:h+="null"):h+="$";return h+"]"}}get length(){return this.returnStates.length}};let M=class M extends w{constructor(h,v){let P=new i;null!==h?P.update(h,v):P.update(1),super(P.finish()),this.parentCtx=h,this.returnState=v}getParent(h){return this.parentCtx}getReturnState(h){return this.returnState}
1equals(h){return this===h||h instanceof M&&this.hashCode()===h.hashCode()&&this.returnState===h.returnState&&(null==this.parentCtx?null==h.parentCtx:this.parentCtx.equals(h.parentCtx))}toString(){let h=null===this.parentCtx?"":this.parentCtx.toString();return 0===h.length?this.returnState===w.EMPTY_RETURN_STATE?"$":""+this.returnState:this.returnState+" "+h}get length(){return 1}static create(h,v){return v===w.EMPTY_RETURN_STATE&&null===h?w.EMPTY:new M(h,v)}};let F=class F extends M{constructor(){super(null,w.EMPTY_RETURN_STATE)}isEmpty(){return!0}getParent(h){return null}getReturnState(h){return this.returnState}equals(h){return this===h}toString(){return"$"}};w.EMPTY=new F;let U=class U{constructor(h,v){this.data={},this.hashFunction=h||r,this.equalsFunction=v||o}set(h,v){let P="h-"+this.hashFunction(h);if(P in this.data){let B=this.data[P];for(let P=0;P<B.length;P++){let ts=B[P];if(this.equalsFunction(h,ts.key)){let h=ts.value;return ts.value=v,h}}return B.push({key:h,value:v}),v}return this.data[P]=[{key:h,value:v}],v}containsKey(h){let v="h-"+this.hashFunction(h);if(v in this.data){let P=this.data[v];for(let v=0;v<P.length;v++){let B=P[v];if(this.equalsFunction(h,B.key))return!0}}return!1}get(h){let v="h-"+this.hashFunction(h);if(v in this.data){let P=this.data[v];for(let v=0;v<P.length;v++){let B=P[v];if(this.equalsFunction(h,B.key))return B.value}}return null}entries(){return Object.keys(this.data).filter(h=>h.startsWith("h-")).flatMap(h=>this.data[h],this)}getKeys(){return this.entries().map(h=>h.key)}getValues(){return this.entries().map(h=>h.value)}toString(){return"["+this.entries().map(h=>"{"+h.key+":"+h.value+"}").join(", ")+"]"}get length(){return Object.keys(this.data).filter(h=>h.startsWith("h-")).map(h=>this.data[h].length,this).reduce((h,v)=>h+v,0)}};function H(h,v){if(null==v&&(v=D.EMPTY),null===v.parentCtx||v===D.EMPTY)return w.EMPTY;let P=H(h,v.parentCtx),B=h.states[v.invokingState].transitions[0];return M.create(P,B.followState.stateNumber)}let G=class G{constructor(){this.data=[]}add(h){this.data[h]=!0}or(h){Object.keys(h.data).map(h=>this.add(h),this)}remove(h){delete this.data[h]}has(h){return!0===this.data[h]}values(){return Object.keys(this.data)}minValue(){return Math.min.apply(null,this.values())}hashCode(){return i.hashStuff(this.values())}equals(h){return h instanceof G&&e(this.data,h.data)}toString(){return"{"+this.values().join(", ")+"}"}get length(){return this.values().length}};let q=class q{constructor(h){this.atn=h}getDecisionLookahead(h){if(null===h)return null;let v=h.transitions.length,P=[];for(let B=0;B<v;B++){P[B]=new x;let v=new c;this._LOOK(h.transition(B).target,null,w.EMPTY,P[B],v,new G,!1,!1),(0===P[B].length||P[B].contains(q.HIT_PRED))&&(P[B]=null)}return P}LOOK(h,v,P){let B=new x,ts=null!==(P=P||null)?H(h.atn,P):null;return this._LOOK(h,v,ts,B,new c,new G,!0,!0),B}_LOOK(h,v,P,B,ts,ti,tr,tl){let to=new E({state:h,alt:0,context:P},null);if(!ts.has(to)){if(ts.add(to),h===v){if(null===P)return void B.addOne(t.EPSILON);if(P.isEmpty()&&tl)return void B.addOne(t.EOF)}if(h instanceof S){if(null===P)return void B.addOne(t.EPSILON);if(P.isEmpty()&&tl)return void B.addOne(t.EOF);if(P!==w.EMPTY){let to=ti.has(h.ruleIndex);try{ti.remove(h.ruleIndex);for(let h=0;h<P.length;h++){let to=this.atn.states[P.getReturnState(h)];this._LOOK(to,v,P.getParent(h),B,ts,ti,tr,tl)}}finally{to&&ti.add(h.ruleIndex)}return}}for(let to=0;to<h.transitions.length;
1to++){let ta=h.transitions[to];if(ta.constructor===I){if(ti.has(ta.target.ruleIndex))continue;let h=M.create(P,ta.followState.stateNumber);try{ti.add(ta.target.ruleIndex),this._LOOK(ta.target,v,h,B,ts,ti,tr,tl)}finally{ti.remove(ta.target.ruleIndex)}}else if(ta instanceof N)tr?this._LOOK(ta.target,v,P,B,ts,ti,tr,tl):B.addOne(q.HIT_PRED);else if(ta.isEpsilon)this._LOOK(ta.target,v,P,B,ts,ti,tr,tl);else if(ta.constructor===_)B.addRange(t.MIN_USER_TOKEN_TYPE,this.atn.maxTokenType);else{let h=ta.label;null!==h&&(ta instanceof m&&(h=h.complement(t.MIN_USER_TOKEN_TYPE,this.atn.maxTokenType)),B.addSet(h))}}}}};q.HIT_PRED=t.INVALID_TYPE;let z=class z{constructor(h,v){this.grammarType=h,this.maxTokenType=v,this.states=[],this.decisionToState=[],this.ruleToStartState=[],this.ruleToStopState=null,this.modeNameToStartState={},this.ruleToTokenType=null,this.lexerActions=null,this.modeToStartState=[]}nextTokensInContext(h,v){return new q(this).LOOK(h,null,v)}nextTokensNoContext(h){return null!==h.nextTokenWithinRule||(h.nextTokenWithinRule=this.nextTokensInContext(h,null),h.nextTokenWithinRule.readOnly=!0),h.nextTokenWithinRule}nextTokens(h,v){return void 0===v?this.nextTokensNoContext(h):this.nextTokensInContext(h,v)}addState(h){null!==h&&(h.atn=this,h.stateNumber=this.states.length),this.states.push(h)}removeState(h){this.states[h.stateNumber]=null}defineDecisionState(h){return this.decisionToState.push(h),h.decision=this.decisionToState.length-1,h.decision}getDecisionState(h){return 0===this.decisionToState.length?null:this.decisionToState[h]}getExpectedTokens(h,v){if(h<0||h>=this.states.length)throw"Invalid state number.";let P=this.states[h],B=this.nextTokens(P);if(!B.contains(t.EPSILON))return B;let ts=new x;
1for(ts.addSet(B),ts.removeOne(t.EPSILON);null!==v&&v.invokingState>=0&&B.contains(t.EPSILON);){let h=this.states[v.invokingState].transitions[0];B=this.nextTokens(h.followState),ts.addSet(B),ts.removeOne(t.EPSILON),v=v.parentCtx}return B.contains(t.EPSILON)&&ts.addOne(t.EOF),ts}};z.INVALID_ALT_NUMBER=0;let Y=class Y extends C{constructor(){super(),this.stateType=C.BASIC}};let W=class W extends C{constructor(){return super(),this.decision=-1,this.nonGreedy=!1,this}};let j=class j extends W{constructor(){return super(),this.endState=null,this}};let Q=class Q extends C{constructor(){return super(),this.stateType=C.BLOCK_END,this.startState=null,this}};let X=class X extends C{constructor(){return super(),this.stateType=C.LOOP_END,this.loopBackState=null,this}};let J=class J extends C{constructor(){return super(),this.stateType=C.RULE_START,this.stopState=null,this.isPrecedenceRule=!1,this}};let $=class $ extends W{constructor(){return super(),this.stateType=C.TOKEN_START,this}};let Z=class Z extends W{constructor(){return super(),this.stateType=C.PLUS_LOOP_BACK,this}};let tt=class tt extends C{constructor(){return super(),this.stateType=C.STAR_LOOP_BACK,this}};let et=class et extends W{constructor(){return super(),this.stateType=C.STAR_LOOP_ENTRY,this.loopBackState=null,this.isPrecedenceDecision=null,this}};let nt=class nt extends j{constructor(){return super(),this.stateType=C.PLUS_BLOCK_START,this.loopBackState=null,this}};let st=class st extends j{constructor(){return super(),this.stateType=C.STAR_BLOCK_START,this}};let it=class it extends j{constructor(){return super(),this.stateType=C.BLOCK_START,this}};let rt=class rt extends A{constructor(h,v){super(h),this.label_=v,this.label=this.makeLabel(),this.serializationType=A.ATOM}makeLabel(){let h=new x;return h.addOne(this.label_),h}matches(h,v,P){return this.label_===h}toString(){return this.label_}};let ot=class ot extends A{constructor(h,v,P){super(h),this.serializationType=A.RANGE,this.start=v,this.stop=P,this.label=this.makeLabel()}makeLabel(){let h=new x;return h.addRange(this.start,this.stop),h}matches(h,v,P){return h>=this.start&&h<=this.stop}toString(){return"'"+String.fromCharCode(this.start)+"'..'"+String.fromCharCode(this.stop)+"'"}};let lt=class lt extends A{constructor(h,v,P,B){super(h),this.serializationType=A.ACTION,this.ruleIndex=v,this.actionIndex=void 0===P?-1:P,this.isCtxDependent=void 0!==B&&B,this.isEpsilon=!0}matches(h,v,P){return!1}toString(){return"action_"+this.ruleIndex+":"+this.actionIndex}};let at=class at extends A{constructor(h,v){super(h),this.serializationType=A.EPSILON,this.isEpsilon=!0,this.outermostPrecedenceReturn=v}matches(h,v,P){return!1}toString(){return"epsilon"}};let ht=class ht extends u{constructor(h,v,P){super(),this.ruleIndex=void 0===h?-1:h,this.predIndex=void 0===v?-1:v,this.isCtxDependent=void 0!==P&&P}evaluate(h,v){let P=this.isCtxDependent?v:null;return h.sempred(P,this.ruleIndex,this.predIndex)}updateHashCode(h){h.update(this.ruleIndex,this.predIndex,this.isCtxDependent)}equals(h){return this===h||h instanceof ht&&this.ruleIndex===h.ruleIndex&&this.predIndex===h.predIndex&&this.isCtxDependent===h.isCtxDependent}toString(){return"{"+this.ruleIndex+":"+this.predIndex+"}?"}};u.NONE=new ht;let ct=class ct extends N{constructor(h,v,P,B){super(h),this.serializationType=A.PREDICATE,this.ruleIndex=v,this.predIndex=P,this.isCtxDependent=B,this.isEpsilon=!0}matches(h,v,P){return!1}getPredicate(){return new ht(this.ruleIndex,this.predIndex,this.isCtxDependent)}toString(){return"pred_"+this.ruleIndex+":"+this.predIndex}};let ut=class ut extends u{constructor(h){super(),this.precedence=void 0===h?0:h}evaluate(h,v){return h.precpred(v,this.precedence)}evalPrecedence(h,v){return h.precpred(v,this.precedence)?u.NONE:null}compareTo(h){return this.precedence-h.precedence}updateHashCode(h){h.update(this.precedence)}equals(h){return this===h||h instanceof ut&&this.precedence===h.precedence}toString(){return"{"+this.precedence+">=prec}?"}};u.PrecedencePredicate=ut;let dt=class dt extends N{constructor(h,v){super(h),this.serializationType=A.PRECEDENCE,this.precedence=v,this.isEpsilon=!0}matches(h,v,P){return!1}getPredicate(){return new ut(this.precedence)}toString(){return this.precedence+" >= _p"}};let pt=class pt{constructor(h){void 0===h&&(h=null),this.readOnly=!1,this.verifyATN=null===h||h.verifyATN,this.generateRuleBypassTransitions=null!==h&&h.generateRuleBypassTransitions}};pt.defaultOptions=new pt,pt.defaultOptions.readOnly=!0;let gt=class gt{constructor(h){this.actionType=h,this.isPositionDependent=!1}hashCode(){let h=new i;return this.updateHashCode(h),h.finish()}updateHashCode(h){h.update(this.actionType)}equals(h){return this===h}};let ft=class ft extends gt{constructor(){super(6)}execute(h){h.skip()}toString(){return"skip"}};ft.INSTANCE=new ft;let Et=class Et extends gt{constructor(h){super(0),this.channel=h}execute(h){h._channel=this.channel}updateHashCode(h){h.update(this.actionType,this.channel)}equals(h){return this===h||h instanceof Et&&this.channel===h.channel}toString(){return"channel("+this.channel+")"}};let Tt=class Tt extends gt{constructor(h,v){super(1),this.ruleIndex=h,this.actionIndex=v,this.isPositionDependent=!0}execute(h){h.action(null,this.ruleIndex,this.actionIndex)}updateHashCode(h){h.update(this.actionType,this.ruleIndex,this.actionIndex)}equals(h){return this===h||h instanceof Tt&&this.ruleIndex===h.ruleIndex&&this.actionIndex===h.actionIndex}};let xt=class xt extends gt{constructor(){super(3)}execute(h){h.more()}toString(){return"more"}};xt.INSTANCE=new xt;let Ct=class Ct extends gt{constructor(h){super(7),this.type=h}
1execute(h){h.type=this.type}updateHashCode(h){h.update(this.actionType,this.type)}equals(h){return this===h||h instanceof Ct&&this.type===h.type}toString(){return"type("+this.type+")"}};let St=class St extends gt{constructor(h){super(5),this.mode=h}execute(h){h.pushMode(this.mode)}updateHashCode(h){h.update(this.actionType,this.mode)}equals(h){return this===h||h instanceof St&&this.mode===h.mode}toString(){return"pushMode("+this.mode+")"}};let At=class At extends gt{constructor(){super(4)}execute(h){h.popMode()}toString(){return"popMode"}};At.INSTANCE=new At;let It=class It extends gt{constructor(h){super(2),this.mode=h}execute(h){h.mode(this.mode)}updateHashCode(h){h.update(this.actionType,this.mode)}equals(h){return this===h||h instanceof It&&this.mode===h.mode}toString(){return"mode("+this.mode+")"}};function Rt(h,v){let P=[];return P[h-1]=v,P.map(function(h){return v})}let mt=class mt{constructor(h){null==h&&(h=pt.defaultOptions),this.deserializationOptions=h,this.stateFactories=null,this.actionFactories=null}deserialize(h){let v=this.reset(h);this.checkVersion(v),v&&this.skipUUID();let P=this.readATN();this.readStates(P,v),this.readRules(P,v),this.readModes(P);let B=[];return this.readSets(P,B,this.readInt.bind(this)),v&&this.readSets(P,B,this.readInt32.bind(this)),this.readEdges(P,B),this.readDecisions(P),this.readLexerActions(P,v),this.markPrecedenceDecisions(P),this.verifyATN(P),this.deserializationOptions.generateRuleBypassTransitions&&1===P.grammarType&&(this.generateRuleBypassTransitions(P),this.verifyATN(P)),P}reset(h){if(3===(h.charCodeAt?h.charCodeAt(0):h[0])){let v=h.split("").map(function(h){let v=h.charCodeAt(0);return v>1?v-2:v+65534});return v[0]=h.charCodeAt(0),this.data=v,this.pos=0,!0}return this.data=h,this.pos=0,!1}skipUUID(){let h=0;for(;h++<8;)this.readInt()}checkVersion(h){let v=this.readInt();if(!h&&4!==v)throw"Could not deserialize ATN with version "+v+" (expected 4)."}readATN(){let h=this.readInt(),v=this.readInt();return new z(h,v)}readStates(h,v){let P,B,ts;let ti=[],tr=[],tl=this.readInt();for(let P=0;P<tl;P++){let P=this.readInt();if(P===C.INVALID_TYPE){h.addState(null);continue}let B=this.readInt();v&&65535===B&&(B=-1);let ts=this.stateFactory(P,B);if(P===C.LOOP_END){let h=this.readInt();ti.push([ts,h])}else if(ts instanceof j){let h=this.readInt();tr.push([ts,h])}h.addState(ts)}for(P=0;P<ti.length;P++)(B=ti[P])[0].loopBackState=h.states[B[1]];for(P=0;P<tr.length;P++)(B=tr[P])[0].endState=h.states[B[1]];let to=this.readInt();for(P=0;P<to;P++)ts=this.readInt(),h.states[ts].nonGreedy=!0;let ta=this.readInt();for(P=0;P<ta;P++)ts=this.readInt(),h.states[ts].isPrecedenceRule=!0}readRules(h,v){let P;let B=this.readInt();for(0===h.grammarType&&(h.ruleToTokenType=Rt(B,0)),h.ruleToStartState=Rt(B,0),P=0;P<B;P++){let B=this.readInt();if(h.ruleToStartState[P]=h.states[B],0===h.grammarType){let B=this.readInt();v&&65535===B&&(B=t.EOF),h.ruleToTokenType[P]=B}}for(h.ruleToStopState=Rt(B,0),P=0;P<h.states.length;P++){let v=h.states[P];v instanceof S&&(h.ruleToStopState[v.ruleIndex]=v,h.ruleToStartState[v.ruleIndex].stopState=v)}}readModes(h){let v=this.readInt();for(let P=0;P<v;P++){let v=this.readInt();h.modeToStartState.push(h.states[v])}}readSets(h,v,P){let B=this.readInt();for(let h=0;h<B;h++){let h=new x;v.push(h);let B=this.readInt();0!==this.readInt()&&h.addOne(-1);for(let v=0;v<B;v++){let v=P(),B=P();h.addRange(v,B)}}}readEdges(h,v){let P,B,ts,ti,tr;let tl=this.readInt();for(P=0;P<tl;P++){let P=this.readInt(),B=this.readInt(),ts=this.readInt(),tr=this.readInt(),tl=this.readInt(),to=this.readInt();ti=this.edgeFactory(h,ts,P,B,tr,tl,to,v),h.states[P].addTransition(ti)}for(P=0;P<h.states.length;P++)for(ts=h.states[P],B=0;B<ts.transitions.length;B++){let v=ts.transitions[B];if(!(v instanceof I))continue;let P=-1;h.ruleToStartState[v.target.ruleIndex].isPrecedenceRule&&0===v.precedence&&(P=v.target.ruleIndex),ti=new at(v.followState,P),h.ruleToStopState[v.target.ruleIndex].addTransition(ti)}for(P=0;P<h.states.length;P++){if((ts=h.states[P])instanceof j){if(null===ts.endState||null!==ts.endState.startState)throw"IllegalState";ts.endState.startState=ts}if(ts instanceof Z)for(B=0;B<ts.transitions.length;B++)(tr=ts.transitions[B].target)instanceof nt&&(tr.loopBackState=ts);else if(ts instanceof tt)for(B=0;B<ts.transitions.length;B++)(tr=ts.transitions[B].target)instanceof et&&(tr.loopBackState=ts)}}readDecisions(h){let v=this.readInt();for(let P=0;P<v;P++){let v=this.readInt(),B=h.states[v];h.decisionToState.push(B),B.decision=P}}readLexerActions(h,v){if(0===h.grammarType){let P=this.readInt();h.lexerActions=Rt(P,null);for(let B=0;B<P;B++){let P=this.readInt(),ts=this.readInt();v&&65535===ts&&(ts=-1);let ti=this.readInt();v&&65535===ti&&(ti=-1),h.lexerActions[B]=this.lexerActionFactory(P,ts,ti)}}}generateRuleBypassTransitions(h){let v;let P=h.ruleToStartState.length;for(v=0;v<P;v++)h.ruleToTokenType[v]=h.maxTokenType+v+1;for(v=0;v<P;v++)this.generateRuleBypassTransition(h,v)}generateRuleBypassTransition(h,v){let P,B;let ts=new it;ts.ruleIndex=v,h.addState(ts);let ti=new Q;ti.ruleIndex=v,h.addState(ti),ts.endState=ti,h.defineDecisionState(ts),ti.startState=ts;let tr=null,tl=null;if(h.ruleToStartState[v].isPrecedenceRule){for(tl=null,P=0;P<h.states.length;P++)if(B=h.states[P],this.stateIsEndStateFor(B,v)){tl=B,tr=B.loopBackState.transitions[0];break}if(null===tr)throw"Couldn't identify final state of the precedence rule prefix section."}else tl=h.ruleToStopState[v];for(P=0;P<h.states.length;P++){B=h.states[P];for(let h=0;h<B.transitions.length;
1h++){let v=B.transitions[h];v!==tr&&v.target===tl&&(v.target=ti)}}let to=h.ruleToStartState[v],ta=to.transitions.length;for(;ta>0;)ts.addTransition(to.transitions[ta-1]),to.transitions=to.transitions.slice(-1);h.ruleToStartState[v].addTransition(new at(ts)),ti.addTransition(new at(tl));let th=new Y;h.addState(th),th.addTransition(new rt(ti,h.ruleToTokenType[v])),ts.addTransition(new at(th))}stateIsEndStateFor(h,v){if(h.ruleIndex!==v||!(h instanceof et))return null;let P=h.transitions[h.transitions.length-1].target;return P instanceof X&&P.epsilonOnlyTransitions&&P.transitions[0].target instanceof S?h:null}markPrecedenceDecisions(h){for(let v=0;v<h.states.length;v++){let P=h.states[v];if(P instanceof et&&h.ruleToStartState[P.ruleIndex].isPrecedenceRule){let h=P.transitions[P.transitions.length-1].target;h instanceof X&&h.epsilonOnlyTransitions&&h.transitions[0].target instanceof S&&(P.isPrecedenceDecision=!0)}}}verifyATN(h){if(this.deserializationOptions.verifyATN)for(let v=0;v<h.states.length;v++){let P=h.states[v];if(null!==P){if(this.checkCondition(P.epsilonOnlyTransitions||P.transitions.length<=1),P instanceof nt)this.checkCondition(null!==P.loopBackState);else if(P instanceof et){if(this.checkCondition(null!==P.loopBackState),this.checkCondition(2===P.transitions.length),P.transitions[0].target instanceof st)this.checkCondition(P.transitions[1].target instanceof X),this.checkCondition(!P.nonGreedy);else{if(!(P.transitions[0].target instanceof X))throw"IllegalState";this.checkCondition(P.transitions[1].target instanceof st),this.checkCondition(P.nonGreedy)}}else P instanceof tt?(this.checkCondition(1===P.transitions.length),this.checkCondition(P.transitions[0].target instanceof et)):P instanceof X?this.checkCondition(null!==P.loopBackState):P instanceof J?this.checkCondition(null!==P.stopState):P instanceof j?this.checkCondition(null!==P.endState):P instanceof Q?this.checkCondition(null!==P.startState):P instanceof W?this.checkCondition(P.transitions.length<=1||P.decision>=0):this.checkCondition(P.transitions.length<=1||P instanceof S)}}}checkCondition(h,v){if(!h)throw null==v&&(v="IllegalState"),v}readInt(){return this.data[this.pos++]}readInt32(){return this.readInt()|this.readInt()<<16}edgeFactory(h,v,P,B,ts,ti,tr,tl){let to=h.states[B];switch(v){case A.EPSILON:return new at(to);case A.RANGE:return new ot(to,0!==tr?t.EOF:ts,ti);case A.RULE:return new I(h.states[ts],ti,tr,to);case A.PREDICATE:return new ct(to,ts,ti,0!==tr);case A.PRECEDENCE:return new dt(to,ts);case A.ATOM:return new rt(to,0!==tr?t.EOF:ts);case A.ACTION:return new lt(to,ts,ti,0!==tr);case A.SET:return new R(to,tl[ts]);case A.NOT_SET:return new m(to,tl[ts]);case A.WILDCARD:return new _(to);default:throw"The specified transition type: "+v+" is not valid."}}stateFactory(h,v){if(null===this.stateFactories){let h=[];h[C.INVALID_TYPE]=null,h[C.BASIC]=()=>new Y,h[C.RULE_START]=()=>new J,h[C.BLOCK_START]=()=>new it,h[C.PLUS_BLOCK_START]=()=>new nt,h[C.STAR_BLOCK_START]=()=>new st,h[C.TOKEN_START]=()=>new $,h[C.RULE_STOP]=()=>new S,h[C.BLOCK_END]=()=>new Q,h[C.STAR_LOOP_BACK]=()=>new tt,h[C.STAR_LOOP_ENTRY]=()=>new et,h[C.PLUS_LOOP_BACK]=()=>new Z,h[C.LOOP_END]=()=>new X,this.stateFactories=h}if(h>this.stateFactories.length||null===this.stateFactories[h])throw"The specified state type "+h+" is not valid.";{let P=this.stateFactories[h]();if(null!==P)return P.ruleIndex=v,P}}lexerActionFactory(h,v,P){if(null===this.actionFactories){let h=[];h[0]=(h,v)=>new Et(h),h[1]=(h,v)=>new Tt(h,v),h[2]=(h,v)=>new It(h),h[3]=(h,v)=>xt.INSTANCE,h[4]=(h,v)=>At.INSTANCE,h[5]=(h,v)=>new St(h),h[6]=(h,v)=>ft.INSTANCE,h[7]=(h,v)=>new Ct(h),this.actionFactories=h}if(h>this.actionFactories.length||null===this.actionFactories[h])throw"The specified lexer action type "+h+" is not valid.";return this.actionFactories[h](v,P)}};let _t=class _t{syntaxError(h,v,P,B,ts,ti){}reportAmbiguity(h,v,P,B,ts,ti,tr){}reportAttemptingFullContext(h,v,P,B,ts,ti){}reportContextSensitivity(h,v,P,B,ts,ti){}};let Nt=class Nt extends _t{constructor(){super()}syntaxError(h,v,P,B,ts,ti){console.error("line "+P+":"+B+" "+ts)}};Nt.INSTANCE=new Nt;let Lt=class Lt extends _t{constructor(h){if(super(),null===h)throw"delegates";return this.delegates=h,this}syntaxError(h,v,P,B,ts,ti){this.delegates.map(tr=>tr.syntaxError(h,v,P,B,ts,ti))}reportAmbiguity(h,v,P,B,ts,ti,tr){this.delegates.map(tl=>tl.reportAmbiguity(h,v,P,B,ts,ti,tr))}reportAttemptingFullContext(h,v,P,B,ts,ti){this.delegates.map(tr=>tr.reportAttemptingFullContext(h,v,P,B,ts,ti))}reportContextSensitivity(h,v,P,B,ts,ti){this.delegates.map(tr=>tr.reportContextSensitivity(h,v,P,B,ts,ti))}};let yt=class yt{constructor(){this._listeners=[Nt.INSTANCE],this._interp=null,this._stateNumber=-1}checkVersion(h){"4.10.1"!==h&&console.log("ANTLR runtime and generated code versions disagree: 4.10.1!="+h)}addErrorListener(h){this._listeners.push(h)}removeErrorListeners(){this._listeners=[]}getLiteralNames(){return Object.getPrototypeOf(this).constructor.literalNames||[]}getSymbolicNames(){return Object.getPrototypeOf(this).constructor.symbolicNames||[]}getTokenNames(){if(!this.tokenNames){let h=this.getLiteralNames(),v=this.getSymbolicNames(),P=h.length>v.length?h.length:v.length;this.tokenNames=[];for(let B=0;B<P;B++)this.tokenNames[B]=h[B]||v[B]||"<INVALID"}return this.tokenNames}getTokenTypeMap(){let h=this.getTokenNames();if(null===h)throw"The current recognizer does not provide a list of token names.";let v=this.tokenTypeMapCache[h];return void 0===v&&((v=h.reduce(function(h,v,P){h[v]=P})).EOF=t.EOF,this.tokenTypeMapCache[h]=v),v}getRuleIndexMap(){let h=this.ruleNames;if(null===h)throw"The current recognizer does not provide a list of rule names.";let v=this.ruleIndexMapCache[h];return void 0===v&&(v=h.reduce(function(h,v,P){h[v]=P}),this.ruleIndexMapCache[h]=v),v}getTokenType(h){let v=this.getTokenTypeMap()[h];return void 0!==v?v:t.INVALID_TYPE}getErrorHeader(h){return"line "+h.getOffendingToken().line+":"+h.getOffendingToken().column}getTokenErrorDisplay(h){if(null===h)return"<no token>";let v=h.text;return null===v&&(v=h.type===t.EOF?"<EOF>":"<"+h.type+">"),"'"+(v=v.replace("\n","\\n").replace("\r","\\r").replace(" ","\\t"))+"'"}getErrorListenerDispatch(){return new Lt(this._listeners)}sempred(h,v,P){return!0}precpred(h,v){return!0}get state(){return this._stateNumber}set state(h){this._stateNumber=h}};yt.tokenTypeMapCache={},yt.ruleIndexMapCache={};let Ot=class Ot extends t{constructor(h,v,P,B,ts){super(),this.source=void 0!==h?h:Ot.EMPTY_SOURCE,this.type=void 0!==v?v:null,this.channel=void 0!==P?P:t.DEFAULT_CHANNEL,this.start=void 0!==B?B:-1,this.stop=void 0!==ts?ts:-1,this.tokenIndex=-1,null!==this.source[0]?(this.line=h[0].line,this.column=h[0].c
1olumn):this.column=-1}clone(){let h=new Ot(this.source,this.type,this.channel,this.start,this.stop);return h.tokenIndex=this.tokenIndex,h.line=this.line,h.column=this.column,h.text=this.text,h}toString(){let h=this.text;return h=null!==h?h.replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/\t/g,"\\t"):"<no text>","[@"+this.tokenIndex+","+this.start+":"+this.stop+"='"+h+"',<"+this.type+">"+(this.channel>0?",channel="+this.channel:"")+","+this.line+":"+this.column+"]"}get text(){if(null!==this._text)return this._text;let h=this.getInputStream();if(null===h)return null;let v=h.size;return this.start<v&&this.stop<v?h.getText(this.start,this.stop):"<EOF>"}set text(h){this._text=h}};Ot.EMPTY_SOURCE=[null,null];let kt=class kt extends class{}{constructor(h){super(),this.copyText=void 0!==h&&h}create(h,v,P,B,ts,ti,tr,tl){let to=new Ot(h,v,B,ts,ti);return to.line=tr,to.column=tl,null!==P?to.text=P:this.copyText&&null!==h[1]&&(to.text=h[1].getText(ts,ti)),to}createThin(h,v){let P=new Ot(null,h);return P.text=v,P}};kt.DEFAULT=new kt;let vt=class vt extends Error{constructor(h){super(h.message),Error.captureStackTrace&&Error.captureStackTrace(this,vt),this.message=h.message,this.recognizer=h.recognizer,this.input=h.input,this.ctx=h.ctx,this.offendingToken=null,this.offendingState=-1,null!==this.recognizer&&(this.offendingState=this.recognizer.state)}getExpectedTokens(){return null!==this.recognizer?this.recognizer.atn.getExpectedTokens(this.offendingState,this.ctx):null}toString(){return this.message}};let Pt=class Pt extends vt{constructor(h,v,P,B){super({message:"",recognizer:h,input:v,ctx:null}),this.startIndex=P,this.deadEndConfigs=B}toString(){let h="";return this.startIndex>=0&&this.startIndex<this.input.size&&(h=this.input.getText(new T(this.startIndex,this.startIndex))),"LexerNoViableAltException"+h}};let Dt=class Dt extends yt{constructor(h){super(),this._input=h,this._factory=kt.DEFAULT,this._tokenFactorySourcePair=[this,h],this._interp=null,this._token=null,this._tokenStartCharIndex=-1,this._tokenStartLine=-1,this._tokenStartColumn=-1,this._hitEOF=!1,this._channel=t.DEFAULT_CHANNEL,this._type=t.INVALID_TYPE,this._modeStack=[],this._mode=Dt.DEFAULT_MODE,this._text=null}reset(){null!==this._input&&this._input.seek(0),this._token=null,this._type=t.INVALID_TYPE,this._channel=t.DEFAULT_CHANNEL,this._tokenStartCharIndex=-1,this._tokenStartColumn=-1,this._tokenStartLine=-1,this._text=null,this._hitEOF=!1,this._mode=Dt.DEFAULT_MODE,this._modeStack=[],this._interp.reset()}nextToken(){if(null===this._input)throw"nextToken requires a non-null input stream.";let h=this._input.mark();try{for(;;){if(this._hitEOF)return this.emitEOF(),this._token;this._token=null,this._channel=t.DEFAULT_CHANNEL,this._tokenStartCharIndex=this._input.index,this._tokenStartColumn=this._interp.column,this._tokenStartLine=this._interp.line,this._text=null;let h=!1;for(;;){this._type=t.INVALID_TYPE;let v=Dt.SKIP;try{v=this._interp.match(this._input,this._mode)}catch(h){if(!(h instanceof vt))throw console.log(h.stack),h;this.notifyListeners(h),this.recover(h)}if(this._input.LA(1)===t.EOF&&(this._hitEOF=!0),this._type===t.INVALID_TYPE&&(this._type=v),this._type===Dt.SKIP){h=!0;break}if(this._type!==Dt.MORE)break}if(!h)return null===this._token&&this.emit(),this._token}}finally{this._input.release(h)}}skip(){this._type=Dt.SKIP}more(){this._type=Dt.MORE}mode(h){this._mode=h}pushMode(h){this._interp.debug&&console.log("pushMode "+h),this._modeStack.push(this._mode),this.mode(h)}popMode(){if(0===this._modeStack.length)throw"Empty Stack";return this._interp.debug&&console.log("popMode back to "+this._modeStack.slice(0,-1)),this.mode(this._modeStack.pop()),this._mode}emitToken(h){this._token=h}emit(){let h=this._factory.create(this._tokenFactorySourcePair,this._type,this._text,this._channel,this._tokenStartCharIndex,this.getCharIndex()-1,this._tokenStartLine,this._tokenStartColumn);return this.emitToken(h),h}emitEOF(){let h=this.column,v=this.line,P=this._factory.create(this._tokenFactorySourcePair,t.EOF,null,t.DEFAULT_CHANNEL,this._input.index,this._input.index-1,v,h);return this.emitToken(P),P}getCharIndex(){return this._input.index}getAllTokens(){let h=[],v=this.nextToken();for(;
1v.type!==t.EOF;)h.push(v),v=this.nextToken();return h}notifyListeners(h){let v=this._tokenStartCharIndex,P=this._input.index,B=this._input.getText(v,P),ts="token recognition error at: '"+this.getErrorDisplay(B)+"'";this.getErrorListenerDispatch().syntaxError(this,null,this._tokenStartLine,this._tokenStartColumn,ts,h)}getErrorDisplay(h){let v=[];for(let P=0;P<h.length;P++)v.push(h[P]);return v.join("")}getErrorDisplayForChar(h){return h.charCodeAt(0)===t.EOF?"<EOF>":"\n"===h?"\\n":" "===h?"\\t":"\r"===h?"\\r":h}getCharErrorDisplay(h){return"'"+this.getErrorDisplayForChar(h)+"'"}recover(h){this._input.LA(1)!==t.EOF&&(h instanceof Pt?this._interp.consume(this._input):this._input.consume())}get inputStream(){return this._input}set inputStream(h){this._input=null,this._tokenFactorySourcePair=[this,this._input],this.reset(),this._input=h,this._tokenFactorySourcePair=[this,this._input]}get sourceName(){return this._input.sourceName}get type(){return this._type}set type(h){this._type=h}get line(){return this._interp.line}set line(h){this._interp.line=h}get column(){return this._interp.column}set column(h){this._interp.column=h}get text(){return null!==this._text?this._text:this._interp.getText(this._input)}set text(h){this._text=h}};function wt(h){return h.hashCodeForConfigSet()}function bt(h,v){return h===v||null!==h&&null!==v&&h.equalsForConfigSet(v)}Dt.DEFAULT_MODE=0,Dt.MORE=-2,Dt.SKIP=-3,Dt.DEFAULT_TOKEN_CHANNEL=t.DEFAULT_CHANNEL,Dt.HIDDEN=t.HIDDEN_CHANNEL,Dt.MIN_CHAR_VALUE=0,Dt.MAX_CHAR_VALUE=1114111;let Mt=class Mt{constructor(h){this.configLookup=new c(wt,bt),this.fullCtx=void 0===h||h,this.readOnly=!1,this.configs=[],this.uniqueAlt=0,this.conflictingAlts=null,this.hasSemanticContext=!1,this.dipsIntoOuterContext=!1,this.cachedHashCode=-1}add(h,v){if(void 0===v&&(v=null),this.readOnly)throw"This set is readonly";h.semanticContext!==u.NONE&&(this.hasSemanticContext=!0),h.reachesIntoOuterContext>0&&(this.dipsIntoOuterContext=!0);let P=this.configLookup.add(h);if(P===h)return this.cachedHashCode=-1,this.configs.push(h),!0;let B=!this.fullCtx,ts=function V(h,v,P,B){if(h===v)return h;if(h instanceof M&&v instanceof M)return function(h,v,P,B){if(null!==B){let P=B.get(h,v);if(null!==P||null!==(P=B.get(v,h)))return P}let ts=function(h,v,P){if(P){if(h===w.EMPTY||v===w.EMPTY)return w.EMPTY}else{if(h===w.EMPTY&&v===w.EMPTY)return w.EMPTY;if(h===w.EMPTY){let h=[v.returnState,w.EMPTY_RETURN_STATE],P=[v.parentCtx,null];return new b(P,h)}if(v===w.EMPTY){let v=[h.returnState,w.EMPTY_RETURN_STATE],P=[h.parentCtx,null];return new b(P,v)}}return null}(h,v,P);if(null!==ts)return null!==B&&B.set(h,v,ts),ts;if(h.returnState===v.returnState){let ts=V(h.parentCtx,v.parentCtx,P,B);if(ts===h.parentCtx)return h;if(ts===v.parentCtx)return v;let ti=M.create(ts,h.returnState);return null!==B&&B.set(h,v,ti),ti}{let P=null;if((h===v||null!==h.parentCtx&&h.parentCtx===v.parentCtx)&&(P=h.parentCtx),null!==P){let ts=[h.returnState,v.returnState];h.returnState>v.returnState&&(ts[0]=v.returnState,ts[1]=h.returnState);let ti=new b([P,P],ts);return null!==B&&B.set(h,v,ti),ti}let ts=[h.returnState,v.returnState],ti=[h.parentCtx,v.parentCtx];h.returnState>v.returnState&&(ts[0]=v.returnState,ts[1]=h.returnState,ti=[v.parentCtx,h.parentCtx]);let tr=new b(ti,ts);return null!==B&&B.set(h,v,tr),tr}}(h,v,P,B);if(P){if(h instanceof F)return h;if(v instanceof F)return v}return h instanceof M&&(h=new b([h.getParent()],[h.returnState])),v instanceof M&&(v=new b([v.getParent()],[v.returnState])),function(h,v,P,B){if(null!==B){let P=B.get(h,v);if(null!==P||null!==(P=B.get(v,h)))return P}let ts=0,ti=0,tr=0,tl=[],to=[];for(;ts<h.returnStates.length&&ti<v.returnStates.length;){let ta=h.parents[ts],th=v.parents[ti];if(h.returnStates[ts]===v.returnStates[ti]){let v=h.returnStates[ts],tu=null!==ta&&null!==th&&ta===th;v===w.EMPTY_RETURN_STATE&&null===ta&&null===th||tu?to[tr]=ta:to[tr]=V(ta,th,P,B),tl[tr]=v,ts+=1,ti+=1}else h.returnStates[ts]<v.returnStates[ti]?(to[tr]=ta,tl[tr]=h.returnStates[ts],ts+=1):(to[tr]=th,tl[tr]=v.returnStates[ti],ti+=1);tr+=1}if(ts<h.returnStates.length)for(let v=ts;v<h.returnStates.length;v++)to[tr]=h.parents[v],tl[tr]=h.returnStates[v],tr+=1;else for(let h=ti;h<v.returnStates.length;h++)to[tr]=v.parents[h],tl[tr]=v.returnStates[h],tr+=1;if(tr<to.length){if(1===tr){let P=M.create(to[0],tl[0]);return null!==B&&B.set(h,v,P),P}to=to.slice(0,tr),tl=tl.slice(0,tr)}let ta=new b(to,tl);return ta===h?(null!==B&&B.set(h,v,h),h):ta===v?(null!==B&&B.set(h,v,v),v):(function(h){let v=new U;for(let P=0;P<h.length;P++){let B=h[P];v.containsKey(B)||v.set(B,B)}for(let P=0;P<h.length;P++)h[P]=v.get(h[P])}(to),null!==B&&B.set(h,v,ta),ta)}(h,v,P,B)}(P.context,h.context,B,v);return P.reachesIntoOuterContext=Math.max(P.reachesIntoOuterContext,h.reachesIntoOuterContext),h.precedenceFilterSuppressed&&(P.precedenceFilterSuppressed=!0),P.context=ts,!0}getStates(){let h=new c;for(let v=0;v<this.configs.length;v++)h.add(this.configs[v].state);return h}getPredicates(){let h=[];for(let v=0;v<this.configs.length;v++){let P=this.configs[v].semanticContext;P!==u.NONE&&h.push(P.semanticContext)}return h}optimizeConfigs(h){if(this.readOnly)throw"This set is readonly";if(0!==this.configLookup.length)for(let v=0;v<this.configs.length;v++){let P=this.configs[v];P.context=h.getCachedContext(P.context)}}addAll(h){for(let v=0;v<h.length;v++)this.add(h[v]);return!1}equals(h){return this===h||h instanceof Mt&&e(this.configs,h.configs)&&this.fullCtx===h.fullCtx&&this.uniqueAlt===h.uniqueAlt&&this.conflictingAlts===h.conflictingAlts&&this.hasSemanticContext===h.hasSemanticContext&&this.dipsIntoOuterContext===h.dipsIntoOuterContext}hashCode(){let h=new i;return h.update(this.configs),h.finish()}updateHashCode(h){this.readOnly?(-1===this.cachedHashCode&&(this.cachedHashCode=this.hashCode()),h.update(this.cachedHashCode)):h.update(this.hashCode())}isEmpty(){return 0===this.configs.length}contains(h){if(null===this.configLookup)throw"This method is not implemented for readonly sets.";return this.configLookup.contains(h)}
1containsFast(h){if(null===this.configLookup)throw"This method is not implemented for readonly sets.";return this.configLookup.containsFast(h)}clear(){if(this.readOnly)throw"This set is readonly";this.configs=[],this.cachedHashCode=-1,this.configLookup=new c}setReadonly(h){this.readOnly=h,h&&(this.configLookup=null)}toString(){return a(this.configs)+(this.hasSemanticContext?",hasSemanticContext="+this.hasSemanticContext:"")+(this.uniqueAlt!==z.INVALID_ALT_NUMBER?",uniqueAlt="+this.uniqueAlt:"")+(null!==this.conflictingAlts?",conflictingAlts="+this.conflictingAlts:"")+(this.dipsIntoOuterContext?",dipsIntoOuterContext":"")}get items(){return this.configs}get length(){return this.configs.length}};let Ft=class Ft{constructor(h,v){return null===h&&(h=-1),null===v&&(v=new Mt),this.stateNumber=h,this.configs=v,this.edges=null,this.isAcceptState=!1,this.prediction=0,this.lexerActionExecutor=null,this.requiresFullContext=!1,this.predicates=null,this}getAltSet(){let h=new c;if(null!==this.configs)for(let v=0;v<this.configs.length;v++){let P=this.configs[v];h.add(P.alt)}return 0===h.length?null:h}equals(h){return this===h||h instanceof Ft&&this.configs.equals(h.configs)}toString(){let h=this.stateNumber+":"+this.configs;return this.isAcceptState&&(h+="=>",null!==this.predicates?h+=this.predicates:h+=this.prediction),h}hashCode(){let h=new i;return h.update(this.configs),h.finish()}};let Bt=class Bt{constructor(h,v){return this.atn=h,this.sharedContextCache=v,this}getCachedContext(h){if(null===this.sharedContextCache)return h;let v=new U;return function K(h,v,P){if(h.isEmpty())return h;let B=P.get(h)||null;if(null!==B)return B;if(null!==(B=v.get(h)))return P.set(h,B),B;let ts=!1,ti=[];for(let B=0;B<ti.length;B++){let tr=K(h.getParent(B),v,P);if(ts||tr!==h.getParent(B)){if(!ts){ti=[];for(let v=0;v<h.length;v++)ti[v]=h.getParent(v);ts=!0}ti[B]=tr}}if(!ts)return v.add(h),P.set(h,h),h;let tr=null;return tr=0===ti.length?w.EMPTY:1===ti.length?M.create(ti[0],h.getReturnState(0)):new b(ti,h.returnStates),v.add(tr),P.set(tr,tr),P.set(h,tr),tr}(h,this.sharedContextCache,v)}};Bt.ERROR=new Ft(2147483647,new Mt);let Ut=class Ut extends Mt{constructor(){super(),this.configLookup=new c}};let Ht=class Ht extends E{constructor(h,v){super(h,v);let P=h.lexerActionExecutor||null;return this.lexerActionExecutor=P||(null!==v?v.lexerActionExecutor:null),this.passedThroughNonGreedyDecision=null!==v&&this.checkNonGreedyDecision(v,this.state),this.hashCodeForConfigSet=Ht.prototype.hashCode,this.equalsForConfigSet
1=Ht.prototype.equals,this}updateHashCode(h){h.update(this.state.stateNumber,this.alt,this.context,this.semanticContext,this.passedThroughNonGreedyDecision,this.lexerActionExecutor)}equals(h){return this===h||h instanceof Ht&&this.passedThroughNonGreedyDecision===h.passedThroughNonGreedyDecision&&(this.lexerActionExecutor?this.lexerActionExecutor.equals(h.lexerActionExecutor):!h.lexerActionExecutor)&&super.equals(h)}checkNonGreedyDecision(h,v){return h.passedThroughNonGreedyDecision||v instanceof W&&v.nonGreedy}};let Kt=class Kt extends gt{constructor(h,v){super(v.actionType),this.offset=h,this.action=v,this.isPositionDependent=!0}execute(h){this.action.execute(h)}updateHashCode(h){h.update(this.actionType,this.offset,this.action)}equals(h){return this===h||h instanceof Kt&&this.offset===h.offset&&this.action===h.action}};let Vt=class Vt{constructor(h){return this.lexerActions=null===h?[]:h,this.cachedHashCode=i.hashStuff(h),this}fixOffsetBeforeMatch(h){let v=null;for(let P=0;P<this.lexerActions.length;P++)!this.lexerActions[P].isPositionDependent||this.lexerActions[P]instanceof Kt||(null===v&&(v=this.lexerActions.concat([])),v[P]=new Kt(h,this.lexerActions[P]));return null===v?this:new Vt(v)}execute(h,v,P){let B=!1,ts=v.index;try{for(let ti=0;ti<this.lexerActions.length;ti++){let tr=this.lexerActions[ti];if(tr instanceof Kt){let h=tr.offset;v.seek(P+h),tr=tr.action,B=P+h!==ts}else tr.isPositionDependent&&(v.seek(ts),B=!1);tr.execute(h)}}finally{B&&v.seek(ts)}}hashCode(){return this.cachedHashCode}updateHashCode(h){h.update(this.cachedHashCode)}equals(h){if(this===h)return!0;if(h instanceof Vt){if(this.cachedHashCode!=h.cachedHashCode||this.lexerActions.length!=h.lexerActions.length)return!1;{let v=this.lexerActions.length;for(let P=0;P<v;++P)if(!this.lexerActions[P].equals(h.lexerActions[P]))return!1;return!0}}return!1}static append(h,v){if(null===h)return new Vt([v]);let P=h.lexerActions.concat([v]);return new Vt(P)}};function Gt(h){h.index=-1,h.line=0,h.column=-1,h.dfaState=null}let qt=class qt{constructor(){Gt(this)}reset(){Gt(this)}};let zt=class zt extends Bt{constructor(h,v,P,B){super(v,B),this.decisionToDFA=P,this.recog=h,this.startIndex=-1,this.line=1,this.column=0,this.mode=Dt.DEFAULT_MODE,this.prevAccept=new qt}copyState(h){this.column=h.column,this.line=h.line,this.mode=h.mode,this.startIndex=h.startIndex}match(h,v){this.mode=v;let P=h.mark();try{this.startIndex=h.index,this.prevAccept.reset();let P=this.decisionToDFA[v];return null===P.s0?this.matchATN(h):this.execATN(h,P.s0)}finally{h.release(P)}}reset(){this.prevAccept.reset(),this.startIndex=-1,this.line=1,this.column=0,this.mode=Dt.DEFAULT_MODE}matchATN(h){let v=this.atn.modeToStartState[this.mode];zt.debug&&console.log("matchATN mode "+this.mode+" start: "+v);let P=this.mode,B=this.computeStartState(h,v),ts=B.hasSemanticContext;B.hasSemanticContext=!1;let ti=this.addDFAState(B);ts||(this.decisionToDFA[this.mode].s0=ti);let tr=this.execATN(h,ti);return zt.debug&&console.log("DFA after matchATN: "+this.decisionToDFA[P].toLexerString()),tr}execATN(h,v){zt.debug&&console.log("start state closure="+v.configs),v.isAcceptState&&this.captureSimState(this.prevAccept,h,v);let P=h.LA(1),B=v;for(;;){zt.debug&&console.log("execATN loop starting closure: "+B.configs);let v=this.getExistingTargetState(B,P);if(null===v&&(v=this.computeTargetState(h,B,P)),v===Bt.ERROR||(P!==t.EOF&&this.consume(h),v.isAcceptState&&(this.captureSimState(this.prevAccept,h,v),P===t.EOF)))break;P=h.LA(1),B=v}return this.failOrAccept(this.prevAccept,h,B.configs,P)}getExistingTargetState(h,v){if(null===h.edges||v<zt.MIN_DFA_EDGE||v>zt.MAX_DFA_EDGE)return null;let P=h.edges[v-zt.MIN_DFA_EDGE];return void 0===P&&(P=null),zt.debug&&null!==P&&console.log("reuse state "+h.stateNumber+" edge to "+P.stateNumber),P}computeTargetState(h,v,P){let B=new Ut;return this.getReachableConfigSet(h,v.configs,B,P),0===B.items.length?(B.hasSemanticContext||this.addDFAEdge(v,P,Bt.ERROR),Bt.ERROR):this.addDFAEdge(v,P,null,B)}failOrAccept(h,v,P,B){if(null!==this.prevAccept.dfaState){let P=h.dfaState.lexerActionExecutor;return this.accept(v,P,this.startIndex,h.index,h.line,h.column),h.dfaState.prediction}if(B===t.EOF&&v.index===this.startIndex)return t.EOF;throw new Pt(this.recog,v,this.startIndex,P)}getReachableConfigSet(h,v,P,B){let ts=z.INVALID_ALT_NUMBER;for(let ti=0;ti<v.items.length;ti++){let tr=v.items[ti],tl=tr.alt===ts;if(!tl||!tr.passedThroughNonGreedyDecision){zt.debug&&console.log("testing %s at %s\n",this.getTokenName(B),tr.toString(this.recog,!0));for(let v=0;v<tr.state.transitions.length;v++){let ti=tr.state.transitions[v],to=this.getReachableTarget(ti,B);if(null!==to){let v=tr.lexerActionExecutor;null!==v&&(v=v.fixOffsetBeforeMatch(h.index-this.startIndex));let ti=B===t.EOF,ta=new Ht({state:to,lexerActionExecutor:v},tr);this.closure(h,ta,P,tl,!0,ti)&&(ts=tr.alt)}}}}}accept(h,v,P,B,ts,ti){zt.debug&&console.log("ACTION %s\n",v),h.seek(B),this.line=ts,this.column=ti,null!==v&&null!==this.recog&&v.execute(this.recog,h,P)}getReachableTarget(h,v){return h.matches(v,0,Dt.MAX_CHAR_VALUE)?h.target:null}computeStartState(h,v){let P=w.EMPTY,B=new Ut;for(let ts=0;ts<v.transitions.length;ts++){let ti=v.transitions[ts].target,tr=new Ht({state:ti,alt:ts+1,context:P},null);
1this.closure(h,tr,B,!1,!1,!1)}return B}closure(h,v,P,B,ts,ti){let tr=null;if(zt.debug&&console.log("closure("+v.toString(this.recog,!0)+")"),v.state instanceof S){if(zt.debug&&(null!==this.recog?console.log("closure at %s rule stop %s\n",this.recog.ruleNames[v.state.ruleIndex],v):console.log("closure at rule stop %s\n",v)),null===v.context||v.context.hasEmptyPath()){if(null===v.context||v.context.isEmpty())return P.add(v),!0;P.add(new Ht({state:v.state,context:w.EMPTY},v)),B=!0}if(null!==v.context&&!v.context.isEmpty()){for(let tl=0;tl<v.context.length;tl++)if(v.context.getReturnState(tl)!==w.EMPTY_RETURN_STATE){let to=v.context.getParent(tl),ta=this.atn.states[v.context.getReturnState(tl)];tr=new Ht({state:ta,context:to},v),B=this.closure(h,tr,P,B,ts,ti)}}return B}v.state.epsilonOnlyTransitions||B&&v.passedThroughNonGreedyDecision||P.add(v);for(let tl=0;tl<v.state.transitions.length;tl++){let to=v.state.transitions[tl];null!==(tr=this.getEpsilonTarget(h,v,to,P,ts,ti))&&(B=this.closure(h,tr,P,B,ts,ti))}return B}getEpsilonTarget(h,v,P,B,ts,ti){let tr=null;if(P.serializationType===A.RULE){let h=M.create(v.context,P.followState.stateNumber);tr=new Ht({state:P.target,context:h},v)}else{if(P.serializationType===A.PRECEDENCE)throw"Precedence predicates are not supported in lexers.";if(P.serializationType===A.PREDICATE)zt.debug&&console.log("EVAL rule "+P.ruleIndex+":"+P.predIndex),B.hasSemanticContext=!0,this.evaluatePredicate(h,P.ruleIndex,P.predIndex,ts)&&(tr=new Ht({state:P.target},v));else if(P.serializationType===A.ACTION){if(null===v.context||v.context.hasEmptyPath()){let h=Vt.append(v.lexerActionExecutor,this.atn.lexerActions[P.actionIndex]);tr=new Ht({state:P.target,lexerActionExecutor:h},v)}else tr=new Ht({state:P.target},v)}else P.serializationType===A.EPSILON?tr=new Ht({state:P.target},v):P.serializationType!==A.ATOM&&P.serializationType!==A.RANGE&&P.serializationType!==A.SET||ti&&P.matches(t.EOF,0,Dt.MAX_CHAR_VALUE)&&(tr=new Ht({state:P.target},v))}return tr}evaluatePredicate(h,v,P,B){if(null===this.recog)return!0;if(!B)return this.recog.sempred(null,v,P);let ts=this.column,ti=this.line,tr=h.index,tl=h.mark();try{return this.consume(h),this.recog.sempred(null,v,P)}finally{this.column=ts,this.line=ti,h.seek(tr),h.release(tl)}}captureSimState(h,v,P){h.index=v.index,h.line=this.line,h.column=this.column,h.dfaState=P}addDFAEdge(h,v,P,B){if(void 0===P&&(P=null),void 0===B&&(B=null),null===P&&null!==B){let h=B.hasSemanticContext;if(B.hasSemanticContext=!1,P=this.addDFAState(B),h)return P}return v<zt.MIN_DFA_EDGE||v>zt.MAX_DFA_EDGE||(zt.debug&&console.log("EDGE "+h+" -> "+P+" upon "+v),null===h.edges&&(h.edges=[]),h.edges[v-zt.MIN_DFA_EDGE]=P),P}addDFAState(h){let v=new Ft(null,h),P=null;for(let v=0;v<h.items.length;v++){let B=h.items[v];if(B.state instanceof S){P=B;break}}null!==P&&(v.isAcceptState=!0,v.lexerActionExecutor=P.lexerActionExecutor,v.prediction=this.atn.ruleToTokenType[P.state.ruleIndex]);let B=this.decisionToDFA[this.mode],ts=B.states.get(v);return null!==ts?ts:(v.stateNumber=B.states.length,h.setReadonly(!0),v.configs=h,B.states.add(v),v)}getDFA(h){return this.decisionToDFA[h]}getText(h){return h.getText(this.startIndex,h.index-1)}consume(h){10===h.LA(1)?(this.line+=1,this.column=0):this.column+=1,h.consume()}getTokenName(h){return -1===h?"EOF":"'"+String.fromCharCode(h)+"'"}};zt.debug=!1,zt.dfa_debug=!1,zt.MIN_DFA_EDGE=0,zt.MAX_DFA_EDGE=127;let Yt=class Yt{constructor(h,v){this.alt=v,this.pred=h}toString(){return"("+this.pred+", "+this.alt+")"}};let Wt=class Wt{constructor(){this.data={}}get(h){return this.data["k-"+h]||null}set(h,v){this.data["k-"+h]=v}values(){return Object.keys(this.data).filter(h=>h.startsWith("k-")).map(h=>this.data[h],this)}};let v={SLL:0,LL:1,LL_EXACT_AMBIG_DETECTION:2,hasSLLConflictTerminatingPrediction:function(h,P){if(v.allConfigsInRuleStopStates(P))return!0;if(h===v.SLL&&P.hasSemanticContext){let h=new Mt;for(let v=0;v<P.items.length;v++){let B=P.items[v];B=new E({semanticContext:u.NONE},B),h.add(B)}P=h}let B=v.getConflictingAltSubsets(P);return v.hasConflictingAltSet(B)&&!v.hasStateAssociatedWithOneAlt(P)},hasConfigInRuleStopState:function(h){for(let v=0;v<h.items.length;v++)if(h.items[v].state instanceof S)return!0;return!1},allConfigsInRuleStopStates:function(h){for(let v=0;v<h.items.length;v++)if(!(h.items[v].state instanceof S))return!1;return!0},resolvesToJustOneViableAlt:function(h){return v.getSingleViableAlt(h)},allSubsetsConflict:function(h){return!v.hasNonConflictingAltSet(h)},hasNonConflictingAltSet:function(h){for(let v=0;v<h.length;v++)if(1===h[v].length)return!0;return!1},hasConflictingAltSet:function(h){for(let v=0;v<h.length;v++)if(h[v].length>1)return!0;return!1},allSubsetsEqual:function(h){let v=null;for(let P=0;P<h.length;P++){let B=h[P];if(null===v)v=B;else if(B!==v)return!1}return!0},getUniqueAlt:function(h){let P=v.getAlts(h);return 1===P.length?P.minValue():z.INVALID_ALT_NUMBER},getAlts:function(h){let v=new G;return h.map(function(h){v.or(h)}),v},getConflictingAltSubsets:function(h){let v=new U;return v.hashFunction=function(h){i.hashStuff(h.state.stateNumber,h.context)},v.equalsFunction=function(h,v){return h.state.stateNumber===v.state.stateNumber&&h.context.equals(v.context)},h.items.map(function(h){let P=v.get(h);null===P&&(P=new G,v.set(h,P)),P.add(h.alt)}),v.getValues()},getStateToAltMap:function(h){let v=new Wt;return h.items.map(function(h){let P=v.get(h.state);null===P&&(P=new G,v.set(h.state,P)),P.add(h.alt)}),v},hasStateAssociatedWithOneAlt:function(h){let P=v.getStateToAltMap(h).values();for(let h=0;h<P.length;h++)if(1===P[h].length)return!0;return!1},getSingleViableAlt:function(h){let v=null;for(let P=0;P<h.length;P++){let B=h[P].minValue();if(null===v)v=B;else if(v!==B)return z.INVALID_ALT_NUMBER}return v}};let Xt=class Xt extends vt{constructor(h,v,P,B,ts,ti){ti=ti||h._ctx,B=B||h.getCurrentToken(),P=P||h.getCurrentToken(),super({message:"",recognizer:h,input:v=v||h.getInputStream(),ctx:ti}),this.deadEndConfigs=ts,this.startToken=P,this.offendingToken=B}};let Jt=class Jt{constructor(h){this.defaultMapCtor=h||U,this.cacheMap=new this.defaultMapCtor}get(h,v){let P=this.cacheMap.get(h)||null;return null===P?null:P.get(v)||null}set(h,v,P){let B=this.cacheMap.get(h)||null;null===B&&(B=new this.defaultMapCtor,this.cacheMap.set(h,B)),B.set(v,P)}};let Zt=class Zt{constructor(h,v,P){this.dfa=h,this.literalNames=v||[],this.symbolicNames=P||[]}toString(){if(null===this.dfa.s0)return null;let h="",v=this.dfa.sortedStates();for(let P=0;P<v.length;P++){let B=v[P];
1if(null!==B.edges){let v=B.edges.length;for(let P=0;P<v;P++){let v=B.edges[P]||null;null!==v&&2147483647!==v.stateNumber&&(h=(h=(h=(h=(h=(h=h.concat(this.getStateString(B))).concat("-")).concat(this.getEdgeLabel(P))).concat("->")).concat(this.getStateString(v))).concat("\n"))}}}return 0===h.length?null:h}getEdgeLabel(h){return 0===h?"EOF":null!==this.literalNames||null!==this.symbolicNames?this.literalNames[h-1]||this.symbolicNames[h-1]:String.fromCharCode(h-1)}getStateString(h){let v=(h.isAcceptState?":":"")+"s"+h.stateNumber+(h.requiresFullContext?"^":"");return h.isAcceptState?null!==h.predicates?v+"=>"+a(h.predicates):v+"=>"+h.prediction.toString():v}};let te=class te extends Zt{constructor(h){super(h,null)}getEdgeLabel(h){return"'"+String.fromCharCode(h)+"'"}};let ne=class ne{visitTerminal(h){}visitErrorNode(h){}enterEveryRule(h){}exitEveryRule(h){}};let se=class se{walk(h,v){if(v instanceof k||void 0!==v.isErrorNode&&v.isErrorNode())h.visitErrorNode(v);else if(v instanceof O)h.visitTerminal(v);else{this.enterRule(h,v);for(let P=0;P<v.getChildCount();P++){let B=v.getChild(P);this.walk(h,B)}this.exitRule(h,v)}}enterRule(h,v){let P=v.getRuleContext();h.enterEveryRule(P),P.enterRule(h)}exitRule(h,v){let P=v.getRuleContext();P.exitRule(h),h.exitEveryRule(P)}};se.DEFAULT=new se;let re=class re extends vt{constructor(h){super({message:"",recognizer:h,input:h.getInputStream(),ctx:h._ctx}),this.offendingToken=h.getCurrentToken()}};let oe=class oe extends vt{constructor(h,v,P){var B;super({message:null!==(B=P||null)?B:"failed predicate: {"+v+"}?",recognizer:h,input:h.getInputStream(),ctx:h._ctx});let ts=h._interp.atn.states[h.state].transitions[0];ts instanceof ct?(this.ruleIndex=ts.ruleIndex,this.predicateIndex=ts.predIndex):(this.ruleIndex=0,this.predicateIndex=0),this.predicate=v,this.offendingToken=h.getCurrentToken()}};let ae=class ae extends Error{constructor(){super(),Error.captureStackTrace(this,ae)}};let he=class he extends class{reset(h){}recoverInline(h){}recover(h,v){}sync(h){}inErrorRecoveryMode(h){}reportError(h){}}{constructor(){super(),this.errorRecoveryMode=!1,this.lastErrorIndex=-1,this.lastErrorStates=null,this.nextTokensContext=null,this.nextTokenState=0}reset(h){this.endErrorCondition(h)}beginErrorCondition(h){this.errorRecoveryMode=!0}inErrorRecoveryMode(h){return this.errorRecoveryMode}endErrorCondition(h){this.errorRecoveryMode=!1,this.lastErrorStates=null,this.lastErrorIndex=-1}reportMatch(h){this.endErrorCondition(h)}reportError(h,v){this.inErrorRecoveryMode(h)||(this.beginErrorCondition(h),v instanceof Xt?this.reportNoViableAlternative(h,v):v instanceof re?this.reportInputMismatch(h,v):v instanceof oe?this.reportFailedPredicate(h,v):(console.log("unknown recognition error type: "+v.constructor.name),console.log(v.stack),h.notifyErrorListeners(v.getOffendingToken(),v.getMessage(),v)))}recover(h,v){this.lastErrorIndex===h.getInputStream().index&&null!==this.lastErrorStates&&this.lastErrorStates.indexOf(h.state)>=0&&h.consume(),this.lastErrorIndex=h._input.index,null===this.lastErrorStates&&(this.lastErrorStates=[]),this.lastErrorStates.push(h.state);let P=this.getErrorRecoverySet(h);this.consumeUntil(h,P)}sync(h){if(this.inErrorRecoveryMode(h))return;let v=h._interp.atn.states[h.state],P=h.getTokenStream().LA(1),B=h.atn.nextTokens(v);if(B.contains(P))return this.nextTokensContext=null,void(this.nextTokenState=C.INVALID_STATE_NUMBER);if(B.contains(t.EPSILON))null===this.nextTokensContext&&(this.nextTokensContext=h._ctx,this.nextTokensState=h._stateNumber);else switch(v.stateType){case C.BLOCK_START:case C.STAR_BLOCK_START:case C.PLUS_BLOCK_START:case C.STAR_LOOP_ENTRY:if(null!==this.singleTokenDeletion(h))return;throw new re(h);case C.PLUS_LOOP_BACK:case C.STAR_LOOP_BACK:{this.reportUnwantedToken(h);let v=new x;v.addSet(h.getExpectedTokens());let P=v.addSet(this.getErrorRecoverySet(h));this.consumeUntil(h,P)}}}reportNoViableAlternative(h,v){let P;let B=h.getTokenStream();P=null!==B?v.startToken.type===t.EOF?"<EOF>":B.getText(new T(v.startToken.tokenIndex,v.offendingToken.tokenIndex)):"<unknown input>";let ts="no viable alternative at input "+this.escapeWSAndQuote(P);h.notifyErrorListeners(ts,v.offendingToken,v)}reportInputMismatch(h,v){let P="mismatched input "+this.getTokenErrorDisplay(v.offendingToken)+" expecting "+v.getExpectedTokens().toString(h.literalNames,h.symbolicNames);h.notifyErrorListeners(P,v.offendingToken,v)}reportFailedPredicate(h,v){let P="rule "+h.ruleNames[h._ctx.ruleIndex]+" "+v.message;h.notifyErrorListeners(P,v.offendingToken,v)}reportUnwantedToken(h){if(this.inErrorRecoveryMode(h))return;this.beginErrorCondition(h);let v=h.getCurrentToken(),P="extraneous input "+this.getTokenErrorDisplay(v)+" expecting "+this.getExpectedTokens(h).toString(h.literalNames,h.symbolicNames);h.notifyErrorListeners(P,v,null)}reportMissingToken(h){if(this.inErrorRecoveryMode(h))return;this.beginErrorCondition(h);let v=h.getCurrentToken(),P="missing "+this.getExpectedTokens(h).toString(h.literalNames,h.symbolicNames)+" at "+this.getTokenErrorDisplay(v);h.notifyErrorListeners(P,v,null)}recoverInline(h){let v=this.singleTokenDeletion(h);if(null!==v)return h.consume(),v;if(this.singleTokenInsertion(h))return this.getMissingSymbol(h);throw new re(h)}singleTokenInsertion(h){let v=h.getTokenStream().LA(1),P=h._interp.atn,B=P.states[h.state].transitions[0].target;return!!P.nextTokens(B,h._ctx).contains(v)&&(this.reportMissingToken(h),!0)}singleTokenDeletion(h){let v=h.getTokenStream().LA(2);if(this.getExpectedTokens(h).contains(v)){this.reportUnwantedToken(h),h.consume();let v=h.getCurrentToken();return this.reportMatch(h),v}return null}getMissingSymbol(h){let v;let P=h.getCurrentToken(),B=this.getExpectedTokens(h).first();v=B===t.EOF?"<missing EOF>":"<missing "+h.literalNames[B]+">";let ts=P,ti=h.getTokenStream().LT(-1);return ts.type===t.EOF&&null!==ti&&(ts=ti),h.getTokenFactory().create(ts.source,B,v,t.DEFAULT_CHANNEL,-1,-1,ts.line,ts.column)}getExpectedTokens(h){return h.getExpectedTokens()}getTokenErrorDisplay(h){if(null===h)return"<no token>";let v=h.text;return null===v&&(v=h.type===t.EOF?"<EOF>":"<"+h.type+">"),this.escapeWSAndQuote(v)}escapeWSAndQuote(h){return"'"+(h=(h=(h=h.replace(/\n/g,"\\n")).replace(/\r/g,"\\r")).replace(/\t/g,"\\t"))+"'"}getErrorRecoverySet(h){let v=h._interp.atn,P=h._ctx,B=new x;for(;null!==P&&P.invokingState>=0;){let h=v.states[P.invokingState].transitions[0],ts=v.nextTokens(h.followState);B.addSet(ts),P=P.parentCtx}return B.removeOne(t.EPSILON),B}consumeUntil(h,v){let P=h.getTokenStream().LA(1);for(;P!==t.EOF&&!v.contains(P);)h.consume(),P=h.getTokenStream().LA(1)}};n(654);let ge=class ge extends ne{constructor(h){super(),this.parser=h}enterEveryRule(h){console.log("enter "+this.parser.ruleNames[h.ruleIndex]+", LT(1)="+this.parser._input.LT(1).text)}visitTerminal(h){console.log("consume "+h.symbol+" rule "+this.parser.ruleNames[this.parser._
1ctx.ruleIndex])}exitEveryRule(h){console.log("exit "+this.parser.ruleNames[h.ruleIndex]+", LT(1)="+this.parser._input.LT(1).text)}};let fe=class fe extends yt{constructor(h){super(),this._input=null,this._errHandler=new he,this._precedenceStack=[],this._precedenceStack.push(0),this._ctx=null,this.buildParseTrees=!0,this._tracer=null,this._parseListeners=null,this._syntaxErrors=0,this.setInputStream(h)}reset(){null!==this._input&&this._input.seek(0),this._errHandler.reset(this),this._ctx=null,this._syntaxErrors=0,this.setTrace(!1),this._precedenceStack=[],this._precedenceStack.push(0),null!==this._interp&&this._interp.reset()}match(h){let v=this.getCurrentToken();return v.type===h?(this._errHandler.reportMatch(this),this.consume()):(v=this._errHandler.recoverInline(this),this.buildParseTrees&&-1===v.tokenIndex&&this._ctx.addErrorNode(v)),v}matchWildcard(){let h=this.getCurrentToken();return h.type>0?(this._errHandler.reportMatch(this),this.consume()):(h=this._errHandler.recoverInline(this),this._buildParseTrees&&-1===h.tokenIndex&&this._ctx.addErrorNode(h)),h}getParseListeners(){return this._parseListeners||[]}addParseListener(h){if(null===h)throw"listener";null===this._parseListeners&&(this._parseListeners=[]),this._parseListeners.push(h)}removeParseListener(h){if(null!==this._parseListeners){let v=this._parseListeners.indexOf(h);v>=0&&this._parseListeners.splice(v,1),0===this._parseListeners.length&&(this._parseListeners=null)}}removeParseListeners(){this._parseListeners=null}triggerEnterRuleEvent(){if(null!==this._parseListeners){let h=this._ctx;this._parseListeners.forEach(function(v){v.enterEveryRule(h),h.enterRule(v)})}}triggerExitRuleEvent(){if(null!==this._parseListeners){let h=this._ctx;this._parseListeners.slice(0).reverse().forEach(function(v){h.exitRule(v),v.exitEveryRule(h)})}}getTokenFactory(){return this._input.tokenSource._factory}setTokenFactory(h){this._input.tokenSource._factory=h}getATNWithBypassAlts(){let h=this.getSerializedATN();if(null===h)throw"The current parser does not support an ATN with bypass alternatives.";let v=this.bypassAltsAtnCache[h];if(null===v){let P=new pt;P.generateRuleBypassTransitions=!0,v=new mt(P).deserialize(h),this.bypassAltsAtnCache[h]=v}return v}getInputStream(){return this.getTokenStream()}setInputStream(h){this.setTokenStream(h)}getTokenStream(){return this._input}setTokenStream(h){this._input=null,this.reset(),this._input=h}getCurrentToken(){return this._input.LT(1)}notifyErrorListeners(h,v,P){P=P||null,null===(v=v||null)&&(v=this.getCurrentToken()),this._syntaxErrors+=1;let B=v.line,ts=v.column;this.getErrorListenerDispatch().syntaxError(this,v,B,ts,h,P)}consume(){let h=this.getCurrentToken();h.type!==t.EOF&&this.getInputStream().consume();let v=null!==this._parseListeners&&this._parseListeners.length>0;if(this.buildParseTrees||v){let P;(P=this._errHandler.inErrorRecoveryMode(this)?this._ctx.addErrorNode(h):this._ctx.addTokenNode(h)).invokingState=this.state,v&&this._parseListeners.forEach(function(h){P instanceof k||void 0!==P.isErrorNode&&P.isErrorNode()?h.visitErrorNode(P):P instanceof O&&h.visitTerminal(P)})}return h}addContextToParseTree(){null!==this._ctx.parentCtx&&this._ctx.parentCtx.addChild(this._ctx)}enterRule(h,v,P){this.state=v,this._ctx=h,this._ctx.start=this._input.LT(1),this.buildParseTrees&&this.addContextToParseTree(),this.triggerEnterRuleEvent()}exitRule(){this._ctx.stop=this._input.LT(-1),this.triggerExitRuleEvent(),this.state=this._ctx.invokingState,this._ctx=this._ctx.parentCtx}enterOuterAlt(h,v){h.setAltNumber(v),this.buildParseTrees&&this._ctx!==h&&null!==this._ctx.parentCtx&&(this._ctx.parentCtx.removeLastChild(),this._ctx.parentCtx.addChild(h)),this._ctx=h}getPrecedence(){return 0===this._precedenceStack.length?-1:this._precedenceStack[this._precedenceStack.length-1]}enterRecursionRule(h,v,P,B){this.state=v,this._precedenceStack.push(B),this._ctx=h,this._ctx.start=this._input.LT(1),this.triggerEnterRuleEvent()}pushNewRecursionContext(h,v,P){let B=this._ctx;B.parentCtx=h,B.invokingState=v,B.stop=this._input.LT(-1),this._ctx=h,this._ctx.start=B.start,this.buildParseTrees&&this._ctx.addChild(B),this.triggerEnterRuleEvent()}unrollRecursionContexts(h){this._precedenceStack.pop(),this._ctx.stop=this._input.LT(-1);let v=this._ctx,P=this.getParseListeners();if(null!==P&&P.length>0)for(;this._ctx!==h;)this.triggerExitRuleEvent(),this._ctx=this._ctx.parentCtx;else this._ctx=h;v.parentCtx=h,this.buildParseTrees&&null!==h&&h.addChild(v)}getInvokingContext(h){let v=this._ctx;for(;null!==v;){if(v.ruleIndex===h)return v;v=v.parentCtx}return null}precpred(h,v){return v>=this._precedenceStack[this._precedenceStack.length-1]}inContext(h){return!1}isExpectedToken(h){let v=this._interp.atn,P=this._ctx,B=v.states[this.state],ts=v.nextTokens(B);if(ts.contains(h))return!0;
1if(!ts.contains(t.EPSILON))return!1;for(;null!==P&&P.invokingState>=0&&ts.contains(t.EPSILON);){let B=v.states[P.invokingState].transitions[0];if((ts=v.nextTokens(B.followState)).contains(h))return!0;P=P.parentCtx}return!(!ts.contains(t.EPSILON)||h!==t.EOF)}getExpectedTokens(){return this._interp.atn.getExpectedTokens(this.state,this._ctx)}getExpectedTokensWithinCurrentRule(){let h=this._interp.atn,v=h.states[this.state];return h.nextTokens(v)}getRuleIndex(h){let v=this.getRuleIndexMap()[h];return null!==v?v:-1}getRuleInvocationStack(h){null===(h=h||null)&&(h=this._ctx);let v=[];for(;null!==h;){let P=h.ruleIndex;P<0?v.push("n/a"):v.push(this.ruleNames[P]),h=h.parentCtx}return v}getDFAStrings(){return this._interp.decisionToDFA.toString()}dumpDFA(){let h=!1;for(let v=0;v<this._interp.decisionToDFA.length;v++){let P=this._interp.decisionToDFA[v];P.states.length>0&&(h&&console.log(),this.printer.println("Decision "+P.decision+":"),this.printer.print(P.toString(this.literalNames,this.symbolicNames)),h=!0)}}getSourceName(){return this._input.sourceName}setTrace(h){h?(null!==this._tracer&&this.removeParseListener(this._tracer),this._tracer=new ge(this),this.addParseListener(this._tracer)):(this.removeParseListener(this._tracer),this._tracer=null)}};fe.bypassAltsAtnCache={};let Ee=class Ee extends O{constructor(h){super(),this.parentCtx=null,this.symbol=h}getChild(h){return null}getSymbol(){return this.symbol}getParent(){return this.parentCtx}getPayload(){return this.symbol}getSourceInterval(){if(null===this.symbol)return T.INVALID_INTERVAL;let h=this.symbol.tokenIndex;return new T(h,h)}getChildCount(){return 0}accept(h){return h.visitTerminal(this)}getText(){return this.symbol.text}toString(){return this.symbol.type===t.EOF?"<EOF>":this.symbol.text}};let Te=class Te extends Ee{constructor(h){super(h)}isErrorNode(){return!0}accept(h){return h.visitErrorNode(this)}};let xe=class xe extends D{constructor(h,v){super(h=h||null,v=v||null),this.ruleIndex=-1,this.children=null,this.start=null,this.stop=null,this.exception=null}copyFrom(h){this.parentCtx=h.parentCtx,this.invokingState=h.invokingState,this.children=null,this.start=h.start,this.stop=h.stop,h.children&&(this.children=[],h.children.map(function(h){h instanceof Te&&(this.children.push(h),h.parentCtx=this)},this))}enterRule(h){}exitRule(h){}addChild(h){return null===this.children&&(this.children=[]),this.children.push(h),h}removeLastChild(){null!==this.children&&this.children.pop()}addTokenNode(h){let v=new Ee(h);return this.addChild(v),v.parentCtx=this,v}addErrorNode(h){let v=new Te(h);return this.addChild(v),v.parentCtx=this,v}getChild(h,v){if(v=v||null,null===this.children||h<0||h>=this.children.length)return null;if(null===v)return this.children[h];for(let P=0;P<this.children.length;P++){let B=this.children[P];if(B instanceof v){if(0===h)return B;h-=1}}return null}getToken(h,v){if(null===this.children||v<0||v>=this.children.length)return null;for(let P=0;P<this.children.length;P++){let B=this.children[P];if(B instanceof O&&B.symbol.type===h){if(0===v)return B;v-=1}}return null}getTokens(h){if(null===this.children)return[];{let v=[];for(let P=0;P<this.children.length;P++){let B=this.children[P];B instanceof O&&B.symbol.type===h&&v.push(B)}return v}}getTypedRuleContext(h,v){return this.getChild(v,h)}getTypedRuleContexts(h){if(null===this.children)return[];{let v=[];for(let P=0;P<this.children.length;P++){let B=this.children[P];B instanceof h&&v.push(B)}return v}}getChildCount(){return null===this.children?0:this.children.length}getSourceInterval(){return null===this.start||null===this.stop?T.INVALID_INTERVAL:new T(this.start.tokenIndex,this.stop.tokenIndex)}};D.EMPTY=new xe;let P={atn:{ATN:z,ATNDeserializer:mt,LexerATNSimulator:zt,ParserATNSimulator:class extends Bt{constructor(h,P,B,ts){super(P,ts),this.parser=h,this.decisionToDFA=B,this.predictionMode=v.LL,this._input=null,this._startIndex=0,this._outerContext=null,this._dfa=null,this.mergeCache=null,this.debug=!1,this.debug_closure=!1,this.debug_add=!1,this.debug_list_atn_decisions=!1,this.dfa_debug=!1,this.retry_debug=!1}reset(){}
1adaptivePredict(h,v,P){(this.debug||this.debug_list_atn_decisions)&&console.log("adaptivePredict decision "+v+" exec LA(1)=="+this.getLookaheadName(h)+" line "+h.LT(1).line+":"+h.LT(1).column),this._input=h,this._startIndex=h.index,this._outerContext=P;let B=this.decisionToDFA[v];this._dfa=B;let ts=h.mark(),ti=h.index;try{let v;if(v=B.precedenceDfa?B.getPrecedenceStartState(this.parser.getPrecedence()):B.s0,null===v){null===P&&(P=D.EMPTY),(this.debug||this.debug_list_atn_decisions)&&console.log("predictATN decision "+B.decision+" exec LA(1)=="+this.getLookaheadName(h)+", outerContext="+P.toString(this.parser.ruleNames));let ts=this.computeStartState(B.atnStartState,D.EMPTY,!1);B.precedenceDfa?(B.s0.configs=ts,ts=this.applyPrecedenceFilter(ts),v=this.addDFAState(B,new Ft(null,ts)),B.setPrecedenceStartState(this.parser.getPrecedence(),v)):(v=this.addDFAState(B,new Ft(null,ts)),B.s0=v)}let ts=this.execATN(B,v,h,ti,P);return this.debug&&console.log("DFA after predictATN: "+B.toString(this.parser.literalNames,this.parser.symbolicNames)),ts}finally{this._dfa=null,this.mergeCache=null,h.seek(ti),h.release(ts)}}execATN(h,P,B,ts,ti){let tr;(this.debug||this.debug_list_atn_decisions)&&console.log("execATN decision "+h.decision+" exec LA(1)=="+this.getLookaheadName(B)+" line "+B.LT(1).line+":"+B.LT(1).column);let tl=P;this.debug&&console.log("s0 = "+P);let to=B.LA(1);for(;;){let P=this.getExistingTargetState(tl,to);if(null===P&&(P=this.computeTargetState(h,tl,to)),P===Bt.ERROR){let h=this.noViableAlt(B,ti,tl.configs,ts);if(B.seek(ts),(tr=this.getSynValidOrSemInvalidAltThatFinishedDecisionEntryRule(tl.configs,ti))!==z.INVALID_ALT_NUMBER)return tr;throw h}if(P.requiresFullContext&&this.predictionMode!==v.SLL){let v=null;if(null!==P.predicates){this.debug&&console.log("DFA state has preds in DFA sim LL failover");let h=B.index;if(h!==ts&&B.seek(ts),1===(v=this.evalSemanticContext(P.predicates,ti,!0)).length)return this.debug&&console.log("Full LL avoided"),v.minValue();h!==ts&&B.seek(h)}this.dfa_debug&&console.log("ctx sensitive state "+ti+" in "+P);let tl=this.computeStartState(h.atnStartState,ti,!0);return this.reportAttemptingFullContext(h,v,P.configs,ts,B.index),tr=this.execATNWithFullContext(h,P,tl,B,ts,ti)}if(P.isAcceptState){if(null===P.predicates)return P.prediction;let v=B.index;B.seek(ts);let tr=this.evalSemanticContext(P.predicates,ti,!0);if(0===tr.length)throw this.noViableAlt(B,ti,P.configs,ts);return 1===tr.length||this.reportAmbiguity(h,P,ts,v,!1,tr,P.configs),tr.minValue()}tl=P,to!==t.EOF&&(B.consume(),to=B.LA(1))}}getExistingTargetState(h,v){let P=h.edges;return null===P?null:P[v+1]||null}computeTargetState(h,P,B){let ts=this.computeReachSet(P.configs,B,!1);if(null===ts)return this.addDFAEdge(h,P,B,Bt.ERROR),Bt.ERROR;let ti=new Ft(null,ts),tr=this.getUniqueAlt(ts);if(this.debug){let h=v.getConflictingAltSubsets(ts);console.log("SLL altSubSets="+a(h)+", configs="+ts+", predict="+tr+", allSubsetsConflict="+v.allSubsetsConflict(h)+", conflictingAlts="+this.getConflictingAlts(ts))}return tr!==z.INVALID_ALT_NUMBER?(ti.isAcceptState=!0,ti.configs.uniqueAlt=tr,ti.prediction=tr):v.hasSLLConflictTerminatingPrediction(this.predictionMode,ts)&&(ti.configs.conflictingAlts=this.getConflictingAlts(ts),ti.requiresFullContext=!0,ti.isAcceptState=!0,ti.prediction=ti.configs.conflictingAlts.minValue()),ti.isAcceptState&&ti.configs.hasSemanticContext&&(this.predicateDFAState(ti,this.atn.getDecisionState(h.decision)),null!==ti.predicates&&(ti.prediction=z.INVALID_ALT_NUMBER)),ti=this.addDFAEdge(h,P,B,ti)}predicateDFAState(h,v){let P=v.transitions.length,B=this.getConflictingAltsOrUniqueAlt(h.configs),ts=this.getPredsForAmbigAlts(B,h.configs,P);null!==ts?(h.predicates=this.getPredicatePredictions(B,ts),h.prediction=z.INVALID_ALT_NUMBER):h.prediction=B.minValue()}execATNWithFullContext(h,P,B,ts,ti,tr){(this.debug||this.debug_list_atn_decisions)&&console.log("execATNWithFullContext "+B);let tl,to=!1,ta=B;ts.seek(ti);let th=ts.LA(1),tu=-1;for(;;){if(null===(tl=this.computeReachSet(ta,th,!0))){let h=this.noViableAlt(ts,tr,ta,ti);ts.seek(ti);let v=this.getSynValidOrSemInvalidAltThatFinishedDecisionEntryRule(ta,tr);if(v!==z.INVALID_ALT_NUMBER)return v;throw h}let h=v.getConflictingAltSubsets(tl);if(this.debug&&console.log("LL altSubSets="+h+", predict="+v.getUniqueAlt(h)+", resolvesToJustOneViableAlt="+v.resolvesToJustOneViableAlt(h)),tl.uniqueAlt=this.getUniqueAlt(tl),tl.uniqueAlt!==z.INVALID_ALT_NUMBER){tu=tl.uniqueAlt;break}if(this.predictionMode!==v.LL_EXACT_AMBIG_DETECTION){if((tu=v.resolvesToJustOneViableAlt(h))!==z.INVALID_ALT_NUMBER)break}else if(v.allSubsetsConflict(h)&&v.allSubsetsEqual(h)){to=!0,tu=v.getSingleViableAlt(h);break}
1ta=tl,th!==t.EOF&&(ts.consume(),th=ts.LA(1))}return tl.uniqueAlt!==z.INVALID_ALT_NUMBER?this.reportContextSensitivity(h,tu,tl,ti,ts.index):this.reportAmbiguity(h,P,ti,ts.index,to,null,tl),tu}computeReachSet(h,P,B){this.debug&&console.log("in computeReachSet, starting closure: "+h),null===this.mergeCache&&(this.mergeCache=new Jt);let ts=new Mt(B),ti=null;for(let v=0;v<h.items.length;v++){let tr=h.items[v];if(this.debug&&console.log("testing "+this.getTokenName(P)+" at "+tr),tr.state instanceof S)(B||P===t.EOF)&&(null===ti&&(ti=[]),ti.push(tr),this.debug_add&&console.log("added "+tr+" to skippedStopStates"));else for(let h=0;h<tr.state.transitions.length;h++){let v=tr.state.transitions[h],B=this.getReachableTarget(v,P);if(null!==B){let h=new E({state:B},tr);ts.add(h,this.mergeCache),this.debug_add&&console.log("added "+h+" to intermediate")}}}let tr=null;if(null===ti&&P!==t.EOF&&(1===ts.items.length||this.getUniqueAlt(ts)!==z.INVALID_ALT_NUMBER)&&(tr=ts),null===tr){tr=new Mt(B);let h=new c,v=P===t.EOF;for(let P=0;P<ts.items.length;P++)this.closure(ts.items[P],tr,h,!1,B,v)}if(P===t.EOF&&(tr=this.removeAllConfigsNotInRuleStopState(tr,tr===ts)),!(null===ti||B&&v.hasConfigInRuleStopState(tr)))for(let h=0;h<ti.length;h++)tr.add(ti[h],this.mergeCache);return 0===tr.items.length?null:tr}removeAllConfigsNotInRuleStopState(h,P){if(v.allConfigsInRuleStopStates(h))return h;let B=new Mt(h.fullCtx);for(let v=0;v<h.items.length;v++){let ts=h.items[v];if(ts.state instanceof S)B.add(ts,this.mergeCache);else if(P&&ts.state.epsilonOnlyTransitions&&this.atn.nextTokens(ts.state).contains(t.EPSILON)){let h=this.atn.ruleToStopState[ts.state.ruleIndex];B.add(new E({state:h},ts),this.mergeCache)}}return B}computeStartState(h,v,P){let B=H(this.atn,v),ts=new Mt(P);for(let v=0;v<h.transitions.length;v++){let ti=h.transitions[v].target,tr=new E({state:ti,alt:v+1,context:B},null),tl=new c;this.closure(tr,ts,tl,!0,P,!1)}return ts}applyPrecedenceFilter(h){let v;let P=[],B=new Mt(h.fullCtx);for(let ts=0;ts<h.items.length;ts++){if(1!==(v=h.items[ts]).alt)continue;let ti=v.semanticContext.evalPrecedence(this.parser,this._outerContext);null!==ti&&(P[v.state.stateNumber]=v.context,ti!==v.semanticContext?B.add(new E({semanticContext:ti},v),this.mergeCache):B.add(v,this.mergeCache))}for(let ts=0;ts<h.items.length;ts++)if(1!==(v=h.items[ts]).alt){if(!v.precedenceFilterSuppressed){let h=P[v.state.stateNumber]||null;if(null!==h&&h.equals(v.context))continue}B.add(v,this.mergeCache)}return B}getReachableTarget(h,v){return h.matches(v,0,this.atn.maxTokenType)?h.target:null}getPredsForAmbigAlts(h,v,P){let B=[];for(let P=0;P<v.items.length;P++){let ts=v.items[P];h.has(ts.alt)&&(B[ts.alt]=u.orContext(B[ts.alt]||null,ts.semanticContext))}let ts=0;for(let h=1;h<P+1;h++){let v=B[h]||null;null===v?B[h]=u.NONE:v!==u.NONE&&(ts+=1)}return 0===ts&&(B=null),this.debug&&console.log("getPredsForAmbigAlts result "+a(B)),B}getPredicatePredictions(h,v){let P=[],B=!1;for(let ts=1;ts<v.length;ts++){let ti=v[ts];null!==h&&h.has(ts)&&P.push(new Yt(ti,ts)),ti!==u.NONE&&(B=!0)}return B?P:null}getSynValidOrSemInvalidAltThatFinishedDecisionEntryRule(h,v){let P=this.splitAccordingToSemanticValidity(h,v),B=P[0],ts=P[1],ti=this.getAltThatFinishedDecisionEntryRule(B);return ti!==z.INVALID_ALT_NUMBER||ts.items.length>0&&(ti=this.getAltThatFinishedDecisionEntryRule(ts))!==z.INVALID_ALT_NUMBER?ti:z.INVALID_ALT_NUMBER}getAltThatFinishedDecisionEntryRule(h){let v=[];for(let P=0;P<h.items.length;P++){let B=h.items[P];(B.reachesIntoOuterContext>0||B.state instanceof S&&B.context.hasEmptyPath())&&0>v.indexOf(B.alt)&&v.push(B.alt)}return 0===v.length?z.INVALID_ALT_NUMBER:Math.min.apply(null,v)}splitAccordingToSemanticValidity(h,v){let P=new Mt(h.fullCtx),B=new Mt(h.fullCtx);for(let ts=0;ts<h.items.length;ts++){let ti=h.items[ts];ti.semanticContext!==u.NONE?ti.semanticContext.evaluate(this.parser,v)?P.add(ti):B.add(ti):P.add(ti)}return[P,B]}evalSemanticContext(h,v,P){let B=new G;for(let ts=0;ts<h.length;ts++){let ti=h[ts];if(ti.pred===u.NONE){if(B.add(ti.alt),!P)break;continue}let tr=ti.pred.evaluate(this.parser,v);if((this.debug||this.dfa_debug)&&console.log("eval pred "+ti+"="+tr),tr&&((this.debug||this.dfa_debug)&&console.log("PREDICT "+ti.alt),B.add(ti.alt),!P))break}return B}closure(h,v,P,B,ts,ti){this.closureCheckingStopState(h,v,P,B,ts,0,ti)}closureCheckingStopState(h,v,P,B,ts,ti,tr){if((this.debug||this.debug_closure)&&(console.log("closure("+h.toString(this.parser,!0)+")"),h.reachesIntoOuterContext>50))throw"problem";
1if(h.state instanceof S){if(!h.context.isEmpty()){for(let tl=0;tl<h.context.length;tl++){if(h.context.getReturnState(tl)===w.EMPTY_RETURN_STATE){if(ts){v.add(new E({state:h.state,context:w.EMPTY},h),this.mergeCache);continue}this.debug&&console.log("FALLING off rule "+this.getRuleName(h.state.ruleIndex)),this.closure_(h,v,P,B,ts,ti,tr);continue}let to=this.atn.states[h.context.getReturnState(tl)],ta=h.context.getParent(tl),th={state:to,alt:h.alt,context:ta,semanticContext:h.semanticContext},tu=new E(th,null);tu.reachesIntoOuterContext=h.reachesIntoOuterContext,this.closureCheckingStopState(tu,v,P,B,ts,ti-1,tr)}return}if(ts)return void v.add(h,this.mergeCache);this.debug&&console.log("FALLING off rule "+this.getRuleName(h.state.ruleIndex))}this.closure_(h,v,P,B,ts,ti,tr)}closure_(h,v,P,B,ts,ti,tr){let tl=h.state;tl.epsilonOnlyTransitions||v.add(h,this.mergeCache);for(let to=0;to<tl.transitions.length;to++){if(0===to&&this.canDropLoopEntryEdgeInLeftRecursiveRule(h))continue;let ta=tl.transitions[to],th=B&&!(ta instanceof lt),tu=this.getEpsilonTarget(h,ta,th,0===ti,ts,tr);if(null!==tu){let B=ti;if(h.state instanceof S){if(null!==this._dfa&&this._dfa.precedenceDfa&&ta.outermostPrecedenceReturn===this._dfa.atnStartState.ruleIndex&&(tu.precedenceFilterSuppressed=!0),tu.reachesIntoOuterContext+=1,P.add(tu)!==tu)continue;v.dipsIntoOuterContext=!0,B-=1,this.debug&&console.log("dips into outer ctx: "+tu)}else{if(!ta.isEpsilon&&P.add(tu)!==tu)continue;ta instanceof I&&B>=0&&(B+=1)}this.closureCheckingStopState(tu,v,P,th,ts,B,tr)}}}canDropLoopEntryEdgeInLeftRecursiveRule(h){let v=h.state;if(v.stateType!==C.STAR_LOOP_ENTRY||v.stateType!==C.STAR_LOOP_ENTRY||!v.isPrecedenceDecision||h.context.isEmpty()||h.context.hasEmptyPath())return!1;let P=h.context.length;for(let B=0;B<P;B++)if(this.atn.states[h.context.getReturnState(B)].ruleIndex!==v.ruleIndex)return!1;let B=v.transitions[0].target.endState.stateNumber,ts=this.atn.states[B];for(let B=0;B<P;B++){let P=h.context.getReturnState(B),ti=this.atn.states[P];if(1!==ti.transitions.length||!ti.transitions[0].isEpsilon)return!1;let tr=ti.transitions[0].target;if(!(ti.stateType===C.BLOCK_END&&tr===v||ti===ts||tr===ts||tr.stateType===C.BLOCK_END&&1===tr.transitions.length&&tr.transitions[0].isEpsilon&&tr.transitions[0].target===v))return!1}return!0}getRuleName(h){return null!==this.parser&&h>=0?this.parser.ruleNames[h]:"<rule "+h+">"}getEpsilonTarget(h,v,P,B,ts,ti){switch(v.serializationType){case A.RULE:return this.ruleTransition(h,v);case A.PRECEDENCE:return this.precedenceTransition(h,v,P,B,ts);case A.PREDICATE:return this.predTransition(h,v,P,B,ts);case A.ACTION:return this.actionTransition(h,v);case A.EPSILON:return new E({state:v.target},h);case A.ATOM:case A.RANGE:case A.SET:return ti&&v.matches(t.EOF,0,1)?new E({state:v.target},h):null;default:return null}}actionTransition(h,v){if(this.debug){let h=-1===v.actionIndex?65535:v.actionIndex;console.log("ACTION edge "+v.ruleIndex+":"+h)}return new E({state:v.target},h)}precedenceTransition(h,v,P,B,ts){this.debug&&(console.log("PRED (collectPredicates="+P+") "+v.precedence+">=_p, ctx dependent=true"),null!==this.parser&&console.log("context surrounding pred is "+a(this.parser.getRuleInvocationStack())));let ti=null;if(P&&B){if(ts){let P=this._input.index;this._input.seek(this._startIndex);let B=v.getPredicate().evaluate(this.parser,this._outerContext);this._input.seek(P),B&&(ti=new E({state:v.target},h))}else{let P=u.andContext(h.semanticContext,v.getPredicate());ti=new E({state:v.target,semanticContext:P},h)}}else ti=new E({state:v.target},h);return this.debug&&console.log("config from pred transition="+ti),ti}predTransition(h,v,P,B,ts){this.debug&&(console.log("PRED (collectPredicates="+P+") "+v.ruleIndex+":"+v.predIndex+", ctx dependent="+v.isCtxDependent),null!==this.parser&&console.log("context surrounding pred is "+a(this.parser.getRuleInvocationStack())));let ti=null;if(P&&(v.isCtxDependent&&B||!v.isCtxDependent)){if(ts){let P=this._input.index;this._input.seek(this._startIndex);let B=v.getPredicate().evaluate(this.parser,this._outerContext);this._input.seek(P),B&&(ti=new E({state:v.target},h))}else{let P=u.andContext(h.semanticContext,v.getPredicate());ti=new E({state:v.target,semanticContext:P},h)}}else ti=new E({state:v.target},h);return this.debug&&console.log("config from pred transition="+ti),ti}ruleTransition(h,v){this.debug&&console.log("CALL rule "+this.getRuleName(v.target.ruleIndex)+", ctx="+h.context);let P=v.followState,B=M.create(h.context,P.stateNumber);return new E({state:v.target,context:B},h)}getConflictingAlts(h){let P=v.getConflictingAltSubsets(h);return v.getAlts(P)}getConflictingAltsOrUniqueAlt(h){let v=null;return h.uniqueAlt!==z.INVALID_ALT_NUMBER?(v=new G).add(h.uniqueAlt):v=h.conflictingAlts,v}getTokenName(h){if(h===t.EOF)return"EOF";
1if(null!==this.parser&&null!==this.parser.literalNames){if(!(h>=this.parser.literalNames.length&&h>=this.parser.symbolicNames.length))return(this.parser.literalNames[h]||this.parser.symbolicNames[h])+"<"+h+">";console.log(h+" ttype out of range: "+this.parser.literalNames),console.log(""+this.parser.getInputStream().getTokens())}return""+h}getLookaheadName(h){return this.getTokenName(h.LA(1))}dumpDeadEndConfigs(h){console.log("dead end configs: ");let v=h.getDeadEndConfigs();for(let h=0;h<v.length;h++){let P=v[h],B="no edges";if(P.state.transitions.length>0){let h=P.state.transitions[0];h instanceof rt?B="Atom "+this.getTokenName(h.label):h instanceof R&&(B=(h instanceof m?"~":"")+"Set "+h.set)}console.error(P.toString(this.parser,!0)+":"+B)}}noViableAlt(h,v,P,B){return new Xt(this.parser,h,h.get(B),h.LT(1),P,v)}getUniqueAlt(h){let v=z.INVALID_ALT_NUMBER;for(let P=0;P<h.items.length;P++){let B=h.items[P];if(v===z.INVALID_ALT_NUMBER)v=B.alt;else if(B.alt!==v)return z.INVALID_ALT_NUMBER}return v}addDFAEdge(h,v,P,B){if(this.debug&&console.log("EDGE "+v+" -> "+B+" upon "+this.getTokenName(P)),null===B)return null;if(B=this.addDFAState(h,B),null===v||P<-1||P>this.atn.maxTokenType)return B;if(null===v.edges&&(v.edges=[]),v.edges[P+1]=B,this.debug){let v=null===this.parser?null:this.parser.literalNames,P=null===this.parser?null:this.parser.symbolicNames;console.log("DFA=\n"+h.toString(v,P))}return B}addDFAState(h,v){if(v===Bt.ERROR)return v;let P=h.states.get(v);return null!==P?P:(v.stateNumber=h.states.length,v.configs.readOnly||(v.configs.optimizeConfigs(this),v.configs.setReadonly(!0)),h.states.add(v),this.debug&&console.log("adding new DFA state: "+v),v)}reportAttemptingFullContext(h,v,P,B,ts){if(this.debug||this.retry_debug){let v=new T(B,ts+1);console.log("reportAttemptingFullContext decision="+h.decision+":"+P+", input="+this.parser.getTokenStream().getText(v))}null!==this.parser&&this.parser.getErrorListenerDispatch().reportAttemptingFullContext(this.parser,h,B,ts,v,P)}reportContextSensitivity(h,v,P,B,ts){if(this.debug||this.retry_debug){let v=new T(B,ts+1);console.log("reportContextSensitivity decision="+h.decision+":"+P+", input="+this.parser.getTokenStream().getText(v))}null!==this.parser&&this.parser.getErrorListenerDispatch().reportContextSensitivity(this.parser,h,B,ts,v,P)}reportAmbiguity(h,v,P,B,ts,ti,tr){if(this.debug||this.retry_debug){let h=new T(P,B+1);console.log("reportAmbiguity "+ti+":"+tr+", input="+this.parser.getTokenStream().getText(h))}null!==this.parser&&this.parser.getErrorListenerDispatch().reportAmbiguity(this.parser,h,P,B,ts,ti,tr)}},PredictionMode:v},dfa:{DFA:class{constructor(h,v){if(void 0===v&&(v=0),this.atnStartState=h,this.decision=v,this._states=new c,this.s0=null,this.precedenceDfa=!1,h instanceof et&&h.isPrecedenceDecision){this.precedenceDfa=!0;let h=new Ft(null,new Mt);h.edges=[],h.isAcceptState=!1,h.requiresFullContext=!1,this.s0=h}}getPrecedenceStartState(h){if(!this.precedenceDfa)throw"Only precedence DFAs may contain a precedence start state.";return h<0||h>=this.s0.edges.length?null:this.s0.edges[h]||null}setPrecedenceStartState(h,v){if(!this.precedenceDfa)throw"Only precedence DFAs may contain a precedence start state.";h<0||(this.s0.edges[h]=v)}setPrecedenceDfa(h){if(this.precedenceDfa!==h){if(this._states=new c,h){let h=new Ft(null,new Mt);h.edges=[],h.isAcceptState=!1,h.requiresFullContext=!1,this.s0=h}else this.s0=null;this.precedenceDfa=h}}sortedStates(){return this._states.values().sort(function(h,v){return h.stateNumber-v.stateNumber})}toString(h,v){return h=h||null,v=v||null,null===this.s0?"":new Zt(this,h,v).toString()}toLexerString(){return null===this.s0?"":new te(this).toString()}get states(){return this._states}},DFASerializer:Zt,LexerDFASerializer:te,PredPrediction:Yt},tree:{Trees:h,RuleNode:y,ErrorNode:k,TerminalNode:O,ParseTreeListener:ne,ParseTreeVisitor:class{visit(h){return Array.isArray(h)?h.map(function(h){return h.accept(this)},this):h.accept(this)}visitChildren(h){return h.children?this.visit(h.children):null}visitTerminal(h){}visitErrorNode(h){}},ParseTreeWalker:se},error:{RecognitionException:vt,NoViableAltException:Xt,LexerNoViableAltException:Pt,InputMismatchException:re,FailedPredicateException:oe,DiagnosticErrorListener:class extends _t{constructor(h){super(),h=h||!0,this.exactOnly=h}reportAmbiguity(h,v,P,B,ts,ti,tr){if(this.exactOnly&&!ts)return;let tl="reportAmbiguity d="+this.getDecisionDescription(h,v)+": ambigAlts="+this.getConflictingAlts(ti,tr)+", input='"+h.getTokenStream().getText(new T(P,B))+"'";h.notifyErrorListeners(tl)}reportAttemptingFullContext(h,v,P,B,ts,ti){let tr="reportAttemptingFullContext d="+this.getDecisionDescription(h,v)+", input='"+h.getTokenStream().getText(new T(P,B))+"'";h.notifyErrorListeners(tr)}reportContextSensitivity(h,v,P,B,ts,ti){let tr="reportContextSensitivity d="+this.getDecisionDescription(h,v)+", input='"+h.getTokenStream().getText(new T(P,B))+"'";h.notifyErrorListeners(tr)}getDecisionDescription(h,v){let P=v.decision,B=v.atnStartState.ruleIndex,ts=h.ruleNames;if(B<0||B>=ts.length)return""+P;let ti=ts[B]||null;return null===ti||0===ti.length?""+P:`${P} (${ti})`}getConflictingAlts(h,v){if(null!==h)return h;let P=new G;for(let h=0;h<v.items.length;h++)P.add(v.items[h].alt);return`{${P.values().join(", ")}}`}},BailErrorStrategy:class extends he{constructor(){super()}recover(h,v){let P=h._ctx;for(;null!==P;)P.exception=v,P=P.parentCtx;throw new ae(v)}recoverInline(h){this.recover(h,new re(h))}
1sync(h){}},DefaultErrorStrategy:he,ErrorListener:_t},Token:t,InputStream:class{constructor(h,v){if(this.name="<empty>",this.strdata=h,this.decodeToUnicodeCodePoints=v||!1,this._index=0,this.data=[],this.decodeToUnicodeCodePoints)for(let h=0;h<this.strdata.length;){let v=this.strdata.codePointAt(h);this.data.push(v),h+=v<=65535?1:2}else{this.data=Array(this.strdata.length);for(let h=0;h<this.strdata.length;h++){let v=this.strdata.charCodeAt(h);this.data[h]=v}}this._size=this.data.length}reset(){this._index=0}consume(){if(this._index>=this._size)throw"cannot consume EOF";this._index+=1}LA(h){if(0===h)return 0;h<0&&(h+=1);let v=this._index+h-1;return v<0||v>=this._size?t.EOF:this.data[v]}LT(h){return this.LA(h)}mark(){return -1}release(h){}seek(h){h<=this._index?this._index=h:this._index=Math.min(h,this._size)}getText(h,v){if(v>=this._size&&(v=this._size-1),h>=this._size)return"";if(this.decodeToUnicodeCodePoints){let P="";for(let B=h;B<=v;B++)P+=String.fromCodePoint(this.data[B]);return P}return this.strdata.slice(h,v+1)}toString(){return this.strdata}get index(){return this._index}get size(){return this._size}},CommonTokenStream:class extends class extends class{}{constructor(h){super(),this.tokenSource=h,this.tokens=[],this.index=-1,this.fetchedEOF=!1}mark(){return 0}release(h){}reset(){this.seek(0)}seek(h){this.lazyInit(),this.index=this.adjustSeekIndex(h)}get(h){return this.lazyInit(),this.tokens[h]}consume(){let h=!1;if(h=this.index>=0&&(this.fetchedEOF?this.index<this.tokens.length-1:this.index<this.tokens.length),!h&&this.LA(1)===t.EOF)throw"cannot consume EOF";this.sync(this.index+1)&&(this.index=this.adjustSeekIndex(this.index+1))}sync(h){let v=h-this.tokens.length+1;return!(v>0)||this.fetch(v)>=v}fetch(h){if(this.fetchedEOF)return 0;for(let v=0;v<h;v++){let h=this.tokenSource.nextToken();if(h.tokenIndex=this.tokens.length,this.tokens.push(h),h.type===t.EOF)return this.fetchedEOF=!0,v+1}return h}getTokens(h,v,P){if(void 0===P&&(P=null),h<0||v<0)return null;this.lazyInit();let B=[];v>=this.tokens.length&&(v=this.tokens.length-1);for(let ts=h;ts<v;ts++){let h=this.tokens[ts];if(h.type===t.EOF)break;(null===P||P.contains(h.type))&&B.push(h)}return B}LA(h){return this.LT(h).type}LB(h){return this.index-h<0?null:this.tokens[this.index-h]}LT(h){if(this.lazyInit(),0===h)return null;if(h<0)return this.LB(-h);let v=this.index+h-1;return this.sync(v),v>=this.tokens.length?this.tokens[this.tokens.length-1]:this.tokens[v]}adjustSeekIndex(h){return h}lazyInit(){-1===this.index&&this.setup()}setup(){this.sync(0),this.index=this.adjustSeekIndex(0)}setTokenSource(h){this.tokenSource=h,this.tokens=[],this.index=-1,this.fetchedEOF=!1}nextTokenOnChannel(h,v){if(this.sync(h),h>=this.tokens.length)return -1;let P=this.tokens[h];for(;P.channel!==this.channel;){if(P.type===t.EOF)return -1;h+=1,this.sync(h),P=this.tokens[h]}return h}previousTokenOnChannel(h,v){for(;h>=0&&this.tokens[h].channel!==v;)h-=1;return h}getHiddenTokensToRight(h,v){if(void 0===v&&(v=-1),this.lazyInit(),h<0||h>=this.tokens.length)throw h+" not in 0.."+this.tokens.length-1;let P=this.nextTokenOnChannel(h+1,Dt.DEFAULT_TOKEN_CHANNEL),B=h+1,ts=-1===P?this.tokens.length-1:P;return this.filterForChannel(B,ts,v)}getHiddenTokensToLeft(h,v){if(void 0===v&&(v=-1),this.lazyInit(),h<0||h>=this.tokens.length)throw h+" not in 0.."+this.tokens.length-1;let P=this.previousTokenOnChannel(h-1,Dt.DEFAULT_TOKEN_CHANNEL);if(P===h-1)return null;let B=P+1,ts=h-1;return this.filterForChannel(B,ts,v)}filterForChannel(h,v,P){let B=[];for(let ts=h;ts<v+1;ts++){let h=this.tokens[ts];-1===P?h.channel!==Dt.DEFAULT_TOKEN_CHANNEL&&B.push(h):h.channel===P&&B.push(h)}return 0===B.length?null:B}getSourceName(){return this.tokenSource.getSourceName()}getText(h){this.lazyInit(),this.fill(),null==h&&(h=new T(0,this.tokens.length-1));let v=h.start;v instanceof t&&(v=v.tokenIndex);let P=h.stop;if(P instanceof t&&(P=P.tokenIndex),null===v||null===P||v<0||P<0)return"";P>=this.tokens.length&&(P=this.tokens.length-1);let B="";for(let h=v;h<P+1;h++){let v=this.tokens[h];if(v.type===t.EOF)break;B+=v.text}return B}fill(){for(this.lazyInit();1e3===this.fetch(1e3););}}{constructor(h,v){super(h),this.channel=void 0===v?t.DEFAULT_CHANNEL:v}adjustSeekIndex(h){return this.nextTokenOnChannel(h,this.channel)}LB(h){if(0===h||this.index-h<0)return null;let v=this.index,P=1;for(;P<=h;)v=this.previousTokenOnChannel(v-1,this.channel),P+=1;
1return v<0?null:this.tokens[v]}LT(h){if(this.lazyInit(),0===h)return null;if(h<0)return this.LB(-h);let v=this.index,P=1;for(;P<h;)this.sync(v+1)&&(v=this.nextTokenOnChannel(v+1,this.channel)),P+=1;return this.tokens[v]}getNumberOfOnChannelTokens(){let h=0;this.fill();for(let v=0;v<this.tokens.length;v++){let P=this.tokens[v];if(P.channel===this.channel&&(h+=1),P.type===t.EOF)break}return h}},Lexer:Dt,Parser:fe,PredictionContextCache:class{constructor(){this.cache=new U}add(h){if(h===w.EMPTY)return w.EMPTY;let v=this.cache.get(h)||null;return null!==v?v:(this.cache.set(h,h),h)}get(h){return this.cache.get(h)||null}get length(){return this.cache.length}},ParserRuleContext:xe};function Ae(h,v,P){return v in h?Object.defineProperty(h,v,{value:P,enumerable:!0,configurable:!0,writable:!0}):h[v]=P,h}let ts=(new P.atn.ATNDeserializer).deserialize([4,0,26,404,6,-1,2,0,7,0,2,1,7,1,2,2,7,2,2,3,7,3,2,4,7,4,2,5,7,5,2,6,7,6,2,7,7,7,2,8,7,8,2,9,7,9,2,10,7,10,2,11,7,11,2,12,7,12,2,13,7,13,2,14,7,14,2,15,7,15,2,16,7,16,2,17,7,17,2,18,7,18,2,19,7,19,2,20,7,20,2,21,7,21,2,22,7,22,2,23,7,23,2,24,7,24,2,25,7,25,2,26,7,26,2,27,7,27,2,28,7,28,2,29,7,29,2,30,7,30,2,31,7,31,2,32,7,32,2,33,7,33,2,34,7,34,2,35,7,35,2,36,7,36,2,37,7,37,2,38,7,38,2,39,7,39,2,40,7,40,2,41,7,41,2,42,7,42,2,43,7,43,2,44,7,44,2,45,7,45,2,46,7,46,2,47,7,47,2,48,7,48,2,49,7,49,2,50,7,50,2,51,7,51,2,52,7,52,2,53,7,53,2,54,7,54,2,55,7,55,2,56,7,56,2,57,7,57,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,4,1,4,1,4,1,4,1,4,1,4,1,4,1,4,1,4,1,4,1,4,1,4,1,4,1,4,1,5,1,5,1,5,1,5,1,5,1,5,1,5,1,5,1,5,1,5,1,5,1,5,1,5,1,5,1,5,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,1,9,1,9,1,9,1,9,1,9,1,9,1,9,1,9,1,9,1,9,1,9,1,10,1,10,1,10,1,10,1,10,1,10,1,11,1,11,1,11,1,11,1,11,1,11,1,11,1,11,1,11,1,11,1,11,1,11,1,12,1,12,1,12,1,12,1,12,1,12,1,12,1,12,1,12,1,12,1,12,1,12,1,12,1,13,1,13,5,13,258,8,13,10,13,12,13,261,9,13,1,14,1,14,1,15,1,15,1,16,1,16,1,17,1,17,1,18,1,18,1,19,1,19,1,20,1,20,1,21,1,21,1,22,1,22,1,22,5,22,282,8,22,10,22,12,22,285,9,22,1,22,1,22,1,22,1,22,1,22,5,22,292,8,22,10,22,12,22,295,9,22,1,22,1,22,3,22,299,8,22,1,23,1,23,3,23,303,8,23,1,23,1,23,1,23,3,23,308,8,23,1,24,1,24,1,24,3,24,313,8,24,1,25,1,25,1,25,1,25,1,25,1,25,1,26,1,26,1,26,5,26,324,8,26,10,26,12,26,327,9,26,3,26,329,8,26,1,27,1,27,1,28,1,28,1,29,1,29,1,30,4,30,338,8,30,11,30,12,30,339,1,30,1,30,1,31,1,31,5,31,346,8,31,10,31,12,31,349,9,31,1,31,1,31,1,32,1,32,1,33,1,33,1,34,1,34,1,35,1,35,1,36,1,36,1,37,1,37,1,38,1,38,1,39,1,39,1,40,1,40,1,41,1,41,1,42,1,42,1,43,1,43,1,44,1,44,1,45,1,45,1,46,1,46,1,47,1,47,1,48,1,48,1,49,1,49,1,50,1,50,1,51,1,51,1,52,1,52,1,53,1,53,1,54,1,54,1,55,1,55,1,56,1,56,1,57,1,57,0,0,58,1,1,3,2,5,3,7,4,9,5,11,6,13,7,15,8,17,9,19,10,21,11,23,12,25,13,27,14,29,15,31,16,33,17,35,18,37,19,39,20,41,21,43,22,45,23,47,24,49,0,51,0,53,0,55,0,57,0,59,0,61,25,63,26,65,0,67,0,69,0,71,0,73,0,75,0,77,0,79,0,81,0,83,0,85,0,87,0,89,0,91,0,93,0,95,0,97,0,99,0,101,0,103,0,105,0,107,0,109,0,111,0,113,0,115,0,1,0,36,3,0,65,90,95,95,97,122,5,0,45,45,48,57,65,90,95,95,97,122,8,0,34,34,47,47,92,92,98,98,102,102,110,110,114,114,116,116,1,0,49,57,1,0,48,57,3,0,48,57,65,70,97,102,3,0,0,31,34,34,92,92,2,0,0,31,92,92,3,0,9,10,12,13,32,32,2,0,10,10,13,13,2,0,65,65,97,97,2,0,66,66,98,98,2,0,67,67,99,99,2,0,68,68,100,100,2,0,69,69,101,101,2,0,70,70,102,102,2,0,71,71,103,103,2,0,72,72,104,104,2,0,73,73,105,105,2,0,74,74,106,106,2,0,75,75,107,107,2,0,76,76,108,108,2,0,77,77,109,109,2,0,78,78,110,110,2,0,79,79,111,111,2,0,80,80,112,112,2,0,81,81,113,113,2,0,82,82,114,114,2,0,83,83,115,115,2,0,84,84,116,116,2,0,85,85,117,117,2,0,86,86,118,118,2,0,87,87,119,119,2,0,88,88,120,120,2,0,89,89,121,121,2,0,90,90,122,122,386,0,1,1,0,0,0,0,3,1,0,0,0,0,5,1,0,0,0,0,7,1,0,0,0,0,9,1,0,0,0,0,11,1,0,0,0,0,13,1,0,0,0,0,15,1,0,0,0,0,17,1,0,0,0,0,19,1,0,0,0,0,21,1,0,0,0,0,23,1,0,0,0,0,25,1,0,0,0,0,27,1,0,0,0,0,29,1,0,0,0,0,31,1,0,0,0,0,33,1,0,0,0,0,35,1,0,0,0,0,37,1,0,0,0,0,39,1,0,0,0,0,41,1,0,0,0,0,43,1,0,0,0,0,45,1,0,0,0,0,47,1,0,0,0,0,61,1,0,0,0,0,63,1,0,0,0,1,117,1,0,0,0,3,126,1,0,0,0,5,132,1,0,0,0,7,141,1,0,0,0,9,149,1,0,0,0,11,163,1,0,0,0,13,178,1,0,0,0,15,191,1,0,0,0,17,199,1,0,0,0,19,213,1,0,0,0,21,224,1,0,0,0,23,230,1,0,0,0,25,242,1,0,0,0,27,255,1,0,0,0,29,262,1,0,0,0,31,264,1,0,0,0,33,266,1,0,0,0,35,268,1,0,0,0,37,270,1,0,0,0,39,272,1,0,0,0,41,274,1,0,0,0,43,276,1,0,0,0,45,298,1,0,0,0,47,302,1,0,0,0,49,309,1,0,0,0,51,314,1,0,0,0,53,328,1,0,0,0,55,330,1,0,0,0,57,332,1,0,0,0,59,334,1,0,0,0,61,337,1,0,0,0,63,343,1,0,0,0,65,352,1,0,0,0,67,354,1,0,0,0,69,356,1,0,0,0,71,358,1,0,0,0,73,360,1,0,0,0,75,362,1,0,0,0,77,364,1,0,0,0,79,366,1,0,0,0,81,368,1,0,0,0,83,370,1,0,0,0,85,372,1,0,0,0,87,374,1,0,0,0,89,376,1,0,0,0,91,378,1,0,0,0,93,380,1,0,0,0,95,382,1,0,0,0,97,384,1,0,0,0,99,386,1,0,0,0,101,388,1,0,0,0,103,390,1,0,0,0,105,392,1,0,0,0,107,394,1,0,0,0,109,396,1,0,0,0,111,398,1,0,0,0,113,400,1,0,0,0,115,402,1,0,0,0,117,118,3,43,21,0,118,119,3,65,32,0,119,120,3,99,49,0,120,12
11,3,103,51,0,121,122,3,81,40,0,122,123,3,69,34,0,123,124,3,87,43,0,124,125,3,73,36,0,125,2,1,0,0,0,126,127,3,43,21,0,127,128,3,67,33,0,128,129,3,93,46,0,129,130,3,93,46,0,130,131,3,85,42,0,131,4,1,0,0,0,132,133,3,43,21,0,133,134,3,67,33,0,134,135,3,93,46,0,135,136,3,93,46,0,136,137,3,85,42,0,137,138,3,87,43,0,138,139,3,73,36,0,139,140,3,103,51,0,140,6,1,0,0,0,141,142,3,43,21,0,142,143,3,81,40,0,143,144,3,91,45,0,144,145,3,67,33,0,145,146,3,93,46,0,146,147,3,93,46,0,147,148,3,85,42,0,148,8,1,0,0,0,149,150,3,43,21,0,150,151,3,81,40,0,151,152,3,91,45,0,152,153,3,69,34,0,153,154,3,93,46,0,154,155,3,87,43,0,155,156,3,87,43,0,156,157,3,73,36,0,157,158,3,69,34,0,158,159,3,103,51,0,159,160,3,81,40,0,160,161,3,93,46,0,161,162,3,91,45,0,162,10,1,0,0,0,163,164,3,43,21,0,164,165,3,81,40,0,165,166,3,91,45,0,166,167,3,95,47,0,167,168,3,99,49,0,168,169,3,93,46,0,169,170,3,69,34,0,170,171,3,73,36,0,171,172,3,73,36,0,172,173,3,71,35,0,173,174,3,81,40,0,174,175,3,91,45,0,175,176,3,77,38,0,176,177,3,101,50,0,177,12,1,0,0,0,178,179,3,43,21,0,179,180,3,95,47,0,180,181,3,99,49,0,181,182,3,93,46,0,182,183,3,69,34,0,183,184,3,73,36,0,184,185,3,73,36,0,185,186,3,71,35,0,186,187,3,81,40,0,187,188,3,91,45,0,188,189,3,77,38,0,189,190,3,101,50,0,190,14,1,0,0,0,191,192,3,43,21,0,192,193,3,89,44,0,193,194,3,65,32,0,194,195,3,91,45,0,195,196,3,105,52,0,196,197,3,65,32,0,197,198,3,87,43,0,198,16,1,0,0,0,199,200,3,43,21,0,200,201,3,89,44,0,201,202,3,65,32,0,202,203,3,101,50,0,203,204,3,103,51,0,204,205,3,73,36,0,205,206,3,99,49,0,206,207,3,103,51,0,207,208,3,79,39,0,208,209,3,73,36,0,209,210,3,101,50,0,210,211,3,81,40,0,211,212,3,101,50,0,212,18,1,0,0,0,213,214,3,43,21,0,214,215,3,95,47,0,215,216,3,79,39,0,216,217,3,71,35,0,217,218,3,103,51,0,218,219,3,79,39,0,219,220,3,73,36,0,220,221,3,101,50,0,221,222,3,81,40,0,222,223,3,101,50,0,223,20,1,0,0,0,224,225,3,43,21,0,225,226,3,89,44,0,226,227,3,81,40,0,227,228,3,101,50,0,228,229,3,69,34,0,229,22,1,0,0,0,230,231,3,43,21,0,231,232,3,103,51,0,232,233,3,73,36,0,233,234,3,69,34,0,234,235,3,79,39,0,235,236,3,99,49,0,236,237,3,73,36,0,237,238,3,95,47,0,238,239,3,93,46,0,239,240,3,99,49,0,240,241,3,103,51,0,241,24,1,0,0,0,242,243,3,43,21,0,243,244,3,105,52,0,244,245,3,91,45,0,245,246,3,95,47,0,246,247,3,105,52,0,247,248,3,67,33,0,248,249,3,87,43,0,249,250,3,81,40,0,250,251,3,101,50,0,251,252,3,79,39,0,252,253,3,73,36,0,253,254,3,71,35,0,254,26,1,0,0,0,255,259,7,0,0,0,256,258,7,1,0,0,257,256,1,0,0,0,258,261,1,0,0,0,259,257,1,0,0,0,259,260,1,0,0,0,260,28,1,0,0,0,261,259,1,0,0,0,262,263,5,61,0,0,263,30,1,0,0,0,264,265,5,44,0,0,265,32,1,0,0,0,266,267,5,34,0,0,267,34,1,0,0,0,268,269,5,40,0,0,269,36,1,0,0,0,270,271,5,41,0,0,271,38,1,0,0,0,272,273,5,123,0,0,273,40,1,0,0,0,274,275,5,125,0,0,275,42,1,0,0,0,276,277,5,64,0,0,277,44,1,0,0,0,278,283,3,39,19,0,279,282,3,49,24,0,280,282,3,59,29,0,281,279,1,0,0,0,281,280,1,0,0,0,282,285,1,0,0,0,283,281,1,0,0,0,283,284,1,0,0,0,284,286,1,0,0,0,285,283,1,0,0,0,286,287,3,41,20,0,287,299,1,0,0,0,288,293,3,33,16,0,289,292,3,49,24,0,290,292,3,57,28,0,291,289,1,0,0,0,291,290,1,0,0,0,292,295,1,0,0,0,293,291,1,0,0,0,293,294,1,0,0,0,294,296,1,0,0,0,295,293,1,0,0,0,296,297,3,33,16,0,297,299,1,0,0,0,298,278,1,0,0,0,298,288,1,0,0,0,299,46,1,0,0,0,300,303,3,39,19,0,301,303,3,33,16,0,302,300,1,0,0,0,302,301,1,0,0,0,302,303,1,0,0,0,303,304,1,0,0,0,304,307,3,53,26,0,305,308,3,41,20,0,306,308,3,33,16,0,307,305,1,0,0,0,307,306,1,0,0,0,307,308,1,0,0,0,308,48,1,0,0,0,309,312,5,92,0,0,310,313,7,2,0,0,311,313,3,51,25,0,312,310,1,0,0,0,312,311,1,0,0,0,313,50,1,0,0,0,314,315,5,117,0,0,315,316,3,55,27,0,316,317,3,55,27,0,317,318,3,55,27,0,318,319,3,55,27,0,319,52,1,0,0,0,320,329,5,48,0,0,321,325,7,3,0,0,322,324,7,4,0,0,323,322,1,0,0,0,324,327,1,0,0,0,325,323,1,0,0,0,325,326,1,0,0,0,326,329,1,0,0,0,327,325,1,0,0,0,328,320,1,0,0,0,328,321,1,0,0,0,329,54,1,0,0,0,330,331,7,5,0,0,331,56,1,0,0,0,332,333,8,6,0,0,333,58,1,0,0,0,334,335,8,7,0,0,335,60,1,0,0,0,336,338,7,8,0,0,337,336,1,0,0,0,338,339,1,0,0,0,339,337,1,0,0,0,339,340,1,0,0,0,340,341,1,0,0,0,341,342,6,30,0,0,342,62,1,0,0,0,343,347,5,37,0,0,344,346,8,9,0,0,345,344,1,0,0,0,346,349,1,0,0,0,347,345,1,0,0,0,347,348,1,0,0,0,348,350,1,0,0,0,349,347,1,0,0,0,350,351,6,31,0,0,351,64,1,0,0,0,352,353,7,10,0,0,353,66,1,0,0,0,354,355,7,11,0,0,355,68,1,0,0,0,356,357,7,12,0,0,357,70,1,0,0,0,358,359,7,13,0,0,359,72,1,0,0,0,360,361,7,14,0,0,361,74,1,0,0,0,362,363,7,15,0,0,363,76,1,0,0,0,364,365,7,16,0,0,365,78,1,0,0,0,366,367,7,17,0,0,367,80,1,0,0,0,368,369,7,
118,0,0,369,82,1,0,0,0,370,371,7,19,0,0,371,84,1,0,0,0,372,373,7,20,0,0,373,86,1,0,0,0,374,375,7,21,0,0,375,88,1,0,0,0,376,377,7,22,0,0,377,90,1,0,0,0,378,379,7,23,0,0,379,92,1,0,0,0,380,381,7,24,0,0,381,94,1,0,0,0,382,383,7,25,0,0,383,96,1,0,0,0,384,385,7,26,0,0,385,98,1,0,0,0,386,387,7,27,0,0,387,100,1,0,0,0,388,389,7,28,0,0,389,102,1,0,0,0,390,391,7,29,0,0,391,104,1,0,0,0,392,393,7,30,0,0,393,106,1,0,0,0,394,395,7,31,0,0,395,108,1,0,0,0,396,397,7,32,0,0,397,110,1,0,0,0,398,399,7,33,0,0,399,112,1,0,0,0,400,401,7,34,0,0,401,114,1,0,0,0,402,403,7,35,0,0,403,116,1,0,0,0,14,0,259,281,283,291,293,298,302,307,312,325,328,339,347,1,6,0,0]),ti=ts.decisionToState.map((h,v)=>new P.dfa.DFA(h,v));let me=class me extends P.Lexer{constructor(h){super(h),this._interp=new P.atn.LexerATNSimulator(this,ts,ti,new P.PredictionContextCache)}get atn(){return ts}};Ae(me,"grammarFileName","BibTeXLexer.g4"),Ae(me,"channelNames",["DEFAULT_TOKEN_CHANNEL","HIDDEN"]),Ae(me,"modeNames",["DEFAULT_MODE"]),Ae(me,"literalNames",[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"'='","','","'\"'","'('","')'","'{'","'}'","'@'"]),Ae(me,"symbolicNames",[null,"ARTICLE","BOOK","BOOKLET","INBOOK","INCOLLECTION","INPROCEEDINGS","PROCEEDINGS","MANUAL","MASTERTHESIS","PHDTHESIS","MISC","TECHREPORT","UNPUBLISHED","IDENTIFIER","EQ","COMMA","DQUOTE","LPAREN","RPAREN","LBRACE","RBRACE","AT","STRING_LITERAL","INTEGER_LITERAL","WS","LINE_COMMENT"]),Ae(me,"ruleNames",["ARTICLE","BOOK","BOOKLET","INBOOK","INCOLLECTION","INPROCEEDINGS","PROCEEDINGS","MANUAL","MASTERTHESIS","PHDTHESIS","MISC","TECHREPORT","UNPUBLISHED","IDENTIFIER","EQ","COMMA","DQUOTE","LPAREN","RPAREN","LBRACE","RBRACE","AT","STRING_LITERAL","INTEGER_LITERAL","ESC","UNICODE","INTEGER","HEX","QUOTE_ENCLOSED_SAFECODEPOINT","BRACE_ENCLOSED_SAFECODEPOINT","WS","LINE_COMMENT","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"]),me.EOF=P.Token.EOF,me.ARTICLE=1,me.BOOK=2,me.BOOKLET=3,me.INBOOK=4,me.INCOLLECTION=5,me.INPROCEEDINGS=6,me.PROCEEDINGS=7,me.MANUAL=8,me.MASTERTHESIS=9,me.PHDTHESIS=10,me.MISC=11,me.TECHREPORT=12,me.UNPUBLISHED=13,me.IDENTIFIER=14,me.EQ=15,me.COMMA=16,me.DQUOTE=17,me.LPAREN=18,me.RPAREN=19,me.LBRACE=20,me.RBRACE=21,me.AT=22,me.STRING_LITERAL=23,me.INTEGER_LITERAL=24,me.WS=25,me.LINE_COMMENT=26;let _e=class _e extends P.tree.ParseTreeListener{enterBibTex(h){}exitBibTex(h){}enterEntry(h){}exitEntry(h){}enterField(h){}exitField(h){}enterKey(h){}exitKey(h){}enterValue(h){}exitValue(h){}enterArticle(h){}exitArticle(h){}enterBook(h){}exitBook(h){}enterBooklet(h){}exitBooklet(h){}enterInbook(h){}exitInbook(h){}enterIncollection(h){}exitIncollection(h){}enterInproceedings(h){}exitInproceedings(h){}enterProceedings(h){}exitProceedings(h){}enterManual(h){}exitManual(h){}enterMastersthesis(h){}exitMastersthesis(h){}enterPhdthesis(h){}exitPhdthesis(h){}enterMisc(h){}exitMisc(h){}enterTechreport(h){}exitTechreport(h){}enterUnpublished(h){}exitUnpublished(h){}};let Ne=class Ne extends P.tree.ParseTreeVisitor{visitBibTex(h){return this.visitChildren(h)}visitEntry(h){return this.visitChildren(h)}visitField(h){return this.visitChildren(h)}visitKey(h){return this.visitChildren(h)}visitValue(h){return this.visitChildren(h)}visitArticle(h){return this.visitChildren(h)}visitBook(h){return this.visitChildren(h)}visitBooklet(h){return this.visitChildren(h)}visitInbook(h){return this.visitChildren(h)}visitIncollection(h){return this.visitChildren(h)}visitInproceedings(h){return this.visitChildren(h)}visitProceedings(h){return this.visitChildren(h)}visitManual(h){return this.visitChildren(h)}visitMastersthesis(h){return this.visitChildren(h)}visitPhdthesis(h){return this.visitChildren(h)}visitMisc(h){return this.visitChildren(h)}visitTechreport(h){return this.visitChildren(h)}visitUnpublished(h){return this.visitChildren(h)}};function Le(h,v,P){return v in h?Object.defineProperty(h,v,{value:P,enumerable:!0,configurable:!0,writable:!0}):h[v]=P,h}let tr=(new P.atn.ATNDeserializer).deserialize([4,1,26,210,2,0,7,0,2,1,7,1,2,2,7,2,2,3,7,3,2,4,7,4,2,5,7,5,2,6,7,6,2,7,7,7,2,8,7,8,2,9,7,9,2,10,7,10,2,11,7,11,2,12,7,12,2,13,7,13,2,14,7,14,2,15,7,15,2,16,7,16,2,17,7,17,1,0,5,0,38,8,0,10,0,12,0,41,9,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,56,8,1,1,2,1,2,1,2,1,2,1,2,1,3,1,3,1,4,1,4,1,5,1,5,1,5,1,5,1,5,4,5,72,8,5,11,5,12,5,73,1,5,1,5,1,6,1,6,1,6,1,6,1,6,4,6,83,8,6,11,6,12,6,84,1,6,1,6,1,7,1,7,1,7,1,7,1,7,4,7,94,8,7,11,7,12,7,95,1,7,1,7,1,8,1,8,1,8,1,8,1,8,4,8,105,8,8,11,8,12,8,106,1,8,1,8,1,9,1,9,1,9,1,9,1,9,4,9,116,8,9,11,9,12,9,117,1,9,1,9,1,10,1,10,1,10,1,10,1,10,4,10,127,8,10,11,10,12,10,128,1,10,1,10,1,11,1,11,1,11,1,11,1,11,4,11,138,8,11,11,11,12,11,139,1,11,1,11,1,12,1,12,1,12,1,12,1,12,4,12,149,8,12,11,12,12,12,150,1,12,1,12,1,13,1,13,1,13,1,13,1,13,4,13,160,8,13,11,13,12,13,161,1,13,1,13,1,14,1,14,1,14,1,14,1,14,4,14,171,8,14,11,14,12,14,172,1,14,1,14,1,15,1,15,1,15,1,15,1,15,4,15,182,8,15,11,15,12,15,183,1,15,1,15,1,16,1,16,1,16,1,16,1,16,4,16,193,8,16,11,16,12,16,194,1,16,1,16,1,17,1,17,1,17,1,17,1,17,4,17,204,8,17,11,17,12,17,205,1,17,1,17,1,17,0,0,18,0,2,4,6,8,10,12,14,16,18,20,22,24,26,28,30,32,34,0,1,1,0,23,24,217,0,39,1,0,0,0,2,55,1,0,0,0,4,57,1,0,0,0,6,62,1,0,0,0,8,64,1,0,0,0,10,66,1,0,0,0,12,77,1,0,0,0,14,88,1,0,0,0,16,99,1,0,0,0,18,110,1,0,0,0,20,121,1,0,0,0,22,132,1,0,0,0,24,143,1,0,0,0,26,154,1,0,0,0,28,165,1,0,0,0,30,176,1,0,0,0,32,187,
11,0,0,0,34,198,1,0,0,0,36,38,3,2,1,0,37,36,1,0,0,0,38,41,1,0,0,0,39,37,1,0,0,0,39,40,1,0,0,0,40,1,1,0,0,0,41,39,1,0,0,0,42,56,3,10,5,0,43,56,3,12,6,0,44,56,3,14,7,0,45,56,3,16,8,0,46,56,3,18,9,0,47,56,3,20,10,0,48,56,3,22,11,0,49,56,3,24,12,0,50,56,3,26,13,0,51,56,3,28,14,0,52,56,3,30,15,0,53,56,3,32,16,0,54,56,3,34,17,0,55,42,1,0,0,0,55,43,1,0,0,0,55,44,1,0,0,0,55,45,1,0,0,0,55,46,1,0,0,0,55,47,1,0,0,0,55,48,1,0,0,0,55,49,1,0,0,0,55,50,1,0,0,0,55,51,1,0,0,0,55,52,1,0,0,0,55,53,1,0,0,0,55,54,1,0,0,0,56,3,1,0,0,0,57,58,3,6,3,0,58,59,5,15,0,0,59,60,3,8,4,0,60,61,5,16,0,0,61,5,1,0,0,0,62,63,5,14,0,0,63,7,1,0,0,0,64,65,7,0,0,0,65,9,1,0,0,0,66,67,5,1,0,0,67,68,5,20,0,0,68,69,5,14,0,0,69,71,5,16,0,0,70,72,3,4,2,0,71,70,1,0,0,0,72,73,1,0,0,0,73,71,1,0,0,0,73,74,1,0,0,0,74,75,1,0,0,0,75,76,5,21,0,0,76,11,1,0,0,0,77,78,5,2,0,0,78,79,5,20,0,0,79,80,5,14,0,0,80,82,5,16,0,0,81,83,3,4,2,0,82,81,1,0,0,0,83,84,1,0,0,0,84,82,1,0,0,0,84,85,1,0,0,0,85,86,1,0,0,0,86,87,5,21,0,0,87,13,1,0,0,0,88,89,5,3,0,0,89,90,5,20,0,0,90,91,5,14,0,0,91,93,5,16,0,0,92,94,3,4,2,0,93,92,1,0,0,0,94,95,1,0,0,0,95,93,1,0,0,0,95,96,1,0,0,0,96,97,1,0,0,0,97,98,5,21,0,0,98,15,1,0,0,0,99,100,5,4,0,0,100,101,5,20,0,0,101,102,5,14,0,0,102,104,5,16,0,0,103,105,3,4,2,0,104,103,1,0,0,0,105,106,1,0,0,0,106,104,1,0,0,0,106,107,1,0,0,0,107,108,1,0,0,0,108,109,5,21,0,0,109,17,1,0,0,0,110,111,5,5,0,0,111,112,5,20,0,0,112,113,5,14,0,0,113,115,5,16,0,0,114,116,3,4,2,0,115,114,1,0,0,0,116,117,1,0,0,0,117,115,1,0,0,0,117,118,1,0,0,0,118,119,1,0,0,0,119,120,5,21,0,0,120,19,1,0,0,0,121,122,5,6,0,0,122,123,5,20,0,0,123,124,5,14,0,0,124,126,5,16,0,0,125,127,3,4,2,0,126,125,1,0,0,0,127,128,1,0,0,0,128,126,1,0,0,0,128,129,1,0,0,0,129,130,1,0,0,0,130,131,5,21,0,0,131,21,1,0,0,0,132,133,5,7,0,0,133,134,5,20,0,0,134,135,5,14,0,0,135,137,5,16,0,0,136,138,3,4,2,0,137,136,1,0,0,0,138,139,1,0,0,0,139,137,1,0,0,0,139,140,1,0,0,0,140,141,1,0,0,0,141,142,5,21,0,0,142,23,1,0,0,0,143,144,5,8,0,0,144,145,5,20,0,0,145,146,5,14,0,0,146,148,5,16,0,0,147,149,3,4,2,0,148,147,1,0,0,0,149,150,1,0,0,0,150,148,1,0,0,0,150,151,1,0,0,0,151,152,1,0,0,0,152,153,5,21,0,0,153,25,1,0,0,0,154,155,5,9,0,0,155,156,5,20,0,0,156,157,5,14,0,0,157,159,5,16,0,0,158,160,3,4,2,0,159,158,1,0,0,0,160,161,1,0,0,0,161,159,1,0,0,0,161,162,1,0,0,0,162,163,1,0,0,0,163,164,5,21,0,0,164,27,1,0,0,0,165,166,5,10,0,0,166,167,5,20,0,0,167,168,5,14,0,0,168,170,5,16,0,0,169,171,3,4,2,0,170,169,1,0,0,0,171,172,1,0,0,0,172,170,1,0,0,0,172,173,1,0,0,0,173,174,1,0,0,0,174,175,5,21,0,0,175,29,1,0,0,0,176,177,5,11,0,0,177,178,5,20,0,0,178,179,5,14,0,0,179,181,5,16,0,0,180,182,3,4,2,0,181,180,1,0,0,0,182,183,1,0,0,0,183,181,1,0,0,0,183,184,1,0,0,0,184,185,1,0,0,0,185,186,5,21,0,0,186,31,1,0,0,0,187,188,5,12,0,0,188,189,5,20,0,0,189,190,5,14,0,0,190,192,5,16,0,0,191,193,3,4,2,0,192,191,1,0,0,0,193,194,1,0,0,0,194,192,1,0,0,0,194,195,1,0,0,0,195,196,1,0,0,0,196,197,5,21,0,0,197,33,1,0,0,0,198,199,5,13,0,0,199,200,5,20,0,0,200,201,5,14,0,0,201,203,5,16,0,0,202,204,3,4,2,0,203,202,1,0,0,0,204,205,1,0,0,0,205,203,1,0,0,0,205,206,1,0,0,0,206,207,1,0,0,0,207,208,5,21,0,0,208,35,1,0,0,0,15,39,55,73,84,95,106,117,128,139,150,161,172,183,194,205]),tl=tr.decisionToState.map((h,v)=>new P.dfa.DFA(h,v)),to=new P.PredictionContextCache;let ve=class ve extends P.Parser{constructor(h){super(h),this._interp=new P.atn.ParserATNSimulator(this,tr,tl,to),this.ruleNames=ve.ruleNames,this.literalNames=ve.literalNames,this.symbolicNames=ve.symbolicNames}get atn(){return tr}bibTex(){let h=new Pe(this,this._ctx,this.state);this.enterRule(h,0,ve.RULE_bibTex);var v=0;try{for(this.enterOuterAlt(h,1),this.state=39,this._errHandler.sync(this),v=this._input.LA(1);0==(-32&v)&&0!=(1<<v&(1<<ve.ARTICLE|1<<ve.BOOK|1<<ve.BOOKLET|1<<ve.INBOOK|1<<ve.INCOLLECTION|1<<ve.INPROCEEDINGS|1<<ve.PROCEEDINGS|1<<ve.MANUAL|1<<ve.MASTERTHESIS|1<<ve.PHDTHESIS|1<<ve.MISC|1<<ve.TECHREPORT|1<<ve.UNPUBLISHED));)this.state=36,this.entry(),this.state=41,this._errHandler.sync(this),v=this._input.LA(1)}catch(v){if(!(v instanceof P.error.RecognitionException))throw v;h.exception=v,this._errHandler.reportError(this,v),this._errHandler.recover(this,v)}finally{this.exitRule()}return h}entry(){let h=new De(this,this._ctx,this.state);this.enterRule(h,2,ve.RULE_entry);try{switch(this.state=55,this._errHandler.sync(this),this._input.LA(1)){case ve.ARTICLE:this.enterOuterAlt(h,1),this.state=42,this.article
1();break;case ve.BOOK:this.enterOuterAlt(h,2),this.state=43,this.book();break;case ve.BOOKLET:this.enterOuterAlt(h,3),this.state=44,this.booklet();break;case ve.INBOOK:this.enterOuterAlt(h,4),this.state=45,this.inbook();break;case ve.INCOLLECTION:this.enterOuterAlt(h,5),this.state=46,this.incollection();break;case ve.INPROCEEDINGS:this.enterOuterAlt(h,6),this.state=47,this.inproceedings();break;case ve.PROCEEDINGS:this.enterOuterAlt(h,7),this.state=48,this.proceedings();break;case ve.MANUAL:this.enterOuterAlt(h,8),this.state=49,this.manual();break;case ve.MASTERTHESIS:this.enterOuterAlt(h,9),this.state=50,this.mastersthesis();break;case ve.PHDTHESIS:this.enterOuterAlt(h,10),this.state=51,this.phdthesis();break;case ve.MISC:this.enterOuterAlt(h,11),this.state=52,this.misc();break;case ve.TECHREPORT:this.enterOuterAlt(h,12),this.state=53,this.techreport();break;case ve.UNPUBLISHED:this.enterOuterAlt(h,13),this.state=54,this.unpublished();break;default:throw new P.error.NoViableAltException(this)}}catch(v){if(!(v instanceof P.error.RecognitionException))throw v;h.exception=v,this._errHandler.reportError(this,v),this._errHandler.recover(this,v)}finally{this.exitRule()}return h}field(){let h=new we(this,this._ctx,this.state);this.enterRule(h,4,ve.RULE_field);try{this.enterOuterAlt(h,1),this.state=57,this.key(),this.state=58,this.match(ve.EQ),this.state=59,this.value(),this.state=60,this.match(ve.COMMA)}catch(v){if(!(v instanceof P.error.RecognitionException))throw v;h.exception=v,this._errHandler.reportError(this,v),this._errHandler.recover(this,v)}finally{this.exitRule()}return h}key(){let h=new be(this,this._ctx,this.state);this.enterRule(h,6,ve.RULE_key);try{this.enterOuterAlt(h,1),this.state=62,this.match(ve.IDENTIFIER)}catch(v){if(!(v instanceof P.error.RecognitionException))throw v;h.exception=v,this._errHandler.reportError(this,v),this._errHandler.recover(this,v)}finally{this.exitRule()}return h}value(){let h=new Me(this,this._ctx,this.state);this.enterRule(h,8,ve.RULE_value);var v=0;try{this.enterOuterAlt(h,1),this.state=64,(v=this._input.LA(1))!==ve.STRING_LITERAL&&v!==ve.INTEGER_LITERAL?this._errHandler.recoverInline(this):(this._errHandler.reportMatch(this),this.consume())}catch(v){if(!(v instanceof P.error.RecognitionException))throw v;h.exception=v,this._errHandler.reportError(this,v),this._errHandler.recover(this,v)}finally{this.exitRule()}return h}article(){let h=new Fe(this,this._ctx,this.state);this.enterRule(h,10,ve.RULE_article);var v=0;try{this.enterOuterAlt(h,1),this.state=66,this.match(ve.ARTICLE),this.state=67,this.match(ve.LBRACE),this.state=68,this.match(ve.IDENTIFIER),this.state=69,this.match(ve.COMMA),this.state=71,this._errHandler.sync(this),v=this._input.LA(1);do this.state=70,this.field(),this.state=73,this._errHandler.sync(this),v=this._input.LA(1);while(v===ve.IDENTIFIER);this.state=75,this.match(ve.RBRACE)}catch(v){if(!(v instanceof P.error.RecognitionException))throw v;h.exception=v,this._errHandler.reportError(this,v),this._errHandler.recover(this,v)}finally{this.exitRule()}return h}book(){let h=new Be(this,this._ctx,this.state);this.enterRule(h,12,ve.RULE_book);var v=0;try{this.enterOuterAlt(h,1),this.state=77,this.match(ve.BOOK),this.state=78,this.match(ve.LBRACE),this.state=79,this.match(ve.IDENTIFIER),this.state=80,this.match(ve.COMMA),this.state=82,this._errHandler.sync(this),v=this._input.LA(1);do this.state=81,this.field(),this.state=84,this._errHandler.sync(this),v=this._input.LA(1);while(v===ve.IDENTIFIER);this.state=86,this.match(ve.RBRACE)}catch(v){if(!(v instanceof P.error.RecognitionException))throw v;h.exception=v,this._errHandler.reportError(this,v),this._errHandler.recover(this,v)}finally{this.exitRule()}return h}booklet(){let h=new Ue(this,this._ctx,this.state);this.enterRule(h,14,ve.RULE_booklet);var v=0;try{this.enterOuterAlt(h,1),this.state=88,this.match(ve.BOOKLET),this.state=89,this.match(ve.LBRACE),this.state=90,this.match(ve.IDENTIFIER),this.state=91,this.match(ve.COMMA),this.state=93,this._errHandler.sync(this),v=this._input.LA(1);do this.state=92,this.field(),this.state=95,this._errHandler.sync(this),v=this._input.LA(1);while(v===ve.IDENTIFIER);this.state=97,this.match(ve.RBRACE)}catch(v){if(!(v instanceof P.error.RecognitionException))throw v;h.exception=v,this._errHandler.reportError(this,v),this._errHandler.recover(this,v)}finally{this.exitRule()}return h}inbook(){let h=new He(this,this._ctx,this.state);this.enterRule(h,16,ve.RULE_inbook);var v=0;try{this.enterOuterAlt(h,1),this.state=99,this.match(ve.INBOOK),this.state=100,this.match(ve.LBRACE),this.state=101,this.match(ve.IDENTIFIER),this.state=102,this.match(ve.COMMA),this.state=104,this._errHandler.sync(this),v=this._input.LA(1);do this.state=103,this.field(),this.state=106,this._errHandler.sync(this),v=this._input.LA(1);while(v===ve.IDENTIFIER);this.state=108,this.match(ve.RBRACE)}catch(v){if(!(v instanceof P.error.RecognitionException))throw v;h.exception=v,this._errHandler.reportError(this,v),this._errHandler.recover(this,v)}finally{this.exitRule()}return h}incollection(){let h=new Ke(this,this._ctx,this.state);this.enterRule(h,18,ve.RULE_incollection);var v=0;try{this.enterOuterAlt(h,1),this.state=110,this.match(ve.INCOLLECTION),this.state=111,this.match(ve.LBRACE),this.state=112,this.match(ve.IDENTIFIER),this.state=113,this.match(ve.COMMA),this.state=115,this._errHandler.sync(this),v=this._input.LA(1);do this.state=114,this.field(),this.state=117,this._errHandler.sync(this),v=this._input.LA(1);while(v===ve.IDENTIFIER);this.state=119,this.match(ve.RBRACE)}catch(v){if(!(v instanceof P.error.RecognitionException))throw v;h.exception=v,this._errHandler.reportError(this,v),this._errHandler.recover(this,v)}finally{this.exitRule()}return h}inproceedings(){let h=new Ve(this,this._ctx,this.state);this.enterRule(h,20,ve.RULE_inproceedings);var v=0;try{this.enterOuterAlt(h,1),this.state=121,this.match(ve.INPROCEEDINGS),this.state=122,this.match(ve.LBRACE),this.state=123,this.match(ve.IDENTIFIER),this.state=124,this.match(ve.COMMA),this.state=126,this._errHandler.sync(this),v=this._input.LA(1);do this.state=125,this.field(),this.state=128,this._errHandler.sync(this),v=this._input.LA(1);while(v===ve.IDENTIFIER);this.state=130,this.match(ve.RBRACE)}catch(v){if(!(v instanceof P.error.RecognitionException))throw v;h.exception=v,this._errHandler.reportError(this,v),this._errHandler.recover(this,v)}finally{this.exitRule()}return h}proceedings(){let h=new Ge(this,this._ctx,this.state);this.enterRule(h,22,ve.RULE_proceedings);var v=0;try{this.enterOuterAlt(h,1),this.state=132,this.match(ve.PROCEEDINGS),this.state=133,this.match(ve.LBRACE),this.state=134,this.match(ve.IDENTIFIER),this.state=135,this.match(ve.COMMA),this.state=137,this._errHandler.sync(this),v=this._input.LA(1);do this.state=136,this.field(),this.state=139,this._errHandler.sync(this),v=this._input.LA(1);while(v===ve.IDENTIFIER);this.state=141,this.match(ve.RBRACE)}catch(v){if(!(v instanceof P.error.RecognitionException))throw v;h.exception=v,this._errHandler.reportError(this,v),this._errHandler.recover(this,v)}finally{this.exitRule()}return h}manual(){let h=new qe(this,this._ctx,this.state);this.enterRule(h,24,ve.RULE_manual);var v=0;try{this.enterOuterAlt(h,1),this.state=143,this.match(ve.MANUAL),this.state=144,this.match(ve.LBRACE),this.state=145,this.match(ve.IDENTIFIER),this.state=146,this.match(ve.COMMA),this.state=148,this._errHandler.sync(this),v=this._input.LA(1);do this.state=147,this.field(),this.state=150,this._errHandler.sync(this),v=this._input.LA(1);while(v===ve.IDENTIFIER);this.state=152,this.match(ve.RBRACE)}catch(v){if(!(v instanceof P.error.RecognitionException))throw v;h.exception=v,this._errHandler.reportError(this,v),this._errHandler.recover(this,v)}finally{this.exitRule()}return h}mastersthesis(){let h=new ze(this,this._ctx,this.state);this.enterRule(h,26,ve.RULE_mastersthesis);var v=0;try{this.enterOuterAlt(h,1),this.state=154,this.match(ve.MASTERTHESIS),this.state=155,this.match(ve.LBRACE),this.state=156,this.match(ve.IDENTIFIER),this.state=157,this.match(ve.COMMA),this.state=159,this._errHandler.sync(this),v=this._input.LA(1);do this.state=158,this.field(),this.state=161,this._errHandler.sync(this),v=this._input.LA(1);while(v===ve.IDENTIFIER);this.state=163,this.match(ve.RBRACE)}catch(v){if(!(v instanceof P.error.RecognitionException))throw v;h.exception=v,this._errHandler.reportError(this,v),this._errHandler.recover(this,v)}finally{this.exitRule()}return h}phdthesis(){let h=new Ye(this,this._ctx,this.state);this.enterRule(h,28,ve.RULE_phdthesis);var v=0;try{this.enterOuterAlt(h,1),this.state=165,this.match(ve.PHDTHESIS),this.state=166,this.match(ve.LBRACE),this.state=167,this.match(ve.IDENTIFIER),this.state=168,this.match(ve.COMMA),this.state=170,this._errHandler.sync(this),v=this._input.LA(1);do this.state=169,this.field(),this.state=172,this._errHandler.sync(this),v=this._input.LA(1);while(v===ve.IDENTIFIER);this.state=174,this.match(ve.RBRACE)}catch(v){if(!(v instanceof P.error.RecognitionException))throw v;h.exception=v,this._errHandler.reportError(this,v),this._errHandler.recover(this,v)}finally{this.exitRule()}return h}misc(){let h=new We(this,this._ctx,this.state);this.enterRule(h,30,ve.RULE_misc);var v=0;try{this.enterOuterAlt(h,1),this.state=176,this.match(ve.MISC),this.state=177,this.match(ve.LBRACE),this.state=178,this.match(ve.IDENTIFIER),this.state=179,this.match(ve.COMMA),this.state=181,this._errHandler.sync(this),v=this._input.LA(1);do this.state=180,this.field(),this.state=183,this._errHandler.sync(this),v=this._input.LA(1);while(v===ve.IDENTIFIER);this.state=185,this.match(ve.RBRACE)}catch(v){if(!(v instanceof P.error.RecognitionException))throw v;h.exception=v,this._errHandler.reportError(this,v),this._errHandler.recover(this,v)}finally{this.exitRule()}return h}techreport(){let h=new je(this,this._ctx,this.state);this.enterRule(h,32,ve.RULE_techreport);var v=0;try{this.enterOuterAlt(h,1),this.state=187,this.match(ve.TECHREPORT),this.state=188,this.match(ve.LBRACE),this.state=189,this.match(ve.IDENTIFIER),this.state=190,this.match(ve.COMMA),this.state=192,this._errHandler.sync(this),v=this._input.LA(1);do this.state=191,this.field(),this.state=194,this._errHandler.sync(this),v=this._input.LA(1);while(v===ve.IDENTIFIER);this.state=196,this.match(ve.RBRACE)}catch(v){if(!(v instanceof P.error.RecognitionException))throw v;h.exception=v,this._errHandler.reportError(this,v),this._errHandler.recover(this,v)}finally{this.exitRule()}return h}unpublished(){let h=new Qe(this,this._ctx,this.state);this.enterRule(h,34,ve.RULE_unpublished);var v=0;try{this.enterOuterAlt(h,1),this.state=198,this.match(ve.UNPUBLISHED),this.state=199,this.match(ve.LBRACE),this.state=200,this.match(ve.IDENTIFIER),this.state=201,this.match(ve.COMMA),this.state=203,this._errHandler.sync(this),v=this._input.LA(1);do this.state=202,this.field(),this.state=205,this._errHandler.sync(this),v=this._input.LA(1);while(v===ve.IDENTIFIER);this.state=207,this.match(ve.RBRACE)}catch(v){if(!(v instanceof P.error.RecognitionException))throw v;h.exception=v,this._errHandler.reportError(this,v),this._errHandler.recover(this,v)}finally{this.exitRule()}return h}};Le(ve,"grammarFileName","BibTeX.g4"),Le(ve,"literalNames",[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"'='","','","'\"'","'('","')'","'{'","'}'","'@'"]),Le(ve,"symbolicNames",[null,"ARTICLE","BOOK","BOOKLET","INBOOK","INCOLLECTION","INPROCEEDINGS","PROCEEDINGS","MANUAL","MASTERTHESIS","PHDTHESIS","MISC","TECHREPORT","UNPUBLISHED","IDENTIFIER","EQ","COMMA","DQUOTE","LPAREN","RPAREN","LBRACE","RBRACE","AT","STRING_LITERAL","INTEGER_LITERAL","WS","LINE_COMMENT"]),Le(ve,"ruleNames",["bibTex","entry","field","key","value","article","book","booklet","inbook","incollection","inproceedings","proceedings","manual","mastersthesis","phdthesis","misc","techreport","unpublished"]),ve.EOF=P.Token.EOF,ve.ARTICLE=1,ve.BOOK=2,ve.BOOKLET=3,ve.INBOOK=4,ve.INCOLLECTION=5,ve.INPROCEEDINGS=6,ve.PROCEEDINGS=7,ve.MANUAL=8,ve.MASTERTHESIS=9,ve.PHDTHESIS=10,ve.MISC=11,ve.TECHREPORT=12,ve.UNPUBLISHED=13,ve.IDENTIFIER=14,ve.EQ=15,ve.COMMA=16,ve.DQUOTE=17,ve.LPAREN=18,ve.RPAREN=19,ve.LBRACE=20,ve.RBRACE=21,ve.AT=22,ve.STRING_LITERAL=23,ve.INTEGER_LITERAL=24,ve.WS=25,ve.LINE_COMMENT=26,ve.RULE_bibTex=0,ve.RULE_entry=1,ve.RULE_field=2,ve.RULE_key=3,ve.RULE_value=4,ve.RULE_article=5,ve.RULE_book=6,ve.RULE_booklet=7,ve.RULE_inbook=8,ve.RULE_incollection=9,ve.RULE_inproceedings=10,ve.RULE_proceedings=11,ve.RULE_manual=12,ve.RULE_mastersthesis=13,ve.RULE_phdthesis=14,ve.RULE_misc=1
15,ve.RULE_techreport=16,ve.RULE_unpublished=17;let Pe=class Pe extends P.ParserRuleContext{constructor(h,v,P){void 0===v&&(v=null),null==P&&(P=-1),super(v,P),Le(this,"entry",function(h){return void 0===h&&(h=null),null===h?this.getTypedRuleContexts(De):this.getTypedRuleContext(De,h)}),this.parser=h,this.ruleIndex=ve.RULE_bibTex}enterRule(h){h instanceof _e&&h.enterBibTex(this)}exitRule(h){h instanceof _e&&h.exitBibTex(this)}accept(h){return h instanceof Ne?h.visitBibTex(this):h.visitChildren(this)}};let De=class De extends P.ParserRuleContext{constructor(h,v,P){void 0===v&&(v=null),null==P&&(P=-1),super(v,P),this.parser=h,this.ruleIndex=ve.RULE_entry}article(){return this.getTypedRuleContext(Fe,0)}book(){return this.getTypedRuleContext(Be,0)}booklet(){return this.getTypedRuleContext(Ue,0)}inbook(){return this.getTypedRuleContext(He,0)}incollection(){return this.getTypedRuleContext(Ke,0)}inproceedings(){return this.getTypedRuleContext(Ve,0)}proceedings(){return this.getTypedRuleContext(Ge,0)}manual(){return this.getTypedRuleContext(qe,0)}mastersthesis(){return this.getTypedRuleContext(ze,0)}phdthesis(){return this.getTypedRuleContext(Ye,0)}misc(){return this.getTypedRuleContext(We,0)}techreport(){return this.getTypedRuleContext(je,0)}unpublished(){return this.getTypedRuleContext(Qe,0)}enterRule(h){h instanceof _e&&h.enterEntry(this)}exitRule(h){h instanceof _e&&h.exitEntry(this)}accept(h){return h instanceof Ne?h.visitEntry(this):h.visitChildren(this)}};let we=class we extends P.ParserRuleContext{constructor(h,v,P){void 0===v&&(v=null),null==P&&(P=-1),super(v,P),this.parser=h,this.ruleIndex=ve.RULE_field}key(){return this.getTypedRuleContext(be,0)}EQ(){return this.getToken(ve.EQ,0)}value(){return this.getTypedRuleContext(Me,0)}COMMA(){return this.getToken(ve.COMMA,0)}enterRule(h){h instanceof _e&&h.enterField(this)}exitRule(h){h instanceof _e&&h.exitField(this)}accept(h){return h instanceof Ne?h.visitField(this):h.visitChildren(this)}};let be=class be extends P.ParserRuleContext{constructor(h,v,P){void 0===v&&(v=null),null==P&&(P=-1),super(v,P),this.parser=h,this.ruleIndex=ve.RULE_key}IDENTIFIER(){return this.getToken(ve.IDENTIFIER,0)}enterRule(h){h instanceof _e&&h.enterKey(this)}exitRule(h){h instanceof _e&&h.exitKey(this)}accept(h){return h instanceof Ne?h.visitKey(this):h.visitChildren(this)}};let Me=class Me extends P.ParserRuleContext{constructor(h,v,P){void 0===v&&(v=null),null==P&&(P=-1),super(v,P),this.parser=h,this.ruleIndex=ve.RULE_value}INTEGER_LITERAL(){return this.getToken(ve.INTEGER_LITERAL,0)}STRING_LITERAL(){return this.getToken(ve.STRING_LITERAL,0)}enterRule(h){h instanceof _e&&h.enterValue(this)}exitRule(h){h instanceof _e&&h.exitValue(this)}accept(h){return h instanceof Ne?h.visitValue(this):h.visitChildren(this)}};let Fe=class Fe extends P.ParserRuleContext{constructor(h,v,P){void 0===v&&(v=null),null==P&&(P=-1),super(v,P),Le(this,"field",function(h){return void 0===h&&(h=null),null===h?this.getTypedRuleContexts(we):this.getTypedRuleContext(we,h)}),this.parser=h,this.ruleIndex=ve.RULE_article}ARTICLE(){return this.getToken(ve.ARTICLE,0)}LBRACE(){return this.getToken(ve.LBRACE,0)}IDENTIFIER(){return this.getToken(ve.IDENTIFIER,0)}COMMA(){return this.getToken(ve.COMMA,0)}RBRACE(){return this.getToken(ve.RBRACE,0)}enterRule(h){h instanceof _e&&h.enterArticle(this)}exitRule(h){h instanceof _e&&h.exitArticle(this)}accept(h){return h instanceof Ne?h.visitArticle(this):h.visitChildren(this)}};let Be=class Be extends P.ParserRuleContext{constructor(h,v,P){void 0===v&&(v=null),null==P&&(P=-1),super(v,P),Le(this,"field",function(h){return void 0===h&&(h=null),null===h?this.getTypedRuleContexts(we):this.getTypedRuleContext(we,h)}),this.parser=h,this.ruleIndex=ve.RULE_book}BOOK(){return this.getToken(ve.BOOK,0)}LBRACE(){return this.getToken(ve.LBRACE,0)}IDENTIFIER(){return this.getToken(ve.IDENTIFIER,0)}COMMA(){return this.getToken(ve.COMMA,0)}RBRACE(){return this.getToken(ve.RBRACE,0)}enterRule(h){h instanceof _e&&h.enterBook(this)}exitRule(h){h instanceof _e&&h.exitBook(this)}
1accept(h){return h instanceof Ne?h.visitBook(this):h.visitChildren(this)}};let Ue=class Ue extends P.ParserRuleContext{constructor(h,v,P){void 0===v&&(v=null),null==P&&(P=-1),super(v,P),Le(this,"field",function(h){return void 0===h&&(h=null),null===h?this.getTypedRuleContexts(we):this.getTypedRuleContext(we,h)}),this.parser=h,this.ruleIndex=ve.RULE_booklet}BOOKLET(){return this.getToken(ve.BOOKLET,0)}LBRACE(){return this.getToken(ve.LBRACE,0)}IDENTIFIER(){return this.getToken(ve.IDENTIFIER,0)}COMMA(){return this.getToken(ve.COMMA,0)}RBRACE(){return this.getToken(ve.RBRACE,0)}enterRule(h){h instanceof _e&&h.enterBooklet(this)}exitRule(h){h instanceof _e&&h.exitBooklet(this)}accept(h){return h instanceof Ne?h.visitBooklet(this):h.visitChildren(this)}};let He=class He extends P.ParserRuleContext{constructor(h,v,P){void 0===v&&(v=null),null==P&&(P=-1),super(v,P),Le(this,"field",function(h){return void 0===h&&(h=null),null===h?this.getTypedRuleContexts(we):this.getTypedRuleContext(we,h)}),this.parser=h,this.ruleIndex=ve.RULE_inbook}INBOOK(){return this.getToken(ve.INBOOK,0)}LBRACE(){return this.getToken(ve.LBRACE,0)}IDENTIFIER(){return this.getToken(ve.IDENTIFIER,0)}COMMA(){return this.getToken(ve.COMMA,0)}RBRACE(){return this.getToken(ve.RBRACE,0)}enterRule(h){h instanceof _e&&h.enterInbook(this)}exitRule(h){h instanceof _e&&h.exitInbook(this)}accept(h){return h instanceof Ne?h.visitInbook(this):h.visitChildren(this)}};let Ke=class Ke extends P.ParserRuleContext{constructor(h,v,P){void 0===v&&(v=null),null==P&&(P=-1),super(v,P),Le(this,"field",function(h){return void 0===h&&(h=null),null===h?this.getTypedRuleContexts(we):this.getTypedRuleContext(we,h)}),this.parser=h,this.ruleIndex=ve.RULE_incollection}INCOLLECTION(){return this.getToken(ve.INCOLLECTION,0)}LBRACE(){return this.getToken(ve.LBRACE,0)}IDENTIFIER(){return this.getToken(ve.IDENTIFIER,0)}COMMA(){return this.getToken(ve.COMMA,0)}RBRACE(){return this.getToken(ve.RBRACE,0)}enterRule(h){h instanceof _e&&h.enterIncollection(this)}exitRule(h){h instanceof _e&&h.exitIncollection(this)}accept(h){return h instanceof Ne?h.visitIncollection(this):h.visitChildren(this)}};let Ve=class Ve extends P.ParserRuleContext{constructor(h,v,P){void 0===v&&(v=null),null==P&&(P=-1),super(v,P),Le(this,"field",function(h){return void 0===h&&(h=null),null===h?this.getTypedRuleContexts(we):this.getTypedRuleContext(we,h)}),this.parser=h,this.ruleIndex=ve.RULE_inproceedings}INPROCEEDINGS(){return this.getToken(ve.INPROCEEDINGS,0)}LBRACE(){return this.getToken(ve.LBRACE,0)}IDENTIFIER(){return this.getToken(ve.IDENTIFIER,0)}COMMA(){return this.getToken(ve.COMMA,0)}RBRACE(){return this.getToken(ve.RBRACE,0)}enterRule(h){h instanceof _e&&h.enterInproceedings(this)}exitRule(h){h instanceof _e&&h.exitInproceedings(this)}accept(h){return h instanceof Ne?h.visitInproceedings(this):h.visitChildren(this)}};let Ge=class Ge extends P.ParserRuleContext{constructor(h,v,P){void 0===v&&(v=null),null==P&&(P=-1),super(v,P),Le(this,"field",function(h){return void 0===h&&(h=null),null===h?this.getTypedRuleContexts(we):this.getTypedRuleContext(we,h)}),this.parser=h,this.ruleIndex=ve.RULE_proceedings}PROCEEDINGS(){return this.getToken(ve.PROCEEDINGS,0)}LBRACE(){return this.getToken(ve.LBRACE,0)}IDENTIFIER(){return this.getToken(ve.IDENTIFIER,0)}COMMA(){return this.getToken(ve.COMMA,0)}RBRACE(){return this.getToken(ve.RBRACE,0)}enterRule(h){h instanceof _e&&h.enterProceedings(this)}exitRule(h){h instanceof _e&&h.exitProceedings(this)}accept(h){return h instanceof Ne?h.visitProceedings(this):h.visitChildren(this)}};let qe=class qe extends P.ParserRuleContext{constructor(h,v,P){void 0===v&&(v=null),null==P&&(P=-1),super(v,P),Le(this,"field",function(h){return void 0===h&&(h=null),null===h?this.getTypedRuleContexts(we):this.getTypedRuleContext(we,h)}),this.parser=h,this.ruleIndex=ve.RULE_manual}MANUAL(){return this.getToken(ve.MANUAL,0)}LBRACE(){return this.getToken(ve.LBRACE,0)}IDENTIFIER(){return this.getToken(ve.IDENTIFIER,0)}COMMA(){return this.getToken(ve.COMMA,0)}RBRACE(){return this.getToken(ve.RBRACE,0)}enterRule(h){h instanceof _e&&h.enterManual(this)}exitRule(h){h instanceof _e&&h.exitManual(this)}
1accept(h){return h instanceof Ne?h.visitManual(this):h.visitChildren(this)}};let ze=class ze extends P.ParserRuleContext{constructor(h,v,P){void 0===v&&(v=null),null==P&&(P=-1),super(v,P),Le(this,"field",function(h){return void 0===h&&(h=null),null===h?this.getTypedRuleContexts(we):this.getTypedRuleContext(we,h)}),this.parser=h,this.ruleIndex=ve.RULE_mastersthesis}MASTERTHESIS(){return this.getToken(ve.MASTERTHESIS,0)}LBRACE(){return this.getToken(ve.LBRACE,0)}IDENTIFIER(){return this.getToken(ve.IDENTIFIER,0)}COMMA(){return this.getToken(ve.COMMA,0)}RBRACE(){return this.getToken(ve.RBRACE,0)}enterRule(h){h instanceof _e&&h.enterMastersthesis(this)}exitRule(h){h instanceof _e&&h.exitMastersthesis(this)}accept(h){return h instanceof Ne?h.visitMastersthesis(this):h.visitChildren(this)}};let Ye=class Ye extends P.ParserRuleContext{constructor(h,v,P){void 0===v&&(v=null),null==P&&(P=-1),super(v,P),Le(this,"field",function(h){return void 0===h&&(h=null),null===h?this.getTypedRuleContexts(we):this.getTypedRuleContext(we,h)}),this.parser=h,this.ruleIndex=ve.RULE_phdthesis}PHDTHESIS(){return this.getToken(ve.PHDTHESIS,0)}LBRACE(){return this.getToken(ve.LBRACE,0)}IDENTIFIER(){return this.getToken(ve.IDENTIFIER,0)}COMMA(){return this.getToken(ve.COMMA,0)}RBRACE(){return this.getToken(ve.RBRACE,0)}enterRule(h){h instanceof _e&&h.enterPhdthesis(this)}exitRule(h){h instanceof _e&&h.exitPhdthesis(this)}accept(h){return h instanceof Ne?h.visitPhdthesis(this):h.visitChildren(this)}};let We=class We extends P.ParserRuleContext{constructor(h,v,P){void 0===v&&(v=null),null==P&&(P=-1),super(v,P),Le(this,"field",function(h){return void 0===h&&(h=null),null===h?this.getTypedRuleContexts(we):this.getTypedRuleContext(we,h)}),this.parser=h,this.ruleIndex=ve.RULE_misc}MISC(){return this.getToken(ve.MISC,0)}LBRACE(){return this.getToken(ve.LBRACE,0)}IDENTIFIER(){return this.getToken(ve.IDENTIFIER,0)}COMMA(){return this.getToken(ve.COMMA,0)}RBRACE(){return this.getToken(ve.RBRACE,0)}enterRule(h){h instanceof _e&&h.enterMisc(this)}exitRule(h){h instanceof _e&&h.exitMisc(this)}accept(h){return h instanceof Ne?h.visitMisc(this):h.visitChildren(this)}};let je=class je extends P.ParserRuleContext{constructor(h,v,P){void 0===v&&(v=null),null==P&&(P=-1),super(v,P),Le(this,"field",function(h){return void 0===h&&(h=null),null===h?this.getTypedRuleContexts(we):this.getTypedRuleContext(we,h)}),this.parser=h,this.ruleIndex=ve.RULE_techreport}TECHREPORT(){return this.getToken(ve.TECHREPORT,0)}LBRACE(){return this.getToken(ve.LBRACE,0)}IDENTIFIER(){return this.getToken(ve.IDENTIFIER,0)}COMMA(){return this.getToken(ve.COMMA,0)}RBRACE(){return this.getToken(ve.RBRACE,0)}enterRule(h){h instanceof _e&&h.enterTechreport(this)}exitRule(h){h instanceof _e&&h.exitTechreport(this)}accept(h){return h instanceof Ne?h.visitTechreport(this):h.visitChildren(this)}};let Qe=class Qe extends P.ParserRuleContext{constructor(h,v,P){void 0===v&&(v=null),null==P&&(P=-1),super(v,P),Le(this,"field",function(h){return void 0===h&&(h=null),null===h?this.getTypedRuleContexts(we):this.getTypedRuleContext(we,h)}),this.parser=h,this.ruleIndex=ve.RULE_unpublished}UNPUBLISHED(){return this.getToken(ve.UNPUBLISHED,0)}LBRACE(){return this.getToken(ve.LBRACE,0)}IDENTIFIER(){return this.getToken(ve.IDENTIFIER,0)}COMMA(){return this.getToken(ve.COMMA,0)}RBRACE(){return this.getToken(ve.RBRACE,0)}enterRule(h){h instanceof _e&&h.enterUnpublished(this)}exitRule(h){h instanceof _e&&h.exitUnpublished(this)}accept(h){return h instanceof Ne?h.visitUnpublished(this):h.visitChildren(this)}};ve.BibTexContext=Pe,ve.EntryContext=De,ve.FieldContext=we,ve.KeyContext=be,ve.ValueContext=Me,ve.ArticleContext=Fe,ve.BookContext=Be,ve.BookletContext=Ue,ve.InbookContext=He,ve.IncollectionContext=Ke,ve.InproceedingsContext=Ve,ve.ProceedingsContext=Ge,ve.ManualContext=qe,ve.MastersthesisContext=ze,ve.PhdthesisContext=Ye,ve.MiscContext=We,ve.TechreportContext=je,ve.UnpublishedContext=Qe;let ta="Integer",th="String";function $e(h,v,P){return function(h,v){if(h!==v)throw TypeError("Private static access of wrong provenance")}(h,v),P}let Ze=class Ze extends Ne{visitField(h){let v=h.key().IDENTIFIER().getText();
1if(h.value().STRING_LITERAL()){let P=h.value().STRING_LITERAL().getText();return P=P.substring(1,P.length-1),$e(Ze,Ze,tn).call(Ze,v,P,th)}if(h.value().INTEGER_LITERAL())return $e(Ze,Ze,tn).call(Ze,v,parseInt(h.value().INTEGER_LITERAL().getText()),ta);throw Error("The type of field ".concat(v," value is not supported."))}};function tn(h,v,P){return{key:h,value:v,type:P}}function en(h,v){if(v.has(h))throw TypeError("Cannot initialize the same private elements twice on an object")}function nn(h,v,P){if(!v.has(h))throw TypeError("attempted to get private field on non-instance");return P}var tu=new WeakMap,tc=new WeakSet;let on=class on extends Ne{constructor(){var h;super(...arguments),en(this,tc),tc.add(this),h={writable:!0,value:new Ze},en(this,tu),tu.set(this,h)}visitArticle(h){return nn(this,tc,ln).call(this,"article",h)}visitBook(h){return nn(this,tc,ln).call(this,"book",h)}visitBooklet(h){return nn(this,tc,ln).call(this,"booklet",h)}visitInbook(h){return nn(this,tc,ln).call(this,"inbook",h)}visitIncollection(h){return nn(this,tc,ln).call(this,"incollection",h)}visitInproceedings(h){return nn(this,tc,ln).call(this,"inproceedings",h)}visitProceedings(h){return nn(this,tc,ln).call(this,"proceedings",h)}visitManual(h){return nn(this,tc,ln).call(this,"manual",h)}visitMastersthesis(h){return nn(this,tc,ln).call(this,"masterthesis",h)}visitPhdthesis(h){return nn(this,tc,ln).call(this,"phdthesis",h)}visitMisc(h){return nn(this,tc,ln).call(this,"misc",h)}visitTechreport(h){return nn(this,tc,ln).call(this,"techreport",h)}visitUnpublished(h){return nn(this,tc,ln).call(this,"unpublished",h)}};function ln(h,v){return{type:h,id:v.IDENTIFIER().getText(),raw:v.start.getInputStream().getText(v.start.start,v.stop.stop),fields:v.field().map(h=>{var v;return h.accept((v=function(h,v,P){if(!v.has(h))throw TypeError("attempted to get private field on non-instance");return v.get(h)}(this,tu)).get?v.get.call(this):v.value)})}}function an(h,v,P){(function(h,v){if(v.has(h))throw TypeError("Cannot initialize the same private elements twice on an object")})(h,v),v.set(h,P)}function hn(h,v){var P=function(h,v,P){if(!v.has(h))throw TypeError("attempted to get private field on non-instance");return v.get(h)}(h,v);return P.get?P.get.call(h):P.value}var td=new WeakMap,tp=new WeakMap;let dn=class dn extends Ne{constructor(){super(...arguments),an(this,td,{writable:!0,value:new on}),an(this,tp,{writable:!0,value:{entries:[]}})}visitEntry(h){let v=h.accept(hn(this,td));return hn(this,tp).entries.push(...v),super.visitEntry(h)}get bib(){return hn(this,tp)}};function pn(h){let v=gn(h),P=new dn;return v.accept(P),P.bib}let gn=h=>{let v=new P.InputStream(h),B=new me(v),ts=new P.CommonTokenStream(B),ti=new ve(ts);return ti.buildParseTrees=!0,ti.bibTex()},fn=h=>h.entries.map(h=>{let v={id:h.id,type:h.type,raw:h.raw};return h.fields.forEach(h=>{h.type===th?v[h.key]=En(h.value):h.type===ta&&(v[h.key]=parseInt(h.value))}),v}),En=h=>h.replaceAll(/[{}]/g,"").replace('"','\\"'),Tn=h=>{let v=pn(h);return fn(v)},xn=h=>{let v=pn(h);return v.entries.forEach(h=>delete h.raw),JSON.stringify(fn(v))}}(),v.BibtexParser=B}()},1135:function(h,v,P){"use strict";h.exports=P(8894)}}]);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.