iridet-bot 0.1.1a1__py3-none-any.whl → 0.1.1a3__py3-none-any.whl
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.
- iribot/static/assets/KaTeX_AMS-Regular-BQhdFMY1.woff2 +0 -0
- iribot/static/assets/KaTeX_AMS-Regular-DMm9YOAa.woff +0 -0
- iribot/static/assets/KaTeX_AMS-Regular-DRggAlZN.ttf +0 -0
- iribot/static/assets/KaTeX_Caligraphic-Bold-ATXxdsX0.ttf +0 -0
- iribot/static/assets/KaTeX_Caligraphic-Bold-BEiXGLvX.woff +0 -0
- iribot/static/assets/KaTeX_Caligraphic-Bold-Dq_IR9rO.woff2 +0 -0
- iribot/static/assets/KaTeX_Caligraphic-Regular-CTRA-rTL.woff +0 -0
- iribot/static/assets/KaTeX_Caligraphic-Regular-Di6jR-x-.woff2 +0 -0
- iribot/static/assets/KaTeX_Caligraphic-Regular-wX97UBjC.ttf +0 -0
- iribot/static/assets/KaTeX_Fraktur-Bold-BdnERNNW.ttf +0 -0
- iribot/static/assets/KaTeX_Fraktur-Bold-BsDP51OF.woff +0 -0
- iribot/static/assets/KaTeX_Fraktur-Bold-CL6g_b3V.woff2 +0 -0
- iribot/static/assets/KaTeX_Fraktur-Regular-CB_wures.ttf +0 -0
- iribot/static/assets/KaTeX_Fraktur-Regular-CTYiF6lA.woff2 +0 -0
- iribot/static/assets/KaTeX_Fraktur-Regular-Dxdc4cR9.woff +0 -0
- iribot/static/assets/KaTeX_Main-Bold-Cx986IdX.woff2 +0 -0
- iribot/static/assets/KaTeX_Main-Bold-Jm3AIy58.woff +0 -0
- iribot/static/assets/KaTeX_Main-Bold-waoOVXN0.ttf +0 -0
- iribot/static/assets/KaTeX_Main-BoldItalic-DxDJ3AOS.woff2 +0 -0
- iribot/static/assets/KaTeX_Main-BoldItalic-DzxPMmG6.ttf +0 -0
- iribot/static/assets/KaTeX_Main-BoldItalic-SpSLRI95.woff +0 -0
- iribot/static/assets/KaTeX_Main-Italic-3WenGoN9.ttf +0 -0
- iribot/static/assets/KaTeX_Main-Italic-BMLOBm91.woff +0 -0
- iribot/static/assets/KaTeX_Main-Italic-NWA7e6Wa.woff2 +0 -0
- iribot/static/assets/KaTeX_Main-Regular-B22Nviop.woff2 +0 -0
- iribot/static/assets/KaTeX_Main-Regular-Dr94JaBh.woff +0 -0
- iribot/static/assets/KaTeX_Main-Regular-ypZvNtVU.ttf +0 -0
- iribot/static/assets/KaTeX_Math-BoldItalic-B3XSjfu4.ttf +0 -0
- iribot/static/assets/KaTeX_Math-BoldItalic-CZnvNsCZ.woff2 +0 -0
- iribot/static/assets/KaTeX_Math-BoldItalic-iY-2wyZ7.woff +0 -0
- iribot/static/assets/KaTeX_Math-Italic-DA0__PXp.woff +0 -0
- iribot/static/assets/KaTeX_Math-Italic-flOr_0UB.ttf +0 -0
- iribot/static/assets/KaTeX_Math-Italic-t53AETM-.woff2 +0 -0
- iribot/static/assets/KaTeX_SansSerif-Bold-CFMepnvq.ttf +0 -0
- iribot/static/assets/KaTeX_SansSerif-Bold-D1sUS0GD.woff2 +0 -0
- iribot/static/assets/KaTeX_SansSerif-Bold-DbIhKOiC.woff +0 -0
- iribot/static/assets/KaTeX_SansSerif-Italic-C3H0VqGB.woff2 +0 -0
- iribot/static/assets/KaTeX_SansSerif-Italic-DN2j7dab.woff +0 -0
- iribot/static/assets/KaTeX_SansSerif-Italic-YYjJ1zSn.ttf +0 -0
- iribot/static/assets/KaTeX_SansSerif-Regular-BNo7hRIc.ttf +0 -0
- iribot/static/assets/KaTeX_SansSerif-Regular-CS6fqUqJ.woff +0 -0
- iribot/static/assets/KaTeX_SansSerif-Regular-DDBCnlJ7.woff2 +0 -0
- iribot/static/assets/KaTeX_Script-Regular-C5JkGWo-.ttf +0 -0
- iribot/static/assets/KaTeX_Script-Regular-D3wIWfF6.woff2 +0 -0
- iribot/static/assets/KaTeX_Script-Regular-D5yQViql.woff +0 -0
- iribot/static/assets/KaTeX_Size1-Regular-C195tn64.woff +0 -0
- iribot/static/assets/KaTeX_Size1-Regular-Dbsnue_I.ttf +0 -0
- iribot/static/assets/KaTeX_Size1-Regular-mCD8mA8B.woff2 +0 -0
- iribot/static/assets/KaTeX_Size2-Regular-B7gKUWhC.ttf +0 -0
- iribot/static/assets/KaTeX_Size2-Regular-Dy4dx90m.woff2 +0 -0
- iribot/static/assets/KaTeX_Size2-Regular-oD1tc_U0.woff +0 -0
- iribot/static/assets/KaTeX_Size3-Regular-CTq5MqoE.woff +0 -0
- iribot/static/assets/KaTeX_Size3-Regular-DgpXs0kz.ttf +0 -0
- iribot/static/assets/KaTeX_Size4-Regular-BF-4gkZK.woff +0 -0
- iribot/static/assets/KaTeX_Size4-Regular-DWFBv043.ttf +0 -0
- iribot/static/assets/KaTeX_Size4-Regular-Dl5lxZxV.woff2 +0 -0
- iribot/static/assets/KaTeX_Typewriter-Regular-C0xS9mPB.woff +0 -0
- iribot/static/assets/KaTeX_Typewriter-Regular-CO6r4hn1.woff2 +0 -0
- iribot/static/assets/KaTeX_Typewriter-Regular-D3Ib7_Hf.ttf +0 -0
- iribot/static/assets/arc-fgsIa5RY.js +1 -0
- iribot/static/assets/architectureDiagram-VXUJARFQ-DVlFNZEA.js +36 -0
- iribot/static/assets/blockDiagram-VD42YOAC-twktODuP.js +122 -0
- iribot/static/assets/c4Diagram-YG6GDRKO-C2EO1yZf.js +10 -0
- iribot/static/assets/channel-BvSJj86W.js +1 -0
- iribot/static/assets/chunk-4BX2VUAB-Bn4YfnqR.js +1 -0
- iribot/static/assets/chunk-55IACEB6-D6Di0zkY.js +1 -0
- iribot/static/assets/chunk-B4BG7PRW-C7lCql2f.js +165 -0
- iribot/static/assets/chunk-DI55MBZ5-BFmnEqYL.js +220 -0
- iribot/static/assets/chunk-FMBD7UC4-D7ypxoom.js +15 -0
- iribot/static/assets/chunk-QN33PNHL-BOzgN0TR.js +1 -0
- iribot/static/assets/chunk-QZHKN3VN-BhvkrMZC.js +1 -0
- iribot/static/assets/chunk-TZMSLE5B-Cpjv7Twl.js +1 -0
- iribot/static/assets/classDiagram-2ON5EDUG-CF5JvN4e.js +1 -0
- iribot/static/assets/classDiagram-v2-WZHVMYZB-CF5JvN4e.js +1 -0
- iribot/static/assets/clone-Du4gbAE_.js +1 -0
- iribot/static/assets/cose-bilkent-S5V4N54A-f54sHPAj.js +1 -0
- iribot/static/assets/cytoscape.esm-CyJtwmzi.js +331 -0
- iribot/static/assets/dagre-6UL2VRFP-CYlgbVkg.js +4 -0
- iribot/static/assets/defaultLocale-DX6XiGOO.js +1 -0
- iribot/static/assets/diagram-PSM6KHXK-PsxzTxn-.js +24 -0
- iribot/static/assets/diagram-QEK2KX5R-NXyLO52C.js +43 -0
- iribot/static/assets/diagram-S2PKOQOG-YOC__jQg.js +24 -0
- iribot/static/assets/erDiagram-Q2GNP2WA-BlvJ0RYD.js +60 -0
- iribot/static/assets/flowDiagram-NV44I4VS-C6lgMXxV.js +162 -0
- iribot/static/assets/ganttDiagram-LVOFAZNH-Cj4NRt2P.js +267 -0
- iribot/static/assets/gitGraphDiagram-NY62KEGX-CpTJa729.js +65 -0
- iribot/static/assets/graph-QdSvm5mw.js +1 -0
- iribot/static/assets/index-B8m0EYyH.js +16083 -0
- iribot/static/assets/index-QuSbCa_H.css +1 -0
- iribot/static/assets/infoDiagram-F6ZHWCRC-C-Q2E8Jy.js +2 -0
- iribot/static/assets/init-Gi6I4Gst.js +1 -0
- iribot/static/assets/journeyDiagram-XKPGCS4Q-BCCVXhHF.js +139 -0
- iribot/static/assets/kanban-definition-3W4ZIXB7-BsAQioRU.js +89 -0
- iribot/static/assets/layout-CzYct8qi.js +1 -0
- iribot/static/assets/linear-BGAb5C-W.js +1 -0
- iribot/static/assets/map-BF_BCRqy.js +1 -0
- iribot/static/assets/mindmap-definition-VGOIOE7T-DbmRKvjQ.js +68 -0
- iribot/static/assets/ordinal-Cboi1Yqb.js +1 -0
- iribot/static/assets/pieDiagram-ADFJNKIX-DaOoiltO.js +30 -0
- iribot/static/assets/quadrantDiagram-AYHSOK5B-CqZ5cs3w.js +7 -0
- iribot/static/assets/reduce-DlLkiRfk.js +1 -0
- iribot/static/assets/requirementDiagram-UZGBJVZJ-O3Qeo_0S.js +64 -0
- iribot/static/assets/sankeyDiagram-TZEHDZUN-DjVuNk4F.js +10 -0
- iribot/static/assets/sequenceDiagram-WL72ISMW-DkZ87MBV.js +145 -0
- iribot/static/assets/stateDiagram-FKZM4ZOC-CtBdCzts.js +1 -0
- iribot/static/assets/stateDiagram-v2-4FDKWEC3-BO-Joc3v.js +1 -0
- iribot/static/assets/timeline-definition-IT6M3QCI-CyG09_B3.js +61 -0
- iribot/static/assets/treemap-KMMF4GRG-BxVub470.js +128 -0
- iribot/static/assets/xychartDiagram-PRI3JC2R-D-Hzn3Uj.js +7 -0
- iribot/static/index.html +13 -0
- {iridet_bot-0.1.1a1.dist-info → iridet_bot-0.1.1a3.dist-info}/METADATA +1 -1
- iridet_bot-0.1.1a3.dist-info/RECORD +134 -0
- iridet_bot-0.1.1a1.dist-info/RECORD +0 -24
- {iridet_bot-0.1.1a1.dist-info → iridet_bot-0.1.1a3.dist-info}/WHEEL +0 -0
- {iridet_bot-0.1.1a1.dist-info → iridet_bot-0.1.1a3.dist-info}/entry_points.txt +0 -0
- {iridet_bot-0.1.1a1.dist-info → iridet_bot-0.1.1a3.dist-info}/top_level.txt +0 -0
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
var Lp=Object.defineProperty;var Mp=(t,e,n)=>e in t?Lp(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n;var $t=(t,e,n)=>Mp(t,typeof e!="symbol"?e+"":e,n);import{aE as Dp,aJ as Fp,bu as Gp,aK as Up,bx as Bp,bD as jp,bE as Bt}from"./index-B8m0EYyH.js";import{m as ot}from"./map-BF_BCRqy.js";import{r as Pl,f as sa}from"./reduce-DlLkiRfk.js";function Kp(t,e){return Dp(ot(t,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 Hp(t){return typeof t=="object"&&t!==null&&typeof t.name=="string"&&typeof t.type=="string"&&typeof t.path=="string"}function wi(t){return typeof t=="object"&&t!==null&&ue(t.container)&&ze(t.reference)&&typeof t.message=="string"}class Uf{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 Lr(t){return typeof t=="object"&&t!==null&&Array.isArray(t.content)}function Bf(t){return typeof t=="object"&&t!==null&&typeof t.tokenType=="object"}function jf(t){return Lr(t)&&typeof t.fullText=="string"}class ne{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 ne(()=>({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+=Wp(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 ne(this.startFn,n=>{const{done:r,value:i}=this.nextFn(n);return r?Ae:{done:!1,value:e(i)}})}filter(e){return new ne(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 ne(()=>({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(Hi(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 ne(()=>({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(Hi(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 ne(()=>{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 ne(()=>({size:0,state:this.startFn()}),n=>(n.size++,n.size>e?Ae:this.nextFn(n.state)))}distinct(e){return new ne(()=>({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 Wp(t){return typeof t=="string"?t:typeof t>"u"?"undefined":typeof t.toString=="function"?t.toString():Object.prototype.toString.call(t)}function Hi(t){return!!t&&typeof t[Symbol.iterator]=="function"}const zp=new ne(()=>{},()=>Ae),Ae=Object.freeze({done:!0,value:void 0});function re(...t){if(t.length===1){const e=t[0];if(e instanceof ne)return e;if(Hi(e))return new ne(()=>e[Symbol.iterator](),n=>n.next());if(typeof e.length=="number")return new ne(()=>({index:0}),n=>n.index<e.length?{done:!1,value:e[n.index++]}:Ae)}return t.length>1?new ne(()=>({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++];Hi(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}):zp}class Mo extends ne{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 Ua;(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})(Ua||(Ua={}));function Ba(t){return new Mo(t,e=>Lr(e)?e.content:[],{includeRoot:!0})}function Vp(t,e){for(;t.container;)if(t=t.container,t===e)return!0;return!1}function ja(t){return{start:{character:t.startColumn-1,line:t.startLine-1},end:{character:t.endColumn,line:t.endLine-1}}}function Wi(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 qp(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 Yp(t,e){return qp(t,e)>st.After}const Xp=/^[\w\p{L}]$/u;function Jp(t,e){if(t){const n=Zp(t,!0);if(n&&Ll(n,e))return n;if(jf(t)){const r=t.content.findIndex(i=>!i.hidden);for(let i=r-1;i>=0;i--){const s=t.content[i];if(Ll(s,e))return s}}}}function Ll(t,e){return Bf(t)&&e.includes(t.tokenType.name)}function Zp(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 Kf 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",aa="Condition",Ml="TypeDefinition",oa="ValueLiteral",Xn="AbstractElement";function Qp(t){return F.isInstance(t,Xn)}const oi="ArrayLiteral",li="ArrayType",Jn="BooleanLiteral";function em(t){return F.isInstance(t,Jn)}const Zn="Conjunction";function tm(t){return F.isInstance(t,Zn)}const Qn="Disjunction";function nm(t){return F.isInstance(t,Qn)}const ui="Grammar",la="GrammarImport",er="InferredType";function Hf(t){return F.isInstance(t,er)}const tr="Interface";function Wf(t){return F.isInstance(t,tr)}const ua="NamedArgument",nr="Negation";function rm(t){return F.isInstance(t,nr)}const ci="NumberLiteral",fi="Parameter",rr="ParameterReference";function im(t){return F.isInstance(t,rr)}const ir="ParserRule";function Ne(t){return F.isInstance(t,ir)}const di="ReferenceType",Ci="ReturnType";function sm(t){return F.isInstance(t,Ci)}const sr="SimpleType";function am(t){return F.isInstance(t,sr)}const hi="StringLiteral",cn="TerminalRule";function Jt(t){return F.isInstance(t,cn)}const ar="Type";function zf(t){return F.isInstance(t,ar)}const ca="TypeAttribute",pi="UnionType",or="Action";function $s(t){return F.isInstance(t,or)}const lr="Alternatives";function Vf(t){return F.isInstance(t,lr)}const ur="Assignment";function Kt(t){return F.isInstance(t,ur)}const cr="CharacterRange";function om(t){return F.isInstance(t,cr)}const fr="CrossReference";function Do(t){return F.isInstance(t,fr)}const dr="EndOfFile";function lm(t){return F.isInstance(t,dr)}const hr="Group";function Fo(t){return F.isInstance(t,hr)}const pr="Keyword";function Ht(t){return F.isInstance(t,pr)}const mr="NegatedToken";function um(t){return F.isInstance(t,mr)}const gr="RegexToken";function cm(t){return F.isInstance(t,gr)}const yr="RuleCall";function Wt(t){return F.isInstance(t,yr)}const Tr="TerminalAlternatives";function fm(t){return F.isInstance(t,Tr)}const vr="TerminalGroup";function dm(t){return F.isInstance(t,vr)}const $r="TerminalRuleCall";function hm(t){return F.isInstance(t,$r)}const Rr="UnorderedGroup";function qf(t){return F.isInstance(t,Rr)}const Ar="UntilToken";function pm(t){return F.isInstance(t,Ar)}const Er="Wildcard";function mm(t){return F.isInstance(t,Er)}class Yf extends Uf{getAllTypes(){return[Xn,si,ai,or,lr,oi,li,ur,Jn,cr,aa,Zn,fr,Qn,dr,ui,la,hr,er,tr,pr,ua,mr,nr,ci,fi,rr,ir,di,gr,Ci,yr,sr,hi,Tr,vr,cn,$r,ar,ca,Ml,pi,Rr,Ar,oa,Er]}computeIsSubtype(e,n){switch(e){case or: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:return this.isSubtype(Xn,n);case oi:case ci:case hi:return this.isSubtype(oa,n);case li:case di:case sr:case pi:return this.isSubtype(Ml,n);case Jn:return this.isSubtype(aa,n)||this.isSubtype(oa,n);case Zn:case Qn:case nr:case rr:return this.isSubtype(aa,n);case er:case tr:case ar:return this.isSubtype(ai,n);case ir:return this.isSubtype(si,n)||this.isSubtype(ai,n);case cn: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 cn;default:throw new Error(`${n} is not a valid reference id.`)}}getTypeMetaData(e){switch(e){case Xn:return{name:Xn,properties:[{name:"cardinality"},{name:"lookahead"}]};case oi:return{name:oi,properties:[{name:"elements",defaultValue:[]}]};case li:return{name:li,properties:[{name:"elementType"}]};case Jn:return{name:Jn,properties:[{name:"true",defaultValue:!1}]};case Zn:return{name:Zn,properties:[{name:"left"},{name:"right"}]};case Qn:return{name:Qn,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 la:return{name:la,properties:[{name:"path"}]};case er:return{name:er,properties:[{name:"name"}]};case tr:return{name:tr,properties:[{name:"attributes",defaultValue:[]},{name:"name"},{name:"superTypes",defaultValue:[]}]};case ua:return{name:ua,properties:[{name:"calledByName",defaultValue:!1},{name:"parameter"},{name:"value"}]};case nr:return{name:nr,properties:[{name:"value"}]};case ci:return{name:ci,properties:[{name:"value"}]};case fi:return{name:fi,properties:[{name:"name"}]};case rr:return{name:rr,properties:[{name:"parameter"}]};case ir:return{name:ir,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 Ci:return{name:Ci,properties:[{name:"name"}]};case sr:return{name:sr,properties:[{name:"primitiveType"},{name:"stringType"},{name:"typeRef"}]};case hi:return{name:hi,properties:[{name:"value"}]};case cn:return{name:cn,properties:[{name:"definition"},{name:"fragment",defaultValue:!1},{name:"hidden",defaultValue:!1},{name:"name"},{name:"type"}]};case ar:return{name:ar,properties:[{name:"name"},{name:"type"}]};case ca:return{name:ca,properties:[{name:"defaultValue"},{name:"isOptional",defaultValue:!1},{name:"name"},{name:"type"}]};case pi:return{name:pi,properties:[{name:"types",defaultValue:[]}]};case or:return{name:or,properties:[{name:"cardinality"},{name:"feature"},{name:"inferredType"},{name:"lookahead"},{name:"operator"},{name:"type"}]};case lr:return{name:lr,properties:[{name:"cardinality"},{name:"elements",defaultValue:[]},{name:"lookahead"}]};case ur:return{name:ur,properties:[{name:"cardinality"},{name:"feature"},{name:"lookahead"},{name:"operator"},{name:"terminal"}]};case cr:return{name:cr,properties:[{name:"cardinality"},{name:"left"},{name:"lookahead"},{name:"right"}]};case fr:return{name:fr,properties:[{name:"cardinality"},{name:"deprecatedSyntax",defaultValue:!1},{name:"lookahead"},{name:"terminal"},{name:"type"}]};case dr:return{name:dr,properties:[{name:"cardinality"},{name:"lookahead"}]};case hr:return{name:hr,properties:[{name:"cardinality"},{name:"elements",defaultValue:[]},{name:"guardCondition"},{name:"lookahead"}]};case pr:return{name:pr,properties:[{name:"cardinality"},{name:"lookahead"},{name:"value"}]};case mr:return{name:mr,properties:[{name:"cardinality"},{name:"lookahead"},{name:"terminal"}]};case gr:return{name:gr,properties:[{name:"cardinality"},{name:"lookahead"},{name:"regex"}]};case yr:return{name:yr,properties:[{name:"arguments",defaultValue:[]},{name:"cardinality"},{name:"lookahead"},{name:"rule"}]};case Tr:return{name:Tr,properties:[{name:"cardinality"},{name:"elements",defaultValue:[]},{name:"lookahead"}]};case vr:return{name:vr,properties:[{name:"cardinality"},{name:"elements",defaultValue:[]},{name:"lookahead"}]};case $r:return{name:$r,properties:[{name:"cardinality"},{name:"lookahead"},{name:"rule"}]};case Rr:return{name:Rr,properties:[{name:"cardinality"},{name:"elements",defaultValue:[]},{name:"lookahead"}]};case Ar:return{name:Ar,properties:[{name:"cardinality"},{name:"lookahead"},{name:"terminal"}]};case Er:return{name:Er,properties:[{name:"cardinality"},{name:"lookahead"}]};default:return{name:e,properties:[]}}}}const F=new Yf;function gm(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=Ka(t).$document;if(!n)throw new Error("AST node has no document.");return n}function Ka(t){for(;t.$container;)t=t.$container;return t}function Go(t,e){if(!t)throw new Error("Node must be an AstNode.");const n=e==null?void 0:e.range;return new ne(()=>({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++,Dl(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)&&Dl(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 Mo(t,n=>Go(n,e))}function dn(t,e){if(!t)throw new Error("Root node must be an AstNode.");return new Mo(t,n=>Go(n,e),{includeRoot:!0})}function Dl(t,e){var n;if(!e)return!0;const r=(n=t.$cstNode)===null||n===void 0?void 0:n.range;return r?Yp(r,e):!1}function Xf(t){return new ne(()=>({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 ym(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]=Jf(i.defaultValue))}function Jf(t){return Array.isArray(t)?[...t.map(Jf)]:t}function C(t){return t.charCodeAt(0)}function fa(t,e){Array.isArray(t)?t.forEach(function(n){e.push(n)}):e.push(t)}function Wn(t,e){if(t[e]===!0)throw"duplicate flag "+e;t[e],t[e]=!0}function un(t){if(t===void 0)throw Error("Internal Error - Should never get here!");return!0}function Tm(){throw Error("Internal Error - Should never get here!")}function Fl(t){return t.type==="Character"}const zi=[];for(let t=C("0");t<=C("9");t++)zi.push(t);const Vi=[C("_")].concat(zi);for(let t=C("a");t<=C("z");t++)Vi.push(t);for(let t=C("A");t<=C("Z");t++)Vi.push(t);const Gl=[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")],vm=/[0-9a-fA-F]/,mi=/[0-9]/,$m=/[1-9]/;class Zf{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":Wn(r,"global");break;case"i":Wn(r,"ignoreCase");break;case"m":Wn(r,"multiLine");break;case"u":Wn(r,"unicode");break;case"y":Wn(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}un(n);const r=this.disjunction();return this.consumeChar(")"),{type:n,value:r,loc:this.loc(e)}}return Tm()}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;un(n);break}if(!(e===!0&&n===void 0)&&un(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()),un(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=zi;break;case"D":e=zi,n=!0;break;case"s":e=Gl;break;case"S":e=Gl,n=!0;break;case"w":e=Vi;break;case"W":e=Vi,n=!0;break}if(un(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(un(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,Fl(r)&&this.isRangeDash()){this.consumeChar("-");const i=this.classAtom();if(i.type,Fl(i)){if(i.value<r.value)throw Error("Range out of order in character class");e.push({from:r.value,to:i.value})}else fa(r.value,e),e.push(C("-")),fa(i.value,e)}else fa(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($m.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(vm.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 Rm=/\r?\n/gm,Am=new Zf;class Em 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 da=new Em;function Sm(t){try{return typeof t=="string"&&(t=new RegExp(t)),t=t.toString(),da.reset(t),da.visit(Am.pattern(t)),da.multiline}catch{return!1}}const xm=`\f
|
|
12
|
+
\r \v \u2028\u2029 \uFEFF`.split("");function Ha(t){const e=typeof t=="string"?new RegExp(t):t;return xm.some(n=>e.test(n))}function Es(t){return t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function _m(t){return Array.prototype.map.call(t,e=>/\w/.test(e)?`[${e.toLowerCase()}${e.toUpperCase()}]`:Es(e)).join("")}function Im(t,e){const n=wm(t),r=e.match(n);return!!r&&r[0].length>0}function wm(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 Cm(t){return t.rules.find(e=>Ne(e)&&e.entry)}function km(t){return t.rules.filter(e=>Jt(e)&&e.hidden)}function Qf(t,e){const n=new Set,r=Cm(t);if(!r)return new Set(t.rules);const i=[r].concat(km(t));for(const a of i)ed(a,n,e);const s=new Set;for(const a of t.rules)(n.has(a.name)||Jt(a)&&a.hidden)&&s.add(a);return s}function ed(t,e,n){e.add(t.name),zr(t).forEach(r=>{if(Wt(r)||n){const i=r.rule.ref;i&&!e.has(i.name)&&ed(i,e,n)}})}function Nm(t){if(t.terminal)return t.terminal;if(t.type.ref){const e=nd(t.type.ref);return e==null?void 0:e.terminal}}function bm(t){return t.hidden&&!Ha(Ko(t))}function Om(t,e){return!t||!e?[]:Uo(t,e,t.astNode,!0)}function td(t,e,n){if(!t||!e)return;const r=Uo(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 Uo(t,e,n,r){if(!r){const i=Rs(t.grammarSource,Kt);if(i&&i.feature===e)return[t]}return Lr(t)&&t.astNode===n?t.content.flatMap(i=>Uo(i,e,n,!1)):[]}function Pm(t,e,n){if(!t)return;const r=Lm(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 Lm(t,e,n){if(t.astNode!==n)return[];if(Ht(t.grammarSource)&&t.grammarSource.value===e)return[t];const r=Ba(t).iterator();let i;const s=[];do if(i=r.next(),!i.done){const a=i.value;a.astNode===n?Ht(a.grammarSource)&&a.grammarSource.value===e&&s.push(a):r.prune()}while(!i.done);return s}function Mm(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,Kt);if(r)return r;t=t.container}}function nd(t){let e=t;return Hf(e)&&($s(e.$container)?e=e.$container.$container:Ne(e.$container)?e=e.$container:Wr(e.$container)),rd(t,e,new Map)}function rd(t,e,n){var r;function i(s,a){let o;return Rs(s,Kt)||(o=rd(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(Kt(s)&&s.feature.toLowerCase()==="name")return n.set(t,s),s;if(Wt(s)&&Ne(s.rule.ref))return i(s,s.rule.ref);if(am(s)&&(!((r=s.typeRef)===null||r===void 0)&&r.ref))return i(s,s.typeRef.ref)}}function id(t){return sd(t,new Set)}function sd(t,e){if(e.has(t))return!0;e.add(t);for(const n of zr(t))if(Wt(n)){if(!n.rule.ref||Ne(n.rule.ref)&&!sd(n.rule.ref,e))return!1}else{if(Kt(n))return!1;if($s(n))return!1}return!!t.definition}function Bo(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(Wf(e)||zf(e))return e.name}}}function jo(t){var e;if(Ne(t))return id(t)?t.name:(e=Bo(t))!==null&&e!==void 0?e:t.name;if(Wf(t)||zf(t)||sm(t))return t.name;if($s(t)){const n=Dm(t);if(n)return n}else if(Hf(t))return t.name;throw new Error("Cannot get name of Unknown Type")}function Dm(t){var e;if(t.inferredType)return t.inferredType.name;if(!((e=t.type)===null||e===void 0)&&e.ref)return jo(t.type.ref)}function Fm(t){var e,n,r;return Jt(t)?(n=(e=t.type)===null||e===void 0?void 0:e.name)!==null&&n!==void 0?n:"string":(r=Bo(t))!==null&&r!==void 0?r:t.name}function Ko(t){const e={s:!1,i:!1,u:!1},n=Bn(t.definition,e),r=Object.entries(e).filter(([,i])=>i).map(([i])=>i).join("");return new RegExp(n,r)}const Ho=/[\s\S]/.source;function Bn(t,e){if(fm(t))return Gm(t);if(dm(t))return Um(t);if(om(t))return Km(t);if(hm(t)){const n=t.rule.ref;if(!n)throw new Error("Missing rule reference.");return lt(Bn(n.definition),{cardinality:t.cardinality,lookahead:t.lookahead})}else{if(um(t))return jm(t);if(pm(t))return Bm(t);if(cm(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(mm(t))return lt(Ho,{cardinality:t.cardinality,lookahead:t.lookahead});throw new Error(`Invalid terminal element: ${t==null?void 0:t.$type}`)}}}function Gm(t){return lt(t.elements.map(e=>Bn(e)).join("|"),{cardinality:t.cardinality,lookahead:t.lookahead})}function Um(t){return lt(t.elements.map(e=>Bn(e)).join(""),{cardinality:t.cardinality,lookahead:t.lookahead})}function Bm(t){return lt(`${Ho}*?${Bn(t.terminal)}`,{cardinality:t.cardinality,lookahead:t.lookahead})}function jm(t){return lt(`(?!${Bn(t.terminal)})${Ho}*?`,{cardinality:t.cardinality,lookahead:t.lookahead})}function Km(t){return t.right?lt(`[${ha(t.left)}-${ha(t.right)}]`,{cardinality:t.cardinality,lookahead:t.lookahead,wrap:!1}):lt(ha(t.left),{cardinality:t.cardinality,lookahead:t.lookahead,wrap:!1})}function ha(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 Hm(t){const e=[],n=t.Grammar;for(const r of n.rules)Jt(r)&&bm(r)&&Sm(Ko(r))&&e.push(r.name);return{multilineCommentRules:e,nameRegexp:Xp}}var ad=typeof global=="object"&&global&&global.Object===Object&&global,Wm=typeof self=="object"&&self&&self.Object===Object&&self,Ye=ad||Wm||Function("return this")(),be=Ye.Symbol,od=Object.prototype,zm=od.hasOwnProperty,Vm=od.toString,zn=be?be.toStringTag:void 0;function qm(t){var e=zm.call(t,zn),n=t[zn];try{t[zn]=void 0;var r=!0}catch{}var i=Vm.call(t);return r&&(e?t[zn]=n:delete t[zn]),i}var Ym=Object.prototype,Xm=Ym.toString;function Jm(t){return Xm.call(t)}var Zm="[object Null]",Qm="[object Undefined]",Ul=be?be.toStringTag:void 0;function Nt(t){return t==null?t===void 0?Qm:Zm:Ul&&Ul in Object(t)?qm(t):Jm(t)}function Ue(t){return t!=null&&typeof t=="object"}var eg="[object Symbol]";function Ss(t){return typeof t=="symbol"||Ue(t)&&Nt(t)==eg}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,Bl=be?be.prototype:void 0,jl=Bl?Bl.toString:void 0;function ld(t){if(typeof t=="string")return t;if(M(t))return xs(t,ld)+"";if(Ss(t))return jl?jl.call(t):"";var e=t+"";return e=="0"&&1/t==-1/0?"-0":e}var tg=/\s/;function ng(t){for(var e=t.length;e--&&tg.test(t.charAt(e)););return e}var rg=/^\s+/;function ig(t){return t&&t.slice(0,ng(t)+1).replace(rg,"")}function Oe(t){var e=typeof t;return t!=null&&(e=="object"||e=="function")}var Kl=NaN,sg=/^[-+]0x[0-9a-f]+$/i,ag=/^0b[01]+$/i,og=/^0o[0-7]+$/i,lg=parseInt;function ug(t){if(typeof t=="number")return t;if(Ss(t))return Kl;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=ig(t);var n=ag.test(t);return n||og.test(t)?lg(t.slice(2),n?2:8):sg.test(t)?Kl:+t}var Hl=1/0,cg=17976931348623157e292;function fg(t){if(!t)return t===0?t:0;if(t=ug(t),t===Hl||t===-Hl){var e=t<0?-1:1;return e*cg}return t===t?t:0}function _s(t){var e=fg(t),n=e%1;return e===e?n?e-n:e:0}function bn(t){return t}var dg="[object AsyncFunction]",hg="[object Function]",pg="[object GeneratorFunction]",mg="[object Proxy]";function ht(t){if(!Oe(t))return!1;var e=Nt(t);return e==hg||e==pg||e==dg||e==mg}var pa=Ye["__core-js_shared__"],Wl=function(){var t=/[^.]+$/.exec(pa&&pa.keys&&pa.keys.IE_PROTO||"");return t?"Symbol(src)_1."+t:""}();function gg(t){return!!Wl&&Wl in t}var yg=Function.prototype,Tg=yg.toString;function Zt(t){if(t!=null){try{return Tg.call(t)}catch{}try{return t+""}catch{}}return""}var vg=/[\\^$.*+?()[\]{}|]/g,$g=/^\[object .+?Constructor\]$/,Rg=Function.prototype,Ag=Object.prototype,Eg=Rg.toString,Sg=Ag.hasOwnProperty,xg=RegExp("^"+Eg.call(Sg).replace(vg,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function _g(t){if(!Oe(t)||gg(t))return!1;var e=ht(t)?xg:$g;return e.test(Zt(t))}function Ig(t,e){return t==null?void 0:t[e]}function Qt(t,e){var n=Ig(t,e);return _g(n)?n:void 0}var Wa=Qt(Ye,"WeakMap"),zl=Object.create,wg=function(){function t(){}return function(e){if(!Oe(e))return{};if(zl)return zl(e);t.prototype=e;var n=new t;return t.prototype=void 0,n}}();function Cg(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 kg(t,e){var n=-1,r=t.length;for(e||(e=Array(r));++n<r;)e[n]=t[n];return e}var Ng=800,bg=16,Og=Date.now;function Pg(t){var e=0,n=0;return function(){var r=Og(),i=bg-(r-n);if(n=r,i>0){if(++e>=Ng)return arguments[0]}else e=0;return t.apply(void 0,arguments)}}function Lg(t){return function(){return t}}var qi=function(){try{var t=Qt(Object,"defineProperty");return t({},"",{}),t}catch{}}(),Mg=qi?function(t,e){return qi(t,"toString",{configurable:!0,enumerable:!1,value:Lg(e),writable:!0})}:bn,Dg=Pg(Mg);function ud(t,e){for(var n=-1,r=t==null?0:t.length;++n<r&&e(t[n],n,t)!==!1;);return t}function cd(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 Fg(t){return t!==t}function Gg(t,e,n){for(var r=n-1,i=t.length;++r<i;)if(t[r]===e)return r;return-1}function Wo(t,e,n){return e===e?Gg(t,e,n):cd(t,Fg,n)}function fd(t,e){var n=t==null?0:t.length;return!!n&&Wo(t,e,0)>-1}var Ug=9007199254740991,Bg=/^(?:0|[1-9]\d*)$/;function Is(t,e){var n=typeof t;return e=e??Ug,!!e&&(n=="number"||n!="symbol"&&Bg.test(t))&&t>-1&&t%1==0&&t<e}function zo(t,e,n){e=="__proto__"&&qi?qi(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 jg=Object.prototype,Kg=jg.hasOwnProperty;function ws(t,e,n){var r=t[e];(!(Kg.call(t,e)&&Vr(r,n))||n===void 0&&!(e in t))&&zo(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?zo(n,o,l):ws(n,o,l)}return n}var Vl=Math.max;function Hg(t,e,n){return e=Vl(e===void 0?t.length-1:e,0),function(){for(var r=arguments,i=-1,s=Vl(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),Cg(t,this,o)}}function Vo(t,e){return Dg(Hg(t,e,bn),t+"")}var Wg=9007199254740991;function qo(t){return typeof t=="number"&&t>-1&&t%1==0&&t<=Wg}function Xe(t){return t!=null&&qo(t.length)&&!ht(t)}function dd(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 zg(t){return Vo(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&&dd(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 Vg=Object.prototype;function Yr(t){var e=t&&t.constructor,n=typeof e=="function"&&e.prototype||Vg;return t===n}function qg(t,e){for(var n=-1,r=Array(t);++n<t;)r[n]=e(n);return r}var Yg="[object Arguments]";function ql(t){return Ue(t)&&Nt(t)==Yg}var hd=Object.prototype,Xg=hd.hasOwnProperty,Jg=hd.propertyIsEnumerable,Cs=ql(function(){return arguments}())?ql:function(t){return Ue(t)&&Xg.call(t,"callee")&&!Jg.call(t,"callee")};function Zg(){return!1}var pd=typeof exports=="object"&&exports&&!exports.nodeType&&exports,Yl=pd&&typeof module=="object"&&module&&!module.nodeType&&module,Qg=Yl&&Yl.exports===pd,Xl=Qg?Ye.Buffer:void 0,ey=Xl?Xl.isBuffer:void 0,Mr=ey||Zg,ty="[object Arguments]",ny="[object Array]",ry="[object Boolean]",iy="[object Date]",sy="[object Error]",ay="[object Function]",oy="[object Map]",ly="[object Number]",uy="[object Object]",cy="[object RegExp]",fy="[object Set]",dy="[object String]",hy="[object WeakMap]",py="[object ArrayBuffer]",my="[object DataView]",gy="[object Float32Array]",yy="[object Float64Array]",Ty="[object Int8Array]",vy="[object Int16Array]",$y="[object Int32Array]",Ry="[object Uint8Array]",Ay="[object Uint8ClampedArray]",Ey="[object Uint16Array]",Sy="[object Uint32Array]",B={};B[gy]=B[yy]=B[Ty]=B[vy]=B[$y]=B[Ry]=B[Ay]=B[Ey]=B[Sy]=!0;B[ty]=B[ny]=B[py]=B[ry]=B[my]=B[iy]=B[sy]=B[ay]=B[oy]=B[ly]=B[uy]=B[cy]=B[fy]=B[dy]=B[hy]=!1;function xy(t){return Ue(t)&&qo(t.length)&&!!B[Nt(t)]}function ks(t){return function(e){return t(e)}}var md=typeof exports=="object"&&exports&&!exports.nodeType&&exports,br=md&&typeof module=="object"&&module&&!module.nodeType&&module,_y=br&&br.exports===md,ma=_y&&ad.process,Et=function(){try{var t=br&&br.require&&br.require("util").types;return t||ma&&ma.binding&&ma.binding("util")}catch{}}(),Jl=Et&&Et.isTypedArray,Yo=Jl?ks(Jl):xy,Iy=Object.prototype,wy=Iy.hasOwnProperty;function gd(t,e){var n=M(t),r=!n&&Cs(t),i=!n&&!r&&Mr(t),s=!n&&!r&&!i&&Yo(t),a=n||r||i||s,o=a?qg(t.length,String):[],l=o.length;for(var u in t)(e||wy.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 yd(t,e){return function(n){return t(e(n))}}var Cy=yd(Object.keys,Object),ky=Object.prototype,Ny=ky.hasOwnProperty;function Td(t){if(!Yr(t))return Cy(t);var e=[];for(var n in Object(t))Ny.call(t,n)&&n!="constructor"&&e.push(n);return e}function Pe(t){return Xe(t)?gd(t):Td(t)}var by=Object.prototype,Oy=by.hasOwnProperty,za=zg(function(t,e){if(Yr(e)||Xe(e)){qr(e,Pe(e),t);return}for(var n in e)Oy.call(e,n)&&ws(t,n,e[n])});function Py(t){var e=[];if(t!=null)for(var n in Object(t))e.push(n);return e}var Ly=Object.prototype,My=Ly.hasOwnProperty;function Dy(t){if(!Oe(t))return Py(t);var e=Yr(t),n=[];for(var r in t)r=="constructor"&&(e||!My.call(t,r))||n.push(r);return n}function Xo(t){return Xe(t)?gd(t,!0):Dy(t)}var Fy=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,Gy=/^\w*$/;function Jo(t,e){if(M(t))return!1;var n=typeof t;return n=="number"||n=="symbol"||n=="boolean"||t==null||Ss(t)?!0:Gy.test(t)||!Fy.test(t)||e!=null&&t in Object(e)}var Dr=Qt(Object,"create");function Uy(){this.__data__=Dr?Dr(null):{},this.size=0}function By(t){var e=this.has(t)&&delete this.__data__[t];return this.size-=e?1:0,e}var jy="__lodash_hash_undefined__",Ky=Object.prototype,Hy=Ky.hasOwnProperty;function Wy(t){var e=this.__data__;if(Dr){var n=e[t];return n===jy?void 0:n}return Hy.call(e,t)?e[t]:void 0}var zy=Object.prototype,Vy=zy.hasOwnProperty;function qy(t){var e=this.__data__;return Dr?e[t]!==void 0:Vy.call(e,t)}var Yy="__lodash_hash_undefined__";function Xy(t,e){var n=this.__data__;return this.size+=this.has(t)?0:1,n[t]=Dr&&e===void 0?Yy:e,this}function zt(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])}}zt.prototype.clear=Uy;zt.prototype.delete=By;zt.prototype.get=Wy;zt.prototype.has=qy;zt.prototype.set=Xy;function Jy(){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 Zy=Array.prototype,Qy=Zy.splice;function eT(t){var e=this.__data__,n=Ns(e,t);if(n<0)return!1;var r=e.length-1;return n==r?e.pop():Qy.call(e,n,1),--this.size,!0}function tT(t){var e=this.__data__,n=Ns(e,t);return n<0?void 0:e[n][1]}function nT(t){return Ns(this.__data__,t)>-1}function rT(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=Jy;pt.prototype.delete=eT;pt.prototype.get=tT;pt.prototype.has=nT;pt.prototype.set=rT;var Fr=Qt(Ye,"Map");function iT(){this.size=0,this.__data__={hash:new zt,map:new(Fr||pt),string:new zt}}function sT(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 sT(e)?n[typeof e=="string"?"string":"hash"]:n.map}function aT(t){var e=bs(this,t).delete(t);return this.size-=e?1:0,e}function oT(t){return bs(this,t).get(t)}function lT(t){return bs(this,t).has(t)}function uT(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=iT;mt.prototype.delete=aT;mt.prototype.get=oT;mt.prototype.has=lT;mt.prototype.set=uT;var cT="Expected a function";function Zo(t,e){if(typeof t!="function"||e!=null&&typeof e!="function")throw new TypeError(cT);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(Zo.Cache||mt),n}Zo.Cache=mt;var fT=500;function dT(t){var e=Zo(t,function(r){return n.size===fT&&n.clear(),r}),n=e.cache;return e}var hT=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,pT=/\\(\\)?/g,mT=dT(function(t){var e=[];return t.charCodeAt(0)===46&&e.push(""),t.replace(hT,function(n,r,i,s){e.push(i?s.replace(pT,"$1"):r||n)}),e});function gT(t){return t==null?"":ld(t)}function Os(t,e){return M(t)?t:Jo(t,e)?[t]:mT(gT(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 yT(t,e,n){var r=t==null?void 0:Qo(t,e);return r===void 0?n:r}function el(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 TT(t){return M(t)||Cs(t)||!!(Zl&&t&&t[Zl])}function tl(t,e,n,r,i){var s=-1,a=t.length;for(n||(n=TT),i||(i=[]);++s<a;){var o=t[s];n(o)?el(i,o):r||(i[i.length]=o)}return i}function Ge(t){var e=t==null?0:t.length;return e?tl(t):[]}var vd=yd(Object.getPrototypeOf,Object);function $d(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 vT(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 $T(){this.__data__=new pt,this.size=0}function RT(t){var e=this.__data__,n=e.delete(t);return this.size=e.size,n}function AT(t){return this.__data__.get(t)}function ET(t){return this.__data__.has(t)}var ST=200;function xT(t,e){var n=this.__data__;if(n instanceof pt){var r=n.__data__;if(!Fr||r.length<ST-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=$T;Ve.prototype.delete=RT;Ve.prototype.get=AT;Ve.prototype.has=ET;Ve.prototype.set=xT;function _T(t,e){return t&&qr(e,Pe(e),t)}function IT(t,e){return t&&qr(e,Xo(e),t)}var Rd=typeof exports=="object"&&exports&&!exports.nodeType&&exports,Ql=Rd&&typeof module=="object"&&module&&!module.nodeType&&module,wT=Ql&&Ql.exports===Rd,eu=wT?Ye.Buffer:void 0,tu=eu?eu.allocUnsafe:void 0;function CT(t,e){var n=t.length,r=tu?tu(n):new t.constructor(n);return t.copy(r),r}function nl(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 Ad(){return[]}var kT=Object.prototype,NT=kT.propertyIsEnumerable,nu=Object.getOwnPropertySymbols,rl=nu?function(t){return t==null?[]:(t=Object(t),nl(nu(t),function(e){return NT.call(t,e)}))}:Ad;function bT(t,e){return qr(t,rl(t),e)}var OT=Object.getOwnPropertySymbols,Ed=OT?function(t){for(var e=[];t;)el(e,rl(t)),t=vd(t);return e}:Ad;function PT(t,e){return qr(t,Ed(t),e)}function Sd(t,e,n){var r=e(t);return M(t)?r:el(r,n(t))}function Va(t){return Sd(t,Pe,rl)}function LT(t){return Sd(t,Xo,Ed)}var qa=Qt(Ye,"DataView"),Ya=Qt(Ye,"Promise"),hn=Qt(Ye,"Set"),ru="[object Map]",MT="[object Object]",iu="[object Promise]",su="[object Set]",au="[object WeakMap]",ou="[object DataView]",DT=Zt(qa),FT=Zt(Fr),GT=Zt(Ya),UT=Zt(hn),BT=Zt(Wa),Ce=Nt;(qa&&Ce(new qa(new ArrayBuffer(1)))!=ou||Fr&&Ce(new Fr)!=ru||Ya&&Ce(Ya.resolve())!=iu||hn&&Ce(new hn)!=su||Wa&&Ce(new Wa)!=au)&&(Ce=function(t){var e=Nt(t),n=e==MT?t.constructor:void 0,r=n?Zt(n):"";if(r)switch(r){case DT:return ou;case FT:return ru;case GT:return iu;case UT:return su;case BT:return au}return e});var jT=Object.prototype,KT=jT.hasOwnProperty;function HT(t){var e=t.length,n=new t.constructor(e);return e&&typeof t[0]=="string"&&KT.call(t,"index")&&(n.index=t.index,n.input=t.input),n}var Yi=Ye.Uint8Array;function WT(t){var e=new t.constructor(t.byteLength);return new Yi(e).set(new Yi(t)),e}function zT(t,e){var n=t.buffer;return new t.constructor(n,t.byteOffset,t.byteLength)}var VT=/\w*$/;function qT(t){var e=new t.constructor(t.source,VT.exec(t));return e.lastIndex=t.lastIndex,e}var lu=be?be.prototype:void 0,uu=lu?lu.valueOf:void 0;function YT(t){return uu?Object(uu.call(t)):{}}function XT(t,e){var n=t.buffer;return new t.constructor(n,t.byteOffset,t.length)}var JT="[object Boolean]",ZT="[object Date]",QT="[object Map]",ev="[object Number]",tv="[object RegExp]",nv="[object Set]",rv="[object String]",iv="[object Symbol]",sv="[object ArrayBuffer]",av="[object DataView]",ov="[object Float32Array]",lv="[object Float64Array]",uv="[object Int8Array]",cv="[object Int16Array]",fv="[object Int32Array]",dv="[object Uint8Array]",hv="[object Uint8ClampedArray]",pv="[object Uint16Array]",mv="[object Uint32Array]";function gv(t,e,n){var r=t.constructor;switch(e){case sv:return WT(t);case JT:case ZT:return new r(+t);case av:return zT(t);case ov:case lv:case uv:case cv:case fv:case dv:case hv:case pv:case mv:return XT(t);case QT:return new r;case ev:case rv:return new r(t);case tv:return qT(t);case nv:return new r;case iv:return YT(t)}}function yv(t){return typeof t.constructor=="function"&&!Yr(t)?wg(vd(t)):{}}var Tv="[object Map]";function vv(t){return Ue(t)&&Ce(t)==Tv}var cu=Et&&Et.isMap,$v=cu?ks(cu):vv,Rv="[object Set]";function Av(t){return Ue(t)&&Ce(t)==Rv}var fu=Et&&Et.isSet,Ev=fu?ks(fu):Av,Sv=2,xd="[object Arguments]",xv="[object Array]",_v="[object Boolean]",Iv="[object Date]",wv="[object Error]",_d="[object Function]",Cv="[object GeneratorFunction]",kv="[object Map]",Nv="[object Number]",Id="[object Object]",bv="[object RegExp]",Ov="[object Set]",Pv="[object String]",Lv="[object Symbol]",Mv="[object WeakMap]",Dv="[object ArrayBuffer]",Fv="[object DataView]",Gv="[object Float32Array]",Uv="[object Float64Array]",Bv="[object Int8Array]",jv="[object Int16Array]",Kv="[object Int32Array]",Hv="[object Uint8Array]",Wv="[object Uint8ClampedArray]",zv="[object Uint16Array]",Vv="[object Uint32Array]",G={};G[xd]=G[xv]=G[Dv]=G[Fv]=G[_v]=G[Iv]=G[Gv]=G[Uv]=G[Bv]=G[jv]=G[Kv]=G[kv]=G[Nv]=G[Id]=G[bv]=G[Ov]=G[Pv]=G[Lv]=G[Hv]=G[Wv]=G[zv]=G[Vv]=!0;G[wv]=G[_d]=G[Mv]=!1;function ki(t,e,n,r,i,s){var a,o=e&Sv;if(a!==void 0)return a;if(!Oe(t))return t;var l=M(t);if(l)return a=HT(t),kg(t,a);var u=Ce(t),c=u==_d||u==Cv;if(Mr(t))return CT(t);if(u==Id||u==xd||c&&!i)return a=c?{}:yv(t),o?PT(t,IT(a,t)):bT(t,_T(a,t));if(!G[u])return i?t:{};a=gv(t,u),s||(s=new Ve);var f=s.get(t);if(f)return f;s.set(t,a),Ev(t)?t.forEach(function(m){a.add(ki(m,e,n,m,t,s))}):$v(t)&&t.forEach(function(m,g){a.set(g,ki(m,e,n,g,t,s))});var d=Va,h=l?void 0:d(t);return ud(h||t,function(m,g){h&&(g=m,m=t[g]),ws(a,g,ki(m,e,n,g,t,s))}),a}var qv=4;function se(t){return ki(t,qv)}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 Yv="__lodash_hash_undefined__";function Xv(t){return this.__data__.set(t,Yv),this}function Jv(t){return this.__data__.has(t)}function On(t){var e=-1,n=t==null?0:t.length;for(this.__data__=new mt;++e<n;)this.add(t[e])}On.prototype.add=On.prototype.push=Xv;On.prototype.has=Jv;function wd(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 il(t,e){return t.has(e)}var Zv=1,Qv=2;function Cd(t,e,n,r,i,s){var a=n&Zv,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&Qv?new On: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(!wd(e,function(y,R){if(!il(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 e$(t){var e=-1,n=Array(t.size);return t.forEach(function(r,i){n[++e]=[i,r]}),n}function sl(t){var e=-1,n=Array(t.size);return t.forEach(function(r){n[++e]=r}),n}var t$=1,n$=2,r$="[object Boolean]",i$="[object Date]",s$="[object Error]",a$="[object Map]",o$="[object Number]",l$="[object RegExp]",u$="[object Set]",c$="[object String]",f$="[object Symbol]",d$="[object ArrayBuffer]",h$="[object DataView]",du=be?be.prototype:void 0,ga=du?du.valueOf:void 0;function p$(t,e,n,r,i,s,a){switch(n){case h$:if(t.byteLength!=e.byteLength||t.byteOffset!=e.byteOffset)return!1;t=t.buffer,e=e.buffer;case d$:return!(t.byteLength!=e.byteLength||!s(new Yi(t),new Yi(e)));case r$:case i$:case o$:return Vr(+t,+e);case s$:return t.name==e.name&&t.message==e.message;case l$:case c$:return t==e+"";case a$:var o=e$;case u$:var l=r&t$;if(o||(o=sl),t.size!=e.size&&!l)return!1;var u=a.get(t);if(u)return u==e;r|=n$,a.set(t,e);var c=Cd(o(t),o(e),r,i,s,a);return a.delete(t),c;case f$:if(ga)return ga.call(t)==ga.call(e)}return!1}var m$=1,g$=Object.prototype,y$=g$.hasOwnProperty;function T$(t,e,n,r,i,s){var a=n&m$,o=Va(t),l=o.length,u=Va(e),c=u.length;if(l!=c&&!a)return!1;for(var f=l;f--;){var d=o[f];if(!(a?d in e:y$.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 v$=1,hu="[object Arguments]",pu="[object Array]",gi="[object Object]",$$=Object.prototype,mu=$$.hasOwnProperty;function R$(t,e,n,r,i,s){var a=M(t),o=M(e),l=a?pu:Ce(t),u=o?pu:Ce(e);l=l==hu?gi:l,u=u==hu?gi:u;var c=l==gi,f=u==gi,d=l==u;if(d&&Mr(t)){if(!Mr(e))return!1;a=!0,c=!1}if(d&&!c)return s||(s=new Ve),a||Yo(t)?Cd(t,e,n,r,i,s):p$(t,e,l,n,r,i,s);if(!(n&v$)){var h=c&&mu.call(t,"__wrapped__"),m=f&&mu.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),T$(t,e,n,r,i,s)):!1}function al(t,e,n,r,i){return t===e?!0:t==null||e==null||!Ue(t)&&!Ue(e)?t!==t&&e!==e:R$(t,e,n,r,al,i)}var A$=1,E$=2;function S$(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?al(u,l,A$|E$,r,c):f))return!1}}return!0}function kd(t){return t===t&&!Oe(t)}function x$(t){for(var e=Pe(t),n=e.length;n--;){var r=e[n],i=t[r];e[n]=[r,i,kd(i)]}return e}function Nd(t,e){return function(n){return n==null?!1:n[t]===e&&(e!==void 0||t in Object(n))}}function _$(t){var e=x$(t);return e.length==1&&e[0][2]?Nd(e[0][0],e[0][1]):function(n){return n===t||S$(n,t,e)}}function I$(t,e){return t!=null&&e in Object(t)}function bd(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&&qo(i)&&Is(a,i)&&(M(t)||Cs(t)))}function w$(t,e){return t!=null&&bd(t,e,I$)}var C$=1,k$=2;function N$(t,e){return Jo(t)&&kd(e)?Nd(Xr(t),e):function(n){var r=yT(n,t);return r===void 0&&r===e?w$(n,t):al(e,r,C$|k$)}}function b$(t){return function(e){return e==null?void 0:e[t]}}function O$(t){return function(e){return Qo(e,t)}}function P$(t){return Jo(t)?b$(Xr(t)):O$(t)}function Je(t){return typeof t=="function"?t:t==null?bn:typeof t=="object"?M(t)?N$(t[0],t[1]):_$(t):P$(t)}function L$(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 M$(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 D$=M$();function F$(t,e){return t&&D$(t,e,Pe)}function G$(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 en=G$(F$);function U$(t,e,n,r){return en(t,function(i,s,a){e(r,i,n(i),a)}),r}function B$(t,e){return function(n,r){var i=M(n)?L$:U$,s=e?e():{};return i(n,t,Je(r),s)}}var Od=Object.prototype,j$=Od.hasOwnProperty,ol=Vo(function(t,e){t=Object(t);var n=-1,r=e.length,i=r>2?e[2]:void 0;for(i&&dd(e[0],e[1],i)&&(r=1);++n<r;)for(var s=e[n],a=Xo(s),o=-1,l=a.length;++o<l;){var u=a[o],c=t[u];(c===void 0||Vr(c,Od[u])&&!j$.call(t,u))&&(t[u]=s[u])}return t});function gu(t){return Ue(t)&&Xe(t)}var K$=200;function H$(t,e,n,r){var i=-1,s=fd,a=!0,o=t.length,l=[],u=e.length;if(!o)return l;e.length>=K$&&(s=il,a=!1,e=new On(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=Vo(function(t,e){return gu(t)?H$(t,tl(e,1,gu,!0)):[]});function Pn(t){var e=t==null?0:t.length;return e?t[e-1]:void 0}function te(t,e,n){var r=t==null?0:t.length;return r?(e=e===void 0?1:_s(e),$d(t,e<0?0:e,r)):[]}function Gr(t,e,n){var r=t==null?0:t.length;return r?(e=e===void 0?1:_s(e),e=r-e,$d(t,0,e<0?0:e)):[]}function W$(t){return typeof t=="function"?t:bn}function k(t,e){var n=M(t)?ud:en;return n(t,W$(e))}function z$(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 V$(t,e){var n=!0;return en(t,function(r,i,s){return n=!!e(r,i,s),n}),n}function qe(t,e,n){var r=M(t)?z$:V$;return r(t,Je(e))}function Pd(t,e){var n=[];return en(t,function(r,i,s){e(r,i,s)&&n.push(r)}),n}function Le(t,e){var n=M(t)?nl:Pd;return n(t,Je(e))}function q$(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 Y$=Math.max;function X$(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=Y$(r+i,0)),cd(t,Je(e),i)}var Ln=q$(X$);function Be(t){return t&&t.length?t[0]:void 0}function J$(t,e){var n=-1,r=Xe(t)?Array(t.length):[];return en(t,function(i,s,a){r[++n]=e(i,s,a)}),r}function I(t,e){var n=M(t)?xs:J$;return n(t,Je(e))}function ke(t,e){return tl(I(t,e))}var Z$=Object.prototype,Q$=Z$.hasOwnProperty,eR=B$(function(t,e,n){Q$.call(t,n)?t[n].push(e):zo(t,n,[e])}),tR=Object.prototype,nR=tR.hasOwnProperty;function rR(t,e){return t!=null&&nR.call(t,e)}function w(t,e){return t!=null&&bd(t,e,rR)}var iR="[object String]";function je(t){return typeof t=="string"||!M(t)&&Ue(t)&&Nt(t)==iR}function sR(t,e){return xs(e,function(n){return t[n]})}function Z(t){return t==null?[]:sR(t,Pe(t))}var aR=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=aR(i+n,0)),je(t)?n<=i&&t.indexOf(e,n)>-1:!!i&&Wo(t,e,n)>-1}function yu(t,e,n){var r=t==null?0:t.length;if(!r)return-1;var i=0;return Wo(t,e,i)}var oR="[object Map]",lR="[object Set]",uR=Object.prototype,cR=uR.hasOwnProperty;function U(t){if(t==null)return!0;if(Xe(t)&&(M(t)||typeof t=="string"||typeof t.splice=="function"||Mr(t)||Yo(t)||Cs(t)))return!t.length;var e=Ce(t);if(e==oR||e==lR)return!t.size;if(Yr(t))return!Td(t).length;for(var n in t)if(cR.call(t,n))return!1;return!0}var fR="[object RegExp]";function dR(t){return Ue(t)&&Nt(t)==fR}var Tu=Et&&Et.isRegExp,St=Tu?ks(Tu):dR;function ct(t){return t===void 0}var hR="Expected a function";function pR(t){if(typeof t!="function")throw new TypeError(hR);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 mR(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 gR(t,e,n){for(var r=-1,i=e.length,s={};++r<i;){var a=e[r],o=Qo(t,a);n(o,a)&&mR(s,Os(a,t),o)}return s}function yR(t,e){if(t==null)return{};var n=xs(LT(t),function(r){return[r]});return e=Je(e),gR(t,n,function(r,i){return e(r,i[0])})}function TR(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)?vT:TR,i=arguments.length<3;return r(t,Je(e),n,i,en)}function Ls(t,e){var n=M(t)?nl:Pd;return n(t,pR(Je(e)))}function vR(t,e){var n;return en(t,function(r,i,s){return n=e(r,i,s),!n}),!!n}function $R(t,e,n){var r=M(t)?wd:vR;return r(t,Je(e))}var RR=1/0,AR=hn&&1/sl(new hn([,-0]))[1]==RR?function(t){return new hn(t)}:J,ER=200;function SR(t,e,n){var r=-1,i=fd,s=t.length,a=!0,o=[],l=o;if(s>=ER){var u=AR(t);if(u)return sl(u);a=!1,i=il,l=new On}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 ll(t){return t&&t.length?SR(t):[]}function Xa(t){console&&console.error&&console.error(`Error: ${t}`)}function Ld(t){console&&console.warn&&console.warn(`Warning: ${t}`)}function Md(t){const e=new Date().getTime(),n=t();return{time:new Date().getTime()-e,value:n}}function Dd(t){function e(){}e.prototype=t;const n=new e;function r(){return typeof n.bar}return r(),r(),t}var Fd=typeof global=="object"&&global&&global.Object===Object&&global,xR=typeof self=="object"&&self&&self.Object===Object&&self,gt=Fd||xR||Function("return this")(),xt=gt.Symbol,Gd=Object.prototype,_R=Gd.hasOwnProperty,IR=Gd.toString,Vn=xt?xt.toStringTag:void 0;function wR(t){var e=_R.call(t,Vn),n=t[Vn];try{t[Vn]=void 0;var r=!0}catch{}var i=IR.call(t);return r&&(e?t[Vn]=n:delete t[Vn]),i}var CR=Object.prototype,kR=CR.toString;function NR(t){return kR.call(t)}var bR="[object Null]",OR="[object Undefined]",vu=xt?xt.toStringTag:void 0;function bt(t){return t==null?t===void 0?OR:bR:vu&&vu in Object(t)?wR(t):NR(t)}function _t(t){return t!=null&&typeof t=="object"}var PR="[object Symbol]";function Ms(t){return typeof t=="symbol"||_t(t)&&bt(t)==PR}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,$u=xt?xt.prototype:void 0,Ru=$u?$u.toString:void 0;function Ud(t){if(typeof t=="string")return t;if(pe(t))return Ds(t,Ud)+"";if(Ms(t))return Ru?Ru.call(t):"";var e=t+"";return e=="0"&&1/t==-1/0?"-0":e}var LR=/\s/;function MR(t){for(var e=t.length;e--&&LR.test(t.charAt(e)););return e}var DR=/^\s+/;function FR(t){return t&&t.slice(0,MR(t)+1).replace(DR,"")}function ft(t){var e=typeof t;return t!=null&&(e=="object"||e=="function")}var Au=NaN,GR=/^[-+]0x[0-9a-f]+$/i,UR=/^0b[01]+$/i,BR=/^0o[0-7]+$/i,jR=parseInt;function KR(t){if(typeof t=="number")return t;if(Ms(t))return Au;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=FR(t);var n=UR.test(t);return n||BR.test(t)?jR(t.slice(2),n?2:8):GR.test(t)?Au:+t}var Eu=1/0,HR=17976931348623157e292;function WR(t){if(!t)return t===0?t:0;if(t=KR(t),t===Eu||t===-Eu){var e=t<0?-1:1;return e*HR}return t===t?t:0}function zR(t){var e=WR(t),n=e%1;return e===e?n?e-n:e:0}function Fs(t){return t}var VR="[object AsyncFunction]",qR="[object Function]",YR="[object GeneratorFunction]",XR="[object Proxy]";function Bd(t){if(!ft(t))return!1;var e=bt(t);return e==qR||e==YR||e==VR||e==XR}var ya=gt["__core-js_shared__"],Su=function(){var t=/[^.]+$/.exec(ya&&ya.keys&&ya.keys.IE_PROTO||"");return t?"Symbol(src)_1."+t:""}();function JR(t){return!!Su&&Su in t}var ZR=Function.prototype,QR=ZR.toString;function tn(t){if(t!=null){try{return QR.call(t)}catch{}try{return t+""}catch{}}return""}var eA=/[\\^$.*+?()[\]{}|]/g,tA=/^\[object .+?Constructor\]$/,nA=Function.prototype,rA=Object.prototype,iA=nA.toString,sA=rA.hasOwnProperty,aA=RegExp("^"+iA.call(sA).replace(eA,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function oA(t){if(!ft(t)||JR(t))return!1;var e=Bd(t)?aA:tA;return e.test(tn(t))}function lA(t,e){return t==null?void 0:t[e]}function nn(t,e){var n=lA(t,e);return oA(n)?n:void 0}var Ja=nn(gt,"WeakMap");function uA(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 cA=800,fA=16,dA=Date.now;function hA(t){var e=0,n=0;return function(){var r=dA(),i=fA-(r-n);if(n=r,i>0){if(++e>=cA)return arguments[0]}else e=0;return t.apply(void 0,arguments)}}function pA(t){return function(){return t}}var Xi=function(){try{var t=nn(Object,"defineProperty");return t({},"",{}),t}catch{}}(),mA=Xi?function(t,e){return Xi(t,"toString",{configurable:!0,enumerable:!1,value:pA(e),writable:!0})}:Fs,gA=hA(mA);function yA(t,e){for(var n=-1,r=t==null?0:t.length;++n<r&&e(t[n],n,t)!==!1;);return t}function TA(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 vA(t){return t!==t}function $A(t,e,n){for(var r=n-1,i=t.length;++r<i;)if(t[r]===e)return r;return-1}function RA(t,e,n){return e===e?$A(t,e,n):TA(t,vA,n)}var AA=9007199254740991,EA=/^(?:0|[1-9]\d*)$/;function Gs(t,e){var n=typeof t;return e=e??AA,!!e&&(n=="number"||n!="symbol"&&EA.test(t))&&t>-1&&t%1==0&&t<e}function jd(t,e,n){e=="__proto__"&&Xi?Xi(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 SA=Object.prototype,xA=SA.hasOwnProperty;function ul(t,e,n){var r=t[e];(!(xA.call(t,e)&&Us(r,n))||n===void 0&&!(e in t))&&jd(t,e,n)}function _A(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?jd(n,o,l):ul(n,o,l)}return n}var xu=Math.max;function IA(t,e,n){return e=xu(e===void 0?t.length-1:e,0),function(){for(var r=arguments,i=-1,s=xu(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),uA(t,this,o)}}function wA(t,e){return gA(IA(t,e,Fs),t+"")}var CA=9007199254740991;function cl(t){return typeof t=="number"&&t>-1&&t%1==0&&t<=CA}function rn(t){return t!=null&&cl(t.length)&&!Bd(t)}function kA(t,e,n){if(!ft(n))return!1;var r=typeof e;return(r=="number"?rn(n)&&Gs(e,n.length):r=="string"&&e in n)?Us(n[e],t):!1}function NA(t){return wA(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&&kA(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 bA=Object.prototype;function fl(t){var e=t&&t.constructor,n=typeof e=="function"&&e.prototype||bA;return t===n}function OA(t,e){for(var n=-1,r=Array(t);++n<t;)r[n]=e(n);return r}var PA="[object Arguments]";function _u(t){return _t(t)&&bt(t)==PA}var Kd=Object.prototype,LA=Kd.hasOwnProperty,MA=Kd.propertyIsEnumerable,Hd=_u(function(){return arguments}())?_u:function(t){return _t(t)&&LA.call(t,"callee")&&!MA.call(t,"callee")};function DA(){return!1}var Wd=typeof exports=="object"&&exports&&!exports.nodeType&&exports,Iu=Wd&&typeof module=="object"&&module&&!module.nodeType&&module,FA=Iu&&Iu.exports===Wd,wu=FA?gt.Buffer:void 0,GA=wu?wu.isBuffer:void 0,Za=GA||DA,UA="[object Arguments]",BA="[object Array]",jA="[object Boolean]",KA="[object Date]",HA="[object Error]",WA="[object Function]",zA="[object Map]",VA="[object Number]",qA="[object Object]",YA="[object RegExp]",XA="[object Set]",JA="[object String]",ZA="[object WeakMap]",QA="[object ArrayBuffer]",eE="[object DataView]",tE="[object Float32Array]",nE="[object Float64Array]",rE="[object Int8Array]",iE="[object Int16Array]",sE="[object Int32Array]",aE="[object Uint8Array]",oE="[object Uint8ClampedArray]",lE="[object Uint16Array]",uE="[object Uint32Array]",j={};j[tE]=j[nE]=j[rE]=j[iE]=j[sE]=j[aE]=j[oE]=j[lE]=j[uE]=!0;j[UA]=j[BA]=j[QA]=j[jA]=j[eE]=j[KA]=j[HA]=j[WA]=j[zA]=j[VA]=j[qA]=j[YA]=j[XA]=j[JA]=j[ZA]=!1;function cE(t){return _t(t)&&cl(t.length)&&!!j[bt(t)]}function zd(t){return function(e){return t(e)}}var Vd=typeof exports=="object"&&exports&&!exports.nodeType&&exports,Or=Vd&&typeof module=="object"&&module&&!module.nodeType&&module,fE=Or&&Or.exports===Vd,Ta=fE&&Fd.process,Ji=function(){try{var t=Or&&Or.require&&Or.require("util").types;return t||Ta&&Ta.binding&&Ta.binding("util")}catch{}}(),Cu=Ji&&Ji.isTypedArray,qd=Cu?zd(Cu):cE,dE=Object.prototype,hE=dE.hasOwnProperty;function Yd(t,e){var n=pe(t),r=!n&&Hd(t),i=!n&&!r&&Za(t),s=!n&&!r&&!i&&qd(t),a=n||r||i||s,o=a?OA(t.length,String):[],l=o.length;for(var u in t)(e||hE.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 Xd(t,e){return function(n){return t(e(n))}}var pE=Xd(Object.keys,Object),mE=Object.prototype,gE=mE.hasOwnProperty;function yE(t){if(!fl(t))return pE(t);var e=[];for(var n in Object(t))gE.call(t,n)&&n!="constructor"&&e.push(n);return e}function Zr(t){return rn(t)?Yd(t):yE(t)}var TE=Object.prototype,vE=TE.hasOwnProperty,Ze=NA(function(t,e){if(fl(e)||rn(e)){_A(e,Zr(e),t);return}for(var n in e)vE.call(e,n)&&ul(t,n,e[n])});function $E(t){var e=[];if(t!=null)for(var n in Object(t))e.push(n);return e}var RE=Object.prototype,AE=RE.hasOwnProperty;function EE(t){if(!ft(t))return $E(t);var e=fl(t),n=[];for(var r in t)r=="constructor"&&(e||!AE.call(t,r))||n.push(r);return n}function SE(t){return rn(t)?Yd(t,!0):EE(t)}var xE=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,_E=/^\w*$/;function dl(t,e){if(pe(t))return!1;var n=typeof t;return n=="number"||n=="symbol"||n=="boolean"||t==null||Ms(t)?!0:_E.test(t)||!xE.test(t)||e!=null&&t in Object(e)}var Ur=nn(Object,"create");function IE(){this.__data__=Ur?Ur(null):{},this.size=0}function wE(t){var e=this.has(t)&&delete this.__data__[t];return this.size-=e?1:0,e}var CE="__lodash_hash_undefined__",kE=Object.prototype,NE=kE.hasOwnProperty;function bE(t){var e=this.__data__;if(Ur){var n=e[t];return n===CE?void 0:n}return NE.call(e,t)?e[t]:void 0}var OE=Object.prototype,PE=OE.hasOwnProperty;function LE(t){var e=this.__data__;return Ur?e[t]!==void 0:PE.call(e,t)}var ME="__lodash_hash_undefined__";function DE(t,e){var n=this.__data__;return this.size+=this.has(t)?0:1,n[t]=Ur&&e===void 0?ME:e,this}function Vt(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])}}Vt.prototype.clear=IE;Vt.prototype.delete=wE;Vt.prototype.get=bE;Vt.prototype.has=LE;Vt.prototype.set=DE;function FE(){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 GE=Array.prototype,UE=GE.splice;function BE(t){var e=this.__data__,n=Bs(e,t);if(n<0)return!1;var r=e.length-1;return n==r?e.pop():UE.call(e,n,1),--this.size,!0}function jE(t){var e=this.__data__,n=Bs(e,t);return n<0?void 0:e[n][1]}function KE(t){return Bs(this.__data__,t)>-1}function HE(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=FE;yt.prototype.delete=BE;yt.prototype.get=jE;yt.prototype.has=KE;yt.prototype.set=HE;var Br=nn(gt,"Map");function WE(){this.size=0,this.__data__={hash:new Vt,map:new(Br||yt),string:new Vt}}function zE(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 zE(e)?n[typeof e=="string"?"string":"hash"]:n.map}function VE(t){var e=js(this,t).delete(t);return this.size-=e?1:0,e}function qE(t){return js(this,t).get(t)}function YE(t){return js(this,t).has(t)}function XE(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=WE;Tt.prototype.delete=VE;Tt.prototype.get=qE;Tt.prototype.has=YE;Tt.prototype.set=XE;var JE="Expected a function";function hl(t,e){if(typeof t!="function"||e!=null&&typeof e!="function")throw new TypeError(JE);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(hl.Cache||Tt),n}hl.Cache=Tt;var ZE=500;function QE(t){var e=hl(t,function(r){return n.size===ZE&&n.clear(),r}),n=e.cache;return e}var eS=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,tS=/\\(\\)?/g,nS=QE(function(t){var e=[];return t.charCodeAt(0)===46&&e.push(""),t.replace(eS,function(n,r,i,s){e.push(i?s.replace(tS,"$1"):r||n)}),e});function rS(t){return t==null?"":Ud(t)}function Ks(t,e){return pe(t)?t:dl(t,e)?[t]:nS(rS(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 pl(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 iS(t,e,n){var r=t==null?void 0:pl(t,e);return r===void 0?n:r}function Jd(t,e){for(var n=-1,r=e.length,i=t.length;++n<r;)t[i+n]=e[n];return t}var sS=Xd(Object.getPrototypeOf,Object);function aS(){this.__data__=new yt,this.size=0}function oS(t){var e=this.__data__,n=e.delete(t);return this.size=e.size,n}function lS(t){return this.__data__.get(t)}function uS(t){return this.__data__.has(t)}var cS=200;function fS(t,e){var n=this.__data__;if(n instanceof yt){var r=n.__data__;if(!Br||r.length<cS-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=aS;ut.prototype.delete=oS;ut.prototype.get=lS;ut.prototype.has=uS;ut.prototype.set=fS;function dS(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 Zd(){return[]}var hS=Object.prototype,pS=hS.propertyIsEnumerable,ku=Object.getOwnPropertySymbols,Qd=ku?function(t){return t==null?[]:(t=Object(t),dS(ku(t),function(e){return pS.call(t,e)}))}:Zd,mS=Object.getOwnPropertySymbols,gS=mS?function(t){for(var e=[];t;)Jd(e,Qd(t)),t=sS(t);return e}:Zd;function eh(t,e,n){var r=e(t);return pe(t)?r:Jd(r,n(t))}function Nu(t){return eh(t,Zr,Qd)}function yS(t){return eh(t,SE,gS)}var Qa=nn(gt,"DataView"),eo=nn(gt,"Promise"),to=nn(gt,"Set"),bu="[object Map]",TS="[object Object]",Ou="[object Promise]",Pu="[object Set]",Lu="[object WeakMap]",Mu="[object DataView]",vS=tn(Qa),$S=tn(Br),RS=tn(eo),AS=tn(to),ES=tn(Ja),Rt=bt;(Qa&&Rt(new Qa(new ArrayBuffer(1)))!=Mu||Br&&Rt(new Br)!=bu||eo&&Rt(eo.resolve())!=Ou||to&&Rt(new to)!=Pu||Ja&&Rt(new Ja)!=Lu)&&(Rt=function(t){var e=bt(t),n=e==TS?t.constructor:void 0,r=n?tn(n):"";if(r)switch(r){case vS:return Mu;case $S:return bu;case RS:return Ou;case AS:return Pu;case ES:return Lu}return e});var Du=gt.Uint8Array,SS="__lodash_hash_undefined__";function xS(t){return this.__data__.set(t,SS),this}function _S(t){return this.__data__.has(t)}function Zi(t){var e=-1,n=t==null?0:t.length;for(this.__data__=new Tt;++e<n;)this.add(t[e])}Zi.prototype.add=Zi.prototype.push=xS;Zi.prototype.has=_S;function th(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 IS(t,e){return t.has(e)}var wS=1,CS=2;function nh(t,e,n,r,i,s){var a=n&wS,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&CS?new Zi: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(!th(e,function(y,R){if(!IS(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 kS(t){var e=-1,n=Array(t.size);return t.forEach(function(r,i){n[++e]=[i,r]}),n}function NS(t){var e=-1,n=Array(t.size);return t.forEach(function(r){n[++e]=r}),n}var bS=1,OS=2,PS="[object Boolean]",LS="[object Date]",MS="[object Error]",DS="[object Map]",FS="[object Number]",GS="[object RegExp]",US="[object Set]",BS="[object String]",jS="[object Symbol]",KS="[object ArrayBuffer]",HS="[object DataView]",Fu=xt?xt.prototype:void 0,va=Fu?Fu.valueOf:void 0;function WS(t,e,n,r,i,s,a){switch(n){case HS:if(t.byteLength!=e.byteLength||t.byteOffset!=e.byteOffset)return!1;t=t.buffer,e=e.buffer;case KS:return!(t.byteLength!=e.byteLength||!s(new Du(t),new Du(e)));case PS:case LS:case FS:return Us(+t,+e);case MS:return t.name==e.name&&t.message==e.message;case GS:case BS:return t==e+"";case DS:var o=kS;case US:var l=r&bS;if(o||(o=NS),t.size!=e.size&&!l)return!1;var u=a.get(t);if(u)return u==e;r|=OS,a.set(t,e);var c=nh(o(t),o(e),r,i,s,a);return a.delete(t),c;case jS:if(va)return va.call(t)==va.call(e)}return!1}var zS=1,VS=Object.prototype,qS=VS.hasOwnProperty;function YS(t,e,n,r,i,s){var a=n&zS,o=Nu(t),l=o.length,u=Nu(e),c=u.length;if(l!=c&&!a)return!1;for(var f=l;f--;){var d=o[f];if(!(a?d in e:qS.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 XS=1,Gu="[object Arguments]",Uu="[object Array]",yi="[object Object]",JS=Object.prototype,Bu=JS.hasOwnProperty;function ZS(t,e,n,r,i,s){var a=pe(t),o=pe(e),l=a?Uu:Rt(t),u=o?Uu:Rt(e);l=l==Gu?yi:l,u=u==Gu?yi:u;var c=l==yi,f=u==yi,d=l==u;if(d&&Za(t)){if(!Za(e))return!1;a=!0,c=!1}if(d&&!c)return s||(s=new ut),a||qd(t)?nh(t,e,n,r,i,s):WS(t,e,l,n,r,i,s);if(!(n&XS)){var h=c&&Bu.call(t,"__wrapped__"),m=f&&Bu.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),YS(t,e,n,r,i,s)):!1}function ml(t,e,n,r,i){return t===e?!0:t==null||e==null||!_t(t)&&!_t(e)?t!==t&&e!==e:ZS(t,e,n,r,ml,i)}var QS=1,ex=2;function tx(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?ml(u,l,QS|ex,r,c):f))return!1}}return!0}function rh(t){return t===t&&!ft(t)}function nx(t){for(var e=Zr(t),n=e.length;n--;){var r=e[n],i=t[r];e[n]=[r,i,rh(i)]}return e}function ih(t,e){return function(n){return n==null?!1:n[t]===e&&(e!==void 0||t in Object(n))}}function rx(t){var e=nx(t);return e.length==1&&e[0][2]?ih(e[0][0],e[0][1]):function(n){return n===t||tx(n,t,e)}}function ix(t,e){return t!=null&&e in Object(t)}function sx(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&&cl(i)&&Gs(a,i)&&(pe(t)||Hd(t)))}function ax(t,e){return t!=null&&sx(t,e,ix)}var ox=1,lx=2;function ux(t,e){return dl(t)&&rh(e)?ih(Qr(t),e):function(n){var r=iS(n,t);return r===void 0&&r===e?ax(n,t):ml(e,r,ox|lx)}}function cx(t){return function(e){return e==null?void 0:e[t]}}function fx(t){return function(e){return pl(e,t)}}function dx(t){return dl(t)?cx(Qr(t)):fx(t)}function Hs(t){return typeof t=="function"?t:t==null?Fs:typeof t=="object"?pe(t)?ux(t[0],t[1]):rx(t):dx(t)}function hx(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 px=hx();function mx(t,e){return t&&px(t,e,Zr)}function gx(t,e){return function(n,r){if(n==null)return n;if(!rn(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=gx(mx);function yx(t){return typeof t=="function"?t:Fs}function Tx(t,e){var n=pe(t)?yA:Ws;return n(t,yx(e))}function vx(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 $x(t,e){var n=!0;return Ws(t,function(r,i,s){return n=!!e(r,i,s),n}),n}function Rx(t,e,n){var r=pe(t)?vx:$x;return r(t,Hs(e))}function Ax(t,e){var n=-1,r=rn(t)?Array(t.length):[];return Ws(t,function(i,s,a){r[++n]=e(i,s,a)}),r}function sh(t,e){var n=pe(t)?Ds:Ax;return n(t,Hs(e))}var Ex="[object String]";function Qi(t){return typeof t=="string"||!pe(t)&&_t(t)&&bt(t)==Ex}function Sx(t,e){return Ds(e,function(n){return t[n]})}function xx(t){return t==null?[]:Sx(t,Zr(t))}var _x=Math.max;function Ix(t,e,n,r){t=rn(t)?t:xx(t),n=n?zR(n):0;var i=t.length;return n<0&&(n=_x(i+n,0)),Qi(t)?n<=i&&t.indexOf(e,n)>-1:!!i&&RA(t,e,n)>-1}var wx="[object RegExp]";function Cx(t){return _t(t)&&bt(t)==wx}var ju=Ji&&Ji.isRegExp,kx=ju?zd(ju):Cx;function Nx(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])?[]:{})}ul(o,l,u),o=o[l]}return t}function bx(t,e,n){for(var r=-1,i=e.length,s={};++r<i;){var a=e[r],o=pl(t,a);n(o,a)&&Nx(s,Ks(a,t),o)}return s}function Qe(t,e){if(t==null)return{};var n=Ds(yS(t),function(r){return[r]});return e=Hs(e),bx(t,n,function(r,i){return e(r,i[0])})}function Ox(t,e){var n;return Ws(t,function(r,i,s){return n=e(r,i,s),!n}),!!n}function Px(t,e,n){var r=pe(t)?th:Ox;return r(t,Hs(e))}function Lx(t){return Mx(t)?t.LABEL:t.name}function Mx(t){return Qi(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),Tx(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 jn 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 ie=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 Dx(t){return sh(t,Ni)}function Ni(t){function e(n){return sh(n,Ni)}if(t instanceof fe){const n={type:"NonTerminal",name:t.nonTerminalName,idx:t.idx};return Qi(t.label)&&(n.label=t.label),n}else{if(t instanceof me)return{type:"Alternative",definition:e(t.definition)};if(t instanceof ie)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:Ni(new K({terminalType:t.separator})),definition:e(t.definition)};if(t instanceof ye)return{type:"RepetitionWithSeparator",idx:t.idx,separator:Ni(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:Lx(t.terminalType),idx:t.idx};Qi(t.label)&&(n.terminalLabel=t.label);const r=t.terminalType.PATTERN;return t.terminalType.PATTERN&&(n.pattern=kx(r)?r.source:r),n}else{if(t instanceof jn)return{type:"Rule",name:t.name,orgText:t.orgText,definition:e(t.definition)};throw Error("non exhaustive match")}}}class Kn{visit(e){const n=e;switch(n.constructor){case fe:return this.visitNonTerminal(n);case me:return this.visitAlternative(n);case ie: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 jn: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 Fx(t){return t instanceof me||t instanceof ie||t instanceof q||t instanceof xe||t instanceof _e||t instanceof ye||t instanceof K||t instanceof jn}function es(t,e=[]){return t instanceof ie||t instanceof q||t instanceof ye?!0:t instanceof Te?Px(t.definition,r=>es(r,e)):t instanceof fe&&Ix(e,t)?!1:t instanceof et?(t instanceof fe&&e.push(t),Rx(t.definition,r=>es(r,e))):!1}function Gx(t){return t instanceof Te}function We(t){if(t instanceof fe)return"SUBRULE";if(t instanceof ie)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=te(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 ie)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 ie({definition:e.definition})].concat(n,r);this.walk(e,i)}walkAtLeastOneSep(e,n,r){const i=Ku(e,n,r);this.walk(e,i)}walkMany(e,n,r){const i=[new ie({definition:e.definition})].concat(n,r);this.walk(e,i)}walkManySep(e,n,r){const i=Ku(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 Ku(t,e,n){return[new ie({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 jx(t);if(Fx(t))return Ux(t);if(Gx(t))return Bx(t);throw Error("non exhaustive match")}function Ux(t){let e=[];const n=t.definition;let r=0,i=n.length>r,s,a=!0;for(;i&&a;)s=n[r],a=es(s),e=e.concat(ei(s)),r=r+1,i=n.length>r;return ll(e)}function Bx(t){const e=I(t.definition,n=>ei(n));return ll(Ge(e))}function jx(t){return[t.terminalType]}const ah="_~IN~_";class Kx 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=Wx(e.referencedRule,e.idx)+this.topProd.name,s=n.concat(r),a=new me({definition:s}),o=ei(a);this.follows[i]=o}}function Hx(t){const e={};return k(t,n=>{const r=new Kx(n).startWalking();za(e,r)}),e}function Wx(t,e){return t.name+e+ah}let bi={};const zx=new Zf;function Vs(t){const e=t.toString();if(bi.hasOwnProperty(e))return bi[e];{const n=zx.pattern(e);return bi[e]=n,n}}function Vx(){bi={}}const oh="Complement Sets are not supported for first char optimization",ts=`Unable to use "first char" lexer optimizations:
|
|
13
|
+
`;function qx(t,e=!1){try{const n=Vs(t);return no(n.value,{},n.flags.ignoreCase)}catch(n){if(n.message===oh)e&&Ld(`${ts} 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.`),Xa(`${ts}
|
|
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 no(t,e,n){switch(t.type){case"Disjunction":for(let i=0;i<t.value.length;i++)no(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(oh);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<xr;c++)Ti(c,e,n);if(u.to>=xr){const c=u.from>=xr?u.from:xr,f=u.to,d=It(c),h=It(f);for(let m=d;m<=h;m++)e[m]=m}}}});break;case"Group":no(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"&&ro(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&&Yx(t,e)}function Yx(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 Hu(t,e){return Ln(t.value,n=>{if(typeof n=="number")return ge(e,n);{const r=n;return Ln(e,i=>r.from<=i&&i<=r.to)!==void 0}})}function ro(t){const e=t.quantifier;return e&&e.atLeast===0?!0:t.value?M(t.value)?qe(t.value,ro):ro(t.value):!1}class Xx 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?Hu(e,this.targetCharCodes)===void 0&&(this.found=!0):Hu(e,this.targetCharCodes)!==void 0&&(this.found=!0)}}function gl(t,e){if(e instanceof RegExp){const n=Vs(e),r=new Xx(t);return r.visit(n),r.found}else return Ln(e,n=>ge(t,n.charCodeAt(0)))!==void 0}const qt="PATTERN",Sr="defaultMode",vi="modes";let lh=typeof new RegExp("(?:)").sticky=="boolean";function Jx(t,e){e=ol(e,{useSticky:lh,debug:!1,safeMode:!1,positionTracking:"full",lineTerminatorCharacters:["\r",`
|
|
22
|
+
`],tracer:(R,v)=>v()});const n=e.tracer;n("initCharCodeToOptimizedIndexMap",()=>{$_()});let r;n("Reject Lexer.NA",()=>{r=Ls(t,R=>R[qt]===he.NA)});let i=!1,s;n("Transform Patterns",()=>{i=!1,s=I(r,R=>{const v=R[qt];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?zu(v):Wu(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?zu(O):Wu(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=>yu(r,O)):[yu(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=fh(e.lineTerminatorCharacters);f=I(r,v=>!1),e.positionTracking!=="onlyOffset"&&(f=I(r,v=>w(v,"LINE_BREAKS")?!!v.LINE_BREAKS:ch(v,R)===!1&&gl(R,v.PATTERN)))});let d,h,m,g;n("Misc Mapping #2",()=>{d=I(r,uh),h=I(s,y_),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),ae=It(O);$a(R,ae,g[x])}else if(M(v.START_CHARS_HINT)){let O;k(v.START_CHARS_HINT,ae=>{const Me=typeof ae=="string"?ae.charCodeAt(0):ae,ve=It(Me);O!==ve&&(O=ve,$a(R,ve,g[x]))})}else if(St(v.PATTERN))if(v.PATTERN.unicode)T=!1,e.ensureOptimizations&&Xa(`${ts} 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=qx(v.PATTERN,e.ensureOptimizations);U(O)&&(T=!1),k(O,ae=>{$a(R,ae,g[x])})}else e.ensureOptimizations&&Xa(`${ts} 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 Zx(t,e){let n=[];const r=e_(t);n=n.concat(r.errors);const i=t_(r.valid),s=i.valid;return n=n.concat(i.errors),n=n.concat(Qx(s)),n=n.concat(u_(s)),n=n.concat(c_(s,e)),n=n.concat(f_(s)),n}function Qx(t){let e=[];const n=Le(t,r=>St(r[qt]));return e=e.concat(r_(n)),e=e.concat(a_(n)),e=e.concat(o_(n)),e=e.concat(l_(n)),e=e.concat(i_(n)),e}function e_(t){const e=Le(t,i=>!w(i,qt)),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 t_(t){const e=Le(t,i=>{const s=i[qt];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 n_=/[^\\][$]/;function r_(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 n_.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 i_(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 s_=/[^\\[][\^]|^\^/;function a_(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 s_.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 o_(t){const e=Le(t,r=>{const i=r[qt];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 l_(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 u_(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 c_(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 f_(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)&&h_(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&&d_(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 d_(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 h_(t){return Ln([".","\\","[","]","|","^","$","(",")","?","*","+","{"],n=>t.source.indexOf(n)!==-1)===void 0}function Wu(t){const e=t.ignoreCase?"i":"";return new RegExp(`^(?:${t.source})`,e)}function zu(t){const e=t.ignoreCase?"iy":"y";return new RegExp(`${t.source}`,e)}function p_(t,e,n){const r=[];return w(t,Sr)||r.push({message:"A MultiMode Lexer cannot be initialized without a <"+Sr+`> 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,Sr)&&!w(t.modes,t.defaultMode)&&r.push({message:`A MultiMode Lexer cannot be initialized with a ${Sr}: <${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 m_(t,e,n){const r=[];let i=!1;const s=Jr(Ge(Z(t.modes))),a=Ls(s,l=>l[qt]===he.NA),o=fh(n);return e&&k(a,l=>{const u=ch(l,o);if(u!==!1){const f={message:v_(l,u),type:u.issue,tokenType:l};r.push(f)}else w(l,"LINE_BREAKS")?l.LINE_BREAKS===!0&&(i=!0):gl(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 g_(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 uh(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 y_(t){return je(t)&&t.length===1?t.charCodeAt(0):!1}const T_={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 ch(t,e){if(w(t,"LINE_BREAKS"))return!1;if(St(t.PATTERN)){try{gl(e,t.PATTERN)}catch(n){return{issue:Y.IDENTIFY_TERMINATOR,errMsg:n.message}}return!1}else{if(je(t.PATTERN))return!1;if(uh(t))return{issue:Y.CUSTOM_LINE_BREAK};throw Error("non exhaustive match")}}function v_(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 fh(t){return I(t,n=>je(n)?n.charCodeAt(0):n)}function $a(t,e,n){t[e]===void 0?t[e]=[n]:t[e].push(n)}const xr=256;let Oi=[];function It(t){return t<xr?t:Oi[t]}function $_(){if(U(Oi)){Oi=new Array(65536);for(let t=0;t<65536;t++)Oi[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 ns(t,e){return t.tokenTypeIdx===e.tokenTypeIdx}let Vu=1;const dh={};function ni(t){const e=R_(t);A_(e),S_(e),E_(e),k(e,n=>{n.isParent=n.categoryMatches.length>0})}function R_(t){let e=se(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 A_(t){k(t,e=>{ph(e)||(dh[Vu]=e,e.tokenTypeIdx=Vu++),qu(e)&&!M(e.CATEGORIES)&&(e.CATEGORIES=[e.CATEGORIES]),qu(e)||(e.CATEGORIES=[]),x_(e)||(e.categoryMatches=[]),__(e)||(e.categoryMatchesMap={})})}function E_(t){k(t,e=>{e.categoryMatches=[],k(e.categoryMatchesMap,(n,r)=>{e.categoryMatches.push(dh[r].tokenTypeIdx)})})}function S_(t){k(t,e=>{hh([],e)})}function hh(t,e){k(t,n=>{e.categoryMatchesMap[n.tokenTypeIdx]=!0}),k(e.CATEGORIES,n=>{const r=t.concat(e);ge(r,n)||hh(r,n)})}function ph(t){return w(t,"tokenTypeIdx")}function qu(t){return w(t,"CATEGORIES")}function x_(t){return w(t,"categoryMatches")}function __(t){return w(t,"categoryMatchesMap")}function I_(t){return w(t,"tokenTypeIdx")}const io={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 _r={deferDefinitionErrorsHandling:!1,positionTracking:"full",lineTerminatorsPattern:/\n|\r\n?/g,lineTerminatorCharacters:[`
|
|
48
|
+
`,"\r"],ensureOptimizations:!1,safeMode:!1,errorMessageProvider:io,traceInitPerf:!1,skipValidations:!1,recoveryEnabled:!0};Object.freeze(_r);class he{constructor(e,n=_r){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}=Md(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=za({},_r,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===_r.lineTerminatorsPattern)this.config.lineTerminatorsPattern=T_;else if(this.config.lineTerminatorCharacters===_r.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:se(e)},defaultMode:Sr}:(s=!1,i=se(e))}),this.config.skipValidations===!1&&(this.TRACE_INIT("performRuntimeChecks",()=>{this.lexerDefinitionErrors=this.lexerDefinitionErrors.concat(p_(i,this.trackStartLines,this.config.lineTerminatorCharacters))}),this.TRACE_INIT("performWarningRuntimeChecks",()=>{this.lexerDefinitionWarning=this.lexerDefinitionWarning.concat(m_(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(Zx(o,a))}),U(this.lexerDefinitionErrors)){ni(o);let u;this.TRACE_INIT("analyzeTokenTypes",()=>{u=Jx(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=za({},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=>{Ld(o.message)}),this.TRACE_INIT("Choosing sub-methods implementations",()=>{if(lh?(this.chopInput=bn,this.match=this.matchWithTest):(this.updateLastIndex=J,this.match=this.matchWithExec),s&&(this.handleModes=J),this.trackStartLines===!1&&(this.computeNewColumn=bn),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",()=>{Vx()}),this.TRACE_INIT("toFastProperties",()=>{Dd(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 ae=this.hasCustom?0:Math.floor(e.length/10),Me=new Array(ae),ve=[];let He=this.trackStartLines?1:void 0,Ie=this.trackStartLines?1:void 0;const S=g_(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(oe){const we=It(oe),ln=b[we];return ln===void 0?$e:ln}const Pp=oe=>{if(N.length===1&&oe.tokenType.PUSH_MODE===void 0){const we=this.config.errorMessageProvider.buildUnableToPopLexerModeMessage(oe);ve.push({offset:oe.startOffset,line:oe.startLine,column:oe.startColumn,length:oe.image.length,message:we})}else{N.pop();const we=Pn(N);P=this.patternIdxToConfig[we],b=this.charCodeToPatternIdxToConfig[we],_=P.length;const ln=this.canModeBeOptimized[we]&&this.config.safeMode===!1;b&&ln?Q=Gt:Q=V}};function Nl(oe){N.push(oe),b=this.charCodeToPatternIdxToConfig[oe],P=this.patternIdxToConfig[oe],_=P.length,_=P.length;const we=this.canModeBeOptimized[oe]&&this.config.safeMode===!1;b&&we?Q=Gt:Q=V}Nl.call(this,n);let De;const bl=this.config.recoveryEnabled;for(;x<v;){l=null;const oe=R.charCodeAt(x),we=Q(oe),ln=we.length;for(r=0;r<ln;r++){De=we[r];const Re=De.pattern;u=null;const tt=De.short;if(tt!==!1?oe===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,Pp,Nl,m)}else{const Re=x,tt=He,vt=Ie;let nt=bl===!1;for(;nt===!1&&x<v;)for(e=this.chopInput(e,1),x++,i=0;i<_;i++){const Ut=P[i],ia=Ut.pattern,Ol=Ut.short;if(Ol!==!1?R.charCodeAt(x)===Ol&&(nt=!0):Ut.isCustom===!0?nt=ia.exec(R,x,Me,S)!==null:(this.updateLastIndex(ia,x),nt=ia.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}),bl===!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 pn(t){return mh(t)?t.LABEL:t.name}function mh(t){return je(t.LABEL)&&t.LABEL!==""}const w_="parent",Yu="categories",Xu="label",Ju="group",Zu="push_mode",Qu="pop_mode",ec="longer_alt",tc="line_breaks",nc="start_chars_hint";function gh(t){return C_(t)}function C_(t){const e=t.pattern,n={};if(n.name=t.name,ct(e)||(n.PATTERN=e),w(t,w_))throw`The parent property is no longer supported.
|
|
57
|
+
See: https://github.com/chevrotain/chevrotain/issues/564#issuecomment-349062346 for details.`;return w(t,Yu)&&(n.CATEGORIES=t[Yu]),ni([n]),w(t,Xu)&&(n.LABEL=t[Xu]),w(t,Ju)&&(n.GROUP=t[Ju]),w(t,Qu)&&(n.POP_MODE=t[Qu]),w(t,Zu)&&(n.PUSH_MODE=t[Zu]),w(t,ec)&&(n.LONGER_ALT=t[ec]),w(t,tc)&&(n.LINE_BREAKS=t[tc]),w(t,nc)&&(n.START_CHARS_HINT=t[nc]),n}const wt=gh({name:"EOF",pattern:he.NA});ni([wt]);function yl(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 yh(t,e){return ti(t,e)}const fn={buildMismatchTokenMessage({expected:t,actual:e,previous:n,ruleName:r}){return`Expecting ${mh(t)?`--> ${pn(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=>pn(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=>pn(c)).join(",")}]`).join(" ,")}>`;return i+l+a}}};Object.freeze(fn);const k_={buildRuleNotFoundError(t,e){return"Invalid grammar, reference to a rule which is not defined: ->"+e.nonTerminalName+`<-
|
|
63
|
+
inside top level rule: ->`+t.name+"<-"}},jt={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=>pn(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=>pn(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 jn?e=t.topLevelRule.name:e=t.topLevelRule,`Duplicate definition, rule: ->${e}<- is already defined in the grammar: ->${t.grammarName}<-`}};function N_(t,e){const n=new b_(t,e);return n.resolveRefs(),n.errors}class b_ extends Kn{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 O_ 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=se(this.path.ruleStack).reverse(),this.occurrenceStack=se(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 P_ extends O_{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 L_ 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 rc 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 M_ 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 ic 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 so(t,e,n=[]){n=se(n);let r=[],i=0;function s(o){return o.concat(te(t,i+1))}function a(o){const l=so(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 ie)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:te(t,i)}),r}function Th(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&&Pn(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:te(h),ruleStack:Gr(g),occurrenceStack:Gr(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:te(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=se(g);R.push(y.nonTerminalName);const v=se(T);v.push(y.idx);const x={idx:m,def:y.definition.concat(s,te(h)),ruleStack:R,occurrenceStack:v};f.push(x)}else if(y instanceof ie){const R={idx:m,def:te(h),ruleStack:g,occurrenceStack:T};f.push(R),f.push(a);const v={idx:m,def:y.definition.concat(te(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],te(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],te(h)),O={idx:m,def:x,ruleStack:g,occurrenceStack:T};f.push(O)}else if(y instanceof ye){const R={idx:m,def:te(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],te(h)),ae={idx:m,def:O,ruleStack:g,occurrenceStack:T};f.push(ae)}else if(y instanceof q){const R={idx:m,def:te(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],te(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(te(h)),ruleStack:g,occurrenceStack:T};f.push(x),f.push(a)}else if(y instanceof me)f.push({idx:m,def:y.definition.concat(te(h)),ruleStack:g,occurrenceStack:T});else if(y instanceof jn)f.push(D_(y,m,g,T));else throw Error("non exhaustive match")}return c}function D_(t,e,n,r){const i=se(n);i.push(t.name);const s=se(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 Tl(t){if(t instanceof ie||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 sc(t){const{occurrence:e,rule:n,prodType:r,maxLookahead:i}=t,s=Tl(r);return s===W.ALTERNATION?Ys(e,n,i):Xs(e,n,s,i)}function F_(t,e,n,r,i,s){const a=Ys(t,e,n),o=Rh(a)?ns:ti;return s(a,r,o,i)}function G_(t,e,n,r,i,s){const a=Xs(t,e,i,n),o=Rh(a)?ns:ti;return s(a[0],o,r)}function U_(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 B_(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 j_ 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 vh extends Kn{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 ac(t){const e=new Array(t);for(let n=0;n<t;n++)e[n]=[];return e}function Ra(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 K_(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 $h(t,e){const n=I(t,a=>so([a],1)),r=ac(n.length),i=I(n,a=>{const o={};return k(a,l=>{const u=Ra(l.partialPath);k(u,c=>{o[c]=!0})}),o});let s=n;for(let a=1;a<=e;a++){const o=s;s=ac(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=Ra(f);if(K_(i,h,l)||U(d)||f.length===e){const g=r[l];if(ao(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=so(d,a+1,f);s[l]=s[l].concat(g),k(g,T=>{const y=Ra(T.partialPath);k(y,R=>{i[l][R]=!0})})}}}}return r}function Ys(t,e,n,r){const i=new vh(t,W.ALTERNATION,r);return e.accept(i),$h(i.result,n)}function Xs(t,e,n,r){const i=new vh(t,n);e.accept(i);const s=i.result,o=new j_(e,t,n).startWalking(),l=new me({definition:s}),u=new me({definition:o});return $h([l,u],r)}function ao(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 H_(t,e){return t.length<e.length&&qe(t,(n,r)=>{const i=e[r];return n===i||i.categoryMatchesMap[n.tokenTypeIdx]})}function Rh(t){return qe(t,e=>qe(e,n=>qe(n,r=>U(r.categoryMatches))))}function W_(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 z_(t,e,n,r){const i=ke(t,l=>V_(l,n)),s=sI(t,e,n),a=ke(t,l=>tI(l,n)),o=ke(t,l=>X_(l,t,r,n));return i.concat(s,a,o)}function V_(t,e){const n=new Y_;t.accept(n);const r=n.allProductions,i=eR(r,q_),s=yR(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=Ah(l);return d&&(f.parameter=d),f})}function q_(t){return`${We(t)}_#_${t.idx}_#_${Ah(t)}`}function Ah(t){return t instanceof K?t.terminalType.name:t instanceof fe?t.nonTerminalName:""}class Y_ extends Kn{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 X_(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 J_(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 Eh(t,e,n,r=[]){const i=[],s=Pi(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=se(r);return f.push(c),Eh(t,c,n,f)});return i.concat(u)}}function Pi(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 ie||n instanceof xe||n instanceof _e||n instanceof ye||n instanceof q)e=e.concat(Pi(n.definition));else if(n instanceof Te)e=Ge(I(n.definition,s=>Pi(s.definition)));else if(!(n instanceof K))throw Error("non exhaustive match");const r=es(n),i=t.length>1;if(r&&i){const s=te(t);return e.concat(Pi(s))}else return e}class vl extends Kn{constructor(){super(...arguments),this.alternations=[]}visitAlternation(e){this.alternations.push(e)}}function Z_(t,e){const n=new vl;t.accept(n);const r=n.alternations;return ke(r,s=>{const a=Gr(s.definition);return ke(a,(o,l)=>{const u=Th([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 Q_(t,e,n){const r=new vl;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=rI(u,a,t,n),f=iI(u,a,t,n);return c.concat(f)})}class eI extends Kn{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 tI(t,e){const n=new vl;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 nI(t,e,n){const r=[];return k(t,i=>{const s=new eI;i.accept(s);const a=s.allProductions;k(a,o=>{const l=Tl(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 rI(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&&ao(d,c)&&e.definition[h].ignoreAmbiguities!==!0&&f.push(h)}),f.length>1&&!ao(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 iI(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&&H_(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 sI(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 aI(t){const e=ol(t,{errMsgProvider:k_}),n={};return k(t.rules,r=>{n[r.name]=r}),N_(n,e.errMsgProvider)}function oI(t){return t=ol(t,{errMsgProvider:jt}),z_(t.rules,t.tokenTypes,t.errMsgProvider,t.grammarName)}const Sh="MismatchedTokenException",xh="NoViableAltException",_h="EarlyExitException",Ih="NotAllInputParsedException",wh=[Sh,xh,_h,Ih];Object.freeze(wh);function rs(t){return ge(wh,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 Ch extends Js{constructor(e,n,r){super(e,n),this.previousToken=r,this.name=Sh}}class lI extends Js{constructor(e,n,r){super(e,n),this.previousToken=r,this.name=xh}}class uI extends Js{constructor(e,n){super(e,n),this.name=Ih}}class cI extends Js{constructor(e,n,r){super(e,n),this.previousToken=r,this.name=_h}}const Aa={},kh="InRuleRecoveryException";class fI extends Error{constructor(e){super(e),this.name=kh}}class dI{initRecoverable(e){this.firstAfterRepMap={},this.resyncFollows={},this.recoveryEnabled=w(e,"recoveryEnabled")?e.recoveryEnabled:dt.recoveryEnabled,this.recoveryEnabled&&(this.attemptInRepetitionRecovery=hI)}getTokenToInsert(e){const n=yl(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 Ch(h,u,this.LA(0));m.resyncedTokens=Gr(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 fI("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 Ln(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=Ln(e,s=>yh(n,s));if(i!==void 0)return i;n=this.LA(r),r++}}getCurrFollowKey(){if(this.RULE_STACK.length===1)return Aa;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?Aa:{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===Aa)return[wt];const n=e.ruleName+e.idxInCallingRule+ah+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 Gr(n)}attemptInRepetitionRecovery(e,n,r,i,s,a,o){}getCurrentGrammarPath(e,n){const r=this.getHumanReadableRuleStack(),i=se(this.RULE_OCCURRENCE_STACK);return{ruleStack:r,occurrenceStack:i,lastTok:e,lastTokOccurrence:n}}getHumanReadableRuleStack(){return I(this.RULE_STACK,e=>this.shortRuleNameToFullName(e))}}function hI(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 pI=4,Ot=8,Nh=1<<Ot,bh=2<<Ot,oo=3<<Ot,lo=4<<Ot,uo=5<<Ot,Li=6<<Ot;function Ea(t,e,n){return n|e|t}class $l{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=>Eh(n,n,jt))}validateEmptyOrAlternatives(e){return ke(e,n=>Z_(n,jt))}validateAmbiguousAlternationAlternatives(e,n){return ke(e,r=>Q_(r,n,jt))}validateSomeNonEmptyLookaheadPath(e,n){return nI(e,n,jt)}buildLookaheadForAlternation(e){return F_(e.prodOccurrence,e.rule,e.maxLookahead,e.hasPredicates,e.dynamicTokensEnabled,U_)}buildLookaheadForOptional(e){return G_(e.prodOccurrence,e.rule,e.maxLookahead,e.dynamicTokensEnabled,Tl(e.prodType),B_)}}class mI{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 $l({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}=yI(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=Ea(this.fullRuleNameToShort[n.name],Nh,u.idx);this.setLaFuncCache(d,f)})}),k(i,u=>{this.computeLookaheadFunc(n,u.idx,oo,"Repetition",u.maxLookahead,We(u))}),k(s,u=>{this.computeLookaheadFunc(n,u.idx,bh,"Option",u.maxLookahead,We(u))}),k(a,u=>{this.computeLookaheadFunc(n,u.idx,lo,"RepetitionMandatory",u.maxLookahead,We(u))}),k(o,u=>{this.computeLookaheadFunc(n,u.idx,Li,"RepetitionMandatoryWithSeparator",u.maxLookahead,We(u))}),k(l,u=>{this.computeLookaheadFunc(n,u.idx,uo,"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=Ea(this.fullRuleNameToShort[e.name],r,n);this.setLaFuncCache(l,o)})}getKeyForAutomaticLookahead(e,n){const r=this.getLastExplicitRuleShortName();return Ea(r,e,n)}getLaFuncFromCache(e){return this.lookAheadFuncsCache.get(e)}setLaFuncCache(e,n){this.lookAheadFuncsCache.set(e,n)}}class gI extends Kn{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 gI;function yI(t){$i.reset(),t.accept($i);const e=$i.dslMethods;return $i.reset(),e}function oc(t,e){isNaN(t.startOffset)===!0?(t.startOffset=e.startOffset,t.endOffset=e.endOffset):t.endOffset<e.endOffset&&(t.endOffset=e.endOffset)}function lc(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 TI(t,e,n){t.children[n]===void 0?t.children[n]=[e]:t.children[n].push(e)}function vI(t,e,n){t.children[e]===void 0?t.children[e]=[n]:t.children[e].push(n)}const $I="name";function Oh(t,e){Object.defineProperty(t,$I,{enumerable:!1,configurable:!0,writable:!1,value:e})}function RI(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 AI(t,e){const n=function(){};Oh(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=SI(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 EI(t,e,n){const r=function(){};Oh(r,t+"BaseSemanticsWithDefaults");const i=Object.create(n.prototype);return k(e,s=>{i[s]=RI}),r.prototype=i,r.prototype.constructor=r,r}var co;(function(t){t[t.REDUNDANT_METHOD=0]="REDUNDANT_METHOD",t[t.MISSING_METHOD=1]="MISSING_METHOD"})(co||(co={}));function SI(t,e){return xI(t,e)}function xI(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:co.MISSING_METHOD,methodName:i}));return Jr(r)}class _I{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=lc,this.setNodeLocationFromNode=lc,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=oc,this.setNodeLocationFromNode=oc,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];TI(r,n,e),this.setNodeLocationFromToken(r.location,n)}cstPostNonTerminal(e,n){const r=this.CST_STACK[this.CST_STACK.length-1];vI(r,n,e),this.setNodeLocationFromNode(r.location,e.location)}getBaseCstVisitorConstructor(){if(ct(this.baseCstVisitorConstructor)){const e=AI(this.className,Pe(this.gastProductionsCache));return this.baseCstVisitorConstructor=e,e}return this.baseCstVisitorConstructor}getBaseCstVisitorConstructorWithDefaults(){if(ct(this.baseCstVisitorWithDefaultsConstructor)){const e=EI(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 II{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)):ss}LA(e){const n=this.currIdx+e;return n<0||this.tokVectorLength<=n?ss: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 wI{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=as){if(ge(this.definedRulesNames,e)){const a={message:jt.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=as){const i=J_(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(rs(i))return!1;throw i}finally{this.reloadRecogState(r),this.isBackTrackingStack.pop()}}}getGAstProductions(){return this.gastProductionsCache}getSerializedGastProductions(){return Dx(Z(this.gastProductionsCache))}}class CI{initRecognizerEngine(e,n){if(this.className=this.constructor.name,this.shortRuleNameToFull={},this.fullRuleNameToShort={},this.ruleShortNameIdx=256,this.tokenMatcher=ns,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)),I_)){const s=Ge(Z(e.modes)),a=ll(s);this.tokensMap=Se(a,(o,l)=>(o[l.name]=l,o),{})}else if(Oe(e))this.tokensMap=se(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?ns: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:as.resyncEnabled,s=w(r,"recoveryValueFunc")?r.recoveryValueFunc:as.recoveryValueFunc,a=this.ruleShortNameIdx<<pI+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(rs(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(bh,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(lo,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,lo,e,M_)}atLeastOneSepFirstInternal(e,n){const r=this.getKeyForAutomaticLookahead(Li,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,ic],o,Li,e,ic)}else throw this.raiseEarlyExitException(e,W.REPETITION_MANDATORY_WITH_SEPARATOR,n.ERR_MSG)}manyInternal(e,n){const r=this.getKeyForAutomaticLookahead(oo,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,oo,e,L_,a)}manySepFirstInternal(e,n){const r=this.getKeyForAutomaticLookahead(uo,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,rc],o,uo,e,rc)}}repetitionSepSecondInternal(e,n,r,i,s){for(;r();)this.CONSUME(n),i.call(this);this.attemptInRepetitionRecovery(this.repetitionSepSecondInternal,[e,n,r,i,s],r,Li,e,s)}doSingleRepetition(e){const n=this.getLexerPosition();return e.call(this),this.getLexerPosition()>n}orInternal(e,n){const r=this.getKeyForAutomaticLookahead(Nh,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 uI(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 rs(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 Ch(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===kh?r:s}}else throw r}saveRecogState(){const e=this.errors,n=se(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 kI{initErrorHandler(e){this._errors=[],this.errorMessageProvider=w(e,"errorMessageProvider")?e.errorMessageProvider:dt.errorMessageProvider}SAVE_ERROR(e){if(rs(e))return e.context={ruleStack:this.getHumanReadableRuleStack(),ruleOccurrenceStack:se(this.RULE_OCCURRENCE_STACK)},this._errors.push(e),e;throw Error("Trying to save an Error which is not a RecognitionException")}get errors(){return se(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 cI(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 lI(l,this.LA(1),o))}}class NI{initContentAssist(){}computeContentAssist(e,n){const r=this.gastProductionsCache[e];if(ct(r))throw Error(`Rule ->${e}<- does not exist in this grammar.`);return Th([r],n,this.tokenMatcher,this.maxLookahead)}getNextPossibleTokenTypes(e){const n=Be(e.ruleStack),i=this.getGAstProductions()[n];return new P_(i,e).startWalking()}}const Zs={description:"This Object indicates the Parser is during Recording Phase"};Object.freeze(Zs);const uc=!0,cc=Math.pow(2,Ot)-1,Ph=gh({name:"RECORDING_PHASE_TOKEN",pattern:he.NA});ni([Ph]);const Lh=yl(Ph,`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(Lh);const bI={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 OI{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 ss}topLevelRuleRecord(e,n){try{const r=new jn({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 qn.call(this,ie,e,n)}atLeastOneInternalRecord(e,n){qn.call(this,xe,n,e)}atLeastOneSepFirstInternalRecord(e,n){qn.call(this,_e,n,e,uc)}manyInternalRecord(e,n){qn.call(this,q,n,e)}manySepFirstInternalRecord(e,n){qn.call(this,ye,n,e,uc)}orInternalRecord(e,n){return PI.call(this,e,n)}subruleInternalRecord(e,n,r){if(is(n),!e||w(e,"ruleName")===!1){const o=new Error(`<SUBRULE${fc(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=Pn(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?bI:Zs}consumeInternalRecord(e,n,r){if(is(n),!ph(e)){const a=new Error(`<CONSUME${fc(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=Pn(this.recordingProdStack),s=new K({idx:n,terminalType:e,label:r==null?void 0:r.LABEL});return i.definition.push(s),Lh}}function qn(t,e,n,r=!1){is(n);const i=Pn(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 PI(t,e){is(e);const n=Pn(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=$R(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 fc(t){return t===0?"":`${t}`}function is(t){if(t<0||t>cc){const e=new Error(`Invalid DSL Method idx value: <${t}>
|
|
105
|
+
Idx value must be a none negative value smaller than ${cc+1}`);throw e.KNOWN_RECORDER_ERROR=!0,e}}class LI{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}=Md(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 MI(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 ss=yl(wt,"",NaN,NaN,NaN,NaN,NaN,NaN);Object.freeze(ss);const dt=Object.freeze({recoveryEnabled:!1,maxLookahead:3,dynamicTokensEnabled:!1,outputCst:!0,errorMessageProvider:fn,nodeLocationTracking:"none",traceInitPerf:!1,skipValidations:!1}),as=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 dc(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",()=>{Dd(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=aI({rules:Z(this.gastProductionsCache)}),this.definitionErrors=this.definitionErrors.concat(r)}),this.TRACE_INIT("Grammar Validations",()=>{if(U(r)&&this.skipValidations===!1){const i=oI({rules:Z(this.gastProductionsCache),tokenTypes:Z(this.tokensMap),errMsgProvider:jt,grammarName:n}),s=W_({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=Hx(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;MI(ri,[dI,mI,_I,II,CI,wI,kI,NI,OI,LI]);class DI extends ri{constructor(e,n=dt){const r=se(n);r.outputCst=!1,super(e,r)}}function Mn(t,e,n){return`${t.name}_${e}_${n}`}const Ct=1,FI=2,Mh=4,Dh=5,ii=7,GI=8,UI=9,BI=10,jI=11,Fh=12;class Rl{constructor(e){this.target=e}isEpsilon(){return!1}}class Al extends Rl{constructor(e,n){super(e),this.tokenType=n}}class Gh extends Rl{constructor(e){super(e)}isEpsilon(){return!0}}class El extends Rl{constructor(e,n,r){super(e),this.rule=n,this.followState=r}isEpsilon(){return!0}}function KI(t){const e={decisionMap:{},decisionStates:[],ruleToStartState:new Map,ruleToStopState:new Map,states:[]};HI(e,t);const n=t.length;for(let r=0;r<n;r++){const i=t[r],s=sn(e,i,i);s!==void 0&&tw(e,i,s)}return e}function HI(t,e){const n=e.length;for(let r=0;r<n;r++){const i=e[r],s=ee(t,i,void 0,{type:FI}),a=ee(t,i,void 0,{type:ii});s.stop=a,t.ruleToStartState.set(i,s),t.ruleToStopState.set(i,a)}}function Uh(t,e,n){return n instanceof K?Sl(t,e,n.terminalType,n):n instanceof fe?ew(t,e,n):n instanceof Te?YI(t,e,n):n instanceof ie?XI(t,e,n):n instanceof q?WI(t,e,n):n instanceof ye?zI(t,e,n):n instanceof xe?VI(t,e,n):n instanceof _e?qI(t,e,n):sn(t,e,n)}function WI(t,e,n){const r=ee(t,e,n,{type:Dh});Pt(t,r);const i=Hn(t,e,r,n,sn(t,e,n));return jh(t,e,n,i)}function zI(t,e,n){const r=ee(t,e,n,{type:Dh});Pt(t,r);const i=Hn(t,e,r,n,sn(t,e,n)),s=Sl(t,e,n.separator,n);return jh(t,e,n,i,s)}function VI(t,e,n){const r=ee(t,e,n,{type:Mh});Pt(t,r);const i=Hn(t,e,r,n,sn(t,e,n));return Bh(t,e,n,i)}function qI(t,e,n){const r=ee(t,e,n,{type:Mh});Pt(t,r);const i=Hn(t,e,r,n,sn(t,e,n)),s=Sl(t,e,n.separator,n);return Bh(t,e,n,i,s)}function YI(t,e,n){const r=ee(t,e,n,{type:Ct});Pt(t,r);const i=ot(n.definition,a=>Uh(t,e,a));return Hn(t,e,r,n,...i)}function XI(t,e,n){const r=ee(t,e,n,{type:Ct});Pt(t,r);const i=Hn(t,e,r,n,sn(t,e,n));return JI(t,e,n,i)}function sn(t,e,n){const r=Fp(ot(n.definition,i=>Uh(t,e,i)),i=>i!==void 0);return r.length===1?r[0]:r.length===0?void 0:QI(t,r)}function Bh(t,e,n,r,i){const s=r.left,a=r.right,o=ee(t,e,n,{type:jI});Pt(t,o);const l=ee(t,e,n,{type:Fh});return s.loopback=o,l.loopback=o,t.decisionMap[Mn(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 jh(t,e,n,r,i){const s=r.left,a=r.right,o=ee(t,e,n,{type:BI});Pt(t,o);const l=ee(t,e,n,{type:Fh}),u=ee(t,e,n,{type:UI});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[Mn(e,i?"RepetitionWithSeparator":"Repetition",n.idx)]=o,{left:o,right:l}}function JI(t,e,n,r){const i=r.left,s=r.right;return X(i,s),t.decisionMap[Mn(e,"Option",n.idx)]=i,r}function Pt(t,e){return t.decisionStates.push(e),e.decision=t.decisionStates.length-1,e.decision}function Hn(t,e,n,r,...i){const s=ee(t,e,r,{type:GI,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[Mn(e,ZI(r),r.idx)]=n,a}function ZI(t){if(t instanceof Te)return"Alternation";if(t instanceof ie)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 QI(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 El,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,nw(t,a.right)):X(a.right,c)}const r=e[0],i=e[n-1];return{left:r.left,right:i.right}}function Sl(t,e,n,r){const i=ee(t,e,r,{type:Ct}),s=ee(t,e,r,{type:Ct});return xl(i,new Al(s,n)),{left:i,right:s}}function ew(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 El(i,r,a);return xl(s,o),{left:s,right:a}}function tw(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 Gh(e);xl(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 xl(t,e){t.transitions.length===0&&(t.epsilonOnlyTransitions=e.isEpsilon()),t.transitions.push(e)}function nw(t,e){t.states.splice(t.states.indexOf(e),1)}const os={};class fo{constructor(){this.map={},this.configs=[]}get size(){return this.configs.length}finalize(){this.map={}}add(e){const n=Kh(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 Kh(t,e=!0){return`${e?`a${t.alt}`:""}s${t.state.stateNumber}:${t.stack.map(n=>n.stateNumber.toString()).join("_")}`}function rw(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 Hh{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 hc=new Hh;class iw extends $l{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=KI(e.rules),this.dfas=sw(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=Mn(r,"Alternation",n),c=this.atn.decisionMap[l].decision,f=ot(sc({maxLookahead:1,occurrence:n,prodType:"Alternation",rule:r}),d=>ot(d,h=>h[0]));if(pc(f,!1)&&!s){const d=Pl(f,(h,m,g)=>(sa(m,T=>{T&&(h[T.tokenTypeIdx]=g,sa(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 Hh,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=Sa.call(this,a,c,h,o);return typeof g=="number"?g:void 0}:function(){const d=Sa.call(this,a,c,hc,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=Mn(r,i,n),c=this.atn.decisionMap[l].decision,f=ot(sc({maxLookahead:1,occurrence:n,prodType:i,rule:r}),d=>ot(d,h=>h[0]));if(pc(f)&&f[0][0]&&!s){const d=f[0],h=Gp(d);if(h.length===1&&Up(h[0].categoryMatches)){const g=h[0].tokenTypeIdx;return function(){return this.LA(1).tokenTypeIdx===g}}else{const m=Pl(h,(g,T)=>(T!==void 0&&(g[T.tokenTypeIdx]=!0,sa(T.categoryMatches,y=>{g[y]=!0})),g),{});return function(){const g=this.LA(1);return m[g.tokenTypeIdx]===!0}}}return function(){const d=Sa.call(this,a,c,hc,o);return typeof d=="object"?!1:d===0}}}function pc(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 sw(t){const e=t.decisionStates.length,n=Array(e);for(let r=0;r<e;r++)n[r]=rw(t.decisionStates[r],r);return n}function Sa(t,e,n,r){const i=t[e](n);let s=i.start;if(s===void 0){const o=gw(i.atnStartState);s=zh(i,Wh(o)),i.start=s}return aw.apply(this,[i,s,n,r])}function aw(t,e,n,r){let i=e,s=1;const a=[];let o=this.LA(s++);for(;;){let l=dw(i,o);if(l===void 0&&(l=ow.apply(this,[t,i,o,s,n,r])),l===os)return fw(a,i,o);if(l.isAcceptState===!0)return l.prediction;i=l,a.push(o),o=this.LA(s++)}}function ow(t,e,n,r,i,s){const a=hw(e.configs,n,i);if(a.size===0)return mc(t,e,n,os),os;let o=Wh(a);const l=mw(a,i);if(l!==void 0)o.isAcceptState=!0,o.prediction=l,o.configs.uniqueAlt=l;else if($w(a)){const u=Bp(a.alts);o.isAcceptState=!0,o.prediction=u,o.configs.uniqueAlt=u,lw.apply(this,[t,r,a.alts,s])}return o=mc(t,e,n,o),o}function lw(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=uw({topLevelRule:a,ambiguityIndices:n,production:o,prefixPath:i});r(l)}function uw(t){const e=ot(t.prefixPath,i=>pn(i)).join(", "),n=t.production.idx===0?"":t.production.idx;let r=`Ambiguous Alternatives Detected: <${t.ambiguityIndices.join(", ")}> in <${cw(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 cw(t){if(t instanceof fe)return"SUBRULE";if(t instanceof ie)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 fw(t,e,n){const r=Kp(e.configs.elements,s=>s.state.transitions),i=jp(r.filter(s=>s instanceof Al).map(s=>s.tokenType),s=>s.tokenTypeIdx);return{actualToken:n,possibleTokenTypes:i,tokenPath:t}}function dw(t,e){return t.edges[e.tokenTypeIdx]}function hw(t,e,n){const r=new fo,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=pw(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 fo;for(const a of r.elements)ls(a,s)}if(i.length>0&&!Tw(s))for(const a of i)s.add(a);return s}function pw(t,e){if(t instanceof Al&&yh(e,t.tokenType))return t.target}function mw(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 Wh(t){return{configs:t,edges:{},isAcceptState:!1,prediction:-1}}function mc(t,e,n,r){return r=zh(t,r),e.edges[n.tokenTypeIdx]=r,r}function zh(t,e){if(e===os)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 gw(t){const e=new fo,n=t.transitions.length;for(let r=0;r<n;r++){const s={state:t.transitions[r].target,alt:r,stack:[]};ls(s,e)}return e}function ls(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};ls(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=yw(t,s);a!==void 0&&ls(a,e)}}function yw(t,e){if(e instanceof Gh)return{state:e.target,alt:t.alt,stack:t.stack};if(e instanceof El){const n=[...t.stack,e.followState];return{state:e.target,alt:t.alt,stack:n}}}function Tw(t){for(const e of t.elements)if(e.state.type===ii)return!0;return!1}function vw(t){for(const e of t.elements)if(e.state.type!==ii)return!1;return!0}function $w(t){if(vw(t))return!0;const e=Rw(t.elements);return Aw(e)&&!Ew(e)}function Rw(t){const e=new Map;for(const n of t){const r=Kh(n,!1);let i=e.get(r);i===void 0&&(i={},e.set(r,i)),i[n.alt]=!0}return e}function Aw(t){for(const e of Array.from(t.values()))if(Object.keys(e).length>1)return!0;return!1}function Ew(t){for(const e of Array.from(t.values()))if(Object.keys(e).length===1)return!0;return!1}var gc;(function(t){function e(n){return typeof n=="string"}t.is=e})(gc||(gc={}));var ho;(function(t){function e(n){return typeof n=="string"}t.is=e})(ho||(ho={}));var yc;(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})(yc||(yc={}));var us;(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})(us||(us={}));var D;(function(t){function e(r,i){return r===Number.MAX_VALUE&&(r=us.MAX_VALUE),i===Number.MAX_VALUE&&(i=us.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 cs;(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})(cs||(cs={}));var Tc;(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})(Tc||(Tc={}));var po;(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})(po||(po={}));var vc;(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)&&po.is(i.color)}t.is=n})(vc||(vc={}));var $c;(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)||Fn.is(i))&&(p.undefined(i.additionalTextEdits)||p.typedArray(i.additionalTextEdits,Fn.is))}t.is=n})($c||($c={}));var Rc;(function(t){t.Comment="comment",t.Imports="imports",t.Region="region"})(Rc||(Rc={}));var Ac;(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})(Ac||(Ac={}));var mo;(function(t){function e(r,i){return{location:r,message:i}}t.create=e;function n(r){let i=r;return p.defined(i)&&cs.is(i.location)&&p.string(i.message)}t.is=n})(mo||(mo={}));var Ec;(function(t){t.Error=1,t.Warning=2,t.Information=3,t.Hint=4})(Ec||(Ec={}));var Sc;(function(t){t.Unnecessary=1,t.Deprecated=2})(Sc||(Sc={}));var xc;(function(t){function e(n){const r=n;return p.objectLiteral(r)&&p.string(r.href)}t.is=e})(xc||(xc={}));var fs;(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,mo.is))}t.is=n})(fs||(fs={}));var Dn;(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})(Dn||(Dn={}));var Fn;(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})(Fn||(Fn={}));var go;(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})(go||(go={}));var Gn;(function(t){function e(n){const r=n;return p.string(r)}t.is=e})(Gn||(Gn={}));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 Fn.is(a)&&(go.is(a.annotationId)||Gn.is(a.annotationId))}t.is=i})(_c||(_c={}));var yo;(function(t){function e(r,i){return{textDocument:r,edits:i}}t.create=e;function n(r){let i=r;return p.defined(i)&&Ao.is(i.textDocument)&&Array.isArray(i.edits)}t.is=n})(yo||(yo={}));var To;(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||Gn.is(i.annotationId))}t.is=n})(To||(To={}));var vo;(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||Gn.is(i.annotationId))}t.is=n})(vo||(vo={}));var $o;(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||Gn.is(i.annotationId))}t.is=n})($o||($o={}));var Ro;(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)?To.is(i)||vo.is(i)||$o.is(i):yo.is(i)))}t.is=e})(Ro||(Ro={}));var Ic;(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})(Ic||(Ic={}));var wc;(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})(wc||(wc={}));var Ao;(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})(Ao||(Ao={}));var Cc;(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})(Cc||(Cc={}));var Eo;(function(t){t.PlainText="plaintext",t.Markdown="markdown";function e(n){const r=n;return r===t.PlainText||r===t.Markdown}t.is=e})(Eo||(Eo={}));var jr;(function(t){function e(n){const r=n;return p.objectLiteral(n)&&Eo.is(r.kind)&&p.string(r.value)}t.is=e})(jr||(jr={}));var kc;(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})(kc||(kc={}));var Nc;(function(t){t.PlainText=1,t.Snippet=2})(Nc||(Nc={}));var bc;(function(t){t.Deprecated=1})(bc||(bc={}));var Oc;(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})(Oc||(Oc={}));var Pc;(function(t){t.asIs=1,t.adjustIndentation=2})(Pc||(Pc={}));var Lc;(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})(Lc||(Lc={}));var Mc;(function(t){function e(n){return{label:n}}t.create=e})(Mc||(Mc={}));var Dc;(function(t){function e(n,r){return{items:n||[],isIncomplete:!!r}}t.create=e})(Dc||(Dc={}));var ds;(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})(ds||(ds={}));var Fc;(function(t){function e(n){let r=n;return!!r&&p.objectLiteral(r)&&(jr.is(r.contents)||ds.is(r.contents)||p.typedArray(r.contents,ds.is))&&(n.range===void 0||L.is(n.range))}t.is=e})(Fc||(Fc={}));var Gc;(function(t){function e(n,r){return r?{label:n,documentation:r}:{label:n}}t.create=e})(Gc||(Gc={}));var Uc;(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})(Uc||(Uc={}));var Bc;(function(t){t.Text=1,t.Read=2,t.Write=3})(Bc||(Bc={}));var jc;(function(t){function e(n,r){let i={range:n};return p.number(r)&&(i.kind=r),i}t.create=e})(jc||(jc={}));var Kc;(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})(Kc||(Kc={}));var Hc;(function(t){t.Deprecated=1})(Hc||(Hc={}));var Wc;(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})(Wc||(Wc={}));var zc;(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})(zc||(zc={}));var Vc;(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})(Vc||(Vc={}));var qc;(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"})(qc||(qc={}));var hs;(function(t){t.Invoked=1,t.Automatic=2})(hs||(hs={}));var Yc;(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,fs.is)&&(i.only===void 0||p.typedArray(i.only,p.string))&&(i.triggerKind===void 0||i.triggerKind===hs.Invoked||i.triggerKind===hs.Automatic)}t.is=n})(Yc||(Yc={}));var Xc;(function(t){function e(r,i,s){let a={title:r},o=!0;return typeof i=="string"?(o=!1,a.kind=i):Dn.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,fs.is))&&(i.kind===void 0||p.string(i.kind))&&(i.edit!==void 0||i.command!==void 0)&&(i.command===void 0||Dn.is(i.command))&&(i.isPreferred===void 0||p.boolean(i.isPreferred))&&(i.edit===void 0||Ro.is(i.edit))}t.is=n})(Xc||(Xc={}));var Jc;(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)||Dn.is(i.command))}t.is=n})(Jc||(Jc={}));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 Qc;(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})(Qc||(Qc={}));var ef;(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})(ef||(ef={}));var tf;(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"})(tf||(tf={}));var nf;(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"})(nf||(nf={}));var rf;(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})(rf||(rf={}));var sf;(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})(sf||(sf={}));var af;(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})(af||(af={}));var of;(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})(of||(of={}));var lf;(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})(lf||(lf={}));var So;(function(t){t.Type=1,t.Parameter=2;function e(n){return n===1||n===2}t.is=e})(So||(So={}));var xo;(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)||jr.is(i.tooltip))&&(i.location===void 0||cs.is(i.location))&&(i.command===void 0||Dn.is(i.command))}t.is=n})(xo||(xo={}));var uf;(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,xo.is))&&(i.kind===void 0||So.is(i.kind))&&i.textEdits===void 0||p.typedArray(i.textEdits,Fn.is)&&(i.tooltip===void 0||p.string(i.tooltip)||jr.is(i.tooltip))&&(i.paddingLeft===void 0||p.boolean(i.paddingLeft))&&(i.paddingRight===void 0||p.boolean(i.paddingRight))}t.is=n})(uf||(uf={}));var cf;(function(t){function e(n){return{kind:"snippet",value:n}}t.createSnippet=e})(cf||(cf={}));var ff;(function(t){function e(n,r,i,s){return{insertText:n,filterText:r,range:i,command:s}}t.create=e})(ff||(ff={}));var df;(function(t){function e(n){return{items:n}}t.create=e})(df||(df={}));var hf;(function(t){t.Invoked=0,t.Automatic=1})(hf||(hf={}));var pf;(function(t){function e(n,r){return{range:n,text:r}}t.create=e})(pf||(pf={}));var mf;(function(t){function e(n,r){return{triggerKind:n,selectedCompletionInfo:r}}t.create=e})(mf||(mf={}));var gf;(function(t){function e(n){const r=n;return p.objectLiteral(r)&&ho.is(r.uri)&&p.string(r.name)}t.is=e})(gf||(gf={}));var yf;(function(t){function e(s,a,o,l){return new Sw(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}})(yf||(yf={}));let Sw=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 xw{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 qh(e),this.rootNode.root=this.rootNode,this.nodeStack=[this.rootNode],this.rootNode}buildCompositeNode(e){const n=new _l;return n.grammarSource=e,n.root=this.rootNode,this.current.content.push(n),this.nodeStack.push(n),n}buildLeafNode(e,n){const r=new _o(e.startOffset,e.image.length,ja(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 _o(s.startOffset,s.image.length,ja(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 Vh{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 _o extends Vh{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 _l extends Vh{constructor(){super(...arguments),this.content=new Il(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 Il extends Array{constructor(e){super(),this.parent=e,Object.setPrototypeOf(this,Il.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 qh extends _l{get text(){return this._text.substring(this.offset,this.end)}get fullText(){return this._text}constructor(e){super(),this._text="",this._text=e??""}}const Io=Symbol("Datatype");function xa(t){return t.$type===Io}const Tf="",Yh=t=>t.endsWith(Tf)?t:t+Tf;class Xh{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 kw(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 _w extends Xh{get current(){return this.stack[this.stack.length-1]}constructor(e){super(e),this.nodeBuilder=new xw,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(Yh(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(id(e))return Io;{const n=Bo(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===Io&&(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=Ht(r)?i.image:this.converter.convert(i.image,a);this.assign(o.operator,o.feature,c,a,l)}else if(xa(u)){let c=i.image;Ht(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(xa(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 gm(e),this.nodeBuilder.construct(e),this.stack.pop(),xa(e)?this.converter.convert(e.value,e.$cstNode):(ym(this.astReflection,e),e)}getAssignment(e){if(!this.assignmentMap.has(e)){const n=Rs(e,Kt);this.assignmentMap.set(e,{assignment:n,isCrossRef:n?Do(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 Iw{buildMismatchTokenMessage(e){return fn.buildMismatchTokenMessage(e)}buildNotAllInputParsedMessage(e){return fn.buildNotAllInputParsedMessage(e)}buildNoViableAltMessage(e){return fn.buildNoViableAltMessage(e)}buildEarlyExitMessage(e){return fn.buildEarlyExitMessage(e)}}class Jh extends Iw{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 ww extends Xh{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(Yh(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 Cw={recoveryEnabled:!0,nodeLocationTracking:"full",skipValidations:!0,errorMessageProvider:new Jh};class kw extends DI{constructor(e,n){const r=n&&"maxLookahead"in n;super(e,Object.assign(Object.assign(Object.assign({},Cw),{lookaheadStrategy:r?new $l({maxLookahead:n.maxLookahead}):new iw({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 Zh(t,e,n){return Nw({parser:e,tokens:n,ruleNames:new Map},t),e}function Nw(t,e){const n=Qf(e,!1),r=re(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,Yt(s,i.definition))}}function Yt(t,e,n=!1){let r;if(Ht(e))r=Fw(t,e);else if($s(e))r=bw(t,e);else if(Kt(e))r=Yt(t,e.terminal);else if(Do(e))r=Qh(t,e);else if(Wt(e))r=Ow(t,e);else if(Vf(e))r=Lw(t,e);else if(qf(e))r=Mw(t,e);else if(Fo(e))r=Dw(t,e);else if(lm(e)){const i=t.consume++;r=()=>t.parser.consume(i,wt,e)}else throw new Kf(e.$cstNode,`Unexpected element type: ${e.$type}`);return ep(t,n?void 0:ps(e),r,e.cardinality)}function bw(t,e){const n=jo(e);return()=>t.parser.action(n,e)}function Ow(t,e){const n=e.rule.ref;if(Ne(n)){const r=t.subrule++,i=n.fragment,s=e.arguments.length>0?Pw(n,e.arguments):()=>({});return a=>t.parser.subrule(r,tp(t,n),i,e,s(a))}else if(Jt(n)){const r=t.consume++,i=wo(t,n.name);return()=>t.parser.consume(r,i,e)}else if(n)Wr();else throw new Kf(e.$cstNode,`Undefined rule: ${e.rule.$refText}`)}function Pw(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(nm(t)){const e=at(t.left),n=at(t.right);return r=>e(r)||n(r)}else if(tm(t)){const e=at(t.left),n=at(t.right);return r=>e(r)&&n(r)}else if(rm(t)){const e=at(t.value);return n=>!e(n)}else if(im(t)){const e=t.parameter.ref.name;return n=>n!==void 0&&n[e]===!0}else if(em(t)){const e=!!t.true;return()=>e}Wr()}function Lw(t,e){if(e.elements.length===1)return Yt(t,e.elements[0]);{const n=[];for(const i of e.elements){const s={ALT:Yt(t,i,!0)},a=ps(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 Mw(t,e){if(e.elements.length===1)return Yt(t,e.elements[0]);const n=[];for(const o of e.elements){const l={ALT:Yt(t,o,!0)},u=ps(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=ep(t,ps(e),s,"*");return o=>{a(o),t.parser.isRecording()||t.parser.unorderedGroups.delete(i(r,t.parser))}}function Dw(t,e){const n=e.elements.map(r=>Yt(t,r));return r=>n.forEach(i=>i(r))}function ps(t){if(Fo(t))return t.guardCondition}function Qh(t,e,n=e.terminal){if(n)if(Wt(n)&&Ne(n.rule.ref)){const r=n.rule.ref,i=t.subrule++;return s=>t.parser.subrule(i,tp(t,r),!1,e,s)}else if(Wt(n)&&Jt(n.rule.ref)){const r=t.consume++,i=wo(t,n.rule.ref.name);return()=>t.parser.consume(r,i,e)}else if(Ht(n)){const r=t.consume++,i=wo(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=nd(e.type.ref),i=r==null?void 0:r.terminal;if(!i)throw new Error("Could not find name assignment for type: "+jo(e.type.ref));return Qh(t,e,i)}}function Fw(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 ep(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:dc(),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:dc(),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 tp(t,e){const n=Gw(t,e),r=t.parser.getRule(n);if(!r)throw new Error(`Rule "${n}" not found."`);return r}function Gw(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);)(Fo(r)||Vf(r)||qf(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 wo(t,e){const n=t.tokens[e];if(!n)throw new Error(`Token "${e}" not found."`);return n}function Uw(t){const e=t.Grammar,n=t.parser.Lexer,r=new ww(t);return Zh(e,r,n.definition),r.finalize(),r}function Bw(t){const e=jw(t);return e.finalize(),e}function jw(t){const e=t.Grammar,n=t.parser.Lexer,r=new _w(t);return Zh(e,r,n.definition)}class np{constructor(){this.diagnostics=[]}buildTokens(e,n){const r=re(Qf(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&&Ha(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(Jt).filter(n=>!n.fragment).map(n=>this.buildTerminalToken(n)).toArray()}buildTerminalToken(e){const n=Ko(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=Ha(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(Ht)).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(_m(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&&Im("^"+s.source+"$",e.value)&&r.push(i),r},[])}}class rp{convert(e,n){let r=n.grammarSource;if(Do(r)&&(r=Nm(r)),Wt(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=Fm(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 Kr={},Qs={};Object.defineProperty(Qs,"__esModule",{value:!0});let Co;function ko(){if(Co===void 0)throw new Error("No runtime abstraction layer installed");return Co}(function(t){function e(n){if(n===void 0)throw new Error("No runtime abstraction layer provided");Co=n}t.install=e})(ko||(ko={}));Qs.default=ko;var le={};Object.defineProperty(le,"__esModule",{value:!0});le.stringArray=le.array=le.func=le.error=le.number=le.string=le.boolean=void 0;function Kw(t){return t===!0||t===!1}le.boolean=Kw;function ip(t){return typeof t=="string"||t instanceof String}le.string=ip;function Hw(t){return typeof t=="number"||t instanceof Number}le.number=Hw;function Ww(t){return t instanceof Error}le.error=Ww;function zw(t){return typeof t=="function"}le.func=zw;function sp(t){return Array.isArray(t)}le.array=sp;function Vw(t){return sp(t)&&t.every(e=>ip(e))}le.stringArray=Vw;var Un={};Object.defineProperty(Un,"__esModule",{value:!0});var ap=Un.Emitter=Un.Event=void 0;const qw=Qs;var vf;(function(t){const e={dispose(){}};t.None=function(){return e}})(vf||(Un.Event=vf={}));class Yw{add(e,n=null,r){this._callbacks||(this._callbacks=[],this._contexts=[]),this._callbacks.push(e),this._contexts.push(n),Array.isArray(r)&&r.push({dispose:()=>this.remove(e,n)})}remove(e,n=null){if(!this._callbacks)return;let r=!1;for(let i=0,s=this._callbacks.length;i<s;i++)if(this._callbacks[i]===e)if(this._contexts[i]===n){this._callbacks.splice(i,1),this._contexts.splice(i,1);return}else r=!0;if(r)throw new Error("When adding a listener with a context, you should remove it with the same context")}invoke(...e){if(!this._callbacks)return[];const n=[],r=this._callbacks.slice(0),i=this._contexts.slice(0);for(let s=0,a=r.length;s<a;s++)try{n.push(r[s].apply(i[s],e))}catch(o){(0,qw.default)().console.error(o)}return n}isEmpty(){return!this._callbacks||this._callbacks.length===0}dispose(){this._callbacks=void 0,this._contexts=void 0}}class ea{constructor(e){this._options=e}get event(){return this._event||(this._event=(e,n,r)=>{this._callbacks||(this._callbacks=new Yw),this._options&&this._options.onFirstListenerAdd&&this._callbacks.isEmpty()&&this._options.onFirstListenerAdd(this),this._callbacks.add(e,n);const i={dispose:()=>{this._callbacks&&(this._callbacks.remove(e,n),i.dispose=ea._noop,this._options&&this._options.onLastListenerRemove&&this._callbacks.isEmpty()&&this._options.onLastListenerRemove(this))}};return Array.isArray(r)&&r.push(i),i}),this._event}fire(e){this._callbacks&&this._callbacks.invoke.call(this._callbacks,e)}dispose(){this._callbacks&&(this._callbacks.dispose(),this._callbacks=void 0)}}ap=Un.Emitter=ea;ea._noop=function(){};var z;Object.defineProperty(Kr,"__esModule",{value:!0});var wl=Kr.CancellationTokenSource=z=Kr.CancellationToken=void 0;const Xw=Qs,Jw=le,No=Un;var ms;(function(t){t.None=Object.freeze({isCancellationRequested:!1,onCancellationRequested:No.Event.None}),t.Cancelled=Object.freeze({isCancellationRequested:!0,onCancellationRequested:No.Event.None});function e(n){const r=n;return r&&(r===t.None||r===t.Cancelled||Jw.boolean(r.isCancellationRequested)&&!!r.onCancellationRequested)}t.is=e})(ms||(z=Kr.CancellationToken=ms={}));const Zw=Object.freeze(function(t,e){const n=(0,Xw.default)().timer.setTimeout(t.bind(e),0);return{dispose(){n.dispose()}}});class $f{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?Zw:(this._emitter||(this._emitter=new No.Emitter),this._emitter.event)}dispose(){this._emitter&&(this._emitter.dispose(),this._emitter=void 0)}}class Qw{get token(){return this._token||(this._token=new $f),this._token}cancel(){this._token?this._token.cancel():this._token=ms.Cancelled}dispose(){this._token?this._token instanceof $f&&this._token.dispose():this._token=ms.None}}wl=Kr.CancellationTokenSource=Qw;function eC(){return new Promise(t=>{typeof setImmediate>"u"?setTimeout(t,0):setImmediate(t)})}let Mi=0,tC=10;function nC(){return Mi=performance.now(),new wl}const gs=Symbol("OperationCancelled");function ta(t){return t===gs}async function Ee(t){if(t===z.None)return;const e=performance.now();if(e-Mi>=tC&&(Mi=e,await eC(),Mi=performance.now()),t.isCancellationRequested)throw gs}class Cl{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=lp(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=Rf(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=Rf(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&&op(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 bo;(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=Oo(s.map(rC),(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})(bo||(bo={}));function Oo(t,e){if(t.length<=1)return t;const n=t.length/2|0,r=t.slice(0,n),i=t.slice(n);Oo(r,e),Oo(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 Rf(t,e,n=0){const r=e?[n]:[];for(let i=0;i<t.length;i++){const s=t.charCodeAt(i);op(s)&&(s===13&&i+1<t.length&&t.charCodeAt(i+1)===10&&i++,r.push(n+i+1))}return r}function op(t){return t===13||t===10}function lp(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 rC(t){const e=lp(t.range);return e!==t.range?{newText:t.newText,range:e}:t}var up;(()=>{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,ae(_[4]||u),ae(_[5]||u),ae(_[7]||u),ae(_[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 ae(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={}))})(),up=r})();const{URI:Xt,Utils:Yn}=up;var kt;(function(t){t.basename=Yn.basename,t.dirname=Yn.dirname,t.extname=Yn.extname,t.joinPath=Yn.joinPath,t.resolvePath=Yn.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 Xt.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 iC{constructor(e){this.serviceRegistry=e.ServiceRegistry,this.textDocuments=e.workspace.TextDocuments,this.fileSystemProvider=e.workspace.FileSystemProvider}async fromUri(e,n=z.None){const r=await this.fileSystemProvider.readFile(e);return this.createAsync(e,r,n)}fromTextDocument(e,n,r){return n=n??Xt.parse(e.uri),z.is(r)?this.createAsync(n,e,r):this.create(n,e,r)}fromString(e,n,r){return z.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=bo.create(e.toString(),r.getServices(e).LanguageMetaData.languageId,0,n??""))}}class sC{constructor(e){this.documentMap=new Map,this.langiumDocumentFactory=e.workspace.LangiumDocumentFactory,this.serviceRegistry=e.ServiceRegistry}get all(){return re(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 _a=Symbol("ref_resolving");class aC{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.None){for(const r of dn(e.parseResult.value))await Ee(n),Xf(r).forEach(i=>this.doLink(i,e))}doLink(e,n){var r;const i=e.reference;if(i._ref===void 0){i._ref=_a;try{const s=this.getCandidate(e);if(wi(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(Hp(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=_a;const l=Ka(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===_a)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 wi(this._ref)?this._ref:void 0}};return a}getLinkedNode(e){var n;try{const r=this.getCandidate(e);if(wi(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=Ka(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 oC(t){return typeof t.name=="string"}class lC{getName(e){if(oC(e))return e.name}getNameNode(e){return td(e.$cstNode,"name")}}class uC{constructor(e){this.nameProvider=e.references.NameProvider,this.index=e.shared.workspace.IndexManager,this.nodeLocator=e.workspace.AstNodeLocator}findDeclaration(e){if(e){const n=Mm(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||Vp(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),re(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:Wi(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 Ua.sum(re(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 re(this.map.entries()).flatMap(([e,n])=>n.map(r=>[e,r]))}keys(){return re(this.map.keys())}values(){return re(this.map.values()).flat()}entriesGroupedByKey(){return re(this.map.entries())}}class Af{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 cC{constructor(e){this.nameProvider=e.references.NameProvider,this.descriptions=e.workspace.AstNodeDescriptionProvider}async computeExports(e,n=z.None){return this.computeExportsForNode(e.parseResult.value,e,void 0,n)}async computeExportsForNode(e,n,r=Go,i=z.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.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 Ef{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 fC{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=re(this.elements.values());return this.outerScope&&(e=e.concat(this.outerScope.getAllElements())),e}}class cp{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 dC extends cp{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 hC extends cp{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 pC extends dC{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 mC{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 pC(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(re(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 Ef(re(e),n,r)}createScopeForNodes(e,n,r){const i=re(e).map(s=>{const a=this.nameProvider.getName(s);if(a)return this.descriptions.createDescription(s,a)}).nonNullable();return new Ef(i,n,r)}getGlobalScope(e,n){return this.globalScopeCache.get(e,()=>new fC(this.indexManager.allElements(e)))}}function gC(t){return typeof t.$comment=="string"}function Sf(t){return typeof t=="object"&&!!t&&("$ref"in t||"$error"in t)}class yC{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=Om(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];Sf(f)?u[c]=this.reviveReference(e,l,n,f,r):ue(f)&&this.linkNode(f,n,r,e,l,c)}else Sf(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):Xt.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)):Xt.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 TC{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 Ir(t){return{code:t}}var Ts;(function(t){t.all=["fast","slow","built-in"]})(Ts||(Ts={}));class vC{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(ta(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=re(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 $C{constructor(e){this.validationRegistry=e.validation.ValidationRegistry,this.metadata=e.LanguageMetaData}async validateDocument(e,n={},r=z.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(ta(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:Ia(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:AC(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=ja(i.token);if(s){const a={severity:Ia("error"),range:s,message:i.message,data:Ir(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.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.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.None){await Promise.all(dn(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.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:RC(r),severity:Ia(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 RC(t){if(t.range)return t.range;let e;return typeof t.property=="string"?e=td(t.node.$cstNode,t.property,t.index):typeof t.keyword=="string"&&(e=Pm(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 Ia(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 AC(t){switch(t){case"error":return Ir(Fe.LexingError);case"warning":return Ir(Fe.LexingWarning);case"info":return Ir(Fe.LexingInfo);case"hint":return Ir(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 EC{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=Wi((l=this.nameProvider.getNameNode(e))!==null&&l!==void 0?l:e.$cstNode))};return{node:e,name:n,get nameSegment(){return o()},selectionSegment:Wi(e.$cstNode),type:e.$type,documentUri:i.uri,path:s}}}class SC{constructor(e){this.nodeLocator=e.workspace.AstNodeLocator}async createDescriptions(e,n=z.None){const r=[],i=e.parseResult.value;for(const s of dn(i))await Ee(n),Xf(s).filter(a=>!wi(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:Wi(r),local:kt.equals(n.documentUri,i)}}}class xC{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)}}class _C{constructor(e){this._ready=new Cl,this.settings={},this.workspaceConfig=!1,this.onConfigurationSectionUpdateEmitter=new ap,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 Pr;(function(t){function e(n){return{dispose:async()=>await n()}}t.create=e})(Pr||(Pr={}));class IC{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.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.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=re(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),Pr.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),Pr.create(()=>{this.buildPhaseListeners.delete(e,n)})}onDocumentPhase(e,n){return this.documentPhaseListeners.add(e,n),Pr.create(()=>{this.documentPhaseListeners.delete(e,n)})}waitUntil(e,n,r){let i;if(n&&"path"in n?i=n:r=n,r??(r=z.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(!ta(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 wC{constructor(e){this.symbolIndex=new Map,this.symbolByTypeIndex=new hC,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)})}),re(i)}allElements(e,n){let r=re(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.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.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 CC{constructor(e){this.initialBuildOptions={},this._ready=new Cl,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.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 Xt.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 kC{buildUnexpectedCharactersMessage(e,n,r,i,s){return io.buildUnexpectedCharactersMessage(e,n,r,i,s)}buildUnableToPopLexerModeMessage(e){return io.buildUnableToPopLexerModeMessage(e)}}const NC={mode:"full"};class bC{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=xf(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=NC){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(xf(e))return e;const n=fp(e)?Object.values(e.modes).flat():e,r={};return n.forEach(i=>r[i.name]=i),r}}function OC(t){return Array.isArray(t)&&(t.length===0||"name"in t[0])}function fp(t){return t&&"modes"in t&&"defaultMode"in t}function xf(t){return!OC(t)&&!fp(t)}function PC(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=dp(t),a=kl(r),o=DC({lines:s,position:i,options:a});return jC({index:0,tokens:o,position:i})}function LC(t,e){const n=kl(e),r=dp(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 dp(t){let e="";return typeof t=="string"?e=t:e=t.text,e.split(Rm)}const _f=/\s*(@([\p{L}][\p{L}\p{N}]*)?)/uy,MC=/\{(@[\p{L}][\p{L}\p{N}]*)(\s*)([^\r\n}]+)?\}/gu;function DC(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,BC(c)),Po(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{_f.lastIndex=f;const h=_f.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=Po(c,f)}if(f<c.length){const m=c.substring(f),g=Array.from(m.matchAll(MC));i.push(...FC(g,m,s,a+f))}}s++,a=0}return i.length>0&&i[i.length-1].type==="break"?i.slice(0,-1):i}function FC(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 GC=/\S/,UC=/\s*$/;function Po(t,e){const n=t.substring(e).match(GC);return n?e+n.index:t.length}function BC(t){const e=t.match(UC);if(e&&typeof e.index=="number")return e.index}function jC(t){var e,n,r,i;const s=D.create(t.position.line,t.position.character);if(t.tokens.length===0)return new If([],L.create(s,s));const a=[];for(;t.index<t.tokens.length;){const u=KC(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 If(a,L.create(o,l))}function KC(t,e){const n=t.tokens[t.index];if(n.type==="tag")return pp(t,!1);if(n.type==="text"||n.type==="inline-tag")return hp(t);HC(n,e),t.index++}function HC(t,e){if(e){const n=new gp("",t.range);"inlines"in e?e.inlines.push(n):e.content.inlines.push(n)}}function hp(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(WC(t)),r=e,e=t.tokens[t.index];return new Lo(i,L.create(n.range.start,r.range.end))}function WC(t){return t.tokens[t.index].type==="inline-tag"?pp(t,!0):mp(t)}function pp(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=mp(t);return new Ca(r,new Lo([s],s.range),e,L.create(n.range.start,s.range.end))}else{const s=hp(t);return new Ca(r,s,e,L.create(n.range.start,s.range.end))}else{const s=n.range;return new Ca(r,new Lo([],s),e,s)}}function mp(t){const e=t.tokens[t.index++];return new gp(e.content,e.range)}function kl(t){if(!t)return kl({start:"/**",end:"*/",line:"*"});const{start:e,end:n,line:r}=t;return{start:wa(e,!0),end:wa(n,!1),line:wa(r,!0)}}function wa(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 If{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+=wf(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+=wf(n)+i}return n.trim()}}class Ca{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=zC(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 zC(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=Po(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:VC(e,a)}}function VC(t,e){try{return Xt.parse(t,!0),`[${e}](${t})`}catch{return t}}class Lo{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 gp{constructor(e,n){this.text=e,this.range=n}toString(){return this.text}toMarkdown(){return this.text}}function wf(t){return t.endsWith(`
|
|
122
|
+
`)?`
|
|
123
|
+
`:`
|
|
124
|
+
|
|
125
|
+
`}class qC{constructor(e){this.indexManager=e.shared.workspace.IndexManager,this.commentProvider=e.documentation.CommentProvider}getDocumentation(e){const n=this.commentProvider.getComment(e);if(n&&LC(n))return PC(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 YC{constructor(e){this.grammarConfig=()=>e.parser.GrammarConfig}getComment(e){var n;return gC(e)?e.$comment:(n=Jp(e.$cstNode,this.grammarConfig().multilineCommentRules))===null||n===void 0?void 0:n.text}}class XC{constructor(e){this.syncParser=e.parser.LangiumParser}parse(e,n){return Promise.resolve(this.syncParser.parse(e))}}class JC{constructor(){this.previousTokenSource=new wl,this.writeQueue=[],this.readQueue=[],this.done=!0}write(e){this.cancelWrite();const n=nC();return this.previousTokenSource=n,this.enqueue(this.writeQueue,e,n.token)}read(e){return this.enqueue(this.readQueue,e)}enqueue(e,n,r=z.None){const i=new Cl,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){ta(s)?r.resolve(void 0):r.reject(s)}})),this.done=!0,this.performNextOperation()}cancelWrite(){this.previousTokenSource.cancel()}}class ZC{constructor(e){this.grammarElementIdMap=new Af,this.tokenTypeIdMap=new Af,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 dn(e))n.set(i,{});if(e.$cstNode)for(const i of Ba(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 jf(e)?r.fullText=e.fullText:r.grammarSource=this.getGrammarElementId(e.grammarSource),r.hidden=e.hidden,r.astNode=n.astNodes.get(e.astNode),Lr(e)?r.content=e.content.map(i=>this.dehydrateCstNode(i,n)):Bf(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 dn(e))n.set(s,{});let i;if(e.$cstNode)for(const s of Ba(e.$cstNode)){let a;"fullText"in s?(a=new qh(s.fullText),i=a):"content"in s?a=new _l:"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),Lr(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 _o(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 dn(this.grammar))Qp(n)&&this.grammarElementIdMap.set(n,e++)}}function Lt(t){return{documentation:{CommentProvider:e=>new YC(e),DocumentationProvider:e=>new qC(e)},parser:{AsyncParser:e=>new XC(e),GrammarConfig:e=>Hm(e),LangiumParser:e=>Bw(e),CompletionParser:e=>Uw(e),ValueConverter:()=>new rp,TokenBuilder:()=>new np,Lexer:e=>new bC(e),ParserErrorMessageProvider:()=>new Jh,LexerErrorMessageProvider:()=>new kC},workspace:{AstNodeLocator:()=>new xC,AstNodeDescriptionProvider:e=>new EC(e),ReferenceDescriptionProvider:e=>new SC(e)},references:{Linker:e=>new aC(e),NameProvider:()=>new lC,ScopeProvider:e=>new mC(e),ScopeComputation:e=>new cC(e),References:e=>new uC(e)},serializer:{Hydrator:e=>new ZC(e),JsonSerializer:e=>new yC(e)},validation:{DocumentValidator:e=>new $C(e),ValidationRegistry:e=>new vC(e)},shared:()=>t.shared}}function Mt(t){return{ServiceRegistry:e=>new TC(e),workspace:{LangiumDocuments:e=>new sC(e),LangiumDocumentFactory:e=>new iC(e),DocumentBuilder:e=>new IC(e),IndexManager:e=>new wC(e),WorkspaceManager:e=>new CC(e),FileSystemProvider:e=>t.fileSystemProvider(e),WorkspaceLock:()=>new JC,ConfigurationProvider:e=>new _C(e)}}}var Cf;(function(t){t.merge=(e,n)=>vs(vs({},e),n)})(Cf||(Cf={}));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 yp(u)}const QC=Symbol("isProxy");function yp(t,e){const n=new Proxy({},{deleteProperty:()=>!1,set:()=>{throw new Error("Cannot set property on injected service container")},get:(r,i)=>i===QC?!0:Nf(r,i,t,e||n),getOwnPropertyDescriptor:(r,i)=>(Nf(r,i,t,e||n),Object.getOwnPropertyDescriptor(r,i)),has:(r,i)=>i in t,ownKeys:()=>[...Object.getOwnPropertyNames(t)]});return n}const kf=Symbol();function Nf(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]===kf)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]=kf;try{t[e]=typeof i=="function"?i(r):yp(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 ek{readFile(){throw new Error("No file system is available.")}async readDirectory(){return[]}}const Dt={fileSystemProvider:()=>new ek},tk={Grammar:()=>{},LanguageMetaData:()=>({caseInsensitive:!1,fileExtensions:[".langium"],languageId:"langium"})},nk={AstReflection:()=>new Yf};function rk(){const t=ce(Mt(Dt),nk),e=ce(Lt({shared:t}),tk);return t.ServiceRegistry.register(e),e}function an(t){var e;const n=rk(),r=n.serializer.JsonSerializer.deserialize(t);return n.shared.workspace.LangiumDocumentFactory.fromModel(r,Xt.parse(`memory://${(e=r.name)!==null&&e!==void 0?e:"grammar"}.langium`)),r}var ik=Object.defineProperty,A=(t,e)=>ik(t,"name",{value:e,configurable:!0}),bf="Statement",Di="Architecture";function sk(t){return Ke.isInstance(t,Di)}A(sk,"isArchitecture");var Ri="Axis",wr="Branch";function ak(t){return Ke.isInstance(t,wr)}A(ak,"isBranch");var Ai="Checkout",Ei="CherryPicking",ka="ClassDefStatement",Cr="Commit";function ok(t){return Ke.isInstance(t,Cr)}A(ok,"isCommit");var Na="Curve",ba="Edge",Oa="Entry",kr="GitGraph";function lk(t){return Ke.isInstance(t,kr)}A(lk,"isGitGraph");var Pa="Group",Fi="Info";function uk(t){return Ke.isInstance(t,Fi)}A(uk,"isInfo");var Si="Item",La="Junction",Nr="Merge";function ck(t){return Ke.isInstance(t,Nr)}A(ck,"isMerge");var Ma="Option",Gi="Packet";function fk(t){return Ke.isInstance(t,Gi)}A(fk,"isPacket");var Ui="PacketBlock";function dk(t){return Ke.isInstance(t,Ui)}A(dk,"isPacketBlock");var Bi="Pie";function hk(t){return Ke.isInstance(t,Bi)}A(hk,"isPie");var ji="PieSection";function pk(t){return Ke.isInstance(t,ji)}A(pk,"isPieSection");var Da="Radar",Fa="Service",Ki="Treemap";function mk(t){return Ke.isInstance(t,Ki)}A(mk,"isTreemap");var Ga="TreemapRow",xi="Direction",_i="Leaf",Ii="Section",mn,Tp=(mn=class extends Uf{getAllTypes(){return[Di,Ri,wr,Ai,Ei,ka,Cr,Na,xi,ba,Oa,kr,Pa,Fi,Si,La,_i,Nr,Ma,Gi,Ui,Bi,ji,Da,Ii,Fa,bf,Ki,Ga]}computeIsSubtype(e,n){switch(e){case wr:case Ai:case Ei:case Cr:case Nr:return this.isSubtype(bf,n);case xi:return this.isSubtype(kr,n);case _i:case Ii:return this.isSubtype(Si,n);default:return!1}}getReferenceType(e){const n=`${e.container.$type}:${e.property}`;switch(n){case"Entry:axis":return Ri;default:throw new Error(`${n} is not a valid reference id.`)}}getTypeMetaData(e){switch(e){case Di:return{name:Di,properties:[{name:"accDescr"},{name:"accTitle"},{name:"edges",defaultValue:[]},{name:"groups",defaultValue:[]},{name:"junctions",defaultValue:[]},{name:"services",defaultValue:[]},{name:"title"}]};case Ri:return{name:Ri,properties:[{name:"label"},{name:"name"}]};case wr:return{name:wr,properties:[{name:"name"},{name:"order"}]};case Ai:return{name:Ai,properties:[{name:"branch"}]};case Ei:return{name:Ei,properties:[{name:"id"},{name:"parent"},{name:"tags",defaultValue:[]}]};case ka:return{name:ka,properties:[{name:"className"},{name:"styleText"}]};case Cr:return{name:Cr,properties:[{name:"id"},{name:"message"},{name:"tags",defaultValue:[]},{name:"type"}]};case Na:return{name:Na,properties:[{name:"entries",defaultValue:[]},{name:"label"},{name:"name"}]};case ba:return{name:ba,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 Oa:return{name:Oa,properties:[{name:"axis"},{name:"value"}]};case kr:return{name:kr,properties:[{name:"accDescr"},{name:"accTitle"},{name:"statements",defaultValue:[]},{name:"title"}]};case Pa:return{name:Pa,properties:[{name:"icon"},{name:"id"},{name:"in"},{name:"title"}]};case Fi:return{name:Fi,properties:[{name:"accDescr"},{name:"accTitle"},{name:"title"}]};case Si:return{name:Si,properties:[{name:"classSelector"},{name:"name"}]};case La:return{name:La,properties:[{name:"id"},{name:"in"}]};case Nr:return{name:Nr,properties:[{name:"branch"},{name:"id"},{name:"tags",defaultValue:[]},{name:"type"}]};case Ma:return{name:Ma,properties:[{name:"name"},{name:"value",defaultValue:!1}]};case Gi:return{name:Gi,properties:[{name:"accDescr"},{name:"accTitle"},{name:"blocks",defaultValue:[]},{name:"title"}]};case Ui:return{name:Ui,properties:[{name:"bits"},{name:"end"},{name:"label"},{name:"start"}]};case Bi:return{name:Bi,properties:[{name:"accDescr"},{name:"accTitle"},{name:"sections",defaultValue:[]},{name:"showData",defaultValue:!1},{name:"title"}]};case ji:return{name:ji,properties:[{name:"label"},{name:"value"}]};case Da:return{name:Da,properties:[{name:"accDescr"},{name:"accTitle"},{name:"axes",defaultValue:[]},{name:"curves",defaultValue:[]},{name:"options",defaultValue:[]},{name:"title"}]};case Fa:return{name:Fa,properties:[{name:"icon"},{name:"iconText"},{name:"id"},{name:"in"},{name:"title"}]};case Ki:return{name:Ki,properties:[{name:"accDescr"},{name:"accTitle"},{name:"title"},{name:"TreemapRows",defaultValue:[]}]};case Ga:return{name:Ga,properties:[{name:"indent"},{name:"item"}]};case xi:return{name:xi,properties:[{name:"accDescr"},{name:"accTitle"},{name:"dir"},{name:"statements",defaultValue:[]},{name:"title"}]};case _i:return{name:_i,properties:[{name:"classSelector"},{name:"name"},{name:"value"}]};case Ii:return{name:Ii,properties:[{name:"classSelector"},{name:"name"}]};default:return{name:e,properties:[]}}}},A(mn,"MermaidAstReflection"),mn),Ke=new Tp,Of,gk=A(()=>Of??(Of=an(`{"$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"),Pf,yk=A(()=>Pf??(Pf=an(`{"$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"),Lf,Tk=A(()=>Lf??(Lf=an(`{"$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"),Mf,vk=A(()=>Mf??(Mf=an(`{"$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"),Df,$k=A(()=>Df??(Df=an(`{"$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"),Ff,Rk=A(()=>Ff??(Ff=an(`{"$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"),Gf,Ak=A(()=>Gf??(Gf=an(`{"$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"),Ek={languageId:"info",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},Sk={languageId:"packet",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},xk={languageId:"pie",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},_k={languageId:"architecture",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},Ik={languageId:"gitGraph",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},wk={languageId:"radar",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},Ck={languageId:"treemap",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},on={AstReflection:A(()=>new Tp,"AstReflection")},kk={Grammar:A(()=>gk(),"Grammar"),LanguageMetaData:A(()=>Ek,"LanguageMetaData"),parser:{}},Nk={Grammar:A(()=>yk(),"Grammar"),LanguageMetaData:A(()=>Sk,"LanguageMetaData"),parser:{}},bk={Grammar:A(()=>Tk(),"Grammar"),LanguageMetaData:A(()=>xk,"LanguageMetaData"),parser:{}},Ok={Grammar:A(()=>vk(),"Grammar"),LanguageMetaData:A(()=>_k,"LanguageMetaData"),parser:{}},Pk={Grammar:A(()=>$k(),"Grammar"),LanguageMetaData:A(()=>Ik,"LanguageMetaData"),parser:{}},Lk={Grammar:A(()=>Rk(),"Grammar"),LanguageMetaData:A(()=>wk,"LanguageMetaData"),parser:{}},Mk={Grammar:A(()=>Ak(),"Grammar"),LanguageMetaData:A(()=>Ck,"LanguageMetaData"),parser:{}},Dk=/accDescr(?:[\t ]*:([^\n\r]*)|\s*{([^}]*)})/,Fk=/accTitle[\t ]*:([^\n\r]*)/,Gk=/title([\t ][^\n\r]*|)/,Uk={ACC_DESCR:Dk,ACC_TITLE:Fk,TITLE:Gk},gn,na=(gn=class extends rp{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=Uk[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(gn,"AbstractMermaidValueConverter"),gn),yn,ra=(yn=class extends na{runCustomConverter(e,n,r){}},A(yn,"CommonValueConverter"),yn),Tn,Ft=(Tn=class extends np{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(Tn,"AbstractMermaidTokenBuilder"),Tn),vn;vn=class extends Ft{},A(vn,"CommonTokenBuilder");var $n,Bk=($n=class extends Ft{constructor(){super(["gitGraph"])}},A($n,"GitGraphTokenBuilder"),$n),vp={parser:{TokenBuilder:A(()=>new Bk,"TokenBuilder"),ValueConverter:A(()=>new ra,"ValueConverter")}};function $p(t=Dt){const e=ce(Mt(t),on),n=ce(Lt({shared:e}),Pk,vp);return e.ServiceRegistry.register(n),{shared:e,GitGraph:n}}A($p,"createGitGraphServices");var Rn,jk=(Rn=class extends Ft{constructor(){super(["info","showInfo"])}},A(Rn,"InfoTokenBuilder"),Rn),Rp={parser:{TokenBuilder:A(()=>new jk,"TokenBuilder"),ValueConverter:A(()=>new ra,"ValueConverter")}};function Ap(t=Dt){const e=ce(Mt(t),on),n=ce(Lt({shared:e}),kk,Rp);return e.ServiceRegistry.register(n),{shared:e,Info:n}}A(Ap,"createInfoServices");var An,Kk=(An=class extends Ft{constructor(){super(["packet"])}},A(An,"PacketTokenBuilder"),An),Ep={parser:{TokenBuilder:A(()=>new Kk,"TokenBuilder"),ValueConverter:A(()=>new ra,"ValueConverter")}};function Sp(t=Dt){const e=ce(Mt(t),on),n=ce(Lt({shared:e}),Nk,Ep);return e.ServiceRegistry.register(n),{shared:e,Packet:n}}A(Sp,"createPacketServices");var En,Hk=(En=class extends Ft{constructor(){super(["pie","showData"])}},A(En,"PieTokenBuilder"),En),Sn,Wk=(Sn=class extends na{runCustomConverter(e,n,r){if(e.name==="PIE_SECTION_LABEL")return n.replace(/"/g,"").trim()}},A(Sn,"PieValueConverter"),Sn),xp={parser:{TokenBuilder:A(()=>new Hk,"TokenBuilder"),ValueConverter:A(()=>new Wk,"ValueConverter")}};function _p(t=Dt){const e=ce(Mt(t),on),n=ce(Lt({shared:e}),bk,xp);return e.ServiceRegistry.register(n),{shared:e,Pie:n}}A(_p,"createPieServices");var xn,zk=(xn=class extends Ft{constructor(){super(["architecture"])}},A(xn,"ArchitectureTokenBuilder"),xn),_n,Vk=(_n=class extends na{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(_n,"ArchitectureValueConverter"),_n),Ip={parser:{TokenBuilder:A(()=>new zk,"TokenBuilder"),ValueConverter:A(()=>new Vk,"ValueConverter")}};function wp(t=Dt){const e=ce(Mt(t),on),n=ce(Lt({shared:e}),Ok,Ip);return e.ServiceRegistry.register(n),{shared:e,Architecture:n}}A(wp,"createArchitectureServices");var In,qk=(In=class extends Ft{constructor(){super(["radar-beta"])}},A(In,"RadarTokenBuilder"),In),Cp={parser:{TokenBuilder:A(()=>new qk,"TokenBuilder"),ValueConverter:A(()=>new ra,"ValueConverter")}};function kp(t=Dt){const e=ce(Mt(t),on),n=ce(Lt({shared:e}),Lk,Cp);return e.ServiceRegistry.register(n),{shared:e,Radar:n}}A(kp,"createRadarServices");var wn,Yk=(wn=class extends Ft{constructor(){super(["treemap"])}},A(wn,"TreemapTokenBuilder"),wn),Xk=/classDef\s+([A-Z_a-z]\w+)(?:\s+([^\n\r;]*))?;?/,Cn,Jk=(Cn=class extends na{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=Xk.exec(n);if(i)return{$type:"ClassDefStatement",className:i[1],styleText:i[2]||void 0}}}},A(Cn,"TreemapValueConverter"),Cn);function Np(t){const e=t.validation.TreemapValidator,n=t.validation.ValidationRegistry;if(n){const r={Treemap:e.checkSingleRoot.bind(e)};n.register(r,e)}}A(Np,"registerValidationChecks");var kn,Zk=(kn=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(kn,"TreemapValidator"),kn),bp={parser:{TokenBuilder:A(()=>new Yk,"TokenBuilder"),ValueConverter:A(()=>new Jk,"ValueConverter")},validation:{TreemapValidator:A(()=>new Zk,"TreemapValidator")}};function Op(t=Dt){const e=ce(Mt(t),on),n=ce(Lt({shared:e}),Mk,bp);return e.ServiceRegistry.register(n),Np(n),{shared:e,Treemap:n}}A(Op,"createTreemapServices");var it={},Qk={info:A(async()=>{const{createInfoServices:t}=await Bt(async()=>{const{createInfoServices:n}=await Promise.resolve().then(()=>nN);return{createInfoServices:n}},void 0),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(()=>rN);return{createPacketServices:n}},void 0),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(()=>iN);return{createPieServices:n}},void 0),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(()=>sN);return{createArchitectureServices:n}},void 0),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(()=>aN);return{createGitGraphServices:n}},void 0),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(()=>oN);return{createRadarServices:n}},void 0),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(()=>lN);return{createTreemapServices:n}},void 0),e=t().Treemap.parser.LangiumParser;it.treemap=e},"treemap")};async function eN(t,e){const n=Qk[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 tN(i);return i.value}A(eN,"parse");var Nn,tN=(Nn=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(Nn,"MermaidParseError"),Nn);const nN=Object.freeze(Object.defineProperty({__proto__:null,InfoModule:Rp,createInfoServices:Ap},Symbol.toStringTag,{value:"Module"})),rN=Object.freeze(Object.defineProperty({__proto__:null,PacketModule:Ep,createPacketServices:Sp},Symbol.toStringTag,{value:"Module"})),iN=Object.freeze(Object.defineProperty({__proto__:null,PieModule:xp,createPieServices:_p},Symbol.toStringTag,{value:"Module"})),sN=Object.freeze(Object.defineProperty({__proto__:null,ArchitectureModule:Ip,createArchitectureServices:wp},Symbol.toStringTag,{value:"Module"})),aN=Object.freeze(Object.defineProperty({__proto__:null,GitGraphModule:vp,createGitGraphServices:$p},Symbol.toStringTag,{value:"Module"})),oN=Object.freeze(Object.defineProperty({__proto__:null,RadarModule:Cp,createRadarServices:kp},Symbol.toStringTag,{value:"Module"})),lN=Object.freeze(Object.defineProperty({__proto__:null,TreemapModule:bp,createTreemapServices:Op},Symbol.toStringTag,{value:"Module"}));export{eN as p};
|