@riligar/elysia-sqlite 1.1.0 → 1.1.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +6 -3
- package/src/ui/dist/assets/_baseUniq-CtjpPx06.js +1 -0
- package/src/ui/dist/assets/arc-BFeA2lFC.js +1 -0
- package/src/ui/dist/assets/architectureDiagram-VXUJARFQ-cJh390m5.js +36 -0
- package/src/ui/dist/assets/blockDiagram-VD42YOAC-BhDUcRai.js +122 -0
- package/src/ui/dist/assets/c4Diagram-YG6GDRKO-CMTMP654.js +10 -0
- package/src/ui/dist/assets/channel-DVo75U_z.js +1 -0
- package/src/ui/dist/assets/chunk-4BX2VUAB-hf_dt5BT.js +1 -0
- package/src/ui/dist/assets/chunk-55IACEB6-xClE-JKq.js +1 -0
- package/src/ui/dist/assets/chunk-B4BG7PRW-D6pt13Ec.js +165 -0
- package/src/ui/dist/assets/chunk-DI55MBZ5-Dj9Qg80I.js +220 -0
- package/src/ui/dist/assets/chunk-FMBD7UC4-1ZlekxIE.js +15 -0
- package/src/ui/dist/assets/chunk-QN33PNHL-DAmen2cg.js +1 -0
- package/src/ui/dist/assets/chunk-QZHKN3VN-C-3XzKoW.js +1 -0
- package/src/ui/dist/assets/chunk-TZMSLE5B-bM4mxnvE.js +1 -0
- package/src/ui/dist/assets/classDiagram-2ON5EDUG-DQalC8tR.js +1 -0
- package/src/ui/dist/assets/classDiagram-v2-WZHVMYZB-DQalC8tR.js +1 -0
- package/src/ui/dist/assets/clone-VeB9KXOY.js +1 -0
- package/src/ui/dist/assets/cose-bilkent-S5V4N54A-BxFitB5E.js +1 -0
- package/src/ui/dist/assets/cytoscape.esm-BQaXIfA_.js +331 -0
- package/src/ui/dist/assets/dagre-6UL2VRFP-DZSkvetS.js +4 -0
- package/src/ui/dist/assets/defaultLocale-C4B-KCzX.js +1 -0
- package/src/ui/dist/assets/diagram-PSM6KHXK-CYnji4ok.js +24 -0
- package/src/ui/dist/assets/diagram-QEK2KX5R-BlF0GwV_.js +43 -0
- package/src/ui/dist/assets/diagram-S2PKOQOG-BMf9iQYN.js +24 -0
- package/src/ui/dist/assets/erDiagram-Q2GNP2WA-B9nG6AIS.js +60 -0
- package/src/ui/dist/assets/flowDiagram-NV44I4VS-cRvIpj4q.js +162 -0
- package/src/ui/dist/assets/ganttDiagram-JELNMOA3-D5PauD1v.js +267 -0
- package/src/ui/dist/assets/gitGraphDiagram-NY62KEGX-BPtCepD0.js +65 -0
- package/src/ui/dist/assets/graph-C9jtFm6q.js +1 -0
- package/src/ui/dist/assets/index-D564tWvR.js +525 -0
- package/src/ui/dist/assets/index-DXG21mfz.css +1 -0
- package/src/ui/dist/assets/infoDiagram-WHAUD3N6-0hbOLvdM.js +2 -0
- package/src/ui/dist/assets/init-Gi6I4Gst.js +1 -0
- package/src/ui/dist/assets/journeyDiagram-XKPGCS4Q-CBy5upkf.js +139 -0
- package/src/ui/dist/assets/kanban-definition-3W4ZIXB7-DrobDgMJ.js +89 -0
- package/src/ui/dist/assets/katex-Cu_Erd72.js +261 -0
- package/src/ui/dist/assets/layout-DM9qC5Az.js +1 -0
- package/src/ui/dist/assets/linear-Fky2CJQk.js +1 -0
- package/src/ui/dist/assets/min-Bjr2uZ4W.js +1 -0
- package/src/ui/dist/assets/mindmap-definition-VGOIOE7T-CIlFmeVI.js +68 -0
- package/src/ui/dist/assets/ordinal-Cboi1Yqb.js +1 -0
- package/src/ui/dist/assets/pieDiagram-ADFJNKIX-DMIZSQUQ.js +30 -0
- package/src/ui/dist/assets/quadrantDiagram-AYHSOK5B-DBCuVneU.js +7 -0
- package/src/ui/dist/assets/requirementDiagram-UZGBJVZJ-Dc87Li5r.js +64 -0
- package/src/ui/dist/assets/sankeyDiagram-TZEHDZUN-SnjPjzIj.js +10 -0
- package/src/ui/dist/assets/sequenceDiagram-WL72ISMW-CegtRWdp.js +145 -0
- package/src/ui/dist/assets/stateDiagram-FKZM4ZOC-DRXLGy91.js +1 -0
- package/src/ui/dist/assets/stateDiagram-v2-4FDKWEC3-DfAIcXf2.js +1 -0
- package/src/ui/dist/assets/timeline-definition-IT6M3QCI-Dfw0Almx.js +61 -0
- package/src/ui/dist/assets/treemap-KMMF4GRG-HxWgHRrr.js +128 -0
- package/src/ui/dist/assets/xychartDiagram-PRI3JC2R-C86J7PBK.js +7 -0
- package/src/ui/{index.html → dist/index.html} +2 -1
- package/src/ui/bun.lock +0 -612
- package/src/ui/package.json +0 -29
- package/src/ui/postcss.config.cjs +0 -14
- package/src/ui/src/App.jsx +0 -2103
- package/src/ui/src/components/DataGrid.jsx +0 -122
- package/src/ui/src/components/EditableCell.jsx +0 -166
- package/src/ui/src/components/ExportButton.jsx +0 -95
- package/src/ui/src/components/FKPreview.jsx +0 -106
- package/src/ui/src/components/Filter.jsx +0 -302
- package/src/ui/src/components/HoldButton.jsx +0 -230
- package/src/ui/src/components/Login.jsx +0 -148
- package/src/ui/src/components/Onboarding.jsx +0 -127
- package/src/ui/src/components/Pagination.jsx +0 -35
- package/src/ui/src/components/SecuritySettings.jsx +0 -273
- package/src/ui/src/components/TableSelector.jsx +0 -75
- package/src/ui/src/hooks/useFilter.js +0 -120
- package/src/ui/src/index.css +0 -123
- package/src/ui/src/main.jsx +0 -115
- package/src/ui/vite.config.js +0 -19
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
var kp=Object.defineProperty;var Np=(t,e,n)=>e in t?kp(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n;var $t=(t,e,n)=>Np(t,typeof e!="symbol"?e+"":e,n);import{b8 as bp,bB as Bt}from"./index-D564tWvR.js";import{m as ot,f as Op,d as Pp}from"./min-Bjr2uZ4W.js";import{b as Lp,l as Mp,d as Dp,m as Fp,r as wl,n as ra}from"./_baseUniq-CtjpPx06.js";function Gp(t,e){return Lp(ot(t,e))}function Up(t,e){return t&&t.length?Mp(t,Dp(e)):[]}function ue(t){return typeof t=="object"&&t!==null&&typeof t.$type=="string"}function ze(t){return typeof t=="object"&&t!==null&&typeof t.$refText=="string"}function Bp(t){return typeof t=="object"&&t!==null&&typeof t.name=="string"&&typeof t.type=="string"&&typeof t.path=="string"}function Ci(t){return typeof t=="object"&&t!==null&&ue(t.container)&&ze(t.reference)&&typeof t.message=="string"}class Mf{constructor(){this.subtypes={},this.allSubtypes={}}isInstance(e,n){return ue(e)&&this.isSubtype(e.$type,n)}isSubtype(e,n){if(e===n)return!0;let r=this.subtypes[e];r||(r=this.subtypes[e]={});const i=r[n];if(i!==void 0)return i;{const s=this.computeIsSubtype(e,n);return r[n]=s,s}}getAllSubTypes(e){const n=this.allSubtypes[e];if(n)return n;{const r=this.getAllTypes(),i=[];for(const s of r)this.isSubtype(s,e)&&i.push(s);return this.allSubtypes[e]=i,i}}}function Mr(t){return typeof t=="object"&&t!==null&&Array.isArray(t.content)}function Df(t){return typeof t=="object"&&t!==null&&typeof t.tokenType=="object"}function Ff(t){return Mr(t)&&typeof t.fullText=="string"}class re{constructor(e,n){this.startFn=e,this.nextFn=n}iterator(){const e={state:this.startFn(),next:()=>this.nextFn(e.state),[Symbol.iterator]:()=>e};return e}[Symbol.iterator](){return this.iterator()}isEmpty(){return!!this.iterator().next().done}count(){const e=this.iterator();let n=0,r=e.next();for(;!r.done;)n++,r=e.next();return n}toArray(){const e=[],n=this.iterator();let r;do r=n.next(),r.value!==void 0&&e.push(r.value);while(!r.done);return e}toSet(){return new Set(this)}toMap(e,n){const r=this.map(i=>[e?e(i):i,n?n(i):i]);return new Map(r)}toString(){return this.join()}concat(e){return new re(()=>({first:this.startFn(),firstDone:!1,iterator:e[Symbol.iterator]()}),n=>{let r;if(!n.firstDone){do if(r=this.nextFn(n.first),!r.done)return r;while(!r.done);n.firstDone=!0}do if(r=n.iterator.next(),!r.done)return r;while(!r.done);return Ae})}join(e=","){const n=this.iterator();let r="",i,s=!1;do i=n.next(),i.done||(s&&(r+=e),r+=jp(i.value)),s=!0;while(!i.done);return r}indexOf(e,n=0){const r=this.iterator();let i=0,s=r.next();for(;!s.done;){if(i>=n&&s.value===e)return i;s=r.next(),i++}return-1}every(e){const n=this.iterator();let r=n.next();for(;!r.done;){if(!e(r.value))return!1;r=n.next()}return!0}some(e){const n=this.iterator();let r=n.next();for(;!r.done;){if(e(r.value))return!0;r=n.next()}return!1}forEach(e){const n=this.iterator();let r=0,i=n.next();for(;!i.done;)e(i.value,r),i=n.next(),r++}map(e){return new re(this.startFn,n=>{const{done:r,value:i}=this.nextFn(n);return r?Ae:{done:!1,value:e(i)}})}filter(e){return new re(this.startFn,n=>{let r;do if(r=this.nextFn(n),!r.done&&e(r.value))return r;while(!r.done);return Ae})}nonNullable(){return this.filter(e=>e!=null)}reduce(e,n){const r=this.iterator();let i=n,s=r.next();for(;!s.done;)i===void 0?i=s.value:i=e(i,s.value),s=r.next();return i}reduceRight(e,n){return this.recursiveReduce(this.iterator(),e,n)}recursiveReduce(e,n,r){const i=e.next();if(i.done)return r;const s=this.recursiveReduce(e,n,r);return s===void 0?i.value:n(s,i.value)}find(e){const n=this.iterator();let r=n.next();for(;!r.done;){if(e(r.value))return r.value;r=n.next()}}findIndex(e){const n=this.iterator();let r=0,i=n.next();for(;!i.done;){if(e(i.value))return r;i=n.next(),r++}return-1}includes(e){const n=this.iterator();let r=n.next();for(;!r.done;){if(r.value===e)return!0;r=n.next()}return!1}flatMap(e){return new re(()=>({this:this.startFn()}),n=>{do{if(n.iterator){const s=n.iterator.next();if(s.done)n.iterator=void 0;else return s}const{done:r,value:i}=this.nextFn(n.this);if(!r){const s=e(i);if(Wi(s))n.iterator=s[Symbol.iterator]();else return{done:!1,value:s}}}while(n.iterator);return Ae})}flat(e){if(e===void 0&&(e=1),e<=0)return this;const n=e>1?this.flat(e-1):this;return new re(()=>({this:n.startFn()}),r=>{do{if(r.iterator){const a=r.iterator.next();if(a.done)r.iterator=void 0;else return a}const{done:i,value:s}=n.nextFn(r.this);if(!i)if(Wi(s))r.iterator=s[Symbol.iterator]();else return{done:!1,value:s}}while(r.iterator);return Ae})}head(){const n=this.iterator().next();if(!n.done)return n.value}tail(e=1){return new re(()=>{const n=this.startFn();for(let r=0;r<e;r++)if(this.nextFn(n).done)return n;return n},this.nextFn)}limit(e){return new re(()=>({size:0,state:this.startFn()}),n=>(n.size++,n.size>e?Ae:this.nextFn(n.state)))}distinct(e){return new re(()=>({set:new Set,internalState:this.startFn()}),n=>{let r;do if(r=this.nextFn(n.internalState),!r.done){const i=e?e(r.value):r.value;if(!n.set.has(i))return n.set.add(i),r}while(!r.done);return Ae})}exclude(e,n){const r=new Set;for(const i of e){const s=n?n(i):i;r.add(s)}return this.filter(i=>{const s=n?n(i):i;return!r.has(s)})}}function jp(t){return typeof t=="string"?t:typeof t>"u"?"undefined":typeof t.toString=="function"?t.toString():Object.prototype.toString.call(t)}function Wi(t){return!!t&&typeof t[Symbol.iterator]=="function"}const Kp=new re(()=>{},()=>Ae),Ae=Object.freeze({done:!0,value:void 0});function ie(...t){if(t.length===1){const e=t[0];if(e instanceof re)return e;if(Wi(e))return new re(()=>e[Symbol.iterator](),n=>n.next());if(typeof e.length=="number")return new re(()=>({index:0}),n=>n.index<e.length?{done:!1,value:e[n.index++]}:Ae)}return t.length>1?new re(()=>({collIndex:0,arrIndex:0}),e=>{do{if(e.iterator){const n=e.iterator.next();if(!n.done)return n;e.iterator=void 0}if(e.array){if(e.arrIndex<e.array.length)return{done:!1,value:e.array[e.arrIndex++]};e.array=void 0,e.arrIndex=0}if(e.collIndex<t.length){const n=t[e.collIndex++];Wi(n)?e.iterator=n[Symbol.iterator]():n&&typeof n.length=="number"&&(e.array=n)}}while(e.iterator||e.array||e.collIndex<t.length);return Ae}):Kp}class No extends re{constructor(e,n,r){super(()=>({iterators:r!=null&&r.includeRoot?[[e][Symbol.iterator]()]:[n(e)[Symbol.iterator]()],pruned:!1}),i=>{for(i.pruned&&(i.iterators.pop(),i.pruned=!1);i.iterators.length>0;){const a=i.iterators[i.iterators.length-1].next();if(a.done)i.iterators.pop();else return i.iterators.push(n(a.value)[Symbol.iterator]()),a}return Ae})}iterator(){const e={state:this.startFn(),next:()=>this.nextFn(e.state),prune:()=>{e.state.pruned=!0},[Symbol.iterator]:()=>e};return e}}var Fa;(function(t){function e(s){return s.reduce((a,o)=>a+o,0)}t.sum=e;function n(s){return s.reduce((a,o)=>a*o,0)}t.product=n;function r(s){return s.reduce((a,o)=>Math.min(a,o))}t.min=r;function i(s){return s.reduce((a,o)=>Math.max(a,o))}t.max=i})(Fa||(Fa={}));function Ga(t){return new No(t,e=>Mr(e)?e.content:[],{includeRoot:!0})}function Hp(t,e){for(;t.container;)if(t=t.container,t===e)return!0;return!1}function Ua(t){return{start:{character:t.startColumn-1,line:t.startLine-1},end:{character:t.endColumn,line:t.endLine-1}}}function zi(t){if(!t)return;const{offset:e,end:n,range:r}=t;return{range:r,offset:e,end:n,length:n-e}}var st;(function(t){t[t.Before=0]="Before",t[t.After=1]="After",t[t.OverlapFront=2]="OverlapFront",t[t.OverlapBack=3]="OverlapBack",t[t.Inside=4]="Inside",t[t.Outside=5]="Outside"})(st||(st={}));function Wp(t,e){if(t.end.line<e.start.line||t.end.line===e.start.line&&t.end.character<=e.start.character)return st.Before;if(t.start.line>e.end.line||t.start.line===e.end.line&&t.start.character>=e.end.character)return st.After;const n=t.start.line>e.start.line||t.start.line===e.start.line&&t.start.character>=e.start.character,r=t.end.line<e.end.line||t.end.line===e.end.line&&t.end.character<=e.end.character;return n&&r?st.Inside:n?st.OverlapBack:r?st.OverlapFront:st.Outside}function zp(t,e){return Wp(t,e)>st.After}const Vp=/^[\w\p{L}]$/u;function qp(t,e){if(t){const n=Yp(t,!0);if(n&&Cl(n,e))return n;if(Ff(t)){const r=t.content.findIndex(i=>!i.hidden);for(let i=r-1;i>=0;i--){const s=t.content[i];if(Cl(s,e))return s}}}}function Cl(t,e){return Df(t)&&e.includes(t.tokenType.name)}function Yp(t,e=!0){for(;t.container;){const n=t.container;let r=n.content.indexOf(t);for(;r>0;){r--;const i=n.content[r];if(e||!i.hidden)return i}t=n}}class Gf extends Error{constructor(e,n){super(e?`${n} at ${e.range.start.line}:${e.range.start.character}`:n)}}function Wr(t){throw new Error("Error! The input value was not handled.")}const si="AbstractRule",ai="AbstractType",ia="Condition",kl="TypeDefinition",sa="ValueLiteral",Jn="AbstractElement";function Xp(t){return F.isInstance(t,Jn)}const oi="ArrayLiteral",li="ArrayType",Zn="BooleanLiteral";function Jp(t){return F.isInstance(t,Zn)}const Qn="Conjunction";function Zp(t){return F.isInstance(t,Qn)}const er="Disjunction";function Qp(t){return F.isInstance(t,er)}const ui="Grammar",aa="GrammarImport",tr="InferredType";function Uf(t){return F.isInstance(t,tr)}const nr="Interface";function Bf(t){return F.isInstance(t,nr)}const oa="NamedArgument",rr="Negation";function em(t){return F.isInstance(t,rr)}const ci="NumberLiteral",fi="Parameter",ir="ParameterReference";function tm(t){return F.isInstance(t,ir)}const sr="ParserRule";function Ne(t){return F.isInstance(t,sr)}const di="ReferenceType",ki="ReturnType";function nm(t){return F.isInstance(t,ki)}const ar="SimpleType";function rm(t){return F.isInstance(t,ar)}const hi="StringLiteral",dn="TerminalRule";function Qt(t){return F.isInstance(t,dn)}const or="Type";function jf(t){return F.isInstance(t,or)}const la="TypeAttribute",pi="UnionType",lr="Action";function $s(t){return F.isInstance(t,lr)}const ur="Alternatives";function Kf(t){return F.isInstance(t,ur)}const cr="Assignment";function Wt(t){return F.isInstance(t,cr)}const fr="CharacterRange";function im(t){return F.isInstance(t,fr)}const dr="CrossReference";function bo(t){return F.isInstance(t,dr)}const hr="EndOfFile";function sm(t){return F.isInstance(t,hr)}const pr="Group";function Oo(t){return F.isInstance(t,pr)}const mr="Keyword";function zt(t){return F.isInstance(t,mr)}const gr="NegatedToken";function am(t){return F.isInstance(t,gr)}const yr="RegexToken";function om(t){return F.isInstance(t,yr)}const Tr="RuleCall";function Vt(t){return F.isInstance(t,Tr)}const vr="TerminalAlternatives";function lm(t){return F.isInstance(t,vr)}const $r="TerminalGroup";function um(t){return F.isInstance(t,$r)}const Rr="TerminalRuleCall";function cm(t){return F.isInstance(t,Rr)}const Ar="UnorderedGroup";function Hf(t){return F.isInstance(t,Ar)}const Er="UntilToken";function fm(t){return F.isInstance(t,Er)}const Sr="Wildcard";function dm(t){return F.isInstance(t,Sr)}class Wf extends Mf{getAllTypes(){return[Jn,si,ai,lr,ur,oi,li,cr,Zn,fr,ia,Qn,dr,er,hr,ui,aa,pr,tr,nr,mr,oa,gr,rr,ci,fi,ir,sr,di,yr,ki,Tr,ar,hi,vr,$r,dn,Rr,or,la,kl,pi,Ar,Er,sa,Sr]}computeIsSubtype(e,n){switch(e){case lr:case ur:case cr:case fr:case dr:case hr:case pr:case mr:case gr:case yr:case Tr:case vr:case $r:case Rr:case Ar:case Er:case Sr:return this.isSubtype(Jn,n);case oi:case ci:case hi:return this.isSubtype(sa,n);case li:case di:case ar:case pi:return this.isSubtype(kl,n);case Zn:return this.isSubtype(ia,n)||this.isSubtype(sa,n);case Qn:case er:case rr:case ir:return this.isSubtype(ia,n);case tr:case nr:case or:return this.isSubtype(ai,n);case sr:return this.isSubtype(si,n)||this.isSubtype(ai,n);case dn:return this.isSubtype(si,n);default:return!1}}getReferenceType(e){const n=`${e.container.$type}:${e.property}`;switch(n){case"Action:type":case"CrossReference:type":case"Interface:superTypes":case"ParserRule:returnType":case"SimpleType:typeRef":return ai;case"Grammar:hiddenTokens":case"ParserRule:hiddenTokens":case"RuleCall:rule":return si;case"Grammar:usedGrammars":return ui;case"NamedArgument:parameter":case"ParameterReference:parameter":return fi;case"TerminalRuleCall:rule":return dn;default:throw new Error(`${n} is not a valid reference id.`)}}getTypeMetaData(e){switch(e){case Jn:return{name:Jn,properties:[{name:"cardinality"},{name:"lookahead"}]};case oi:return{name:oi,properties:[{name:"elements",defaultValue:[]}]};case li:return{name:li,properties:[{name:"elementType"}]};case Zn:return{name:Zn,properties:[{name:"true",defaultValue:!1}]};case Qn:return{name:Qn,properties:[{name:"left"},{name:"right"}]};case er:return{name:er,properties:[{name:"left"},{name:"right"}]};case ui:return{name:ui,properties:[{name:"definesHiddenTokens",defaultValue:!1},{name:"hiddenTokens",defaultValue:[]},{name:"imports",defaultValue:[]},{name:"interfaces",defaultValue:[]},{name:"isDeclared",defaultValue:!1},{name:"name"},{name:"rules",defaultValue:[]},{name:"types",defaultValue:[]},{name:"usedGrammars",defaultValue:[]}]};case aa:return{name:aa,properties:[{name:"path"}]};case tr:return{name:tr,properties:[{name:"name"}]};case nr:return{name:nr,properties:[{name:"attributes",defaultValue:[]},{name:"name"},{name:"superTypes",defaultValue:[]}]};case oa:return{name:oa,properties:[{name:"calledByName",defaultValue:!1},{name:"parameter"},{name:"value"}]};case rr:return{name:rr,properties:[{name:"value"}]};case ci:return{name:ci,properties:[{name:"value"}]};case fi:return{name:fi,properties:[{name:"name"}]};case ir:return{name:ir,properties:[{name:"parameter"}]};case sr:return{name:sr,properties:[{name:"dataType"},{name:"definesHiddenTokens",defaultValue:!1},{name:"definition"},{name:"entry",defaultValue:!1},{name:"fragment",defaultValue:!1},{name:"hiddenTokens",defaultValue:[]},{name:"inferredType"},{name:"name"},{name:"parameters",defaultValue:[]},{name:"returnType"},{name:"wildcard",defaultValue:!1}]};case di:return{name:di,properties:[{name:"referenceType"}]};case ki:return{name:ki,properties:[{name:"name"}]};case ar:return{name:ar,properties:[{name:"primitiveType"},{name:"stringType"},{name:"typeRef"}]};case hi:return{name:hi,properties:[{name:"value"}]};case dn:return{name:dn,properties:[{name:"definition"},{name:"fragment",defaultValue:!1},{name:"hidden",defaultValue:!1},{name:"name"},{name:"type"}]};case or:return{name:or,properties:[{name:"name"},{name:"type"}]};case la:return{name:la,properties:[{name:"defaultValue"},{name:"isOptional",defaultValue:!1},{name:"name"},{name:"type"}]};case pi:return{name:pi,properties:[{name:"types",defaultValue:[]}]};case lr:return{name:lr,properties:[{name:"cardinality"},{name:"feature"},{name:"inferredType"},{name:"lookahead"},{name:"operator"},{name:"type"}]};case ur:return{name:ur,properties:[{name:"cardinality"},{name:"elements",defaultValue:[]},{name:"lookahead"}]};case cr:return{name:cr,properties:[{name:"cardinality"},{name:"feature"},{name:"lookahead"},{name:"operator"},{name:"terminal"}]};case fr:return{name:fr,properties:[{name:"cardinality"},{name:"left"},{name:"lookahead"},{name:"right"}]};case dr:return{name:dr,properties:[{name:"cardinality"},{name:"deprecatedSyntax",defaultValue:!1},{name:"lookahead"},{name:"terminal"},{name:"type"}]};case hr:return{name:hr,properties:[{name:"cardinality"},{name:"lookahead"}]};case pr:return{name:pr,properties:[{name:"cardinality"},{name:"elements",defaultValue:[]},{name:"guardCondition"},{name:"lookahead"}]};case mr:return{name:mr,properties:[{name:"cardinality"},{name:"lookahead"},{name:"value"}]};case gr:return{name:gr,properties:[{name:"cardinality"},{name:"lookahead"},{name:"terminal"}]};case yr:return{name:yr,properties:[{name:"cardinality"},{name:"lookahead"},{name:"regex"}]};case Tr:return{name:Tr,properties:[{name:"arguments",defaultValue:[]},{name:"cardinality"},{name:"lookahead"},{name:"rule"}]};case vr:return{name:vr,properties:[{name:"cardinality"},{name:"elements",defaultValue:[]},{name:"lookahead"}]};case $r:return{name:$r,properties:[{name:"cardinality"},{name:"elements",defaultValue:[]},{name:"lookahead"}]};case Rr:return{name:Rr,properties:[{name:"cardinality"},{name:"lookahead"},{name:"rule"}]};case Ar:return{name:Ar,properties:[{name:"cardinality"},{name:"elements",defaultValue:[]},{name:"lookahead"}]};case Er:return{name:Er,properties:[{name:"cardinality"},{name:"lookahead"},{name:"terminal"}]};case Sr:return{name:Sr,properties:[{name:"cardinality"},{name:"lookahead"}]};default:return{name:e,properties:[]}}}}const F=new Wf;function hm(t){for(const[e,n]of Object.entries(t))e.startsWith("$")||(Array.isArray(n)?n.forEach((r,i)=>{ue(r)&&(r.$container=t,r.$containerProperty=e,r.$containerIndex=i)}):ue(n)&&(n.$container=t,n.$containerProperty=e))}function Rs(t,e){let n=t;for(;n;){if(e(n))return n;n=n.$container}}function At(t){const n=Ba(t).$document;if(!n)throw new Error("AST node has no document.");return n}function Ba(t){for(;t.$container;)t=t.$container;return t}function Po(t,e){if(!t)throw new Error("Node must be an AstNode.");const n=e==null?void 0:e.range;return new re(()=>({keys:Object.keys(t),keyIndex:0,arrayIndex:0}),r=>{for(;r.keyIndex<r.keys.length;){const i=r.keys[r.keyIndex];if(!i.startsWith("$")){const s=t[i];if(ue(s)){if(r.keyIndex++,Nl(s,n))return{done:!1,value:s}}else if(Array.isArray(s)){for(;r.arrayIndex<s.length;){const a=r.arrayIndex++,o=s[a];if(ue(o)&&Nl(o,n))return{done:!1,value:o}}r.arrayIndex=0}}r.keyIndex++}return Ae})}function zr(t,e){if(!t)throw new Error("Root node must be an AstNode.");return new No(t,n=>Po(n,e))}function pn(t,e){if(!t)throw new Error("Root node must be an AstNode.");return new No(t,n=>Po(n,e),{includeRoot:!0})}function Nl(t,e){var n;if(!e)return!0;const r=(n=t.$cstNode)===null||n===void 0?void 0:n.range;return r?zp(r,e):!1}function zf(t){return new re(()=>({keys:Object.keys(t),keyIndex:0,arrayIndex:0}),e=>{for(;e.keyIndex<e.keys.length;){const n=e.keys[e.keyIndex];if(!n.startsWith("$")){const r=t[n];if(ze(r))return e.keyIndex++,{done:!1,value:{reference:r,container:t,property:n}};if(Array.isArray(r)){for(;e.arrayIndex<r.length;){const i=e.arrayIndex++,s=r[i];if(ze(s))return{done:!1,value:{reference:s,container:t,property:n,index:i}}}e.arrayIndex=0}}e.keyIndex++}return Ae})}function pm(t,e){const n=t.getTypeMetaData(e.$type),r=e;for(const i of n.properties)i.defaultValue!==void 0&&r[i.name]===void 0&&(r[i.name]=Vf(i.defaultValue))}function Vf(t){return Array.isArray(t)?[...t.map(Vf)]:t}function C(t){return t.charCodeAt(0)}function ua(t,e){Array.isArray(t)?t.forEach(function(n){e.push(n)}):e.push(t)}function zn(t,e){if(t[e]===!0)throw"duplicate flag "+e;t[e],t[e]=!0}function fn(t){if(t===void 0)throw Error("Internal Error - Should never get here!");return!0}function mm(){throw Error("Internal Error - Should never get here!")}function bl(t){return t.type==="Character"}const Vi=[];for(let t=C("0");t<=C("9");t++)Vi.push(t);const qi=[C("_")].concat(Vi);for(let t=C("a");t<=C("z");t++)qi.push(t);for(let t=C("A");t<=C("Z");t++)qi.push(t);const Ol=[C(" "),C("\f"),C(`
|
|
2
|
+
`),C("\r"),C(" "),C("\v"),C(" "),C(" "),C(" "),C(" "),C(" "),C(" "),C(" "),C(" "),C(" "),C(" "),C(" "),C(" "),C(" "),C(" "),C("\u2028"),C("\u2029"),C(" "),C(" "),C(" "),C("\uFEFF")],gm=/[0-9a-fA-F]/,mi=/[0-9]/,ym=/[1-9]/;class qf{constructor(){this.idx=0,this.input="",this.groupIdx=0}saveState(){return{idx:this.idx,input:this.input,groupIdx:this.groupIdx}}restoreState(e){this.idx=e.idx,this.input=e.input,this.groupIdx=e.groupIdx}pattern(e){this.idx=0,this.input=e,this.groupIdx=0,this.consumeChar("/");const n=this.disjunction();this.consumeChar("/");const r={type:"Flags",loc:{begin:this.idx,end:e.length},global:!1,ignoreCase:!1,multiLine:!1,unicode:!1,sticky:!1};for(;this.isRegExpFlag();)switch(this.popChar()){case"g":zn(r,"global");break;case"i":zn(r,"ignoreCase");break;case"m":zn(r,"multiLine");break;case"u":zn(r,"unicode");break;case"y":zn(r,"sticky");break}if(this.idx!==this.input.length)throw Error("Redundant input: "+this.input.substring(this.idx));return{type:"Pattern",flags:r,value:n,loc:this.loc(0)}}disjunction(){const e=[],n=this.idx;for(e.push(this.alternative());this.peekChar()==="|";)this.consumeChar("|"),e.push(this.alternative());return{type:"Disjunction",value:e,loc:this.loc(n)}}alternative(){const e=[],n=this.idx;for(;this.isTerm();)e.push(this.term());return{type:"Alternative",value:e,loc:this.loc(n)}}term(){return this.isAssertion()?this.assertion():this.atom()}assertion(){const e=this.idx;switch(this.popChar()){case"^":return{type:"StartAnchor",loc:this.loc(e)};case"$":return{type:"EndAnchor",loc:this.loc(e)};case"\\":switch(this.popChar()){case"b":return{type:"WordBoundary",loc:this.loc(e)};case"B":return{type:"NonWordBoundary",loc:this.loc(e)}}throw Error("Invalid Assertion Escape");case"(":this.consumeChar("?");let n;switch(this.popChar()){case"=":n="Lookahead";break;case"!":n="NegativeLookahead";break}fn(n);const r=this.disjunction();return this.consumeChar(")"),{type:n,value:r,loc:this.loc(e)}}return mm()}quantifier(e=!1){let n;const r=this.idx;switch(this.popChar()){case"*":n={atLeast:0,atMost:1/0};break;case"+":n={atLeast:1,atMost:1/0};break;case"?":n={atLeast:0,atMost:1};break;case"{":const i=this.integerIncludingZero();switch(this.popChar()){case"}":n={atLeast:i,atMost:i};break;case",":let s;this.isDigit()?(s=this.integerIncludingZero(),n={atLeast:i,atMost:s}):n={atLeast:i,atMost:1/0},this.consumeChar("}");break}if(e===!0&&n===void 0)return;fn(n);break}if(!(e===!0&&n===void 0)&&fn(n))return this.peekChar(0)==="?"?(this.consumeChar("?"),n.greedy=!1):n.greedy=!0,n.type="Quantifier",n.loc=this.loc(r),n}atom(){let e;const n=this.idx;switch(this.peekChar()){case".":e=this.dotAll();break;case"\\":e=this.atomEscape();break;case"[":e=this.characterClass();break;case"(":e=this.group();break}if(e===void 0&&this.isPatternCharacter()&&(e=this.patternCharacter()),fn(e))return e.loc=this.loc(n),this.isQuantifier()&&(e.quantifier=this.quantifier()),e}dotAll(){return this.consumeChar("."),{type:"Set",complement:!0,value:[C(`
|
|
3
|
+
`),C("\r"),C("\u2028"),C("\u2029")]}}atomEscape(){switch(this.consumeChar("\\"),this.peekChar()){case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":return this.decimalEscapeAtom();case"d":case"D":case"s":case"S":case"w":case"W":return this.characterClassEscape();case"f":case"n":case"r":case"t":case"v":return this.controlEscapeAtom();case"c":return this.controlLetterEscapeAtom();case"0":return this.nulCharacterAtom();case"x":return this.hexEscapeSequenceAtom();case"u":return this.regExpUnicodeEscapeSequenceAtom();default:return this.identityEscapeAtom()}}decimalEscapeAtom(){return{type:"GroupBackReference",value:this.positiveInteger()}}characterClassEscape(){let e,n=!1;switch(this.popChar()){case"d":e=Vi;break;case"D":e=Vi,n=!0;break;case"s":e=Ol;break;case"S":e=Ol,n=!0;break;case"w":e=qi;break;case"W":e=qi,n=!0;break}if(fn(e))return{type:"Set",value:e,complement:n}}controlEscapeAtom(){let e;switch(this.popChar()){case"f":e=C("\f");break;case"n":e=C(`
|
|
4
|
+
`);break;case"r":e=C("\r");break;case"t":e=C(" ");break;case"v":e=C("\v");break}if(fn(e))return{type:"Character",value:e}}controlLetterEscapeAtom(){this.consumeChar("c");const e=this.popChar();if(/[a-zA-Z]/.test(e)===!1)throw Error("Invalid ");return{type:"Character",value:e.toUpperCase().charCodeAt(0)-64}}nulCharacterAtom(){return this.consumeChar("0"),{type:"Character",value:C("\0")}}hexEscapeSequenceAtom(){return this.consumeChar("x"),this.parseHexDigits(2)}regExpUnicodeEscapeSequenceAtom(){return this.consumeChar("u"),this.parseHexDigits(4)}identityEscapeAtom(){const e=this.popChar();return{type:"Character",value:C(e)}}classPatternCharacterAtom(){switch(this.peekChar()){case`
|
|
5
|
+
`:case"\r":case"\u2028":case"\u2029":case"\\":case"]":throw Error("TBD");default:const e=this.popChar();return{type:"Character",value:C(e)}}}characterClass(){const e=[];let n=!1;for(this.consumeChar("["),this.peekChar(0)==="^"&&(this.consumeChar("^"),n=!0);this.isClassAtom();){const r=this.classAtom();if(r.type,bl(r)&&this.isRangeDash()){this.consumeChar("-");const i=this.classAtom();if(i.type,bl(i)){if(i.value<r.value)throw Error("Range out of order in character class");e.push({from:r.value,to:i.value})}else ua(r.value,e),e.push(C("-")),ua(i.value,e)}else ua(r.value,e)}return this.consumeChar("]"),{type:"Set",complement:n,value:e}}classAtom(){switch(this.peekChar()){case"]":case`
|
|
6
|
+
`:case"\r":case"\u2028":case"\u2029":throw Error("TBD");case"\\":return this.classEscape();default:return this.classPatternCharacterAtom()}}classEscape(){switch(this.consumeChar("\\"),this.peekChar()){case"b":return this.consumeChar("b"),{type:"Character",value:C("\b")};case"d":case"D":case"s":case"S":case"w":case"W":return this.characterClassEscape();case"f":case"n":case"r":case"t":case"v":return this.controlEscapeAtom();case"c":return this.controlLetterEscapeAtom();case"0":return this.nulCharacterAtom();case"x":return this.hexEscapeSequenceAtom();case"u":return this.regExpUnicodeEscapeSequenceAtom();default:return this.identityEscapeAtom()}}group(){let e=!0;switch(this.consumeChar("("),this.peekChar(0)){case"?":this.consumeChar("?"),this.consumeChar(":"),e=!1;break;default:this.groupIdx++;break}const n=this.disjunction();this.consumeChar(")");const r={type:"Group",capturing:e,value:n};return e&&(r.idx=this.groupIdx),r}positiveInteger(){let e=this.popChar();if(ym.test(e)===!1)throw Error("Expecting a positive integer");for(;mi.test(this.peekChar(0));)e+=this.popChar();return parseInt(e,10)}integerIncludingZero(){let e=this.popChar();if(mi.test(e)===!1)throw Error("Expecting an integer");for(;mi.test(this.peekChar(0));)e+=this.popChar();return parseInt(e,10)}patternCharacter(){const e=this.popChar();switch(e){case`
|
|
7
|
+
`:case"\r":case"\u2028":case"\u2029":case"^":case"$":case"\\":case".":case"*":case"+":case"?":case"(":case")":case"[":case"|":throw Error("TBD");default:return{type:"Character",value:C(e)}}}isRegExpFlag(){switch(this.peekChar(0)){case"g":case"i":case"m":case"u":case"y":return!0;default:return!1}}isRangeDash(){return this.peekChar()==="-"&&this.isClassAtom(1)}isDigit(){return mi.test(this.peekChar(0))}isClassAtom(e=0){switch(this.peekChar(e)){case"]":case`
|
|
8
|
+
`:case"\r":case"\u2028":case"\u2029":return!1;default:return!0}}isTerm(){return this.isAtom()||this.isAssertion()}isAtom(){if(this.isPatternCharacter())return!0;switch(this.peekChar(0)){case".":case"\\":case"[":case"(":return!0;default:return!1}}isAssertion(){switch(this.peekChar(0)){case"^":case"$":return!0;case"\\":switch(this.peekChar(1)){case"b":case"B":return!0;default:return!1}case"(":return this.peekChar(1)==="?"&&(this.peekChar(2)==="="||this.peekChar(2)==="!");default:return!1}}isQuantifier(){const e=this.saveState();try{return this.quantifier(!0)!==void 0}catch{return!1}finally{this.restoreState(e)}}isPatternCharacter(){switch(this.peekChar()){case"^":case"$":case"\\":case".":case"*":case"+":case"?":case"(":case")":case"[":case"|":case"/":case`
|
|
9
|
+
`:case"\r":case"\u2028":case"\u2029":return!1;default:return!0}}parseHexDigits(e){let n="";for(let i=0;i<e;i++){const s=this.popChar();if(gm.test(s)===!1)throw Error("Expecting a HexDecimal digits");n+=s}return{type:"Character",value:parseInt(n,16)}}peekChar(e=0){return this.input[this.idx+e]}popChar(){const e=this.peekChar(0);return this.consumeChar(void 0),e}consumeChar(e){if(e!==void 0&&this.input[this.idx]!==e)throw Error("Expected: '"+e+"' but found: '"+this.input[this.idx]+"' at offset: "+this.idx);if(this.idx>=this.input.length)throw Error("Unexpected end of input");this.idx++}loc(e){return{begin:e,end:this.idx}}}class As{visitChildren(e){for(const n in e){const r=e[n];e.hasOwnProperty(n)&&(r.type!==void 0?this.visit(r):Array.isArray(r)&&r.forEach(i=>{this.visit(i)},this))}}visit(e){switch(e.type){case"Pattern":this.visitPattern(e);break;case"Flags":this.visitFlags(e);break;case"Disjunction":this.visitDisjunction(e);break;case"Alternative":this.visitAlternative(e);break;case"StartAnchor":this.visitStartAnchor(e);break;case"EndAnchor":this.visitEndAnchor(e);break;case"WordBoundary":this.visitWordBoundary(e);break;case"NonWordBoundary":this.visitNonWordBoundary(e);break;case"Lookahead":this.visitLookahead(e);break;case"NegativeLookahead":this.visitNegativeLookahead(e);break;case"Character":this.visitCharacter(e);break;case"Set":this.visitSet(e);break;case"Group":this.visitGroup(e);break;case"GroupBackReference":this.visitGroupBackReference(e);break;case"Quantifier":this.visitQuantifier(e);break}this.visitChildren(e)}visitPattern(e){}visitFlags(e){}visitDisjunction(e){}visitAlternative(e){}visitStartAnchor(e){}visitEndAnchor(e){}visitWordBoundary(e){}visitNonWordBoundary(e){}visitLookahead(e){}visitNegativeLookahead(e){}visitCharacter(e){}visitSet(e){}visitGroup(e){}visitGroupBackReference(e){}visitQuantifier(e){}}const Tm=/\r?\n/gm,vm=new qf;class $m extends As{constructor(){super(...arguments),this.isStarting=!0,this.endRegexpStack=[],this.multiline=!1}get endRegex(){return this.endRegexpStack.join("")}reset(e){this.multiline=!1,this.regex=e,this.startRegexp="",this.isStarting=!0,this.endRegexpStack=[]}visitGroup(e){e.quantifier&&(this.isStarting=!1,this.endRegexpStack=[])}visitCharacter(e){const n=String.fromCharCode(e.value);if(!this.multiline&&n===`
|
|
10
|
+
`&&(this.multiline=!0),e.quantifier)this.isStarting=!1,this.endRegexpStack=[];else{const r=Es(n);this.endRegexpStack.push(r),this.isStarting&&(this.startRegexp+=r)}}visitSet(e){if(!this.multiline){const n=this.regex.substring(e.loc.begin,e.loc.end),r=new RegExp(n);this.multiline=!!`
|
|
11
|
+
`.match(r)}if(e.quantifier)this.isStarting=!1,this.endRegexpStack=[];else{const n=this.regex.substring(e.loc.begin,e.loc.end);this.endRegexpStack.push(n),this.isStarting&&(this.startRegexp+=n)}}visitChildren(e){e.type==="Group"&&e.quantifier||super.visitChildren(e)}}const ca=new $m;function Rm(t){try{return typeof t=="string"&&(t=new RegExp(t)),t=t.toString(),ca.reset(t),ca.visit(vm.pattern(t)),ca.multiline}catch{return!1}}const Am=`\f
|
|
12
|
+
\r \v \u2028\u2029 \uFEFF`.split("");function ja(t){const e=typeof t=="string"?new RegExp(t):t;return Am.some(n=>e.test(n))}function Es(t){return t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function Em(t){return Array.prototype.map.call(t,e=>/\w/.test(e)?`[${e.toLowerCase()}${e.toUpperCase()}]`:Es(e)).join("")}function Sm(t,e){const n=xm(t),r=e.match(n);return!!r&&r[0].length>0}function xm(t){typeof t=="string"&&(t=new RegExp(t));const e=t,n=t.source;let r=0;function i(){let s="",a;function o(u){s+=n.substr(r,u),r+=u}function l(u){s+="(?:"+n.substr(r,u)+"|$)",r+=u}for(;r<n.length;)switch(n[r]){case"\\":switch(n[r+1]){case"c":l(3);break;case"x":l(4);break;case"u":e.unicode?n[r+2]==="{"?l(n.indexOf("}",r)-r+1):l(6):l(2);break;case"p":case"P":e.unicode?l(n.indexOf("}",r)-r+1):l(2);break;case"k":l(n.indexOf(">",r)-r+1);break;default:l(2);break}break;case"[":a=/\[(?:\\.|.)*?\]/g,a.lastIndex=r,a=a.exec(n)||[],l(a[0].length);break;case"|":case"^":case"$":case"*":case"+":case"?":o(1);break;case"{":a=/\{\d+,?\d*\}/g,a.lastIndex=r,a=a.exec(n),a?o(a[0].length):l(1);break;case"(":if(n[r+1]==="?")switch(n[r+2]){case":":s+="(?:",r+=3,s+=i()+"|$)";break;case"=":s+="(?=",r+=3,s+=i()+")";break;case"!":a=r,r+=3,i(),s+=n.substr(a,r-a);break;case"<":switch(n[r+3]){case"=":case"!":a=r,r+=4,i(),s+=n.substr(a,r-a);break;default:o(n.indexOf(">",r)-r+1),s+=i()+"|$)";break}break}else o(1),s+=i()+"|$)";break;case")":return++r,s;default:l(1);break}return s}return new RegExp(i(),t.flags)}function _m(t){return t.rules.find(e=>Ne(e)&&e.entry)}function Im(t){return t.rules.filter(e=>Qt(e)&&e.hidden)}function Yf(t,e){const n=new Set,r=_m(t);if(!r)return new Set(t.rules);const i=[r].concat(Im(t));for(const a of i)Xf(a,n,e);const s=new Set;for(const a of t.rules)(n.has(a.name)||Qt(a)&&a.hidden)&&s.add(a);return s}function Xf(t,e,n){e.add(t.name),zr(t).forEach(r=>{if(Vt(r)||n){const i=r.rule.ref;i&&!e.has(i.name)&&Xf(i,e,n)}})}function wm(t){if(t.terminal)return t.terminal;if(t.type.ref){const e=Zf(t.type.ref);return e==null?void 0:e.terminal}}function Cm(t){return t.hidden&&!ja(Fo(t))}function km(t,e){return!t||!e?[]:Lo(t,e,t.astNode,!0)}function Jf(t,e,n){if(!t||!e)return;const r=Lo(t,e,t.astNode,!0);if(r.length!==0)return n!==void 0?n=Math.max(0,Math.min(n,r.length-1)):n=0,r[n]}function Lo(t,e,n,r){if(!r){const i=Rs(t.grammarSource,Wt);if(i&&i.feature===e)return[t]}return Mr(t)&&t.astNode===n?t.content.flatMap(i=>Lo(i,e,n,!1)):[]}function Nm(t,e,n){if(!t)return;const r=bm(t,e,t==null?void 0:t.astNode);if(r.length!==0)return n!==void 0?n=Math.max(0,Math.min(n,r.length-1)):n=0,r[n]}function bm(t,e,n){if(t.astNode!==n)return[];if(zt(t.grammarSource)&&t.grammarSource.value===e)return[t];const r=Ga(t).iterator();let i;const s=[];do if(i=r.next(),!i.done){const a=i.value;a.astNode===n?zt(a.grammarSource)&&a.grammarSource.value===e&&s.push(a):r.prune()}while(!i.done);return s}function Om(t){var e;const n=t.astNode;for(;n===((e=t.container)===null||e===void 0?void 0:e.astNode);){const r=Rs(t.grammarSource,Wt);if(r)return r;t=t.container}}function Zf(t){let e=t;return Uf(e)&&($s(e.$container)?e=e.$container.$container:Ne(e.$container)?e=e.$container:Wr(e.$container)),Qf(t,e,new Map)}function Qf(t,e,n){var r;function i(s,a){let o;return Rs(s,Wt)||(o=Qf(a,a,n)),n.set(t,o),o}if(n.has(t))return n.get(t);n.set(t,void 0);for(const s of zr(e)){if(Wt(s)&&s.feature.toLowerCase()==="name")return n.set(t,s),s;if(Vt(s)&&Ne(s.rule.ref))return i(s,s.rule.ref);if(rm(s)&&(!((r=s.typeRef)===null||r===void 0)&&r.ref))return i(s,s.typeRef.ref)}}function ed(t){return td(t,new Set)}function td(t,e){if(e.has(t))return!0;e.add(t);for(const n of zr(t))if(Vt(n)){if(!n.rule.ref||Ne(n.rule.ref)&&!td(n.rule.ref,e))return!1}else{if(Wt(n))return!1;if($s(n))return!1}return!!t.definition}function Mo(t){if(t.inferredType)return t.inferredType.name;if(t.dataType)return t.dataType;if(t.returnType){const e=t.returnType.ref;if(e){if(Ne(e))return e.name;if(Bf(e)||jf(e))return e.name}}}function Do(t){var e;if(Ne(t))return ed(t)?t.name:(e=Mo(t))!==null&&e!==void 0?e:t.name;if(Bf(t)||jf(t)||nm(t))return t.name;if($s(t)){const n=Pm(t);if(n)return n}else if(Uf(t))return t.name;throw new Error("Cannot get name of Unknown Type")}function Pm(t){var e;if(t.inferredType)return t.inferredType.name;if(!((e=t.type)===null||e===void 0)&&e.ref)return Do(t.type.ref)}function Lm(t){var e,n,r;return Qt(t)?(n=(e=t.type)===null||e===void 0?void 0:e.name)!==null&&n!==void 0?n:"string":(r=Mo(t))!==null&&r!==void 0?r:t.name}function Fo(t){const e={s:!1,i:!1,u:!1},n=jn(t.definition,e),r=Object.entries(e).filter(([,i])=>i).map(([i])=>i).join("");return new RegExp(n,r)}const Go=/[\s\S]/.source;function jn(t,e){if(lm(t))return Mm(t);if(um(t))return Dm(t);if(im(t))return Um(t);if(cm(t)){const n=t.rule.ref;if(!n)throw new Error("Missing rule reference.");return lt(jn(n.definition),{cardinality:t.cardinality,lookahead:t.lookahead})}else{if(am(t))return Gm(t);if(fm(t))return Fm(t);if(om(t)){const n=t.regex.lastIndexOf("/"),r=t.regex.substring(1,n),i=t.regex.substring(n+1);return e&&(e.i=i.includes("i"),e.s=i.includes("s"),e.u=i.includes("u")),lt(r,{cardinality:t.cardinality,lookahead:t.lookahead,wrap:!1})}else{if(dm(t))return lt(Go,{cardinality:t.cardinality,lookahead:t.lookahead});throw new Error(`Invalid terminal element: ${t==null?void 0:t.$type}`)}}}function Mm(t){return lt(t.elements.map(e=>jn(e)).join("|"),{cardinality:t.cardinality,lookahead:t.lookahead})}function Dm(t){return lt(t.elements.map(e=>jn(e)).join(""),{cardinality:t.cardinality,lookahead:t.lookahead})}function Fm(t){return lt(`${Go}*?${jn(t.terminal)}`,{cardinality:t.cardinality,lookahead:t.lookahead})}function Gm(t){return lt(`(?!${jn(t.terminal)})${Go}*?`,{cardinality:t.cardinality,lookahead:t.lookahead})}function Um(t){return t.right?lt(`[${fa(t.left)}-${fa(t.right)}]`,{cardinality:t.cardinality,lookahead:t.lookahead,wrap:!1}):lt(fa(t.left),{cardinality:t.cardinality,lookahead:t.lookahead,wrap:!1})}function fa(t){return Es(t.value)}function lt(t,e){var n;return(e.wrap!==!1||e.lookahead)&&(t=`(${(n=e.lookahead)!==null&&n!==void 0?n:""}${t})`),e.cardinality?`${t}${e.cardinality}`:t}function Bm(t){const e=[],n=t.Grammar;for(const r of n.rules)Qt(r)&&Cm(r)&&Rm(Fo(r))&&e.push(r.name);return{multilineCommentRules:e,nameRegexp:Vp}}var nd=typeof global=="object"&&global&&global.Object===Object&&global,jm=typeof self=="object"&&self&&self.Object===Object&&self,Ye=nd||jm||Function("return this")(),be=Ye.Symbol,rd=Object.prototype,Km=rd.hasOwnProperty,Hm=rd.toString,Vn=be?be.toStringTag:void 0;function Wm(t){var e=Km.call(t,Vn),n=t[Vn];try{t[Vn]=void 0;var r=!0}catch{}var i=Hm.call(t);return r&&(e?t[Vn]=n:delete t[Vn]),i}var zm=Object.prototype,Vm=zm.toString;function qm(t){return Vm.call(t)}var Ym="[object Null]",Xm="[object Undefined]",Pl=be?be.toStringTag:void 0;function Nt(t){return t==null?t===void 0?Xm:Ym:Pl&&Pl in Object(t)?Wm(t):qm(t)}function Ue(t){return t!=null&&typeof t=="object"}var Jm="[object Symbol]";function Ss(t){return typeof t=="symbol"||Ue(t)&&Nt(t)==Jm}function xs(t,e){for(var n=-1,r=t==null?0:t.length,i=Array(r);++n<r;)i[n]=e(t[n],n,t);return i}var M=Array.isArray,Ll=be?be.prototype:void 0,Ml=Ll?Ll.toString:void 0;function id(t){if(typeof t=="string")return t;if(M(t))return xs(t,id)+"";if(Ss(t))return Ml?Ml.call(t):"";var e=t+"";return e=="0"&&1/t==-1/0?"-0":e}var Zm=/\s/;function Qm(t){for(var e=t.length;e--&&Zm.test(t.charAt(e)););return e}var eg=/^\s+/;function tg(t){return t&&t.slice(0,Qm(t)+1).replace(eg,"")}function Oe(t){var e=typeof t;return t!=null&&(e=="object"||e=="function")}var Dl=NaN,ng=/^[-+]0x[0-9a-f]+$/i,rg=/^0b[01]+$/i,ig=/^0o[0-7]+$/i,sg=parseInt;function ag(t){if(typeof t=="number")return t;if(Ss(t))return Dl;if(Oe(t)){var e=typeof t.valueOf=="function"?t.valueOf():t;t=Oe(e)?e+"":e}if(typeof t!="string")return t===0?t:+t;t=tg(t);var n=rg.test(t);return n||ig.test(t)?sg(t.slice(2),n?2:8):ng.test(t)?Dl:+t}var Fl=1/0,og=17976931348623157e292;function lg(t){if(!t)return t===0?t:0;if(t=ag(t),t===Fl||t===-Fl){var e=t<0?-1:1;return e*og}return t===t?t:0}function _s(t){var e=lg(t),n=e%1;return e===e?n?e-n:e:0}function Pn(t){return t}var ug="[object AsyncFunction]",cg="[object Function]",fg="[object GeneratorFunction]",dg="[object Proxy]";function ht(t){if(!Oe(t))return!1;var e=Nt(t);return e==cg||e==fg||e==ug||e==dg}var da=Ye["__core-js_shared__"],Gl=(function(){var t=/[^.]+$/.exec(da&&da.keys&&da.keys.IE_PROTO||"");return t?"Symbol(src)_1."+t:""})();function hg(t){return!!Gl&&Gl in t}var pg=Function.prototype,mg=pg.toString;function en(t){if(t!=null){try{return mg.call(t)}catch{}try{return t+""}catch{}}return""}var gg=/[\\^$.*+?()[\]{}|]/g,yg=/^\[object .+?Constructor\]$/,Tg=Function.prototype,vg=Object.prototype,$g=Tg.toString,Rg=vg.hasOwnProperty,Ag=RegExp("^"+$g.call(Rg).replace(gg,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function Eg(t){if(!Oe(t)||hg(t))return!1;var e=ht(t)?Ag:yg;return e.test(en(t))}function Sg(t,e){return t==null?void 0:t[e]}function tn(t,e){var n=Sg(t,e);return Eg(n)?n:void 0}var Ka=tn(Ye,"WeakMap"),Ul=Object.create,xg=(function(){function t(){}return function(e){if(!Oe(e))return{};if(Ul)return Ul(e);t.prototype=e;var n=new t;return t.prototype=void 0,n}})();function _g(t,e,n){switch(n.length){case 0:return t.call(e);case 1:return t.call(e,n[0]);case 2:return t.call(e,n[0],n[1]);case 3:return t.call(e,n[0],n[1],n[2])}return t.apply(e,n)}function J(){}function Ig(t,e){var n=-1,r=t.length;for(e||(e=Array(r));++n<r;)e[n]=t[n];return e}var wg=800,Cg=16,kg=Date.now;function Ng(t){var e=0,n=0;return function(){var r=kg(),i=Cg-(r-n);if(n=r,i>0){if(++e>=wg)return arguments[0]}else e=0;return t.apply(void 0,arguments)}}function bg(t){return function(){return t}}var Yi=(function(){try{var t=tn(Object,"defineProperty");return t({},"",{}),t}catch{}})(),Og=Yi?function(t,e){return Yi(t,"toString",{configurable:!0,enumerable:!1,value:bg(e),writable:!0})}:Pn,Pg=Ng(Og);function sd(t,e){for(var n=-1,r=t==null?0:t.length;++n<r&&e(t[n],n,t)!==!1;);return t}function ad(t,e,n,r){for(var i=t.length,s=n+-1;++s<i;)if(e(t[s],s,t))return s;return-1}function Lg(t){return t!==t}function Mg(t,e,n){for(var r=n-1,i=t.length;++r<i;)if(t[r]===e)return r;return-1}function Uo(t,e,n){return e===e?Mg(t,e,n):ad(t,Lg,n)}function od(t,e){var n=t==null?0:t.length;return!!n&&Uo(t,e,0)>-1}var Dg=9007199254740991,Fg=/^(?:0|[1-9]\d*)$/;function Is(t,e){var n=typeof t;return e=e??Dg,!!e&&(n=="number"||n!="symbol"&&Fg.test(t))&&t>-1&&t%1==0&&t<e}function Bo(t,e,n){e=="__proto__"&&Yi?Yi(t,e,{configurable:!0,enumerable:!0,value:n,writable:!0}):t[e]=n}function Vr(t,e){return t===e||t!==t&&e!==e}var Gg=Object.prototype,Ug=Gg.hasOwnProperty;function ws(t,e,n){var r=t[e];(!(Ug.call(t,e)&&Vr(r,n))||n===void 0&&!(e in t))&&Bo(t,e,n)}function qr(t,e,n,r){var i=!n;n||(n={});for(var s=-1,a=e.length;++s<a;){var o=e[s],l=void 0;l===void 0&&(l=t[o]),i?Bo(n,o,l):ws(n,o,l)}return n}var Bl=Math.max;function Bg(t,e,n){return e=Bl(e===void 0?t.length-1:e,0),function(){for(var r=arguments,i=-1,s=Bl(r.length-e,0),a=Array(s);++i<s;)a[i]=r[e+i];i=-1;for(var o=Array(e+1);++i<e;)o[i]=r[i];return o[e]=n(a),_g(t,this,o)}}function jo(t,e){return Pg(Bg(t,e,Pn),t+"")}var jg=9007199254740991;function Ko(t){return typeof t=="number"&&t>-1&&t%1==0&&t<=jg}function Xe(t){return t!=null&&Ko(t.length)&&!ht(t)}function ld(t,e,n){if(!Oe(n))return!1;var r=typeof e;return(r=="number"?Xe(n)&&Is(e,n.length):r=="string"&&e in n)?Vr(n[e],t):!1}function Kg(t){return jo(function(e,n){var r=-1,i=n.length,s=i>1?n[i-1]:void 0,a=i>2?n[2]:void 0;for(s=t.length>3&&typeof s=="function"?(i--,s):void 0,a&&ld(n[0],n[1],a)&&(s=i<3?void 0:s,i=1),e=Object(e);++r<i;){var o=n[r];o&&t(e,o,r,s)}return e})}var Hg=Object.prototype;function Yr(t){var e=t&&t.constructor,n=typeof e=="function"&&e.prototype||Hg;return t===n}function Wg(t,e){for(var n=-1,r=Array(t);++n<t;)r[n]=e(n);return r}var zg="[object Arguments]";function jl(t){return Ue(t)&&Nt(t)==zg}var ud=Object.prototype,Vg=ud.hasOwnProperty,qg=ud.propertyIsEnumerable,Cs=jl((function(){return arguments})())?jl:function(t){return Ue(t)&&Vg.call(t,"callee")&&!qg.call(t,"callee")};function Yg(){return!1}var cd=typeof exports=="object"&&exports&&!exports.nodeType&&exports,Kl=cd&&typeof module=="object"&&module&&!module.nodeType&&module,Xg=Kl&&Kl.exports===cd,Hl=Xg?Ye.Buffer:void 0,Jg=Hl?Hl.isBuffer:void 0,Dr=Jg||Yg,Zg="[object Arguments]",Qg="[object Array]",ey="[object Boolean]",ty="[object Date]",ny="[object Error]",ry="[object Function]",iy="[object Map]",sy="[object Number]",ay="[object Object]",oy="[object RegExp]",ly="[object Set]",uy="[object String]",cy="[object WeakMap]",fy="[object ArrayBuffer]",dy="[object DataView]",hy="[object Float32Array]",py="[object Float64Array]",my="[object Int8Array]",gy="[object Int16Array]",yy="[object Int32Array]",Ty="[object Uint8Array]",vy="[object Uint8ClampedArray]",$y="[object Uint16Array]",Ry="[object Uint32Array]",B={};B[hy]=B[py]=B[my]=B[gy]=B[yy]=B[Ty]=B[vy]=B[$y]=B[Ry]=!0;B[Zg]=B[Qg]=B[fy]=B[ey]=B[dy]=B[ty]=B[ny]=B[ry]=B[iy]=B[sy]=B[ay]=B[oy]=B[ly]=B[uy]=B[cy]=!1;function Ay(t){return Ue(t)&&Ko(t.length)&&!!B[Nt(t)]}function ks(t){return function(e){return t(e)}}var fd=typeof exports=="object"&&exports&&!exports.nodeType&&exports,Or=fd&&typeof module=="object"&&module&&!module.nodeType&&module,Ey=Or&&Or.exports===fd,ha=Ey&&nd.process,Et=(function(){try{var t=Or&&Or.require&&Or.require("util").types;return t||ha&&ha.binding&&ha.binding("util")}catch{}})(),Wl=Et&&Et.isTypedArray,Ho=Wl?ks(Wl):Ay,Sy=Object.prototype,xy=Sy.hasOwnProperty;function dd(t,e){var n=M(t),r=!n&&Cs(t),i=!n&&!r&&Dr(t),s=!n&&!r&&!i&&Ho(t),a=n||r||i||s,o=a?Wg(t.length,String):[],l=o.length;for(var u in t)(e||xy.call(t,u))&&!(a&&(u=="length"||i&&(u=="offset"||u=="parent")||s&&(u=="buffer"||u=="byteLength"||u=="byteOffset")||Is(u,l)))&&o.push(u);return o}function hd(t,e){return function(n){return t(e(n))}}var _y=hd(Object.keys,Object),Iy=Object.prototype,wy=Iy.hasOwnProperty;function pd(t){if(!Yr(t))return _y(t);var e=[];for(var n in Object(t))wy.call(t,n)&&n!="constructor"&&e.push(n);return e}function Pe(t){return Xe(t)?dd(t):pd(t)}var Cy=Object.prototype,ky=Cy.hasOwnProperty,Ha=Kg(function(t,e){if(Yr(e)||Xe(e)){qr(e,Pe(e),t);return}for(var n in e)ky.call(e,n)&&ws(t,n,e[n])});function Ny(t){var e=[];if(t!=null)for(var n in Object(t))e.push(n);return e}var by=Object.prototype,Oy=by.hasOwnProperty;function Py(t){if(!Oe(t))return Ny(t);var e=Yr(t),n=[];for(var r in t)r=="constructor"&&(e||!Oy.call(t,r))||n.push(r);return n}function Wo(t){return Xe(t)?dd(t,!0):Py(t)}var Ly=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,My=/^\w*$/;function zo(t,e){if(M(t))return!1;var n=typeof t;return n=="number"||n=="symbol"||n=="boolean"||t==null||Ss(t)?!0:My.test(t)||!Ly.test(t)||e!=null&&t in Object(e)}var Fr=tn(Object,"create");function Dy(){this.__data__=Fr?Fr(null):{},this.size=0}function Fy(t){var e=this.has(t)&&delete this.__data__[t];return this.size-=e?1:0,e}var Gy="__lodash_hash_undefined__",Uy=Object.prototype,By=Uy.hasOwnProperty;function jy(t){var e=this.__data__;if(Fr){var n=e[t];return n===Gy?void 0:n}return By.call(e,t)?e[t]:void 0}var Ky=Object.prototype,Hy=Ky.hasOwnProperty;function Wy(t){var e=this.__data__;return Fr?e[t]!==void 0:Hy.call(e,t)}var zy="__lodash_hash_undefined__";function Vy(t,e){var n=this.__data__;return this.size+=this.has(t)?0:1,n[t]=Fr&&e===void 0?zy:e,this}function qt(t){var e=-1,n=t==null?0:t.length;for(this.clear();++e<n;){var r=t[e];this.set(r[0],r[1])}}qt.prototype.clear=Dy;qt.prototype.delete=Fy;qt.prototype.get=jy;qt.prototype.has=Wy;qt.prototype.set=Vy;function qy(){this.__data__=[],this.size=0}function Ns(t,e){for(var n=t.length;n--;)if(Vr(t[n][0],e))return n;return-1}var Yy=Array.prototype,Xy=Yy.splice;function Jy(t){var e=this.__data__,n=Ns(e,t);if(n<0)return!1;var r=e.length-1;return n==r?e.pop():Xy.call(e,n,1),--this.size,!0}function Zy(t){var e=this.__data__,n=Ns(e,t);return n<0?void 0:e[n][1]}function Qy(t){return Ns(this.__data__,t)>-1}function eT(t,e){var n=this.__data__,r=Ns(n,t);return r<0?(++this.size,n.push([t,e])):n[r][1]=e,this}function pt(t){var e=-1,n=t==null?0:t.length;for(this.clear();++e<n;){var r=t[e];this.set(r[0],r[1])}}pt.prototype.clear=qy;pt.prototype.delete=Jy;pt.prototype.get=Zy;pt.prototype.has=Qy;pt.prototype.set=eT;var Gr=tn(Ye,"Map");function tT(){this.size=0,this.__data__={hash:new qt,map:new(Gr||pt),string:new qt}}function nT(t){var e=typeof t;return e=="string"||e=="number"||e=="symbol"||e=="boolean"?t!=="__proto__":t===null}function bs(t,e){var n=t.__data__;return nT(e)?n[typeof e=="string"?"string":"hash"]:n.map}function rT(t){var e=bs(this,t).delete(t);return this.size-=e?1:0,e}function iT(t){return bs(this,t).get(t)}function sT(t){return bs(this,t).has(t)}function aT(t,e){var n=bs(this,t),r=n.size;return n.set(t,e),this.size+=n.size==r?0:1,this}function mt(t){var e=-1,n=t==null?0:t.length;for(this.clear();++e<n;){var r=t[e];this.set(r[0],r[1])}}mt.prototype.clear=tT;mt.prototype.delete=rT;mt.prototype.get=iT;mt.prototype.has=sT;mt.prototype.set=aT;var oT="Expected a function";function Vo(t,e){if(typeof t!="function"||e!=null&&typeof e!="function")throw new TypeError(oT);var n=function(){var r=arguments,i=e?e.apply(this,r):r[0],s=n.cache;if(s.has(i))return s.get(i);var a=t.apply(this,r);return n.cache=s.set(i,a)||s,a};return n.cache=new(Vo.Cache||mt),n}Vo.Cache=mt;var lT=500;function uT(t){var e=Vo(t,function(r){return n.size===lT&&n.clear(),r}),n=e.cache;return e}var cT=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,fT=/\\(\\)?/g,dT=uT(function(t){var e=[];return t.charCodeAt(0)===46&&e.push(""),t.replace(cT,function(n,r,i,s){e.push(i?s.replace(fT,"$1"):r||n)}),e});function hT(t){return t==null?"":id(t)}function Os(t,e){return M(t)?t:zo(t,e)?[t]:dT(hT(t))}function Xr(t){if(typeof t=="string"||Ss(t))return t;var e=t+"";return e=="0"&&1/t==-1/0?"-0":e}function qo(t,e){e=Os(e,t);for(var n=0,r=e.length;t!=null&&n<r;)t=t[Xr(e[n++])];return n&&n==r?t:void 0}function pT(t,e,n){var r=t==null?void 0:qo(t,e);return r===void 0?n:r}function Yo(t,e){for(var n=-1,r=e.length,i=t.length;++n<r;)t[i+n]=e[n];return t}var zl=be?be.isConcatSpreadable:void 0;function mT(t){return M(t)||Cs(t)||!!(zl&&t&&t[zl])}function Xo(t,e,n,r,i){var s=-1,a=t.length;for(n||(n=mT),i||(i=[]);++s<a;){var o=t[s];n(o)?Yo(i,o):r||(i[i.length]=o)}return i}function Ge(t){var e=t==null?0:t.length;return e?Xo(t):[]}var md=hd(Object.getPrototypeOf,Object);function gd(t,e,n){var r=-1,i=t.length;e<0&&(e=-e>i?0:i+e),n=n>i?i:n,n<0&&(n+=i),i=e>n?0:n-e>>>0,e>>>=0;for(var s=Array(i);++r<i;)s[r]=t[r+e];return s}function gT(t,e,n,r){var i=-1,s=t==null?0:t.length;for(r&&s&&(n=t[++i]);++i<s;)n=e(n,t[i],i,t);return n}function yT(){this.__data__=new pt,this.size=0}function TT(t){var e=this.__data__,n=e.delete(t);return this.size=e.size,n}function vT(t){return this.__data__.get(t)}function $T(t){return this.__data__.has(t)}var RT=200;function AT(t,e){var n=this.__data__;if(n instanceof pt){var r=n.__data__;if(!Gr||r.length<RT-1)return r.push([t,e]),this.size=++n.size,this;n=this.__data__=new mt(r)}return n.set(t,e),this.size=n.size,this}function Ve(t){var e=this.__data__=new pt(t);this.size=e.size}Ve.prototype.clear=yT;Ve.prototype.delete=TT;Ve.prototype.get=vT;Ve.prototype.has=$T;Ve.prototype.set=AT;function ET(t,e){return t&&qr(e,Pe(e),t)}function ST(t,e){return t&&qr(e,Wo(e),t)}var yd=typeof exports=="object"&&exports&&!exports.nodeType&&exports,Vl=yd&&typeof module=="object"&&module&&!module.nodeType&&module,xT=Vl&&Vl.exports===yd,ql=xT?Ye.Buffer:void 0,Yl=ql?ql.allocUnsafe:void 0;function _T(t,e){var n=t.length,r=Yl?Yl(n):new t.constructor(n);return t.copy(r),r}function Jo(t,e){for(var n=-1,r=t==null?0:t.length,i=0,s=[];++n<r;){var a=t[n];e(a,n,t)&&(s[i++]=a)}return s}function Td(){return[]}var IT=Object.prototype,wT=IT.propertyIsEnumerable,Xl=Object.getOwnPropertySymbols,Zo=Xl?function(t){return t==null?[]:(t=Object(t),Jo(Xl(t),function(e){return wT.call(t,e)}))}:Td;function CT(t,e){return qr(t,Zo(t),e)}var kT=Object.getOwnPropertySymbols,vd=kT?function(t){for(var e=[];t;)Yo(e,Zo(t)),t=md(t);return e}:Td;function NT(t,e){return qr(t,vd(t),e)}function $d(t,e,n){var r=e(t);return M(t)?r:Yo(r,n(t))}function Wa(t){return $d(t,Pe,Zo)}function bT(t){return $d(t,Wo,vd)}var za=tn(Ye,"DataView"),Va=tn(Ye,"Promise"),mn=tn(Ye,"Set"),Jl="[object Map]",OT="[object Object]",Zl="[object Promise]",Ql="[object Set]",eu="[object WeakMap]",tu="[object DataView]",PT=en(za),LT=en(Gr),MT=en(Va),DT=en(mn),FT=en(Ka),Ce=Nt;(za&&Ce(new za(new ArrayBuffer(1)))!=tu||Gr&&Ce(new Gr)!=Jl||Va&&Ce(Va.resolve())!=Zl||mn&&Ce(new mn)!=Ql||Ka&&Ce(new Ka)!=eu)&&(Ce=function(t){var e=Nt(t),n=e==OT?t.constructor:void 0,r=n?en(n):"";if(r)switch(r){case PT:return tu;case LT:return Jl;case MT:return Zl;case DT:return Ql;case FT:return eu}return e});var GT=Object.prototype,UT=GT.hasOwnProperty;function BT(t){var e=t.length,n=new t.constructor(e);return e&&typeof t[0]=="string"&&UT.call(t,"index")&&(n.index=t.index,n.input=t.input),n}var Xi=Ye.Uint8Array;function jT(t){var e=new t.constructor(t.byteLength);return new Xi(e).set(new Xi(t)),e}function KT(t,e){var n=t.buffer;return new t.constructor(n,t.byteOffset,t.byteLength)}var HT=/\w*$/;function WT(t){var e=new t.constructor(t.source,HT.exec(t));return e.lastIndex=t.lastIndex,e}var nu=be?be.prototype:void 0,ru=nu?nu.valueOf:void 0;function zT(t){return ru?Object(ru.call(t)):{}}function VT(t,e){var n=t.buffer;return new t.constructor(n,t.byteOffset,t.length)}var qT="[object Boolean]",YT="[object Date]",XT="[object Map]",JT="[object Number]",ZT="[object RegExp]",QT="[object Set]",ev="[object String]",tv="[object Symbol]",nv="[object ArrayBuffer]",rv="[object DataView]",iv="[object Float32Array]",sv="[object Float64Array]",av="[object Int8Array]",ov="[object Int16Array]",lv="[object Int32Array]",uv="[object Uint8Array]",cv="[object Uint8ClampedArray]",fv="[object Uint16Array]",dv="[object Uint32Array]";function hv(t,e,n){var r=t.constructor;switch(e){case nv:return jT(t);case qT:case YT:return new r(+t);case rv:return KT(t);case iv:case sv:case av:case ov:case lv:case uv:case cv:case fv:case dv:return VT(t);case XT:return new r;case JT:case ev:return new r(t);case ZT:return WT(t);case QT:return new r;case tv:return zT(t)}}function pv(t){return typeof t.constructor=="function"&&!Yr(t)?xg(md(t)):{}}var mv="[object Map]";function gv(t){return Ue(t)&&Ce(t)==mv}var iu=Et&&Et.isMap,yv=iu?ks(iu):gv,Tv="[object Set]";function vv(t){return Ue(t)&&Ce(t)==Tv}var su=Et&&Et.isSet,$v=su?ks(su):vv,Rv=2,Rd="[object Arguments]",Av="[object Array]",Ev="[object Boolean]",Sv="[object Date]",xv="[object Error]",Ad="[object Function]",_v="[object GeneratorFunction]",Iv="[object Map]",wv="[object Number]",Ed="[object Object]",Cv="[object RegExp]",kv="[object Set]",Nv="[object String]",bv="[object Symbol]",Ov="[object WeakMap]",Pv="[object ArrayBuffer]",Lv="[object DataView]",Mv="[object Float32Array]",Dv="[object Float64Array]",Fv="[object Int8Array]",Gv="[object Int16Array]",Uv="[object Int32Array]",Bv="[object Uint8Array]",jv="[object Uint8ClampedArray]",Kv="[object Uint16Array]",Hv="[object Uint32Array]",G={};G[Rd]=G[Av]=G[Pv]=G[Lv]=G[Ev]=G[Sv]=G[Mv]=G[Dv]=G[Fv]=G[Gv]=G[Uv]=G[Iv]=G[wv]=G[Ed]=G[Cv]=G[kv]=G[Nv]=G[bv]=G[Bv]=G[jv]=G[Kv]=G[Hv]=!0;G[xv]=G[Ad]=G[Ov]=!1;function Ni(t,e,n,r,i,s){var a,o=e&Rv;if(a!==void 0)return a;if(!Oe(t))return t;var l=M(t);if(l)return a=BT(t),Ig(t,a);var u=Ce(t),c=u==Ad||u==_v;if(Dr(t))return _T(t);if(u==Ed||u==Rd||c&&!i)return a=c?{}:pv(t),o?NT(t,ST(a,t)):CT(t,ET(a,t));if(!G[u])return i?t:{};a=hv(t,u),s||(s=new Ve);var f=s.get(t);if(f)return f;s.set(t,a),$v(t)?t.forEach(function(m){a.add(Ni(m,e,n,m,t,s))}):yv(t)&&t.forEach(function(m,g){a.set(g,Ni(m,e,n,g,t,s))});var d=Wa,h=l?void 0:d(t);return sd(h||t,function(m,g){h&&(g=m,m=t[g]),ws(a,g,Ni(m,e,n,g,t,s))}),a}var Wv=4;function ae(t){return Ni(t,Wv)}function Jr(t){for(var e=-1,n=t==null?0:t.length,r=0,i=[];++e<n;){var s=t[e];s&&(i[r++]=s)}return i}var zv="__lodash_hash_undefined__";function Vv(t){return this.__data__.set(t,zv),this}function qv(t){return this.__data__.has(t)}function Ln(t){var e=-1,n=t==null?0:t.length;for(this.__data__=new mt;++e<n;)this.add(t[e])}Ln.prototype.add=Ln.prototype.push=Vv;Ln.prototype.has=qv;function Sd(t,e){for(var n=-1,r=t==null?0:t.length;++n<r;)if(e(t[n],n,t))return!0;return!1}function Qo(t,e){return t.has(e)}var Yv=1,Xv=2;function xd(t,e,n,r,i,s){var a=n&Yv,o=t.length,l=e.length;if(o!=l&&!(a&&l>o))return!1;var u=s.get(t),c=s.get(e);if(u&&c)return u==e&&c==t;var f=-1,d=!0,h=n&Xv?new Ln:void 0;for(s.set(t,e),s.set(e,t);++f<o;){var m=t[f],g=e[f];if(r)var T=a?r(g,m,f,e,t,s):r(m,g,f,t,e,s);if(T!==void 0){if(T)continue;d=!1;break}if(h){if(!Sd(e,function(y,R){if(!Qo(h,R)&&(m===y||i(m,y,n,r,s)))return h.push(R)})){d=!1;break}}else if(!(m===g||i(m,g,n,r,s))){d=!1;break}}return s.delete(t),s.delete(e),d}function Jv(t){var e=-1,n=Array(t.size);return t.forEach(function(r,i){n[++e]=[i,r]}),n}function el(t){var e=-1,n=Array(t.size);return t.forEach(function(r){n[++e]=r}),n}var Zv=1,Qv=2,e$="[object Boolean]",t$="[object Date]",n$="[object Error]",r$="[object Map]",i$="[object Number]",s$="[object RegExp]",a$="[object Set]",o$="[object String]",l$="[object Symbol]",u$="[object ArrayBuffer]",c$="[object DataView]",au=be?be.prototype:void 0,pa=au?au.valueOf:void 0;function f$(t,e,n,r,i,s,a){switch(n){case c$:if(t.byteLength!=e.byteLength||t.byteOffset!=e.byteOffset)return!1;t=t.buffer,e=e.buffer;case u$:return!(t.byteLength!=e.byteLength||!s(new Xi(t),new Xi(e)));case e$:case t$:case i$:return Vr(+t,+e);case n$:return t.name==e.name&&t.message==e.message;case s$:case o$:return t==e+"";case r$:var o=Jv;case a$:var l=r&Zv;if(o||(o=el),t.size!=e.size&&!l)return!1;var u=a.get(t);if(u)return u==e;r|=Qv,a.set(t,e);var c=xd(o(t),o(e),r,i,s,a);return a.delete(t),c;case l$:if(pa)return pa.call(t)==pa.call(e)}return!1}var d$=1,h$=Object.prototype,p$=h$.hasOwnProperty;function m$(t,e,n,r,i,s){var a=n&d$,o=Wa(t),l=o.length,u=Wa(e),c=u.length;if(l!=c&&!a)return!1;for(var f=l;f--;){var d=o[f];if(!(a?d in e:p$.call(e,d)))return!1}var h=s.get(t),m=s.get(e);if(h&&m)return h==e&&m==t;var g=!0;s.set(t,e),s.set(e,t);for(var T=a;++f<l;){d=o[f];var y=t[d],R=e[d];if(r)var v=a?r(R,y,d,e,t,s):r(y,R,d,t,e,s);if(!(v===void 0?y===R||i(y,R,n,r,s):v)){g=!1;break}T||(T=d=="constructor")}if(g&&!T){var x=t.constructor,O=e.constructor;x!=O&&"constructor"in t&&"constructor"in e&&!(typeof x=="function"&&x instanceof x&&typeof O=="function"&&O instanceof O)&&(g=!1)}return s.delete(t),s.delete(e),g}var g$=1,ou="[object Arguments]",lu="[object Array]",gi="[object Object]",y$=Object.prototype,uu=y$.hasOwnProperty;function T$(t,e,n,r,i,s){var a=M(t),o=M(e),l=a?lu:Ce(t),u=o?lu:Ce(e);l=l==ou?gi:l,u=u==ou?gi:u;var c=l==gi,f=u==gi,d=l==u;if(d&&Dr(t)){if(!Dr(e))return!1;a=!0,c=!1}if(d&&!c)return s||(s=new Ve),a||Ho(t)?xd(t,e,n,r,i,s):f$(t,e,l,n,r,i,s);if(!(n&g$)){var h=c&&uu.call(t,"__wrapped__"),m=f&&uu.call(e,"__wrapped__");if(h||m){var g=h?t.value():t,T=m?e.value():e;return s||(s=new Ve),i(g,T,n,r,s)}}return d?(s||(s=new Ve),m$(t,e,n,r,i,s)):!1}function tl(t,e,n,r,i){return t===e?!0:t==null||e==null||!Ue(t)&&!Ue(e)?t!==t&&e!==e:T$(t,e,n,r,tl,i)}var v$=1,$$=2;function R$(t,e,n,r){var i=n.length,s=i;if(t==null)return!s;for(t=Object(t);i--;){var a=n[i];if(a[2]?a[1]!==t[a[0]]:!(a[0]in t))return!1}for(;++i<s;){a=n[i];var o=a[0],l=t[o],u=a[1];if(a[2]){if(l===void 0&&!(o in t))return!1}else{var c=new Ve,f;if(!(f===void 0?tl(u,l,v$|$$,r,c):f))return!1}}return!0}function _d(t){return t===t&&!Oe(t)}function A$(t){for(var e=Pe(t),n=e.length;n--;){var r=e[n],i=t[r];e[n]=[r,i,_d(i)]}return e}function Id(t,e){return function(n){return n==null?!1:n[t]===e&&(e!==void 0||t in Object(n))}}function E$(t){var e=A$(t);return e.length==1&&e[0][2]?Id(e[0][0],e[0][1]):function(n){return n===t||R$(n,t,e)}}function S$(t,e){return t!=null&&e in Object(t)}function wd(t,e,n){e=Os(e,t);for(var r=-1,i=e.length,s=!1;++r<i;){var a=Xr(e[r]);if(!(s=t!=null&&n(t,a)))break;t=t[a]}return s||++r!=i?s:(i=t==null?0:t.length,!!i&&Ko(i)&&Is(a,i)&&(M(t)||Cs(t)))}function x$(t,e){return t!=null&&wd(t,e,S$)}var _$=1,I$=2;function w$(t,e){return zo(t)&&_d(e)?Id(Xr(t),e):function(n){var r=pT(n,t);return r===void 0&&r===e?x$(n,t):tl(e,r,_$|I$)}}function C$(t){return function(e){return e==null?void 0:e[t]}}function k$(t){return function(e){return qo(e,t)}}function N$(t){return zo(t)?C$(Xr(t)):k$(t)}function Je(t){return typeof t=="function"?t:t==null?Pn:typeof t=="object"?M(t)?w$(t[0],t[1]):E$(t):N$(t)}function b$(t,e,n,r){for(var i=-1,s=t==null?0:t.length;++i<s;){var a=t[i];e(r,a,n(a),t)}return r}function O$(t){return function(e,n,r){for(var i=-1,s=Object(e),a=r(e),o=a.length;o--;){var l=a[++i];if(n(s[l],l,s)===!1)break}return e}}var P$=O$();function L$(t,e){return t&&P$(t,e,Pe)}function M$(t,e){return function(n,r){if(n==null)return n;if(!Xe(n))return t(n,r);for(var i=n.length,s=-1,a=Object(n);++s<i&&r(a[s],s,a)!==!1;);return n}}var nn=M$(L$);function D$(t,e,n,r){return nn(t,function(i,s,a){e(r,i,n(i),a)}),r}function F$(t,e){return function(n,r){var i=M(n)?b$:D$,s=e?e():{};return i(n,t,Je(r),s)}}var Cd=Object.prototype,G$=Cd.hasOwnProperty,nl=jo(function(t,e){t=Object(t);var n=-1,r=e.length,i=r>2?e[2]:void 0;for(i&&ld(e[0],e[1],i)&&(r=1);++n<r;)for(var s=e[n],a=Wo(s),o=-1,l=a.length;++o<l;){var u=a[o],c=t[u];(c===void 0||Vr(c,Cd[u])&&!G$.call(t,u))&&(t[u]=s[u])}return t});function cu(t){return Ue(t)&&Xe(t)}var U$=200;function B$(t,e,n,r){var i=-1,s=od,a=!0,o=t.length,l=[],u=e.length;if(!o)return l;e.length>=U$&&(s=Qo,a=!1,e=new Ln(e));e:for(;++i<o;){var c=t[i],f=c;if(c=c!==0?c:0,a&&f===f){for(var d=u;d--;)if(e[d]===f)continue e;l.push(c)}else s(e,f,r)||l.push(c)}return l}var Ps=jo(function(t,e){return cu(t)?B$(t,Xo(e,1,cu,!0)):[]});function Mn(t){var e=t==null?0:t.length;return e?t[e-1]:void 0}function ne(t,e,n){var r=t==null?0:t.length;return r?(e=e===void 0?1:_s(e),gd(t,e<0?0:e,r)):[]}function Ur(t,e,n){var r=t==null?0:t.length;return r?(e=e===void 0?1:_s(e),e=r-e,gd(t,0,e<0?0:e)):[]}function j$(t){return typeof t=="function"?t:Pn}function k(t,e){var n=M(t)?sd:nn;return n(t,j$(e))}function K$(t,e){for(var n=-1,r=t==null?0:t.length;++n<r;)if(!e(t[n],n,t))return!1;return!0}function H$(t,e){var n=!0;return nn(t,function(r,i,s){return n=!!e(r,i,s),n}),n}function qe(t,e,n){var r=M(t)?K$:H$;return r(t,Je(e))}function kd(t,e){var n=[];return nn(t,function(r,i,s){e(r,i,s)&&n.push(r)}),n}function Le(t,e){var n=M(t)?Jo:kd;return n(t,Je(e))}function W$(t){return function(e,n,r){var i=Object(e);if(!Xe(e)){var s=Je(n);e=Pe(e),n=function(o){return s(i[o],o,i)}}var a=t(e,n,r);return a>-1?i[s?e[a]:a]:void 0}}var z$=Math.max;function V$(t,e,n){var r=t==null?0:t.length;if(!r)return-1;var i=n==null?0:_s(n);return i<0&&(i=z$(r+i,0)),ad(t,Je(e),i)}var Dn=W$(V$);function Be(t){return t&&t.length?t[0]:void 0}function q$(t,e){var n=-1,r=Xe(t)?Array(t.length):[];return nn(t,function(i,s,a){r[++n]=e(i,s,a)}),r}function I(t,e){var n=M(t)?xs:q$;return n(t,Je(e))}function ke(t,e){return Xo(I(t,e))}var Y$=Object.prototype,X$=Y$.hasOwnProperty,J$=F$(function(t,e,n){X$.call(t,n)?t[n].push(e):Bo(t,n,[e])}),Z$=Object.prototype,Q$=Z$.hasOwnProperty;function eR(t,e){return t!=null&&Q$.call(t,e)}function w(t,e){return t!=null&&wd(t,e,eR)}var tR="[object String]";function je(t){return typeof t=="string"||!M(t)&&Ue(t)&&Nt(t)==tR}function nR(t,e){return xs(e,function(n){return t[n]})}function Z(t){return t==null?[]:nR(t,Pe(t))}var rR=Math.max;function ge(t,e,n,r){t=Xe(t)?t:Z(t),n=n?_s(n):0;var i=t.length;return n<0&&(n=rR(i+n,0)),je(t)?n<=i&&t.indexOf(e,n)>-1:!!i&&Uo(t,e,n)>-1}function fu(t,e,n){var r=t==null?0:t.length;if(!r)return-1;var i=0;return Uo(t,e,i)}var iR="[object Map]",sR="[object Set]",aR=Object.prototype,oR=aR.hasOwnProperty;function U(t){if(t==null)return!0;if(Xe(t)&&(M(t)||typeof t=="string"||typeof t.splice=="function"||Dr(t)||Ho(t)||Cs(t)))return!t.length;var e=Ce(t);if(e==iR||e==sR)return!t.size;if(Yr(t))return!pd(t).length;for(var n in t)if(oR.call(t,n))return!1;return!0}var lR="[object RegExp]";function uR(t){return Ue(t)&&Nt(t)==lR}var du=Et&&Et.isRegExp,St=du?ks(du):uR;function ct(t){return t===void 0}var cR="Expected a function";function fR(t){if(typeof t!="function")throw new TypeError(cR);return function(){var e=arguments;switch(e.length){case 0:return!t.call(this);case 1:return!t.call(this,e[0]);case 2:return!t.call(this,e[0],e[1]);case 3:return!t.call(this,e[0],e[1],e[2])}return!t.apply(this,e)}}function dR(t,e,n,r){if(!Oe(t))return t;e=Os(e,t);for(var i=-1,s=e.length,a=s-1,o=t;o!=null&&++i<s;){var l=Xr(e[i]),u=n;if(l==="__proto__"||l==="constructor"||l==="prototype")return t;if(i!=a){var c=o[l];u=void 0,u===void 0&&(u=Oe(c)?c:Is(e[i+1])?[]:{})}ws(o,l,u),o=o[l]}return t}function hR(t,e,n){for(var r=-1,i=e.length,s={};++r<i;){var a=e[r],o=qo(t,a);n(o,a)&&dR(s,Os(a,t),o)}return s}function pR(t,e){if(t==null)return{};var n=xs(bT(t),function(r){return[r]});return e=Je(e),hR(t,n,function(r,i){return e(r,i[0])})}function mR(t,e,n,r,i){return i(t,function(s,a,o){n=r?(r=!1,s):e(n,s,a,o)}),n}function Se(t,e,n){var r=M(t)?gT:mR,i=arguments.length<3;return r(t,Je(e),n,i,nn)}function Ls(t,e){var n=M(t)?Jo:kd;return n(t,fR(Je(e)))}function gR(t,e){var n;return nn(t,function(r,i,s){return n=e(r,i,s),!n}),!!n}function yR(t,e,n){var r=M(t)?Sd:gR;return r(t,Je(e))}var TR=1/0,vR=mn&&1/el(new mn([,-0]))[1]==TR?function(t){return new mn(t)}:J,$R=200;function RR(t,e,n){var r=-1,i=od,s=t.length,a=!0,o=[],l=o;if(s>=$R){var u=vR(t);if(u)return el(u);a=!1,i=Qo,l=new Ln}else l=o;e:for(;++r<s;){var c=t[r],f=c;if(c=c!==0?c:0,a&&f===f){for(var d=l.length;d--;)if(l[d]===f)continue e;o.push(c)}else i(l,f,n)||(l!==o&&l.push(f),o.push(c))}return o}function rl(t){return t&&t.length?RR(t):[]}function qa(t){console&&console.error&&console.error(`Error: ${t}`)}function Nd(t){console&&console.warn&&console.warn(`Warning: ${t}`)}function bd(t){const e=new Date().getTime(),n=t();return{time:new Date().getTime()-e,value:n}}function Od(t){function e(){}e.prototype=t;const n=new e;function r(){return typeof n.bar}return r(),r(),t}var Pd=typeof global=="object"&&global&&global.Object===Object&&global,AR=typeof self=="object"&&self&&self.Object===Object&&self,gt=Pd||AR||Function("return this")(),xt=gt.Symbol,Ld=Object.prototype,ER=Ld.hasOwnProperty,SR=Ld.toString,qn=xt?xt.toStringTag:void 0;function xR(t){var e=ER.call(t,qn),n=t[qn];try{t[qn]=void 0;var r=!0}catch{}var i=SR.call(t);return r&&(e?t[qn]=n:delete t[qn]),i}var _R=Object.prototype,IR=_R.toString;function wR(t){return IR.call(t)}var CR="[object Null]",kR="[object Undefined]",hu=xt?xt.toStringTag:void 0;function bt(t){return t==null?t===void 0?kR:CR:hu&&hu in Object(t)?xR(t):wR(t)}function _t(t){return t!=null&&typeof t=="object"}var NR="[object Symbol]";function Ms(t){return typeof t=="symbol"||_t(t)&&bt(t)==NR}function Ds(t,e){for(var n=-1,r=t==null?0:t.length,i=Array(r);++n<r;)i[n]=e(t[n],n,t);return i}var pe=Array.isArray,pu=xt?xt.prototype:void 0,mu=pu?pu.toString:void 0;function Md(t){if(typeof t=="string")return t;if(pe(t))return Ds(t,Md)+"";if(Ms(t))return mu?mu.call(t):"";var e=t+"";return e=="0"&&1/t==-1/0?"-0":e}var bR=/\s/;function OR(t){for(var e=t.length;e--&&bR.test(t.charAt(e)););return e}var PR=/^\s+/;function LR(t){return t&&t.slice(0,OR(t)+1).replace(PR,"")}function ft(t){var e=typeof t;return t!=null&&(e=="object"||e=="function")}var gu=NaN,MR=/^[-+]0x[0-9a-f]+$/i,DR=/^0b[01]+$/i,FR=/^0o[0-7]+$/i,GR=parseInt;function UR(t){if(typeof t=="number")return t;if(Ms(t))return gu;if(ft(t)){var e=typeof t.valueOf=="function"?t.valueOf():t;t=ft(e)?e+"":e}if(typeof t!="string")return t===0?t:+t;t=LR(t);var n=DR.test(t);return n||FR.test(t)?GR(t.slice(2),n?2:8):MR.test(t)?gu:+t}var yu=1/0,BR=17976931348623157e292;function jR(t){if(!t)return t===0?t:0;if(t=UR(t),t===yu||t===-yu){var e=t<0?-1:1;return e*BR}return t===t?t:0}function KR(t){var e=jR(t),n=e%1;return e===e?n?e-n:e:0}function Fs(t){return t}var HR="[object AsyncFunction]",WR="[object Function]",zR="[object GeneratorFunction]",VR="[object Proxy]";function Dd(t){if(!ft(t))return!1;var e=bt(t);return e==WR||e==zR||e==HR||e==VR}var ma=gt["__core-js_shared__"],Tu=(function(){var t=/[^.]+$/.exec(ma&&ma.keys&&ma.keys.IE_PROTO||"");return t?"Symbol(src)_1."+t:""})();function qR(t){return!!Tu&&Tu in t}var YR=Function.prototype,XR=YR.toString;function rn(t){if(t!=null){try{return XR.call(t)}catch{}try{return t+""}catch{}}return""}var JR=/[\\^$.*+?()[\]{}|]/g,ZR=/^\[object .+?Constructor\]$/,QR=Function.prototype,eA=Object.prototype,tA=QR.toString,nA=eA.hasOwnProperty,rA=RegExp("^"+tA.call(nA).replace(JR,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function iA(t){if(!ft(t)||qR(t))return!1;var e=Dd(t)?rA:ZR;return e.test(rn(t))}function sA(t,e){return t==null?void 0:t[e]}function sn(t,e){var n=sA(t,e);return iA(n)?n:void 0}var Ya=sn(gt,"WeakMap");function aA(t,e,n){switch(n.length){case 0:return t.call(e);case 1:return t.call(e,n[0]);case 2:return t.call(e,n[0],n[1]);case 3:return t.call(e,n[0],n[1],n[2])}return t.apply(e,n)}var oA=800,lA=16,uA=Date.now;function cA(t){var e=0,n=0;return function(){var r=uA(),i=lA-(r-n);if(n=r,i>0){if(++e>=oA)return arguments[0]}else e=0;return t.apply(void 0,arguments)}}function fA(t){return function(){return t}}var Ji=(function(){try{var t=sn(Object,"defineProperty");return t({},"",{}),t}catch{}})(),dA=Ji?function(t,e){return Ji(t,"toString",{configurable:!0,enumerable:!1,value:fA(e),writable:!0})}:Fs,hA=cA(dA);function pA(t,e){for(var n=-1,r=t==null?0:t.length;++n<r&&e(t[n],n,t)!==!1;);return t}function mA(t,e,n,r){for(var i=t.length,s=n+-1;++s<i;)if(e(t[s],s,t))return s;return-1}function gA(t){return t!==t}function yA(t,e,n){for(var r=n-1,i=t.length;++r<i;)if(t[r]===e)return r;return-1}function TA(t,e,n){return e===e?yA(t,e,n):mA(t,gA,n)}var vA=9007199254740991,$A=/^(?:0|[1-9]\d*)$/;function Gs(t,e){var n=typeof t;return e=e??vA,!!e&&(n=="number"||n!="symbol"&&$A.test(t))&&t>-1&&t%1==0&&t<e}function Fd(t,e,n){e=="__proto__"&&Ji?Ji(t,e,{configurable:!0,enumerable:!0,value:n,writable:!0}):t[e]=n}function Us(t,e){return t===e||t!==t&&e!==e}var RA=Object.prototype,AA=RA.hasOwnProperty;function il(t,e,n){var r=t[e];(!(AA.call(t,e)&&Us(r,n))||n===void 0&&!(e in t))&&Fd(t,e,n)}function EA(t,e,n,r){var i=!n;n||(n={});for(var s=-1,a=e.length;++s<a;){var o=e[s],l=void 0;l===void 0&&(l=t[o]),i?Fd(n,o,l):il(n,o,l)}return n}var vu=Math.max;function SA(t,e,n){return e=vu(e===void 0?t.length-1:e,0),function(){for(var r=arguments,i=-1,s=vu(r.length-e,0),a=Array(s);++i<s;)a[i]=r[e+i];i=-1;for(var o=Array(e+1);++i<e;)o[i]=r[i];return o[e]=n(a),aA(t,this,o)}}function xA(t,e){return hA(SA(t,e,Fs),t+"")}var _A=9007199254740991;function sl(t){return typeof t=="number"&&t>-1&&t%1==0&&t<=_A}function an(t){return t!=null&&sl(t.length)&&!Dd(t)}function IA(t,e,n){if(!ft(n))return!1;var r=typeof e;return(r=="number"?an(n)&&Gs(e,n.length):r=="string"&&e in n)?Us(n[e],t):!1}function wA(t){return xA(function(e,n){var r=-1,i=n.length,s=i>1?n[i-1]:void 0,a=i>2?n[2]:void 0;for(s=t.length>3&&typeof s=="function"?(i--,s):void 0,a&&IA(n[0],n[1],a)&&(s=i<3?void 0:s,i=1),e=Object(e);++r<i;){var o=n[r];o&&t(e,o,r,s)}return e})}var CA=Object.prototype;function al(t){var e=t&&t.constructor,n=typeof e=="function"&&e.prototype||CA;return t===n}function kA(t,e){for(var n=-1,r=Array(t);++n<t;)r[n]=e(n);return r}var NA="[object Arguments]";function $u(t){return _t(t)&&bt(t)==NA}var Gd=Object.prototype,bA=Gd.hasOwnProperty,OA=Gd.propertyIsEnumerable,Ud=$u((function(){return arguments})())?$u:function(t){return _t(t)&&bA.call(t,"callee")&&!OA.call(t,"callee")};function PA(){return!1}var Bd=typeof exports=="object"&&exports&&!exports.nodeType&&exports,Ru=Bd&&typeof module=="object"&&module&&!module.nodeType&&module,LA=Ru&&Ru.exports===Bd,Au=LA?gt.Buffer:void 0,MA=Au?Au.isBuffer:void 0,Xa=MA||PA,DA="[object Arguments]",FA="[object Array]",GA="[object Boolean]",UA="[object Date]",BA="[object Error]",jA="[object Function]",KA="[object Map]",HA="[object Number]",WA="[object Object]",zA="[object RegExp]",VA="[object Set]",qA="[object String]",YA="[object WeakMap]",XA="[object ArrayBuffer]",JA="[object DataView]",ZA="[object Float32Array]",QA="[object Float64Array]",eE="[object Int8Array]",tE="[object Int16Array]",nE="[object Int32Array]",rE="[object Uint8Array]",iE="[object Uint8ClampedArray]",sE="[object Uint16Array]",aE="[object Uint32Array]",j={};j[ZA]=j[QA]=j[eE]=j[tE]=j[nE]=j[rE]=j[iE]=j[sE]=j[aE]=!0;j[DA]=j[FA]=j[XA]=j[GA]=j[JA]=j[UA]=j[BA]=j[jA]=j[KA]=j[HA]=j[WA]=j[zA]=j[VA]=j[qA]=j[YA]=!1;function oE(t){return _t(t)&&sl(t.length)&&!!j[bt(t)]}function jd(t){return function(e){return t(e)}}var Kd=typeof exports=="object"&&exports&&!exports.nodeType&&exports,Pr=Kd&&typeof module=="object"&&module&&!module.nodeType&&module,lE=Pr&&Pr.exports===Kd,ga=lE&&Pd.process,Zi=(function(){try{var t=Pr&&Pr.require&&Pr.require("util").types;return t||ga&&ga.binding&&ga.binding("util")}catch{}})(),Eu=Zi&&Zi.isTypedArray,Hd=Eu?jd(Eu):oE,uE=Object.prototype,cE=uE.hasOwnProperty;function Wd(t,e){var n=pe(t),r=!n&&Ud(t),i=!n&&!r&&Xa(t),s=!n&&!r&&!i&&Hd(t),a=n||r||i||s,o=a?kA(t.length,String):[],l=o.length;for(var u in t)(e||cE.call(t,u))&&!(a&&(u=="length"||i&&(u=="offset"||u=="parent")||s&&(u=="buffer"||u=="byteLength"||u=="byteOffset")||Gs(u,l)))&&o.push(u);return o}function zd(t,e){return function(n){return t(e(n))}}var fE=zd(Object.keys,Object),dE=Object.prototype,hE=dE.hasOwnProperty;function pE(t){if(!al(t))return fE(t);var e=[];for(var n in Object(t))hE.call(t,n)&&n!="constructor"&&e.push(n);return e}function Zr(t){return an(t)?Wd(t):pE(t)}var mE=Object.prototype,gE=mE.hasOwnProperty,Ze=wA(function(t,e){if(al(e)||an(e)){EA(e,Zr(e),t);return}for(var n in e)gE.call(e,n)&&il(t,n,e[n])});function yE(t){var e=[];if(t!=null)for(var n in Object(t))e.push(n);return e}var TE=Object.prototype,vE=TE.hasOwnProperty;function $E(t){if(!ft(t))return yE(t);var e=al(t),n=[];for(var r in t)r=="constructor"&&(e||!vE.call(t,r))||n.push(r);return n}function RE(t){return an(t)?Wd(t,!0):$E(t)}var AE=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,EE=/^\w*$/;function ol(t,e){if(pe(t))return!1;var n=typeof t;return n=="number"||n=="symbol"||n=="boolean"||t==null||Ms(t)?!0:EE.test(t)||!AE.test(t)||e!=null&&t in Object(e)}var Br=sn(Object,"create");function SE(){this.__data__=Br?Br(null):{},this.size=0}function xE(t){var e=this.has(t)&&delete this.__data__[t];return this.size-=e?1:0,e}var _E="__lodash_hash_undefined__",IE=Object.prototype,wE=IE.hasOwnProperty;function CE(t){var e=this.__data__;if(Br){var n=e[t];return n===_E?void 0:n}return wE.call(e,t)?e[t]:void 0}var kE=Object.prototype,NE=kE.hasOwnProperty;function bE(t){var e=this.__data__;return Br?e[t]!==void 0:NE.call(e,t)}var OE="__lodash_hash_undefined__";function PE(t,e){var n=this.__data__;return this.size+=this.has(t)?0:1,n[t]=Br&&e===void 0?OE:e,this}function Yt(t){var e=-1,n=t==null?0:t.length;for(this.clear();++e<n;){var r=t[e];this.set(r[0],r[1])}}Yt.prototype.clear=SE;Yt.prototype.delete=xE;Yt.prototype.get=CE;Yt.prototype.has=bE;Yt.prototype.set=PE;function LE(){this.__data__=[],this.size=0}function Bs(t,e){for(var n=t.length;n--;)if(Us(t[n][0],e))return n;return-1}var ME=Array.prototype,DE=ME.splice;function FE(t){var e=this.__data__,n=Bs(e,t);if(n<0)return!1;var r=e.length-1;return n==r?e.pop():DE.call(e,n,1),--this.size,!0}function GE(t){var e=this.__data__,n=Bs(e,t);return n<0?void 0:e[n][1]}function UE(t){return Bs(this.__data__,t)>-1}function BE(t,e){var n=this.__data__,r=Bs(n,t);return r<0?(++this.size,n.push([t,e])):n[r][1]=e,this}function yt(t){var e=-1,n=t==null?0:t.length;for(this.clear();++e<n;){var r=t[e];this.set(r[0],r[1])}}yt.prototype.clear=LE;yt.prototype.delete=FE;yt.prototype.get=GE;yt.prototype.has=UE;yt.prototype.set=BE;var jr=sn(gt,"Map");function jE(){this.size=0,this.__data__={hash:new Yt,map:new(jr||yt),string:new Yt}}function KE(t){var e=typeof t;return e=="string"||e=="number"||e=="symbol"||e=="boolean"?t!=="__proto__":t===null}function js(t,e){var n=t.__data__;return KE(e)?n[typeof e=="string"?"string":"hash"]:n.map}function HE(t){var e=js(this,t).delete(t);return this.size-=e?1:0,e}function WE(t){return js(this,t).get(t)}function zE(t){return js(this,t).has(t)}function VE(t,e){var n=js(this,t),r=n.size;return n.set(t,e),this.size+=n.size==r?0:1,this}function Tt(t){var e=-1,n=t==null?0:t.length;for(this.clear();++e<n;){var r=t[e];this.set(r[0],r[1])}}Tt.prototype.clear=jE;Tt.prototype.delete=HE;Tt.prototype.get=WE;Tt.prototype.has=zE;Tt.prototype.set=VE;var qE="Expected a function";function ll(t,e){if(typeof t!="function"||e!=null&&typeof e!="function")throw new TypeError(qE);var n=function(){var r=arguments,i=e?e.apply(this,r):r[0],s=n.cache;if(s.has(i))return s.get(i);var a=t.apply(this,r);return n.cache=s.set(i,a)||s,a};return n.cache=new(ll.Cache||Tt),n}ll.Cache=Tt;var YE=500;function XE(t){var e=ll(t,function(r){return n.size===YE&&n.clear(),r}),n=e.cache;return e}var JE=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,ZE=/\\(\\)?/g,QE=XE(function(t){var e=[];return t.charCodeAt(0)===46&&e.push(""),t.replace(JE,function(n,r,i,s){e.push(i?s.replace(ZE,"$1"):r||n)}),e});function eS(t){return t==null?"":Md(t)}function Ks(t,e){return pe(t)?t:ol(t,e)?[t]:QE(eS(t))}function Qr(t){if(typeof t=="string"||Ms(t))return t;var e=t+"";return e=="0"&&1/t==-1/0?"-0":e}function ul(t,e){e=Ks(e,t);for(var n=0,r=e.length;t!=null&&n<r;)t=t[Qr(e[n++])];return n&&n==r?t:void 0}function tS(t,e,n){var r=t==null?void 0:ul(t,e);return r===void 0?n:r}function Vd(t,e){for(var n=-1,r=e.length,i=t.length;++n<r;)t[i+n]=e[n];return t}var nS=zd(Object.getPrototypeOf,Object);function rS(){this.__data__=new yt,this.size=0}function iS(t){var e=this.__data__,n=e.delete(t);return this.size=e.size,n}function sS(t){return this.__data__.get(t)}function aS(t){return this.__data__.has(t)}var oS=200;function lS(t,e){var n=this.__data__;if(n instanceof yt){var r=n.__data__;if(!jr||r.length<oS-1)return r.push([t,e]),this.size=++n.size,this;n=this.__data__=new Tt(r)}return n.set(t,e),this.size=n.size,this}function ut(t){var e=this.__data__=new yt(t);this.size=e.size}ut.prototype.clear=rS;ut.prototype.delete=iS;ut.prototype.get=sS;ut.prototype.has=aS;ut.prototype.set=lS;function uS(t,e){for(var n=-1,r=t==null?0:t.length,i=0,s=[];++n<r;){var a=t[n];e(a,n,t)&&(s[i++]=a)}return s}function qd(){return[]}var cS=Object.prototype,fS=cS.propertyIsEnumerable,Su=Object.getOwnPropertySymbols,Yd=Su?function(t){return t==null?[]:(t=Object(t),uS(Su(t),function(e){return fS.call(t,e)}))}:qd,dS=Object.getOwnPropertySymbols,hS=dS?function(t){for(var e=[];t;)Vd(e,Yd(t)),t=nS(t);return e}:qd;function Xd(t,e,n){var r=e(t);return pe(t)?r:Vd(r,n(t))}function xu(t){return Xd(t,Zr,Yd)}function pS(t){return Xd(t,RE,hS)}var Ja=sn(gt,"DataView"),Za=sn(gt,"Promise"),Qa=sn(gt,"Set"),_u="[object Map]",mS="[object Object]",Iu="[object Promise]",wu="[object Set]",Cu="[object WeakMap]",ku="[object DataView]",gS=rn(Ja),yS=rn(jr),TS=rn(Za),vS=rn(Qa),$S=rn(Ya),Rt=bt;(Ja&&Rt(new Ja(new ArrayBuffer(1)))!=ku||jr&&Rt(new jr)!=_u||Za&&Rt(Za.resolve())!=Iu||Qa&&Rt(new Qa)!=wu||Ya&&Rt(new Ya)!=Cu)&&(Rt=function(t){var e=bt(t),n=e==mS?t.constructor:void 0,r=n?rn(n):"";if(r)switch(r){case gS:return ku;case yS:return _u;case TS:return Iu;case vS:return wu;case $S:return Cu}return e});var Nu=gt.Uint8Array,RS="__lodash_hash_undefined__";function AS(t){return this.__data__.set(t,RS),this}function ES(t){return this.__data__.has(t)}function Qi(t){var e=-1,n=t==null?0:t.length;for(this.__data__=new Tt;++e<n;)this.add(t[e])}Qi.prototype.add=Qi.prototype.push=AS;Qi.prototype.has=ES;function Jd(t,e){for(var n=-1,r=t==null?0:t.length;++n<r;)if(e(t[n],n,t))return!0;return!1}function SS(t,e){return t.has(e)}var xS=1,_S=2;function Zd(t,e,n,r,i,s){var a=n&xS,o=t.length,l=e.length;if(o!=l&&!(a&&l>o))return!1;var u=s.get(t),c=s.get(e);if(u&&c)return u==e&&c==t;var f=-1,d=!0,h=n&_S?new Qi:void 0;for(s.set(t,e),s.set(e,t);++f<o;){var m=t[f],g=e[f];if(r)var T=a?r(g,m,f,e,t,s):r(m,g,f,t,e,s);if(T!==void 0){if(T)continue;d=!1;break}if(h){if(!Jd(e,function(y,R){if(!SS(h,R)&&(m===y||i(m,y,n,r,s)))return h.push(R)})){d=!1;break}}else if(!(m===g||i(m,g,n,r,s))){d=!1;break}}return s.delete(t),s.delete(e),d}function IS(t){var e=-1,n=Array(t.size);return t.forEach(function(r,i){n[++e]=[i,r]}),n}function wS(t){var e=-1,n=Array(t.size);return t.forEach(function(r){n[++e]=r}),n}var CS=1,kS=2,NS="[object Boolean]",bS="[object Date]",OS="[object Error]",PS="[object Map]",LS="[object Number]",MS="[object RegExp]",DS="[object Set]",FS="[object String]",GS="[object Symbol]",US="[object ArrayBuffer]",BS="[object DataView]",bu=xt?xt.prototype:void 0,ya=bu?bu.valueOf:void 0;function jS(t,e,n,r,i,s,a){switch(n){case BS:if(t.byteLength!=e.byteLength||t.byteOffset!=e.byteOffset)return!1;t=t.buffer,e=e.buffer;case US:return!(t.byteLength!=e.byteLength||!s(new Nu(t),new Nu(e)));case NS:case bS:case LS:return Us(+t,+e);case OS:return t.name==e.name&&t.message==e.message;case MS:case FS:return t==e+"";case PS:var o=IS;case DS:var l=r&CS;if(o||(o=wS),t.size!=e.size&&!l)return!1;var u=a.get(t);if(u)return u==e;r|=kS,a.set(t,e);var c=Zd(o(t),o(e),r,i,s,a);return a.delete(t),c;case GS:if(ya)return ya.call(t)==ya.call(e)}return!1}var KS=1,HS=Object.prototype,WS=HS.hasOwnProperty;function zS(t,e,n,r,i,s){var a=n&KS,o=xu(t),l=o.length,u=xu(e),c=u.length;if(l!=c&&!a)return!1;for(var f=l;f--;){var d=o[f];if(!(a?d in e:WS.call(e,d)))return!1}var h=s.get(t),m=s.get(e);if(h&&m)return h==e&&m==t;var g=!0;s.set(t,e),s.set(e,t);for(var T=a;++f<l;){d=o[f];var y=t[d],R=e[d];if(r)var v=a?r(R,y,d,e,t,s):r(y,R,d,t,e,s);if(!(v===void 0?y===R||i(y,R,n,r,s):v)){g=!1;break}T||(T=d=="constructor")}if(g&&!T){var x=t.constructor,O=e.constructor;x!=O&&"constructor"in t&&"constructor"in e&&!(typeof x=="function"&&x instanceof x&&typeof O=="function"&&O instanceof O)&&(g=!1)}return s.delete(t),s.delete(e),g}var VS=1,Ou="[object Arguments]",Pu="[object Array]",yi="[object Object]",qS=Object.prototype,Lu=qS.hasOwnProperty;function YS(t,e,n,r,i,s){var a=pe(t),o=pe(e),l=a?Pu:Rt(t),u=o?Pu:Rt(e);l=l==Ou?yi:l,u=u==Ou?yi:u;var c=l==yi,f=u==yi,d=l==u;if(d&&Xa(t)){if(!Xa(e))return!1;a=!0,c=!1}if(d&&!c)return s||(s=new ut),a||Hd(t)?Zd(t,e,n,r,i,s):jS(t,e,l,n,r,i,s);if(!(n&VS)){var h=c&&Lu.call(t,"__wrapped__"),m=f&&Lu.call(e,"__wrapped__");if(h||m){var g=h?t.value():t,T=m?e.value():e;return s||(s=new ut),i(g,T,n,r,s)}}return d?(s||(s=new ut),zS(t,e,n,r,i,s)):!1}function cl(t,e,n,r,i){return t===e?!0:t==null||e==null||!_t(t)&&!_t(e)?t!==t&&e!==e:YS(t,e,n,r,cl,i)}var XS=1,JS=2;function ZS(t,e,n,r){var i=n.length,s=i;if(t==null)return!s;for(t=Object(t);i--;){var a=n[i];if(a[2]?a[1]!==t[a[0]]:!(a[0]in t))return!1}for(;++i<s;){a=n[i];var o=a[0],l=t[o],u=a[1];if(a[2]){if(l===void 0&&!(o in t))return!1}else{var c=new ut,f;if(!(f===void 0?cl(u,l,XS|JS,r,c):f))return!1}}return!0}function Qd(t){return t===t&&!ft(t)}function QS(t){for(var e=Zr(t),n=e.length;n--;){var r=e[n],i=t[r];e[n]=[r,i,Qd(i)]}return e}function eh(t,e){return function(n){return n==null?!1:n[t]===e&&(e!==void 0||t in Object(n))}}function ex(t){var e=QS(t);return e.length==1&&e[0][2]?eh(e[0][0],e[0][1]):function(n){return n===t||ZS(n,t,e)}}function tx(t,e){return t!=null&&e in Object(t)}function nx(t,e,n){e=Ks(e,t);for(var r=-1,i=e.length,s=!1;++r<i;){var a=Qr(e[r]);if(!(s=t!=null&&n(t,a)))break;t=t[a]}return s||++r!=i?s:(i=t==null?0:t.length,!!i&&sl(i)&&Gs(a,i)&&(pe(t)||Ud(t)))}function rx(t,e){return t!=null&&nx(t,e,tx)}var ix=1,sx=2;function ax(t,e){return ol(t)&&Qd(e)?eh(Qr(t),e):function(n){var r=tS(n,t);return r===void 0&&r===e?rx(n,t):cl(e,r,ix|sx)}}function ox(t){return function(e){return e==null?void 0:e[t]}}function lx(t){return function(e){return ul(e,t)}}function ux(t){return ol(t)?ox(Qr(t)):lx(t)}function Hs(t){return typeof t=="function"?t:t==null?Fs:typeof t=="object"?pe(t)?ax(t[0],t[1]):ex(t):ux(t)}function cx(t){return function(e,n,r){for(var i=-1,s=Object(e),a=r(e),o=a.length;o--;){var l=a[++i];if(n(s[l],l,s)===!1)break}return e}}var fx=cx();function dx(t,e){return t&&fx(t,e,Zr)}function hx(t,e){return function(n,r){if(n==null)return n;if(!an(n))return t(n,r);for(var i=n.length,s=-1,a=Object(n);++s<i&&r(a[s],s,a)!==!1;);return n}}var Ws=hx(dx);function px(t){return typeof t=="function"?t:Fs}function mx(t,e){var n=pe(t)?pA:Ws;return n(t,px(e))}function gx(t,e){for(var n=-1,r=t==null?0:t.length;++n<r;)if(!e(t[n],n,t))return!1;return!0}function yx(t,e){var n=!0;return Ws(t,function(r,i,s){return n=!!e(r,i,s),n}),n}function Tx(t,e,n){var r=pe(t)?gx:yx;return r(t,Hs(e))}function vx(t,e){var n=-1,r=an(t)?Array(t.length):[];return Ws(t,function(i,s,a){r[++n]=e(i,s,a)}),r}function th(t,e){var n=pe(t)?Ds:vx;return n(t,Hs(e))}var $x="[object String]";function es(t){return typeof t=="string"||!pe(t)&&_t(t)&&bt(t)==$x}function Rx(t,e){return Ds(e,function(n){return t[n]})}function Ax(t){return t==null?[]:Rx(t,Zr(t))}var Ex=Math.max;function Sx(t,e,n,r){t=an(t)?t:Ax(t),n=n?KR(n):0;var i=t.length;return n<0&&(n=Ex(i+n,0)),es(t)?n<=i&&t.indexOf(e,n)>-1:!!i&&TA(t,e,n)>-1}var xx="[object RegExp]";function _x(t){return _t(t)&&bt(t)==xx}var Mu=Zi&&Zi.isRegExp,Ix=Mu?jd(Mu):_x;function wx(t,e,n,r){if(!ft(t))return t;e=Ks(e,t);for(var i=-1,s=e.length,a=s-1,o=t;o!=null&&++i<s;){var l=Qr(e[i]),u=n;if(l==="__proto__"||l==="constructor"||l==="prototype")return t;if(i!=a){var c=o[l];u=void 0,u===void 0&&(u=ft(c)?c:Gs(e[i+1])?[]:{})}il(o,l,u),o=o[l]}return t}function Cx(t,e,n){for(var r=-1,i=e.length,s={};++r<i;){var a=e[r],o=ul(t,a);n(o,a)&&wx(s,Ks(a,t),o)}return s}function Qe(t,e){if(t==null)return{};var n=Ds(pS(t),function(r){return[r]});return e=Hs(e),Cx(t,n,function(r,i){return e(r,i[0])})}function kx(t,e){var n;return Ws(t,function(r,i,s){return n=e(r,i,s),!n}),!!n}function Nx(t,e,n){var r=pe(t)?Jd:kx;return r(t,Hs(e))}function bx(t){return Ox(t)?t.LABEL:t.name}function Ox(t){return es(t.LABEL)&&t.LABEL!==""}class et{get definition(){return this._definition}set definition(e){this._definition=e}constructor(e){this._definition=e}accept(e){e.visit(this),mx(this.definition,n=>{n.accept(e)})}}class fe extends et{constructor(e){super([]),this.idx=1,Ze(this,Qe(e,n=>n!==void 0))}set definition(e){}get definition(){return this.referencedRule!==void 0?this.referencedRule.definition:[]}accept(e){e.visit(this)}}class Kn extends et{constructor(e){super(e.definition),this.orgText="",Ze(this,Qe(e,n=>n!==void 0))}}class me extends et{constructor(e){super(e.definition),this.ignoreAmbiguities=!1,Ze(this,Qe(e,n=>n!==void 0))}}let se=class extends et{constructor(e){super(e.definition),this.idx=1,Ze(this,Qe(e,n=>n!==void 0))}};class xe extends et{constructor(e){super(e.definition),this.idx=1,Ze(this,Qe(e,n=>n!==void 0))}}class _e extends et{constructor(e){super(e.definition),this.idx=1,Ze(this,Qe(e,n=>n!==void 0))}}class q extends et{constructor(e){super(e.definition),this.idx=1,Ze(this,Qe(e,n=>n!==void 0))}}class ye extends et{constructor(e){super(e.definition),this.idx=1,Ze(this,Qe(e,n=>n!==void 0))}}class Te extends et{get definition(){return this._definition}set definition(e){this._definition=e}constructor(e){super(e.definition),this.idx=1,this.ignoreAmbiguities=!1,this.hasPredicates=!1,Ze(this,Qe(e,n=>n!==void 0))}}class K{constructor(e){this.idx=1,Ze(this,Qe(e,n=>n!==void 0))}accept(e){e.visit(this)}}function Px(t){return th(t,bi)}function bi(t){function e(n){return th(n,bi)}if(t instanceof fe){const n={type:"NonTerminal",name:t.nonTerminalName,idx:t.idx};return es(t.label)&&(n.label=t.label),n}else{if(t instanceof me)return{type:"Alternative",definition:e(t.definition)};if(t instanceof se)return{type:"Option",idx:t.idx,definition:e(t.definition)};if(t instanceof xe)return{type:"RepetitionMandatory",idx:t.idx,definition:e(t.definition)};if(t instanceof _e)return{type:"RepetitionMandatoryWithSeparator",idx:t.idx,separator:bi(new K({terminalType:t.separator})),definition:e(t.definition)};if(t instanceof ye)return{type:"RepetitionWithSeparator",idx:t.idx,separator:bi(new K({terminalType:t.separator})),definition:e(t.definition)};if(t instanceof q)return{type:"Repetition",idx:t.idx,definition:e(t.definition)};if(t instanceof Te)return{type:"Alternation",idx:t.idx,definition:e(t.definition)};if(t instanceof K){const n={type:"Terminal",name:t.terminalType.name,label:bx(t.terminalType),idx:t.idx};es(t.label)&&(n.terminalLabel=t.label);const r=t.terminalType.PATTERN;return t.terminalType.PATTERN&&(n.pattern=Ix(r)?r.source:r),n}else{if(t instanceof Kn)return{type:"Rule",name:t.name,orgText:t.orgText,definition:e(t.definition)};throw Error("non exhaustive match")}}}class Hn{visit(e){const n=e;switch(n.constructor){case fe:return this.visitNonTerminal(n);case me:return this.visitAlternative(n);case se:return this.visitOption(n);case xe:return this.visitRepetitionMandatory(n);case _e:return this.visitRepetitionMandatoryWithSeparator(n);case ye:return this.visitRepetitionWithSeparator(n);case q:return this.visitRepetition(n);case Te:return this.visitAlternation(n);case K:return this.visitTerminal(n);case Kn:return this.visitRule(n);default:throw Error("non exhaustive match")}}visitNonTerminal(e){}visitAlternative(e){}visitOption(e){}visitRepetition(e){}visitRepetitionMandatory(e){}visitRepetitionMandatoryWithSeparator(e){}visitRepetitionWithSeparator(e){}visitAlternation(e){}visitTerminal(e){}visitRule(e){}}function Lx(t){return t instanceof me||t instanceof se||t instanceof q||t instanceof xe||t instanceof _e||t instanceof ye||t instanceof K||t instanceof Kn}function ts(t,e=[]){return t instanceof se||t instanceof q||t instanceof ye?!0:t instanceof Te?Nx(t.definition,r=>ts(r,e)):t instanceof fe&&Sx(e,t)?!1:t instanceof et?(t instanceof fe&&e.push(t),Tx(t.definition,r=>ts(r,e))):!1}function Mx(t){return t instanceof Te}function We(t){if(t instanceof fe)return"SUBRULE";if(t instanceof se)return"OPTION";if(t instanceof Te)return"OR";if(t instanceof xe)return"AT_LEAST_ONE";if(t instanceof _e)return"AT_LEAST_ONE_SEP";if(t instanceof ye)return"MANY_SEP";if(t instanceof q)return"MANY";if(t instanceof K)return"CONSUME";throw Error("non exhaustive match")}class zs{walk(e,n=[]){k(e.definition,(r,i)=>{const s=ne(e.definition,i+1);if(r instanceof fe)this.walkProdRef(r,s,n);else if(r instanceof K)this.walkTerminal(r,s,n);else if(r instanceof me)this.walkFlat(r,s,n);else if(r instanceof se)this.walkOption(r,s,n);else if(r instanceof xe)this.walkAtLeastOne(r,s,n);else if(r instanceof _e)this.walkAtLeastOneSep(r,s,n);else if(r instanceof ye)this.walkManySep(r,s,n);else if(r instanceof q)this.walkMany(r,s,n);else if(r instanceof Te)this.walkOr(r,s,n);else throw Error("non exhaustive match")})}walkTerminal(e,n,r){}walkProdRef(e,n,r){}walkFlat(e,n,r){const i=n.concat(r);this.walk(e,i)}walkOption(e,n,r){const i=n.concat(r);this.walk(e,i)}walkAtLeastOne(e,n,r){const i=[new se({definition:e.definition})].concat(n,r);this.walk(e,i)}walkAtLeastOneSep(e,n,r){const i=Du(e,n,r);this.walk(e,i)}walkMany(e,n,r){const i=[new se({definition:e.definition})].concat(n,r);this.walk(e,i)}walkManySep(e,n,r){const i=Du(e,n,r);this.walk(e,i)}walkOr(e,n,r){const i=n.concat(r);k(e.definition,s=>{const a=new me({definition:[s]});this.walk(a,i)})}}function Du(t,e,n){return[new se({definition:[new K({terminalType:t.separator})].concat(t.definition)})].concat(e,n)}function ei(t){if(t instanceof fe)return ei(t.referencedRule);if(t instanceof K)return Gx(t);if(Lx(t))return Dx(t);if(Mx(t))return Fx(t);throw Error("non exhaustive match")}function Dx(t){let e=[];const n=t.definition;let r=0,i=n.length>r,s,a=!0;for(;i&&a;)s=n[r],a=ts(s),e=e.concat(ei(s)),r=r+1,i=n.length>r;return rl(e)}function Fx(t){const e=I(t.definition,n=>ei(n));return rl(Ge(e))}function Gx(t){return[t.terminalType]}const nh="_~IN~_";class Ux extends zs{constructor(e){super(),this.topProd=e,this.follows={}}startWalking(){return this.walk(this.topProd),this.follows}walkTerminal(e,n,r){}walkProdRef(e,n,r){const i=jx(e.referencedRule,e.idx)+this.topProd.name,s=n.concat(r),a=new me({definition:s}),o=ei(a);this.follows[i]=o}}function Bx(t){const e={};return k(t,n=>{const r=new Ux(n).startWalking();Ha(e,r)}),e}function jx(t,e){return t.name+e+nh}let Oi={};const Kx=new qf;function Vs(t){const e=t.toString();if(Oi.hasOwnProperty(e))return Oi[e];{const n=Kx.pattern(e);return Oi[e]=n,n}}function Hx(){Oi={}}const rh="Complement Sets are not supported for first char optimization",ns=`Unable to use "first char" lexer optimizations:
|
|
13
|
+
`;function Wx(t,e=!1){try{const n=Vs(t);return eo(n.value,{},n.flags.ignoreCase)}catch(n){if(n.message===rh)e&&Nd(`${ns} Unable to optimize: < ${t.toString()} >
|
|
14
|
+
Complement Sets cannot be automatically optimized.
|
|
15
|
+
This will disable the lexer's first char optimizations.
|
|
16
|
+
See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#COMPLEMENT for details.`);else{let r="";e&&(r=`
|
|
17
|
+
This will disable the lexer's first char optimizations.
|
|
18
|
+
See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#REGEXP_PARSING for details.`),qa(`${ns}
|
|
19
|
+
Failed parsing: < ${t.toString()} >
|
|
20
|
+
Using the @chevrotain/regexp-to-ast library
|
|
21
|
+
Please open an issue at: https://github.com/chevrotain/chevrotain/issues`+r)}}return[]}function eo(t,e,n){switch(t.type){case"Disjunction":for(let i=0;i<t.value.length;i++)eo(t.value[i],e,n);break;case"Alternative":const r=t.value;for(let i=0;i<r.length;i++){const s=r[i];switch(s.type){case"EndAnchor":case"GroupBackReference":case"Lookahead":case"NegativeLookahead":case"StartAnchor":case"WordBoundary":case"NonWordBoundary":continue}const a=s;switch(a.type){case"Character":Ti(a.value,e,n);break;case"Set":if(a.complement===!0)throw Error(rh);k(a.value,l=>{if(typeof l=="number")Ti(l,e,n);else{const u=l;if(n===!0)for(let c=u.from;c<=u.to;c++)Ti(c,e,n);else{for(let c=u.from;c<=u.to&&c<_r;c++)Ti(c,e,n);if(u.to>=_r){const c=u.from>=_r?u.from:_r,f=u.to,d=It(c),h=It(f);for(let m=d;m<=h;m++)e[m]=m}}}});break;case"Group":eo(a.value,e,n);break;default:throw Error("Non Exhaustive Match")}const o=a.quantifier!==void 0&&a.quantifier.atLeast===0;if(a.type==="Group"&&to(a)===!1||a.type!=="Group"&&o===!1)break}break;default:throw Error("non exhaustive match!")}return Z(e)}function Ti(t,e,n){const r=It(t);e[r]=r,n===!0&&zx(t,e)}function zx(t,e){const n=String.fromCharCode(t),r=n.toUpperCase();if(r!==n){const i=It(r.charCodeAt(0));e[i]=i}else{const i=n.toLowerCase();if(i!==n){const s=It(i.charCodeAt(0));e[s]=s}}}function Fu(t,e){return Dn(t.value,n=>{if(typeof n=="number")return ge(e,n);{const r=n;return Dn(e,i=>r.from<=i&&i<=r.to)!==void 0}})}function to(t){const e=t.quantifier;return e&&e.atLeast===0?!0:t.value?M(t.value)?qe(t.value,to):to(t.value):!1}class Vx extends As{constructor(e){super(),this.targetCharCodes=e,this.found=!1}visitChildren(e){if(this.found!==!0){switch(e.type){case"Lookahead":this.visitLookahead(e);return;case"NegativeLookahead":this.visitNegativeLookahead(e);return}super.visitChildren(e)}}visitCharacter(e){ge(this.targetCharCodes,e.value)&&(this.found=!0)}visitSet(e){e.complement?Fu(e,this.targetCharCodes)===void 0&&(this.found=!0):Fu(e,this.targetCharCodes)!==void 0&&(this.found=!0)}}function fl(t,e){if(e instanceof RegExp){const n=Vs(e),r=new Vx(t);return r.visit(n),r.found}else return Dn(e,n=>ge(t,n.charCodeAt(0)))!==void 0}const Xt="PATTERN",xr="defaultMode",vi="modes";let ih=typeof new RegExp("(?:)").sticky=="boolean";function qx(t,e){e=nl(e,{useSticky:ih,debug:!1,safeMode:!1,positionTracking:"full",lineTerminatorCharacters:["\r",`
|
|
22
|
+
`],tracer:(R,v)=>v()});const n=e.tracer;n("initCharCodeToOptimizedIndexMap",()=>{y_()});let r;n("Reject Lexer.NA",()=>{r=Ls(t,R=>R[Xt]===he.NA)});let i=!1,s;n("Transform Patterns",()=>{i=!1,s=I(r,R=>{const v=R[Xt];if(St(v)){const x=v.source;return x.length===1&&x!=="^"&&x!=="$"&&x!=="."&&!v.ignoreCase?x:x.length===2&&x[0]==="\\"&&!ge(["d","D","s","S","t","r","n","t","0","c","b","B","f","v","w","W"],x[1])?x[1]:e.useSticky?Uu(v):Gu(v)}else{if(ht(v))return i=!0,{exec:v};if(typeof v=="object")return i=!0,v;if(typeof v=="string"){if(v.length===1)return v;{const x=v.replace(/[\\^$.*+?()[\]{}|]/g,"\\$&"),O=new RegExp(x);return e.useSticky?Uu(O):Gu(O)}}else throw Error("non exhaustive match")}})});let a,o,l,u,c;n("misc mapping",()=>{a=I(r,R=>R.tokenTypeIdx),o=I(r,R=>{const v=R.GROUP;if(v!==he.SKIPPED){if(je(v))return v;if(ct(v))return!1;throw Error("non exhaustive match")}}),l=I(r,R=>{const v=R.LONGER_ALT;if(v)return M(v)?I(v,O=>fu(r,O)):[fu(r,v)]}),u=I(r,R=>R.PUSH_MODE),c=I(r,R=>w(R,"POP_MODE"))});let f;n("Line Terminator Handling",()=>{const R=oh(e.lineTerminatorCharacters);f=I(r,v=>!1),e.positionTracking!=="onlyOffset"&&(f=I(r,v=>w(v,"LINE_BREAKS")?!!v.LINE_BREAKS:ah(v,R)===!1&&fl(R,v.PATTERN)))});let d,h,m,g;n("Misc Mapping #2",()=>{d=I(r,sh),h=I(s,p_),m=Se(r,(R,v)=>{const x=v.GROUP;return je(x)&&x!==he.SKIPPED&&(R[x]=[]),R},{}),g=I(s,(R,v)=>({pattern:s[v],longerAlt:l[v],canLineTerminator:f[v],isCustom:d[v],short:h[v],group:o[v],push:u[v],pop:c[v],tokenTypeIdx:a[v],tokenType:r[v]}))});let T=!0,y=[];return e.safeMode||n("First Char Optimization",()=>{y=Se(r,(R,v,x)=>{if(typeof v.PATTERN=="string"){const O=v.PATTERN.charCodeAt(0),oe=It(O);Ta(R,oe,g[x])}else if(M(v.START_CHARS_HINT)){let O;k(v.START_CHARS_HINT,oe=>{const Me=typeof oe=="string"?oe.charCodeAt(0):oe,ve=It(Me);O!==ve&&(O=ve,Ta(R,ve,g[x]))})}else if(St(v.PATTERN))if(v.PATTERN.unicode)T=!1,e.ensureOptimizations&&qa(`${ns} Unable to analyze < ${v.PATTERN.toString()} > pattern.
|
|
23
|
+
The regexp unicode flag is not currently supported by the regexp-to-ast library.
|
|
24
|
+
This will disable the lexer's first char optimizations.
|
|
25
|
+
For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#UNICODE_OPTIMIZE`);else{const O=Wx(v.PATTERN,e.ensureOptimizations);U(O)&&(T=!1),k(O,oe=>{Ta(R,oe,g[x])})}else e.ensureOptimizations&&qa(`${ns} TokenType: <${v.name}> is using a custom token pattern without providing <start_chars_hint> parameter.
|
|
26
|
+
This will disable the lexer's first char optimizations.
|
|
27
|
+
For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#CUSTOM_OPTIMIZE`),T=!1;return R},[])}),{emptyGroups:m,patternIdxToConfig:g,charCodeToPatternIdxToConfig:y,hasCustom:i,canBeOptimized:T}}function Yx(t,e){let n=[];const r=Jx(t);n=n.concat(r.errors);const i=Zx(r.valid),s=i.valid;return n=n.concat(i.errors),n=n.concat(Xx(s)),n=n.concat(a_(s)),n=n.concat(o_(s,e)),n=n.concat(l_(s)),n}function Xx(t){let e=[];const n=Le(t,r=>St(r[Xt]));return e=e.concat(e_(n)),e=e.concat(r_(n)),e=e.concat(i_(n)),e=e.concat(s_(n)),e=e.concat(t_(n)),e}function Jx(t){const e=Le(t,i=>!w(i,Xt)),n=I(e,i=>({message:"Token Type: ->"+i.name+"<- missing static 'PATTERN' property",type:Y.MISSING_PATTERN,tokenTypes:[i]})),r=Ps(t,e);return{errors:n,valid:r}}function Zx(t){const e=Le(t,i=>{const s=i[Xt];return!St(s)&&!ht(s)&&!w(s,"exec")&&!je(s)}),n=I(e,i=>({message:"Token Type: ->"+i.name+"<- static 'PATTERN' can only be a RegExp, a Function matching the {CustomPatternMatcherFunc} type or an Object matching the {ICustomPattern} interface.",type:Y.INVALID_PATTERN,tokenTypes:[i]})),r=Ps(t,e);return{errors:n,valid:r}}const Qx=/[^\\][$]/;function e_(t){class e extends As{constructor(){super(...arguments),this.found=!1}visitEndAnchor(s){this.found=!0}}const n=Le(t,i=>{const s=i.PATTERN;try{const a=Vs(s),o=new e;return o.visit(a),o.found}catch{return Qx.test(s.source)}});return I(n,i=>({message:`Unexpected RegExp Anchor Error:
|
|
28
|
+
Token Type: ->`+i.name+`<- static 'PATTERN' cannot contain end of input anchor '$'
|
|
29
|
+
See chevrotain.io/docs/guide/resolving_lexer_errors.html#ANCHORS for details.`,type:Y.EOI_ANCHOR_FOUND,tokenTypes:[i]}))}function t_(t){const e=Le(t,r=>r.PATTERN.test(""));return I(e,r=>({message:"Token Type: ->"+r.name+"<- static 'PATTERN' must not match an empty string",type:Y.EMPTY_MATCH_PATTERN,tokenTypes:[r]}))}const n_=/[^\\[][\^]|^\^/;function r_(t){class e extends As{constructor(){super(...arguments),this.found=!1}visitStartAnchor(s){this.found=!0}}const n=Le(t,i=>{const s=i.PATTERN;try{const a=Vs(s),o=new e;return o.visit(a),o.found}catch{return n_.test(s.source)}});return I(n,i=>({message:`Unexpected RegExp Anchor Error:
|
|
30
|
+
Token Type: ->`+i.name+`<- static 'PATTERN' cannot contain start of input anchor '^'
|
|
31
|
+
See https://chevrotain.io/docs/guide/resolving_lexer_errors.html#ANCHORS for details.`,type:Y.SOI_ANCHOR_FOUND,tokenTypes:[i]}))}function i_(t){const e=Le(t,r=>{const i=r[Xt];return i instanceof RegExp&&(i.multiline||i.global)});return I(e,r=>({message:"Token Type: ->"+r.name+"<- static 'PATTERN' may NOT contain global('g') or multiline('m')",type:Y.UNSUPPORTED_FLAGS_FOUND,tokenTypes:[r]}))}function s_(t){const e=[];let n=I(t,s=>Se(t,(a,o)=>(s.PATTERN.source===o.PATTERN.source&&!ge(e,o)&&o.PATTERN!==he.NA&&(e.push(o),a.push(o)),a),[]));n=Jr(n);const r=Le(n,s=>s.length>1);return I(r,s=>{const a=I(s,l=>l.name);return{message:`The same RegExp pattern ->${Be(s).PATTERN}<-has been used in all of the following Token Types: ${a.join(", ")} <-`,type:Y.DUPLICATE_PATTERNS_FOUND,tokenTypes:s}})}function a_(t){const e=Le(t,r=>{if(!w(r,"GROUP"))return!1;const i=r.GROUP;return i!==he.SKIPPED&&i!==he.NA&&!je(i)});return I(e,r=>({message:"Token Type: ->"+r.name+"<- static 'GROUP' can only be Lexer.SKIPPED/Lexer.NA/A String",type:Y.INVALID_GROUP_TYPE_FOUND,tokenTypes:[r]}))}function o_(t,e){const n=Le(t,i=>i.PUSH_MODE!==void 0&&!ge(e,i.PUSH_MODE));return I(n,i=>({message:`Token Type: ->${i.name}<- static 'PUSH_MODE' value cannot refer to a Lexer Mode ->${i.PUSH_MODE}<-which does not exist`,type:Y.PUSH_MODE_DOES_NOT_EXIST,tokenTypes:[i]}))}function l_(t){const e=[],n=Se(t,(r,i,s)=>{const a=i.PATTERN;return a===he.NA||(je(a)?r.push({str:a,idx:s,tokenType:i}):St(a)&&c_(a)&&r.push({str:a.source,idx:s,tokenType:i})),r},[]);return k(t,(r,i)=>{k(n,({str:s,idx:a,tokenType:o})=>{if(i<a&&u_(s,r.PATTERN)){const l=`Token: ->${o.name}<- can never be matched.
|
|
32
|
+
Because it appears AFTER the Token Type ->${r.name}<-in the lexer's definition.
|
|
33
|
+
See https://chevrotain.io/docs/guide/resolving_lexer_errors.html#UNREACHABLE`;e.push({message:l,type:Y.UNREACHABLE_PATTERN,tokenTypes:[r,o]})}})}),e}function u_(t,e){if(St(e)){const n=e.exec(t);return n!==null&&n.index===0}else{if(ht(e))return e(t,0,[],{});if(w(e,"exec"))return e.exec(t,0,[],{});if(typeof e=="string")return e===t;throw Error("non exhaustive match")}}function c_(t){return Dn([".","\\","[","]","|","^","$","(",")","?","*","+","{"],n=>t.source.indexOf(n)!==-1)===void 0}function Gu(t){const e=t.ignoreCase?"i":"";return new RegExp(`^(?:${t.source})`,e)}function Uu(t){const e=t.ignoreCase?"iy":"y";return new RegExp(`${t.source}`,e)}function f_(t,e,n){const r=[];return w(t,xr)||r.push({message:"A MultiMode Lexer cannot be initialized without a <"+xr+`> property in its definition
|
|
34
|
+
`,type:Y.MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE}),w(t,vi)||r.push({message:"A MultiMode Lexer cannot be initialized without a <"+vi+`> property in its definition
|
|
35
|
+
`,type:Y.MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY}),w(t,vi)&&w(t,xr)&&!w(t.modes,t.defaultMode)&&r.push({message:`A MultiMode Lexer cannot be initialized with a ${xr}: <${t.defaultMode}>which does not exist
|
|
36
|
+
`,type:Y.MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST}),w(t,vi)&&k(t.modes,(i,s)=>{k(i,(a,o)=>{if(ct(a))r.push({message:`A Lexer cannot be initialized using an undefined Token Type. Mode:<${s}> at index: <${o}>
|
|
37
|
+
`,type:Y.LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED});else if(w(a,"LONGER_ALT")){const l=M(a.LONGER_ALT)?a.LONGER_ALT:[a.LONGER_ALT];k(l,u=>{!ct(u)&&!ge(i,u)&&r.push({message:`A MultiMode Lexer cannot be initialized with a longer_alt <${u.name}> on token <${a.name}> outside of mode <${s}>
|
|
38
|
+
`,type:Y.MULTI_MODE_LEXER_LONGER_ALT_NOT_IN_CURRENT_MODE})})}})}),r}function d_(t,e,n){const r=[];let i=!1;const s=Jr(Ge(Z(t.modes))),a=Ls(s,l=>l[Xt]===he.NA),o=oh(n);return e&&k(a,l=>{const u=ah(l,o);if(u!==!1){const f={message:g_(l,u),type:u.issue,tokenType:l};r.push(f)}else w(l,"LINE_BREAKS")?l.LINE_BREAKS===!0&&(i=!0):fl(o,l.PATTERN)&&(i=!0)}),e&&!i&&r.push({message:`Warning: No LINE_BREAKS Found.
|
|
39
|
+
This Lexer has been defined to track line and column information,
|
|
40
|
+
But none of the Token Types can be identified as matching a line terminator.
|
|
41
|
+
See https://chevrotain.io/docs/guide/resolving_lexer_errors.html#LINE_BREAKS
|
|
42
|
+
for details.`,type:Y.NO_LINE_BREAKS_FLAGS}),r}function h_(t){const e={},n=Pe(t);return k(n,r=>{const i=t[r];if(M(i))e[r]=[];else throw Error("non exhaustive match")}),e}function sh(t){const e=t.PATTERN;if(St(e))return!1;if(ht(e))return!0;if(w(e,"exec"))return!0;if(je(e))return!1;throw Error("non exhaustive match")}function p_(t){return je(t)&&t.length===1?t.charCodeAt(0):!1}const m_={test:function(t){const e=t.length;for(let n=this.lastIndex;n<e;n++){const r=t.charCodeAt(n);if(r===10)return this.lastIndex=n+1,!0;if(r===13)return t.charCodeAt(n+1)===10?this.lastIndex=n+2:this.lastIndex=n+1,!0}return!1},lastIndex:0};function ah(t,e){if(w(t,"LINE_BREAKS"))return!1;if(St(t.PATTERN)){try{fl(e,t.PATTERN)}catch(n){return{issue:Y.IDENTIFY_TERMINATOR,errMsg:n.message}}return!1}else{if(je(t.PATTERN))return!1;if(sh(t))return{issue:Y.CUSTOM_LINE_BREAK};throw Error("non exhaustive match")}}function g_(t,e){if(e.issue===Y.IDENTIFY_TERMINATOR)return`Warning: unable to identify line terminator usage in pattern.
|
|
43
|
+
The problem is in the <${t.name}> Token Type
|
|
44
|
+
Root cause: ${e.errMsg}.
|
|
45
|
+
For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#IDENTIFY_TERMINATOR`;if(e.issue===Y.CUSTOM_LINE_BREAK)return`Warning: A Custom Token Pattern should specify the <line_breaks> option.
|
|
46
|
+
The problem is in the <${t.name}> Token Type
|
|
47
|
+
For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#CUSTOM_LINE_BREAK`;throw Error("non exhaustive match")}function oh(t){return I(t,n=>je(n)?n.charCodeAt(0):n)}function Ta(t,e,n){t[e]===void 0?t[e]=[n]:t[e].push(n)}const _r=256;let Pi=[];function It(t){return t<_r?t:Pi[t]}function y_(){if(U(Pi)){Pi=new Array(65536);for(let t=0;t<65536;t++)Pi[t]=t>255?255+~~(t/255):t}}function ti(t,e){const n=t.tokenTypeIdx;return n===e.tokenTypeIdx?!0:e.isParent===!0&&e.categoryMatchesMap[n]===!0}function rs(t,e){return t.tokenTypeIdx===e.tokenTypeIdx}let Bu=1;const lh={};function ni(t){const e=T_(t);v_(e),R_(e),$_(e),k(e,n=>{n.isParent=n.categoryMatches.length>0})}function T_(t){let e=ae(t),n=t,r=!0;for(;r;){n=Jr(Ge(I(n,s=>s.CATEGORIES)));const i=Ps(n,e);e=e.concat(i),U(i)?r=!1:n=i}return e}function v_(t){k(t,e=>{ch(e)||(lh[Bu]=e,e.tokenTypeIdx=Bu++),ju(e)&&!M(e.CATEGORIES)&&(e.CATEGORIES=[e.CATEGORIES]),ju(e)||(e.CATEGORIES=[]),A_(e)||(e.categoryMatches=[]),E_(e)||(e.categoryMatchesMap={})})}function $_(t){k(t,e=>{e.categoryMatches=[],k(e.categoryMatchesMap,(n,r)=>{e.categoryMatches.push(lh[r].tokenTypeIdx)})})}function R_(t){k(t,e=>{uh([],e)})}function uh(t,e){k(t,n=>{e.categoryMatchesMap[n.tokenTypeIdx]=!0}),k(e.CATEGORIES,n=>{const r=t.concat(e);ge(r,n)||uh(r,n)})}function ch(t){return w(t,"tokenTypeIdx")}function ju(t){return w(t,"CATEGORIES")}function A_(t){return w(t,"categoryMatches")}function E_(t){return w(t,"categoryMatchesMap")}function S_(t){return w(t,"tokenTypeIdx")}const no={buildUnableToPopLexerModeMessage(t){return`Unable to pop Lexer Mode after encountering Token ->${t.image}<- The Mode Stack is empty`},buildUnexpectedCharactersMessage(t,e,n,r,i){return`unexpected character: ->${t.charAt(e)}<- at offset: ${e}, skipped ${n} characters.`}};var Y;(function(t){t[t.MISSING_PATTERN=0]="MISSING_PATTERN",t[t.INVALID_PATTERN=1]="INVALID_PATTERN",t[t.EOI_ANCHOR_FOUND=2]="EOI_ANCHOR_FOUND",t[t.UNSUPPORTED_FLAGS_FOUND=3]="UNSUPPORTED_FLAGS_FOUND",t[t.DUPLICATE_PATTERNS_FOUND=4]="DUPLICATE_PATTERNS_FOUND",t[t.INVALID_GROUP_TYPE_FOUND=5]="INVALID_GROUP_TYPE_FOUND",t[t.PUSH_MODE_DOES_NOT_EXIST=6]="PUSH_MODE_DOES_NOT_EXIST",t[t.MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE=7]="MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE",t[t.MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY=8]="MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY",t[t.MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST=9]="MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST",t[t.LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED=10]="LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED",t[t.SOI_ANCHOR_FOUND=11]="SOI_ANCHOR_FOUND",t[t.EMPTY_MATCH_PATTERN=12]="EMPTY_MATCH_PATTERN",t[t.NO_LINE_BREAKS_FLAGS=13]="NO_LINE_BREAKS_FLAGS",t[t.UNREACHABLE_PATTERN=14]="UNREACHABLE_PATTERN",t[t.IDENTIFY_TERMINATOR=15]="IDENTIFY_TERMINATOR",t[t.CUSTOM_LINE_BREAK=16]="CUSTOM_LINE_BREAK",t[t.MULTI_MODE_LEXER_LONGER_ALT_NOT_IN_CURRENT_MODE=17]="MULTI_MODE_LEXER_LONGER_ALT_NOT_IN_CURRENT_MODE"})(Y||(Y={}));const Ir={deferDefinitionErrorsHandling:!1,positionTracking:"full",lineTerminatorsPattern:/\n|\r\n?/g,lineTerminatorCharacters:[`
|
|
48
|
+
`,"\r"],ensureOptimizations:!1,safeMode:!1,errorMessageProvider:no,traceInitPerf:!1,skipValidations:!1,recoveryEnabled:!0};Object.freeze(Ir);class he{constructor(e,n=Ir){if(this.lexerDefinition=e,this.lexerDefinitionErrors=[],this.lexerDefinitionWarning=[],this.patternIdxToConfig={},this.charCodeToPatternIdxToConfig={},this.modes=[],this.emptyGroups={},this.trackStartLines=!0,this.trackEndLines=!0,this.hasCustom=!1,this.canModeBeOptimized={},this.TRACE_INIT=(i,s)=>{if(this.traceInitPerf===!0){this.traceInitIndent++;const a=new Array(this.traceInitIndent+1).join(" ");this.traceInitIndent<this.traceInitMaxIdent&&console.log(`${a}--> <${i}>`);const{time:o,value:l}=bd(s),u=o>10?console.warn:console.log;return this.traceInitIndent<this.traceInitMaxIdent&&u(`${a}<-- <${i}> time: ${o}ms`),this.traceInitIndent--,l}else return s()},typeof n=="boolean")throw Error(`The second argument to the Lexer constructor is now an ILexerConfig Object.
|
|
49
|
+
a boolean 2nd argument is no longer supported`);this.config=Ha({},Ir,n);const r=this.config.traceInitPerf;r===!0?(this.traceInitMaxIdent=1/0,this.traceInitPerf=!0):typeof r=="number"&&(this.traceInitMaxIdent=r,this.traceInitPerf=!0),this.traceInitIndent=-1,this.TRACE_INIT("Lexer Constructor",()=>{let i,s=!0;this.TRACE_INIT("Lexer Config handling",()=>{if(this.config.lineTerminatorsPattern===Ir.lineTerminatorsPattern)this.config.lineTerminatorsPattern=m_;else if(this.config.lineTerminatorCharacters===Ir.lineTerminatorCharacters)throw Error(`Error: Missing <lineTerminatorCharacters> property on the Lexer config.
|
|
50
|
+
For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#MISSING_LINE_TERM_CHARS`);if(n.safeMode&&n.ensureOptimizations)throw Error('"safeMode" and "ensureOptimizations" flags are mutually exclusive.');this.trackStartLines=/full|onlyStart/i.test(this.config.positionTracking),this.trackEndLines=/full/i.test(this.config.positionTracking),M(e)?i={modes:{defaultMode:ae(e)},defaultMode:xr}:(s=!1,i=ae(e))}),this.config.skipValidations===!1&&(this.TRACE_INIT("performRuntimeChecks",()=>{this.lexerDefinitionErrors=this.lexerDefinitionErrors.concat(f_(i,this.trackStartLines,this.config.lineTerminatorCharacters))}),this.TRACE_INIT("performWarningRuntimeChecks",()=>{this.lexerDefinitionWarning=this.lexerDefinitionWarning.concat(d_(i,this.trackStartLines,this.config.lineTerminatorCharacters))})),i.modes=i.modes?i.modes:{},k(i.modes,(o,l)=>{i.modes[l]=Ls(o,u=>ct(u))});const a=Pe(i.modes);if(k(i.modes,(o,l)=>{this.TRACE_INIT(`Mode: <${l}> processing`,()=>{if(this.modes.push(l),this.config.skipValidations===!1&&this.TRACE_INIT("validatePatterns",()=>{this.lexerDefinitionErrors=this.lexerDefinitionErrors.concat(Yx(o,a))}),U(this.lexerDefinitionErrors)){ni(o);let u;this.TRACE_INIT("analyzeTokenTypes",()=>{u=qx(o,{lineTerminatorCharacters:this.config.lineTerminatorCharacters,positionTracking:n.positionTracking,ensureOptimizations:n.ensureOptimizations,safeMode:n.safeMode,tracer:this.TRACE_INIT})}),this.patternIdxToConfig[l]=u.patternIdxToConfig,this.charCodeToPatternIdxToConfig[l]=u.charCodeToPatternIdxToConfig,this.emptyGroups=Ha({},this.emptyGroups,u.emptyGroups),this.hasCustom=u.hasCustom||this.hasCustom,this.canModeBeOptimized[l]=u.canBeOptimized}})}),this.defaultMode=i.defaultMode,!U(this.lexerDefinitionErrors)&&!this.config.deferDefinitionErrorsHandling){const l=I(this.lexerDefinitionErrors,u=>u.message).join(`-----------------------
|
|
51
|
+
`);throw new Error(`Errors detected in definition of Lexer:
|
|
52
|
+
`+l)}k(this.lexerDefinitionWarning,o=>{Nd(o.message)}),this.TRACE_INIT("Choosing sub-methods implementations",()=>{if(ih?(this.chopInput=Pn,this.match=this.matchWithTest):(this.updateLastIndex=J,this.match=this.matchWithExec),s&&(this.handleModes=J),this.trackStartLines===!1&&(this.computeNewColumn=Pn),this.trackEndLines===!1&&(this.updateTokenEndLineColumnLocation=J),/full/i.test(this.config.positionTracking))this.createTokenInstance=this.createFullToken;else if(/onlyStart/i.test(this.config.positionTracking))this.createTokenInstance=this.createStartOnlyToken;else if(/onlyOffset/i.test(this.config.positionTracking))this.createTokenInstance=this.createOffsetOnlyToken;else throw Error(`Invalid <positionTracking> config option: "${this.config.positionTracking}"`);this.hasCustom?(this.addToken=this.addTokenUsingPush,this.handlePayload=this.handlePayloadWithCustom):(this.addToken=this.addTokenUsingMemberAccess,this.handlePayload=this.handlePayloadNoCustom)}),this.TRACE_INIT("Failed Optimization Warnings",()=>{const o=Se(this.canModeBeOptimized,(l,u,c)=>(u===!1&&l.push(c),l),[]);if(n.ensureOptimizations&&!U(o))throw Error(`Lexer Modes: < ${o.join(", ")} > cannot be optimized.
|
|
53
|
+
Disable the "ensureOptimizations" lexer config flag to silently ignore this and run the lexer in an un-optimized mode.
|
|
54
|
+
Or inspect the console log for details on how to resolve these issues.`)}),this.TRACE_INIT("clearRegExpParserCache",()=>{Hx()}),this.TRACE_INIT("toFastProperties",()=>{Od(this)})})}tokenize(e,n=this.defaultMode){if(!U(this.lexerDefinitionErrors)){const i=I(this.lexerDefinitionErrors,s=>s.message).join(`-----------------------
|
|
55
|
+
`);throw new Error(`Unable to Tokenize because Errors detected in definition of Lexer:
|
|
56
|
+
`+i)}return this.tokenizeInternal(e,n)}tokenizeInternal(e,n){let r,i,s,a,o,l,u,c,f,d,h,m,g,T,y;const R=e,v=R.length;let x=0,O=0;const oe=this.hasCustom?0:Math.floor(e.length/10),Me=new Array(oe),ve=[];let He=this.trackStartLines?1:void 0,Ie=this.trackStartLines?1:void 0;const S=h_(this.emptyGroups),$=this.trackStartLines,E=this.config.lineTerminatorsPattern;let _=0,P=[],b=[];const N=[],$e=[];Object.freeze($e);let Q;function V(){return P}function Gt(le){const we=It(le),cn=b[we];return cn===void 0?$e:cn}const Cp=le=>{if(N.length===1&&le.tokenType.PUSH_MODE===void 0){const we=this.config.errorMessageProvider.buildUnableToPopLexerModeMessage(le);ve.push({offset:le.startOffset,line:le.startLine,column:le.startColumn,length:le.image.length,message:we})}else{N.pop();const we=Mn(N);P=this.patternIdxToConfig[we],b=this.charCodeToPatternIdxToConfig[we],_=P.length;const cn=this.canModeBeOptimized[we]&&this.config.safeMode===!1;b&&cn?Q=Gt:Q=V}};function xl(le){N.push(le),b=this.charCodeToPatternIdxToConfig[le],P=this.patternIdxToConfig[le],_=P.length,_=P.length;const we=this.canModeBeOptimized[le]&&this.config.safeMode===!1;b&&we?Q=Gt:Q=V}xl.call(this,n);let De;const _l=this.config.recoveryEnabled;for(;x<v;){l=null;const le=R.charCodeAt(x),we=Q(le),cn=we.length;for(r=0;r<cn;r++){De=we[r];const Re=De.pattern;u=null;const tt=De.short;if(tt!==!1?le===tt&&(l=Re):De.isCustom===!0?(y=Re.exec(R,x,Me,S),y!==null?(l=y[0],y.payload!==void 0&&(u=y.payload)):l=null):(this.updateLastIndex(Re,x),l=this.match(Re,e,x)),l!==null){if(o=De.longerAlt,o!==void 0){const vt=o.length;for(s=0;s<vt;s++){const nt=P[o[s]],Ut=nt.pattern;if(c=null,nt.isCustom===!0?(y=Ut.exec(R,x,Me,S),y!==null?(a=y[0],y.payload!==void 0&&(c=y.payload)):a=null):(this.updateLastIndex(Ut,x),a=this.match(Ut,e,x)),a&&a.length>l.length){l=a,u=c,De=nt;break}}}break}}if(l!==null){if(f=l.length,d=De.group,d!==void 0&&(h=De.tokenTypeIdx,m=this.createTokenInstance(l,x,h,De.tokenType,He,Ie,f),this.handlePayload(m,u),d===!1?O=this.addToken(Me,O,m):S[d].push(m)),e=this.chopInput(e,f),x=x+f,Ie=this.computeNewColumn(Ie,f),$===!0&&De.canLineTerminator===!0){let Re=0,tt,vt;E.lastIndex=0;do tt=E.test(l),tt===!0&&(vt=E.lastIndex-1,Re++);while(tt===!0);Re!==0&&(He=He+Re,Ie=f-vt,this.updateTokenEndLineColumnLocation(m,d,vt,Re,He,Ie,f))}this.handleModes(De,Cp,xl,m)}else{const Re=x,tt=He,vt=Ie;let nt=_l===!1;for(;nt===!1&&x<v;)for(e=this.chopInput(e,1),x++,i=0;i<_;i++){const Ut=P[i],na=Ut.pattern,Il=Ut.short;if(Il!==!1?R.charCodeAt(x)===Il&&(nt=!0):Ut.isCustom===!0?nt=na.exec(R,x,Me,S)!==null:(this.updateLastIndex(na,x),nt=na.exec(e)!==null),nt===!0)break}if(g=x-Re,Ie=this.computeNewColumn(Ie,g),T=this.config.errorMessageProvider.buildUnexpectedCharactersMessage(R,Re,g,tt,vt),ve.push({offset:Re,line:tt,column:vt,length:g,message:T}),_l===!1)break}}return this.hasCustom||(Me.length=O),{tokens:Me,groups:S,errors:ve}}handleModes(e,n,r,i){if(e.pop===!0){const s=e.push;n(i),s!==void 0&&r.call(this,s)}else e.push!==void 0&&r.call(this,e.push)}chopInput(e,n){return e.substring(n)}updateLastIndex(e,n){e.lastIndex=n}updateTokenEndLineColumnLocation(e,n,r,i,s,a,o){let l,u;n!==void 0&&(l=r===o-1,u=l?-1:0,i===1&&l===!0||(e.endLine=s+u,e.endColumn=a-1+-u))}computeNewColumn(e,n){return e+n}createOffsetOnlyToken(e,n,r,i){return{image:e,startOffset:n,tokenTypeIdx:r,tokenType:i}}createStartOnlyToken(e,n,r,i,s,a){return{image:e,startOffset:n,startLine:s,startColumn:a,tokenTypeIdx:r,tokenType:i}}createFullToken(e,n,r,i,s,a,o){return{image:e,startOffset:n,endOffset:n+o-1,startLine:s,endLine:s,startColumn:a,endColumn:a+o-1,tokenTypeIdx:r,tokenType:i}}addTokenUsingPush(e,n,r){return e.push(r),n}addTokenUsingMemberAccess(e,n,r){return e[n]=r,n++,n}handlePayloadNoCustom(e,n){}handlePayloadWithCustom(e,n){n!==null&&(e.payload=n)}matchWithTest(e,n,r){return e.test(n)===!0?n.substring(r,e.lastIndex):null}matchWithExec(e,n){const r=e.exec(n);return r!==null?r[0]:null}}he.SKIPPED="This marks a skipped Token pattern, this means each token identified by it willbe consumed and then thrown into oblivion, this can be used to for example to completely ignore whitespace.";he.NA=/NOT_APPLICABLE/;function gn(t){return fh(t)?t.LABEL:t.name}function fh(t){return je(t.LABEL)&&t.LABEL!==""}const x_="parent",Ku="categories",Hu="label",Wu="group",zu="push_mode",Vu="pop_mode",qu="longer_alt",Yu="line_breaks",Xu="start_chars_hint";function dh(t){return __(t)}function __(t){const e=t.pattern,n={};if(n.name=t.name,ct(e)||(n.PATTERN=e),w(t,x_))throw`The parent property is no longer supported.
|
|
57
|
+
See: https://github.com/chevrotain/chevrotain/issues/564#issuecomment-349062346 for details.`;return w(t,Ku)&&(n.CATEGORIES=t[Ku]),ni([n]),w(t,Hu)&&(n.LABEL=t[Hu]),w(t,Wu)&&(n.GROUP=t[Wu]),w(t,Vu)&&(n.POP_MODE=t[Vu]),w(t,zu)&&(n.PUSH_MODE=t[zu]),w(t,qu)&&(n.LONGER_ALT=t[qu]),w(t,Yu)&&(n.LINE_BREAKS=t[Yu]),w(t,Xu)&&(n.START_CHARS_HINT=t[Xu]),n}const wt=dh({name:"EOF",pattern:he.NA});ni([wt]);function dl(t,e,n,r,i,s,a,o){return{image:e,startOffset:n,endOffset:r,startLine:i,endLine:s,startColumn:a,endColumn:o,tokenTypeIdx:t.tokenTypeIdx,tokenType:t}}function hh(t,e){return ti(t,e)}const hn={buildMismatchTokenMessage({expected:t,actual:e,previous:n,ruleName:r}){return`Expecting ${fh(t)?`--> ${gn(t)} <--`:`token of type --> ${t.name} <--`} but found --> '${e.image}' <--`},buildNotAllInputParsedMessage({firstRedundant:t,ruleName:e}){return"Redundant input, expecting EOF but found: "+t.image},buildNoViableAltMessage({expectedPathsPerAlt:t,actual:e,previous:n,customUserDescription:r,ruleName:i}){const s="Expecting: ",o=`
|
|
58
|
+
but found: '`+Be(e).image+"'";if(r)return s+r+o;{const l=Se(t,(d,h)=>d.concat(h),[]),u=I(l,d=>`[${I(d,h=>gn(h)).join(", ")}]`),f=`one of these possible Token sequences:
|
|
59
|
+
${I(u,(d,h)=>` ${h+1}. ${d}`).join(`
|
|
60
|
+
`)}`;return s+f+o}},buildEarlyExitMessage({expectedIterationPaths:t,actual:e,customUserDescription:n,ruleName:r}){const i="Expecting: ",a=`
|
|
61
|
+
but found: '`+Be(e).image+"'";if(n)return i+n+a;{const l=`expecting at least one iteration which starts with one of these possible Token sequences::
|
|
62
|
+
<${I(t,u=>`[${I(u,c=>gn(c)).join(",")}]`).join(" ,")}>`;return i+l+a}}};Object.freeze(hn);const I_={buildRuleNotFoundError(t,e){return"Invalid grammar, reference to a rule which is not defined: ->"+e.nonTerminalName+`<-
|
|
63
|
+
inside top level rule: ->`+t.name+"<-"}},Ht={buildDuplicateFoundError(t,e){function n(c){return c instanceof K?c.terminalType.name:c instanceof fe?c.nonTerminalName:""}const r=t.name,i=Be(e),s=i.idx,a=We(i),o=n(i),l=s>0;let u=`->${a}${l?s:""}<- ${o?`with argument: ->${o}<-`:""}
|
|
64
|
+
appears more than once (${e.length} times) in the top level rule: ->${r}<-.
|
|
65
|
+
For further details see: https://chevrotain.io/docs/FAQ.html#NUMERICAL_SUFFIXES
|
|
66
|
+
`;return u=u.replace(/[ \t]+/g," "),u=u.replace(/\s\s+/g,`
|
|
67
|
+
`),u},buildNamespaceConflictError(t){return`Namespace conflict found in grammar.
|
|
68
|
+
The grammar has both a Terminal(Token) and a Non-Terminal(Rule) named: <${t.name}>.
|
|
69
|
+
To resolve this make sure each Terminal and Non-Terminal names are unique
|
|
70
|
+
This is easy to accomplish by using the convention that Terminal names start with an uppercase letter
|
|
71
|
+
and Non-Terminal names start with a lower case letter.`},buildAlternationPrefixAmbiguityError(t){const e=I(t.prefixPath,i=>gn(i)).join(", "),n=t.alternation.idx===0?"":t.alternation.idx;return`Ambiguous alternatives: <${t.ambiguityIndices.join(" ,")}> due to common lookahead prefix
|
|
72
|
+
in <OR${n}> inside <${t.topLevelRule.name}> Rule,
|
|
73
|
+
<${e}> may appears as a prefix path in all these alternatives.
|
|
74
|
+
See: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#COMMON_PREFIX
|
|
75
|
+
For Further details.`},buildAlternationAmbiguityError(t){const e=I(t.prefixPath,i=>gn(i)).join(", "),n=t.alternation.idx===0?"":t.alternation.idx;let r=`Ambiguous Alternatives Detected: <${t.ambiguityIndices.join(" ,")}> in <OR${n}> inside <${t.topLevelRule.name}> Rule,
|
|
76
|
+
<${e}> may appears as a prefix path in all these alternatives.
|
|
77
|
+
`;return r=r+`See: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#AMBIGUOUS_ALTERNATIVES
|
|
78
|
+
For Further details.`,r},buildEmptyRepetitionError(t){let e=We(t.repetition);return t.repetition.idx!==0&&(e+=t.repetition.idx),`The repetition <${e}> within Rule <${t.topLevelRule.name}> can never consume any tokens.
|
|
79
|
+
This could lead to an infinite loop.`},buildTokenNameError(t){return"deprecated"},buildEmptyAlternationError(t){return`Ambiguous empty alternative: <${t.emptyChoiceIdx+1}> in <OR${t.alternation.idx}> inside <${t.topLevelRule.name}> Rule.
|
|
80
|
+
Only the last alternative may be an empty alternative.`},buildTooManyAlternativesError(t){return`An Alternation cannot have more than 256 alternatives:
|
|
81
|
+
<OR${t.alternation.idx}> inside <${t.topLevelRule.name}> Rule.
|
|
82
|
+
has ${t.alternation.definition.length+1} alternatives.`},buildLeftRecursionError(t){const e=t.topLevelRule.name,n=I(t.leftRecursionPath,s=>s.name),r=`${e} --> ${n.concat([e]).join(" --> ")}`;return`Left Recursion found in grammar.
|
|
83
|
+
rule: <${e}> can be invoked from itself (directly or indirectly)
|
|
84
|
+
without consuming any Tokens. The grammar path that causes this is:
|
|
85
|
+
${r}
|
|
86
|
+
To fix this refactor your grammar to remove the left recursion.
|
|
87
|
+
see: https://en.wikipedia.org/wiki/LL_parser#Left_factoring.`},buildInvalidRuleNameError(t){return"deprecated"},buildDuplicateRuleNameError(t){let e;return t.topLevelRule instanceof Kn?e=t.topLevelRule.name:e=t.topLevelRule,`Duplicate definition, rule: ->${e}<- is already defined in the grammar: ->${t.grammarName}<-`}};function w_(t,e){const n=new C_(t,e);return n.resolveRefs(),n.errors}class C_ extends Hn{constructor(e,n){super(),this.nameToTopRule=e,this.errMsgProvider=n,this.errors=[]}resolveRefs(){k(Z(this.nameToTopRule),e=>{this.currTopLevel=e,e.accept(this)})}visitNonTerminal(e){const n=this.nameToTopRule[e.nonTerminalName];if(n)e.referencedRule=n;else{const r=this.errMsgProvider.buildRuleNotFoundError(this.currTopLevel,e);this.errors.push({message:r,type:de.UNRESOLVED_SUBRULE_REF,ruleName:this.currTopLevel.name,unresolvedRefName:e.nonTerminalName})}}}class k_ extends zs{constructor(e,n){super(),this.topProd=e,this.path=n,this.possibleTokTypes=[],this.nextProductionName="",this.nextProductionOccurrence=0,this.found=!1,this.isAtEndOfPath=!1}startWalking(){if(this.found=!1,this.path.ruleStack[0]!==this.topProd.name)throw Error("The path does not start with the walker's top Rule!");return this.ruleStack=ae(this.path.ruleStack).reverse(),this.occurrenceStack=ae(this.path.occurrenceStack).reverse(),this.ruleStack.pop(),this.occurrenceStack.pop(),this.updateExpectedNext(),this.walk(this.topProd),this.possibleTokTypes}walk(e,n=[]){this.found||super.walk(e,n)}walkProdRef(e,n,r){if(e.referencedRule.name===this.nextProductionName&&e.idx===this.nextProductionOccurrence){const i=n.concat(r);this.updateExpectedNext(),this.walk(e.referencedRule,i)}}updateExpectedNext(){U(this.ruleStack)?(this.nextProductionName="",this.nextProductionOccurrence=0,this.isAtEndOfPath=!0):(this.nextProductionName=this.ruleStack.pop(),this.nextProductionOccurrence=this.occurrenceStack.pop())}}class N_ extends k_{constructor(e,n){super(e,n),this.path=n,this.nextTerminalName="",this.nextTerminalOccurrence=0,this.nextTerminalName=this.path.lastTok.name,this.nextTerminalOccurrence=this.path.lastTokOccurrence}walkTerminal(e,n,r){if(this.isAtEndOfPath&&e.terminalType.name===this.nextTerminalName&&e.idx===this.nextTerminalOccurrence&&!this.found){const i=n.concat(r),s=new me({definition:i});this.possibleTokTypes=ei(s),this.found=!0}}}class qs extends zs{constructor(e,n){super(),this.topRule=e,this.occurrence=n,this.result={token:void 0,occurrence:void 0,isEndOfRule:void 0}}startWalking(){return this.walk(this.topRule),this.result}}class b_ extends qs{walkMany(e,n,r){if(e.idx===this.occurrence){const i=Be(n.concat(r));this.result.isEndOfRule=i===void 0,i instanceof K&&(this.result.token=i.terminalType,this.result.occurrence=i.idx)}else super.walkMany(e,n,r)}}class Ju extends qs{walkManySep(e,n,r){if(e.idx===this.occurrence){const i=Be(n.concat(r));this.result.isEndOfRule=i===void 0,i instanceof K&&(this.result.token=i.terminalType,this.result.occurrence=i.idx)}else super.walkManySep(e,n,r)}}class O_ extends qs{walkAtLeastOne(e,n,r){if(e.idx===this.occurrence){const i=Be(n.concat(r));this.result.isEndOfRule=i===void 0,i instanceof K&&(this.result.token=i.terminalType,this.result.occurrence=i.idx)}else super.walkAtLeastOne(e,n,r)}}class Zu extends qs{walkAtLeastOneSep(e,n,r){if(e.idx===this.occurrence){const i=Be(n.concat(r));this.result.isEndOfRule=i===void 0,i instanceof K&&(this.result.token=i.terminalType,this.result.occurrence=i.idx)}else super.walkAtLeastOneSep(e,n,r)}}function ro(t,e,n=[]){n=ae(n);let r=[],i=0;function s(o){return o.concat(ne(t,i+1))}function a(o){const l=ro(s(o),e,n);return r.concat(l)}for(;n.length<e&&i<t.length;){const o=t[i];if(o instanceof me)return a(o.definition);if(o instanceof fe)return a(o.definition);if(o instanceof se)r=a(o.definition);else if(o instanceof xe){const l=o.definition.concat([new q({definition:o.definition})]);return a(l)}else if(o instanceof _e){const l=[new me({definition:o.definition}),new q({definition:[new K({terminalType:o.separator})].concat(o.definition)})];return a(l)}else if(o instanceof ye){const l=o.definition.concat([new q({definition:[new K({terminalType:o.separator})].concat(o.definition)})]);r=a(l)}else if(o instanceof q){const l=o.definition.concat([new q({definition:o.definition})]);r=a(l)}else{if(o instanceof Te)return k(o.definition,l=>{U(l.definition)===!1&&(r=a(l.definition))}),r;if(o instanceof K)n.push(o.terminalType);else throw Error("non exhaustive match")}i++}return r.push({partialPath:n,suffixDef:ne(t,i)}),r}function ph(t,e,n,r){const i="EXIT_NONE_TERMINAL",s=[i],a="EXIT_ALTERNATIVE";let o=!1;const l=e.length,u=l-r-1,c=[],f=[];for(f.push({idx:-1,def:t,ruleStack:[],occurrenceStack:[]});!U(f);){const d=f.pop();if(d===a){o&&Mn(f).idx<=u&&f.pop();continue}const h=d.def,m=d.idx,g=d.ruleStack,T=d.occurrenceStack;if(U(h))continue;const y=h[0];if(y===i){const R={idx:m,def:ne(h),ruleStack:Ur(g),occurrenceStack:Ur(T)};f.push(R)}else if(y instanceof K)if(m<l-1){const R=m+1,v=e[R];if(n(v,y.terminalType)){const x={idx:R,def:ne(h),ruleStack:g,occurrenceStack:T};f.push(x)}}else if(m===l-1)c.push({nextTokenType:y.terminalType,nextTokenOccurrence:y.idx,ruleStack:g,occurrenceStack:T}),o=!0;else throw Error("non exhaustive match");else if(y instanceof fe){const R=ae(g);R.push(y.nonTerminalName);const v=ae(T);v.push(y.idx);const x={idx:m,def:y.definition.concat(s,ne(h)),ruleStack:R,occurrenceStack:v};f.push(x)}else if(y instanceof se){const R={idx:m,def:ne(h),ruleStack:g,occurrenceStack:T};f.push(R),f.push(a);const v={idx:m,def:y.definition.concat(ne(h)),ruleStack:g,occurrenceStack:T};f.push(v)}else if(y instanceof xe){const R=new q({definition:y.definition,idx:y.idx}),v=y.definition.concat([R],ne(h)),x={idx:m,def:v,ruleStack:g,occurrenceStack:T};f.push(x)}else if(y instanceof _e){const R=new K({terminalType:y.separator}),v=new q({definition:[R].concat(y.definition),idx:y.idx}),x=y.definition.concat([v],ne(h)),O={idx:m,def:x,ruleStack:g,occurrenceStack:T};f.push(O)}else if(y instanceof ye){const R={idx:m,def:ne(h),ruleStack:g,occurrenceStack:T};f.push(R),f.push(a);const v=new K({terminalType:y.separator}),x=new q({definition:[v].concat(y.definition),idx:y.idx}),O=y.definition.concat([x],ne(h)),oe={idx:m,def:O,ruleStack:g,occurrenceStack:T};f.push(oe)}else if(y instanceof q){const R={idx:m,def:ne(h),ruleStack:g,occurrenceStack:T};f.push(R),f.push(a);const v=new q({definition:y.definition,idx:y.idx}),x=y.definition.concat([v],ne(h)),O={idx:m,def:x,ruleStack:g,occurrenceStack:T};f.push(O)}else if(y instanceof Te)for(let R=y.definition.length-1;R>=0;R--){const v=y.definition[R],x={idx:m,def:v.definition.concat(ne(h)),ruleStack:g,occurrenceStack:T};f.push(x),f.push(a)}else if(y instanceof me)f.push({idx:m,def:y.definition.concat(ne(h)),ruleStack:g,occurrenceStack:T});else if(y instanceof Kn)f.push(P_(y,m,g,T));else throw Error("non exhaustive match")}return c}function P_(t,e,n,r){const i=ae(n);i.push(t.name);const s=ae(r);return s.push(1),{idx:e,def:t.definition,ruleStack:i,occurrenceStack:s}}var W;(function(t){t[t.OPTION=0]="OPTION",t[t.REPETITION=1]="REPETITION",t[t.REPETITION_MANDATORY=2]="REPETITION_MANDATORY",t[t.REPETITION_MANDATORY_WITH_SEPARATOR=3]="REPETITION_MANDATORY_WITH_SEPARATOR",t[t.REPETITION_WITH_SEPARATOR=4]="REPETITION_WITH_SEPARATOR",t[t.ALTERNATION=5]="ALTERNATION"})(W||(W={}));function hl(t){if(t instanceof se||t==="Option")return W.OPTION;if(t instanceof q||t==="Repetition")return W.REPETITION;if(t instanceof xe||t==="RepetitionMandatory")return W.REPETITION_MANDATORY;if(t instanceof _e||t==="RepetitionMandatoryWithSeparator")return W.REPETITION_MANDATORY_WITH_SEPARATOR;if(t instanceof ye||t==="RepetitionWithSeparator")return W.REPETITION_WITH_SEPARATOR;if(t instanceof Te||t==="Alternation")return W.ALTERNATION;throw Error("non exhaustive match")}function Qu(t){const{occurrence:e,rule:n,prodType:r,maxLookahead:i}=t,s=hl(r);return s===W.ALTERNATION?Ys(e,n,i):Xs(e,n,s,i)}function L_(t,e,n,r,i,s){const a=Ys(t,e,n),o=yh(a)?rs:ti;return s(a,r,o,i)}function M_(t,e,n,r,i,s){const a=Xs(t,e,i,n),o=yh(a)?rs:ti;return s(a[0],o,r)}function D_(t,e,n,r){const i=t.length,s=qe(t,a=>qe(a,o=>o.length===1));if(e)return function(a){const o=I(a,l=>l.GATE);for(let l=0;l<i;l++){const u=t[l],c=u.length,f=o[l];if(!(f!==void 0&&f.call(this)===!1))e:for(let d=0;d<c;d++){const h=u[d],m=h.length;for(let g=0;g<m;g++){const T=this.LA(g+1);if(n(T,h[g])===!1)continue e}return l}}};if(s&&!r){const a=I(t,l=>Ge(l)),o=Se(a,(l,u,c)=>(k(u,f=>{w(l,f.tokenTypeIdx)||(l[f.tokenTypeIdx]=c),k(f.categoryMatches,d=>{w(l,d)||(l[d]=c)})}),l),{});return function(){const l=this.LA(1);return o[l.tokenTypeIdx]}}else return function(){for(let a=0;a<i;a++){const o=t[a],l=o.length;e:for(let u=0;u<l;u++){const c=o[u],f=c.length;for(let d=0;d<f;d++){const h=this.LA(d+1);if(n(h,c[d])===!1)continue e}return a}}}}function F_(t,e,n){const r=qe(t,s=>s.length===1),i=t.length;if(r&&!n){const s=Ge(t);if(s.length===1&&U(s[0].categoryMatches)){const o=s[0].tokenTypeIdx;return function(){return this.LA(1).tokenTypeIdx===o}}else{const a=Se(s,(o,l,u)=>(o[l.tokenTypeIdx]=!0,k(l.categoryMatches,c=>{o[c]=!0}),o),[]);return function(){const o=this.LA(1);return a[o.tokenTypeIdx]===!0}}}else return function(){e:for(let s=0;s<i;s++){const a=t[s],o=a.length;for(let l=0;l<o;l++){const u=this.LA(l+1);if(e(u,a[l])===!1)continue e}return!0}return!1}}class G_ extends zs{constructor(e,n,r){super(),this.topProd=e,this.targetOccurrence=n,this.targetProdType=r}startWalking(){return this.walk(this.topProd),this.restDef}checkIsTarget(e,n,r,i){return e.idx===this.targetOccurrence&&this.targetProdType===n?(this.restDef=r.concat(i),!0):!1}walkOption(e,n,r){this.checkIsTarget(e,W.OPTION,n,r)||super.walkOption(e,n,r)}walkAtLeastOne(e,n,r){this.checkIsTarget(e,W.REPETITION_MANDATORY,n,r)||super.walkOption(e,n,r)}walkAtLeastOneSep(e,n,r){this.checkIsTarget(e,W.REPETITION_MANDATORY_WITH_SEPARATOR,n,r)||super.walkOption(e,n,r)}walkMany(e,n,r){this.checkIsTarget(e,W.REPETITION,n,r)||super.walkOption(e,n,r)}walkManySep(e,n,r){this.checkIsTarget(e,W.REPETITION_WITH_SEPARATOR,n,r)||super.walkOption(e,n,r)}}class mh extends Hn{constructor(e,n,r){super(),this.targetOccurrence=e,this.targetProdType=n,this.targetRef=r,this.result=[]}checkIsTarget(e,n){e.idx===this.targetOccurrence&&this.targetProdType===n&&(this.targetRef===void 0||e===this.targetRef)&&(this.result=e.definition)}visitOption(e){this.checkIsTarget(e,W.OPTION)}visitRepetition(e){this.checkIsTarget(e,W.REPETITION)}visitRepetitionMandatory(e){this.checkIsTarget(e,W.REPETITION_MANDATORY)}visitRepetitionMandatoryWithSeparator(e){this.checkIsTarget(e,W.REPETITION_MANDATORY_WITH_SEPARATOR)}visitRepetitionWithSeparator(e){this.checkIsTarget(e,W.REPETITION_WITH_SEPARATOR)}visitAlternation(e){this.checkIsTarget(e,W.ALTERNATION)}}function ec(t){const e=new Array(t);for(let n=0;n<t;n++)e[n]=[];return e}function va(t){let e=[""];for(let n=0;n<t.length;n++){const r=t[n],i=[];for(let s=0;s<e.length;s++){const a=e[s];i.push(a+"_"+r.tokenTypeIdx);for(let o=0;o<r.categoryMatches.length;o++){const l="_"+r.categoryMatches[o];i.push(a+l)}}e=i}return e}function U_(t,e,n){for(let r=0;r<t.length;r++){if(r===n)continue;const i=t[r];for(let s=0;s<e.length;s++){const a=e[s];if(i[a]===!0)return!1}}return!0}function gh(t,e){const n=I(t,a=>ro([a],1)),r=ec(n.length),i=I(n,a=>{const o={};return k(a,l=>{const u=va(l.partialPath);k(u,c=>{o[c]=!0})}),o});let s=n;for(let a=1;a<=e;a++){const o=s;s=ec(o.length);for(let l=0;l<o.length;l++){const u=o[l];for(let c=0;c<u.length;c++){const f=u[c].partialPath,d=u[c].suffixDef,h=va(f);if(U_(i,h,l)||U(d)||f.length===e){const g=r[l];if(io(g,f)===!1){g.push(f);for(let T=0;T<h.length;T++){const y=h[T];i[l][y]=!0}}}else{const g=ro(d,a+1,f);s[l]=s[l].concat(g),k(g,T=>{const y=va(T.partialPath);k(y,R=>{i[l][R]=!0})})}}}}return r}function Ys(t,e,n,r){const i=new mh(t,W.ALTERNATION,r);return e.accept(i),gh(i.result,n)}function Xs(t,e,n,r){const i=new mh(t,n);e.accept(i);const s=i.result,o=new G_(e,t,n).startWalking(),l=new me({definition:s}),u=new me({definition:o});return gh([l,u],r)}function io(t,e){e:for(let n=0;n<t.length;n++){const r=t[n];if(r.length===e.length){for(let i=0;i<r.length;i++){const s=e[i],a=r[i];if((s===a||a.categoryMatchesMap[s.tokenTypeIdx]!==void 0)===!1)continue e}return!0}}return!1}function B_(t,e){return t.length<e.length&&qe(t,(n,r)=>{const i=e[r];return n===i||i.categoryMatchesMap[n.tokenTypeIdx]})}function yh(t){return qe(t,e=>qe(e,n=>qe(n,r=>U(r.categoryMatches))))}function j_(t){const e=t.lookaheadStrategy.validate({rules:t.rules,tokenTypes:t.tokenTypes,grammarName:t.grammarName});return I(e,n=>Object.assign({type:de.CUSTOM_LOOKAHEAD_VALIDATION},n))}function K_(t,e,n,r){const i=ke(t,l=>H_(l,n)),s=nI(t,e,n),a=ke(t,l=>Z_(l,n)),o=ke(t,l=>V_(l,t,r,n));return i.concat(s,a,o)}function H_(t,e){const n=new z_;t.accept(n);const r=n.allProductions,i=J$(r,W_),s=pR(i,o=>o.length>1);return I(Z(s),o=>{const l=Be(o),u=e.buildDuplicateFoundError(t,o),c=We(l),f={message:u,type:de.DUPLICATE_PRODUCTIONS,ruleName:t.name,dslName:c,occurrence:l.idx},d=Th(l);return d&&(f.parameter=d),f})}function W_(t){return`${We(t)}_#_${t.idx}_#_${Th(t)}`}function Th(t){return t instanceof K?t.terminalType.name:t instanceof fe?t.nonTerminalName:""}class z_ extends Hn{constructor(){super(...arguments),this.allProductions=[]}visitNonTerminal(e){this.allProductions.push(e)}visitOption(e){this.allProductions.push(e)}visitRepetitionWithSeparator(e){this.allProductions.push(e)}visitRepetitionMandatory(e){this.allProductions.push(e)}visitRepetitionMandatoryWithSeparator(e){this.allProductions.push(e)}visitRepetition(e){this.allProductions.push(e)}visitAlternation(e){this.allProductions.push(e)}visitTerminal(e){this.allProductions.push(e)}}function V_(t,e,n,r){const i=[];if(Se(e,(a,o)=>o.name===t.name?a+1:a,0)>1){const a=r.buildDuplicateRuleNameError({topLevelRule:t,grammarName:n});i.push({message:a,type:de.DUPLICATE_RULE_NAME,ruleName:t.name})}return i}function q_(t,e,n){const r=[];let i;return ge(e,t)||(i=`Invalid rule override, rule: ->${t}<- cannot be overridden in the grammar: ->${n}<-as it is not defined in any of the super grammars `,r.push({message:i,type:de.INVALID_RULE_OVERRIDE,ruleName:t})),r}function vh(t,e,n,r=[]){const i=[],s=Li(e.definition);if(U(s))return[];{const a=t.name;ge(s,t)&&i.push({message:n.buildLeftRecursionError({topLevelRule:t,leftRecursionPath:r}),type:de.LEFT_RECURSION,ruleName:a});const l=Ps(s,r.concat([t])),u=ke(l,c=>{const f=ae(r);return f.push(c),vh(t,c,n,f)});return i.concat(u)}}function Li(t){let e=[];if(U(t))return e;const n=Be(t);if(n instanceof fe)e.push(n.referencedRule);else if(n instanceof me||n instanceof se||n instanceof xe||n instanceof _e||n instanceof ye||n instanceof q)e=e.concat(Li(n.definition));else if(n instanceof Te)e=Ge(I(n.definition,s=>Li(s.definition)));else if(!(n instanceof K))throw Error("non exhaustive match");const r=ts(n),i=t.length>1;if(r&&i){const s=ne(t);return e.concat(Li(s))}else return e}class pl extends Hn{constructor(){super(...arguments),this.alternations=[]}visitAlternation(e){this.alternations.push(e)}}function Y_(t,e){const n=new pl;t.accept(n);const r=n.alternations;return ke(r,s=>{const a=Ur(s.definition);return ke(a,(o,l)=>{const u=ph([o],[],ti,1);return U(u)?[{message:e.buildEmptyAlternationError({topLevelRule:t,alternation:s,emptyChoiceIdx:l}),type:de.NONE_LAST_EMPTY_ALT,ruleName:t.name,occurrence:s.idx,alternative:l+1}]:[]})})}function X_(t,e,n){const r=new pl;t.accept(r);let i=r.alternations;return i=Ls(i,a=>a.ignoreAmbiguities===!0),ke(i,a=>{const o=a.idx,l=a.maxLookahead||e,u=Ys(o,t,l,a),c=eI(u,a,t,n),f=tI(u,a,t,n);return c.concat(f)})}class J_ extends Hn{constructor(){super(...arguments),this.allProductions=[]}visitRepetitionWithSeparator(e){this.allProductions.push(e)}visitRepetitionMandatory(e){this.allProductions.push(e)}visitRepetitionMandatoryWithSeparator(e){this.allProductions.push(e)}visitRepetition(e){this.allProductions.push(e)}}function Z_(t,e){const n=new pl;t.accept(n);const r=n.alternations;return ke(r,s=>s.definition.length>255?[{message:e.buildTooManyAlternativesError({topLevelRule:t,alternation:s}),type:de.TOO_MANY_ALTS,ruleName:t.name,occurrence:s.idx}]:[])}function Q_(t,e,n){const r=[];return k(t,i=>{const s=new J_;i.accept(s);const a=s.allProductions;k(a,o=>{const l=hl(o),u=o.maxLookahead||e,c=o.idx,d=Xs(c,i,l,u)[0];if(U(Ge(d))){const h=n.buildEmptyRepetitionError({topLevelRule:i,repetition:o});r.push({message:h,type:de.NO_NON_EMPTY_LOOKAHEAD,ruleName:i.name})}})}),r}function eI(t,e,n,r){const i=[],s=Se(t,(o,l,u)=>(e.definition[u].ignoreAmbiguities===!0||k(l,c=>{const f=[u];k(t,(d,h)=>{u!==h&&io(d,c)&&e.definition[h].ignoreAmbiguities!==!0&&f.push(h)}),f.length>1&&!io(i,c)&&(i.push(c),o.push({alts:f,path:c}))}),o),[]);return I(s,o=>{const l=I(o.alts,c=>c+1);return{message:r.buildAlternationAmbiguityError({topLevelRule:n,alternation:e,ambiguityIndices:l,prefixPath:o.path}),type:de.AMBIGUOUS_ALTS,ruleName:n.name,occurrence:e.idx,alternatives:o.alts}})}function tI(t,e,n,r){const i=Se(t,(a,o,l)=>{const u=I(o,c=>({idx:l,path:c}));return a.concat(u)},[]);return Jr(ke(i,a=>{if(e.definition[a.idx].ignoreAmbiguities===!0)return[];const l=a.idx,u=a.path,c=Le(i,d=>e.definition[d.idx].ignoreAmbiguities!==!0&&d.idx<l&&B_(d.path,u));return I(c,d=>{const h=[d.idx+1,l+1],m=e.idx===0?"":e.idx;return{message:r.buildAlternationPrefixAmbiguityError({topLevelRule:n,alternation:e,ambiguityIndices:h,prefixPath:d.path}),type:de.AMBIGUOUS_PREFIX_ALTS,ruleName:n.name,occurrence:m,alternatives:h}})}))}function nI(t,e,n){const r=[],i=I(e,s=>s.name);return k(t,s=>{const a=s.name;if(ge(i,a)){const o=n.buildNamespaceConflictError(s);r.push({message:o,type:de.CONFLICT_TOKENS_RULES_NAMESPACE,ruleName:a})}}),r}function rI(t){const e=nl(t,{errMsgProvider:I_}),n={};return k(t.rules,r=>{n[r.name]=r}),w_(n,e.errMsgProvider)}function iI(t){return t=nl(t,{errMsgProvider:Ht}),K_(t.rules,t.tokenTypes,t.errMsgProvider,t.grammarName)}const $h="MismatchedTokenException",Rh="NoViableAltException",Ah="EarlyExitException",Eh="NotAllInputParsedException",Sh=[$h,Rh,Ah,Eh];Object.freeze(Sh);function is(t){return ge(Sh,t.name)}class Js extends Error{constructor(e,n){super(e),this.token=n,this.resyncedTokens=[],Object.setPrototypeOf(this,new.target.prototype),Error.captureStackTrace&&Error.captureStackTrace(this,this.constructor)}}class xh extends Js{constructor(e,n,r){super(e,n),this.previousToken=r,this.name=$h}}class sI extends Js{constructor(e,n,r){super(e,n),this.previousToken=r,this.name=Rh}}class aI extends Js{constructor(e,n){super(e,n),this.name=Eh}}class oI extends Js{constructor(e,n,r){super(e,n),this.previousToken=r,this.name=Ah}}const $a={},_h="InRuleRecoveryException";class lI extends Error{constructor(e){super(e),this.name=_h}}class uI{initRecoverable(e){this.firstAfterRepMap={},this.resyncFollows={},this.recoveryEnabled=w(e,"recoveryEnabled")?e.recoveryEnabled:dt.recoveryEnabled,this.recoveryEnabled&&(this.attemptInRepetitionRecovery=cI)}getTokenToInsert(e){const n=dl(e,"",NaN,NaN,NaN,NaN,NaN,NaN);return n.isInsertedInRecovery=!0,n}canTokenTypeBeInsertedInRecovery(e){return!0}canTokenTypeBeDeletedInRecovery(e){return!0}tryInRepetitionRecovery(e,n,r,i){const s=this.findReSyncTokenType(),a=this.exportLexerState(),o=[];let l=!1;const u=this.LA(1);let c=this.LA(1);const f=()=>{const d=this.LA(0),h=this.errorMessageProvider.buildMismatchTokenMessage({expected:i,actual:u,previous:d,ruleName:this.getCurrRuleFullName()}),m=new xh(h,u,this.LA(0));m.resyncedTokens=Ur(o),this.SAVE_ERROR(m)};for(;!l;)if(this.tokenMatcher(c,i)){f();return}else if(r.call(this)){f(),e.apply(this,n);return}else this.tokenMatcher(c,s)?l=!0:(c=this.SKIP_TOKEN(),this.addToResyncTokens(c,o));this.importLexerState(a)}shouldInRepetitionRecoveryBeTried(e,n,r){return!(r===!1||this.tokenMatcher(this.LA(1),e)||this.isBackTracking()||this.canPerformInRuleRecovery(e,this.getFollowsForInRuleRecovery(e,n)))}getFollowsForInRuleRecovery(e,n){const r=this.getCurrentGrammarPath(e,n);return this.getNextPossibleTokenTypes(r)}tryInRuleRecovery(e,n){if(this.canRecoverWithSingleTokenInsertion(e,n))return this.getTokenToInsert(e);if(this.canRecoverWithSingleTokenDeletion(e)){const r=this.SKIP_TOKEN();return this.consumeToken(),r}throw new lI("sad sad panda")}canPerformInRuleRecovery(e,n){return this.canRecoverWithSingleTokenInsertion(e,n)||this.canRecoverWithSingleTokenDeletion(e)}canRecoverWithSingleTokenInsertion(e,n){if(!this.canTokenTypeBeInsertedInRecovery(e)||U(n))return!1;const r=this.LA(1);return Dn(n,s=>this.tokenMatcher(r,s))!==void 0}canRecoverWithSingleTokenDeletion(e){return this.canTokenTypeBeDeletedInRecovery(e)?this.tokenMatcher(this.LA(2),e):!1}isInCurrentRuleReSyncSet(e){const n=this.getCurrFollowKey(),r=this.getFollowSetFromFollowKey(n);return ge(r,e)}findReSyncTokenType(){const e=this.flattenFollowSet();let n=this.LA(1),r=2;for(;;){const i=Dn(e,s=>hh(n,s));if(i!==void 0)return i;n=this.LA(r),r++}}getCurrFollowKey(){if(this.RULE_STACK.length===1)return $a;const e=this.getLastExplicitRuleShortName(),n=this.getLastExplicitRuleOccurrenceIndex(),r=this.getPreviousExplicitRuleShortName();return{ruleName:this.shortRuleNameToFullName(e),idxInCallingRule:n,inRule:this.shortRuleNameToFullName(r)}}buildFullFollowKeyStack(){const e=this.RULE_STACK,n=this.RULE_OCCURRENCE_STACK;return I(e,(r,i)=>i===0?$a:{ruleName:this.shortRuleNameToFullName(r),idxInCallingRule:n[i],inRule:this.shortRuleNameToFullName(e[i-1])})}flattenFollowSet(){const e=I(this.buildFullFollowKeyStack(),n=>this.getFollowSetFromFollowKey(n));return Ge(e)}getFollowSetFromFollowKey(e){if(e===$a)return[wt];const n=e.ruleName+e.idxInCallingRule+nh+e.inRule;return this.resyncFollows[n]}addToResyncTokens(e,n){return this.tokenMatcher(e,wt)||n.push(e),n}reSyncTo(e){const n=[];let r=this.LA(1);for(;this.tokenMatcher(r,e)===!1;)r=this.SKIP_TOKEN(),this.addToResyncTokens(r,n);return Ur(n)}attemptInRepetitionRecovery(e,n,r,i,s,a,o){}getCurrentGrammarPath(e,n){const r=this.getHumanReadableRuleStack(),i=ae(this.RULE_OCCURRENCE_STACK);return{ruleStack:r,occurrenceStack:i,lastTok:e,lastTokOccurrence:n}}getHumanReadableRuleStack(){return I(this.RULE_STACK,e=>this.shortRuleNameToFullName(e))}}function cI(t,e,n,r,i,s,a){const o=this.getKeyForAutomaticLookahead(r,i);let l=this.firstAfterRepMap[o];if(l===void 0){const d=this.getCurrRuleFullName(),h=this.getGAstProductions()[d];l=new s(h,i).startWalking(),this.firstAfterRepMap[o]=l}let u=l.token,c=l.occurrence;const f=l.isEndOfRule;this.RULE_STACK.length===1&&f&&u===void 0&&(u=wt,c=1),!(u===void 0||c===void 0)&&this.shouldInRepetitionRecoveryBeTried(u,c,a)&&this.tryInRepetitionRecovery(t,e,n,u)}const fI=4,Ot=8,Ih=1<<Ot,wh=2<<Ot,so=3<<Ot,ao=4<<Ot,oo=5<<Ot,Mi=6<<Ot;function Ra(t,e,n){return n|e|t}class ml{constructor(e){var n;this.maxLookahead=(n=e==null?void 0:e.maxLookahead)!==null&&n!==void 0?n:dt.maxLookahead}validate(e){const n=this.validateNoLeftRecursion(e.rules);if(U(n)){const r=this.validateEmptyOrAlternatives(e.rules),i=this.validateAmbiguousAlternationAlternatives(e.rules,this.maxLookahead),s=this.validateSomeNonEmptyLookaheadPath(e.rules,this.maxLookahead);return[...n,...r,...i,...s]}return n}validateNoLeftRecursion(e){return ke(e,n=>vh(n,n,Ht))}validateEmptyOrAlternatives(e){return ke(e,n=>Y_(n,Ht))}validateAmbiguousAlternationAlternatives(e,n){return ke(e,r=>X_(r,n,Ht))}validateSomeNonEmptyLookaheadPath(e,n){return Q_(e,n,Ht)}buildLookaheadForAlternation(e){return L_(e.prodOccurrence,e.rule,e.maxLookahead,e.hasPredicates,e.dynamicTokensEnabled,D_)}buildLookaheadForOptional(e){return M_(e.prodOccurrence,e.rule,e.maxLookahead,e.dynamicTokensEnabled,hl(e.prodType),F_)}}class dI{initLooksAhead(e){this.dynamicTokensEnabled=w(e,"dynamicTokensEnabled")?e.dynamicTokensEnabled:dt.dynamicTokensEnabled,this.maxLookahead=w(e,"maxLookahead")?e.maxLookahead:dt.maxLookahead,this.lookaheadStrategy=w(e,"lookaheadStrategy")?e.lookaheadStrategy:new ml({maxLookahead:this.maxLookahead}),this.lookAheadFuncsCache=new Map}preComputeLookaheadFunctions(e){k(e,n=>{this.TRACE_INIT(`${n.name} Rule Lookahead`,()=>{const{alternation:r,repetition:i,option:s,repetitionMandatory:a,repetitionMandatoryWithSeparator:o,repetitionWithSeparator:l}=pI(n);k(r,u=>{const c=u.idx===0?"":u.idx;this.TRACE_INIT(`${We(u)}${c}`,()=>{const f=this.lookaheadStrategy.buildLookaheadForAlternation({prodOccurrence:u.idx,rule:n,maxLookahead:u.maxLookahead||this.maxLookahead,hasPredicates:u.hasPredicates,dynamicTokensEnabled:this.dynamicTokensEnabled}),d=Ra(this.fullRuleNameToShort[n.name],Ih,u.idx);this.setLaFuncCache(d,f)})}),k(i,u=>{this.computeLookaheadFunc(n,u.idx,so,"Repetition",u.maxLookahead,We(u))}),k(s,u=>{this.computeLookaheadFunc(n,u.idx,wh,"Option",u.maxLookahead,We(u))}),k(a,u=>{this.computeLookaheadFunc(n,u.idx,ao,"RepetitionMandatory",u.maxLookahead,We(u))}),k(o,u=>{this.computeLookaheadFunc(n,u.idx,Mi,"RepetitionMandatoryWithSeparator",u.maxLookahead,We(u))}),k(l,u=>{this.computeLookaheadFunc(n,u.idx,oo,"RepetitionWithSeparator",u.maxLookahead,We(u))})})})}computeLookaheadFunc(e,n,r,i,s,a){this.TRACE_INIT(`${a}${n===0?"":n}`,()=>{const o=this.lookaheadStrategy.buildLookaheadForOptional({prodOccurrence:n,rule:e,maxLookahead:s||this.maxLookahead,dynamicTokensEnabled:this.dynamicTokensEnabled,prodType:i}),l=Ra(this.fullRuleNameToShort[e.name],r,n);this.setLaFuncCache(l,o)})}getKeyForAutomaticLookahead(e,n){const r=this.getLastExplicitRuleShortName();return Ra(r,e,n)}getLaFuncFromCache(e){return this.lookAheadFuncsCache.get(e)}setLaFuncCache(e,n){this.lookAheadFuncsCache.set(e,n)}}class hI extends Hn{constructor(){super(...arguments),this.dslMethods={option:[],alternation:[],repetition:[],repetitionWithSeparator:[],repetitionMandatory:[],repetitionMandatoryWithSeparator:[]}}reset(){this.dslMethods={option:[],alternation:[],repetition:[],repetitionWithSeparator:[],repetitionMandatory:[],repetitionMandatoryWithSeparator:[]}}visitOption(e){this.dslMethods.option.push(e)}visitRepetitionWithSeparator(e){this.dslMethods.repetitionWithSeparator.push(e)}visitRepetitionMandatory(e){this.dslMethods.repetitionMandatory.push(e)}visitRepetitionMandatoryWithSeparator(e){this.dslMethods.repetitionMandatoryWithSeparator.push(e)}visitRepetition(e){this.dslMethods.repetition.push(e)}visitAlternation(e){this.dslMethods.alternation.push(e)}}const $i=new hI;function pI(t){$i.reset(),t.accept($i);const e=$i.dslMethods;return $i.reset(),e}function tc(t,e){isNaN(t.startOffset)===!0?(t.startOffset=e.startOffset,t.endOffset=e.endOffset):t.endOffset<e.endOffset&&(t.endOffset=e.endOffset)}function nc(t,e){isNaN(t.startOffset)===!0?(t.startOffset=e.startOffset,t.startColumn=e.startColumn,t.startLine=e.startLine,t.endOffset=e.endOffset,t.endColumn=e.endColumn,t.endLine=e.endLine):t.endOffset<e.endOffset&&(t.endOffset=e.endOffset,t.endColumn=e.endColumn,t.endLine=e.endLine)}function mI(t,e,n){t.children[n]===void 0?t.children[n]=[e]:t.children[n].push(e)}function gI(t,e,n){t.children[e]===void 0?t.children[e]=[n]:t.children[e].push(n)}const yI="name";function Ch(t,e){Object.defineProperty(t,yI,{enumerable:!1,configurable:!0,writable:!1,value:e})}function TI(t,e){const n=Pe(t),r=n.length;for(let i=0;i<r;i++){const s=n[i],a=t[s],o=a.length;for(let l=0;l<o;l++){const u=a[l];u.tokenTypeIdx===void 0&&this[u.name](u.children,e)}}}function vI(t,e){const n=function(){};Ch(n,t+"BaseSemantics");const r={visit:function(i,s){if(M(i)&&(i=i[0]),!ct(i))return this[i.name](i.children,s)},validateVisitor:function(){const i=RI(this,e);if(!U(i)){const s=I(i,a=>a.msg);throw Error(`Errors Detected in CST Visitor <${this.constructor.name}>:
|
|
88
|
+
${s.join(`
|
|
89
|
+
|
|
90
|
+
`).replace(/\n/g,`
|
|
91
|
+
`)}`)}}};return n.prototype=r,n.prototype.constructor=n,n._RULE_NAMES=e,n}function $I(t,e,n){const r=function(){};Ch(r,t+"BaseSemanticsWithDefaults");const i=Object.create(n.prototype);return k(e,s=>{i[s]=TI}),r.prototype=i,r.prototype.constructor=r,r}var lo;(function(t){t[t.REDUNDANT_METHOD=0]="REDUNDANT_METHOD",t[t.MISSING_METHOD=1]="MISSING_METHOD"})(lo||(lo={}));function RI(t,e){return AI(t,e)}function AI(t,e){const n=Le(e,i=>ht(t[i])===!1),r=I(n,i=>({msg:`Missing visitor method: <${i}> on ${t.constructor.name} CST Visitor.`,type:lo.MISSING_METHOD,methodName:i}));return Jr(r)}class EI{initTreeBuilder(e){if(this.CST_STACK=[],this.outputCst=e.outputCst,this.nodeLocationTracking=w(e,"nodeLocationTracking")?e.nodeLocationTracking:dt.nodeLocationTracking,!this.outputCst)this.cstInvocationStateUpdate=J,this.cstFinallyStateUpdate=J,this.cstPostTerminal=J,this.cstPostNonTerminal=J,this.cstPostRule=J;else if(/full/i.test(this.nodeLocationTracking))this.recoveryEnabled?(this.setNodeLocationFromToken=nc,this.setNodeLocationFromNode=nc,this.cstPostRule=J,this.setInitialNodeLocation=this.setInitialNodeLocationFullRecovery):(this.setNodeLocationFromToken=J,this.setNodeLocationFromNode=J,this.cstPostRule=this.cstPostRuleFull,this.setInitialNodeLocation=this.setInitialNodeLocationFullRegular);else if(/onlyOffset/i.test(this.nodeLocationTracking))this.recoveryEnabled?(this.setNodeLocationFromToken=tc,this.setNodeLocationFromNode=tc,this.cstPostRule=J,this.setInitialNodeLocation=this.setInitialNodeLocationOnlyOffsetRecovery):(this.setNodeLocationFromToken=J,this.setNodeLocationFromNode=J,this.cstPostRule=this.cstPostRuleOnlyOffset,this.setInitialNodeLocation=this.setInitialNodeLocationOnlyOffsetRegular);else if(/none/i.test(this.nodeLocationTracking))this.setNodeLocationFromToken=J,this.setNodeLocationFromNode=J,this.cstPostRule=J,this.setInitialNodeLocation=J;else throw Error(`Invalid <nodeLocationTracking> config option: "${e.nodeLocationTracking}"`)}setInitialNodeLocationOnlyOffsetRecovery(e){e.location={startOffset:NaN,endOffset:NaN}}setInitialNodeLocationOnlyOffsetRegular(e){e.location={startOffset:this.LA(1).startOffset,endOffset:NaN}}setInitialNodeLocationFullRecovery(e){e.location={startOffset:NaN,startLine:NaN,startColumn:NaN,endOffset:NaN,endLine:NaN,endColumn:NaN}}setInitialNodeLocationFullRegular(e){const n=this.LA(1);e.location={startOffset:n.startOffset,startLine:n.startLine,startColumn:n.startColumn,endOffset:NaN,endLine:NaN,endColumn:NaN}}cstInvocationStateUpdate(e){const n={name:e,children:Object.create(null)};this.setInitialNodeLocation(n),this.CST_STACK.push(n)}cstFinallyStateUpdate(){this.CST_STACK.pop()}cstPostRuleFull(e){const n=this.LA(0),r=e.location;r.startOffset<=n.startOffset?(r.endOffset=n.endOffset,r.endLine=n.endLine,r.endColumn=n.endColumn):(r.startOffset=NaN,r.startLine=NaN,r.startColumn=NaN)}cstPostRuleOnlyOffset(e){const n=this.LA(0),r=e.location;r.startOffset<=n.startOffset?r.endOffset=n.endOffset:r.startOffset=NaN}cstPostTerminal(e,n){const r=this.CST_STACK[this.CST_STACK.length-1];mI(r,n,e),this.setNodeLocationFromToken(r.location,n)}cstPostNonTerminal(e,n){const r=this.CST_STACK[this.CST_STACK.length-1];gI(r,n,e),this.setNodeLocationFromNode(r.location,e.location)}getBaseCstVisitorConstructor(){if(ct(this.baseCstVisitorConstructor)){const e=vI(this.className,Pe(this.gastProductionsCache));return this.baseCstVisitorConstructor=e,e}return this.baseCstVisitorConstructor}getBaseCstVisitorConstructorWithDefaults(){if(ct(this.baseCstVisitorWithDefaultsConstructor)){const e=$I(this.className,Pe(this.gastProductionsCache),this.getBaseCstVisitorConstructor());return this.baseCstVisitorWithDefaultsConstructor=e,e}return this.baseCstVisitorWithDefaultsConstructor}getLastExplicitRuleShortName(){const e=this.RULE_STACK;return e[e.length-1]}getPreviousExplicitRuleShortName(){const e=this.RULE_STACK;return e[e.length-2]}getLastExplicitRuleOccurrenceIndex(){const e=this.RULE_OCCURRENCE_STACK;return e[e.length-1]}}class SI{initLexerAdapter(){this.tokVector=[],this.tokVectorLength=0,this.currIdx=-1}set input(e){if(this.selfAnalysisDone!==!0)throw Error("Missing <performSelfAnalysis> invocation at the end of the Parser's constructor.");this.reset(),this.tokVector=e,this.tokVectorLength=e.length}get input(){return this.tokVector}SKIP_TOKEN(){return this.currIdx<=this.tokVector.length-2?(this.consumeToken(),this.LA(1)):as}LA(e){const n=this.currIdx+e;return n<0||this.tokVectorLength<=n?as:this.tokVector[n]}consumeToken(){this.currIdx++}exportLexerState(){return this.currIdx}importLexerState(e){this.currIdx=e}resetLexerState(){this.currIdx=-1}moveToTerminatedState(){this.currIdx=this.tokVector.length-1}getLexerPosition(){return this.exportLexerState()}}class xI{ACTION(e){return e.call(this)}consume(e,n,r){return this.consumeInternal(n,e,r)}subrule(e,n,r){return this.subruleInternal(n,e,r)}option(e,n){return this.optionInternal(n,e)}or(e,n){return this.orInternal(n,e)}many(e,n){return this.manyInternal(e,n)}atLeastOne(e,n){return this.atLeastOneInternal(e,n)}CONSUME(e,n){return this.consumeInternal(e,0,n)}CONSUME1(e,n){return this.consumeInternal(e,1,n)}CONSUME2(e,n){return this.consumeInternal(e,2,n)}CONSUME3(e,n){return this.consumeInternal(e,3,n)}CONSUME4(e,n){return this.consumeInternal(e,4,n)}CONSUME5(e,n){return this.consumeInternal(e,5,n)}CONSUME6(e,n){return this.consumeInternal(e,6,n)}CONSUME7(e,n){return this.consumeInternal(e,7,n)}CONSUME8(e,n){return this.consumeInternal(e,8,n)}CONSUME9(e,n){return this.consumeInternal(e,9,n)}SUBRULE(e,n){return this.subruleInternal(e,0,n)}SUBRULE1(e,n){return this.subruleInternal(e,1,n)}SUBRULE2(e,n){return this.subruleInternal(e,2,n)}SUBRULE3(e,n){return this.subruleInternal(e,3,n)}SUBRULE4(e,n){return this.subruleInternal(e,4,n)}SUBRULE5(e,n){return this.subruleInternal(e,5,n)}SUBRULE6(e,n){return this.subruleInternal(e,6,n)}SUBRULE7(e,n){return this.subruleInternal(e,7,n)}SUBRULE8(e,n){return this.subruleInternal(e,8,n)}SUBRULE9(e,n){return this.subruleInternal(e,9,n)}OPTION(e){return this.optionInternal(e,0)}OPTION1(e){return this.optionInternal(e,1)}OPTION2(e){return this.optionInternal(e,2)}OPTION3(e){return this.optionInternal(e,3)}OPTION4(e){return this.optionInternal(e,4)}OPTION5(e){return this.optionInternal(e,5)}OPTION6(e){return this.optionInternal(e,6)}OPTION7(e){return this.optionInternal(e,7)}OPTION8(e){return this.optionInternal(e,8)}OPTION9(e){return this.optionInternal(e,9)}OR(e){return this.orInternal(e,0)}OR1(e){return this.orInternal(e,1)}OR2(e){return this.orInternal(e,2)}OR3(e){return this.orInternal(e,3)}OR4(e){return this.orInternal(e,4)}OR5(e){return this.orInternal(e,5)}OR6(e){return this.orInternal(e,6)}OR7(e){return this.orInternal(e,7)}OR8(e){return this.orInternal(e,8)}OR9(e){return this.orInternal(e,9)}MANY(e){this.manyInternal(0,e)}MANY1(e){this.manyInternal(1,e)}MANY2(e){this.manyInternal(2,e)}MANY3(e){this.manyInternal(3,e)}MANY4(e){this.manyInternal(4,e)}MANY5(e){this.manyInternal(5,e)}MANY6(e){this.manyInternal(6,e)}MANY7(e){this.manyInternal(7,e)}MANY8(e){this.manyInternal(8,e)}MANY9(e){this.manyInternal(9,e)}MANY_SEP(e){this.manySepFirstInternal(0,e)}MANY_SEP1(e){this.manySepFirstInternal(1,e)}MANY_SEP2(e){this.manySepFirstInternal(2,e)}MANY_SEP3(e){this.manySepFirstInternal(3,e)}MANY_SEP4(e){this.manySepFirstInternal(4,e)}MANY_SEP5(e){this.manySepFirstInternal(5,e)}MANY_SEP6(e){this.manySepFirstInternal(6,e)}MANY_SEP7(e){this.manySepFirstInternal(7,e)}MANY_SEP8(e){this.manySepFirstInternal(8,e)}MANY_SEP9(e){this.manySepFirstInternal(9,e)}AT_LEAST_ONE(e){this.atLeastOneInternal(0,e)}AT_LEAST_ONE1(e){return this.atLeastOneInternal(1,e)}AT_LEAST_ONE2(e){this.atLeastOneInternal(2,e)}AT_LEAST_ONE3(e){this.atLeastOneInternal(3,e)}AT_LEAST_ONE4(e){this.atLeastOneInternal(4,e)}AT_LEAST_ONE5(e){this.atLeastOneInternal(5,e)}AT_LEAST_ONE6(e){this.atLeastOneInternal(6,e)}AT_LEAST_ONE7(e){this.atLeastOneInternal(7,e)}AT_LEAST_ONE8(e){this.atLeastOneInternal(8,e)}AT_LEAST_ONE9(e){this.atLeastOneInternal(9,e)}AT_LEAST_ONE_SEP(e){this.atLeastOneSepFirstInternal(0,e)}AT_LEAST_ONE_SEP1(e){this.atLeastOneSepFirstInternal(1,e)}AT_LEAST_ONE_SEP2(e){this.atLeastOneSepFirstInternal(2,e)}AT_LEAST_ONE_SEP3(e){this.atLeastOneSepFirstInternal(3,e)}AT_LEAST_ONE_SEP4(e){this.atLeastOneSepFirstInternal(4,e)}AT_LEAST_ONE_SEP5(e){this.atLeastOneSepFirstInternal(5,e)}AT_LEAST_ONE_SEP6(e){this.atLeastOneSepFirstInternal(6,e)}AT_LEAST_ONE_SEP7(e){this.atLeastOneSepFirstInternal(7,e)}AT_LEAST_ONE_SEP8(e){this.atLeastOneSepFirstInternal(8,e)}AT_LEAST_ONE_SEP9(e){this.atLeastOneSepFirstInternal(9,e)}RULE(e,n,r=os){if(ge(this.definedRulesNames,e)){const a={message:Ht.buildDuplicateRuleNameError({topLevelRule:e,grammarName:this.className}),type:de.DUPLICATE_RULE_NAME,ruleName:e};this.definitionErrors.push(a)}this.definedRulesNames.push(e);const i=this.defineRule(e,n,r);return this[e]=i,i}OVERRIDE_RULE(e,n,r=os){const i=q_(e,this.definedRulesNames,this.className);this.definitionErrors=this.definitionErrors.concat(i);const s=this.defineRule(e,n,r);return this[e]=s,s}BACKTRACK(e,n){return function(){this.isBackTrackingStack.push(1);const r=this.saveRecogState();try{return e.apply(this,n),!0}catch(i){if(is(i))return!1;throw i}finally{this.reloadRecogState(r),this.isBackTrackingStack.pop()}}}getGAstProductions(){return this.gastProductionsCache}getSerializedGastProductions(){return Px(Z(this.gastProductionsCache))}}class _I{initRecognizerEngine(e,n){if(this.className=this.constructor.name,this.shortRuleNameToFull={},this.fullRuleNameToShort={},this.ruleShortNameIdx=256,this.tokenMatcher=rs,this.subruleIdx=0,this.definedRulesNames=[],this.tokensMap={},this.isBackTrackingStack=[],this.RULE_STACK=[],this.RULE_OCCURRENCE_STACK=[],this.gastProductionsCache={},w(n,"serializedGrammar"))throw Error(`The Parser's configuration can no longer contain a <serializedGrammar> property.
|
|
92
|
+
See: https://chevrotain.io/docs/changes/BREAKING_CHANGES.html#_6-0-0
|
|
93
|
+
For Further details.`);if(M(e)){if(U(e))throw Error(`A Token Vocabulary cannot be empty.
|
|
94
|
+
Note that the first argument for the parser constructor
|
|
95
|
+
is no longer a Token vector (since v4.0).`);if(typeof e[0].startOffset=="number")throw Error(`The Parser constructor no longer accepts a token vector as the first argument.
|
|
96
|
+
See: https://chevrotain.io/docs/changes/BREAKING_CHANGES.html#_4-0-0
|
|
97
|
+
For Further details.`)}if(M(e))this.tokensMap=Se(e,(s,a)=>(s[a.name]=a,s),{});else if(w(e,"modes")&&qe(Ge(Z(e.modes)),S_)){const s=Ge(Z(e.modes)),a=rl(s);this.tokensMap=Se(a,(o,l)=>(o[l.name]=l,o),{})}else if(Oe(e))this.tokensMap=ae(e);else throw new Error("<tokensDictionary> argument must be An Array of Token constructors, A dictionary of Token constructors or an IMultiModeLexerDefinition");this.tokensMap.EOF=wt;const r=w(e,"modes")?Ge(Z(e.modes)):Z(e),i=qe(r,s=>U(s.categoryMatches));this.tokenMatcher=i?rs:ti,ni(Z(this.tokensMap))}defineRule(e,n,r){if(this.selfAnalysisDone)throw Error(`Grammar rule <${e}> may not be defined after the 'performSelfAnalysis' method has been called'
|
|
98
|
+
Make sure that all grammar rule definitions are done before 'performSelfAnalysis' is called.`);const i=w(r,"resyncEnabled")?r.resyncEnabled:os.resyncEnabled,s=w(r,"recoveryValueFunc")?r.recoveryValueFunc:os.recoveryValueFunc,a=this.ruleShortNameIdx<<fI+Ot;this.ruleShortNameIdx++,this.shortRuleNameToFull[a]=e,this.fullRuleNameToShort[e]=a;let o;return this.outputCst===!0?o=function(...c){try{this.ruleInvocationStateUpdate(a,e,this.subruleIdx),n.apply(this,c);const f=this.CST_STACK[this.CST_STACK.length-1];return this.cstPostRule(f),f}catch(f){return this.invokeRuleCatch(f,i,s)}finally{this.ruleFinallyStateUpdate()}}:o=function(...c){try{return this.ruleInvocationStateUpdate(a,e,this.subruleIdx),n.apply(this,c)}catch(f){return this.invokeRuleCatch(f,i,s)}finally{this.ruleFinallyStateUpdate()}},Object.assign(o,{ruleName:e,originalGrammarAction:n})}invokeRuleCatch(e,n,r){const i=this.RULE_STACK.length===1,s=n&&!this.isBackTracking()&&this.recoveryEnabled;if(is(e)){const a=e;if(s){const o=this.findReSyncTokenType();if(this.isInCurrentRuleReSyncSet(o))if(a.resyncedTokens=this.reSyncTo(o),this.outputCst){const l=this.CST_STACK[this.CST_STACK.length-1];return l.recoveredNode=!0,l}else return r(e);else{if(this.outputCst){const l=this.CST_STACK[this.CST_STACK.length-1];l.recoveredNode=!0,a.partialCstResult=l}throw a}}else{if(i)return this.moveToTerminatedState(),r(e);throw a}}else throw e}optionInternal(e,n){const r=this.getKeyForAutomaticLookahead(wh,n);return this.optionInternalLogic(e,n,r)}optionInternalLogic(e,n,r){let i=this.getLaFuncFromCache(r),s;if(typeof e!="function"){s=e.DEF;const a=e.GATE;if(a!==void 0){const o=i;i=()=>a.call(this)&&o.call(this)}}else s=e;if(i.call(this)===!0)return s.call(this)}atLeastOneInternal(e,n){const r=this.getKeyForAutomaticLookahead(ao,e);return this.atLeastOneInternalLogic(e,n,r)}atLeastOneInternalLogic(e,n,r){let i=this.getLaFuncFromCache(r),s;if(typeof n!="function"){s=n.DEF;const a=n.GATE;if(a!==void 0){const o=i;i=()=>a.call(this)&&o.call(this)}}else s=n;if(i.call(this)===!0){let a=this.doSingleRepetition(s);for(;i.call(this)===!0&&a===!0;)a=this.doSingleRepetition(s)}else throw this.raiseEarlyExitException(e,W.REPETITION_MANDATORY,n.ERR_MSG);this.attemptInRepetitionRecovery(this.atLeastOneInternal,[e,n],i,ao,e,O_)}atLeastOneSepFirstInternal(e,n){const r=this.getKeyForAutomaticLookahead(Mi,e);this.atLeastOneSepFirstInternalLogic(e,n,r)}atLeastOneSepFirstInternalLogic(e,n,r){const i=n.DEF,s=n.SEP;if(this.getLaFuncFromCache(r).call(this)===!0){i.call(this);const o=()=>this.tokenMatcher(this.LA(1),s);for(;this.tokenMatcher(this.LA(1),s)===!0;)this.CONSUME(s),i.call(this);this.attemptInRepetitionRecovery(this.repetitionSepSecondInternal,[e,s,o,i,Zu],o,Mi,e,Zu)}else throw this.raiseEarlyExitException(e,W.REPETITION_MANDATORY_WITH_SEPARATOR,n.ERR_MSG)}manyInternal(e,n){const r=this.getKeyForAutomaticLookahead(so,e);return this.manyInternalLogic(e,n,r)}manyInternalLogic(e,n,r){let i=this.getLaFuncFromCache(r),s;if(typeof n!="function"){s=n.DEF;const o=n.GATE;if(o!==void 0){const l=i;i=()=>o.call(this)&&l.call(this)}}else s=n;let a=!0;for(;i.call(this)===!0&&a===!0;)a=this.doSingleRepetition(s);this.attemptInRepetitionRecovery(this.manyInternal,[e,n],i,so,e,b_,a)}manySepFirstInternal(e,n){const r=this.getKeyForAutomaticLookahead(oo,e);this.manySepFirstInternalLogic(e,n,r)}manySepFirstInternalLogic(e,n,r){const i=n.DEF,s=n.SEP;if(this.getLaFuncFromCache(r).call(this)===!0){i.call(this);const o=()=>this.tokenMatcher(this.LA(1),s);for(;this.tokenMatcher(this.LA(1),s)===!0;)this.CONSUME(s),i.call(this);this.attemptInRepetitionRecovery(this.repetitionSepSecondInternal,[e,s,o,i,Ju],o,oo,e,Ju)}}repetitionSepSecondInternal(e,n,r,i,s){for(;r();)this.CONSUME(n),i.call(this);this.attemptInRepetitionRecovery(this.repetitionSepSecondInternal,[e,n,r,i,s],r,Mi,e,s)}doSingleRepetition(e){const n=this.getLexerPosition();return e.call(this),this.getLexerPosition()>n}orInternal(e,n){const r=this.getKeyForAutomaticLookahead(Ih,n),i=M(e)?e:e.DEF,a=this.getLaFuncFromCache(r).call(this,i);if(a!==void 0)return i[a].ALT.call(this);this.raiseNoAltException(n,e.ERR_MSG)}ruleFinallyStateUpdate(){if(this.RULE_STACK.pop(),this.RULE_OCCURRENCE_STACK.pop(),this.cstFinallyStateUpdate(),this.RULE_STACK.length===0&&this.isAtEndOfInput()===!1){const e=this.LA(1),n=this.errorMessageProvider.buildNotAllInputParsedMessage({firstRedundant:e,ruleName:this.getCurrRuleFullName()});this.SAVE_ERROR(new aI(n,e))}}subruleInternal(e,n,r){let i;try{const s=r!==void 0?r.ARGS:void 0;return this.subruleIdx=n,i=e.apply(this,s),this.cstPostNonTerminal(i,r!==void 0&&r.LABEL!==void 0?r.LABEL:e.ruleName),i}catch(s){throw this.subruleInternalError(s,r,e.ruleName)}}subruleInternalError(e,n,r){throw is(e)&&e.partialCstResult!==void 0&&(this.cstPostNonTerminal(e.partialCstResult,n!==void 0&&n.LABEL!==void 0?n.LABEL:r),delete e.partialCstResult),e}consumeInternal(e,n,r){let i;try{const s=this.LA(1);this.tokenMatcher(s,e)===!0?(this.consumeToken(),i=s):this.consumeInternalError(e,s,r)}catch(s){i=this.consumeInternalRecovery(e,n,s)}return this.cstPostTerminal(r!==void 0&&r.LABEL!==void 0?r.LABEL:e.name,i),i}consumeInternalError(e,n,r){let i;const s=this.LA(0);throw r!==void 0&&r.ERR_MSG?i=r.ERR_MSG:i=this.errorMessageProvider.buildMismatchTokenMessage({expected:e,actual:n,previous:s,ruleName:this.getCurrRuleFullName()}),this.SAVE_ERROR(new xh(i,n,s))}consumeInternalRecovery(e,n,r){if(this.recoveryEnabled&&r.name==="MismatchedTokenException"&&!this.isBackTracking()){const i=this.getFollowsForInRuleRecovery(e,n);try{return this.tryInRuleRecovery(e,i)}catch(s){throw s.name===_h?r:s}}else throw r}saveRecogState(){const e=this.errors,n=ae(this.RULE_STACK);return{errors:e,lexerState:this.exportLexerState(),RULE_STACK:n,CST_STACK:this.CST_STACK}}reloadRecogState(e){this.errors=e.errors,this.importLexerState(e.lexerState),this.RULE_STACK=e.RULE_STACK}ruleInvocationStateUpdate(e,n,r){this.RULE_OCCURRENCE_STACK.push(r),this.RULE_STACK.push(e),this.cstInvocationStateUpdate(n)}isBackTracking(){return this.isBackTrackingStack.length!==0}getCurrRuleFullName(){const e=this.getLastExplicitRuleShortName();return this.shortRuleNameToFull[e]}shortRuleNameToFullName(e){return this.shortRuleNameToFull[e]}isAtEndOfInput(){return this.tokenMatcher(this.LA(1),wt)}reset(){this.resetLexerState(),this.subruleIdx=0,this.isBackTrackingStack=[],this.errors=[],this.RULE_STACK=[],this.CST_STACK=[],this.RULE_OCCURRENCE_STACK=[]}}class II{initErrorHandler(e){this._errors=[],this.errorMessageProvider=w(e,"errorMessageProvider")?e.errorMessageProvider:dt.errorMessageProvider}SAVE_ERROR(e){if(is(e))return e.context={ruleStack:this.getHumanReadableRuleStack(),ruleOccurrenceStack:ae(this.RULE_OCCURRENCE_STACK)},this._errors.push(e),e;throw Error("Trying to save an Error which is not a RecognitionException")}get errors(){return ae(this._errors)}set errors(e){this._errors=e}raiseEarlyExitException(e,n,r){const i=this.getCurrRuleFullName(),s=this.getGAstProductions()[i],o=Xs(e,s,n,this.maxLookahead)[0],l=[];for(let c=1;c<=this.maxLookahead;c++)l.push(this.LA(c));const u=this.errorMessageProvider.buildEarlyExitMessage({expectedIterationPaths:o,actual:l,previous:this.LA(0),customUserDescription:r,ruleName:i});throw this.SAVE_ERROR(new oI(u,this.LA(1),this.LA(0)))}raiseNoAltException(e,n){const r=this.getCurrRuleFullName(),i=this.getGAstProductions()[r],s=Ys(e,i,this.maxLookahead),a=[];for(let u=1;u<=this.maxLookahead;u++)a.push(this.LA(u));const o=this.LA(0),l=this.errorMessageProvider.buildNoViableAltMessage({expectedPathsPerAlt:s,actual:a,previous:o,customUserDescription:n,ruleName:this.getCurrRuleFullName()});throw this.SAVE_ERROR(new sI(l,this.LA(1),o))}}class wI{initContentAssist(){}computeContentAssist(e,n){const r=this.gastProductionsCache[e];if(ct(r))throw Error(`Rule ->${e}<- does not exist in this grammar.`);return ph([r],n,this.tokenMatcher,this.maxLookahead)}getNextPossibleTokenTypes(e){const n=Be(e.ruleStack),i=this.getGAstProductions()[n];return new N_(i,e).startWalking()}}const Zs={description:"This Object indicates the Parser is during Recording Phase"};Object.freeze(Zs);const rc=!0,ic=Math.pow(2,Ot)-1,kh=dh({name:"RECORDING_PHASE_TOKEN",pattern:he.NA});ni([kh]);const Nh=dl(kh,`This IToken indicates the Parser is in Recording Phase
|
|
99
|
+
See: https://chevrotain.io/docs/guide/internals.html#grammar-recording for details`,-1,-1,-1,-1,-1,-1);Object.freeze(Nh);const CI={name:`This CSTNode indicates the Parser is in Recording Phase
|
|
100
|
+
See: https://chevrotain.io/docs/guide/internals.html#grammar-recording for details`,children:{}};class kI{initGastRecorder(e){this.recordingProdStack=[],this.RECORDING_PHASE=!1}enableRecording(){this.RECORDING_PHASE=!0,this.TRACE_INIT("Enable Recording",()=>{for(let e=0;e<10;e++){const n=e>0?e:"";this[`CONSUME${n}`]=function(r,i){return this.consumeInternalRecord(r,e,i)},this[`SUBRULE${n}`]=function(r,i){return this.subruleInternalRecord(r,e,i)},this[`OPTION${n}`]=function(r){return this.optionInternalRecord(r,e)},this[`OR${n}`]=function(r){return this.orInternalRecord(r,e)},this[`MANY${n}`]=function(r){this.manyInternalRecord(e,r)},this[`MANY_SEP${n}`]=function(r){this.manySepFirstInternalRecord(e,r)},this[`AT_LEAST_ONE${n}`]=function(r){this.atLeastOneInternalRecord(e,r)},this[`AT_LEAST_ONE_SEP${n}`]=function(r){this.atLeastOneSepFirstInternalRecord(e,r)}}this.consume=function(e,n,r){return this.consumeInternalRecord(n,e,r)},this.subrule=function(e,n,r){return this.subruleInternalRecord(n,e,r)},this.option=function(e,n){return this.optionInternalRecord(n,e)},this.or=function(e,n){return this.orInternalRecord(n,e)},this.many=function(e,n){this.manyInternalRecord(e,n)},this.atLeastOne=function(e,n){this.atLeastOneInternalRecord(e,n)},this.ACTION=this.ACTION_RECORD,this.BACKTRACK=this.BACKTRACK_RECORD,this.LA=this.LA_RECORD})}disableRecording(){this.RECORDING_PHASE=!1,this.TRACE_INIT("Deleting Recording methods",()=>{const e=this;for(let n=0;n<10;n++){const r=n>0?n:"";delete e[`CONSUME${r}`],delete e[`SUBRULE${r}`],delete e[`OPTION${r}`],delete e[`OR${r}`],delete e[`MANY${r}`],delete e[`MANY_SEP${r}`],delete e[`AT_LEAST_ONE${r}`],delete e[`AT_LEAST_ONE_SEP${r}`]}delete e.consume,delete e.subrule,delete e.option,delete e.or,delete e.many,delete e.atLeastOne,delete e.ACTION,delete e.BACKTRACK,delete e.LA})}ACTION_RECORD(e){}BACKTRACK_RECORD(e,n){return()=>!0}LA_RECORD(e){return as}topLevelRuleRecord(e,n){try{const r=new Kn({definition:[],name:e});return r.name=e,this.recordingProdStack.push(r),n.call(this),this.recordingProdStack.pop(),r}catch(r){if(r.KNOWN_RECORDER_ERROR!==!0)try{r.message=r.message+`
|
|
101
|
+
This error was thrown during the "grammar recording phase" For more info see:
|
|
102
|
+
https://chevrotain.io/docs/guide/internals.html#grammar-recording`}catch{throw r}throw r}}optionInternalRecord(e,n){return Yn.call(this,se,e,n)}atLeastOneInternalRecord(e,n){Yn.call(this,xe,n,e)}atLeastOneSepFirstInternalRecord(e,n){Yn.call(this,_e,n,e,rc)}manyInternalRecord(e,n){Yn.call(this,q,n,e)}manySepFirstInternalRecord(e,n){Yn.call(this,ye,n,e,rc)}orInternalRecord(e,n){return NI.call(this,e,n)}subruleInternalRecord(e,n,r){if(ss(n),!e||w(e,"ruleName")===!1){const o=new Error(`<SUBRULE${sc(n)}> argument is invalid expecting a Parser method reference but got: <${JSON.stringify(e)}>
|
|
103
|
+
inside top level rule: <${this.recordingProdStack[0].name}>`);throw o.KNOWN_RECORDER_ERROR=!0,o}const i=Mn(this.recordingProdStack),s=e.ruleName,a=new fe({idx:n,nonTerminalName:s,label:r==null?void 0:r.LABEL,referencedRule:void 0});return i.definition.push(a),this.outputCst?CI:Zs}consumeInternalRecord(e,n,r){if(ss(n),!ch(e)){const a=new Error(`<CONSUME${sc(n)}> argument is invalid expecting a TokenType reference but got: <${JSON.stringify(e)}>
|
|
104
|
+
inside top level rule: <${this.recordingProdStack[0].name}>`);throw a.KNOWN_RECORDER_ERROR=!0,a}const i=Mn(this.recordingProdStack),s=new K({idx:n,terminalType:e,label:r==null?void 0:r.LABEL});return i.definition.push(s),Nh}}function Yn(t,e,n,r=!1){ss(n);const i=Mn(this.recordingProdStack),s=ht(e)?e:e.DEF,a=new t({definition:[],idx:n});return r&&(a.separator=e.SEP),w(e,"MAX_LOOKAHEAD")&&(a.maxLookahead=e.MAX_LOOKAHEAD),this.recordingProdStack.push(a),s.call(this),i.definition.push(a),this.recordingProdStack.pop(),Zs}function NI(t,e){ss(e);const n=Mn(this.recordingProdStack),r=M(t)===!1,i=r===!1?t:t.DEF,s=new Te({definition:[],idx:e,ignoreAmbiguities:r&&t.IGNORE_AMBIGUITIES===!0});w(t,"MAX_LOOKAHEAD")&&(s.maxLookahead=t.MAX_LOOKAHEAD);const a=yR(i,o=>ht(o.GATE));return s.hasPredicates=a,n.definition.push(s),k(i,o=>{const l=new me({definition:[]});s.definition.push(l),w(o,"IGNORE_AMBIGUITIES")?l.ignoreAmbiguities=o.IGNORE_AMBIGUITIES:w(o,"GATE")&&(l.ignoreAmbiguities=!0),this.recordingProdStack.push(l),o.ALT.call(this),this.recordingProdStack.pop()}),Zs}function sc(t){return t===0?"":`${t}`}function ss(t){if(t<0||t>ic){const e=new Error(`Invalid DSL Method idx value: <${t}>
|
|
105
|
+
Idx value must be a none negative value smaller than ${ic+1}`);throw e.KNOWN_RECORDER_ERROR=!0,e}}class bI{initPerformanceTracer(e){if(w(e,"traceInitPerf")){const n=e.traceInitPerf,r=typeof n=="number";this.traceInitMaxIdent=r?n:1/0,this.traceInitPerf=r?n>0:n}else this.traceInitMaxIdent=0,this.traceInitPerf=dt.traceInitPerf;this.traceInitIndent=-1}TRACE_INIT(e,n){if(this.traceInitPerf===!0){this.traceInitIndent++;const r=new Array(this.traceInitIndent+1).join(" ");this.traceInitIndent<this.traceInitMaxIdent&&console.log(`${r}--> <${e}>`);const{time:i,value:s}=bd(n),a=i>10?console.warn:console.log;return this.traceInitIndent<this.traceInitMaxIdent&&a(`${r}<-- <${e}> time: ${i}ms`),this.traceInitIndent--,s}else return n()}}function OI(t,e){e.forEach(n=>{const r=n.prototype;Object.getOwnPropertyNames(r).forEach(i=>{if(i==="constructor")return;const s=Object.getOwnPropertyDescriptor(r,i);s&&(s.get||s.set)?Object.defineProperty(t.prototype,i,s):t.prototype[i]=n.prototype[i]})})}const as=dl(wt,"",NaN,NaN,NaN,NaN,NaN,NaN);Object.freeze(as);const dt=Object.freeze({recoveryEnabled:!1,maxLookahead:3,dynamicTokensEnabled:!1,outputCst:!0,errorMessageProvider:hn,nodeLocationTracking:"none",traceInitPerf:!1,skipValidations:!1}),os=Object.freeze({recoveryValueFunc:()=>{},resyncEnabled:!0});var de;(function(t){t[t.INVALID_RULE_NAME=0]="INVALID_RULE_NAME",t[t.DUPLICATE_RULE_NAME=1]="DUPLICATE_RULE_NAME",t[t.INVALID_RULE_OVERRIDE=2]="INVALID_RULE_OVERRIDE",t[t.DUPLICATE_PRODUCTIONS=3]="DUPLICATE_PRODUCTIONS",t[t.UNRESOLVED_SUBRULE_REF=4]="UNRESOLVED_SUBRULE_REF",t[t.LEFT_RECURSION=5]="LEFT_RECURSION",t[t.NONE_LAST_EMPTY_ALT=6]="NONE_LAST_EMPTY_ALT",t[t.AMBIGUOUS_ALTS=7]="AMBIGUOUS_ALTS",t[t.CONFLICT_TOKENS_RULES_NAMESPACE=8]="CONFLICT_TOKENS_RULES_NAMESPACE",t[t.INVALID_TOKEN_NAME=9]="INVALID_TOKEN_NAME",t[t.NO_NON_EMPTY_LOOKAHEAD=10]="NO_NON_EMPTY_LOOKAHEAD",t[t.AMBIGUOUS_PREFIX_ALTS=11]="AMBIGUOUS_PREFIX_ALTS",t[t.TOO_MANY_ALTS=12]="TOO_MANY_ALTS",t[t.CUSTOM_LOOKAHEAD_VALIDATION=13]="CUSTOM_LOOKAHEAD_VALIDATION"})(de||(de={}));function ac(t=void 0){return function(){return t}}class ri{static performSelfAnalysis(e){throw Error("The **static** `performSelfAnalysis` method has been deprecated. \nUse the **instance** method with the same name instead.")}performSelfAnalysis(){this.TRACE_INIT("performSelfAnalysis",()=>{let e;this.selfAnalysisDone=!0;const n=this.className;this.TRACE_INIT("toFastProps",()=>{Od(this)}),this.TRACE_INIT("Grammar Recording",()=>{try{this.enableRecording(),k(this.definedRulesNames,i=>{const a=this[i].originalGrammarAction;let o;this.TRACE_INIT(`${i} Rule`,()=>{o=this.topLevelRuleRecord(i,a)}),this.gastProductionsCache[i]=o})}finally{this.disableRecording()}});let r=[];if(this.TRACE_INIT("Grammar Resolving",()=>{r=rI({rules:Z(this.gastProductionsCache)}),this.definitionErrors=this.definitionErrors.concat(r)}),this.TRACE_INIT("Grammar Validations",()=>{if(U(r)&&this.skipValidations===!1){const i=iI({rules:Z(this.gastProductionsCache),tokenTypes:Z(this.tokensMap),errMsgProvider:Ht,grammarName:n}),s=j_({lookaheadStrategy:this.lookaheadStrategy,rules:Z(this.gastProductionsCache),tokenTypes:Z(this.tokensMap),grammarName:n});this.definitionErrors=this.definitionErrors.concat(i,s)}}),U(this.definitionErrors)&&(this.recoveryEnabled&&this.TRACE_INIT("computeAllProdsFollows",()=>{const i=Bx(Z(this.gastProductionsCache));this.resyncFollows=i}),this.TRACE_INIT("ComputeLookaheadFunctions",()=>{var i,s;(s=(i=this.lookaheadStrategy).initialize)===null||s===void 0||s.call(i,{rules:Z(this.gastProductionsCache)}),this.preComputeLookaheadFunctions(Z(this.gastProductionsCache))})),!ri.DEFER_DEFINITION_ERRORS_HANDLING&&!U(this.definitionErrors))throw e=I(this.definitionErrors,i=>i.message),new Error(`Parser Definition Errors detected:
|
|
106
|
+
${e.join(`
|
|
107
|
+
-------------------------------
|
|
108
|
+
`)}`)})}constructor(e,n){this.definitionErrors=[],this.selfAnalysisDone=!1;const r=this;if(r.initErrorHandler(n),r.initLexerAdapter(),r.initLooksAhead(n),r.initRecognizerEngine(e,n),r.initRecoverable(n),r.initTreeBuilder(n),r.initContentAssist(),r.initGastRecorder(n),r.initPerformanceTracer(n),w(n,"ignoredIssues"))throw new Error(`The <ignoredIssues> IParserConfig property has been deprecated.
|
|
109
|
+
Please use the <IGNORE_AMBIGUITIES> flag on the relevant DSL method instead.
|
|
110
|
+
See: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#IGNORING_AMBIGUITIES
|
|
111
|
+
For further details.`);this.skipValidations=w(n,"skipValidations")?n.skipValidations:dt.skipValidations}}ri.DEFER_DEFINITION_ERRORS_HANDLING=!1;OI(ri,[uI,dI,EI,SI,_I,xI,II,wI,kI,bI]);class PI extends ri{constructor(e,n=dt){const r=ae(n);r.outputCst=!1,super(e,r)}}function Fn(t,e,n){return`${t.name}_${e}_${n}`}const Ct=1,LI=2,bh=4,Oh=5,ii=7,MI=8,DI=9,FI=10,GI=11,Ph=12;class gl{constructor(e){this.target=e}isEpsilon(){return!1}}class yl extends gl{constructor(e,n){super(e),this.tokenType=n}}class Lh extends gl{constructor(e){super(e)}isEpsilon(){return!0}}class Tl extends gl{constructor(e,n,r){super(e),this.rule=n,this.followState=r}isEpsilon(){return!0}}function UI(t){const e={decisionMap:{},decisionStates:[],ruleToStartState:new Map,ruleToStopState:new Map,states:[]};BI(e,t);const n=t.length;for(let r=0;r<n;r++){const i=t[r],s=on(e,i,i);s!==void 0&&ZI(e,i,s)}return e}function BI(t,e){const n=e.length;for(let r=0;r<n;r++){const i=e[r],s=ee(t,i,void 0,{type:LI}),a=ee(t,i,void 0,{type:ii});s.stop=a,t.ruleToStartState.set(i,s),t.ruleToStopState.set(i,a)}}function Mh(t,e,n){return n instanceof K?vl(t,e,n.terminalType,n):n instanceof fe?JI(t,e,n):n instanceof Te?zI(t,e,n):n instanceof se?VI(t,e,n):n instanceof q?jI(t,e,n):n instanceof ye?KI(t,e,n):n instanceof xe?HI(t,e,n):n instanceof _e?WI(t,e,n):on(t,e,n)}function jI(t,e,n){const r=ee(t,e,n,{type:Oh});Pt(t,r);const i=Wn(t,e,r,n,on(t,e,n));return Fh(t,e,n,i)}function KI(t,e,n){const r=ee(t,e,n,{type:Oh});Pt(t,r);const i=Wn(t,e,r,n,on(t,e,n)),s=vl(t,e,n.separator,n);return Fh(t,e,n,i,s)}function HI(t,e,n){const r=ee(t,e,n,{type:bh});Pt(t,r);const i=Wn(t,e,r,n,on(t,e,n));return Dh(t,e,n,i)}function WI(t,e,n){const r=ee(t,e,n,{type:bh});Pt(t,r);const i=Wn(t,e,r,n,on(t,e,n)),s=vl(t,e,n.separator,n);return Dh(t,e,n,i,s)}function zI(t,e,n){const r=ee(t,e,n,{type:Ct});Pt(t,r);const i=ot(n.definition,a=>Mh(t,e,a));return Wn(t,e,r,n,...i)}function VI(t,e,n){const r=ee(t,e,n,{type:Ct});Pt(t,r);const i=Wn(t,e,r,n,on(t,e,n));return qI(t,e,n,i)}function on(t,e,n){const r=Fp(ot(n.definition,i=>Mh(t,e,i)),i=>i!==void 0);return r.length===1?r[0]:r.length===0?void 0:XI(t,r)}function Dh(t,e,n,r,i){const s=r.left,a=r.right,o=ee(t,e,n,{type:GI});Pt(t,o);const l=ee(t,e,n,{type:Ph});return s.loopback=o,l.loopback=o,t.decisionMap[Fn(e,i?"RepetitionMandatoryWithSeparator":"RepetitionMandatory",n.idx)]=o,X(a,o),i===void 0?(X(o,s),X(o,l)):(X(o,l),X(o,i.left),X(i.right,s)),{left:s,right:l}}function Fh(t,e,n,r,i){const s=r.left,a=r.right,o=ee(t,e,n,{type:FI});Pt(t,o);const l=ee(t,e,n,{type:Ph}),u=ee(t,e,n,{type:DI});return o.loopback=u,l.loopback=u,X(o,s),X(o,l),X(a,u),i!==void 0?(X(u,l),X(u,i.left),X(i.right,s)):X(u,o),t.decisionMap[Fn(e,i?"RepetitionWithSeparator":"Repetition",n.idx)]=o,{left:o,right:l}}function qI(t,e,n,r){const i=r.left,s=r.right;return X(i,s),t.decisionMap[Fn(e,"Option",n.idx)]=i,r}function Pt(t,e){return t.decisionStates.push(e),e.decision=t.decisionStates.length-1,e.decision}function Wn(t,e,n,r,...i){const s=ee(t,e,r,{type:MI,start:n});n.end=s;for(const o of i)o!==void 0?(X(n,o.left),X(o.right,s)):X(n,s);const a={left:n,right:s};return t.decisionMap[Fn(e,YI(r),r.idx)]=n,a}function YI(t){if(t instanceof Te)return"Alternation";if(t instanceof se)return"Option";if(t instanceof q)return"Repetition";if(t instanceof ye)return"RepetitionWithSeparator";if(t instanceof xe)return"RepetitionMandatory";if(t instanceof _e)return"RepetitionMandatoryWithSeparator";throw new Error("Invalid production type encountered")}function XI(t,e){const n=e.length;for(let s=0;s<n-1;s++){const a=e[s];let o;a.left.transitions.length===1&&(o=a.left.transitions[0]);const l=o instanceof Tl,u=o,c=e[s+1].left;a.left.type===Ct&&a.right.type===Ct&&o!==void 0&&(l&&u.followState===a.right||o.target===a.right)?(l?u.followState=c:o.target=c,QI(t,a.right)):X(a.right,c)}const r=e[0],i=e[n-1];return{left:r.left,right:i.right}}function vl(t,e,n,r){const i=ee(t,e,r,{type:Ct}),s=ee(t,e,r,{type:Ct});return $l(i,new yl(s,n)),{left:i,right:s}}function JI(t,e,n){const r=n.referencedRule,i=t.ruleToStartState.get(r),s=ee(t,e,n,{type:Ct}),a=ee(t,e,n,{type:Ct}),o=new Tl(i,r,a);return $l(s,o),{left:s,right:a}}function ZI(t,e,n){const r=t.ruleToStartState.get(e);X(r,n.left);const i=t.ruleToStopState.get(e);return X(n.right,i),{left:r,right:i}}function X(t,e){const n=new Lh(e);$l(t,n)}function ee(t,e,n,r){const i=Object.assign({atn:t,production:n,epsilonOnlyTransitions:!1,rule:e,transitions:[],nextTokenWithinRule:[],stateNumber:t.states.length},r);return t.states.push(i),i}function $l(t,e){t.transitions.length===0&&(t.epsilonOnlyTransitions=e.isEpsilon()),t.transitions.push(e)}function QI(t,e){t.states.splice(t.states.indexOf(e),1)}const ls={};class uo{constructor(){this.map={},this.configs=[]}get size(){return this.configs.length}finalize(){this.map={}}add(e){const n=Gh(e);n in this.map||(this.map[n]=this.configs.length,this.configs.push(e))}get elements(){return this.configs}get alts(){return ot(this.configs,e=>e.alt)}get key(){let e="";for(const n in this.map)e+=n+":";return e}}function Gh(t,e=!0){return`${e?`a${t.alt}`:""}s${t.state.stateNumber}:${t.stack.map(n=>n.stateNumber.toString()).join("_")}`}function ew(t,e){const n={};return r=>{const i=r.toString();let s=n[i];return s!==void 0||(s={atnStartState:t,decision:e,states:{}},n[i]=s),s}}class Uh{constructor(){this.predicates=[]}is(e){return e>=this.predicates.length||this.predicates[e]}set(e,n){this.predicates[e]=n}toString(){let e="";const n=this.predicates.length;for(let r=0;r<n;r++)e+=this.predicates[r]===!0?"1":"0";return e}}const oc=new Uh;class tw extends ml{constructor(e){var n;super(),this.logging=(n=e==null?void 0:e.logging)!==null&&n!==void 0?n:(r=>console.log(r))}initialize(e){this.atn=UI(e.rules),this.dfas=nw(this.atn)}validateAmbiguousAlternationAlternatives(){return[]}validateEmptyOrAlternatives(){return[]}buildLookaheadForAlternation(e){const{prodOccurrence:n,rule:r,hasPredicates:i,dynamicTokensEnabled:s}=e,a=this.dfas,o=this.logging,l=Fn(r,"Alternation",n),c=this.atn.decisionMap[l].decision,f=ot(Qu({maxLookahead:1,occurrence:n,prodType:"Alternation",rule:r}),d=>ot(d,h=>h[0]));if(lc(f,!1)&&!s){const d=wl(f,(h,m,g)=>(ra(m,T=>{T&&(h[T.tokenTypeIdx]=g,ra(T.categoryMatches,y=>{h[y]=g}))}),h),{});return i?function(h){var m;const g=this.LA(1),T=d[g.tokenTypeIdx];if(h!==void 0&&T!==void 0){const y=(m=h[T])===null||m===void 0?void 0:m.GATE;if(y!==void 0&&y.call(this)===!1)return}return T}:function(){const h=this.LA(1);return d[h.tokenTypeIdx]}}else return i?function(d){const h=new Uh,m=d===void 0?0:d.length;for(let T=0;T<m;T++){const y=d==null?void 0:d[T].GATE;h.set(T,y===void 0||y.call(this))}const g=Aa.call(this,a,c,h,o);return typeof g=="number"?g:void 0}:function(){const d=Aa.call(this,a,c,oc,o);return typeof d=="number"?d:void 0}}buildLookaheadForOptional(e){const{prodOccurrence:n,rule:r,prodType:i,dynamicTokensEnabled:s}=e,a=this.dfas,o=this.logging,l=Fn(r,i,n),c=this.atn.decisionMap[l].decision,f=ot(Qu({maxLookahead:1,occurrence:n,prodType:i,rule:r}),d=>ot(d,h=>h[0]));if(lc(f)&&f[0][0]&&!s){const d=f[0],h=Op(d);if(h.length===1&&bp(h[0].categoryMatches)){const g=h[0].tokenTypeIdx;return function(){return this.LA(1).tokenTypeIdx===g}}else{const m=wl(h,(g,T)=>(T!==void 0&&(g[T.tokenTypeIdx]=!0,ra(T.categoryMatches,y=>{g[y]=!0})),g),{});return function(){const g=this.LA(1);return m[g.tokenTypeIdx]===!0}}}return function(){const d=Aa.call(this,a,c,oc,o);return typeof d=="object"?!1:d===0}}}function lc(t,e=!0){const n=new Set;for(const r of t){const i=new Set;for(const s of r){if(s===void 0){if(e)break;return!1}const a=[s.tokenTypeIdx].concat(s.categoryMatches);for(const o of a)if(n.has(o)){if(!i.has(o))return!1}else n.add(o),i.add(o)}}return!0}function nw(t){const e=t.decisionStates.length,n=Array(e);for(let r=0;r<e;r++)n[r]=ew(t.decisionStates[r],r);return n}function Aa(t,e,n,r){const i=t[e](n);let s=i.start;if(s===void 0){const o=hw(i.atnStartState);s=jh(i,Bh(o)),i.start=s}return rw.apply(this,[i,s,n,r])}function rw(t,e,n,r){let i=e,s=1;const a=[];let o=this.LA(s++);for(;;){let l=uw(i,o);if(l===void 0&&(l=iw.apply(this,[t,i,o,s,n,r])),l===ls)return lw(a,i,o);if(l.isAcceptState===!0)return l.prediction;i=l,a.push(o),o=this.LA(s++)}}function iw(t,e,n,r,i,s){const a=cw(e.configs,n,i);if(a.size===0)return uc(t,e,n,ls),ls;let o=Bh(a);const l=dw(a,i);if(l!==void 0)o.isAcceptState=!0,o.prediction=l,o.configs.uniqueAlt=l;else if(yw(a)){const u=Pp(a.alts);o.isAcceptState=!0,o.prediction=u,o.configs.uniqueAlt=u,sw.apply(this,[t,r,a.alts,s])}return o=uc(t,e,n,o),o}function sw(t,e,n,r){const i=[];for(let u=1;u<=e;u++)i.push(this.LA(u).tokenType);const s=t.atnStartState,a=s.rule,o=s.production,l=aw({topLevelRule:a,ambiguityIndices:n,production:o,prefixPath:i});r(l)}function aw(t){const e=ot(t.prefixPath,i=>gn(i)).join(", "),n=t.production.idx===0?"":t.production.idx;let r=`Ambiguous Alternatives Detected: <${t.ambiguityIndices.join(", ")}> in <${ow(t.production)}${n}> inside <${t.topLevelRule.name}> Rule,
|
|
112
|
+
<${e}> may appears as a prefix path in all these alternatives.
|
|
113
|
+
`;return r=r+`See: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#AMBIGUOUS_ALTERNATIVES
|
|
114
|
+
For Further details.`,r}function ow(t){if(t instanceof fe)return"SUBRULE";if(t instanceof se)return"OPTION";if(t instanceof Te)return"OR";if(t instanceof xe)return"AT_LEAST_ONE";if(t instanceof _e)return"AT_LEAST_ONE_SEP";if(t instanceof ye)return"MANY_SEP";if(t instanceof q)return"MANY";if(t instanceof K)return"CONSUME";throw Error("non exhaustive match")}function lw(t,e,n){const r=Gp(e.configs.elements,s=>s.state.transitions),i=Up(r.filter(s=>s instanceof yl).map(s=>s.tokenType),s=>s.tokenTypeIdx);return{actualToken:n,possibleTokenTypes:i,tokenPath:t}}function uw(t,e){return t.edges[e.tokenTypeIdx]}function cw(t,e,n){const r=new uo,i=[];for(const a of t.elements){if(n.is(a.alt)===!1)continue;if(a.state.type===ii){i.push(a);continue}const o=a.state.transitions.length;for(let l=0;l<o;l++){const u=a.state.transitions[l],c=fw(u,e);c!==void 0&&r.add({state:c,alt:a.alt,stack:a.stack})}}let s;if(i.length===0&&r.size===1&&(s=r),s===void 0){s=new uo;for(const a of r.elements)us(a,s)}if(i.length>0&&!mw(s))for(const a of i)s.add(a);return s}function fw(t,e){if(t instanceof yl&&hh(e,t.tokenType))return t.target}function dw(t,e){let n;for(const r of t.elements)if(e.is(r.alt)===!0){if(n===void 0)n=r.alt;else if(n!==r.alt)return}return n}function Bh(t){return{configs:t,edges:{},isAcceptState:!1,prediction:-1}}function uc(t,e,n,r){return r=jh(t,r),e.edges[n.tokenTypeIdx]=r,r}function jh(t,e){if(e===ls)return e;const n=e.configs.key,r=t.states[n];return r!==void 0?r:(e.configs.finalize(),t.states[n]=e,e)}function hw(t){const e=new uo,n=t.transitions.length;for(let r=0;r<n;r++){const s={state:t.transitions[r].target,alt:r,stack:[]};us(s,e)}return e}function us(t,e){const n=t.state;if(n.type===ii){if(t.stack.length>0){const i=[...t.stack],a={state:i.pop(),alt:t.alt,stack:i};us(a,e)}else e.add(t);return}n.epsilonOnlyTransitions||e.add(t);const r=n.transitions.length;for(let i=0;i<r;i++){const s=n.transitions[i],a=pw(t,s);a!==void 0&&us(a,e)}}function pw(t,e){if(e instanceof Lh)return{state:e.target,alt:t.alt,stack:t.stack};if(e instanceof Tl){const n=[...t.stack,e.followState];return{state:e.target,alt:t.alt,stack:n}}}function mw(t){for(const e of t.elements)if(e.state.type===ii)return!0;return!1}function gw(t){for(const e of t.elements)if(e.state.type!==ii)return!1;return!0}function yw(t){if(gw(t))return!0;const e=Tw(t.elements);return vw(e)&&!$w(e)}function Tw(t){const e=new Map;for(const n of t){const r=Gh(n,!1);let i=e.get(r);i===void 0&&(i={},e.set(r,i)),i[n.alt]=!0}return e}function vw(t){for(const e of Array.from(t.values()))if(Object.keys(e).length>1)return!0;return!1}function $w(t){for(const e of Array.from(t.values()))if(Object.keys(e).length===1)return!0;return!1}var cc;(function(t){function e(n){return typeof n=="string"}t.is=e})(cc||(cc={}));var co;(function(t){function e(n){return typeof n=="string"}t.is=e})(co||(co={}));var fc;(function(t){t.MIN_VALUE=-2147483648,t.MAX_VALUE=2147483647;function e(n){return typeof n=="number"&&t.MIN_VALUE<=n&&n<=t.MAX_VALUE}t.is=e})(fc||(fc={}));var cs;(function(t){t.MIN_VALUE=0,t.MAX_VALUE=2147483647;function e(n){return typeof n=="number"&&t.MIN_VALUE<=n&&n<=t.MAX_VALUE}t.is=e})(cs||(cs={}));var D;(function(t){function e(r,i){return r===Number.MAX_VALUE&&(r=cs.MAX_VALUE),i===Number.MAX_VALUE&&(i=cs.MAX_VALUE),{line:r,character:i}}t.create=e;function n(r){let i=r;return p.objectLiteral(i)&&p.uinteger(i.line)&&p.uinteger(i.character)}t.is=n})(D||(D={}));var L;(function(t){function e(r,i,s,a){if(p.uinteger(r)&&p.uinteger(i)&&p.uinteger(s)&&p.uinteger(a))return{start:D.create(r,i),end:D.create(s,a)};if(D.is(r)&&D.is(i))return{start:r,end:i};throw new Error(`Range#create called with invalid arguments[${r}, ${i}, ${s}, ${a}]`)}t.create=e;function n(r){let i=r;return p.objectLiteral(i)&&D.is(i.start)&&D.is(i.end)}t.is=n})(L||(L={}));var fs;(function(t){function e(r,i){return{uri:r,range:i}}t.create=e;function n(r){let i=r;return p.objectLiteral(i)&&L.is(i.range)&&(p.string(i.uri)||p.undefined(i.uri))}t.is=n})(fs||(fs={}));var dc;(function(t){function e(r,i,s,a){return{targetUri:r,targetRange:i,targetSelectionRange:s,originSelectionRange:a}}t.create=e;function n(r){let i=r;return p.objectLiteral(i)&&L.is(i.targetRange)&&p.string(i.targetUri)&&L.is(i.targetSelectionRange)&&(L.is(i.originSelectionRange)||p.undefined(i.originSelectionRange))}t.is=n})(dc||(dc={}));var fo;(function(t){function e(r,i,s,a){return{red:r,green:i,blue:s,alpha:a}}t.create=e;function n(r){const i=r;return p.objectLiteral(i)&&p.numberRange(i.red,0,1)&&p.numberRange(i.green,0,1)&&p.numberRange(i.blue,0,1)&&p.numberRange(i.alpha,0,1)}t.is=n})(fo||(fo={}));var hc;(function(t){function e(r,i){return{range:r,color:i}}t.create=e;function n(r){const i=r;return p.objectLiteral(i)&&L.is(i.range)&&fo.is(i.color)}t.is=n})(hc||(hc={}));var pc;(function(t){function e(r,i,s){return{label:r,textEdit:i,additionalTextEdits:s}}t.create=e;function n(r){const i=r;return p.objectLiteral(i)&&p.string(i.label)&&(p.undefined(i.textEdit)||Un.is(i))&&(p.undefined(i.additionalTextEdits)||p.typedArray(i.additionalTextEdits,Un.is))}t.is=n})(pc||(pc={}));var mc;(function(t){t.Comment="comment",t.Imports="imports",t.Region="region"})(mc||(mc={}));var gc;(function(t){function e(r,i,s,a,o,l){const u={startLine:r,endLine:i};return p.defined(s)&&(u.startCharacter=s),p.defined(a)&&(u.endCharacter=a),p.defined(o)&&(u.kind=o),p.defined(l)&&(u.collapsedText=l),u}t.create=e;function n(r){const i=r;return p.objectLiteral(i)&&p.uinteger(i.startLine)&&p.uinteger(i.startLine)&&(p.undefined(i.startCharacter)||p.uinteger(i.startCharacter))&&(p.undefined(i.endCharacter)||p.uinteger(i.endCharacter))&&(p.undefined(i.kind)||p.string(i.kind))}t.is=n})(gc||(gc={}));var ho;(function(t){function e(r,i){return{location:r,message:i}}t.create=e;function n(r){let i=r;return p.defined(i)&&fs.is(i.location)&&p.string(i.message)}t.is=n})(ho||(ho={}));var yc;(function(t){t.Error=1,t.Warning=2,t.Information=3,t.Hint=4})(yc||(yc={}));var Tc;(function(t){t.Unnecessary=1,t.Deprecated=2})(Tc||(Tc={}));var vc;(function(t){function e(n){const r=n;return p.objectLiteral(r)&&p.string(r.href)}t.is=e})(vc||(vc={}));var ds;(function(t){function e(r,i,s,a,o,l){let u={range:r,message:i};return p.defined(s)&&(u.severity=s),p.defined(a)&&(u.code=a),p.defined(o)&&(u.source=o),p.defined(l)&&(u.relatedInformation=l),u}t.create=e;function n(r){var i;let s=r;return p.defined(s)&&L.is(s.range)&&p.string(s.message)&&(p.number(s.severity)||p.undefined(s.severity))&&(p.integer(s.code)||p.string(s.code)||p.undefined(s.code))&&(p.undefined(s.codeDescription)||p.string((i=s.codeDescription)===null||i===void 0?void 0:i.href))&&(p.string(s.source)||p.undefined(s.source))&&(p.undefined(s.relatedInformation)||p.typedArray(s.relatedInformation,ho.is))}t.is=n})(ds||(ds={}));var Gn;(function(t){function e(r,i,...s){let a={title:r,command:i};return p.defined(s)&&s.length>0&&(a.arguments=s),a}t.create=e;function n(r){let i=r;return p.defined(i)&&p.string(i.title)&&p.string(i.command)}t.is=n})(Gn||(Gn={}));var Un;(function(t){function e(s,a){return{range:s,newText:a}}t.replace=e;function n(s,a){return{range:{start:s,end:s},newText:a}}t.insert=n;function r(s){return{range:s,newText:""}}t.del=r;function i(s){const a=s;return p.objectLiteral(a)&&p.string(a.newText)&&L.is(a.range)}t.is=i})(Un||(Un={}));var po;(function(t){function e(r,i,s){const a={label:r};return i!==void 0&&(a.needsConfirmation=i),s!==void 0&&(a.description=s),a}t.create=e;function n(r){const i=r;return p.objectLiteral(i)&&p.string(i.label)&&(p.boolean(i.needsConfirmation)||i.needsConfirmation===void 0)&&(p.string(i.description)||i.description===void 0)}t.is=n})(po||(po={}));var Bn;(function(t){function e(n){const r=n;return p.string(r)}t.is=e})(Bn||(Bn={}));var $c;(function(t){function e(s,a,o){return{range:s,newText:a,annotationId:o}}t.replace=e;function n(s,a,o){return{range:{start:s,end:s},newText:a,annotationId:o}}t.insert=n;function r(s,a){return{range:s,newText:"",annotationId:a}}t.del=r;function i(s){const a=s;return Un.is(a)&&(po.is(a.annotationId)||Bn.is(a.annotationId))}t.is=i})($c||($c={}));var mo;(function(t){function e(r,i){return{textDocument:r,edits:i}}t.create=e;function n(r){let i=r;return p.defined(i)&&$o.is(i.textDocument)&&Array.isArray(i.edits)}t.is=n})(mo||(mo={}));var go;(function(t){function e(r,i,s){let a={kind:"create",uri:r};return i!==void 0&&(i.overwrite!==void 0||i.ignoreIfExists!==void 0)&&(a.options=i),s!==void 0&&(a.annotationId=s),a}t.create=e;function n(r){let i=r;return i&&i.kind==="create"&&p.string(i.uri)&&(i.options===void 0||(i.options.overwrite===void 0||p.boolean(i.options.overwrite))&&(i.options.ignoreIfExists===void 0||p.boolean(i.options.ignoreIfExists)))&&(i.annotationId===void 0||Bn.is(i.annotationId))}t.is=n})(go||(go={}));var yo;(function(t){function e(r,i,s,a){let o={kind:"rename",oldUri:r,newUri:i};return s!==void 0&&(s.overwrite!==void 0||s.ignoreIfExists!==void 0)&&(o.options=s),a!==void 0&&(o.annotationId=a),o}t.create=e;function n(r){let i=r;return i&&i.kind==="rename"&&p.string(i.oldUri)&&p.string(i.newUri)&&(i.options===void 0||(i.options.overwrite===void 0||p.boolean(i.options.overwrite))&&(i.options.ignoreIfExists===void 0||p.boolean(i.options.ignoreIfExists)))&&(i.annotationId===void 0||Bn.is(i.annotationId))}t.is=n})(yo||(yo={}));var To;(function(t){function e(r,i,s){let a={kind:"delete",uri:r};return i!==void 0&&(i.recursive!==void 0||i.ignoreIfNotExists!==void 0)&&(a.options=i),s!==void 0&&(a.annotationId=s),a}t.create=e;function n(r){let i=r;return i&&i.kind==="delete"&&p.string(i.uri)&&(i.options===void 0||(i.options.recursive===void 0||p.boolean(i.options.recursive))&&(i.options.ignoreIfNotExists===void 0||p.boolean(i.options.ignoreIfNotExists)))&&(i.annotationId===void 0||Bn.is(i.annotationId))}t.is=n})(To||(To={}));var vo;(function(t){function e(n){let r=n;return r&&(r.changes!==void 0||r.documentChanges!==void 0)&&(r.documentChanges===void 0||r.documentChanges.every(i=>p.string(i.kind)?go.is(i)||yo.is(i)||To.is(i):mo.is(i)))}t.is=e})(vo||(vo={}));var Rc;(function(t){function e(r){return{uri:r}}t.create=e;function n(r){let i=r;return p.defined(i)&&p.string(i.uri)}t.is=n})(Rc||(Rc={}));var Ac;(function(t){function e(r,i){return{uri:r,version:i}}t.create=e;function n(r){let i=r;return p.defined(i)&&p.string(i.uri)&&p.integer(i.version)}t.is=n})(Ac||(Ac={}));var $o;(function(t){function e(r,i){return{uri:r,version:i}}t.create=e;function n(r){let i=r;return p.defined(i)&&p.string(i.uri)&&(i.version===null||p.integer(i.version))}t.is=n})($o||($o={}));var Ec;(function(t){function e(r,i,s,a){return{uri:r,languageId:i,version:s,text:a}}t.create=e;function n(r){let i=r;return p.defined(i)&&p.string(i.uri)&&p.string(i.languageId)&&p.integer(i.version)&&p.string(i.text)}t.is=n})(Ec||(Ec={}));var Ro;(function(t){t.PlainText="plaintext",t.Markdown="markdown";function e(n){const r=n;return r===t.PlainText||r===t.Markdown}t.is=e})(Ro||(Ro={}));var Kr;(function(t){function e(n){const r=n;return p.objectLiteral(n)&&Ro.is(r.kind)&&p.string(r.value)}t.is=e})(Kr||(Kr={}));var Sc;(function(t){t.Text=1,t.Method=2,t.Function=3,t.Constructor=4,t.Field=5,t.Variable=6,t.Class=7,t.Interface=8,t.Module=9,t.Property=10,t.Unit=11,t.Value=12,t.Enum=13,t.Keyword=14,t.Snippet=15,t.Color=16,t.File=17,t.Reference=18,t.Folder=19,t.EnumMember=20,t.Constant=21,t.Struct=22,t.Event=23,t.Operator=24,t.TypeParameter=25})(Sc||(Sc={}));var xc;(function(t){t.PlainText=1,t.Snippet=2})(xc||(xc={}));var _c;(function(t){t.Deprecated=1})(_c||(_c={}));var Ic;(function(t){function e(r,i,s){return{newText:r,insert:i,replace:s}}t.create=e;function n(r){const i=r;return i&&p.string(i.newText)&&L.is(i.insert)&&L.is(i.replace)}t.is=n})(Ic||(Ic={}));var wc;(function(t){t.asIs=1,t.adjustIndentation=2})(wc||(wc={}));var Cc;(function(t){function e(n){const r=n;return r&&(p.string(r.detail)||r.detail===void 0)&&(p.string(r.description)||r.description===void 0)}t.is=e})(Cc||(Cc={}));var kc;(function(t){function e(n){return{label:n}}t.create=e})(kc||(kc={}));var Nc;(function(t){function e(n,r){return{items:n||[],isIncomplete:!!r}}t.create=e})(Nc||(Nc={}));var hs;(function(t){function e(r){return r.replace(/[\\`*_{}[\]()#+\-.!]/g,"\\$&")}t.fromPlainText=e;function n(r){const i=r;return p.string(i)||p.objectLiteral(i)&&p.string(i.language)&&p.string(i.value)}t.is=n})(hs||(hs={}));var bc;(function(t){function e(n){let r=n;return!!r&&p.objectLiteral(r)&&(Kr.is(r.contents)||hs.is(r.contents)||p.typedArray(r.contents,hs.is))&&(n.range===void 0||L.is(n.range))}t.is=e})(bc||(bc={}));var Oc;(function(t){function e(n,r){return r?{label:n,documentation:r}:{label:n}}t.create=e})(Oc||(Oc={}));var Pc;(function(t){function e(n,r,...i){let s={label:n};return p.defined(r)&&(s.documentation=r),p.defined(i)?s.parameters=i:s.parameters=[],s}t.create=e})(Pc||(Pc={}));var Lc;(function(t){t.Text=1,t.Read=2,t.Write=3})(Lc||(Lc={}));var Mc;(function(t){function e(n,r){let i={range:n};return p.number(r)&&(i.kind=r),i}t.create=e})(Mc||(Mc={}));var Dc;(function(t){t.File=1,t.Module=2,t.Namespace=3,t.Package=4,t.Class=5,t.Method=6,t.Property=7,t.Field=8,t.Constructor=9,t.Enum=10,t.Interface=11,t.Function=12,t.Variable=13,t.Constant=14,t.String=15,t.Number=16,t.Boolean=17,t.Array=18,t.Object=19,t.Key=20,t.Null=21,t.EnumMember=22,t.Struct=23,t.Event=24,t.Operator=25,t.TypeParameter=26})(Dc||(Dc={}));var Fc;(function(t){t.Deprecated=1})(Fc||(Fc={}));var Gc;(function(t){function e(n,r,i,s,a){let o={name:n,kind:r,location:{uri:s,range:i}};return a&&(o.containerName=a),o}t.create=e})(Gc||(Gc={}));var Uc;(function(t){function e(n,r,i,s){return s!==void 0?{name:n,kind:r,location:{uri:i,range:s}}:{name:n,kind:r,location:{uri:i}}}t.create=e})(Uc||(Uc={}));var Bc;(function(t){function e(r,i,s,a,o,l){let u={name:r,detail:i,kind:s,range:a,selectionRange:o};return l!==void 0&&(u.children=l),u}t.create=e;function n(r){let i=r;return i&&p.string(i.name)&&p.number(i.kind)&&L.is(i.range)&&L.is(i.selectionRange)&&(i.detail===void 0||p.string(i.detail))&&(i.deprecated===void 0||p.boolean(i.deprecated))&&(i.children===void 0||Array.isArray(i.children))&&(i.tags===void 0||Array.isArray(i.tags))}t.is=n})(Bc||(Bc={}));var jc;(function(t){t.Empty="",t.QuickFix="quickfix",t.Refactor="refactor",t.RefactorExtract="refactor.extract",t.RefactorInline="refactor.inline",t.RefactorRewrite="refactor.rewrite",t.Source="source",t.SourceOrganizeImports="source.organizeImports",t.SourceFixAll="source.fixAll"})(jc||(jc={}));var ps;(function(t){t.Invoked=1,t.Automatic=2})(ps||(ps={}));var Kc;(function(t){function e(r,i,s){let a={diagnostics:r};return i!=null&&(a.only=i),s!=null&&(a.triggerKind=s),a}t.create=e;function n(r){let i=r;return p.defined(i)&&p.typedArray(i.diagnostics,ds.is)&&(i.only===void 0||p.typedArray(i.only,p.string))&&(i.triggerKind===void 0||i.triggerKind===ps.Invoked||i.triggerKind===ps.Automatic)}t.is=n})(Kc||(Kc={}));var Hc;(function(t){function e(r,i,s){let a={title:r},o=!0;return typeof i=="string"?(o=!1,a.kind=i):Gn.is(i)?a.command=i:a.edit=i,o&&s!==void 0&&(a.kind=s),a}t.create=e;function n(r){let i=r;return i&&p.string(i.title)&&(i.diagnostics===void 0||p.typedArray(i.diagnostics,ds.is))&&(i.kind===void 0||p.string(i.kind))&&(i.edit!==void 0||i.command!==void 0)&&(i.command===void 0||Gn.is(i.command))&&(i.isPreferred===void 0||p.boolean(i.isPreferred))&&(i.edit===void 0||vo.is(i.edit))}t.is=n})(Hc||(Hc={}));var Wc;(function(t){function e(r,i){let s={range:r};return p.defined(i)&&(s.data=i),s}t.create=e;function n(r){let i=r;return p.defined(i)&&L.is(i.range)&&(p.undefined(i.command)||Gn.is(i.command))}t.is=n})(Wc||(Wc={}));var zc;(function(t){function e(r,i){return{tabSize:r,insertSpaces:i}}t.create=e;function n(r){let i=r;return p.defined(i)&&p.uinteger(i.tabSize)&&p.boolean(i.insertSpaces)}t.is=n})(zc||(zc={}));var Vc;(function(t){function e(r,i,s){return{range:r,target:i,data:s}}t.create=e;function n(r){let i=r;return p.defined(i)&&L.is(i.range)&&(p.undefined(i.target)||p.string(i.target))}t.is=n})(Vc||(Vc={}));var qc;(function(t){function e(r,i){return{range:r,parent:i}}t.create=e;function n(r){let i=r;return p.objectLiteral(i)&&L.is(i.range)&&(i.parent===void 0||t.is(i.parent))}t.is=n})(qc||(qc={}));var Yc;(function(t){t.namespace="namespace",t.type="type",t.class="class",t.enum="enum",t.interface="interface",t.struct="struct",t.typeParameter="typeParameter",t.parameter="parameter",t.variable="variable",t.property="property",t.enumMember="enumMember",t.event="event",t.function="function",t.method="method",t.macro="macro",t.keyword="keyword",t.modifier="modifier",t.comment="comment",t.string="string",t.number="number",t.regexp="regexp",t.operator="operator",t.decorator="decorator"})(Yc||(Yc={}));var Xc;(function(t){t.declaration="declaration",t.definition="definition",t.readonly="readonly",t.static="static",t.deprecated="deprecated",t.abstract="abstract",t.async="async",t.modification="modification",t.documentation="documentation",t.defaultLibrary="defaultLibrary"})(Xc||(Xc={}));var Jc;(function(t){function e(n){const r=n;return p.objectLiteral(r)&&(r.resultId===void 0||typeof r.resultId=="string")&&Array.isArray(r.data)&&(r.data.length===0||typeof r.data[0]=="number")}t.is=e})(Jc||(Jc={}));var Zc;(function(t){function e(r,i){return{range:r,text:i}}t.create=e;function n(r){const i=r;return i!=null&&L.is(i.range)&&p.string(i.text)}t.is=n})(Zc||(Zc={}));var Qc;(function(t){function e(r,i,s){return{range:r,variableName:i,caseSensitiveLookup:s}}t.create=e;function n(r){const i=r;return i!=null&&L.is(i.range)&&p.boolean(i.caseSensitiveLookup)&&(p.string(i.variableName)||i.variableName===void 0)}t.is=n})(Qc||(Qc={}));var ef;(function(t){function e(r,i){return{range:r,expression:i}}t.create=e;function n(r){const i=r;return i!=null&&L.is(i.range)&&(p.string(i.expression)||i.expression===void 0)}t.is=n})(ef||(ef={}));var tf;(function(t){function e(r,i){return{frameId:r,stoppedLocation:i}}t.create=e;function n(r){const i=r;return p.defined(i)&&L.is(r.stoppedLocation)}t.is=n})(tf||(tf={}));var Ao;(function(t){t.Type=1,t.Parameter=2;function e(n){return n===1||n===2}t.is=e})(Ao||(Ao={}));var Eo;(function(t){function e(r){return{value:r}}t.create=e;function n(r){const i=r;return p.objectLiteral(i)&&(i.tooltip===void 0||p.string(i.tooltip)||Kr.is(i.tooltip))&&(i.location===void 0||fs.is(i.location))&&(i.command===void 0||Gn.is(i.command))}t.is=n})(Eo||(Eo={}));var nf;(function(t){function e(r,i,s){const a={position:r,label:i};return s!==void 0&&(a.kind=s),a}t.create=e;function n(r){const i=r;return p.objectLiteral(i)&&D.is(i.position)&&(p.string(i.label)||p.typedArray(i.label,Eo.is))&&(i.kind===void 0||Ao.is(i.kind))&&i.textEdits===void 0||p.typedArray(i.textEdits,Un.is)&&(i.tooltip===void 0||p.string(i.tooltip)||Kr.is(i.tooltip))&&(i.paddingLeft===void 0||p.boolean(i.paddingLeft))&&(i.paddingRight===void 0||p.boolean(i.paddingRight))}t.is=n})(nf||(nf={}));var rf;(function(t){function e(n){return{kind:"snippet",value:n}}t.createSnippet=e})(rf||(rf={}));var sf;(function(t){function e(n,r,i,s){return{insertText:n,filterText:r,range:i,command:s}}t.create=e})(sf||(sf={}));var af;(function(t){function e(n){return{items:n}}t.create=e})(af||(af={}));var of;(function(t){t.Invoked=0,t.Automatic=1})(of||(of={}));var lf;(function(t){function e(n,r){return{range:n,text:r}}t.create=e})(lf||(lf={}));var uf;(function(t){function e(n,r){return{triggerKind:n,selectedCompletionInfo:r}}t.create=e})(uf||(uf={}));var cf;(function(t){function e(n){const r=n;return p.objectLiteral(r)&&co.is(r.uri)&&p.string(r.name)}t.is=e})(cf||(cf={}));var ff;(function(t){function e(s,a,o,l){return new Rw(s,a,o,l)}t.create=e;function n(s){let a=s;return!!(p.defined(a)&&p.string(a.uri)&&(p.undefined(a.languageId)||p.string(a.languageId))&&p.uinteger(a.lineCount)&&p.func(a.getText)&&p.func(a.positionAt)&&p.func(a.offsetAt))}t.is=n;function r(s,a){let o=s.getText(),l=i(a,(c,f)=>{let d=c.range.start.line-f.range.start.line;return d===0?c.range.start.character-f.range.start.character:d}),u=o.length;for(let c=l.length-1;c>=0;c--){let f=l[c],d=s.offsetAt(f.range.start),h=s.offsetAt(f.range.end);if(h<=u)o=o.substring(0,d)+f.newText+o.substring(h,o.length);else throw new Error("Overlapping edit");u=d}return o}t.applyEdits=r;function i(s,a){if(s.length<=1)return s;const o=s.length/2|0,l=s.slice(0,o),u=s.slice(o);i(l,a),i(u,a);let c=0,f=0,d=0;for(;c<l.length&&f<u.length;)a(l[c],u[f])<=0?s[d++]=l[c++]:s[d++]=u[f++];for(;c<l.length;)s[d++]=l[c++];for(;f<u.length;)s[d++]=u[f++];return s}})(ff||(ff={}));let Rw=class{constructor(e,n,r,i){this._uri=e,this._languageId=n,this._version=r,this._content=i,this._lineOffsets=void 0}get uri(){return this._uri}get languageId(){return this._languageId}get version(){return this._version}getText(e){if(e){let n=this.offsetAt(e.start),r=this.offsetAt(e.end);return this._content.substring(n,r)}return this._content}update(e,n){this._content=e.text,this._version=n,this._lineOffsets=void 0}getLineOffsets(){if(this._lineOffsets===void 0){let e=[],n=this._content,r=!0;for(let i=0;i<n.length;i++){r&&(e.push(i),r=!1);let s=n.charAt(i);r=s==="\r"||s===`
|
|
115
|
+
`,s==="\r"&&i+1<n.length&&n.charAt(i+1)===`
|
|
116
|
+
`&&i++}r&&n.length>0&&e.push(n.length),this._lineOffsets=e}return this._lineOffsets}positionAt(e){e=Math.max(Math.min(e,this._content.length),0);let n=this.getLineOffsets(),r=0,i=n.length;if(i===0)return D.create(0,e);for(;r<i;){let a=Math.floor((r+i)/2);n[a]>e?i=a:r=a+1}let s=r-1;return D.create(s,e-n[s])}offsetAt(e){let n=this.getLineOffsets();if(e.line>=n.length)return this._content.length;if(e.line<0)return 0;let r=n[e.line],i=e.line+1<n.length?n[e.line+1]:this._content.length;return Math.max(Math.min(r+e.character,i),r)}get lineCount(){return this.getLineOffsets().length}};var p;(function(t){const e=Object.prototype.toString;function n(h){return typeof h<"u"}t.defined=n;function r(h){return typeof h>"u"}t.undefined=r;function i(h){return h===!0||h===!1}t.boolean=i;function s(h){return e.call(h)==="[object String]"}t.string=s;function a(h){return e.call(h)==="[object Number]"}t.number=a;function o(h,m,g){return e.call(h)==="[object Number]"&&m<=h&&h<=g}t.numberRange=o;function l(h){return e.call(h)==="[object Number]"&&-2147483648<=h&&h<=2147483647}t.integer=l;function u(h){return e.call(h)==="[object Number]"&&0<=h&&h<=2147483647}t.uinteger=u;function c(h){return e.call(h)==="[object Function]"}t.func=c;function f(h){return h!==null&&typeof h=="object"}t.objectLiteral=f;function d(h,m){return Array.isArray(h)&&h.every(m)}t.typedArray=d})(p||(p={}));class Aw{constructor(){this.nodeStack=[]}get current(){var e;return(e=this.nodeStack[this.nodeStack.length-1])!==null&&e!==void 0?e:this.rootNode}buildRootNode(e){return this.rootNode=new Hh(e),this.rootNode.root=this.rootNode,this.nodeStack=[this.rootNode],this.rootNode}buildCompositeNode(e){const n=new Rl;return n.grammarSource=e,n.root=this.rootNode,this.current.content.push(n),this.nodeStack.push(n),n}buildLeafNode(e,n){const r=new So(e.startOffset,e.image.length,Ua(e),e.tokenType,!n);return r.grammarSource=n,r.root=this.rootNode,this.current.content.push(r),r}removeNode(e){const n=e.container;if(n){const r=n.content.indexOf(e);r>=0&&n.content.splice(r,1)}}addHiddenNodes(e){const n=[];for(const s of e){const a=new So(s.startOffset,s.image.length,Ua(s),s.tokenType,!0);a.root=this.rootNode,n.push(a)}let r=this.current,i=!1;if(r.content.length>0){r.content.push(...n);return}for(;r.container;){const s=r.container.content.indexOf(r);if(s>0){r.container.content.splice(s,0,...n),i=!0;break}r=r.container}i||this.rootNode.content.unshift(...n)}construct(e){const n=this.current;typeof e.$type=="string"&&(this.current.astNode=e),e.$cstNode=n;const r=this.nodeStack.pop();(r==null?void 0:r.content.length)===0&&this.removeNode(r)}}class Kh{get parent(){return this.container}get feature(){return this.grammarSource}get hidden(){return!1}get astNode(){var e,n;const r=typeof((e=this._astNode)===null||e===void 0?void 0:e.$type)=="string"?this._astNode:(n=this.container)===null||n===void 0?void 0:n.astNode;if(!r)throw new Error("This node has no associated AST element");return r}set astNode(e){this._astNode=e}get element(){return this.astNode}get text(){return this.root.fullText.substring(this.offset,this.end)}}class So extends Kh{get offset(){return this._offset}get length(){return this._length}get end(){return this._offset+this._length}get hidden(){return this._hidden}get tokenType(){return this._tokenType}get range(){return this._range}constructor(e,n,r,i,s=!1){super(),this._hidden=s,this._offset=e,this._tokenType=i,this._length=n,this._range=r}}class Rl extends Kh{constructor(){super(...arguments),this.content=new Al(this)}get children(){return this.content}get offset(){var e,n;return(n=(e=this.firstNonHiddenNode)===null||e===void 0?void 0:e.offset)!==null&&n!==void 0?n:0}get length(){return this.end-this.offset}get end(){var e,n;return(n=(e=this.lastNonHiddenNode)===null||e===void 0?void 0:e.end)!==null&&n!==void 0?n:0}get range(){const e=this.firstNonHiddenNode,n=this.lastNonHiddenNode;if(e&&n){if(this._rangeCache===void 0){const{range:r}=e,{range:i}=n;this._rangeCache={start:r.start,end:i.end.line<r.start.line?r.start:i.end}}return this._rangeCache}else return{start:D.create(0,0),end:D.create(0,0)}}get firstNonHiddenNode(){for(const e of this.content)if(!e.hidden)return e;return this.content[0]}get lastNonHiddenNode(){for(let e=this.content.length-1;e>=0;e--){const n=this.content[e];if(!n.hidden)return n}return this.content[this.content.length-1]}}class Al extends Array{constructor(e){super(),this.parent=e,Object.setPrototypeOf(this,Al.prototype)}push(...e){return this.addParents(e),super.push(...e)}unshift(...e){return this.addParents(e),super.unshift(...e)}splice(e,n,...r){return this.addParents(r),super.splice(e,n,...r)}addParents(e){for(const n of e)n.container=this.parent}}class Hh extends Rl{get text(){return this._text.substring(this.offset,this.end)}get fullText(){return this._text}constructor(e){super(),this._text="",this._text=e??""}}const xo=Symbol("Datatype");function Ea(t){return t.$type===xo}const df="",Wh=t=>t.endsWith(df)?t:t+df;class zh{constructor(e){this._unorderedGroups=new Map,this.allRules=new Map,this.lexer=e.parser.Lexer;const n=this.lexer.definition,r=e.LanguageMetaData.mode==="production";this.wrapper=new Iw(n,Object.assign(Object.assign({},e.parser.ParserConfig),{skipValidations:r,errorMessageProvider:e.parser.ParserErrorMessageProvider}))}alternatives(e,n){this.wrapper.wrapOr(e,n)}optional(e,n){this.wrapper.wrapOption(e,n)}many(e,n){this.wrapper.wrapMany(e,n)}atLeastOne(e,n){this.wrapper.wrapAtLeastOne(e,n)}getRule(e){return this.allRules.get(e)}isRecording(){return this.wrapper.IS_RECORDING}get unorderedGroups(){return this._unorderedGroups}getRuleStack(){return this.wrapper.RULE_STACK}finalize(){this.wrapper.wrapSelfAnalysis()}}class Ew extends zh{get current(){return this.stack[this.stack.length-1]}constructor(e){super(e),this.nodeBuilder=new Aw,this.stack=[],this.assignmentMap=new Map,this.linker=e.references.Linker,this.converter=e.parser.ValueConverter,this.astReflection=e.shared.AstReflection}rule(e,n){const r=this.computeRuleType(e),i=this.wrapper.DEFINE_RULE(Wh(e.name),this.startImplementation(r,n).bind(this));return this.allRules.set(e.name,i),e.entry&&(this.mainRule=i),i}computeRuleType(e){if(!e.fragment){if(ed(e))return xo;{const n=Mo(e);return n??e.name}}}parse(e,n={}){this.nodeBuilder.buildRootNode(e);const r=this.lexerResult=this.lexer.tokenize(e);this.wrapper.input=r.tokens;const i=n.rule?this.allRules.get(n.rule):this.mainRule;if(!i)throw new Error(n.rule?`No rule found with name '${n.rule}'`:"No main rule available.");const s=i.call(this.wrapper,{});return this.nodeBuilder.addHiddenNodes(r.hidden),this.unorderedGroups.clear(),this.lexerResult=void 0,{value:s,lexerErrors:r.errors,lexerReport:r.report,parserErrors:this.wrapper.errors}}startImplementation(e,n){return r=>{const i=!this.isRecording()&&e!==void 0;if(i){const a={$type:e};this.stack.push(a),e===xo&&(a.value="")}let s;try{s=n(r)}catch{s=void 0}return s===void 0&&i&&(s=this.construct()),s}}extractHiddenTokens(e){const n=this.lexerResult.hidden;if(!n.length)return[];const r=e.startOffset;for(let i=0;i<n.length;i++)if(n[i].startOffset>r)return n.splice(0,i);return n.splice(0,n.length)}consume(e,n,r){const i=this.wrapper.wrapConsume(e,n);if(!this.isRecording()&&this.isValidToken(i)){const s=this.extractHiddenTokens(i);this.nodeBuilder.addHiddenNodes(s);const a=this.nodeBuilder.buildLeafNode(i,r),{assignment:o,isCrossRef:l}=this.getAssignment(r),u=this.current;if(o){const c=zt(r)?i.image:this.converter.convert(i.image,a);this.assign(o.operator,o.feature,c,a,l)}else if(Ea(u)){let c=i.image;zt(r)||(c=this.converter.convert(c,a).toString()),u.value+=c}}}isValidToken(e){return!e.isInsertedInRecovery&&!isNaN(e.startOffset)&&typeof e.endOffset=="number"&&!isNaN(e.endOffset)}subrule(e,n,r,i,s){let a;!this.isRecording()&&!r&&(a=this.nodeBuilder.buildCompositeNode(i));const o=this.wrapper.wrapSubrule(e,n,s);!this.isRecording()&&a&&a.length>0&&this.performSubruleAssignment(o,i,a)}performSubruleAssignment(e,n,r){const{assignment:i,isCrossRef:s}=this.getAssignment(n);if(i)this.assign(i.operator,i.feature,e,r,s);else if(!i){const a=this.current;if(Ea(a))a.value+=e.toString();else if(typeof e=="object"&&e){const l=this.assignWithoutOverride(e,a);this.stack.pop(),this.stack.push(l)}}}action(e,n){if(!this.isRecording()){let r=this.current;if(n.feature&&n.operator){r=this.construct(),this.nodeBuilder.removeNode(r.$cstNode),this.nodeBuilder.buildCompositeNode(n).content.push(r.$cstNode);const s={$type:e};this.stack.push(s),this.assign(n.operator,n.feature,r,r.$cstNode,!1)}else r.$type=e}}construct(){if(this.isRecording())return;const e=this.current;return hm(e),this.nodeBuilder.construct(e),this.stack.pop(),Ea(e)?this.converter.convert(e.value,e.$cstNode):(pm(this.astReflection,e),e)}getAssignment(e){if(!this.assignmentMap.has(e)){const n=Rs(e,Wt);this.assignmentMap.set(e,{assignment:n,isCrossRef:n?bo(n.terminal):!1})}return this.assignmentMap.get(e)}assign(e,n,r,i,s){const a=this.current;let o;switch(s&&typeof r=="string"?o=this.linker.buildReference(a,n,i,r):o=r,e){case"=":{a[n]=o;break}case"?=":{a[n]=!0;break}case"+=":Array.isArray(a[n])||(a[n]=[]),a[n].push(o)}}assignWithoutOverride(e,n){for(const[i,s]of Object.entries(n)){const a=e[i];a===void 0?e[i]=s:Array.isArray(a)&&Array.isArray(s)&&(s.push(...a),e[i]=s)}const r=e.$cstNode;return r&&(r.astNode=void 0,e.$cstNode=void 0),e}get definitionErrors(){return this.wrapper.definitionErrors}}class Sw{buildMismatchTokenMessage(e){return hn.buildMismatchTokenMessage(e)}buildNotAllInputParsedMessage(e){return hn.buildNotAllInputParsedMessage(e)}buildNoViableAltMessage(e){return hn.buildNoViableAltMessage(e)}buildEarlyExitMessage(e){return hn.buildEarlyExitMessage(e)}}class Vh extends Sw{buildMismatchTokenMessage({expected:e,actual:n}){return`Expecting ${e.LABEL?"`"+e.LABEL+"`":e.name.endsWith(":KW")?`keyword '${e.name.substring(0,e.name.length-3)}'`:`token of type '${e.name}'`} but found \`${n.image}\`.`}buildNotAllInputParsedMessage({firstRedundant:e}){return`Expecting end of file but found \`${e.image}\`.`}}class xw extends zh{constructor(){super(...arguments),this.tokens=[],this.elementStack=[],this.lastElementStack=[],this.nextTokenIndex=0,this.stackSize=0}action(){}construct(){}parse(e){this.resetState();const n=this.lexer.tokenize(e,{mode:"partial"});return this.tokens=n.tokens,this.wrapper.input=[...this.tokens],this.mainRule.call(this.wrapper,{}),this.unorderedGroups.clear(),{tokens:this.tokens,elementStack:[...this.lastElementStack],tokenIndex:this.nextTokenIndex}}rule(e,n){const r=this.wrapper.DEFINE_RULE(Wh(e.name),this.startImplementation(n).bind(this));return this.allRules.set(e.name,r),e.entry&&(this.mainRule=r),r}resetState(){this.elementStack=[],this.lastElementStack=[],this.nextTokenIndex=0,this.stackSize=0}startImplementation(e){return n=>{const r=this.keepStackSize();try{e(n)}finally{this.resetStackSize(r)}}}removeUnexpectedElements(){this.elementStack.splice(this.stackSize)}keepStackSize(){const e=this.elementStack.length;return this.stackSize=e,e}resetStackSize(e){this.removeUnexpectedElements(),this.stackSize=e}consume(e,n,r){this.wrapper.wrapConsume(e,n),this.isRecording()||(this.lastElementStack=[...this.elementStack,r],this.nextTokenIndex=this.currIdx+1)}subrule(e,n,r,i,s){this.before(i),this.wrapper.wrapSubrule(e,n,s),this.after(i)}before(e){this.isRecording()||this.elementStack.push(e)}after(e){if(!this.isRecording()){const n=this.elementStack.lastIndexOf(e);n>=0&&this.elementStack.splice(n)}}get currIdx(){return this.wrapper.currIdx}}const _w={recoveryEnabled:!0,nodeLocationTracking:"full",skipValidations:!0,errorMessageProvider:new Vh};class Iw extends PI{constructor(e,n){const r=n&&"maxLookahead"in n;super(e,Object.assign(Object.assign(Object.assign({},_w),{lookaheadStrategy:r?new ml({maxLookahead:n.maxLookahead}):new tw({logging:n.skipValidations?()=>{}:void 0})}),n))}get IS_RECORDING(){return this.RECORDING_PHASE}DEFINE_RULE(e,n){return this.RULE(e,n)}wrapSelfAnalysis(){this.performSelfAnalysis()}wrapConsume(e,n){return this.consume(e,n)}wrapSubrule(e,n,r){return this.subrule(e,n,{ARGS:[r]})}wrapOr(e,n){this.or(e,n)}wrapOption(e,n){this.option(e,n)}wrapMany(e,n){this.many(e,n)}wrapAtLeastOne(e,n){this.atLeastOne(e,n)}}function qh(t,e,n){return ww({parser:e,tokens:n,ruleNames:new Map},t),e}function ww(t,e){const n=Yf(e,!1),r=ie(e.rules).filter(Ne).filter(i=>n.has(i));for(const i of r){const s=Object.assign(Object.assign({},t),{consume:1,optional:1,subrule:1,many:1,or:1});t.parser.rule(i,Jt(s,i.definition))}}function Jt(t,e,n=!1){let r;if(zt(e))r=Lw(t,e);else if($s(e))r=Cw(t,e);else if(Wt(e))r=Jt(t,e.terminal);else if(bo(e))r=Yh(t,e);else if(Vt(e))r=kw(t,e);else if(Kf(e))r=bw(t,e);else if(Hf(e))r=Ow(t,e);else if(Oo(e))r=Pw(t,e);else if(sm(e)){const i=t.consume++;r=()=>t.parser.consume(i,wt,e)}else throw new Gf(e.$cstNode,`Unexpected element type: ${e.$type}`);return Xh(t,n?void 0:ms(e),r,e.cardinality)}function Cw(t,e){const n=Do(e);return()=>t.parser.action(n,e)}function kw(t,e){const n=e.rule.ref;if(Ne(n)){const r=t.subrule++,i=n.fragment,s=e.arguments.length>0?Nw(n,e.arguments):()=>({});return a=>t.parser.subrule(r,Jh(t,n),i,e,s(a))}else if(Qt(n)){const r=t.consume++,i=_o(t,n.name);return()=>t.parser.consume(r,i,e)}else if(n)Wr();else throw new Gf(e.$cstNode,`Undefined rule: ${e.rule.$refText}`)}function Nw(t,e){const n=e.map(r=>at(r.value));return r=>{const i={};for(let s=0;s<n.length;s++){const a=t.parameters[s],o=n[s];i[a.name]=o(r)}return i}}function at(t){if(Qp(t)){const e=at(t.left),n=at(t.right);return r=>e(r)||n(r)}else if(Zp(t)){const e=at(t.left),n=at(t.right);return r=>e(r)&&n(r)}else if(em(t)){const e=at(t.value);return n=>!e(n)}else if(tm(t)){const e=t.parameter.ref.name;return n=>n!==void 0&&n[e]===!0}else if(Jp(t)){const e=!!t.true;return()=>e}Wr()}function bw(t,e){if(e.elements.length===1)return Jt(t,e.elements[0]);{const n=[];for(const i of e.elements){const s={ALT:Jt(t,i,!0)},a=ms(i);a&&(s.GATE=at(a)),n.push(s)}const r=t.or++;return i=>t.parser.alternatives(r,n.map(s=>{const a={ALT:()=>s.ALT(i)},o=s.GATE;return o&&(a.GATE=()=>o(i)),a}))}}function Ow(t,e){if(e.elements.length===1)return Jt(t,e.elements[0]);const n=[];for(const o of e.elements){const l={ALT:Jt(t,o,!0)},u=ms(o);u&&(l.GATE=at(u)),n.push(l)}const r=t.or++,i=(o,l)=>{const u=l.getRuleStack().join("-");return`uGroup_${o}_${u}`},s=o=>t.parser.alternatives(r,n.map((l,u)=>{const c={ALT:()=>!0},f=t.parser;c.ALT=()=>{if(l.ALT(o),!f.isRecording()){const h=i(r,f);f.unorderedGroups.get(h)||f.unorderedGroups.set(h,[]);const m=f.unorderedGroups.get(h);typeof(m==null?void 0:m[u])>"u"&&(m[u]=!0)}};const d=l.GATE;return d?c.GATE=()=>d(o):c.GATE=()=>{const h=f.unorderedGroups.get(i(r,f));return!(h!=null&&h[u])},c})),a=Xh(t,ms(e),s,"*");return o=>{a(o),t.parser.isRecording()||t.parser.unorderedGroups.delete(i(r,t.parser))}}function Pw(t,e){const n=e.elements.map(r=>Jt(t,r));return r=>n.forEach(i=>i(r))}function ms(t){if(Oo(t))return t.guardCondition}function Yh(t,e,n=e.terminal){if(n)if(Vt(n)&&Ne(n.rule.ref)){const r=n.rule.ref,i=t.subrule++;return s=>t.parser.subrule(i,Jh(t,r),!1,e,s)}else if(Vt(n)&&Qt(n.rule.ref)){const r=t.consume++,i=_o(t,n.rule.ref.name);return()=>t.parser.consume(r,i,e)}else if(zt(n)){const r=t.consume++,i=_o(t,n.value);return()=>t.parser.consume(r,i,e)}else throw new Error("Could not build cross reference parser");else{if(!e.type.ref)throw new Error("Could not resolve reference to type: "+e.type.$refText);const r=Zf(e.type.ref),i=r==null?void 0:r.terminal;if(!i)throw new Error("Could not find name assignment for type: "+Do(e.type.ref));return Yh(t,e,i)}}function Lw(t,e){const n=t.consume++,r=t.tokens[e.value];if(!r)throw new Error("Could not find token for keyword: "+e.value);return()=>t.parser.consume(n,r,e)}function Xh(t,e,n,r){const i=e&&at(e);if(!r)if(i){const s=t.or++;return a=>t.parser.alternatives(s,[{ALT:()=>n(a),GATE:()=>i(a)},{ALT:ac(),GATE:()=>!i(a)}])}else return n;if(r==="*"){const s=t.many++;return a=>t.parser.many(s,{DEF:()=>n(a),GATE:i?()=>i(a):void 0})}else if(r==="+"){const s=t.many++;if(i){const a=t.or++;return o=>t.parser.alternatives(a,[{ALT:()=>t.parser.atLeastOne(s,{DEF:()=>n(o)}),GATE:()=>i(o)},{ALT:ac(),GATE:()=>!i(o)}])}else return a=>t.parser.atLeastOne(s,{DEF:()=>n(a)})}else if(r==="?"){const s=t.optional++;return a=>t.parser.optional(s,{DEF:()=>n(a),GATE:i?()=>i(a):void 0})}else Wr()}function Jh(t,e){const n=Mw(t,e),r=t.parser.getRule(n);if(!r)throw new Error(`Rule "${n}" not found."`);return r}function Mw(t,e){if(Ne(e))return e.name;if(t.ruleNames.has(e))return t.ruleNames.get(e);{let n=e,r=n.$container,i=e.$type;for(;!Ne(r);)(Oo(r)||Kf(r)||Hf(r))&&(i=r.elements.indexOf(n).toString()+":"+i),n=r,r=r.$container;return i=r.name+":"+i,t.ruleNames.set(e,i),i}}function _o(t,e){const n=t.tokens[e];if(!n)throw new Error(`Token "${e}" not found."`);return n}function Dw(t){const e=t.Grammar,n=t.parser.Lexer,r=new xw(t);return qh(e,r,n.definition),r.finalize(),r}function Fw(t){const e=Gw(t);return e.finalize(),e}function Gw(t){const e=t.Grammar,n=t.parser.Lexer,r=new Ew(t);return qh(e,r,n.definition)}class Zh{constructor(){this.diagnostics=[]}buildTokens(e,n){const r=ie(Yf(e,!1)),i=this.buildTerminalTokens(r),s=this.buildKeywordTokens(r,i,n);return i.forEach(a=>{const o=a.PATTERN;typeof o=="object"&&o&&"test"in o&&ja(o)?s.unshift(a):s.push(a)}),s}flushLexingReport(e){return{diagnostics:this.popDiagnostics()}}popDiagnostics(){const e=[...this.diagnostics];return this.diagnostics=[],e}buildTerminalTokens(e){return e.filter(Qt).filter(n=>!n.fragment).map(n=>this.buildTerminalToken(n)).toArray()}buildTerminalToken(e){const n=Fo(e),r=this.requiresCustomPattern(n)?this.regexPatternFunction(n):n,i={name:e.name,PATTERN:r};return typeof r=="function"&&(i.LINE_BREAKS=!0),e.hidden&&(i.GROUP=ja(n)?he.SKIPPED:"hidden"),i}requiresCustomPattern(e){return e.flags.includes("u")||e.flags.includes("s")?!0:!!(e.source.includes("?<=")||e.source.includes("?<!"))}regexPatternFunction(e){const n=new RegExp(e,e.flags+"y");return(r,i)=>(n.lastIndex=i,n.exec(r))}buildKeywordTokens(e,n,r){return e.filter(Ne).flatMap(i=>zr(i).filter(zt)).distinct(i=>i.value).toArray().sort((i,s)=>s.value.length-i.value.length).map(i=>this.buildKeywordToken(i,n,!!(r!=null&&r.caseInsensitive)))}buildKeywordToken(e,n,r){const i=this.buildKeywordPattern(e,r),s={name:e.value,PATTERN:i,LONGER_ALT:this.findLongerAlt(e,n)};return typeof i=="function"&&(s.LINE_BREAKS=!0),s}buildKeywordPattern(e,n){return n?new RegExp(Em(e.value)):e.value}findLongerAlt(e,n){return n.reduce((r,i)=>{const s=i==null?void 0:i.PATTERN;return s!=null&&s.source&&Sm("^"+s.source+"$",e.value)&&r.push(i),r},[])}}class Qh{convert(e,n){let r=n.grammarSource;if(bo(r)&&(r=wm(r)),Vt(r)){const i=r.rule.ref;if(!i)throw new Error("This cst node was not parsed by a rule.");return this.runConverter(i,e,n)}return e}runConverter(e,n,r){var i;switch(e.name.toUpperCase()){case"INT":return rt.convertInt(n);case"STRING":return rt.convertString(n);case"ID":return rt.convertID(n)}switch((i=Lm(e))===null||i===void 0?void 0:i.toLowerCase()){case"number":return rt.convertNumber(n);case"boolean":return rt.convertBoolean(n);case"bigint":return rt.convertBigint(n);case"date":return rt.convertDate(n);default:return n}}}var rt;(function(t){function e(u){let c="";for(let f=1;f<u.length-1;f++){const d=u.charAt(f);if(d==="\\"){const h=u.charAt(++f);c+=n(h)}else c+=d}return c}t.convertString=e;function n(u){switch(u){case"b":return"\b";case"f":return"\f";case"n":return`
|
|
117
|
+
`;case"r":return"\r";case"t":return" ";case"v":return"\v";case"0":return"\0";default:return u}}function r(u){return u.charAt(0)==="^"?u.substring(1):u}t.convertID=r;function i(u){return parseInt(u)}t.convertInt=i;function s(u){return BigInt(u)}t.convertBigint=s;function a(u){return new Date(u)}t.convertDate=a;function o(u){return Number(u)}t.convertNumber=o;function l(u){return u.toLowerCase()==="true"}t.convertBoolean=l})(rt||(rt={}));var jt={},Ri={},hf;function ep(){if(hf)return Ri;hf=1,Object.defineProperty(Ri,"__esModule",{value:!0});let t;function e(){if(t===void 0)throw new Error("No runtime abstraction layer installed");return t}return(function(n){function r(i){if(i===void 0)throw new Error("No runtime abstraction layer provided");t=i}n.install=r})(e||(e={})),Ri.default=e,Ri}var te={},pf;function Uw(){if(pf)return te;pf=1,Object.defineProperty(te,"__esModule",{value:!0}),te.stringArray=te.array=te.func=te.error=te.number=te.string=te.boolean=void 0;function t(o){return o===!0||o===!1}te.boolean=t;function e(o){return typeof o=="string"||o instanceof String}te.string=e;function n(o){return typeof o=="number"||o instanceof Number}te.number=n;function r(o){return o instanceof Error}te.error=r;function i(o){return typeof o=="function"}te.func=i;function s(o){return Array.isArray(o)}te.array=s;function a(o){return s(o)&&o.every(l=>e(l))}return te.stringArray=a,te}var Kt={},mf;function tp(){if(mf)return Kt;mf=1,Object.defineProperty(Kt,"__esModule",{value:!0}),Kt.Emitter=Kt.Event=void 0;const t=ep();var e;(function(i){const s={dispose(){}};i.None=function(){return s}})(e||(Kt.Event=e={}));class n{add(s,a=null,o){this._callbacks||(this._callbacks=[],this._contexts=[]),this._callbacks.push(s),this._contexts.push(a),Array.isArray(o)&&o.push({dispose:()=>this.remove(s,a)})}remove(s,a=null){if(!this._callbacks)return;let o=!1;for(let l=0,u=this._callbacks.length;l<u;l++)if(this._callbacks[l]===s)if(this._contexts[l]===a){this._callbacks.splice(l,1),this._contexts.splice(l,1);return}else o=!0;if(o)throw new Error("When adding a listener with a context, you should remove it with the same context")}invoke(...s){if(!this._callbacks)return[];const a=[],o=this._callbacks.slice(0),l=this._contexts.slice(0);for(let u=0,c=o.length;u<c;u++)try{a.push(o[u].apply(l[u],s))}catch(f){(0,t.default)().console.error(f)}return a}isEmpty(){return!this._callbacks||this._callbacks.length===0}dispose(){this._callbacks=void 0,this._contexts=void 0}}class r{constructor(s){this._options=s}get event(){return this._event||(this._event=(s,a,o)=>{this._callbacks||(this._callbacks=new n),this._options&&this._options.onFirstListenerAdd&&this._callbacks.isEmpty()&&this._options.onFirstListenerAdd(this),this._callbacks.add(s,a);const l={dispose:()=>{this._callbacks&&(this._callbacks.remove(s,a),l.dispose=r._noop,this._options&&this._options.onLastListenerRemove&&this._callbacks.isEmpty()&&this._options.onLastListenerRemove(this))}};return Array.isArray(o)&&o.push(l),l}),this._event}fire(s){this._callbacks&&this._callbacks.invoke.call(this._callbacks,s)}dispose(){this._callbacks&&(this._callbacks.dispose(),this._callbacks=void 0)}}return Kt.Emitter=r,r._noop=function(){},Kt}var gf;function Bw(){if(gf)return jt;gf=1,Object.defineProperty(jt,"__esModule",{value:!0}),jt.CancellationTokenSource=jt.CancellationToken=void 0;const t=ep(),e=Uw(),n=tp();var r;(function(o){o.None=Object.freeze({isCancellationRequested:!1,onCancellationRequested:n.Event.None}),o.Cancelled=Object.freeze({isCancellationRequested:!0,onCancellationRequested:n.Event.None});function l(u){const c=u;return c&&(c===o.None||c===o.Cancelled||e.boolean(c.isCancellationRequested)&&!!c.onCancellationRequested)}o.is=l})(r||(jt.CancellationToken=r={}));const i=Object.freeze(function(o,l){const u=(0,t.default)().timer.setTimeout(o.bind(l),0);return{dispose(){u.dispose()}}});class s{constructor(){this._isCancelled=!1}cancel(){this._isCancelled||(this._isCancelled=!0,this._emitter&&(this._emitter.fire(void 0),this.dispose()))}get isCancellationRequested(){return this._isCancelled}get onCancellationRequested(){return this._isCancelled?i:(this._emitter||(this._emitter=new n.Emitter),this._emitter.event)}dispose(){this._emitter&&(this._emitter.dispose(),this._emitter=void 0)}}class a{get token(){return this._token||(this._token=new s),this._token}cancel(){this._token?this._token.cancel():this._token=r.Cancelled}dispose(){this._token?this._token instanceof s&&this._token.dispose():this._token=r.None}}return jt.CancellationTokenSource=a,jt}var z=Bw();function jw(){return new Promise(t=>{typeof setImmediate>"u"?setTimeout(t,0):setImmediate(t)})}let Di=0,Kw=10;function Hw(){return Di=performance.now(),new z.CancellationTokenSource}const gs=Symbol("OperationCancelled");function Qs(t){return t===gs}async function Ee(t){if(t===z.CancellationToken.None)return;const e=performance.now();if(e-Di>=Kw&&(Di=e,await jw(),Di=performance.now()),t.isCancellationRequested)throw gs}class El{constructor(){this.promise=new Promise((e,n)=>{this.resolve=r=>(e(r),this),this.reject=r=>(n(r),this)})}}class Hr{constructor(e,n,r,i){this._uri=e,this._languageId=n,this._version=r,this._content=i,this._lineOffsets=void 0}get uri(){return this._uri}get languageId(){return this._languageId}get version(){return this._version}getText(e){if(e){const n=this.offsetAt(e.start),r=this.offsetAt(e.end);return this._content.substring(n,r)}return this._content}update(e,n){for(const r of e)if(Hr.isIncremental(r)){const i=rp(r.range),s=this.offsetAt(i.start),a=this.offsetAt(i.end);this._content=this._content.substring(0,s)+r.text+this._content.substring(a,this._content.length);const o=Math.max(i.start.line,0),l=Math.max(i.end.line,0);let u=this._lineOffsets;const c=yf(r.text,!1,s);if(l-o===c.length)for(let d=0,h=c.length;d<h;d++)u[d+o+1]=c[d];else c.length<1e4?u.splice(o+1,l-o,...c):this._lineOffsets=u=u.slice(0,o+1).concat(c,u.slice(l+1));const f=r.text.length-(a-s);if(f!==0)for(let d=o+1+c.length,h=u.length;d<h;d++)u[d]=u[d]+f}else if(Hr.isFull(r))this._content=r.text,this._lineOffsets=void 0;else throw new Error("Unknown change event received");this._version=n}getLineOffsets(){return this._lineOffsets===void 0&&(this._lineOffsets=yf(this._content,!0)),this._lineOffsets}positionAt(e){e=Math.max(Math.min(e,this._content.length),0);const n=this.getLineOffsets();let r=0,i=n.length;if(i===0)return{line:0,character:e};for(;r<i;){const a=Math.floor((r+i)/2);n[a]>e?i=a:r=a+1}const s=r-1;return e=this.ensureBeforeEOL(e,n[s]),{line:s,character:e-n[s]}}offsetAt(e){const n=this.getLineOffsets();if(e.line>=n.length)return this._content.length;if(e.line<0)return 0;const r=n[e.line];if(e.character<=0)return r;const i=e.line+1<n.length?n[e.line+1]:this._content.length,s=Math.min(r+e.character,i);return this.ensureBeforeEOL(s,r)}ensureBeforeEOL(e,n){for(;e>n&&np(this._content.charCodeAt(e-1));)e--;return e}get lineCount(){return this.getLineOffsets().length}static isIncremental(e){const n=e;return n!=null&&typeof n.text=="string"&&n.range!==void 0&&(n.rangeLength===void 0||typeof n.rangeLength=="number")}static isFull(e){const n=e;return n!=null&&typeof n.text=="string"&&n.range===void 0&&n.rangeLength===void 0}}var Io;(function(t){function e(i,s,a,o){return new Hr(i,s,a,o)}t.create=e;function n(i,s,a){if(i instanceof Hr)return i.update(s,a),i;throw new Error("TextDocument.update: document must be created by TextDocument.create")}t.update=n;function r(i,s){const a=i.getText(),o=wo(s.map(Ww),(c,f)=>{const d=c.range.start.line-f.range.start.line;return d===0?c.range.start.character-f.range.start.character:d});let l=0;const u=[];for(const c of o){const f=i.offsetAt(c.range.start);if(f<l)throw new Error("Overlapping edit");f>l&&u.push(a.substring(l,f)),c.newText.length&&u.push(c.newText),l=i.offsetAt(c.range.end)}return u.push(a.substr(l)),u.join("")}t.applyEdits=r})(Io||(Io={}));function wo(t,e){if(t.length<=1)return t;const n=t.length/2|0,r=t.slice(0,n),i=t.slice(n);wo(r,e),wo(i,e);let s=0,a=0,o=0;for(;s<r.length&&a<i.length;)e(r[s],i[a])<=0?t[o++]=r[s++]:t[o++]=i[a++];for(;s<r.length;)t[o++]=r[s++];for(;a<i.length;)t[o++]=i[a++];return t}function yf(t,e,n=0){const r=e?[n]:[];for(let i=0;i<t.length;i++){const s=t.charCodeAt(i);np(s)&&(s===13&&i+1<t.length&&t.charCodeAt(i+1)===10&&i++,r.push(n+i+1))}return r}function np(t){return t===13||t===10}function rp(t){const e=t.start,n=t.end;return e.line>n.line||e.line===n.line&&e.character>n.character?{start:n,end:e}:t}function Ww(t){const e=rp(t.range);return e!==t.range?{newText:t.newText,range:e}:t}var ip;(()=>{var t={470:i=>{function s(l){if(typeof l!="string")throw new TypeError("Path must be a string. Received "+JSON.stringify(l))}function a(l,u){for(var c,f="",d=0,h=-1,m=0,g=0;g<=l.length;++g){if(g<l.length)c=l.charCodeAt(g);else{if(c===47)break;c=47}if(c===47){if(!(h===g-1||m===1))if(h!==g-1&&m===2){if(f.length<2||d!==2||f.charCodeAt(f.length-1)!==46||f.charCodeAt(f.length-2)!==46){if(f.length>2){var T=f.lastIndexOf("/");if(T!==f.length-1){T===-1?(f="",d=0):d=(f=f.slice(0,T)).length-1-f.lastIndexOf("/"),h=g,m=0;continue}}else if(f.length===2||f.length===1){f="",d=0,h=g,m=0;continue}}u&&(f.length>0?f+="/..":f="..",d=2)}else f.length>0?f+="/"+l.slice(h+1,g):f=l.slice(h+1,g),d=g-h-1;h=g,m=0}else c===46&&m!==-1?++m:m=-1}return f}var o={resolve:function(){for(var l,u="",c=!1,f=arguments.length-1;f>=-1&&!c;f--){var d;f>=0?d=arguments[f]:(l===void 0&&(l=process.cwd()),d=l),s(d),d.length!==0&&(u=d+"/"+u,c=d.charCodeAt(0)===47)}return u=a(u,!c),c?u.length>0?"/"+u:"/":u.length>0?u:"."},normalize:function(l){if(s(l),l.length===0)return".";var u=l.charCodeAt(0)===47,c=l.charCodeAt(l.length-1)===47;return(l=a(l,!u)).length!==0||u||(l="."),l.length>0&&c&&(l+="/"),u?"/"+l:l},isAbsolute:function(l){return s(l),l.length>0&&l.charCodeAt(0)===47},join:function(){if(arguments.length===0)return".";for(var l,u=0;u<arguments.length;++u){var c=arguments[u];s(c),c.length>0&&(l===void 0?l=c:l+="/"+c)}return l===void 0?".":o.normalize(l)},relative:function(l,u){if(s(l),s(u),l===u||(l=o.resolve(l))===(u=o.resolve(u)))return"";for(var c=1;c<l.length&&l.charCodeAt(c)===47;++c);for(var f=l.length,d=f-c,h=1;h<u.length&&u.charCodeAt(h)===47;++h);for(var m=u.length-h,g=d<m?d:m,T=-1,y=0;y<=g;++y){if(y===g){if(m>g){if(u.charCodeAt(h+y)===47)return u.slice(h+y+1);if(y===0)return u.slice(h+y)}else d>g&&(l.charCodeAt(c+y)===47?T=y:y===0&&(T=0));break}var R=l.charCodeAt(c+y);if(R!==u.charCodeAt(h+y))break;R===47&&(T=y)}var v="";for(y=c+T+1;y<=f;++y)y!==f&&l.charCodeAt(y)!==47||(v.length===0?v+="..":v+="/..");return v.length>0?v+u.slice(h+T):(h+=T,u.charCodeAt(h)===47&&++h,u.slice(h))},_makeLong:function(l){return l},dirname:function(l){if(s(l),l.length===0)return".";for(var u=l.charCodeAt(0),c=u===47,f=-1,d=!0,h=l.length-1;h>=1;--h)if((u=l.charCodeAt(h))===47){if(!d){f=h;break}}else d=!1;return f===-1?c?"/":".":c&&f===1?"//":l.slice(0,f)},basename:function(l,u){if(u!==void 0&&typeof u!="string")throw new TypeError('"ext" argument must be a string');s(l);var c,f=0,d=-1,h=!0;if(u!==void 0&&u.length>0&&u.length<=l.length){if(u.length===l.length&&u===l)return"";var m=u.length-1,g=-1;for(c=l.length-1;c>=0;--c){var T=l.charCodeAt(c);if(T===47){if(!h){f=c+1;break}}else g===-1&&(h=!1,g=c+1),m>=0&&(T===u.charCodeAt(m)?--m==-1&&(d=c):(m=-1,d=g))}return f===d?d=g:d===-1&&(d=l.length),l.slice(f,d)}for(c=l.length-1;c>=0;--c)if(l.charCodeAt(c)===47){if(!h){f=c+1;break}}else d===-1&&(h=!1,d=c+1);return d===-1?"":l.slice(f,d)},extname:function(l){s(l);for(var u=-1,c=0,f=-1,d=!0,h=0,m=l.length-1;m>=0;--m){var g=l.charCodeAt(m);if(g!==47)f===-1&&(d=!1,f=m+1),g===46?u===-1?u=m:h!==1&&(h=1):u!==-1&&(h=-1);else if(!d){c=m+1;break}}return u===-1||f===-1||h===0||h===1&&u===f-1&&u===c+1?"":l.slice(u,f)},format:function(l){if(l===null||typeof l!="object")throw new TypeError('The "pathObject" argument must be of type Object. Received type '+typeof l);return(function(u,c){var f=c.dir||c.root,d=c.base||(c.name||"")+(c.ext||"");return f?f===c.root?f+d:f+"/"+d:d})(0,l)},parse:function(l){s(l);var u={root:"",dir:"",base:"",ext:"",name:""};if(l.length===0)return u;var c,f=l.charCodeAt(0),d=f===47;d?(u.root="/",c=1):c=0;for(var h=-1,m=0,g=-1,T=!0,y=l.length-1,R=0;y>=c;--y)if((f=l.charCodeAt(y))!==47)g===-1&&(T=!1,g=y+1),f===46?h===-1?h=y:R!==1&&(R=1):h!==-1&&(R=-1);else if(!T){m=y+1;break}return h===-1||g===-1||R===0||R===1&&h===g-1&&h===m+1?g!==-1&&(u.base=u.name=m===0&&d?l.slice(1,g):l.slice(m,g)):(m===0&&d?(u.name=l.slice(1,h),u.base=l.slice(1,g)):(u.name=l.slice(m,h),u.base=l.slice(m,g)),u.ext=l.slice(h,g)),m>0?u.dir=l.slice(0,m-1):d&&(u.dir="/"),u},sep:"/",delimiter:":",win32:null,posix:null};o.posix=o,i.exports=o}},e={};function n(i){var s=e[i];if(s!==void 0)return s.exports;var a=e[i]={exports:{}};return t[i](a,a.exports,n),a.exports}n.d=(i,s)=>{for(var a in s)n.o(s,a)&&!n.o(i,a)&&Object.defineProperty(i,a,{enumerable:!0,get:s[a]})},n.o=(i,s)=>Object.prototype.hasOwnProperty.call(i,s),n.r=i=>{typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty(i,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(i,"__esModule",{value:!0})};var r={};(()=>{let i;n.r(r),n.d(r,{URI:()=>d,Utils:()=>Ie}),typeof process=="object"?i=process.platform==="win32":typeof navigator=="object"&&(i=navigator.userAgent.indexOf("Windows")>=0);const s=/^\w[\w\d+.-]*$/,a=/^\//,o=/^\/\//;function l(S,$){if(!S.scheme&&$)throw new Error(`[UriError]: Scheme is missing: {scheme: "", authority: "${S.authority}", path: "${S.path}", query: "${S.query}", fragment: "${S.fragment}"}`);if(S.scheme&&!s.test(S.scheme))throw new Error("[UriError]: Scheme contains illegal characters.");if(S.path){if(S.authority){if(!a.test(S.path))throw new Error('[UriError]: If a URI contains an authority component, then the path component must either be empty or begin with a slash ("/") character')}else if(o.test(S.path))throw new Error('[UriError]: If a URI does not contain an authority component, then the path cannot begin with two slash characters ("//")')}}const u="",c="/",f=/^(([^:/?#]+?):)?(\/\/([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?/;class d{constructor($,E,_,P,b,N=!1){$t(this,"scheme");$t(this,"authority");$t(this,"path");$t(this,"query");$t(this,"fragment");typeof $=="object"?(this.scheme=$.scheme||u,this.authority=$.authority||u,this.path=$.path||u,this.query=$.query||u,this.fragment=$.fragment||u):(this.scheme=(function($e,Q){return $e||Q?$e:"file"})($,N),this.authority=E||u,this.path=(function($e,Q){switch($e){case"https":case"http":case"file":Q?Q[0]!==c&&(Q=c+Q):Q=c}return Q})(this.scheme,_||u),this.query=P||u,this.fragment=b||u,l(this,N))}static isUri($){return $ instanceof d||!!$&&typeof $.authority=="string"&&typeof $.fragment=="string"&&typeof $.path=="string"&&typeof $.query=="string"&&typeof $.scheme=="string"&&typeof $.fsPath=="string"&&typeof $.with=="function"&&typeof $.toString=="function"}get fsPath(){return R(this)}with($){if(!$)return this;let{scheme:E,authority:_,path:P,query:b,fragment:N}=$;return E===void 0?E=this.scheme:E===null&&(E=u),_===void 0?_=this.authority:_===null&&(_=u),P===void 0?P=this.path:P===null&&(P=u),b===void 0?b=this.query:b===null&&(b=u),N===void 0?N=this.fragment:N===null&&(N=u),E===this.scheme&&_===this.authority&&P===this.path&&b===this.query&&N===this.fragment?this:new m(E,_,P,b,N)}static parse($,E=!1){const _=f.exec($);return _?new m(_[2]||u,oe(_[4]||u),oe(_[5]||u),oe(_[7]||u),oe(_[9]||u),E):new m(u,u,u,u,u)}static file($){let E=u;if(i&&($=$.replace(/\\/g,c)),$[0]===c&&$[1]===c){const _=$.indexOf(c,2);_===-1?(E=$.substring(2),$=c):(E=$.substring(2,_),$=$.substring(_)||c)}return new m("file",E,$,u,u)}static from($){const E=new m($.scheme,$.authority,$.path,$.query,$.fragment);return l(E,!0),E}toString($=!1){return v(this,$)}toJSON(){return this}static revive($){if($){if($ instanceof d)return $;{const E=new m($);return E._formatted=$.external,E._fsPath=$._sep===h?$.fsPath:null,E}}return $}}const h=i?1:void 0;class m extends d{constructor(){super(...arguments);$t(this,"_formatted",null);$t(this,"_fsPath",null)}get fsPath(){return this._fsPath||(this._fsPath=R(this)),this._fsPath}toString(E=!1){return E?v(this,!0):(this._formatted||(this._formatted=v(this,!1)),this._formatted)}toJSON(){const E={$mid:1};return this._fsPath&&(E.fsPath=this._fsPath,E._sep=h),this._formatted&&(E.external=this._formatted),this.path&&(E.path=this.path),this.scheme&&(E.scheme=this.scheme),this.authority&&(E.authority=this.authority),this.query&&(E.query=this.query),this.fragment&&(E.fragment=this.fragment),E}}const g={58:"%3A",47:"%2F",63:"%3F",35:"%23",91:"%5B",93:"%5D",64:"%40",33:"%21",36:"%24",38:"%26",39:"%27",40:"%28",41:"%29",42:"%2A",43:"%2B",44:"%2C",59:"%3B",61:"%3D",32:"%20"};function T(S,$,E){let _,P=-1;for(let b=0;b<S.length;b++){const N=S.charCodeAt(b);if(N>=97&&N<=122||N>=65&&N<=90||N>=48&&N<=57||N===45||N===46||N===95||N===126||$&&N===47||E&&N===91||E&&N===93||E&&N===58)P!==-1&&(_+=encodeURIComponent(S.substring(P,b)),P=-1),_!==void 0&&(_+=S.charAt(b));else{_===void 0&&(_=S.substr(0,b));const $e=g[N];$e!==void 0?(P!==-1&&(_+=encodeURIComponent(S.substring(P,b)),P=-1),_+=$e):P===-1&&(P=b)}}return P!==-1&&(_+=encodeURIComponent(S.substring(P))),_!==void 0?_:S}function y(S){let $;for(let E=0;E<S.length;E++){const _=S.charCodeAt(E);_===35||_===63?($===void 0&&($=S.substr(0,E)),$+=g[_]):$!==void 0&&($+=S[E])}return $!==void 0?$:S}function R(S,$){let E;return E=S.authority&&S.path.length>1&&S.scheme==="file"?`//${S.authority}${S.path}`:S.path.charCodeAt(0)===47&&(S.path.charCodeAt(1)>=65&&S.path.charCodeAt(1)<=90||S.path.charCodeAt(1)>=97&&S.path.charCodeAt(1)<=122)&&S.path.charCodeAt(2)===58?S.path[1].toLowerCase()+S.path.substr(2):S.path,i&&(E=E.replace(/\//g,"\\")),E}function v(S,$){const E=$?y:T;let _="",{scheme:P,authority:b,path:N,query:$e,fragment:Q}=S;if(P&&(_+=P,_+=":"),(b||P==="file")&&(_+=c,_+=c),b){let V=b.indexOf("@");if(V!==-1){const Gt=b.substr(0,V);b=b.substr(V+1),V=Gt.lastIndexOf(":"),V===-1?_+=E(Gt,!1,!1):(_+=E(Gt.substr(0,V),!1,!1),_+=":",_+=E(Gt.substr(V+1),!1,!0)),_+="@"}b=b.toLowerCase(),V=b.lastIndexOf(":"),V===-1?_+=E(b,!1,!0):(_+=E(b.substr(0,V),!1,!0),_+=b.substr(V))}if(N){if(N.length>=3&&N.charCodeAt(0)===47&&N.charCodeAt(2)===58){const V=N.charCodeAt(1);V>=65&&V<=90&&(N=`/${String.fromCharCode(V+32)}:${N.substr(3)}`)}else if(N.length>=2&&N.charCodeAt(1)===58){const V=N.charCodeAt(0);V>=65&&V<=90&&(N=`${String.fromCharCode(V+32)}:${N.substr(2)}`)}_+=E(N,!0,!1)}return $e&&(_+="?",_+=E($e,!1,!1)),Q&&(_+="#",_+=$?Q:T(Q,!1,!1)),_}function x(S){try{return decodeURIComponent(S)}catch{return S.length>3?S.substr(0,3)+x(S.substr(3)):S}}const O=/(%[0-9A-Za-z][0-9A-Za-z])+/g;function oe(S){return S.match(O)?S.replace(O,($=>x($))):S}var Me=n(470);const ve=Me.posix||Me,He="/";var Ie;(function(S){S.joinPath=function($,...E){return $.with({path:ve.join($.path,...E)})},S.resolvePath=function($,...E){let _=$.path,P=!1;_[0]!==He&&(_=He+_,P=!0);let b=ve.resolve(_,...E);return P&&b[0]===He&&!$.authority&&(b=b.substring(1)),$.with({path:b})},S.dirname=function($){if($.path.length===0||$.path===He)return $;let E=ve.dirname($.path);return E.length===1&&E.charCodeAt(0)===46&&(E=""),$.with({path:E})},S.basename=function($){return ve.basename($.path)},S.extname=function($){return ve.extname($.path)}})(Ie||(Ie={}))})(),ip=r})();const{URI:Zt,Utils:Xn}=ip;var kt;(function(t){t.basename=Xn.basename,t.dirname=Xn.dirname,t.extname=Xn.extname,t.joinPath=Xn.joinPath,t.resolvePath=Xn.resolvePath;function e(i,s){return(i==null?void 0:i.toString())===(s==null?void 0:s.toString())}t.equals=e;function n(i,s){const a=typeof i=="string"?i:i.path,o=typeof s=="string"?s:s.path,l=a.split("/").filter(h=>h.length>0),u=o.split("/").filter(h=>h.length>0);let c=0;for(;c<l.length&&l[c]===u[c];c++);const f="../".repeat(l.length-c),d=u.slice(c).join("/");return f+d}t.relative=n;function r(i){return Zt.parse(i.toString()).toString()}t.normalize=r})(kt||(kt={}));var H;(function(t){t[t.Changed=0]="Changed",t[t.Parsed=1]="Parsed",t[t.IndexedContent=2]="IndexedContent",t[t.ComputedScopes=3]="ComputedScopes",t[t.Linked=4]="Linked",t[t.IndexedReferences=5]="IndexedReferences",t[t.Validated=6]="Validated"})(H||(H={}));class zw{constructor(e){this.serviceRegistry=e.ServiceRegistry,this.textDocuments=e.workspace.TextDocuments,this.fileSystemProvider=e.workspace.FileSystemProvider}async fromUri(e,n=z.CancellationToken.None){const r=await this.fileSystemProvider.readFile(e);return this.createAsync(e,r,n)}fromTextDocument(e,n,r){return n=n??Zt.parse(e.uri),z.CancellationToken.is(r)?this.createAsync(n,e,r):this.create(n,e,r)}fromString(e,n,r){return z.CancellationToken.is(r)?this.createAsync(n,e,r):this.create(n,e,r)}fromModel(e,n){return this.create(n,{$model:e})}create(e,n,r){if(typeof n=="string"){const i=this.parse(e,n,r);return this.createLangiumDocument(i,e,void 0,n)}else if("$model"in n){const i={value:n.$model,parserErrors:[],lexerErrors:[]};return this.createLangiumDocument(i,e)}else{const i=this.parse(e,n.getText(),r);return this.createLangiumDocument(i,e,n)}}async createAsync(e,n,r){if(typeof n=="string"){const i=await this.parseAsync(e,n,r);return this.createLangiumDocument(i,e,void 0,n)}else{const i=await this.parseAsync(e,n.getText(),r);return this.createLangiumDocument(i,e,n)}}createLangiumDocument(e,n,r,i){let s;if(r)s={parseResult:e,uri:n,state:H.Parsed,references:[],textDocument:r};else{const a=this.createTextDocumentGetter(n,i);s={parseResult:e,uri:n,state:H.Parsed,references:[],get textDocument(){return a()}}}return e.value.$document=s,s}async update(e,n){var r,i;const s=(r=e.parseResult.value.$cstNode)===null||r===void 0?void 0:r.root.fullText,a=(i=this.textDocuments)===null||i===void 0?void 0:i.get(e.uri.toString()),o=a?a.getText():await this.fileSystemProvider.readFile(e.uri);if(a)Object.defineProperty(e,"textDocument",{value:a});else{const l=this.createTextDocumentGetter(e.uri,o);Object.defineProperty(e,"textDocument",{get:l})}return s!==o&&(e.parseResult=await this.parseAsync(e.uri,o,n),e.parseResult.value.$document=e),e.state=H.Parsed,e}parse(e,n,r){return this.serviceRegistry.getServices(e).parser.LangiumParser.parse(n,r)}parseAsync(e,n,r){return this.serviceRegistry.getServices(e).parser.AsyncParser.parse(n,r)}createTextDocumentGetter(e,n){const r=this.serviceRegistry;let i;return()=>i??(i=Io.create(e.toString(),r.getServices(e).LanguageMetaData.languageId,0,n??""))}}class Vw{constructor(e){this.documentMap=new Map,this.langiumDocumentFactory=e.workspace.LangiumDocumentFactory,this.serviceRegistry=e.ServiceRegistry}get all(){return ie(this.documentMap.values())}addDocument(e){const n=e.uri.toString();if(this.documentMap.has(n))throw new Error(`A document with the URI '${n}' is already present.`);this.documentMap.set(n,e)}getDocument(e){const n=e.toString();return this.documentMap.get(n)}async getOrCreateDocument(e,n){let r=this.getDocument(e);return r||(r=await this.langiumDocumentFactory.fromUri(e,n),this.addDocument(r),r)}createDocument(e,n,r){if(r)return this.langiumDocumentFactory.fromString(n,e,r).then(i=>(this.addDocument(i),i));{const i=this.langiumDocumentFactory.fromString(n,e);return this.addDocument(i),i}}hasDocument(e){return this.documentMap.has(e.toString())}invalidateDocument(e){const n=e.toString(),r=this.documentMap.get(n);return r&&(this.serviceRegistry.getServices(e).references.Linker.unlink(r),r.state=H.Changed,r.precomputedScopes=void 0,r.diagnostics=void 0),r}deleteDocument(e){const n=e.toString(),r=this.documentMap.get(n);return r&&(r.state=H.Changed,this.documentMap.delete(n)),r}}const Sa=Symbol("ref_resolving");class qw{constructor(e){this.reflection=e.shared.AstReflection,this.langiumDocuments=()=>e.shared.workspace.LangiumDocuments,this.scopeProvider=e.references.ScopeProvider,this.astNodeLocator=e.workspace.AstNodeLocator}async link(e,n=z.CancellationToken.None){for(const r of pn(e.parseResult.value))await Ee(n),zf(r).forEach(i=>this.doLink(i,e))}doLink(e,n){var r;const i=e.reference;if(i._ref===void 0){i._ref=Sa;try{const s=this.getCandidate(e);if(Ci(s))i._ref=s;else if(i._nodeDescription=s,this.langiumDocuments().hasDocument(s.documentUri)){const a=this.loadAstNode(s);i._ref=a??this.createLinkingError(e,s)}else i._ref=void 0}catch(s){console.error(`An error occurred while resolving reference to '${i.$refText}':`,s);const a=(r=s.message)!==null&&r!==void 0?r:String(s);i._ref=Object.assign(Object.assign({},e),{message:`An error occurred while resolving reference to '${i.$refText}': ${a}`})}n.references.push(i)}}unlink(e){for(const n of e.references)delete n._ref,delete n._nodeDescription;e.references=[]}getCandidate(e){const r=this.scopeProvider.getScope(e).getElement(e.reference.$refText);return r??this.createLinkingError(e)}buildReference(e,n,r,i){const s=this,a={$refNode:r,$refText:i,get ref(){var o;if(ue(this._ref))return this._ref;if(Bp(this._nodeDescription)){const l=s.loadAstNode(this._nodeDescription);this._ref=l??s.createLinkingError({reference:a,container:e,property:n},this._nodeDescription)}else if(this._ref===void 0){this._ref=Sa;const l=Ba(e).$document,u=s.getLinkedNode({reference:a,container:e,property:n});if(u.error&&l&&l.state<H.ComputedScopes)return this._ref=void 0;this._ref=(o=u.node)!==null&&o!==void 0?o:u.error,this._nodeDescription=u.descr,l==null||l.references.push(this)}else if(this._ref===Sa)throw new Error(`Cyclic reference resolution detected: ${s.astNodeLocator.getAstNodePath(e)}/${n} (symbol '${i}')`);return ue(this._ref)?this._ref:void 0},get $nodeDescription(){return this._nodeDescription},get error(){return Ci(this._ref)?this._ref:void 0}};return a}getLinkedNode(e){var n;try{const r=this.getCandidate(e);if(Ci(r))return{error:r};const i=this.loadAstNode(r);return i?{node:i,descr:r}:{descr:r,error:this.createLinkingError(e,r)}}catch(r){console.error(`An error occurred while resolving reference to '${e.reference.$refText}':`,r);const i=(n=r.message)!==null&&n!==void 0?n:String(r);return{error:Object.assign(Object.assign({},e),{message:`An error occurred while resolving reference to '${e.reference.$refText}': ${i}`})}}}loadAstNode(e){if(e.node)return e.node;const n=this.langiumDocuments().getDocument(e.documentUri);if(n)return this.astNodeLocator.getAstNode(n.parseResult.value,e.path)}createLinkingError(e,n){const r=Ba(e.container).$document;r&&r.state<H.ComputedScopes&&console.warn(`Attempted reference resolution before document reached ComputedScopes state (${r.uri}).`);const i=this.reflection.getReferenceType(e);return Object.assign(Object.assign({},e),{message:`Could not resolve reference to ${i} named '${e.reference.$refText}'.`,targetDescription:n})}}function Yw(t){return typeof t.name=="string"}class Xw{getName(e){if(Yw(e))return e.name}getNameNode(e){return Jf(e.$cstNode,"name")}}class Jw{constructor(e){this.nameProvider=e.references.NameProvider,this.index=e.shared.workspace.IndexManager,this.nodeLocator=e.workspace.AstNodeLocator}findDeclaration(e){if(e){const n=Om(e),r=e.astNode;if(n&&r){const i=r[n.feature];if(ze(i))return i.ref;if(Array.isArray(i)){for(const s of i)if(ze(s)&&s.$refNode&&s.$refNode.offset<=e.offset&&s.$refNode.end>=e.end)return s.ref}}if(r){const i=this.nameProvider.getNameNode(r);if(i&&(i===e||Hp(e,i)))return r}}}findDeclarationNode(e){const n=this.findDeclaration(e);if(n!=null&&n.$cstNode){const r=this.nameProvider.getNameNode(n);return r??n.$cstNode}}findReferences(e,n){const r=[];if(n.includeDeclaration){const s=this.getReferenceToSelf(e);s&&r.push(s)}let i=this.index.findAllReferences(e,this.nodeLocator.getAstNodePath(e));return n.documentUri&&(i=i.filter(s=>kt.equals(s.sourceUri,n.documentUri))),r.push(...i),ie(r)}getReferenceToSelf(e){const n=this.nameProvider.getNameNode(e);if(n){const r=At(e),i=this.nodeLocator.getAstNodePath(e);return{sourceUri:r.uri,sourcePath:i,targetUri:r.uri,targetPath:i,segment:zi(n),local:!0}}}}class ys{constructor(e){if(this.map=new Map,e)for(const[n,r]of e)this.add(n,r)}get size(){return Fa.sum(ie(this.map.values()).map(e=>e.length))}clear(){this.map.clear()}delete(e,n){if(n===void 0)return this.map.delete(e);{const r=this.map.get(e);if(r){const i=r.indexOf(n);if(i>=0)return r.length===1?this.map.delete(e):r.splice(i,1),!0}return!1}}get(e){var n;return(n=this.map.get(e))!==null&&n!==void 0?n:[]}has(e,n){if(n===void 0)return this.map.has(e);{const r=this.map.get(e);return r?r.indexOf(n)>=0:!1}}add(e,n){return this.map.has(e)?this.map.get(e).push(n):this.map.set(e,[n]),this}addAll(e,n){return this.map.has(e)?this.map.get(e).push(...n):this.map.set(e,Array.from(n)),this}forEach(e){this.map.forEach((n,r)=>n.forEach(i=>e(i,r,this)))}[Symbol.iterator](){return this.entries().iterator()}entries(){return ie(this.map.entries()).flatMap(([e,n])=>n.map(r=>[e,r]))}keys(){return ie(this.map.keys())}values(){return ie(this.map.values()).flat()}entriesGroupedByKey(){return ie(this.map.entries())}}class Tf{get size(){return this.map.size}constructor(e){if(this.map=new Map,this.inverse=new Map,e)for(const[n,r]of e)this.set(n,r)}clear(){this.map.clear(),this.inverse.clear()}set(e,n){return this.map.set(e,n),this.inverse.set(n,e),this}get(e){return this.map.get(e)}getKey(e){return this.inverse.get(e)}delete(e){const n=this.map.get(e);return n!==void 0?(this.map.delete(e),this.inverse.delete(n),!0):!1}}class Zw{constructor(e){this.nameProvider=e.references.NameProvider,this.descriptions=e.workspace.AstNodeDescriptionProvider}async computeExports(e,n=z.CancellationToken.None){return this.computeExportsForNode(e.parseResult.value,e,void 0,n)}async computeExportsForNode(e,n,r=Po,i=z.CancellationToken.None){const s=[];this.exportNode(e,s,n);for(const a of r(e))await Ee(i),this.exportNode(a,s,n);return s}exportNode(e,n,r){const i=this.nameProvider.getName(e);i&&n.push(this.descriptions.createDescription(e,i,r))}async computeLocalScopes(e,n=z.CancellationToken.None){const r=e.parseResult.value,i=new ys;for(const s of zr(r))await Ee(n),this.processNode(s,e,i);return i}processNode(e,n,r){const i=e.$container;if(i){const s=this.nameProvider.getName(e);s&&r.add(i,this.descriptions.createDescription(e,s,n))}}}class vf{constructor(e,n,r){var i;this.elements=e,this.outerScope=n,this.caseInsensitive=(i=r==null?void 0:r.caseInsensitive)!==null&&i!==void 0?i:!1}getAllElements(){return this.outerScope?this.elements.concat(this.outerScope.getAllElements()):this.elements}getElement(e){const n=this.caseInsensitive?this.elements.find(r=>r.name.toLowerCase()===e.toLowerCase()):this.elements.find(r=>r.name===e);if(n)return n;if(this.outerScope)return this.outerScope.getElement(e)}}class Qw{constructor(e,n,r){var i;this.elements=new Map,this.caseInsensitive=(i=r==null?void 0:r.caseInsensitive)!==null&&i!==void 0?i:!1;for(const s of e){const a=this.caseInsensitive?s.name.toLowerCase():s.name;this.elements.set(a,s)}this.outerScope=n}getElement(e){const n=this.caseInsensitive?e.toLowerCase():e,r=this.elements.get(n);if(r)return r;if(this.outerScope)return this.outerScope.getElement(e)}getAllElements(){let e=ie(this.elements.values());return this.outerScope&&(e=e.concat(this.outerScope.getAllElements())),e}}class sp{constructor(){this.toDispose=[],this.isDisposed=!1}onDispose(e){this.toDispose.push(e)}dispose(){this.throwIfDisposed(),this.clear(),this.isDisposed=!0,this.toDispose.forEach(e=>e.dispose())}throwIfDisposed(){if(this.isDisposed)throw new Error("This cache has already been disposed")}}class eC extends sp{constructor(){super(...arguments),this.cache=new Map}has(e){return this.throwIfDisposed(),this.cache.has(e)}set(e,n){this.throwIfDisposed(),this.cache.set(e,n)}get(e,n){if(this.throwIfDisposed(),this.cache.has(e))return this.cache.get(e);if(n){const r=n();return this.cache.set(e,r),r}else return}delete(e){return this.throwIfDisposed(),this.cache.delete(e)}clear(){this.throwIfDisposed(),this.cache.clear()}}class tC extends sp{constructor(e){super(),this.cache=new Map,this.converter=e??(n=>n)}has(e,n){return this.throwIfDisposed(),this.cacheForContext(e).has(n)}set(e,n,r){this.throwIfDisposed(),this.cacheForContext(e).set(n,r)}get(e,n,r){this.throwIfDisposed();const i=this.cacheForContext(e);if(i.has(n))return i.get(n);if(r){const s=r();return i.set(n,s),s}else return}delete(e,n){return this.throwIfDisposed(),this.cacheForContext(e).delete(n)}clear(e){if(this.throwIfDisposed(),e){const n=this.converter(e);this.cache.delete(n)}else this.cache.clear()}cacheForContext(e){const n=this.converter(e);let r=this.cache.get(n);return r||(r=new Map,this.cache.set(n,r)),r}}class nC extends eC{constructor(e,n){super(),n?(this.toDispose.push(e.workspace.DocumentBuilder.onBuildPhase(n,()=>{this.clear()})),this.toDispose.push(e.workspace.DocumentBuilder.onUpdate((r,i)=>{i.length>0&&this.clear()}))):this.toDispose.push(e.workspace.DocumentBuilder.onUpdate(()=>{this.clear()}))}}class rC{constructor(e){this.reflection=e.shared.AstReflection,this.nameProvider=e.references.NameProvider,this.descriptions=e.workspace.AstNodeDescriptionProvider,this.indexManager=e.shared.workspace.IndexManager,this.globalScopeCache=new nC(e.shared)}getScope(e){const n=[],r=this.reflection.getReferenceType(e),i=At(e.container).precomputedScopes;if(i){let a=e.container;do{const o=i.get(a);o.length>0&&n.push(ie(o).filter(l=>this.reflection.isSubtype(l.type,r))),a=a.$container}while(a)}let s=this.getGlobalScope(r,e);for(let a=n.length-1;a>=0;a--)s=this.createScope(n[a],s);return s}createScope(e,n,r){return new vf(ie(e),n,r)}createScopeForNodes(e,n,r){const i=ie(e).map(s=>{const a=this.nameProvider.getName(s);if(a)return this.descriptions.createDescription(s,a)}).nonNullable();return new vf(i,n,r)}getGlobalScope(e,n){return this.globalScopeCache.get(e,()=>new Qw(this.indexManager.allElements(e)))}}function iC(t){return typeof t.$comment=="string"}function $f(t){return typeof t=="object"&&!!t&&("$ref"in t||"$error"in t)}class sC{constructor(e){this.ignoreProperties=new Set(["$container","$containerProperty","$containerIndex","$document","$cstNode"]),this.langiumDocuments=e.shared.workspace.LangiumDocuments,this.astNodeLocator=e.workspace.AstNodeLocator,this.nameProvider=e.references.NameProvider,this.commentProvider=e.documentation.CommentProvider}serialize(e,n){const r=n??{},i=n==null?void 0:n.replacer,s=(o,l)=>this.replacer(o,l,r),a=i?(o,l)=>i(o,l,s):s;try{return this.currentDocument=At(e),JSON.stringify(e,a,n==null?void 0:n.space)}finally{this.currentDocument=void 0}}deserialize(e,n){const r=n??{},i=JSON.parse(e);return this.linkNode(i,i,r),i}replacer(e,n,{refText:r,sourceText:i,textRegions:s,comments:a,uriConverter:o}){var l,u,c,f;if(!this.ignoreProperties.has(e))if(ze(n)){const d=n.ref,h=r?n.$refText:void 0;if(d){const m=At(d);let g="";this.currentDocument&&this.currentDocument!==m&&(o?g=o(m.uri,n):g=m.uri.toString());const T=this.astNodeLocator.getAstNodePath(d);return{$ref:`${g}#${T}`,$refText:h}}else return{$error:(u=(l=n.error)===null||l===void 0?void 0:l.message)!==null&&u!==void 0?u:"Could not resolve reference",$refText:h}}else if(ue(n)){let d;if(s&&(d=this.addAstNodeRegionWithAssignmentsTo(Object.assign({},n)),(!e||n.$document)&&(d!=null&&d.$textRegion)&&(d.$textRegion.documentURI=(c=this.currentDocument)===null||c===void 0?void 0:c.uri.toString())),i&&!e&&(d??(d=Object.assign({},n)),d.$sourceText=(f=n.$cstNode)===null||f===void 0?void 0:f.text),a){d??(d=Object.assign({},n));const h=this.commentProvider.getComment(n);h&&(d.$comment=h.replace(/\r/g,""))}return d??n}else return n}addAstNodeRegionWithAssignmentsTo(e){const n=r=>({offset:r.offset,end:r.end,length:r.length,range:r.range});if(e.$cstNode){const r=e.$textRegion=n(e.$cstNode),i=r.assignments={};return Object.keys(e).filter(s=>!s.startsWith("$")).forEach(s=>{const a=km(e.$cstNode,s).map(n);a.length!==0&&(i[s]=a)}),e}}linkNode(e,n,r,i,s,a){for(const[l,u]of Object.entries(e))if(Array.isArray(u))for(let c=0;c<u.length;c++){const f=u[c];$f(f)?u[c]=this.reviveReference(e,l,n,f,r):ue(f)&&this.linkNode(f,n,r,e,l,c)}else $f(u)?e[l]=this.reviveReference(e,l,n,u,r):ue(u)&&this.linkNode(u,n,r,e,l);const o=e;o.$container=i,o.$containerProperty=s,o.$containerIndex=a}reviveReference(e,n,r,i,s){let a=i.$refText,o=i.$error;if(i.$ref){const l=this.getRefNode(r,i.$ref,s.uriConverter);if(ue(l))return a||(a=this.nameProvider.getName(l)),{$refText:a??"",ref:l};o=l}if(o){const l={$refText:a??""};return l.error={container:e,property:n,message:o,reference:l},l}else return}getRefNode(e,n,r){try{const i=n.indexOf("#");if(i===0){const l=this.astNodeLocator.getAstNode(e,n.substring(1));return l||"Could not resolve path: "+n}if(i<0){const l=r?r(n):Zt.parse(n),u=this.langiumDocuments.getDocument(l);return u?u.parseResult.value:"Could not find document for URI: "+n}const s=r?r(n.substring(0,i)):Zt.parse(n.substring(0,i)),a=this.langiumDocuments.getDocument(s);if(!a)return"Could not find document for URI: "+n;if(i===n.length-1)return a.parseResult.value;const o=this.astNodeLocator.getAstNode(a.parseResult.value,n.substring(i+1));return o||"Could not resolve URI: "+n}catch(i){return String(i)}}}class aC{get map(){return this.fileExtensionMap}constructor(e){this.languageIdMap=new Map,this.fileExtensionMap=new Map,this.textDocuments=e==null?void 0:e.workspace.TextDocuments}register(e){const n=e.LanguageMetaData;for(const r of n.fileExtensions)this.fileExtensionMap.has(r)&&console.warn(`The file extension ${r} is used by multiple languages. It is now assigned to '${n.languageId}'.`),this.fileExtensionMap.set(r,e);this.languageIdMap.set(n.languageId,e),this.languageIdMap.size===1?this.singleton=e:this.singleton=void 0}getServices(e){var n,r;if(this.singleton!==void 0)return this.singleton;if(this.languageIdMap.size===0)throw new Error("The service registry is empty. Use `register` to register the services of a language.");const i=(r=(n=this.textDocuments)===null||n===void 0?void 0:n.get(e))===null||r===void 0?void 0:r.languageId;if(i!==void 0){const o=this.languageIdMap.get(i);if(o)return o}const s=kt.extname(e),a=this.fileExtensionMap.get(s);if(!a)throw i?new Error(`The service registry contains no services for the extension '${s}' for language '${i}'.`):new Error(`The service registry contains no services for the extension '${s}'.`);return a}hasServices(e){try{return this.getServices(e),!0}catch{return!1}}get all(){return Array.from(this.languageIdMap.values())}}function wr(t){return{code:t}}var Ts;(function(t){t.all=["fast","slow","built-in"]})(Ts||(Ts={}));class oC{constructor(e){this.entries=new ys,this.entriesBefore=[],this.entriesAfter=[],this.reflection=e.shared.AstReflection}register(e,n=this,r="fast"){if(r==="built-in")throw new Error("The 'built-in' category is reserved for lexer, parser, and linker errors.");for(const[i,s]of Object.entries(e)){const a=s;if(Array.isArray(a))for(const o of a){const l={check:this.wrapValidationException(o,n),category:r};this.addEntry(i,l)}else if(typeof a=="function"){const o={check:this.wrapValidationException(a,n),category:r};this.addEntry(i,o)}else Wr()}}wrapValidationException(e,n){return async(r,i,s)=>{await this.handleException(()=>e.call(n,r,i,s),"An error occurred during validation",i,r)}}async handleException(e,n,r,i){try{await e()}catch(s){if(Qs(s))throw s;console.error(`${n}:`,s),s instanceof Error&&s.stack&&console.error(s.stack);const a=s instanceof Error?s.message:String(s);r("error",`${n}: ${a}`,{node:i})}}addEntry(e,n){if(e==="AstNode"){this.entries.add("AstNode",n);return}for(const r of this.reflection.getAllSubTypes(e))this.entries.add(r,n)}getChecks(e,n){let r=ie(this.entries.get(e)).concat(this.entries.get("AstNode"));return n&&(r=r.filter(i=>n.includes(i.category))),r.map(i=>i.check)}registerBeforeDocument(e,n=this){this.entriesBefore.push(this.wrapPreparationException(e,"An error occurred during set-up of the validation",n))}registerAfterDocument(e,n=this){this.entriesAfter.push(this.wrapPreparationException(e,"An error occurred during tear-down of the validation",n))}wrapPreparationException(e,n,r){return async(i,s,a,o)=>{await this.handleException(()=>e.call(r,i,s,a,o),n,s,i)}}get checksBefore(){return this.entriesBefore}get checksAfter(){return this.entriesAfter}}class lC{constructor(e){this.validationRegistry=e.validation.ValidationRegistry,this.metadata=e.LanguageMetaData}async validateDocument(e,n={},r=z.CancellationToken.None){const i=e.parseResult,s=[];if(await Ee(r),(!n.categories||n.categories.includes("built-in"))&&(this.processLexingErrors(i,s,n),n.stopAfterLexingErrors&&s.some(a=>{var o;return((o=a.data)===null||o===void 0?void 0:o.code)===Fe.LexingError})||(this.processParsingErrors(i,s,n),n.stopAfterParsingErrors&&s.some(a=>{var o;return((o=a.data)===null||o===void 0?void 0:o.code)===Fe.ParsingError}))||(this.processLinkingErrors(e,s,n),n.stopAfterLinkingErrors&&s.some(a=>{var o;return((o=a.data)===null||o===void 0?void 0:o.code)===Fe.LinkingError}))))return s;try{s.push(...await this.validateAst(i.value,n,r))}catch(a){if(Qs(a))throw a;console.error("An error occurred during validation:",a)}return await Ee(r),s}processLexingErrors(e,n,r){var i,s,a;const o=[...e.lexerErrors,...(s=(i=e.lexerReport)===null||i===void 0?void 0:i.diagnostics)!==null&&s!==void 0?s:[]];for(const l of o){const u=(a=l.severity)!==null&&a!==void 0?a:"error",c={severity:xa(u),range:{start:{line:l.line-1,character:l.column-1},end:{line:l.line-1,character:l.column+l.length-1}},message:l.message,data:cC(u),source:this.getSource()};n.push(c)}}processParsingErrors(e,n,r){for(const i of e.parserErrors){let s;if(isNaN(i.token.startOffset)){if("previousToken"in i){const a=i.previousToken;if(isNaN(a.startOffset)){const o={line:0,character:0};s={start:o,end:o}}else{const o={line:a.endLine-1,character:a.endColumn};s={start:o,end:o}}}}else s=Ua(i.token);if(s){const a={severity:xa("error"),range:s,message:i.message,data:wr(Fe.ParsingError),source:this.getSource()};n.push(a)}}}processLinkingErrors(e,n,r){for(const i of e.references){const s=i.error;if(s){const a={node:s.container,property:s.property,index:s.index,data:{code:Fe.LinkingError,containerType:s.container.$type,property:s.property,refText:s.reference.$refText}};n.push(this.toDiagnostic("error",s.message,a))}}}async validateAst(e,n,r=z.CancellationToken.None){const i=[],s=(a,o,l)=>{i.push(this.toDiagnostic(a,o,l))};return await this.validateAstBefore(e,n,s,r),await this.validateAstNodes(e,n,s,r),await this.validateAstAfter(e,n,s,r),i}async validateAstBefore(e,n,r,i=z.CancellationToken.None){var s;const a=this.validationRegistry.checksBefore;for(const o of a)await Ee(i),await o(e,r,(s=n.categories)!==null&&s!==void 0?s:[],i)}async validateAstNodes(e,n,r,i=z.CancellationToken.None){await Promise.all(pn(e).map(async s=>{await Ee(i);const a=this.validationRegistry.getChecks(s.$type,n.categories);for(const o of a)await o(s,r,i)}))}async validateAstAfter(e,n,r,i=z.CancellationToken.None){var s;const a=this.validationRegistry.checksAfter;for(const o of a)await Ee(i),await o(e,r,(s=n.categories)!==null&&s!==void 0?s:[],i)}toDiagnostic(e,n,r){return{message:n,range:uC(r),severity:xa(e),code:r.code,codeDescription:r.codeDescription,tags:r.tags,relatedInformation:r.relatedInformation,data:r.data,source:this.getSource()}}getSource(){return this.metadata.languageId}}function uC(t){if(t.range)return t.range;let e;return typeof t.property=="string"?e=Jf(t.node.$cstNode,t.property,t.index):typeof t.keyword=="string"&&(e=Nm(t.node.$cstNode,t.keyword,t.index)),e??(e=t.node.$cstNode),e?e.range:{start:{line:0,character:0},end:{line:0,character:0}}}function xa(t){switch(t){case"error":return 1;case"warning":return 2;case"info":return 3;case"hint":return 4;default:throw new Error("Invalid diagnostic severity: "+t)}}function cC(t){switch(t){case"error":return wr(Fe.LexingError);case"warning":return wr(Fe.LexingWarning);case"info":return wr(Fe.LexingInfo);case"hint":return wr(Fe.LexingHint);default:throw new Error("Invalid diagnostic severity: "+t)}}var Fe;(function(t){t.LexingError="lexing-error",t.LexingWarning="lexing-warning",t.LexingInfo="lexing-info",t.LexingHint="lexing-hint",t.ParsingError="parsing-error",t.LinkingError="linking-error"})(Fe||(Fe={}));class fC{constructor(e){this.astNodeLocator=e.workspace.AstNodeLocator,this.nameProvider=e.references.NameProvider}createDescription(e,n,r){const i=r??At(e);n??(n=this.nameProvider.getName(e));const s=this.astNodeLocator.getAstNodePath(e);if(!n)throw new Error(`Node at path ${s} has no name.`);let a;const o=()=>{var l;return a??(a=zi((l=this.nameProvider.getNameNode(e))!==null&&l!==void 0?l:e.$cstNode))};return{node:e,name:n,get nameSegment(){return o()},selectionSegment:zi(e.$cstNode),type:e.$type,documentUri:i.uri,path:s}}}class dC{constructor(e){this.nodeLocator=e.workspace.AstNodeLocator}async createDescriptions(e,n=z.CancellationToken.None){const r=[],i=e.parseResult.value;for(const s of pn(i))await Ee(n),zf(s).filter(a=>!Ci(a)).forEach(a=>{const o=this.createDescription(a);o&&r.push(o)});return r}createDescription(e){const n=e.reference.$nodeDescription,r=e.reference.$refNode;if(!n||!r)return;const i=At(e.container).uri;return{sourceUri:i,sourcePath:this.nodeLocator.getAstNodePath(e.container),targetUri:n.documentUri,targetPath:n.path,segment:zi(r),local:kt.equals(n.documentUri,i)}}}class hC{constructor(){this.segmentSeparator="/",this.indexSeparator="@"}getAstNodePath(e){if(e.$container){const n=this.getAstNodePath(e.$container),r=this.getPathSegment(e);return n+this.segmentSeparator+r}return""}getPathSegment({$containerProperty:e,$containerIndex:n}){if(!e)throw new Error("Missing '$containerProperty' in AST node.");return n!==void 0?e+this.indexSeparator+n:e}getAstNode(e,n){return n.split(this.segmentSeparator).reduce((i,s)=>{if(!i||s.length===0)return i;const a=s.indexOf(this.indexSeparator);if(a>0){const o=s.substring(0,a),l=parseInt(s.substring(a+1)),u=i[o];return u==null?void 0:u[l]}return i[s]},e)}}var pC=tp();class mC{constructor(e){this._ready=new El,this.settings={},this.workspaceConfig=!1,this.onConfigurationSectionUpdateEmitter=new pC.Emitter,this.serviceRegistry=e.ServiceRegistry}get ready(){return this._ready.promise}initialize(e){var n,r;this.workspaceConfig=(r=(n=e.capabilities.workspace)===null||n===void 0?void 0:n.configuration)!==null&&r!==void 0?r:!1}async initialized(e){if(this.workspaceConfig){if(e.register){const n=this.serviceRegistry.all;e.register({section:n.map(r=>this.toSectionName(r.LanguageMetaData.languageId))})}if(e.fetchConfiguration){const n=this.serviceRegistry.all.map(i=>({section:this.toSectionName(i.LanguageMetaData.languageId)})),r=await e.fetchConfiguration(n);n.forEach((i,s)=>{this.updateSectionConfiguration(i.section,r[s])})}}this._ready.resolve()}updateConfiguration(e){e.settings&&Object.keys(e.settings).forEach(n=>{const r=e.settings[n];this.updateSectionConfiguration(n,r),this.onConfigurationSectionUpdateEmitter.fire({section:n,configuration:r})})}updateSectionConfiguration(e,n){this.settings[e]=n}async getConfiguration(e,n){await this.ready;const r=this.toSectionName(e);if(this.settings[r])return this.settings[r][n]}toSectionName(e){return`${e}`}get onConfigurationSectionUpdate(){return this.onConfigurationSectionUpdateEmitter.event}}var Lr;(function(t){function e(n){return{dispose:async()=>await n()}}t.create=e})(Lr||(Lr={}));class gC{constructor(e){this.updateBuildOptions={validation:{categories:["built-in","fast"]}},this.updateListeners=[],this.buildPhaseListeners=new ys,this.documentPhaseListeners=new ys,this.buildState=new Map,this.documentBuildWaiters=new Map,this.currentState=H.Changed,this.langiumDocuments=e.workspace.LangiumDocuments,this.langiumDocumentFactory=e.workspace.LangiumDocumentFactory,this.textDocuments=e.workspace.TextDocuments,this.indexManager=e.workspace.IndexManager,this.serviceRegistry=e.ServiceRegistry}async build(e,n={},r=z.CancellationToken.None){var i,s;for(const a of e){const o=a.uri.toString();if(a.state===H.Validated){if(typeof n.validation=="boolean"&&n.validation)a.state=H.IndexedReferences,a.diagnostics=void 0,this.buildState.delete(o);else if(typeof n.validation=="object"){const l=this.buildState.get(o),u=(i=l==null?void 0:l.result)===null||i===void 0?void 0:i.validationChecks;if(u){const f=((s=n.validation.categories)!==null&&s!==void 0?s:Ts.all).filter(d=>!u.includes(d));f.length>0&&(this.buildState.set(o,{completed:!1,options:{validation:Object.assign(Object.assign({},n.validation),{categories:f})},result:l.result}),a.state=H.IndexedReferences)}}}else this.buildState.delete(o)}this.currentState=H.Changed,await this.emitUpdate(e.map(a=>a.uri),[]),await this.buildDocuments(e,n,r)}async update(e,n,r=z.CancellationToken.None){this.currentState=H.Changed;for(const a of n)this.langiumDocuments.deleteDocument(a),this.buildState.delete(a.toString()),this.indexManager.remove(a);for(const a of e){if(!this.langiumDocuments.invalidateDocument(a)){const l=this.langiumDocumentFactory.fromModel({$type:"INVALID"},a);l.state=H.Changed,this.langiumDocuments.addDocument(l)}this.buildState.delete(a.toString())}const i=ie(e).concat(n).map(a=>a.toString()).toSet();this.langiumDocuments.all.filter(a=>!i.has(a.uri.toString())&&this.shouldRelink(a,i)).forEach(a=>{this.serviceRegistry.getServices(a.uri).references.Linker.unlink(a),a.state=Math.min(a.state,H.ComputedScopes),a.diagnostics=void 0}),await this.emitUpdate(e,n),await Ee(r);const s=this.sortDocuments(this.langiumDocuments.all.filter(a=>{var o;return a.state<H.Linked||!(!((o=this.buildState.get(a.uri.toString()))===null||o===void 0)&&o.completed)}).toArray());await this.buildDocuments(s,this.updateBuildOptions,r)}async emitUpdate(e,n){await Promise.all(this.updateListeners.map(r=>r(e,n)))}sortDocuments(e){let n=0,r=e.length-1;for(;n<r;){for(;n<e.length&&this.hasTextDocument(e[n]);)n++;for(;r>=0&&!this.hasTextDocument(e[r]);)r--;n<r&&([e[n],e[r]]=[e[r],e[n]])}return e}hasTextDocument(e){var n;return!!(!((n=this.textDocuments)===null||n===void 0)&&n.get(e.uri))}shouldRelink(e,n){return e.references.some(r=>r.error!==void 0)?!0:this.indexManager.isAffected(e,n)}onUpdate(e){return this.updateListeners.push(e),Lr.create(()=>{const n=this.updateListeners.indexOf(e);n>=0&&this.updateListeners.splice(n,1)})}async buildDocuments(e,n,r){this.prepareBuild(e,n),await this.runCancelable(e,H.Parsed,r,s=>this.langiumDocumentFactory.update(s,r)),await this.runCancelable(e,H.IndexedContent,r,s=>this.indexManager.updateContent(s,r)),await this.runCancelable(e,H.ComputedScopes,r,async s=>{const a=this.serviceRegistry.getServices(s.uri).references.ScopeComputation;s.precomputedScopes=await a.computeLocalScopes(s,r)}),await this.runCancelable(e,H.Linked,r,s=>this.serviceRegistry.getServices(s.uri).references.Linker.link(s,r)),await this.runCancelable(e,H.IndexedReferences,r,s=>this.indexManager.updateReferences(s,r));const i=e.filter(s=>this.shouldValidate(s));await this.runCancelable(i,H.Validated,r,s=>this.validate(s,r));for(const s of e){const a=this.buildState.get(s.uri.toString());a&&(a.completed=!0)}}prepareBuild(e,n){for(const r of e){const i=r.uri.toString(),s=this.buildState.get(i);(!s||s.completed)&&this.buildState.set(i,{completed:!1,options:n,result:s==null?void 0:s.result})}}async runCancelable(e,n,r,i){const s=e.filter(o=>o.state<n);for(const o of s)await Ee(r),await i(o),o.state=n,await this.notifyDocumentPhase(o,n,r);const a=e.filter(o=>o.state===n);await this.notifyBuildPhase(a,n,r),this.currentState=n}onBuildPhase(e,n){return this.buildPhaseListeners.add(e,n),Lr.create(()=>{this.buildPhaseListeners.delete(e,n)})}onDocumentPhase(e,n){return this.documentPhaseListeners.add(e,n),Lr.create(()=>{this.documentPhaseListeners.delete(e,n)})}waitUntil(e,n,r){let i;if(n&&"path"in n?i=n:r=n,r??(r=z.CancellationToken.None),i){const s=this.langiumDocuments.getDocument(i);if(s&&s.state>e)return Promise.resolve(i)}return this.currentState>=e?Promise.resolve(void 0):r.isCancellationRequested?Promise.reject(gs):new Promise((s,a)=>{const o=this.onBuildPhase(e,()=>{if(o.dispose(),l.dispose(),i){const u=this.langiumDocuments.getDocument(i);s(u==null?void 0:u.uri)}else s(void 0)}),l=r.onCancellationRequested(()=>{o.dispose(),l.dispose(),a(gs)})})}async notifyDocumentPhase(e,n,r){const s=this.documentPhaseListeners.get(n).slice();for(const a of s)try{await a(e,r)}catch(o){if(!Qs(o))throw o}}async notifyBuildPhase(e,n,r){if(e.length===0)return;const s=this.buildPhaseListeners.get(n).slice();for(const a of s)await Ee(r),await a(e,r)}shouldValidate(e){return!!this.getBuildOptions(e).validation}async validate(e,n){var r,i;const s=this.serviceRegistry.getServices(e.uri).validation.DocumentValidator,a=this.getBuildOptions(e).validation,o=typeof a=="object"?a:void 0,l=await s.validateDocument(e,o,n);e.diagnostics?e.diagnostics.push(...l):e.diagnostics=l;const u=this.buildState.get(e.uri.toString());if(u){(r=u.result)!==null&&r!==void 0||(u.result={});const c=(i=o==null?void 0:o.categories)!==null&&i!==void 0?i:Ts.all;u.result.validationChecks?u.result.validationChecks.push(...c):u.result.validationChecks=[...c]}}getBuildOptions(e){var n,r;return(r=(n=this.buildState.get(e.uri.toString()))===null||n===void 0?void 0:n.options)!==null&&r!==void 0?r:{}}}class yC{constructor(e){this.symbolIndex=new Map,this.symbolByTypeIndex=new tC,this.referenceIndex=new Map,this.documents=e.workspace.LangiumDocuments,this.serviceRegistry=e.ServiceRegistry,this.astReflection=e.AstReflection}findAllReferences(e,n){const r=At(e).uri,i=[];return this.referenceIndex.forEach(s=>{s.forEach(a=>{kt.equals(a.targetUri,r)&&a.targetPath===n&&i.push(a)})}),ie(i)}allElements(e,n){let r=ie(this.symbolIndex.keys());return n&&(r=r.filter(i=>!n||n.has(i))),r.map(i=>this.getFileDescriptions(i,e)).flat()}getFileDescriptions(e,n){var r;return n?this.symbolByTypeIndex.get(e,n,()=>{var s;return((s=this.symbolIndex.get(e))!==null&&s!==void 0?s:[]).filter(o=>this.astReflection.isSubtype(o.type,n))}):(r=this.symbolIndex.get(e))!==null&&r!==void 0?r:[]}remove(e){const n=e.toString();this.symbolIndex.delete(n),this.symbolByTypeIndex.clear(n),this.referenceIndex.delete(n)}async updateContent(e,n=z.CancellationToken.None){const i=await this.serviceRegistry.getServices(e.uri).references.ScopeComputation.computeExports(e,n),s=e.uri.toString();this.symbolIndex.set(s,i),this.symbolByTypeIndex.clear(s)}async updateReferences(e,n=z.CancellationToken.None){const i=await this.serviceRegistry.getServices(e.uri).workspace.ReferenceDescriptionProvider.createDescriptions(e,n);this.referenceIndex.set(e.uri.toString(),i)}isAffected(e,n){const r=this.referenceIndex.get(e.uri.toString());return r?r.some(i=>!i.local&&n.has(i.targetUri.toString())):!1}}class TC{constructor(e){this.initialBuildOptions={},this._ready=new El,this.serviceRegistry=e.ServiceRegistry,this.langiumDocuments=e.workspace.LangiumDocuments,this.documentBuilder=e.workspace.DocumentBuilder,this.fileSystemProvider=e.workspace.FileSystemProvider,this.mutex=e.workspace.WorkspaceLock}get ready(){return this._ready.promise}get workspaceFolders(){return this.folders}initialize(e){var n;this.folders=(n=e.workspaceFolders)!==null&&n!==void 0?n:void 0}initialized(e){return this.mutex.write(n=>{var r;return this.initializeWorkspace((r=this.folders)!==null&&r!==void 0?r:[],n)})}async initializeWorkspace(e,n=z.CancellationToken.None){const r=await this.performStartup(e);await Ee(n),await this.documentBuilder.build(r,this.initialBuildOptions,n)}async performStartup(e){const n=this.serviceRegistry.all.flatMap(s=>s.LanguageMetaData.fileExtensions),r=[],i=s=>{r.push(s),this.langiumDocuments.hasDocument(s.uri)||this.langiumDocuments.addDocument(s)};return await this.loadAdditionalDocuments(e,i),await Promise.all(e.map(s=>[s,this.getRootFolder(s)]).map(async s=>this.traverseFolder(...s,n,i))),this._ready.resolve(),r}loadAdditionalDocuments(e,n){return Promise.resolve()}getRootFolder(e){return Zt.parse(e.uri)}async traverseFolder(e,n,r,i){const s=await this.fileSystemProvider.readDirectory(n);await Promise.all(s.map(async a=>{if(this.includeEntry(e,a,r)){if(a.isDirectory)await this.traverseFolder(e,a.uri,r,i);else if(a.isFile){const o=await this.langiumDocuments.getOrCreateDocument(a.uri);i(o)}}}))}includeEntry(e,n,r){const i=kt.basename(n.uri);if(i.startsWith("."))return!1;if(n.isDirectory)return i!=="node_modules"&&i!=="out";if(n.isFile){const s=kt.extname(n.uri);return r.includes(s)}return!1}}class vC{buildUnexpectedCharactersMessage(e,n,r,i,s){return no.buildUnexpectedCharactersMessage(e,n,r,i,s)}buildUnableToPopLexerModeMessage(e){return no.buildUnableToPopLexerModeMessage(e)}}const $C={mode:"full"};class RC{constructor(e){this.errorMessageProvider=e.parser.LexerErrorMessageProvider,this.tokenBuilder=e.parser.TokenBuilder;const n=this.tokenBuilder.buildTokens(e.Grammar,{caseInsensitive:e.LanguageMetaData.caseInsensitive});this.tokenTypes=this.toTokenTypeDictionary(n);const r=Rf(n)?Object.values(n):n,i=e.LanguageMetaData.mode==="production";this.chevrotainLexer=new he(r,{positionTracking:"full",skipValidations:i,errorMessageProvider:this.errorMessageProvider})}get definition(){return this.tokenTypes}tokenize(e,n=$C){var r,i,s;const a=this.chevrotainLexer.tokenize(e);return{tokens:a.tokens,errors:a.errors,hidden:(r=a.groups.hidden)!==null&&r!==void 0?r:[],report:(s=(i=this.tokenBuilder).flushLexingReport)===null||s===void 0?void 0:s.call(i,e)}}toTokenTypeDictionary(e){if(Rf(e))return e;const n=ap(e)?Object.values(e.modes).flat():e,r={};return n.forEach(i=>r[i.name]=i),r}}function AC(t){return Array.isArray(t)&&(t.length===0||"name"in t[0])}function ap(t){return t&&"modes"in t&&"defaultMode"in t}function Rf(t){return!AC(t)&&!ap(t)}function EC(t,e,n){let r,i;typeof t=="string"?(i=e,r=n):(i=t.range.start,r=e),i||(i=D.create(0,0));const s=op(t),a=Sl(r),o=_C({lines:s,position:i,options:a});return NC({index:0,tokens:o,position:i})}function SC(t,e){const n=Sl(e),r=op(t);if(r.length===0)return!1;const i=r[0],s=r[r.length-1],a=n.start,o=n.end;return!!(a!=null&&a.exec(i))&&!!(o!=null&&o.exec(s))}function op(t){let e="";return typeof t=="string"?e=t:e=t.text,e.split(Tm)}const Af=/\s*(@([\p{L}][\p{L}\p{N}]*)?)/uy,xC=/\{(@[\p{L}][\p{L}\p{N}]*)(\s*)([^\r\n}]+)?\}/gu;function _C(t){var e,n,r;const i=[];let s=t.position.line,a=t.position.character;for(let o=0;o<t.lines.length;o++){const l=o===0,u=o===t.lines.length-1;let c=t.lines[o],f=0;if(l&&t.options.start){const h=(e=t.options.start)===null||e===void 0?void 0:e.exec(c);h&&(f=h.index+h[0].length)}else{const h=(n=t.options.line)===null||n===void 0?void 0:n.exec(c);h&&(f=h.index+h[0].length)}if(u){const h=(r=t.options.end)===null||r===void 0?void 0:r.exec(c);h&&(c=c.substring(0,h.index))}if(c=c.substring(0,kC(c)),Co(c,f)>=c.length){if(i.length>0){const h=D.create(s,a);i.push({type:"break",content:"",range:L.create(h,h)})}}else{Af.lastIndex=f;const h=Af.exec(c);if(h){const m=h[0],g=h[1],T=D.create(s,a+f),y=D.create(s,a+f+m.length);i.push({type:"tag",content:g,range:L.create(T,y)}),f+=m.length,f=Co(c,f)}if(f<c.length){const m=c.substring(f),g=Array.from(m.matchAll(xC));i.push(...IC(g,m,s,a+f))}}s++,a=0}return i.length>0&&i[i.length-1].type==="break"?i.slice(0,-1):i}function IC(t,e,n,r){const i=[];if(t.length===0){const s=D.create(n,r),a=D.create(n,r+e.length);i.push({type:"text",content:e,range:L.create(s,a)})}else{let s=0;for(const o of t){const l=o.index,u=e.substring(s,l);u.length>0&&i.push({type:"text",content:e.substring(s,l),range:L.create(D.create(n,s+r),D.create(n,l+r))});let c=u.length+1;const f=o[1];if(i.push({type:"inline-tag",content:f,range:L.create(D.create(n,s+c+r),D.create(n,s+c+f.length+r))}),c+=f.length,o.length===4){c+=o[2].length;const d=o[3];i.push({type:"text",content:d,range:L.create(D.create(n,s+c+r),D.create(n,s+c+d.length+r))})}else i.push({type:"text",content:"",range:L.create(D.create(n,s+c+r),D.create(n,s+c+r))});s=l+o[0].length}const a=e.substring(s);a.length>0&&i.push({type:"text",content:a,range:L.create(D.create(n,s+r),D.create(n,s+r+a.length))})}return i}const wC=/\S/,CC=/\s*$/;function Co(t,e){const n=t.substring(e).match(wC);return n?e+n.index:t.length}function kC(t){const e=t.match(CC);if(e&&typeof e.index=="number")return e.index}function NC(t){var e,n,r,i;const s=D.create(t.position.line,t.position.character);if(t.tokens.length===0)return new Ef([],L.create(s,s));const a=[];for(;t.index<t.tokens.length;){const u=bC(t,a[a.length-1]);u&&a.push(u)}const o=(n=(e=a[0])===null||e===void 0?void 0:e.range.start)!==null&&n!==void 0?n:s,l=(i=(r=a[a.length-1])===null||r===void 0?void 0:r.range.end)!==null&&i!==void 0?i:s;return new Ef(a,L.create(o,l))}function bC(t,e){const n=t.tokens[t.index];if(n.type==="tag")return up(t,!1);if(n.type==="text"||n.type==="inline-tag")return lp(t);OC(n,e),t.index++}function OC(t,e){if(e){const n=new fp("",t.range);"inlines"in e?e.inlines.push(n):e.content.inlines.push(n)}}function lp(t){let e=t.tokens[t.index];const n=e;let r=e;const i=[];for(;e&&e.type!=="break"&&e.type!=="tag";)i.push(PC(t)),r=e,e=t.tokens[t.index];return new ko(i,L.create(n.range.start,r.range.end))}function PC(t){return t.tokens[t.index].type==="inline-tag"?up(t,!0):cp(t)}function up(t,e){const n=t.tokens[t.index++],r=n.content.substring(1),i=t.tokens[t.index];if((i==null?void 0:i.type)==="text")if(e){const s=cp(t);return new Ia(r,new ko([s],s.range),e,L.create(n.range.start,s.range.end))}else{const s=lp(t);return new Ia(r,s,e,L.create(n.range.start,s.range.end))}else{const s=n.range;return new Ia(r,new ko([],s),e,s)}}function cp(t){const e=t.tokens[t.index++];return new fp(e.content,e.range)}function Sl(t){if(!t)return Sl({start:"/**",end:"*/",line:"*"});const{start:e,end:n,line:r}=t;return{start:_a(e,!0),end:_a(n,!1),line:_a(r,!0)}}function _a(t,e){if(typeof t=="string"||typeof t=="object"){const n=typeof t=="string"?Es(t):t.source;return e?new RegExp(`^\\s*${n}`):new RegExp(`\\s*${n}\\s*$`)}else return t}class Ef{constructor(e,n){this.elements=e,this.range=n}getTag(e){return this.getAllTags().find(n=>n.name===e)}getTags(e){return this.getAllTags().filter(n=>n.name===e)}getAllTags(){return this.elements.filter(e=>"name"in e)}toString(){let e="";for(const n of this.elements)if(e.length===0)e=n.toString();else{const r=n.toString();e+=Sf(e)+r}return e.trim()}toMarkdown(e){let n="";for(const r of this.elements)if(n.length===0)n=r.toMarkdown(e);else{const i=r.toMarkdown(e);n+=Sf(n)+i}return n.trim()}}class Ia{constructor(e,n,r,i){this.name=e,this.content=n,this.inline=r,this.range=i}toString(){let e=`@${this.name}`;const n=this.content.toString();return this.content.inlines.length===1?e=`${e} ${n}`:this.content.inlines.length>1&&(e=`${e}
|
|
118
|
+
${n}`),this.inline?`{${e}}`:e}toMarkdown(e){var n,r;return(r=(n=e==null?void 0:e.renderTag)===null||n===void 0?void 0:n.call(e,this))!==null&&r!==void 0?r:this.toMarkdownDefault(e)}toMarkdownDefault(e){const n=this.content.toMarkdown(e);if(this.inline){const s=LC(this.name,n,e??{});if(typeof s=="string")return s}let r="";(e==null?void 0:e.tag)==="italic"||(e==null?void 0:e.tag)===void 0?r="*":(e==null?void 0:e.tag)==="bold"?r="**":(e==null?void 0:e.tag)==="bold-italic"&&(r="***");let i=`${r}@${this.name}${r}`;return this.content.inlines.length===1?i=`${i} — ${n}`:this.content.inlines.length>1&&(i=`${i}
|
|
119
|
+
${n}`),this.inline?`{${i}}`:i}}function LC(t,e,n){var r,i;if(t==="linkplain"||t==="linkcode"||t==="link"){const s=e.indexOf(" ");let a=e;if(s>0){const l=Co(e,s);a=e.substring(l),e=e.substring(0,s)}return(t==="linkcode"||t==="link"&&n.link==="code")&&(a=`\`${a}\``),(i=(r=n.renderLink)===null||r===void 0?void 0:r.call(n,e,a))!==null&&i!==void 0?i:MC(e,a)}}function MC(t,e){try{return Zt.parse(t,!0),`[${e}](${t})`}catch{return t}}class ko{constructor(e,n){this.inlines=e,this.range=n}toString(){let e="";for(let n=0;n<this.inlines.length;n++){const r=this.inlines[n],i=this.inlines[n+1];e+=r.toString(),i&&i.range.start.line>r.range.start.line&&(e+=`
|
|
120
|
+
`)}return e}toMarkdown(e){let n="";for(let r=0;r<this.inlines.length;r++){const i=this.inlines[r],s=this.inlines[r+1];n+=i.toMarkdown(e),s&&s.range.start.line>i.range.start.line&&(n+=`
|
|
121
|
+
`)}return n}}class fp{constructor(e,n){this.text=e,this.range=n}toString(){return this.text}toMarkdown(){return this.text}}function Sf(t){return t.endsWith(`
|
|
122
|
+
`)?`
|
|
123
|
+
`:`
|
|
124
|
+
|
|
125
|
+
`}class DC{constructor(e){this.indexManager=e.shared.workspace.IndexManager,this.commentProvider=e.documentation.CommentProvider}getDocumentation(e){const n=this.commentProvider.getComment(e);if(n&&SC(n))return EC(n).toMarkdown({renderLink:(i,s)=>this.documentationLinkRenderer(e,i,s),renderTag:i=>this.documentationTagRenderer(e,i)})}documentationLinkRenderer(e,n,r){var i;const s=(i=this.findNameInPrecomputedScopes(e,n))!==null&&i!==void 0?i:this.findNameInGlobalScope(e,n);if(s&&s.nameSegment){const a=s.nameSegment.range.start.line+1,o=s.nameSegment.range.start.character+1,l=s.documentUri.with({fragment:`L${a},${o}`});return`[${r}](${l.toString()})`}else return}documentationTagRenderer(e,n){}findNameInPrecomputedScopes(e,n){const i=At(e).precomputedScopes;if(!i)return;let s=e;do{const o=i.get(s).find(l=>l.name===n);if(o)return o;s=s.$container}while(s)}findNameInGlobalScope(e,n){return this.indexManager.allElements().find(i=>i.name===n)}}class FC{constructor(e){this.grammarConfig=()=>e.parser.GrammarConfig}getComment(e){var n;return iC(e)?e.$comment:(n=qp(e.$cstNode,this.grammarConfig().multilineCommentRules))===null||n===void 0?void 0:n.text}}class GC{constructor(e){this.syncParser=e.parser.LangiumParser}parse(e,n){return Promise.resolve(this.syncParser.parse(e))}}class UC{constructor(){this.previousTokenSource=new z.CancellationTokenSource,this.writeQueue=[],this.readQueue=[],this.done=!0}write(e){this.cancelWrite();const n=Hw();return this.previousTokenSource=n,this.enqueue(this.writeQueue,e,n.token)}read(e){return this.enqueue(this.readQueue,e)}enqueue(e,n,r=z.CancellationToken.None){const i=new El,s={action:n,deferred:i,cancellationToken:r};return e.push(s),this.performNextOperation(),i.promise}async performNextOperation(){if(!this.done)return;const e=[];if(this.writeQueue.length>0)e.push(this.writeQueue.shift());else if(this.readQueue.length>0)e.push(...this.readQueue.splice(0,this.readQueue.length));else return;this.done=!1,await Promise.all(e.map(async({action:n,deferred:r,cancellationToken:i})=>{try{const s=await Promise.resolve().then(()=>n(i));r.resolve(s)}catch(s){Qs(s)?r.resolve(void 0):r.reject(s)}})),this.done=!0,this.performNextOperation()}cancelWrite(){this.previousTokenSource.cancel()}}class BC{constructor(e){this.grammarElementIdMap=new Tf,this.tokenTypeIdMap=new Tf,this.grammar=e.Grammar,this.lexer=e.parser.Lexer,this.linker=e.references.Linker}dehydrate(e){return{lexerErrors:e.lexerErrors,lexerReport:e.lexerReport?this.dehydrateLexerReport(e.lexerReport):void 0,parserErrors:e.parserErrors.map(n=>Object.assign(Object.assign({},n),{message:n.message})),value:this.dehydrateAstNode(e.value,this.createDehyrationContext(e.value))}}dehydrateLexerReport(e){return e}createDehyrationContext(e){const n=new Map,r=new Map;for(const i of pn(e))n.set(i,{});if(e.$cstNode)for(const i of Ga(e.$cstNode))r.set(i,{});return{astNodes:n,cstNodes:r}}dehydrateAstNode(e,n){const r=n.astNodes.get(e);r.$type=e.$type,r.$containerIndex=e.$containerIndex,r.$containerProperty=e.$containerProperty,e.$cstNode!==void 0&&(r.$cstNode=this.dehydrateCstNode(e.$cstNode,n));for(const[i,s]of Object.entries(e))if(!i.startsWith("$"))if(Array.isArray(s)){const a=[];r[i]=a;for(const o of s)ue(o)?a.push(this.dehydrateAstNode(o,n)):ze(o)?a.push(this.dehydrateReference(o,n)):a.push(o)}else ue(s)?r[i]=this.dehydrateAstNode(s,n):ze(s)?r[i]=this.dehydrateReference(s,n):s!==void 0&&(r[i]=s);return r}dehydrateReference(e,n){const r={};return r.$refText=e.$refText,e.$refNode&&(r.$refNode=n.cstNodes.get(e.$refNode)),r}dehydrateCstNode(e,n){const r=n.cstNodes.get(e);return Ff(e)?r.fullText=e.fullText:r.grammarSource=this.getGrammarElementId(e.grammarSource),r.hidden=e.hidden,r.astNode=n.astNodes.get(e.astNode),Mr(e)?r.content=e.content.map(i=>this.dehydrateCstNode(i,n)):Df(e)&&(r.tokenType=e.tokenType.name,r.offset=e.offset,r.length=e.length,r.startLine=e.range.start.line,r.startColumn=e.range.start.character,r.endLine=e.range.end.line,r.endColumn=e.range.end.character),r}hydrate(e){const n=e.value,r=this.createHydrationContext(n);return"$cstNode"in n&&this.hydrateCstNode(n.$cstNode,r),{lexerErrors:e.lexerErrors,lexerReport:e.lexerReport,parserErrors:e.parserErrors,value:this.hydrateAstNode(n,r)}}createHydrationContext(e){const n=new Map,r=new Map;for(const s of pn(e))n.set(s,{});let i;if(e.$cstNode)for(const s of Ga(e.$cstNode)){let a;"fullText"in s?(a=new Hh(s.fullText),i=a):"content"in s?a=new Rl:"tokenType"in s&&(a=this.hydrateCstLeafNode(s)),a&&(r.set(s,a),a.root=i)}return{astNodes:n,cstNodes:r}}hydrateAstNode(e,n){const r=n.astNodes.get(e);r.$type=e.$type,r.$containerIndex=e.$containerIndex,r.$containerProperty=e.$containerProperty,e.$cstNode&&(r.$cstNode=n.cstNodes.get(e.$cstNode));for(const[i,s]of Object.entries(e))if(!i.startsWith("$"))if(Array.isArray(s)){const a=[];r[i]=a;for(const o of s)ue(o)?a.push(this.setParent(this.hydrateAstNode(o,n),r)):ze(o)?a.push(this.hydrateReference(o,r,i,n)):a.push(o)}else ue(s)?r[i]=this.setParent(this.hydrateAstNode(s,n),r):ze(s)?r[i]=this.hydrateReference(s,r,i,n):s!==void 0&&(r[i]=s);return r}setParent(e,n){return e.$container=n,e}hydrateReference(e,n,r,i){return this.linker.buildReference(n,r,i.cstNodes.get(e.$refNode),e.$refText)}hydrateCstNode(e,n,r=0){const i=n.cstNodes.get(e);if(typeof e.grammarSource=="number"&&(i.grammarSource=this.getGrammarElement(e.grammarSource)),i.astNode=n.astNodes.get(e.astNode),Mr(i))for(const s of e.content){const a=this.hydrateCstNode(s,n,r++);i.content.push(a)}return i}hydrateCstLeafNode(e){const n=this.getTokenType(e.tokenType),r=e.offset,i=e.length,s=e.startLine,a=e.startColumn,o=e.endLine,l=e.endColumn,u=e.hidden;return new So(r,i,{start:{line:s,character:a},end:{line:o,character:l}},n,u)}getTokenType(e){return this.lexer.definition[e]}getGrammarElementId(e){if(e)return this.grammarElementIdMap.size===0&&this.createGrammarElementIdMap(),this.grammarElementIdMap.get(e)}getGrammarElement(e){return this.grammarElementIdMap.size===0&&this.createGrammarElementIdMap(),this.grammarElementIdMap.getKey(e)}createGrammarElementIdMap(){let e=0;for(const n of pn(this.grammar))Xp(n)&&this.grammarElementIdMap.set(n,e++)}}function Lt(t){return{documentation:{CommentProvider:e=>new FC(e),DocumentationProvider:e=>new DC(e)},parser:{AsyncParser:e=>new GC(e),GrammarConfig:e=>Bm(e),LangiumParser:e=>Fw(e),CompletionParser:e=>Dw(e),ValueConverter:()=>new Qh,TokenBuilder:()=>new Zh,Lexer:e=>new RC(e),ParserErrorMessageProvider:()=>new Vh,LexerErrorMessageProvider:()=>new vC},workspace:{AstNodeLocator:()=>new hC,AstNodeDescriptionProvider:e=>new fC(e),ReferenceDescriptionProvider:e=>new dC(e)},references:{Linker:e=>new qw(e),NameProvider:()=>new Xw,ScopeProvider:e=>new rC(e),ScopeComputation:e=>new Zw(e),References:e=>new Jw(e)},serializer:{Hydrator:e=>new BC(e),JsonSerializer:e=>new sC(e)},validation:{DocumentValidator:e=>new lC(e),ValidationRegistry:e=>new oC(e)},shared:()=>t.shared}}function Mt(t){return{ServiceRegistry:e=>new aC(e),workspace:{LangiumDocuments:e=>new Vw(e),LangiumDocumentFactory:e=>new zw(e),DocumentBuilder:e=>new gC(e),IndexManager:e=>new yC(e),WorkspaceManager:e=>new TC(e),FileSystemProvider:e=>t.fileSystemProvider(e),WorkspaceLock:()=>new UC,ConfigurationProvider:e=>new mC(e)}}}var xf;(function(t){t.merge=(e,n)=>vs(vs({},e),n)})(xf||(xf={}));function ce(t,e,n,r,i,s,a,o,l){const u=[t,e,n,r,i,s,a,o,l].reduce(vs,{});return dp(u)}const jC=Symbol("isProxy");function dp(t,e){const n=new Proxy({},{deleteProperty:()=>!1,set:()=>{throw new Error("Cannot set property on injected service container")},get:(r,i)=>i===jC?!0:If(r,i,t,e||n),getOwnPropertyDescriptor:(r,i)=>(If(r,i,t,e||n),Object.getOwnPropertyDescriptor(r,i)),has:(r,i)=>i in t,ownKeys:()=>[...Object.getOwnPropertyNames(t)]});return n}const _f=Symbol();function If(t,e,n,r){if(e in t){if(t[e]instanceof Error)throw new Error("Construction failure. Please make sure that your dependencies are constructable.",{cause:t[e]});if(t[e]===_f)throw new Error('Cycle detected. Please make "'+String(e)+'" lazy. Visit https://langium.org/docs/reference/configuration-services/#resolving-cyclic-dependencies');return t[e]}else if(e in n){const i=n[e];t[e]=_f;try{t[e]=typeof i=="function"?i(r):dp(i,r)}catch(s){throw t[e]=s instanceof Error?s:void 0,s}return t[e]}else return}function vs(t,e){if(e){for(const[n,r]of Object.entries(e))if(r!==void 0){const i=t[n];i!==null&&r!==null&&typeof i=="object"&&typeof r=="object"?t[n]=vs(i,r):t[n]=r}}return t}class KC{readFile(){throw new Error("No file system is available.")}async readDirectory(){return[]}}const Dt={fileSystemProvider:()=>new KC},HC={Grammar:()=>{},LanguageMetaData:()=>({caseInsensitive:!1,fileExtensions:[".langium"],languageId:"langium"})},WC={AstReflection:()=>new Wf};function zC(){const t=ce(Mt(Dt),WC),e=ce(Lt({shared:t}),HC);return t.ServiceRegistry.register(e),e}function ln(t){var e;const n=zC(),r=n.serializer.JsonSerializer.deserialize(t);return n.shared.workspace.LangiumDocumentFactory.fromModel(r,Zt.parse(`memory://${(e=r.name)!==null&&e!==void 0?e:"grammar"}.langium`)),r}var VC=Object.defineProperty,A=(t,e)=>VC(t,"name",{value:e,configurable:!0}),wf="Statement",Fi="Architecture";function qC(t){return Ke.isInstance(t,Fi)}A(qC,"isArchitecture");var Ai="Axis",Cr="Branch";function YC(t){return Ke.isInstance(t,Cr)}A(YC,"isBranch");var Ei="Checkout",Si="CherryPicking",wa="ClassDefStatement",kr="Commit";function XC(t){return Ke.isInstance(t,kr)}A(XC,"isCommit");var Ca="Curve",ka="Edge",Na="Entry",Nr="GitGraph";function JC(t){return Ke.isInstance(t,Nr)}A(JC,"isGitGraph");var ba="Group",Gi="Info";function ZC(t){return Ke.isInstance(t,Gi)}A(ZC,"isInfo");var xi="Item",Oa="Junction",br="Merge";function QC(t){return Ke.isInstance(t,br)}A(QC,"isMerge");var Pa="Option",Ui="Packet";function ek(t){return Ke.isInstance(t,Ui)}A(ek,"isPacket");var Bi="PacketBlock";function tk(t){return Ke.isInstance(t,Bi)}A(tk,"isPacketBlock");var ji="Pie";function nk(t){return Ke.isInstance(t,ji)}A(nk,"isPie");var Ki="PieSection";function rk(t){return Ke.isInstance(t,Ki)}A(rk,"isPieSection");var La="Radar",Ma="Service",Hi="Treemap";function ik(t){return Ke.isInstance(t,Hi)}A(ik,"isTreemap");var Da="TreemapRow",_i="Direction",Ii="Leaf",wi="Section",yn,hp=(yn=class extends Mf{getAllTypes(){return[Fi,Ai,Cr,Ei,Si,wa,kr,Ca,_i,ka,Na,Nr,ba,Gi,xi,Oa,Ii,br,Pa,Ui,Bi,ji,Ki,La,wi,Ma,wf,Hi,Da]}computeIsSubtype(e,n){switch(e){case Cr:case Ei:case Si:case kr:case br:return this.isSubtype(wf,n);case _i:return this.isSubtype(Nr,n);case Ii:case wi:return this.isSubtype(xi,n);default:return!1}}getReferenceType(e){const n=`${e.container.$type}:${e.property}`;switch(n){case"Entry:axis":return Ai;default:throw new Error(`${n} is not a valid reference id.`)}}getTypeMetaData(e){switch(e){case Fi:return{name:Fi,properties:[{name:"accDescr"},{name:"accTitle"},{name:"edges",defaultValue:[]},{name:"groups",defaultValue:[]},{name:"junctions",defaultValue:[]},{name:"services",defaultValue:[]},{name:"title"}]};case Ai:return{name:Ai,properties:[{name:"label"},{name:"name"}]};case Cr:return{name:Cr,properties:[{name:"name"},{name:"order"}]};case Ei:return{name:Ei,properties:[{name:"branch"}]};case Si:return{name:Si,properties:[{name:"id"},{name:"parent"},{name:"tags",defaultValue:[]}]};case wa:return{name:wa,properties:[{name:"className"},{name:"styleText"}]};case kr:return{name:kr,properties:[{name:"id"},{name:"message"},{name:"tags",defaultValue:[]},{name:"type"}]};case Ca:return{name:Ca,properties:[{name:"entries",defaultValue:[]},{name:"label"},{name:"name"}]};case ka:return{name:ka,properties:[{name:"lhsDir"},{name:"lhsGroup",defaultValue:!1},{name:"lhsId"},{name:"lhsInto",defaultValue:!1},{name:"rhsDir"},{name:"rhsGroup",defaultValue:!1},{name:"rhsId"},{name:"rhsInto",defaultValue:!1},{name:"title"}]};case Na:return{name:Na,properties:[{name:"axis"},{name:"value"}]};case Nr:return{name:Nr,properties:[{name:"accDescr"},{name:"accTitle"},{name:"statements",defaultValue:[]},{name:"title"}]};case ba:return{name:ba,properties:[{name:"icon"},{name:"id"},{name:"in"},{name:"title"}]};case Gi:return{name:Gi,properties:[{name:"accDescr"},{name:"accTitle"},{name:"title"}]};case xi:return{name:xi,properties:[{name:"classSelector"},{name:"name"}]};case Oa:return{name:Oa,properties:[{name:"id"},{name:"in"}]};case br:return{name:br,properties:[{name:"branch"},{name:"id"},{name:"tags",defaultValue:[]},{name:"type"}]};case Pa:return{name:Pa,properties:[{name:"name"},{name:"value",defaultValue:!1}]};case Ui:return{name:Ui,properties:[{name:"accDescr"},{name:"accTitle"},{name:"blocks",defaultValue:[]},{name:"title"}]};case Bi:return{name:Bi,properties:[{name:"bits"},{name:"end"},{name:"label"},{name:"start"}]};case ji:return{name:ji,properties:[{name:"accDescr"},{name:"accTitle"},{name:"sections",defaultValue:[]},{name:"showData",defaultValue:!1},{name:"title"}]};case Ki:return{name:Ki,properties:[{name:"label"},{name:"value"}]};case La:return{name:La,properties:[{name:"accDescr"},{name:"accTitle"},{name:"axes",defaultValue:[]},{name:"curves",defaultValue:[]},{name:"options",defaultValue:[]},{name:"title"}]};case Ma:return{name:Ma,properties:[{name:"icon"},{name:"iconText"},{name:"id"},{name:"in"},{name:"title"}]};case Hi:return{name:Hi,properties:[{name:"accDescr"},{name:"accTitle"},{name:"title"},{name:"TreemapRows",defaultValue:[]}]};case Da:return{name:Da,properties:[{name:"indent"},{name:"item"}]};case _i:return{name:_i,properties:[{name:"accDescr"},{name:"accTitle"},{name:"dir"},{name:"statements",defaultValue:[]},{name:"title"}]};case Ii:return{name:Ii,properties:[{name:"classSelector"},{name:"name"},{name:"value"}]};case wi:return{name:wi,properties:[{name:"classSelector"},{name:"name"}]};default:return{name:e,properties:[]}}}},A(yn,"MermaidAstReflection"),yn),Ke=new hp,Cf,sk=A(()=>Cf??(Cf=ln(`{"$type":"Grammar","isDeclared":true,"name":"Info","imports":[],"rules":[{"$type":"ParserRule","entry":true,"name":"Info","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[],"cardinality":"*"},{"$type":"Keyword","value":"info"},{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[],"cardinality":"*"},{"$type":"Group","elements":[{"$type":"Keyword","value":"showInfo"},{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[],"cardinality":"*"}],"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[],"cardinality":"?"}]},"definesHiddenTokens":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","fragment":true,"name":"EOL","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}],"cardinality":"+"},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"TerminalRule","name":"BOOLEAN","type":{"$type":"ReturnType","name":"boolean"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"true"}},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"false"}}]},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"FLOAT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/[0-9]+\\\\.[0-9]+(?!\\\\.)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/0|[1-9][0-9]*(?!\\\\.)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@7"}},{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@8"}}]},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRING","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|'([^'\\\\\\\\]|\\\\\\\\.)*'/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ID","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[\\\\w]([-\\\\w]*\\\\w)?/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/"},"fragment":false}],"definesHiddenTokens":false,"hiddenTokens":[],"interfaces":[],"types":[],"usedGrammars":[]}`)),"InfoGrammar"),kf,ak=A(()=>kf??(kf=ln(`{"$type":"Grammar","isDeclared":true,"name":"Packet","imports":[],"rules":[{"$type":"ParserRule","entry":true,"name":"Packet","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[],"cardinality":"*"},{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"packet"},{"$type":"Keyword","value":"packet-beta"}]},{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]},{"$type":"Assignment","feature":"blocks","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]}],"cardinality":"*"}]},"definesHiddenTokens":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"PacketBlock","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"Assignment","feature":"start","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":"-"},{"$type":"Assignment","feature":"end","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}}],"cardinality":"?"}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"+"},{"$type":"Assignment","feature":"bits","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}}]}]},{"$type":"Keyword","value":":"},{"$type":"Assignment","feature":"label","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","fragment":true,"name":"EOL","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}],"cardinality":"+"},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"TerminalRule","name":"BOOLEAN","type":{"$type":"ReturnType","name":"boolean"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"true"}},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"false"}}]},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"FLOAT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/[0-9]+\\\\.[0-9]+(?!\\\\.)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/0|[1-9][0-9]*(?!\\\\.)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@8"}},{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@9"}}]},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRING","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|'([^'\\\\\\\\]|\\\\\\\\.)*'/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ID","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[\\\\w]([-\\\\w]*\\\\w)?/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/"},"fragment":false}],"definesHiddenTokens":false,"hiddenTokens":[],"interfaces":[],"types":[],"usedGrammars":[]}`)),"PacketGrammar"),Nf,ok=A(()=>Nf??(Nf=ln(`{"$type":"Grammar","isDeclared":true,"name":"Pie","imports":[],"rules":[{"$type":"ParserRule","entry":true,"name":"Pie","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[],"cardinality":"*"},{"$type":"Keyword","value":"pie"},{"$type":"Assignment","feature":"showData","operator":"?=","terminal":{"$type":"Keyword","value":"showData"},"cardinality":"?"},{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]},{"$type":"Assignment","feature":"sections","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]}],"cardinality":"*"}]},"definesHiddenTokens":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"PieSection","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"label","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[]}},{"$type":"Keyword","value":":"},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"TerminalRule","name":"FLOAT_PIE","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/-?[0-9]+\\\\.[0-9]+(?!\\\\.)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INT_PIE","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/-?(0|[1-9][0-9]*)(?!\\\\.)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER_PIE","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@2"}},{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@3"}}]},"fragment":false,"hidden":false},{"$type":"ParserRule","fragment":true,"name":"EOL","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}],"cardinality":"+"},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"TerminalRule","name":"BOOLEAN","type":{"$type":"ReturnType","name":"boolean"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"true"}},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"false"}}]},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"FLOAT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/[0-9]+\\\\.[0-9]+(?!\\\\.)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/0|[1-9][0-9]*(?!\\\\.)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@11"}},{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@12"}}]},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRING","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|'([^'\\\\\\\\]|\\\\\\\\.)*'/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ID","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[\\\\w]([-\\\\w]*\\\\w)?/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/"},"fragment":false}],"definesHiddenTokens":false,"hiddenTokens":[],"interfaces":[],"types":[],"usedGrammars":[]}`)),"PieGrammar"),bf,lk=A(()=>bf??(bf=ln(`{"$type":"Grammar","isDeclared":true,"name":"Architecture","imports":[],"rules":[{"$type":"ParserRule","entry":true,"name":"Architecture","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@23"},"arguments":[],"cardinality":"*"},{"$type":"Keyword","value":"architecture-beta"},{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@23"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}],"cardinality":"*"}]},"definesHiddenTokens":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","fragment":true,"name":"Statement","definition":{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"groups","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}},{"$type":"Assignment","feature":"services","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]}},{"$type":"Assignment","feature":"junctions","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]}},{"$type":"Assignment","feature":"edges","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}}]},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","fragment":true,"name":"LeftPort","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":":"},{"$type":"Assignment","feature":"lhsDir","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}}]},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","fragment":true,"name":"RightPort","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"rhsDir","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}},{"$type":"Keyword","value":":"}]},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","fragment":true,"name":"Arrow","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]},{"$type":"Assignment","feature":"lhsInto","operator":"?=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[]},"cardinality":"?"},{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"--"},{"$type":"Group","elements":[{"$type":"Keyword","value":"-"},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@29"},"arguments":[]}},{"$type":"Keyword","value":"-"}]}]},{"$type":"Assignment","feature":"rhsInto","operator":"?=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[]},"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Group","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"group"},{"$type":"Assignment","feature":"id","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]}},{"$type":"Assignment","feature":"icon","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@28"},"arguments":[]},"cardinality":"?"},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@29"},"arguments":[]},"cardinality":"?"},{"$type":"Group","elements":[{"$type":"Keyword","value":"in"},{"$type":"Assignment","feature":"in","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]}}],"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Service","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"service"},{"$type":"Assignment","feature":"id","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]}},{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"iconText","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@21"},"arguments":[]}},{"$type":"Assignment","feature":"icon","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@28"},"arguments":[]}}],"cardinality":"?"},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@29"},"arguments":[]},"cardinality":"?"},{"$type":"Group","elements":[{"$type":"Keyword","value":"in"},{"$type":"Assignment","feature":"in","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]}}],"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Junction","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"junction"},{"$type":"Assignment","feature":"id","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":"in"},{"$type":"Assignment","feature":"in","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]}}],"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Edge","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"lhsId","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]}},{"$type":"Assignment","feature":"lhsGroup","operator":"?=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]},"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]},{"$type":"Assignment","feature":"rhsId","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]}},{"$type":"Assignment","feature":"rhsGroup","operator":"?=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]},"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"TerminalRule","name":"ARROW_DIRECTION","definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"L"}},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"R"}}]},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"T"}}]},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"B"}}]},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ARROW_GROUP","definition":{"$type":"RegexToken","regex":"/\\\\{group\\\\}/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ARROW_INTO","definition":{"$type":"RegexToken","regex":"/<|>/"},"fragment":false,"hidden":false},{"$type":"ParserRule","fragment":true,"name":"EOL","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@23"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}],"cardinality":"+"},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"TerminalRule","name":"BOOLEAN","type":{"$type":"ReturnType","name":"boolean"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"true"}},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"false"}}]},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"FLOAT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/[0-9]+\\\\.[0-9]+(?!\\\\.)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/0|[1-9][0-9]*(?!\\\\.)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@18"}},{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@19"}}]},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRING","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|'([^'\\\\\\\\]|\\\\\\\\.)*'/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ID","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[\\\\w]([-\\\\w]*\\\\w)?/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/"},"fragment":false},{"$type":"TerminalRule","name":"ARCH_ICON","definition":{"$type":"RegexToken","regex":"/\\\\([\\\\w-:]+\\\\)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ARCH_TITLE","definition":{"$type":"RegexToken","regex":"/\\\\[[\\\\w ]+\\\\]/"},"fragment":false,"hidden":false}],"definesHiddenTokens":false,"hiddenTokens":[],"interfaces":[],"types":[],"usedGrammars":[]}`)),"ArchitectureGrammar"),Of,uk=A(()=>Of??(Of=ln(`{"$type":"Grammar","isDeclared":true,"name":"GitGraph","imports":[],"rules":[{"$type":"ParserRule","entry":true,"name":"GitGraph","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[],"cardinality":"*"},{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"gitGraph"},{"$type":"Group","elements":[{"$type":"Keyword","value":"gitGraph"},{"$type":"Keyword","value":":"}]},{"$type":"Keyword","value":"gitGraph:"},{"$type":"Group","elements":[{"$type":"Keyword","value":"gitGraph"},{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]},{"$type":"Keyword","value":":"}]}]},{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]},{"$type":"Assignment","feature":"statements","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}}],"cardinality":"*"}]},"definesHiddenTokens":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Statement","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Direction","definition":{"$type":"Assignment","feature":"dir","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"LR"},{"$type":"Keyword","value":"TB"},{"$type":"Keyword","value":"BT"}]}},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Commit","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"commit"},{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"Keyword","value":"id:"},{"$type":"Assignment","feature":"id","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"msg:","cardinality":"?"},{"$type":"Assignment","feature":"message","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"tag:"},{"$type":"Assignment","feature":"tags","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"type:"},{"$type":"Assignment","feature":"type","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"NORMAL"},{"$type":"Keyword","value":"REVERSE"},{"$type":"Keyword","value":"HIGHLIGHT"}]}}]}],"cardinality":"*"},{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Branch","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"branch"},{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@24"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}]}},{"$type":"Group","elements":[{"$type":"Keyword","value":"order:"},{"$type":"Assignment","feature":"order","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"arguments":[]}}],"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Merge","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"merge"},{"$type":"Assignment","feature":"branch","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@24"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}]}},{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"Keyword","value":"id:"},{"$type":"Assignment","feature":"id","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"tag:"},{"$type":"Assignment","feature":"tags","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"type:"},{"$type":"Assignment","feature":"type","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"NORMAL"},{"$type":"Keyword","value":"REVERSE"},{"$type":"Keyword","value":"HIGHLIGHT"}]}}]}],"cardinality":"*"},{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Checkout","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"checkout"},{"$type":"Keyword","value":"switch"}]},{"$type":"Assignment","feature":"branch","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@24"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"CherryPicking","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"cherry-pick"},{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"Keyword","value":"id:"},{"$type":"Assignment","feature":"id","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"tag:"},{"$type":"Assignment","feature":"tags","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"parent:"},{"$type":"Assignment","feature":"parent","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]}],"cardinality":"*"},{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","fragment":true,"name":"EOL","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}],"cardinality":"+"},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"TerminalRule","name":"BOOLEAN","type":{"$type":"ReturnType","name":"boolean"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"true"}},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"false"}}]},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"FLOAT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/[0-9]+\\\\.[0-9]+(?!\\\\.)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/0|[1-9][0-9]*(?!\\\\.)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@14"}},{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@15"}}]},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRING","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|'([^'\\\\\\\\]|\\\\\\\\.)*'/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ID","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[\\\\w]([-\\\\w]*\\\\w)?/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/"},"fragment":false},{"$type":"TerminalRule","name":"REFERENCE","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\\\w([-\\\\./\\\\w]*[-\\\\w])?/"},"fragment":false,"hidden":false}],"definesHiddenTokens":false,"hiddenTokens":[],"interfaces":[],"types":[],"usedGrammars":[]}`)),"GitGraphGrammar"),Pf,ck=A(()=>Pf??(Pf=ln(`{"$type":"Grammar","isDeclared":true,"name":"Radar","imports":[],"rules":[{"$type":"ParserRule","entry":true,"name":"Radar","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[],"cardinality":"*"},{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"radar-beta"},{"$type":"Keyword","value":"radar-beta:"},{"$type":"Group","elements":[{"$type":"Keyword","value":"radar-beta"},{"$type":"Keyword","value":":"}]}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[],"cardinality":"*"},{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]},{"$type":"Group","elements":[{"$type":"Keyword","value":"axis"},{"$type":"Assignment","feature":"axes","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"axes","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}}],"cardinality":"*"}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"curve"},{"$type":"Assignment","feature":"curves","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"curves","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]}}],"cardinality":"*"}]},{"$type":"Group","elements":[{"$type":"Assignment","feature":"options","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"options","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]}}],"cardinality":"*"}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}],"cardinality":"*"}]},"definesHiddenTokens":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","fragment":true,"name":"Label","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"["},{"$type":"Assignment","feature":"label","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@18"},"arguments":[]}},{"$type":"Keyword","value":"]"}]},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Axis","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[],"cardinality":"?"}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Curve","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[],"cardinality":"?"},{"$type":"Keyword","value":"{"},{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]},{"$type":"Keyword","value":"}"}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","fragment":true,"name":"Entries","definition":{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[],"cardinality":"*"},{"$type":"Assignment","feature":"entries","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":","},{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[],"cardinality":"*"},{"$type":"Assignment","feature":"entries","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]}}],"cardinality":"*"},{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[],"cardinality":"*"}]},{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[],"cardinality":"*"},{"$type":"Assignment","feature":"entries","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":","},{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[],"cardinality":"*"},{"$type":"Assignment","feature":"entries","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}}],"cardinality":"*"},{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[],"cardinality":"*"}]}]},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"DetailedEntry","returnType":{"$ref":"#/interfaces@0"},"definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"axis","operator":"=","terminal":{"$type":"CrossReference","type":{"$ref":"#/rules@2"},"terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]},"deprecatedSyntax":false}},{"$type":"Keyword","value":":","cardinality":"?"},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"NumberEntry","returnType":{"$ref":"#/interfaces@0"},"definition":{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Option","definition":{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Keyword","value":"showLegend"}},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Keyword","value":"ticks"}},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Keyword","value":"max"}},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Keyword","value":"min"}},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Keyword","value":"graticule"}},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}}]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"TerminalRule","name":"GRATICULE","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"circle"}},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"polygon"}}]},"fragment":false,"hidden":false},{"$type":"ParserRule","fragment":true,"name":"EOL","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}],"cardinality":"+"},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"TerminalRule","name":"BOOLEAN","type":{"$type":"ReturnType","name":"boolean"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"true"}},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"false"}}]},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"FLOAT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/[0-9]+\\\\.[0-9]+(?!\\\\.)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/0|[1-9][0-9]*(?!\\\\.)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@15"}},{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@16"}}]},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRING","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|'([^'\\\\\\\\]|\\\\\\\\.)*'/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ID","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[\\\\w]([-\\\\w]*\\\\w)?/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/"},"fragment":false}],"interfaces":[{"$type":"Interface","name":"Entry","attributes":[{"$type":"TypeAttribute","name":"axis","isOptional":true,"type":{"$type":"ReferenceType","referenceType":{"$type":"SimpleType","typeRef":{"$ref":"#/rules@2"}}}},{"$type":"TypeAttribute","name":"value","type":{"$type":"SimpleType","primitiveType":"number"},"isOptional":false}],"superTypes":[]}],"definesHiddenTokens":false,"hiddenTokens":[],"types":[],"usedGrammars":[]}`)),"RadarGrammar"),Lf,fk=A(()=>Lf??(Lf=ln(`{"$type":"Grammar","isDeclared":true,"name":"Treemap","rules":[{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]}}],"cardinality":"+"},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"TerminalRule","name":"BOOLEAN","type":{"$type":"ReturnType","name":"boolean"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"true"}},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"false"}}]},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/"},"fragment":false,"hidden":false},{"$type":"ParserRule","entry":true,"name":"Treemap","returnType":{"$ref":"#/interfaces@4"},"definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]},{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@0"},"arguments":[]},{"$type":"Assignment","feature":"TreemapRows","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[]}}],"cardinality":"*"}]},"definesHiddenTokens":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"TerminalRule","name":"TREEMAP_KEYWORD","definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"treemap-beta"}},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"treemap"}}]},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"CLASS_DEF","definition":{"$type":"RegexToken","regex":"/classDef\\\\s+([a-zA-Z_][a-zA-Z0-9_]+)(?:\\\\s+([^;\\\\r\\\\n]*))?(?:;)?/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STYLE_SEPARATOR","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":":::"}},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"SEPARATOR","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":":"}},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"COMMA","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":","}},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WS","definition":{"$type":"RegexToken","regex":"/[ \\\\t]+/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"ML_COMMENT","definition":{"$type":"RegexToken","regex":"/\\\\%\\\\%[^\\\\n]*/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"NL","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/"},"fragment":false},{"$type":"ParserRule","name":"TreemapRow","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"indent","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]},"cardinality":"?"},{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"item","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"arguments":[]}]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"ClassDef","dataType":"string","definition":{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Item","returnType":{"$ref":"#/interfaces@0"},"definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@18"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Section","returnType":{"$ref":"#/interfaces@1"},"definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@23"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]},{"$type":"Assignment","feature":"classSelector","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}}],"cardinality":"?"}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Leaf","returnType":{"$ref":"#/interfaces@2"},"definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@23"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[],"cardinality":"?"},{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[],"cardinality":"?"},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]},{"$type":"Assignment","feature":"classSelector","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}}],"cardinality":"?"}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"TerminalRule","name":"INDENTATION","definition":{"$type":"RegexToken","regex":"/[ \\\\t]{1,}/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ID2","definition":{"$type":"RegexToken","regex":"/[a-zA-Z_][a-zA-Z0-9_]*/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER2","definition":{"$type":"RegexToken","regex":"/[0-9_\\\\.\\\\,]+/"},"fragment":false,"hidden":false},{"$type":"ParserRule","name":"MyNumber","dataType":"number","definition":{"$type":"RuleCall","rule":{"$ref":"#/rules@21"},"arguments":[]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"TerminalRule","name":"STRING2","definition":{"$type":"RegexToken","regex":"/\\"[^\\"]*\\"|'[^']*'/"},"fragment":false,"hidden":false}],"interfaces":[{"$type":"Interface","name":"Item","attributes":[{"$type":"TypeAttribute","name":"name","type":{"$type":"SimpleType","primitiveType":"string"},"isOptional":false},{"$type":"TypeAttribute","name":"classSelector","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}}],"superTypes":[]},{"$type":"Interface","name":"Section","superTypes":[{"$ref":"#/interfaces@0"}],"attributes":[]},{"$type":"Interface","name":"Leaf","superTypes":[{"$ref":"#/interfaces@0"}],"attributes":[{"$type":"TypeAttribute","name":"value","type":{"$type":"SimpleType","primitiveType":"number"},"isOptional":false}]},{"$type":"Interface","name":"ClassDefStatement","attributes":[{"$type":"TypeAttribute","name":"className","type":{"$type":"SimpleType","primitiveType":"string"},"isOptional":false},{"$type":"TypeAttribute","name":"styleText","type":{"$type":"SimpleType","primitiveType":"string"},"isOptional":false}],"superTypes":[]},{"$type":"Interface","name":"Treemap","attributes":[{"$type":"TypeAttribute","name":"TreemapRows","type":{"$type":"ArrayType","elementType":{"$type":"SimpleType","typeRef":{"$ref":"#/rules@14"}}},"isOptional":false},{"$type":"TypeAttribute","name":"title","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"accTitle","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"accDescr","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}}],"superTypes":[]}],"definesHiddenTokens":false,"hiddenTokens":[],"imports":[],"types":[],"usedGrammars":[],"$comment":"/**\\n * Treemap grammar for Langium\\n * Converted from mindmap grammar\\n *\\n * The ML_COMMENT and NL hidden terminals handle whitespace, comments, and newlines\\n * before the treemap keyword, allowing for empty lines and comments before the\\n * treemap declaration.\\n */"}`)),"TreemapGrammar"),dk={languageId:"info",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},hk={languageId:"packet",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},pk={languageId:"pie",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},mk={languageId:"architecture",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},gk={languageId:"gitGraph",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},yk={languageId:"radar",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},Tk={languageId:"treemap",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},un={AstReflection:A(()=>new hp,"AstReflection")},vk={Grammar:A(()=>sk(),"Grammar"),LanguageMetaData:A(()=>dk,"LanguageMetaData"),parser:{}},$k={Grammar:A(()=>ak(),"Grammar"),LanguageMetaData:A(()=>hk,"LanguageMetaData"),parser:{}},Rk={Grammar:A(()=>ok(),"Grammar"),LanguageMetaData:A(()=>pk,"LanguageMetaData"),parser:{}},Ak={Grammar:A(()=>lk(),"Grammar"),LanguageMetaData:A(()=>mk,"LanguageMetaData"),parser:{}},Ek={Grammar:A(()=>uk(),"Grammar"),LanguageMetaData:A(()=>gk,"LanguageMetaData"),parser:{}},Sk={Grammar:A(()=>ck(),"Grammar"),LanguageMetaData:A(()=>yk,"LanguageMetaData"),parser:{}},xk={Grammar:A(()=>fk(),"Grammar"),LanguageMetaData:A(()=>Tk,"LanguageMetaData"),parser:{}},_k=/accDescr(?:[\t ]*:([^\n\r]*)|\s*{([^}]*)})/,Ik=/accTitle[\t ]*:([^\n\r]*)/,wk=/title([\t ][^\n\r]*|)/,Ck={ACC_DESCR:_k,ACC_TITLE:Ik,TITLE:wk},Tn,ea=(Tn=class extends Qh{runConverter(e,n,r){let i=this.runCommonConverter(e,n,r);return i===void 0&&(i=this.runCustomConverter(e,n,r)),i===void 0?super.runConverter(e,n,r):i}runCommonConverter(e,n,r){const i=Ck[e.name];if(i===void 0)return;const s=i.exec(n);if(s!==null){if(s[1]!==void 0)return s[1].trim().replace(/[\t ]{2,}/gm," ");if(s[2]!==void 0)return s[2].replace(/^\s*/gm,"").replace(/\s+$/gm,"").replace(/[\t ]{2,}/gm," ").replace(/[\n\r]{2,}/gm,`
|
|
126
|
+
`)}}},A(Tn,"AbstractMermaidValueConverter"),Tn),vn,ta=(vn=class extends ea{runCustomConverter(e,n,r){}},A(vn,"CommonValueConverter"),vn),$n,Ft=($n=class extends Zh{constructor(e){super(),this.keywords=new Set(e)}buildKeywordTokens(e,n,r){const i=super.buildKeywordTokens(e,n,r);return i.forEach(s=>{this.keywords.has(s.name)&&s.PATTERN!==void 0&&(s.PATTERN=new RegExp(s.PATTERN.toString()+"(?:(?=%%)|(?!\\S))"))}),i}},A($n,"AbstractMermaidTokenBuilder"),$n),Rn;Rn=class extends Ft{},A(Rn,"CommonTokenBuilder");var An,kk=(An=class extends Ft{constructor(){super(["gitGraph"])}},A(An,"GitGraphTokenBuilder"),An),pp={parser:{TokenBuilder:A(()=>new kk,"TokenBuilder"),ValueConverter:A(()=>new ta,"ValueConverter")}};function mp(t=Dt){const e=ce(Mt(t),un),n=ce(Lt({shared:e}),Ek,pp);return e.ServiceRegistry.register(n),{shared:e,GitGraph:n}}A(mp,"createGitGraphServices");var En,Nk=(En=class extends Ft{constructor(){super(["info","showInfo"])}},A(En,"InfoTokenBuilder"),En),gp={parser:{TokenBuilder:A(()=>new Nk,"TokenBuilder"),ValueConverter:A(()=>new ta,"ValueConverter")}};function yp(t=Dt){const e=ce(Mt(t),un),n=ce(Lt({shared:e}),vk,gp);return e.ServiceRegistry.register(n),{shared:e,Info:n}}A(yp,"createInfoServices");var Sn,bk=(Sn=class extends Ft{constructor(){super(["packet"])}},A(Sn,"PacketTokenBuilder"),Sn),Tp={parser:{TokenBuilder:A(()=>new bk,"TokenBuilder"),ValueConverter:A(()=>new ta,"ValueConverter")}};function vp(t=Dt){const e=ce(Mt(t),un),n=ce(Lt({shared:e}),$k,Tp);return e.ServiceRegistry.register(n),{shared:e,Packet:n}}A(vp,"createPacketServices");var xn,Ok=(xn=class extends Ft{constructor(){super(["pie","showData"])}},A(xn,"PieTokenBuilder"),xn),_n,Pk=(_n=class extends ea{runCustomConverter(e,n,r){if(e.name==="PIE_SECTION_LABEL")return n.replace(/"/g,"").trim()}},A(_n,"PieValueConverter"),_n),$p={parser:{TokenBuilder:A(()=>new Ok,"TokenBuilder"),ValueConverter:A(()=>new Pk,"ValueConverter")}};function Rp(t=Dt){const e=ce(Mt(t),un),n=ce(Lt({shared:e}),Rk,$p);return e.ServiceRegistry.register(n),{shared:e,Pie:n}}A(Rp,"createPieServices");var In,Lk=(In=class extends Ft{constructor(){super(["architecture"])}},A(In,"ArchitectureTokenBuilder"),In),wn,Mk=(wn=class extends ea{runCustomConverter(e,n,r){if(e.name==="ARCH_ICON")return n.replace(/[()]/g,"").trim();if(e.name==="ARCH_TEXT_ICON")return n.replace(/["()]/g,"");if(e.name==="ARCH_TITLE")return n.replace(/[[\]]/g,"").trim()}},A(wn,"ArchitectureValueConverter"),wn),Ap={parser:{TokenBuilder:A(()=>new Lk,"TokenBuilder"),ValueConverter:A(()=>new Mk,"ValueConverter")}};function Ep(t=Dt){const e=ce(Mt(t),un),n=ce(Lt({shared:e}),Ak,Ap);return e.ServiceRegistry.register(n),{shared:e,Architecture:n}}A(Ep,"createArchitectureServices");var Cn,Dk=(Cn=class extends Ft{constructor(){super(["radar-beta"])}},A(Cn,"RadarTokenBuilder"),Cn),Sp={parser:{TokenBuilder:A(()=>new Dk,"TokenBuilder"),ValueConverter:A(()=>new ta,"ValueConverter")}};function xp(t=Dt){const e=ce(Mt(t),un),n=ce(Lt({shared:e}),Sk,Sp);return e.ServiceRegistry.register(n),{shared:e,Radar:n}}A(xp,"createRadarServices");var kn,Fk=(kn=class extends Ft{constructor(){super(["treemap"])}},A(kn,"TreemapTokenBuilder"),kn),Gk=/classDef\s+([A-Z_a-z]\w+)(?:\s+([^\n\r;]*))?;?/,Nn,Uk=(Nn=class extends ea{runCustomConverter(e,n,r){if(e.name==="NUMBER2")return parseFloat(n.replace(/,/g,""));if(e.name==="SEPARATOR")return n.substring(1,n.length-1);if(e.name==="STRING2")return n.substring(1,n.length-1);if(e.name==="INDENTATION")return n.length;if(e.name==="ClassDef"){if(typeof n!="string")return n;const i=Gk.exec(n);if(i)return{$type:"ClassDefStatement",className:i[1],styleText:i[2]||void 0}}}},A(Nn,"TreemapValueConverter"),Nn);function _p(t){const e=t.validation.TreemapValidator,n=t.validation.ValidationRegistry;if(n){const r={Treemap:e.checkSingleRoot.bind(e)};n.register(r,e)}}A(_p,"registerValidationChecks");var bn,Bk=(bn=class{checkSingleRoot(e,n){let r;for(const i of e.TreemapRows)i.item&&(r===void 0&&i.indent===void 0?r=0:i.indent===void 0?n("error","Multiple root nodes are not allowed in a treemap.",{node:i,property:"item"}):r!==void 0&&r>=parseInt(i.indent,10)&&n("error","Multiple root nodes are not allowed in a treemap.",{node:i,property:"item"}))}},A(bn,"TreemapValidator"),bn),Ip={parser:{TokenBuilder:A(()=>new Fk,"TokenBuilder"),ValueConverter:A(()=>new Uk,"ValueConverter")},validation:{TreemapValidator:A(()=>new Bk,"TreemapValidator")}};function wp(t=Dt){const e=ce(Mt(t),un),n=ce(Lt({shared:e}),xk,Ip);return e.ServiceRegistry.register(n),_p(n),{shared:e,Treemap:n}}A(wp,"createTreemapServices");var it={},jk={info:A(async()=>{const{createInfoServices:t}=await Bt(async()=>{const{createInfoServices:n}=await Promise.resolve().then(()=>Wk);return{createInfoServices:n}},void 0,import.meta.url),e=t().Info.parser.LangiumParser;it.info=e},"info"),packet:A(async()=>{const{createPacketServices:t}=await Bt(async()=>{const{createPacketServices:n}=await Promise.resolve().then(()=>zk);return{createPacketServices:n}},void 0,import.meta.url),e=t().Packet.parser.LangiumParser;it.packet=e},"packet"),pie:A(async()=>{const{createPieServices:t}=await Bt(async()=>{const{createPieServices:n}=await Promise.resolve().then(()=>Vk);return{createPieServices:n}},void 0,import.meta.url),e=t().Pie.parser.LangiumParser;it.pie=e},"pie"),architecture:A(async()=>{const{createArchitectureServices:t}=await Bt(async()=>{const{createArchitectureServices:n}=await Promise.resolve().then(()=>qk);return{createArchitectureServices:n}},void 0,import.meta.url),e=t().Architecture.parser.LangiumParser;it.architecture=e},"architecture"),gitGraph:A(async()=>{const{createGitGraphServices:t}=await Bt(async()=>{const{createGitGraphServices:n}=await Promise.resolve().then(()=>Yk);return{createGitGraphServices:n}},void 0,import.meta.url),e=t().GitGraph.parser.LangiumParser;it.gitGraph=e},"gitGraph"),radar:A(async()=>{const{createRadarServices:t}=await Bt(async()=>{const{createRadarServices:n}=await Promise.resolve().then(()=>Xk);return{createRadarServices:n}},void 0,import.meta.url),e=t().Radar.parser.LangiumParser;it.radar=e},"radar"),treemap:A(async()=>{const{createTreemapServices:t}=await Bt(async()=>{const{createTreemapServices:n}=await Promise.resolve().then(()=>Jk);return{createTreemapServices:n}},void 0,import.meta.url),e=t().Treemap.parser.LangiumParser;it.treemap=e},"treemap")};async function Kk(t,e){const n=jk[t];if(!n)throw new Error(`Unknown diagram type: ${t}`);it[t]||await n();const i=it[t].parse(e);if(i.lexerErrors.length>0||i.parserErrors.length>0)throw new Hk(i);return i.value}A(Kk,"parse");var On,Hk=(On=class extends Error{constructor(e){const n=e.lexerErrors.map(i=>i.message).join(`
|
|
127
|
+
`),r=e.parserErrors.map(i=>i.message).join(`
|
|
128
|
+
`);super(`Parsing failed: ${n} ${r}`),this.result=e}},A(On,"MermaidParseError"),On);const Wk=Object.freeze(Object.defineProperty({__proto__:null,InfoModule:gp,createInfoServices:yp},Symbol.toStringTag,{value:"Module"})),zk=Object.freeze(Object.defineProperty({__proto__:null,PacketModule:Tp,createPacketServices:vp},Symbol.toStringTag,{value:"Module"})),Vk=Object.freeze(Object.defineProperty({__proto__:null,PieModule:$p,createPieServices:Rp},Symbol.toStringTag,{value:"Module"})),qk=Object.freeze(Object.defineProperty({__proto__:null,ArchitectureModule:Ap,createArchitectureServices:Ep},Symbol.toStringTag,{value:"Module"})),Yk=Object.freeze(Object.defineProperty({__proto__:null,GitGraphModule:pp,createGitGraphServices:mp},Symbol.toStringTag,{value:"Module"})),Xk=Object.freeze(Object.defineProperty({__proto__:null,RadarModule:Sp,createRadarServices:xp},Symbol.toStringTag,{value:"Module"})),Jk=Object.freeze(Object.defineProperty({__proto__:null,TreemapModule:Ip,createTreemapServices:wp},Symbol.toStringTag,{value:"Module"}));export{Kk as p};
|