archsight 0.2.2 → 0.2.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/chart/archsight/Chart.yaml +2 -2
- data/chart/archsight/templates/deployment.yaml +11 -0
- data/chart/archsight/templates/restart-secret.yaml +11 -0
- data/chart/archsight/values.yaml +14 -0
- data/docs/kubernetes.md +13 -10
- data/lib/archsight/analysis/sandbox.rb +1 -1
- data/lib/archsight/cli.rb +5 -2
- data/lib/archsight/resources/technology_artifact.rb +1 -1
- data/lib/archsight/version.rb +1 -1
- data/lib/archsight/web/public/vue/{ApiDocsPage-Cwn04X61.js → ApiDocsPage-DHOFUCYc.js} +1 -1
- data/lib/archsight/web/public/vue/{DocPage-Y83PCbYi.js → DocPage-CV66qgTr.js} +1 -1
- data/lib/archsight/web/public/vue/{EditorPage-DqRMOBE6.js → EditorPage-KqBivY-B.js} +1 -1
- data/lib/archsight/web/public/vue/{ErrorPage-D0lKMCXA.js → ErrorPage-DcbC8Kf1.js} +1 -1
- data/lib/archsight/web/public/vue/{GraphView-Byq-Nfd9.js → GraphView-Bg_l-F-Q.js} +1 -1
- data/lib/archsight/web/public/vue/{InstanceRouter-BJkDRXZY.css → InstanceRouter-4VEtZM7n.css} +1 -1
- data/lib/archsight/web/public/vue/{InstanceRouter-B3Q2fH0X.js → InstanceRouter-D-twdyZY.js} +1 -1
- data/lib/archsight/web/public/vue/{KindList-DlDrvJDd.js → KindList-CPImTKNb.js} +1 -1
- data/lib/archsight/web/public/vue/{ResourceList-DwsfI85-.js → ResourceList-DMxm0cGh.js} +1 -1
- data/lib/archsight/web/public/vue/{SearchResults-DlWGROho.js → SearchResults-BqUHEWHE.js} +1 -1
- data/lib/archsight/web/public/vue/_baseUniq-BjkdEi26.js +1 -0
- data/lib/archsight/web/public/vue/architectureDiagram-VXUJARFQ-JN7CxdtP.js +36 -0
- data/lib/archsight/web/public/vue/{blockDiagram-VD42YOAC-C8HXvtNT.js → blockDiagram-VD42YOAC-teziPFHX.js} +1 -1
- data/lib/archsight/web/public/vue/{c4Diagram-YG6GDRKO-QzXboDJ8.js → c4Diagram-YG6GDRKO-CVNrzCCc.js} +1 -1
- data/lib/archsight/web/public/vue/{chunk-4BX2VUAB-DSPzEX5F.js → chunk-4BX2VUAB-BQUARyyA.js} +1 -1
- data/lib/archsight/web/public/vue/{chunk-55IACEB6-Dd5Z8Bov.js → chunk-55IACEB6-BgJn0Waa.js} +1 -1
- data/lib/archsight/web/public/vue/{chunk-B4BG7PRW-B_hXD1nI.js → chunk-B4BG7PRW-0ghAfB1t.js} +1 -1
- data/lib/archsight/web/public/vue/{chunk-DI55MBZ5-C-2DUMJY.js → chunk-DI55MBZ5-HJo1DW2B.js} +1 -1
- data/lib/archsight/web/public/vue/{chunk-FMBD7UC4-BlBtfKnL.js → chunk-FMBD7UC4-C1GwGKgX.js} +1 -1
- data/lib/archsight/web/public/vue/{chunk-QN33PNHL-Db3REDIz.js → chunk-QN33PNHL-BOoA1KfJ.js} +1 -1
- data/lib/archsight/web/public/vue/{chunk-QZHKN3VN-BqVqGMTy.js → chunk-QZHKN3VN-BcTNH3IX.js} +1 -1
- data/lib/archsight/web/public/vue/{chunk-TZMSLE5B-DfX4VDWu.js → chunk-TZMSLE5B-58bQF3J5.js} +1 -1
- data/lib/archsight/web/public/vue/classDiagram-2ON5EDUG-DAA8tpbN.js +1 -0
- data/lib/archsight/web/public/vue/classDiagram-v2-WZHVMYZB-DAA8tpbN.js +1 -0
- data/lib/archsight/web/public/vue/clone-BPcOyh7U.js +1 -0
- data/lib/archsight/web/public/vue/{cose-bilkent-S5V4N54A-CfkQxn-a.js → cose-bilkent-S5V4N54A-Bv8iR4rF.js} +1 -1
- data/lib/archsight/web/public/vue/dagre-6UL2VRFP-B8ZPRhgU.js +4 -0
- data/lib/archsight/web/public/vue/diagram-PSM6KHXK-Dp1bZnNq.js +24 -0
- data/lib/archsight/web/public/vue/diagram-QEK2KX5R-DZBsDWP6.js +43 -0
- data/lib/archsight/web/public/vue/diagram-S2PKOQOG-BKOnLWNk.js +24 -0
- data/lib/archsight/web/public/vue/{erDiagram-Q2GNP2WA-D1mxJWSp.js → erDiagram-Q2GNP2WA-V6FqHPc9.js} +1 -1
- data/lib/archsight/web/public/vue/{flowDiagram-NV44I4VS-DpRd5cPP.js → flowDiagram-NV44I4VS-BipXjPVT.js} +1 -1
- data/lib/archsight/web/public/vue/{ganttDiagram-JELNMOA3-D04Sdd3Q.js → ganttDiagram-JELNMOA3-DUdVPVK1.js} +1 -1
- data/lib/archsight/web/public/vue/gitGraphDiagram-V2S2FVAM-Bcf_apTG.js +65 -0
- data/lib/archsight/web/public/vue/graph-C4e9XILZ.js +1 -0
- data/lib/archsight/web/public/vue/{index-Zr9MoxJi.js → index-BUI400cn.js} +2 -2
- data/lib/archsight/web/public/vue/infoDiagram-HS3SLOUP-DBwnExXO.js +2 -0
- data/lib/archsight/web/public/vue/{journeyDiagram-XKPGCS4Q-D-SRalYk.js → journeyDiagram-XKPGCS4Q-D4b8PEzB.js} +1 -1
- data/lib/archsight/web/public/vue/{kanban-definition-3W4ZIXB7-CuOjHa3p.js → kanban-definition-3W4ZIXB7-R6r4NPxJ.js} +1 -1
- data/lib/archsight/web/public/vue/layout-CXL8NrCi.js +1 -0
- data/lib/archsight/web/public/vue/{mermaid-DUllW9QE.js → mermaid-MmHzOPPB.js} +4 -4
- data/lib/archsight/web/public/vue/min-B4MPxNTL.js +1 -0
- data/lib/archsight/web/public/vue/{mindmap-definition-VGOIOE7T-BfbYXGBk.js → mindmap-definition-VGOIOE7T-BypPT67y.js} +1 -1
- data/lib/archsight/web/public/vue/{pieDiagram-ADFJNKIX-mb757Gpq.js → pieDiagram-ADFJNKIX-BJ4nb15u.js} +2 -2
- data/lib/archsight/web/public/vue/{quadrantDiagram-AYHSOK5B-DMtvHJQW.js → quadrantDiagram-AYHSOK5B-D4Ee5XRs.js} +1 -1
- data/lib/archsight/web/public/vue/{requirementDiagram-UZGBJVZJ-CHguirsB.js → requirementDiagram-UZGBJVZJ-DuxpUmt2.js} +1 -1
- data/lib/archsight/web/public/vue/{sankeyDiagram-TZEHDZUN-nblWMNF6.js → sankeyDiagram-TZEHDZUN-CgWlWmza.js} +5 -5
- data/lib/archsight/web/public/vue/{sequenceDiagram-WL72ISMW-B83ZoXls.js → sequenceDiagram-WL72ISMW-v2l2CbI0.js} +1 -1
- data/lib/archsight/web/public/vue/stateDiagram-FKZM4ZOC-B5ROi2_1.js +1 -0
- data/lib/archsight/web/public/vue/stateDiagram-v2-4FDKWEC3-CQhha5H7.js +1 -0
- data/lib/archsight/web/public/vue/{timeline-definition-IT6M3QCI-D1Wd-DLb.js → timeline-definition-IT6M3QCI-Bnx2HvxP.js} +1 -1
- data/lib/archsight/web/public/vue/treemap-GDKQZRPO-BVho_qBy.js +162 -0
- data/lib/archsight/web/public/vue/{useGraphviz-BN4iwLLN.js → useGraphviz-C5lv_BWF.js} +1 -1
- data/lib/archsight/web/public/vue/{useHighlight-DmGaxZxx.js → useHighlight-yg_u-WUA.js} +1 -1
- data/lib/archsight/web/public/vue/{useMermaid-DSo5f1Jc.js → useMermaid-BPBwn39g.js} +1 -1
- data/lib/archsight/web/public/vue/{usePanZoom-BEXq_r0S.js → usePanZoom-CgSmFLId.js} +1 -1
- data/lib/archsight/web/public/vue/{xychartDiagram-PRI3JC2R-i_eB4HAQ.js → xychartDiagram-PRI3JC2R-CDkeZXF1.js} +1 -1
- data/lib/archsight/web/public/vue.html +2 -2
- metadata +59 -58
- data/lib/archsight/web/public/vue/_basePickBy-DXGWsL9H.js +0 -1
- data/lib/archsight/web/public/vue/_baseUniq-C8pAAASt.js +0 -1
- data/lib/archsight/web/public/vue/architectureDiagram-VXUJARFQ-Dg_wTk4u.js +0 -36
- data/lib/archsight/web/public/vue/classDiagram-2ON5EDUG-C9Kk58xl.js +0 -1
- data/lib/archsight/web/public/vue/classDiagram-v2-WZHVMYZB-C9Kk58xl.js +0 -1
- data/lib/archsight/web/public/vue/clone-B6uzD5eH.js +0 -1
- data/lib/archsight/web/public/vue/dagre-6UL2VRFP-D13da1qu.js +0 -4
- data/lib/archsight/web/public/vue/diagram-PSM6KHXK-BwzbeHPK.js +0 -24
- data/lib/archsight/web/public/vue/diagram-QEK2KX5R-COjSoDC8.js +0 -43
- data/lib/archsight/web/public/vue/diagram-S2PKOQOG-FH65FafS.js +0 -24
- data/lib/archsight/web/public/vue/gitGraphDiagram-V2S2FVAM-DgNNP2nj.js +0 -65
- data/lib/archsight/web/public/vue/graph-Cnoy0p_X.js +0 -1
- data/lib/archsight/web/public/vue/infoDiagram-HS3SLOUP-D5asL_9P.js +0 -2
- data/lib/archsight/web/public/vue/layout-CD8FBujT.js +0 -1
- data/lib/archsight/web/public/vue/stateDiagram-FKZM4ZOC-Ct0OgmPh.js +0 -1
- data/lib/archsight/web/public/vue/stateDiagram-v2-4FDKWEC3-CJZXQ6xd.js +0 -1
- data/lib/archsight/web/public/vue/treemap-GDKQZRPO-DFPZrNlp.js +0 -162
|
@@ -0,0 +1,162 @@
|
|
|
1
|
+
import{bj as Vf,bD as Wf,_ as tn}from"./mermaid-MmHzOPPB.js";import{m as Lt,f as Kf,d as Hf}from"./min-B4MPxNTL.js";import{b as Xf,l as Yf,c as Jf,m as Qf,r as Qc,n as Ra}from"./_baseUniq-BjkdEi26.js";function Zf(t,e){return Xf(Lt(t,e))}function eh(t,e){return t&&t.length?Yf(t,Jf(e)):[]}function De(t){return typeof t=="object"&&t!==null&&typeof t.$type=="string"}function ot(t){return typeof t=="object"&&t!==null&&typeof t.$refText=="string"&&"ref"in t}function Vt(t){return typeof t=="object"&&t!==null&&typeof t.$refText=="string"&&"items"in t}function th(t){return typeof t=="object"&&t!==null&&typeof t.name=="string"&&typeof t.type=="string"&&typeof t.path=="string"}function Br(t){return typeof t=="object"&&t!==null&&typeof t.info=="object"&&typeof t.message=="string"}class Xu{constructor(){this.subtypes={},this.allSubtypes={}}getAllTypes(){return Object.keys(this.types)}getReferenceType(e){const n=this.types[e.container.$type];if(!n)throw new Error(`Type ${e.container.$type||"undefined"} not found.`);const r=n.properties[e.property]?.referenceType;if(!r)throw new Error(`Property ${e.property||"undefined"} of type ${e.container.$type} is not a reference.`);return r}getTypeMetaData(e){const n=this.types[e];return n||{name:e,properties:{},superTypes:[]}}isInstance(e,n){return De(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.types[e],a=s?s.superTypes.some(o=>this.isSubtype(o,n)):!1;return r[n]=a,a}}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 Ei(t){return typeof t=="object"&&t!==null&&Array.isArray(t.content)}function Yu(t){return typeof t=="object"&&t!==null&&typeof t.tokenType=="object"}function Ju(t){return Ei(t)&&typeof t.fullText=="string"}class Oe{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 Oe(()=>({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 Je})}join(e=","){const n=this.iterator();let r="",i,s=!1;do i=n.next(),i.done||(s&&(r+=e),r+=nh(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 Oe(this.startFn,n=>{const{done:r,value:i}=this.nextFn(n);return r?Je:{done:!1,value:e(i)}})}filter(e){return new Oe(this.startFn,n=>{let r;do if(r=this.nextFn(n),!r.done&&e(r.value))return r;while(!r.done);return Je})}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 Oe(()=>({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(xs(s))n.iterator=s[Symbol.iterator]();else return{done:!1,value:s}}}while(n.iterator);return Je})}flat(e){if(e===void 0&&(e=1),e<=0)return this;const n=e>1?this.flat(e-1):this;return new Oe(()=>({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(xs(s))r.iterator=s[Symbol.iterator]();else return{done:!1,value:s}}while(r.iterator);return Je})}head(){const n=this.iterator().next();if(!n.done)return n.value}tail(e=1){return new Oe(()=>{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 Oe(()=>({size:0,state:this.startFn()}),n=>(n.size++,n.size>e?Je:this.nextFn(n.state)))}distinct(e){return new Oe(()=>({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 Je})}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 nh(t){return typeof t=="string"?t:typeof t>"u"?"undefined":typeof t.toString=="function"?t.toString():Object.prototype.toString.call(t)}function xs(t){return!!t&&typeof t[Symbol.iterator]=="function"}const Qu=new Oe(()=>{},()=>Je),Je=Object.freeze({done:!0,value:void 0});function de(...t){if(t.length===1){const e=t[0];if(e instanceof Oe)return e;if(xs(e))return new Oe(()=>e[Symbol.iterator](),n=>n.next());if(typeof e.length=="number")return new Oe(()=>({index:0}),n=>n.index<e.length?{done:!1,value:e[n.index++]}:Je)}return t.length>1?new Oe(()=>({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++];xs(n)?e.iterator=n[Symbol.iterator]():n&&typeof n.length=="number"&&(e.array=n)}}while(e.iterator||e.array||e.collIndex<t.length);return Je}):Qu}class _c extends Oe{constructor(e,n,r){super(()=>({iterators: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 Je})}iterator(){const e={state:this.startFn(),next:()=>this.nextFn(e.state),prune:()=>{e.state.pruned=!0},[Symbol.iterator]:()=>e};return e}}var Ba;(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})(Ba||(Ba={}));function Va(t,e={}){for(const[n,r]of Object.entries(t))n.startsWith("$")||(Array.isArray(r)?r.forEach((i,s)=>{De(i)&&(i.$container=t,i.$containerProperty=n,i.$containerIndex=s,e.deep&&Va(i,e))}):De(r)&&(r.$container=t,r.$containerProperty=n,e.deep&&Va(r,e)))}function ra(t,e){let n=t;for(;n;){if(e(n))return n;n=n.$container}}function xt(t){const n=vs(t).$document;if(!n)throw new Error("AST node has no document.");return n}function vs(t){for(;t.$container;)t=t.$container;return t}function Zc(t){return ot(t)?t.ref?[t.ref]:[]:Vt(t)?t.items.map(e=>e.ref):[]}function Nc(t,e){if(!t)throw new Error("Node must be an AstNode.");const n=e?.range;return new Oe(()=>({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(De(s)){if(r.keyIndex++,el(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(De(o)&&el(o,n))return{done:!1,value:o}}r.arrayIndex=0}}r.keyIndex++}return Je})}function Oi(t,e){if(!t)throw new Error("Root node must be an AstNode.");return new _c(t,n=>Nc(n,e))}function Dt(t,e){if(!t)throw new Error("Root node must be an AstNode.");return new _c(t,n=>Nc(n,e),{includeRoot:!0})}function el(t,e){if(!e)return!0;const n=t.$cstNode?.range;return n?kh(n,e):!1}function Ds(t){return new Oe(()=>({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(ot(r)||Vt(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(ot(s)||Vt(r))return{done:!1,value:{reference:s,container:t,property:n,index:i}}}e.arrayIndex=0}}e.keyIndex++}return Je})}function rh(t,e){const n=t.getTypeMetaData(e.$type),r=e;for(const i of Object.values(n.properties))i.defaultValue!==void 0&&r[i.name]===void 0&&(r[i.name]=Zu(i.defaultValue))}function Zu(t){return Array.isArray(t)?[...t.map(Zu)]:t}const Ye={$type:"AbstractElement",cardinality:"cardinality"};function ih(t){return J.isInstance(t,Ye.$type)}const Es={$type:"AbstractParserRule"};function Li(t){return J.isInstance(t,Es.$type)}const ss={$type:"AbstractRule"},st={$type:"AbstractType"},mn={$type:"Action",cardinality:"cardinality",feature:"feature",inferredType:"inferredType",operator:"operator",type:"type"};function ia(t){return J.isInstance(t,mn.$type)}const As={$type:"Alternatives",cardinality:"cardinality",elements:"elements"};function ed(t){return J.isInstance(t,As.$type)}const tl={$type:"ArrayLiteral",elements:"elements"},nl={$type:"ArrayType",elementType:"elementType"},gn={$type:"Assignment",cardinality:"cardinality",feature:"feature",operator:"operator",predicate:"predicate",terminal:"terminal"};function Sn(t){return J.isInstance(t,gn.$type)}const Wa={$type:"BooleanLiteral",true:"true"};function sh(t){return J.isInstance(t,Wa.$type)}const yn={$type:"CharacterRange",cardinality:"cardinality",left:"left",lookahead:"lookahead",parenthesized:"parenthesized",right:"right"};function ah(t){return J.isInstance(t,yn.$type)}const xn={$type:"Condition"},Ss={$type:"Conjunction",left:"left",right:"right"};function oh(t){return J.isInstance(t,Ss.$type)}const Tn={$type:"CrossReference",cardinality:"cardinality",deprecatedSyntax:"deprecatedSyntax",isMulti:"isMulti",terminal:"terminal",type:"type"};function sa(t){return J.isInstance(t,Tn.$type)}const Cs={$type:"Disjunction",left:"left",right:"right"};function ch(t){return J.isInstance(t,Cs.$type)}const Ka={$type:"EndOfFile",cardinality:"cardinality"};function lh(t){return J.isInstance(t,Ka.$type)}const nn={$type:"Grammar",imports:"imports",interfaces:"interfaces",isDeclared:"isDeclared",name:"name",rules:"rules",types:"types"},rl={$type:"GrammarImport",path:"path"},Un={$type:"Group",cardinality:"cardinality",elements:"elements",guardCondition:"guardCondition",predicate:"predicate"};function Ic(t){return J.isInstance(t,Un.$type)}const Ha={$type:"InferredType",name:"name"};function td(t){return J.isInstance(t,Ha.$type)}const _t={$type:"InfixRule",call:"call",dataType:"dataType",inferredType:"inferredType",name:"name",operators:"operators",parameters:"parameters",returnType:"returnType"};function Ms(t){return J.isInstance(t,_t.$type)}const va={$type:"InfixRuleOperatorList",associativity:"associativity",operators:"operators"},il={$type:"InfixRuleOperators",precedences:"precedences"},di={$type:"Interface",attributes:"attributes",name:"name",superTypes:"superTypes"};function uh(t){return J.isInstance(t,di.$type)}const fi={$type:"Keyword",cardinality:"cardinality",predicate:"predicate",value:"value"};function Cn(t){return J.isInstance(t,fi.$type)}const as={$type:"NamedArgument",calledByName:"calledByName",parameter:"parameter",value:"value"},qn={$type:"NegatedToken",cardinality:"cardinality",lookahead:"lookahead",parenthesized:"parenthesized",terminal:"terminal"};function dh(t){return J.isInstance(t,qn.$type)}const Xa={$type:"Negation",value:"value"};function fh(t){return J.isInstance(t,Xa.$type)}const sl={$type:"NumberLiteral",value:"value"},os={$type:"Parameter",name:"name"},Ya={$type:"ParameterReference",parameter:"parameter"};function hh(t){return J.isInstance(t,Ya.$type)}const ft={$type:"ParserRule",dataType:"dataType",definition:"definition",entry:"entry",fragment:"fragment",inferredType:"inferredType",name:"name",parameters:"parameters",returnType:"returnType"};function jt(t){return J.isInstance(t,ft.$type)}const Ea={$type:"ReferenceType",isMulti:"isMulti",referenceType:"referenceType"},zn={$type:"RegexToken",cardinality:"cardinality",lookahead:"lookahead",parenthesized:"parenthesized",regex:"regex"};function ph(t){return J.isInstance(t,zn.$type)}const Ja={$type:"ReturnType",name:"name"};function mh(t){return J.isInstance(t,Ja.$type)}const Bn={$type:"RuleCall",arguments:"arguments",cardinality:"cardinality",predicate:"predicate",rule:"rule"};function kn(t){return J.isInstance(t,Bn.$type)}const hi={$type:"SimpleType",primitiveType:"primitiveType",stringType:"stringType",typeRef:"typeRef"};function gh(t){return J.isInstance(t,hi.$type)}const al={$type:"StringLiteral",value:"value"},Vn={$type:"TerminalAlternatives",cardinality:"cardinality",elements:"elements",lookahead:"lookahead",parenthesized:"parenthesized"};function yh(t){return J.isInstance(t,Vn.$type)}const tt={$type:"TerminalElement",cardinality:"cardinality",lookahead:"lookahead",parenthesized:"parenthesized"},Wn={$type:"TerminalGroup",cardinality:"cardinality",elements:"elements",lookahead:"lookahead",parenthesized:"parenthesized"};function Th(t){return J.isInstance(t,Wn.$type)}const Bt={$type:"TerminalRule",definition:"definition",fragment:"fragment",hidden:"hidden",name:"name",type:"type"};function Ut(t){return J.isInstance(t,Bt.$type)}const Kn={$type:"TerminalRuleCall",cardinality:"cardinality",lookahead:"lookahead",parenthesized:"parenthesized",rule:"rule"};function Rh(t){return J.isInstance(t,Kn.$type)}const ks={$type:"Type",name:"name",type:"type"};function vh(t){return J.isInstance(t,ks.$type)}const Vr={$type:"TypeAttribute",defaultValue:"defaultValue",isOptional:"isOptional",name:"name",type:"type"},Wr={$type:"TypeDefinition"},ol={$type:"UnionType",types:"types"},bs={$type:"UnorderedGroup",cardinality:"cardinality",elements:"elements"};function nd(t){return J.isInstance(t,bs.$type)}const Hn={$type:"UntilToken",cardinality:"cardinality",lookahead:"lookahead",parenthesized:"parenthesized",terminal:"terminal"};function Eh(t){return J.isInstance(t,Hn.$type)}const Kr={$type:"ValueLiteral"},pi={$type:"Wildcard",cardinality:"cardinality",lookahead:"lookahead",parenthesized:"parenthesized"};function Ah(t){return J.isInstance(t,pi.$type)}class rd extends Xu{constructor(){super(...arguments),this.types={AbstractElement:{name:Ye.$type,properties:{cardinality:{name:Ye.cardinality}},superTypes:[]},AbstractParserRule:{name:Es.$type,properties:{},superTypes:[ss.$type,st.$type]},AbstractRule:{name:ss.$type,properties:{},superTypes:[]},AbstractType:{name:st.$type,properties:{},superTypes:[]},Action:{name:mn.$type,properties:{cardinality:{name:mn.cardinality},feature:{name:mn.feature},inferredType:{name:mn.inferredType},operator:{name:mn.operator},type:{name:mn.type,referenceType:st.$type}},superTypes:[Ye.$type]},Alternatives:{name:As.$type,properties:{cardinality:{name:As.cardinality},elements:{name:As.elements,defaultValue:[]}},superTypes:[Ye.$type]},ArrayLiteral:{name:tl.$type,properties:{elements:{name:tl.elements,defaultValue:[]}},superTypes:[Kr.$type]},ArrayType:{name:nl.$type,properties:{elementType:{name:nl.elementType}},superTypes:[Wr.$type]},Assignment:{name:gn.$type,properties:{cardinality:{name:gn.cardinality},feature:{name:gn.feature},operator:{name:gn.operator},predicate:{name:gn.predicate},terminal:{name:gn.terminal}},superTypes:[Ye.$type]},BooleanLiteral:{name:Wa.$type,properties:{true:{name:Wa.true,defaultValue:!1}},superTypes:[xn.$type,Kr.$type]},CharacterRange:{name:yn.$type,properties:{cardinality:{name:yn.cardinality},left:{name:yn.left},lookahead:{name:yn.lookahead},parenthesized:{name:yn.parenthesized,defaultValue:!1},right:{name:yn.right}},superTypes:[tt.$type]},Condition:{name:xn.$type,properties:{},superTypes:[]},Conjunction:{name:Ss.$type,properties:{left:{name:Ss.left},right:{name:Ss.right}},superTypes:[xn.$type]},CrossReference:{name:Tn.$type,properties:{cardinality:{name:Tn.cardinality},deprecatedSyntax:{name:Tn.deprecatedSyntax,defaultValue:!1},isMulti:{name:Tn.isMulti,defaultValue:!1},terminal:{name:Tn.terminal},type:{name:Tn.type,referenceType:st.$type}},superTypes:[Ye.$type]},Disjunction:{name:Cs.$type,properties:{left:{name:Cs.left},right:{name:Cs.right}},superTypes:[xn.$type]},EndOfFile:{name:Ka.$type,properties:{cardinality:{name:Ka.cardinality}},superTypes:[Ye.$type]},Grammar:{name:nn.$type,properties:{imports:{name:nn.imports,defaultValue:[]},interfaces:{name:nn.interfaces,defaultValue:[]},isDeclared:{name:nn.isDeclared,defaultValue:!1},name:{name:nn.name},rules:{name:nn.rules,defaultValue:[]},types:{name:nn.types,defaultValue:[]}},superTypes:[]},GrammarImport:{name:rl.$type,properties:{path:{name:rl.path}},superTypes:[]},Group:{name:Un.$type,properties:{cardinality:{name:Un.cardinality},elements:{name:Un.elements,defaultValue:[]},guardCondition:{name:Un.guardCondition},predicate:{name:Un.predicate}},superTypes:[Ye.$type]},InferredType:{name:Ha.$type,properties:{name:{name:Ha.name}},superTypes:[st.$type]},InfixRule:{name:_t.$type,properties:{call:{name:_t.call},dataType:{name:_t.dataType},inferredType:{name:_t.inferredType},name:{name:_t.name},operators:{name:_t.operators},parameters:{name:_t.parameters,defaultValue:[]},returnType:{name:_t.returnType,referenceType:st.$type}},superTypes:[Es.$type]},InfixRuleOperatorList:{name:va.$type,properties:{associativity:{name:va.associativity},operators:{name:va.operators,defaultValue:[]}},superTypes:[]},InfixRuleOperators:{name:il.$type,properties:{precedences:{name:il.precedences,defaultValue:[]}},superTypes:[]},Interface:{name:di.$type,properties:{attributes:{name:di.attributes,defaultValue:[]},name:{name:di.name},superTypes:{name:di.superTypes,defaultValue:[],referenceType:st.$type}},superTypes:[st.$type]},Keyword:{name:fi.$type,properties:{cardinality:{name:fi.cardinality},predicate:{name:fi.predicate},value:{name:fi.value}},superTypes:[Ye.$type]},NamedArgument:{name:as.$type,properties:{calledByName:{name:as.calledByName,defaultValue:!1},parameter:{name:as.parameter,referenceType:os.$type},value:{name:as.value}},superTypes:[]},NegatedToken:{name:qn.$type,properties:{cardinality:{name:qn.cardinality},lookahead:{name:qn.lookahead},parenthesized:{name:qn.parenthesized,defaultValue:!1},terminal:{name:qn.terminal}},superTypes:[tt.$type]},Negation:{name:Xa.$type,properties:{value:{name:Xa.value}},superTypes:[xn.$type]},NumberLiteral:{name:sl.$type,properties:{value:{name:sl.value}},superTypes:[Kr.$type]},Parameter:{name:os.$type,properties:{name:{name:os.name}},superTypes:[]},ParameterReference:{name:Ya.$type,properties:{parameter:{name:Ya.parameter,referenceType:os.$type}},superTypes:[xn.$type]},ParserRule:{name:ft.$type,properties:{dataType:{name:ft.dataType},definition:{name:ft.definition},entry:{name:ft.entry,defaultValue:!1},fragment:{name:ft.fragment,defaultValue:!1},inferredType:{name:ft.inferredType},name:{name:ft.name},parameters:{name:ft.parameters,defaultValue:[]},returnType:{name:ft.returnType,referenceType:st.$type}},superTypes:[Es.$type]},ReferenceType:{name:Ea.$type,properties:{isMulti:{name:Ea.isMulti,defaultValue:!1},referenceType:{name:Ea.referenceType}},superTypes:[Wr.$type]},RegexToken:{name:zn.$type,properties:{cardinality:{name:zn.cardinality},lookahead:{name:zn.lookahead},parenthesized:{name:zn.parenthesized,defaultValue:!1},regex:{name:zn.regex}},superTypes:[tt.$type]},ReturnType:{name:Ja.$type,properties:{name:{name:Ja.name}},superTypes:[]},RuleCall:{name:Bn.$type,properties:{arguments:{name:Bn.arguments,defaultValue:[]},cardinality:{name:Bn.cardinality},predicate:{name:Bn.predicate},rule:{name:Bn.rule,referenceType:ss.$type}},superTypes:[Ye.$type]},SimpleType:{name:hi.$type,properties:{primitiveType:{name:hi.primitiveType},stringType:{name:hi.stringType},typeRef:{name:hi.typeRef,referenceType:st.$type}},superTypes:[Wr.$type]},StringLiteral:{name:al.$type,properties:{value:{name:al.value}},superTypes:[Kr.$type]},TerminalAlternatives:{name:Vn.$type,properties:{cardinality:{name:Vn.cardinality},elements:{name:Vn.elements,defaultValue:[]},lookahead:{name:Vn.lookahead},parenthesized:{name:Vn.parenthesized,defaultValue:!1}},superTypes:[tt.$type]},TerminalElement:{name:tt.$type,properties:{cardinality:{name:tt.cardinality},lookahead:{name:tt.lookahead},parenthesized:{name:tt.parenthesized,defaultValue:!1}},superTypes:[Ye.$type]},TerminalGroup:{name:Wn.$type,properties:{cardinality:{name:Wn.cardinality},elements:{name:Wn.elements,defaultValue:[]},lookahead:{name:Wn.lookahead},parenthesized:{name:Wn.parenthesized,defaultValue:!1}},superTypes:[tt.$type]},TerminalRule:{name:Bt.$type,properties:{definition:{name:Bt.definition},fragment:{name:Bt.fragment,defaultValue:!1},hidden:{name:Bt.hidden,defaultValue:!1},name:{name:Bt.name},type:{name:Bt.type}},superTypes:[ss.$type]},TerminalRuleCall:{name:Kn.$type,properties:{cardinality:{name:Kn.cardinality},lookahead:{name:Kn.lookahead},parenthesized:{name:Kn.parenthesized,defaultValue:!1},rule:{name:Kn.rule,referenceType:Bt.$type}},superTypes:[tt.$type]},Type:{name:ks.$type,properties:{name:{name:ks.name},type:{name:ks.type}},superTypes:[st.$type]},TypeAttribute:{name:Vr.$type,properties:{defaultValue:{name:Vr.defaultValue},isOptional:{name:Vr.isOptional,defaultValue:!1},name:{name:Vr.name},type:{name:Vr.type}},superTypes:[]},TypeDefinition:{name:Wr.$type,properties:{},superTypes:[]},UnionType:{name:ol.$type,properties:{types:{name:ol.types,defaultValue:[]}},superTypes:[Wr.$type]},UnorderedGroup:{name:bs.$type,properties:{cardinality:{name:bs.cardinality},elements:{name:bs.elements,defaultValue:[]}},superTypes:[Ye.$type]},UntilToken:{name:Hn.$type,properties:{cardinality:{name:Hn.cardinality},lookahead:{name:Hn.lookahead},parenthesized:{name:Hn.parenthesized,defaultValue:!1},terminal:{name:Hn.terminal}},superTypes:[tt.$type]},ValueLiteral:{name:Kr.$type,properties:{},superTypes:[]},Wildcard:{name:pi.$type,properties:{cardinality:{name:pi.cardinality},lookahead:{name:pi.lookahead},parenthesized:{name:pi.parenthesized,defaultValue:!1}},superTypes:[tt.$type]}}}}const J=new rd;function Qa(t){return new _c(t,e=>Ei(e)?e.content:[],{includeRoot:!0})}function Sh(t,e){for(;t.container;)if(t=t.container,t===e)return!0;return!1}function Za(t){return{start:{character:t.startColumn-1,line:t.startLine-1},end:{character:t.endColumn,line:t.endLine-1}}}function Fs(t){if(!t)return;const{offset:e,end:n,range:r}=t;return{range:r,offset:e,end:n,length:n-e}}var $t;(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"})($t||($t={}));function Ch(t,e){if(t.end.line<e.start.line||t.end.line===e.start.line&&t.end.character<=e.start.character)return $t.Before;if(t.start.line>e.end.line||t.start.line===e.end.line&&t.start.character>=e.end.character)return $t.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?$t.Inside:n?$t.OverlapBack:r?$t.OverlapFront:$t.Outside}function kh(t,e){return Ch(t,e)>$t.After}const bh=/^[\w\p{L}]$/u;function wh(t,e){if(t){const n=_h(t,!0);if(n&&cl(n,e))return n;if(Ju(t)){const r=t.content.findIndex(i=>!i.hidden);for(let i=r-1;i>=0;i--){const s=t.content[i];if(cl(s,e))return s}}}}function cl(t,e){return Yu(t)&&e.includes(t.tokenType.name)}function _h(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 id extends Error{constructor(e,n){super(e?`${n} at ${e.range.start.line}:${e.range.start.character}`:n)}}function xi(t,e="Error: Got unexpected value."){throw new Error(e)}function q(t){return t.charCodeAt(0)}function Aa(t,e){Array.isArray(t)?t.forEach(function(n){e.push(n)}):e.push(t)}function Hr(t,e){if(t[e]===!0)throw"duplicate flag "+e;t[e],t[e]=!0}function Dn(t){if(t===void 0)throw Error("Internal Error - Should never get here!");return!0}function Nh(){throw Error("Internal Error - Should never get here!")}function ll(t){return t.type==="Character"}const Gs=[];for(let t=q("0");t<=q("9");t++)Gs.push(t);const js=[q("_")].concat(Gs);for(let t=q("a");t<=q("z");t++)js.push(t);for(let t=q("A");t<=q("Z");t++)js.push(t);const ul=[q(" "),q("\f"),q(`
|
|
2
|
+
`),q("\r"),q(" "),q("\v"),q(" "),q(" "),q(" "),q(" "),q(" "),q(" "),q(" "),q(" "),q(" "),q(" "),q(" "),q(" "),q(" "),q(" "),q("\u2028"),q("\u2029"),q(" "),q(" "),q(" "),q("\uFEFF")],Ih=/[0-9a-fA-F]/,cs=/[0-9]/,Ph=/[1-9]/;class sd{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":Hr(r,"global");break;case"i":Hr(r,"ignoreCase");break;case"m":Hr(r,"multiLine");break;case"u":Hr(r,"unicode");break;case"y":Hr(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;case"<":{switch(this.popChar()){case"=":n="Lookbehind";break;case"!":n="NegativeLookbehind"}break}}Dn(n);const r=this.disjunction();return this.consumeChar(")"),{type:n,value:r,loc:this.loc(e)}}return Nh()}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;Dn(n);break}if(!(e===!0&&n===void 0)&&Dn(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()),Dn(e))return e.loc=this.loc(n),this.isQuantifier()&&(e.quantifier=this.quantifier()),e}dotAll(){return this.consumeChar("."),{type:"Set",complement:!0,value:[q(`
|
|
3
|
+
`),q("\r"),q("\u2028"),q("\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=Gs;break;case"D":e=Gs,n=!0;break;case"s":e=ul;break;case"S":e=ul,n=!0;break;case"w":e=js;break;case"W":e=js,n=!0;break}if(Dn(e))return{type:"Set",value:e,complement:n}}controlEscapeAtom(){let e;switch(this.popChar()){case"f":e=q("\f");break;case"n":e=q(`
|
|
4
|
+
`);break;case"r":e=q("\r");break;case"t":e=q(" ");break;case"v":e=q("\v");break}if(Dn(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:q("\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:q(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:q(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,ll(r)&&this.isRangeDash()){this.consumeChar("-");const i=this.classAtom();if(i.type,ll(i)){if(i.value<r.value)throw Error("Range out of order in character class");e.push({from:r.value,to:i.value})}else Aa(r.value,e),e.push(q("-")),Aa(i.value,e)}else Aa(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:q("\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;this.consumeChar("("),this.peekChar(0)==="?"?(this.consumeChar("?"),this.consumeChar(":"),e=!1):this.groupIdx++;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(Ph.test(e)===!1)throw Error("Expecting a positive integer");for(;cs.test(this.peekChar(0));)e+=this.popChar();return parseInt(e,10)}integerIncludingZero(){let e=this.popChar();if(cs.test(e)===!1)throw Error("Expecting an integer");for(;cs.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:q(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 cs.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)==="!"||this.peekChar(2)==="<"&&(this.peekChar(3)==="="||this.peekChar(3)==="!"));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(Ih.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 aa{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"Lookbehind":this.visitLookbehind(e);break;case"NegativeLookbehind":this.visitNegativeLookbehind(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){}visitLookbehind(e){}visitNegativeLookbehind(e){}visitCharacter(e){}visitSet(e){}visitGroup(e){}visitGroupBackReference(e){}visitQuantifier(e){}}const $h=/\r?\n/gm,Oh=new sd;class Lh extends aa{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=oa(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 Sa=new Lh;function xh(t){try{return typeof t=="string"&&(t=new RegExp(t)),t=t.toString(),Sa.reset(t),Sa.visit(Oh.pattern(t)),Sa.multiline}catch{return!1}}const Dh=`\f
|
|
12
|
+
\r \v \u2028\u2029 \uFEFF`.split("");function ad(t){const e=typeof t=="string"?new RegExp(t):t;return Dh.some(n=>e.test(n))}function oa(t){return t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function Mh(t,e){const n=Fh(t),r=e.match(n);return!!r&&r[0].length>0}function Fh(t){typeof t=="string"&&(t=new RegExp(t));const e=t,n=t.source;let r=0;function i(){let s="",a;function o(l){s+=n.substr(r,l),r+=l}function c(l){s+="(?:"+n.substr(r,l)+"|$)",r+=l}for(;r<n.length;)switch(n[r]){case"\\":switch(n[r+1]){case"c":c(3);break;case"x":c(4);break;case"u":e.unicode?n[r+2]==="{"?c(n.indexOf("}",r)-r+1):c(6):c(2);break;case"p":case"P":e.unicode?c(n.indexOf("}",r)-r+1):c(2);break;case"k":c(n.indexOf(">",r)-r+1);break;default:c(2);break}break;case"[":a=/\[(?:\\.|.)*?\]/g,a.lastIndex=r,a=a.exec(n)||[],c(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):c(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:c(1);break}return s}return new RegExp(i(),t.flags)}function Gh(t){return t.rules.find(e=>jt(e)&&e.entry)}function jh(t){return t.rules.filter(e=>Ut(e)&&e.hidden)}function od(t,e){const n=new Set,r=Gh(t);if(!r)return new Set(t.rules);const i=[r].concat(jh(t));for(const a of i)cd(a,n,e);const s=new Set;for(const a of t.rules)(n.has(a.name)||Ut(a)&&a.hidden)&&s.add(a);return s}function cd(t,e,n){e.add(t.name),Oi(t).forEach(r=>{if(kn(r)||n){const i=r.rule.ref;i&&!e.has(i.name)&&cd(i,e,n)}})}function Uh(t){if(t.terminal)return t.terminal;if(t.type.ref)return ud(t.type.ref)?.terminal}function qh(t){return t.hidden&&!ad($c(t))}function zh(t,e){return!t||!e?[]:Pc(t,e,t.astNode,!0)}function ld(t,e,n){if(!t||!e)return;const r=Pc(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 Pc(t,e,n,r){if(!r){const i=ra(t.grammarSource,Sn);if(i&&i.feature===e)return[t]}return Ei(t)&&t.astNode===n?t.content.flatMap(i=>Pc(i,e,n,!1)):[]}function Bh(t,e,n){if(!t)return;const r=Vh(t,e,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 Vh(t,e,n){if(t.astNode!==n)return[];if(Cn(t.grammarSource)&&t.grammarSource.value===e)return[t];const r=Qa(t).iterator();let i;const s=[];do if(i=r.next(),!i.done){const a=i.value;a.astNode===n?Cn(a.grammarSource)&&a.grammarSource.value===e&&s.push(a):r.prune()}while(!i.done);return s}function Wh(t){const e=t.astNode;for(;e===t.container?.astNode;){const n=ra(t.grammarSource,Sn);if(n)return n;t=t.container}}function ud(t){let e=t;return td(e)&&(ia(e.$container)?e=e.$container.$container:Li(e.$container)?e=e.$container:xi(e.$container)),dd(t,e,new Map)}function dd(t,e,n){function r(i,s){let a;return ra(i,Sn)||(a=dd(s,s,n)),n.set(t,a),a}if(n.has(t))return n.get(t);n.set(t,void 0);for(const i of Oi(e)){if(Sn(i)&&i.feature.toLowerCase()==="name")return n.set(t,i),i;if(kn(i)&&jt(i.rule.ref))return r(i,i.rule.ref);if(gh(i)&&i.typeRef?.ref)return r(i,i.typeRef.ref)}}function fd(t){return hd(t,new Set)}function hd(t,e){if(e.has(t))return!0;e.add(t);for(const n of Oi(t))if(kn(n)){if(!n.rule.ref||jt(n.rule.ref)&&!hd(n.rule.ref,e)||Ms(n.rule.ref))return!1}else{if(Sn(n))return!1;if(ia(n))return!1}return!!t.definition}function pd(t){if(!Ut(t)){if(t.inferredType)return t.inferredType.name;if(t.dataType)return t.dataType;if(t.returnType){const e=t.returnType.ref;if(e)return e.name}}}function Ai(t){if(Li(t))return jt(t)&&fd(t)?t.name:pd(t)??t.name;if(uh(t)||vh(t)||mh(t))return t.name;if(ia(t)){const e=Kh(t);if(e)return e}else if(td(t))return t.name;throw new Error("Cannot get name of Unknown Type")}function Kh(t){if(t.inferredType)return t.inferredType.name;if(t.type?.ref)return Ai(t.type.ref)}function Hh(t){return Ut(t)?t.type?.name??"string":pd(t)??t.name}function $c(t){const e={s:!1,i:!1,u:!1},n=br(t.definition,e),r=Object.entries(e).filter(([,i])=>i).map(([i])=>i).join("");return new RegExp(n,r)}const Oc=/[\s\S]/.source;function br(t,e){if(yh(t))return Xh(t);if(Th(t))return Yh(t);if(ah(t))return Zh(t);if(Rh(t)){const n=t.rule.ref;if(!n)throw new Error("Missing rule reference.");return Mt(br(n.definition),{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized})}else{if(dh(t))return Qh(t);if(Eh(t))return Jh(t);if(ph(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")),Mt(r,{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized,wrap:!1})}else{if(Ah(t))return Mt(Oc,{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized});throw new Error(`Invalid terminal element: ${t?.$type}, ${t?.$cstNode?.text}`)}}}function Xh(t){return Mt(t.elements.map(e=>br(e)).join("|"),{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized,wrap:!1})}function Yh(t){return Mt(t.elements.map(e=>br(e)).join(""),{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized,wrap:!1})}function Jh(t){return Mt(`${Oc}*?${br(t.terminal)}`,{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized})}function Qh(t){return Mt(`(?!${br(t.terminal)})${Oc}*?`,{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized})}function Zh(t){return t.right?Mt(`[${Ca(t.left)}-${Ca(t.right)}]`,{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized,wrap:!1}):Mt(Ca(t.left),{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized,wrap:!1})}function Ca(t){return oa(t.value)}function Mt(t,e){return(e.parenthesized||e.lookahead||e.wrap!==!1)&&(t=`(${e.lookahead??(e.parenthesized?"":"?:")}${t})`),e.cardinality?`${t}${e.cardinality}`:t}function ep(t){const e=[],n=t.Grammar;for(const r of n.rules)Ut(r)&&qh(r)&&xh($c(r))&&e.push(r.name);return{multilineCommentRules:e,nameRegexp:bh}}function eo(t){console&&console.error&&console.error(`Error: ${t}`)}function md(t){console&&console.warn&&console.warn(`Warning: ${t}`)}function gd(t){const e=new Date().getTime(),n=t();return{time:new Date().getTime()-e,value:n}}function yd(t){function e(){}e.prototype=t;const n=new e;function r(){return typeof n.bar}return r(),r(),t}function tp(t){return np(t)?t.LABEL:t.name}function np(t){return typeof t.LABEL=="string"&&t.LABEL!==""}class gt{get definition(){return this._definition}set definition(e){this._definition=e}constructor(e){this._definition=e}accept(e){e.visit(this),this.definition.forEach(n=>{n.accept(e)})}}class qe extends gt{constructor(e){super([]),this.idx=1,Object.assign(this,yt(e))}set definition(e){}get definition(){return this.referencedRule!==void 0?this.referencedRule.definition:[]}accept(e){e.visit(this)}}class wr extends gt{constructor(e){super(e.definition),this.orgText="",Object.assign(this,yt(e))}}class Ve extends gt{constructor(e){super(e.definition),this.ignoreAmbiguities=!1,Object.assign(this,yt(e))}}let xe=class extends gt{constructor(e){super(e.definition),this.idx=1,Object.assign(this,yt(e))}};class Ze extends gt{constructor(e){super(e.definition),this.idx=1,Object.assign(this,yt(e))}}class et extends gt{constructor(e){super(e.definition),this.idx=1,Object.assign(this,yt(e))}}class Te extends gt{constructor(e){super(e.definition),this.idx=1,Object.assign(this,yt(e))}}class We extends gt{constructor(e){super(e.definition),this.idx=1,Object.assign(this,yt(e))}}class Ke extends gt{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,Object.assign(this,yt(e))}}class se{constructor(e){this.idx=1,Object.assign(this,yt(e))}accept(e){e.visit(this)}}function rp(t){return t.map(ws)}function ws(t){function e(n){return n.map(ws)}if(t instanceof qe){const n={type:"NonTerminal",name:t.nonTerminalName,idx:t.idx};return typeof t.label=="string"&&(n.label=t.label),n}else{if(t instanceof Ve)return{type:"Alternative",definition:e(t.definition)};if(t instanceof xe)return{type:"Option",idx:t.idx,definition:e(t.definition)};if(t instanceof Ze)return{type:"RepetitionMandatory",idx:t.idx,definition:e(t.definition)};if(t instanceof et)return{type:"RepetitionMandatoryWithSeparator",idx:t.idx,separator:ws(new se({terminalType:t.separator})),definition:e(t.definition)};if(t instanceof We)return{type:"RepetitionWithSeparator",idx:t.idx,separator:ws(new se({terminalType:t.separator})),definition:e(t.definition)};if(t instanceof Te)return{type:"Repetition",idx:t.idx,definition:e(t.definition)};if(t instanceof Ke)return{type:"Alternation",idx:t.idx,definition:e(t.definition)};if(t instanceof se){const n={type:"Terminal",name:t.terminalType.name,label:tp(t.terminalType),idx:t.idx};typeof t.label=="string"&&(n.terminalLabel=t.label);const r=t.terminalType.PATTERN;return t.terminalType.PATTERN&&(n.pattern=r instanceof RegExp?r.source:r),n}else{if(t instanceof wr)return{type:"Rule",name:t.name,orgText:t.orgText,definition:e(t.definition)};throw Error("non exhaustive match")}}}function yt(t){return Object.fromEntries(Object.entries(t).filter(([,e])=>e!==void 0))}class _r{visit(e){const n=e;switch(n.constructor){case qe:return this.visitNonTerminal(n);case Ve:return this.visitAlternative(n);case xe:return this.visitOption(n);case Ze:return this.visitRepetitionMandatory(n);case et:return this.visitRepetitionMandatoryWithSeparator(n);case We:return this.visitRepetitionWithSeparator(n);case Te:return this.visitRepetition(n);case Ke:return this.visitAlternation(n);case se:return this.visitTerminal(n);case wr: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 ip(t){return t instanceof Ve||t instanceof xe||t instanceof Te||t instanceof Ze||t instanceof et||t instanceof We||t instanceof se||t instanceof wr}function Us(t,e=[]){return t instanceof xe||t instanceof Te||t instanceof We?!0:t instanceof Ke?t.definition.some(r=>Us(r,e)):t instanceof qe&&e.includes(t)?!1:t instanceof gt?(t instanceof qe&&e.push(t),t.definition.every(r=>Us(r,e))):!1}function sp(t){return t instanceof Ke}function ht(t){if(t instanceof qe)return"SUBRULE";if(t instanceof xe)return"OPTION";if(t instanceof Ke)return"OR";if(t instanceof Ze)return"AT_LEAST_ONE";if(t instanceof et)return"AT_LEAST_ONE_SEP";if(t instanceof We)return"MANY_SEP";if(t instanceof Te)return"MANY";if(t instanceof se)return"CONSUME";throw Error("non exhaustive match")}class ca{walk(e,n=[]){e.definition.forEach((r,i)=>{const s=e.definition.slice(i+1);if(r instanceof qe)this.walkProdRef(r,s,n);else if(r instanceof se)this.walkTerminal(r,s,n);else if(r instanceof Ve)this.walkFlat(r,s,n);else if(r instanceof xe)this.walkOption(r,s,n);else if(r instanceof Ze)this.walkAtLeastOne(r,s,n);else if(r instanceof et)this.walkAtLeastOneSep(r,s,n);else if(r instanceof We)this.walkManySep(r,s,n);else if(r instanceof Te)this.walkMany(r,s,n);else if(r instanceof Ke)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 xe({definition:e.definition})].concat(n,r);this.walk(e,i)}walkAtLeastOneSep(e,n,r){const i=dl(e,n,r);this.walk(e,i)}walkMany(e,n,r){const i=[new xe({definition:e.definition})].concat(n,r);this.walk(e,i)}walkManySep(e,n,r){const i=dl(e,n,r);this.walk(e,i)}walkOr(e,n,r){const i=n.concat(r);e.definition.forEach(s=>{const a=new Ve({definition:[s]});this.walk(a,i)})}}function dl(t,e,n){return[new xe({definition:[new se({terminalType:t.separator})].concat(t.definition)})].concat(e,n)}function Di(t){if(t instanceof qe)return Di(t.referencedRule);if(t instanceof se)return cp(t);if(ip(t))return ap(t);if(sp(t))return op(t);throw Error("non exhaustive match")}function ap(t){let e=[];const n=t.definition;let r=0,i=n.length>r,s,a=!0;for(;i&&a;)s=n[r],a=Us(s),e=e.concat(Di(s)),r=r+1,i=n.length>r;return[...new Set(e)]}function op(t){const e=t.definition.map(n=>Di(n));return[...new Set(e.flat())]}function cp(t){return[t.terminalType]}const Td="_~IN~_";class lp extends ca{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=dp(e.referencedRule,e.idx)+this.topProd.name,s=n.concat(r),a=new Ve({definition:s}),o=Di(a);this.follows[i]=o}}function up(t){const e={};return t.forEach(n=>{const r=new lp(n).startWalking();Object.assign(e,r)}),e}function dp(t,e){return t.name+e+Td}let _s={};const fp=new sd;function la(t){const e=t.toString();if(_s.hasOwnProperty(e))return _s[e];{const n=fp.pattern(e);return _s[e]=n,n}}function hp(){_s={}}const Rd="Complement Sets are not supported for first char optimization",qs=`Unable to use "first char" lexer optimizations:
|
|
13
|
+
`;function pp(t,e=!1){try{const n=la(t);return to(n.value,{},n.flags.ignoreCase)}catch(n){if(n.message===Rd)e&&md(`${qs} 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.`),eo(`${qs}
|
|
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 to(t,e,n){switch(t.type){case"Disjunction":for(let i=0;i<t.value.length;i++)to(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"Lookbehind":case"NegativeLookbehind":case"StartAnchor":case"WordBoundary":case"NonWordBoundary":continue}const a=s;switch(a.type){case"Character":ls(a.value,e,n);break;case"Set":if(a.complement===!0)throw Error(Rd);a.value.forEach(c=>{if(typeof c=="number")ls(c,e,n);else{const l=c;if(n===!0)for(let u=l.from;u<=l.to;u++)ls(u,e,n);else{for(let u=l.from;u<=l.to&&u<gi;u++)ls(u,e,n);if(l.to>=gi){const u=l.from>=gi?l.from:gi,f=l.to,g=Wt(u),p=Wt(f);for(let E=g;E<=p;E++)e[E]=E}}}});break;case"Group":to(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"&&no(a)===!1||a.type!=="Group"&&o===!1)break}break;default:throw Error("non exhaustive match!")}return Object.values(e)}function ls(t,e,n){const r=Wt(t);e[r]=r,n===!0&&mp(t,e)}function mp(t,e){const n=String.fromCharCode(t),r=n.toUpperCase();if(r!==n){const i=Wt(r.charCodeAt(0));e[i]=i}else{const i=n.toLowerCase();if(i!==n){const s=Wt(i.charCodeAt(0));e[s]=s}}}function fl(t,e){return t.value.find(n=>{if(typeof n=="number")return e.includes(n);{const r=n;return e.find(i=>r.from<=i&&i<=r.to)!==void 0}})}function no(t){const e=t.quantifier;return e&&e.atLeast===0?!0:t.value?Array.isArray(t.value)?t.value.every(no):no(t.value):!1}class gp extends aa{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;case"Lookbehind":this.visitLookbehind(e);return;case"NegativeLookbehind":this.visitNegativeLookbehind(e);return}super.visitChildren(e)}}visitCharacter(e){this.targetCharCodes.includes(e.value)&&(this.found=!0)}visitSet(e){e.complement?fl(e,this.targetCharCodes)===void 0&&(this.found=!0):fl(e,this.targetCharCodes)!==void 0&&(this.found=!0)}}function Lc(t,e){if(e instanceof RegExp){const n=la(e),r=new gp(t);return r.visit(n),r.found}else{for(const n of e){const r=n.charCodeAt(0);if(t.includes(r))return!0}return!1}}const bn="PATTERN",mi="defaultMode",us="modes";function yp(t,e){e=Object.assign({safeMode:!1,positionTracking:"full",lineTerminatorCharacters:["\r",`
|
|
22
|
+
`],tracer:(S,b)=>b()},e);const n=e.tracer;n("initCharCodeToOptimizedIndexMap",()=>{Up()});let r;n("Reject Lexer.NA",()=>{r=t.filter(S=>S[bn]!==Be.NA)});let i=!1,s;n("Transform Patterns",()=>{i=!1,s=r.map(S=>{const b=S[bn];if(b instanceof RegExp){const P=b.source;return P.length===1&&P!=="^"&&P!=="$"&&P!=="."&&!b.ignoreCase?P:P.length===2&&P[0]==="\\"&&!["d","D","s","S","t","r","n","t","0","c","b","B","f","v","w","W"].includes(P[1])?P[1]:hl(b)}else{if(typeof b=="function")return i=!0,{exec:b};if(typeof b=="object")return i=!0,b;if(typeof b=="string"){if(b.length===1)return b;{const P=b.replace(/[\\^$.*+?()[\]{}|]/g,"\\$&"),V=new RegExp(P);return hl(V)}}else throw Error("non exhaustive match")}})});let a,o,c,l,u;n("misc mapping",()=>{a=r.map(S=>S.tokenTypeIdx),o=r.map(S=>{const b=S.GROUP;if(b!==Be.SKIPPED){if(typeof b=="string")return b;if(b===void 0)return!1;throw Error("non exhaustive match")}}),c=r.map(S=>{const b=S.LONGER_ALT;if(b)return Array.isArray(b)?b.map(V=>r.indexOf(V)):[r.indexOf(b)]}),l=r.map(S=>S.PUSH_MODE),u=r.map(S=>Object.hasOwn(S,"POP_MODE"))});let f;n("Line Terminator Handling",()=>{const S=Ad(e.lineTerminatorCharacters);f=r.map(b=>!1),e.positionTracking!=="onlyOffset"&&(f=r.map(b=>Object.hasOwn(b,"LINE_BREAKS")?!!b.LINE_BREAKS:Ed(b,S)===!1&&Lc(S,b.PATTERN)))});let g,p,E,N;n("Misc Mapping #2",()=>{g=r.map(vd),p=s.map(Fp),E=r.reduce((S,b)=>{const P=b.GROUP;return typeof P=="string"&&P!==Be.SKIPPED&&(S[P]=[]),S},{}),N=s.map((S,b)=>({pattern:s[b],longerAlt:c[b],canLineTerminator:f[b],isCustom:g[b],short:p[b],group:o[b],push:l[b],pop:u[b],tokenTypeIdx:a[b],tokenType:r[b]}))});let I=!0,C=[];return e.safeMode||n("First Char Optimization",()=>{C=r.reduce((S,b,P)=>{if(typeof b.PATTERN=="string"){const V=b.PATTERN.charCodeAt(0),B=Wt(V);ka(S,B,N[P])}else if(Array.isArray(b.START_CHARS_HINT)){let V;b.START_CHARS_HINT.forEach(B=>{const H=typeof B=="string"?B.charCodeAt(0):B,re=Wt(H);V!==re&&(V=re,ka(S,re,N[P]))})}else if(b.PATTERN instanceof RegExp)if(b.PATTERN.unicode)I=!1,e.ensureOptimizations&&eo(`${qs} Unable to analyze < ${b.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 V=pp(b.PATTERN,e.ensureOptimizations);V.length===0&&(I=!1),V.forEach(B=>{ka(S,B,N[P])})}else e.ensureOptimizations&&eo(`${qs} TokenType: <${b.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`),I=!1;return S},[])}),{emptyGroups:E,patternIdxToConfig:N,charCodeToPatternIdxToConfig:C,hasCustom:i,canBeOptimized:I}}function Tp(t,e){let n=[];const r=vp(t);n=n.concat(r.errors);const i=Ep(r.valid),s=i.valid;return n=n.concat(i.errors),n=n.concat(Rp(s)),n=n.concat(Np(s)),n=n.concat(Ip(s,e)),n=n.concat(Pp(s)),n}function Rp(t){let e=[];const n=t.filter(r=>r[bn]instanceof RegExp);return e=e.concat(Sp(n)),e=e.concat(bp(n)),e=e.concat(wp(n)),e=e.concat(_p(n)),e=e.concat(Cp(n)),e}function vp(t){const e=t.filter(i=>!Object.hasOwn(i,bn)),n=e.map(i=>({message:"Token Type: ->"+i.name+"<- missing static 'PATTERN' property",type:Re.MISSING_PATTERN,tokenTypes:[i]})),r=t.filter(i=>!e.includes(i));return{errors:n,valid:r}}function Ep(t){const e=t.filter(i=>{const s=i[bn];return!(s instanceof RegExp)&&typeof s!="function"&&!Object.hasOwn(s,"exec")&&typeof s!="string"}),n=e.map(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:Re.INVALID_PATTERN,tokenTypes:[i]})),r=t.filter(i=>!e.includes(i));return{errors:n,valid:r}}const Ap=/[^\\][$]/;function Sp(t){class e extends aa{constructor(){super(...arguments),this.found=!1}visitEndAnchor(s){this.found=!0}}return t.filter(i=>{const s=i.PATTERN;try{const a=la(s),o=new e;return o.visit(a),o.found}catch{return Ap.test(s.source)}}).map(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:Re.EOI_ANCHOR_FOUND,tokenTypes:[i]}))}function Cp(t){return t.filter(r=>r.PATTERN.test("")).map(r=>({message:"Token Type: ->"+r.name+"<- static 'PATTERN' must not match an empty string",type:Re.EMPTY_MATCH_PATTERN,tokenTypes:[r]}))}const kp=/[^\\[][\^]|^\^/;function bp(t){class e extends aa{constructor(){super(...arguments),this.found=!1}visitStartAnchor(s){this.found=!0}}return t.filter(i=>{const s=i.PATTERN;try{const a=la(s),o=new e;return o.visit(a),o.found}catch{return kp.test(s.source)}}).map(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:Re.SOI_ANCHOR_FOUND,tokenTypes:[i]}))}function wp(t){return t.filter(r=>{const i=r[bn];return i instanceof RegExp&&(i.multiline||i.global)}).map(r=>({message:"Token Type: ->"+r.name+"<- static 'PATTERN' may NOT contain global('g') or multiline('m')",type:Re.UNSUPPORTED_FLAGS_FOUND,tokenTypes:[r]}))}function _p(t){const e=[];let n=t.map(s=>t.reduce((a,o)=>(s.PATTERN.source===o.PATTERN.source&&!e.includes(o)&&o.PATTERN!==Be.NA&&(e.push(o),a.push(o)),a),[]));return n=n.filter(Boolean),n.filter(s=>s.length>1).map(s=>{const a=s.map(c=>c.name);return{message:`The same RegExp pattern ->${s[0].PATTERN}<-has been used in all of the following Token Types: ${a.join(", ")} <-`,type:Re.DUPLICATE_PATTERNS_FOUND,tokenTypes:s}})}function Np(t){return t.filter(r=>{if(!Object.hasOwn(r,"GROUP"))return!1;const i=r.GROUP;return i!==Be.SKIPPED&&i!==Be.NA&&typeof i!="string"}).map(r=>({message:"Token Type: ->"+r.name+"<- static 'GROUP' can only be Lexer.SKIPPED/Lexer.NA/A String",type:Re.INVALID_GROUP_TYPE_FOUND,tokenTypes:[r]}))}function Ip(t,e){return t.filter(i=>i.PUSH_MODE!==void 0&&!e.includes(i.PUSH_MODE)).map(i=>({message:`Token Type: ->${i.name}<- static 'PUSH_MODE' value cannot refer to a Lexer Mode ->${i.PUSH_MODE}<-which does not exist`,type:Re.PUSH_MODE_DOES_NOT_EXIST,tokenTypes:[i]}))}function Pp(t){const e=[],n=t.reduce((r,i,s)=>{const a=i.PATTERN;return a===Be.NA||(typeof a=="string"?r.push({str:a,idx:s,tokenType:i}):a instanceof RegExp&&Op(a)&&r.push({str:a.source,idx:s,tokenType:i})),r},[]);return t.forEach((r,i)=>{n.forEach(({str:s,idx:a,tokenType:o})=>{if(i<a&&$p(s,r.PATTERN)){const c=`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:c,type:Re.UNREACHABLE_PATTERN,tokenTypes:[r,o]})}})}),e}function $p(t,e){if(e instanceof RegExp){if(Lp(e))return!1;const n=e.exec(t);return n!==null&&n.index===0}else{if(typeof e=="function")return e(t,0,[],{});if(Object.hasOwn(e,"exec"))return e.exec(t,0,[],{});if(typeof e=="string")return e===t;throw Error("non exhaustive match")}}function Op(t){return[".","\\","[","]","|","^","$","(",")","?","*","+","{"].find(n=>t.source.indexOf(n)!==-1)===void 0}function Lp(t){return/(\(\?=)|(\(\?!)|(\(\?<=)|(\(\?<!)/.test(t.source)}function hl(t){const e=t.ignoreCase?"iy":"y";return new RegExp(`${t.source}`,e)}function xp(t,e,n){const r=[];return Object.hasOwn(t,mi)||r.push({message:"A MultiMode Lexer cannot be initialized without a <"+mi+`> property in its definition
|
|
34
|
+
`,type:Re.MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE}),Object.hasOwn(t,us)||r.push({message:"A MultiMode Lexer cannot be initialized without a <"+us+`> property in its definition
|
|
35
|
+
`,type:Re.MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY}),Object.hasOwn(t,us)&&Object.hasOwn(t,mi)&&!Object.hasOwn(t.modes,t.defaultMode)&&r.push({message:`A MultiMode Lexer cannot be initialized with a ${mi}: <${t.defaultMode}>which does not exist
|
|
36
|
+
`,type:Re.MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST}),Object.hasOwn(t,us)&&Object.keys(t.modes).forEach(i=>{const s=t.modes[i];s.forEach((a,o)=>{a===void 0?r.push({message:`A Lexer cannot be initialized using an undefined Token Type. Mode:<${i}> at index: <${o}>
|
|
37
|
+
`,type:Re.LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED}):Object.hasOwn(a,"LONGER_ALT")&&(Array.isArray(a.LONGER_ALT)?a.LONGER_ALT:[a.LONGER_ALT]).forEach(l=>{l!==void 0&&!s.includes(l)&&r.push({message:`A MultiMode Lexer cannot be initialized with a longer_alt <${l.name}> on token <${a.name}> outside of mode <${i}>
|
|
38
|
+
`,type:Re.MULTI_MODE_LEXER_LONGER_ALT_NOT_IN_CURRENT_MODE})})})}),r}function Dp(t,e,n){const r=[];let i=!1;const a=Object.values(t.modes||{}).flat().filter(Boolean).filter(c=>c[bn]!==Be.NA),o=Ad(n);return e&&a.forEach(c=>{const l=Ed(c,o);if(l!==!1){const f={message:jp(c,l),type:l.issue,tokenType:c};r.push(f)}else Object.hasOwn(c,"LINE_BREAKS")?c.LINE_BREAKS===!0&&(i=!0):Lc(o,c.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:Re.NO_LINE_BREAKS_FLAGS}),r}function Mp(t){const e={};return Object.keys(t).forEach(r=>{const i=t[r];if(Array.isArray(i))e[r]=[];else throw Error("non exhaustive match")}),e}function vd(t){const e=t.PATTERN;if(e instanceof RegExp)return!1;if(typeof e=="function")return!0;if(Object.hasOwn(e,"exec"))return!0;if(typeof e=="string")return!1;throw Error("non exhaustive match")}function Fp(t){return typeof t=="string"&&t.length===1?t.charCodeAt(0):!1}const Gp={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 Ed(t,e){if(Object.hasOwn(t,"LINE_BREAKS"))return!1;if(t.PATTERN instanceof RegExp){try{Lc(e,t.PATTERN)}catch(n){return{issue:Re.IDENTIFY_TERMINATOR,errMsg:n.message}}return!1}else{if(typeof t.PATTERN=="string")return!1;if(vd(t))return{issue:Re.CUSTOM_LINE_BREAK};throw Error("non exhaustive match")}}function jp(t,e){if(e.issue===Re.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===Re.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 Ad(t){return t.map(n=>typeof n=="string"?n.charCodeAt(0):n)}function ka(t,e,n){t[e]===void 0?t[e]=[n]:t[e].push(n)}const gi=256;let Ns=[];function Wt(t){return t<gi?t:Ns[t]}function Up(){if(Ns.length===0){Ns=new Array(65536);for(let t=0;t<65536;t++)Ns[t]=t>255?255+~~(t/255):t}}function Mi(t,e){const n=t.tokenTypeIdx;return n===e.tokenTypeIdx?!0:e.isParent===!0&&e.categoryMatchesMap[n]===!0}function zs(t,e){return t.tokenTypeIdx===e.tokenTypeIdx}let pl=1;const Sd={};function Fi(t){const e=qp(t);zp(e),Vp(e),Bp(e),e.forEach(n=>{n.isParent=n.categoryMatches.length>0})}function qp(t){let e=[...t],n=t,r=!0;for(;r;){n=n.map(s=>s.CATEGORIES).flat().filter(Boolean);const i=n.filter(s=>!e.includes(s));e=e.concat(i),i.length===0?r=!1:n=i}return e}function zp(t){t.forEach(e=>{kd(e)||(Sd[pl]=e,e.tokenTypeIdx=pl++),ml(e)&&!Array.isArray(e.CATEGORIES)&&(e.CATEGORIES=[e.CATEGORIES]),ml(e)||(e.CATEGORIES=[]),Wp(e)||(e.categoryMatches=[]),Kp(e)||(e.categoryMatchesMap={})})}function Bp(t){t.forEach(e=>{e.categoryMatches=[],Object.keys(e.categoryMatchesMap).forEach(n=>{e.categoryMatches.push(Sd[n].tokenTypeIdx)})})}function Vp(t){t.forEach(e=>{Cd([],e)})}function Cd(t,e){t.forEach(n=>{e.categoryMatchesMap[n.tokenTypeIdx]=!0}),e.CATEGORIES.forEach(n=>{const r=t.concat(e);r.includes(n)||Cd(r,n)})}function kd(t){return Object.hasOwn(t??{},"tokenTypeIdx")}function ml(t){return Object.hasOwn(t??{},"CATEGORIES")}function Wp(t){return Object.hasOwn(t??{},"categoryMatches")}function Kp(t){return Object.hasOwn(t??{},"categoryMatchesMap")}function Hp(t){return Object.hasOwn(t??{},"tokenTypeIdx")}const ro={buildUnableToPopLexerModeMessage(t){return`Unable to pop Lexer Mode after encountering Token ->${t.image}<- The Mode Stack is empty`},buildUnexpectedCharactersMessage(t,e,n,r,i,s){return`unexpected character: ->${t.charAt(e)}<- at offset: ${e}, skipped ${n} characters.`}};var Re;(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"})(Re||(Re={}));const yi={deferDefinitionErrorsHandling:!1,positionTracking:"full",lineTerminatorsPattern:/\n|\r\n?/g,lineTerminatorCharacters:[`
|
|
48
|
+
`,"\r"],ensureOptimizations:!1,safeMode:!1,errorMessageProvider:ro,traceInitPerf:!1,skipValidations:!1,recoveryEnabled:!0};Object.freeze(yi);class Be{constructor(e,n=yi){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:c}=gd(s),l=o>10?console.warn:console.log;return this.traceInitIndent<this.traceInitMaxIdent&&l(`${a}<-- <${i}> time: ${o}ms`),this.traceInitIndent--,c}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=Object.assign({},yi,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===yi.lineTerminatorsPattern)this.config.lineTerminatorsPattern=Gp;else if(this.config.lineTerminatorCharacters===yi.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),Array.isArray(e)?i={modes:{defaultMode:[...e]},defaultMode:mi}:(s=!1,i=Object.assign({},e))}),this.config.skipValidations===!1&&(this.TRACE_INIT("performRuntimeChecks",()=>{this.lexerDefinitionErrors=this.lexerDefinitionErrors.concat(xp(i,this.trackStartLines,this.config.lineTerminatorCharacters))}),this.TRACE_INIT("performWarningRuntimeChecks",()=>{this.lexerDefinitionWarning=this.lexerDefinitionWarning.concat(Dp(i,this.trackStartLines,this.config.lineTerminatorCharacters))})),i.modes=i.modes?i.modes:{},Object.entries(i.modes).forEach(([o,c])=>{i.modes[o]=c.filter(l=>l!==void 0)});const a=Object.keys(i.modes);if(Object.entries(i.modes).forEach(([o,c])=>{this.TRACE_INIT(`Mode: <${o}> processing`,()=>{if(this.modes.push(o),this.config.skipValidations===!1&&this.TRACE_INIT("validatePatterns",()=>{this.lexerDefinitionErrors=this.lexerDefinitionErrors.concat(Tp(c,a))}),this.lexerDefinitionErrors.length===0){Fi(c);let l;this.TRACE_INIT("analyzeTokenTypes",()=>{l=yp(c,{lineTerminatorCharacters:this.config.lineTerminatorCharacters,positionTracking:n.positionTracking,ensureOptimizations:n.ensureOptimizations,safeMode:n.safeMode,tracer:this.TRACE_INIT})}),this.patternIdxToConfig[o]=l.patternIdxToConfig,this.charCodeToPatternIdxToConfig[o]=l.charCodeToPatternIdxToConfig,this.emptyGroups=Object.assign({},this.emptyGroups,l.emptyGroups),this.hasCustom=l.hasCustom||this.hasCustom,this.canModeBeOptimized[o]=l.canBeOptimized}})}),this.defaultMode=i.defaultMode,this.lexerDefinitionErrors.length>0&&!this.config.deferDefinitionErrorsHandling){const c=this.lexerDefinitionErrors.map(l=>l.message).join(`-----------------------
|
|
51
|
+
`);throw new Error(`Errors detected in definition of Lexer:
|
|
52
|
+
`+c)}this.lexerDefinitionWarning.forEach(o=>{md(o.message)}),this.TRACE_INIT("Choosing sub-methods implementations",()=>{if(s&&(this.handleModes=()=>{}),this.trackStartLines===!1&&(this.computeNewColumn=o=>o),this.trackEndLines===!1&&(this.updateTokenEndLineColumnLocation=()=>{}),/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=Object.entries(this.canModeBeOptimized).reduce((c,[l,u])=>(u===!1&&c.push(l),c),[]);if(n.ensureOptimizations&&o.length>0)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",()=>{hp()}),this.TRACE_INIT("toFastProperties",()=>{yd(this)})})}tokenize(e,n=this.defaultMode){if(this.lexerDefinitionErrors.length>0){const i=this.lexerDefinitionErrors.map(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,c,l,u,f,g,p,E,N,I,C;const S=e,b=S.length;let P=0,V=0;const B=this.hasCustom?0:Math.floor(e.length/10),H=new Array(B),re=[];let ae=this.trackStartLines?1:void 0,oe=this.trackStartLines?1:void 0;const _=Mp(this.emptyGroups),T=this.trackStartLines,m=this.config.lineTerminatorsPattern;let k=0,y=[],R=[];const A=[],L=[];Object.freeze(L);let D=!1;const x=U=>{if(A.length===1&&U.tokenType.PUSH_MODE===void 0){const Z=this.config.errorMessageProvider.buildUnableToPopLexerModeMessage(U);re.push({offset:U.startOffset,line:U.startLine,column:U.startColumn,length:U.image.length,message:Z})}else{A.pop();const Z=A.at(-1);y=this.patternIdxToConfig[Z],R=this.charCodeToPatternIdxToConfig[Z],k=y.length;const Ne=this.canModeBeOptimized[Z]&&this.config.safeMode===!1;R&&Ne?D=!0:D=!1}};function j(U){A.push(U),R=this.charCodeToPatternIdxToConfig[U],y=this.patternIdxToConfig[U],k=y.length,k=y.length;const Z=this.canModeBeOptimized[U]&&this.config.safeMode===!1;R&&Z?D=!0:D=!1}j.call(this,n);let F;const te=this.config.recoveryEnabled;for(;P<b;){c=null,f=-1;const U=S.charCodeAt(P);let Z;if(D){const me=Wt(U),ce=R[me];Z=ce!==void 0?ce:L}else Z=y;const Ne=Z.length;for(r=0;r<Ne;r++){F=Z[r];const me=F.pattern;l=null;const ce=F.short;if(ce!==!1?U===ce&&(f=1,c=me):F.isCustom===!0?(C=me.exec(S,P,H,_),C!==null?(c=C[0],f=c.length,C.payload!==void 0&&(l=C.payload)):c=null):(me.lastIndex=P,f=this.matchLength(me,e,P)),f!==-1){if(o=F.longerAlt,o!==void 0){c=e.substring(P,P+f);const be=o.length;for(s=0;s<be;s++){const Ie=y[o[s]],Ce=Ie.pattern;if(u=null,Ie.isCustom===!0?(C=Ce.exec(S,P,H,_),C!==null?(a=C[0],C.payload!==void 0&&(u=C.payload)):a=null):(Ce.lastIndex=P,a=this.match(Ce,e,P)),a&&a.length>c.length){c=a,f=a.length,l=u,F=Ie;break}}}break}}if(f!==-1){if(g=F.group,g!==void 0&&(c=c!==null?c:e.substring(P,P+f),p=F.tokenTypeIdx,E=this.createTokenInstance(c,P,p,F.tokenType,ae,oe,f),this.handlePayload(E,l),g===!1?V=this.addToken(H,V,E):_[g].push(E)),T===!0&&F.canLineTerminator===!0){let me=0,ce,be;m.lastIndex=0;do c=c!==null?c:e.substring(P,P+f),ce=m.test(c),ce===!0&&(be=m.lastIndex-1,me++);while(ce===!0);me!==0?(ae=ae+me,oe=f-be,this.updateTokenEndLineColumnLocation(E,g,be,me,ae,oe,f)):oe=this.computeNewColumn(oe,f)}else oe=this.computeNewColumn(oe,f);P=P+f,this.handleModes(F,x,j,E)}else{const me=P,ce=ae,be=oe;let Ie=te===!1;for(;Ie===!1&&P<b;)for(P++,i=0;i<k;i++){const Ce=y[i],Y=Ce.pattern,He=Ce.short;if(He!==!1?S.charCodeAt(P)===He&&(Ie=!0):Ce.isCustom===!0?Ie=Y.exec(S,P,H,_)!==null:(Y.lastIndex=P,Ie=Y.exec(e)!==null),Ie===!0)break}if(N=P-me,oe=this.computeNewColumn(oe,N),I=this.config.errorMessageProvider.buildUnexpectedCharactersMessage(S,me,N,ce,be,A.at(-1)),re.push({offset:me,line:ce,column:be,length:N,message:I}),te===!1)break}}return this.hasCustom||(H.length=V),{tokens:H,groups:_,errors:re}}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)}updateTokenEndLineColumnLocation(e,n,r,i,s,a,o){let c,l;n!==void 0&&(c=r===o-1,l=c?-1:0,i===1&&c===!0||(e.endLine=s+l,e.endColumn=a-1+-l))}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)}match(e,n,r){return e.test(n)===!0?n.substring(r,e.lastIndex):null}matchLength(e,n,r){return e.test(n)===!0?e.lastIndex-r:-1}}Be.SKIPPED="This marks a skipped Token pattern, this means each token identified by it will be consumed and then thrown into oblivion, this can be used to for example to completely ignore whitespace.";Be.NA=/NOT_APPLICABLE/;function nr(t){return bd(t)?t.LABEL:t.name}function bd(t){return typeof t.LABEL=="string"&&t.LABEL!==""}const Xp="parent",gl="categories",yl="label",Tl="group",Rl="push_mode",vl="pop_mode",El="longer_alt",Al="line_breaks",Sl="start_chars_hint";function wd(t){return Yp(t)}function Yp(t){const e=t.pattern,n={};if(n.name=t.name,e!==void 0&&(n.PATTERN=e),Object.hasOwn(t,Xp))throw`The parent property is no longer supported.
|
|
57
|
+
See: https://github.com/chevrotain/chevrotain/issues/564#issuecomment-349062346 for details.`;return Object.hasOwn(t,gl)&&(n.CATEGORIES=t[gl]),Fi([n]),Object.hasOwn(t,yl)&&(n.LABEL=t[yl]),Object.hasOwn(t,Tl)&&(n.GROUP=t[Tl]),Object.hasOwn(t,vl)&&(n.POP_MODE=t[vl]),Object.hasOwn(t,Rl)&&(n.PUSH_MODE=t[Rl]),Object.hasOwn(t,El)&&(n.LONGER_ALT=t[El]),Object.hasOwn(t,Al)&&(n.LINE_BREAKS=t[Al]),Object.hasOwn(t,Sl)&&(n.START_CHARS_HINT=t[Sl]),n}const Ft=wd({name:"EOF",pattern:Be.NA});Fi([Ft]);function xc(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 Dc(t,e){return Mi(t,e)}const er={buildMismatchTokenMessage({expected:t,actual:e,previous:n,ruleName:r}){return`Expecting ${bd(t)?`--> ${nr(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: '`+e[0].image+"'";if(r)return s+r+o;{const f=`one of these possible Token sequences:
|
|
59
|
+
${t.reduce((g,p)=>g.concat(p),[]).map(g=>`[${g.map(p=>nr(p)).join(", ")}]`).map((g,p)=>` ${p+1}. ${g}`).join(`
|
|
60
|
+
`)}`;return s+f+o}},buildEarlyExitMessage({expectedIterationPaths:t,actual:e,customUserDescription:n,ruleName:r}){const i="Expecting: ",a=`
|
|
61
|
+
but found: '`+e[0].image+"'";if(n)return i+n+a;{const c=`expecting at least one iteration which starts with one of these possible Token sequences::
|
|
62
|
+
<${t.map(l=>`[${l.map(u=>nr(u)).join(",")}]`).join(" ,")}>`;return i+c+a}}};Object.freeze(er);const Jp={buildRuleNotFoundError(t,e){return"Invalid grammar, reference to a rule which is not defined: ->"+e.nonTerminalName+`<-
|
|
63
|
+
inside top level rule: ->`+t.name+"<-"}},En={buildDuplicateFoundError(t,e){function n(u){return u instanceof se?u.terminalType.name:u instanceof qe?u.nonTerminalName:""}const r=t.name,i=e[0],s=i.idx,a=ht(i),o=n(i),c=s>0;let l=`->${a}${c?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 l=l.replace(/[ \t]+/g," "),l=l.replace(/\s\s+/g,`
|
|
67
|
+
`),l},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=t.prefixPath.map(i=>nr(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=t.alternation.idx===0?"":t.alternation.idx,n=t.prefixPath.length===0;let r=`Ambiguous Alternatives Detected: <${t.ambiguityIndices.join(" ,")}> in <OR${e}> inside <${t.topLevelRule.name}> Rule,
|
|
76
|
+
`;if(n)r+=`These alternatives are all empty (match no tokens), making them indistinguishable.
|
|
77
|
+
Only the last alternative may be empty.
|
|
78
|
+
`;else{const i=t.prefixPath.map(s=>nr(s)).join(", ");r+=`<${i}> may appears as a prefix path in all these alternatives.
|
|
79
|
+
`}return r+=`See: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#AMBIGUOUS_ALTERNATIVES
|
|
80
|
+
For Further details.`,r},buildEmptyRepetitionError(t){let e=ht(t.repetition);return t.repetition.idx!==0&&(e+=t.repetition.idx),`The repetition <${e}> within Rule <${t.topLevelRule.name}> can never consume any tokens.
|
|
81
|
+
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.
|
|
82
|
+
Only the last alternative may be an empty alternative.`},buildTooManyAlternativesError(t){return`An Alternation cannot have more than 256 alternatives:
|
|
83
|
+
<OR${t.alternation.idx}> inside <${t.topLevelRule.name}> Rule.
|
|
84
|
+
has ${t.alternation.definition.length+1} alternatives.`},buildLeftRecursionError(t){const e=t.topLevelRule.name,n=t.leftRecursionPath.map(s=>s.name),r=`${e} --> ${n.concat([e]).join(" --> ")}`;return`Left Recursion found in grammar.
|
|
85
|
+
rule: <${e}> can be invoked from itself (directly or indirectly)
|
|
86
|
+
without consuming any Tokens. The grammar path that causes this is:
|
|
87
|
+
${r}
|
|
88
|
+
To fix this refactor your grammar to remove the left recursion.
|
|
89
|
+
see: https://en.wikipedia.org/wiki/LL_parser#Left_factoring.`},buildInvalidRuleNameError(t){return"deprecated"},buildDuplicateRuleNameError(t){let e;return t.topLevelRule instanceof wr?e=t.topLevelRule.name:e=t.topLevelRule,`Duplicate definition, rule: ->${e}<- is already defined in the grammar: ->${t.grammarName}<-`}};function Qp(t,e){const n=new Zp(t,e);return n.resolveRefs(),n.errors}class Zp extends _r{constructor(e,n){super(),this.nameToTopRule=e,this.errMsgProvider=n,this.errors=[]}resolveRefs(){Object.values(this.nameToTopRule).forEach(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:ze.UNRESOLVED_SUBRULE_REF,ruleName:this.currTopLevel.name,unresolvedRefName:e.nonTerminalName})}}}class em extends ca{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=[...this.path.ruleStack].reverse(),this.occurrenceStack=[...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(){this.ruleStack.length===0?(this.nextProductionName="",this.nextProductionOccurrence=0,this.isAtEndOfPath=!0):(this.nextProductionName=this.ruleStack.pop(),this.nextProductionOccurrence=this.occurrenceStack.pop())}}class tm extends em{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 Ve({definition:i});this.possibleTokTypes=Di(s),this.found=!0}}}class ua extends ca{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 nm extends ua{walkMany(e,n,r){if(e.idx===this.occurrence){const i=n.concat(r)[0];this.result.isEndOfRule=i===void 0,i instanceof se&&(this.result.token=i.terminalType,this.result.occurrence=i.idx)}else super.walkMany(e,n,r)}}class Cl extends ua{walkManySep(e,n,r){if(e.idx===this.occurrence){const i=n.concat(r)[0];this.result.isEndOfRule=i===void 0,i instanceof se&&(this.result.token=i.terminalType,this.result.occurrence=i.idx)}else super.walkManySep(e,n,r)}}class rm extends ua{walkAtLeastOne(e,n,r){if(e.idx===this.occurrence){const i=n.concat(r)[0];this.result.isEndOfRule=i===void 0,i instanceof se&&(this.result.token=i.terminalType,this.result.occurrence=i.idx)}else super.walkAtLeastOne(e,n,r)}}class kl extends ua{walkAtLeastOneSep(e,n,r){if(e.idx===this.occurrence){const i=n.concat(r)[0];this.result.isEndOfRule=i===void 0,i instanceof se&&(this.result.token=i.terminalType,this.result.occurrence=i.idx)}else super.walkAtLeastOneSep(e,n,r)}}function io(t,e,n=[]){n=[...n];let r=[],i=0;function s(o){return o.concat(t.slice(i+1))}function a(o){const c=io(s(o),e,n);return r.concat(c)}for(;n.length<e&&i<t.length;){const o=t[i];if(o instanceof Ve)return a(o.definition);if(o instanceof qe)return a(o.definition);if(o instanceof xe)r=a(o.definition);else if(o instanceof Ze){const c=o.definition.concat([new Te({definition:o.definition})]);return a(c)}else if(o instanceof et){const c=[new Ve({definition:o.definition}),new Te({definition:[new se({terminalType:o.separator})].concat(o.definition)})];return a(c)}else if(o instanceof We){const c=o.definition.concat([new Te({definition:[new se({terminalType:o.separator})].concat(o.definition)})]);r=a(c)}else if(o instanceof Te){const c=o.definition.concat([new Te({definition:o.definition})]);r=a(c)}else{if(o instanceof Ke)return o.definition.forEach(c=>{c.definition.length!==0&&(r=a(c.definition))}),r;if(o instanceof se)n.push(o.terminalType);else throw Error("non exhaustive match")}i++}return r.push({partialPath:n,suffixDef:t.slice(i)}),r}function im(t,e,n,r){const i="EXIT_NONE_TERMINAL",s=[i],a="EXIT_ALTERNATIVE";let o=!1;const c=e.length,l=c-r-1,u=[],f=[];for(f.push({idx:-1,def:t,ruleStack:[],occurrenceStack:[]});f.length!==0;){const g=f.pop();if(g===a){o&&f.at(-1).idx<=l&&f.pop();continue}const p=g.def,E=g.idx,N=g.ruleStack,I=g.occurrenceStack;if(p.length===0)continue;const C=p[0];if(C===i){const S={idx:E,def:p.slice(1),ruleStack:N.slice(0,-1),occurrenceStack:I.slice(0,-1)};f.push(S)}else if(C instanceof se)if(E<c-1){const S=E+1,b=e[S];if(n(b,C.terminalType)){const P={idx:S,def:p.slice(1),ruleStack:N,occurrenceStack:I};f.push(P)}}else if(E===c-1)u.push({nextTokenType:C.terminalType,nextTokenOccurrence:C.idx,ruleStack:N,occurrenceStack:I}),o=!0;else throw Error("non exhaustive match");else if(C instanceof qe){const S=[...N];S.push(C.nonTerminalName);const b=[...I];b.push(C.idx);const P={idx:E,def:C.definition.concat(s,p.slice(1)),ruleStack:S,occurrenceStack:b};f.push(P)}else if(C instanceof xe){const S={idx:E,def:p.slice(1),ruleStack:N,occurrenceStack:I};f.push(S),f.push(a);const b={idx:E,def:C.definition.concat(p.slice(1)),ruleStack:N,occurrenceStack:I};f.push(b)}else if(C instanceof Ze){const S=new Te({definition:C.definition,idx:C.idx}),b=C.definition.concat([S],p.slice(1)),P={idx:E,def:b,ruleStack:N,occurrenceStack:I};f.push(P)}else if(C instanceof et){const S=new se({terminalType:C.separator}),b=new Te({definition:[S].concat(C.definition),idx:C.idx}),P=C.definition.concat([b],p.slice(1)),V={idx:E,def:P,ruleStack:N,occurrenceStack:I};f.push(V)}else if(C instanceof We){const S={idx:E,def:p.slice(1),ruleStack:N,occurrenceStack:I};f.push(S),f.push(a);const b=new se({terminalType:C.separator}),P=new Te({definition:[b].concat(C.definition),idx:C.idx}),V=C.definition.concat([P],p.slice(1)),B={idx:E,def:V,ruleStack:N,occurrenceStack:I};f.push(B)}else if(C instanceof Te){const S={idx:E,def:p.slice(1),ruleStack:N,occurrenceStack:I};f.push(S),f.push(a);const b=new Te({definition:C.definition,idx:C.idx}),P=C.definition.concat([b],p.slice(1)),V={idx:E,def:P,ruleStack:N,occurrenceStack:I};f.push(V)}else if(C instanceof Ke)for(let S=C.definition.length-1;S>=0;S--){const b=C.definition[S],P={idx:E,def:b.definition.concat(p.slice(1)),ruleStack:N,occurrenceStack:I};f.push(P),f.push(a)}else if(C instanceof Ve)f.push({idx:E,def:C.definition.concat(p.slice(1)),ruleStack:N,occurrenceStack:I});else if(C instanceof wr)f.push(sm(C,E,N,I));else throw Error("non exhaustive match")}return u}function sm(t,e,n,r){const i=[...n];i.push(t.name);const s=[...r];return s.push(1),{idx:e,def:t.definition,ruleStack:i,occurrenceStack:s}}var fe;(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"})(fe||(fe={}));function Mc(t){if(t instanceof xe||t==="Option")return fe.OPTION;if(t instanceof Te||t==="Repetition")return fe.REPETITION;if(t instanceof Ze||t==="RepetitionMandatory")return fe.REPETITION_MANDATORY;if(t instanceof et||t==="RepetitionMandatoryWithSeparator")return fe.REPETITION_MANDATORY_WITH_SEPARATOR;if(t instanceof We||t==="RepetitionWithSeparator")return fe.REPETITION_WITH_SEPARATOR;if(t instanceof Ke||t==="Alternation")return fe.ALTERNATION;throw Error("non exhaustive match")}function bl(t){const{occurrence:e,rule:n,prodType:r,maxLookahead:i}=t,s=Mc(r);return s===fe.ALTERNATION?da(e,n,i):fa(e,n,s,i)}function am(t,e,n,r,i,s){const a=da(t,e,n),o=Id(a)?zs:Mi;return s(a,r,o,i)}function om(t,e,n,r,i,s){const a=fa(t,e,i,n),o=Id(a)?zs:Mi;return s(a[0],o,r)}function cm(t,e,n,r){const i=t.length,s=t.every(a=>a.every(o=>o.length===1));if(e)return function(a){const o=a.map(c=>c.GATE);for(let c=0;c<i;c++){const l=t[c],u=l.length,f=o[c];if(!(f!==void 0&&f.call(this)===!1))e:for(let g=0;g<u;g++){const p=l[g],E=p.length;for(let N=0;N<E;N++){const I=this.LA_FAST(N+1);if(n(I,p[N])===!1)continue e}return c}}};if(s&&!r){const o=t.map(c=>c.flat()).reduce((c,l,u)=>(l.forEach(f=>{f.tokenTypeIdx in c||(c[f.tokenTypeIdx]=u),f.categoryMatches.forEach(g=>{Object.hasOwn(c,g)||(c[g]=u)})}),c),{});return function(){const c=this.LA_FAST(1);return o[c.tokenTypeIdx]}}else return function(){for(let a=0;a<i;a++){const o=t[a],c=o.length;e:for(let l=0;l<c;l++){const u=o[l],f=u.length;for(let g=0;g<f;g++){const p=this.LA_FAST(g+1);if(n(p,u[g])===!1)continue e}return a}}}}function lm(t,e,n){const r=t.every(s=>s.length===1),i=t.length;if(r&&!n){const s=t.flat();if(s.length===1&&s[0].categoryMatches.length===0){const o=s[0].tokenTypeIdx;return function(){return this.LA_FAST(1).tokenTypeIdx===o}}else{const a=s.reduce((o,c,l)=>(o[c.tokenTypeIdx]=!0,c.categoryMatches.forEach(u=>{o[u]=!0}),o),[]);return function(){const o=this.LA_FAST(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 c=0;c<o;c++){const l=this.LA_FAST(c+1);if(e(l,a[c])===!1)continue e}return!0}return!1}}class um extends ca{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,fe.OPTION,n,r)||super.walkOption(e,n,r)}walkAtLeastOne(e,n,r){this.checkIsTarget(e,fe.REPETITION_MANDATORY,n,r)||super.walkOption(e,n,r)}walkAtLeastOneSep(e,n,r){this.checkIsTarget(e,fe.REPETITION_MANDATORY_WITH_SEPARATOR,n,r)||super.walkOption(e,n,r)}walkMany(e,n,r){this.checkIsTarget(e,fe.REPETITION,n,r)||super.walkOption(e,n,r)}walkManySep(e,n,r){this.checkIsTarget(e,fe.REPETITION_WITH_SEPARATOR,n,r)||super.walkOption(e,n,r)}}class _d extends _r{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,fe.OPTION)}visitRepetition(e){this.checkIsTarget(e,fe.REPETITION)}visitRepetitionMandatory(e){this.checkIsTarget(e,fe.REPETITION_MANDATORY)}visitRepetitionMandatoryWithSeparator(e){this.checkIsTarget(e,fe.REPETITION_MANDATORY_WITH_SEPARATOR)}visitRepetitionWithSeparator(e){this.checkIsTarget(e,fe.REPETITION_WITH_SEPARATOR)}visitAlternation(e){this.checkIsTarget(e,fe.ALTERNATION)}}function wl(t){const e=new Array(t);for(let n=0;n<t;n++)e[n]=[];return e}function ba(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 c="_"+r.categoryMatches[o];i.push(a+c)}}e=i}return e}function dm(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 Nd(t,e){const n=t.map(a=>io([a],1)),r=wl(n.length),i=n.map(a=>{const o={};return a.forEach(c=>{ba(c.partialPath).forEach(u=>{o[u]=!0})}),o});let s=n;for(let a=1;a<=e;a++){const o=s;s=wl(o.length);for(let c=0;c<o.length;c++){const l=o[c];for(let u=0;u<l.length;u++){const f=l[u].partialPath,g=l[u].suffixDef,p=ba(f);if(dm(i,p,c)||g.length===0||f.length===e){const N=r[c];if(so(N,f)===!1){N.push(f);for(let I=0;I<p.length;I++){const C=p[I];i[c][C]=!0}}}else{const N=io(g,a+1,f);s[c]=s[c].concat(N),N.forEach(I=>{ba(I.partialPath).forEach(S=>{i[c][S]=!0})})}}}}return r}function da(t,e,n,r){const i=new _d(t,fe.ALTERNATION,r);return e.accept(i),Nd(i.result,n)}function fa(t,e,n,r){const i=new _d(t,n);e.accept(i);const s=i.result,o=new um(e,t,n).startWalking(),c=new Ve({definition:s}),l=new Ve({definition:o});return Nd([c,l],r)}function so(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 fm(t,e){return t.length<e.length&&t.every((n,r)=>{const i=e[r];return n===i||i.categoryMatchesMap[n.tokenTypeIdx]})}function Id(t){return t.every(e=>e.every(n=>n.every(r=>r.categoryMatches.length===0)))}function hm(t){return t.lookaheadStrategy.validate({rules:t.rules,tokenTypes:t.tokenTypes,grammarName:t.grammarName}).map(n=>Object.assign({type:ze.CUSTOM_LOOKAHEAD_VALIDATION},n))}function pm(t,e,n,r){const i=t.flatMap(c=>mm(c,n)),s=wm(t,e,n),a=t.flatMap(c=>Sm(c,n)),o=t.flatMap(c=>Tm(c,t,r,n));return i.concat(s,a,o)}function mm(t,e){const n=new ym;t.accept(n);const r=n.allProductions,i=Object.groupBy(r,gm),s=Object.fromEntries(Object.entries(i).filter(([o,c])=>c.length>1));return Object.values(s).map(o=>{const c=o[0],l=e.buildDuplicateFoundError(t,o),u=ht(c),f={message:l,type:ze.DUPLICATE_PRODUCTIONS,ruleName:t.name,dslName:u,occurrence:c.idx},g=Pd(c);return g&&(f.parameter=g),f})}function gm(t){return`${ht(t)}_#_${t.idx}_#_${Pd(t)}`}function Pd(t){return t instanceof se?t.terminalType.name:t instanceof qe?t.nonTerminalName:""}class ym extends _r{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 Tm(t,e,n,r){const i=[];if(e.reduce((a,o)=>o.name===t.name?a+1:a,0)>1){const a=r.buildDuplicateRuleNameError({topLevelRule:t,grammarName:n});i.push({message:a,type:ze.DUPLICATE_RULE_NAME,ruleName:t.name})}return i}function Rm(t,e,n){const r=[];let i;return e.includes(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:ze.INVALID_RULE_OVERRIDE,ruleName:t})),r}function $d(t,e,n,r=[]){const i=[],s=Is(e.definition);if(s.length===0)return[];{const a=t.name;s.includes(t)&&i.push({message:n.buildLeftRecursionError({topLevelRule:t,leftRecursionPath:r}),type:ze.LEFT_RECURSION,ruleName:a});const c=r.concat([t]),u=s.filter(f=>!c.includes(f)).flatMap(f=>{const g=[...r];return g.push(f),$d(t,f,n,g)});return i.concat(u)}}function Is(t){let e=[];if(t.length===0)return e;const n=t[0];if(n instanceof qe)e.push(n.referencedRule);else if(n instanceof Ve||n instanceof xe||n instanceof Ze||n instanceof et||n instanceof We||n instanceof Te)e=e.concat(Is(n.definition));else if(n instanceof Ke)e=n.definition.map(s=>Is(s.definition)).flat();else if(!(n instanceof se))throw Error("non exhaustive match");const r=Us(n),i=t.length>1;if(r&&i){const s=t.slice(1);return e.concat(Is(s))}else return e}class Fc extends _r{constructor(){super(...arguments),this.alternations=[]}visitAlternation(e){this.alternations.push(e)}}function vm(t,e){const n=new Fc;return t.accept(n),n.alternations.flatMap(s=>s.definition.slice(0,-1).flatMap((o,c)=>im([o],[],Mi,1).length===0?[{message:e.buildEmptyAlternationError({topLevelRule:t,alternation:s,emptyChoiceIdx:c}),type:ze.NONE_LAST_EMPTY_ALT,ruleName:t.name,occurrence:s.idx,alternative:c+1}]:[]))}function Em(t,e,n){const r=new Fc;t.accept(r);let i=r.alternations;return i=i.filter(a=>a.ignoreAmbiguities!==!0),i.flatMap(a=>{const o=a.idx,c=a.maxLookahead||e,l=da(o,t,c,a),u=km(l,a,t,n),f=bm(l,a,t,n);return u.concat(f)})}class Am extends _r{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 Sm(t,e){const n=new Fc;return t.accept(n),n.alternations.flatMap(s=>s.definition.length>255?[{message:e.buildTooManyAlternativesError({topLevelRule:t,alternation:s}),type:ze.TOO_MANY_ALTS,ruleName:t.name,occurrence:s.idx}]:[])}function Cm(t,e,n){const r=[];return t.forEach(i=>{const s=new Am;i.accept(s),s.allProductions.forEach(o=>{const c=Mc(o),l=o.maxLookahead||e,u=o.idx;if(fa(u,i,c,l)[0].flat().length===0){const p=n.buildEmptyRepetitionError({topLevelRule:i,repetition:o});r.push({message:p,type:ze.NO_NON_EMPTY_LOOKAHEAD,ruleName:i.name})}})}),r}function km(t,e,n,r){const i=[];return t.reduce((o,c,l)=>(e.definition[l].ignoreAmbiguities===!0||c.forEach(u=>{const f=[l];t.forEach((g,p)=>{l!==p&&so(g,u)&&e.definition[p].ignoreAmbiguities!==!0&&f.push(p)}),f.length>1&&!so(i,u)&&(i.push(u),o.push({alts:f,path:u}))}),o),[]).map(o=>{const c=o.alts.map(u=>u+1);return{message:r.buildAlternationAmbiguityError({topLevelRule:n,alternation:e,ambiguityIndices:c,prefixPath:o.path}),type:ze.AMBIGUOUS_ALTS,ruleName:n.name,occurrence:e.idx,alternatives:o.alts}})}function bm(t,e,n,r){const i=t.reduce((a,o,c)=>{const l=o.map(u=>({idx:c,path:u}));return a.concat(l)},[]);return i.flatMap(a=>{if(e.definition[a.idx].ignoreAmbiguities===!0)return[];const c=a.idx,l=a.path;return i.filter(g=>e.definition[g.idx].ignoreAmbiguities!==!0&&g.idx<c&&fm(g.path,l)).map(g=>{const p=[g.idx+1,c+1],E=e.idx===0?"":e.idx;return{message:r.buildAlternationPrefixAmbiguityError({topLevelRule:n,alternation:e,ambiguityIndices:p,prefixPath:g.path}),type:ze.AMBIGUOUS_PREFIX_ALTS,ruleName:n.name,occurrence:E,alternatives:p}})})}function wm(t,e,n){const r=[],i=e.map(s=>s.name);return t.forEach(s=>{const a=s.name;if(i.includes(a)){const o=n.buildNamespaceConflictError(s);r.push({message:o,type:ze.CONFLICT_TOKENS_RULES_NAMESPACE,ruleName:a})}}),r}function _m(t){const e=Object.assign({errMsgProvider:Jp},t),n={};return t.rules.forEach(r=>{n[r.name]=r}),Qp(n,e.errMsgProvider)}function Nm(t){var e;const n=(e=t.errMsgProvider)!==null&&e!==void 0?e:En;return pm(t.rules,t.tokenTypes,n,t.grammarName)}const Od="MismatchedTokenException",Ld="NoViableAltException",xd="EarlyExitException",Dd="NotAllInputParsedException",Md=[Od,Ld,xd,Dd];Object.freeze(Md);function Bs(t){return Md.includes(t.name)}class ha 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 Fd extends ha{constructor(e,n,r){super(e,n),this.previousToken=r,this.name=Od}}class Im extends ha{constructor(e,n,r){super(e,n),this.previousToken=r,this.name=Ld}}class Pm extends ha{constructor(e,n){super(e,n),this.name=Dd}}class $m extends ha{constructor(e,n,r){super(e,n),this.previousToken=r,this.name=xd}}const wa={},Gd="InRuleRecoveryException";class Om extends Error{constructor(e){super(e),this.name=Gd}}class Lm{initRecoverable(e){this.firstAfterRepMap={},this.resyncFollows={},this.recoveryEnabled=Object.hasOwn(e,"recoveryEnabled")?e.recoveryEnabled:Gt.recoveryEnabled,this.recoveryEnabled&&(this.attemptInRepetitionRecovery=xm)}getTokenToInsert(e){const n=xc(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 c=!1;const l=this.LA_FAST(1);let u=this.LA_FAST(1);const f=()=>{const g=this.LA(0),p=this.errorMessageProvider.buildMismatchTokenMessage({expected:i,actual:l,previous:g,ruleName:this.getCurrRuleFullName()}),E=new Fd(p,l,this.LA(0));E.resyncedTokens=o.slice(0,-1),this.SAVE_ERROR(E)};for(;!c;)if(this.tokenMatcher(u,i)){f();return}else if(r.call(this)){f(),e.apply(this,n);return}else this.tokenMatcher(u,s)?c=!0:(u=this.SKIP_TOKEN(),this.addToResyncTokens(u,o));this.importLexerState(a)}shouldInRepetitionRecoveryBeTried(e,n,r){return!(r===!1||this.tokenMatcher(this.LA_FAST(1),e)||this.isBackTracking()||this.canPerformInRuleRecovery(e,this.getFollowsForInRuleRecovery(e,n)))}getNextPossibleTokenTypes(e){const n=e.ruleStack[0],i=this.getGAstProductions()[n];return new tm(i,e).startWalking()}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 Om("sad sad panda")}canPerformInRuleRecovery(e,n){return this.canRecoverWithSingleTokenInsertion(e,n)||this.canRecoverWithSingleTokenDeletion(e)}canRecoverWithSingleTokenInsertion(e,n){if(!this.canTokenTypeBeInsertedInRecovery(e)||n.length===0)return!1;const r=this.LA_FAST(1);return n.find(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();return this.getFollowSetFromFollowKey(n).includes(e)}findReSyncTokenType(){const e=this.flattenFollowSet();let n=this.LA_FAST(1),r=2;for(;;){const i=e.find(s=>Dc(n,s));if(i!==void 0)return i;n=this.LA(r),r++}}getCurrFollowKey(){if(this.RULE_STACK_IDX===0)return wa;const e=this.currRuleShortName,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,r=this.RULE_STACK_IDX+1,i=new Array(r);for(let s=0;s<r;s++)s===0?i[s]=wa:i[s]={ruleName:this.shortRuleNameToFullName(e[s]),idxInCallingRule:n[s],inRule:this.shortRuleNameToFullName(e[s-1])};return i}flattenFollowSet(){return this.buildFullFollowKeyStack().map(n=>this.getFollowSetFromFollowKey(n)).flat()}getFollowSetFromFollowKey(e){if(e===wa)return[Ft];const n=e.ruleName+e.idxInCallingRule+Td+e.inRule;return this.resyncFollows[n]}addToResyncTokens(e,n){return this.tokenMatcher(e,Ft)||n.push(e),n}reSyncTo(e){const n=[];let r=this.LA_FAST(1);for(;this.tokenMatcher(r,e)===!1;)r=this.SKIP_TOKEN(),this.addToResyncTokens(r,n);return n.slice(0,-1)}attemptInRepetitionRecovery(e,n,r,i,s,a,o){}getCurrentGrammarPath(e,n){const r=this.getHumanReadableRuleStack(),i=this.RULE_OCCURRENCE_STACK.slice(0,this.RULE_OCCURRENCE_STACK_IDX+1);return{ruleStack:r,occurrenceStack:i,lastTok:e,lastTokOccurrence:n}}getHumanReadableRuleStack(){const e=this.RULE_STACK_IDX+1,n=new Array(e);for(let r=0;r<e;r++)n[r]=this.shortRuleNameToFullName(this.RULE_STACK[r]);return n}}function xm(t,e,n,r,i,s,a){const o=this.getKeyForAutomaticLookahead(r,i);let c=this.firstAfterRepMap[o];if(c===void 0){const g=this.getCurrRuleFullName(),p=this.getGAstProductions()[g];c=new s(p,i).startWalking(),this.firstAfterRepMap[o]=c}let l=c.token,u=c.occurrence;const f=c.isEndOfRule;this.RULE_STACK_IDX===0&&f&&l===void 0&&(l=Ft,u=1),!(l===void 0||u===void 0)&&this.shouldInRepetitionRecoveryBeTried(l,u,a)&&this.tryInRepetitionRecovery(t,e,n,l)}const Dm=4,Ht=8,jd=1<<Ht,Ud=2<<Ht,ao=3<<Ht,oo=4<<Ht,co=5<<Ht,Ps=6<<Ht;function _a(t,e,n){return n|e|t}class Gc{constructor(e){var n;this.maxLookahead=(n=e?.maxLookahead)!==null&&n!==void 0?n:Gt.maxLookahead}validate(e){const n=this.validateNoLeftRecursion(e.rules);if(n.length===0){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 e.flatMap(n=>$d(n,n,En))}validateEmptyOrAlternatives(e){return e.flatMap(n=>vm(n,En))}validateAmbiguousAlternationAlternatives(e,n){return e.flatMap(r=>Em(r,n,En))}validateSomeNonEmptyLookaheadPath(e,n){return Cm(e,n,En)}buildLookaheadForAlternation(e){return am(e.prodOccurrence,e.rule,e.maxLookahead,e.hasPredicates,e.dynamicTokensEnabled,cm)}buildLookaheadForOptional(e){return om(e.prodOccurrence,e.rule,e.maxLookahead,e.dynamicTokensEnabled,Mc(e.prodType),lm)}}class Mm{initLooksAhead(e){this.dynamicTokensEnabled=Object.hasOwn(e,"dynamicTokensEnabled")?e.dynamicTokensEnabled:Gt.dynamicTokensEnabled,this.maxLookahead=Object.hasOwn(e,"maxLookahead")?e.maxLookahead:Gt.maxLookahead,this.lookaheadStrategy=Object.hasOwn(e,"lookaheadStrategy")?e.lookaheadStrategy:new Gc({maxLookahead:this.maxLookahead}),this.lookAheadFuncsCache=new Map}preComputeLookaheadFunctions(e){e.forEach(n=>{this.TRACE_INIT(`${n.name} Rule Lookahead`,()=>{const{alternation:r,repetition:i,option:s,repetitionMandatory:a,repetitionMandatoryWithSeparator:o,repetitionWithSeparator:c}=Gm(n);r.forEach(l=>{const u=l.idx===0?"":l.idx;this.TRACE_INIT(`${ht(l)}${u}`,()=>{const f=this.lookaheadStrategy.buildLookaheadForAlternation({prodOccurrence:l.idx,rule:n,maxLookahead:l.maxLookahead||this.maxLookahead,hasPredicates:l.hasPredicates,dynamicTokensEnabled:this.dynamicTokensEnabled}),g=_a(this.fullRuleNameToShort[n.name],jd,l.idx);this.setLaFuncCache(g,f)})}),i.forEach(l=>{this.computeLookaheadFunc(n,l.idx,ao,"Repetition",l.maxLookahead,ht(l))}),s.forEach(l=>{this.computeLookaheadFunc(n,l.idx,Ud,"Option",l.maxLookahead,ht(l))}),a.forEach(l=>{this.computeLookaheadFunc(n,l.idx,oo,"RepetitionMandatory",l.maxLookahead,ht(l))}),o.forEach(l=>{this.computeLookaheadFunc(n,l.idx,Ps,"RepetitionMandatoryWithSeparator",l.maxLookahead,ht(l))}),c.forEach(l=>{this.computeLookaheadFunc(n,l.idx,co,"RepetitionWithSeparator",l.maxLookahead,ht(l))})})})}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}),c=_a(this.fullRuleNameToShort[e.name],r,n);this.setLaFuncCache(c,o)})}getKeyForAutomaticLookahead(e,n){return _a(this.currRuleShortName,e,n)}getLaFuncFromCache(e){return this.lookAheadFuncsCache.get(e)}setLaFuncCache(e,n){this.lookAheadFuncsCache.set(e,n)}}class Fm extends _r{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 ds=new Fm;function Gm(t){ds.reset(),t.accept(ds);const e=ds.dslMethods;return ds.reset(),e}function _l(t,e){isNaN(t.startOffset)===!0?(t.startOffset=e.startOffset,t.endOffset=e.endOffset):t.endOffset<e.endOffset&&(t.endOffset=e.endOffset)}function Nl(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 jm(t,e,n){t.children[n]===void 0?t.children[n]=[e]:t.children[n].push(e)}function Um(t,e,n){t.children[e]===void 0?t.children[e]=[n]:t.children[e].push(n)}const qm="name";function qd(t,e){Object.defineProperty(t,qm,{enumerable:!1,configurable:!0,writable:!1,value:e})}function zm(t,e){const n=Object.keys(t),r=n.length;for(let i=0;i<r;i++){const s=n[i],a=t[s],o=a.length;for(let c=0;c<o;c++){const l=a[c];l.tokenTypeIdx===void 0&&this[l.name](l.children,e)}}}function Bm(t,e){const n=function(){};qd(n,t+"BaseSemantics");const r={visit:function(i,s){if(Array.isArray(i)&&(i=i[0]),i!==void 0)return this[i.name](i.children,s)},validateVisitor:function(){const i=Wm(this,e);if(i.length!==0){const s=i.map(a=>a.msg);throw Error(`Errors Detected in CST Visitor <${this.constructor.name}>:
|
|
90
|
+
${s.join(`
|
|
91
|
+
|
|
92
|
+
`).replace(/\n/g,`
|
|
93
|
+
`)}`)}}};return n.prototype=r,n.prototype.constructor=n,n._RULE_NAMES=e,n}function Vm(t,e,n){const r=function(){};qd(r,t+"BaseSemanticsWithDefaults");const i=Object.create(n.prototype);return e.forEach(s=>{i[s]=zm}),r.prototype=i,r.prototype.constructor=r,r}var lo;(function(t){t[t.REDUNDANT_METHOD=0]="REDUNDANT_METHOD",t[t.MISSING_METHOD=1]="MISSING_METHOD"})(lo||(lo={}));function Wm(t,e){return Km(t,e)}function Km(t,e){return e.filter(i=>typeof t[i]!="function").map(i=>({msg:`Missing visitor method: <${i}> on ${t.constructor.name} CST Visitor.`,type:lo.MISSING_METHOD,methodName:i})).filter(Boolean)}class Hm{initTreeBuilder(e){if(this.CST_STACK=[],this.outputCst=e.outputCst,this.nodeLocationTracking=Object.hasOwn(e,"nodeLocationTracking")?e.nodeLocationTracking:Gt.nodeLocationTracking,!this.outputCst)this.cstInvocationStateUpdate=()=>{},this.cstFinallyStateUpdate=()=>{},this.cstPostTerminal=()=>{},this.cstPostNonTerminal=()=>{},this.cstPostRule=()=>{};else if(/full/i.test(this.nodeLocationTracking))this.recoveryEnabled?(this.setNodeLocationFromToken=Nl,this.setNodeLocationFromNode=Nl,this.cstPostRule=()=>{},this.setInitialNodeLocation=this.setInitialNodeLocationFullRecovery):(this.setNodeLocationFromToken=()=>{},this.setNodeLocationFromNode=()=>{},this.cstPostRule=this.cstPostRuleFull,this.setInitialNodeLocation=this.setInitialNodeLocationFullRegular);else if(/onlyOffset/i.test(this.nodeLocationTracking))this.recoveryEnabled?(this.setNodeLocationFromToken=_l,this.setNodeLocationFromNode=_l,this.cstPostRule=()=>{},this.setInitialNodeLocation=this.setInitialNodeLocationOnlyOffsetRecovery):(this.setNodeLocationFromToken=()=>{},this.setNodeLocationFromNode=()=>{},this.cstPostRule=this.cstPostRuleOnlyOffset,this.setInitialNodeLocation=this.setInitialNodeLocationOnlyOffsetRegular);else if(/none/i.test(this.nodeLocationTracking))this.setNodeLocationFromToken=()=>{},this.setNodeLocationFromNode=()=>{},this.cstPostRule=()=>{},this.setInitialNodeLocation=()=>{};else throw Error(`Invalid <nodeLocationTracking> config option: "${e.nodeLocationTracking}"`)}setInitialNodeLocationOnlyOffsetRecovery(e){e.location={startOffset:NaN,endOffset:NaN}}setInitialNodeLocationOnlyOffsetRegular(e){e.location={startOffset:this.LA_FAST(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_FAST(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];jm(r,n,e),this.setNodeLocationFromToken(r.location,n)}cstPostNonTerminal(e,n){const r=this.CST_STACK[this.CST_STACK.length-1];Um(r,n,e),this.setNodeLocationFromNode(r.location,e.location)}getBaseCstVisitorConstructor(){if(this.baseCstVisitorConstructor===void 0){const e=Bm(this.className,Object.keys(this.gastProductionsCache));return this.baseCstVisitorConstructor=e,e}return this.baseCstVisitorConstructor}getBaseCstVisitorConstructorWithDefaults(){if(this.baseCstVisitorWithDefaultsConstructor===void 0){const e=Vm(this.className,Object.keys(this.gastProductionsCache),this.getBaseCstVisitorConstructor());return this.baseCstVisitorWithDefaultsConstructor=e,e}return this.baseCstVisitorWithDefaultsConstructor}getPreviousExplicitRuleShortName(){return this.RULE_STACK[this.RULE_STACK_IDX-1]}getLastExplicitRuleOccurrenceIndex(){return this.RULE_OCCURRENCE_STACK[this.RULE_OCCURRENCE_STACK_IDX]}}class Xm{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.tokVectorLength-2?(this.consumeToken(),this.LA_FAST(1)):vr}LA_FAST(e){const n=this.currIdx+e;return this.tokVector[n]}LA(e){const n=this.currIdx+e;return n<0||this.tokVectorLength<=n?vr:this.tokVector[n]}consumeToken(){this.currIdx++}exportLexerState(){return this.currIdx}importLexerState(e){this.currIdx=e}resetLexerState(){this.currIdx=-1}moveToTerminatedState(){this.currIdx=this.tokVectorLength-1}getLexerPosition(){return this.exportLexerState()}}class Ym{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=Ws){if(this.definedRulesNames.includes(e)){const a={message:En.buildDuplicateRuleNameError({topLevelRule:e,grammarName:this.className}),type:ze.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=Ws){const i=Rm(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){var r;const i=(r=e.coreRule)!==null&&r!==void 0?r:e;return function(){this.isBackTrackingStack.push(1);const s=this.saveRecogState();try{return i.apply(this,n),!0}catch(a){if(Bs(a))return!1;throw a}finally{this.reloadRecogState(s),this.isBackTrackingStack.pop()}}}getGAstProductions(){return this.gastProductionsCache}getSerializedGastProductions(){return rp(Object.values(this.gastProductionsCache))}}class Jm{initRecognizerEngine(e,n){if(this.className=this.constructor.name,this.shortRuleNameToFull={},this.fullRuleNameToShort={},this.ruleShortNameIdx=256,this.tokenMatcher=zs,this.subruleIdx=0,this.currRuleShortName=0,this.definedRulesNames=[],this.tokensMap={},this.isBackTrackingStack=[],this.RULE_STACK=[],this.RULE_STACK_IDX=-1,this.RULE_OCCURRENCE_STACK=[],this.RULE_OCCURRENCE_STACK_IDX=-1,this.gastProductionsCache={},Object.hasOwn(n,"serializedGrammar"))throw Error(`The Parser's configuration can no longer contain a <serializedGrammar> property.
|
|
94
|
+
See: https://chevrotain.io/docs/changes/BREAKING_CHANGES.html#_6-0-0
|
|
95
|
+
For Further details.`);if(Array.isArray(e)){if(e.length===0)throw Error(`A Token Vocabulary cannot be empty.
|
|
96
|
+
Note that the first argument for the parser constructor
|
|
97
|
+
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.
|
|
98
|
+
See: https://chevrotain.io/docs/changes/BREAKING_CHANGES.html#_4-0-0
|
|
99
|
+
For Further details.`)}if(Array.isArray(e))this.tokensMap=e.reduce((s,a)=>(s[a.name]=a,s),{});else if(Object.hasOwn(e,"modes")&&Object.values(e.modes).flat().every(Hp)){const s=Object.values(e.modes).flat(),a=[...new Set(s)];this.tokensMap=a.reduce((o,c)=>(o[c.name]=c,o),{})}else if(typeof e=="object"&&e!==null)this.tokensMap=Object.assign({},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=Ft;const i=(Object.hasOwn(e,"modes")?Object.values(e.modes).flat():Object.values(e)).every(s=>{var a;return((a=s.categoryMatches)===null||a===void 0?void 0:a.length)==0});this.tokenMatcher=i?zs:Mi,Fi(Object.values(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'
|
|
100
|
+
Make sure that all grammar rule definitions are done before 'performSelfAnalysis' is called.`);const i=Object.hasOwn(r,"resyncEnabled")?r.resyncEnabled:Ws.resyncEnabled,s=Object.hasOwn(r,"recoveryValueFunc")?r.recoveryValueFunc:Ws.recoveryValueFunc,a=this.ruleShortNameIdx<<Dm+Ht;this.ruleShortNameIdx++,this.shortRuleNameToFull[a]=e,this.fullRuleNameToShort[e]=a;let o;return this.outputCst===!0?o=function(...f){try{this.ruleInvocationStateUpdate(a,e,this.subruleIdx),n.apply(this,f);const g=this.CST_STACK[this.CST_STACK.length-1];return this.cstPostRule(g),g}catch(g){return this.invokeRuleCatch(g,i,s)}finally{this.ruleFinallyStateUpdate()}}:o=function(...f){try{return this.ruleInvocationStateUpdate(a,e,this.subruleIdx),n.apply(this,f)}catch(g){return this.invokeRuleCatch(g,i,s)}finally{this.ruleFinallyStateUpdate()}},Object.assign(function(...f){this.onBeforeParse(e);try{return o.apply(this,f)}finally{this.onAfterParse(e)}},{ruleName:e,originalGrammarAction:n,coreRule:o})}invokeRuleCatch(e,n,r){const i=this.RULE_STACK_IDX===0,s=n&&!this.isBackTracking()&&this.recoveryEnabled;if(Bs(e)){const a=e;if(s){const o=this.findReSyncTokenType();if(this.isInCurrentRuleReSyncSet(o))if(a.resyncedTokens=this.reSyncTo(o),this.outputCst){const c=this.CST_STACK[this.CST_STACK.length-1];return c.recoveredNode=!0,c}else return r(e);else{if(this.outputCst){const c=this.CST_STACK[this.CST_STACK.length-1];c.recoveredNode=!0,a.partialCstResult=c}throw a}}else{if(i)return this.moveToTerminatedState(),r(e);throw a}}else throw e}optionInternal(e,n){const r=this.getKeyForAutomaticLookahead(Ud,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(oo,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,fe.REPETITION_MANDATORY,n.ERR_MSG);this.attemptInRepetitionRecovery(this.atLeastOneInternal,[e,n],i,oo,e,rm)}atLeastOneSepFirstInternal(e,n){const r=this.getKeyForAutomaticLookahead(Ps,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_FAST(1),s);for(;this.tokenMatcher(this.LA_FAST(1),s)===!0;)this.CONSUME(s),i.call(this);this.attemptInRepetitionRecovery(this.repetitionSepSecondInternal,[e,s,o,i,kl],o,Ps,e,kl)}else throw this.raiseEarlyExitException(e,fe.REPETITION_MANDATORY_WITH_SEPARATOR,n.ERR_MSG)}manyInternal(e,n){const r=this.getKeyForAutomaticLookahead(ao,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 c=i;i=()=>o.call(this)&&c.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,ao,e,nm,a)}manySepFirstInternal(e,n){const r=this.getKeyForAutomaticLookahead(co,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_FAST(1),s);for(;this.tokenMatcher(this.LA_FAST(1),s)===!0;)this.CONSUME(s),i.call(this);this.attemptInRepetitionRecovery(this.repetitionSepSecondInternal,[e,s,o,i,Cl],o,co,e,Cl)}}repetitionSepSecondInternal(e,n,r,i,s){for(;r();)this.CONSUME(n),i.call(this);this.attemptInRepetitionRecovery(this.repetitionSepSecondInternal,[e,n,r,i,s],r,Ps,e,s)}doSingleRepetition(e){const n=this.getLexerPosition();return e.call(this),this.getLexerPosition()>n}orInternal(e,n){const r=this.getKeyForAutomaticLookahead(jd,n),i=Array.isArray(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(){this.RULE_STACK_IDX--,this.RULE_OCCURRENCE_STACK_IDX--,this.RULE_STACK_IDX>=0&&(this.currRuleShortName=this.RULE_STACK[this.RULE_STACK_IDX]),this.cstFinallyStateUpdate()}subruleInternal(e,n,r){let i;try{const s=r!==void 0?r.ARGS:void 0;return this.subruleIdx=n,i=e.coreRule.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 Bs(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_FAST(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 Fd(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===Gd?r:s}}else throw r}saveRecogState(){const e=this.errors,n=this.RULE_STACK.slice(0,this.RULE_STACK_IDX+1);return{errors:e,lexerState:this.exportLexerState(),RULE_STACK:n,CST_STACK:this.CST_STACK}}reloadRecogState(e){this.errors=e.errors,this.importLexerState(e.lexerState);const n=e.RULE_STACK;for(let r=0;r<n.length;r++)this.RULE_STACK[r]=n[r];this.RULE_STACK_IDX=n.length-1,this.RULE_STACK_IDX>=0&&(this.currRuleShortName=this.RULE_STACK[this.RULE_STACK_IDX])}ruleInvocationStateUpdate(e,n,r){this.RULE_OCCURRENCE_STACK[++this.RULE_OCCURRENCE_STACK_IDX]=r,this.RULE_STACK[++this.RULE_STACK_IDX]=e,this.currRuleShortName=e,this.cstInvocationStateUpdate(n)}isBackTracking(){return this.isBackTrackingStack.length!==0}getCurrRuleFullName(){const e=this.currRuleShortName;return this.shortRuleNameToFull[e]}shortRuleNameToFullName(e){return this.shortRuleNameToFull[e]}isAtEndOfInput(){return this.tokenMatcher(this.LA(1),Ft)}reset(){this.resetLexerState(),this.subruleIdx=0,this.currRuleShortName=0,this.isBackTrackingStack=[],this.errors=[],this.RULE_STACK_IDX=-1,this.RULE_OCCURRENCE_STACK_IDX=-1,this.CST_STACK=[]}onBeforeParse(e){for(let n=0;n<this.maxLookahead+1;n++)this.tokVector.push(vr)}onAfterParse(e){if(this.isAtEndOfInput()===!1){const n=this.LA(1),r=this.errorMessageProvider.buildNotAllInputParsedMessage({firstRedundant:n,ruleName:this.getCurrRuleFullName()});this.SAVE_ERROR(new Pm(r,n))}for(;this.tokVector.at(-1)===vr;)this.tokVector.pop()}}class Qm{initErrorHandler(e){this._errors=[],this.errorMessageProvider=Object.hasOwn(e,"errorMessageProvider")?e.errorMessageProvider:Gt.errorMessageProvider}SAVE_ERROR(e){if(Bs(e))return e.context={ruleStack:this.getHumanReadableRuleStack(),ruleOccurrenceStack:this.RULE_OCCURRENCE_STACK.slice(0,this.RULE_OCCURRENCE_STACK_IDX+1)},this._errors.push(e),e;throw Error("Trying to save an Error which is not a RecognitionException")}get errors(){return[...this._errors]}set errors(e){this._errors=e}raiseEarlyExitException(e,n,r){const i=this.getCurrRuleFullName(),s=this.getGAstProductions()[i],o=fa(e,s,n,this.maxLookahead)[0],c=[];for(let u=1;u<=this.maxLookahead;u++)c.push(this.LA(u));const l=this.errorMessageProvider.buildEarlyExitMessage({expectedIterationPaths:o,actual:c,previous:this.LA(0),customUserDescription:r,ruleName:i});throw this.SAVE_ERROR(new $m(l,this.LA(1),this.LA(0)))}raiseNoAltException(e,n){const r=this.getCurrRuleFullName(),i=this.getGAstProductions()[r],s=da(e,i,this.maxLookahead),a=[];for(let l=1;l<=this.maxLookahead;l++)a.push(this.LA(l));const o=this.LA(0),c=this.errorMessageProvider.buildNoViableAltMessage({expectedPathsPerAlt:s,actual:a,previous:o,customUserDescription:n,ruleName:this.getCurrRuleFullName()});throw this.SAVE_ERROR(new Im(c,this.LA(1),o))}}const pa={description:"This Object indicates the Parser is during Recording Phase"};Object.freeze(pa);const Il=!0,Pl=Math.pow(2,Ht)-1,zd=wd({name:"RECORDING_PHASE_TOKEN",pattern:Be.NA});Fi([zd]);const Bd=xc(zd,`This IToken indicates the Parser is in Recording Phase
|
|
101
|
+
See: https://chevrotain.io/docs/guide/internals.html#grammar-recording for details`,-1,-1,-1,-1,-1,-1);Object.freeze(Bd);const Zm={name:`This CSTNode indicates the Parser is in Recording Phase
|
|
102
|
+
See: https://chevrotain.io/docs/guide/internals.html#grammar-recording for details`,children:{}};class eg{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 vr}topLevelRuleRecord(e,n){try{const r=new wr({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+`
|
|
103
|
+
This error was thrown during the "grammar recording phase" For more info see:
|
|
104
|
+
https://chevrotain.io/docs/guide/internals.html#grammar-recording`}catch{throw r}throw r}}optionInternalRecord(e,n){return Xr.call(this,xe,e,n)}atLeastOneInternalRecord(e,n){Xr.call(this,Ze,n,e)}atLeastOneSepFirstInternalRecord(e,n){Xr.call(this,et,n,e,Il)}manyInternalRecord(e,n){Xr.call(this,Te,n,e)}manySepFirstInternalRecord(e,n){Xr.call(this,We,n,e,Il)}orInternalRecord(e,n){return tg.call(this,e,n)}subruleInternalRecord(e,n,r){if(Vs(n),!e||!Object.hasOwn(e,"ruleName")){const o=new Error(`<SUBRULE${$l(n)}> argument is invalid expecting a Parser method reference but got: <${JSON.stringify(e)}>
|
|
105
|
+
inside top level rule: <${this.recordingProdStack[0].name}>`);throw o.KNOWN_RECORDER_ERROR=!0,o}const i=this.recordingProdStack.at(-1),s=e.ruleName,a=new qe({idx:n,nonTerminalName:s,label:r?.LABEL,referencedRule:void 0});return i.definition.push(a),this.outputCst?Zm:pa}consumeInternalRecord(e,n,r){if(Vs(n),!kd(e)){const a=new Error(`<CONSUME${$l(n)}> argument is invalid expecting a TokenType reference but got: <${JSON.stringify(e)}>
|
|
106
|
+
inside top level rule: <${this.recordingProdStack[0].name}>`);throw a.KNOWN_RECORDER_ERROR=!0,a}const i=this.recordingProdStack.at(-1),s=new se({idx:n,terminalType:e,label:r?.LABEL});return i.definition.push(s),Bd}}function Xr(t,e,n,r=!1){Vs(n);const i=this.recordingProdStack.at(-1),s=typeof e=="function"?e:e.DEF,a=new t({definition:[],idx:n});return r&&(a.separator=e.SEP),Object.hasOwn(e,"MAX_LOOKAHEAD")&&(a.maxLookahead=e.MAX_LOOKAHEAD),this.recordingProdStack.push(a),s.call(this),i.definition.push(a),this.recordingProdStack.pop(),pa}function tg(t,e){Vs(e);const n=this.recordingProdStack.at(-1),r=Array.isArray(t)===!1,i=r===!1?t:t.DEF,s=new Ke({definition:[],idx:e,ignoreAmbiguities:r&&t.IGNORE_AMBIGUITIES===!0});Object.hasOwn(t,"MAX_LOOKAHEAD")&&(s.maxLookahead=t.MAX_LOOKAHEAD);const a=i.some(o=>typeof o.GATE=="function");return s.hasPredicates=a,n.definition.push(s),i.forEach(o=>{const c=new Ve({definition:[]});s.definition.push(c),Object.hasOwn(o,"IGNORE_AMBIGUITIES")?c.ignoreAmbiguities=o.IGNORE_AMBIGUITIES:Object.hasOwn(o,"GATE")&&(c.ignoreAmbiguities=!0),this.recordingProdStack.push(c),o.ALT.call(this),this.recordingProdStack.pop()}),pa}function $l(t){return t===0?"":`${t}`}function Vs(t){if(t<0||t>Pl){const e=new Error(`Invalid DSL Method idx value: <${t}>
|
|
107
|
+
Idx value must be a none negative value smaller than ${Pl+1}`);throw e.KNOWN_RECORDER_ERROR=!0,e}}class ng{initPerformanceTracer(e){if(Object.hasOwn(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=Gt.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}=gd(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 rg(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 vr=xc(Ft,"",NaN,NaN,NaN,NaN,NaN,NaN);Object.freeze(vr);const Gt=Object.freeze({recoveryEnabled:!1,maxLookahead:3,dynamicTokensEnabled:!1,outputCst:!0,errorMessageProvider:er,nodeLocationTracking:"none",traceInitPerf:!1,skipValidations:!1}),Ws=Object.freeze({recoveryValueFunc:()=>{},resyncEnabled:!0});var ze;(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"})(ze||(ze={}));function Ol(t=void 0){return function(){return t}}class Gi{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",()=>{yd(this)}),this.TRACE_INIT("Grammar Recording",()=>{try{this.enableRecording(),this.definedRulesNames.forEach(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=_m({rules:Object.values(this.gastProductionsCache)}),this.definitionErrors=this.definitionErrors.concat(r)}),this.TRACE_INIT("Grammar Validations",()=>{if(r.length===0&&this.skipValidations===!1){const i=Nm({rules:Object.values(this.gastProductionsCache),tokenTypes:Object.values(this.tokensMap),errMsgProvider:En,grammarName:n}),s=hm({lookaheadStrategy:this.lookaheadStrategy,rules:Object.values(this.gastProductionsCache),tokenTypes:Object.values(this.tokensMap),grammarName:n});this.definitionErrors=this.definitionErrors.concat(i,s)}}),this.definitionErrors.length===0&&(this.recoveryEnabled&&this.TRACE_INIT("computeAllProdsFollows",()=>{const i=up(Object.values(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:Object.values(this.gastProductionsCache)}),this.preComputeLookaheadFunctions(Object.values(this.gastProductionsCache))})),!Gi.DEFER_DEFINITION_ERRORS_HANDLING&&this.definitionErrors.length!==0)throw e=this.definitionErrors.map(i=>i.message),new Error(`Parser Definition Errors detected:
|
|
108
|
+
${e.join(`
|
|
109
|
+
-------------------------------
|
|
110
|
+
`)}`)})}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.initGastRecorder(n),r.initPerformanceTracer(n),Object.hasOwn(n,"ignoredIssues"))throw new Error(`The <ignoredIssues> IParserConfig property has been deprecated.
|
|
111
|
+
Please use the <IGNORE_AMBIGUITIES> flag on the relevant DSL method instead.
|
|
112
|
+
See: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#IGNORING_AMBIGUITIES
|
|
113
|
+
For further details.`);this.skipValidations=Object.hasOwn(n,"skipValidations")?n.skipValidations:Gt.skipValidations}}Gi.DEFER_DEFINITION_ERRORS_HANDLING=!1;rg(Gi,[Lm,Mm,Hm,Xm,Jm,Ym,Qm,eg,ng]);class ig extends Gi{constructor(e,n=Gt){const r=Object.assign({},n);r.outputCst=!1,super(e,r)}}function Er(t,e,n){return`${t.name}_${e}_${n}`}const Kt=1,sg=2,Vd=4,Wd=5,Nr=7,ag=8,og=9,cg=10,lg=11,Kd=12;class jc{constructor(e){this.target=e}isEpsilon(){return!1}}class Uc extends jc{constructor(e,n){super(e),this.tokenType=n}}class Hd extends jc{constructor(e){super(e)}isEpsilon(){return!0}}class qc extends jc{constructor(e,n,r){super(e),this.rule=n,this.followState=r}isEpsilon(){return!0}}function ug(t){const e={decisionMap:{},decisionStates:[],ruleToStartState:new Map,ruleToStopState:new Map,states:[]};dg(e,t);const n=t.length;for(let r=0;r<n;r++){const i=t[r],s=Nn(e,i,i);s!==void 0&&Ag(e,i,s)}return e}function dg(t,e){const n=e.length;for(let r=0;r<n;r++){const i=e[r],s=_e(t,i,void 0,{type:sg}),a=_e(t,i,void 0,{type:Nr});s.stop=a,t.ruleToStartState.set(i,s),t.ruleToStopState.set(i,a)}}function Xd(t,e,n){return n instanceof se?zc(t,e,n.terminalType,n):n instanceof qe?Eg(t,e,n):n instanceof Ke?gg(t,e,n):n instanceof xe?yg(t,e,n):n instanceof Te?fg(t,e,n):n instanceof We?hg(t,e,n):n instanceof Ze?pg(t,e,n):n instanceof et?mg(t,e,n):Nn(t,e,n)}function fg(t,e,n){const r=_e(t,e,n,{type:Wd});Xt(t,r);const i=Ir(t,e,r,n,Nn(t,e,n));return Jd(t,e,n,i)}function hg(t,e,n){const r=_e(t,e,n,{type:Wd});Xt(t,r);const i=Ir(t,e,r,n,Nn(t,e,n)),s=zc(t,e,n.separator,n);return Jd(t,e,n,i,s)}function pg(t,e,n){const r=_e(t,e,n,{type:Vd});Xt(t,r);const i=Ir(t,e,r,n,Nn(t,e,n));return Yd(t,e,n,i)}function mg(t,e,n){const r=_e(t,e,n,{type:Vd});Xt(t,r);const i=Ir(t,e,r,n,Nn(t,e,n)),s=zc(t,e,n.separator,n);return Yd(t,e,n,i,s)}function gg(t,e,n){const r=_e(t,e,n,{type:Kt});Xt(t,r);const i=Lt(n.definition,a=>Xd(t,e,a));return Ir(t,e,r,n,...i)}function yg(t,e,n){const r=_e(t,e,n,{type:Kt});Xt(t,r);const i=Ir(t,e,r,n,Nn(t,e,n));return Tg(t,e,n,i)}function Nn(t,e,n){const r=Qf(Lt(n.definition,i=>Xd(t,e,i)),i=>i!==void 0);return r.length===1?r[0]:r.length===0?void 0:vg(t,r)}function Yd(t,e,n,r,i){const s=r.left,a=r.right,o=_e(t,e,n,{type:lg});Xt(t,o);const c=_e(t,e,n,{type:Kd});return s.loopback=o,c.loopback=o,t.decisionMap[Er(e,i?"RepetitionMandatoryWithSeparator":"RepetitionMandatory",n.idx)]=o,ke(a,o),i===void 0?(ke(o,s),ke(o,c)):(ke(o,c),ke(o,i.left),ke(i.right,s)),{left:s,right:c}}function Jd(t,e,n,r,i){const s=r.left,a=r.right,o=_e(t,e,n,{type:cg});Xt(t,o);const c=_e(t,e,n,{type:Kd}),l=_e(t,e,n,{type:og});return o.loopback=l,c.loopback=l,ke(o,s),ke(o,c),ke(a,l),i!==void 0?(ke(l,c),ke(l,i.left),ke(i.right,s)):ke(l,o),t.decisionMap[Er(e,i?"RepetitionWithSeparator":"Repetition",n.idx)]=o,{left:o,right:c}}function Tg(t,e,n,r){const i=r.left,s=r.right;return ke(i,s),t.decisionMap[Er(e,"Option",n.idx)]=i,r}function Xt(t,e){return t.decisionStates.push(e),e.decision=t.decisionStates.length-1,e.decision}function Ir(t,e,n,r,...i){const s=_e(t,e,r,{type:ag,start:n});n.end=s;for(const o of i)o!==void 0?(ke(n,o.left),ke(o.right,s)):ke(n,s);const a={left:n,right:s};return t.decisionMap[Er(e,Rg(r),r.idx)]=n,a}function Rg(t){if(t instanceof Ke)return"Alternation";if(t instanceof xe)return"Option";if(t instanceof Te)return"Repetition";if(t instanceof We)return"RepetitionWithSeparator";if(t instanceof Ze)return"RepetitionMandatory";if(t instanceof et)return"RepetitionMandatoryWithSeparator";throw new Error("Invalid production type encountered")}function vg(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 c=o instanceof qc,l=o,u=e[s+1].left;a.left.type===Kt&&a.right.type===Kt&&o!==void 0&&(c&&l.followState===a.right||o.target===a.right)?(c?l.followState=u:o.target=u,Sg(t,a.right)):ke(a.right,u)}const r=e[0],i=e[n-1];return{left:r.left,right:i.right}}function zc(t,e,n,r){const i=_e(t,e,r,{type:Kt}),s=_e(t,e,r,{type:Kt});return Bc(i,new Uc(s,n)),{left:i,right:s}}function Eg(t,e,n){const r=n.referencedRule,i=t.ruleToStartState.get(r),s=_e(t,e,n,{type:Kt}),a=_e(t,e,n,{type:Kt}),o=new qc(i,r,a);return Bc(s,o),{left:s,right:a}}function Ag(t,e,n){const r=t.ruleToStartState.get(e);ke(r,n.left);const i=t.ruleToStopState.get(e);return ke(n.right,i),{left:r,right:i}}function ke(t,e){const n=new Hd(e);Bc(t,n)}function _e(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 Bc(t,e){t.transitions.length===0&&(t.epsilonOnlyTransitions=e.isEpsilon()),t.transitions.push(e)}function Sg(t,e){t.states.splice(t.states.indexOf(e),1)}const Ks={};class uo{constructor(){this.map={},this.configs=[]}get size(){return this.configs.length}finalize(){this.map={}}add(e){const n=Qd(e);n in this.map||(this.map[n]=this.configs.length,this.configs.push(e))}get elements(){return this.configs}get alts(){return Lt(this.configs,e=>e.alt)}get key(){let e="";for(const n in this.map)e+=n+":";return e}}function Qd(t,e=!0){return`${e?`a${t.alt}`:""}s${t.state.stateNumber}:${t.stack.map(n=>n.stateNumber.toString()).join("_")}`}function Cg(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 Zd{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 Ll=new Zd;class kg extends Gc{constructor(e){var n,r;super(),this.logging=(n=e?.logging)!==null&&n!==void 0?n:(i=>console.log(i)),this.incomplete=(r=e?.incomplete)!==null&&r!==void 0?r:!1}initialize(e){this.atn=ug(e.rules),this.dfas=bg(this.atn)}validateAmbiguousAlternationAlternatives(){return[]}validateEmptyOrAlternatives(){return[]}buildLookaheadForAlternation(e){const{prodOccurrence:n,rule:r,hasPredicates:i,dynamicTokensEnabled:s}=e,a=this.dfas,o=this.logging,c=this.incomplete,l=Er(r,"Alternation",n),f=this.atn.decisionMap[l].decision,g=Lt(bl({maxLookahead:1,occurrence:n,prodType:"Alternation",rule:r}),p=>Lt(p,E=>E[0]));if(xl(g,!1)&&!s){const p=Qc(g,(E,N,I)=>(Ra(N,C=>{C&&(E[C.tokenTypeIdx]=I,Ra(C.categoryMatches,S=>{E[S]=I}))}),E),{});return i?function(E){var N;const I=this.LA_FAST(1),C=p[I.tokenTypeIdx];if(E!==void 0&&C!==void 0){const S=(N=E[C])===null||N===void 0?void 0:N.GATE;if(S!==void 0&&S.call(this)===!1)return}return C}:function(){const E=this.LA_FAST(1);return p[E.tokenTypeIdx]}}else return i?function(p){const E=new Zd,N=p===void 0?0:p.length;for(let C=0;C<N;C++){const S=p?.[C].GATE;E.set(C,S===void 0||S.call(this))}const I=Na.call(this,a,f,E,o,c);return typeof I=="number"?I:void 0}:function(){const p=Na.call(this,a,f,Ll,o,c);return typeof p=="number"?p:void 0}}buildLookaheadForOptional(e){const{prodOccurrence:n,rule:r,prodType:i,dynamicTokensEnabled:s}=e,a=this.dfas,o=this.logging,c=this.incomplete,l=Er(r,i,n),f=this.atn.decisionMap[l].decision,g=Lt(bl({maxLookahead:1,occurrence:n,prodType:i,rule:r}),p=>Lt(p,E=>E[0]));if(xl(g)&&g[0][0]&&!s){const p=g[0],E=Kf(p);if(E.length===1&&Vf(E[0].categoryMatches)){const I=E[0].tokenTypeIdx;return function(){return this.LA_FAST(1).tokenTypeIdx===I}}else{const N=Qc(E,(I,C)=>(C!==void 0&&(I[C.tokenTypeIdx]=!0,Ra(C.categoryMatches,S=>{I[S]=!0})),I),{});return function(){const I=this.LA_FAST(1);return N[I.tokenTypeIdx]===!0}}}return function(){const p=Na.call(this,a,f,Ll,o,c);return typeof p=="object"?!1:p===0}}}function xl(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 bg(t){const e=t.decisionStates.length,n=Array(e);for(let r=0;r<e;r++)n[r]=Cg(t.decisionStates[r],r);return n}function Na(t,e,n,r,i){const s=t[e](n);let a=s.start;if(a===void 0){const c=Mg(s.atnStartState);a=tf(s,ef(c)),s.start=a}return wg.apply(this,[s,a,n,r,i])}function wg(t,e,n,r,i){let s=e,a=1;const o=[];let c=this.LA_FAST(a++);for(;;){let l=Og(s,c);if(l===void 0&&(l=_g.apply(this,[t,s,c,a,n,r])),l===Ks)return $g(o,s,c);if(l.isAcceptState===!0){if(i===!0&&Dc(c,Ft)){const u=Vg(s,n);if(u!==void 0)return u}return l.prediction}s=l,o.push(c),c=this.LA(a++)}}function _g(t,e,n,r,i,s){const a=Lg(e.configs,n,i);if(a.size===0)return Dl(t,e,n,Ks),Ks;let o=ef(a);const c=Dg(a,i);if(c!==void 0)o.isAcceptState=!0,o.prediction=c,o.configs.uniqueAlt=c;else if(Ug(a)){const l=Hf(a.alts);o.isAcceptState=!0,o.prediction=l,o.configs.uniqueAlt=l,Ng.apply(this,[t,r,a.alts,s])}return o=Dl(t,e,n,o),o}function Ng(t,e,n,r){const i=[];for(let l=1;l<=e;l++)i.push(this.LA(l).tokenType);const s=t.atnStartState,a=s.rule,o=s.production,c=Ig({topLevelRule:a,ambiguityIndices:n,production:o,prefixPath:i});r(c)}function Ig(t){const e=Lt(t.prefixPath,i=>nr(i)).join(", "),n=t.production.idx===0?"":t.production.idx;let r=`Ambiguous Alternatives Detected: <${t.ambiguityIndices.join(", ")}> in <${Pg(t.production)}${n}> inside <${t.topLevelRule.name}> Rule,
|
|
114
|
+
<${e}> may appears as a prefix path in all these alternatives.
|
|
115
|
+
`;return r=r+`See: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#AMBIGUOUS_ALTERNATIVES
|
|
116
|
+
For Further details.`,r}function Pg(t){if(t instanceof qe)return"SUBRULE";if(t instanceof xe)return"OPTION";if(t instanceof Ke)return"OR";if(t instanceof Ze)return"AT_LEAST_ONE";if(t instanceof et)return"AT_LEAST_ONE_SEP";if(t instanceof We)return"MANY_SEP";if(t instanceof Te)return"MANY";if(t instanceof se)return"CONSUME";throw Error("non exhaustive match")}function $g(t,e,n){const r=Zf(e.configs.elements,s=>s.state.transitions),i=eh(r.filter(s=>s instanceof Uc).map(s=>s.tokenType),s=>s.tokenTypeIdx);return{actualToken:n,possibleTokenTypes:i,tokenPath:t}}function Og(t,e){return t.edges[e.tokenTypeIdx]}function Lg(t,e,n){const r=new uo,i=[];for(const a of t.elements){if(n.is(a.alt)===!1)continue;if(a.state.type===Nr){i.push(a);continue}const o=a.state.transitions.length;for(let c=0;c<o;c++){const l=a.state.transitions[c],u=xg(l,e);u!==void 0&&r.add({state:u,alt:a.alt,stack:a.stack})}}let s;if(i.length===0&&r.size===1&&(s=r),s===void 0){s=new uo;for(const a of r.elements)Hs(a,s)}if(i.length>0&&!Gg(s))for(const a of i)s.add(a);return s}function xg(t,e){if(t instanceof Uc&&Dc(e,t.tokenType))return t.target}function Dg(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 ef(t){return{configs:t,edges:{},isAcceptState:!1,prediction:-1}}function Dl(t,e,n,r){return r=tf(t,r),e.edges[n.tokenTypeIdx]=r,r}function tf(t,e){if(e===Ks)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 Mg(t){const e=new uo,n=t.transitions.length;for(let r=0;r<n;r++){const s={state:t.transitions[r].target,alt:r,stack:[]};Hs(s,e)}return e}function Hs(t,e){const n=t.state;if(n.type===Nr){if(t.stack.length>0){const i=[...t.stack],a={state:i.pop(),alt:t.alt,stack:i};Hs(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=Fg(t,s);a!==void 0&&Hs(a,e)}}function Fg(t,e){if(e instanceof Hd)return{state:e.target,alt:t.alt,stack:t.stack};if(e instanceof qc){const n=[...t.stack,e.followState];return{state:e.target,alt:t.alt,stack:n}}}function Gg(t){for(const e of t.elements)if(e.state.type===Nr)return!0;return!1}function jg(t){for(const e of t.elements)if(e.state.type!==Nr)return!1;return!0}function Ug(t){if(jg(t))return!0;const e=qg(t.elements);return zg(e)&&!Bg(e)}function qg(t){const e=new Map;for(const n of t){const r=Qd(n,!1);let i=e.get(r);i===void 0&&(i={},e.set(r,i)),i[n.alt]=!0}return e}function zg(t){for(const e of Array.from(t.values()))if(Object.keys(e).length>1)return!0;return!1}function Bg(t){for(const e of Array.from(t.values()))if(Object.keys(e).length===1)return!0;return!1}function Vg(t,e){let n;for(const r of t.configs.elements)if(!(e.is(r.alt)===!1||r.state.type===Nr)){if(n===void 0)n=r.alt;else if(n!==r.alt)return}return n}var fo;(function(t){function e(n){return typeof n=="string"}t.is=e})(fo||(fo={}));var Xs;(function(t){function e(n){return typeof n=="string"}t.is=e})(Xs||(Xs={}));var ho;(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})(ho||(ho={}));var Si;(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})(Si||(Si={}));var Q;(function(t){function e(r,i){return r===Number.MAX_VALUE&&(r=Si.MAX_VALUE),i===Number.MAX_VALUE&&(i=Si.MAX_VALUE),{line:r,character:i}}t.create=e;function n(r){let i=r;return v.objectLiteral(i)&&v.uinteger(i.line)&&v.uinteger(i.character)}t.is=n})(Q||(Q={}));var K;(function(t){function e(r,i,s,a){if(v.uinteger(r)&&v.uinteger(i)&&v.uinteger(s)&&v.uinteger(a))return{start:Q.create(r,i),end:Q.create(s,a)};if(Q.is(r)&&Q.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 v.objectLiteral(i)&&Q.is(i.start)&&Q.is(i.end)}t.is=n})(K||(K={}));var Ci;(function(t){function e(r,i){return{uri:r,range:i}}t.create=e;function n(r){let i=r;return v.objectLiteral(i)&&K.is(i.range)&&(v.string(i.uri)||v.undefined(i.uri))}t.is=n})(Ci||(Ci={}));var po;(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 v.objectLiteral(i)&&K.is(i.targetRange)&&v.string(i.targetUri)&&K.is(i.targetSelectionRange)&&(K.is(i.originSelectionRange)||v.undefined(i.originSelectionRange))}t.is=n})(po||(po={}));var Ys;(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 v.objectLiteral(i)&&v.numberRange(i.red,0,1)&&v.numberRange(i.green,0,1)&&v.numberRange(i.blue,0,1)&&v.numberRange(i.alpha,0,1)}t.is=n})(Ys||(Ys={}));var mo;(function(t){function e(r,i){return{range:r,color:i}}t.create=e;function n(r){const i=r;return v.objectLiteral(i)&&K.is(i.range)&&Ys.is(i.color)}t.is=n})(mo||(mo={}));var go;(function(t){function e(r,i,s){return{label:r,textEdit:i,additionalTextEdits:s}}t.create=e;function n(r){const i=r;return v.objectLiteral(i)&&v.string(i.label)&&(v.undefined(i.textEdit)||mt.is(i))&&(v.undefined(i.additionalTextEdits)||v.typedArray(i.additionalTextEdits,mt.is))}t.is=n})(go||(go={}));var yo;(function(t){t.Comment="comment",t.Imports="imports",t.Region="region"})(yo||(yo={}));var To;(function(t){function e(r,i,s,a,o,c){const l={startLine:r,endLine:i};return v.defined(s)&&(l.startCharacter=s),v.defined(a)&&(l.endCharacter=a),v.defined(o)&&(l.kind=o),v.defined(c)&&(l.collapsedText=c),l}t.create=e;function n(r){const i=r;return v.objectLiteral(i)&&v.uinteger(i.startLine)&&v.uinteger(i.startLine)&&(v.undefined(i.startCharacter)||v.uinteger(i.startCharacter))&&(v.undefined(i.endCharacter)||v.uinteger(i.endCharacter))&&(v.undefined(i.kind)||v.string(i.kind))}t.is=n})(To||(To={}));var Js;(function(t){function e(r,i){return{location:r,message:i}}t.create=e;function n(r){let i=r;return v.defined(i)&&Ci.is(i.location)&&v.string(i.message)}t.is=n})(Js||(Js={}));var Ro;(function(t){t.Error=1,t.Warning=2,t.Information=3,t.Hint=4})(Ro||(Ro={}));var vo;(function(t){t.Unnecessary=1,t.Deprecated=2})(vo||(vo={}));var Eo;(function(t){function e(n){const r=n;return v.objectLiteral(r)&&v.string(r.href)}t.is=e})(Eo||(Eo={}));var ki;(function(t){function e(r,i,s,a,o,c){let l={range:r,message:i};return v.defined(s)&&(l.severity=s),v.defined(a)&&(l.code=a),v.defined(o)&&(l.source=o),v.defined(c)&&(l.relatedInformation=c),l}t.create=e;function n(r){var i;let s=r;return v.defined(s)&&K.is(s.range)&&v.string(s.message)&&(v.number(s.severity)||v.undefined(s.severity))&&(v.integer(s.code)||v.string(s.code)||v.undefined(s.code))&&(v.undefined(s.codeDescription)||v.string((i=s.codeDescription)===null||i===void 0?void 0:i.href))&&(v.string(s.source)||v.undefined(s.source))&&(v.undefined(s.relatedInformation)||v.typedArray(s.relatedInformation,Js.is))}t.is=n})(ki||(ki={}));var wn;(function(t){function e(r,i,...s){let a={title:r,command:i};return v.defined(s)&&s.length>0&&(a.arguments=s),a}t.create=e;function n(r){let i=r;return v.defined(i)&&v.string(i.title)&&v.string(i.command)}t.is=n})(wn||(wn={}));var mt;(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 v.objectLiteral(a)&&v.string(a.newText)&&K.is(a.range)}t.is=i})(mt||(mt={}));var An;(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 v.objectLiteral(i)&&v.string(i.label)&&(v.boolean(i.needsConfirmation)||i.needsConfirmation===void 0)&&(v.string(i.description)||i.description===void 0)}t.is=n})(An||(An={}));var Le;(function(t){function e(n){const r=n;return v.string(r)}t.is=e})(Le||(Le={}));var Ot;(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 mt.is(a)&&(An.is(a.annotationId)||Le.is(a.annotationId))}t.is=i})(Ot||(Ot={}));var bi;(function(t){function e(r,i){return{textDocument:r,edits:i}}t.create=e;function n(r){let i=r;return v.defined(i)&&wi.is(i.textDocument)&&Array.isArray(i.edits)}t.is=n})(bi||(bi={}));var Ar;(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"&&v.string(i.uri)&&(i.options===void 0||(i.options.overwrite===void 0||v.boolean(i.options.overwrite))&&(i.options.ignoreIfExists===void 0||v.boolean(i.options.ignoreIfExists)))&&(i.annotationId===void 0||Le.is(i.annotationId))}t.is=n})(Ar||(Ar={}));var Sr;(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"&&v.string(i.oldUri)&&v.string(i.newUri)&&(i.options===void 0||(i.options.overwrite===void 0||v.boolean(i.options.overwrite))&&(i.options.ignoreIfExists===void 0||v.boolean(i.options.ignoreIfExists)))&&(i.annotationId===void 0||Le.is(i.annotationId))}t.is=n})(Sr||(Sr={}));var Cr;(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"&&v.string(i.uri)&&(i.options===void 0||(i.options.recursive===void 0||v.boolean(i.options.recursive))&&(i.options.ignoreIfNotExists===void 0||v.boolean(i.options.ignoreIfNotExists)))&&(i.annotationId===void 0||Le.is(i.annotationId))}t.is=n})(Cr||(Cr={}));var Qs;(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=>v.string(i.kind)?Ar.is(i)||Sr.is(i)||Cr.is(i):bi.is(i)))}t.is=e})(Qs||(Qs={}));class fs{constructor(e,n){this.edits=e,this.changeAnnotations=n}insert(e,n,r){let i,s;if(r===void 0?i=mt.insert(e,n):Le.is(r)?(s=r,i=Ot.insert(e,n,r)):(this.assertChangeAnnotations(this.changeAnnotations),s=this.changeAnnotations.manage(r),i=Ot.insert(e,n,s)),this.edits.push(i),s!==void 0)return s}replace(e,n,r){let i,s;if(r===void 0?i=mt.replace(e,n):Le.is(r)?(s=r,i=Ot.replace(e,n,r)):(this.assertChangeAnnotations(this.changeAnnotations),s=this.changeAnnotations.manage(r),i=Ot.replace(e,n,s)),this.edits.push(i),s!==void 0)return s}delete(e,n){let r,i;if(n===void 0?r=mt.del(e):Le.is(n)?(i=n,r=Ot.del(e,n)):(this.assertChangeAnnotations(this.changeAnnotations),i=this.changeAnnotations.manage(n),r=Ot.del(e,i)),this.edits.push(r),i!==void 0)return i}add(e){this.edits.push(e)}all(){return this.edits}clear(){this.edits.splice(0,this.edits.length)}assertChangeAnnotations(e){if(e===void 0)throw new Error("Text edit change is not configured to manage change annotations.")}}class Ml{constructor(e){this._annotations=e===void 0?Object.create(null):e,this._counter=0,this._size=0}all(){return this._annotations}get size(){return this._size}manage(e,n){let r;if(Le.is(e)?r=e:(r=this.nextId(),n=e),this._annotations[r]!==void 0)throw new Error(`Id ${r} is already in use.`);if(n===void 0)throw new Error(`No annotation provided for id ${r}`);return this._annotations[r]=n,this._size++,r}nextId(){return this._counter++,this._counter.toString()}}class Wg{constructor(e){this._textEditChanges=Object.create(null),e!==void 0?(this._workspaceEdit=e,e.documentChanges?(this._changeAnnotations=new Ml(e.changeAnnotations),e.changeAnnotations=this._changeAnnotations.all(),e.documentChanges.forEach(n=>{if(bi.is(n)){const r=new fs(n.edits,this._changeAnnotations);this._textEditChanges[n.textDocument.uri]=r}})):e.changes&&Object.keys(e.changes).forEach(n=>{const r=new fs(e.changes[n]);this._textEditChanges[n]=r})):this._workspaceEdit={}}get edit(){return this.initDocumentChanges(),this._changeAnnotations!==void 0&&(this._changeAnnotations.size===0?this._workspaceEdit.changeAnnotations=void 0:this._workspaceEdit.changeAnnotations=this._changeAnnotations.all()),this._workspaceEdit}getTextEditChange(e){if(wi.is(e)){if(this.initDocumentChanges(),this._workspaceEdit.documentChanges===void 0)throw new Error("Workspace edit is not configured for document changes.");const n={uri:e.uri,version:e.version};let r=this._textEditChanges[n.uri];if(!r){const i=[],s={textDocument:n,edits:i};this._workspaceEdit.documentChanges.push(s),r=new fs(i,this._changeAnnotations),this._textEditChanges[n.uri]=r}return r}else{if(this.initChanges(),this._workspaceEdit.changes===void 0)throw new Error("Workspace edit is not configured for normal text edit changes.");let n=this._textEditChanges[e];if(!n){let r=[];this._workspaceEdit.changes[e]=r,n=new fs(r),this._textEditChanges[e]=n}return n}}initDocumentChanges(){this._workspaceEdit.documentChanges===void 0&&this._workspaceEdit.changes===void 0&&(this._changeAnnotations=new Ml,this._workspaceEdit.documentChanges=[],this._workspaceEdit.changeAnnotations=this._changeAnnotations.all())}initChanges(){this._workspaceEdit.documentChanges===void 0&&this._workspaceEdit.changes===void 0&&(this._workspaceEdit.changes=Object.create(null))}createFile(e,n,r){if(this.initDocumentChanges(),this._workspaceEdit.documentChanges===void 0)throw new Error("Workspace edit is not configured for document changes.");let i;An.is(n)||Le.is(n)?i=n:r=n;let s,a;if(i===void 0?s=Ar.create(e,r):(a=Le.is(i)?i:this._changeAnnotations.manage(i),s=Ar.create(e,r,a)),this._workspaceEdit.documentChanges.push(s),a!==void 0)return a}renameFile(e,n,r,i){if(this.initDocumentChanges(),this._workspaceEdit.documentChanges===void 0)throw new Error("Workspace edit is not configured for document changes.");let s;An.is(r)||Le.is(r)?s=r:i=r;let a,o;if(s===void 0?a=Sr.create(e,n,i):(o=Le.is(s)?s:this._changeAnnotations.manage(s),a=Sr.create(e,n,i,o)),this._workspaceEdit.documentChanges.push(a),o!==void 0)return o}deleteFile(e,n,r){if(this.initDocumentChanges(),this._workspaceEdit.documentChanges===void 0)throw new Error("Workspace edit is not configured for document changes.");let i;An.is(n)||Le.is(n)?i=n:r=n;let s,a;if(i===void 0?s=Cr.create(e,r):(a=Le.is(i)?i:this._changeAnnotations.manage(i),s=Cr.create(e,r,a)),this._workspaceEdit.documentChanges.push(s),a!==void 0)return a}}var Ao;(function(t){function e(r){return{uri:r}}t.create=e;function n(r){let i=r;return v.defined(i)&&v.string(i.uri)}t.is=n})(Ao||(Ao={}));var So;(function(t){function e(r,i){return{uri:r,version:i}}t.create=e;function n(r){let i=r;return v.defined(i)&&v.string(i.uri)&&v.integer(i.version)}t.is=n})(So||(So={}));var wi;(function(t){function e(r,i){return{uri:r,version:i}}t.create=e;function n(r){let i=r;return v.defined(i)&&v.string(i.uri)&&(i.version===null||v.integer(i.version))}t.is=n})(wi||(wi={}));var Co;(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 v.defined(i)&&v.string(i.uri)&&v.string(i.languageId)&&v.integer(i.version)&&v.string(i.text)}t.is=n})(Co||(Co={}));var Zs;(function(t){t.PlainText="plaintext",t.Markdown="markdown";function e(n){const r=n;return r===t.PlainText||r===t.Markdown}t.is=e})(Zs||(Zs={}));var kr;(function(t){function e(n){const r=n;return v.objectLiteral(n)&&Zs.is(r.kind)&&v.string(r.value)}t.is=e})(kr||(kr={}));var ko;(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})(ko||(ko={}));var bo;(function(t){t.PlainText=1,t.Snippet=2})(bo||(bo={}));var wo;(function(t){t.Deprecated=1})(wo||(wo={}));var _o;(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&&v.string(i.newText)&&K.is(i.insert)&&K.is(i.replace)}t.is=n})(_o||(_o={}));var No;(function(t){t.asIs=1,t.adjustIndentation=2})(No||(No={}));var Io;(function(t){function e(n){const r=n;return r&&(v.string(r.detail)||r.detail===void 0)&&(v.string(r.description)||r.description===void 0)}t.is=e})(Io||(Io={}));var Po;(function(t){function e(n){return{label:n}}t.create=e})(Po||(Po={}));var $o;(function(t){function e(n,r){return{items:n||[],isIncomplete:!!r}}t.create=e})($o||($o={}));var _i;(function(t){function e(r){return r.replace(/[\\`*_{}[\]()#+\-.!]/g,"\\$&")}t.fromPlainText=e;function n(r){const i=r;return v.string(i)||v.objectLiteral(i)&&v.string(i.language)&&v.string(i.value)}t.is=n})(_i||(_i={}));var Oo;(function(t){function e(n){let r=n;return!!r&&v.objectLiteral(r)&&(kr.is(r.contents)||_i.is(r.contents)||v.typedArray(r.contents,_i.is))&&(n.range===void 0||K.is(n.range))}t.is=e})(Oo||(Oo={}));var Lo;(function(t){function e(n,r){return r?{label:n,documentation:r}:{label:n}}t.create=e})(Lo||(Lo={}));var xo;(function(t){function e(n,r,...i){let s={label:n};return v.defined(r)&&(s.documentation=r),v.defined(i)?s.parameters=i:s.parameters=[],s}t.create=e})(xo||(xo={}));var Do;(function(t){t.Text=1,t.Read=2,t.Write=3})(Do||(Do={}));var Mo;(function(t){function e(n,r){let i={range:n};return v.number(r)&&(i.kind=r),i}t.create=e})(Mo||(Mo={}));var Fo;(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})(Fo||(Fo={}));var Go;(function(t){t.Deprecated=1})(Go||(Go={}));var jo;(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})(jo||(jo={}));var Uo;(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})(Uo||(Uo={}));var qo;(function(t){function e(r,i,s,a,o,c){let l={name:r,detail:i,kind:s,range:a,selectionRange:o};return c!==void 0&&(l.children=c),l}t.create=e;function n(r){let i=r;return i&&v.string(i.name)&&v.number(i.kind)&&K.is(i.range)&&K.is(i.selectionRange)&&(i.detail===void 0||v.string(i.detail))&&(i.deprecated===void 0||v.boolean(i.deprecated))&&(i.children===void 0||Array.isArray(i.children))&&(i.tags===void 0||Array.isArray(i.tags))}t.is=n})(qo||(qo={}));var zo;(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"})(zo||(zo={}));var Ni;(function(t){t.Invoked=1,t.Automatic=2})(Ni||(Ni={}));var Bo;(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 v.defined(i)&&v.typedArray(i.diagnostics,ki.is)&&(i.only===void 0||v.typedArray(i.only,v.string))&&(i.triggerKind===void 0||i.triggerKind===Ni.Invoked||i.triggerKind===Ni.Automatic)}t.is=n})(Bo||(Bo={}));var Vo;(function(t){function e(r,i,s){let a={title:r},o=!0;return typeof i=="string"?(o=!1,a.kind=i):wn.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&&v.string(i.title)&&(i.diagnostics===void 0||v.typedArray(i.diagnostics,ki.is))&&(i.kind===void 0||v.string(i.kind))&&(i.edit!==void 0||i.command!==void 0)&&(i.command===void 0||wn.is(i.command))&&(i.isPreferred===void 0||v.boolean(i.isPreferred))&&(i.edit===void 0||Qs.is(i.edit))}t.is=n})(Vo||(Vo={}));var Wo;(function(t){function e(r,i){let s={range:r};return v.defined(i)&&(s.data=i),s}t.create=e;function n(r){let i=r;return v.defined(i)&&K.is(i.range)&&(v.undefined(i.command)||wn.is(i.command))}t.is=n})(Wo||(Wo={}));var Ko;(function(t){function e(r,i){return{tabSize:r,insertSpaces:i}}t.create=e;function n(r){let i=r;return v.defined(i)&&v.uinteger(i.tabSize)&&v.boolean(i.insertSpaces)}t.is=n})(Ko||(Ko={}));var Ho;(function(t){function e(r,i,s){return{range:r,target:i,data:s}}t.create=e;function n(r){let i=r;return v.defined(i)&&K.is(i.range)&&(v.undefined(i.target)||v.string(i.target))}t.is=n})(Ho||(Ho={}));var Xo;(function(t){function e(r,i){return{range:r,parent:i}}t.create=e;function n(r){let i=r;return v.objectLiteral(i)&&K.is(i.range)&&(i.parent===void 0||t.is(i.parent))}t.is=n})(Xo||(Xo={}));var Yo;(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"})(Yo||(Yo={}));var Jo;(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"})(Jo||(Jo={}));var Qo;(function(t){function e(n){const r=n;return v.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})(Qo||(Qo={}));var Zo;(function(t){function e(r,i){return{range:r,text:i}}t.create=e;function n(r){const i=r;return i!=null&&K.is(i.range)&&v.string(i.text)}t.is=n})(Zo||(Zo={}));var ec;(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&&K.is(i.range)&&v.boolean(i.caseSensitiveLookup)&&(v.string(i.variableName)||i.variableName===void 0)}t.is=n})(ec||(ec={}));var tc;(function(t){function e(r,i){return{range:r,expression:i}}t.create=e;function n(r){const i=r;return i!=null&&K.is(i.range)&&(v.string(i.expression)||i.expression===void 0)}t.is=n})(tc||(tc={}));var nc;(function(t){function e(r,i){return{frameId:r,stoppedLocation:i}}t.create=e;function n(r){const i=r;return v.defined(i)&&K.is(r.stoppedLocation)}t.is=n})(nc||(nc={}));var ea;(function(t){t.Type=1,t.Parameter=2;function e(n){return n===1||n===2}t.is=e})(ea||(ea={}));var ta;(function(t){function e(r){return{value:r}}t.create=e;function n(r){const i=r;return v.objectLiteral(i)&&(i.tooltip===void 0||v.string(i.tooltip)||kr.is(i.tooltip))&&(i.location===void 0||Ci.is(i.location))&&(i.command===void 0||wn.is(i.command))}t.is=n})(ta||(ta={}));var rc;(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 v.objectLiteral(i)&&Q.is(i.position)&&(v.string(i.label)||v.typedArray(i.label,ta.is))&&(i.kind===void 0||ea.is(i.kind))&&i.textEdits===void 0||v.typedArray(i.textEdits,mt.is)&&(i.tooltip===void 0||v.string(i.tooltip)||kr.is(i.tooltip))&&(i.paddingLeft===void 0||v.boolean(i.paddingLeft))&&(i.paddingRight===void 0||v.boolean(i.paddingRight))}t.is=n})(rc||(rc={}));var ic;(function(t){function e(n){return{kind:"snippet",value:n}}t.createSnippet=e})(ic||(ic={}));var sc;(function(t){function e(n,r,i,s){return{insertText:n,filterText:r,range:i,command:s}}t.create=e})(sc||(sc={}));var ac;(function(t){function e(n){return{items:n}}t.create=e})(ac||(ac={}));var oc;(function(t){t.Invoked=0,t.Automatic=1})(oc||(oc={}));var cc;(function(t){function e(n,r){return{range:n,text:r}}t.create=e})(cc||(cc={}));var lc;(function(t){function e(n,r){return{triggerKind:n,selectedCompletionInfo:r}}t.create=e})(lc||(lc={}));var uc;(function(t){function e(n){const r=n;return v.objectLiteral(r)&&Xs.is(r.uri)&&v.string(r.name)}t.is=e})(uc||(uc={}));const Kg=[`
|
|
117
|
+
`,`\r
|
|
118
|
+
`,"\r"];var dc;(function(t){function e(s,a,o,c){return new Hg(s,a,o,c)}t.create=e;function n(s){let a=s;return!!(v.defined(a)&&v.string(a.uri)&&(v.undefined(a.languageId)||v.string(a.languageId))&&v.uinteger(a.lineCount)&&v.func(a.getText)&&v.func(a.positionAt)&&v.func(a.offsetAt))}t.is=n;function r(s,a){let o=s.getText(),c=i(a,(u,f)=>{let g=u.range.start.line-f.range.start.line;return g===0?u.range.start.character-f.range.start.character:g}),l=o.length;for(let u=c.length-1;u>=0;u--){let f=c[u],g=s.offsetAt(f.range.start),p=s.offsetAt(f.range.end);if(p<=l)o=o.substring(0,g)+f.newText+o.substring(p,o.length);else throw new Error("Overlapping edit");l=g}return o}t.applyEdits=r;function i(s,a){if(s.length<=1)return s;const o=s.length/2|0,c=s.slice(0,o),l=s.slice(o);i(c,a),i(l,a);let u=0,f=0,g=0;for(;u<c.length&&f<l.length;)a(c[u],l[f])<=0?s[g++]=c[u++]:s[g++]=l[f++];for(;u<c.length;)s[g++]=c[u++];for(;f<l.length;)s[g++]=l[f++];return s}})(dc||(dc={}));let Hg=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===`
|
|
119
|
+
`,s==="\r"&&i+1<n.length&&n.charAt(i+1)===`
|
|
120
|
+
`&&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 Q.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 Q.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 v;(function(t){const e=Object.prototype.toString;function n(p){return typeof p<"u"}t.defined=n;function r(p){return typeof p>"u"}t.undefined=r;function i(p){return p===!0||p===!1}t.boolean=i;function s(p){return e.call(p)==="[object String]"}t.string=s;function a(p){return e.call(p)==="[object Number]"}t.number=a;function o(p,E,N){return e.call(p)==="[object Number]"&&E<=p&&p<=N}t.numberRange=o;function c(p){return e.call(p)==="[object Number]"&&-2147483648<=p&&p<=2147483647}t.integer=c;function l(p){return e.call(p)==="[object Number]"&&0<=p&&p<=2147483647}t.uinteger=l;function u(p){return e.call(p)==="[object Function]"}t.func=u;function f(p){return p!==null&&typeof p=="object"}t.objectLiteral=f;function g(p,E){return Array.isArray(p)&&p.every(E)}t.typedArray=g})(v||(v={}));const Xg=Object.freeze(Object.defineProperty({__proto__:null,get AnnotatedTextEdit(){return Ot},get ChangeAnnotation(){return An},get ChangeAnnotationIdentifier(){return Le},get CodeAction(){return Vo},get CodeActionContext(){return Bo},get CodeActionKind(){return zo},get CodeActionTriggerKind(){return Ni},get CodeDescription(){return Eo},get CodeLens(){return Wo},get Color(){return Ys},get ColorInformation(){return mo},get ColorPresentation(){return go},get Command(){return wn},get CompletionItem(){return Po},get CompletionItemKind(){return ko},get CompletionItemLabelDetails(){return Io},get CompletionItemTag(){return wo},get CompletionList(){return $o},get CreateFile(){return Ar},get DeleteFile(){return Cr},get Diagnostic(){return ki},get DiagnosticRelatedInformation(){return Js},get DiagnosticSeverity(){return Ro},get DiagnosticTag(){return vo},get DocumentHighlight(){return Mo},get DocumentHighlightKind(){return Do},get DocumentLink(){return Ho},get DocumentSymbol(){return qo},get DocumentUri(){return fo},EOL:Kg,get FoldingRange(){return To},get FoldingRangeKind(){return yo},get FormattingOptions(){return Ko},get Hover(){return Oo},get InlayHint(){return rc},get InlayHintKind(){return ea},get InlayHintLabelPart(){return ta},get InlineCompletionContext(){return lc},get InlineCompletionItem(){return sc},get InlineCompletionList(){return ac},get InlineCompletionTriggerKind(){return oc},get InlineValueContext(){return nc},get InlineValueEvaluatableExpression(){return tc},get InlineValueText(){return Zo},get InlineValueVariableLookup(){return ec},get InsertReplaceEdit(){return _o},get InsertTextFormat(){return bo},get InsertTextMode(){return No},get Location(){return Ci},get LocationLink(){return po},get MarkedString(){return _i},get MarkupContent(){return kr},get MarkupKind(){return Zs},get OptionalVersionedTextDocumentIdentifier(){return wi},get ParameterInformation(){return Lo},get Position(){return Q},get Range(){return K},get RenameFile(){return Sr},get SelectedCompletionInfo(){return cc},get SelectionRange(){return Xo},get SemanticTokenModifiers(){return Jo},get SemanticTokenTypes(){return Yo},get SemanticTokens(){return Qo},get SignatureInformation(){return xo},get StringValue(){return ic},get SymbolInformation(){return jo},get SymbolKind(){return Fo},get SymbolTag(){return Go},get TextDocument(){return dc},get TextDocumentEdit(){return bi},get TextDocumentIdentifier(){return Ao},get TextDocumentItem(){return Co},get TextEdit(){return mt},get URI(){return Xs},get VersionedTextDocumentIdentifier(){return So},WorkspaceChange:Wg,get WorkspaceEdit(){return Qs},get WorkspaceFolder(){return uc},get WorkspaceSymbol(){return Uo},get integer(){return ho},get uinteger(){return Si}},Symbol.toStringTag,{value:"Module"}));class Yg{constructor(){this.nodeStack=[]}get current(){return this.nodeStack[this.nodeStack.length-1]??this.rootNode}buildRootNode(e){return this.rootNode=new rf(e),this.rootNode.root=this.rootNode,this.nodeStack=[this.rootNode],this.rootNode}buildCompositeNode(e){const n=new Vc;return n.grammarSource=e,n.root=this.rootNode,this.current.content.push(n),this.nodeStack.push(n),n}buildLeafNode(e,n){const r=new fc(e.startOffset,e.image.length,Za(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 fc(s.startOffset,s.image.length,Za(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"&&!e.$infixName&&(this.current.astNode=e),e.$cstNode=n;const r=this.nodeStack.pop();r?.content.length===0&&this.removeNode(r)}}class nf{get hidden(){return!1}get astNode(){const e=typeof this._astNode?.$type=="string"?this._astNode:this.container?.astNode;if(!e)throw new Error("This node has no associated AST element");return e}set astNode(e){this._astNode=e}get text(){return this.root.fullText.substring(this.offset,this.end)}}class fc extends nf{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 Vc extends nf{constructor(){super(...arguments),this.content=new Wc(this)}get offset(){return this.firstNonHiddenNode?.offset??0}get length(){return this.end-this.offset}get end(){return this.lastNonHiddenNode?.end??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:Q.create(0,0),end:Q.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 Wc extends Array{constructor(e){super(),this.parent=e,Object.setPrototypeOf(this,Wc.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 rf extends Vc{get text(){return this._text.substring(this.offset,this.end)}get fullText(){return this._text}constructor(e){super(),this._text="",this._text=e??""}}const hc=Symbol("Datatype");function Ia(t){return t.$type===hc}const Fl="",sf=t=>t.endsWith(Fl)?t:t+Fl;class af{constructor(e,n){this._unorderedGroups=new Map,this.allRules=new Map,this.lexer=e.parser.Lexer;const r=this.lexer.definition,i=e.LanguageMetaData.mode==="production";e.shared.profilers.LangiumProfiler?.isActive("parsing")?this.wrapper=new ty(r,{...e.parser.ParserConfig,skipValidations:i,errorMessageProvider:e.parser.ParserErrorMessageProvider},n,e.shared.profilers.LangiumProfiler.createTask("parsing",e.LanguageMetaData.languageId)):this.wrapper=new cf(r,{...e.parser.ParserConfig,skipValidations:i,errorMessageProvider:e.parser.ParserErrorMessageProvider},n)}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 Jg extends af{get current(){return this.stack[this.stack.length-1]}constructor(e){super(e,!1),this.nodeBuilder=new Yg,this.stack=[],this.assignmentMap=new Map,this.operatorPrecedence=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);let i;Ms(e)&&(i=e.name,this.registerPrecedenceMap(e));const s=this.wrapper.DEFINE_RULE(sf(e.name),this.startImplementation(r,i,n).bind(this));return this.allRules.set(e.name,s),jt(e)&&e.entry&&(this.mainRule=s),s}registerPrecedenceMap(e){const n=e.name,r=new Map;for(let i=0;i<e.operators.precedences.length;i++){const s=e.operators.precedences[i];for(const a of s.operators)r.set(a.value,{precedence:i,rightAssoc:s.associativity==="right"})}this.operatorPrecedence.set(n,r)}computeRuleType(e){return Ms(e)?Ai(e):e.fragment?void 0:fd(e)?hc:Ai(e)}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=this.doParse(i);return this.nodeBuilder.addHiddenNodes(r.hidden),this.unorderedGroups.clear(),this.lexerResult=void 0,Va(s,{deep:!0}),{value:s,lexerErrors:r.errors,lexerReport:r.report,parserErrors:this.wrapper.errors}}doParse(e){let n=this.wrapper.rule(e);if(this.stack.length>0&&(n=this.construct()),n===void 0)throw new Error("No result from parser");if(this.stack.length>0)throw new Error("Parser stack is not empty after parsing");return n}startImplementation(e,n,r){return i=>{const s=!this.isRecording()&&e!==void 0;if(s){const a={$type:e};this.stack.push(a),e===hc?a.value="":n!==void 0&&(a.$infixName=n)}return r(i),s?this.construct():void 0}}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,crossRef:c}=this.getAssignment(r),l=this.current;if(o){const u=Cn(r)?i.image:this.converter.convert(i.image,a);this.assign(o.operator,o.feature,u,a,c)}else if(Ia(l)){let u=i.image;Cn(r)||(u=this.converter.convert(u,a).toString()),l.value+=u}}}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));let o;try{o=this.wrapper.wrapSubrule(e,n,s)}finally{this.isRecording()||(o===void 0&&!r&&(o=this.construct()),o!==void 0&&a&&a.length>0&&this.performSubruleAssignment(o,i,a))}}performSubruleAssignment(e,n,r){const{assignment:i,crossRef:s}=this.getAssignment(n);if(i)this.assign(i.operator,i.feature,e,r,s);else if(!i){const a=this.current;if(Ia(a))a.value+=e.toString();else if(typeof e=="object"&&e){const c=this.assignWithoutOverride(e,a);this.stack.pop(),this.stack.push(c)}}}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)}else r.$type=e}}construct(){if(this.isRecording())return;const e=this.stack.pop();return this.nodeBuilder.construct(e),"$infixName"in e?this.constructInfix(e,this.operatorPrecedence.get(e.$infixName)):Ia(e)?this.converter.convert(e.value,e.$cstNode):(rh(this.astReflection,e),e)}constructInfix(e,n){const r=e.parts;if(!Array.isArray(r)||r.length===0)return;const i=e.operators;if(!Array.isArray(i)||r.length<2)return r[0];let s=0,a=-1;for(let N=0;N<i.length;N++){const I=i[N],C=n.get(I)??{precedence:1/0,rightAssoc:!1};C.precedence>a?(a=C.precedence,s=N):C.precedence===a&&(C.rightAssoc||(s=N))}const o=i.slice(0,s),c=i.slice(s+1),l=r.slice(0,s+1),u=r.slice(s+1),f={$infixName:e.$infixName,$type:e.$type,$cstNode:e.$cstNode,parts:l,operators:o},g={$infixName:e.$infixName,$type:e.$type,$cstNode:e.$cstNode,parts:u,operators:c},p=this.constructInfix(f,n),E=this.constructInfix(g,n);return{$type:e.$type,$cstNode:e.$cstNode,left:p,operator:i[s],right:E}}getAssignment(e){if(!this.assignmentMap.has(e)){const n=ra(e,Sn);this.assignmentMap.set(e,{assignment:n,crossRef:n&&sa(n.terminal)?n.terminal.isMulti?"multi":"single":void 0})}return this.assignmentMap.get(e)}assign(e,n,r,i,s){const a=this.current;let o;switch(s==="single"&&typeof r=="string"?o=this.linker.buildReference(a,n,i,r):s==="multi"&&typeof r=="string"?o=this.linker.buildMultiReference(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 Qg{buildMismatchTokenMessage(e){return er.buildMismatchTokenMessage(e)}buildNotAllInputParsedMessage(e){return er.buildNotAllInputParsedMessage(e)}buildNoViableAltMessage(e){return er.buildNoViableAltMessage(e)}buildEarlyExitMessage(e){return er.buildEarlyExitMessage(e)}}class of extends Qg{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 Zg extends af{constructor(e){super(e,!0),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(sf(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 ey={recoveryEnabled:!0,nodeLocationTracking:"full",skipValidations:!0,errorMessageProvider:new of};class cf extends ig{constructor(e,n,r){const i=n&&"maxLookahead"in n;super(e,{...ey,lookaheadStrategy:i?new Gc({maxLookahead:n.maxLookahead}):new kg({logging:n.skipValidations?()=>{}:void 0,incomplete:r}),...n})}get IS_RECORDING(){return this.RECORDING_PHASE}DEFINE_RULE(e,n,r){return this.RULE(e,n,r)}wrapSelfAnalysis(){this.performSelfAnalysis()}wrapConsume(e,n){return this.consume(e,n,void 0)}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)}rule(e){return e.call(this,{})}}class ty extends cf{constructor(e,n,r,i){super(e,n,r),this.task=i}rule(e){this.task.start(),this.task.startSubTask(this.ruleName(e));try{return super.rule(e)}finally{this.task.stopSubTask(this.ruleName(e)),this.task.stop()}}ruleName(e){return e.ruleName}subrule(e,n,r){this.task.startSubTask(this.ruleName(n));try{return super.subrule(e,n,r)}finally{this.task.stopSubTask(this.ruleName(n))}}}function lf(t,e,n){return ny({parser:e,tokens:n,ruleNames:new Map},t),e}function ny(t,e){const n=od(e,!1),r=de(e.rules).filter(jt).filter(s=>n.has(s));for(const s of r){const a={...t,consume:1,optional:1,subrule:1,many:1,or:1};t.parser.rule(s,_n(a,s.definition))}const i=de(e.rules).filter(Ms).filter(s=>n.has(s));for(const s of i)t.parser.rule(s,ry(t,s))}function ry(t,e){const n=e.call.rule.ref;if(!n)throw new Error("Could not resolve reference to infix operator rule: "+e.call.rule.$refText);if(Ut(n))throw new Error("Cannot use terminal rule in infix expression");const r=e.operators.precedences.flatMap(p=>p.operators),i={$type:"Group",elements:[]},s={$container:i,$type:"Assignment",feature:"parts",operator:"+=",terminal:e.call},a={$container:i,$type:"Group",elements:[],cardinality:"*"};i.elements.push(s,a);const c={$container:a,$type:"Assignment",feature:"operators",operator:"+=",terminal:{$type:"Alternatives",elements:r}},l={...s,$container:a};a.elements.push(c,l);const f=r.map(p=>t.tokens[p.value]).map((p,E)=>({ALT:()=>t.parser.consume(E,p,c)}));let g;return p=>{g??(g=Kc(t,n)),t.parser.subrule(0,g,!1,s,p),t.parser.many(0,{DEF:()=>{t.parser.alternatives(0,f),t.parser.subrule(1,g,!1,l,p)}})}}function _n(t,e,n=!1){let r;if(Cn(e))r=uy(t,e);else if(ia(e))r=iy(t,e);else if(Sn(e))r=_n(t,e.terminal);else if(sa(e))r=uf(t,e);else if(kn(e))r=sy(t,e);else if(ed(e))r=oy(t,e);else if(nd(e))r=cy(t,e);else if(Ic(e))r=ly(t,e);else if(lh(e)){const i=t.consume++;r=()=>t.parser.consume(i,Ft,e)}else throw new id(e.$cstNode,`Unexpected element type: ${e.$type}`);return df(t,n?void 0:na(e),r,e.cardinality)}function iy(t,e){const n=Ai(e);return()=>t.parser.action(n,e)}function sy(t,e){const n=e.rule.ref;if(Li(n)){const r=t.subrule++,i=jt(n)&&n.fragment,s=e.arguments.length>0?ay(n,e.arguments):()=>({});let a;return o=>{a??(a=Kc(t,n)),t.parser.subrule(r,a,i,e,s(o))}}else if(Ut(n)){const r=t.consume++,i=pc(t,n.name);return()=>t.parser.consume(r,i,e)}else if(n)xi();else throw new id(e.$cstNode,`Undefined rule: ${e.rule.$refText}`)}function ay(t,e){if(e.some(r=>r.calledByName)){const r=e.map(i=>({parameterName:i.parameter?.ref?.name,predicate:pt(i.value)}));return i=>{const s={};for(const{parameterName:a,predicate:o}of r)a&&(s[a]=o(i));return s}}else{const r=e.map(i=>pt(i.value));return i=>{const s={};for(let a=0;a<r.length;a++)if(a<t.parameters.length){const o=t.parameters[a].name,c=r[a];s[o]=c(i)}return s}}}function pt(t){if(ch(t)){const e=pt(t.left),n=pt(t.right);return r=>e(r)||n(r)}else if(oh(t)){const e=pt(t.left),n=pt(t.right);return r=>e(r)&&n(r)}else if(fh(t)){const e=pt(t.value);return n=>!e(n)}else if(hh(t)){const e=t.parameter.ref.name;return n=>n!==void 0&&n[e]===!0}else if(sh(t)){const e=!!t.true;return()=>e}xi()}function oy(t,e){if(e.elements.length===1)return _n(t,e.elements[0]);{const n=[];for(const i of e.elements){const s={ALT:_n(t,i,!0)},a=na(i);a&&(s.GATE=pt(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 cy(t,e){if(e.elements.length===1)return _n(t,e.elements[0]);const n=[];for(const o of e.elements){const c={ALT:_n(t,o,!0)},l=na(o);l&&(c.GATE=pt(l)),n.push(c)}const r=t.or++,i=(o,c)=>{const l=c.getRuleStack().join("-");return`uGroup_${o}_${l}`},s=o=>t.parser.alternatives(r,n.map((c,l)=>{const u={ALT:()=>!0},f=t.parser;u.ALT=()=>{if(c.ALT(o),!f.isRecording()){const p=i(r,f);f.unorderedGroups.get(p)||f.unorderedGroups.set(p,[]);const E=f.unorderedGroups.get(p);typeof E?.[l]>"u"&&(E[l]=!0)}};const g=c.GATE;return g?u.GATE=()=>g(o):u.GATE=()=>!f.unorderedGroups.get(i(r,f))?.[l],u})),a=df(t,na(e),s,"*");return o=>{a(o),t.parser.isRecording()||t.parser.unorderedGroups.delete(i(r,t.parser))}}function ly(t,e){const n=e.elements.map(r=>_n(t,r));return r=>n.forEach(i=>i(r))}function na(t){if(Ic(t))return t.guardCondition}function uf(t,e,n=e.terminal){if(n)if(kn(n)&&jt(n.rule.ref)){const r=n.rule.ref,i=t.subrule++;let s;return a=>{s??(s=Kc(t,r)),t.parser.subrule(i,s,!1,e,a)}}else if(kn(n)&&Ut(n.rule.ref)){const r=t.consume++,i=pc(t,n.rule.ref.name);return()=>t.parser.consume(r,i,e)}else if(Cn(n)){const r=t.consume++,i=pc(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 i=ud(e.type.ref)?.terminal;if(!i)throw new Error("Could not find name assignment for type: "+Ai(e.type.ref));return uf(t,e,i)}}function uy(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 df(t,e,n,r){const i=e&&pt(e);if(!r)if(i){const s=t.or++;return a=>t.parser.alternatives(s,[{ALT:()=>n(a),GATE:()=>i(a)},{ALT:Ol(),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:Ol(),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 xi()}function Kc(t,e){const n=dy(t,e),r=t.parser.getRule(n);if(!r)throw new Error(`Rule "${n}" not found."`);return r}function dy(t,e){if(Li(e))return e.name;if(t.ruleNames.has(e))return t.ruleNames.get(e);{let n=e,r=n.$container,i=e.$type;for(;!jt(r);)(Ic(r)||ed(r)||nd(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 pc(t,e){const n=t.tokens[e];if(!n)throw new Error(`Token "${e}" not found."`);return n}function fy(t){const e=t.Grammar,n=t.parser.Lexer,r=new Zg(t);return lf(e,r,n.definition),r.finalize(),r}function hy(t){const e=py(t);return e.finalize(),e}function py(t){const e=t.Grammar,n=t.parser.Lexer,r=new Jg(t);return lf(e,r,n.definition)}class ff{constructor(){this.diagnostics=[]}buildTokens(e,n){const r=de(od(e,!1)),i=this.buildTerminalTokens(r),s=this.buildKeywordTokens(r,i,n);return s.push(...i),s}flushLexingReport(e){return{diagnostics:this.popDiagnostics()}}popDiagnostics(){const e=[...this.diagnostics];return this.diagnostics=[],e}buildTerminalTokens(e){return e.filter(Ut).filter(n=>!n.fragment).map(n=>this.buildTerminalToken(n)).toArray()}buildTerminalToken(e){const n=$c(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=ad(n)?Be.SKIPPED:"hidden"),i}requiresCustomPattern(e){return!!(e.flags.includes("u")||e.flags.includes("s"))}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(Li).flatMap(i=>Oi(i).filter(Cn)).distinct(i=>i.value).toArray().sort((i,s)=>s.value.length-i.value.length).map(i=>this.buildKeywordToken(i,n,!!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(oa(e.value),"i"):e.value}findLongerAlt(e,n){return n.reduce((r,i)=>{const s=i?.PATTERN;return s?.source&&Mh("^"+s.source+"$",e.value)&&r.push(i),r},[])}}class hf{convert(e,n){let r=n.grammarSource;if(sa(r)&&(r=Uh(r)),kn(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){switch(e.name.toUpperCase()){case"INT":return It.convertInt(n);case"STRING":return It.convertString(n);case"ID":return It.convertID(n)}switch(Hh(e)?.toLowerCase()){case"number":return It.convertNumber(n);case"boolean":return It.convertBoolean(n);case"bigint":return It.convertBigint(n);case"date":return It.convertDate(n);default:return n}}}var It;(function(t){function e(l){let u="";for(let f=1;f<l.length-1;f++){const g=l.charAt(f);if(g==="\\"){const p=l.charAt(++f);u+=n(p)}else u+=g}return u}t.convertString=e;function n(l){switch(l){case"b":return"\b";case"f":return"\f";case"n":return`
|
|
121
|
+
`;case"r":return"\r";case"t":return" ";case"v":return"\v";case"0":return"\0";default:return l}}function r(l){return l.charAt(0)==="^"?l.substring(1):l}t.convertID=r;function i(l){return parseInt(l)}t.convertInt=i;function s(l){return BigInt(l)}t.convertBigint=s;function a(l){return new Date(l)}t.convertDate=a;function o(l){return Number(l)}t.convertNumber=o;function c(l){return l.toLowerCase()==="true"}t.convertBoolean=c})(It||(It={}));var rn={},hs={},Gl;function In(){if(Gl)return hs;Gl=1,Object.defineProperty(hs,"__esModule",{value:!0});let t;function e(){if(t===void 0)throw new Error("No runtime abstraction layer installed");return t}return(function(n){function r(i){if(i===void 0)throw new Error("No runtime abstraction layer provided");t=i}n.install=r})(e||(e={})),hs.default=e,hs}var Pe={},jl;function ji(){if(jl)return Pe;jl=1,Object.defineProperty(Pe,"__esModule",{value:!0}),Pe.stringArray=Pe.array=Pe.func=Pe.error=Pe.number=Pe.string=Pe.boolean=void 0;function t(o){return o===!0||o===!1}Pe.boolean=t;function e(o){return typeof o=="string"||o instanceof String}Pe.string=e;function n(o){return typeof o=="number"||o instanceof Number}Pe.number=n;function r(o){return o instanceof Error}Pe.error=r;function i(o){return typeof o=="function"}Pe.func=i;function s(o){return Array.isArray(o)}Pe.array=s;function a(o){return s(o)&&o.every(c=>e(c))}return Pe.stringArray=a,Pe}var sn={},Ul;function Pr(){if(Ul)return sn;Ul=1,Object.defineProperty(sn,"__esModule",{value:!0}),sn.Emitter=sn.Event=void 0;const t=In();var e;(function(i){const s={dispose(){}};i.None=function(){return s}})(e||(sn.Event=e={}));class n{add(s,a=null,o){this._callbacks||(this._callbacks=[],this._contexts=[]),this._callbacks.push(s),this._contexts.push(a),Array.isArray(o)&&o.push({dispose:()=>this.remove(s,a)})}remove(s,a=null){if(!this._callbacks)return;let o=!1;for(let c=0,l=this._callbacks.length;c<l;c++)if(this._callbacks[c]===s)if(this._contexts[c]===a){this._callbacks.splice(c,1),this._contexts.splice(c,1);return}else o=!0;if(o)throw new Error("When adding a listener with a context, you should remove it with the same context")}invoke(...s){if(!this._callbacks)return[];const a=[],o=this._callbacks.slice(0),c=this._contexts.slice(0);for(let l=0,u=o.length;l<u;l++)try{a.push(o[l].apply(c[l],s))}catch(f){(0,t.default)().console.error(f)}return a}isEmpty(){return!this._callbacks||this._callbacks.length===0}dispose(){this._callbacks=void 0,this._contexts=void 0}}class r{constructor(s){this._options=s}get event(){return this._event||(this._event=(s,a,o)=>{this._callbacks||(this._callbacks=new n),this._options&&this._options.onFirstListenerAdd&&this._callbacks.isEmpty()&&this._options.onFirstListenerAdd(this),this._callbacks.add(s,a);const c={dispose:()=>{this._callbacks&&(this._callbacks.remove(s,a),c.dispose=r._noop,this._options&&this._options.onLastListenerRemove&&this._callbacks.isEmpty()&&this._options.onLastListenerRemove(this))}};return Array.isArray(o)&&o.push(c),c}),this._event}fire(s){this._callbacks&&this._callbacks.invoke.call(this._callbacks,s)}dispose(){this._callbacks&&(this._callbacks.dispose(),this._callbacks=void 0)}}return sn.Emitter=r,r._noop=function(){},sn}var ql;function ma(){if(ql)return rn;ql=1,Object.defineProperty(rn,"__esModule",{value:!0}),rn.CancellationTokenSource=rn.CancellationToken=void 0;const t=In(),e=ji(),n=Pr();var r;(function(o){o.None=Object.freeze({isCancellationRequested:!1,onCancellationRequested:n.Event.None}),o.Cancelled=Object.freeze({isCancellationRequested:!0,onCancellationRequested:n.Event.None});function c(l){const u=l;return u&&(u===o.None||u===o.Cancelled||e.boolean(u.isCancellationRequested)&&!!u.onCancellationRequested)}o.is=c})(r||(rn.CancellationToken=r={}));const i=Object.freeze(function(o,c){const l=(0,t.default)().timer.setTimeout(o.bind(c),0);return{dispose(){l.dispose()}}});class s{constructor(){this._isCancelled=!1}cancel(){this._isCancelled||(this._isCancelled=!0,this._emitter&&(this._emitter.fire(void 0),this.dispose()))}get isCancellationRequested(){return this._isCancelled}get onCancellationRequested(){return this._isCancelled?i:(this._emitter||(this._emitter=new n.Emitter),this._emitter.event)}dispose(){this._emitter&&(this._emitter.dispose(),this._emitter=void 0)}}class a{get token(){return this._token||(this._token=new s),this._token}cancel(){this._token?this._token.cancel():this._token=r.Cancelled}dispose(){this._token?this._token instanceof s&&this._token.dispose():this._token=r.None}}return rn.CancellationTokenSource=a,rn}var he=ma();function my(){return new Promise(t=>{typeof setImmediate>"u"?setTimeout(t,0):setImmediate(t)})}let $s=0,gy=10;function yy(){return $s=performance.now(),new he.CancellationTokenSource}const tr=Symbol("OperationCancelled");function ga(t){return t===tr}async function Ue(t){if(t===he.CancellationToken.None)return;const e=performance.now();if(e-$s>=gy&&($s=e,await my(),$s=performance.now()),t.isCancellationRequested)throw tr}class Hc{constructor(){this.promise=new Promise((e,n)=>{this.resolve=r=>(e(r),this),this.reject=r=>(n(r),this)})}}class Ii{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(Ii.isIncremental(r)){const i=mf(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),c=Math.max(i.end.line,0);let l=this._lineOffsets;const u=zl(r.text,!1,s);if(c-o===u.length)for(let g=0,p=u.length;g<p;g++)l[g+o+1]=u[g];else u.length<1e4?l.splice(o+1,c-o,...u):this._lineOffsets=l=l.slice(0,o+1).concat(u,l.slice(c+1));const f=r.text.length-(a-s);if(f!==0)for(let g=o+1+u.length,p=l.length;g<p;g++)l[g]=l[g]+f}else if(Ii.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=zl(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&&pf(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 mc;(function(t){function e(i,s,a,o){return new Ii(i,s,a,o)}t.create=e;function n(i,s,a){if(i instanceof Ii)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=gc(s.map(Ty),(u,f)=>{const g=u.range.start.line-f.range.start.line;return g===0?u.range.start.character-f.range.start.character:g});let c=0;const l=[];for(const u of o){const f=i.offsetAt(u.range.start);if(f<c)throw new Error("Overlapping edit");f>c&&l.push(a.substring(c,f)),u.newText.length&&l.push(u.newText),c=i.offsetAt(u.range.end)}return l.push(a.substr(c)),l.join("")}t.applyEdits=r})(mc||(mc={}));function gc(t,e){if(t.length<=1)return t;const n=t.length/2|0,r=t.slice(0,n),i=t.slice(n);gc(r,e),gc(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 zl(t,e,n=0){const r=e?[n]:[];for(let i=0;i<t.length;i++){const s=t.charCodeAt(i);pf(s)&&(s===13&&i+1<t.length&&t.charCodeAt(i+1)===10&&i++,r.push(n+i+1))}return r}function pf(t){return t===13||t===10}function mf(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 Ty(t){const e=mf(t.range);return e!==t.range?{newText:t.newText,range:e}:t}var gf;(()=>{var t={975:_=>{function T(y){if(typeof y!="string")throw new TypeError("Path must be a string. Received "+JSON.stringify(y))}function m(y,R){for(var A,L="",D=0,x=-1,j=0,F=0;F<=y.length;++F){if(F<y.length)A=y.charCodeAt(F);else{if(A===47)break;A=47}if(A===47){if(!(x===F-1||j===1))if(x!==F-1&&j===2){if(L.length<2||D!==2||L.charCodeAt(L.length-1)!==46||L.charCodeAt(L.length-2)!==46){if(L.length>2){var te=L.lastIndexOf("/");if(te!==L.length-1){te===-1?(L="",D=0):D=(L=L.slice(0,te)).length-1-L.lastIndexOf("/"),x=F,j=0;continue}}else if(L.length===2||L.length===1){L="",D=0,x=F,j=0;continue}}R&&(L.length>0?L+="/..":L="..",D=2)}else L.length>0?L+="/"+y.slice(x+1,F):L=y.slice(x+1,F),D=F-x-1;x=F,j=0}else A===46&&j!==-1?++j:j=-1}return L}var k={resolve:function(){for(var y,R="",A=!1,L=arguments.length-1;L>=-1&&!A;L--){var D;L>=0?D=arguments[L]:(y===void 0&&(y=process.cwd()),D=y),T(D),D.length!==0&&(R=D+"/"+R,A=D.charCodeAt(0)===47)}return R=m(R,!A),A?R.length>0?"/"+R:"/":R.length>0?R:"."},normalize:function(y){if(T(y),y.length===0)return".";var R=y.charCodeAt(0)===47,A=y.charCodeAt(y.length-1)===47;return(y=m(y,!R)).length!==0||R||(y="."),y.length>0&&A&&(y+="/"),R?"/"+y:y},isAbsolute:function(y){return T(y),y.length>0&&y.charCodeAt(0)===47},join:function(){if(arguments.length===0)return".";for(var y,R=0;R<arguments.length;++R){var A=arguments[R];T(A),A.length>0&&(y===void 0?y=A:y+="/"+A)}return y===void 0?".":k.normalize(y)},relative:function(y,R){if(T(y),T(R),y===R||(y=k.resolve(y))===(R=k.resolve(R)))return"";for(var A=1;A<y.length&&y.charCodeAt(A)===47;++A);for(var L=y.length,D=L-A,x=1;x<R.length&&R.charCodeAt(x)===47;++x);for(var j=R.length-x,F=D<j?D:j,te=-1,U=0;U<=F;++U){if(U===F){if(j>F){if(R.charCodeAt(x+U)===47)return R.slice(x+U+1);if(U===0)return R.slice(x+U)}else D>F&&(y.charCodeAt(A+U)===47?te=U:U===0&&(te=0));break}var Z=y.charCodeAt(A+U);if(Z!==R.charCodeAt(x+U))break;Z===47&&(te=U)}var Ne="";for(U=A+te+1;U<=L;++U)U!==L&&y.charCodeAt(U)!==47||(Ne.length===0?Ne+="..":Ne+="/..");return Ne.length>0?Ne+R.slice(x+te):(x+=te,R.charCodeAt(x)===47&&++x,R.slice(x))},_makeLong:function(y){return y},dirname:function(y){if(T(y),y.length===0)return".";for(var R=y.charCodeAt(0),A=R===47,L=-1,D=!0,x=y.length-1;x>=1;--x)if((R=y.charCodeAt(x))===47){if(!D){L=x;break}}else D=!1;return L===-1?A?"/":".":A&&L===1?"//":y.slice(0,L)},basename:function(y,R){if(R!==void 0&&typeof R!="string")throw new TypeError('"ext" argument must be a string');T(y);var A,L=0,D=-1,x=!0;if(R!==void 0&&R.length>0&&R.length<=y.length){if(R.length===y.length&&R===y)return"";var j=R.length-1,F=-1;for(A=y.length-1;A>=0;--A){var te=y.charCodeAt(A);if(te===47){if(!x){L=A+1;break}}else F===-1&&(x=!1,F=A+1),j>=0&&(te===R.charCodeAt(j)?--j==-1&&(D=A):(j=-1,D=F))}return L===D?D=F:D===-1&&(D=y.length),y.slice(L,D)}for(A=y.length-1;A>=0;--A)if(y.charCodeAt(A)===47){if(!x){L=A+1;break}}else D===-1&&(x=!1,D=A+1);return D===-1?"":y.slice(L,D)},extname:function(y){T(y);for(var R=-1,A=0,L=-1,D=!0,x=0,j=y.length-1;j>=0;--j){var F=y.charCodeAt(j);if(F!==47)L===-1&&(D=!1,L=j+1),F===46?R===-1?R=j:x!==1&&(x=1):R!==-1&&(x=-1);else if(!D){A=j+1;break}}return R===-1||L===-1||x===0||x===1&&R===L-1&&R===A+1?"":y.slice(R,L)},format:function(y){if(y===null||typeof y!="object")throw new TypeError('The "pathObject" argument must be of type Object. Received type '+typeof y);return(function(R,A){var L=A.dir||A.root,D=A.base||(A.name||"")+(A.ext||"");return L?L===A.root?L+D:L+"/"+D:D})(0,y)},parse:function(y){T(y);var R={root:"",dir:"",base:"",ext:"",name:""};if(y.length===0)return R;var A,L=y.charCodeAt(0),D=L===47;D?(R.root="/",A=1):A=0;for(var x=-1,j=0,F=-1,te=!0,U=y.length-1,Z=0;U>=A;--U)if((L=y.charCodeAt(U))!==47)F===-1&&(te=!1,F=U+1),L===46?x===-1?x=U:Z!==1&&(Z=1):x!==-1&&(Z=-1);else if(!te){j=U+1;break}return x===-1||F===-1||Z===0||Z===1&&x===F-1&&x===j+1?F!==-1&&(R.base=R.name=j===0&&D?y.slice(1,F):y.slice(j,F)):(j===0&&D?(R.name=y.slice(1,x),R.base=y.slice(1,F)):(R.name=y.slice(j,x),R.base=y.slice(j,F)),R.ext=y.slice(x,F)),j>0?R.dir=y.slice(0,j-1):D&&(R.dir="/"),R},sep:"/",delimiter:":",win32:null,posix:null};k.posix=k,_.exports=k}},e={};function n(_){var T=e[_];if(T!==void 0)return T.exports;var m=e[_]={exports:{}};return t[_](m,m.exports,n),m.exports}n.d=(_,T)=>{for(var m in T)n.o(T,m)&&!n.o(_,m)&&Object.defineProperty(_,m,{enumerable:!0,get:T[m]})},n.o=(_,T)=>Object.prototype.hasOwnProperty.call(_,T),n.r=_=>{typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty(_,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(_,"__esModule",{value:!0})};var r={};let i;n.r(r),n.d(r,{URI:()=>g,Utils:()=>oe}),typeof process=="object"?i=process.platform==="win32":typeof navigator=="object"&&(i=navigator.userAgent.indexOf("Windows")>=0);const s=/^\w[\w\d+.-]*$/,a=/^\//,o=/^\/\//;function c(_,T){if(!_.scheme&&T)throw new Error(`[UriError]: Scheme is missing: {scheme: "", authority: "${_.authority}", path: "${_.path}", query: "${_.query}", fragment: "${_.fragment}"}`);if(_.scheme&&!s.test(_.scheme))throw new Error("[UriError]: Scheme contains illegal characters.");if(_.path){if(_.authority){if(!a.test(_.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(_.path))throw new Error('[UriError]: If a URI does not contain an authority component, then the path cannot begin with two slash characters ("//")')}}const l="",u="/",f=/^(([^:/?#]+?):)?(\/\/([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?/;class g{static isUri(T){return T instanceof g||!!T&&typeof T.authority=="string"&&typeof T.fragment=="string"&&typeof T.path=="string"&&typeof T.query=="string"&&typeof T.scheme=="string"&&typeof T.fsPath=="string"&&typeof T.with=="function"&&typeof T.toString=="function"}scheme;authority;path;query;fragment;constructor(T,m,k,y,R,A=!1){typeof T=="object"?(this.scheme=T.scheme||l,this.authority=T.authority||l,this.path=T.path||l,this.query=T.query||l,this.fragment=T.fragment||l):(this.scheme=(function(L,D){return L||D?L:"file"})(T,A),this.authority=m||l,this.path=(function(L,D){switch(L){case"https":case"http":case"file":D?D[0]!==u&&(D=u+D):D=u}return D})(this.scheme,k||l),this.query=y||l,this.fragment=R||l,c(this,A))}get fsPath(){return S(this)}with(T){if(!T)return this;let{scheme:m,authority:k,path:y,query:R,fragment:A}=T;return m===void 0?m=this.scheme:m===null&&(m=l),k===void 0?k=this.authority:k===null&&(k=l),y===void 0?y=this.path:y===null&&(y=l),R===void 0?R=this.query:R===null&&(R=l),A===void 0?A=this.fragment:A===null&&(A=l),m===this.scheme&&k===this.authority&&y===this.path&&R===this.query&&A===this.fragment?this:new E(m,k,y,R,A)}static parse(T,m=!1){const k=f.exec(T);return k?new E(k[2]||l,B(k[4]||l),B(k[5]||l),B(k[7]||l),B(k[9]||l),m):new E(l,l,l,l,l)}static file(T){let m=l;if(i&&(T=T.replace(/\\/g,u)),T[0]===u&&T[1]===u){const k=T.indexOf(u,2);k===-1?(m=T.substring(2),T=u):(m=T.substring(2,k),T=T.substring(k)||u)}return new E("file",m,T,l,l)}static from(T){const m=new E(T.scheme,T.authority,T.path,T.query,T.fragment);return c(m,!0),m}toString(T=!1){return b(this,T)}toJSON(){return this}static revive(T){if(T){if(T instanceof g)return T;{const m=new E(T);return m._formatted=T.external,m._fsPath=T._sep===p?T.fsPath:null,m}}return T}}const p=i?1:void 0;class E extends g{_formatted=null;_fsPath=null;get fsPath(){return this._fsPath||(this._fsPath=S(this)),this._fsPath}toString(T=!1){return T?b(this,!0):(this._formatted||(this._formatted=b(this,!1)),this._formatted)}toJSON(){const T={$mid:1};return this._fsPath&&(T.fsPath=this._fsPath,T._sep=p),this._formatted&&(T.external=this._formatted),this.path&&(T.path=this.path),this.scheme&&(T.scheme=this.scheme),this.authority&&(T.authority=this.authority),this.query&&(T.query=this.query),this.fragment&&(T.fragment=this.fragment),T}}const N={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 I(_,T,m){let k,y=-1;for(let R=0;R<_.length;R++){const A=_.charCodeAt(R);if(A>=97&&A<=122||A>=65&&A<=90||A>=48&&A<=57||A===45||A===46||A===95||A===126||T&&A===47||m&&A===91||m&&A===93||m&&A===58)y!==-1&&(k+=encodeURIComponent(_.substring(y,R)),y=-1),k!==void 0&&(k+=_.charAt(R));else{k===void 0&&(k=_.substr(0,R));const L=N[A];L!==void 0?(y!==-1&&(k+=encodeURIComponent(_.substring(y,R)),y=-1),k+=L):y===-1&&(y=R)}}return y!==-1&&(k+=encodeURIComponent(_.substring(y))),k!==void 0?k:_}function C(_){let T;for(let m=0;m<_.length;m++){const k=_.charCodeAt(m);k===35||k===63?(T===void 0&&(T=_.substr(0,m)),T+=N[k]):T!==void 0&&(T+=_[m])}return T!==void 0?T:_}function S(_,T){let m;return m=_.authority&&_.path.length>1&&_.scheme==="file"?`//${_.authority}${_.path}`:_.path.charCodeAt(0)===47&&(_.path.charCodeAt(1)>=65&&_.path.charCodeAt(1)<=90||_.path.charCodeAt(1)>=97&&_.path.charCodeAt(1)<=122)&&_.path.charCodeAt(2)===58?_.path[1].toLowerCase()+_.path.substr(2):_.path,i&&(m=m.replace(/\//g,"\\")),m}function b(_,T){const m=T?C:I;let k="",{scheme:y,authority:R,path:A,query:L,fragment:D}=_;if(y&&(k+=y,k+=":"),(R||y==="file")&&(k+=u,k+=u),R){let x=R.indexOf("@");if(x!==-1){const j=R.substr(0,x);R=R.substr(x+1),x=j.lastIndexOf(":"),x===-1?k+=m(j,!1,!1):(k+=m(j.substr(0,x),!1,!1),k+=":",k+=m(j.substr(x+1),!1,!0)),k+="@"}R=R.toLowerCase(),x=R.lastIndexOf(":"),x===-1?k+=m(R,!1,!0):(k+=m(R.substr(0,x),!1,!0),k+=R.substr(x))}if(A){if(A.length>=3&&A.charCodeAt(0)===47&&A.charCodeAt(2)===58){const x=A.charCodeAt(1);x>=65&&x<=90&&(A=`/${String.fromCharCode(x+32)}:${A.substr(3)}`)}else if(A.length>=2&&A.charCodeAt(1)===58){const x=A.charCodeAt(0);x>=65&&x<=90&&(A=`${String.fromCharCode(x+32)}:${A.substr(2)}`)}k+=m(A,!0,!1)}return L&&(k+="?",k+=m(L,!1,!1)),D&&(k+="#",k+=T?D:I(D,!1,!1)),k}function P(_){try{return decodeURIComponent(_)}catch{return _.length>3?_.substr(0,3)+P(_.substr(3)):_}}const V=/(%[0-9A-Za-z][0-9A-Za-z])+/g;function B(_){return _.match(V)?_.replace(V,(T=>P(T))):_}var H=n(975);const re=H.posix||H,ae="/";var oe;(function(_){_.joinPath=function(T,...m){return T.with({path:re.join(T.path,...m)})},_.resolvePath=function(T,...m){let k=T.path,y=!1;k[0]!==ae&&(k=ae+k,y=!0);let R=re.resolve(k,...m);return y&&R[0]===ae&&!T.authority&&(R=R.substring(1)),T.with({path:R})},_.dirname=function(T){if(T.path.length===0||T.path===ae)return T;let m=re.dirname(T.path);return m.length===1&&m.charCodeAt(0)===46&&(m=""),T.with({path:m})},_.basename=function(T){return re.basename(T.path)},_.extname=function(T){return re.extname(T.path)}})(oe||(oe={})),gf=r})();const{URI:ct,Utils:Yr}=gf;var Qe;(function(t){t.basename=Yr.basename,t.dirname=Yr.dirname,t.extname=Yr.extname,t.joinPath=Yr.joinPath,t.resolvePath=Yr.resolvePath;const e=typeof process=="object"&&process?.platform==="win32";function n(a,o){return a?.toString()===o?.toString()}t.equals=n;function r(a,o){const c=typeof a=="string"?ct.parse(a).path:a.path,l=typeof o=="string"?ct.parse(o).path:o.path,u=c.split("/").filter(N=>N.length>0),f=l.split("/").filter(N=>N.length>0);if(e){const N=/^[A-Z]:$/;if(u[0]&&N.test(u[0])&&(u[0]=u[0].toLowerCase()),f[0]&&N.test(f[0])&&(f[0]=f[0].toLowerCase()),u[0]!==f[0])return l.substring(1)}let g=0;for(;g<u.length&&u[g]===f[g];g++);const p="../".repeat(u.length-g),E=f.slice(g).join("/");return p+E}t.relative=r;function i(a){return ct.parse(a.toString()).toString()}t.normalize=i;function s(a,o){let c=typeof a=="string"?a:a.path,l=typeof o=="string"?o:o.path;return l.charAt(l.length-1)==="/"&&(l=l.slice(0,-1)),c.charAt(c.length-1)==="/"&&(c=c.slice(0,-1)),l===c?!0:l.length<c.length||l.charAt(c.length)!=="/"?!1:l.startsWith(c)}t.contains=s})(Qe||(Qe={}));class Ry{constructor(){this.root={name:"",children:new Map}}normalizeUri(e){return Qe.normalize(e)}clear(){this.root.children.clear()}insert(e,n){const r=this.getNode(this.normalizeUri(e),!0);r.element=n}delete(e){const n=this.getNode(this.normalizeUri(e),!1);n?.parent&&n.parent.children.delete(n.name)}has(e){return this.getNode(this.normalizeUri(e),!1)?.element!==void 0}hasNode(e){return this.getNode(this.normalizeUri(e),!1)!==void 0}find(e){return this.getNode(this.normalizeUri(e),!1)?.element}findNode(e){const n=this.normalizeUri(e),r=this.getNode(n,!1);if(r)return{name:r.name,uri:Qe.joinPath(ct.parse(n),r.name).toString(),element:r.element}}findChildren(e){const n=this.normalizeUri(e),r=this.getNode(n,!1);return r?Array.from(r.children.values()).map(i=>({name:i.name,uri:Qe.joinPath(ct.parse(n),i.name).toString(),element:i.element})):[]}all(){return this.collectValues(this.root)}findAll(e){const n=this.getNode(Qe.normalize(e),!1);return n?this.collectValues(n):[]}getNode(e,n){const r=e.split("/");e.charAt(e.length-1)==="/"&&r.pop();let i=this.root;for(const s of r){let a=i.children.get(s);if(!a)if(n)a={name:s,children:new Map,parent:i},i.children.set(s,a);else return;i=a}return i}collectValues(e){const n=[];e.element&&n.push(e.element);for(const r of e.children.values())n.push(...this.collectValues(r));return n}}var W;(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"})(W||(W={}));class vy{constructor(e){this.serviceRegistry=e.ServiceRegistry,this.textDocuments=e.workspace.TextDocuments,this.fileSystemProvider=e.workspace.FileSystemProvider}async fromUri(e,n=he.CancellationToken.None){const r=await this.fileSystemProvider.readFile(e);return this.createAsync(e,r,n)}fromTextDocument(e,n,r){return n=n??ct.parse(e.uri),he.CancellationToken.is(r)?this.createAsync(n,e,r):this.create(n,e,r)}fromString(e,n,r){return he.CancellationToken.is(r)?this.createAsync(n,e,r):this.create(n,e,r)}fromModel(e,n){return this.create(n,{$model:e})}create(e,n,r){if(typeof n=="string"){const i=this.parse(e,n,r);return this.createLangiumDocument(i,e,void 0,n)}else if("$model"in n){const i={value:n.$model,parserErrors:[],lexerErrors:[]};return this.createLangiumDocument(i,e)}else{const i=this.parse(e,n.getText(),r);return this.createLangiumDocument(i,e,n)}}async createAsync(e,n,r){if(typeof n=="string"){const i=await this.parseAsync(e,n,r);return this.createLangiumDocument(i,e,void 0,n)}else{const i=await this.parseAsync(e,n.getText(),r);return this.createLangiumDocument(i,e,n)}}createLangiumDocument(e,n,r,i){let s;if(r)s={parseResult:e,uri:n,state:W.Parsed,references:[],textDocument:r};else{const a=this.createTextDocumentGetter(n,i);s={parseResult:e,uri:n,state:W.Parsed,references:[],get textDocument(){return a()}}}return e.value.$document=s,s}async update(e,n){const r=e.parseResult.value.$cstNode?.root.fullText,i=this.textDocuments?.get(e.uri.toString()),s=i?i.getText():await this.fileSystemProvider.readFile(e.uri);if(i)Object.defineProperty(e,"textDocument",{value:i});else{const a=this.createTextDocumentGetter(e.uri,s);Object.defineProperty(e,"textDocument",{get:a})}return r!==s&&(e.parseResult=await this.parseAsync(e.uri,s,n),e.parseResult.value.$document=e),e.state=W.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=mc.create(e.toString(),r.getServices(e).LanguageMetaData.languageId,0,n??""))}}class Ey{constructor(e){this.documentTrie=new Ry,this.services=e,this.langiumDocumentFactory=e.workspace.LangiumDocumentFactory,this.documentBuilder=()=>e.workspace.DocumentBuilder}get all(){return de(this.documentTrie.all())}addDocument(e){const n=e.uri.toString();if(this.documentTrie.has(n))throw new Error(`A document with the URI '${n}' is already present.`);this.documentTrie.insert(n,e)}getDocument(e){const n=e.toString();return this.documentTrie.find(n)}getDocuments(e){const n=e.toString();return this.documentTrie.findAll(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.documentTrie.has(e.toString())}invalidateDocument(e){const n=e.toString(),r=this.documentTrie.find(n);return r&&this.documentBuilder().resetToState(r,W.Changed),r}deleteDocument(e){const n=e.toString(),r=this.documentTrie.find(n);return r&&(r.state=W.Changed,this.documentTrie.delete(n)),r}deleteDocuments(e){const n=e.toString(),r=this.documentTrie.findAll(n);for(const i of r)i.state=W.Changed;return this.documentTrie.delete(n),r}}const Mn=Symbol("RefResolving");class Ay{constructor(e){this.reflection=e.shared.AstReflection,this.langiumDocuments=()=>e.shared.workspace.LangiumDocuments,this.scopeProvider=e.references.ScopeProvider,this.astNodeLocator=e.workspace.AstNodeLocator,this.profiler=e.shared.profilers.LangiumProfiler,this.languageId=e.LanguageMetaData.languageId}async link(e,n=he.CancellationToken.None){if(this.profiler?.isActive("linking")){const r=this.profiler.createTask("linking",this.languageId);r.start();try{for(const i of Dt(e.parseResult.value))await Ue(n),Ds(i).forEach(s=>{const a=`${i.$type}:${s.property}`;r.startSubTask(a);try{this.doLink(s,e)}finally{r.stopSubTask(a)}})}finally{r.stop()}}else for(const r of Dt(e.parseResult.value))await Ue(n),Ds(r).forEach(i=>this.doLink(i,e))}doLink(e,n){const r=e.reference;if("_ref"in r&&r._ref===void 0){r._ref=Mn;try{const i=this.getCandidate(e);if(Br(i))r._ref=i;else{r._nodeDescription=i;const s=this.loadAstNode(i);r._ref=s??this.createLinkingError(e,i)}}catch(i){console.error(`An error occurred while resolving reference to '${r.$refText}':`,i);const s=i.message??String(i);r._ref={info:e,message:`An error occurred while resolving reference to '${r.$refText}': ${s}`}}n.references.push(r)}else if("_items"in r&&r._items===void 0){r._items=Mn;try{const i=this.getCandidates(e),s=[];if(Br(i))r._linkingError=i;else for(const a of i){const o=this.loadAstNode(a);o&&s.push({ref:o,$nodeDescription:a})}r._items=s}catch(i){r._linkingError={info:e,message:`An error occurred while resolving reference to '${r.$refText}': ${i}`},r._items=[]}n.references.push(r)}}unlink(e){for(const n of e.references)"_ref"in n?(n._ref=void 0,delete n._nodeDescription):"_items"in n&&(n._items=void 0,delete n._linkingError);e.references=[]}getCandidate(e){return this.scopeProvider.getScope(e).getElement(e.reference.$refText)??this.createLinkingError(e)}getCandidates(e){const r=this.scopeProvider.getScope(e).getElements(e.reference.$refText).distinct(i=>`${i.documentUri}#${i.path}`).toArray();return r.length>0?r:this.createLinkingError(e)}buildReference(e,n,r,i){const s=this,a={$refNode:r,$refText:i,_ref:void 0,get ref(){if(De(this._ref))return this._ref;if(th(this._nodeDescription)){const o=s.loadAstNode(this._nodeDescription);this._ref=o??s.createLinkingError({reference:a,container:e,property:n},this._nodeDescription)}else if(this._ref===void 0){this._ref=Mn;const o=vs(e).$document,c=s.getLinkedNode({reference:a,container:e,property:n});if(c.error&&o&&o.state<W.ComputedScopes)return this._ref=void 0;this._ref=c.node??c.error,this._nodeDescription=c.descr,o?.references.push(this)}else this._ref===Mn&&s.throwCyclicReferenceError(e,n,i);return De(this._ref)?this._ref:void 0},get $nodeDescription(){return this._nodeDescription},get error(){return Br(this._ref)?this._ref:void 0}};return a}buildMultiReference(e,n,r,i){const s=this,a={$refNode:r,$refText:i,_items:void 0,get items(){if(Array.isArray(this._items))return this._items;if(this._items===void 0){this._items=Mn;const o=vs(e).$document,c=s.getCandidates({reference:a,container:e,property:n}),l=[];if(Br(c))this._linkingError=c;else for(const u of c){const f=s.loadAstNode(u);f&&l.push({ref:f,$nodeDescription:u})}this._items=l,o?.references.push(this)}else this._items===Mn&&s.throwCyclicReferenceError(e,n,i);return Array.isArray(this._items)?this._items:[]},get error(){if(this._linkingError)return this._linkingError;if(!(this.items.length>0))return this._linkingError=s.createLinkingError({reference:a,container:e,property:n})}};return a}throwCyclicReferenceError(e,n,r){throw new Error(`Cyclic reference resolution detected: ${this.astNodeLocator.getAstNodePath(e)}/${n} (symbol '${r}')`)}getLinkedNode(e){try{const n=this.getCandidate(e);if(Br(n))return{error:n};const r=this.loadAstNode(n);return r?{node:r,descr:n}:{descr:n,error:this.createLinkingError(e,n)}}catch(n){console.error(`An error occurred while resolving reference to '${e.reference.$refText}':`,n);const r=n.message??String(n);return{error:{info:e,message:`An error occurred while resolving reference to '${e.reference.$refText}': ${r}`}}}}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=vs(e.container).$document;r&&r.state<W.ComputedScopes&&console.warn(`Attempted reference resolution before document reached ComputedScopes state (${r.uri}).`);const i=this.reflection.getReferenceType(e);return{info:e,message:`Could not resolve reference to ${i} named '${e.reference.$refText}'.`,targetDescription:n}}}function Sy(t){return typeof t.name=="string"}class Cy{getName(e){if(Sy(e))return e.name}getNameNode(e){return ld(e.$cstNode,"name")}}class ky{constructor(e){this.nameProvider=e.references.NameProvider,this.index=e.shared.workspace.IndexManager,this.nodeLocator=e.workspace.AstNodeLocator,this.documents=e.shared.workspace.LangiumDocuments,this.hasMultiReference=Dt(e.Grammar).some(n=>sa(n)&&n.isMulti)}findDeclarations(e){if(e){const n=Wh(e),r=e.astNode;if(n&&r){const i=r[n.feature];if(ot(i)||Vt(i))return Zc(i);if(Array.isArray(i)){for(const s of i)if((ot(s)||Vt(s))&&s.$refNode&&s.$refNode.offset<=e.offset&&s.$refNode.end>=e.end)return Zc(s)}}if(r){const i=this.nameProvider.getNameNode(r);if(i&&(i===e||Sh(e,i)))return this.getSelfNodes(r)}}return[]}getSelfNodes(e){if(this.hasMultiReference){const n=this.index.findAllReferences(e,this.nodeLocator.getAstNodePath(e)),r=this.getNodeFromReferenceDescription(n.head());if(r){for(const i of Ds(r))if(Vt(i.reference)&&i.reference.items.some(s=>s.ref===e))return i.reference.items.map(s=>s.ref)}return[e]}else return[e]}getNodeFromReferenceDescription(e){if(!e)return;const n=this.documents.getDocument(e.sourceUri);if(n)return this.nodeLocator.getAstNode(n.parseResult.value,e.sourcePath)}findDeclarationNodes(e){const n=this.findDeclarations(e),r=[];for(const i of n){const s=this.nameProvider.getNameNode(i)??i.$cstNode;s&&r.push(s)}return r}findReferences(e,n){const r=[];n.includeDeclaration&&r.push(...this.getSelfReferences(e));let i=this.index.findAllReferences(e,this.nodeLocator.getAstNodePath(e));return n.documentUri&&(i=i.filter(s=>Qe.equals(s.sourceUri,n.documentUri))),r.push(...i),de(r)}getSelfReferences(e){const n=this.getSelfNodes(e),r=[];for(const i of n){const s=this.nameProvider.getNameNode(i);if(s){const a=xt(i),o=this.nodeLocator.getAstNodePath(i);r.push({sourceUri:a.uri,sourcePath:o,targetUri:a.uri,targetPath:o,segment:Fs(s),local:!0})}}return r}}class Pi{constructor(e){if(this.map=new Map,e)for(const[n,r]of e)this.add(n,r)}get size(){return Ba.sum(de(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){return this.map.get(e)??[]}getStream(e){const n=this.map.get(e);return n?de(n):Qu}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 de(this.map.entries()).flatMap(([e,n])=>n.map(r=>[e,r]))}keys(){return de(this.map.keys())}values(){return de(this.map.values()).flat()}entriesGroupedByKey(){return de(this.map.entries())}}class Bl{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 by{constructor(e){this.nameProvider=e.references.NameProvider,this.descriptions=e.workspace.AstNodeDescriptionProvider}async collectExportedSymbols(e,n=he.CancellationToken.None){return this.collectExportedSymbolsForNode(e.parseResult.value,e,void 0,n)}async collectExportedSymbolsForNode(e,n,r=Nc,i=he.CancellationToken.None){const s=[];this.addExportedSymbol(e,s,n);for(const a of r(e))await Ue(i),this.addExportedSymbol(a,s,n);return s}addExportedSymbol(e,n,r){const i=this.nameProvider.getName(e);i&&n.push(this.descriptions.createDescription(e,i,r))}async collectLocalSymbols(e,n=he.CancellationToken.None){const r=e.parseResult.value,i=new Pi;for(const s of Oi(r))await Ue(n),this.addLocalSymbol(s,e,i);return i}addLocalSymbol(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 Vl{constructor(e,n,r){this.elements=e,this.outerScope=n,this.caseInsensitive=r?.caseInsensitive??!1,this.concatOuterScope=r?.concatOuterScope??!0}getAllElements(){return this.outerScope?this.elements.concat(this.outerScope.getAllElements()):this.elements}getElement(e){const n=this.caseInsensitive?e.toLowerCase():e,r=this.caseInsensitive?this.elements.find(i=>i.name.toLowerCase()===n):this.elements.find(i=>i.name===e);if(r)return r;if(this.outerScope)return this.outerScope.getElement(e)}getElements(e){const n=this.caseInsensitive?e.toLowerCase():e,r=this.caseInsensitive?this.elements.filter(i=>i.name.toLowerCase()===n):this.elements.filter(i=>i.name===e);return(this.concatOuterScope||r.isEmpty())&&this.outerScope?r.concat(this.outerScope.getElements(e)):r}}class wy{constructor(e,n,r){this.elements=new Pi,this.caseInsensitive=r?.caseInsensitive??!1,this.concatOuterScope=r?.concatOuterScope??!0;for(const i of e){const s=this.caseInsensitive?i.name.toLowerCase():i.name;this.elements.add(s,i)}this.outerScope=n}getElement(e){const n=this.caseInsensitive?e.toLowerCase():e,r=this.elements.get(n)[0];if(r)return r;if(this.outerScope)return this.outerScope.getElement(e)}getElements(e){const n=this.caseInsensitive?e.toLowerCase():e,r=this.elements.get(n);return(this.concatOuterScope||r.length===0)&&this.outerScope?de(r).concat(this.outerScope.getElements(e)):de(r)}getAllElements(){let e=de(this.elements.values());return this.outerScope&&(e=e.concat(this.outerScope.getAllElements())),e}}class yf{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 _y extends yf{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 Ny extends yf{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 Iy extends _y{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 Py{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 Iy(e.shared)}getScope(e){const n=[],r=this.reflection.getReferenceType(e),i=xt(e.container).localSymbols;if(i){let a=e.container;do i.has(a)&&n.push(i.getStream(a).filter(o=>this.reflection.isSubtype(o.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 Vl(de(e),n,r)}createScopeForNodes(e,n,r){const i=de(e).map(s=>{const a=this.nameProvider.getName(s);if(a)return this.descriptions.createDescription(s,a)}).nonNullable();return new Vl(i,n,r)}getGlobalScope(e,n){return this.globalScopeCache.get(e,()=>new wy(this.indexManager.allElements(e)))}}function $y(t){return typeof t.$comment=="string"}function Wl(t){return typeof t=="object"&&!!t&&("$ref"in t||"$error"in t)}class Oy{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?.replacer,s=(o,c)=>this.replacer(o,c,r),a=i?(o,c)=>i(o,c,s):s;try{return this.currentDocument=xt(e),JSON.stringify(e,a,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}){if(!this.ignoreProperties.has(e))if(ot(n)){const c=n.ref,l=r?n.$refText:void 0;if(c){const u=xt(c);let f="";this.currentDocument&&this.currentDocument!==u&&(o?f=o(u.uri,c):f=u.uri.toString());const g=this.astNodeLocator.getAstNodePath(c);return{$ref:`${f}#${g}`,$refText:l}}else return{$error:n.error?.message??"Could not resolve reference",$refText:l}}else if(Vt(n)){const c=r?n.$refText:void 0,l=[];for(const u of n.items){const f=u.ref,g=xt(u.ref);let p="";this.currentDocument&&this.currentDocument!==g&&(o?p=o(g.uri,f):p=g.uri.toString());const E=this.astNodeLocator.getAstNodePath(f);l.push(`${p}#${E}`)}return{$refs:l,$refText:c}}else if(De(n)){let c;if(s&&(c=this.addAstNodeRegionWithAssignmentsTo({...n}),(!e||n.$document)&&c?.$textRegion&&(c.$textRegion.documentURI=this.currentDocument?.uri.toString())),i&&!e&&(c??(c={...n}),c.$sourceText=n.$cstNode?.text),a){c??(c={...n});const l=this.commentProvider.getComment(n);l&&(c.$comment=l.replace(/\r/g,""))}return c??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=zh(e.$cstNode,s).map(n);a.length!==0&&(i[s]=a)}),e}}linkNode(e,n,r,i,s,a){for(const[c,l]of Object.entries(e))if(Array.isArray(l))for(let u=0;u<l.length;u++){const f=l[u];Wl(f)?l[u]=this.reviveReference(e,c,n,f,r):De(f)&&this.linkNode(f,n,r,e,c,u)}else Wl(l)?e[c]=this.reviveReference(e,c,n,l,r):De(l)&&this.linkNode(l,n,r,e,c);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,c;if(i.$ref){const l=this.getRefNode(r,i.$ref,s.uriConverter);if(De(l))return a||(a=this.nameProvider.getName(l)),{$refText:a??"",ref:l};o=l}else if(i.$refs){const l=[];for(const u of i.$refs){const f=this.getRefNode(r,u,s.uriConverter);De(f)&&l.push({ref:f})}if(l.length===0)c={$refText:a??"",items:l},o??(o="Could not resolve multi-reference");else return{$refText:a??"",items:l}}if(o)return c??(c={$refText:a??"",ref:void 0}),c.error={info:{container:e,property:n,reference:c},message:o},c}getRefNode(e,n,r){try{const i=n.indexOf("#");if(i===0){const c=this.astNodeLocator.getAstNode(e,n.substring(1));return c||"Could not resolve path: "+n}if(i<0){const c=r?r(n):ct.parse(n),l=this.langiumDocuments.getDocument(c);return l?l.parseResult.value:"Could not find document for URI: "+n}const s=r?r(n.substring(0,i)):ct.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 Ly{get map(){return this.fileExtensionMap}constructor(e){this.languageIdMap=new Map,this.fileExtensionMap=new Map,this.fileNameMap=new Map,this.textDocuments=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);if(n.fileNames)for(const r of n.fileNames)this.fileNameMap.has(r)&&console.warn(`The file name ${r} is used by multiple languages. It is now assigned to '${n.languageId}'.`),this.fileNameMap.set(r,e);this.languageIdMap.set(n.languageId,e)}getServices(e){if(this.languageIdMap.size===0)throw new Error("The service registry is empty. Use `register` to register the services of a language.");const n=this.textDocuments?.get(e)?.languageId;if(n!==void 0){const a=this.languageIdMap.get(n);if(a)return a}const r=Qe.extname(e),i=Qe.basename(e),s=this.fileNameMap.get(i)??this.fileExtensionMap.get(r);if(!s)throw n?new Error(`The service registry contains no services for the extension '${r}' for language '${n}'.`):new Error(`The service registry contains no services for the extension '${r}'.`);return s}hasServices(e){try{return this.getServices(e),!0}catch{return!1}}get all(){return Array.from(this.languageIdMap.values())}}function Ti(t){return{code:t}}var yc;(function(t){t.defaults=["fast","slow","built-in"],t.all=t.defaults})(yc||(yc={}));class xy{constructor(e){this.entries=new Pi,this.knownCategories=new Set(yc.defaults),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.");this.knownCategories.add(r);for(const[i,s]of Object.entries(e)){const a=s;if(Array.isArray(a))for(const o of a){const c={check:this.wrapValidationException(o,n),category:r};this.addEntry(i,c)}else if(typeof a=="function"){const o={check:this.wrapValidationException(a,n),category:r};this.addEntry(i,o)}else xi()}}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(ga(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=de(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}getAllValidationCategories(e){return this.knownCategories}}const Dy=Object.freeze({validateNode:!0,validateChildren:!0});class My{constructor(e){this.validationRegistry=e.validation.ValidationRegistry,this.metadata=e.LanguageMetaData,this.profiler=e.shared.profilers.LangiumProfiler,this.languageId=e.LanguageMetaData.languageId}async validateDocument(e,n={},r=he.CancellationToken.None){const i=e.parseResult,s=[];if(await Ue(r),(!n.categories||n.categories.includes("built-in"))&&(this.processLexingErrors(i,s,n),n.stopAfterLexingErrors&&s.some(a=>a.data?.code===at.LexingError)||(this.processParsingErrors(i,s,n),n.stopAfterParsingErrors&&s.some(a=>a.data?.code===at.ParsingError))||(this.processLinkingErrors(e,s,n),n.stopAfterLinkingErrors&&s.some(a=>a.data?.code===at.LinkingError))))return s;try{s.push(...await this.validateAst(i.value,n,r))}catch(a){if(ga(a))throw a;console.error("An error occurred during validation:",a)}return await Ue(r),s}processLexingErrors(e,n,r){const i=[...e.lexerErrors,...e.lexerReport?.diagnostics??[]];for(const s of i){const a=s.severity??"error",o={severity:Pa(a),range:{start:{line:s.line-1,character:s.column-1},end:{line:s.line-1,character:s.column+s.length-1}},message:s.message,data:Gy(a),source:this.getSource()};n.push(o)}}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=Za(i.token);if(s){const a={severity:Pa("error"),range:s,message:i.message,data:Ti(at.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.info.container,range:i.$refNode?.range,property:s.info.property,index:s.info.index,data:{code:at.LinkingError,containerType:s.info.container.$type,property:s.info.property,refText:s.info.reference.$refText}};n.push(this.toDiagnostic("error",s.message,a))}}}async validateAst(e,n,r=he.CancellationToken.None){const i=[],s=(a,o,c)=>{i.push(this.toDiagnostic(a,o,c))};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=he.CancellationToken.None){const s=this.validationRegistry.checksBefore;for(const a of s)await Ue(i),await a(e,r,n.categories??[],i)}async validateAstNodes(e,n,r,i=he.CancellationToken.None){if(this.profiler?.isActive("validating")){const s=this.profiler.createTask("validating",this.languageId);s.start();try{const a=Dt(e).iterator();for(const o of a){s.startSubTask(o.$type);const c=this.validateSingleNodeOptions(o,n);if(c.validateNode)try{const l=this.validationRegistry.getChecks(o.$type,n.categories);for(const u of l)await u(o,r,i)}finally{s.stopSubTask(o.$type)}c.validateChildren||a.prune()}}finally{s.stop()}}else{const s=Dt(e).iterator();for(const a of s){await Ue(i);const o=this.validateSingleNodeOptions(a,n);if(o.validateNode){const c=this.validationRegistry.getChecks(a.$type,n.categories);for(const l of c)await l(a,r,i)}o.validateChildren||s.prune()}}}validateSingleNodeOptions(e,n){return Dy}async validateAstAfter(e,n,r,i=he.CancellationToken.None){const s=this.validationRegistry.checksAfter;for(const a of s)await Ue(i),await a(e,r,n.categories??[],i)}toDiagnostic(e,n,r){return{message:n,range:Fy(r),severity:Pa(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 Fy(t){if(t.range)return t.range;let e;return typeof t.property=="string"?e=ld(t.node.$cstNode,t.property,t.index):typeof t.keyword=="string"&&(e=Bh(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 Pa(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 Gy(t){switch(t){case"error":return Ti(at.LexingError);case"warning":return Ti(at.LexingWarning);case"info":return Ti(at.LexingInfo);case"hint":return Ti(at.LexingHint);default:throw new Error("Invalid diagnostic severity: "+t)}}var at;(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"})(at||(at={}));class jy{constructor(e){this.astNodeLocator=e.workspace.AstNodeLocator,this.nameProvider=e.references.NameProvider}createDescription(e,n,r){const i=r??xt(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=()=>a??(a=Fs(this.nameProvider.getNameNode(e)??e.$cstNode));return{node:e,name:n,get nameSegment(){return o()},selectionSegment:Fs(e.$cstNode),type:e.$type,documentUri:i.uri,path:s}}}class Uy{constructor(e){this.nodeLocator=e.workspace.AstNodeLocator}async createDescriptions(e,n=he.CancellationToken.None){const r=[],i=e.parseResult.value;for(const s of Dt(i))await Ue(n),Ds(s).forEach(a=>{a.reference.error||r.push(...this.createInfoDescriptions(a))});return r}createInfoDescriptions(e){const n=e.reference;if(n.error||!n.$refNode)return[];let r=[];ot(n)&&n.$nodeDescription?r=[n.$nodeDescription]:Vt(n)&&(r=n.items.map(c=>c.$nodeDescription).filter(c=>c!==void 0));const i=xt(e.container).uri,s=this.nodeLocator.getAstNodePath(e.container),a=[],o=Fs(n.$refNode);for(const c of r)a.push({sourceUri:i,sourcePath:s,targetUri:c.documentUri,targetPath:c.path,segment:o,local:Qe.equals(c.documentUri,i)});return a}}class qy{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),c=parseInt(s.substring(a+1));return i[o]?.[c]}return i[s]},e)}}var zy=Pr();class By{constructor(e){this._ready=new Hc,this.onConfigurationSectionUpdateEmitter=new zy.Emitter,this.settings={},this.workspaceConfig=!1,this.serviceRegistry=e.ServiceRegistry}get ready(){return this._ready.promise}initialize(e){this.workspaceConfig=e.capabilities.workspace?.configuration??!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){typeof e.settings!="object"||e.settings===null||Object.entries(e.settings).forEach(([n,r])=>{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 an={},on={},ps={},$a={},G={},Kl;function Tf(){if(Kl)return G;Kl=1,Object.defineProperty(G,"__esModule",{value:!0}),G.Message=G.NotificationType9=G.NotificationType8=G.NotificationType7=G.NotificationType6=G.NotificationType5=G.NotificationType4=G.NotificationType3=G.NotificationType2=G.NotificationType1=G.NotificationType0=G.NotificationType=G.RequestType9=G.RequestType8=G.RequestType7=G.RequestType6=G.RequestType5=G.RequestType4=G.RequestType3=G.RequestType2=G.RequestType1=G.RequestType=G.RequestType0=G.AbstractMessageSignature=G.ParameterStructures=G.ResponseError=G.ErrorCodes=void 0;const t=ji();var e;(function(T){T.ParseError=-32700,T.InvalidRequest=-32600,T.MethodNotFound=-32601,T.InvalidParams=-32602,T.InternalError=-32603,T.jsonrpcReservedErrorRangeStart=-32099,T.serverErrorStart=-32099,T.MessageWriteError=-32099,T.MessageReadError=-32098,T.PendingResponseRejected=-32097,T.ConnectionInactive=-32096,T.ServerNotInitialized=-32002,T.UnknownErrorCode=-32001,T.jsonrpcReservedErrorRangeEnd=-32e3,T.serverErrorEnd=-32e3})(e||(G.ErrorCodes=e={}));class n extends Error{constructor(m,k,y){super(k),this.code=t.number(m)?m:e.UnknownErrorCode,this.data=y,Object.setPrototypeOf(this,n.prototype)}toJson(){const m={code:this.code,message:this.message};return this.data!==void 0&&(m.data=this.data),m}}G.ResponseError=n;class r{constructor(m){this.kind=m}static is(m){return m===r.auto||m===r.byName||m===r.byPosition}toString(){return this.kind}}G.ParameterStructures=r,r.auto=new r("auto"),r.byPosition=new r("byPosition"),r.byName=new r("byName");class i{constructor(m,k){this.method=m,this.numberOfParams=k}get parameterStructures(){return r.auto}}G.AbstractMessageSignature=i;class s extends i{constructor(m){super(m,0)}}G.RequestType0=s;class a extends i{constructor(m,k=r.auto){super(m,1),this._parameterStructures=k}get parameterStructures(){return this._parameterStructures}}G.RequestType=a;class o extends i{constructor(m,k=r.auto){super(m,1),this._parameterStructures=k}get parameterStructures(){return this._parameterStructures}}G.RequestType1=o;class c extends i{constructor(m){super(m,2)}}G.RequestType2=c;class l extends i{constructor(m){super(m,3)}}G.RequestType3=l;class u extends i{constructor(m){super(m,4)}}G.RequestType4=u;class f extends i{constructor(m){super(m,5)}}G.RequestType5=f;class g extends i{constructor(m){super(m,6)}}G.RequestType6=g;class p extends i{constructor(m){super(m,7)}}G.RequestType7=p;class E extends i{constructor(m){super(m,8)}}G.RequestType8=E;class N extends i{constructor(m){super(m,9)}}G.RequestType9=N;class I extends i{constructor(m,k=r.auto){super(m,1),this._parameterStructures=k}get parameterStructures(){return this._parameterStructures}}G.NotificationType=I;class C extends i{constructor(m){super(m,0)}}G.NotificationType0=C;class S extends i{constructor(m,k=r.auto){super(m,1),this._parameterStructures=k}get parameterStructures(){return this._parameterStructures}}G.NotificationType1=S;class b extends i{constructor(m){super(m,2)}}G.NotificationType2=b;class P extends i{constructor(m){super(m,3)}}G.NotificationType3=P;class V extends i{constructor(m){super(m,4)}}G.NotificationType4=V;class B extends i{constructor(m){super(m,5)}}G.NotificationType5=B;class H extends i{constructor(m){super(m,6)}}G.NotificationType6=H;class re extends i{constructor(m){super(m,7)}}G.NotificationType7=re;class ae extends i{constructor(m){super(m,8)}}G.NotificationType8=ae;class oe extends i{constructor(m){super(m,9)}}G.NotificationType9=oe;var _;return(function(T){function m(R){const A=R;return A&&t.string(A.method)&&(t.string(A.id)||t.number(A.id))}T.isRequest=m;function k(R){const A=R;return A&&t.string(A.method)&&R.id===void 0}T.isNotification=k;function y(R){const A=R;return A&&(A.result!==void 0||!!A.error)&&(t.string(A.id)||t.number(A.id)||A.id===null)}T.isResponse=y})(_||(G.Message=_={})),G}var vt={},Hl;function Rf(){if(Hl)return vt;Hl=1;var t;Object.defineProperty(vt,"__esModule",{value:!0}),vt.LRUCache=vt.LinkedMap=vt.Touch=void 0;var e;(function(i){i.None=0,i.First=1,i.AsOld=i.First,i.Last=2,i.AsNew=i.Last})(e||(vt.Touch=e={}));class n{constructor(){this[t]="LinkedMap",this._map=new Map,this._head=void 0,this._tail=void 0,this._size=0,this._state=0}clear(){this._map.clear(),this._head=void 0,this._tail=void 0,this._size=0,this._state++}isEmpty(){return!this._head&&!this._tail}get size(){return this._size}get first(){return this._head?.value}get last(){return this._tail?.value}has(s){return this._map.has(s)}get(s,a=e.None){const o=this._map.get(s);if(o)return a!==e.None&&this.touch(o,a),o.value}set(s,a,o=e.None){let c=this._map.get(s);if(c)c.value=a,o!==e.None&&this.touch(c,o);else{switch(c={key:s,value:a,next:void 0,previous:void 0},o){case e.None:this.addItemLast(c);break;case e.First:this.addItemFirst(c);break;case e.Last:this.addItemLast(c);break;default:this.addItemLast(c);break}this._map.set(s,c),this._size++}return this}delete(s){return!!this.remove(s)}remove(s){const a=this._map.get(s);if(a)return this._map.delete(s),this.removeItem(a),this._size--,a.value}shift(){if(!this._head&&!this._tail)return;if(!this._head||!this._tail)throw new Error("Invalid list");const s=this._head;return this._map.delete(s.key),this.removeItem(s),this._size--,s.value}forEach(s,a){const o=this._state;let c=this._head;for(;c;){if(a?s.bind(a)(c.value,c.key,this):s(c.value,c.key,this),this._state!==o)throw new Error("LinkedMap got modified during iteration.");c=c.next}}keys(){const s=this._state;let a=this._head;const o={[Symbol.iterator]:()=>o,next:()=>{if(this._state!==s)throw new Error("LinkedMap got modified during iteration.");if(a){const c={value:a.key,done:!1};return a=a.next,c}else return{value:void 0,done:!0}}};return o}values(){const s=this._state;let a=this._head;const o={[Symbol.iterator]:()=>o,next:()=>{if(this._state!==s)throw new Error("LinkedMap got modified during iteration.");if(a){const c={value:a.value,done:!1};return a=a.next,c}else return{value:void 0,done:!0}}};return o}entries(){const s=this._state;let a=this._head;const o={[Symbol.iterator]:()=>o,next:()=>{if(this._state!==s)throw new Error("LinkedMap got modified during iteration.");if(a){const c={value:[a.key,a.value],done:!1};return a=a.next,c}else return{value:void 0,done:!0}}};return o}[(t=Symbol.toStringTag,Symbol.iterator)](){return this.entries()}trimOld(s){if(s>=this.size)return;if(s===0){this.clear();return}let a=this._head,o=this.size;for(;a&&o>s;)this._map.delete(a.key),a=a.next,o--;this._head=a,this._size=o,a&&(a.previous=void 0),this._state++}addItemFirst(s){if(!this._head&&!this._tail)this._tail=s;else if(this._head)s.next=this._head,this._head.previous=s;else throw new Error("Invalid list");this._head=s,this._state++}addItemLast(s){if(!this._head&&!this._tail)this._head=s;else if(this._tail)s.previous=this._tail,this._tail.next=s;else throw new Error("Invalid list");this._tail=s,this._state++}removeItem(s){if(s===this._head&&s===this._tail)this._head=void 0,this._tail=void 0;else if(s===this._head){if(!s.next)throw new Error("Invalid list");s.next.previous=void 0,this._head=s.next}else if(s===this._tail){if(!s.previous)throw new Error("Invalid list");s.previous.next=void 0,this._tail=s.previous}else{const a=s.next,o=s.previous;if(!a||!o)throw new Error("Invalid list");a.previous=o,o.next=a}s.next=void 0,s.previous=void 0,this._state++}touch(s,a){if(!this._head||!this._tail)throw new Error("Invalid list");if(!(a!==e.First&&a!==e.Last)){if(a===e.First){if(s===this._head)return;const o=s.next,c=s.previous;s===this._tail?(c.next=void 0,this._tail=c):(o.previous=c,c.next=o),s.previous=void 0,s.next=this._head,this._head.previous=s,this._head=s,this._state++}else if(a===e.Last){if(s===this._tail)return;const o=s.next,c=s.previous;s===this._head?(o.previous=void 0,this._head=o):(o.previous=c,c.next=o),s.next=void 0,s.previous=this._tail,this._tail.next=s,this._tail=s,this._state++}}}toJSON(){const s=[];return this.forEach((a,o)=>{s.push([o,a])}),s}fromJSON(s){this.clear();for(const[a,o]of s)this.set(a,o)}}vt.LinkedMap=n;class r extends n{constructor(s,a=1){super(),this._limit=s,this._ratio=Math.min(Math.max(0,a),1)}get limit(){return this._limit}set limit(s){this._limit=s,this.checkTrim()}get ratio(){return this._ratio}set ratio(s){this._ratio=Math.min(Math.max(0,s),1),this.checkTrim()}get(s,a=e.AsNew){return super.get(s,a)}peek(s){return super.get(s,e.None)}set(s,a){return super.set(s,a,e.Last),this.checkTrim(),this}checkTrim(){this.size>this._limit&&this.trimOld(Math.round(this._limit*this._ratio))}}return vt.LRUCache=r,vt}var Jr={},Xl;function Vy(){if(Xl)return Jr;Xl=1,Object.defineProperty(Jr,"__esModule",{value:!0}),Jr.Disposable=void 0;var t;return(function(e){function n(r){return{dispose:r}}e.create=n})(t||(Jr.Disposable=t={})),Jr}var cn={},Yl;function Wy(){if(Yl)return cn;Yl=1,Object.defineProperty(cn,"__esModule",{value:!0}),cn.SharedArrayReceiverStrategy=cn.SharedArraySenderStrategy=void 0;const t=ma();var e;(function(a){a.Continue=0,a.Cancelled=1})(e||(e={}));class n{constructor(){this.buffers=new Map}enableCancellation(o){if(o.id===null)return;const c=new SharedArrayBuffer(4),l=new Int32Array(c,0,1);l[0]=e.Continue,this.buffers.set(o.id,c),o.$cancellationData=c}async sendCancellation(o,c){const l=this.buffers.get(c);if(l===void 0)return;const u=new Int32Array(l,0,1);Atomics.store(u,0,e.Cancelled)}cleanup(o){this.buffers.delete(o)}dispose(){this.buffers.clear()}}cn.SharedArraySenderStrategy=n;class r{constructor(o){this.data=new Int32Array(o,0,1)}get isCancellationRequested(){return Atomics.load(this.data,0)===e.Cancelled}get onCancellationRequested(){throw new Error("Cancellation over SharedArrayBuffer doesn't support cancellation events")}}class i{constructor(o){this.token=new r(o)}cancel(){}dispose(){}}class s{constructor(){this.kind="request"}createCancellationTokenSource(o){const c=o.$cancellationData;return c===void 0?new t.CancellationTokenSource:new i(c)}}return cn.SharedArrayReceiverStrategy=s,cn}var Et={},Qr={},Jl;function vf(){if(Jl)return Qr;Jl=1,Object.defineProperty(Qr,"__esModule",{value:!0}),Qr.Semaphore=void 0;const t=In();class e{constructor(r=1){if(r<=0)throw new Error("Capacity must be greater than 0");this._capacity=r,this._active=0,this._waiting=[]}lock(r){return new Promise((i,s)=>{this._waiting.push({thunk:r,resolve:i,reject:s}),this.runNext()})}get active(){return this._active}runNext(){this._waiting.length===0||this._active===this._capacity||(0,t.default)().timer.setImmediate(()=>this.doRunNext())}doRunNext(){if(this._waiting.length===0||this._active===this._capacity)return;const r=this._waiting.shift();if(this._active++,this._active>this._capacity)throw new Error("To many thunks active");try{const i=r.thunk();i instanceof Promise?i.then(s=>{this._active--,r.resolve(s),this.runNext()},s=>{this._active--,r.reject(s),this.runNext()}):(this._active--,r.resolve(i),this.runNext())}catch(i){this._active--,r.reject(i),this.runNext()}}}return Qr.Semaphore=e,Qr}var Ql;function Ky(){if(Ql)return Et;Ql=1,Object.defineProperty(Et,"__esModule",{value:!0}),Et.ReadableStreamMessageReader=Et.AbstractMessageReader=Et.MessageReader=void 0;const t=In(),e=ji(),n=Pr(),r=vf();var i;(function(c){function l(u){let f=u;return f&&e.func(f.listen)&&e.func(f.dispose)&&e.func(f.onError)&&e.func(f.onClose)&&e.func(f.onPartialMessage)}c.is=l})(i||(Et.MessageReader=i={}));class s{constructor(){this.errorEmitter=new n.Emitter,this.closeEmitter=new n.Emitter,this.partialMessageEmitter=new n.Emitter}dispose(){this.errorEmitter.dispose(),this.closeEmitter.dispose()}get onError(){return this.errorEmitter.event}fireError(l){this.errorEmitter.fire(this.asError(l))}get onClose(){return this.closeEmitter.event}fireClose(){this.closeEmitter.fire(void 0)}get onPartialMessage(){return this.partialMessageEmitter.event}firePartialMessage(l){this.partialMessageEmitter.fire(l)}asError(l){return l instanceof Error?l:new Error(`Reader received error. Reason: ${e.string(l.message)?l.message:"unknown"}`)}}Et.AbstractMessageReader=s;var a;(function(c){function l(u){let f,g;const p=new Map;let E;const N=new Map;if(u===void 0||typeof u=="string")f=u??"utf-8";else{if(f=u.charset??"utf-8",u.contentDecoder!==void 0&&(g=u.contentDecoder,p.set(g.name,g)),u.contentDecoders!==void 0)for(const I of u.contentDecoders)p.set(I.name,I);if(u.contentTypeDecoder!==void 0&&(E=u.contentTypeDecoder,N.set(E.name,E)),u.contentTypeDecoders!==void 0)for(const I of u.contentTypeDecoders)N.set(I.name,I)}return E===void 0&&(E=(0,t.default)().applicationJson.decoder,N.set(E.name,E)),{charset:f,contentDecoder:g,contentDecoders:p,contentTypeDecoder:E,contentTypeDecoders:N}}c.fromOptions=l})(a||(a={}));class o extends s{constructor(l,u){super(),this.readable=l,this.options=a.fromOptions(u),this.buffer=(0,t.default)().messageBuffer.create(this.options.charset),this._partialMessageTimeout=1e4,this.nextMessageLength=-1,this.messageToken=0,this.readSemaphore=new r.Semaphore(1)}set partialMessageTimeout(l){this._partialMessageTimeout=l}get partialMessageTimeout(){return this._partialMessageTimeout}listen(l){this.nextMessageLength=-1,this.messageToken=0,this.partialMessageTimer=void 0,this.callback=l;const u=this.readable.onData(f=>{this.onData(f)});return this.readable.onError(f=>this.fireError(f)),this.readable.onClose(()=>this.fireClose()),u}onData(l){try{for(this.buffer.append(l);;){if(this.nextMessageLength===-1){const f=this.buffer.tryReadHeaders(!0);if(!f)return;const g=f.get("content-length");if(!g){this.fireError(new Error(`Header must provide a Content-Length property.
|
|
122
|
+
${JSON.stringify(Object.fromEntries(f))}`));return}const p=parseInt(g);if(isNaN(p)){this.fireError(new Error(`Content-Length value must be a number. Got ${g}`));return}this.nextMessageLength=p}const u=this.buffer.tryReadBody(this.nextMessageLength);if(u===void 0){this.setPartialMessageTimer();return}this.clearPartialMessageTimer(),this.nextMessageLength=-1,this.readSemaphore.lock(async()=>{const f=this.options.contentDecoder!==void 0?await this.options.contentDecoder.decode(u):u,g=await this.options.contentTypeDecoder.decode(f,this.options);this.callback(g)}).catch(f=>{this.fireError(f)})}}catch(u){this.fireError(u)}}clearPartialMessageTimer(){this.partialMessageTimer&&(this.partialMessageTimer.dispose(),this.partialMessageTimer=void 0)}setPartialMessageTimer(){this.clearPartialMessageTimer(),!(this._partialMessageTimeout<=0)&&(this.partialMessageTimer=(0,t.default)().timer.setTimeout((l,u)=>{this.partialMessageTimer=void 0,l===this.messageToken&&(this.firePartialMessage({messageToken:l,waitingTime:u}),this.setPartialMessageTimer())},this._partialMessageTimeout,this.messageToken,this._partialMessageTimeout))}}return Et.ReadableStreamMessageReader=o,Et}var At={},Zl;function Hy(){if(Zl)return At;Zl=1,Object.defineProperty(At,"__esModule",{value:!0}),At.WriteableStreamMessageWriter=At.AbstractMessageWriter=At.MessageWriter=void 0;const t=In(),e=ji(),n=vf(),r=Pr(),i="Content-Length: ",s=`\r
|
|
123
|
+
`;var a;(function(u){function f(g){let p=g;return p&&e.func(p.dispose)&&e.func(p.onClose)&&e.func(p.onError)&&e.func(p.write)}u.is=f})(a||(At.MessageWriter=a={}));class o{constructor(){this.errorEmitter=new r.Emitter,this.closeEmitter=new r.Emitter}dispose(){this.errorEmitter.dispose(),this.closeEmitter.dispose()}get onError(){return this.errorEmitter.event}fireError(f,g,p){this.errorEmitter.fire([this.asError(f),g,p])}get onClose(){return this.closeEmitter.event}fireClose(){this.closeEmitter.fire(void 0)}asError(f){return f instanceof Error?f:new Error(`Writer received error. Reason: ${e.string(f.message)?f.message:"unknown"}`)}}At.AbstractMessageWriter=o;var c;(function(u){function f(g){return g===void 0||typeof g=="string"?{charset:g??"utf-8",contentTypeEncoder:(0,t.default)().applicationJson.encoder}:{charset:g.charset??"utf-8",contentEncoder:g.contentEncoder,contentTypeEncoder:g.contentTypeEncoder??(0,t.default)().applicationJson.encoder}}u.fromOptions=f})(c||(c={}));class l extends o{constructor(f,g){super(),this.writable=f,this.options=c.fromOptions(g),this.errorCount=0,this.writeSemaphore=new n.Semaphore(1),this.writable.onError(p=>this.fireError(p)),this.writable.onClose(()=>this.fireClose())}async write(f){return this.writeSemaphore.lock(async()=>this.options.contentTypeEncoder.encode(f,this.options).then(p=>this.options.contentEncoder!==void 0?this.options.contentEncoder.encode(p):p).then(p=>{const E=[];return E.push(i,p.byteLength.toString(),s),E.push(s),this.doWrite(f,E,p)},p=>{throw this.fireError(p),p}))}async doWrite(f,g,p){try{return await this.writable.write(g.join(""),"ascii"),this.writable.write(p)}catch(E){return this.handleError(E,f),Promise.reject(E)}}handleError(f,g){this.errorCount++,this.fireError(f,g,this.errorCount)}end(){this.writable.end()}}return At.WriteableStreamMessageWriter=l,At}var Zr={},eu;function Xy(){if(eu)return Zr;eu=1,Object.defineProperty(Zr,"__esModule",{value:!0}),Zr.AbstractMessageBuffer=void 0;const t=13,e=10,n=`\r
|
|
124
|
+
`;class r{constructor(s="utf-8"){this._encoding=s,this._chunks=[],this._totalLength=0}get encoding(){return this._encoding}append(s){const a=typeof s=="string"?this.fromString(s,this._encoding):s;this._chunks.push(a),this._totalLength+=a.byteLength}tryReadHeaders(s=!1){if(this._chunks.length===0)return;let a=0,o=0,c=0,l=0;e:for(;o<this._chunks.length;){const p=this._chunks[o];for(c=0;c<p.length;){switch(p[c]){case t:switch(a){case 0:a=1;break;case 2:a=3;break;default:a=0}break;case e:switch(a){case 1:a=2;break;case 3:a=4,c++;break e;default:a=0}break;default:a=0}c++}l+=p.byteLength,o++}if(a!==4)return;const u=this._read(l+c),f=new Map,g=this.toString(u,"ascii").split(n);if(g.length<2)return f;for(let p=0;p<g.length-2;p++){const E=g[p],N=E.indexOf(":");if(N===-1)throw new Error(`Message header must separate key and value using ':'
|
|
125
|
+
${E}`);const I=E.substr(0,N),C=E.substr(N+1).trim();f.set(s?I.toLowerCase():I,C)}return f}tryReadBody(s){if(!(this._totalLength<s))return this._read(s)}get numberOfBytes(){return this._totalLength}_read(s){if(s===0)return this.emptyBuffer();if(s>this._totalLength)throw new Error("Cannot read so many bytes!");if(this._chunks[0].byteLength===s){const l=this._chunks[0];return this._chunks.shift(),this._totalLength-=s,this.asNative(l)}if(this._chunks[0].byteLength>s){const l=this._chunks[0],u=this.asNative(l,s);return this._chunks[0]=l.slice(s),this._totalLength-=s,u}const a=this.allocNative(s);let o=0,c=0;for(;s>0;){const l=this._chunks[c];if(l.byteLength>s){const u=l.slice(0,s);a.set(u,o),o+=s,this._chunks[c]=l.slice(s),this._totalLength-=s,s-=s}else a.set(l,o),o+=l.byteLength,this._chunks.shift(),this._totalLength-=l.byteLength,s-=l.byteLength}return a}}return Zr.AbstractMessageBuffer=r,Zr}var Oa={},tu;function Yy(){return tu||(tu=1,(function(t){Object.defineProperty(t,"__esModule",{value:!0}),t.createMessageConnection=t.ConnectionOptions=t.MessageStrategy=t.CancellationStrategy=t.CancellationSenderStrategy=t.CancellationReceiverStrategy=t.RequestCancellationReceiverStrategy=t.IdCancellationReceiverStrategy=t.ConnectionStrategy=t.ConnectionError=t.ConnectionErrors=t.LogTraceNotification=t.SetTraceNotification=t.TraceFormat=t.TraceValues=t.Trace=t.NullLogger=t.ProgressType=t.ProgressToken=void 0;const e=In(),n=ji(),r=Tf(),i=Rf(),s=Pr(),a=ma();var o;(function(m){m.type=new r.NotificationType("$/cancelRequest")})(o||(o={}));var c;(function(m){function k(y){return typeof y=="string"||typeof y=="number"}m.is=k})(c||(t.ProgressToken=c={}));var l;(function(m){m.type=new r.NotificationType("$/progress")})(l||(l={}));class u{constructor(){}}t.ProgressType=u;var f;(function(m){function k(y){return n.func(y)}m.is=k})(f||(f={})),t.NullLogger=Object.freeze({error:()=>{},warn:()=>{},info:()=>{},log:()=>{}});var g;(function(m){m[m.Off=0]="Off",m[m.Messages=1]="Messages",m[m.Compact=2]="Compact",m[m.Verbose=3]="Verbose"})(g||(t.Trace=g={}));var p;(function(m){m.Off="off",m.Messages="messages",m.Compact="compact",m.Verbose="verbose"})(p||(t.TraceValues=p={})),(function(m){function k(R){if(!n.string(R))return m.Off;switch(R=R.toLowerCase(),R){case"off":return m.Off;case"messages":return m.Messages;case"compact":return m.Compact;case"verbose":return m.Verbose;default:return m.Off}}m.fromString=k;function y(R){switch(R){case m.Off:return"off";case m.Messages:return"messages";case m.Compact:return"compact";case m.Verbose:return"verbose";default:return"off"}}m.toString=y})(g||(t.Trace=g={}));var E;(function(m){m.Text="text",m.JSON="json"})(E||(t.TraceFormat=E={})),(function(m){function k(y){return n.string(y)?(y=y.toLowerCase(),y==="json"?m.JSON:m.Text):m.Text}m.fromString=k})(E||(t.TraceFormat=E={}));var N;(function(m){m.type=new r.NotificationType("$/setTrace")})(N||(t.SetTraceNotification=N={}));var I;(function(m){m.type=new r.NotificationType("$/logTrace")})(I||(t.LogTraceNotification=I={}));var C;(function(m){m[m.Closed=1]="Closed",m[m.Disposed=2]="Disposed",m[m.AlreadyListening=3]="AlreadyListening"})(C||(t.ConnectionErrors=C={}));class S extends Error{constructor(k,y){super(y),this.code=k,Object.setPrototypeOf(this,S.prototype)}}t.ConnectionError=S;var b;(function(m){function k(y){const R=y;return R&&n.func(R.cancelUndispatched)}m.is=k})(b||(t.ConnectionStrategy=b={}));var P;(function(m){function k(y){const R=y;return R&&(R.kind===void 0||R.kind==="id")&&n.func(R.createCancellationTokenSource)&&(R.dispose===void 0||n.func(R.dispose))}m.is=k})(P||(t.IdCancellationReceiverStrategy=P={}));var V;(function(m){function k(y){const R=y;return R&&R.kind==="request"&&n.func(R.createCancellationTokenSource)&&(R.dispose===void 0||n.func(R.dispose))}m.is=k})(V||(t.RequestCancellationReceiverStrategy=V={}));var B;(function(m){m.Message=Object.freeze({createCancellationTokenSource(y){return new a.CancellationTokenSource}});function k(y){return P.is(y)||V.is(y)}m.is=k})(B||(t.CancellationReceiverStrategy=B={}));var H;(function(m){m.Message=Object.freeze({sendCancellation(y,R){return y.sendNotification(o.type,{id:R})},cleanup(y){}});function k(y){const R=y;return R&&n.func(R.sendCancellation)&&n.func(R.cleanup)}m.is=k})(H||(t.CancellationSenderStrategy=H={}));var re;(function(m){m.Message=Object.freeze({receiver:B.Message,sender:H.Message});function k(y){const R=y;return R&&B.is(R.receiver)&&H.is(R.sender)}m.is=k})(re||(t.CancellationStrategy=re={}));var ae;(function(m){function k(y){const R=y;return R&&n.func(R.handleMessage)}m.is=k})(ae||(t.MessageStrategy=ae={}));var oe;(function(m){function k(y){const R=y;return R&&(re.is(R.cancellationStrategy)||b.is(R.connectionStrategy)||ae.is(R.messageStrategy))}m.is=k})(oe||(t.ConnectionOptions=oe={}));var _;(function(m){m[m.New=1]="New",m[m.Listening=2]="Listening",m[m.Closed=3]="Closed",m[m.Disposed=4]="Disposed"})(_||(_={}));function T(m,k,y,R){const A=y!==void 0?y:t.NullLogger;let L=0,D=0,x=0;const j="2.0";let F;const te=new Map;let U;const Z=new Map,Ne=new Map;let me,ce=new i.LinkedMap,be=new Map,Ie=new Set,Ce=new Map,Y=g.Off,He=E.Text,ge,nt=_.New;const On=new s.Emitter,Or=new s.Emitter,Lr=new s.Emitter,xr=new s.Emitter,Dr=new s.Emitter,rt=R&&R.cancellationStrategy?R.cancellationStrategy:re.Message;function Mr(h){if(h===null)throw new Error("Can't send requests with id null since the response can't be correlated.");return"req-"+h.toString()}function Ui(h){return h===null?"res-unknown-"+(++x).toString():"res-"+h.toString()}function qi(){return"not-"+(++D).toString()}function zi(h,w){r.Message.isRequest(w)?h.set(Mr(w.id),w):r.Message.isResponse(w)?h.set(Ui(w.id),w):h.set(qi(),w)}function Bi(h){}function Fr(){return nt===_.Listening}function Gr(){return nt===_.Closed}function Tt(){return nt===_.Disposed}function jr(){(nt===_.New||nt===_.Listening)&&(nt=_.Closed,Or.fire(void 0))}function Vi(h){On.fire([h,void 0,void 0])}function Wi(h){On.fire(h)}m.onClose(jr),m.onError(Vi),k.onClose(jr),k.onError(Wi);function Ur(){me||ce.size===0||(me=(0,e.default)().timer.setImmediate(()=>{me=void 0,Ki()}))}function qr(h){r.Message.isRequest(h)?Xi(h):r.Message.isNotification(h)?Ji(h):r.Message.isResponse(h)?Yi(h):Qi(h)}function Ki(){if(ce.size===0)return;const h=ce.shift();try{const w=R?.messageStrategy;ae.is(w)?w.handleMessage(h,qr):qr(h)}finally{Ur()}}const Hi=h=>{try{if(r.Message.isNotification(h)&&h.method===o.type.method){const w=h.params.id,O=Mr(w),M=ce.get(O);if(r.Message.isRequest(M)){const ne=R?.connectionStrategy,ye=ne&&ne.cancelUndispatched?ne.cancelUndispatched(M,Bi):void 0;if(ye&&(ye.error!==void 0||ye.result!==void 0)){ce.delete(O),Ce.delete(w),ye.id=M.id,en(ye,h.method,Date.now()),k.write(ye).catch(()=>A.error("Sending response for canceled message failed."));return}}const ie=Ce.get(w);if(ie!==void 0){ie.cancel(),Ln(h);return}else Ie.add(w)}zi(ce,h)}finally{Ur()}};function Xi(h){if(Tt())return;function w(X,le,ee){const we={jsonrpc:j,id:h.id};X instanceof r.ResponseError?we.error=X.toJson():we.result=X===void 0?null:X,en(we,le,ee),k.write(we).catch(()=>A.error("Sending response failed."))}function O(X,le,ee){const we={jsonrpc:j,id:h.id,error:X.toJson()};en(we,le,ee),k.write(we).catch(()=>A.error("Sending response failed."))}function M(X,le,ee){X===void 0&&(X=null);const we={jsonrpc:j,id:h.id,result:X};en(we,le,ee),k.write(we).catch(()=>A.error("Sending response failed."))}ts(h);const ie=te.get(h.method);let ne,ye;ie&&(ne=ie.type,ye=ie.handler);const Ae=Date.now();if(ye||F){const X=h.id??String(Date.now()),le=P.is(rt.receiver)?rt.receiver.createCancellationTokenSource(X):rt.receiver.createCancellationTokenSource(h);h.id!==null&&Ie.has(h.id)&&le.cancel(),h.id!==null&&Ce.set(X,le);try{let ee;if(ye)if(h.params===void 0){if(ne!==void 0&&ne.numberOfParams!==0){O(new r.ResponseError(r.ErrorCodes.InvalidParams,`Request ${h.method} defines ${ne.numberOfParams} params but received none.`),h.method,Ae);return}ee=ye(le.token)}else if(Array.isArray(h.params)){if(ne!==void 0&&ne.parameterStructures===r.ParameterStructures.byName){O(new r.ResponseError(r.ErrorCodes.InvalidParams,`Request ${h.method} defines parameters by name but received parameters by position`),h.method,Ae);return}ee=ye(...h.params,le.token)}else{if(ne!==void 0&&ne.parameterStructures===r.ParameterStructures.byPosition){O(new r.ResponseError(r.ErrorCodes.InvalidParams,`Request ${h.method} defines parameters by position but received parameters by name`),h.method,Ae);return}ee=ye(h.params,le.token)}else F&&(ee=F(h.method,h.params,le.token));const we=ee;ee?we.then?we.then(Fe=>{Ce.delete(X),w(Fe,h.method,Ae)},Fe=>{Ce.delete(X),Fe instanceof r.ResponseError?O(Fe,h.method,Ae):Fe&&n.string(Fe.message)?O(new r.ResponseError(r.ErrorCodes.InternalError,`Request ${h.method} failed with message: ${Fe.message}`),h.method,Ae):O(new r.ResponseError(r.ErrorCodes.InternalError,`Request ${h.method} failed unexpectedly without providing any details.`),h.method,Ae)}):(Ce.delete(X),w(ee,h.method,Ae)):(Ce.delete(X),M(ee,h.method,Ae))}catch(ee){Ce.delete(X),ee instanceof r.ResponseError?w(ee,h.method,Ae):ee&&n.string(ee.message)?O(new r.ResponseError(r.ErrorCodes.InternalError,`Request ${h.method} failed with message: ${ee.message}`),h.method,Ae):O(new r.ResponseError(r.ErrorCodes.InternalError,`Request ${h.method} failed unexpectedly without providing any details.`),h.method,Ae)}}else O(new r.ResponseError(r.ErrorCodes.MethodNotFound,`Unhandled method ${h.method}`),h.method,Ae)}function Yi(h){if(!Tt())if(h.id===null)h.error?A.error(`Received response message without id: Error is:
|
|
126
|
+
${JSON.stringify(h.error,void 0,4)}`):A.error("Received response message without id. No further error information provided.");else{const w=h.id,O=be.get(w);if(ns(h,O),O!==void 0){be.delete(w);try{if(h.error){const M=h.error;O.reject(new r.ResponseError(M.code,M.message,M.data))}else if(h.result!==void 0)O.resolve(h.result);else throw new Error("Should never happen.")}catch(M){M.message?A.error(`Response handler '${O.method}' failed with message: ${M.message}`):A.error(`Response handler '${O.method}' failed unexpectedly.`)}}}}function Ji(h){if(Tt())return;let w,O;if(h.method===o.type.method){const M=h.params.id;Ie.delete(M),Ln(h);return}else{const M=Z.get(h.method);M&&(O=M.handler,w=M.type)}if(O||U)try{if(Ln(h),O)if(h.params===void 0)w!==void 0&&w.numberOfParams!==0&&w.parameterStructures!==r.ParameterStructures.byName&&A.error(`Notification ${h.method} defines ${w.numberOfParams} params but received none.`),O();else if(Array.isArray(h.params)){const M=h.params;h.method===l.type.method&&M.length===2&&c.is(M[0])?O({token:M[0],value:M[1]}):(w!==void 0&&(w.parameterStructures===r.ParameterStructures.byName&&A.error(`Notification ${h.method} defines parameters by name but received parameters by position`),w.numberOfParams!==h.params.length&&A.error(`Notification ${h.method} defines ${w.numberOfParams} params but received ${M.length} arguments`)),O(...M))}else w!==void 0&&w.parameterStructures===r.ParameterStructures.byPosition&&A.error(`Notification ${h.method} defines parameters by position but received parameters by name`),O(h.params);else U&&U(h.method,h.params)}catch(M){M.message?A.error(`Notification handler '${h.method}' failed with message: ${M.message}`):A.error(`Notification handler '${h.method}' failed unexpectedly.`)}else Lr.fire(h)}function Qi(h){if(!h){A.error("Received empty message.");return}A.error(`Received message which is neither a response nor a notification message:
|
|
127
|
+
${JSON.stringify(h,null,4)}`);const w=h;if(n.string(w.id)||n.number(w.id)){const O=w.id,M=be.get(O);M&&M.reject(new Error("The received response has neither a result nor an error property."))}}function it(h){if(h!=null)switch(Y){case g.Verbose:return JSON.stringify(h,null,4);case g.Compact:return JSON.stringify(h);default:return}}function Zi(h){if(!(Y===g.Off||!ge))if(He===E.Text){let w;(Y===g.Verbose||Y===g.Compact)&&h.params&&(w=`Params: ${it(h.params)}
|
|
128
|
+
|
|
129
|
+
`),ge.log(`Sending request '${h.method} - (${h.id})'.`,w)}else Rt("send-request",h)}function es(h){if(!(Y===g.Off||!ge))if(He===E.Text){let w;(Y===g.Verbose||Y===g.Compact)&&(h.params?w=`Params: ${it(h.params)}
|
|
130
|
+
|
|
131
|
+
`:w=`No parameters provided.
|
|
132
|
+
|
|
133
|
+
`),ge.log(`Sending notification '${h.method}'.`,w)}else Rt("send-notification",h)}function en(h,w,O){if(!(Y===g.Off||!ge))if(He===E.Text){let M;(Y===g.Verbose||Y===g.Compact)&&(h.error&&h.error.data?M=`Error data: ${it(h.error.data)}
|
|
134
|
+
|
|
135
|
+
`:h.result?M=`Result: ${it(h.result)}
|
|
136
|
+
|
|
137
|
+
`:h.error===void 0&&(M=`No result returned.
|
|
138
|
+
|
|
139
|
+
`)),ge.log(`Sending response '${w} - (${h.id})'. Processing request took ${Date.now()-O}ms`,M)}else Rt("send-response",h)}function ts(h){if(!(Y===g.Off||!ge))if(He===E.Text){let w;(Y===g.Verbose||Y===g.Compact)&&h.params&&(w=`Params: ${it(h.params)}
|
|
140
|
+
|
|
141
|
+
`),ge.log(`Received request '${h.method} - (${h.id})'.`,w)}else Rt("receive-request",h)}function Ln(h){if(!(Y===g.Off||!ge||h.method===I.type.method))if(He===E.Text){let w;(Y===g.Verbose||Y===g.Compact)&&(h.params?w=`Params: ${it(h.params)}
|
|
142
|
+
|
|
143
|
+
`:w=`No parameters provided.
|
|
144
|
+
|
|
145
|
+
`),ge.log(`Received notification '${h.method}'.`,w)}else Rt("receive-notification",h)}function ns(h,w){if(!(Y===g.Off||!ge))if(He===E.Text){let O;if((Y===g.Verbose||Y===g.Compact)&&(h.error&&h.error.data?O=`Error data: ${it(h.error.data)}
|
|
146
|
+
|
|
147
|
+
`:h.result?O=`Result: ${it(h.result)}
|
|
148
|
+
|
|
149
|
+
`:h.error===void 0&&(O=`No result returned.
|
|
150
|
+
|
|
151
|
+
`)),w){const M=h.error?` Request failed: ${h.error.message} (${h.error.code}).`:"";ge.log(`Received response '${w.method} - (${h.id})' in ${Date.now()-w.timerStart}ms.${M}`,O)}else ge.log(`Received response ${h.id} without active response promise.`,O)}else Rt("receive-response",h)}function Rt(h,w){if(!ge||Y===g.Off)return;const O={isLSPMessage:!0,type:h,message:w,timestamp:Date.now()};ge.log(O)}function qt(){if(Gr())throw new S(C.Closed,"Connection is closed.");if(Tt())throw new S(C.Disposed,"Connection is disposed.")}function rs(){if(Fr())throw new S(C.AlreadyListening,"Connection is already listening")}function is(){if(!Fr())throw new Error("Call listen() first.")}function zt(h){return h===void 0?null:h}function zr(h){if(h!==null)return h}function d(h){return h!=null&&!Array.isArray(h)&&typeof h=="object"}function ve(h,w){switch(h){case r.ParameterStructures.auto:return d(w)?zr(w):[zt(w)];case r.ParameterStructures.byName:if(!d(w))throw new Error("Received parameters by name but param is not an object literal.");return zr(w);case r.ParameterStructures.byPosition:return[zt(w)];default:throw new Error(`Unknown parameter structure ${h.toString()}`)}}function Ee(h,w){let O;const M=h.numberOfParams;switch(M){case 0:O=void 0;break;case 1:O=ve(h.parameterStructures,w[0]);break;default:O=[];for(let ie=0;ie<w.length&&ie<M;ie++)O.push(zt(w[ie]));if(w.length<M)for(let ie=w.length;ie<M;ie++)O.push(null);break}return O}const z={sendNotification:(h,...w)=>{qt();let O,M;if(n.string(h)){O=h;const ne=w[0];let ye=0,Ae=r.ParameterStructures.auto;r.ParameterStructures.is(ne)&&(ye=1,Ae=ne);let X=w.length;const le=X-ye;switch(le){case 0:M=void 0;break;case 1:M=ve(Ae,w[ye]);break;default:if(Ae===r.ParameterStructures.byName)throw new Error(`Received ${le} parameters for 'by Name' notification parameter structure.`);M=w.slice(ye,X).map(ee=>zt(ee));break}}else{const ne=w;O=h.method,M=Ee(h,ne)}const ie={jsonrpc:j,method:O,params:M};return es(ie),k.write(ie).catch(ne=>{throw A.error("Sending notification failed."),ne})},onNotification:(h,w)=>{qt();let O;return n.func(h)?U=h:w&&(n.string(h)?(O=h,Z.set(h,{type:void 0,handler:w})):(O=h.method,Z.set(h.method,{type:h,handler:w}))),{dispose:()=>{O!==void 0?Z.delete(O):U=void 0}}},onProgress:(h,w,O)=>{if(Ne.has(w))throw new Error(`Progress handler for token ${w} already registered`);return Ne.set(w,O),{dispose:()=>{Ne.delete(w)}}},sendProgress:(h,w,O)=>z.sendNotification(l.type,{token:w,value:O}),onUnhandledProgress:xr.event,sendRequest:(h,...w)=>{qt(),is();let O,M,ie;if(n.string(h)){O=h;const X=w[0],le=w[w.length-1];let ee=0,we=r.ParameterStructures.auto;r.ParameterStructures.is(X)&&(ee=1,we=X);let Fe=w.length;a.CancellationToken.is(le)&&(Fe=Fe-1,ie=le);const ut=Fe-ee;switch(ut){case 0:M=void 0;break;case 1:M=ve(we,w[ee]);break;default:if(we===r.ParameterStructures.byName)throw new Error(`Received ${ut} parameters for 'by Name' request parameter structure.`);M=w.slice(ee,Fe).map(Bf=>zt(Bf));break}}else{const X=w;O=h.method,M=Ee(h,X);const le=h.numberOfParams;ie=a.CancellationToken.is(X[le])?X[le]:void 0}const ne=L++;let ye;ie&&(ye=ie.onCancellationRequested(()=>{const X=rt.sender.sendCancellation(z,ne);return X===void 0?(A.log(`Received no promise from cancellation strategy when cancelling id ${ne}`),Promise.resolve()):X.catch(()=>{A.log(`Sending cancellation messages for id ${ne} failed`)})}));const Ae={jsonrpc:j,id:ne,method:O,params:M};return Zi(Ae),typeof rt.sender.enableCancellation=="function"&&rt.sender.enableCancellation(Ae),new Promise(async(X,le)=>{const ee=ut=>{X(ut),rt.sender.cleanup(ne),ye?.dispose()},we=ut=>{le(ut),rt.sender.cleanup(ne),ye?.dispose()},Fe={method:O,timerStart:Date.now(),resolve:ee,reject:we};try{await k.write(Ae),be.set(ne,Fe)}catch(ut){throw A.error("Sending request failed."),Fe.reject(new r.ResponseError(r.ErrorCodes.MessageWriteError,ut.message?ut.message:"Unknown reason")),ut}})},onRequest:(h,w)=>{qt();let O=null;return f.is(h)?(O=void 0,F=h):n.string(h)?(O=null,w!==void 0&&(O=h,te.set(h,{handler:w,type:void 0}))):w!==void 0&&(O=h.method,te.set(h.method,{type:h,handler:w})),{dispose:()=>{O!==null&&(O!==void 0?te.delete(O):F=void 0)}}},hasPendingResponse:()=>be.size>0,trace:async(h,w,O)=>{let M=!1,ie=E.Text;O!==void 0&&(n.boolean(O)?M=O:(M=O.sendNotification||!1,ie=O.traceFormat||E.Text)),Y=h,He=ie,Y===g.Off?ge=void 0:ge=w,M&&!Gr()&&!Tt()&&await z.sendNotification(N.type,{value:g.toString(h)})},onError:On.event,onClose:Or.event,onUnhandledNotification:Lr.event,onDispose:Dr.event,end:()=>{k.end()},dispose:()=>{if(Tt())return;nt=_.Disposed,Dr.fire(void 0);const h=new r.ResponseError(r.ErrorCodes.PendingResponseRejected,"Pending response rejected since connection got disposed");for(const w of be.values())w.reject(h);be=new Map,Ce=new Map,Ie=new Set,ce=new i.LinkedMap,n.func(k.dispose)&&k.dispose(),n.func(m.dispose)&&m.dispose()},listen:()=>{qt(),rs(),nt=_.Listening,m.listen(Hi)},inspect:()=>{(0,e.default)().console.log("inspect")}};return z.onNotification(I.type,h=>{if(Y===g.Off||!ge)return;const w=Y===g.Verbose||Y===g.Compact;ge.log(h.message,w?h.verbose:void 0)}),z.onNotification(l.type,h=>{const w=Ne.get(h.token);w?w(h.value):xr.fire(h)}),z}t.createMessageConnection=T})(Oa)),Oa}var nu;function Tc(){return nu||(nu=1,(function(t){Object.defineProperty(t,"__esModule",{value:!0}),t.ProgressType=t.ProgressToken=t.createMessageConnection=t.NullLogger=t.ConnectionOptions=t.ConnectionStrategy=t.AbstractMessageBuffer=t.WriteableStreamMessageWriter=t.AbstractMessageWriter=t.MessageWriter=t.ReadableStreamMessageReader=t.AbstractMessageReader=t.MessageReader=t.SharedArrayReceiverStrategy=t.SharedArraySenderStrategy=t.CancellationToken=t.CancellationTokenSource=t.Emitter=t.Event=t.Disposable=t.LRUCache=t.Touch=t.LinkedMap=t.ParameterStructures=t.NotificationType9=t.NotificationType8=t.NotificationType7=t.NotificationType6=t.NotificationType5=t.NotificationType4=t.NotificationType3=t.NotificationType2=t.NotificationType1=t.NotificationType0=t.NotificationType=t.ErrorCodes=t.ResponseError=t.RequestType9=t.RequestType8=t.RequestType7=t.RequestType6=t.RequestType5=t.RequestType4=t.RequestType3=t.RequestType2=t.RequestType1=t.RequestType0=t.RequestType=t.Message=t.RAL=void 0,t.MessageStrategy=t.CancellationStrategy=t.CancellationSenderStrategy=t.CancellationReceiverStrategy=t.ConnectionError=t.ConnectionErrors=t.LogTraceNotification=t.SetTraceNotification=t.TraceFormat=t.TraceValues=t.Trace=void 0;const e=Tf();Object.defineProperty(t,"Message",{enumerable:!0,get:function(){return e.Message}}),Object.defineProperty(t,"RequestType",{enumerable:!0,get:function(){return e.RequestType}}),Object.defineProperty(t,"RequestType0",{enumerable:!0,get:function(){return e.RequestType0}}),Object.defineProperty(t,"RequestType1",{enumerable:!0,get:function(){return e.RequestType1}}),Object.defineProperty(t,"RequestType2",{enumerable:!0,get:function(){return e.RequestType2}}),Object.defineProperty(t,"RequestType3",{enumerable:!0,get:function(){return e.RequestType3}}),Object.defineProperty(t,"RequestType4",{enumerable:!0,get:function(){return e.RequestType4}}),Object.defineProperty(t,"RequestType5",{enumerable:!0,get:function(){return e.RequestType5}}),Object.defineProperty(t,"RequestType6",{enumerable:!0,get:function(){return e.RequestType6}}),Object.defineProperty(t,"RequestType7",{enumerable:!0,get:function(){return e.RequestType7}}),Object.defineProperty(t,"RequestType8",{enumerable:!0,get:function(){return e.RequestType8}}),Object.defineProperty(t,"RequestType9",{enumerable:!0,get:function(){return e.RequestType9}}),Object.defineProperty(t,"ResponseError",{enumerable:!0,get:function(){return e.ResponseError}}),Object.defineProperty(t,"ErrorCodes",{enumerable:!0,get:function(){return e.ErrorCodes}}),Object.defineProperty(t,"NotificationType",{enumerable:!0,get:function(){return e.NotificationType}}),Object.defineProperty(t,"NotificationType0",{enumerable:!0,get:function(){return e.NotificationType0}}),Object.defineProperty(t,"NotificationType1",{enumerable:!0,get:function(){return e.NotificationType1}}),Object.defineProperty(t,"NotificationType2",{enumerable:!0,get:function(){return e.NotificationType2}}),Object.defineProperty(t,"NotificationType3",{enumerable:!0,get:function(){return e.NotificationType3}}),Object.defineProperty(t,"NotificationType4",{enumerable:!0,get:function(){return e.NotificationType4}}),Object.defineProperty(t,"NotificationType5",{enumerable:!0,get:function(){return e.NotificationType5}}),Object.defineProperty(t,"NotificationType6",{enumerable:!0,get:function(){return e.NotificationType6}}),Object.defineProperty(t,"NotificationType7",{enumerable:!0,get:function(){return e.NotificationType7}}),Object.defineProperty(t,"NotificationType8",{enumerable:!0,get:function(){return e.NotificationType8}}),Object.defineProperty(t,"NotificationType9",{enumerable:!0,get:function(){return e.NotificationType9}}),Object.defineProperty(t,"ParameterStructures",{enumerable:!0,get:function(){return e.ParameterStructures}});const n=Rf();Object.defineProperty(t,"LinkedMap",{enumerable:!0,get:function(){return n.LinkedMap}}),Object.defineProperty(t,"LRUCache",{enumerable:!0,get:function(){return n.LRUCache}}),Object.defineProperty(t,"Touch",{enumerable:!0,get:function(){return n.Touch}});const r=Vy();Object.defineProperty(t,"Disposable",{enumerable:!0,get:function(){return r.Disposable}});const i=Pr();Object.defineProperty(t,"Event",{enumerable:!0,get:function(){return i.Event}}),Object.defineProperty(t,"Emitter",{enumerable:!0,get:function(){return i.Emitter}});const s=ma();Object.defineProperty(t,"CancellationTokenSource",{enumerable:!0,get:function(){return s.CancellationTokenSource}}),Object.defineProperty(t,"CancellationToken",{enumerable:!0,get:function(){return s.CancellationToken}});const a=Wy();Object.defineProperty(t,"SharedArraySenderStrategy",{enumerable:!0,get:function(){return a.SharedArraySenderStrategy}}),Object.defineProperty(t,"SharedArrayReceiverStrategy",{enumerable:!0,get:function(){return a.SharedArrayReceiverStrategy}});const o=Ky();Object.defineProperty(t,"MessageReader",{enumerable:!0,get:function(){return o.MessageReader}}),Object.defineProperty(t,"AbstractMessageReader",{enumerable:!0,get:function(){return o.AbstractMessageReader}}),Object.defineProperty(t,"ReadableStreamMessageReader",{enumerable:!0,get:function(){return o.ReadableStreamMessageReader}});const c=Hy();Object.defineProperty(t,"MessageWriter",{enumerable:!0,get:function(){return c.MessageWriter}}),Object.defineProperty(t,"AbstractMessageWriter",{enumerable:!0,get:function(){return c.AbstractMessageWriter}}),Object.defineProperty(t,"WriteableStreamMessageWriter",{enumerable:!0,get:function(){return c.WriteableStreamMessageWriter}});const l=Xy();Object.defineProperty(t,"AbstractMessageBuffer",{enumerable:!0,get:function(){return l.AbstractMessageBuffer}});const u=Yy();Object.defineProperty(t,"ConnectionStrategy",{enumerable:!0,get:function(){return u.ConnectionStrategy}}),Object.defineProperty(t,"ConnectionOptions",{enumerable:!0,get:function(){return u.ConnectionOptions}}),Object.defineProperty(t,"NullLogger",{enumerable:!0,get:function(){return u.NullLogger}}),Object.defineProperty(t,"createMessageConnection",{enumerable:!0,get:function(){return u.createMessageConnection}}),Object.defineProperty(t,"ProgressToken",{enumerable:!0,get:function(){return u.ProgressToken}}),Object.defineProperty(t,"ProgressType",{enumerable:!0,get:function(){return u.ProgressType}}),Object.defineProperty(t,"Trace",{enumerable:!0,get:function(){return u.Trace}}),Object.defineProperty(t,"TraceValues",{enumerable:!0,get:function(){return u.TraceValues}}),Object.defineProperty(t,"TraceFormat",{enumerable:!0,get:function(){return u.TraceFormat}}),Object.defineProperty(t,"SetTraceNotification",{enumerable:!0,get:function(){return u.SetTraceNotification}}),Object.defineProperty(t,"LogTraceNotification",{enumerable:!0,get:function(){return u.LogTraceNotification}}),Object.defineProperty(t,"ConnectionErrors",{enumerable:!0,get:function(){return u.ConnectionErrors}}),Object.defineProperty(t,"ConnectionError",{enumerable:!0,get:function(){return u.ConnectionError}}),Object.defineProperty(t,"CancellationReceiverStrategy",{enumerable:!0,get:function(){return u.CancellationReceiverStrategy}}),Object.defineProperty(t,"CancellationSenderStrategy",{enumerable:!0,get:function(){return u.CancellationSenderStrategy}}),Object.defineProperty(t,"CancellationStrategy",{enumerable:!0,get:function(){return u.CancellationStrategy}}),Object.defineProperty(t,"MessageStrategy",{enumerable:!0,get:function(){return u.MessageStrategy}});const f=In();t.RAL=f.default})($a)),$a}var ru;function Jy(){if(ru)return ps;ru=1,Object.defineProperty(ps,"__esModule",{value:!0});const t=Tc();class e extends t.AbstractMessageBuffer{constructor(c="utf-8"){super(c),this.asciiDecoder=new TextDecoder("ascii")}emptyBuffer(){return e.emptyBuffer}fromString(c,l){return new TextEncoder().encode(c)}toString(c,l){return l==="ascii"?this.asciiDecoder.decode(c):new TextDecoder(l).decode(c)}asNative(c,l){return l===void 0?c:c.slice(0,l)}allocNative(c){return new Uint8Array(c)}}e.emptyBuffer=new Uint8Array(0);class n{constructor(c){this.socket=c,this._onData=new t.Emitter,this._messageListener=l=>{l.data.arrayBuffer().then(f=>{this._onData.fire(new Uint8Array(f))},()=>{(0,t.RAL)().console.error("Converting blob to array buffer failed.")})},this.socket.addEventListener("message",this._messageListener)}onClose(c){return this.socket.addEventListener("close",c),t.Disposable.create(()=>this.socket.removeEventListener("close",c))}onError(c){return this.socket.addEventListener("error",c),t.Disposable.create(()=>this.socket.removeEventListener("error",c))}onEnd(c){return this.socket.addEventListener("end",c),t.Disposable.create(()=>this.socket.removeEventListener("end",c))}onData(c){return this._onData.event(c)}}class r{constructor(c){this.socket=c}onClose(c){return this.socket.addEventListener("close",c),t.Disposable.create(()=>this.socket.removeEventListener("close",c))}onError(c){return this.socket.addEventListener("error",c),t.Disposable.create(()=>this.socket.removeEventListener("error",c))}onEnd(c){return this.socket.addEventListener("end",c),t.Disposable.create(()=>this.socket.removeEventListener("end",c))}write(c,l){if(typeof c=="string"){if(l!==void 0&&l!=="utf-8")throw new Error(`In a Browser environments only utf-8 text encoding is supported. But got encoding: ${l}`);this.socket.send(c)}else this.socket.send(c);return Promise.resolve()}end(){this.socket.close()}}const i=new TextEncoder,s=Object.freeze({messageBuffer:Object.freeze({create:o=>new e(o)}),applicationJson:Object.freeze({encoder:Object.freeze({name:"application/json",encode:(o,c)=>{if(c.charset!=="utf-8")throw new Error(`In a Browser environments only utf-8 text encoding is supported. But got encoding: ${c.charset}`);return Promise.resolve(i.encode(JSON.stringify(o,void 0,0)))}}),decoder:Object.freeze({name:"application/json",decode:(o,c)=>{if(!(o instanceof Uint8Array))throw new Error("In a Browser environments only Uint8Arrays are supported.");return Promise.resolve(JSON.parse(new TextDecoder(c.charset).decode(o)))}})}),stream:Object.freeze({asReadableStream:o=>new n(o),asWritableStream:o=>new r(o)}),console,timer:Object.freeze({setTimeout(o,c,...l){const u=setTimeout(o,c,...l);return{dispose:()=>clearTimeout(u)}},setImmediate(o,...c){const l=setTimeout(o,0,...c);return{dispose:()=>clearTimeout(l)}},setInterval(o,c,...l){const u=setInterval(o,c,...l);return{dispose:()=>clearInterval(u)}}})});function a(){return s}return(function(o){function c(){t.RAL.install(s)}o.install=c})(a||(a={})),ps.default=a,ps}var iu;function $r(){return iu||(iu=1,(function(t){var e=on&&on.__createBinding||(Object.create?(function(c,l,u,f){f===void 0&&(f=u);var g=Object.getOwnPropertyDescriptor(l,u);(!g||("get"in g?!l.__esModule:g.writable||g.configurable))&&(g={enumerable:!0,get:function(){return l[u]}}),Object.defineProperty(c,f,g)}):(function(c,l,u,f){f===void 0&&(f=u),c[f]=l[u]})),n=on&&on.__exportStar||function(c,l){for(var u in c)u!=="default"&&!Object.prototype.hasOwnProperty.call(l,u)&&e(l,c,u)};Object.defineProperty(t,"__esModule",{value:!0}),t.createMessageConnection=t.BrowserMessageWriter=t.BrowserMessageReader=void 0,Jy().default.install();const i=Tc();n(Tc(),t);class s extends i.AbstractMessageReader{constructor(l){super(),this._onData=new i.Emitter,this._messageListener=u=>{this._onData.fire(u.data)},l.addEventListener("error",u=>this.fireError(u)),l.onmessage=this._messageListener}listen(l){return this._onData.event(l)}}t.BrowserMessageReader=s;class a extends i.AbstractMessageWriter{constructor(l){super(),this.port=l,this.errorCount=0,l.addEventListener("error",u=>this.fireError(u))}write(l){try{return this.port.postMessage(l),Promise.resolve()}catch(u){return this.handleError(u,l),Promise.reject(u)}}handleError(l,u){this.errorCount++,this.fireError(l,u,this.errorCount)}end(){}}t.BrowserMessageWriter=a;function o(c,l,u,f){return u===void 0&&(u=i.NullLogger),i.ConnectionStrategy.is(f)&&(f={connectionStrategy:f}),(0,i.createMessageConnection)(c,l,u,f)}t.createMessageConnection=o})(on)),on}var La,su;function au(){return su||(su=1,La=$r()),La}var ln={};const Xc=Wf(Xg);var Ge={},ou;function pe(){if(ou)return Ge;ou=1,Object.defineProperty(Ge,"__esModule",{value:!0}),Ge.ProtocolNotificationType=Ge.ProtocolNotificationType0=Ge.ProtocolRequestType=Ge.ProtocolRequestType0=Ge.RegistrationType=Ge.MessageDirection=void 0;const t=$r();var e;(function(o){o.clientToServer="clientToServer",o.serverToClient="serverToClient",o.both="both"})(e||(Ge.MessageDirection=e={}));class n{constructor(c){this.method=c}}Ge.RegistrationType=n;class r extends t.RequestType0{constructor(c){super(c)}}Ge.ProtocolRequestType0=r;class i extends t.RequestType{constructor(c){super(c,t.ParameterStructures.byName)}}Ge.ProtocolRequestType=i;class s extends t.NotificationType0{constructor(c){super(c)}}Ge.ProtocolNotificationType0=s;class a extends t.NotificationType{constructor(c){super(c,t.ParameterStructures.byName)}}return Ge.ProtocolNotificationType=a,Ge}var xa={},Se={},cu;function Yc(){if(cu)return Se;cu=1,Object.defineProperty(Se,"__esModule",{value:!0}),Se.objectLiteral=Se.typedArray=Se.stringArray=Se.array=Se.func=Se.error=Se.number=Se.string=Se.boolean=void 0;function t(l){return l===!0||l===!1}Se.boolean=t;function e(l){return typeof l=="string"||l instanceof String}Se.string=e;function n(l){return typeof l=="number"||l instanceof Number}Se.number=n;function r(l){return l instanceof Error}Se.error=r;function i(l){return typeof l=="function"}Se.func=i;function s(l){return Array.isArray(l)}Se.array=s;function a(l){return s(l)&&l.every(u=>e(u))}Se.stringArray=a;function o(l,u){return Array.isArray(l)&&l.every(u)}Se.typedArray=o;function c(l){return l!==null&&typeof l=="object"}return Se.objectLiteral=c,Se}var ei={},lu;function Qy(){if(lu)return ei;lu=1,Object.defineProperty(ei,"__esModule",{value:!0}),ei.ImplementationRequest=void 0;const t=pe();var e;return(function(n){n.method="textDocument/implementation",n.messageDirection=t.MessageDirection.clientToServer,n.type=new t.ProtocolRequestType(n.method)})(e||(ei.ImplementationRequest=e={})),ei}var ti={},uu;function Zy(){if(uu)return ti;uu=1,Object.defineProperty(ti,"__esModule",{value:!0}),ti.TypeDefinitionRequest=void 0;const t=pe();var e;return(function(n){n.method="textDocument/typeDefinition",n.messageDirection=t.MessageDirection.clientToServer,n.type=new t.ProtocolRequestType(n.method)})(e||(ti.TypeDefinitionRequest=e={})),ti}var un={},du;function eT(){if(du)return un;du=1,Object.defineProperty(un,"__esModule",{value:!0}),un.DidChangeWorkspaceFoldersNotification=un.WorkspaceFoldersRequest=void 0;const t=pe();var e;(function(r){r.method="workspace/workspaceFolders",r.messageDirection=t.MessageDirection.serverToClient,r.type=new t.ProtocolRequestType0(r.method)})(e||(un.WorkspaceFoldersRequest=e={}));var n;return(function(r){r.method="workspace/didChangeWorkspaceFolders",r.messageDirection=t.MessageDirection.clientToServer,r.type=new t.ProtocolNotificationType(r.method)})(n||(un.DidChangeWorkspaceFoldersNotification=n={})),un}var ni={},fu;function tT(){if(fu)return ni;fu=1,Object.defineProperty(ni,"__esModule",{value:!0}),ni.ConfigurationRequest=void 0;const t=pe();var e;return(function(n){n.method="workspace/configuration",n.messageDirection=t.MessageDirection.serverToClient,n.type=new t.ProtocolRequestType(n.method)})(e||(ni.ConfigurationRequest=e={})),ni}var dn={},hu;function nT(){if(hu)return dn;hu=1,Object.defineProperty(dn,"__esModule",{value:!0}),dn.ColorPresentationRequest=dn.DocumentColorRequest=void 0;const t=pe();var e;(function(r){r.method="textDocument/documentColor",r.messageDirection=t.MessageDirection.clientToServer,r.type=new t.ProtocolRequestType(r.method)})(e||(dn.DocumentColorRequest=e={}));var n;return(function(r){r.method="textDocument/colorPresentation",r.messageDirection=t.MessageDirection.clientToServer,r.type=new t.ProtocolRequestType(r.method)})(n||(dn.ColorPresentationRequest=n={})),dn}var fn={},pu;function rT(){if(pu)return fn;pu=1,Object.defineProperty(fn,"__esModule",{value:!0}),fn.FoldingRangeRefreshRequest=fn.FoldingRangeRequest=void 0;const t=pe();var e;(function(r){r.method="textDocument/foldingRange",r.messageDirection=t.MessageDirection.clientToServer,r.type=new t.ProtocolRequestType(r.method)})(e||(fn.FoldingRangeRequest=e={}));var n;return(function(r){r.method="workspace/foldingRange/refresh",r.messageDirection=t.MessageDirection.serverToClient,r.type=new t.ProtocolRequestType0(r.method)})(n||(fn.FoldingRangeRefreshRequest=n={})),fn}var ri={},mu;function iT(){if(mu)return ri;mu=1,Object.defineProperty(ri,"__esModule",{value:!0}),ri.DeclarationRequest=void 0;const t=pe();var e;return(function(n){n.method="textDocument/declaration",n.messageDirection=t.MessageDirection.clientToServer,n.type=new t.ProtocolRequestType(n.method)})(e||(ri.DeclarationRequest=e={})),ri}var ii={},gu;function sT(){if(gu)return ii;gu=1,Object.defineProperty(ii,"__esModule",{value:!0}),ii.SelectionRangeRequest=void 0;const t=pe();var e;return(function(n){n.method="textDocument/selectionRange",n.messageDirection=t.MessageDirection.clientToServer,n.type=new t.ProtocolRequestType(n.method)})(e||(ii.SelectionRangeRequest=e={})),ii}var St={},yu;function aT(){if(yu)return St;yu=1,Object.defineProperty(St,"__esModule",{value:!0}),St.WorkDoneProgressCancelNotification=St.WorkDoneProgressCreateRequest=St.WorkDoneProgress=void 0;const t=$r(),e=pe();var n;(function(s){s.type=new t.ProgressType;function a(o){return o===s.type}s.is=a})(n||(St.WorkDoneProgress=n={}));var r;(function(s){s.method="window/workDoneProgress/create",s.messageDirection=e.MessageDirection.serverToClient,s.type=new e.ProtocolRequestType(s.method)})(r||(St.WorkDoneProgressCreateRequest=r={}));var i;return(function(s){s.method="window/workDoneProgress/cancel",s.messageDirection=e.MessageDirection.clientToServer,s.type=new e.ProtocolNotificationType(s.method)})(i||(St.WorkDoneProgressCancelNotification=i={})),St}var Ct={},Tu;function oT(){if(Tu)return Ct;Tu=1,Object.defineProperty(Ct,"__esModule",{value:!0}),Ct.CallHierarchyOutgoingCallsRequest=Ct.CallHierarchyIncomingCallsRequest=Ct.CallHierarchyPrepareRequest=void 0;const t=pe();var e;(function(i){i.method="textDocument/prepareCallHierarchy",i.messageDirection=t.MessageDirection.clientToServer,i.type=new t.ProtocolRequestType(i.method)})(e||(Ct.CallHierarchyPrepareRequest=e={}));var n;(function(i){i.method="callHierarchy/incomingCalls",i.messageDirection=t.MessageDirection.clientToServer,i.type=new t.ProtocolRequestType(i.method)})(n||(Ct.CallHierarchyIncomingCallsRequest=n={}));var r;return(function(i){i.method="callHierarchy/outgoingCalls",i.messageDirection=t.MessageDirection.clientToServer,i.type=new t.ProtocolRequestType(i.method)})(r||(Ct.CallHierarchyOutgoingCallsRequest=r={})),Ct}var je={},Ru;function cT(){if(Ru)return je;Ru=1,Object.defineProperty(je,"__esModule",{value:!0}),je.SemanticTokensRefreshRequest=je.SemanticTokensRangeRequest=je.SemanticTokensDeltaRequest=je.SemanticTokensRequest=je.SemanticTokensRegistrationType=je.TokenFormat=void 0;const t=pe();var e;(function(o){o.Relative="relative"})(e||(je.TokenFormat=e={}));var n;(function(o){o.method="textDocument/semanticTokens",o.type=new t.RegistrationType(o.method)})(n||(je.SemanticTokensRegistrationType=n={}));var r;(function(o){o.method="textDocument/semanticTokens/full",o.messageDirection=t.MessageDirection.clientToServer,o.type=new t.ProtocolRequestType(o.method),o.registrationMethod=n.method})(r||(je.SemanticTokensRequest=r={}));var i;(function(o){o.method="textDocument/semanticTokens/full/delta",o.messageDirection=t.MessageDirection.clientToServer,o.type=new t.ProtocolRequestType(o.method),o.registrationMethod=n.method})(i||(je.SemanticTokensDeltaRequest=i={}));var s;(function(o){o.method="textDocument/semanticTokens/range",o.messageDirection=t.MessageDirection.clientToServer,o.type=new t.ProtocolRequestType(o.method),o.registrationMethod=n.method})(s||(je.SemanticTokensRangeRequest=s={}));var a;return(function(o){o.method="workspace/semanticTokens/refresh",o.messageDirection=t.MessageDirection.serverToClient,o.type=new t.ProtocolRequestType0(o.method)})(a||(je.SemanticTokensRefreshRequest=a={})),je}var si={},vu;function lT(){if(vu)return si;vu=1,Object.defineProperty(si,"__esModule",{value:!0}),si.ShowDocumentRequest=void 0;const t=pe();var e;return(function(n){n.method="window/showDocument",n.messageDirection=t.MessageDirection.serverToClient,n.type=new t.ProtocolRequestType(n.method)})(e||(si.ShowDocumentRequest=e={})),si}var ai={},Eu;function uT(){if(Eu)return ai;Eu=1,Object.defineProperty(ai,"__esModule",{value:!0}),ai.LinkedEditingRangeRequest=void 0;const t=pe();var e;return(function(n){n.method="textDocument/linkedEditingRange",n.messageDirection=t.MessageDirection.clientToServer,n.type=new t.ProtocolRequestType(n.method)})(e||(ai.LinkedEditingRangeRequest=e={})),ai}var $e={},Au;function dT(){if(Au)return $e;Au=1,Object.defineProperty($e,"__esModule",{value:!0}),$e.WillDeleteFilesRequest=$e.DidDeleteFilesNotification=$e.DidRenameFilesNotification=$e.WillRenameFilesRequest=$e.DidCreateFilesNotification=$e.WillCreateFilesRequest=$e.FileOperationPatternKind=void 0;const t=pe();var e;(function(c){c.file="file",c.folder="folder"})(e||($e.FileOperationPatternKind=e={}));var n;(function(c){c.method="workspace/willCreateFiles",c.messageDirection=t.MessageDirection.clientToServer,c.type=new t.ProtocolRequestType(c.method)})(n||($e.WillCreateFilesRequest=n={}));var r;(function(c){c.method="workspace/didCreateFiles",c.messageDirection=t.MessageDirection.clientToServer,c.type=new t.ProtocolNotificationType(c.method)})(r||($e.DidCreateFilesNotification=r={}));var i;(function(c){c.method="workspace/willRenameFiles",c.messageDirection=t.MessageDirection.clientToServer,c.type=new t.ProtocolRequestType(c.method)})(i||($e.WillRenameFilesRequest=i={}));var s;(function(c){c.method="workspace/didRenameFiles",c.messageDirection=t.MessageDirection.clientToServer,c.type=new t.ProtocolNotificationType(c.method)})(s||($e.DidRenameFilesNotification=s={}));var a;(function(c){c.method="workspace/didDeleteFiles",c.messageDirection=t.MessageDirection.clientToServer,c.type=new t.ProtocolNotificationType(c.method)})(a||($e.DidDeleteFilesNotification=a={}));var o;return(function(c){c.method="workspace/willDeleteFiles",c.messageDirection=t.MessageDirection.clientToServer,c.type=new t.ProtocolRequestType(c.method)})(o||($e.WillDeleteFilesRequest=o={})),$e}var kt={},Su;function fT(){if(Su)return kt;Su=1,Object.defineProperty(kt,"__esModule",{value:!0}),kt.MonikerRequest=kt.MonikerKind=kt.UniquenessLevel=void 0;const t=pe();var e;(function(i){i.document="document",i.project="project",i.group="group",i.scheme="scheme",i.global="global"})(e||(kt.UniquenessLevel=e={}));var n;(function(i){i.$import="import",i.$export="export",i.local="local"})(n||(kt.MonikerKind=n={}));var r;return(function(i){i.method="textDocument/moniker",i.messageDirection=t.MessageDirection.clientToServer,i.type=new t.ProtocolRequestType(i.method)})(r||(kt.MonikerRequest=r={})),kt}var bt={},Cu;function hT(){if(Cu)return bt;Cu=1,Object.defineProperty(bt,"__esModule",{value:!0}),bt.TypeHierarchySubtypesRequest=bt.TypeHierarchySupertypesRequest=bt.TypeHierarchyPrepareRequest=void 0;const t=pe();var e;(function(i){i.method="textDocument/prepareTypeHierarchy",i.messageDirection=t.MessageDirection.clientToServer,i.type=new t.ProtocolRequestType(i.method)})(e||(bt.TypeHierarchyPrepareRequest=e={}));var n;(function(i){i.method="typeHierarchy/supertypes",i.messageDirection=t.MessageDirection.clientToServer,i.type=new t.ProtocolRequestType(i.method)})(n||(bt.TypeHierarchySupertypesRequest=n={}));var r;return(function(i){i.method="typeHierarchy/subtypes",i.messageDirection=t.MessageDirection.clientToServer,i.type=new t.ProtocolRequestType(i.method)})(r||(bt.TypeHierarchySubtypesRequest=r={})),bt}var hn={},ku;function pT(){if(ku)return hn;ku=1,Object.defineProperty(hn,"__esModule",{value:!0}),hn.InlineValueRefreshRequest=hn.InlineValueRequest=void 0;const t=pe();var e;(function(r){r.method="textDocument/inlineValue",r.messageDirection=t.MessageDirection.clientToServer,r.type=new t.ProtocolRequestType(r.method)})(e||(hn.InlineValueRequest=e={}));var n;return(function(r){r.method="workspace/inlineValue/refresh",r.messageDirection=t.MessageDirection.serverToClient,r.type=new t.ProtocolRequestType0(r.method)})(n||(hn.InlineValueRefreshRequest=n={})),hn}var wt={},bu;function mT(){if(bu)return wt;bu=1,Object.defineProperty(wt,"__esModule",{value:!0}),wt.InlayHintRefreshRequest=wt.InlayHintResolveRequest=wt.InlayHintRequest=void 0;const t=pe();var e;(function(i){i.method="textDocument/inlayHint",i.messageDirection=t.MessageDirection.clientToServer,i.type=new t.ProtocolRequestType(i.method)})(e||(wt.InlayHintRequest=e={}));var n;(function(i){i.method="inlayHint/resolve",i.messageDirection=t.MessageDirection.clientToServer,i.type=new t.ProtocolRequestType(i.method)})(n||(wt.InlayHintResolveRequest=n={}));var r;return(function(i){i.method="workspace/inlayHint/refresh",i.messageDirection=t.MessageDirection.serverToClient,i.type=new t.ProtocolRequestType0(i.method)})(r||(wt.InlayHintRefreshRequest=r={})),wt}var Xe={},wu;function gT(){if(wu)return Xe;wu=1,Object.defineProperty(Xe,"__esModule",{value:!0}),Xe.DiagnosticRefreshRequest=Xe.WorkspaceDiagnosticRequest=Xe.DocumentDiagnosticRequest=Xe.DocumentDiagnosticReportKind=Xe.DiagnosticServerCancellationData=void 0;const t=$r(),e=Yc(),n=pe();var r;(function(c){function l(u){const f=u;return f&&e.boolean(f.retriggerRequest)}c.is=l})(r||(Xe.DiagnosticServerCancellationData=r={}));var i;(function(c){c.Full="full",c.Unchanged="unchanged"})(i||(Xe.DocumentDiagnosticReportKind=i={}));var s;(function(c){c.method="textDocument/diagnostic",c.messageDirection=n.MessageDirection.clientToServer,c.type=new n.ProtocolRequestType(c.method),c.partialResult=new t.ProgressType})(s||(Xe.DocumentDiagnosticRequest=s={}));var a;(function(c){c.method="workspace/diagnostic",c.messageDirection=n.MessageDirection.clientToServer,c.type=new n.ProtocolRequestType(c.method),c.partialResult=new t.ProgressType})(a||(Xe.WorkspaceDiagnosticRequest=a={}));var o;return(function(c){c.method="workspace/diagnostic/refresh",c.messageDirection=n.MessageDirection.serverToClient,c.type=new n.ProtocolRequestType0(c.method)})(o||(Xe.DiagnosticRefreshRequest=o={})),Xe}var ue={},_u;function yT(){if(_u)return ue;_u=1,Object.defineProperty(ue,"__esModule",{value:!0}),ue.DidCloseNotebookDocumentNotification=ue.DidSaveNotebookDocumentNotification=ue.DidChangeNotebookDocumentNotification=ue.NotebookCellArrayChange=ue.DidOpenNotebookDocumentNotification=ue.NotebookDocumentSyncRegistrationType=ue.NotebookDocument=ue.NotebookCell=ue.ExecutionSummary=ue.NotebookCellKind=void 0;const t=Xc,e=Yc(),n=pe();var r;(function(p){p.Markup=1,p.Code=2;function E(N){return N===1||N===2}p.is=E})(r||(ue.NotebookCellKind=r={}));var i;(function(p){function E(C,S){const b={executionOrder:C};return(S===!0||S===!1)&&(b.success=S),b}p.create=E;function N(C){const S=C;return e.objectLiteral(S)&&t.uinteger.is(S.executionOrder)&&(S.success===void 0||e.boolean(S.success))}p.is=N;function I(C,S){return C===S?!0:C==null||S===null||S===void 0?!1:C.executionOrder===S.executionOrder&&C.success===S.success}p.equals=I})(i||(ue.ExecutionSummary=i={}));var s;(function(p){function E(S,b){return{kind:S,document:b}}p.create=E;function N(S){const b=S;return e.objectLiteral(b)&&r.is(b.kind)&&t.DocumentUri.is(b.document)&&(b.metadata===void 0||e.objectLiteral(b.metadata))}p.is=N;function I(S,b){const P=new Set;return S.document!==b.document&&P.add("document"),S.kind!==b.kind&&P.add("kind"),S.executionSummary!==b.executionSummary&&P.add("executionSummary"),(S.metadata!==void 0||b.metadata!==void 0)&&!C(S.metadata,b.metadata)&&P.add("metadata"),(S.executionSummary!==void 0||b.executionSummary!==void 0)&&!i.equals(S.executionSummary,b.executionSummary)&&P.add("executionSummary"),P}p.diff=I;function C(S,b){if(S===b)return!0;if(S==null||b===null||b===void 0||typeof S!=typeof b||typeof S!="object")return!1;const P=Array.isArray(S),V=Array.isArray(b);if(P!==V)return!1;if(P&&V){if(S.length!==b.length)return!1;for(let B=0;B<S.length;B++)if(!C(S[B],b[B]))return!1}if(e.objectLiteral(S)&&e.objectLiteral(b)){const B=Object.keys(S),H=Object.keys(b);if(B.length!==H.length||(B.sort(),H.sort(),!C(B,H)))return!1;for(let re=0;re<B.length;re++){const ae=B[re];if(!C(S[ae],b[ae]))return!1}}return!0}})(s||(ue.NotebookCell=s={}));var a;(function(p){function E(I,C,S,b){return{uri:I,notebookType:C,version:S,cells:b}}p.create=E;function N(I){const C=I;return e.objectLiteral(C)&&e.string(C.uri)&&t.integer.is(C.version)&&e.typedArray(C.cells,s.is)}p.is=N})(a||(ue.NotebookDocument=a={}));var o;(function(p){p.method="notebookDocument/sync",p.messageDirection=n.MessageDirection.clientToServer,p.type=new n.RegistrationType(p.method)})(o||(ue.NotebookDocumentSyncRegistrationType=o={}));var c;(function(p){p.method="notebookDocument/didOpen",p.messageDirection=n.MessageDirection.clientToServer,p.type=new n.ProtocolNotificationType(p.method),p.registrationMethod=o.method})(c||(ue.DidOpenNotebookDocumentNotification=c={}));var l;(function(p){function E(I){const C=I;return e.objectLiteral(C)&&t.uinteger.is(C.start)&&t.uinteger.is(C.deleteCount)&&(C.cells===void 0||e.typedArray(C.cells,s.is))}p.is=E;function N(I,C,S){const b={start:I,deleteCount:C};return S!==void 0&&(b.cells=S),b}p.create=N})(l||(ue.NotebookCellArrayChange=l={}));var u;(function(p){p.method="notebookDocument/didChange",p.messageDirection=n.MessageDirection.clientToServer,p.type=new n.ProtocolNotificationType(p.method),p.registrationMethod=o.method})(u||(ue.DidChangeNotebookDocumentNotification=u={}));var f;(function(p){p.method="notebookDocument/didSave",p.messageDirection=n.MessageDirection.clientToServer,p.type=new n.ProtocolNotificationType(p.method),p.registrationMethod=o.method})(f||(ue.DidSaveNotebookDocumentNotification=f={}));var g;return(function(p){p.method="notebookDocument/didClose",p.messageDirection=n.MessageDirection.clientToServer,p.type=new n.ProtocolNotificationType(p.method),p.registrationMethod=o.method})(g||(ue.DidCloseNotebookDocumentNotification=g={})),ue}var oi={},Nu;function TT(){if(Nu)return oi;Nu=1,Object.defineProperty(oi,"__esModule",{value:!0}),oi.InlineCompletionRequest=void 0;const t=pe();var e;return(function(n){n.method="textDocument/inlineCompletion",n.messageDirection=t.MessageDirection.clientToServer,n.type=new t.ProtocolRequestType(n.method)})(e||(oi.InlineCompletionRequest=e={})),oi}var Iu;function RT(){return Iu||(Iu=1,(function(t){Object.defineProperty(t,"__esModule",{value:!0}),t.WorkspaceSymbolRequest=t.CodeActionResolveRequest=t.CodeActionRequest=t.DocumentSymbolRequest=t.DocumentHighlightRequest=t.ReferencesRequest=t.DefinitionRequest=t.SignatureHelpRequest=t.SignatureHelpTriggerKind=t.HoverRequest=t.CompletionResolveRequest=t.CompletionRequest=t.CompletionTriggerKind=t.PublishDiagnosticsNotification=t.WatchKind=t.RelativePattern=t.FileChangeType=t.DidChangeWatchedFilesNotification=t.WillSaveTextDocumentWaitUntilRequest=t.WillSaveTextDocumentNotification=t.TextDocumentSaveReason=t.DidSaveTextDocumentNotification=t.DidCloseTextDocumentNotification=t.DidChangeTextDocumentNotification=t.TextDocumentContentChangeEvent=t.DidOpenTextDocumentNotification=t.TextDocumentSyncKind=t.TelemetryEventNotification=t.LogMessageNotification=t.ShowMessageRequest=t.ShowMessageNotification=t.MessageType=t.DidChangeConfigurationNotification=t.ExitNotification=t.ShutdownRequest=t.InitializedNotification=t.InitializeErrorCodes=t.InitializeRequest=t.WorkDoneProgressOptions=t.TextDocumentRegistrationOptions=t.StaticRegistrationOptions=t.PositionEncodingKind=t.FailureHandlingKind=t.ResourceOperationKind=t.UnregistrationRequest=t.RegistrationRequest=t.DocumentSelector=t.NotebookCellTextDocumentFilter=t.NotebookDocumentFilter=t.TextDocumentFilter=void 0,t.MonikerRequest=t.MonikerKind=t.UniquenessLevel=t.WillDeleteFilesRequest=t.DidDeleteFilesNotification=t.WillRenameFilesRequest=t.DidRenameFilesNotification=t.WillCreateFilesRequest=t.DidCreateFilesNotification=t.FileOperationPatternKind=t.LinkedEditingRangeRequest=t.ShowDocumentRequest=t.SemanticTokensRegistrationType=t.SemanticTokensRefreshRequest=t.SemanticTokensRangeRequest=t.SemanticTokensDeltaRequest=t.SemanticTokensRequest=t.TokenFormat=t.CallHierarchyPrepareRequest=t.CallHierarchyOutgoingCallsRequest=t.CallHierarchyIncomingCallsRequest=t.WorkDoneProgressCancelNotification=t.WorkDoneProgressCreateRequest=t.WorkDoneProgress=t.SelectionRangeRequest=t.DeclarationRequest=t.FoldingRangeRefreshRequest=t.FoldingRangeRequest=t.ColorPresentationRequest=t.DocumentColorRequest=t.ConfigurationRequest=t.DidChangeWorkspaceFoldersNotification=t.WorkspaceFoldersRequest=t.TypeDefinitionRequest=t.ImplementationRequest=t.ApplyWorkspaceEditRequest=t.ExecuteCommandRequest=t.PrepareRenameRequest=t.RenameRequest=t.PrepareSupportDefaultBehavior=t.DocumentOnTypeFormattingRequest=t.DocumentRangesFormattingRequest=t.DocumentRangeFormattingRequest=t.DocumentFormattingRequest=t.DocumentLinkResolveRequest=t.DocumentLinkRequest=t.CodeLensRefreshRequest=t.CodeLensResolveRequest=t.CodeLensRequest=t.WorkspaceSymbolResolveRequest=void 0,t.InlineCompletionRequest=t.DidCloseNotebookDocumentNotification=t.DidSaveNotebookDocumentNotification=t.DidChangeNotebookDocumentNotification=t.NotebookCellArrayChange=t.DidOpenNotebookDocumentNotification=t.NotebookDocumentSyncRegistrationType=t.NotebookDocument=t.NotebookCell=t.ExecutionSummary=t.NotebookCellKind=t.DiagnosticRefreshRequest=t.WorkspaceDiagnosticRequest=t.DocumentDiagnosticRequest=t.DocumentDiagnosticReportKind=t.DiagnosticServerCancellationData=t.InlayHintRefreshRequest=t.InlayHintResolveRequest=t.InlayHintRequest=t.InlineValueRefreshRequest=t.InlineValueRequest=t.TypeHierarchySupertypesRequest=t.TypeHierarchySubtypesRequest=t.TypeHierarchyPrepareRequest=void 0;const e=pe(),n=Xc,r=Yc(),i=Qy();Object.defineProperty(t,"ImplementationRequest",{enumerable:!0,get:function(){return i.ImplementationRequest}});const s=Zy();Object.defineProperty(t,"TypeDefinitionRequest",{enumerable:!0,get:function(){return s.TypeDefinitionRequest}});const a=eT();Object.defineProperty(t,"WorkspaceFoldersRequest",{enumerable:!0,get:function(){return a.WorkspaceFoldersRequest}}),Object.defineProperty(t,"DidChangeWorkspaceFoldersNotification",{enumerable:!0,get:function(){return a.DidChangeWorkspaceFoldersNotification}});const o=tT();Object.defineProperty(t,"ConfigurationRequest",{enumerable:!0,get:function(){return o.ConfigurationRequest}});const c=nT();Object.defineProperty(t,"DocumentColorRequest",{enumerable:!0,get:function(){return c.DocumentColorRequest}}),Object.defineProperty(t,"ColorPresentationRequest",{enumerable:!0,get:function(){return c.ColorPresentationRequest}});const l=rT();Object.defineProperty(t,"FoldingRangeRequest",{enumerable:!0,get:function(){return l.FoldingRangeRequest}}),Object.defineProperty(t,"FoldingRangeRefreshRequest",{enumerable:!0,get:function(){return l.FoldingRangeRefreshRequest}});const u=iT();Object.defineProperty(t,"DeclarationRequest",{enumerable:!0,get:function(){return u.DeclarationRequest}});const f=sT();Object.defineProperty(t,"SelectionRangeRequest",{enumerable:!0,get:function(){return f.SelectionRangeRequest}});const g=aT();Object.defineProperty(t,"WorkDoneProgress",{enumerable:!0,get:function(){return g.WorkDoneProgress}}),Object.defineProperty(t,"WorkDoneProgressCreateRequest",{enumerable:!0,get:function(){return g.WorkDoneProgressCreateRequest}}),Object.defineProperty(t,"WorkDoneProgressCancelNotification",{enumerable:!0,get:function(){return g.WorkDoneProgressCancelNotification}});const p=oT();Object.defineProperty(t,"CallHierarchyIncomingCallsRequest",{enumerable:!0,get:function(){return p.CallHierarchyIncomingCallsRequest}}),Object.defineProperty(t,"CallHierarchyOutgoingCallsRequest",{enumerable:!0,get:function(){return p.CallHierarchyOutgoingCallsRequest}}),Object.defineProperty(t,"CallHierarchyPrepareRequest",{enumerable:!0,get:function(){return p.CallHierarchyPrepareRequest}});const E=cT();Object.defineProperty(t,"TokenFormat",{enumerable:!0,get:function(){return E.TokenFormat}}),Object.defineProperty(t,"SemanticTokensRequest",{enumerable:!0,get:function(){return E.SemanticTokensRequest}}),Object.defineProperty(t,"SemanticTokensDeltaRequest",{enumerable:!0,get:function(){return E.SemanticTokensDeltaRequest}}),Object.defineProperty(t,"SemanticTokensRangeRequest",{enumerable:!0,get:function(){return E.SemanticTokensRangeRequest}}),Object.defineProperty(t,"SemanticTokensRefreshRequest",{enumerable:!0,get:function(){return E.SemanticTokensRefreshRequest}}),Object.defineProperty(t,"SemanticTokensRegistrationType",{enumerable:!0,get:function(){return E.SemanticTokensRegistrationType}});const N=lT();Object.defineProperty(t,"ShowDocumentRequest",{enumerable:!0,get:function(){return N.ShowDocumentRequest}});const I=uT();Object.defineProperty(t,"LinkedEditingRangeRequest",{enumerable:!0,get:function(){return I.LinkedEditingRangeRequest}});const C=dT();Object.defineProperty(t,"FileOperationPatternKind",{enumerable:!0,get:function(){return C.FileOperationPatternKind}}),Object.defineProperty(t,"DidCreateFilesNotification",{enumerable:!0,get:function(){return C.DidCreateFilesNotification}}),Object.defineProperty(t,"WillCreateFilesRequest",{enumerable:!0,get:function(){return C.WillCreateFilesRequest}}),Object.defineProperty(t,"DidRenameFilesNotification",{enumerable:!0,get:function(){return C.DidRenameFilesNotification}}),Object.defineProperty(t,"WillRenameFilesRequest",{enumerable:!0,get:function(){return C.WillRenameFilesRequest}}),Object.defineProperty(t,"DidDeleteFilesNotification",{enumerable:!0,get:function(){return C.DidDeleteFilesNotification}}),Object.defineProperty(t,"WillDeleteFilesRequest",{enumerable:!0,get:function(){return C.WillDeleteFilesRequest}});const S=fT();Object.defineProperty(t,"UniquenessLevel",{enumerable:!0,get:function(){return S.UniquenessLevel}}),Object.defineProperty(t,"MonikerKind",{enumerable:!0,get:function(){return S.MonikerKind}}),Object.defineProperty(t,"MonikerRequest",{enumerable:!0,get:function(){return S.MonikerRequest}});const b=hT();Object.defineProperty(t,"TypeHierarchyPrepareRequest",{enumerable:!0,get:function(){return b.TypeHierarchyPrepareRequest}}),Object.defineProperty(t,"TypeHierarchySubtypesRequest",{enumerable:!0,get:function(){return b.TypeHierarchySubtypesRequest}}),Object.defineProperty(t,"TypeHierarchySupertypesRequest",{enumerable:!0,get:function(){return b.TypeHierarchySupertypesRequest}});const P=pT();Object.defineProperty(t,"InlineValueRequest",{enumerable:!0,get:function(){return P.InlineValueRequest}}),Object.defineProperty(t,"InlineValueRefreshRequest",{enumerable:!0,get:function(){return P.InlineValueRefreshRequest}});const V=mT();Object.defineProperty(t,"InlayHintRequest",{enumerable:!0,get:function(){return V.InlayHintRequest}}),Object.defineProperty(t,"InlayHintResolveRequest",{enumerable:!0,get:function(){return V.InlayHintResolveRequest}}),Object.defineProperty(t,"InlayHintRefreshRequest",{enumerable:!0,get:function(){return V.InlayHintRefreshRequest}});const B=gT();Object.defineProperty(t,"DiagnosticServerCancellationData",{enumerable:!0,get:function(){return B.DiagnosticServerCancellationData}}),Object.defineProperty(t,"DocumentDiagnosticReportKind",{enumerable:!0,get:function(){return B.DocumentDiagnosticReportKind}}),Object.defineProperty(t,"DocumentDiagnosticRequest",{enumerable:!0,get:function(){return B.DocumentDiagnosticRequest}}),Object.defineProperty(t,"WorkspaceDiagnosticRequest",{enumerable:!0,get:function(){return B.WorkspaceDiagnosticRequest}}),Object.defineProperty(t,"DiagnosticRefreshRequest",{enumerable:!0,get:function(){return B.DiagnosticRefreshRequest}});const H=yT();Object.defineProperty(t,"NotebookCellKind",{enumerable:!0,get:function(){return H.NotebookCellKind}}),Object.defineProperty(t,"ExecutionSummary",{enumerable:!0,get:function(){return H.ExecutionSummary}}),Object.defineProperty(t,"NotebookCell",{enumerable:!0,get:function(){return H.NotebookCell}}),Object.defineProperty(t,"NotebookDocument",{enumerable:!0,get:function(){return H.NotebookDocument}}),Object.defineProperty(t,"NotebookDocumentSyncRegistrationType",{enumerable:!0,get:function(){return H.NotebookDocumentSyncRegistrationType}}),Object.defineProperty(t,"DidOpenNotebookDocumentNotification",{enumerable:!0,get:function(){return H.DidOpenNotebookDocumentNotification}}),Object.defineProperty(t,"NotebookCellArrayChange",{enumerable:!0,get:function(){return H.NotebookCellArrayChange}}),Object.defineProperty(t,"DidChangeNotebookDocumentNotification",{enumerable:!0,get:function(){return H.DidChangeNotebookDocumentNotification}}),Object.defineProperty(t,"DidSaveNotebookDocumentNotification",{enumerable:!0,get:function(){return H.DidSaveNotebookDocumentNotification}}),Object.defineProperty(t,"DidCloseNotebookDocumentNotification",{enumerable:!0,get:function(){return H.DidCloseNotebookDocumentNotification}});const re=TT();Object.defineProperty(t,"InlineCompletionRequest",{enumerable:!0,get:function(){return re.InlineCompletionRequest}});var ae;(function(d){function ve(Ee){const z=Ee;return r.string(z)||r.string(z.language)||r.string(z.scheme)||r.string(z.pattern)}d.is=ve})(ae||(t.TextDocumentFilter=ae={}));var oe;(function(d){function ve(Ee){const z=Ee;return r.objectLiteral(z)&&(r.string(z.notebookType)||r.string(z.scheme)||r.string(z.pattern))}d.is=ve})(oe||(t.NotebookDocumentFilter=oe={}));var _;(function(d){function ve(Ee){const z=Ee;return r.objectLiteral(z)&&(r.string(z.notebook)||oe.is(z.notebook))&&(z.language===void 0||r.string(z.language))}d.is=ve})(_||(t.NotebookCellTextDocumentFilter=_={}));var T;(function(d){function ve(Ee){if(!Array.isArray(Ee))return!1;for(let z of Ee)if(!r.string(z)&&!ae.is(z)&&!_.is(z))return!1;return!0}d.is=ve})(T||(t.DocumentSelector=T={}));var m;(function(d){d.method="client/registerCapability",d.messageDirection=e.MessageDirection.serverToClient,d.type=new e.ProtocolRequestType(d.method)})(m||(t.RegistrationRequest=m={}));var k;(function(d){d.method="client/unregisterCapability",d.messageDirection=e.MessageDirection.serverToClient,d.type=new e.ProtocolRequestType(d.method)})(k||(t.UnregistrationRequest=k={}));var y;(function(d){d.Create="create",d.Rename="rename",d.Delete="delete"})(y||(t.ResourceOperationKind=y={}));var R;(function(d){d.Abort="abort",d.Transactional="transactional",d.TextOnlyTransactional="textOnlyTransactional",d.Undo="undo"})(R||(t.FailureHandlingKind=R={}));var A;(function(d){d.UTF8="utf-8",d.UTF16="utf-16",d.UTF32="utf-32"})(A||(t.PositionEncodingKind=A={}));var L;(function(d){function ve(Ee){const z=Ee;return z&&r.string(z.id)&&z.id.length>0}d.hasId=ve})(L||(t.StaticRegistrationOptions=L={}));var D;(function(d){function ve(Ee){const z=Ee;return z&&(z.documentSelector===null||T.is(z.documentSelector))}d.is=ve})(D||(t.TextDocumentRegistrationOptions=D={}));var x;(function(d){function ve(z){const h=z;return r.objectLiteral(h)&&(h.workDoneProgress===void 0||r.boolean(h.workDoneProgress))}d.is=ve;function Ee(z){const h=z;return h&&r.boolean(h.workDoneProgress)}d.hasWorkDoneProgress=Ee})(x||(t.WorkDoneProgressOptions=x={}));var j;(function(d){d.method="initialize",d.messageDirection=e.MessageDirection.clientToServer,d.type=new e.ProtocolRequestType(d.method)})(j||(t.InitializeRequest=j={}));var F;(function(d){d.unknownProtocolVersion=1})(F||(t.InitializeErrorCodes=F={}));var te;(function(d){d.method="initialized",d.messageDirection=e.MessageDirection.clientToServer,d.type=new e.ProtocolNotificationType(d.method)})(te||(t.InitializedNotification=te={}));var U;(function(d){d.method="shutdown",d.messageDirection=e.MessageDirection.clientToServer,d.type=new e.ProtocolRequestType0(d.method)})(U||(t.ShutdownRequest=U={}));var Z;(function(d){d.method="exit",d.messageDirection=e.MessageDirection.clientToServer,d.type=new e.ProtocolNotificationType0(d.method)})(Z||(t.ExitNotification=Z={}));var Ne;(function(d){d.method="workspace/didChangeConfiguration",d.messageDirection=e.MessageDirection.clientToServer,d.type=new e.ProtocolNotificationType(d.method)})(Ne||(t.DidChangeConfigurationNotification=Ne={}));var me;(function(d){d.Error=1,d.Warning=2,d.Info=3,d.Log=4,d.Debug=5})(me||(t.MessageType=me={}));var ce;(function(d){d.method="window/showMessage",d.messageDirection=e.MessageDirection.serverToClient,d.type=new e.ProtocolNotificationType(d.method)})(ce||(t.ShowMessageNotification=ce={}));var be;(function(d){d.method="window/showMessageRequest",d.messageDirection=e.MessageDirection.serverToClient,d.type=new e.ProtocolRequestType(d.method)})(be||(t.ShowMessageRequest=be={}));var Ie;(function(d){d.method="window/logMessage",d.messageDirection=e.MessageDirection.serverToClient,d.type=new e.ProtocolNotificationType(d.method)})(Ie||(t.LogMessageNotification=Ie={}));var Ce;(function(d){d.method="telemetry/event",d.messageDirection=e.MessageDirection.serverToClient,d.type=new e.ProtocolNotificationType(d.method)})(Ce||(t.TelemetryEventNotification=Ce={}));var Y;(function(d){d.None=0,d.Full=1,d.Incremental=2})(Y||(t.TextDocumentSyncKind=Y={}));var He;(function(d){d.method="textDocument/didOpen",d.messageDirection=e.MessageDirection.clientToServer,d.type=new e.ProtocolNotificationType(d.method)})(He||(t.DidOpenTextDocumentNotification=He={}));var ge;(function(d){function ve(z){let h=z;return h!=null&&typeof h.text=="string"&&h.range!==void 0&&(h.rangeLength===void 0||typeof h.rangeLength=="number")}d.isIncremental=ve;function Ee(z){let h=z;return h!=null&&typeof h.text=="string"&&h.range===void 0&&h.rangeLength===void 0}d.isFull=Ee})(ge||(t.TextDocumentContentChangeEvent=ge={}));var nt;(function(d){d.method="textDocument/didChange",d.messageDirection=e.MessageDirection.clientToServer,d.type=new e.ProtocolNotificationType(d.method)})(nt||(t.DidChangeTextDocumentNotification=nt={}));var On;(function(d){d.method="textDocument/didClose",d.messageDirection=e.MessageDirection.clientToServer,d.type=new e.ProtocolNotificationType(d.method)})(On||(t.DidCloseTextDocumentNotification=On={}));var Or;(function(d){d.method="textDocument/didSave",d.messageDirection=e.MessageDirection.clientToServer,d.type=new e.ProtocolNotificationType(d.method)})(Or||(t.DidSaveTextDocumentNotification=Or={}));var Lr;(function(d){d.Manual=1,d.AfterDelay=2,d.FocusOut=3})(Lr||(t.TextDocumentSaveReason=Lr={}));var xr;(function(d){d.method="textDocument/willSave",d.messageDirection=e.MessageDirection.clientToServer,d.type=new e.ProtocolNotificationType(d.method)})(xr||(t.WillSaveTextDocumentNotification=xr={}));var Dr;(function(d){d.method="textDocument/willSaveWaitUntil",d.messageDirection=e.MessageDirection.clientToServer,d.type=new e.ProtocolRequestType(d.method)})(Dr||(t.WillSaveTextDocumentWaitUntilRequest=Dr={}));var rt;(function(d){d.method="workspace/didChangeWatchedFiles",d.messageDirection=e.MessageDirection.clientToServer,d.type=new e.ProtocolNotificationType(d.method)})(rt||(t.DidChangeWatchedFilesNotification=rt={}));var Mr;(function(d){d.Created=1,d.Changed=2,d.Deleted=3})(Mr||(t.FileChangeType=Mr={}));var Ui;(function(d){function ve(Ee){const z=Ee;return r.objectLiteral(z)&&(n.URI.is(z.baseUri)||n.WorkspaceFolder.is(z.baseUri))&&r.string(z.pattern)}d.is=ve})(Ui||(t.RelativePattern=Ui={}));var qi;(function(d){d.Create=1,d.Change=2,d.Delete=4})(qi||(t.WatchKind=qi={}));var zi;(function(d){d.method="textDocument/publishDiagnostics",d.messageDirection=e.MessageDirection.serverToClient,d.type=new e.ProtocolNotificationType(d.method)})(zi||(t.PublishDiagnosticsNotification=zi={}));var Bi;(function(d){d.Invoked=1,d.TriggerCharacter=2,d.TriggerForIncompleteCompletions=3})(Bi||(t.CompletionTriggerKind=Bi={}));var Fr;(function(d){d.method="textDocument/completion",d.messageDirection=e.MessageDirection.clientToServer,d.type=new e.ProtocolRequestType(d.method)})(Fr||(t.CompletionRequest=Fr={}));var Gr;(function(d){d.method="completionItem/resolve",d.messageDirection=e.MessageDirection.clientToServer,d.type=new e.ProtocolRequestType(d.method)})(Gr||(t.CompletionResolveRequest=Gr={}));var Tt;(function(d){d.method="textDocument/hover",d.messageDirection=e.MessageDirection.clientToServer,d.type=new e.ProtocolRequestType(d.method)})(Tt||(t.HoverRequest=Tt={}));var jr;(function(d){d.Invoked=1,d.TriggerCharacter=2,d.ContentChange=3})(jr||(t.SignatureHelpTriggerKind=jr={}));var Vi;(function(d){d.method="textDocument/signatureHelp",d.messageDirection=e.MessageDirection.clientToServer,d.type=new e.ProtocolRequestType(d.method)})(Vi||(t.SignatureHelpRequest=Vi={}));var Wi;(function(d){d.method="textDocument/definition",d.messageDirection=e.MessageDirection.clientToServer,d.type=new e.ProtocolRequestType(d.method)})(Wi||(t.DefinitionRequest=Wi={}));var Ur;(function(d){d.method="textDocument/references",d.messageDirection=e.MessageDirection.clientToServer,d.type=new e.ProtocolRequestType(d.method)})(Ur||(t.ReferencesRequest=Ur={}));var qr;(function(d){d.method="textDocument/documentHighlight",d.messageDirection=e.MessageDirection.clientToServer,d.type=new e.ProtocolRequestType(d.method)})(qr||(t.DocumentHighlightRequest=qr={}));var Ki;(function(d){d.method="textDocument/documentSymbol",d.messageDirection=e.MessageDirection.clientToServer,d.type=new e.ProtocolRequestType(d.method)})(Ki||(t.DocumentSymbolRequest=Ki={}));var Hi;(function(d){d.method="textDocument/codeAction",d.messageDirection=e.MessageDirection.clientToServer,d.type=new e.ProtocolRequestType(d.method)})(Hi||(t.CodeActionRequest=Hi={}));var Xi;(function(d){d.method="codeAction/resolve",d.messageDirection=e.MessageDirection.clientToServer,d.type=new e.ProtocolRequestType(d.method)})(Xi||(t.CodeActionResolveRequest=Xi={}));var Yi;(function(d){d.method="workspace/symbol",d.messageDirection=e.MessageDirection.clientToServer,d.type=new e.ProtocolRequestType(d.method)})(Yi||(t.WorkspaceSymbolRequest=Yi={}));var Ji;(function(d){d.method="workspaceSymbol/resolve",d.messageDirection=e.MessageDirection.clientToServer,d.type=new e.ProtocolRequestType(d.method)})(Ji||(t.WorkspaceSymbolResolveRequest=Ji={}));var Qi;(function(d){d.method="textDocument/codeLens",d.messageDirection=e.MessageDirection.clientToServer,d.type=new e.ProtocolRequestType(d.method)})(Qi||(t.CodeLensRequest=Qi={}));var it;(function(d){d.method="codeLens/resolve",d.messageDirection=e.MessageDirection.clientToServer,d.type=new e.ProtocolRequestType(d.method)})(it||(t.CodeLensResolveRequest=it={}));var Zi;(function(d){d.method="workspace/codeLens/refresh",d.messageDirection=e.MessageDirection.serverToClient,d.type=new e.ProtocolRequestType0(d.method)})(Zi||(t.CodeLensRefreshRequest=Zi={}));var es;(function(d){d.method="textDocument/documentLink",d.messageDirection=e.MessageDirection.clientToServer,d.type=new e.ProtocolRequestType(d.method)})(es||(t.DocumentLinkRequest=es={}));var en;(function(d){d.method="documentLink/resolve",d.messageDirection=e.MessageDirection.clientToServer,d.type=new e.ProtocolRequestType(d.method)})(en||(t.DocumentLinkResolveRequest=en={}));var ts;(function(d){d.method="textDocument/formatting",d.messageDirection=e.MessageDirection.clientToServer,d.type=new e.ProtocolRequestType(d.method)})(ts||(t.DocumentFormattingRequest=ts={}));var Ln;(function(d){d.method="textDocument/rangeFormatting",d.messageDirection=e.MessageDirection.clientToServer,d.type=new e.ProtocolRequestType(d.method)})(Ln||(t.DocumentRangeFormattingRequest=Ln={}));var ns;(function(d){d.method="textDocument/rangesFormatting",d.messageDirection=e.MessageDirection.clientToServer,d.type=new e.ProtocolRequestType(d.method)})(ns||(t.DocumentRangesFormattingRequest=ns={}));var Rt;(function(d){d.method="textDocument/onTypeFormatting",d.messageDirection=e.MessageDirection.clientToServer,d.type=new e.ProtocolRequestType(d.method)})(Rt||(t.DocumentOnTypeFormattingRequest=Rt={}));var qt;(function(d){d.Identifier=1})(qt||(t.PrepareSupportDefaultBehavior=qt={}));var rs;(function(d){d.method="textDocument/rename",d.messageDirection=e.MessageDirection.clientToServer,d.type=new e.ProtocolRequestType(d.method)})(rs||(t.RenameRequest=rs={}));var is;(function(d){d.method="textDocument/prepareRename",d.messageDirection=e.MessageDirection.clientToServer,d.type=new e.ProtocolRequestType(d.method)})(is||(t.PrepareRenameRequest=is={}));var zt;(function(d){d.method="workspace/executeCommand",d.messageDirection=e.MessageDirection.clientToServer,d.type=new e.ProtocolRequestType(d.method)})(zt||(t.ExecuteCommandRequest=zt={}));var zr;(function(d){d.method="workspace/applyEdit",d.messageDirection=e.MessageDirection.serverToClient,d.type=new e.ProtocolRequestType("workspace/applyEdit")})(zr||(t.ApplyWorkspaceEditRequest=zr={}))})(xa)),xa}var ci={},Pu;function vT(){if(Pu)return ci;Pu=1,Object.defineProperty(ci,"__esModule",{value:!0}),ci.createProtocolConnection=void 0;const t=$r();function e(n,r,i,s){return t.ConnectionStrategy.is(s)&&(s={connectionStrategy:s}),(0,t.createMessageConnection)(n,r,i,s)}return ci.createProtocolConnection=e,ci}var $u;function ET(){return $u||($u=1,(function(t){var e=ln&&ln.__createBinding||(Object.create?(function(s,a,o,c){c===void 0&&(c=o);var l=Object.getOwnPropertyDescriptor(a,o);(!l||("get"in l?!a.__esModule:l.writable||l.configurable))&&(l={enumerable:!0,get:function(){return a[o]}}),Object.defineProperty(s,c,l)}):(function(s,a,o,c){c===void 0&&(c=o),s[c]=a[o]})),n=ln&&ln.__exportStar||function(s,a){for(var o in s)o!=="default"&&!Object.prototype.hasOwnProperty.call(a,o)&&e(a,s,o)};Object.defineProperty(t,"__esModule",{value:!0}),t.LSPErrorCodes=t.createProtocolConnection=void 0,n($r(),t),n(Xc,t),n(pe(),t),n(RT(),t);var r=vT();Object.defineProperty(t,"createProtocolConnection",{enumerable:!0,get:function(){return r.createProtocolConnection}});var i;(function(s){s.lspReservedErrorRangeStart=-32899,s.RequestFailed=-32803,s.ServerCancelled=-32802,s.ContentModified=-32801,s.RequestCancelled=-32800,s.lspReservedErrorRangeEnd=-32800})(i||(t.LSPErrorCodes=i={}))})(ln)),ln}var Ou;function AT(){return Ou||(Ou=1,(function(t){var e=an&&an.__createBinding||(Object.create?(function(s,a,o,c){c===void 0&&(c=o);var l=Object.getOwnPropertyDescriptor(a,o);(!l||("get"in l?!a.__esModule:l.writable||l.configurable))&&(l={enumerable:!0,get:function(){return a[o]}}),Object.defineProperty(s,c,l)}):(function(s,a,o,c){c===void 0&&(c=o),s[c]=a[o]})),n=an&&an.__exportStar||function(s,a){for(var o in s)o!=="default"&&!Object.prototype.hasOwnProperty.call(a,o)&&e(a,s,o)};Object.defineProperty(t,"__esModule",{value:!0}),t.createProtocolConnection=void 0;const r=au();n(au(),t),n(ET(),t);function i(s,a,o,c){return(0,r.createMessageConnection)(s,a,o,c)}t.createProtocolConnection=i})(an)),an}var ms=AT(),vi;(function(t){function e(n){return{dispose:async()=>await n()}}t.create=e})(vi||(vi={}));class ST{constructor(e){this.updateBuildOptions={validation:{categories:["built-in","fast"]}},this.updateListeners=[],this.buildPhaseListeners=new Pi,this.documentPhaseListeners=new Pi,this.buildState=new Map,this.documentBuildWaiters=new Map,this.currentState=W.Changed,this.langiumDocuments=e.workspace.LangiumDocuments,this.langiumDocumentFactory=e.workspace.LangiumDocumentFactory,this.textDocuments=e.workspace.TextDocuments,this.indexManager=e.workspace.IndexManager,this.fileSystemProvider=e.workspace.FileSystemProvider,this.workspaceManager=()=>e.workspace.WorkspaceManager,this.serviceRegistry=e.ServiceRegistry}async build(e,n={},r=he.CancellationToken.None){for(const i of e){const s=i.uri.toString();if(i.state===W.Validated){if(typeof n.validation=="boolean"&&n.validation)this.resetToState(i,W.IndexedReferences);else if(typeof n.validation=="object"){const a=this.findMissingValidationCategories(i,n);a.length>0&&(this.buildState.set(s,{completed:!1,options:{validation:{categories:a}},result:this.buildState.get(s)?.result}),i.state=W.IndexedReferences)}}else this.buildState.delete(s)}this.currentState=W.Changed,await this.emitUpdate(e.map(i=>i.uri),[]),await this.buildDocuments(e,n,r)}async update(e,n,r=he.CancellationToken.None){this.currentState=W.Changed;const i=[];for(const c of n){const l=this.langiumDocuments.deleteDocuments(c);for(const u of l)i.push(u.uri),this.cleanUpDeleted(u)}const s=(await Promise.all(e.map(c=>this.findChangedUris(c)))).flat();for(const c of s){let l=this.langiumDocuments.getDocument(c);l===void 0&&(l=this.langiumDocumentFactory.fromModel({$type:"INVALID"},c),l.state=W.Changed,this.langiumDocuments.addDocument(l)),this.resetToState(l,W.Changed)}const a=de(s).concat(i).map(c=>c.toString()).toSet();this.langiumDocuments.all.filter(c=>!a.has(c.uri.toString())&&this.shouldRelink(c,a)).forEach(c=>this.resetToState(c,W.ComputedScopes)),await this.emitUpdate(s,i),await Ue(r);const o=this.sortDocuments(this.langiumDocuments.all.filter(c=>c.state<W.Validated||!this.buildState.get(c.uri.toString())?.completed||this.resultsAreIncomplete(c,this.updateBuildOptions)).toArray());await this.buildDocuments(o,this.updateBuildOptions,r)}resultsAreIncomplete(e,n){return this.findMissingValidationCategories(e,n).length>=1}findMissingValidationCategories(e,n){const r=this.buildState.get(e.uri.toString()),i=this.serviceRegistry.getServices(e.uri).validation.ValidationRegistry.getAllValidationCategories(e),s=r?.result?.validationChecks?new Set(r?.result?.validationChecks):r?.completed?i:new Set,a=n===void 0||n.validation===!0?i:typeof n.validation=="object"?n.validation.categories??i:[];return de(a).filter(o=>!s.has(o)).toArray()}async findChangedUris(e){if(this.langiumDocuments.getDocument(e)??this.textDocuments?.get(e))return[e];try{const r=await this.fileSystemProvider.stat(e);if(r.isDirectory)return await this.workspaceManager().searchFolder(e);if(this.workspaceManager().shouldIncludeEntry(r))return[e]}catch{}return[]}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){return!!this.textDocuments?.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),vi.create(()=>{const n=this.updateListeners.indexOf(e);n>=0&&this.updateListeners.splice(n,1)})}resetToState(e,n){switch(n){case W.Changed:case W.Parsed:this.indexManager.removeContent(e.uri);case W.IndexedContent:e.localSymbols=void 0;case W.ComputedScopes:this.serviceRegistry.getServices(e.uri).references.Linker.unlink(e);case W.Linked:this.indexManager.removeReferences(e.uri);case W.IndexedReferences:e.diagnostics=void 0,this.buildState.delete(e.uri.toString());case W.Validated:}e.state>n&&(e.state=n)}cleanUpDeleted(e){this.buildState.delete(e.uri.toString()),this.indexManager.remove(e.uri),e.state=W.Changed}async buildDocuments(e,n,r){this.prepareBuild(e,n),await this.runCancelable(e,W.Parsed,r,a=>this.langiumDocumentFactory.update(a,r)),await this.runCancelable(e,W.IndexedContent,r,a=>this.indexManager.updateContent(a,r)),await this.runCancelable(e,W.ComputedScopes,r,async a=>{const o=this.serviceRegistry.getServices(a.uri).references.ScopeComputation;a.localSymbols=await o.collectLocalSymbols(a,r)});const i=e.filter(a=>this.shouldLink(a));await this.runCancelable(i,W.Linked,r,a=>this.serviceRegistry.getServices(a.uri).references.Linker.link(a,r)),await this.runCancelable(i,W.IndexedReferences,r,a=>this.indexManager.updateReferences(a,r));const s=e.filter(a=>this.shouldValidate(a)?!0:(this.markAsCompleted(a),!1));await this.runCancelable(s,W.Validated,r,async a=>{await this.validate(a,r),this.markAsCompleted(a)})}markAsCompleted(e){const n=this.buildState.get(e.uri.toString());n&&(n.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?.result})}}async runCancelable(e,n,r,i){for(const a of e)a.state<n&&(await Ue(r),await i(a),a.state=n,await this.notifyDocumentPhase(a,n,r));const s=e.filter(a=>a.state===n);await this.notifyBuildPhase(s,n,r),this.currentState=n}onBuildPhase(e,n){return this.buildPhaseListeners.add(e,n),vi.create(()=>{this.buildPhaseListeners.delete(e,n)})}onDocumentPhase(e,n){return this.documentPhaseListeners.add(e,n),vi.create(()=>{this.documentPhaseListeners.delete(e,n)})}waitUntil(e,n,r){let i;return n&&"path"in n?i=n:r=n,r??(r=he.CancellationToken.None),i?this.awaitDocumentState(e,i,r):this.awaitBuilderState(e,r)}awaitDocumentState(e,n,r){const i=this.langiumDocuments.getDocument(n);if(i){if(i.state>=e)return Promise.resolve(n);if(r.isCancellationRequested)return Promise.reject(tr);if(this.currentState>=e&&e>i.state)return Promise.reject(new ms.ResponseError(ms.LSPErrorCodes.RequestFailed,`Document state of ${n.toString()} is ${W[i.state]}, requiring ${W[e]}, but workspace state is already ${W[this.currentState]}. Returning undefined.`))}else return Promise.reject(new ms.ResponseError(ms.LSPErrorCodes.ServerCancelled,`No document found for URI: ${n.toString()}`));return new Promise((s,a)=>{const o=this.onDocumentPhase(e,l=>{Qe.equals(l.uri,n)&&(o.dispose(),c.dispose(),s(l.uri))}),c=r.onCancellationRequested(()=>{o.dispose(),c.dispose(),a(tr)})})}awaitBuilderState(e,n){return this.currentState>=e?Promise.resolve():n.isCancellationRequested?Promise.reject(tr):new Promise((r,i)=>{const s=this.onBuildPhase(e,()=>{s.dispose(),a.dispose(),r()}),a=n.onCancellationRequested(()=>{s.dispose(),a.dispose(),i(tr)})})}async notifyDocumentPhase(e,n,r){const s=this.documentPhaseListeners.get(n).slice();for(const a of s)try{await Ue(r),await a(e,r)}catch(o){if(!ga(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 Ue(r),await a(e,r)}shouldLink(e){return this.getBuildOptions(e).eagerLinking??!0}shouldValidate(e){return!!this.getBuildOptions(e).validation}async validate(e,n){const r=this.serviceRegistry.getServices(e.uri).validation.DocumentValidator,i=this.getBuildOptions(e),s=typeof i.validation=="object"?{...i.validation}:{};s.categories=this.findMissingValidationCategories(e,i);const a=await r.validateDocument(e,s,n);e.diagnostics?e.diagnostics.push(...a):e.diagnostics=a;const o=this.buildState.get(e.uri.toString());o&&(o.result??(o.result={}),o.result.validationChecks?o.result.validationChecks=de(o.result.validationChecks).concat(s.categories).distinct().toArray():o.result.validationChecks=[...s.categories])}getBuildOptions(e){return this.buildState.get(e.uri.toString())?.options??{}}}class CT{constructor(e){this.symbolIndex=new Map,this.symbolByTypeIndex=new Ny,this.referenceIndex=new Map,this.documents=e.workspace.LangiumDocuments,this.serviceRegistry=e.ServiceRegistry,this.astReflection=e.AstReflection}findAllReferences(e,n){const r=xt(e).uri,i=[];return this.referenceIndex.forEach(s=>{s.forEach(a=>{Qe.equals(a.targetUri,r)&&a.targetPath===n&&i.push(a)})}),de(i)}allElements(e,n){let r=de(this.symbolIndex.keys());return n&&(r=r.filter(i=>!n||n.has(i))),r.map(i=>this.getFileDescriptions(i,e)).flat()}getFileDescriptions(e,n){return n?this.symbolByTypeIndex.get(e,n,()=>(this.symbolIndex.get(e)??[]).filter(s=>this.astReflection.isSubtype(s.type,n))):this.symbolIndex.get(e)??[]}remove(e){this.removeContent(e),this.removeReferences(e)}removeContent(e){const n=e.toString();this.symbolIndex.delete(n),this.symbolByTypeIndex.clear(n)}removeReferences(e){const n=e.toString();this.referenceIndex.delete(n)}async updateContent(e,n=he.CancellationToken.None){const i=await this.serviceRegistry.getServices(e.uri).references.ScopeComputation.collectExportedSymbols(e,n),s=e.uri.toString();this.symbolIndex.set(s,i),this.symbolByTypeIndex.clear(s)}async updateReferences(e,n=he.CancellationToken.None){const i=await this.serviceRegistry.getServices(e.uri).workspace.ReferenceDescriptionProvider.createDescriptions(e,n);this.referenceIndex.set(e.uri.toString(),i)}isAffected(e,n){const r=this.referenceIndex.get(e.uri.toString());return r?r.some(i=>!i.local&&n.has(i.targetUri.toString())):!1}}class kT{constructor(e){this.initialBuildOptions={},this._ready=new Hc,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){this.folders=e.workspaceFolders??void 0}initialized(e){return this.mutex.write(n=>this.initializeWorkspace(this.folders??[],n))}async initializeWorkspace(e,n=he.CancellationToken.None){const r=await this.performStartup(e);await Ue(n),await this.documentBuilder.build(r,this.initialBuildOptions,n)}async performStartup(e){const n=[],r=a=>{n.push(a),this.langiumDocuments.hasDocument(a.uri)||this.langiumDocuments.addDocument(a)};await this.loadAdditionalDocuments(e,r);const i=[];await Promise.all(e.map(a=>this.getRootFolder(a)).map(async a=>this.traverseFolder(a,i)));const s=de(i).distinct(a=>a.toString()).filter(a=>!this.langiumDocuments.hasDocument(a));return await this.loadWorkspaceDocuments(s,r),this._ready.resolve(),n}async loadWorkspaceDocuments(e,n){await Promise.all(e.map(async r=>{const i=await this.langiumDocuments.getOrCreateDocument(r);n(i)}))}loadAdditionalDocuments(e,n){return Promise.resolve()}getRootFolder(e){return ct.parse(e.uri)}async traverseFolder(e,n){try{const r=await this.fileSystemProvider.readDirectory(e);await Promise.all(r.map(async i=>{this.shouldIncludeEntry(i)&&(i.isDirectory?await this.traverseFolder(i.uri,n):i.isFile&&n.push(i.uri))}))}catch(r){console.error("Failure to read directory content of "+e.toString(!0),r)}}async searchFolder(e){const n=[];return await this.traverseFolder(e,n),n}shouldIncludeEntry(e){const n=Qe.basename(e.uri);return n.startsWith(".")?!1:e.isDirectory?n!=="node_modules"&&n!=="out":e.isFile?this.serviceRegistry.hasServices(e.uri):!1}}class bT{buildUnexpectedCharactersMessage(e,n,r,i,s){return ro.buildUnexpectedCharactersMessage(e,n,r,i,s)}buildUnableToPopLexerModeMessage(e){return ro.buildUnableToPopLexerModeMessage(e)}}const wT={mode:"full"};class _T{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=Lu(n)?Object.values(n):n,i=e.LanguageMetaData.mode==="production";this.chevrotainLexer=new Be(r,{positionTracking:"full",skipValidations:i,errorMessageProvider:this.errorMessageProvider})}get definition(){return this.tokenTypes}tokenize(e,n=wT){const r=this.chevrotainLexer.tokenize(e);return{tokens:r.tokens,errors:r.errors,hidden:r.groups.hidden??[],report:this.tokenBuilder.flushLexingReport?.(e)}}toTokenTypeDictionary(e){if(Lu(e))return e;const n=Ef(e)?Object.values(e.modes).flat():e,r={};return n.forEach(i=>r[i.name]=i),r}}function NT(t){return Array.isArray(t)&&(t.length===0||"name"in t[0])}function Ef(t){return t&&"modes"in t&&"defaultMode"in t}function Lu(t){return!NT(t)&&!Ef(t)}function IT(t,e,n){let r,i;typeof t=="string"?(i=e,r=n):(i=t.range.start,r=e),i||(i=Q.create(0,0));const s=Af(t),a=Jc(r),o=OT({lines:s,position:i,options:a});return FT({index:0,tokens:o,position:i})}function PT(t,e){const n=Jc(e),r=Af(t);if(r.length===0)return!1;const i=r[0],s=r[r.length-1],a=n.start,o=n.end;return!!a?.exec(i)&&!!o?.exec(s)}function Af(t){let e="";return typeof t=="string"?e=t:e=t.text,e.split($h)}const xu=/\s*(@([\p{L}][\p{L}\p{N}]*)?)/uy,$T=/\{(@[\p{L}][\p{L}\p{N}]*)(\s*)([^\r\n}]+)?\}/gu;function OT(t){const e=[];let n=t.position.line,r=t.position.character;for(let i=0;i<t.lines.length;i++){const s=i===0,a=i===t.lines.length-1;let o=t.lines[i],c=0;if(s&&t.options.start){const u=t.options.start?.exec(o);u&&(c=u.index+u[0].length)}else{const u=t.options.line?.exec(o);u&&(c=u.index+u[0].length)}if(a){const u=t.options.end?.exec(o);u&&(o=o.substring(0,u.index))}if(o=o.substring(0,MT(o)),Rc(o,c)>=o.length){if(e.length>0){const u=Q.create(n,r);e.push({type:"break",content:"",range:K.create(u,u)})}}else{xu.lastIndex=c;const u=xu.exec(o);if(u){const f=u[0],g=u[1],p=Q.create(n,r+c),E=Q.create(n,r+c+f.length);e.push({type:"tag",content:g,range:K.create(p,E)}),c+=f.length,c=Rc(o,c)}if(c<o.length){const f=o.substring(c),g=Array.from(f.matchAll($T));e.push(...LT(g,f,n,r+c))}}n++,r=0}return e.length>0&&e[e.length-1].type==="break"?e.slice(0,-1):e}function LT(t,e,n,r){const i=[];if(t.length===0){const s=Q.create(n,r),a=Q.create(n,r+e.length);i.push({type:"text",content:e,range:K.create(s,a)})}else{let s=0;for(const o of t){const c=o.index,l=e.substring(s,c);l.length>0&&i.push({type:"text",content:e.substring(s,c),range:K.create(Q.create(n,s+r),Q.create(n,c+r))});let u=l.length+1;const f=o[1];if(i.push({type:"inline-tag",content:f,range:K.create(Q.create(n,s+u+r),Q.create(n,s+u+f.length+r))}),u+=f.length,o.length===4){u+=o[2].length;const g=o[3];i.push({type:"text",content:g,range:K.create(Q.create(n,s+u+r),Q.create(n,s+u+g.length+r))})}else i.push({type:"text",content:"",range:K.create(Q.create(n,s+u+r),Q.create(n,s+u+r))});s=c+o[0].length}const a=e.substring(s);a.length>0&&i.push({type:"text",content:a,range:K.create(Q.create(n,s+r),Q.create(n,s+r+a.length))})}return i}const xT=/\S/,DT=/\s*$/;function Rc(t,e){const n=t.substring(e).match(xT);return n?e+n.index:t.length}function MT(t){const e=t.match(DT);if(e&&typeof e.index=="number")return e.index}function FT(t){const e=Q.create(t.position.line,t.position.character);if(t.tokens.length===0)return new Du([],K.create(e,e));const n=[];for(;t.index<t.tokens.length;){const s=GT(t,n[n.length-1]);s&&n.push(s)}const r=n[0]?.range.start??e,i=n[n.length-1]?.range.end??e;return new Du(n,K.create(r,i))}function GT(t,e){const n=t.tokens[t.index];if(n.type==="tag")return Cf(t,!1);if(n.type==="text"||n.type==="inline-tag")return Sf(t);jT(n,e),t.index++}function jT(t,e){if(e){const n=new bf("",t.range);"inlines"in e?e.inlines.push(n):e.content.inlines.push(n)}}function Sf(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(UT(t)),r=e,e=t.tokens[t.index];return new vc(i,K.create(n.range.start,r.range.end))}function UT(t){return t.tokens[t.index].type==="inline-tag"?Cf(t,!0):kf(t)}function Cf(t,e){const n=t.tokens[t.index++],r=n.content.substring(1);if(t.tokens[t.index]?.type==="text")if(e){const s=kf(t);return new Ma(r,new vc([s],s.range),e,K.create(n.range.start,s.range.end))}else{const s=Sf(t);return new Ma(r,s,e,K.create(n.range.start,s.range.end))}else{const s=n.range;return new Ma(r,new vc([],s),e,s)}}function kf(t){const e=t.tokens[t.index++];return new bf(e.content,e.range)}function Jc(t){if(!t)return Jc({start:"/**",end:"*/",line:"*"});const{start:e,end:n,line:r}=t;return{start:Da(e,!0),end:Da(n,!1),line:Da(r,!0)}}function Da(t,e){if(typeof t=="string"||typeof t=="object"){const n=typeof t=="string"?oa(t):t.source;return e?new RegExp(`^\\s*${n}`):new RegExp(`\\s*${n}\\s*$`)}else return t}class Du{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+=Mu(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+=Mu(n)+i}return n.trim()}}class Ma{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}
|
|
152
|
+
${n}`),this.inline?`{${e}}`:e}toMarkdown(e){return e?.renderTag?.(this)??this.toMarkdownDefault(e)}toMarkdownDefault(e){const n=this.content.toMarkdown(e);if(this.inline){const s=qT(this.name,n,e??{});if(typeof s=="string")return s}let r="";e?.tag==="italic"||e?.tag===void 0?r="*":e?.tag==="bold"?r="**":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}
|
|
153
|
+
${n}`),this.inline?`{${i}}`:i}}function qT(t,e,n){if(t==="linkplain"||t==="linkcode"||t==="link"){const r=e.indexOf(" ");let i=e;if(r>0){const a=Rc(e,r);i=e.substring(a),e=e.substring(0,r)}return(t==="linkcode"||t==="link"&&n.link==="code")&&(i=`\`${i}\``),n.renderLink?.(e,i)??zT(e,i)}}function zT(t,e){try{return ct.parse(t,!0),`[${e}](${t})`}catch{return t}}class vc{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+=`
|
|
154
|
+
`)}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+=`
|
|
155
|
+
`)}return n}}class bf{constructor(e,n){this.text=e,this.range=n}toString(){return this.text}toMarkdown(){return this.text}}function Mu(t){return t.endsWith(`
|
|
156
|
+
`)?`
|
|
157
|
+
`:`
|
|
158
|
+
|
|
159
|
+
`}class BT{constructor(e){this.indexManager=e.shared.workspace.IndexManager,this.commentProvider=e.documentation.CommentProvider}getDocumentation(e){const n=this.commentProvider.getComment(e);if(n&&PT(n))return IT(n).toMarkdown({renderLink:(i,s)=>this.documentationLinkRenderer(e,i,s),renderTag:i=>this.documentationTagRenderer(e,i)})}documentationLinkRenderer(e,n,r){const i=this.findNameInLocalSymbols(e,n)??this.findNameInGlobalScope(e,n);if(i&&i.nameSegment){const s=i.nameSegment.range.start.line+1,a=i.nameSegment.range.start.character+1,o=i.documentUri.with({fragment:`L${s},${a}`});return`[${r}](${o.toString()})`}else return}documentationTagRenderer(e,n){}findNameInLocalSymbols(e,n){const i=xt(e).localSymbols;if(!i)return;let s=e;do{const o=i.getStream(s).find(c=>c.name===n);if(o)return o;s=s.$container}while(s)}findNameInGlobalScope(e,n){return this.indexManager.allElements().find(i=>i.name===n)}}class VT{constructor(e){this.grammarConfig=()=>e.parser.GrammarConfig}getComment(e){return $y(e)?e.$comment:wh(e.$cstNode,this.grammarConfig().multilineCommentRules)?.text}}class WT{constructor(e){this.syncParser=e.parser.LangiumParser}parse(e,n){return Promise.resolve(this.syncParser.parse(e))}}class KT{constructor(){this.previousTokenSource=new he.CancellationTokenSource,this.writeQueue=[],this.readQueue=[],this.done=!0}write(e){this.cancelWrite();const n=yy();return this.previousTokenSource=n,this.enqueue(this.writeQueue,e,n.token)}read(e){return this.enqueue(this.readQueue,e)}enqueue(e,n,r=he.CancellationToken.None){const i=new Hc,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){ga(s)?r.resolve(void 0):r.reject(s)}})),this.done=!0,this.performNextOperation()}cancelWrite(){this.previousTokenSource.cancel()}}class HT{constructor(e){this.grammarElementIdMap=new Bl,this.tokenTypeIdMap=new Bl,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=>({...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 Dt(e))n.set(i,{});if(e.$cstNode)for(const i of Qa(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)De(o)?a.push(this.dehydrateAstNode(o,n)):ot(o)?a.push(this.dehydrateReference(o,n)):a.push(o)}else De(s)?r[i]=this.dehydrateAstNode(s,n):ot(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 Ju(e)?r.fullText=e.fullText:r.grammarSource=this.getGrammarElementId(e.grammarSource),r.hidden=e.hidden,r.astNode=n.astNodes.get(e.astNode),Ei(e)?r.content=e.content.map(i=>this.dehydrateCstNode(i,n)):Yu(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 Dt(e))n.set(s,{});let i;if(e.$cstNode)for(const s of Qa(e.$cstNode)){let a;"fullText"in s?(a=new rf(s.fullText),i=a):"content"in s?a=new Vc:"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)De(o)?a.push(this.setParent(this.hydrateAstNode(o,n),r)):ot(o)?a.push(this.hydrateReference(o,r,i,n)):a.push(o)}else De(s)?r[i]=this.setParent(this.hydrateAstNode(s,n),r):ot(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),Ei(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,c=e.endColumn,l=e.hidden;return new fc(r,i,{start:{line:s,character:a},end:{line:o,character:c}},n,l)}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 Dt(this.grammar))ih(n)&&this.grammarElementIdMap.set(n,e++)}}function Yt(t){return{documentation:{CommentProvider:e=>new VT(e),DocumentationProvider:e=>new BT(e)},parser:{AsyncParser:e=>new WT(e),GrammarConfig:e=>ep(e),LangiumParser:e=>hy(e),CompletionParser:e=>fy(e),ValueConverter:()=>new hf,TokenBuilder:()=>new ff,Lexer:e=>new _T(e),ParserErrorMessageProvider:()=>new of,LexerErrorMessageProvider:()=>new bT},workspace:{AstNodeLocator:()=>new qy,AstNodeDescriptionProvider:e=>new jy(e),ReferenceDescriptionProvider:e=>new Uy(e)},references:{Linker:e=>new Ay(e),NameProvider:()=>new Cy,ScopeProvider:e=>new Py(e),ScopeComputation:e=>new by(e),References:e=>new ky(e)},serializer:{Hydrator:e=>new HT(e),JsonSerializer:e=>new Oy(e)},validation:{DocumentValidator:e=>new My(e),ValidationRegistry:e=>new xy(e)},shared:()=>t.shared}}function Jt(t){return{ServiceRegistry:e=>new Ly(e),workspace:{LangiumDocuments:e=>new Ey(e),LangiumDocumentFactory:e=>new vy(e),DocumentBuilder:e=>new ST(e),IndexManager:e=>new CT(e),WorkspaceManager:e=>new kT(e),FileSystemProvider:e=>t.fileSystemProvider(e),WorkspaceLock:()=>new KT,ConfigurationProvider:e=>new By(e)},profilers:{}}}var Fu;(function(t){t.merge=(e,n)=>$i($i({},e),n)})(Fu||(Fu={}));function Me(t,e,n,r,i,s,a,o,c){const l=[t,e,n,r,i,s,a,o,c].reduce($i,{});return wf(l)}const XT=Symbol("isProxy");function wf(t,e){const n=new Proxy({},{deleteProperty:()=>!1,set:()=>{throw new Error("Cannot set property on injected service container")},get:(r,i)=>i===XT?!0:ju(r,i,t,e||n),getOwnPropertyDescriptor:(r,i)=>(ju(r,i,t,e||n),Object.getOwnPropertyDescriptor(r,i)),has:(r,i)=>i in t,ownKeys:()=>[...Object.getOwnPropertyNames(t)]});return n}const Gu=Symbol();function ju(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]===Gu)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]=Gu;try{t[e]=typeof i=="function"?i(r):wf(i,r)}catch(s){throw t[e]=s instanceof Error?s:void 0,s}return t[e]}else return}function $i(t,e){if(e){for(const[n,r]of Object.entries(e))if(r!=null)if(typeof r=="object"){const i=t[n];typeof i=="object"&&i!==null?t[n]=$i(i,r):t[n]=$i({},r)}else t[n]=r}return t}class YT{stat(e){throw new Error("No file system is available.")}statSync(e){throw new Error("No file system is available.")}async exists(){return!1}existsSync(){return!1}readBinary(){throw new Error("No file system is available.")}readBinarySync(){throw new Error("No file system is available.")}readFile(){throw new Error("No file system is available.")}readFileSync(){throw new Error("No file system is available.")}async readDirectory(){return[]}readDirectorySync(){return[]}}const Qt={fileSystemProvider:()=>new YT},JT={Grammar:()=>{},LanguageMetaData:()=>({caseInsensitive:!1,fileExtensions:[".langium"],languageId:"langium"})},QT={AstReflection:()=>new rd};function ZT(){const t=Me(Jt(Qt),QT),e=Me(Yt({shared:t}),JT);return t.ServiceRegistry.register(e),e}function Pn(t){const e=ZT(),n=e.serializer.JsonSerializer.deserialize(t);return e.shared.workspace.LangiumDocumentFactory.fromModel(n,ct.parse(`memory:/${n.name??"grammar"}.langium`)),n}var eR=Object.defineProperty,$=(t,e)=>eR(t,"name",{value:e,configurable:!0}),Ec;(t=>{t.Terminals={ARROW_DIRECTION:/L|R|T|B/,ARROW_GROUP:/\{group\}/,ARROW_INTO:/<|>/,ACC_DESCR:/[\t ]*accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,ACC_TITLE:/[\t ]*accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,TITLE:/[\t ]*title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,STRING:/"([^"\\]|\\.)*"|'([^'\\]|\\.)*'/,ID:/[\w]([-\w]*\w)?/,NEWLINE:/\r?\n/,WHITESPACE:/[\t ]+/,YAML:/---[\t ]*\r?\n(?:[\S\s]*?\r?\n)?---(?:\r?\n|(?!\S))/,DIRECTIVE:/[\t ]*%%{[\S\s]*?}%%(?:\r?\n|(?!\S))/,SINGLE_LINE_COMMENT:/[\t ]*%%[^\n\r]*/,ARCH_ICON:/\([\w-:]+\)/,ARCH_TITLE:/\[[\w ]+\]/}})(Ec||(Ec={}));var Ac;(t=>{t.Terminals={ACC_DESCR:/[\t ]*accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,ACC_TITLE:/[\t ]*accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,TITLE:/[\t ]*title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,INT:/0|[1-9][0-9]*(?!\.)/,STRING:/"([^"\\]|\\.)*"|'([^'\\]|\\.)*'/,NEWLINE:/\r?\n/,WHITESPACE:/[\t ]+/,YAML:/---[\t ]*\r?\n(?:[\S\s]*?\r?\n)?---(?:\r?\n|(?!\S))/,DIRECTIVE:/[\t ]*%%{[\S\s]*?}%%(?:\r?\n|(?!\S))/,SINGLE_LINE_COMMENT:/[\t ]*%%[^\n\r]*/,REFERENCE:/\w([-\./\w]*[-\w])?/}})(Ac||(Ac={}));var Sc;(t=>{t.Terminals={ACC_DESCR:/[\t ]*accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,ACC_TITLE:/[\t ]*accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,TITLE:/[\t ]*title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,NEWLINE:/\r?\n/,WHITESPACE:/[\t ]+/,YAML:/---[\t ]*\r?\n(?:[\S\s]*?\r?\n)?---(?:\r?\n|(?!\S))/,DIRECTIVE:/[\t ]*%%{[\S\s]*?}%%(?:\r?\n|(?!\S))/,SINGLE_LINE_COMMENT:/[\t ]*%%[^\n\r]*/}})(Sc||(Sc={}));var Cc;(t=>{t.Terminals={ACC_DESCR:/[\t ]*accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,ACC_TITLE:/[\t ]*accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,TITLE:/[\t ]*title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,INT:/0|[1-9][0-9]*(?!\.)/,STRING:/"([^"\\]|\\.)*"|'([^'\\]|\\.)*'/,NEWLINE:/\r?\n/,WHITESPACE:/[\t ]+/,YAML:/---[\t ]*\r?\n(?:[\S\s]*?\r?\n)?---(?:\r?\n|(?!\S))/,DIRECTIVE:/[\t ]*%%{[\S\s]*?}%%(?:\r?\n|(?!\S))/,SINGLE_LINE_COMMENT:/[\t ]*%%[^\n\r]*/}})(Cc||(Cc={}));var kc;(t=>{t.Terminals={NUMBER_PIE:/(?:-?[0-9]+\.[0-9]+(?!\.))|(?:-?(0|[1-9][0-9]*)(?!\.))/,ACC_DESCR:/[\t ]*accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,ACC_TITLE:/[\t ]*accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,TITLE:/[\t ]*title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,STRING:/"([^"\\]|\\.)*"|'([^'\\]|\\.)*'/,NEWLINE:/\r?\n/,WHITESPACE:/[\t ]+/,YAML:/---[\t ]*\r?\n(?:[\S\s]*?\r?\n)?---(?:\r?\n|(?!\S))/,DIRECTIVE:/[\t ]*%%{[\S\s]*?}%%(?:\r?\n|(?!\S))/,SINGLE_LINE_COMMENT:/[\t ]*%%[^\n\r]*/}})(kc||(kc={}));var bc;(t=>{t.Terminals={GRATICULE:/circle|polygon/,BOOLEAN:/true|false/,ACC_DESCR:/[\t ]*accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,ACC_TITLE:/[\t ]*accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,TITLE:/[\t ]*title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,NUMBER:/(?:[0-9]+\.[0-9]+(?!\.))|(?:0|[1-9][0-9]*(?!\.))/,STRING:/"([^"\\]|\\.)*"|'([^'\\]|\\.)*'/,ID:/[\w]([-\w]*\w)?/,NEWLINE:/\r?\n/,WHITESPACE:/[\t ]+/,YAML:/---[\t ]*\r?\n(?:[\S\s]*?\r?\n)?---(?:\r?\n|(?!\S))/,DIRECTIVE:/[\t ]*%%{[\S\s]*?}%%(?:\r?\n|(?!\S))/,SINGLE_LINE_COMMENT:/[\t ]*%%[^\n\r]*/}})(bc||(bc={}));var wc;(t=>{t.Terminals={ACC_DESCR:/[\t ]*accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,ACC_TITLE:/[\t ]*accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,TITLE:/[\t ]*title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,TREEMAP_KEYWORD:/treemap-beta|treemap/,CLASS_DEF:/classDef\s+([a-zA-Z_][a-zA-Z0-9_]+)(?:\s+([^;\r\n]*))?(?:;)?/,STYLE_SEPARATOR:/:::/,SEPARATOR:/:/,COMMA:/,/,INDENTATION:/[ \t]{1,}/,WS:/[ \t]+/,ML_COMMENT:/\%\%[^\n]*/,NL:/\r?\n/,ID2:/[a-zA-Z_][a-zA-Z0-9_]*/,NUMBER2:/[0-9_\.\,]+/,STRING2:/"[^"]*"|'[^']*'/}})(wc||(wc={}));({...Ec.Terminals,...Ac.Terminals,...Sc.Terminals,...Cc.Terminals,...kc.Terminals,...bc.Terminals,...wc.Terminals});var Nt={$type:"Architecture",accDescr:"accDescr",accTitle:"accTitle",edges:"edges",groups:"groups",junctions:"junctions",services:"services",title:"title"};function tR(t){return lt.isInstance(t,Nt.$type)}$(tR,"isArchitecture");var gs={$type:"Axis",label:"label",name:"name"},Os={$type:"Branch",name:"name",order:"order"};function nR(t){return lt.isInstance(t,Os.$type)}$(nR,"isBranch");var Uu={$type:"Checkout",branch:"branch"},ys={$type:"CherryPicking",id:"id",parent:"parent",tags:"tags"},Fa={$type:"ClassDefStatement",className:"className",styleText:"styleText"},Xn={$type:"Commit",id:"id",message:"message",tags:"tags",type:"type"};function rR(t){return lt.isInstance(t,Xn.$type)}$(rR,"isCommit");var Ts={$type:"Curve",entries:"entries",label:"label",name:"name"},Fn={$type:"Direction",accDescr:"accDescr",accTitle:"accTitle",dir:"dir",statements:"statements",title:"title"},dt={$type:"Edge",lhsDir:"lhsDir",lhsGroup:"lhsGroup",lhsId:"lhsId",lhsInto:"lhsInto",rhsDir:"rhsDir",rhsGroup:"rhsGroup",rhsId:"rhsId",rhsInto:"rhsInto",title:"title"},Ga={$type:"Entry",axis:"axis",value:"value"},Rn={$type:"GitGraph",accDescr:"accDescr",accTitle:"accTitle",statements:"statements",title:"title"};function iR(t){return lt.isInstance(t,Rn.$type)}$(iR,"isGitGraph");var li={$type:"Group",icon:"icon",id:"id",in:"in",title:"title"},Ri={$type:"Info",accDescr:"accDescr",accTitle:"accTitle",title:"title"};function sR(t){return lt.isInstance(t,Ri.$type)}$(sR,"isInfo");var ui={$type:"Item",classSelector:"classSelector",name:"name"},ja={$type:"Junction",id:"id",in:"in"},Rs={$type:"Leaf",classSelector:"classSelector",name:"name",value:"value"},Yn={$type:"Merge",branch:"branch",id:"id",tags:"tags",type:"type"};function aR(t){return lt.isInstance(t,Yn.$type)}$(aR,"isMerge");var Ua={$type:"Option",name:"name",value:"value"},Jn={$type:"Packet",accDescr:"accDescr",accTitle:"accTitle",blocks:"blocks",title:"title"};function oR(t){return lt.isInstance(t,Jn.$type)}$(oR,"isPacket");var Qn={$type:"PacketBlock",bits:"bits",end:"end",label:"label",start:"start"};function cR(t){return lt.isInstance(t,Qn.$type)}$(cR,"isPacketBlock");var vn={$type:"Pie",accDescr:"accDescr",accTitle:"accTitle",sections:"sections",showData:"showData",title:"title"};function lR(t){return lt.isInstance(t,vn.$type)}$(lR,"isPie");var Ls={$type:"PieSection",label:"label",value:"value"};function uR(t){return lt.isInstance(t,Ls.$type)}$(uR,"isPieSection");var pn={$type:"Radar",accDescr:"accDescr",accTitle:"accTitle",axes:"axes",curves:"curves",options:"options",title:"title"},qa={$type:"Section",classSelector:"classSelector",name:"name"},Gn={$type:"Service",icon:"icon",iconText:"iconText",id:"id",in:"in",title:"title"},jn={$type:"Statement"},Zn={$type:"Treemap",accDescr:"accDescr",accTitle:"accTitle",title:"title",TreemapRows:"TreemapRows"};function dR(t){return lt.isInstance(t,Zn.$type)}$(dR,"isTreemap");var za={$type:"TreemapRow",indent:"indent",item:"item"},rr,_f=(rr=class extends Xu{constructor(){super(...arguments),this.types={Architecture:{name:Nt.$type,properties:{accDescr:{name:Nt.accDescr},accTitle:{name:Nt.accTitle},edges:{name:Nt.edges,defaultValue:[]},groups:{name:Nt.groups,defaultValue:[]},junctions:{name:Nt.junctions,defaultValue:[]},services:{name:Nt.services,defaultValue:[]},title:{name:Nt.title}},superTypes:[]},Axis:{name:gs.$type,properties:{label:{name:gs.label},name:{name:gs.name}},superTypes:[]},Branch:{name:Os.$type,properties:{name:{name:Os.name},order:{name:Os.order}},superTypes:[jn.$type]},Checkout:{name:Uu.$type,properties:{branch:{name:Uu.branch}},superTypes:[jn.$type]},CherryPicking:{name:ys.$type,properties:{id:{name:ys.id},parent:{name:ys.parent},tags:{name:ys.tags,defaultValue:[]}},superTypes:[jn.$type]},ClassDefStatement:{name:Fa.$type,properties:{className:{name:Fa.className},styleText:{name:Fa.styleText}},superTypes:[]},Commit:{name:Xn.$type,properties:{id:{name:Xn.id},message:{name:Xn.message},tags:{name:Xn.tags,defaultValue:[]},type:{name:Xn.type}},superTypes:[jn.$type]},Curve:{name:Ts.$type,properties:{entries:{name:Ts.entries,defaultValue:[]},label:{name:Ts.label},name:{name:Ts.name}},superTypes:[]},Direction:{name:Fn.$type,properties:{accDescr:{name:Fn.accDescr},accTitle:{name:Fn.accTitle},dir:{name:Fn.dir},statements:{name:Fn.statements,defaultValue:[]},title:{name:Fn.title}},superTypes:[Rn.$type]},Edge:{name:dt.$type,properties:{lhsDir:{name:dt.lhsDir},lhsGroup:{name:dt.lhsGroup,defaultValue:!1},lhsId:{name:dt.lhsId},lhsInto:{name:dt.lhsInto,defaultValue:!1},rhsDir:{name:dt.rhsDir},rhsGroup:{name:dt.rhsGroup,defaultValue:!1},rhsId:{name:dt.rhsId},rhsInto:{name:dt.rhsInto,defaultValue:!1},title:{name:dt.title}},superTypes:[]},Entry:{name:Ga.$type,properties:{axis:{name:Ga.axis,referenceType:gs.$type},value:{name:Ga.value}},superTypes:[]},GitGraph:{name:Rn.$type,properties:{accDescr:{name:Rn.accDescr},accTitle:{name:Rn.accTitle},statements:{name:Rn.statements,defaultValue:[]},title:{name:Rn.title}},superTypes:[]},Group:{name:li.$type,properties:{icon:{name:li.icon},id:{name:li.id},in:{name:li.in},title:{name:li.title}},superTypes:[]},Info:{name:Ri.$type,properties:{accDescr:{name:Ri.accDescr},accTitle:{name:Ri.accTitle},title:{name:Ri.title}},superTypes:[]},Item:{name:ui.$type,properties:{classSelector:{name:ui.classSelector},name:{name:ui.name}},superTypes:[]},Junction:{name:ja.$type,properties:{id:{name:ja.id},in:{name:ja.in}},superTypes:[]},Leaf:{name:Rs.$type,properties:{classSelector:{name:Rs.classSelector},name:{name:Rs.name},value:{name:Rs.value}},superTypes:[ui.$type]},Merge:{name:Yn.$type,properties:{branch:{name:Yn.branch},id:{name:Yn.id},tags:{name:Yn.tags,defaultValue:[]},type:{name:Yn.type}},superTypes:[jn.$type]},Option:{name:Ua.$type,properties:{name:{name:Ua.name},value:{name:Ua.value,defaultValue:!1}},superTypes:[]},Packet:{name:Jn.$type,properties:{accDescr:{name:Jn.accDescr},accTitle:{name:Jn.accTitle},blocks:{name:Jn.blocks,defaultValue:[]},title:{name:Jn.title}},superTypes:[]},PacketBlock:{name:Qn.$type,properties:{bits:{name:Qn.bits},end:{name:Qn.end},label:{name:Qn.label},start:{name:Qn.start}},superTypes:[]},Pie:{name:vn.$type,properties:{accDescr:{name:vn.accDescr},accTitle:{name:vn.accTitle},sections:{name:vn.sections,defaultValue:[]},showData:{name:vn.showData,defaultValue:!1},title:{name:vn.title}},superTypes:[]},PieSection:{name:Ls.$type,properties:{label:{name:Ls.label},value:{name:Ls.value}},superTypes:[]},Radar:{name:pn.$type,properties:{accDescr:{name:pn.accDescr},accTitle:{name:pn.accTitle},axes:{name:pn.axes,defaultValue:[]},curves:{name:pn.curves,defaultValue:[]},options:{name:pn.options,defaultValue:[]},title:{name:pn.title}},superTypes:[]},Section:{name:qa.$type,properties:{classSelector:{name:qa.classSelector},name:{name:qa.name}},superTypes:[ui.$type]},Service:{name:Gn.$type,properties:{icon:{name:Gn.icon},iconText:{name:Gn.iconText},id:{name:Gn.id},in:{name:Gn.in},title:{name:Gn.title}},superTypes:[]},Statement:{name:jn.$type,properties:{},superTypes:[]},Treemap:{name:Zn.$type,properties:{accDescr:{name:Zn.accDescr},accTitle:{name:Zn.accTitle},title:{name:Zn.title},TreemapRows:{name:Zn.TreemapRows,defaultValue:[]}},superTypes:[]},TreemapRow:{name:za.$type,properties:{indent:{name:za.indent},item:{name:za.item}},superTypes:[]}}}},$(rr,"MermaidAstReflection"),rr),lt=new _f,qu,fR=$(()=>qu??(qu=Pn(`{"$type":"Grammar","isDeclared":true,"name":"ArchitectureGrammar","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":"*"}]},"fragment":false,"parameters":[]},{"$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":[]}}]},"entry":false,"parameters":[]},{"$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":[]}}]},"entry":false,"parameters":[]},{"$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":":"}]},"entry":false,"parameters":[]},{"$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":[]}]},"entry":false,"parameters":[]},{"$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":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$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":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$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":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$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":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"TerminalRule","name":"ARROW_DIRECTION","definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"L"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"R"},"parenthesized":false}],"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"T"},"parenthesized":false}],"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"B"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ARROW_GROUP","definition":{"$type":"RegexToken","regex":"/\\\\{group\\\\}/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ARROW_INTO","definition":{"$type":"RegexToken","regex":"/<|>/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"ParserRule","name":"EOL","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@23"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"entry":false,"fragment":false,"parameters":[]},{"$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":"+"},"entry":false,"parameters":[]},{"$type":"TerminalRule","name":"BOOLEAN","type":{"$type":"ReturnType","name":"boolean"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"true"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"false"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"FLOAT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/[0-9]+\\\\.[0-9]+(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/0|[1-9][0-9]*(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@18"},"parenthesized":false},{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@19"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRING","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|'([^'\\\\\\\\]|\\\\\\\\.)*'/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ID","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[\\\\w]([-\\\\w]*\\\\w)?/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","name":"ARCH_ICON","definition":{"$type":"RegexToken","regex":"/\\\\([\\\\w-:]+\\\\)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ARCH_TITLE","definition":{"$type":"RegexToken","regex":"/\\\\[[\\\\w ]+\\\\]/","parenthesized":false},"fragment":false,"hidden":false}],"interfaces":[],"types":[]}`)),"ArchitectureGrammarGrammar"),zu,hR=$(()=>zu??(zu=Pn(`{"$type":"Grammar","isDeclared":true,"name":"GitGraphGrammar","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":"*"}]},"fragment":false,"parameters":[]},{"$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":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$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"}]}},"entry":false,"fragment":false,"parameters":[]},{"$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":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$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":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$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":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$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":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$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":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EOL","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"entry":false,"fragment":false,"parameters":[]},{"$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":"+"},"entry":false,"parameters":[]},{"$type":"TerminalRule","name":"BOOLEAN","type":{"$type":"ReturnType","name":"boolean"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"true"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"false"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"FLOAT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/[0-9]+\\\\.[0-9]+(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/0|[1-9][0-9]*(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@14"},"parenthesized":false},{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@15"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRING","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|'([^'\\\\\\\\]|\\\\\\\\.)*'/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ID","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[\\\\w]([-\\\\w]*\\\\w)?/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","name":"REFERENCE","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\\\w([-\\\\./\\\\w]*[-\\\\w])?/","parenthesized":false},"fragment":false,"hidden":false}],"interfaces":[],"types":[]}`)),"GitGraphGrammarGrammar"),Bu,pR=$(()=>Bu??(Bu=Pn(`{"$type":"Grammar","isDeclared":true,"name":"InfoGrammar","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":"?"}]},"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EOL","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"entry":false,"fragment":false,"parameters":[]},{"$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":"+"},"entry":false,"parameters":[]},{"$type":"TerminalRule","name":"BOOLEAN","type":{"$type":"ReturnType","name":"boolean"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"true"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"false"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"FLOAT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/[0-9]+\\\\.[0-9]+(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/0|[1-9][0-9]*(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@7"},"parenthesized":false},{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@8"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRING","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|'([^'\\\\\\\\]|\\\\\\\\.)*'/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ID","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[\\\\w]([-\\\\w]*\\\\w)?/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/","parenthesized":false},"fragment":false}],"interfaces":[],"types":[]}`)),"InfoGrammarGrammar"),Vu,mR=$(()=>Vu??(Vu=Pn(`{"$type":"Grammar","isDeclared":true,"name":"PacketGrammar","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":"*"}]},"fragment":false,"parameters":[]},{"$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":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EOL","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"entry":false,"fragment":false,"parameters":[]},{"$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":"+"},"entry":false,"parameters":[]},{"$type":"TerminalRule","name":"BOOLEAN","type":{"$type":"ReturnType","name":"boolean"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"true"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"false"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"FLOAT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/[0-9]+\\\\.[0-9]+(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/0|[1-9][0-9]*(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@8"},"parenthesized":false},{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@9"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRING","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|'([^'\\\\\\\\]|\\\\\\\\.)*'/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ID","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[\\\\w]([-\\\\w]*\\\\w)?/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/","parenthesized":false},"fragment":false}],"interfaces":[],"types":[]}`)),"PacketGrammarGrammar"),Wu,gR=$(()=>Wu??(Wu=Pn(`{"$type":"Grammar","isDeclared":true,"name":"PieGrammar","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":"*"}]},"fragment":false,"parameters":[]},{"$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":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"TerminalRule","name":"FLOAT_PIE","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/-?[0-9]+\\\\.[0-9]+(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INT_PIE","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/-?(0|[1-9][0-9]*)(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER_PIE","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@2"},"parenthesized":false},{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@3"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"ParserRule","name":"EOL","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"entry":false,"fragment":false,"parameters":[]},{"$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":"+"},"entry":false,"parameters":[]},{"$type":"TerminalRule","name":"BOOLEAN","type":{"$type":"ReturnType","name":"boolean"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"true"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"false"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"FLOAT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/[0-9]+\\\\.[0-9]+(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/0|[1-9][0-9]*(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@11"},"parenthesized":false},{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@12"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRING","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|'([^'\\\\\\\\]|\\\\\\\\.)*'/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ID","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[\\\\w]([-\\\\w]*\\\\w)?/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/","parenthesized":false},"fragment":false}],"interfaces":[],"types":[]}`)),"PieGrammarGrammar"),Ku,yR=$(()=>Ku??(Ku=Pn(`{"$type":"Grammar","isDeclared":true,"name":"RadarGrammar","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":"*"}]},"fragment":false,"parameters":[]},{"$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":"]"}]},"entry":false,"parameters":[]},{"$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":"?"}]},"entry":false,"fragment":false,"parameters":[]},{"$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":"}"}]},"entry":false,"fragment":false,"parameters":[]},{"$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":"*"}]}]},"entry":false,"parameters":[]},{"$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,"isMulti":false}},{"$type":"Keyword","value":":","cardinality":"?"},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"NumberEntry","returnType":{"$ref":"#/interfaces@0"},"definition":{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}},"entry":false,"fragment":false,"parameters":[]},{"$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":[]}}]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"TerminalRule","name":"GRATICULE","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"circle"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"polygon"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"ParserRule","name":"EOL","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"entry":false,"fragment":false,"parameters":[]},{"$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":"+"},"entry":false,"parameters":[]},{"$type":"TerminalRule","name":"BOOLEAN","type":{"$type":"ReturnType","name":"boolean"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"true"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"false"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"FLOAT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/[0-9]+\\\\.[0-9]+(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/0|[1-9][0-9]*(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@15"},"parenthesized":false},{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@16"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRING","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|'([^'\\\\\\\\]|\\\\\\\\.)*'/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ID","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[\\\\w]([-\\\\w]*\\\\w)?/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/","parenthesized":false},"fragment":false}],"interfaces":[{"$type":"Interface","name":"Entry","attributes":[{"$type":"TypeAttribute","name":"axis","isOptional":true,"type":{"$type":"ReferenceType","referenceType":{"$type":"SimpleType","typeRef":{"$ref":"#/rules@2"}},"isMulti":false}},{"$type":"TypeAttribute","name":"value","type":{"$type":"SimpleType","primitiveType":"number"},"isOptional":false}],"superTypes":[]}],"types":[]}`)),"RadarGrammarGrammar"),Hu,TR=$(()=>Hu??(Hu=Pn(`{"$type":"Grammar","isDeclared":true,"name":"TreemapGrammar","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":"+"},"entry":false,"parameters":[]},{"$type":"TerminalRule","name":"BOOLEAN","type":{"$type":"ReturnType","name":"boolean"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"true"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"false"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/","parenthesized":false},"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@15"},"arguments":[]}}],"cardinality":"*"}]},"fragment":false,"parameters":[]},{"$type":"TerminalRule","name":"TREEMAP_KEYWORD","definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"treemap-beta"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"treemap"},"parenthesized":false}],"parenthesized":false},"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]*))?(?:;)?/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STYLE_SEPARATOR","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":":::"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"SEPARATOR","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":":"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"COMMA","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":","},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INDENTATION","definition":{"$type":"RegexToken","regex":"/[ \\\\t]{1,}/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WS","definition":{"$type":"RegexToken","regex":"/[ \\\\t]+/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"ML_COMMENT","definition":{"$type":"RegexToken","regex":"/\\\\%\\\\%[^\\\\n]*/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"NL","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/","parenthesized":false},"fragment":false},{"$type":"ParserRule","name":"TreemapRow","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"indent","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[]},"cardinality":"?"},{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"item","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]}]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"ClassDef","dataType":"string","definition":{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Item","returnType":{"$ref":"#/interfaces@0"},"definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@18"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$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":"?"}]},"entry":false,"fragment":false,"parameters":[]},{"$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@11"},"arguments":[],"cardinality":"?"},{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"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":"?"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"TerminalRule","name":"ID2","definition":{"$type":"RegexToken","regex":"/[a-zA-Z_][a-zA-Z0-9_]*/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER2","definition":{"$type":"RegexToken","regex":"/[0-9_\\\\.\\\\,]+/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"ParserRule","name":"MyNumber","dataType":"number","definition":{"$type":"RuleCall","rule":{"$ref":"#/rules@21"},"arguments":[]},"entry":false,"fragment":false,"parameters":[]},{"$type":"TerminalRule","name":"STRING2","definition":{"$type":"RegexToken","regex":"/\\"[^\\"]*\\"|'[^']*'/","parenthesized":false},"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@15"}}},"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":[]}],"imports":[],"types":[],"$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 */"}`)),"TreemapGrammarGrammar"),RR={languageId:"architecture",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},vR={languageId:"gitGraph",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},ER={languageId:"info",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},AR={languageId:"packet",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},SR={languageId:"pie",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},CR={languageId:"radar",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},kR={languageId:"treemap",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},$n={AstReflection:$(()=>new _f,"AstReflection")},bR={Grammar:$(()=>fR(),"Grammar"),LanguageMetaData:$(()=>RR,"LanguageMetaData"),parser:{}},wR={Grammar:$(()=>hR(),"Grammar"),LanguageMetaData:$(()=>vR,"LanguageMetaData"),parser:{}},_R={Grammar:$(()=>pR(),"Grammar"),LanguageMetaData:$(()=>ER,"LanguageMetaData"),parser:{}},NR={Grammar:$(()=>mR(),"Grammar"),LanguageMetaData:$(()=>AR,"LanguageMetaData"),parser:{}},IR={Grammar:$(()=>gR(),"Grammar"),LanguageMetaData:$(()=>SR,"LanguageMetaData"),parser:{}},PR={Grammar:$(()=>yR(),"Grammar"),LanguageMetaData:$(()=>CR,"LanguageMetaData"),parser:{}},$R={Grammar:$(()=>TR(),"Grammar"),LanguageMetaData:$(()=>kR,"LanguageMetaData"),parser:{}},OR=/accDescr(?:[\t ]*:([^\n\r]*)|\s*{([^}]*)})/,LR=/accTitle[\t ]*:([^\n\r]*)/,xR=/title([\t ][^\n\r]*|)/,DR={ACC_DESCR:OR,ACC_TITLE:LR,TITLE:xR},ir,ya=(ir=class extends hf{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=DR[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,`
|
|
160
|
+
`)}}},$(ir,"AbstractMermaidValueConverter"),ir),sr,Ta=(sr=class extends ya{runCustomConverter(e,n,r){}},$(sr,"CommonValueConverter"),sr),ar,Zt=(ar=class extends ff{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}},$(ar,"AbstractMermaidTokenBuilder"),ar),or;or=class extends Zt{},$(or,"CommonTokenBuilder");var cr,MR=(cr=class extends Zt{constructor(){super(["gitGraph"])}},$(cr,"GitGraphTokenBuilder"),cr),Nf={parser:{TokenBuilder:$(()=>new MR,"TokenBuilder"),ValueConverter:$(()=>new Ta,"ValueConverter")}};function If(t=Qt){const e=Me(Jt(t),$n),n=Me(Yt({shared:e}),wR,Nf);return e.ServiceRegistry.register(n),{shared:e,GitGraph:n}}$(If,"createGitGraphServices");var lr,FR=(lr=class extends Zt{constructor(){super(["info","showInfo"])}},$(lr,"InfoTokenBuilder"),lr),Pf={parser:{TokenBuilder:$(()=>new FR,"TokenBuilder"),ValueConverter:$(()=>new Ta,"ValueConverter")}};function $f(t=Qt){const e=Me(Jt(t),$n),n=Me(Yt({shared:e}),_R,Pf);return e.ServiceRegistry.register(n),{shared:e,Info:n}}$($f,"createInfoServices");var ur,GR=(ur=class extends Zt{constructor(){super(["packet"])}},$(ur,"PacketTokenBuilder"),ur),Of={parser:{TokenBuilder:$(()=>new GR,"TokenBuilder"),ValueConverter:$(()=>new Ta,"ValueConverter")}};function Lf(t=Qt){const e=Me(Jt(t),$n),n=Me(Yt({shared:e}),NR,Of);return e.ServiceRegistry.register(n),{shared:e,Packet:n}}$(Lf,"createPacketServices");var dr,jR=(dr=class extends Zt{constructor(){super(["pie","showData"])}},$(dr,"PieTokenBuilder"),dr),fr,UR=(fr=class extends ya{runCustomConverter(e,n,r){if(e.name==="PIE_SECTION_LABEL")return n.replace(/"/g,"").trim()}},$(fr,"PieValueConverter"),fr),xf={parser:{TokenBuilder:$(()=>new jR,"TokenBuilder"),ValueConverter:$(()=>new UR,"ValueConverter")}};function Df(t=Qt){const e=Me(Jt(t),$n),n=Me(Yt({shared:e}),IR,xf);return e.ServiceRegistry.register(n),{shared:e,Pie:n}}$(Df,"createPieServices");var hr,qR=(hr=class extends Zt{constructor(){super(["architecture"])}},$(hr,"ArchitectureTokenBuilder"),hr),pr,zR=(pr=class extends ya{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()}},$(pr,"ArchitectureValueConverter"),pr),Mf={parser:{TokenBuilder:$(()=>new qR,"TokenBuilder"),ValueConverter:$(()=>new zR,"ValueConverter")}};function Ff(t=Qt){const e=Me(Jt(t),$n),n=Me(Yt({shared:e}),bR,Mf);return e.ServiceRegistry.register(n),{shared:e,Architecture:n}}$(Ff,"createArchitectureServices");var mr,BR=(mr=class extends Zt{constructor(){super(["radar-beta"])}},$(mr,"RadarTokenBuilder"),mr),Gf={parser:{TokenBuilder:$(()=>new BR,"TokenBuilder"),ValueConverter:$(()=>new Ta,"ValueConverter")}};function jf(t=Qt){const e=Me(Jt(t),$n),n=Me(Yt({shared:e}),PR,Gf);return e.ServiceRegistry.register(n),{shared:e,Radar:n}}$(jf,"createRadarServices");var gr,VR=(gr=class extends Zt{constructor(){super(["treemap"])}},$(gr,"TreemapTokenBuilder"),gr),WR=/classDef\s+([A-Z_a-z]\w+)(?:\s+([^\n\r;]*))?;?/,yr,KR=(yr=class extends ya{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=WR.exec(n);if(i)return{$type:"ClassDefStatement",className:i[1],styleText:i[2]||void 0}}}},$(yr,"TreemapValueConverter"),yr);function Uf(t){const e=t.validation.TreemapValidator,n=t.validation.ValidationRegistry;if(n){const r={Treemap:e.checkSingleRoot.bind(e)};n.register(r,e)}}$(Uf,"registerValidationChecks");var Tr,HR=(Tr=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"}))}},$(Tr,"TreemapValidator"),Tr),qf={parser:{TokenBuilder:$(()=>new VR,"TokenBuilder"),ValueConverter:$(()=>new KR,"ValueConverter")},validation:{TreemapValidator:$(()=>new HR,"TreemapValidator")}};function zf(t=Qt){const e=Me(Jt(t),$n),n=Me(Yt({shared:e}),$R,qf);return e.ServiceRegistry.register(n),Uf(n),{shared:e,Treemap:n}}$(zf,"createTreemapServices");var Pt={},XR={info:$(async()=>{const{createInfoServices:t}=await tn(async()=>{const{createInfoServices:n}=await Promise.resolve().then(()=>QR);return{createInfoServices:n}},void 0),e=t().Info.parser.LangiumParser;Pt.info=e},"info"),packet:$(async()=>{const{createPacketServices:t}=await tn(async()=>{const{createPacketServices:n}=await Promise.resolve().then(()=>ZR);return{createPacketServices:n}},void 0),e=t().Packet.parser.LangiumParser;Pt.packet=e},"packet"),pie:$(async()=>{const{createPieServices:t}=await tn(async()=>{const{createPieServices:n}=await Promise.resolve().then(()=>ev);return{createPieServices:n}},void 0),e=t().Pie.parser.LangiumParser;Pt.pie=e},"pie"),architecture:$(async()=>{const{createArchitectureServices:t}=await tn(async()=>{const{createArchitectureServices:n}=await Promise.resolve().then(()=>tv);return{createArchitectureServices:n}},void 0),e=t().Architecture.parser.LangiumParser;Pt.architecture=e},"architecture"),gitGraph:$(async()=>{const{createGitGraphServices:t}=await tn(async()=>{const{createGitGraphServices:n}=await Promise.resolve().then(()=>nv);return{createGitGraphServices:n}},void 0),e=t().GitGraph.parser.LangiumParser;Pt.gitGraph=e},"gitGraph"),radar:$(async()=>{const{createRadarServices:t}=await tn(async()=>{const{createRadarServices:n}=await Promise.resolve().then(()=>rv);return{createRadarServices:n}},void 0),e=t().Radar.parser.LangiumParser;Pt.radar=e},"radar"),treemap:$(async()=>{const{createTreemapServices:t}=await tn(async()=>{const{createTreemapServices:n}=await Promise.resolve().then(()=>iv);return{createTreemapServices:n}},void 0),e=t().Treemap.parser.LangiumParser;Pt.treemap=e},"treemap")};async function YR(t,e){const n=XR[t];if(!n)throw new Error(`Unknown diagram type: ${t}`);Pt[t]||await n();const i=Pt[t].parse(e);if(i.lexerErrors.length>0||i.parserErrors.length>0)throw new JR(i);return i.value}$(YR,"parse");var Rr,JR=(Rr=class extends Error{constructor(e){const n=e.lexerErrors.map(i=>i.message).join(`
|
|
161
|
+
`),r=e.parserErrors.map(i=>i.message).join(`
|
|
162
|
+
`);super(`Parsing failed: ${n} ${r}`),this.result=e}},$(Rr,"MermaidParseError"),Rr);const QR=Object.freeze(Object.defineProperty({__proto__:null,InfoModule:Pf,createInfoServices:$f},Symbol.toStringTag,{value:"Module"})),ZR=Object.freeze(Object.defineProperty({__proto__:null,PacketModule:Of,createPacketServices:Lf},Symbol.toStringTag,{value:"Module"})),ev=Object.freeze(Object.defineProperty({__proto__:null,PieModule:xf,createPieServices:Df},Symbol.toStringTag,{value:"Module"})),tv=Object.freeze(Object.defineProperty({__proto__:null,ArchitectureModule:Mf,createArchitectureServices:Ff},Symbol.toStringTag,{value:"Module"})),nv=Object.freeze(Object.defineProperty({__proto__:null,GitGraphModule:Nf,createGitGraphServices:If},Symbol.toStringTag,{value:"Module"})),rv=Object.freeze(Object.defineProperty({__proto__:null,RadarModule:Gf,createRadarServices:jf},Symbol.toStringTag,{value:"Module"})),iv=Object.freeze(Object.defineProperty({__proto__:null,TreemapModule:qf,createTreemapServices:zf},Symbol.toStringTag,{value:"Module"}));export{YR as p};
|