@leanspec/ui 0.2.21 → 0.2.22
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/assets/_baseUniq-D7Jo4wA--B2TRxPWE.js +1 -0
- package/dist/assets/{_baseUniq--5gbTAb8.js → _baseUniq-iT192ZJn.js} +1 -1
- package/dist/assets/{arc-4N6yDHjl.js → arc-BpF2CtTd.js} +1 -1
- package/dist/assets/arc-bSbgZKu2-DL3rNhb4.js +1 -0
- package/dist/assets/architectureDiagram-VXUJARFQ-B9csKaKv-CjjNwF-J.js +36 -0
- package/dist/assets/{architectureDiagram-VXUJARFQ-DDCzyF2V.js → architectureDiagram-VXUJARFQ-RJJR00DR.js} +1 -1
- package/dist/assets/{blockDiagram-VD42YOAC-CqzgSlfV.js → blockDiagram-VD42YOAC-1uTfdDe0.js} +1 -1
- package/dist/assets/blockDiagram-VD42YOAC-DrRsdznF-BABvqVBT.js +122 -0
- package/dist/assets/c4Diagram-YG6GDRKO-Di2rkJ8i-Ds0QfElR.js +10 -0
- package/dist/assets/{c4Diagram-YG6GDRKO-DcDDI9XD.js → c4Diagram-YG6GDRKO-f40n5_vc.js} +1 -1
- package/dist/assets/channel-B6afjgOL.js +1 -0
- package/dist/assets/channel-CTeTHv-y-DAoPNf9o.js +1 -0
- package/dist/assets/{chunk-4BX2VUAB-CVAs-OQz.js → chunk-4BX2VUAB-BWm6jvkB.js} +1 -1
- package/dist/assets/chunk-4BX2VUAB-Dkr-Egsj-hwESrSLd.js +1 -0
- package/dist/assets/{chunk-55IACEB6-Dd3NjClm-icx5kZVe.js → chunk-55IACEB6-D_uwi6CC-CwcdTnFf.js} +1 -1
- package/dist/assets/{chunk-55IACEB6-Ccr-HMFu.js → chunk-55IACEB6-SXD_npDw.js} +1 -1
- package/dist/assets/{chunk-B4BG7PRW-DLUrgkJI-Cic_-nsr.js → chunk-B4BG7PRW-BipBIVhj-1FtWONL8.js} +6 -6
- package/dist/assets/{chunk-B4BG7PRW-xLNbTmXA.js → chunk-B4BG7PRW-UGjCd_Gn.js} +1 -1
- package/dist/assets/chunk-DI55MBZ5-8tWOlvAD-Cye13dPz.js +220 -0
- package/dist/assets/{chunk-DI55MBZ5-BsHIkgDC.js → chunk-DI55MBZ5-BQAFhPjX.js} +1 -1
- package/dist/assets/{chunk-FMBD7UC4-6dsbMKM7-DZVEYpsF.js → chunk-FMBD7UC4-CLc8_72--CGehZjII.js} +1 -1
- package/dist/assets/{chunk-FMBD7UC4-CN5kw4_J.js → chunk-FMBD7UC4-GQVp2u3C.js} +1 -1
- package/dist/assets/chunk-QN33PNHL-QKH9jByz-BVKajMNG.js +1 -0
- package/dist/assets/{chunk-QN33PNHL-CHu6LVbN.js → chunk-QN33PNHL-xEzemp3c.js} +1 -1
- package/dist/assets/{chunk-QZHKN3VN-CVAEdzef-CICjYRZu.js → chunk-QZHKN3VN-BPpgPA2g-DfaPwKB_.js} +1 -1
- package/dist/assets/{chunk-QZHKN3VN-DOlyc5a_.js → chunk-QZHKN3VN-DmaRauNH.js} +1 -1
- package/dist/assets/{chunk-TZMSLE5B-qgYeZfVw.js → chunk-TZMSLE5B-Bx7Kyzw7.js} +1 -1
- package/dist/assets/{chunk-TZMSLE5B-Cc8_PJIq-DBNHj8Jc.js → chunk-TZMSLE5B-Coq49FaX-CdOY_0Y9.js} +1 -1
- package/dist/assets/classDiagram-2ON5EDUG-DDdP3lEc.js +1 -0
- package/dist/assets/classDiagram-2ON5EDUG-DYaKkEXb-BMs1bhMY.js +1 -0
- package/dist/assets/classDiagram-v2-WZHVMYZB-DDdP3lEc.js +1 -0
- package/dist/assets/classDiagram-v2-WZHVMYZB-DYaKkEXb-BMs1bhMY.js +1 -0
- package/dist/assets/clone-B4FGNCC9.js +1 -0
- package/dist/assets/clone-Ctm6tjrV-cgncjIrI.js +1 -0
- package/dist/assets/code-block-37QAKDTI-3zaK1Sok-DkWCKnjc.js +2 -0
- package/dist/assets/{cose-bilkent-S5V4N54A-aMn5Snue.js → cose-bilkent-S5V4N54A-OjaorTGT.js} +1 -1
- package/dist/assets/{cose-bilkent-S5V4N54A-0O3dLIoy-Au1JV0Hr.js → cose-bilkent-S5V4N54A-iUMgKFJZ-CcWe6Gov.js} +1 -1
- package/dist/assets/{cytoscape.esm-CjI2IsL8-U70Mzu-N.js → cytoscape.esm-Cvf3sx9F-DgU3JdRZ.js} +1 -1
- package/dist/assets/{dagre-6UL2VRFP-C0nN6YID.js → dagre-6UL2VRFP-BLazRBE2.js} +1 -1
- package/dist/assets/dagre-6UL2VRFP-CKc2IEbO-CPlhk_ig.js +4 -0
- package/dist/assets/{diagram-PSM6KHXK-DhvTMswv.js → diagram-PSM6KHXK-Cz_Zed26.js} +1 -1
- package/dist/assets/diagram-PSM6KHXK-DERIvROx-B9mGRCGq.js +24 -0
- package/dist/assets/diagram-QEK2KX5R-B6CdcylU-lSCL2dm4.js +43 -0
- package/dist/assets/{diagram-QEK2KX5R-w4lZ6XEJ.js → diagram-QEK2KX5R-BAMwQLy8.js} +1 -1
- package/dist/assets/diagram-S2PKOQOG-5f_4uCtF-CUC-ZBue.js +24 -0
- package/dist/assets/{diagram-S2PKOQOG-DOXHCu2g.js → diagram-S2PKOQOG-v5vZ9P70.js} +1 -1
- package/dist/assets/{erDiagram-Q2GNP2WA-CXv6THpi-Cd4jg1J5.js → erDiagram-Q2GNP2WA-CnN7DF_N-yqb-l1CZ.js} +5 -5
- package/dist/assets/{erDiagram-Q2GNP2WA-B0P-TPNi.js → erDiagram-Q2GNP2WA-DFCKi0mZ.js} +1 -1
- package/dist/assets/{flowDiagram-NV44I4VS-KDzE7AT1.js → flowDiagram-NV44I4VS-3Rq7lbgS.js} +1 -1
- package/dist/assets/flowDiagram-NV44I4VS-Dl3ZZj2W-C9K7yiSN.js +162 -0
- package/dist/assets/{ganttDiagram-JELNMOA3-Ce3vKfsr.js → ganttDiagram-JELNMOA3-D76DQdCK.js} +1 -1
- package/dist/assets/{ganttDiagram-JELNMOA3-CqVYbgbk-Dm-Q7o3L.js → ganttDiagram-JELNMOA3-q87tSGGF-CKPOItTI.js} +1 -1
- package/dist/assets/{gitGraphDiagram-NY62KEGX-DDQ3wMsb.js → gitGraphDiagram-NY62KEGX-Db2iqJeU.js} +1 -1
- package/dist/assets/gitGraphDiagram-NY62KEGX-NeHUXng4-DDlIETSy.js +65 -0
- package/dist/assets/{graph-CIQI-Qnx.js → graph-D9RB6DwV.js} +1 -1
- package/dist/assets/{graph-rt_wscbL-BYOC6Zos.js → graph-Da1z0n_J-yJ-tLMG7.js} +1 -1
- package/dist/assets/index-B7GqH6If.js +2542 -0
- package/dist/assets/index-Blg_AJgc.css +1 -0
- package/dist/assets/{infoDiagram-WHAUD3N6-CKi2MdjK.js → infoDiagram-WHAUD3N6-CgNeND0m.js} +1 -1
- package/dist/assets/infoDiagram-WHAUD3N6-Cj-s-gtw-B2FbdsVb.js +2 -0
- package/dist/assets/{journeyDiagram-XKPGCS4Q-BzZgPZwu-FS4BVd7N.js → journeyDiagram-XKPGCS4Q-BbXXFBC--Cb6ONhr6.js} +4 -4
- package/dist/assets/{journeyDiagram-XKPGCS4Q-C8gYN3B8.js → journeyDiagram-XKPGCS4Q-D0meuzwF.js} +1 -1
- package/dist/assets/{kanban-definition-3W4ZIXB7-CJBvuSy_.js → kanban-definition-3W4ZIXB7-BCx2MTD3.js} +1 -1
- package/dist/assets/kanban-definition-3W4ZIXB7-ClCUbNCO-DyL1fJFZ.js +89 -0
- package/dist/assets/{layout-CX9neEHw-DZXKxUst.js → layout-BoJlbrAK-CAQ1YqzH.js} +1 -1
- package/dist/assets/{layout-BoDR3kQT.js → layout-DFWNR-Y1.js} +1 -1
- package/dist/assets/{linear-CkUVga7d-DcwQdvDv.js → linear-4rmylyIU-DexK5wO7.js} +1 -1
- package/dist/assets/min-C8aXS73f-D0DvW8t2.js +1 -0
- package/dist/assets/{min-USsdh-HW.js → min-CRMSN7nx.js} +1 -1
- package/dist/assets/{mindmap-definition-VGOIOE7T-CahlRCoo.js → mindmap-definition-VGOIOE7T-BGABgSVt.js} +1 -1
- package/dist/assets/mindmap-definition-VGOIOE7T-BRNm-2aJ-DQQO6TMa.js +68 -0
- package/dist/assets/{pieDiagram-ADFJNKIX-B3ej6Rof.js → pieDiagram-ADFJNKIX-BAPQcD4y.js} +1 -1
- package/dist/assets/pieDiagram-ADFJNKIX-BVRqurYx-QWWibrkj.js +30 -0
- package/dist/assets/quadrantDiagram-AYHSOK5B-CcsZBY3e-DjxqpMlH.js +7 -0
- package/dist/assets/{quadrantDiagram-AYHSOK5B-Di2kSbDD.js → quadrantDiagram-AYHSOK5B-kNxQZTX1.js} +1 -1
- package/dist/assets/{requirementDiagram-UZGBJVZJ-BIKMHzOU.js → requirementDiagram-UZGBJVZJ-BZ08al2Y.js} +1 -1
- package/dist/assets/{requirementDiagram-UZGBJVZJ-MnXD59Yw-DoLLmzEr.js → requirementDiagram-UZGBJVZJ-CV5SUGj--Crvo94rv.js} +7 -7
- package/dist/assets/{sankeyDiagram-TZEHDZUN-Dfyu7oJ6-upd_w6uL.js → sankeyDiagram-TZEHDZUN-BFPvVGcz-DAajH7lE.js} +8 -8
- package/dist/assets/{sankeyDiagram-TZEHDZUN-B45aWneB.js → sankeyDiagram-TZEHDZUN-BQT0X4qe.js} +1 -1
- package/dist/assets/{sequenceDiagram-WL72ISMW-0WGvejjk.js → sequenceDiagram-WL72ISMW-BcmegQjZ.js} +1 -1
- package/dist/assets/sequenceDiagram-WL72ISMW-CQ5u3b_o-B7RzlL6P.js +145 -0
- package/dist/assets/{stateDiagram-FKZM4ZOC-CyN90BQP.js → stateDiagram-FKZM4ZOC-C-u3YY-3.js} +1 -1
- package/dist/assets/{stateDiagram-FKZM4ZOC-DYV-na53-BrTgUi_v.js → stateDiagram-FKZM4ZOC-zOb-V3pD-D2k2TVkN.js} +1 -1
- package/dist/assets/stateDiagram-v2-4FDKWEC3-CvvobAsa.js +1 -0
- package/dist/assets/stateDiagram-v2-4FDKWEC3-_Mzc1jVl-lAsEHEbp.js +1 -0
- package/dist/assets/timeline-definition-IT6M3QCI-B2T2QrC5-eoEFP1Po.js +61 -0
- package/dist/assets/{timeline-definition-IT6M3QCI-B_SrPNXx.js → timeline-definition-IT6M3QCI-Dx4HH0C5.js} +1 -1
- package/dist/assets/{treemap-KMMF4GRG-Bj5u1csA.js → treemap-KMMF4GRG-DfaADvmb.js} +1 -1
- package/dist/assets/{treemap-KMMF4GRG-l6HrdCLC-BpLaQV_H.js → treemap-KMMF4GRG-wB3pBnFc-DQrUn2c6.js} +59 -59
- package/dist/assets/{xychartDiagram-PRI3JC2R-CkfCv2o_-BblxmbGy.js → xychartDiagram-PRI3JC2R-BSPghzKh-CYIgkUk9.js} +3 -3
- package/dist/assets/{xychartDiagram-PRI3JC2R-Ca3wGEm0.js → xychartDiagram-PRI3JC2R-DusIzSwm.js} +1 -1
- package/dist/index.html +2 -2
- package/package.json +4 -7
- package/dist/assets/_baseUniq-KSDS6tgF-vSUSx1j2.js +0 -1
- package/dist/assets/arc-C-X5Xt_b-DxNTmc8E.js +0 -1
- package/dist/assets/architectureDiagram-VXUJARFQ-Bal8NTn4-C3CDAmmj.js +0 -36
- package/dist/assets/blockDiagram-VD42YOAC-B2gTo5wW-Chk-bWEZ.js +0 -122
- package/dist/assets/c4Diagram-YG6GDRKO-dIf_vNCY-B78U9OXb.js +0 -10
- package/dist/assets/channel-CXjddKEr.js +0 -1
- package/dist/assets/channel-klR7o7JB-D3KnrQ1u.js +0 -1
- package/dist/assets/chunk-4BX2VUAB-BQgzc1Sm-3MUJBN6J.js +0 -1
- package/dist/assets/chunk-DI55MBZ5-BwHLqSW9-Dg6tgfWJ.js +0 -220
- package/dist/assets/chunk-QN33PNHL-DHNejhbC-DbJMzG-e.js +0 -1
- package/dist/assets/classDiagram-2ON5EDUG-Cf3QVtDa.js +0 -1
- package/dist/assets/classDiagram-2ON5EDUG-D7bjndmT-0h2otGW6.js +0 -1
- package/dist/assets/classDiagram-v2-WZHVMYZB-Cf3QVtDa.js +0 -1
- package/dist/assets/classDiagram-v2-WZHVMYZB-D7bjndmT-0h2otGW6.js +0 -1
- package/dist/assets/clone-7srXemyd-DGxkCAtg.js +0 -1
- package/dist/assets/clone-DZrMJ9hz.js +0 -1
- package/dist/assets/code-block-37QAKDTI-MRm4xHKr-DLRpbM4W.js +0 -2
- package/dist/assets/dagre-6UL2VRFP-BqaZre9N-vdYA4a1q.js +0 -4
- package/dist/assets/diagram-PSM6KHXK-s2xYLlND-B6BOy07D.js +0 -24
- package/dist/assets/diagram-QEK2KX5R-D700jvoY-tTlqymfs.js +0 -43
- package/dist/assets/diagram-S2PKOQOG-BkgBSa1Q-59esupTS.js +0 -24
- package/dist/assets/flowDiagram-NV44I4VS-Dsrv00Gy-Cz-kjEu8.js +0 -162
- package/dist/assets/gitGraphDiagram-NY62KEGX-DOanbk62-D2EAn-OM.js +0 -65
- package/dist/assets/index-BXRJOAs4.js +0 -2540
- package/dist/assets/index-C5i0a-mH.css +0 -1
- package/dist/assets/infoDiagram-WHAUD3N6-Fq8ToFQ6-BmtVQ1WU.js +0 -2
- package/dist/assets/kanban-definition-3W4ZIXB7-CrmrjRAg-BJFHq-Xg.js +0 -89
- package/dist/assets/min-Ar5ebLd--DYc60i1a.js +0 -1
- package/dist/assets/mindmap-definition-VGOIOE7T-DeGZNL21-hbAsMota.js +0 -68
- package/dist/assets/pieDiagram-ADFJNKIX-C_V2NX6O-BNls6JWQ.js +0 -30
- package/dist/assets/quadrantDiagram-AYHSOK5B-B8fSnYQi-BEGj5HDN.js +0 -7
- package/dist/assets/sequenceDiagram-WL72ISMW-D2pgAoWi-CIx9uPOq.js +0 -145
- package/dist/assets/stateDiagram-v2-4FDKWEC3-Kp4sxr9o--i7eh5f-.js +0 -1
- package/dist/assets/stateDiagram-v2-4FDKWEC3-yJXh1tES.js +0 -1
- package/dist/assets/timeline-definition-IT6M3QCI-621ePKJ0-i5oeWE__.js +0 -61
- /package/dist/assets/{ordinal-DfAQgscy-Pc8f3NoK.js → ordinal-B6-f3MAq-Pc8f3NoK.js} +0 -0
package/dist/assets/{treemap-KMMF4GRG-l6HrdCLC-BpLaQV_H.js → treemap-KMMF4GRG-wB3pBnFc-DQrUn2c6.js}
RENAMED
|
@@ -1,66 +1,66 @@
|
|
|
1
|
-
import{ej as bt,p as jd}from"./index-BXRJOAs4.js";import{M as st,L as Gd,k as Bd}from"./min-Ar5ebLd--DYc60i1a.js";import{Z as wo,q as ns,Y as Kd,H as Vd,X as Hd,e as zd}from"./_baseUniq-KSDS6tgF-vSUSx1j2.js";var Wd=Object.defineProperty,Yd=(t,e,r)=>e in t?Wd(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,Ct=(t,e,r)=>Yd(t,typeof e!="symbol"?e+"":e,r);function qd(t,e){return Vd(st(t,e))}function Xd(t,e){return t&&t.length?Hd(t,zd(e)):[]}function le(t){return typeof t=="object"&&t!==null&&typeof t.$type=="string"}function We(t){return typeof t=="object"&&t!==null&&typeof t.$refText=="string"}function Qd(t){return typeof t=="object"&&t!==null&&typeof t.name=="string"&&typeof t.type=="string"&&typeof t.path=="string"}function Kn(t){return typeof t=="object"&&t!==null&&le(t.container)&&We(t.reference)&&typeof t.message=="string"}class dc{constructor(){this.subtypes={},this.allSubtypes={}}isInstance(e,r){return le(e)&&this.isSubtype(e.$type,r)}isSubtype(e,r){if(e===r)return!0;let n=this.subtypes[e];n||(n=this.subtypes[e]={});const i=n[r];if(i!==void 0)return i;{const s=this.computeIsSubtype(e,r);return n[r]=s,s}}getAllSubTypes(e){const r=this.allSubtypes[e];if(r)return r;{const n=this.getAllTypes(),i=[];for(const s of n)this.isSubtype(s,e)&&i.push(s);return this.allSubtypes[e]=i,i}}}function tn(t){return typeof t=="object"&&t!==null&&Array.isArray(t.content)}function hc(t){return typeof t=="object"&&t!==null&&typeof t.tokenType=="object"}function pc(t){return tn(t)&&typeof t.fullText=="string"}class re{constructor(e,r){this.startFn=e,this.nextFn=r}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 r=0,n=e.next();for(;!n.done;)r++,n=e.next();return r}toArray(){const e=[],r=this.iterator();let n;do n=r.next(),n.value!==void 0&&e.push(n.value);while(!n.done);return e}toSet(){return new Set(this)}toMap(e,r){const n=this.map(i=>[e?e(i):i,r?r(i):i]);return new Map(n)}toString(){return this.join()}concat(e){return new re(()=>({first:this.startFn(),firstDone:!1,iterator:e[Symbol.iterator]()}),r=>{let n;if(!r.firstDone){do if(n=this.nextFn(r.first),!n.done)return n;while(!n.done);r.firstDone=!0}do if(n=r.iterator.next(),!n.done)return n;while(!n.done);return $e})}join(e=","){const r=this.iterator();let n="",i,s=!1;do i=r.next(),i.done||(s&&(n+=e),n+=Zd(i.value)),s=!0;while(!i.done);return n}indexOf(e,r=0){const n=this.iterator();let i=0,s=n.next();for(;!s.done;){if(i>=r&&s.value===e)return i;s=n.next(),i++}return-1}every(e){const r=this.iterator();let n=r.next();for(;!n.done;){if(!e(n.value))return!1;n=r.next()}return!0}some(e){const r=this.iterator();let n=r.next();for(;!n.done;){if(e(n.value))return!0;n=r.next()}return!1}forEach(e){const r=this.iterator();let n=0,i=r.next();for(;!i.done;)e(i.value,n),i=r.next(),n++}map(e){return new re(this.startFn,r=>{const{done:n,value:i}=this.nextFn(r);return n?$e:{done:!1,value:e(i)}})}filter(e){return new re(this.startFn,r=>{let n;do if(n=this.nextFn(r),!n.done&&e(n.value))return n;while(!n.done);return $e})}nonNullable(){return this.filter(e=>e!=null)}reduce(e,r){const n=this.iterator();let i=r,s=n.next();for(;!s.done;)i===void 0?i=s.value:i=e(i,s.value),s=n.next();return i}reduceRight(e,r){return this.recursiveReduce(this.iterator(),e,r)}recursiveReduce(e,r,n){const i=e.next();if(i.done)return n;const s=this.recursiveReduce(e,r,n);return s===void 0?i.value:r(s,i.value)}find(e){const r=this.iterator();let n=r.next();for(;!n.done;){if(e(n.value))return n.value;n=r.next()}}findIndex(e){const r=this.iterator();let n=0,i=r.next();for(;!i.done;){if(e(i.value))return n;i=r.next(),n++}return-1}includes(e){const r=this.iterator();let n=r.next();for(;!n.done;){if(n.value===e)return!0;n=r.next()}return!1}flatMap(e){return new re(()=>({this:this.startFn()}),r=>{do{if(r.iterator){const s=r.iterator.next();if(s.done)r.iterator=void 0;else return s}const{done:n,value:i}=this.nextFn(r.this);if(!n){const s=e(i);if(si(s))r.iterator=s[Symbol.iterator]();else return{done:!1,value:s}}}while(r.iterator);return $e})}flat(e){if(e===void 0&&(e=1),e<=0)return this;const r=e>1?this.flat(e-1):this;return new re(()=>({this:r.startFn()}),n=>{do{if(n.iterator){const a=n.iterator.next();if(a.done)n.iterator=void 0;else return a}const{done:i,value:s}=r.nextFn(n.this);if(!i)if(si(s))n.iterator=s[Symbol.iterator]();else return{done:!1,value:s}}while(n.iterator);return $e})}head(){const e=this.iterator().next();if(!e.done)return e.value}tail(e=1){return new re(()=>{const r=this.startFn();for(let n=0;n<e;n++)if(this.nextFn(r).done)return r;return r},this.nextFn)}limit(e){return new re(()=>({size:0,state:this.startFn()}),r=>(r.size++,r.size>e?$e:this.nextFn(r.state)))}distinct(e){return new re(()=>({set:new Set,internalState:this.startFn()}),r=>{let n;do if(n=this.nextFn(r.internalState),!n.done){const i=e?e(n.value):n.value;if(!r.set.has(i))return r.set.add(i),n}while(!n.done);return $e})}exclude(e,r){const n=new Set;for(const i of e){const s=r?r(i):i;n.add(s)}return this.filter(i=>{const s=r?r(i):i;return!n.has(s)})}}function Zd(t){return typeof t=="string"?t:typeof t>"u"?"undefined":typeof t.toString=="function"?t.toString():Object.prototype.toString.call(t)}function si(t){return!!t&&typeof t[Symbol.iterator]=="function"}const Jd=new re(()=>{},()=>$e),$e=Object.freeze({done:!0,value:void 0});function ne(...t){if(t.length===1){const e=t[0];if(e instanceof re)return e;if(si(e))return new re(()=>e[Symbol.iterator](),r=>r.next());if(typeof e.length=="number")return new re(()=>({index:0}),r=>r.index<e.length?{done:!1,value:e[r.index++]}:$e)}return t.length>1?new re(()=>({collIndex:0,arrIndex:0}),e=>{do{if(e.iterator){const r=e.iterator.next();if(!r.done)return r;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 r=t[e.collIndex++];si(r)?e.iterator=r[Symbol.iterator]():r&&typeof r.length=="number"&&(e.array=r)}}while(e.iterator||e.array||e.collIndex<t.length);return $e}):Jd}class Da extends re{constructor(e,r,n){super(()=>({iterators:n!=null&&n.includeRoot?[[e][Symbol.iterator]()]:[r(e)[Symbol.iterator]()],pruned:!1}),i=>{for(i.pruned&&(i.iterators.pop(),i.pruned=!1);i.iterators.length>0;){const s=i.iterators[i.iterators.length-1].next();if(s.done)i.iterators.pop();else return i.iterators.push(r(s.value)[Symbol.iterator]()),s}return $e})}iterator(){const e={state:this.startFn(),next:()=>this.nextFn(e.state),prune:()=>{e.state.pruned=!0},[Symbol.iterator]:()=>e};return e}}var Qs;(function(t){function e(s){return s.reduce((a,o)=>a+o,0)}t.sum=e;function r(s){return s.reduce((a,o)=>a*o,0)}t.product=r;function n(s){return s.reduce((a,o)=>Math.min(a,o))}t.min=n;function i(s){return s.reduce((a,o)=>Math.max(a,o))}t.max=i})(Qs||(Qs={}));function Zs(t){return new Da(t,e=>tn(e)?e.content:[],{includeRoot:!0})}function eh(t,e){for(;t.container;)if(t=t.container,t===e)return!0;return!1}function Js(t){return{start:{character:t.startColumn-1,line:t.startLine-1},end:{character:t.endColumn,line:t.endLine-1}}}function ai(t){if(!t)return;const{offset:e,end:r,range:n}=t;return{range:n,offset:e,end:r,length:r-e}}var nt;(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"})(nt||(nt={}));function th(t,e){if(t.end.line<e.start.line||t.end.line===e.start.line&&t.end.character<=e.start.character)return nt.Before;if(t.start.line>e.end.line||t.start.line===e.end.line&&t.start.character>=e.end.character)return nt.After;const r=t.start.line>e.start.line||t.start.line===e.start.line&&t.start.character>=e.start.character,n=t.end.line<e.end.line||t.end.line===e.end.line&&t.end.character<=e.end.character;return r&&n?nt.Inside:r?nt.OverlapBack:n?nt.OverlapFront:nt.Outside}function rh(t,e){return th(t,e)>nt.After}const nh=/^[\w\p{L}]$/u;function ih(t,e){if(t){const r=sh(t,!0);if(r&&bo(r,e))return r;if(pc(t)){const n=t.content.findIndex(i=>!i.hidden);for(let i=n-1;i>=0;i--){const s=t.content[i];if(bo(s,e))return s}}}}function bo(t,e){return hc(t)&&e.includes(t.tokenType.name)}function sh(t,e=!0){for(;t.container;){const r=t.container;let n=r.content.indexOf(t);for(;n>0;){n--;const i=r.content[n];if(e||!i.hidden)return i}t=r}}class mc extends Error{constructor(e,r){super(e?`${r} at ${e.range.start.line}:${e.range.start.character}`:r)}}function un(t){throw new Error("Error! The input value was not handled.")}const Rn="AbstractRule",$n="AbstractType",is="Condition",Co="TypeDefinition",ss="ValueLiteral",yr="AbstractElement";function ah(t){return D.isInstance(t,yr)}const En="ArrayLiteral",An="ArrayType",vr="BooleanLiteral";function oh(t){return D.isInstance(t,vr)}const Tr="Conjunction";function lh(t){return D.isInstance(t,Tr)}const Rr="Disjunction";function uh(t){return D.isInstance(t,Rr)}const kn="Grammar",as="GrammarImport",$r="InferredType";function gc(t){return D.isInstance(t,$r)}const Er="Interface";function yc(t){return D.isInstance(t,Er)}const os="NamedArgument",Ar="Negation";function ch(t){return D.isInstance(t,Ar)}const xn="NumberLiteral",Sn="Parameter",kr="ParameterReference";function fh(t){return D.isInstance(t,kr)}const xr="ParserRule";function Ne(t){return D.isInstance(t,xr)}const In="ReferenceType",Vn="ReturnType";function dh(t){return D.isInstance(t,Vn)}const Sr="SimpleType";function hh(t){return D.isInstance(t,Sr)}const wn="StringLiteral",Xt="TerminalRule";function Gt(t){return D.isInstance(t,Xt)}const Ir="Type";function vc(t){return D.isInstance(t,Ir)}const ls="TypeAttribute",bn="UnionType",wr="Action";function Ci(t){return D.isInstance(t,wr)}const br="Alternatives";function Tc(t){return D.isInstance(t,br)}const Cr="Assignment";function Ot(t){return D.isInstance(t,Cr)}const Nr="CharacterRange";function ph(t){return D.isInstance(t,Nr)}const _r="CrossReference";function Ua(t){return D.isInstance(t,_r)}const Lr="EndOfFile";function mh(t){return D.isInstance(t,Lr)}const Or="Group";function Fa(t){return D.isInstance(t,Or)}const Pr="Keyword";function Pt(t){return D.isInstance(t,Pr)}const Mr="NegatedToken";function gh(t){return D.isInstance(t,Mr)}const Dr="RegexToken";function yh(t){return D.isInstance(t,Dr)}const Ur="RuleCall";function Mt(t){return D.isInstance(t,Ur)}const Fr="TerminalAlternatives";function vh(t){return D.isInstance(t,Fr)}const jr="TerminalGroup";function Th(t){return D.isInstance(t,jr)}const Gr="TerminalRuleCall";function Rh(t){return D.isInstance(t,Gr)}const Br="UnorderedGroup";function Rc(t){return D.isInstance(t,Br)}const Kr="UntilToken";function $h(t){return D.isInstance(t,Kr)}const Vr="Wildcard";function Eh(t){return D.isInstance(t,Vr)}class $c extends dc{getAllTypes(){return[yr,Rn,$n,wr,br,En,An,Cr,vr,Nr,is,Tr,_r,Rr,Lr,kn,as,Or,$r,Er,Pr,os,Mr,Ar,xn,Sn,kr,xr,In,Dr,Vn,Ur,Sr,wn,Fr,jr,Xt,Gr,Ir,ls,Co,bn,Br,Kr,ss,Vr]}computeIsSubtype(e,r){switch(e){case wr:case br:case Cr:case Nr:case _r:case Lr:case Or:case Pr:case Mr:case Dr:case Ur:case Fr:case jr:case Gr:case Br:case Kr:case Vr:return this.isSubtype(yr,r);case En:case xn:case wn:return this.isSubtype(ss,r);case An:case In:case Sr:case bn:return this.isSubtype(Co,r);case vr:return this.isSubtype(is,r)||this.isSubtype(ss,r);case Tr:case Rr:case Ar:case kr:return this.isSubtype(is,r);case $r:case Er:case Ir:return this.isSubtype($n,r);case xr:return this.isSubtype(Rn,r)||this.isSubtype($n,r);case Xt:return this.isSubtype(Rn,r);default:return!1}}getReferenceType(e){const r=`${e.container.$type}:${e.property}`;switch(r){case"Action:type":case"CrossReference:type":case"Interface:superTypes":case"ParserRule:returnType":case"SimpleType:typeRef":return $n;case"Grammar:hiddenTokens":case"ParserRule:hiddenTokens":case"RuleCall:rule":return Rn;case"Grammar:usedGrammars":return kn;case"NamedArgument:parameter":case"ParameterReference:parameter":return Sn;case"TerminalRuleCall:rule":return Xt;default:throw new Error(`${r} is not a valid reference id.`)}}getTypeMetaData(e){switch(e){case yr:return{name:yr,properties:[{name:"cardinality"},{name:"lookahead"}]};case En:return{name:En,properties:[{name:"elements",defaultValue:[]}]};case An:return{name:An,properties:[{name:"elementType"}]};case vr:return{name:vr,properties:[{name:"true",defaultValue:!1}]};case Tr:return{name:Tr,properties:[{name:"left"},{name:"right"}]};case Rr:return{name:Rr,properties:[{name:"left"},{name:"right"}]};case kn:return{name:kn,properties:[{name:"definesHiddenTokens",defaultValue:!1},{name:"hiddenTokens",defaultValue:[]},{name:"imports",defaultValue:[]},{name:"interfaces",defaultValue:[]},{name:"isDeclared",defaultValue:!1},{name:"name"},{name:"rules",defaultValue:[]},{name:"types",defaultValue:[]},{name:"usedGrammars",defaultValue:[]}]};case as:return{name:as,properties:[{name:"path"}]};case $r:return{name:$r,properties:[{name:"name"}]};case Er:return{name:Er,properties:[{name:"attributes",defaultValue:[]},{name:"name"},{name:"superTypes",defaultValue:[]}]};case os:return{name:os,properties:[{name:"calledByName",defaultValue:!1},{name:"parameter"},{name:"value"}]};case Ar:return{name:Ar,properties:[{name:"value"}]};case xn:return{name:xn,properties:[{name:"value"}]};case Sn:return{name:Sn,properties:[{name:"name"}]};case kr:return{name:kr,properties:[{name:"parameter"}]};case xr:return{name:xr,properties:[{name:"dataType"},{name:"definesHiddenTokens",defaultValue:!1},{name:"definition"},{name:"entry",defaultValue:!1},{name:"fragment",defaultValue:!1},{name:"hiddenTokens",defaultValue:[]},{name:"inferredType"},{name:"name"},{name:"parameters",defaultValue:[]},{name:"returnType"},{name:"wildcard",defaultValue:!1}]};case In:return{name:In,properties:[{name:"referenceType"}]};case Vn:return{name:Vn,properties:[{name:"name"}]};case Sr:return{name:Sr,properties:[{name:"primitiveType"},{name:"stringType"},{name:"typeRef"}]};case wn:return{name:wn,properties:[{name:"value"}]};case Xt:return{name:Xt,properties:[{name:"definition"},{name:"fragment",defaultValue:!1},{name:"hidden",defaultValue:!1},{name:"name"},{name:"type"}]};case Ir:return{name:Ir,properties:[{name:"name"},{name:"type"}]};case ls:return{name:ls,properties:[{name:"defaultValue"},{name:"isOptional",defaultValue:!1},{name:"name"},{name:"type"}]};case bn:return{name:bn,properties:[{name:"types",defaultValue:[]}]};case wr:return{name:wr,properties:[{name:"cardinality"},{name:"feature"},{name:"inferredType"},{name:"lookahead"},{name:"operator"},{name:"type"}]};case br:return{name:br,properties:[{name:"cardinality"},{name:"elements",defaultValue:[]},{name:"lookahead"}]};case Cr:return{name:Cr,properties:[{name:"cardinality"},{name:"feature"},{name:"lookahead"},{name:"operator"},{name:"terminal"}]};case Nr:return{name:Nr,properties:[{name:"cardinality"},{name:"left"},{name:"lookahead"},{name:"right"}]};case _r:return{name:_r,properties:[{name:"cardinality"},{name:"deprecatedSyntax",defaultValue:!1},{name:"lookahead"},{name:"terminal"},{name:"type"}]};case Lr:return{name:Lr,properties:[{name:"cardinality"},{name:"lookahead"}]};case Or:return{name:Or,properties:[{name:"cardinality"},{name:"elements",defaultValue:[]},{name:"guardCondition"},{name:"lookahead"}]};case Pr:return{name:Pr,properties:[{name:"cardinality"},{name:"lookahead"},{name:"value"}]};case Mr:return{name:Mr,properties:[{name:"cardinality"},{name:"lookahead"},{name:"terminal"}]};case Dr:return{name:Dr,properties:[{name:"cardinality"},{name:"lookahead"},{name:"regex"}]};case Ur:return{name:Ur,properties:[{name:"arguments",defaultValue:[]},{name:"cardinality"},{name:"lookahead"},{name:"rule"}]};case Fr:return{name:Fr,properties:[{name:"cardinality"},{name:"elements",defaultValue:[]},{name:"lookahead"}]};case jr:return{name:jr,properties:[{name:"cardinality"},{name:"elements",defaultValue:[]},{name:"lookahead"}]};case Gr:return{name:Gr,properties:[{name:"cardinality"},{name:"lookahead"},{name:"rule"}]};case Br:return{name:Br,properties:[{name:"cardinality"},{name:"elements",defaultValue:[]},{name:"lookahead"}]};case Kr:return{name:Kr,properties:[{name:"cardinality"},{name:"lookahead"},{name:"terminal"}]};case Vr:return{name:Vr,properties:[{name:"cardinality"},{name:"lookahead"}]};default:return{name:e,properties:[]}}}}const D=new $c;function Ah(t){for(const[e,r]of Object.entries(t))e.startsWith("$")||(Array.isArray(r)?r.forEach((n,i)=>{le(n)&&(n.$container=t,n.$containerProperty=e,n.$containerIndex=i)}):le(r)&&(r.$container=t,r.$containerProperty=e))}function Ni(t,e){let r=t;for(;r;){if(e(r))return r;r=r.$container}}function pt(t){const e=ea(t).$document;if(!e)throw new Error("AST node has no document.");return e}function ea(t){for(;t.$container;)t=t.$container;return t}function ja(t,e){if(!t)throw new Error("Node must be an AstNode.");const r=e?.range;return new re(()=>({keys:Object.keys(t),keyIndex:0,arrayIndex:0}),n=>{for(;n.keyIndex<n.keys.length;){const i=n.keys[n.keyIndex];if(!i.startsWith("$")){const s=t[i];if(le(s)){if(n.keyIndex++,No(s,r))return{done:!1,value:s}}else if(Array.isArray(s)){for(;n.arrayIndex<s.length;){const a=n.arrayIndex++,o=s[a];if(le(o)&&No(o,r))return{done:!1,value:o}}n.arrayIndex=0}}n.keyIndex++}return $e})}function cn(t,e){if(!t)throw new Error("Root node must be an AstNode.");return new Da(t,r=>ja(r,e))}function Zt(t,e){if(!t)throw new Error("Root node must be an AstNode.");return new Da(t,r=>ja(r,e),{includeRoot:!0})}function No(t,e){var r;if(!e)return!0;const n=(r=t.$cstNode)===null||r===void 0?void 0:r.range;return n?rh(n,e):!1}function Ec(t){return new re(()=>({keys:Object.keys(t),keyIndex:0,arrayIndex:0}),e=>{for(;e.keyIndex<e.keys.length;){const r=e.keys[e.keyIndex];if(!r.startsWith("$")){const n=t[r];if(We(n))return e.keyIndex++,{done:!1,value:{reference:n,container:t,property:r}};if(Array.isArray(n)){for(;e.arrayIndex<n.length;){const i=e.arrayIndex++,s=n[i];if(We(s))return{done:!1,value:{reference:s,container:t,property:r,index:i}}}e.arrayIndex=0}}e.keyIndex++}return $e})}function kh(t,e){const r=t.getTypeMetaData(e.$type),n=e;for(const i of r.properties)i.defaultValue!==void 0&&n[i.name]===void 0&&(n[i.name]=Ac(i.defaultValue))}function Ac(t){return Array.isArray(t)?[...t.map(Ac)]:t}function C(t){return t.charCodeAt(0)}function us(t,e){Array.isArray(t)?t.forEach(function(r){e.push(r)}):e.push(t)}function hr(t,e){if(t[e]===!0)throw"duplicate flag "+e;t[e],t[e]=!0}function qt(t){if(t===void 0)throw Error("Internal Error - Should never get here!");return!0}function xh(){throw Error("Internal Error - Should never get here!")}function _o(t){return t.type==="Character"}const oi=[];for(let t=C("0");t<=C("9");t++)oi.push(t);const li=[C("_")].concat(oi);for(let t=C("a");t<=C("z");t++)li.push(t);for(let t=C("A");t<=C("Z");t++)li.push(t);const Lo=[C(" "),C("\f"),C(`
|
|
2
|
-
`),C("\r"),C(" "),C("\v"),C(" "),C(" "),C(" "),C(" "),C(" "),C(" "),C(" "),C(" "),C(" "),C(" "),C(" "),C(" "),C(" "),C(" "),C("\u2028"),C("\u2029"),C(" "),C(" "),C(" "),C("\uFEFF")]
|
|
3
|
-
`),C("\r"),C("\u2028"),C("\u2029")]}}atomEscape(){switch(this.consumeChar("\\"),this.peekChar()){case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":return this.decimalEscapeAtom();case"d":case"D":case"s":case"S":case"w":case"W":return this.characterClassEscape();case"f":case"n":case"r":case"t":case"v":return this.controlEscapeAtom();case"c":return this.controlLetterEscapeAtom();case"0":return this.nulCharacterAtom();case"x":return this.hexEscapeSequenceAtom();case"u":return this.regExpUnicodeEscapeSequenceAtom();default:return this.identityEscapeAtom()}}decimalEscapeAtom(){return{type:"GroupBackReference",value:this.positiveInteger()}}characterClassEscape(){let e,r=!1;switch(this.popChar()){case"d":e=
|
|
4
|
-
`);break;case"r":e=C("\r");break;case"t":e=C(" ");break;case"v":e=C("\v");break}if(
|
|
5
|
-
`:case"\r":case"\u2028":case"\u2029":case"\\":case"]":throw Error("TBD");default:const e=this.popChar();return{type:"Character",value:C(e)}}}characterClass(){const e=[];let r=!1;for(this.consumeChar("["),this.peekChar(0)==="^"&&(this.consumeChar("^"),r=!0);this.isClassAtom();){const n=this.classAtom();if(n.type,
|
|
6
|
-
`:case"\r":case"\u2028":case"\u2029":throw Error("TBD");case"\\":return this.classEscape();default:return this.classPatternCharacterAtom()}}classEscape(){switch(this.consumeChar("\\"),this.peekChar()){case"b":return this.consumeChar("b"),{type:"Character",value:C("\b")};case"d":case"D":case"s":case"S":case"w":case"W":return this.characterClassEscape();case"f":case"n":case"r":case"t":case"v":return this.controlEscapeAtom();case"c":return this.controlLetterEscapeAtom();case"0":return this.nulCharacterAtom();case"x":return this.hexEscapeSequenceAtom();case"u":return this.regExpUnicodeEscapeSequenceAtom();default:return this.identityEscapeAtom()}}group(){let e=!0;
|
|
7
|
-
`:case"\r":case"\u2028":case"\u2029":case"^":case"$":case"\\":case".":case"*":case"+":case"?":case"(":case")":case"[":case"|":throw Error("TBD");default:return{type:"Character",value:C(e)}}}isRegExpFlag(){switch(this.peekChar(0)){case"g":case"i":case"m":case"u":case"y":return!0;default:return!1}}isRangeDash(){return this.peekChar()==="-"&&this.isClassAtom(1)}isDigit(){return
|
|
1
|
+
import{ej as bt,p as Fd}from"./index-B7GqH6If.js";import{M as st,L as jd,k as Gd}from"./min-C8aXS73f-D0DvW8t2.js";import{Z as Io,q as rs,Y as Bd,H as Kd,X as Vd,e as Hd}from"./_baseUniq-D7Jo4wA--B2TRxPWE.js";function Wd(t,e){return Kd(st(t,e))}function zd(t,e){return t&&t.length?Vd(t,Hd(e)):[]}function le(t){return typeof t=="object"&&t!==null&&typeof t.$type=="string"}function ze(t){return typeof t=="object"&&t!==null&&typeof t.$refText=="string"}function Yd(t){return typeof t=="object"&&t!==null&&typeof t.name=="string"&&typeof t.type=="string"&&typeof t.path=="string"}function Bn(t){return typeof t=="object"&&t!==null&&le(t.container)&&ze(t.reference)&&typeof t.message=="string"}class fc{constructor(){this.subtypes={},this.allSubtypes={}}isInstance(e,r){return le(e)&&this.isSubtype(e.$type,r)}isSubtype(e,r){if(e===r)return!0;let n=this.subtypes[e];n||(n=this.subtypes[e]={});const i=n[r];if(i!==void 0)return i;{const s=this.computeIsSubtype(e,r);return n[r]=s,s}}getAllSubTypes(e){const r=this.allSubtypes[e];if(r)return r;{const n=this.getAllTypes(),i=[];for(const s of n)this.isSubtype(s,e)&&i.push(s);return this.allSubtypes[e]=i,i}}}function en(t){return typeof t=="object"&&t!==null&&Array.isArray(t.content)}function dc(t){return typeof t=="object"&&t!==null&&typeof t.tokenType=="object"}function hc(t){return en(t)&&typeof t.fullText=="string"}class re{constructor(e,r){this.startFn=e,this.nextFn=r}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 r=0,n=e.next();for(;!n.done;)r++,n=e.next();return r}toArray(){const e=[],r=this.iterator();let n;do n=r.next(),n.value!==void 0&&e.push(n.value);while(!n.done);return e}toSet(){return new Set(this)}toMap(e,r){const n=this.map(i=>[e?e(i):i,r?r(i):i]);return new Map(n)}toString(){return this.join()}concat(e){return new re(()=>({first:this.startFn(),firstDone:!1,iterator:e[Symbol.iterator]()}),r=>{let n;if(!r.firstDone){do if(n=this.nextFn(r.first),!n.done)return n;while(!n.done);r.firstDone=!0}do if(n=r.iterator.next(),!n.done)return n;while(!n.done);return Ee})}join(e=","){const r=this.iterator();let n="",i,s=!1;do i=r.next(),i.done||(s&&(n+=e),n+=qd(i.value)),s=!0;while(!i.done);return n}indexOf(e,r=0){const n=this.iterator();let i=0,s=n.next();for(;!s.done;){if(i>=r&&s.value===e)return i;s=n.next(),i++}return-1}every(e){const r=this.iterator();let n=r.next();for(;!n.done;){if(!e(n.value))return!1;n=r.next()}return!0}some(e){const r=this.iterator();let n=r.next();for(;!n.done;){if(e(n.value))return!0;n=r.next()}return!1}forEach(e){const r=this.iterator();let n=0,i=r.next();for(;!i.done;)e(i.value,n),i=r.next(),n++}map(e){return new re(this.startFn,r=>{const{done:n,value:i}=this.nextFn(r);return n?Ee:{done:!1,value:e(i)}})}filter(e){return new re(this.startFn,r=>{let n;do if(n=this.nextFn(r),!n.done&&e(n.value))return n;while(!n.done);return Ee})}nonNullable(){return this.filter(e=>e!=null)}reduce(e,r){const n=this.iterator();let i=r,s=n.next();for(;!s.done;)i===void 0?i=s.value:i=e(i,s.value),s=n.next();return i}reduceRight(e,r){return this.recursiveReduce(this.iterator(),e,r)}recursiveReduce(e,r,n){const i=e.next();if(i.done)return n;const s=this.recursiveReduce(e,r,n);return s===void 0?i.value:r(s,i.value)}find(e){const r=this.iterator();let n=r.next();for(;!n.done;){if(e(n.value))return n.value;n=r.next()}}findIndex(e){const r=this.iterator();let n=0,i=r.next();for(;!i.done;){if(e(i.value))return n;i=r.next(),n++}return-1}includes(e){const r=this.iterator();let n=r.next();for(;!n.done;){if(n.value===e)return!0;n=r.next()}return!1}flatMap(e){return new re(()=>({this:this.startFn()}),r=>{do{if(r.iterator){const s=r.iterator.next();if(s.done)r.iterator=void 0;else return s}const{done:n,value:i}=this.nextFn(r.this);if(!n){const s=e(i);if(ii(s))r.iterator=s[Symbol.iterator]();else return{done:!1,value:s}}}while(r.iterator);return Ee})}flat(e){if(e===void 0&&(e=1),e<=0)return this;const r=e>1?this.flat(e-1):this;return new re(()=>({this:r.startFn()}),n=>{do{if(n.iterator){const a=n.iterator.next();if(a.done)n.iterator=void 0;else return a}const{done:i,value:s}=r.nextFn(n.this);if(!i)if(ii(s))n.iterator=s[Symbol.iterator]();else return{done:!1,value:s}}while(n.iterator);return Ee})}head(){const e=this.iterator().next();if(!e.done)return e.value}tail(e=1){return new re(()=>{const r=this.startFn();for(let n=0;n<e;n++)if(this.nextFn(r).done)return r;return r},this.nextFn)}limit(e){return new re(()=>({size:0,state:this.startFn()}),r=>(r.size++,r.size>e?Ee:this.nextFn(r.state)))}distinct(e){return new re(()=>({set:new Set,internalState:this.startFn()}),r=>{let n;do if(n=this.nextFn(r.internalState),!n.done){const i=e?e(n.value):n.value;if(!r.set.has(i))return r.set.add(i),n}while(!n.done);return Ee})}exclude(e,r){const n=new Set;for(const i of e){const s=r?r(i):i;n.add(s)}return this.filter(i=>{const s=r?r(i):i;return!n.has(s)})}}function qd(t){return typeof t=="string"?t:typeof t>"u"?"undefined":typeof t.toString=="function"?t.toString():Object.prototype.toString.call(t)}function ii(t){return!!t&&typeof t[Symbol.iterator]=="function"}const Xd=new re(()=>{},()=>Ee),Ee=Object.freeze({done:!0,value:void 0});function ne(...t){if(t.length===1){const e=t[0];if(e instanceof re)return e;if(ii(e))return new re(()=>e[Symbol.iterator](),r=>r.next());if(typeof e.length=="number")return new re(()=>({index:0}),r=>r.index<e.length?{done:!1,value:e[r.index++]}:Ee)}return t.length>1?new re(()=>({collIndex:0,arrIndex:0}),e=>{do{if(e.iterator){const r=e.iterator.next();if(!r.done)return r;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 r=t[e.collIndex++];ii(r)?e.iterator=r[Symbol.iterator]():r&&typeof r.length=="number"&&(e.array=r)}}while(e.iterator||e.array||e.collIndex<t.length);return Ee}):Xd}class Ma extends re{constructor(e,r,n){super(()=>({iterators:n?.includeRoot?[[e][Symbol.iterator]()]:[r(e)[Symbol.iterator]()],pruned:!1}),i=>{for(i.pruned&&(i.iterators.pop(),i.pruned=!1);i.iterators.length>0;){const s=i.iterators[i.iterators.length-1].next();if(s.done)i.iterators.pop();else return i.iterators.push(r(s.value)[Symbol.iterator]()),s}return Ee})}iterator(){const e={state:this.startFn(),next:()=>this.nextFn(e.state),prune:()=>{e.state.pruned=!0},[Symbol.iterator]:()=>e};return e}}var Xs;(function(t){function e(s){return s.reduce((a,o)=>a+o,0)}t.sum=e;function r(s){return s.reduce((a,o)=>a*o,0)}t.product=r;function n(s){return s.reduce((a,o)=>Math.min(a,o))}t.min=n;function i(s){return s.reduce((a,o)=>Math.max(a,o))}t.max=i})(Xs||(Xs={}));function Qs(t){return new Ma(t,e=>en(e)?e.content:[],{includeRoot:!0})}function Qd(t,e){for(;t.container;)if(t=t.container,t===e)return!0;return!1}function Zs(t){return{start:{character:t.startColumn-1,line:t.startLine-1},end:{character:t.endColumn,line:t.endLine-1}}}function si(t){if(!t)return;const{offset:e,end:r,range:n}=t;return{range:n,offset:e,end:r,length:r-e}}var nt;(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"})(nt||(nt={}));function Zd(t,e){if(t.end.line<e.start.line||t.end.line===e.start.line&&t.end.character<=e.start.character)return nt.Before;if(t.start.line>e.end.line||t.start.line===e.end.line&&t.start.character>=e.end.character)return nt.After;const r=t.start.line>e.start.line||t.start.line===e.start.line&&t.start.character>=e.start.character,n=t.end.line<e.end.line||t.end.line===e.end.line&&t.end.character<=e.end.character;return r&&n?nt.Inside:r?nt.OverlapBack:n?nt.OverlapFront:nt.Outside}function Jd(t,e){return Zd(t,e)>nt.After}const eh=/^[\w\p{L}]$/u;function th(t,e){if(t){const r=rh(t,!0);if(r&&wo(r,e))return r;if(hc(t)){const n=t.content.findIndex(i=>!i.hidden);for(let i=n-1;i>=0;i--){const s=t.content[i];if(wo(s,e))return s}}}}function wo(t,e){return dc(t)&&e.includes(t.tokenType.name)}function rh(t,e=!0){for(;t.container;){const r=t.container;let n=r.content.indexOf(t);for(;n>0;){n--;const i=r.content[n];if(e||!i.hidden)return i}t=r}}class pc extends Error{constructor(e,r){super(e?`${r} at ${e.range.start.line}:${e.range.start.character}`:r)}}function ln(t){throw new Error("Error! The input value was not handled.")}const Tn="AbstractRule",Rn="AbstractType",ns="Condition",bo="TypeDefinition",is="ValueLiteral",gr="AbstractElement";function nh(t){return D.isInstance(t,gr)}const En="ArrayLiteral",An="ArrayType",yr="BooleanLiteral";function ih(t){return D.isInstance(t,yr)}const vr="Conjunction";function sh(t){return D.isInstance(t,vr)}const Tr="Disjunction";function ah(t){return D.isInstance(t,Tr)}const $n="Grammar",ss="GrammarImport",Rr="InferredType";function mc(t){return D.isInstance(t,Rr)}const Er="Interface";function gc(t){return D.isInstance(t,Er)}const as="NamedArgument",Ar="Negation";function oh(t){return D.isInstance(t,Ar)}const kn="NumberLiteral",xn="Parameter",$r="ParameterReference";function lh(t){return D.isInstance(t,$r)}const kr="ParserRule";function Ne(t){return D.isInstance(t,kr)}const Sn="ReferenceType",Kn="ReturnType";function uh(t){return D.isInstance(t,Kn)}const xr="SimpleType";function ch(t){return D.isInstance(t,xr)}const In="StringLiteral",qt="TerminalRule";function jt(t){return D.isInstance(t,qt)}const Sr="Type";function yc(t){return D.isInstance(t,Sr)}const os="TypeAttribute",wn="UnionType",Ir="Action";function bi(t){return D.isInstance(t,Ir)}const wr="Alternatives";function vc(t){return D.isInstance(t,wr)}const br="Assignment";function Lt(t){return D.isInstance(t,br)}const Cr="CharacterRange";function fh(t){return D.isInstance(t,Cr)}const Nr="CrossReference";function Da(t){return D.isInstance(t,Nr)}const _r="EndOfFile";function dh(t){return D.isInstance(t,_r)}const Lr="Group";function Ua(t){return D.isInstance(t,Lr)}const Or="Keyword";function Ot(t){return D.isInstance(t,Or)}const Pr="NegatedToken";function hh(t){return D.isInstance(t,Pr)}const Mr="RegexToken";function ph(t){return D.isInstance(t,Mr)}const Dr="RuleCall";function Pt(t){return D.isInstance(t,Dr)}const Ur="TerminalAlternatives";function mh(t){return D.isInstance(t,Ur)}const Fr="TerminalGroup";function gh(t){return D.isInstance(t,Fr)}const jr="TerminalRuleCall";function yh(t){return D.isInstance(t,jr)}const Gr="UnorderedGroup";function Tc(t){return D.isInstance(t,Gr)}const Br="UntilToken";function vh(t){return D.isInstance(t,Br)}const Kr="Wildcard";function Th(t){return D.isInstance(t,Kr)}class Rc extends fc{getAllTypes(){return[gr,Tn,Rn,Ir,wr,En,An,br,yr,Cr,ns,vr,Nr,Tr,_r,$n,ss,Lr,Rr,Er,Or,as,Pr,Ar,kn,xn,$r,kr,Sn,Mr,Kn,Dr,xr,In,Ur,Fr,qt,jr,Sr,os,bo,wn,Gr,Br,is,Kr]}computeIsSubtype(e,r){switch(e){case Ir:case wr:case br:case Cr:case Nr:case _r:case Lr:case Or:case Pr:case Mr:case Dr:case Ur:case Fr:case jr:case Gr:case Br:case Kr:return this.isSubtype(gr,r);case En:case kn:case In:return this.isSubtype(is,r);case An:case Sn:case xr:case wn:return this.isSubtype(bo,r);case yr:return this.isSubtype(ns,r)||this.isSubtype(is,r);case vr:case Tr:case Ar:case $r:return this.isSubtype(ns,r);case Rr:case Er:case Sr:return this.isSubtype(Rn,r);case kr:return this.isSubtype(Tn,r)||this.isSubtype(Rn,r);case qt:return this.isSubtype(Tn,r);default:return!1}}getReferenceType(e){const r=`${e.container.$type}:${e.property}`;switch(r){case"Action:type":case"CrossReference:type":case"Interface:superTypes":case"ParserRule:returnType":case"SimpleType:typeRef":return Rn;case"Grammar:hiddenTokens":case"ParserRule:hiddenTokens":case"RuleCall:rule":return Tn;case"Grammar:usedGrammars":return $n;case"NamedArgument:parameter":case"ParameterReference:parameter":return xn;case"TerminalRuleCall:rule":return qt;default:throw new Error(`${r} is not a valid reference id.`)}}getTypeMetaData(e){switch(e){case gr:return{name:gr,properties:[{name:"cardinality"},{name:"lookahead"}]};case En:return{name:En,properties:[{name:"elements",defaultValue:[]}]};case An:return{name:An,properties:[{name:"elementType"}]};case yr:return{name:yr,properties:[{name:"true",defaultValue:!1}]};case vr:return{name:vr,properties:[{name:"left"},{name:"right"}]};case Tr:return{name:Tr,properties:[{name:"left"},{name:"right"}]};case $n:return{name:$n,properties:[{name:"definesHiddenTokens",defaultValue:!1},{name:"hiddenTokens",defaultValue:[]},{name:"imports",defaultValue:[]},{name:"interfaces",defaultValue:[]},{name:"isDeclared",defaultValue:!1},{name:"name"},{name:"rules",defaultValue:[]},{name:"types",defaultValue:[]},{name:"usedGrammars",defaultValue:[]}]};case ss:return{name:ss,properties:[{name:"path"}]};case Rr:return{name:Rr,properties:[{name:"name"}]};case Er:return{name:Er,properties:[{name:"attributes",defaultValue:[]},{name:"name"},{name:"superTypes",defaultValue:[]}]};case as:return{name:as,properties:[{name:"calledByName",defaultValue:!1},{name:"parameter"},{name:"value"}]};case Ar:return{name:Ar,properties:[{name:"value"}]};case kn:return{name:kn,properties:[{name:"value"}]};case xn:return{name:xn,properties:[{name:"name"}]};case $r:return{name:$r,properties:[{name:"parameter"}]};case kr:return{name:kr,properties:[{name:"dataType"},{name:"definesHiddenTokens",defaultValue:!1},{name:"definition"},{name:"entry",defaultValue:!1},{name:"fragment",defaultValue:!1},{name:"hiddenTokens",defaultValue:[]},{name:"inferredType"},{name:"name"},{name:"parameters",defaultValue:[]},{name:"returnType"},{name:"wildcard",defaultValue:!1}]};case Sn:return{name:Sn,properties:[{name:"referenceType"}]};case Kn:return{name:Kn,properties:[{name:"name"}]};case xr:return{name:xr,properties:[{name:"primitiveType"},{name:"stringType"},{name:"typeRef"}]};case In:return{name:In,properties:[{name:"value"}]};case qt:return{name:qt,properties:[{name:"definition"},{name:"fragment",defaultValue:!1},{name:"hidden",defaultValue:!1},{name:"name"},{name:"type"}]};case Sr:return{name:Sr,properties:[{name:"name"},{name:"type"}]};case os:return{name:os,properties:[{name:"defaultValue"},{name:"isOptional",defaultValue:!1},{name:"name"},{name:"type"}]};case wn:return{name:wn,properties:[{name:"types",defaultValue:[]}]};case Ir:return{name:Ir,properties:[{name:"cardinality"},{name:"feature"},{name:"inferredType"},{name:"lookahead"},{name:"operator"},{name:"type"}]};case wr:return{name:wr,properties:[{name:"cardinality"},{name:"elements",defaultValue:[]},{name:"lookahead"}]};case br:return{name:br,properties:[{name:"cardinality"},{name:"feature"},{name:"lookahead"},{name:"operator"},{name:"terminal"}]};case Cr:return{name:Cr,properties:[{name:"cardinality"},{name:"left"},{name:"lookahead"},{name:"right"}]};case Nr:return{name:Nr,properties:[{name:"cardinality"},{name:"deprecatedSyntax",defaultValue:!1},{name:"lookahead"},{name:"terminal"},{name:"type"}]};case _r:return{name:_r,properties:[{name:"cardinality"},{name:"lookahead"}]};case Lr:return{name:Lr,properties:[{name:"cardinality"},{name:"elements",defaultValue:[]},{name:"guardCondition"},{name:"lookahead"}]};case Or:return{name:Or,properties:[{name:"cardinality"},{name:"lookahead"},{name:"value"}]};case Pr:return{name:Pr,properties:[{name:"cardinality"},{name:"lookahead"},{name:"terminal"}]};case Mr:return{name:Mr,properties:[{name:"cardinality"},{name:"lookahead"},{name:"regex"}]};case Dr:return{name:Dr,properties:[{name:"arguments",defaultValue:[]},{name:"cardinality"},{name:"lookahead"},{name:"rule"}]};case Ur:return{name:Ur,properties:[{name:"cardinality"},{name:"elements",defaultValue:[]},{name:"lookahead"}]};case Fr:return{name:Fr,properties:[{name:"cardinality"},{name:"elements",defaultValue:[]},{name:"lookahead"}]};case jr:return{name:jr,properties:[{name:"cardinality"},{name:"lookahead"},{name:"rule"}]};case Gr:return{name:Gr,properties:[{name:"cardinality"},{name:"elements",defaultValue:[]},{name:"lookahead"}]};case Br:return{name:Br,properties:[{name:"cardinality"},{name:"lookahead"},{name:"terminal"}]};case Kr:return{name:Kr,properties:[{name:"cardinality"},{name:"lookahead"}]};default:return{name:e,properties:[]}}}}const D=new Rc;function Rh(t){for(const[e,r]of Object.entries(t))e.startsWith("$")||(Array.isArray(r)?r.forEach((n,i)=>{le(n)&&(n.$container=t,n.$containerProperty=e,n.$containerIndex=i)}):le(r)&&(r.$container=t,r.$containerProperty=e))}function Ci(t,e){let r=t;for(;r;){if(e(r))return r;r=r.$container}}function pt(t){const e=Js(t).$document;if(!e)throw new Error("AST node has no document.");return e}function Js(t){for(;t.$container;)t=t.$container;return t}function Fa(t,e){if(!t)throw new Error("Node must be an AstNode.");const r=e?.range;return new re(()=>({keys:Object.keys(t),keyIndex:0,arrayIndex:0}),n=>{for(;n.keyIndex<n.keys.length;){const i=n.keys[n.keyIndex];if(!i.startsWith("$")){const s=t[i];if(le(s)){if(n.keyIndex++,Co(s,r))return{done:!1,value:s}}else if(Array.isArray(s)){for(;n.arrayIndex<s.length;){const a=n.arrayIndex++,o=s[a];if(le(o)&&Co(o,r))return{done:!1,value:o}}n.arrayIndex=0}}n.keyIndex++}return Ee})}function un(t,e){if(!t)throw new Error("Root node must be an AstNode.");return new Ma(t,r=>Fa(r,e))}function Qt(t,e){if(!t)throw new Error("Root node must be an AstNode.");return new Ma(t,r=>Fa(r,e),{includeRoot:!0})}function Co(t,e){var r;if(!e)return!0;const n=(r=t.$cstNode)===null||r===void 0?void 0:r.range;return n?Jd(n,e):!1}function Ec(t){return new re(()=>({keys:Object.keys(t),keyIndex:0,arrayIndex:0}),e=>{for(;e.keyIndex<e.keys.length;){const r=e.keys[e.keyIndex];if(!r.startsWith("$")){const n=t[r];if(ze(n))return e.keyIndex++,{done:!1,value:{reference:n,container:t,property:r}};if(Array.isArray(n)){for(;e.arrayIndex<n.length;){const i=e.arrayIndex++,s=n[i];if(ze(s))return{done:!1,value:{reference:s,container:t,property:r,index:i}}}e.arrayIndex=0}}e.keyIndex++}return Ee})}function Eh(t,e){const r=t.getTypeMetaData(e.$type),n=e;for(const i of r.properties)i.defaultValue!==void 0&&n[i.name]===void 0&&(n[i.name]=Ac(i.defaultValue))}function Ac(t){return Array.isArray(t)?[...t.map(Ac)]:t}function C(t){return t.charCodeAt(0)}function ls(t,e){Array.isArray(t)?t.forEach(function(r){e.push(r)}):e.push(t)}function dr(t,e){if(t[e]===!0)throw"duplicate flag "+e;t[e],t[e]=!0}function Yt(t){if(t===void 0)throw Error("Internal Error - Should never get here!");return!0}function Ah(){throw Error("Internal Error - Should never get here!")}function No(t){return t.type==="Character"}const ai=[];for(let t=C("0");t<=C("9");t++)ai.push(t);const oi=[C("_")].concat(ai);for(let t=C("a");t<=C("z");t++)oi.push(t);for(let t=C("A");t<=C("Z");t++)oi.push(t);const _o=[C(" "),C("\f"),C(`
|
|
2
|
+
`),C("\r"),C(" "),C("\v"),C(" "),C(" "),C(" "),C(" "),C(" "),C(" "),C(" "),C(" "),C(" "),C(" "),C(" "),C(" "),C(" "),C(" "),C("\u2028"),C("\u2029"),C(" "),C(" "),C(" "),C("\uFEFF")],$h=/[0-9a-fA-F]/,bn=/[0-9]/,kh=/[1-9]/;class $c{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 r=this.disjunction();this.consumeChar("/");const n={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":dr(n,"global");break;case"i":dr(n,"ignoreCase");break;case"m":dr(n,"multiLine");break;case"u":dr(n,"unicode");break;case"y":dr(n,"sticky");break}if(this.idx!==this.input.length)throw Error("Redundant input: "+this.input.substring(this.idx));return{type:"Pattern",flags:n,value:r,loc:this.loc(0)}}disjunction(){const e=[],r=this.idx;for(e.push(this.alternative());this.peekChar()==="|";)this.consumeChar("|"),e.push(this.alternative());return{type:"Disjunction",value:e,loc:this.loc(r)}}alternative(){const e=[],r=this.idx;for(;this.isTerm();)e.push(this.term());return{type:"Alternative",value:e,loc:this.loc(r)}}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 r;switch(this.popChar()){case"=":r="Lookahead";break;case"!":r="NegativeLookahead";break}Yt(r);const n=this.disjunction();return this.consumeChar(")"),{type:r,value:n,loc:this.loc(e)}}return Ah()}quantifier(e=!1){let r;const n=this.idx;switch(this.popChar()){case"*":r={atLeast:0,atMost:1/0};break;case"+":r={atLeast:1,atMost:1/0};break;case"?":r={atLeast:0,atMost:1};break;case"{":const i=this.integerIncludingZero();switch(this.popChar()){case"}":r={atLeast:i,atMost:i};break;case",":let s;this.isDigit()?(s=this.integerIncludingZero(),r={atLeast:i,atMost:s}):r={atLeast:i,atMost:1/0},this.consumeChar("}");break}if(e===!0&&r===void 0)return;Yt(r);break}if(!(e===!0&&r===void 0)&&Yt(r))return this.peekChar(0)==="?"?(this.consumeChar("?"),r.greedy=!1):r.greedy=!0,r.type="Quantifier",r.loc=this.loc(n),r}atom(){let e;const r=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()),Yt(e))return e.loc=this.loc(r),this.isQuantifier()&&(e.quantifier=this.quantifier()),e}dotAll(){return this.consumeChar("."),{type:"Set",complement:!0,value:[C(`
|
|
3
|
+
`),C("\r"),C("\u2028"),C("\u2029")]}}atomEscape(){switch(this.consumeChar("\\"),this.peekChar()){case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":return this.decimalEscapeAtom();case"d":case"D":case"s":case"S":case"w":case"W":return this.characterClassEscape();case"f":case"n":case"r":case"t":case"v":return this.controlEscapeAtom();case"c":return this.controlLetterEscapeAtom();case"0":return this.nulCharacterAtom();case"x":return this.hexEscapeSequenceAtom();case"u":return this.regExpUnicodeEscapeSequenceAtom();default:return this.identityEscapeAtom()}}decimalEscapeAtom(){return{type:"GroupBackReference",value:this.positiveInteger()}}characterClassEscape(){let e,r=!1;switch(this.popChar()){case"d":e=ai;break;case"D":e=ai,r=!0;break;case"s":e=_o;break;case"S":e=_o,r=!0;break;case"w":e=oi;break;case"W":e=oi,r=!0;break}if(Yt(e))return{type:"Set",value:e,complement:r}}controlEscapeAtom(){let e;switch(this.popChar()){case"f":e=C("\f");break;case"n":e=C(`
|
|
4
|
+
`);break;case"r":e=C("\r");break;case"t":e=C(" ");break;case"v":e=C("\v");break}if(Yt(e))return{type:"Character",value:e}}controlLetterEscapeAtom(){this.consumeChar("c");const e=this.popChar();if(/[a-zA-Z]/.test(e)===!1)throw Error("Invalid ");return{type:"Character",value:e.toUpperCase().charCodeAt(0)-64}}nulCharacterAtom(){return this.consumeChar("0"),{type:"Character",value:C("\0")}}hexEscapeSequenceAtom(){return this.consumeChar("x"),this.parseHexDigits(2)}regExpUnicodeEscapeSequenceAtom(){return this.consumeChar("u"),this.parseHexDigits(4)}identityEscapeAtom(){const e=this.popChar();return{type:"Character",value:C(e)}}classPatternCharacterAtom(){switch(this.peekChar()){case`
|
|
5
|
+
`:case"\r":case"\u2028":case"\u2029":case"\\":case"]":throw Error("TBD");default:const e=this.popChar();return{type:"Character",value:C(e)}}}characterClass(){const e=[];let r=!1;for(this.consumeChar("["),this.peekChar(0)==="^"&&(this.consumeChar("^"),r=!0);this.isClassAtom();){const n=this.classAtom();if(n.type,No(n)&&this.isRangeDash()){this.consumeChar("-");const i=this.classAtom();if(i.type,No(i)){if(i.value<n.value)throw Error("Range out of order in character class");e.push({from:n.value,to:i.value})}else ls(n.value,e),e.push(C("-")),ls(i.value,e)}else ls(n.value,e)}return this.consumeChar("]"),{type:"Set",complement:r,value:e}}classAtom(){switch(this.peekChar()){case"]":case`
|
|
6
|
+
`:case"\r":case"\u2028":case"\u2029":throw Error("TBD");case"\\":return this.classEscape();default:return this.classPatternCharacterAtom()}}classEscape(){switch(this.consumeChar("\\"),this.peekChar()){case"b":return this.consumeChar("b"),{type:"Character",value:C("\b")};case"d":case"D":case"s":case"S":case"w":case"W":return this.characterClassEscape();case"f":case"n":case"r":case"t":case"v":return this.controlEscapeAtom();case"c":return this.controlLetterEscapeAtom();case"0":return this.nulCharacterAtom();case"x":return this.hexEscapeSequenceAtom();case"u":return this.regExpUnicodeEscapeSequenceAtom();default:return this.identityEscapeAtom()}}group(){let e=!0;this.consumeChar("("),this.peekChar(0)==="?"?(this.consumeChar("?"),this.consumeChar(":"),e=!1):this.groupIdx++;const r=this.disjunction();this.consumeChar(")");const n={type:"Group",capturing:e,value:r};return e&&(n.idx=this.groupIdx),n}positiveInteger(){let e=this.popChar();if(kh.test(e)===!1)throw Error("Expecting a positive integer");for(;bn.test(this.peekChar(0));)e+=this.popChar();return parseInt(e,10)}integerIncludingZero(){let e=this.popChar();if(bn.test(e)===!1)throw Error("Expecting an integer");for(;bn.test(this.peekChar(0));)e+=this.popChar();return parseInt(e,10)}patternCharacter(){const e=this.popChar();switch(e){case`
|
|
7
|
+
`:case"\r":case"\u2028":case"\u2029":case"^":case"$":case"\\":case".":case"*":case"+":case"?":case"(":case")":case"[":case"|":throw Error("TBD");default:return{type:"Character",value:C(e)}}}isRegExpFlag(){switch(this.peekChar(0)){case"g":case"i":case"m":case"u":case"y":return!0;default:return!1}}isRangeDash(){return this.peekChar()==="-"&&this.isClassAtom(1)}isDigit(){return bn.test(this.peekChar(0))}isClassAtom(e=0){switch(this.peekChar(e)){case"]":case`
|
|
8
8
|
`:case"\r":case"\u2028":case"\u2029":return!1;default:return!0}}isTerm(){return this.isAtom()||this.isAssertion()}isAtom(){if(this.isPatternCharacter())return!0;switch(this.peekChar(0)){case".":case"\\":case"[":case"(":return!0;default:return!1}}isAssertion(){switch(this.peekChar(0)){case"^":case"$":return!0;case"\\":switch(this.peekChar(1)){case"b":case"B":return!0;default:return!1}case"(":return this.peekChar(1)==="?"&&(this.peekChar(2)==="="||this.peekChar(2)==="!");default:return!1}}isQuantifier(){const e=this.saveState();try{return this.quantifier(!0)!==void 0}catch{return!1}finally{this.restoreState(e)}}isPatternCharacter(){switch(this.peekChar()){case"^":case"$":case"\\":case".":case"*":case"+":case"?":case"(":case")":case"[":case"|":case"/":case`
|
|
9
|
-
`:case"\r":case"\u2028":case"\u2029":return!1;default:return!0}}parseHexDigits(e){let r="";for(let n=0;n<e;n++){const i=this.popChar();if(
|
|
10
|
-
`&&(this.multiline=!0),e.quantifier)this.isStarting=!1,this.endRegexpStack=[];else{const n=
|
|
11
|
-
`.match(n)}if(e.quantifier)this.isStarting=!1,this.endRegexpStack=[];else{const r=this.regex.substring(e.loc.begin,e.loc.end);this.endRegexpStack.push(r),this.isStarting&&(this.startRegexp+=r)}}visitChildren(e){e.type==="Group"&&e.quantifier||super.visitChildren(e)}}const
|
|
12
|
-
\r \v \u2028\u2029 \uFEFF`.split("");function ta(t){const e=typeof t=="string"?new RegExp(t):t;return _h.some(r=>e.test(r))}function Li(t){return t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function Lh(t){return Array.prototype.map.call(t,e=>/\w/.test(e)?`[${e.toLowerCase()}${e.toUpperCase()}]`:Li(e)).join("")}function Oh(t,e){const r=Ph(t),n=e.match(r);return!!n&&n[0].length>0}function Ph(t){typeof t=="string"&&(t=new RegExp(t));const e=t,r=t.source;let n=0;function i(){let s="",a;function o(u){s+=r.substr(n,u),n+=u}function l(u){s+="(?:"+r.substr(n,u)+"|$)",n+=u}for(;n<r.length;)switch(r[n]){case"\\":switch(r[n+1]){case"c":l(3);break;case"x":l(4);break;case"u":e.unicode?r[n+2]==="{"?l(r.indexOf("}",n)-n+1):l(6):l(2);break;case"p":case"P":e.unicode?l(r.indexOf("}",n)-n+1):l(2);break;case"k":l(r.indexOf(">",n)-n+1);break;default:l(2);break}break;case"[":a=/\[(?:\\.|.)*?\]/g,a.lastIndex=n,a=a.exec(r)||[],l(a[0].length);break;case"|":case"^":case"$":case"*":case"+":case"?":o(1);break;case"{":a=/\{\d+,?\d*\}/g,a.lastIndex=n,a=a.exec(r),a?o(a[0].length):l(1);break;case"(":if(r[n+1]==="?")switch(r[n+2]){case":":s+="(?:",n+=3,s+=i()+"|$)";break;case"=":s+="(?=",n+=3,s+=i()+")";break;case"!":a=n,n+=3,i(),s+=r.substr(a,n-a);break;case"<":switch(r[n+3]){case"=":case"!":a=n,n+=4,i(),s+=r.substr(a,n-a);break;default:o(r.indexOf(">",n)-n+1),s+=i()+"|$)";break}break}else o(1),s+=i()+"|$)";break;case")":return++n,s;default:l(1);break}return s}return new RegExp(i(),t.flags)}function Mh(t){return t.rules.find(e=>Ne(e)&&e.entry)}function Dh(t){return t.rules.filter(e=>Gt(e)&&e.hidden)}function xc(t,e){const r=new Set,n=Mh(t);if(!n)return new Set(t.rules);const i=[n].concat(Dh(t));for(const a of i)Sc(a,r,e);const s=new Set;for(const a of t.rules)(r.has(a.name)||Gt(a)&&a.hidden)&&s.add(a);return s}function Sc(t,e,r){e.add(t.name),cn(t).forEach(n=>{if(Mt(n)||r){const i=n.rule.ref;i&&!e.has(i.name)&&Sc(i,e,r)}})}function Uh(t){if(t.terminal)return t.terminal;if(t.type.ref){const e=wc(t.type.ref);return e?.terminal}}function Fh(t){return t.hidden&&!ta(Va(t))}function jh(t,e){return!t||!e?[]:Ga(t,e,t.astNode,!0)}function Ic(t,e,r){if(!t||!e)return;const n=Ga(t,e,t.astNode,!0);if(n.length!==0)return r!==void 0?r=Math.max(0,Math.min(r,n.length-1)):r=0,n[r]}function Ga(t,e,r,n){if(!n){const i=Ni(t.grammarSource,Ot);if(i&&i.feature===e)return[t]}return tn(t)&&t.astNode===r?t.content.flatMap(i=>Ga(i,e,r,!1)):[]}function Gh(t,e,r){if(!t)return;const n=Bh(t,e,t?.astNode);if(n.length!==0)return r!==void 0?r=Math.max(0,Math.min(r,n.length-1)):r=0,n[r]}function Bh(t,e,r){if(t.astNode!==r)return[];if(Pt(t.grammarSource)&&t.grammarSource.value===e)return[t];const n=Zs(t).iterator();let i;const s=[];do if(i=n.next(),!i.done){const a=i.value;a.astNode===r?Pt(a.grammarSource)&&a.grammarSource.value===e&&s.push(a):n.prune()}while(!i.done);return s}function Kh(t){var e;const r=t.astNode;for(;r===((e=t.container)===null||e===void 0?void 0:e.astNode);){const n=Ni(t.grammarSource,Ot);if(n)return n;t=t.container}}function wc(t){let e=t;return gc(e)&&(Ci(e.$container)?e=e.$container.$container:Ne(e.$container)?e=e.$container:un(e.$container)),bc(t,e,new Map)}function bc(t,e,r){var n;function i(s,a){let o;return Ni(s,Ot)||(o=bc(a,a,r)),r.set(t,o),o}if(r.has(t))return r.get(t);r.set(t,void 0);for(const s of cn(e)){if(Ot(s)&&s.feature.toLowerCase()==="name")return r.set(t,s),s;if(Mt(s)&&Ne(s.rule.ref))return i(s,s.rule.ref);if(hh(s)&&!((n=s.typeRef)===null||n===void 0)&&n.ref)return i(s,s.typeRef.ref)}}function Cc(t){return Nc(t,new Set)}function Nc(t,e){if(e.has(t))return!0;e.add(t);for(const r of cn(t))if(Mt(r)){if(!r.rule.ref||Ne(r.rule.ref)&&!Nc(r.rule.ref,e))return!1}else if(Ot(r)||Ci(r))return!1;return!!t.definition}function Ba(t){if(t.inferredType)return t.inferredType.name;if(t.dataType)return t.dataType;if(t.returnType){const e=t.returnType.ref;if(e&&(Ne(e)||yc(e)||vc(e)))return e.name}}function Ka(t){var e;if(Ne(t))return Cc(t)?t.name:(e=Ba(t))!==null&&e!==void 0?e:t.name;if(yc(t)||vc(t)||dh(t))return t.name;if(Ci(t)){const r=Vh(t);if(r)return r}else if(gc(t))return t.name;throw new Error("Cannot get name of Unknown Type")}function Vh(t){var e;if(t.inferredType)return t.inferredType.name;if(!((e=t.type)===null||e===void 0)&&e.ref)return Ka(t.type.ref)}function Hh(t){var e,r,n;return Gt(t)?(r=(e=t.type)===null||e===void 0?void 0:e.name)!==null&&r!==void 0?r:"string":(n=Ba(t))!==null&&n!==void 0?n:t.name}function Va(t){const e={s:!1,i:!1,u:!1},r=ur(t.definition,e),n=Object.entries(e).filter(([,i])=>i).map(([i])=>i).join("");return new RegExp(r,n)}const Ha=/[\s\S]/.source;function ur(t,e){if(vh(t))return zh(t);if(Th(t))return Wh(t);if(ph(t))return Xh(t);if(Rh(t)){const r=t.rule.ref;if(!r)throw new Error("Missing rule reference.");return at(ur(r.definition),{cardinality:t.cardinality,lookahead:t.lookahead})}else{if(gh(t))return qh(t);if($h(t))return Yh(t);if(yh(t)){const r=t.regex.lastIndexOf("/"),n=t.regex.substring(1,r),i=t.regex.substring(r+1);return e&&(e.i=i.includes("i"),e.s=i.includes("s"),e.u=i.includes("u")),at(n,{cardinality:t.cardinality,lookahead:t.lookahead,wrap:!1})}else{if(Eh(t))return at(Ha,{cardinality:t.cardinality,lookahead:t.lookahead});throw new Error(`Invalid terminal element: ${t?.$type}`)}}}function zh(t){return at(t.elements.map(e=>ur(e)).join("|"),{cardinality:t.cardinality,lookahead:t.lookahead})}function Wh(t){return at(t.elements.map(e=>ur(e)).join(""),{cardinality:t.cardinality,lookahead:t.lookahead})}function Yh(t){return at(`${Ha}*?${ur(t.terminal)}`,{cardinality:t.cardinality,lookahead:t.lookahead})}function qh(t){return at(`(?!${ur(t.terminal)})${Ha}*?`,{cardinality:t.cardinality,lookahead:t.lookahead})}function Xh(t){return t.right?at(`[${fs(t.left)}-${fs(t.right)}]`,{cardinality:t.cardinality,lookahead:t.lookahead,wrap:!1}):at(fs(t.left),{cardinality:t.cardinality,lookahead:t.lookahead,wrap:!1})}function fs(t){return Li(t.value)}function at(t,e){var r;return(e.wrap!==!1||e.lookahead)&&(t=`(${(r=e.lookahead)!==null&&r!==void 0?r:""}${t})`),e.cardinality?`${t}${e.cardinality}`:t}function Qh(t){const e=[],r=t.Grammar;for(const n of r.rules)Gt(n)&&Fh(n)&&Nh(Va(n))&&e.push(n.name);return{multilineCommentRules:e,nameRegexp:nh}}var _c=typeof global=="object"&&global&&global.Object===Object&&global,Zh=typeof self=="object"&&self&&self.Object===Object&&self,qe=_c||Zh||Function("return this")(),_e=qe.Symbol,Lc=Object.prototype,Jh=Lc.hasOwnProperty,ep=Lc.toString,pr=_e?_e.toStringTag:void 0;function tp(t){var e=Jh.call(t,pr),r=t[pr];try{t[pr]=void 0;var n=!0}catch{}var i=ep.call(t);return n&&(e?t[pr]=r:delete t[pr]),i}var rp=Object.prototype,np=rp.toString;function ip(t){return np.call(t)}var sp="[object Null]",ap="[object Undefined]",Oo=_e?_e.toStringTag:void 0;function Rt(t){return t==null?t===void 0?ap:sp:Oo&&Oo in Object(t)?tp(t):ip(t)}function Ge(t){return t!=null&&typeof t=="object"}var op="[object Symbol]";function Oi(t){return typeof t=="symbol"||Ge(t)&&Rt(t)==op}function Pi(t,e){for(var r=-1,n=t==null?0:t.length,i=Array(n);++r<n;)i[r]=e(t[r],r,t);return i}var P=Array.isArray,Po=_e?_e.prototype:void 0,Mo=Po?Po.toString:void 0;function Oc(t){if(typeof t=="string")return t;if(P(t))return Pi(t,Oc)+"";if(Oi(t))return Mo?Mo.call(t):"";var e=t+"";return e=="0"&&1/t==-1/0?"-0":e}var lp=/\s/;function up(t){for(var e=t.length;e--&&lp.test(t.charAt(e)););return e}var cp=/^\s+/;function fp(t){return t&&t.slice(0,up(t)+1).replace(cp,"")}function Le(t){var e=typeof t;return t!=null&&(e=="object"||e=="function")}var Do=NaN,dp=/^[-+]0x[0-9a-f]+$/i,hp=/^0b[01]+$/i,pp=/^0o[0-7]+$/i,mp=parseInt;function gp(t){if(typeof t=="number")return t;if(Oi(t))return Do;if(Le(t)){var e=typeof t.valueOf=="function"?t.valueOf():t;t=Le(e)?e+"":e}if(typeof t!="string")return t===0?t:+t;t=fp(t);var r=hp.test(t);return r||pp.test(t)?mp(t.slice(2),r?2:8):dp.test(t)?Do:+t}var Uo=1/0,yp=17976931348623157e292;function vp(t){if(!t)return t===0?t:0;if(t=gp(t),t===Uo||t===-Uo){var e=t<0?-1:1;return e*yp}return t===t?t:0}function Mi(t){var e=vp(t),r=e%1;return e===e?r?e-r:e:0}function tr(t){return t}var Tp="[object AsyncFunction]",Rp="[object Function]",$p="[object GeneratorFunction]",Ep="[object Proxy]";function ct(t){if(!Le(t))return!1;var e=Rt(t);return e==Rp||e==$p||e==Tp||e==Ep}var ds=qe["__core-js_shared__"],Fo=(function(){var t=/[^.]+$/.exec(ds&&ds.keys&&ds.keys.IE_PROTO||"");return t?"Symbol(src)_1."+t:""})();function Ap(t){return!!Fo&&Fo in t}var kp=Function.prototype,xp=kp.toString;function Bt(t){if(t!=null){try{return xp.call(t)}catch{}try{return t+""}catch{}}return""}var Sp=/[\\^$.*+?()[\]{}|]/g,Ip=/^\[object .+?Constructor\]$/,wp=Function.prototype,bp=Object.prototype,Cp=wp.toString,Np=bp.hasOwnProperty,_p=RegExp("^"+Cp.call(Np).replace(Sp,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function Lp(t){if(!Le(t)||Ap(t))return!1;var e=ct(t)?_p:Ip;return e.test(Bt(t))}function Op(t,e){return t?.[e]}function Kt(t,e){var r=Op(t,e);return Lp(r)?r:void 0}var ra=Kt(qe,"WeakMap"),jo=Object.create,Pp=(function(){function t(){}return function(e){if(!Le(e))return{};if(jo)return jo(e);t.prototype=e;var r=new t;return t.prototype=void 0,r}})();function Mp(t,e,r){switch(r.length){case 0:return t.call(e);case 1:return t.call(e,r[0]);case 2:return t.call(e,r[0],r[1]);case 3:return t.call(e,r[0],r[1],r[2])}return t.apply(e,r)}function X(){}function Dp(t,e){var r=-1,n=t.length;for(e||(e=Array(n));++r<n;)e[r]=t[r];return e}var Up=800,Fp=16,jp=Date.now;function Gp(t){var e=0,r=0;return function(){var n=jp(),i=Fp-(n-r);if(r=n,i>0){if(++e>=Up)return arguments[0]}else e=0;return t.apply(void 0,arguments)}}function Bp(t){return function(){return t}}var ui=(function(){try{var t=Kt(Object,"defineProperty");return t({},"",{}),t}catch{}})(),Kp=ui?function(t,e){return ui(t,"toString",{configurable:!0,enumerable:!1,value:Bp(e),writable:!0})}:tr,Vp=Gp(Kp);function Pc(t,e){for(var r=-1,n=t==null?0:t.length;++r<n&&e(t[r],r,t)!==!1;);return t}function Mc(t,e,r,n){for(var i=t.length,s=r+-1;++s<i;)if(e(t[s],s,t))return s;return-1}function Hp(t){return t!==t}function zp(t,e,r){for(var n=r-1,i=t.length;++n<i;)if(t[n]===e)return n;return-1}function za(t,e,r){return e===e?zp(t,e,r):Mc(t,Hp,r)}function Dc(t,e){var r=t==null?0:t.length;return!!r&&za(t,e,0)>-1}var Wp=9007199254740991,Yp=/^(?:0|[1-9]\d*)$/;function Di(t,e){var r=typeof t;return e=e??Wp,!!e&&(r=="number"||r!="symbol"&&Yp.test(t))&&t>-1&&t%1==0&&t<e}function Wa(t,e,r){e=="__proto__"&&ui?ui(t,e,{configurable:!0,enumerable:!0,value:r,writable:!0}):t[e]=r}function fn(t,e){return t===e||t!==t&&e!==e}var qp=Object.prototype,Xp=qp.hasOwnProperty;function Ui(t,e,r){var n=t[e];(!(Xp.call(t,e)&&fn(n,r))||r===void 0&&!(e in t))&&Wa(t,e,r)}function Ya(t,e,r,n){var i=!r;r||(r={});for(var s=-1,a=e.length;++s<a;){var o=e[s],l=void 0;l===void 0&&(l=t[o]),i?Wa(r,o,l):Ui(r,o,l)}return r}var Go=Math.max;function Qp(t,e,r){return e=Go(e===void 0?t.length-1:e,0),function(){for(var n=arguments,i=-1,s=Go(n.length-e,0),a=Array(s);++i<s;)a[i]=n[e+i];i=-1;for(var o=Array(e+1);++i<e;)o[i]=n[i];return o[e]=r(a),Mp(t,this,o)}}function qa(t,e){return Vp(Qp(t,e,tr),t+"")}var Zp=9007199254740991;function Xa(t){return typeof t=="number"&&t>-1&&t%1==0&&t<=Zp}function Xe(t){return t!=null&&Xa(t.length)&&!ct(t)}function Uc(t,e,r){if(!Le(r))return!1;var n=typeof e;return(n=="number"?Xe(r)&&Di(e,r.length):n=="string"&&e in r)?fn(r[e],t):!1}function Jp(t){return qa(function(e,r){var n=-1,i=r.length,s=i>1?r[i-1]:void 0,a=i>2?r[2]:void 0;for(s=t.length>3&&typeof s=="function"?(i--,s):void 0,a&&Uc(r[0],r[1],a)&&(s=i<3?void 0:s,i=1),e=Object(e);++n<i;){var o=r[n];o&&t(e,o,n,s)}return e})}var em=Object.prototype;function dn(t){var e=t&&t.constructor,r=typeof e=="function"&&e.prototype||em;return t===r}function tm(t,e){for(var r=-1,n=Array(t);++r<t;)n[r]=e(r);return n}var rm="[object Arguments]";function Bo(t){return Ge(t)&&Rt(t)==rm}var Fc=Object.prototype,nm=Fc.hasOwnProperty,im=Fc.propertyIsEnumerable,Fi=Bo((function(){return arguments})())?Bo:function(t){return Ge(t)&&nm.call(t,"callee")&&!im.call(t,"callee")};function sm(){return!1}var jc=typeof exports=="object"&&exports&&!exports.nodeType&&exports,Ko=jc&&typeof module=="object"&&module&&!module.nodeType&&module,am=Ko&&Ko.exports===jc,Vo=am?qe.Buffer:void 0,om=Vo?Vo.isBuffer:void 0,rn=om||sm,lm="[object Arguments]",um="[object Array]",cm="[object Boolean]",fm="[object Date]",dm="[object Error]",hm="[object Function]",pm="[object Map]",mm="[object Number]",gm="[object Object]",ym="[object RegExp]",vm="[object Set]",Tm="[object String]",Rm="[object WeakMap]",$m="[object ArrayBuffer]",Em="[object DataView]",Am="[object Float32Array]",km="[object Float64Array]",xm="[object Int8Array]",Sm="[object Int16Array]",Im="[object Int32Array]",wm="[object Uint8Array]",bm="[object Uint8ClampedArray]",Cm="[object Uint16Array]",Nm="[object Uint32Array]",G={};G[Am]=G[km]=G[xm]=G[Sm]=G[Im]=G[wm]=G[bm]=G[Cm]=G[Nm]=!0;G[lm]=G[um]=G[$m]=G[cm]=G[Em]=G[fm]=G[dm]=G[hm]=G[pm]=G[mm]=G[gm]=G[ym]=G[vm]=G[Tm]=G[Rm]=!1;function _m(t){return Ge(t)&&Xa(t.length)&&!!G[Rt(t)]}function ji(t){return function(e){return t(e)}}var Gc=typeof exports=="object"&&exports&&!exports.nodeType&&exports,Jr=Gc&&typeof module=="object"&&module&&!module.nodeType&&module,Lm=Jr&&Jr.exports===Gc,hs=Lm&&_c.process,mt=(function(){try{var t=Jr&&Jr.require&&Jr.require("util").types;return t||hs&&hs.binding&&hs.binding("util")}catch{}})(),Ho=mt&&mt.isTypedArray,Qa=Ho?ji(Ho):_m,Om=Object.prototype,Pm=Om.hasOwnProperty;function Bc(t,e){var r=P(t),n=!r&&Fi(t),i=!r&&!n&&rn(t),s=!r&&!n&&!i&&Qa(t),a=r||n||i||s,o=a?tm(t.length,String):[],l=o.length;for(var u in t)(e||Pm.call(t,u))&&!(a&&(u=="length"||i&&(u=="offset"||u=="parent")||s&&(u=="buffer"||u=="byteLength"||u=="byteOffset")||Di(u,l)))&&o.push(u);return o}function Kc(t,e){return function(r){return t(e(r))}}var Mm=Kc(Object.keys,Object),Dm=Object.prototype,Um=Dm.hasOwnProperty;function Vc(t){if(!dn(t))return Mm(t);var e=[];for(var r in Object(t))Um.call(t,r)&&r!="constructor"&&e.push(r);return e}function Oe(t){return Xe(t)?Bc(t):Vc(t)}var Fm=Object.prototype,jm=Fm.hasOwnProperty,Ae=Jp(function(t,e){if(dn(e)||Xe(e)){Ya(e,Oe(e),t);return}for(var r in e)jm.call(e,r)&&Ui(t,r,e[r])});function Gm(t){var e=[];if(t!=null)for(var r in Object(t))e.push(r);return e}var Bm=Object.prototype,Km=Bm.hasOwnProperty;function Vm(t){if(!Le(t))return Gm(t);var e=dn(t),r=[];for(var n in t)n=="constructor"&&(e||!Km.call(t,n))||r.push(n);return r}function Hc(t){return Xe(t)?Bc(t,!0):Vm(t)}var Hm=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,zm=/^\w*$/;function Za(t,e){if(P(t))return!1;var r=typeof t;return r=="number"||r=="symbol"||r=="boolean"||t==null||Oi(t)?!0:zm.test(t)||!Hm.test(t)||e!=null&&t in Object(e)}var nn=Kt(Object,"create");function Wm(){this.__data__=nn?nn(null):{},this.size=0}function Ym(t){var e=this.has(t)&&delete this.__data__[t];return this.size-=e?1:0,e}var qm="__lodash_hash_undefined__",Xm=Object.prototype,Qm=Xm.hasOwnProperty;function Zm(t){var e=this.__data__;if(nn){var r=e[t];return r===qm?void 0:r}return Qm.call(e,t)?e[t]:void 0}var Jm=Object.prototype,eg=Jm.hasOwnProperty;function tg(t){var e=this.__data__;return nn?e[t]!==void 0:eg.call(e,t)}var rg="__lodash_hash_undefined__";function ng(t,e){var r=this.__data__;return this.size+=this.has(t)?0:1,r[t]=nn&&e===void 0?rg:e,this}function Dt(t){var e=-1,r=t==null?0:t.length;for(this.clear();++e<r;){var n=t[e];this.set(n[0],n[1])}}Dt.prototype.clear=Wm;Dt.prototype.delete=Ym;Dt.prototype.get=Zm;Dt.prototype.has=tg;Dt.prototype.set=ng;function ig(){this.__data__=[],this.size=0}function Gi(t,e){for(var r=t.length;r--;)if(fn(t[r][0],e))return r;return-1}var sg=Array.prototype,ag=sg.splice;function og(t){var e=this.__data__,r=Gi(e,t);if(r<0)return!1;var n=e.length-1;return r==n?e.pop():ag.call(e,r,1),--this.size,!0}function lg(t){var e=this.__data__,r=Gi(e,t);return r<0?void 0:e[r][1]}function ug(t){return Gi(this.__data__,t)>-1}function cg(t,e){var r=this.__data__,n=Gi(r,t);return n<0?(++this.size,r.push([t,e])):r[n][1]=e,this}function ft(t){var e=-1,r=t==null?0:t.length;for(this.clear();++e<r;){var n=t[e];this.set(n[0],n[1])}}ft.prototype.clear=ig;ft.prototype.delete=og;ft.prototype.get=lg;ft.prototype.has=ug;ft.prototype.set=cg;var sn=Kt(qe,"Map");function fg(){this.size=0,this.__data__={hash:new Dt,map:new(sn||ft),string:new Dt}}function dg(t){var e=typeof t;return e=="string"||e=="number"||e=="symbol"||e=="boolean"?t!=="__proto__":t===null}function Bi(t,e){var r=t.__data__;return dg(e)?r[typeof e=="string"?"string":"hash"]:r.map}function hg(t){var e=Bi(this,t).delete(t);return this.size-=e?1:0,e}function pg(t){return Bi(this,t).get(t)}function mg(t){return Bi(this,t).has(t)}function gg(t,e){var r=Bi(this,t),n=r.size;return r.set(t,e),this.size+=r.size==n?0:1,this}function dt(t){var e=-1,r=t==null?0:t.length;for(this.clear();++e<r;){var n=t[e];this.set(n[0],n[1])}}dt.prototype.clear=fg;dt.prototype.delete=hg;dt.prototype.get=pg;dt.prototype.has=mg;dt.prototype.set=gg;var yg="Expected a function";function Ja(t,e){if(typeof t!="function"||e!=null&&typeof e!="function")throw new TypeError(yg);var r=function(){var n=arguments,i=e?e.apply(this,n):n[0],s=r.cache;if(s.has(i))return s.get(i);var a=t.apply(this,n);return r.cache=s.set(i,a)||s,a};return r.cache=new(Ja.Cache||dt),r}Ja.Cache=dt;var vg=500;function Tg(t){var e=Ja(t,function(n){return r.size===vg&&r.clear(),n}),r=e.cache;return e}var Rg=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,$g=/\\(\\)?/g,Eg=Tg(function(t){var e=[];return t.charCodeAt(0)===46&&e.push(""),t.replace(Rg,function(r,n,i,s){e.push(i?s.replace($g,"$1"):n||r)}),e});function Ag(t){return t==null?"":Oc(t)}function Ki(t,e){return P(t)?t:Za(t,e)?[t]:Eg(Ag(t))}function hn(t){if(typeof t=="string"||Oi(t))return t;var e=t+"";return e=="0"&&1/t==-1/0?"-0":e}function eo(t,e){e=Ki(e,t);for(var r=0,n=e.length;t!=null&&r<n;)t=t[hn(e[r++])];return r&&r==n?t:void 0}function kg(t,e,r){var n=t==null?void 0:eo(t,e);return n===void 0?r:n}function to(t,e){for(var r=-1,n=e.length,i=t.length;++r<n;)t[i+r]=e[r];return t}var zo=_e?_e.isConcatSpreadable:void 0;function xg(t){return P(t)||Fi(t)||!!(zo&&t&&t[zo])}function ro(t,e,r,n,i){var s=-1,a=t.length;for(r||(r=xg),i||(i=[]);++s<a;){var o=t[s];r(o)?to(i,o):n||(i[i.length]=o)}return i}function Fe(t){var e=t==null?0:t.length;return e?ro(t):[]}var zc=Kc(Object.getPrototypeOf,Object);function Wc(t,e,r){var n=-1,i=t.length;e<0&&(e=-e>i?0:i+e),r=r>i?i:r,r<0&&(r+=i),i=e>r?0:r-e>>>0,e>>>=0;for(var s=Array(i);++n<i;)s[n]=t[n+e];return s}function Sg(t,e,r,n){var i=-1,s=t==null?0:t.length;for(n&&s&&(r=t[++i]);++i<s;)r=e(r,t[i],i,t);return r}function Ig(){this.__data__=new ft,this.size=0}function wg(t){var e=this.__data__,r=e.delete(t);return this.size=e.size,r}function bg(t){return this.__data__.get(t)}function Cg(t){return this.__data__.has(t)}var Ng=200;function _g(t,e){var r=this.__data__;if(r instanceof ft){var n=r.__data__;if(!sn||n.length<Ng-1)return n.push([t,e]),this.size=++r.size,this;r=this.__data__=new dt(n)}return r.set(t,e),this.size=r.size,this}function Ye(t){var e=this.__data__=new ft(t);this.size=e.size}Ye.prototype.clear=Ig;Ye.prototype.delete=wg;Ye.prototype.get=bg;Ye.prototype.has=Cg;Ye.prototype.set=_g;function Lg(t,e){return t&&Ya(e,Oe(e),t)}var Yc=typeof exports=="object"&&exports&&!exports.nodeType&&exports,Wo=Yc&&typeof module=="object"&&module&&!module.nodeType&&module,Og=Wo&&Wo.exports===Yc,Yo=Og?qe.Buffer:void 0,qo=Yo?Yo.allocUnsafe:void 0;function Pg(t,e){var r=t.length,n=qo?qo(r):new t.constructor(r);return t.copy(n),n}function no(t,e){for(var r=-1,n=t==null?0:t.length,i=0,s=[];++r<n;){var a=t[r];e(a,r,t)&&(s[i++]=a)}return s}function qc(){return[]}var Mg=Object.prototype,Dg=Mg.propertyIsEnumerable,Xo=Object.getOwnPropertySymbols,io=Xo?function(t){return t==null?[]:(t=Object(t),no(Xo(t),function(e){return Dg.call(t,e)}))}:qc;function Ug(t,e){return Ya(t,io(t),e)}var Fg=Object.getOwnPropertySymbols,jg=Fg?function(t){for(var e=[];t;)to(e,io(t)),t=zc(t);return e}:qc;function Xc(t,e,r){var n=e(t);return P(t)?n:to(n,r(t))}function na(t){return Xc(t,Oe,io)}function Gg(t){return Xc(t,Hc,jg)}var ia=Kt(qe,"DataView"),sa=Kt(qe,"Promise"),Jt=Kt(qe,"Set"),Qo="[object Map]",Bg="[object Object]",Zo="[object Promise]",Jo="[object Set]",el="[object WeakMap]",tl="[object DataView]",Kg=Bt(ia),Vg=Bt(sn),Hg=Bt(sa),zg=Bt(Jt),Wg=Bt(ra),be=Rt;(ia&&be(new ia(new ArrayBuffer(1)))!=tl||sn&&be(new sn)!=Qo||sa&&be(sa.resolve())!=Zo||Jt&&be(new Jt)!=Jo||ra&&be(new ra)!=el)&&(be=function(t){var e=Rt(t),r=e==Bg?t.constructor:void 0,n=r?Bt(r):"";if(n)switch(n){case Kg:return tl;case Vg:return Qo;case Hg:return Zo;case zg:return Jo;case Wg:return el}return e});var Yg=Object.prototype,qg=Yg.hasOwnProperty;function Xg(t){var e=t.length,r=new t.constructor(e);return e&&typeof t[0]=="string"&&qg.call(t,"index")&&(r.index=t.index,r.input=t.input),r}var ci=qe.Uint8Array;function Qg(t){var e=new t.constructor(t.byteLength);return new ci(e).set(new ci(t)),e}function Zg(t,e){var r=t.buffer;return new t.constructor(r,t.byteOffset,t.byteLength)}var Jg=/\w*$/;function ey(t){var e=new t.constructor(t.source,Jg.exec(t));return e.lastIndex=t.lastIndex,e}var rl=_e?_e.prototype:void 0,nl=rl?rl.valueOf:void 0;function ty(t){return nl?Object(nl.call(t)):{}}function ry(t,e){var r=t.buffer;return new t.constructor(r,t.byteOffset,t.length)}var ny="[object Boolean]",iy="[object Date]",sy="[object Map]",ay="[object Number]",oy="[object RegExp]",ly="[object Set]",uy="[object String]",cy="[object Symbol]",fy="[object ArrayBuffer]",dy="[object DataView]",hy="[object Float32Array]",py="[object Float64Array]",my="[object Int8Array]",gy="[object Int16Array]",yy="[object Int32Array]",vy="[object Uint8Array]",Ty="[object Uint8ClampedArray]",Ry="[object Uint16Array]",$y="[object Uint32Array]";function Ey(t,e,r){var n=t.constructor;switch(e){case fy:return Qg(t);case ny:case iy:return new n(+t);case dy:return Zg(t);case hy:case py:case my:case gy:case yy:case vy:case Ty:case Ry:case $y:return ry(t);case sy:return new n;case ay:case uy:return new n(t);case oy:return ey(t);case ly:return new n;case cy:return ty(t)}}function Ay(t){return typeof t.constructor=="function"&&!dn(t)?Pp(zc(t)):{}}var ky="[object Map]";function xy(t){return Ge(t)&&be(t)==ky}var il=mt&&mt.isMap,Sy=il?ji(il):xy,Iy="[object Set]";function wy(t){return Ge(t)&&be(t)==Iy}var sl=mt&&mt.isSet,by=sl?ji(sl):wy,Qc="[object Arguments]",Cy="[object Array]",Ny="[object Boolean]",_y="[object Date]",Ly="[object Error]",Zc="[object Function]",Oy="[object GeneratorFunction]",Py="[object Map]",My="[object Number]",Jc="[object Object]",Dy="[object RegExp]",Uy="[object Set]",Fy="[object String]",jy="[object Symbol]",Gy="[object WeakMap]",By="[object ArrayBuffer]",Ky="[object DataView]",Vy="[object Float32Array]",Hy="[object Float64Array]",zy="[object Int8Array]",Wy="[object Int16Array]",Yy="[object Int32Array]",qy="[object Uint8Array]",Xy="[object Uint8ClampedArray]",Qy="[object Uint16Array]",Zy="[object Uint32Array]",F={};F[Qc]=F[Cy]=F[By]=F[Ky]=F[Ny]=F[_y]=F[Vy]=F[Hy]=F[zy]=F[Wy]=F[Yy]=F[Py]=F[My]=F[Jc]=F[Dy]=F[Uy]=F[Fy]=F[jy]=F[qy]=F[Xy]=F[Qy]=F[Zy]=!0;F[Ly]=F[Zc]=F[Gy]=!1;function Hn(t,e,r,n,i,s){var a;if(a!==void 0)return a;if(!Le(t))return t;var o=P(t);if(o)return a=Xg(t),Dp(t,a);var l=be(t),u=l==Zc||l==Oy;if(rn(t))return Pg(t);if(l==Jc||l==Qc||u&&!i)return a=u?{}:Ay(t),Ug(t,Lg(a,t));if(!F[l])return i?t:{};a=Ey(t,l),s||(s=new Ye);var c=s.get(t);if(c)return c;s.set(t,a),by(t)?t.forEach(function(h){a.add(Hn(h,e,r,h,t,s))}):Sy(t)&&t.forEach(function(h,m){a.set(m,Hn(h,e,r,m,t,s))});var f=na,d=o?void 0:f(t);return Pc(d||t,function(h,m){d&&(m=h,h=t[m]),Ui(a,m,Hn(h,e,r,m,t,s))}),a}var Jy=4;function se(t){return Hn(t,Jy)}function pn(t){for(var e=-1,r=t==null?0:t.length,n=0,i=[];++e<r;){var s=t[e];s&&(i[n++]=s)}return i}var ev="__lodash_hash_undefined__";function tv(t){return this.__data__.set(t,ev),this}function rv(t){return this.__data__.has(t)}function rr(t){var e=-1,r=t==null?0:t.length;for(this.__data__=new dt;++e<r;)this.add(t[e])}rr.prototype.add=rr.prototype.push=tv;rr.prototype.has=rv;function ef(t,e){for(var r=-1,n=t==null?0:t.length;++r<n;)if(e(t[r],r,t))return!0;return!1}function so(t,e){return t.has(e)}var nv=1,iv=2;function tf(t,e,r,n,i,s){var a=r&nv,o=t.length,l=e.length;if(o!=l&&!(a&&l>o))return!1;var u=s.get(t),c=s.get(e);if(u&&c)return u==e&&c==t;var f=-1,d=!0,h=r&iv?new rr:void 0;for(s.set(t,e),s.set(e,t);++f<o;){var m=t[f],g=e[f];if(n)var E=a?n(g,m,f,e,t,s):n(m,g,f,t,e,s);if(E!==void 0){if(E)continue;d=!1;break}if(h){if(!ef(e,function(v,$){if(!so(h,$)&&(m===v||i(m,v,r,n,s)))return h.push($)})){d=!1;break}}else if(!(m===g||i(m,g,r,n,s))){d=!1;break}}return s.delete(t),s.delete(e),d}function sv(t){var e=-1,r=Array(t.size);return t.forEach(function(n,i){r[++e]=[i,n]}),r}function ao(t){var e=-1,r=Array(t.size);return t.forEach(function(n){r[++e]=n}),r}var av=1,ov=2,lv="[object Boolean]",uv="[object Date]",cv="[object Error]",fv="[object Map]",dv="[object Number]",hv="[object RegExp]",pv="[object Set]",mv="[object String]",gv="[object Symbol]",yv="[object ArrayBuffer]",vv="[object DataView]",al=_e?_e.prototype:void 0,ps=al?al.valueOf:void 0;function Tv(t,e,r,n,i,s,a){switch(r){case vv:if(t.byteLength!=e.byteLength||t.byteOffset!=e.byteOffset)return!1;t=t.buffer,e=e.buffer;case yv:return!(t.byteLength!=e.byteLength||!s(new ci(t),new ci(e)));case lv:case uv:case dv:return fn(+t,+e);case cv:return t.name==e.name&&t.message==e.message;case hv:case mv:return t==e+"";case fv:var o=sv;case pv:var l=n&av;if(o||(o=ao),t.size!=e.size&&!l)return!1;var u=a.get(t);if(u)return u==e;n|=ov,a.set(t,e);var c=tf(o(t),o(e),n,i,s,a);return a.delete(t),c;case gv:if(ps)return ps.call(t)==ps.call(e)}return!1}var Rv=1,$v=Object.prototype,Ev=$v.hasOwnProperty;function Av(t,e,r,n,i,s){var a=r&Rv,o=na(t),l=o.length,u=na(e),c=u.length;if(l!=c&&!a)return!1;for(var f=l;f--;){var d=o[f];if(!(a?d in e:Ev.call(e,d)))return!1}var h=s.get(t),m=s.get(e);if(h&&m)return h==e&&m==t;var g=!0;s.set(t,e),s.set(e,t);for(var E=a;++f<l;){d=o[f];var v=t[d],$=e[d];if(n)var T=a?n($,v,d,e,t,s):n(v,$,d,t,e,s);if(!(T===void 0?v===$||i(v,$,r,n,s):T)){g=!1;break}E||(E=d=="constructor")}if(g&&!E){var x=t.constructor,U=e.constructor;x!=U&&"constructor"in t&&"constructor"in e&&!(typeof x=="function"&&x instanceof x&&typeof U=="function"&&U instanceof U)&&(g=!1)}return s.delete(t),s.delete(e),g}var kv=1,ol="[object Arguments]",ll="[object Array]",Nn="[object Object]",xv=Object.prototype,ul=xv.hasOwnProperty;function Sv(t,e,r,n,i,s){var a=P(t),o=P(e),l=a?ll:be(t),u=o?ll:be(e);l=l==ol?Nn:l,u=u==ol?Nn:u;var c=l==Nn,f=u==Nn,d=l==u;if(d&&rn(t)){if(!rn(e))return!1;a=!0,c=!1}if(d&&!c)return s||(s=new Ye),a||Qa(t)?tf(t,e,r,n,i,s):Tv(t,e,l,r,n,i,s);if(!(r&kv)){var h=c&&ul.call(t,"__wrapped__"),m=f&&ul.call(e,"__wrapped__");if(h||m){var g=h?t.value():t,E=m?e.value():e;return s||(s=new Ye),i(g,E,r,n,s)}}return d?(s||(s=new Ye),Av(t,e,r,n,i,s)):!1}function oo(t,e,r,n,i){return t===e?!0:t==null||e==null||!Ge(t)&&!Ge(e)?t!==t&&e!==e:Sv(t,e,r,n,oo,i)}var Iv=1,wv=2;function bv(t,e,r,n){var i=r.length,s=i;if(t==null)return!s;for(t=Object(t);i--;){var a=r[i];if(a[2]?a[1]!==t[a[0]]:!(a[0]in t))return!1}for(;++i<s;){a=r[i];var o=a[0],l=t[o],u=a[1];if(a[2]){if(l===void 0&&!(o in t))return!1}else{var c=new Ye,f;if(!(f===void 0?oo(u,l,Iv|wv,n,c):f))return!1}}return!0}function rf(t){return t===t&&!Le(t)}function Cv(t){for(var e=Oe(t),r=e.length;r--;){var n=e[r],i=t[n];e[r]=[n,i,rf(i)]}return e}function nf(t,e){return function(r){return r==null?!1:r[t]===e&&(e!==void 0||t in Object(r))}}function Nv(t){var e=Cv(t);return e.length==1&&e[0][2]?nf(e[0][0],e[0][1]):function(r){return r===t||bv(r,t,e)}}function _v(t,e){return t!=null&&e in Object(t)}function sf(t,e,r){e=Ki(e,t);for(var n=-1,i=e.length,s=!1;++n<i;){var a=hn(e[n]);if(!(s=t!=null&&r(t,a)))break;t=t[a]}return s||++n!=i?s:(i=t==null?0:t.length,!!i&&Xa(i)&&Di(a,i)&&(P(t)||Fi(t)))}function Lv(t,e){return t!=null&&sf(t,e,_v)}var Ov=1,Pv=2;function Mv(t,e){return Za(t)&&rf(e)?nf(hn(t),e):function(r){var n=kg(r,t);return n===void 0&&n===e?Lv(r,t):oo(e,n,Ov|Pv)}}function Dv(t){return function(e){return e?.[t]}}function Uv(t){return function(e){return eo(e,t)}}function Fv(t){return Za(t)?Dv(hn(t)):Uv(t)}function Qe(t){return typeof t=="function"?t:t==null?tr:typeof t=="object"?P(t)?Mv(t[0],t[1]):Nv(t):Fv(t)}function jv(t,e,r,n){for(var i=-1,s=t==null?0:t.length;++i<s;){var a=t[i];e(n,a,r(a),t)}return n}function Gv(t){return function(e,r,n){for(var i=-1,s=Object(e),a=n(e),o=a.length;o--;){var l=a[++i];if(r(s[l],l,s)===!1)break}return e}}var Bv=Gv();function Kv(t,e){return t&&Bv(t,e,Oe)}function Vv(t,e){return function(r,n){if(r==null)return r;if(!Xe(r))return t(r,n);for(var i=r.length,s=-1,a=Object(r);++s<i&&n(a[s],s,a)!==!1;);return r}}var Vt=Vv(Kv);function Hv(t,e,r,n){return Vt(t,function(i,s,a){e(n,i,r(i),a)}),n}function zv(t,e){return function(r,n){var i=P(r)?jv:Hv,s={};return i(r,t,Qe(n),s)}}var af=Object.prototype,Wv=af.hasOwnProperty,lo=qa(function(t,e){t=Object(t);var r=-1,n=e.length,i=n>2?e[2]:void 0;for(i&&Uc(e[0],e[1],i)&&(n=1);++r<n;)for(var s=e[r],a=Hc(s),o=-1,l=a.length;++o<l;){var u=a[o],c=t[u];(c===void 0||fn(c,af[u])&&!Wv.call(t,u))&&(t[u]=s[u])}return t});function cl(t){return Ge(t)&&Xe(t)}var Yv=200;function qv(t,e,r,n){var i=-1,s=Dc,a=!0,o=t.length,l=[],u=e.length;if(!o)return l;e.length>=Yv&&(s=so,a=!1,e=new rr(e));e:for(;++i<o;){var c=t[i],f=c;if(c=c!==0?c:0,a&&f===f){for(var d=u;d--;)if(e[d]===f)continue e;l.push(c)}else s(e,f,n)||l.push(c)}return l}var Vi=qa(function(t,e){return cl(t)?qv(t,ro(e,1,cl,!0)):[]});function nr(t){var e=t==null?0:t.length;return e?t[e-1]:void 0}function te(t,e,r){var n=t==null?0:t.length;return n?(e=e===void 0?1:Mi(e),Wc(t,e<0?0:e,n)):[]}function an(t,e,r){var n=t==null?0:t.length;return n?(e=e===void 0?1:Mi(e),e=n-e,Wc(t,0,e<0?0:e)):[]}function Xv(t){return typeof t=="function"?t:tr}function b(t,e){var r=P(t)?Pc:Vt;return r(t,Xv(e))}function Qv(t,e){for(var r=-1,n=t==null?0:t.length;++r<n;)if(!e(t[r],r,t))return!1;return!0}function Zv(t,e){var r=!0;return Vt(t,function(n,i,s){return r=!!e(n,i,s),r}),r}function je(t,e,r){var n=P(t)?Qv:Zv;return n(t,Qe(e))}function of(t,e){var r=[];return Vt(t,function(n,i,s){e(n,i,s)&&r.push(n)}),r}function Pe(t,e){var r=P(t)?no:of;return r(t,Qe(e))}function Jv(t){return function(e,r,n){var i=Object(e);if(!Xe(e)){var s=Qe(r);e=Oe(e),r=function(o){return s(i[o],o,i)}}var a=t(e,r,n);return a>-1?i[s?e[a]:a]:void 0}}var eT=Math.max;function tT(t,e,r){var n=t==null?0:t.length;if(!n)return-1;var i=r==null?0:Mi(r);return i<0&&(i=eT(n+i,0)),Mc(t,Qe(e),i)}var ir=Jv(tT);function Be(t){return t&&t.length?t[0]:void 0}function rT(t,e){var r=-1,n=Xe(t)?Array(t.length):[];return Vt(t,function(i,s,a){n[++r]=e(i,s,a)}),n}function I(t,e){var r=P(t)?Pi:rT;return r(t,Qe(e))}function Ce(t,e){return ro(I(t,e))}var nT=Object.prototype,iT=nT.hasOwnProperty,sT=zv(function(t,e,r){iT.call(t,r)?t[r].push(e):Wa(t,r,[e])}),aT=Object.prototype,oT=aT.hasOwnProperty;function lT(t,e){return t!=null&&oT.call(t,e)}function w(t,e){return t!=null&&sf(t,e,lT)}var uT="[object String]";function pe(t){return typeof t=="string"||!P(t)&&Ge(t)&&Rt(t)==uT}function cT(t,e){return Pi(e,function(r){return t[r]})}function Q(t){return t==null?[]:cT(t,Oe(t))}var fT=Math.max;function de(t,e,r,n){t=Xe(t)?t:Q(t),r=r?Mi(r):0;var i=t.length;return r<0&&(r=fT(i+r,0)),pe(t)?r<=i&&t.indexOf(e,r)>-1:!!i&&za(t,e,r)>-1}function fl(t,e,r){var n=t==null?0:t.length;if(!n)return-1;var i=0;return za(t,e,i)}var dT="[object Map]",hT="[object Set]",pT=Object.prototype,mT=pT.hasOwnProperty;function j(t){if(t==null)return!0;if(Xe(t)&&(P(t)||typeof t=="string"||typeof t.splice=="function"||rn(t)||Qa(t)||Fi(t)))return!t.length;var e=be(t);if(e==dT||e==hT)return!t.size;if(dn(t))return!Vc(t).length;for(var r in t)if(mT.call(t,r))return!1;return!0}var gT="[object RegExp]";function yT(t){return Ge(t)&&Rt(t)==gT}var dl=mt&&mt.isRegExp,ot=dl?ji(dl):yT;function lt(t){return t===void 0}var vT="Expected a function";function TT(t){if(typeof t!="function")throw new TypeError(vT);return function(){var e=arguments;switch(e.length){case 0:return!t.call(this);case 1:return!t.call(this,e[0]);case 2:return!t.call(this,e[0],e[1]);case 3:return!t.call(this,e[0],e[1],e[2])}return!t.apply(this,e)}}function RT(t,e,r,n){if(!Le(t))return t;e=Ki(e,t);for(var i=-1,s=e.length,a=s-1,o=t;o!=null&&++i<s;){var l=hn(e[i]),u=r;if(l==="__proto__"||l==="constructor"||l==="prototype")return t;if(i!=a){var c=o[l];u=void 0,u===void 0&&(u=Le(c)?c:Di(e[i+1])?[]:{})}Ui(o,l,u),o=o[l]}return t}function $T(t,e,r){for(var n=-1,i=e.length,s={};++n<i;){var a=e[n],o=eo(t,a);r(o,a)&&RT(s,Ki(a,t),o)}return s}function Ke(t,e){if(t==null)return{};var r=Pi(Gg(t),function(n){return[n]});return e=Qe(e),$T(t,r,function(n,i){return e(n,i[0])})}function ET(t,e,r,n,i){return i(t,function(s,a,o){r=n?(n=!1,s):e(r,s,a,o)}),r}function ke(t,e,r){var n=P(t)?Sg:ET,i=arguments.length<3;return n(t,Qe(e),r,i,Vt)}function Hi(t,e){var r=P(t)?no:of;return r(t,TT(Qe(e)))}function AT(t,e){var r;return Vt(t,function(n,i,s){return r=e(n,i,s),!r}),!!r}function lf(t,e,r){var n=P(t)?ef:AT;return n(t,Qe(e))}var kT=1/0,xT=Jt&&1/ao(new Jt([,-0]))[1]==kT?function(t){return new Jt(t)}:X,ST=200;function IT(t,e,r){var n=-1,i=Dc,s=t.length,a=!0,o=[],l=o;if(s>=ST){var u=xT(t);if(u)return ao(u);a=!1,i=so,l=new rr}else l=o;e:for(;++n<s;){var c=t[n],f=c;if(c=c!==0?c:0,a&&f===f){for(var d=l.length;d--;)if(l[d]===f)continue e;o.push(c)}else i(l,f,r)||(l!==o&&l.push(f),o.push(c))}return o}function uo(t){return t&&t.length?IT(t):[]}function aa(t){console&&console.error&&console.error(`Error: ${t}`)}function uf(t){console&&console.warn&&console.warn(`Warning: ${t}`)}function cf(t){const e=new Date().getTime(),r=t();return{time:new Date().getTime()-e,value:r}}function ff(t){function e(){}e.prototype=t;const r=new e;function n(){return typeof r.bar}return n(),n(),t}function wT(t){return bT(t)?t.LABEL:t.name}function bT(t){return pe(t.LABEL)&&t.LABEL!==""}class Ze{get definition(){return this._definition}set definition(e){this._definition=e}constructor(e){this._definition=e}accept(e){e.visit(this),b(this.definition,r=>{r.accept(e)})}}class ce extends Ze{constructor(e){super([]),this.idx=1,Ae(this,Ke(e,r=>r!==void 0))}set definition(e){}get definition(){return this.referencedRule!==void 0?this.referencedRule.definition:[]}accept(e){e.visit(this)}}class cr extends Ze{constructor(e){super(e.definition),this.orgText="",Ae(this,Ke(e,r=>r!==void 0))}}class me extends Ze{constructor(e){super(e.definition),this.ignoreAmbiguities=!1,Ae(this,Ke(e,r=>r!==void 0))}}let ie=class extends Ze{constructor(t){super(t.definition),this.idx=1,Ae(this,Ke(t,e=>e!==void 0))}};class xe extends Ze{constructor(e){super(e.definition),this.idx=1,Ae(this,Ke(e,r=>r!==void 0))}}class Se extends Ze{constructor(e){super(e.definition),this.idx=1,Ae(this,Ke(e,r=>r!==void 0))}}class W extends Ze{constructor(e){super(e.definition),this.idx=1,Ae(this,Ke(e,r=>r!==void 0))}}class ge extends Ze{constructor(e){super(e.definition),this.idx=1,Ae(this,Ke(e,r=>r!==void 0))}}class ye extends Ze{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,Ae(this,Ke(e,r=>r!==void 0))}}class B{constructor(e){this.idx=1,Ae(this,Ke(e,r=>r!==void 0))}accept(e){e.visit(this)}}function CT(t){return I(t,zn)}function zn(t){function e(r){return I(r,zn)}if(t instanceof ce){const r={type:"NonTerminal",name:t.nonTerminalName,idx:t.idx};return pe(t.label)&&(r.label=t.label),r}else{if(t instanceof me)return{type:"Alternative",definition:e(t.definition)};if(t instanceof ie)return{type:"Option",idx:t.idx,definition:e(t.definition)};if(t instanceof xe)return{type:"RepetitionMandatory",idx:t.idx,definition:e(t.definition)};if(t instanceof Se)return{type:"RepetitionMandatoryWithSeparator",idx:t.idx,separator:zn(new B({terminalType:t.separator})),definition:e(t.definition)};if(t instanceof ge)return{type:"RepetitionWithSeparator",idx:t.idx,separator:zn(new B({terminalType:t.separator})),definition:e(t.definition)};if(t instanceof W)return{type:"Repetition",idx:t.idx,definition:e(t.definition)};if(t instanceof ye)return{type:"Alternation",idx:t.idx,definition:e(t.definition)};if(t instanceof B){const r={type:"Terminal",name:t.terminalType.name,label:wT(t.terminalType),idx:t.idx};pe(t.label)&&(r.terminalLabel=t.label);const n=t.terminalType.PATTERN;return t.terminalType.PATTERN&&(r.pattern=ot(n)?n.source:n),r}else{if(t instanceof cr)return{type:"Rule",name:t.name,orgText:t.orgText,definition:e(t.definition)};throw Error("non exhaustive match")}}}class fr{visit(e){const r=e;switch(r.constructor){case ce:return this.visitNonTerminal(r);case me:return this.visitAlternative(r);case ie:return this.visitOption(r);case xe:return this.visitRepetitionMandatory(r);case Se:return this.visitRepetitionMandatoryWithSeparator(r);case ge:return this.visitRepetitionWithSeparator(r);case W:return this.visitRepetition(r);case ye:return this.visitAlternation(r);case B:return this.visitTerminal(r);case cr:return this.visitRule(r);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 NT(t){return t instanceof me||t instanceof ie||t instanceof W||t instanceof xe||t instanceof Se||t instanceof ge||t instanceof B||t instanceof cr}function fi(t,e=[]){return t instanceof ie||t instanceof W||t instanceof ge?!0:t instanceof ye?lf(t.definition,r=>fi(r,e)):t instanceof ce&&de(e,t)?!1:t instanceof Ze?(t instanceof ce&&e.push(t),je(t.definition,r=>fi(r,e))):!1}function _T(t){return t instanceof ye}function ze(t){if(t instanceof ce)return"SUBRULE";if(t instanceof ie)return"OPTION";if(t instanceof ye)return"OR";if(t instanceof xe)return"AT_LEAST_ONE";if(t instanceof Se)return"AT_LEAST_ONE_SEP";if(t instanceof ge)return"MANY_SEP";if(t instanceof W)return"MANY";if(t instanceof B)return"CONSUME";throw Error("non exhaustive match")}class zi{walk(e,r=[]){b(e.definition,(n,i)=>{const s=te(e.definition,i+1);if(n instanceof ce)this.walkProdRef(n,s,r);else if(n instanceof B)this.walkTerminal(n,s,r);else if(n instanceof me)this.walkFlat(n,s,r);else if(n instanceof ie)this.walkOption(n,s,r);else if(n instanceof xe)this.walkAtLeastOne(n,s,r);else if(n instanceof Se)this.walkAtLeastOneSep(n,s,r);else if(n instanceof ge)this.walkManySep(n,s,r);else if(n instanceof W)this.walkMany(n,s,r);else if(n instanceof ye)this.walkOr(n,s,r);else throw Error("non exhaustive match")})}walkTerminal(e,r,n){}walkProdRef(e,r,n){}walkFlat(e,r,n){const i=r.concat(n);this.walk(e,i)}walkOption(e,r,n){const i=r.concat(n);this.walk(e,i)}walkAtLeastOne(e,r,n){const i=[new ie({definition:e.definition})].concat(r,n);this.walk(e,i)}walkAtLeastOneSep(e,r,n){const i=hl(e,r,n);this.walk(e,i)}walkMany(e,r,n){const i=[new ie({definition:e.definition})].concat(r,n);this.walk(e,i)}walkManySep(e,r,n){const i=hl(e,r,n);this.walk(e,i)}walkOr(e,r,n){const i=r.concat(n);b(e.definition,s=>{const a=new me({definition:[s]});this.walk(a,i)})}}function hl(t,e,r){return[new ie({definition:[new B({terminalType:t.separator})].concat(t.definition)})].concat(e,r)}function mn(t){if(t instanceof ce)return mn(t.referencedRule);if(t instanceof B)return PT(t);if(NT(t))return LT(t);if(_T(t))return OT(t);throw Error("non exhaustive match")}function LT(t){let e=[];const r=t.definition;let n=0,i=r.length>n,s,a=!0;for(;i&&a;)s=r[n],a=fi(s),e=e.concat(mn(s)),n=n+1,i=r.length>n;return uo(e)}function OT(t){const e=I(t.definition,r=>mn(r));return uo(Fe(e))}function PT(t){return[t.terminalType]}const df="_~IN~_";class MT extends zi{constructor(e){super(),this.topProd=e,this.follows={}}startWalking(){return this.walk(this.topProd),this.follows}walkTerminal(e,r,n){}walkProdRef(e,r,n){const i=UT(e.referencedRule,e.idx)+this.topProd.name,s=r.concat(n),a=new me({definition:s}),o=mn(a);this.follows[i]=o}}function DT(t){const e={};return b(t,r=>{const n=new MT(r).startWalking();Ae(e,n)}),e}function UT(t,e){return t.name+e+df}let Wn={};const FT=new kc;function Wi(t){const e=t.toString();if(Wn.hasOwnProperty(e))return Wn[e];{const r=FT.pattern(e);return Wn[e]=r,r}}function jT(){Wn={}}const hf="Complement Sets are not supported for first char optimization",di=`Unable to use "first char" lexer optimizations:
|
|
13
|
-
`;function
|
|
9
|
+
`:case"\r":case"\u2028":case"\u2029":return!1;default:return!0}}parseHexDigits(e){let r="";for(let n=0;n<e;n++){const i=this.popChar();if($h.test(i)===!1)throw Error("Expecting a HexDecimal digits");r+=i}return{type:"Character",value:parseInt(r,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 Ni{visitChildren(e){for(const r in e){const n=e[r];e.hasOwnProperty(r)&&(n.type!==void 0?this.visit(n):Array.isArray(n)&&n.forEach(i=>{this.visit(i)},this))}}visit(e){switch(e.type){case"Pattern":this.visitPattern(e);break;case"Flags":this.visitFlags(e);break;case"Disjunction":this.visitDisjunction(e);break;case"Alternative":this.visitAlternative(e);break;case"StartAnchor":this.visitStartAnchor(e);break;case"EndAnchor":this.visitEndAnchor(e);break;case"WordBoundary":this.visitWordBoundary(e);break;case"NonWordBoundary":this.visitNonWordBoundary(e);break;case"Lookahead":this.visitLookahead(e);break;case"NegativeLookahead":this.visitNegativeLookahead(e);break;case"Character":this.visitCharacter(e);break;case"Set":this.visitSet(e);break;case"Group":this.visitGroup(e);break;case"GroupBackReference":this.visitGroupBackReference(e);break;case"Quantifier":this.visitQuantifier(e);break}this.visitChildren(e)}visitPattern(e){}visitFlags(e){}visitDisjunction(e){}visitAlternative(e){}visitStartAnchor(e){}visitEndAnchor(e){}visitWordBoundary(e){}visitNonWordBoundary(e){}visitLookahead(e){}visitNegativeLookahead(e){}visitCharacter(e){}visitSet(e){}visitGroup(e){}visitGroupBackReference(e){}visitQuantifier(e){}}const xh=/\r?\n/gm,Sh=new $c;class Ih extends Ni{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 r=String.fromCharCode(e.value);if(!this.multiline&&r===`
|
|
10
|
+
`&&(this.multiline=!0),e.quantifier)this.isStarting=!1,this.endRegexpStack=[];else{const n=_i(r);this.endRegexpStack.push(n),this.isStarting&&(this.startRegexp+=n)}}visitSet(e){if(!this.multiline){const r=this.regex.substring(e.loc.begin,e.loc.end),n=new RegExp(r);this.multiline=!!`
|
|
11
|
+
`.match(n)}if(e.quantifier)this.isStarting=!1,this.endRegexpStack=[];else{const r=this.regex.substring(e.loc.begin,e.loc.end);this.endRegexpStack.push(r),this.isStarting&&(this.startRegexp+=r)}}visitChildren(e){e.type==="Group"&&e.quantifier||super.visitChildren(e)}}const us=new Ih;function wh(t){try{return typeof t=="string"&&(t=new RegExp(t)),t=t.toString(),us.reset(t),us.visit(Sh.pattern(t)),us.multiline}catch{return!1}}const bh=`\f
|
|
12
|
+
\r \v \u2028\u2029 \uFEFF`.split("");function ea(t){const e=typeof t=="string"?new RegExp(t):t;return bh.some(r=>e.test(r))}function _i(t){return t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function Ch(t){return Array.prototype.map.call(t,e=>/\w/.test(e)?`[${e.toLowerCase()}${e.toUpperCase()}]`:_i(e)).join("")}function Nh(t,e){const r=_h(t),n=e.match(r);return!!n&&n[0].length>0}function _h(t){typeof t=="string"&&(t=new RegExp(t));const e=t,r=t.source;let n=0;function i(){let s="",a;function o(u){s+=r.substr(n,u),n+=u}function l(u){s+="(?:"+r.substr(n,u)+"|$)",n+=u}for(;n<r.length;)switch(r[n]){case"\\":switch(r[n+1]){case"c":l(3);break;case"x":l(4);break;case"u":e.unicode?r[n+2]==="{"?l(r.indexOf("}",n)-n+1):l(6):l(2);break;case"p":case"P":e.unicode?l(r.indexOf("}",n)-n+1):l(2);break;case"k":l(r.indexOf(">",n)-n+1);break;default:l(2);break}break;case"[":a=/\[(?:\\.|.)*?\]/g,a.lastIndex=n,a=a.exec(r)||[],l(a[0].length);break;case"|":case"^":case"$":case"*":case"+":case"?":o(1);break;case"{":a=/\{\d+,?\d*\}/g,a.lastIndex=n,a=a.exec(r),a?o(a[0].length):l(1);break;case"(":if(r[n+1]==="?")switch(r[n+2]){case":":s+="(?:",n+=3,s+=i()+"|$)";break;case"=":s+="(?=",n+=3,s+=i()+")";break;case"!":a=n,n+=3,i(),s+=r.substr(a,n-a);break;case"<":switch(r[n+3]){case"=":case"!":a=n,n+=4,i(),s+=r.substr(a,n-a);break;default:o(r.indexOf(">",n)-n+1),s+=i()+"|$)";break}break}else o(1),s+=i()+"|$)";break;case")":return++n,s;default:l(1);break}return s}return new RegExp(i(),t.flags)}function Lh(t){return t.rules.find(e=>Ne(e)&&e.entry)}function Oh(t){return t.rules.filter(e=>jt(e)&&e.hidden)}function kc(t,e){const r=new Set,n=Lh(t);if(!n)return new Set(t.rules);const i=[n].concat(Oh(t));for(const a of i)xc(a,r,e);const s=new Set;for(const a of t.rules)(r.has(a.name)||jt(a)&&a.hidden)&&s.add(a);return s}function xc(t,e,r){e.add(t.name),un(t).forEach(n=>{if(Pt(n)||r){const i=n.rule.ref;i&&!e.has(i.name)&&xc(i,e,r)}})}function Ph(t){if(t.terminal)return t.terminal;if(t.type.ref)return Ic(t.type.ref)?.terminal}function Mh(t){return t.hidden&&!ea(Ka(t))}function Dh(t,e){return!t||!e?[]:ja(t,e,t.astNode,!0)}function Sc(t,e,r){if(!t||!e)return;const n=ja(t,e,t.astNode,!0);if(n.length!==0)return r!==void 0?r=Math.max(0,Math.min(r,n.length-1)):r=0,n[r]}function ja(t,e,r,n){if(!n){const i=Ci(t.grammarSource,Lt);if(i&&i.feature===e)return[t]}return en(t)&&t.astNode===r?t.content.flatMap(i=>ja(i,e,r,!1)):[]}function Uh(t,e,r){if(!t)return;const n=Fh(t,e,t?.astNode);if(n.length!==0)return r!==void 0?r=Math.max(0,Math.min(r,n.length-1)):r=0,n[r]}function Fh(t,e,r){if(t.astNode!==r)return[];if(Ot(t.grammarSource)&&t.grammarSource.value===e)return[t];const n=Qs(t).iterator();let i;const s=[];do if(i=n.next(),!i.done){const a=i.value;a.astNode===r?Ot(a.grammarSource)&&a.grammarSource.value===e&&s.push(a):n.prune()}while(!i.done);return s}function jh(t){var e;const r=t.astNode;for(;r===((e=t.container)===null||e===void 0?void 0:e.astNode);){const n=Ci(t.grammarSource,Lt);if(n)return n;t=t.container}}function Ic(t){let e=t;return mc(e)&&(bi(e.$container)?e=e.$container.$container:Ne(e.$container)?e=e.$container:ln(e.$container)),wc(t,e,new Map)}function wc(t,e,r){var n;function i(s,a){let o;return Ci(s,Lt)||(o=wc(a,a,r)),r.set(t,o),o}if(r.has(t))return r.get(t);r.set(t,void 0);for(const s of un(e)){if(Lt(s)&&s.feature.toLowerCase()==="name")return r.set(t,s),s;if(Pt(s)&&Ne(s.rule.ref))return i(s,s.rule.ref);if(ch(s)&&!((n=s.typeRef)===null||n===void 0)&&n.ref)return i(s,s.typeRef.ref)}}function bc(t){return Cc(t,new Set)}function Cc(t,e){if(e.has(t))return!0;e.add(t);for(const r of un(t))if(Pt(r)){if(!r.rule.ref||Ne(r.rule.ref)&&!Cc(r.rule.ref,e))return!1}else if(Lt(r)||bi(r))return!1;return!!t.definition}function Ga(t){if(t.inferredType)return t.inferredType.name;if(t.dataType)return t.dataType;if(t.returnType){const e=t.returnType.ref;if(e&&(Ne(e)||gc(e)||yc(e)))return e.name}}function Ba(t){var e;if(Ne(t))return bc(t)?t.name:(e=Ga(t))!==null&&e!==void 0?e:t.name;if(gc(t)||yc(t)||uh(t))return t.name;if(bi(t)){const r=Gh(t);if(r)return r}else if(mc(t))return t.name;throw new Error("Cannot get name of Unknown Type")}function Gh(t){var e;if(t.inferredType)return t.inferredType.name;if(!((e=t.type)===null||e===void 0)&&e.ref)return Ba(t.type.ref)}function Bh(t){var e,r,n;return jt(t)?(r=(e=t.type)===null||e===void 0?void 0:e.name)!==null&&r!==void 0?r:"string":(n=Ga(t))!==null&&n!==void 0?n:t.name}function Ka(t){const e={s:!1,i:!1,u:!1},r=lr(t.definition,e),n=Object.entries(e).filter(([,i])=>i).map(([i])=>i).join("");return new RegExp(r,n)}const Va=/[\s\S]/.source;function lr(t,e){if(mh(t))return Kh(t);if(gh(t))return Vh(t);if(fh(t))return zh(t);if(yh(t)){const r=t.rule.ref;if(!r)throw new Error("Missing rule reference.");return at(lr(r.definition),{cardinality:t.cardinality,lookahead:t.lookahead})}else{if(hh(t))return Wh(t);if(vh(t))return Hh(t);if(ph(t)){const r=t.regex.lastIndexOf("/"),n=t.regex.substring(1,r),i=t.regex.substring(r+1);return e&&(e.i=i.includes("i"),e.s=i.includes("s"),e.u=i.includes("u")),at(n,{cardinality:t.cardinality,lookahead:t.lookahead,wrap:!1})}else{if(Th(t))return at(Va,{cardinality:t.cardinality,lookahead:t.lookahead});throw new Error(`Invalid terminal element: ${t?.$type}`)}}}function Kh(t){return at(t.elements.map(e=>lr(e)).join("|"),{cardinality:t.cardinality,lookahead:t.lookahead})}function Vh(t){return at(t.elements.map(e=>lr(e)).join(""),{cardinality:t.cardinality,lookahead:t.lookahead})}function Hh(t){return at(`${Va}*?${lr(t.terminal)}`,{cardinality:t.cardinality,lookahead:t.lookahead})}function Wh(t){return at(`(?!${lr(t.terminal)})${Va}*?`,{cardinality:t.cardinality,lookahead:t.lookahead})}function zh(t){return t.right?at(`[${cs(t.left)}-${cs(t.right)}]`,{cardinality:t.cardinality,lookahead:t.lookahead,wrap:!1}):at(cs(t.left),{cardinality:t.cardinality,lookahead:t.lookahead,wrap:!1})}function cs(t){return _i(t.value)}function at(t,e){var r;return(e.wrap!==!1||e.lookahead)&&(t=`(${(r=e.lookahead)!==null&&r!==void 0?r:""}${t})`),e.cardinality?`${t}${e.cardinality}`:t}function Yh(t){const e=[],r=t.Grammar;for(const n of r.rules)jt(n)&&Mh(n)&&wh(Ka(n))&&e.push(n.name);return{multilineCommentRules:e,nameRegexp:eh}}var Nc=typeof global=="object"&&global&&global.Object===Object&&global,qh=typeof self=="object"&&self&&self.Object===Object&&self,qe=Nc||qh||Function("return this")(),_e=qe.Symbol,_c=Object.prototype,Xh=_c.hasOwnProperty,Qh=_c.toString,hr=_e?_e.toStringTag:void 0;function Zh(t){var e=Xh.call(t,hr),r=t[hr];try{t[hr]=void 0;var n=!0}catch{}var i=Qh.call(t);return n&&(e?t[hr]=r:delete t[hr]),i}var Jh=Object.prototype,ep=Jh.toString;function tp(t){return ep.call(t)}var rp="[object Null]",np="[object Undefined]",Lo=_e?_e.toStringTag:void 0;function Rt(t){return t==null?t===void 0?np:rp:Lo&&Lo in Object(t)?Zh(t):tp(t)}function Ge(t){return t!=null&&typeof t=="object"}var ip="[object Symbol]";function Li(t){return typeof t=="symbol"||Ge(t)&&Rt(t)==ip}function Oi(t,e){for(var r=-1,n=t==null?0:t.length,i=Array(n);++r<n;)i[r]=e(t[r],r,t);return i}var P=Array.isArray,Oo=_e?_e.prototype:void 0,Po=Oo?Oo.toString:void 0;function Lc(t){if(typeof t=="string")return t;if(P(t))return Oi(t,Lc)+"";if(Li(t))return Po?Po.call(t):"";var e=t+"";return e=="0"&&1/t==-1/0?"-0":e}var sp=/\s/;function ap(t){for(var e=t.length;e--&&sp.test(t.charAt(e)););return e}var op=/^\s+/;function lp(t){return t&&t.slice(0,ap(t)+1).replace(op,"")}function Le(t){var e=typeof t;return t!=null&&(e=="object"||e=="function")}var Mo=NaN,up=/^[-+]0x[0-9a-f]+$/i,cp=/^0b[01]+$/i,fp=/^0o[0-7]+$/i,dp=parseInt;function hp(t){if(typeof t=="number")return t;if(Li(t))return Mo;if(Le(t)){var e=typeof t.valueOf=="function"?t.valueOf():t;t=Le(e)?e+"":e}if(typeof t!="string")return t===0?t:+t;t=lp(t);var r=cp.test(t);return r||fp.test(t)?dp(t.slice(2),r?2:8):up.test(t)?Mo:+t}var Do=1/0,pp=17976931348623157e292;function mp(t){if(!t)return t===0?t:0;if(t=hp(t),t===Do||t===-Do){var e=t<0?-1:1;return e*pp}return t===t?t:0}function Pi(t){var e=mp(t),r=e%1;return e===e?r?e-r:e:0}function er(t){return t}var gp="[object AsyncFunction]",yp="[object Function]",vp="[object GeneratorFunction]",Tp="[object Proxy]";function ct(t){if(!Le(t))return!1;var e=Rt(t);return e==yp||e==vp||e==gp||e==Tp}var fs=qe["__core-js_shared__"],Uo=(function(){var t=/[^.]+$/.exec(fs&&fs.keys&&fs.keys.IE_PROTO||"");return t?"Symbol(src)_1."+t:""})();function Rp(t){return!!Uo&&Uo in t}var Ep=Function.prototype,Ap=Ep.toString;function Gt(t){if(t!=null){try{return Ap.call(t)}catch{}try{return t+""}catch{}}return""}var $p=/[\\^$.*+?()[\]{}|]/g,kp=/^\[object .+?Constructor\]$/,xp=Function.prototype,Sp=Object.prototype,Ip=xp.toString,wp=Sp.hasOwnProperty,bp=RegExp("^"+Ip.call(wp).replace($p,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function Cp(t){if(!Le(t)||Rp(t))return!1;var e=ct(t)?bp:kp;return e.test(Gt(t))}function Np(t,e){return t?.[e]}function Bt(t,e){var r=Np(t,e);return Cp(r)?r:void 0}var ta=Bt(qe,"WeakMap"),Fo=Object.create,_p=(function(){function t(){}return function(e){if(!Le(e))return{};if(Fo)return Fo(e);t.prototype=e;var r=new t;return t.prototype=void 0,r}})();function Lp(t,e,r){switch(r.length){case 0:return t.call(e);case 1:return t.call(e,r[0]);case 2:return t.call(e,r[0],r[1]);case 3:return t.call(e,r[0],r[1],r[2])}return t.apply(e,r)}function X(){}function Op(t,e){var r=-1,n=t.length;for(e||(e=Array(n));++r<n;)e[r]=t[r];return e}var Pp=800,Mp=16,Dp=Date.now;function Up(t){var e=0,r=0;return function(){var n=Dp(),i=Mp-(n-r);if(r=n,i>0){if(++e>=Pp)return arguments[0]}else e=0;return t.apply(void 0,arguments)}}function Fp(t){return function(){return t}}var li=(function(){try{var t=Bt(Object,"defineProperty");return t({},"",{}),t}catch{}})(),jp=li?function(t,e){return li(t,"toString",{configurable:!0,enumerable:!1,value:Fp(e),writable:!0})}:er,Gp=Up(jp);function Oc(t,e){for(var r=-1,n=t==null?0:t.length;++r<n&&e(t[r],r,t)!==!1;);return t}function Pc(t,e,r,n){for(var i=t.length,s=r+-1;++s<i;)if(e(t[s],s,t))return s;return-1}function Bp(t){return t!==t}function Kp(t,e,r){for(var n=r-1,i=t.length;++n<i;)if(t[n]===e)return n;return-1}function Ha(t,e,r){return e===e?Kp(t,e,r):Pc(t,Bp,r)}function Mc(t,e){var r=t==null?0:t.length;return!!r&&Ha(t,e,0)>-1}var Vp=9007199254740991,Hp=/^(?:0|[1-9]\d*)$/;function Mi(t,e){var r=typeof t;return e=e??Vp,!!e&&(r=="number"||r!="symbol"&&Hp.test(t))&&t>-1&&t%1==0&&t<e}function Wa(t,e,r){e=="__proto__"&&li?li(t,e,{configurable:!0,enumerable:!0,value:r,writable:!0}):t[e]=r}function cn(t,e){return t===e||t!==t&&e!==e}var Wp=Object.prototype,zp=Wp.hasOwnProperty;function Di(t,e,r){var n=t[e];(!(zp.call(t,e)&&cn(n,r))||r===void 0&&!(e in t))&&Wa(t,e,r)}function za(t,e,r,n){var i=!r;r||(r={});for(var s=-1,a=e.length;++s<a;){var o=e[s],l=void 0;l===void 0&&(l=t[o]),i?Wa(r,o,l):Di(r,o,l)}return r}var jo=Math.max;function Yp(t,e,r){return e=jo(e===void 0?t.length-1:e,0),function(){for(var n=arguments,i=-1,s=jo(n.length-e,0),a=Array(s);++i<s;)a[i]=n[e+i];i=-1;for(var o=Array(e+1);++i<e;)o[i]=n[i];return o[e]=r(a),Lp(t,this,o)}}function Ya(t,e){return Gp(Yp(t,e,er),t+"")}var qp=9007199254740991;function qa(t){return typeof t=="number"&&t>-1&&t%1==0&&t<=qp}function Xe(t){return t!=null&&qa(t.length)&&!ct(t)}function Dc(t,e,r){if(!Le(r))return!1;var n=typeof e;return(n=="number"?Xe(r)&&Mi(e,r.length):n=="string"&&e in r)?cn(r[e],t):!1}function Xp(t){return Ya(function(e,r){var n=-1,i=r.length,s=i>1?r[i-1]:void 0,a=i>2?r[2]:void 0;for(s=t.length>3&&typeof s=="function"?(i--,s):void 0,a&&Dc(r[0],r[1],a)&&(s=i<3?void 0:s,i=1),e=Object(e);++n<i;){var o=r[n];o&&t(e,o,n,s)}return e})}var Qp=Object.prototype;function fn(t){var e=t&&t.constructor,r=typeof e=="function"&&e.prototype||Qp;return t===r}function Zp(t,e){for(var r=-1,n=Array(t);++r<t;)n[r]=e(r);return n}var Jp="[object Arguments]";function Go(t){return Ge(t)&&Rt(t)==Jp}var Uc=Object.prototype,em=Uc.hasOwnProperty,tm=Uc.propertyIsEnumerable,Ui=Go((function(){return arguments})())?Go:function(t){return Ge(t)&&em.call(t,"callee")&&!tm.call(t,"callee")};function rm(){return!1}var Fc=typeof exports=="object"&&exports&&!exports.nodeType&&exports,Bo=Fc&&typeof module=="object"&&module&&!module.nodeType&&module,nm=Bo&&Bo.exports===Fc,Ko=nm?qe.Buffer:void 0,im=Ko?Ko.isBuffer:void 0,tn=im||rm,sm="[object Arguments]",am="[object Array]",om="[object Boolean]",lm="[object Date]",um="[object Error]",cm="[object Function]",fm="[object Map]",dm="[object Number]",hm="[object Object]",pm="[object RegExp]",mm="[object Set]",gm="[object String]",ym="[object WeakMap]",vm="[object ArrayBuffer]",Tm="[object DataView]",Rm="[object Float32Array]",Em="[object Float64Array]",Am="[object Int8Array]",$m="[object Int16Array]",km="[object Int32Array]",xm="[object Uint8Array]",Sm="[object Uint8ClampedArray]",Im="[object Uint16Array]",wm="[object Uint32Array]",G={};G[Rm]=G[Em]=G[Am]=G[$m]=G[km]=G[xm]=G[Sm]=G[Im]=G[wm]=!0;G[sm]=G[am]=G[vm]=G[om]=G[Tm]=G[lm]=G[um]=G[cm]=G[fm]=G[dm]=G[hm]=G[pm]=G[mm]=G[gm]=G[ym]=!1;function bm(t){return Ge(t)&&qa(t.length)&&!!G[Rt(t)]}function Fi(t){return function(e){return t(e)}}var jc=typeof exports=="object"&&exports&&!exports.nodeType&&exports,Zr=jc&&typeof module=="object"&&module&&!module.nodeType&&module,Cm=Zr&&Zr.exports===jc,ds=Cm&&Nc.process,mt=(function(){try{var t=Zr&&Zr.require&&Zr.require("util").types;return t||ds&&ds.binding&&ds.binding("util")}catch{}})(),Vo=mt&&mt.isTypedArray,Xa=Vo?Fi(Vo):bm,Nm=Object.prototype,_m=Nm.hasOwnProperty;function Gc(t,e){var r=P(t),n=!r&&Ui(t),i=!r&&!n&&tn(t),s=!r&&!n&&!i&&Xa(t),a=r||n||i||s,o=a?Zp(t.length,String):[],l=o.length;for(var u in t)(e||_m.call(t,u))&&!(a&&(u=="length"||i&&(u=="offset"||u=="parent")||s&&(u=="buffer"||u=="byteLength"||u=="byteOffset")||Mi(u,l)))&&o.push(u);return o}function Bc(t,e){return function(r){return t(e(r))}}var Lm=Bc(Object.keys,Object),Om=Object.prototype,Pm=Om.hasOwnProperty;function Kc(t){if(!fn(t))return Lm(t);var e=[];for(var r in Object(t))Pm.call(t,r)&&r!="constructor"&&e.push(r);return e}function Oe(t){return Xe(t)?Gc(t):Kc(t)}var Mm=Object.prototype,Dm=Mm.hasOwnProperty,$e=Xp(function(t,e){if(fn(e)||Xe(e)){za(e,Oe(e),t);return}for(var r in e)Dm.call(e,r)&&Di(t,r,e[r])});function Um(t){var e=[];if(t!=null)for(var r in Object(t))e.push(r);return e}var Fm=Object.prototype,jm=Fm.hasOwnProperty;function Gm(t){if(!Le(t))return Um(t);var e=fn(t),r=[];for(var n in t)n=="constructor"&&(e||!jm.call(t,n))||r.push(n);return r}function Vc(t){return Xe(t)?Gc(t,!0):Gm(t)}var Bm=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,Km=/^\w*$/;function Qa(t,e){if(P(t))return!1;var r=typeof t;return r=="number"||r=="symbol"||r=="boolean"||t==null||Li(t)?!0:Km.test(t)||!Bm.test(t)||e!=null&&t in Object(e)}var rn=Bt(Object,"create");function Vm(){this.__data__=rn?rn(null):{},this.size=0}function Hm(t){var e=this.has(t)&&delete this.__data__[t];return this.size-=e?1:0,e}var Wm="__lodash_hash_undefined__",zm=Object.prototype,Ym=zm.hasOwnProperty;function qm(t){var e=this.__data__;if(rn){var r=e[t];return r===Wm?void 0:r}return Ym.call(e,t)?e[t]:void 0}var Xm=Object.prototype,Qm=Xm.hasOwnProperty;function Zm(t){var e=this.__data__;return rn?e[t]!==void 0:Qm.call(e,t)}var Jm="__lodash_hash_undefined__";function eg(t,e){var r=this.__data__;return this.size+=this.has(t)?0:1,r[t]=rn&&e===void 0?Jm:e,this}function Mt(t){var e=-1,r=t==null?0:t.length;for(this.clear();++e<r;){var n=t[e];this.set(n[0],n[1])}}Mt.prototype.clear=Vm;Mt.prototype.delete=Hm;Mt.prototype.get=qm;Mt.prototype.has=Zm;Mt.prototype.set=eg;function tg(){this.__data__=[],this.size=0}function ji(t,e){for(var r=t.length;r--;)if(cn(t[r][0],e))return r;return-1}var rg=Array.prototype,ng=rg.splice;function ig(t){var e=this.__data__,r=ji(e,t);if(r<0)return!1;var n=e.length-1;return r==n?e.pop():ng.call(e,r,1),--this.size,!0}function sg(t){var e=this.__data__,r=ji(e,t);return r<0?void 0:e[r][1]}function ag(t){return ji(this.__data__,t)>-1}function og(t,e){var r=this.__data__,n=ji(r,t);return n<0?(++this.size,r.push([t,e])):r[n][1]=e,this}function ft(t){var e=-1,r=t==null?0:t.length;for(this.clear();++e<r;){var n=t[e];this.set(n[0],n[1])}}ft.prototype.clear=tg;ft.prototype.delete=ig;ft.prototype.get=sg;ft.prototype.has=ag;ft.prototype.set=og;var nn=Bt(qe,"Map");function lg(){this.size=0,this.__data__={hash:new Mt,map:new(nn||ft),string:new Mt}}function ug(t){var e=typeof t;return e=="string"||e=="number"||e=="symbol"||e=="boolean"?t!=="__proto__":t===null}function Gi(t,e){var r=t.__data__;return ug(e)?r[typeof e=="string"?"string":"hash"]:r.map}function cg(t){var e=Gi(this,t).delete(t);return this.size-=e?1:0,e}function fg(t){return Gi(this,t).get(t)}function dg(t){return Gi(this,t).has(t)}function hg(t,e){var r=Gi(this,t),n=r.size;return r.set(t,e),this.size+=r.size==n?0:1,this}function dt(t){var e=-1,r=t==null?0:t.length;for(this.clear();++e<r;){var n=t[e];this.set(n[0],n[1])}}dt.prototype.clear=lg;dt.prototype.delete=cg;dt.prototype.get=fg;dt.prototype.has=dg;dt.prototype.set=hg;var pg="Expected a function";function Za(t,e){if(typeof t!="function"||e!=null&&typeof e!="function")throw new TypeError(pg);var r=function(){var n=arguments,i=e?e.apply(this,n):n[0],s=r.cache;if(s.has(i))return s.get(i);var a=t.apply(this,n);return r.cache=s.set(i,a)||s,a};return r.cache=new(Za.Cache||dt),r}Za.Cache=dt;var mg=500;function gg(t){var e=Za(t,function(n){return r.size===mg&&r.clear(),n}),r=e.cache;return e}var yg=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,vg=/\\(\\)?/g,Tg=gg(function(t){var e=[];return t.charCodeAt(0)===46&&e.push(""),t.replace(yg,function(r,n,i,s){e.push(i?s.replace(vg,"$1"):n||r)}),e});function Rg(t){return t==null?"":Lc(t)}function Bi(t,e){return P(t)?t:Qa(t,e)?[t]:Tg(Rg(t))}function dn(t){if(typeof t=="string"||Li(t))return t;var e=t+"";return e=="0"&&1/t==-1/0?"-0":e}function Ja(t,e){e=Bi(e,t);for(var r=0,n=e.length;t!=null&&r<n;)t=t[dn(e[r++])];return r&&r==n?t:void 0}function Eg(t,e,r){var n=t==null?void 0:Ja(t,e);return n===void 0?r:n}function eo(t,e){for(var r=-1,n=e.length,i=t.length;++r<n;)t[i+r]=e[r];return t}var Ho=_e?_e.isConcatSpreadable:void 0;function Ag(t){return P(t)||Ui(t)||!!(Ho&&t&&t[Ho])}function to(t,e,r,n,i){var s=-1,a=t.length;for(r||(r=Ag),i||(i=[]);++s<a;){var o=t[s];r(o)?eo(i,o):n||(i[i.length]=o)}return i}function Fe(t){var e=t==null?0:t.length;return e?to(t):[]}var Hc=Bc(Object.getPrototypeOf,Object);function Wc(t,e,r){var n=-1,i=t.length;e<0&&(e=-e>i?0:i+e),r=r>i?i:r,r<0&&(r+=i),i=e>r?0:r-e>>>0,e>>>=0;for(var s=Array(i);++n<i;)s[n]=t[n+e];return s}function $g(t,e,r,n){var i=-1,s=t==null?0:t.length;for(n&&s&&(r=t[++i]);++i<s;)r=e(r,t[i],i,t);return r}function kg(){this.__data__=new ft,this.size=0}function xg(t){var e=this.__data__,r=e.delete(t);return this.size=e.size,r}function Sg(t){return this.__data__.get(t)}function Ig(t){return this.__data__.has(t)}var wg=200;function bg(t,e){var r=this.__data__;if(r instanceof ft){var n=r.__data__;if(!nn||n.length<wg-1)return n.push([t,e]),this.size=++r.size,this;r=this.__data__=new dt(n)}return r.set(t,e),this.size=r.size,this}function Ye(t){var e=this.__data__=new ft(t);this.size=e.size}Ye.prototype.clear=kg;Ye.prototype.delete=xg;Ye.prototype.get=Sg;Ye.prototype.has=Ig;Ye.prototype.set=bg;function Cg(t,e){return t&&za(e,Oe(e),t)}var zc=typeof exports=="object"&&exports&&!exports.nodeType&&exports,Wo=zc&&typeof module=="object"&&module&&!module.nodeType&&module,Ng=Wo&&Wo.exports===zc,zo=Ng?qe.Buffer:void 0,Yo=zo?zo.allocUnsafe:void 0;function _g(t,e){var r=t.length,n=Yo?Yo(r):new t.constructor(r);return t.copy(n),n}function ro(t,e){for(var r=-1,n=t==null?0:t.length,i=0,s=[];++r<n;){var a=t[r];e(a,r,t)&&(s[i++]=a)}return s}function Yc(){return[]}var Lg=Object.prototype,Og=Lg.propertyIsEnumerable,qo=Object.getOwnPropertySymbols,no=qo?function(t){return t==null?[]:(t=Object(t),ro(qo(t),function(e){return Og.call(t,e)}))}:Yc;function Pg(t,e){return za(t,no(t),e)}var Mg=Object.getOwnPropertySymbols,Dg=Mg?function(t){for(var e=[];t;)eo(e,no(t)),t=Hc(t);return e}:Yc;function qc(t,e,r){var n=e(t);return P(t)?n:eo(n,r(t))}function ra(t){return qc(t,Oe,no)}function Ug(t){return qc(t,Vc,Dg)}var na=Bt(qe,"DataView"),ia=Bt(qe,"Promise"),Zt=Bt(qe,"Set"),Xo="[object Map]",Fg="[object Object]",Qo="[object Promise]",Zo="[object Set]",Jo="[object WeakMap]",el="[object DataView]",jg=Gt(na),Gg=Gt(nn),Bg=Gt(ia),Kg=Gt(Zt),Vg=Gt(ta),be=Rt;(na&&be(new na(new ArrayBuffer(1)))!=el||nn&&be(new nn)!=Xo||ia&&be(ia.resolve())!=Qo||Zt&&be(new Zt)!=Zo||ta&&be(new ta)!=Jo)&&(be=function(t){var e=Rt(t),r=e==Fg?t.constructor:void 0,n=r?Gt(r):"";if(n)switch(n){case jg:return el;case Gg:return Xo;case Bg:return Qo;case Kg:return Zo;case Vg:return Jo}return e});var Hg=Object.prototype,Wg=Hg.hasOwnProperty;function zg(t){var e=t.length,r=new t.constructor(e);return e&&typeof t[0]=="string"&&Wg.call(t,"index")&&(r.index=t.index,r.input=t.input),r}var ui=qe.Uint8Array;function Yg(t){var e=new t.constructor(t.byteLength);return new ui(e).set(new ui(t)),e}function qg(t,e){var r=t.buffer;return new t.constructor(r,t.byteOffset,t.byteLength)}var Xg=/\w*$/;function Qg(t){var e=new t.constructor(t.source,Xg.exec(t));return e.lastIndex=t.lastIndex,e}var tl=_e?_e.prototype:void 0,rl=tl?tl.valueOf:void 0;function Zg(t){return rl?Object(rl.call(t)):{}}function Jg(t,e){var r=t.buffer;return new t.constructor(r,t.byteOffset,t.length)}var ey="[object Boolean]",ty="[object Date]",ry="[object Map]",ny="[object Number]",iy="[object RegExp]",sy="[object Set]",ay="[object String]",oy="[object Symbol]",ly="[object ArrayBuffer]",uy="[object DataView]",cy="[object Float32Array]",fy="[object Float64Array]",dy="[object Int8Array]",hy="[object Int16Array]",py="[object Int32Array]",my="[object Uint8Array]",gy="[object Uint8ClampedArray]",yy="[object Uint16Array]",vy="[object Uint32Array]";function Ty(t,e,r){var n=t.constructor;switch(e){case ly:return Yg(t);case ey:case ty:return new n(+t);case uy:return qg(t);case cy:case fy:case dy:case hy:case py:case my:case gy:case yy:case vy:return Jg(t);case ry:return new n;case ny:case ay:return new n(t);case iy:return Qg(t);case sy:return new n;case oy:return Zg(t)}}function Ry(t){return typeof t.constructor=="function"&&!fn(t)?_p(Hc(t)):{}}var Ey="[object Map]";function Ay(t){return Ge(t)&&be(t)==Ey}var nl=mt&&mt.isMap,$y=nl?Fi(nl):Ay,ky="[object Set]";function xy(t){return Ge(t)&&be(t)==ky}var il=mt&&mt.isSet,Sy=il?Fi(il):xy,Xc="[object Arguments]",Iy="[object Array]",wy="[object Boolean]",by="[object Date]",Cy="[object Error]",Qc="[object Function]",Ny="[object GeneratorFunction]",_y="[object Map]",Ly="[object Number]",Zc="[object Object]",Oy="[object RegExp]",Py="[object Set]",My="[object String]",Dy="[object Symbol]",Uy="[object WeakMap]",Fy="[object ArrayBuffer]",jy="[object DataView]",Gy="[object Float32Array]",By="[object Float64Array]",Ky="[object Int8Array]",Vy="[object Int16Array]",Hy="[object Int32Array]",Wy="[object Uint8Array]",zy="[object Uint8ClampedArray]",Yy="[object Uint16Array]",qy="[object Uint32Array]",F={};F[Xc]=F[Iy]=F[Fy]=F[jy]=F[wy]=F[by]=F[Gy]=F[By]=F[Ky]=F[Vy]=F[Hy]=F[_y]=F[Ly]=F[Zc]=F[Oy]=F[Py]=F[My]=F[Dy]=F[Wy]=F[zy]=F[Yy]=F[qy]=!0;F[Cy]=F[Qc]=F[Uy]=!1;function Vn(t,e,r,n,i,s){var a;if(a!==void 0)return a;if(!Le(t))return t;var o=P(t);if(o)return a=zg(t),Op(t,a);var l=be(t),u=l==Qc||l==Ny;if(tn(t))return _g(t);if(l==Zc||l==Xc||u&&!i)return a=u?{}:Ry(t),Pg(t,Cg(a,t));if(!F[l])return i?t:{};a=Ty(t,l),s||(s=new Ye);var c=s.get(t);if(c)return c;s.set(t,a),Sy(t)?t.forEach(function(h){a.add(Vn(h,e,r,h,t,s))}):$y(t)&&t.forEach(function(h,m){a.set(m,Vn(h,e,r,m,t,s))});var f=ra,d=o?void 0:f(t);return Oc(d||t,function(h,m){d&&(m=h,h=t[m]),Di(a,m,Vn(h,e,r,m,t,s))}),a}var Xy=4;function se(t){return Vn(t,Xy)}function hn(t){for(var e=-1,r=t==null?0:t.length,n=0,i=[];++e<r;){var s=t[e];s&&(i[n++]=s)}return i}var Qy="__lodash_hash_undefined__";function Zy(t){return this.__data__.set(t,Qy),this}function Jy(t){return this.__data__.has(t)}function tr(t){var e=-1,r=t==null?0:t.length;for(this.__data__=new dt;++e<r;)this.add(t[e])}tr.prototype.add=tr.prototype.push=Zy;tr.prototype.has=Jy;function Jc(t,e){for(var r=-1,n=t==null?0:t.length;++r<n;)if(e(t[r],r,t))return!0;return!1}function io(t,e){return t.has(e)}var ev=1,tv=2;function ef(t,e,r,n,i,s){var a=r&ev,o=t.length,l=e.length;if(o!=l&&!(a&&l>o))return!1;var u=s.get(t),c=s.get(e);if(u&&c)return u==e&&c==t;var f=-1,d=!0,h=r&tv?new tr:void 0;for(s.set(t,e),s.set(e,t);++f<o;){var m=t[f],g=e[f];if(n)var A=a?n(g,m,f,e,t,s):n(m,g,f,t,e,s);if(A!==void 0){if(A)continue;d=!1;break}if(h){if(!Jc(e,function(v,E){if(!io(h,E)&&(m===v||i(m,v,r,n,s)))return h.push(E)})){d=!1;break}}else if(!(m===g||i(m,g,r,n,s))){d=!1;break}}return s.delete(t),s.delete(e),d}function rv(t){var e=-1,r=Array(t.size);return t.forEach(function(n,i){r[++e]=[i,n]}),r}function so(t){var e=-1,r=Array(t.size);return t.forEach(function(n){r[++e]=n}),r}var nv=1,iv=2,sv="[object Boolean]",av="[object Date]",ov="[object Error]",lv="[object Map]",uv="[object Number]",cv="[object RegExp]",fv="[object Set]",dv="[object String]",hv="[object Symbol]",pv="[object ArrayBuffer]",mv="[object DataView]",sl=_e?_e.prototype:void 0,hs=sl?sl.valueOf:void 0;function gv(t,e,r,n,i,s,a){switch(r){case mv:if(t.byteLength!=e.byteLength||t.byteOffset!=e.byteOffset)return!1;t=t.buffer,e=e.buffer;case pv:return!(t.byteLength!=e.byteLength||!s(new ui(t),new ui(e)));case sv:case av:case uv:return cn(+t,+e);case ov:return t.name==e.name&&t.message==e.message;case cv:case dv:return t==e+"";case lv:var o=rv;case fv:var l=n&nv;if(o||(o=so),t.size!=e.size&&!l)return!1;var u=a.get(t);if(u)return u==e;n|=iv,a.set(t,e);var c=ef(o(t),o(e),n,i,s,a);return a.delete(t),c;case hv:if(hs)return hs.call(t)==hs.call(e)}return!1}var yv=1,vv=Object.prototype,Tv=vv.hasOwnProperty;function Rv(t,e,r,n,i,s){var a=r&yv,o=ra(t),l=o.length,u=ra(e),c=u.length;if(l!=c&&!a)return!1;for(var f=l;f--;){var d=o[f];if(!(a?d in e:Tv.call(e,d)))return!1}var h=s.get(t),m=s.get(e);if(h&&m)return h==e&&m==t;var g=!0;s.set(t,e),s.set(e,t);for(var A=a;++f<l;){d=o[f];var v=t[d],E=e[d];if(n)var T=a?n(E,v,d,e,t,s):n(v,E,d,t,e,s);if(!(T===void 0?v===E||i(v,E,r,n,s):T)){g=!1;break}A||(A=d=="constructor")}if(g&&!A){var x=t.constructor,U=e.constructor;x!=U&&"constructor"in t&&"constructor"in e&&!(typeof x=="function"&&x instanceof x&&typeof U=="function"&&U instanceof U)&&(g=!1)}return s.delete(t),s.delete(e),g}var Ev=1,al="[object Arguments]",ol="[object Array]",Cn="[object Object]",Av=Object.prototype,ll=Av.hasOwnProperty;function $v(t,e,r,n,i,s){var a=P(t),o=P(e),l=a?ol:be(t),u=o?ol:be(e);l=l==al?Cn:l,u=u==al?Cn:u;var c=l==Cn,f=u==Cn,d=l==u;if(d&&tn(t)){if(!tn(e))return!1;a=!0,c=!1}if(d&&!c)return s||(s=new Ye),a||Xa(t)?ef(t,e,r,n,i,s):gv(t,e,l,r,n,i,s);if(!(r&Ev)){var h=c&&ll.call(t,"__wrapped__"),m=f&&ll.call(e,"__wrapped__");if(h||m){var g=h?t.value():t,A=m?e.value():e;return s||(s=new Ye),i(g,A,r,n,s)}}return d?(s||(s=new Ye),Rv(t,e,r,n,i,s)):!1}function ao(t,e,r,n,i){return t===e?!0:t==null||e==null||!Ge(t)&&!Ge(e)?t!==t&&e!==e:$v(t,e,r,n,ao,i)}var kv=1,xv=2;function Sv(t,e,r,n){var i=r.length,s=i;if(t==null)return!s;for(t=Object(t);i--;){var a=r[i];if(a[2]?a[1]!==t[a[0]]:!(a[0]in t))return!1}for(;++i<s;){a=r[i];var o=a[0],l=t[o],u=a[1];if(a[2]){if(l===void 0&&!(o in t))return!1}else{var c=new Ye,f;if(!(f===void 0?ao(u,l,kv|xv,n,c):f))return!1}}return!0}function tf(t){return t===t&&!Le(t)}function Iv(t){for(var e=Oe(t),r=e.length;r--;){var n=e[r],i=t[n];e[r]=[n,i,tf(i)]}return e}function rf(t,e){return function(r){return r==null?!1:r[t]===e&&(e!==void 0||t in Object(r))}}function wv(t){var e=Iv(t);return e.length==1&&e[0][2]?rf(e[0][0],e[0][1]):function(r){return r===t||Sv(r,t,e)}}function bv(t,e){return t!=null&&e in Object(t)}function nf(t,e,r){e=Bi(e,t);for(var n=-1,i=e.length,s=!1;++n<i;){var a=dn(e[n]);if(!(s=t!=null&&r(t,a)))break;t=t[a]}return s||++n!=i?s:(i=t==null?0:t.length,!!i&&qa(i)&&Mi(a,i)&&(P(t)||Ui(t)))}function Cv(t,e){return t!=null&&nf(t,e,bv)}var Nv=1,_v=2;function Lv(t,e){return Qa(t)&&tf(e)?rf(dn(t),e):function(r){var n=Eg(r,t);return n===void 0&&n===e?Cv(r,t):ao(e,n,Nv|_v)}}function Ov(t){return function(e){return e?.[t]}}function Pv(t){return function(e){return Ja(e,t)}}function Mv(t){return Qa(t)?Ov(dn(t)):Pv(t)}function Qe(t){return typeof t=="function"?t:t==null?er:typeof t=="object"?P(t)?Lv(t[0],t[1]):wv(t):Mv(t)}function Dv(t,e,r,n){for(var i=-1,s=t==null?0:t.length;++i<s;){var a=t[i];e(n,a,r(a),t)}return n}function Uv(t){return function(e,r,n){for(var i=-1,s=Object(e),a=n(e),o=a.length;o--;){var l=a[++i];if(r(s[l],l,s)===!1)break}return e}}var Fv=Uv();function jv(t,e){return t&&Fv(t,e,Oe)}function Gv(t,e){return function(r,n){if(r==null)return r;if(!Xe(r))return t(r,n);for(var i=r.length,s=-1,a=Object(r);++s<i&&n(a[s],s,a)!==!1;);return r}}var Kt=Gv(jv);function Bv(t,e,r,n){return Kt(t,function(i,s,a){e(n,i,r(i),a)}),n}function Kv(t,e){return function(r,n){var i=P(r)?Dv:Bv,s={};return i(r,t,Qe(n),s)}}var sf=Object.prototype,Vv=sf.hasOwnProperty,oo=Ya(function(t,e){t=Object(t);var r=-1,n=e.length,i=n>2?e[2]:void 0;for(i&&Dc(e[0],e[1],i)&&(n=1);++r<n;)for(var s=e[r],a=Vc(s),o=-1,l=a.length;++o<l;){var u=a[o],c=t[u];(c===void 0||cn(c,sf[u])&&!Vv.call(t,u))&&(t[u]=s[u])}return t});function ul(t){return Ge(t)&&Xe(t)}var Hv=200;function Wv(t,e,r,n){var i=-1,s=Mc,a=!0,o=t.length,l=[],u=e.length;if(!o)return l;e.length>=Hv&&(s=io,a=!1,e=new tr(e));e:for(;++i<o;){var c=t[i],f=c;if(c=c!==0?c:0,a&&f===f){for(var d=u;d--;)if(e[d]===f)continue e;l.push(c)}else s(e,f,n)||l.push(c)}return l}var Ki=Ya(function(t,e){return ul(t)?Wv(t,to(e,1,ul,!0)):[]});function rr(t){var e=t==null?0:t.length;return e?t[e-1]:void 0}function te(t,e,r){var n=t==null?0:t.length;return n?(e=e===void 0?1:Pi(e),Wc(t,e<0?0:e,n)):[]}function sn(t,e,r){var n=t==null?0:t.length;return n?(e=e===void 0?1:Pi(e),e=n-e,Wc(t,0,e<0?0:e)):[]}function zv(t){return typeof t=="function"?t:er}function b(t,e){var r=P(t)?Oc:Kt;return r(t,zv(e))}function Yv(t,e){for(var r=-1,n=t==null?0:t.length;++r<n;)if(!e(t[r],r,t))return!1;return!0}function qv(t,e){var r=!0;return Kt(t,function(n,i,s){return r=!!e(n,i,s),r}),r}function je(t,e,r){var n=P(t)?Yv:qv;return n(t,Qe(e))}function af(t,e){var r=[];return Kt(t,function(n,i,s){e(n,i,s)&&r.push(n)}),r}function Pe(t,e){var r=P(t)?ro:af;return r(t,Qe(e))}function Xv(t){return function(e,r,n){var i=Object(e);if(!Xe(e)){var s=Qe(r);e=Oe(e),r=function(o){return s(i[o],o,i)}}var a=t(e,r,n);return a>-1?i[s?e[a]:a]:void 0}}var Qv=Math.max;function Zv(t,e,r){var n=t==null?0:t.length;if(!n)return-1;var i=r==null?0:Pi(r);return i<0&&(i=Qv(n+i,0)),Pc(t,Qe(e),i)}var nr=Xv(Zv);function Be(t){return t&&t.length?t[0]:void 0}function Jv(t,e){var r=-1,n=Xe(t)?Array(t.length):[];return Kt(t,function(i,s,a){n[++r]=e(i,s,a)}),n}function I(t,e){var r=P(t)?Oi:Jv;return r(t,Qe(e))}function Ce(t,e){return to(I(t,e))}var eT=Object.prototype,tT=eT.hasOwnProperty,rT=Kv(function(t,e,r){tT.call(t,r)?t[r].push(e):Wa(t,r,[e])}),nT=Object.prototype,iT=nT.hasOwnProperty;function sT(t,e){return t!=null&&iT.call(t,e)}function w(t,e){return t!=null&&nf(t,e,sT)}var aT="[object String]";function pe(t){return typeof t=="string"||!P(t)&&Ge(t)&&Rt(t)==aT}function oT(t,e){return Oi(e,function(r){return t[r]})}function Q(t){return t==null?[]:oT(t,Oe(t))}var lT=Math.max;function de(t,e,r,n){t=Xe(t)?t:Q(t),r=r?Pi(r):0;var i=t.length;return r<0&&(r=lT(i+r,0)),pe(t)?r<=i&&t.indexOf(e,r)>-1:!!i&&Ha(t,e,r)>-1}function cl(t,e,r){var n=t==null?0:t.length;if(!n)return-1;var i=0;return Ha(t,e,i)}var uT="[object Map]",cT="[object Set]",fT=Object.prototype,dT=fT.hasOwnProperty;function j(t){if(t==null)return!0;if(Xe(t)&&(P(t)||typeof t=="string"||typeof t.splice=="function"||tn(t)||Xa(t)||Ui(t)))return!t.length;var e=be(t);if(e==uT||e==cT)return!t.size;if(fn(t))return!Kc(t).length;for(var r in t)if(dT.call(t,r))return!1;return!0}var hT="[object RegExp]";function pT(t){return Ge(t)&&Rt(t)==hT}var fl=mt&&mt.isRegExp,ot=fl?Fi(fl):pT;function lt(t){return t===void 0}var mT="Expected a function";function gT(t){if(typeof t!="function")throw new TypeError(mT);return function(){var e=arguments;switch(e.length){case 0:return!t.call(this);case 1:return!t.call(this,e[0]);case 2:return!t.call(this,e[0],e[1]);case 3:return!t.call(this,e[0],e[1],e[2])}return!t.apply(this,e)}}function yT(t,e,r,n){if(!Le(t))return t;e=Bi(e,t);for(var i=-1,s=e.length,a=s-1,o=t;o!=null&&++i<s;){var l=dn(e[i]),u=r;if(l==="__proto__"||l==="constructor"||l==="prototype")return t;if(i!=a){var c=o[l];u=void 0,u===void 0&&(u=Le(c)?c:Mi(e[i+1])?[]:{})}Di(o,l,u),o=o[l]}return t}function vT(t,e,r){for(var n=-1,i=e.length,s={};++n<i;){var a=e[n],o=Ja(t,a);r(o,a)&&yT(s,Bi(a,t),o)}return s}function Ke(t,e){if(t==null)return{};var r=Oi(Ug(t),function(n){return[n]});return e=Qe(e),vT(t,r,function(n,i){return e(n,i[0])})}function TT(t,e,r,n,i){return i(t,function(s,a,o){r=n?(n=!1,s):e(r,s,a,o)}),r}function ke(t,e,r){var n=P(t)?$g:TT,i=arguments.length<3;return n(t,Qe(e),r,i,Kt)}function Vi(t,e){var r=P(t)?ro:af;return r(t,gT(Qe(e)))}function RT(t,e){var r;return Kt(t,function(n,i,s){return r=e(n,i,s),!r}),!!r}function of(t,e,r){var n=P(t)?Jc:RT;return n(t,Qe(e))}var ET=1/0,AT=Zt&&1/so(new Zt([,-0]))[1]==ET?function(t){return new Zt(t)}:X,$T=200;function kT(t,e,r){var n=-1,i=Mc,s=t.length,a=!0,o=[],l=o;if(s>=$T){var u=AT(t);if(u)return so(u);a=!1,i=io,l=new tr}else l=o;e:for(;++n<s;){var c=t[n],f=c;if(c=c!==0?c:0,a&&f===f){for(var d=l.length;d--;)if(l[d]===f)continue e;o.push(c)}else i(l,f,r)||(l!==o&&l.push(f),o.push(c))}return o}function lo(t){return t&&t.length?kT(t):[]}function sa(t){console&&console.error&&console.error(`Error: ${t}`)}function lf(t){console&&console.warn&&console.warn(`Warning: ${t}`)}function uf(t){const e=new Date().getTime(),r=t();return{time:new Date().getTime()-e,value:r}}function cf(t){function e(){}e.prototype=t;const r=new e;function n(){return typeof r.bar}return n(),n(),t}function xT(t){return ST(t)?t.LABEL:t.name}function ST(t){return pe(t.LABEL)&&t.LABEL!==""}class Ze{get definition(){return this._definition}set definition(e){this._definition=e}constructor(e){this._definition=e}accept(e){e.visit(this),b(this.definition,r=>{r.accept(e)})}}class ce extends Ze{constructor(e){super([]),this.idx=1,$e(this,Ke(e,r=>r!==void 0))}set definition(e){}get definition(){return this.referencedRule!==void 0?this.referencedRule.definition:[]}accept(e){e.visit(this)}}class ur extends Ze{constructor(e){super(e.definition),this.orgText="",$e(this,Ke(e,r=>r!==void 0))}}class me extends Ze{constructor(e){super(e.definition),this.ignoreAmbiguities=!1,$e(this,Ke(e,r=>r!==void 0))}}let ie=class extends Ze{constructor(t){super(t.definition),this.idx=1,$e(this,Ke(t,e=>e!==void 0))}};class xe extends Ze{constructor(e){super(e.definition),this.idx=1,$e(this,Ke(e,r=>r!==void 0))}}class Se extends Ze{constructor(e){super(e.definition),this.idx=1,$e(this,Ke(e,r=>r!==void 0))}}class z extends Ze{constructor(e){super(e.definition),this.idx=1,$e(this,Ke(e,r=>r!==void 0))}}class ge extends Ze{constructor(e){super(e.definition),this.idx=1,$e(this,Ke(e,r=>r!==void 0))}}class ye extends Ze{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,$e(this,Ke(e,r=>r!==void 0))}}class B{constructor(e){this.idx=1,$e(this,Ke(e,r=>r!==void 0))}accept(e){e.visit(this)}}function IT(t){return I(t,Hn)}function Hn(t){function e(r){return I(r,Hn)}if(t instanceof ce){const r={type:"NonTerminal",name:t.nonTerminalName,idx:t.idx};return pe(t.label)&&(r.label=t.label),r}else{if(t instanceof me)return{type:"Alternative",definition:e(t.definition)};if(t instanceof ie)return{type:"Option",idx:t.idx,definition:e(t.definition)};if(t instanceof xe)return{type:"RepetitionMandatory",idx:t.idx,definition:e(t.definition)};if(t instanceof Se)return{type:"RepetitionMandatoryWithSeparator",idx:t.idx,separator:Hn(new B({terminalType:t.separator})),definition:e(t.definition)};if(t instanceof ge)return{type:"RepetitionWithSeparator",idx:t.idx,separator:Hn(new B({terminalType:t.separator})),definition:e(t.definition)};if(t instanceof z)return{type:"Repetition",idx:t.idx,definition:e(t.definition)};if(t instanceof ye)return{type:"Alternation",idx:t.idx,definition:e(t.definition)};if(t instanceof B){const r={type:"Terminal",name:t.terminalType.name,label:xT(t.terminalType),idx:t.idx};pe(t.label)&&(r.terminalLabel=t.label);const n=t.terminalType.PATTERN;return t.terminalType.PATTERN&&(r.pattern=ot(n)?n.source:n),r}else{if(t instanceof ur)return{type:"Rule",name:t.name,orgText:t.orgText,definition:e(t.definition)};throw Error("non exhaustive match")}}}class cr{visit(e){const r=e;switch(r.constructor){case ce:return this.visitNonTerminal(r);case me:return this.visitAlternative(r);case ie:return this.visitOption(r);case xe:return this.visitRepetitionMandatory(r);case Se:return this.visitRepetitionMandatoryWithSeparator(r);case ge:return this.visitRepetitionWithSeparator(r);case z:return this.visitRepetition(r);case ye:return this.visitAlternation(r);case B:return this.visitTerminal(r);case ur:return this.visitRule(r);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 wT(t){return t instanceof me||t instanceof ie||t instanceof z||t instanceof xe||t instanceof Se||t instanceof ge||t instanceof B||t instanceof ur}function ci(t,e=[]){return t instanceof ie||t instanceof z||t instanceof ge?!0:t instanceof ye?of(t.definition,r=>ci(r,e)):t instanceof ce&&de(e,t)?!1:t instanceof Ze?(t instanceof ce&&e.push(t),je(t.definition,r=>ci(r,e))):!1}function bT(t){return t instanceof ye}function We(t){if(t instanceof ce)return"SUBRULE";if(t instanceof ie)return"OPTION";if(t instanceof ye)return"OR";if(t instanceof xe)return"AT_LEAST_ONE";if(t instanceof Se)return"AT_LEAST_ONE_SEP";if(t instanceof ge)return"MANY_SEP";if(t instanceof z)return"MANY";if(t instanceof B)return"CONSUME";throw Error("non exhaustive match")}class Hi{walk(e,r=[]){b(e.definition,(n,i)=>{const s=te(e.definition,i+1);if(n instanceof ce)this.walkProdRef(n,s,r);else if(n instanceof B)this.walkTerminal(n,s,r);else if(n instanceof me)this.walkFlat(n,s,r);else if(n instanceof ie)this.walkOption(n,s,r);else if(n instanceof xe)this.walkAtLeastOne(n,s,r);else if(n instanceof Se)this.walkAtLeastOneSep(n,s,r);else if(n instanceof ge)this.walkManySep(n,s,r);else if(n instanceof z)this.walkMany(n,s,r);else if(n instanceof ye)this.walkOr(n,s,r);else throw Error("non exhaustive match")})}walkTerminal(e,r,n){}walkProdRef(e,r,n){}walkFlat(e,r,n){const i=r.concat(n);this.walk(e,i)}walkOption(e,r,n){const i=r.concat(n);this.walk(e,i)}walkAtLeastOne(e,r,n){const i=[new ie({definition:e.definition})].concat(r,n);this.walk(e,i)}walkAtLeastOneSep(e,r,n){const i=dl(e,r,n);this.walk(e,i)}walkMany(e,r,n){const i=[new ie({definition:e.definition})].concat(r,n);this.walk(e,i)}walkManySep(e,r,n){const i=dl(e,r,n);this.walk(e,i)}walkOr(e,r,n){const i=r.concat(n);b(e.definition,s=>{const a=new me({definition:[s]});this.walk(a,i)})}}function dl(t,e,r){return[new ie({definition:[new B({terminalType:t.separator})].concat(t.definition)})].concat(e,r)}function pn(t){if(t instanceof ce)return pn(t.referencedRule);if(t instanceof B)return _T(t);if(wT(t))return CT(t);if(bT(t))return NT(t);throw Error("non exhaustive match")}function CT(t){let e=[];const r=t.definition;let n=0,i=r.length>n,s,a=!0;for(;i&&a;)s=r[n],a=ci(s),e=e.concat(pn(s)),n=n+1,i=r.length>n;return lo(e)}function NT(t){const e=I(t.definition,r=>pn(r));return lo(Fe(e))}function _T(t){return[t.terminalType]}const ff="_~IN~_";class LT extends Hi{constructor(e){super(),this.topProd=e,this.follows={}}startWalking(){return this.walk(this.topProd),this.follows}walkTerminal(e,r,n){}walkProdRef(e,r,n){const i=PT(e.referencedRule,e.idx)+this.topProd.name,s=r.concat(n),a=new me({definition:s}),o=pn(a);this.follows[i]=o}}function OT(t){const e={};return b(t,r=>{const n=new LT(r).startWalking();$e(e,n)}),e}function PT(t,e){return t.name+e+ff}let Wn={};const MT=new $c;function Wi(t){const e=t.toString();if(Wn.hasOwnProperty(e))return Wn[e];{const r=MT.pattern(e);return Wn[e]=r,r}}function DT(){Wn={}}const df="Complement Sets are not supported for first char optimization",fi=`Unable to use "first char" lexer optimizations:
|
|
13
|
+
`;function UT(t,e=!1){try{const r=Wi(t);return aa(r.value,{},r.flags.ignoreCase)}catch(r){if(r.message===df)e&&lf(`${fi} Unable to optimize: < ${t.toString()} >
|
|
14
14
|
Complement Sets cannot be automatically optimized.
|
|
15
15
|
This will disable the lexer's first char optimizations.
|
|
16
16
|
See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#COMPLEMENT for details.`);else{let n="";e&&(n=`
|
|
17
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.`),
|
|
18
|
+
See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#REGEXP_PARSING for details.`),sa(`${fi}
|
|
19
19
|
Failed parsing: < ${t.toString()} >
|
|
20
20
|
Using the @chevrotain/regexp-to-ast library
|
|
21
|
-
Please open an issue at: https://github.com/chevrotain/chevrotain/issues`+n)}}return[]}function
|
|
22
|
-
`],tracer:(
|
|
21
|
+
Please open an issue at: https://github.com/chevrotain/chevrotain/issues`+n)}}return[]}function aa(t,e,r){switch(t.type){case"Disjunction":for(let i=0;i<t.value.length;i++)aa(t.value[i],e,r);break;case"Alternative":const n=t.value;for(let i=0;i<n.length;i++){const s=n[i];switch(s.type){case"EndAnchor":case"GroupBackReference":case"Lookahead":case"NegativeLookahead":case"StartAnchor":case"WordBoundary":case"NonWordBoundary":continue}const a=s;switch(a.type){case"Character":Nn(a.value,e,r);break;case"Set":if(a.complement===!0)throw Error(df);b(a.value,l=>{if(typeof l=="number")Nn(l,e,r);else{const u=l;if(r===!0)for(let c=u.from;c<=u.to;c++)Nn(c,e,r);else{for(let c=u.from;c<=u.to&&c<Hr;c++)Nn(c,e,r);if(u.to>=Hr){const c=u.from>=Hr?u.from:Hr,f=u.to,d=gt(c),h=gt(f);for(let m=d;m<=h;m++)e[m]=m}}}});break;case"Group":aa(a.value,e,r);break;default:throw Error("Non Exhaustive Match")}const o=a.quantifier!==void 0&&a.quantifier.atLeast===0;if(a.type==="Group"&&oa(a)===!1||a.type!=="Group"&&o===!1)break}break;default:throw Error("non exhaustive match!")}return Q(e)}function Nn(t,e,r){const n=gt(t);e[n]=n,r===!0&&FT(t,e)}function FT(t,e){const r=String.fromCharCode(t),n=r.toUpperCase();if(n!==r){const i=gt(n.charCodeAt(0));e[i]=i}else{const i=r.toLowerCase();if(i!==r){const s=gt(i.charCodeAt(0));e[s]=s}}}function hl(t,e){return nr(t.value,r=>{if(typeof r=="number")return de(e,r);{const n=r;return nr(e,i=>n.from<=i&&i<=n.to)!==void 0}})}function oa(t){const e=t.quantifier;return e&&e.atLeast===0?!0:t.value?P(t.value)?je(t.value,oa):oa(t.value):!1}class jT extends Ni{constructor(e){super(),this.targetCharCodes=e,this.found=!1}visitChildren(e){if(this.found!==!0){switch(e.type){case"Lookahead":this.visitLookahead(e);return;case"NegativeLookahead":this.visitNegativeLookahead(e);return}super.visitChildren(e)}}visitCharacter(e){de(this.targetCharCodes,e.value)&&(this.found=!0)}visitSet(e){e.complement?hl(e,this.targetCharCodes)===void 0&&(this.found=!0):hl(e,this.targetCharCodes)!==void 0&&(this.found=!0)}}function uo(t,e){if(e instanceof RegExp){const r=Wi(e),n=new jT(t);return n.visit(r),n.found}else return nr(e,r=>de(t,r.charCodeAt(0)))!==void 0}const Dt="PATTERN",Vr="defaultMode",_n="modes";let hf=typeof new RegExp("(?:)").sticky=="boolean";function GT(t,e){e=oo(e,{useSticky:hf,debug:!1,safeMode:!1,positionTracking:"full",lineTerminatorCharacters:["\r",`
|
|
22
|
+
`],tracer:(E,T)=>T()});const r=e.tracer;r("initCharCodeToOptimizedIndexMap",()=>{cR()});let n;r("Reject Lexer.NA",()=>{n=Vi(t,E=>E[Dt]===he.NA)});let i=!1,s;r("Transform Patterns",()=>{i=!1,s=I(n,E=>{const T=E[Dt];if(ot(T)){const x=T.source;return x.length===1&&x!=="^"&&x!=="$"&&x!=="."&&!T.ignoreCase?x:x.length===2&&x[0]==="\\"&&!de(["d","D","s","S","t","r","n","t","0","c","b","B","f","v","w","W"],x[1])?x[1]:e.useSticky?ml(T):pl(T)}else{if(ct(T))return i=!0,{exec:T};if(typeof T=="object")return i=!0,T;if(typeof T=="string"){if(T.length===1)return T;{const x=T.replace(/[\\^$.*+?()[\]{}|]/g,"\\$&"),U=new RegExp(x);return e.useSticky?ml(U):pl(U)}}else throw Error("non exhaustive match")}})});let a,o,l,u,c;r("misc mapping",()=>{a=I(n,E=>E.tokenTypeIdx),o=I(n,E=>{const T=E.GROUP;if(T!==he.SKIPPED){if(pe(T))return T;if(lt(T))return!1;throw Error("non exhaustive match")}}),l=I(n,E=>{const T=E.LONGER_ALT;if(T)return P(T)?I(T,x=>cl(n,x)):[cl(n,T)]}),u=I(n,E=>E.PUSH_MODE),c=I(n,E=>w(E,"POP_MODE"))});let f;r("Line Terminator Handling",()=>{const E=gf(e.lineTerminatorCharacters);f=I(n,T=>!1),e.positionTracking!=="onlyOffset"&&(f=I(n,T=>w(T,"LINE_BREAKS")?!!T.LINE_BREAKS:mf(T,E)===!1&&uo(E,T.PATTERN)))});let d,h,m,g;r("Misc Mapping #2",()=>{d=I(n,pf),h=I(s,oR),m=ke(n,(E,T)=>{const x=T.GROUP;return pe(x)&&x!==he.SKIPPED&&(E[x]=[]),E},{}),g=I(s,(E,T)=>({pattern:s[T],longerAlt:l[T],canLineTerminator:f[T],isCustom:d[T],short:h[T],group:o[T],push:u[T],pop:c[T],tokenTypeIdx:a[T],tokenType:n[T]}))});let A=!0,v=[];return e.safeMode||r("First Char Optimization",()=>{v=ke(n,(E,T,x)=>{if(typeof T.PATTERN=="string"){const U=T.PATTERN.charCodeAt(0),ae=gt(U);ps(E,ae,g[x])}else if(P(T.START_CHARS_HINT)){let U;b(T.START_CHARS_HINT,ae=>{const Me=typeof ae=="string"?ae.charCodeAt(0):ae,ve=gt(Me);U!==ve&&(U=ve,ps(E,ve,g[x]))})}else if(ot(T.PATTERN))if(T.PATTERN.unicode)A=!1,e.ensureOptimizations&&sa(`${fi} Unable to analyze < ${T.PATTERN.toString()} > pattern.
|
|
23
23
|
The regexp unicode flag is not currently supported by the regexp-to-ast library.
|
|
24
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 U=
|
|
25
|
+
For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#UNICODE_OPTIMIZE`);else{const U=UT(T.PATTERN,e.ensureOptimizations);j(U)&&(A=!1),b(U,ae=>{ps(E,ae,g[x])})}else e.ensureOptimizations&&sa(`${fi} TokenType: <${T.name}> is using a custom token pattern without providing <start_chars_hint> parameter.
|
|
26
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`),
|
|
27
|
+
For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#CUSTOM_OPTIMIZE`),A=!1;return E},[])}),{emptyGroups:m,patternIdxToConfig:g,charCodeToPatternIdxToConfig:v,hasCustom:i,canBeOptimized:A}}function BT(t,e){let r=[];const n=VT(t);r=r.concat(n.errors);const i=HT(n.valid),s=i.valid;return r=r.concat(i.errors),r=r.concat(KT(s)),r=r.concat(JT(s)),r=r.concat(eR(s,e)),r=r.concat(tR(s)),r}function KT(t){let e=[];const r=Pe(t,n=>ot(n[Dt]));return e=e.concat(zT(r)),e=e.concat(XT(r)),e=e.concat(QT(r)),e=e.concat(ZT(r)),e=e.concat(YT(r)),e}function VT(t){const e=Pe(t,i=>!w(i,Dt)),r=I(e,i=>({message:"Token Type: ->"+i.name+"<- missing static 'PATTERN' property",type:Y.MISSING_PATTERN,tokenTypes:[i]})),n=Ki(t,e);return{errors:r,valid:n}}function HT(t){const e=Pe(t,i=>{const s=i[Dt];return!ot(s)&&!ct(s)&&!w(s,"exec")&&!pe(s)}),r=I(e,i=>({message:"Token Type: ->"+i.name+"<- static 'PATTERN' can only be a RegExp, a Function matching the {CustomPatternMatcherFunc} type or an Object matching the {ICustomPattern} interface.",type:Y.INVALID_PATTERN,tokenTypes:[i]})),n=Ki(t,e);return{errors:r,valid:n}}const WT=/[^\\][$]/;function zT(t){class e extends Ni{constructor(){super(...arguments),this.found=!1}visitEndAnchor(i){this.found=!0}}const r=Pe(t,n=>{const i=n.PATTERN;try{const s=Wi(i),a=new e;return a.visit(s),a.found}catch{return WT.test(i.source)}});return I(r,n=>({message:`Unexpected RegExp Anchor Error:
|
|
28
28
|
Token Type: ->`+n.name+`<- static 'PATTERN' cannot contain end of input anchor '$'
|
|
29
|
-
See chevrotain.io/docs/guide/resolving_lexer_errors.html#ANCHORS for details.`,type:Y.EOI_ANCHOR_FOUND,tokenTypes:[n]}))}function
|
|
29
|
+
See chevrotain.io/docs/guide/resolving_lexer_errors.html#ANCHORS for details.`,type:Y.EOI_ANCHOR_FOUND,tokenTypes:[n]}))}function YT(t){const e=Pe(t,r=>r.PATTERN.test(""));return I(e,r=>({message:"Token Type: ->"+r.name+"<- static 'PATTERN' must not match an empty string",type:Y.EMPTY_MATCH_PATTERN,tokenTypes:[r]}))}const qT=/[^\\[][\^]|^\^/;function XT(t){class e extends Ni{constructor(){super(...arguments),this.found=!1}visitStartAnchor(i){this.found=!0}}const r=Pe(t,n=>{const i=n.PATTERN;try{const s=Wi(i),a=new e;return a.visit(s),a.found}catch{return qT.test(i.source)}});return I(r,n=>({message:`Unexpected RegExp Anchor Error:
|
|
30
30
|
Token Type: ->`+n.name+`<- static 'PATTERN' cannot contain start of input anchor '^'
|
|
31
|
-
See https://chevrotain.io/docs/guide/resolving_lexer_errors.html#ANCHORS for details.`,type:Y.SOI_ANCHOR_FOUND,tokenTypes:[n]}))}function
|
|
31
|
+
See https://chevrotain.io/docs/guide/resolving_lexer_errors.html#ANCHORS for details.`,type:Y.SOI_ANCHOR_FOUND,tokenTypes:[n]}))}function QT(t){const e=Pe(t,r=>{const n=r[Dt];return n instanceof RegExp&&(n.multiline||n.global)});return I(e,r=>({message:"Token Type: ->"+r.name+"<- static 'PATTERN' may NOT contain global('g') or multiline('m')",type:Y.UNSUPPORTED_FLAGS_FOUND,tokenTypes:[r]}))}function ZT(t){const e=[];let r=I(t,i=>ke(t,(s,a)=>(i.PATTERN.source===a.PATTERN.source&&!de(e,a)&&a.PATTERN!==he.NA&&(e.push(a),s.push(a)),s),[]));r=hn(r);const n=Pe(r,i=>i.length>1);return I(n,i=>{const s=I(i,a=>a.name);return{message:`The same RegExp pattern ->${Be(i).PATTERN}<-has been used in all of the following Token Types: ${s.join(", ")} <-`,type:Y.DUPLICATE_PATTERNS_FOUND,tokenTypes:i}})}function JT(t){const e=Pe(t,r=>{if(!w(r,"GROUP"))return!1;const n=r.GROUP;return n!==he.SKIPPED&&n!==he.NA&&!pe(n)});return I(e,r=>({message:"Token Type: ->"+r.name+"<- static 'GROUP' can only be Lexer.SKIPPED/Lexer.NA/A String",type:Y.INVALID_GROUP_TYPE_FOUND,tokenTypes:[r]}))}function eR(t,e){const r=Pe(t,n=>n.PUSH_MODE!==void 0&&!de(e,n.PUSH_MODE));return I(r,n=>({message:`Token Type: ->${n.name}<- static 'PUSH_MODE' value cannot refer to a Lexer Mode ->${n.PUSH_MODE}<-which does not exist`,type:Y.PUSH_MODE_DOES_NOT_EXIST,tokenTypes:[n]}))}function tR(t){const e=[],r=ke(t,(n,i,s)=>{const a=i.PATTERN;return a===he.NA||(pe(a)?n.push({str:a,idx:s,tokenType:i}):ot(a)&&nR(a)&&n.push({str:a.source,idx:s,tokenType:i})),n},[]);return b(t,(n,i)=>{b(r,({str:s,idx:a,tokenType:o})=>{if(i<a&&rR(s,n.PATTERN)){const l=`Token: ->${o.name}<- can never be matched.
|
|
32
32
|
Because it appears AFTER the Token Type ->${n.name}<-in the lexer's definition.
|
|
33
|
-
See https://chevrotain.io/docs/guide/resolving_lexer_errors.html#UNREACHABLE`;e.push({message:l,type:Y.UNREACHABLE_PATTERN,tokenTypes:[n,o]})}})}),e}function
|
|
34
|
-
`,type:Y.MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE}),w(t,
|
|
35
|
-
`,type:Y.MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY}),w(t,
|
|
36
|
-
`,type:Y.MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST}),w(t,
|
|
33
|
+
See https://chevrotain.io/docs/guide/resolving_lexer_errors.html#UNREACHABLE`;e.push({message:l,type:Y.UNREACHABLE_PATTERN,tokenTypes:[n,o]})}})}),e}function rR(t,e){if(ot(e)){const r=e.exec(t);return r!==null&&r.index===0}else{if(ct(e))return e(t,0,[],{});if(w(e,"exec"))return e.exec(t,0,[],{});if(typeof e=="string")return e===t;throw Error("non exhaustive match")}}function nR(t){return nr([".","\\","[","]","|","^","$","(",")","?","*","+","{"],e=>t.source.indexOf(e)!==-1)===void 0}function pl(t){const e=t.ignoreCase?"i":"";return new RegExp(`^(?:${t.source})`,e)}function ml(t){const e=t.ignoreCase?"iy":"y";return new RegExp(`${t.source}`,e)}function iR(t,e,r){const n=[];return w(t,Vr)||n.push({message:"A MultiMode Lexer cannot be initialized without a <"+Vr+`> property in its definition
|
|
34
|
+
`,type:Y.MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE}),w(t,_n)||n.push({message:"A MultiMode Lexer cannot be initialized without a <"+_n+`> property in its definition
|
|
35
|
+
`,type:Y.MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY}),w(t,_n)&&w(t,Vr)&&!w(t.modes,t.defaultMode)&&n.push({message:`A MultiMode Lexer cannot be initialized with a ${Vr}: <${t.defaultMode}>which does not exist
|
|
36
|
+
`,type:Y.MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST}),w(t,_n)&&b(t.modes,(i,s)=>{b(i,(a,o)=>{if(lt(a))n.push({message:`A Lexer cannot be initialized using an undefined Token Type. Mode:<${s}> at index: <${o}>
|
|
37
37
|
`,type:Y.LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED});else if(w(a,"LONGER_ALT")){const l=P(a.LONGER_ALT)?a.LONGER_ALT:[a.LONGER_ALT];b(l,u=>{!lt(u)&&!de(i,u)&&n.push({message:`A MultiMode Lexer cannot be initialized with a longer_alt <${u.name}> on token <${a.name}> outside of mode <${s}>
|
|
38
|
-
`,type:Y.MULTI_MODE_LEXER_LONGER_ALT_NOT_IN_CURRENT_MODE})})}})}),n}function
|
|
38
|
+
`,type:Y.MULTI_MODE_LEXER_LONGER_ALT_NOT_IN_CURRENT_MODE})})}})}),n}function sR(t,e,r){const n=[];let i=!1;const s=hn(Fe(Q(t.modes))),a=Vi(s,l=>l[Dt]===he.NA),o=gf(r);return e&&b(a,l=>{const u=mf(l,o);if(u!==!1){const c={message:uR(l,u),type:u.issue,tokenType:l};n.push(c)}else w(l,"LINE_BREAKS")?l.LINE_BREAKS===!0&&(i=!0):uo(o,l.PATTERN)&&(i=!0)}),e&&!i&&n.push({message:`Warning: No LINE_BREAKS Found.
|
|
39
39
|
This Lexer has been defined to track line and column information,
|
|
40
40
|
But none of the Token Types can be identified as matching a line terminator.
|
|
41
41
|
See https://chevrotain.io/docs/guide/resolving_lexer_errors.html#LINE_BREAKS
|
|
42
|
-
for details.`,type:Y.NO_LINE_BREAKS_FLAGS}),n}function
|
|
42
|
+
for details.`,type:Y.NO_LINE_BREAKS_FLAGS}),n}function aR(t){const e={},r=Oe(t);return b(r,n=>{const i=t[n];if(P(i))e[n]=[];else throw Error("non exhaustive match")}),e}function pf(t){const e=t.PATTERN;if(ot(e))return!1;if(ct(e)||w(e,"exec"))return!0;if(pe(e))return!1;throw Error("non exhaustive match")}function oR(t){return pe(t)&&t.length===1?t.charCodeAt(0):!1}const lR={test:function(t){const e=t.length;for(let r=this.lastIndex;r<e;r++){const n=t.charCodeAt(r);if(n===10)return this.lastIndex=r+1,!0;if(n===13)return t.charCodeAt(r+1)===10?this.lastIndex=r+2:this.lastIndex=r+1,!0}return!1},lastIndex:0};function mf(t,e){if(w(t,"LINE_BREAKS"))return!1;if(ot(t.PATTERN)){try{uo(e,t.PATTERN)}catch(r){return{issue:Y.IDENTIFY_TERMINATOR,errMsg:r.message}}return!1}else{if(pe(t.PATTERN))return!1;if(pf(t))return{issue:Y.CUSTOM_LINE_BREAK};throw Error("non exhaustive match")}}function uR(t,e){if(e.issue===Y.IDENTIFY_TERMINATOR)return`Warning: unable to identify line terminator usage in pattern.
|
|
43
43
|
The problem is in the <${t.name}> Token Type
|
|
44
44
|
Root cause: ${e.errMsg}.
|
|
45
45
|
For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#IDENTIFY_TERMINATOR`;if(e.issue===Y.CUSTOM_LINE_BREAK)return`Warning: A Custom Token Pattern should specify the <line_breaks> option.
|
|
46
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
|
|
48
|
-
`,"\r"],ensureOptimizations:!1,safeMode:!1,errorMessageProvider:
|
|
49
|
-
a boolean 2nd argument is no longer supported`);this.config
|
|
50
|
-
For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#MISSING_LINE_TERM_CHARS`);if(r.safeMode&&r.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),P(e)?i={modes:{defaultMode:se(e)},defaultMode:
|
|
47
|
+
For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#CUSTOM_LINE_BREAK`;throw Error("non exhaustive match")}function gf(t){return I(t,e=>pe(e)?e.charCodeAt(0):e)}function ps(t,e,r){t[e]===void 0?t[e]=[r]:t[e].push(r)}const Hr=256;let zn=[];function gt(t){return t<Hr?t:zn[t]}function cR(){if(j(zn)){zn=new Array(65536);for(let t=0;t<65536;t++)zn[t]=t>255?255+~~(t/255):t}}function mn(t,e){const r=t.tokenTypeIdx;return r===e.tokenTypeIdx?!0:e.isParent===!0&&e.categoryMatchesMap[r]===!0}function di(t,e){return t.tokenTypeIdx===e.tokenTypeIdx}let gl=1;const yf={};function gn(t){const e=fR(t);dR(e),pR(e),hR(e),b(e,r=>{r.isParent=r.categoryMatches.length>0})}function fR(t){let e=se(t),r=t,n=!0;for(;n;){r=hn(Fe(I(r,s=>s.CATEGORIES)));const i=Ki(r,e);e=e.concat(i),j(i)?n=!1:r=i}return e}function dR(t){b(t,e=>{Tf(e)||(yf[gl]=e,e.tokenTypeIdx=gl++),yl(e)&&!P(e.CATEGORIES)&&(e.CATEGORIES=[e.CATEGORIES]),yl(e)||(e.CATEGORIES=[]),mR(e)||(e.categoryMatches=[]),gR(e)||(e.categoryMatchesMap={})})}function hR(t){b(t,e=>{e.categoryMatches=[],b(e.categoryMatchesMap,(r,n)=>{e.categoryMatches.push(yf[n].tokenTypeIdx)})})}function pR(t){b(t,e=>{vf([],e)})}function vf(t,e){b(t,r=>{e.categoryMatchesMap[r.tokenTypeIdx]=!0}),b(e.CATEGORIES,r=>{const n=t.concat(e);de(n,r)||vf(n,r)})}function Tf(t){return w(t,"tokenTypeIdx")}function yl(t){return w(t,"CATEGORIES")}function mR(t){return w(t,"categoryMatches")}function gR(t){return w(t,"categoryMatchesMap")}function yR(t){return w(t,"tokenTypeIdx")}const la={buildUnableToPopLexerModeMessage(t){return`Unable to pop Lexer Mode after encountering Token ->${t.image}<- The Mode Stack is empty`},buildUnexpectedCharactersMessage(t,e,r,n,i){return`unexpected character: ->${t.charAt(e)}<- at offset: ${e}, skipped ${r} characters.`}};var Y;(function(t){t[t.MISSING_PATTERN=0]="MISSING_PATTERN",t[t.INVALID_PATTERN=1]="INVALID_PATTERN",t[t.EOI_ANCHOR_FOUND=2]="EOI_ANCHOR_FOUND",t[t.UNSUPPORTED_FLAGS_FOUND=3]="UNSUPPORTED_FLAGS_FOUND",t[t.DUPLICATE_PATTERNS_FOUND=4]="DUPLICATE_PATTERNS_FOUND",t[t.INVALID_GROUP_TYPE_FOUND=5]="INVALID_GROUP_TYPE_FOUND",t[t.PUSH_MODE_DOES_NOT_EXIST=6]="PUSH_MODE_DOES_NOT_EXIST",t[t.MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE=7]="MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE",t[t.MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY=8]="MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY",t[t.MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST=9]="MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST",t[t.LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED=10]="LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED",t[t.SOI_ANCHOR_FOUND=11]="SOI_ANCHOR_FOUND",t[t.EMPTY_MATCH_PATTERN=12]="EMPTY_MATCH_PATTERN",t[t.NO_LINE_BREAKS_FLAGS=13]="NO_LINE_BREAKS_FLAGS",t[t.UNREACHABLE_PATTERN=14]="UNREACHABLE_PATTERN",t[t.IDENTIFY_TERMINATOR=15]="IDENTIFY_TERMINATOR",t[t.CUSTOM_LINE_BREAK=16]="CUSTOM_LINE_BREAK",t[t.MULTI_MODE_LEXER_LONGER_ALT_NOT_IN_CURRENT_MODE=17]="MULTI_MODE_LEXER_LONGER_ALT_NOT_IN_CURRENT_MODE"})(Y||(Y={}));const Wr={deferDefinitionErrorsHandling:!1,positionTracking:"full",lineTerminatorsPattern:/\n|\r\n?/g,lineTerminatorCharacters:[`
|
|
48
|
+
`,"\r"],ensureOptimizations:!1,safeMode:!1,errorMessageProvider:la,traceInitPerf:!1,skipValidations:!1,recoveryEnabled:!0};Object.freeze(Wr);class he{constructor(e,r=Wr){if(this.lexerDefinition=e,this.lexerDefinitionErrors=[],this.lexerDefinitionWarning=[],this.patternIdxToConfig={},this.charCodeToPatternIdxToConfig={},this.modes=[],this.emptyGroups={},this.trackStartLines=!0,this.trackEndLines=!0,this.hasCustom=!1,this.canModeBeOptimized={},this.TRACE_INIT=(i,s)=>{if(this.traceInitPerf===!0){this.traceInitIndent++;const a=new Array(this.traceInitIndent+1).join(" ");this.traceInitIndent<this.traceInitMaxIdent&&console.log(`${a}--> <${i}>`);const{time:o,value:l}=uf(s),u=o>10?console.warn:console.log;return this.traceInitIndent<this.traceInitMaxIdent&&u(`${a}<-- <${i}> time: ${o}ms`),this.traceInitIndent--,l}else return s()},typeof r=="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=$e({},Wr,r);const n=this.config.traceInitPerf;n===!0?(this.traceInitMaxIdent=1/0,this.traceInitPerf=!0):typeof n=="number"&&(this.traceInitMaxIdent=n,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===Wr.lineTerminatorsPattern)this.config.lineTerminatorsPattern=lR;else if(this.config.lineTerminatorCharacters===Wr.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(r.safeMode&&r.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),P(e)?i={modes:{defaultMode:se(e)},defaultMode:Vr}:(s=!1,i=se(e))}),this.config.skipValidations===!1&&(this.TRACE_INIT("performRuntimeChecks",()=>{this.lexerDefinitionErrors=this.lexerDefinitionErrors.concat(iR(i,this.trackStartLines,this.config.lineTerminatorCharacters))}),this.TRACE_INIT("performWarningRuntimeChecks",()=>{this.lexerDefinitionWarning=this.lexerDefinitionWarning.concat(sR(i,this.trackStartLines,this.config.lineTerminatorCharacters))})),i.modes=i.modes?i.modes:{},b(i.modes,(o,l)=>{i.modes[l]=Vi(o,u=>lt(u))});const a=Oe(i.modes);if(b(i.modes,(o,l)=>{this.TRACE_INIT(`Mode: <${l}> processing`,()=>{if(this.modes.push(l),this.config.skipValidations===!1&&this.TRACE_INIT("validatePatterns",()=>{this.lexerDefinitionErrors=this.lexerDefinitionErrors.concat(BT(o,a))}),j(this.lexerDefinitionErrors)){gn(o);let u;this.TRACE_INIT("analyzeTokenTypes",()=>{u=GT(o,{lineTerminatorCharacters:this.config.lineTerminatorCharacters,positionTracking:r.positionTracking,ensureOptimizations:r.ensureOptimizations,safeMode:r.safeMode,tracer:this.TRACE_INIT})}),this.patternIdxToConfig[l]=u.patternIdxToConfig,this.charCodeToPatternIdxToConfig[l]=u.charCodeToPatternIdxToConfig,this.emptyGroups=$e({},this.emptyGroups,u.emptyGroups),this.hasCustom=u.hasCustom||this.hasCustom,this.canModeBeOptimized[l]=u.canBeOptimized}})}),this.defaultMode=i.defaultMode,!j(this.lexerDefinitionErrors)&&!this.config.deferDefinitionErrorsHandling){const o=I(this.lexerDefinitionErrors,l=>l.message).join(`-----------------------
|
|
51
51
|
`);throw new Error(`Errors detected in definition of Lexer:
|
|
52
|
-
`+o)}b(this.lexerDefinitionWarning,o=>{
|
|
52
|
+
`+o)}b(this.lexerDefinitionWarning,o=>{lf(o.message)}),this.TRACE_INIT("Choosing sub-methods implementations",()=>{if(hf?(this.chopInput=er,this.match=this.matchWithTest):(this.updateLastIndex=X,this.match=this.matchWithExec),s&&(this.handleModes=X),this.trackStartLines===!1&&(this.computeNewColumn=er),this.trackEndLines===!1&&(this.updateTokenEndLineColumnLocation=X),/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=ke(this.canModeBeOptimized,(l,u,c)=>(u===!1&&l.push(c),l),[]);if(r.ensureOptimizations&&!j(o))throw Error(`Lexer Modes: < ${o.join(", ")} > cannot be optimized.
|
|
53
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",()=>{
|
|
54
|
+
Or inspect the console log for details on how to resolve these issues.`)}),this.TRACE_INIT("clearRegExpParserCache",()=>{DT()}),this.TRACE_INIT("toFastProperties",()=>{cf(this)})})}tokenize(e,r=this.defaultMode){if(!j(this.lexerDefinitionErrors)){const n=I(this.lexerDefinitionErrors,i=>i.message).join(`-----------------------
|
|
55
55
|
`);throw new Error(`Unable to Tokenize because Errors detected in definition of Lexer:
|
|
56
|
-
`+n)}return this.tokenizeInternal(e,r)}tokenizeInternal(e,r){let n,i,s,a,o,l,u,c,f,d,h,m,g,
|
|
57
|
-
See: https://github.com/chevrotain/chevrotain/issues/564#issuecomment-349062346 for details.`;return w(t,
|
|
58
|
-
but found: '`+Be(e).image+"'";if(n)return s+n+a;{const o=ke(t,(c,f)=>c.concat(f),[]),l=I(o,c=>`[${I(c,f=>
|
|
56
|
+
`+n)}return this.tokenizeInternal(e,r)}tokenizeInternal(e,r){let n,i,s,a,o,l,u,c,f,d,h,m,g,A,v;const E=e,T=E.length;let x=0,U=0;const ae=this.hasCustom?0:Math.floor(e.length/10),Me=new Array(ae),ve=[];let He=this.trackStartLines?1:void 0,Ie=this.trackStartLines?1:void 0;const $=aR(this.emptyGroups),y=this.trackStartLines,S=this.config.lineTerminatorsPattern;let k=0,L=[],_=[];const N=[],Te=[];Object.freeze(Te);let Z;function W(){return L}function It(oe){const we=gt(oe),zt=_[we];return zt===void 0?Te:zt}const Ud=oe=>{if(N.length===1&&oe.tokenType.PUSH_MODE===void 0){const we=this.config.errorMessageProvider.buildUnableToPopLexerModeMessage(oe);ve.push({offset:oe.startOffset,line:oe.startLine,column:oe.startColumn,length:oe.image.length,message:we})}else{N.pop();const we=rr(N);L=this.patternIdxToConfig[we],_=this.charCodeToPatternIdxToConfig[we],k=L.length;const zt=this.canModeBeOptimized[we]&&this.config.safeMode===!1;_&&zt?Z=It:Z=W}};function ko(oe){N.push(oe),_=this.charCodeToPatternIdxToConfig[oe],L=this.patternIdxToConfig[oe],k=L.length,k=L.length;const we=this.canModeBeOptimized[oe]&&this.config.safeMode===!1;_&&we?Z=It:Z=W}ko.call(this,r);let De;const xo=this.config.recoveryEnabled;for(;x<T;){l=null;const oe=E.charCodeAt(x),we=Z(oe),zt=we.length;for(n=0;n<zt;n++){De=we[n];const Re=De.pattern;u=null;const Je=De.short;if(Je!==!1?oe===Je&&(l=Re):De.isCustom===!0?(v=Re.exec(E,x,Me,$),v!==null?(l=v[0],v.payload!==void 0&&(u=v.payload)):l=null):(this.updateLastIndex(Re,x),l=this.match(Re,e,x)),l!==null){if(o=De.longerAlt,o!==void 0){const ht=o.length;for(s=0;s<ht;s++){const et=L[o[s]],wt=et.pattern;if(c=null,et.isCustom===!0?(v=wt.exec(E,x,Me,$),v!==null?(a=v[0],v.payload!==void 0&&(c=v.payload)):a=null):(this.updateLastIndex(wt,x),a=this.match(wt,e,x)),a&&a.length>l.length){l=a,u=c,De=et;break}}}break}}if(l!==null){if(f=l.length,d=De.group,d!==void 0&&(h=De.tokenTypeIdx,m=this.createTokenInstance(l,x,h,De.tokenType,He,Ie,f),this.handlePayload(m,u),d===!1?U=this.addToken(Me,U,m):$[d].push(m)),e=this.chopInput(e,f),x=x+f,Ie=this.computeNewColumn(Ie,f),y===!0&&De.canLineTerminator===!0){let Re=0,Je,ht;S.lastIndex=0;do Je=S.test(l),Je===!0&&(ht=S.lastIndex-1,Re++);while(Je===!0);Re!==0&&(He=He+Re,Ie=f-ht,this.updateTokenEndLineColumnLocation(m,d,ht,Re,He,Ie,f))}this.handleModes(De,Ud,ko,m)}else{const Re=x,Je=He,ht=Ie;let et=xo===!1;for(;et===!1&&x<T;)for(e=this.chopInput(e,1),x++,i=0;i<k;i++){const wt=L[i],ts=wt.pattern,So=wt.short;if(So!==!1?E.charCodeAt(x)===So&&(et=!0):wt.isCustom===!0?et=ts.exec(E,x,Me,$)!==null:(this.updateLastIndex(ts,x),et=ts.exec(e)!==null),et===!0)break}if(g=x-Re,Ie=this.computeNewColumn(Ie,g),A=this.config.errorMessageProvider.buildUnexpectedCharactersMessage(E,Re,g,Je,ht),ve.push({offset:Re,line:Je,column:ht,length:g,message:A}),xo===!1)break}}return this.hasCustom||(Me.length=U),{tokens:Me,groups:$,errors:ve}}handleModes(e,r,n,i){if(e.pop===!0){const s=e.push;r(i),s!==void 0&&n.call(this,s)}else e.push!==void 0&&n.call(this,e.push)}chopInput(e,r){return e.substring(r)}updateLastIndex(e,r){e.lastIndex=r}updateTokenEndLineColumnLocation(e,r,n,i,s,a,o){let l,u;r!==void 0&&(l=n===o-1,u=l?-1:0,i===1&&l===!0||(e.endLine=s+u,e.endColumn=a-1+-u))}computeNewColumn(e,r){return e+r}createOffsetOnlyToken(e,r,n,i){return{image:e,startOffset:r,tokenTypeIdx:n,tokenType:i}}createStartOnlyToken(e,r,n,i,s,a){return{image:e,startOffset:r,startLine:s,startColumn:a,tokenTypeIdx:n,tokenType:i}}createFullToken(e,r,n,i,s,a,o){return{image:e,startOffset:r,endOffset:r+o-1,startLine:s,endLine:s,startColumn:a,endColumn:a+o-1,tokenTypeIdx:n,tokenType:i}}addTokenUsingPush(e,r,n){return e.push(n),r}addTokenUsingMemberAccess(e,r,n){return e[r]=n,r++,r}handlePayloadNoCustom(e,r){}handlePayloadWithCustom(e,r){r!==null&&(e.payload=r)}matchWithTest(e,r,n){return e.test(r)===!0?r.substring(n,e.lastIndex):null}matchWithExec(e,r){const n=e.exec(r);return n!==null?n[0]:null}}he.SKIPPED="This marks a skipped Token pattern, this means each token identified by it willbe consumed and then thrown into oblivion, this can be used to for example to completely ignore whitespace.";he.NA=/NOT_APPLICABLE/;function Jt(t){return Rf(t)?t.LABEL:t.name}function Rf(t){return pe(t.LABEL)&&t.LABEL!==""}const vR="parent",vl="categories",Tl="label",Rl="group",El="push_mode",Al="pop_mode",$l="longer_alt",kl="line_breaks",xl="start_chars_hint";function Ef(t){return TR(t)}function TR(t){const e=t.pattern,r={};if(r.name=t.name,lt(e)||(r.PATTERN=e),w(t,vR))throw`The parent property is no longer supported.
|
|
57
|
+
See: https://github.com/chevrotain/chevrotain/issues/564#issuecomment-349062346 for details.`;return w(t,vl)&&(r.CATEGORIES=t[vl]),gn([r]),w(t,Tl)&&(r.LABEL=t[Tl]),w(t,Rl)&&(r.GROUP=t[Rl]),w(t,Al)&&(r.POP_MODE=t[Al]),w(t,El)&&(r.PUSH_MODE=t[El]),w(t,$l)&&(r.LONGER_ALT=t[$l]),w(t,kl)&&(r.LINE_BREAKS=t[kl]),w(t,xl)&&(r.START_CHARS_HINT=t[xl]),r}const yt=Ef({name:"EOF",pattern:he.NA});gn([yt]);function co(t,e,r,n,i,s,a,o){return{image:e,startOffset:r,endOffset:n,startLine:i,endLine:s,startColumn:a,endColumn:o,tokenTypeIdx:t.tokenTypeIdx,tokenType:t}}function Af(t,e){return mn(t,e)}const Xt={buildMismatchTokenMessage({expected:t,actual:e,previous:r,ruleName:n}){return`Expecting ${Rf(t)?`--> ${Jt(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:r,customUserDescription:n,ruleName:i}){const s="Expecting: ",a=`
|
|
58
|
+
but found: '`+Be(e).image+"'";if(n)return s+n+a;{const o=ke(t,(c,f)=>c.concat(f),[]),l=I(o,c=>`[${I(c,f=>Jt(f)).join(", ")}]`),u=`one of these possible Token sequences:
|
|
59
59
|
${I(l,(c,f)=>` ${f+1}. ${c}`).join(`
|
|
60
60
|
`)}`;return s+u+a}},buildEarlyExitMessage({expectedIterationPaths:t,actual:e,customUserDescription:r,ruleName:n}){const i="Expecting: ",s=`
|
|
61
61
|
but found: '`+Be(e).image+"'";if(r)return i+r+s;{const a=`expecting at least one iteration which starts with one of these possible Token sequences::
|
|
62
|
-
<${I(t,o=>`[${I(o,l=>
|
|
63
|
-
inside top level rule: ->`+t.name+"<-"}},
|
|
62
|
+
<${I(t,o=>`[${I(o,l=>Jt(l)).join(",")}]`).join(" ,")}>`;return i+a+s}}};Object.freeze(Xt);const RR={buildRuleNotFoundError(t,e){return"Invalid grammar, reference to a rule which is not defined: ->"+e.nonTerminalName+`<-
|
|
63
|
+
inside top level rule: ->`+t.name+"<-"}},_t={buildDuplicateFoundError(t,e){function r(c){return c instanceof B?c.terminalType.name:c instanceof ce?c.nonTerminalName:""}const n=t.name,i=Be(e),s=i.idx,a=We(i),o=r(i),l=s>0;let u=`->${a}${l?s:""}<- ${o?`with argument: ->${o}<-`:""}
|
|
64
64
|
appears more than once (${e.length} times) in the top level rule: ->${n}<-.
|
|
65
65
|
For further details see: https://chevrotain.io/docs/FAQ.html#NUMERICAL_SUFFIXES
|
|
66
66
|
`;return u=u.replace(/[ \t]+/g," "),u=u.replace(/\s\s+/g,`
|
|
@@ -68,14 +68,14 @@ inside top level rule: ->`+t.name+"<-"}},Lt={buildDuplicateFoundError(t,e){funct
|
|
|
68
68
|
The grammar has both a Terminal(Token) and a Non-Terminal(Rule) named: <${t.name}>.
|
|
69
69
|
To resolve this make sure each Terminal and Non-Terminal names are unique
|
|
70
70
|
This is easy to accomplish by using the convention that Terminal names start with an uppercase letter
|
|
71
|
-
and Non-Terminal names start with a lower case letter.`},buildAlternationPrefixAmbiguityError(t){const e=I(t.prefixPath,n=>
|
|
71
|
+
and Non-Terminal names start with a lower case letter.`},buildAlternationPrefixAmbiguityError(t){const e=I(t.prefixPath,n=>Jt(n)).join(", "),r=t.alternation.idx===0?"":t.alternation.idx;return`Ambiguous alternatives: <${t.ambiguityIndices.join(" ,")}> due to common lookahead prefix
|
|
72
72
|
in <OR${r}> inside <${t.topLevelRule.name}> Rule,
|
|
73
73
|
<${e}> may appears as a prefix path in all these alternatives.
|
|
74
74
|
See: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#COMMON_PREFIX
|
|
75
|
-
For Further details.`},buildAlternationAmbiguityError(t){const e=I(t.prefixPath,i=>
|
|
75
|
+
For Further details.`},buildAlternationAmbiguityError(t){const e=I(t.prefixPath,i=>Jt(i)).join(", "),r=t.alternation.idx===0?"":t.alternation.idx;let n=`Ambiguous Alternatives Detected: <${t.ambiguityIndices.join(" ,")}> in <OR${r}> inside <${t.topLevelRule.name}> Rule,
|
|
76
76
|
<${e}> may appears as a prefix path in all these alternatives.
|
|
77
77
|
`;return n=n+`See: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#AMBIGUOUS_ALTERNATIVES
|
|
78
|
-
For Further details.`,n},buildEmptyRepetitionError(t){let e=
|
|
78
|
+
For Further details.`,n},buildEmptyRepetitionError(t){let e=We(t.repetition);return t.repetition.idx!==0&&(e+=t.repetition.idx),`The repetition <${e}> within Rule <${t.topLevelRule.name}> can never consume any tokens.
|
|
79
79
|
This could lead to an infinite loop.`},buildTokenNameError(t){return"deprecated"},buildEmptyAlternationError(t){return`Ambiguous empty alternative: <${t.emptyChoiceIdx+1}> in <OR${t.alternation.idx}> inside <${t.topLevelRule.name}> Rule.
|
|
80
80
|
Only the last alternative may be an empty alternative.`},buildTooManyAlternativesError(t){return`An Alternation cannot have more than 256 alternatives:
|
|
81
81
|
<OR${t.alternation.idx}> inside <${t.topLevelRule.name}> Rule.
|
|
@@ -84,45 +84,45 @@ rule: <${e}> can be invoked from itself (directly or indirectly)
|
|
|
84
84
|
without consuming any Tokens. The grammar path that causes this is:
|
|
85
85
|
${n}
|
|
86
86
|
To fix this refactor your grammar to remove the left recursion.
|
|
87
|
-
see: https://en.wikipedia.org/wiki/LL_parser#Left_factoring.`},buildInvalidRuleNameError(t){return"deprecated"},buildDuplicateRuleNameError(t){let e;return t.topLevelRule instanceof cr?e=t.topLevelRule.name:e=t.topLevelRule,`Duplicate definition, rule: ->${e}<- is already defined in the grammar: ->${t.grammarName}<-`}};function kR(t,e){const r=new xR(t,e);return r.resolveRefs(),r.errors}class xR extends fr{constructor(e,r){super(),this.nameToTopRule=e,this.errMsgProvider=r,this.errors=[]}resolveRefs(){b(Q(this.nameToTopRule),e=>{this.currTopLevel=e,e.accept(this)})}visitNonTerminal(e){const r=this.nameToTopRule[e.nonTerminalName];if(r)e.referencedRule=r;else{const n=this.errMsgProvider.buildRuleNotFoundError(this.currTopLevel,e);this.errors.push({message:n,type:fe.UNRESOLVED_SUBRULE_REF,ruleName:this.currTopLevel.name,unresolvedRefName:e.nonTerminalName})}}}class SR extends zi{constructor(e,r){super(),this.topProd=e,this.path=r,this.possibleTokTypes=[],this.nextProductionName="",this.nextProductionOccurrence=0,this.found=!1,this.isAtEndOfPath=!1}startWalking(){if(this.found=!1,this.path.ruleStack[0]!==this.topProd.name)throw Error("The path does not start with the walker's top Rule!");return this.ruleStack=se(this.path.ruleStack).reverse(),this.occurrenceStack=se(this.path.occurrenceStack).reverse(),this.ruleStack.pop(),this.occurrenceStack.pop(),this.updateExpectedNext(),this.walk(this.topProd),this.possibleTokTypes}walk(e,r=[]){this.found||super.walk(e,r)}walkProdRef(e,r,n){if(e.referencedRule.name===this.nextProductionName&&e.idx===this.nextProductionOccurrence){const i=r.concat(n);this.updateExpectedNext(),this.walk(e.referencedRule,i)}}updateExpectedNext(){j(this.ruleStack)?(this.nextProductionName="",this.nextProductionOccurrence=0,this.isAtEndOfPath=!0):(this.nextProductionName=this.ruleStack.pop(),this.nextProductionOccurrence=this.occurrenceStack.pop())}}class IR extends SR{constructor(e,r){super(e,r),this.path=r,this.nextTerminalName="",this.nextTerminalOccurrence=0,this.nextTerminalName=this.path.lastTok.name,this.nextTerminalOccurrence=this.path.lastTokOccurrence}walkTerminal(e,r,n){if(this.isAtEndOfPath&&e.terminalType.name===this.nextTerminalName&&e.idx===this.nextTerminalOccurrence&&!this.found){const i=r.concat(n),s=new me({definition:i});this.possibleTokTypes=mn(s),this.found=!0}}}class Yi extends zi{constructor(e,r){super(),this.topRule=e,this.occurrence=r,this.result={token:void 0,occurrence:void 0,isEndOfRule:void 0}}startWalking(){return this.walk(this.topRule),this.result}}class wR extends Yi{walkMany(e,r,n){if(e.idx===this.occurrence){const i=Be(r.concat(n));this.result.isEndOfRule=i===void 0,i instanceof B&&(this.result.token=i.terminalType,this.result.occurrence=i.idx)}else super.walkMany(e,r,n)}}class Il extends Yi{walkManySep(e,r,n){if(e.idx===this.occurrence){const i=Be(r.concat(n));this.result.isEndOfRule=i===void 0,i instanceof B&&(this.result.token=i.terminalType,this.result.occurrence=i.idx)}else super.walkManySep(e,r,n)}}class bR extends Yi{walkAtLeastOne(e,r,n){if(e.idx===this.occurrence){const i=Be(r.concat(n));this.result.isEndOfRule=i===void 0,i instanceof B&&(this.result.token=i.terminalType,this.result.occurrence=i.idx)}else super.walkAtLeastOne(e,r,n)}}class wl extends Yi{walkAtLeastOneSep(e,r,n){if(e.idx===this.occurrence){const i=Be(r.concat(n));this.result.isEndOfRule=i===void 0,i instanceof B&&(this.result.token=i.terminalType,this.result.occurrence=i.idx)}else super.walkAtLeastOneSep(e,r,n)}}function ca(t,e,r=[]){r=se(r);let n=[],i=0;function s(o){return o.concat(te(t,i+1))}function a(o){const l=ca(s(o),e,r);return n.concat(l)}for(;r.length<e&&i<t.length;){const o=t[i];if(o instanceof me||o instanceof ce)return a(o.definition);if(o instanceof ie)n=a(o.definition);else if(o instanceof xe){const l=o.definition.concat([new W({definition:o.definition})]);return a(l)}else if(o instanceof Se){const l=[new me({definition:o.definition}),new W({definition:[new B({terminalType:o.separator})].concat(o.definition)})];return a(l)}else if(o instanceof ge){const l=o.definition.concat([new W({definition:[new B({terminalType:o.separator})].concat(o.definition)})]);n=a(l)}else if(o instanceof W){const l=o.definition.concat([new W({definition:o.definition})]);n=a(l)}else{if(o instanceof ye)return b(o.definition,l=>{j(l.definition)===!1&&(n=a(l.definition))}),n;if(o instanceof B)r.push(o.terminalType);else throw Error("non exhaustive match")}i++}return n.push({partialPath:r,suffixDef:te(t,i)}),n}function kf(t,e,r,n){const i="EXIT_NONE_TERMINAL",s=[i],a="EXIT_ALTERNATIVE";let o=!1;const l=e.length,u=l-n-1,c=[],f=[];for(f.push({idx:-1,def:t,ruleStack:[],occurrenceStack:[]});!j(f);){const d=f.pop();if(d===a){o&&nr(f).idx<=u&&f.pop();continue}const h=d.def,m=d.idx,g=d.ruleStack,E=d.occurrenceStack;if(j(h))continue;const v=h[0];if(v===i){const $={idx:m,def:te(h),ruleStack:an(g),occurrenceStack:an(E)};f.push($)}else if(v instanceof B)if(m<l-1){const $=m+1,T=e[$];if(r(T,v.terminalType)){const x={idx:$,def:te(h),ruleStack:g,occurrenceStack:E};f.push(x)}}else if(m===l-1)c.push({nextTokenType:v.terminalType,nextTokenOccurrence:v.idx,ruleStack:g,occurrenceStack:E}),o=!0;else throw Error("non exhaustive match");else if(v instanceof ce){const $=se(g);$.push(v.nonTerminalName);const T=se(E);T.push(v.idx);const x={idx:m,def:v.definition.concat(s,te(h)),ruleStack:$,occurrenceStack:T};f.push(x)}else if(v instanceof ie){const $={idx:m,def:te(h),ruleStack:g,occurrenceStack:E};f.push($),f.push(a);const T={idx:m,def:v.definition.concat(te(h)),ruleStack:g,occurrenceStack:E};f.push(T)}else if(v instanceof xe){const $=new W({definition:v.definition,idx:v.idx}),T=v.definition.concat([$],te(h)),x={idx:m,def:T,ruleStack:g,occurrenceStack:E};f.push(x)}else if(v instanceof Se){const $=new B({terminalType:v.separator}),T=new W({definition:[$].concat(v.definition),idx:v.idx}),x=v.definition.concat([T],te(h)),U={idx:m,def:x,ruleStack:g,occurrenceStack:E};f.push(U)}else if(v instanceof ge){const $={idx:m,def:te(h),ruleStack:g,occurrenceStack:E};f.push($),f.push(a);const T=new B({terminalType:v.separator}),x=new W({definition:[T].concat(v.definition),idx:v.idx}),U=v.definition.concat([x],te(h)),ae={idx:m,def:U,ruleStack:g,occurrenceStack:E};f.push(ae)}else if(v instanceof W){const $={idx:m,def:te(h),ruleStack:g,occurrenceStack:E};f.push($),f.push(a);const T=new W({definition:v.definition,idx:v.idx}),x=v.definition.concat([T],te(h)),U={idx:m,def:x,ruleStack:g,occurrenceStack:E};f.push(U)}else if(v instanceof ye)for(let $=v.definition.length-1;$>=0;$--){const T=v.definition[$],x={idx:m,def:T.definition.concat(te(h)),ruleStack:g,occurrenceStack:E};f.push(x),f.push(a)}else if(v instanceof me)f.push({idx:m,def:v.definition.concat(te(h)),ruleStack:g,occurrenceStack:E});else if(v instanceof cr)f.push(CR(v,m,g,E));else throw Error("non exhaustive match")}return c}function CR(t,e,r,n){const i=se(r);i.push(t.name);const s=se(n);return s.push(1),{idx:e,def:t.definition,ruleStack:i,occurrenceStack:s}}var V;(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"})(V||(V={}));function ho(t){if(t instanceof ie||t==="Option")return V.OPTION;if(t instanceof W||t==="Repetition")return V.REPETITION;if(t instanceof xe||t==="RepetitionMandatory")return V.REPETITION_MANDATORY;if(t instanceof Se||t==="RepetitionMandatoryWithSeparator")return V.REPETITION_MANDATORY_WITH_SEPARATOR;if(t instanceof ge||t==="RepetitionWithSeparator")return V.REPETITION_WITH_SEPARATOR;if(t instanceof ye||t==="Alternation")return V.ALTERNATION;throw Error("non exhaustive match")}function bl(t){const{occurrence:e,rule:r,prodType:n,maxLookahead:i}=t,s=ho(n);return s===V.ALTERNATION?qi(e,r,i):Xi(e,r,s,i)}function NR(t,e,r,n,i,s){const a=qi(t,e,r),o=If(a)?hi:gn;return s(a,n,o,i)}function _R(t,e,r,n,i,s){const a=Xi(t,e,i,r),o=If(a)?hi:gn;return s(a[0],o,n)}function LR(t,e,r,n){const i=t.length,s=je(t,a=>je(a,o=>o.length===1));if(e)return function(a){const o=I(a,l=>l.GATE);for(let l=0;l<i;l++){const u=t[l],c=u.length,f=o[l];if(!(f!==void 0&&f.call(this)===!1))e:for(let d=0;d<c;d++){const h=u[d],m=h.length;for(let g=0;g<m;g++){const E=this.LA(g+1);if(r(E,h[g])===!1)continue e}return l}}};if(s&&!n){const a=I(t,l=>Fe(l)),o=ke(a,(l,u,c)=>(b(u,f=>{w(l,f.tokenTypeIdx)||(l[f.tokenTypeIdx]=c),b(f.categoryMatches,d=>{w(l,d)||(l[d]=c)})}),l),{});return function(){const l=this.LA(1);return o[l.tokenTypeIdx]}}else return function(){for(let a=0;a<i;a++){const o=t[a],l=o.length;e:for(let u=0;u<l;u++){const c=o[u],f=c.length;for(let d=0;d<f;d++){const h=this.LA(d+1);if(r(h,c[d])===!1)continue e}return a}}}}function OR(t,e,r){const n=je(t,s=>s.length===1),i=t.length;if(n&&!r){const s=Fe(t);if(s.length===1&&j(s[0].categoryMatches)){const a=s[0].tokenTypeIdx;return function(){return this.LA(1).tokenTypeIdx===a}}else{const a=ke(s,(o,l,u)=>(o[l.tokenTypeIdx]=!0,b(l.categoryMatches,c=>{o[c]=!0}),o),[]);return function(){const o=this.LA(1);return a[o.tokenTypeIdx]===!0}}}else return function(){e:for(let s=0;s<i;s++){const a=t[s],o=a.length;for(let l=0;l<o;l++){const u=this.LA(l+1);if(e(u,a[l])===!1)continue e}return!0}return!1}}class PR extends zi{constructor(e,r,n){super(),this.topProd=e,this.targetOccurrence=r,this.targetProdType=n}startWalking(){return this.walk(this.topProd),this.restDef}checkIsTarget(e,r,n,i){return e.idx===this.targetOccurrence&&this.targetProdType===r?(this.restDef=n.concat(i),!0):!1}walkOption(e,r,n){this.checkIsTarget(e,V.OPTION,r,n)||super.walkOption(e,r,n)}walkAtLeastOne(e,r,n){this.checkIsTarget(e,V.REPETITION_MANDATORY,r,n)||super.walkOption(e,r,n)}walkAtLeastOneSep(e,r,n){this.checkIsTarget(e,V.REPETITION_MANDATORY_WITH_SEPARATOR,r,n)||super.walkOption(e,r,n)}walkMany(e,r,n){this.checkIsTarget(e,V.REPETITION,r,n)||super.walkOption(e,r,n)}walkManySep(e,r,n){this.checkIsTarget(e,V.REPETITION_WITH_SEPARATOR,r,n)||super.walkOption(e,r,n)}}class xf extends fr{constructor(e,r,n){super(),this.targetOccurrence=e,this.targetProdType=r,this.targetRef=n,this.result=[]}checkIsTarget(e,r){e.idx===this.targetOccurrence&&this.targetProdType===r&&(this.targetRef===void 0||e===this.targetRef)&&(this.result=e.definition)}visitOption(e){this.checkIsTarget(e,V.OPTION)}visitRepetition(e){this.checkIsTarget(e,V.REPETITION)}visitRepetitionMandatory(e){this.checkIsTarget(e,V.REPETITION_MANDATORY)}visitRepetitionMandatoryWithSeparator(e){this.checkIsTarget(e,V.REPETITION_MANDATORY_WITH_SEPARATOR)}visitRepetitionWithSeparator(e){this.checkIsTarget(e,V.REPETITION_WITH_SEPARATOR)}visitAlternation(e){this.checkIsTarget(e,V.ALTERNATION)}}function Cl(t){const e=new Array(t);for(let r=0;r<t;r++)e[r]=[];return e}function gs(t){let e=[""];for(let r=0;r<t.length;r++){const n=t[r],i=[];for(let s=0;s<e.length;s++){const a=e[s];i.push(a+"_"+n.tokenTypeIdx);for(let o=0;o<n.categoryMatches.length;o++){const l="_"+n.categoryMatches[o];i.push(a+l)}}e=i}return e}function MR(t,e,r){for(let n=0;n<t.length;n++){if(n===r)continue;const i=t[n];for(let s=0;s<e.length;s++){const a=e[s];if(i[a]===!0)return!1}}return!0}function Sf(t,e){const r=I(t,a=>ca([a],1)),n=Cl(r.length),i=I(r,a=>{const o={};return b(a,l=>{const u=gs(l.partialPath);b(u,c=>{o[c]=!0})}),o});let s=r;for(let a=1;a<=e;a++){const o=s;s=Cl(o.length);for(let l=0;l<o.length;l++){const u=o[l];for(let c=0;c<u.length;c++){const f=u[c].partialPath,d=u[c].suffixDef,h=gs(f);if(MR(i,h,l)||j(d)||f.length===e){const m=n[l];if(fa(m,f)===!1){m.push(f);for(let g=0;g<h.length;g++){const E=h[g];i[l][E]=!0}}}else{const m=ca(d,a+1,f);s[l]=s[l].concat(m),b(m,g=>{const E=gs(g.partialPath);b(E,v=>{i[l][v]=!0})})}}}}return n}function qi(t,e,r,n){const i=new xf(t,V.ALTERNATION,n);return e.accept(i),Sf(i.result,r)}function Xi(t,e,r,n){const i=new xf(t,r);e.accept(i);const s=i.result,a=new PR(e,t,r).startWalking(),o=new me({definition:s}),l=new me({definition:a});return Sf([o,l],n)}function fa(t,e){e:for(let r=0;r<t.length;r++){const n=t[r];if(n.length===e.length){for(let i=0;i<n.length;i++){const s=e[i],a=n[i];if(!(s===a||a.categoryMatchesMap[s.tokenTypeIdx]!==void 0))continue e}return!0}}return!1}function DR(t,e){return t.length<e.length&&je(t,(r,n)=>{const i=e[n];return r===i||i.categoryMatchesMap[r.tokenTypeIdx]})}function If(t){return je(t,e=>je(e,r=>je(r,n=>j(n.categoryMatches))))}function UR(t){const e=t.lookaheadStrategy.validate({rules:t.rules,tokenTypes:t.tokenTypes,grammarName:t.grammarName});return I(e,r=>Object.assign({type:fe.CUSTOM_LOOKAHEAD_VALIDATION},r))}function FR(t,e,r,n){const i=Ce(t,l=>jR(l,r)),s=ZR(t,e,r),a=Ce(t,l=>YR(l,r)),o=Ce(t,l=>KR(l,t,n,r));return i.concat(s,a,o)}function jR(t,e){const r=new BR;t.accept(r);const n=r.allProductions,i=sT(n,GR),s=Ke(i,a=>a.length>1);return I(Q(s),a=>{const o=Be(a),l=e.buildDuplicateFoundError(t,a),u=ze(o),c={message:l,type:fe.DUPLICATE_PRODUCTIONS,ruleName:t.name,dslName:u,occurrence:o.idx},f=wf(o);return f&&(c.parameter=f),c})}function GR(t){return`${ze(t)}_#_${t.idx}_#_${wf(t)}`}function wf(t){return t instanceof B?t.terminalType.name:t instanceof ce?t.nonTerminalName:""}class BR extends fr{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 KR(t,e,r,n){const i=[];if(ke(e,(s,a)=>a.name===t.name?s+1:s,0)>1){const s=n.buildDuplicateRuleNameError({topLevelRule:t,grammarName:r});i.push({message:s,type:fe.DUPLICATE_RULE_NAME,ruleName:t.name})}return i}function VR(t,e,r){const n=[];let i;return de(e,t)||(i=`Invalid rule override, rule: ->${t}<- cannot be overridden in the grammar: ->${r}<-as it is not defined in any of the super grammars `,n.push({message:i,type:fe.INVALID_RULE_OVERRIDE,ruleName:t})),n}function bf(t,e,r,n=[]){const i=[],s=qn(e.definition);if(j(s))return[];{const a=t.name;de(s,t)&&i.push({message:r.buildLeftRecursionError({topLevelRule:t,leftRecursionPath:n}),type:fe.LEFT_RECURSION,ruleName:a});const o=Vi(s,n.concat([t])),l=Ce(o,u=>{const c=se(n);return c.push(u),bf(t,u,r,c)});return i.concat(l)}}function qn(t){let e=[];if(j(t))return e;const r=Be(t);if(r instanceof ce)e.push(r.referencedRule);else if(r instanceof me||r instanceof ie||r instanceof xe||r instanceof Se||r instanceof ge||r instanceof W)e=e.concat(qn(r.definition));else if(r instanceof ye)e=Fe(I(r.definition,s=>qn(s.definition)));else if(!(r instanceof B))throw Error("non exhaustive match");const n=fi(r),i=t.length>1;if(n&&i){const s=te(t);return e.concat(qn(s))}else return e}class po extends fr{constructor(){super(...arguments),this.alternations=[]}visitAlternation(e){this.alternations.push(e)}}function HR(t,e){const r=new po;t.accept(r);const n=r.alternations;return Ce(n,i=>{const s=an(i.definition);return Ce(s,(a,o)=>{const l=kf([a],[],gn,1);return j(l)?[{message:e.buildEmptyAlternationError({topLevelRule:t,alternation:i,emptyChoiceIdx:o}),type:fe.NONE_LAST_EMPTY_ALT,ruleName:t.name,occurrence:i.idx,alternative:o+1}]:[]})})}function zR(t,e,r){const n=new po;t.accept(n);let i=n.alternations;return i=Hi(i,s=>s.ignoreAmbiguities===!0),Ce(i,s=>{const a=s.idx,o=s.maxLookahead||e,l=qi(a,t,o,s),u=XR(l,s,t,r),c=QR(l,s,t,r);return u.concat(c)})}class WR extends fr{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 YR(t,e){const r=new po;t.accept(r);const n=r.alternations;return Ce(n,i=>i.definition.length>255?[{message:e.buildTooManyAlternativesError({topLevelRule:t,alternation:i}),type:fe.TOO_MANY_ALTS,ruleName:t.name,occurrence:i.idx}]:[])}function qR(t,e,r){const n=[];return b(t,i=>{const s=new WR;i.accept(s);const a=s.allProductions;b(a,o=>{const l=ho(o),u=o.maxLookahead||e,c=o.idx,f=Xi(c,i,l,u)[0];if(j(Fe(f))){const d=r.buildEmptyRepetitionError({topLevelRule:i,repetition:o});n.push({message:d,type:fe.NO_NON_EMPTY_LOOKAHEAD,ruleName:i.name})}})}),n}function XR(t,e,r,n){const i=[],s=ke(t,(a,o,l)=>(e.definition[l].ignoreAmbiguities===!0||b(o,u=>{const c=[l];b(t,(f,d)=>{l!==d&&fa(f,u)&&e.definition[d].ignoreAmbiguities!==!0&&c.push(d)}),c.length>1&&!fa(i,u)&&(i.push(u),a.push({alts:c,path:u}))}),a),[]);return I(s,a=>{const o=I(a.alts,l=>l+1);return{message:n.buildAlternationAmbiguityError({topLevelRule:r,alternation:e,ambiguityIndices:o,prefixPath:a.path}),type:fe.AMBIGUOUS_ALTS,ruleName:r.name,occurrence:e.idx,alternatives:a.alts}})}function QR(t,e,r,n){const i=ke(t,(s,a,o)=>{const l=I(a,u=>({idx:o,path:u}));return s.concat(l)},[]);return pn(Ce(i,s=>{if(e.definition[s.idx].ignoreAmbiguities===!0)return[];const a=s.idx,o=s.path,l=Pe(i,u=>e.definition[u.idx].ignoreAmbiguities!==!0&&u.idx<a&&DR(u.path,o));return I(l,u=>{const c=[u.idx+1,a+1],f=e.idx===0?"":e.idx;return{message:n.buildAlternationPrefixAmbiguityError({topLevelRule:r,alternation:e,ambiguityIndices:c,prefixPath:u.path}),type:fe.AMBIGUOUS_PREFIX_ALTS,ruleName:r.name,occurrence:f,alternatives:c}})}))}function ZR(t,e,r){const n=[],i=I(e,s=>s.name);return b(t,s=>{const a=s.name;if(de(i,a)){const o=r.buildNamespaceConflictError(s);n.push({message:o,type:fe.CONFLICT_TOKENS_RULES_NAMESPACE,ruleName:a})}}),n}function JR(t){const e=lo(t,{errMsgProvider:AR}),r={};return b(t.rules,n=>{r[n.name]=n}),kR(r,e.errMsgProvider)}function e$(t){return t=lo(t,{errMsgProvider:Lt}),FR(t.rules,t.tokenTypes,t.errMsgProvider,t.grammarName)}const Cf="MismatchedTokenException",Nf="NoViableAltException",_f="EarlyExitException",Lf="NotAllInputParsedException",Of=[Cf,Nf,_f,Lf];Object.freeze(Of);function pi(t){return de(Of,t.name)}class Qi extends Error{constructor(e,r){super(e),this.token=r,this.resyncedTokens=[],Object.setPrototypeOf(this,new.target.prototype),Error.captureStackTrace&&Error.captureStackTrace(this,this.constructor)}}class Pf extends Qi{constructor(e,r,n){super(e,r),this.previousToken=n,this.name=Cf}}class t$ extends Qi{constructor(e,r,n){super(e,r),this.previousToken=n,this.name=Nf}}class r$ extends Qi{constructor(e,r){super(e,r),this.name=Lf}}class n$ extends Qi{constructor(e,r,n){super(e,r),this.previousToken=n,this.name=_f}}const ys={},Mf="InRuleRecoveryException";class i$ extends Error{constructor(e){super(e),this.name=Mf}}class s${initRecoverable(e){this.firstAfterRepMap={},this.resyncFollows={},this.recoveryEnabled=w(e,"recoveryEnabled")?e.recoveryEnabled:ut.recoveryEnabled,this.recoveryEnabled&&(this.attemptInRepetitionRecovery=a$)}getTokenToInsert(e){const r=fo(e,"",NaN,NaN,NaN,NaN,NaN,NaN);return r.isInsertedInRecovery=!0,r}canTokenTypeBeInsertedInRecovery(e){return!0}canTokenTypeBeDeletedInRecovery(e){return!0}tryInRepetitionRecovery(e,r,n,i){const s=this.findReSyncTokenType(),a=this.exportLexerState(),o=[];let l=!1;const u=this.LA(1);let c=this.LA(1);const f=()=>{const d=this.LA(0),h=this.errorMessageProvider.buildMismatchTokenMessage({expected:i,actual:u,previous:d,ruleName:this.getCurrRuleFullName()}),m=new Pf(h,u,this.LA(0));m.resyncedTokens=an(o),this.SAVE_ERROR(m)};for(;!l;)if(this.tokenMatcher(c,i)){f();return}else if(n.call(this)){f(),e.apply(this,r);return}else this.tokenMatcher(c,s)?l=!0:(c=this.SKIP_TOKEN(),this.addToResyncTokens(c,o));this.importLexerState(a)}shouldInRepetitionRecoveryBeTried(e,r,n){return!(n===!1||this.tokenMatcher(this.LA(1),e)||this.isBackTracking()||this.canPerformInRuleRecovery(e,this.getFollowsForInRuleRecovery(e,r)))}getFollowsForInRuleRecovery(e,r){const n=this.getCurrentGrammarPath(e,r);return this.getNextPossibleTokenTypes(n)}tryInRuleRecovery(e,r){if(this.canRecoverWithSingleTokenInsertion(e,r))return this.getTokenToInsert(e);if(this.canRecoverWithSingleTokenDeletion(e)){const n=this.SKIP_TOKEN();return this.consumeToken(),n}throw new i$("sad sad panda")}canPerformInRuleRecovery(e,r){return this.canRecoverWithSingleTokenInsertion(e,r)||this.canRecoverWithSingleTokenDeletion(e)}canRecoverWithSingleTokenInsertion(e,r){if(!this.canTokenTypeBeInsertedInRecovery(e)||j(r))return!1;const n=this.LA(1);return ir(r,i=>this.tokenMatcher(n,i))!==void 0}canRecoverWithSingleTokenDeletion(e){return this.canTokenTypeBeDeletedInRecovery(e)?this.tokenMatcher(this.LA(2),e):!1}isInCurrentRuleReSyncSet(e){const r=this.getCurrFollowKey(),n=this.getFollowSetFromFollowKey(r);return de(n,e)}findReSyncTokenType(){const e=this.flattenFollowSet();let r=this.LA(1),n=2;for(;;){const i=ir(e,s=>Af(r,s));if(i!==void 0)return i;r=this.LA(n),n++}}getCurrFollowKey(){if(this.RULE_STACK.length===1)return ys;const e=this.getLastExplicitRuleShortName(),r=this.getLastExplicitRuleOccurrenceIndex(),n=this.getPreviousExplicitRuleShortName();return{ruleName:this.shortRuleNameToFullName(e),idxInCallingRule:r,inRule:this.shortRuleNameToFullName(n)}}buildFullFollowKeyStack(){const e=this.RULE_STACK,r=this.RULE_OCCURRENCE_STACK;return I(e,(n,i)=>i===0?ys:{ruleName:this.shortRuleNameToFullName(n),idxInCallingRule:r[i],inRule:this.shortRuleNameToFullName(e[i-1])})}flattenFollowSet(){const e=I(this.buildFullFollowKeyStack(),r=>this.getFollowSetFromFollowKey(r));return Fe(e)}getFollowSetFromFollowKey(e){if(e===ys)return[yt];const r=e.ruleName+e.idxInCallingRule+df+e.inRule;return this.resyncFollows[r]}addToResyncTokens(e,r){return this.tokenMatcher(e,yt)||r.push(e),r}reSyncTo(e){const r=[];let n=this.LA(1);for(;this.tokenMatcher(n,e)===!1;)n=this.SKIP_TOKEN(),this.addToResyncTokens(n,r);return an(r)}attemptInRepetitionRecovery(e,r,n,i,s,a,o){}getCurrentGrammarPath(e,r){const n=this.getHumanReadableRuleStack(),i=se(this.RULE_OCCURRENCE_STACK);return{ruleStack:n,occurrenceStack:i,lastTok:e,lastTokOccurrence:r}}getHumanReadableRuleStack(){return I(this.RULE_STACK,e=>this.shortRuleNameToFullName(e))}}function a$(t,e,r,n,i,s,a){const o=this.getKeyForAutomaticLookahead(n,i);let l=this.firstAfterRepMap[o];if(l===void 0){const d=this.getCurrRuleFullName(),h=this.getGAstProductions()[d];l=new s(h,i).startWalking(),this.firstAfterRepMap[o]=l}let u=l.token,c=l.occurrence;const f=l.isEndOfRule;this.RULE_STACK.length===1&&f&&u===void 0&&(u=yt,c=1),!(u===void 0||c===void 0)&&this.shouldInRepetitionRecoveryBeTried(u,c,a)&&this.tryInRepetitionRecovery(t,e,r,u)}const o$=4,$t=8,Df=1<<$t,Uf=2<<$t,da=3<<$t,ha=4<<$t,pa=5<<$t,Xn=6<<$t;function vs(t,e,r){return r|e|t}class mo{constructor(e){var r;this.maxLookahead=(r=e?.maxLookahead)!==null&&r!==void 0?r:ut.maxLookahead}validate(e){const r=this.validateNoLeftRecursion(e.rules);if(j(r)){const n=this.validateEmptyOrAlternatives(e.rules),i=this.validateAmbiguousAlternationAlternatives(e.rules,this.maxLookahead),s=this.validateSomeNonEmptyLookaheadPath(e.rules,this.maxLookahead);return[...r,...n,...i,...s]}return r}validateNoLeftRecursion(e){return Ce(e,r=>bf(r,r,Lt))}validateEmptyOrAlternatives(e){return Ce(e,r=>HR(r,Lt))}validateAmbiguousAlternationAlternatives(e,r){return Ce(e,n=>zR(n,r,Lt))}validateSomeNonEmptyLookaheadPath(e,r){return qR(e,r,Lt)}buildLookaheadForAlternation(e){return NR(e.prodOccurrence,e.rule,e.maxLookahead,e.hasPredicates,e.dynamicTokensEnabled,LR)}buildLookaheadForOptional(e){return _R(e.prodOccurrence,e.rule,e.maxLookahead,e.dynamicTokensEnabled,ho(e.prodType),OR)}}class l${initLooksAhead(e){this.dynamicTokensEnabled=w(e,"dynamicTokensEnabled")?e.dynamicTokensEnabled:ut.dynamicTokensEnabled,this.maxLookahead=w(e,"maxLookahead")?e.maxLookahead:ut.maxLookahead,this.lookaheadStrategy=w(e,"lookaheadStrategy")?e.lookaheadStrategy:new mo({maxLookahead:this.maxLookahead}),this.lookAheadFuncsCache=new Map}preComputeLookaheadFunctions(e){b(e,r=>{this.TRACE_INIT(`${r.name} Rule Lookahead`,()=>{const{alternation:n,repetition:i,option:s,repetitionMandatory:a,repetitionMandatoryWithSeparator:o,repetitionWithSeparator:l}=c$(r);b(n,u=>{const c=u.idx===0?"":u.idx;this.TRACE_INIT(`${ze(u)}${c}`,()=>{const f=this.lookaheadStrategy.buildLookaheadForAlternation({prodOccurrence:u.idx,rule:r,maxLookahead:u.maxLookahead||this.maxLookahead,hasPredicates:u.hasPredicates,dynamicTokensEnabled:this.dynamicTokensEnabled}),d=vs(this.fullRuleNameToShort[r.name],Df,u.idx);this.setLaFuncCache(d,f)})}),b(i,u=>{this.computeLookaheadFunc(r,u.idx,da,"Repetition",u.maxLookahead,ze(u))}),b(s,u=>{this.computeLookaheadFunc(r,u.idx,Uf,"Option",u.maxLookahead,ze(u))}),b(a,u=>{this.computeLookaheadFunc(r,u.idx,ha,"RepetitionMandatory",u.maxLookahead,ze(u))}),b(o,u=>{this.computeLookaheadFunc(r,u.idx,Xn,"RepetitionMandatoryWithSeparator",u.maxLookahead,ze(u))}),b(l,u=>{this.computeLookaheadFunc(r,u.idx,pa,"RepetitionWithSeparator",u.maxLookahead,ze(u))})})})}computeLookaheadFunc(e,r,n,i,s,a){this.TRACE_INIT(`${a}${r===0?"":r}`,()=>{const o=this.lookaheadStrategy.buildLookaheadForOptional({prodOccurrence:r,rule:e,maxLookahead:s||this.maxLookahead,dynamicTokensEnabled:this.dynamicTokensEnabled,prodType:i}),l=vs(this.fullRuleNameToShort[e.name],n,r);this.setLaFuncCache(l,o)})}getKeyForAutomaticLookahead(e,r){const n=this.getLastExplicitRuleShortName();return vs(n,e,r)}getLaFuncFromCache(e){return this.lookAheadFuncsCache.get(e)}setLaFuncCache(e,r){this.lookAheadFuncsCache.set(e,r)}}class u$ extends fr{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 On=new u$;function c$(t){On.reset(),t.accept(On);const e=On.dslMethods;return On.reset(),e}function Nl(t,e){isNaN(t.startOffset)===!0?(t.startOffset=e.startOffset,t.endOffset=e.endOffset):t.endOffset<e.endOffset&&(t.endOffset=e.endOffset)}function _l(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 f$(t,e,r){t.children[r]===void 0?t.children[r]=[e]:t.children[r].push(e)}function d$(t,e,r){t.children[e]===void 0?t.children[e]=[r]:t.children[e].push(r)}const h$="name";function Ff(t,e){Object.defineProperty(t,h$,{enumerable:!1,configurable:!0,writable:!1,value:e})}function p$(t,e){const r=Oe(t),n=r.length;for(let i=0;i<n;i++){const s=r[i],a=t[s],o=a.length;for(let l=0;l<o;l++){const u=a[l];u.tokenTypeIdx===void 0&&this[u.name](u.children,e)}}}function m$(t,e){const r=function(){};Ff(r,t+"BaseSemantics");const n={visit:function(i,s){if(P(i)&&(i=i[0]),!lt(i))return this[i.name](i.children,s)},validateVisitor:function(){const i=y$(this,e);if(!j(i)){const s=I(i,a=>a.msg);throw Error(`Errors Detected in CST Visitor <${this.constructor.name}>:
|
|
87
|
+
see: https://en.wikipedia.org/wiki/LL_parser#Left_factoring.`},buildInvalidRuleNameError(t){return"deprecated"},buildDuplicateRuleNameError(t){let e;return t.topLevelRule instanceof ur?e=t.topLevelRule.name:e=t.topLevelRule,`Duplicate definition, rule: ->${e}<- is already defined in the grammar: ->${t.grammarName}<-`}};function ER(t,e){const r=new AR(t,e);return r.resolveRefs(),r.errors}class AR extends cr{constructor(e,r){super(),this.nameToTopRule=e,this.errMsgProvider=r,this.errors=[]}resolveRefs(){b(Q(this.nameToTopRule),e=>{this.currTopLevel=e,e.accept(this)})}visitNonTerminal(e){const r=this.nameToTopRule[e.nonTerminalName];if(r)e.referencedRule=r;else{const n=this.errMsgProvider.buildRuleNotFoundError(this.currTopLevel,e);this.errors.push({message:n,type:fe.UNRESOLVED_SUBRULE_REF,ruleName:this.currTopLevel.name,unresolvedRefName:e.nonTerminalName})}}}class $R extends Hi{constructor(e,r){super(),this.topProd=e,this.path=r,this.possibleTokTypes=[],this.nextProductionName="",this.nextProductionOccurrence=0,this.found=!1,this.isAtEndOfPath=!1}startWalking(){if(this.found=!1,this.path.ruleStack[0]!==this.topProd.name)throw Error("The path does not start with the walker's top Rule!");return this.ruleStack=se(this.path.ruleStack).reverse(),this.occurrenceStack=se(this.path.occurrenceStack).reverse(),this.ruleStack.pop(),this.occurrenceStack.pop(),this.updateExpectedNext(),this.walk(this.topProd),this.possibleTokTypes}walk(e,r=[]){this.found||super.walk(e,r)}walkProdRef(e,r,n){if(e.referencedRule.name===this.nextProductionName&&e.idx===this.nextProductionOccurrence){const i=r.concat(n);this.updateExpectedNext(),this.walk(e.referencedRule,i)}}updateExpectedNext(){j(this.ruleStack)?(this.nextProductionName="",this.nextProductionOccurrence=0,this.isAtEndOfPath=!0):(this.nextProductionName=this.ruleStack.pop(),this.nextProductionOccurrence=this.occurrenceStack.pop())}}class kR extends $R{constructor(e,r){super(e,r),this.path=r,this.nextTerminalName="",this.nextTerminalOccurrence=0,this.nextTerminalName=this.path.lastTok.name,this.nextTerminalOccurrence=this.path.lastTokOccurrence}walkTerminal(e,r,n){if(this.isAtEndOfPath&&e.terminalType.name===this.nextTerminalName&&e.idx===this.nextTerminalOccurrence&&!this.found){const i=r.concat(n),s=new me({definition:i});this.possibleTokTypes=pn(s),this.found=!0}}}class zi extends Hi{constructor(e,r){super(),this.topRule=e,this.occurrence=r,this.result={token:void 0,occurrence:void 0,isEndOfRule:void 0}}startWalking(){return this.walk(this.topRule),this.result}}class xR extends zi{walkMany(e,r,n){if(e.idx===this.occurrence){const i=Be(r.concat(n));this.result.isEndOfRule=i===void 0,i instanceof B&&(this.result.token=i.terminalType,this.result.occurrence=i.idx)}else super.walkMany(e,r,n)}}class Sl extends zi{walkManySep(e,r,n){if(e.idx===this.occurrence){const i=Be(r.concat(n));this.result.isEndOfRule=i===void 0,i instanceof B&&(this.result.token=i.terminalType,this.result.occurrence=i.idx)}else super.walkManySep(e,r,n)}}class SR extends zi{walkAtLeastOne(e,r,n){if(e.idx===this.occurrence){const i=Be(r.concat(n));this.result.isEndOfRule=i===void 0,i instanceof B&&(this.result.token=i.terminalType,this.result.occurrence=i.idx)}else super.walkAtLeastOne(e,r,n)}}class Il extends zi{walkAtLeastOneSep(e,r,n){if(e.idx===this.occurrence){const i=Be(r.concat(n));this.result.isEndOfRule=i===void 0,i instanceof B&&(this.result.token=i.terminalType,this.result.occurrence=i.idx)}else super.walkAtLeastOneSep(e,r,n)}}function ua(t,e,r=[]){r=se(r);let n=[],i=0;function s(o){return o.concat(te(t,i+1))}function a(o){const l=ua(s(o),e,r);return n.concat(l)}for(;r.length<e&&i<t.length;){const o=t[i];if(o instanceof me||o instanceof ce)return a(o.definition);if(o instanceof ie)n=a(o.definition);else if(o instanceof xe){const l=o.definition.concat([new z({definition:o.definition})]);return a(l)}else if(o instanceof Se){const l=[new me({definition:o.definition}),new z({definition:[new B({terminalType:o.separator})].concat(o.definition)})];return a(l)}else if(o instanceof ge){const l=o.definition.concat([new z({definition:[new B({terminalType:o.separator})].concat(o.definition)})]);n=a(l)}else if(o instanceof z){const l=o.definition.concat([new z({definition:o.definition})]);n=a(l)}else{if(o instanceof ye)return b(o.definition,l=>{j(l.definition)===!1&&(n=a(l.definition))}),n;if(o instanceof B)r.push(o.terminalType);else throw Error("non exhaustive match")}i++}return n.push({partialPath:r,suffixDef:te(t,i)}),n}function $f(t,e,r,n){const i="EXIT_NONE_TERMINAL",s=[i],a="EXIT_ALTERNATIVE";let o=!1;const l=e.length,u=l-n-1,c=[],f=[];for(f.push({idx:-1,def:t,ruleStack:[],occurrenceStack:[]});!j(f);){const d=f.pop();if(d===a){o&&rr(f).idx<=u&&f.pop();continue}const h=d.def,m=d.idx,g=d.ruleStack,A=d.occurrenceStack;if(j(h))continue;const v=h[0];if(v===i){const E={idx:m,def:te(h),ruleStack:sn(g),occurrenceStack:sn(A)};f.push(E)}else if(v instanceof B)if(m<l-1){const E=m+1,T=e[E];if(r(T,v.terminalType)){const x={idx:E,def:te(h),ruleStack:g,occurrenceStack:A};f.push(x)}}else if(m===l-1)c.push({nextTokenType:v.terminalType,nextTokenOccurrence:v.idx,ruleStack:g,occurrenceStack:A}),o=!0;else throw Error("non exhaustive match");else if(v instanceof ce){const E=se(g);E.push(v.nonTerminalName);const T=se(A);T.push(v.idx);const x={idx:m,def:v.definition.concat(s,te(h)),ruleStack:E,occurrenceStack:T};f.push(x)}else if(v instanceof ie){const E={idx:m,def:te(h),ruleStack:g,occurrenceStack:A};f.push(E),f.push(a);const T={idx:m,def:v.definition.concat(te(h)),ruleStack:g,occurrenceStack:A};f.push(T)}else if(v instanceof xe){const E=new z({definition:v.definition,idx:v.idx}),T=v.definition.concat([E],te(h)),x={idx:m,def:T,ruleStack:g,occurrenceStack:A};f.push(x)}else if(v instanceof Se){const E=new B({terminalType:v.separator}),T=new z({definition:[E].concat(v.definition),idx:v.idx}),x=v.definition.concat([T],te(h)),U={idx:m,def:x,ruleStack:g,occurrenceStack:A};f.push(U)}else if(v instanceof ge){const E={idx:m,def:te(h),ruleStack:g,occurrenceStack:A};f.push(E),f.push(a);const T=new B({terminalType:v.separator}),x=new z({definition:[T].concat(v.definition),idx:v.idx}),U=v.definition.concat([x],te(h)),ae={idx:m,def:U,ruleStack:g,occurrenceStack:A};f.push(ae)}else if(v instanceof z){const E={idx:m,def:te(h),ruleStack:g,occurrenceStack:A};f.push(E),f.push(a);const T=new z({definition:v.definition,idx:v.idx}),x=v.definition.concat([T],te(h)),U={idx:m,def:x,ruleStack:g,occurrenceStack:A};f.push(U)}else if(v instanceof ye)for(let E=v.definition.length-1;E>=0;E--){const T=v.definition[E],x={idx:m,def:T.definition.concat(te(h)),ruleStack:g,occurrenceStack:A};f.push(x),f.push(a)}else if(v instanceof me)f.push({idx:m,def:v.definition.concat(te(h)),ruleStack:g,occurrenceStack:A});else if(v instanceof ur)f.push(IR(v,m,g,A));else throw Error("non exhaustive match")}return c}function IR(t,e,r,n){const i=se(r);i.push(t.name);const s=se(n);return s.push(1),{idx:e,def:t.definition,ruleStack:i,occurrenceStack:s}}var V;(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"})(V||(V={}));function fo(t){if(t instanceof ie||t==="Option")return V.OPTION;if(t instanceof z||t==="Repetition")return V.REPETITION;if(t instanceof xe||t==="RepetitionMandatory")return V.REPETITION_MANDATORY;if(t instanceof Se||t==="RepetitionMandatoryWithSeparator")return V.REPETITION_MANDATORY_WITH_SEPARATOR;if(t instanceof ge||t==="RepetitionWithSeparator")return V.REPETITION_WITH_SEPARATOR;if(t instanceof ye||t==="Alternation")return V.ALTERNATION;throw Error("non exhaustive match")}function wl(t){const{occurrence:e,rule:r,prodType:n,maxLookahead:i}=t,s=fo(n);return s===V.ALTERNATION?Yi(e,r,i):qi(e,r,s,i)}function wR(t,e,r,n,i,s){const a=Yi(t,e,r),o=Sf(a)?di:mn;return s(a,n,o,i)}function bR(t,e,r,n,i,s){const a=qi(t,e,i,r),o=Sf(a)?di:mn;return s(a[0],o,n)}function CR(t,e,r,n){const i=t.length,s=je(t,a=>je(a,o=>o.length===1));if(e)return function(a){const o=I(a,l=>l.GATE);for(let l=0;l<i;l++){const u=t[l],c=u.length,f=o[l];if(!(f!==void 0&&f.call(this)===!1))e:for(let d=0;d<c;d++){const h=u[d],m=h.length;for(let g=0;g<m;g++){const A=this.LA(g+1);if(r(A,h[g])===!1)continue e}return l}}};if(s&&!n){const a=I(t,l=>Fe(l)),o=ke(a,(l,u,c)=>(b(u,f=>{w(l,f.tokenTypeIdx)||(l[f.tokenTypeIdx]=c),b(f.categoryMatches,d=>{w(l,d)||(l[d]=c)})}),l),{});return function(){const l=this.LA(1);return o[l.tokenTypeIdx]}}else return function(){for(let a=0;a<i;a++){const o=t[a],l=o.length;e:for(let u=0;u<l;u++){const c=o[u],f=c.length;for(let d=0;d<f;d++){const h=this.LA(d+1);if(r(h,c[d])===!1)continue e}return a}}}}function NR(t,e,r){const n=je(t,s=>s.length===1),i=t.length;if(n&&!r){const s=Fe(t);if(s.length===1&&j(s[0].categoryMatches)){const a=s[0].tokenTypeIdx;return function(){return this.LA(1).tokenTypeIdx===a}}else{const a=ke(s,(o,l,u)=>(o[l.tokenTypeIdx]=!0,b(l.categoryMatches,c=>{o[c]=!0}),o),[]);return function(){const o=this.LA(1);return a[o.tokenTypeIdx]===!0}}}else return function(){e:for(let s=0;s<i;s++){const a=t[s],o=a.length;for(let l=0;l<o;l++){const u=this.LA(l+1);if(e(u,a[l])===!1)continue e}return!0}return!1}}class _R extends Hi{constructor(e,r,n){super(),this.topProd=e,this.targetOccurrence=r,this.targetProdType=n}startWalking(){return this.walk(this.topProd),this.restDef}checkIsTarget(e,r,n,i){return e.idx===this.targetOccurrence&&this.targetProdType===r?(this.restDef=n.concat(i),!0):!1}walkOption(e,r,n){this.checkIsTarget(e,V.OPTION,r,n)||super.walkOption(e,r,n)}walkAtLeastOne(e,r,n){this.checkIsTarget(e,V.REPETITION_MANDATORY,r,n)||super.walkOption(e,r,n)}walkAtLeastOneSep(e,r,n){this.checkIsTarget(e,V.REPETITION_MANDATORY_WITH_SEPARATOR,r,n)||super.walkOption(e,r,n)}walkMany(e,r,n){this.checkIsTarget(e,V.REPETITION,r,n)||super.walkOption(e,r,n)}walkManySep(e,r,n){this.checkIsTarget(e,V.REPETITION_WITH_SEPARATOR,r,n)||super.walkOption(e,r,n)}}class kf extends cr{constructor(e,r,n){super(),this.targetOccurrence=e,this.targetProdType=r,this.targetRef=n,this.result=[]}checkIsTarget(e,r){e.idx===this.targetOccurrence&&this.targetProdType===r&&(this.targetRef===void 0||e===this.targetRef)&&(this.result=e.definition)}visitOption(e){this.checkIsTarget(e,V.OPTION)}visitRepetition(e){this.checkIsTarget(e,V.REPETITION)}visitRepetitionMandatory(e){this.checkIsTarget(e,V.REPETITION_MANDATORY)}visitRepetitionMandatoryWithSeparator(e){this.checkIsTarget(e,V.REPETITION_MANDATORY_WITH_SEPARATOR)}visitRepetitionWithSeparator(e){this.checkIsTarget(e,V.REPETITION_WITH_SEPARATOR)}visitAlternation(e){this.checkIsTarget(e,V.ALTERNATION)}}function bl(t){const e=new Array(t);for(let r=0;r<t;r++)e[r]=[];return e}function ms(t){let e=[""];for(let r=0;r<t.length;r++){const n=t[r],i=[];for(let s=0;s<e.length;s++){const a=e[s];i.push(a+"_"+n.tokenTypeIdx);for(let o=0;o<n.categoryMatches.length;o++){const l="_"+n.categoryMatches[o];i.push(a+l)}}e=i}return e}function LR(t,e,r){for(let n=0;n<t.length;n++){if(n===r)continue;const i=t[n];for(let s=0;s<e.length;s++){const a=e[s];if(i[a]===!0)return!1}}return!0}function xf(t,e){const r=I(t,a=>ua([a],1)),n=bl(r.length),i=I(r,a=>{const o={};return b(a,l=>{const u=ms(l.partialPath);b(u,c=>{o[c]=!0})}),o});let s=r;for(let a=1;a<=e;a++){const o=s;s=bl(o.length);for(let l=0;l<o.length;l++){const u=o[l];for(let c=0;c<u.length;c++){const f=u[c].partialPath,d=u[c].suffixDef,h=ms(f);if(LR(i,h,l)||j(d)||f.length===e){const m=n[l];if(ca(m,f)===!1){m.push(f);for(let g=0;g<h.length;g++){const A=h[g];i[l][A]=!0}}}else{const m=ua(d,a+1,f);s[l]=s[l].concat(m),b(m,g=>{const A=ms(g.partialPath);b(A,v=>{i[l][v]=!0})})}}}}return n}function Yi(t,e,r,n){const i=new kf(t,V.ALTERNATION,n);return e.accept(i),xf(i.result,r)}function qi(t,e,r,n){const i=new kf(t,r);e.accept(i);const s=i.result,a=new _R(e,t,r).startWalking(),o=new me({definition:s}),l=new me({definition:a});return xf([o,l],n)}function ca(t,e){e:for(let r=0;r<t.length;r++){const n=t[r];if(n.length===e.length){for(let i=0;i<n.length;i++){const s=e[i],a=n[i];if(!(s===a||a.categoryMatchesMap[s.tokenTypeIdx]!==void 0))continue e}return!0}}return!1}function OR(t,e){return t.length<e.length&&je(t,(r,n)=>{const i=e[n];return r===i||i.categoryMatchesMap[r.tokenTypeIdx]})}function Sf(t){return je(t,e=>je(e,r=>je(r,n=>j(n.categoryMatches))))}function PR(t){const e=t.lookaheadStrategy.validate({rules:t.rules,tokenTypes:t.tokenTypes,grammarName:t.grammarName});return I(e,r=>Object.assign({type:fe.CUSTOM_LOOKAHEAD_VALIDATION},r))}function MR(t,e,r,n){const i=Ce(t,l=>DR(l,r)),s=qR(t,e,r),a=Ce(t,l=>HR(l,r)),o=Ce(t,l=>jR(l,t,n,r));return i.concat(s,a,o)}function DR(t,e){const r=new FR;t.accept(r);const n=r.allProductions,i=rT(n,UR),s=Ke(i,a=>a.length>1);return I(Q(s),a=>{const o=Be(a),l=e.buildDuplicateFoundError(t,a),u=We(o),c={message:l,type:fe.DUPLICATE_PRODUCTIONS,ruleName:t.name,dslName:u,occurrence:o.idx},f=If(o);return f&&(c.parameter=f),c})}function UR(t){return`${We(t)}_#_${t.idx}_#_${If(t)}`}function If(t){return t instanceof B?t.terminalType.name:t instanceof ce?t.nonTerminalName:""}class FR extends cr{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 jR(t,e,r,n){const i=[];if(ke(e,(s,a)=>a.name===t.name?s+1:s,0)>1){const s=n.buildDuplicateRuleNameError({topLevelRule:t,grammarName:r});i.push({message:s,type:fe.DUPLICATE_RULE_NAME,ruleName:t.name})}return i}function GR(t,e,r){const n=[];let i;return de(e,t)||(i=`Invalid rule override, rule: ->${t}<- cannot be overridden in the grammar: ->${r}<-as it is not defined in any of the super grammars `,n.push({message:i,type:fe.INVALID_RULE_OVERRIDE,ruleName:t})),n}function wf(t,e,r,n=[]){const i=[],s=Yn(e.definition);if(j(s))return[];{const a=t.name;de(s,t)&&i.push({message:r.buildLeftRecursionError({topLevelRule:t,leftRecursionPath:n}),type:fe.LEFT_RECURSION,ruleName:a});const o=Ki(s,n.concat([t])),l=Ce(o,u=>{const c=se(n);return c.push(u),wf(t,u,r,c)});return i.concat(l)}}function Yn(t){let e=[];if(j(t))return e;const r=Be(t);if(r instanceof ce)e.push(r.referencedRule);else if(r instanceof me||r instanceof ie||r instanceof xe||r instanceof Se||r instanceof ge||r instanceof z)e=e.concat(Yn(r.definition));else if(r instanceof ye)e=Fe(I(r.definition,s=>Yn(s.definition)));else if(!(r instanceof B))throw Error("non exhaustive match");const n=ci(r),i=t.length>1;if(n&&i){const s=te(t);return e.concat(Yn(s))}else return e}class ho extends cr{constructor(){super(...arguments),this.alternations=[]}visitAlternation(e){this.alternations.push(e)}}function BR(t,e){const r=new ho;t.accept(r);const n=r.alternations;return Ce(n,i=>{const s=sn(i.definition);return Ce(s,(a,o)=>{const l=$f([a],[],mn,1);return j(l)?[{message:e.buildEmptyAlternationError({topLevelRule:t,alternation:i,emptyChoiceIdx:o}),type:fe.NONE_LAST_EMPTY_ALT,ruleName:t.name,occurrence:i.idx,alternative:o+1}]:[]})})}function KR(t,e,r){const n=new ho;t.accept(n);let i=n.alternations;return i=Vi(i,s=>s.ignoreAmbiguities===!0),Ce(i,s=>{const a=s.idx,o=s.maxLookahead||e,l=Yi(a,t,o,s),u=zR(l,s,t,r),c=YR(l,s,t,r);return u.concat(c)})}class VR extends cr{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 HR(t,e){const r=new ho;t.accept(r);const n=r.alternations;return Ce(n,i=>i.definition.length>255?[{message:e.buildTooManyAlternativesError({topLevelRule:t,alternation:i}),type:fe.TOO_MANY_ALTS,ruleName:t.name,occurrence:i.idx}]:[])}function WR(t,e,r){const n=[];return b(t,i=>{const s=new VR;i.accept(s);const a=s.allProductions;b(a,o=>{const l=fo(o),u=o.maxLookahead||e,c=o.idx,f=qi(c,i,l,u)[0];if(j(Fe(f))){const d=r.buildEmptyRepetitionError({topLevelRule:i,repetition:o});n.push({message:d,type:fe.NO_NON_EMPTY_LOOKAHEAD,ruleName:i.name})}})}),n}function zR(t,e,r,n){const i=[],s=ke(t,(a,o,l)=>(e.definition[l].ignoreAmbiguities===!0||b(o,u=>{const c=[l];b(t,(f,d)=>{l!==d&&ca(f,u)&&e.definition[d].ignoreAmbiguities!==!0&&c.push(d)}),c.length>1&&!ca(i,u)&&(i.push(u),a.push({alts:c,path:u}))}),a),[]);return I(s,a=>{const o=I(a.alts,l=>l+1);return{message:n.buildAlternationAmbiguityError({topLevelRule:r,alternation:e,ambiguityIndices:o,prefixPath:a.path}),type:fe.AMBIGUOUS_ALTS,ruleName:r.name,occurrence:e.idx,alternatives:a.alts}})}function YR(t,e,r,n){const i=ke(t,(s,a,o)=>{const l=I(a,u=>({idx:o,path:u}));return s.concat(l)},[]);return hn(Ce(i,s=>{if(e.definition[s.idx].ignoreAmbiguities===!0)return[];const a=s.idx,o=s.path,l=Pe(i,u=>e.definition[u.idx].ignoreAmbiguities!==!0&&u.idx<a&&OR(u.path,o));return I(l,u=>{const c=[u.idx+1,a+1],f=e.idx===0?"":e.idx;return{message:n.buildAlternationPrefixAmbiguityError({topLevelRule:r,alternation:e,ambiguityIndices:c,prefixPath:u.path}),type:fe.AMBIGUOUS_PREFIX_ALTS,ruleName:r.name,occurrence:f,alternatives:c}})}))}function qR(t,e,r){const n=[],i=I(e,s=>s.name);return b(t,s=>{const a=s.name;if(de(i,a)){const o=r.buildNamespaceConflictError(s);n.push({message:o,type:fe.CONFLICT_TOKENS_RULES_NAMESPACE,ruleName:a})}}),n}function XR(t){const e=oo(t,{errMsgProvider:RR}),r={};return b(t.rules,n=>{r[n.name]=n}),ER(r,e.errMsgProvider)}function QR(t){return t=oo(t,{errMsgProvider:_t}),MR(t.rules,t.tokenTypes,t.errMsgProvider,t.grammarName)}const bf="MismatchedTokenException",Cf="NoViableAltException",Nf="EarlyExitException",_f="NotAllInputParsedException",Lf=[bf,Cf,Nf,_f];Object.freeze(Lf);function hi(t){return de(Lf,t.name)}class Xi extends Error{constructor(e,r){super(e),this.token=r,this.resyncedTokens=[],Object.setPrototypeOf(this,new.target.prototype),Error.captureStackTrace&&Error.captureStackTrace(this,this.constructor)}}class Of extends Xi{constructor(e,r,n){super(e,r),this.previousToken=n,this.name=bf}}class ZR extends Xi{constructor(e,r,n){super(e,r),this.previousToken=n,this.name=Cf}}class JR extends Xi{constructor(e,r){super(e,r),this.name=_f}}class eE extends Xi{constructor(e,r,n){super(e,r),this.previousToken=n,this.name=Nf}}const gs={},Pf="InRuleRecoveryException";class tE extends Error{constructor(e){super(e),this.name=Pf}}class rE{initRecoverable(e){this.firstAfterRepMap={},this.resyncFollows={},this.recoveryEnabled=w(e,"recoveryEnabled")?e.recoveryEnabled:ut.recoveryEnabled,this.recoveryEnabled&&(this.attemptInRepetitionRecovery=nE)}getTokenToInsert(e){const r=co(e,"",NaN,NaN,NaN,NaN,NaN,NaN);return r.isInsertedInRecovery=!0,r}canTokenTypeBeInsertedInRecovery(e){return!0}canTokenTypeBeDeletedInRecovery(e){return!0}tryInRepetitionRecovery(e,r,n,i){const s=this.findReSyncTokenType(),a=this.exportLexerState(),o=[];let l=!1;const u=this.LA(1);let c=this.LA(1);const f=()=>{const d=this.LA(0),h=this.errorMessageProvider.buildMismatchTokenMessage({expected:i,actual:u,previous:d,ruleName:this.getCurrRuleFullName()}),m=new Of(h,u,this.LA(0));m.resyncedTokens=sn(o),this.SAVE_ERROR(m)};for(;!l;)if(this.tokenMatcher(c,i)){f();return}else if(n.call(this)){f(),e.apply(this,r);return}else this.tokenMatcher(c,s)?l=!0:(c=this.SKIP_TOKEN(),this.addToResyncTokens(c,o));this.importLexerState(a)}shouldInRepetitionRecoveryBeTried(e,r,n){return!(n===!1||this.tokenMatcher(this.LA(1),e)||this.isBackTracking()||this.canPerformInRuleRecovery(e,this.getFollowsForInRuleRecovery(e,r)))}getFollowsForInRuleRecovery(e,r){const n=this.getCurrentGrammarPath(e,r);return this.getNextPossibleTokenTypes(n)}tryInRuleRecovery(e,r){if(this.canRecoverWithSingleTokenInsertion(e,r))return this.getTokenToInsert(e);if(this.canRecoverWithSingleTokenDeletion(e)){const n=this.SKIP_TOKEN();return this.consumeToken(),n}throw new tE("sad sad panda")}canPerformInRuleRecovery(e,r){return this.canRecoverWithSingleTokenInsertion(e,r)||this.canRecoverWithSingleTokenDeletion(e)}canRecoverWithSingleTokenInsertion(e,r){if(!this.canTokenTypeBeInsertedInRecovery(e)||j(r))return!1;const n=this.LA(1);return nr(r,i=>this.tokenMatcher(n,i))!==void 0}canRecoverWithSingleTokenDeletion(e){return this.canTokenTypeBeDeletedInRecovery(e)?this.tokenMatcher(this.LA(2),e):!1}isInCurrentRuleReSyncSet(e){const r=this.getCurrFollowKey(),n=this.getFollowSetFromFollowKey(r);return de(n,e)}findReSyncTokenType(){const e=this.flattenFollowSet();let r=this.LA(1),n=2;for(;;){const i=nr(e,s=>Af(r,s));if(i!==void 0)return i;r=this.LA(n),n++}}getCurrFollowKey(){if(this.RULE_STACK.length===1)return gs;const e=this.getLastExplicitRuleShortName(),r=this.getLastExplicitRuleOccurrenceIndex(),n=this.getPreviousExplicitRuleShortName();return{ruleName:this.shortRuleNameToFullName(e),idxInCallingRule:r,inRule:this.shortRuleNameToFullName(n)}}buildFullFollowKeyStack(){const e=this.RULE_STACK,r=this.RULE_OCCURRENCE_STACK;return I(e,(n,i)=>i===0?gs:{ruleName:this.shortRuleNameToFullName(n),idxInCallingRule:r[i],inRule:this.shortRuleNameToFullName(e[i-1])})}flattenFollowSet(){const e=I(this.buildFullFollowKeyStack(),r=>this.getFollowSetFromFollowKey(r));return Fe(e)}getFollowSetFromFollowKey(e){if(e===gs)return[yt];const r=e.ruleName+e.idxInCallingRule+ff+e.inRule;return this.resyncFollows[r]}addToResyncTokens(e,r){return this.tokenMatcher(e,yt)||r.push(e),r}reSyncTo(e){const r=[];let n=this.LA(1);for(;this.tokenMatcher(n,e)===!1;)n=this.SKIP_TOKEN(),this.addToResyncTokens(n,r);return sn(r)}attemptInRepetitionRecovery(e,r,n,i,s,a,o){}getCurrentGrammarPath(e,r){const n=this.getHumanReadableRuleStack(),i=se(this.RULE_OCCURRENCE_STACK);return{ruleStack:n,occurrenceStack:i,lastTok:e,lastTokOccurrence:r}}getHumanReadableRuleStack(){return I(this.RULE_STACK,e=>this.shortRuleNameToFullName(e))}}function nE(t,e,r,n,i,s,a){const o=this.getKeyForAutomaticLookahead(n,i);let l=this.firstAfterRepMap[o];if(l===void 0){const d=this.getCurrRuleFullName(),h=this.getGAstProductions()[d];l=new s(h,i).startWalking(),this.firstAfterRepMap[o]=l}let u=l.token,c=l.occurrence;const f=l.isEndOfRule;this.RULE_STACK.length===1&&f&&u===void 0&&(u=yt,c=1),!(u===void 0||c===void 0)&&this.shouldInRepetitionRecoveryBeTried(u,c,a)&&this.tryInRepetitionRecovery(t,e,r,u)}const iE=4,Et=8,Mf=1<<Et,Df=2<<Et,fa=3<<Et,da=4<<Et,ha=5<<Et,qn=6<<Et;function ys(t,e,r){return r|e|t}class po{constructor(e){var r;this.maxLookahead=(r=e?.maxLookahead)!==null&&r!==void 0?r:ut.maxLookahead}validate(e){const r=this.validateNoLeftRecursion(e.rules);if(j(r)){const n=this.validateEmptyOrAlternatives(e.rules),i=this.validateAmbiguousAlternationAlternatives(e.rules,this.maxLookahead),s=this.validateSomeNonEmptyLookaheadPath(e.rules,this.maxLookahead);return[...r,...n,...i,...s]}return r}validateNoLeftRecursion(e){return Ce(e,r=>wf(r,r,_t))}validateEmptyOrAlternatives(e){return Ce(e,r=>BR(r,_t))}validateAmbiguousAlternationAlternatives(e,r){return Ce(e,n=>KR(n,r,_t))}validateSomeNonEmptyLookaheadPath(e,r){return WR(e,r,_t)}buildLookaheadForAlternation(e){return wR(e.prodOccurrence,e.rule,e.maxLookahead,e.hasPredicates,e.dynamicTokensEnabled,CR)}buildLookaheadForOptional(e){return bR(e.prodOccurrence,e.rule,e.maxLookahead,e.dynamicTokensEnabled,fo(e.prodType),NR)}}class sE{initLooksAhead(e){this.dynamicTokensEnabled=w(e,"dynamicTokensEnabled")?e.dynamicTokensEnabled:ut.dynamicTokensEnabled,this.maxLookahead=w(e,"maxLookahead")?e.maxLookahead:ut.maxLookahead,this.lookaheadStrategy=w(e,"lookaheadStrategy")?e.lookaheadStrategy:new po({maxLookahead:this.maxLookahead}),this.lookAheadFuncsCache=new Map}preComputeLookaheadFunctions(e){b(e,r=>{this.TRACE_INIT(`${r.name} Rule Lookahead`,()=>{const{alternation:n,repetition:i,option:s,repetitionMandatory:a,repetitionMandatoryWithSeparator:o,repetitionWithSeparator:l}=oE(r);b(n,u=>{const c=u.idx===0?"":u.idx;this.TRACE_INIT(`${We(u)}${c}`,()=>{const f=this.lookaheadStrategy.buildLookaheadForAlternation({prodOccurrence:u.idx,rule:r,maxLookahead:u.maxLookahead||this.maxLookahead,hasPredicates:u.hasPredicates,dynamicTokensEnabled:this.dynamicTokensEnabled}),d=ys(this.fullRuleNameToShort[r.name],Mf,u.idx);this.setLaFuncCache(d,f)})}),b(i,u=>{this.computeLookaheadFunc(r,u.idx,fa,"Repetition",u.maxLookahead,We(u))}),b(s,u=>{this.computeLookaheadFunc(r,u.idx,Df,"Option",u.maxLookahead,We(u))}),b(a,u=>{this.computeLookaheadFunc(r,u.idx,da,"RepetitionMandatory",u.maxLookahead,We(u))}),b(o,u=>{this.computeLookaheadFunc(r,u.idx,qn,"RepetitionMandatoryWithSeparator",u.maxLookahead,We(u))}),b(l,u=>{this.computeLookaheadFunc(r,u.idx,ha,"RepetitionWithSeparator",u.maxLookahead,We(u))})})})}computeLookaheadFunc(e,r,n,i,s,a){this.TRACE_INIT(`${a}${r===0?"":r}`,()=>{const o=this.lookaheadStrategy.buildLookaheadForOptional({prodOccurrence:r,rule:e,maxLookahead:s||this.maxLookahead,dynamicTokensEnabled:this.dynamicTokensEnabled,prodType:i}),l=ys(this.fullRuleNameToShort[e.name],n,r);this.setLaFuncCache(l,o)})}getKeyForAutomaticLookahead(e,r){const n=this.getLastExplicitRuleShortName();return ys(n,e,r)}getLaFuncFromCache(e){return this.lookAheadFuncsCache.get(e)}setLaFuncCache(e,r){this.lookAheadFuncsCache.set(e,r)}}class aE extends cr{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 Ln=new aE;function oE(t){Ln.reset(),t.accept(Ln);const e=Ln.dslMethods;return Ln.reset(),e}function Cl(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 lE(t,e,r){t.children[r]===void 0?t.children[r]=[e]:t.children[r].push(e)}function uE(t,e,r){t.children[e]===void 0?t.children[e]=[r]:t.children[e].push(r)}const cE="name";function Uf(t,e){Object.defineProperty(t,cE,{enumerable:!1,configurable:!0,writable:!1,value:e})}function fE(t,e){const r=Oe(t),n=r.length;for(let i=0;i<n;i++){const s=r[i],a=t[s],o=a.length;for(let l=0;l<o;l++){const u=a[l];u.tokenTypeIdx===void 0&&this[u.name](u.children,e)}}}function dE(t,e){const r=function(){};Uf(r,t+"BaseSemantics");const n={visit:function(i,s){if(P(i)&&(i=i[0]),!lt(i))return this[i.name](i.children,s)},validateVisitor:function(){const i=pE(this,e);if(!j(i)){const s=I(i,a=>a.msg);throw Error(`Errors Detected in CST Visitor <${this.constructor.name}>:
|
|
88
88
|
${s.join(`
|
|
89
89
|
|
|
90
90
|
`).replace(/\n/g,`
|
|
91
|
-
`)}`)}}};return r.prototype=n,r.prototype.constructor=r,r._RULE_NAMES=e,r}function
|
|
91
|
+
`)}`)}}};return r.prototype=n,r.prototype.constructor=r,r._RULE_NAMES=e,r}function hE(t,e,r){const n=function(){};Uf(n,t+"BaseSemanticsWithDefaults");const i=Object.create(r.prototype);return b(e,s=>{i[s]=fE}),n.prototype=i,n.prototype.constructor=n,n}var pa;(function(t){t[t.REDUNDANT_METHOD=0]="REDUNDANT_METHOD",t[t.MISSING_METHOD=1]="MISSING_METHOD"})(pa||(pa={}));function pE(t,e){return mE(t,e)}function mE(t,e){const r=Pe(e,i=>ct(t[i])===!1),n=I(r,i=>({msg:`Missing visitor method: <${i}> on ${t.constructor.name} CST Visitor.`,type:pa.MISSING_METHOD,methodName:i}));return hn(n)}class gE{initTreeBuilder(e){if(this.CST_STACK=[],this.outputCst=e.outputCst,this.nodeLocationTracking=w(e,"nodeLocationTracking")?e.nodeLocationTracking:ut.nodeLocationTracking,!this.outputCst)this.cstInvocationStateUpdate=X,this.cstFinallyStateUpdate=X,this.cstPostTerminal=X,this.cstPostNonTerminal=X,this.cstPostRule=X;else if(/full/i.test(this.nodeLocationTracking))this.recoveryEnabled?(this.setNodeLocationFromToken=Nl,this.setNodeLocationFromNode=Nl,this.cstPostRule=X,this.setInitialNodeLocation=this.setInitialNodeLocationFullRecovery):(this.setNodeLocationFromToken=X,this.setNodeLocationFromNode=X,this.cstPostRule=this.cstPostRuleFull,this.setInitialNodeLocation=this.setInitialNodeLocationFullRegular);else if(/onlyOffset/i.test(this.nodeLocationTracking))this.recoveryEnabled?(this.setNodeLocationFromToken=Cl,this.setNodeLocationFromNode=Cl,this.cstPostRule=X,this.setInitialNodeLocation=this.setInitialNodeLocationOnlyOffsetRecovery):(this.setNodeLocationFromToken=X,this.setNodeLocationFromNode=X,this.cstPostRule=this.cstPostRuleOnlyOffset,this.setInitialNodeLocation=this.setInitialNodeLocationOnlyOffsetRegular);else if(/none/i.test(this.nodeLocationTracking))this.setNodeLocationFromToken=X,this.setNodeLocationFromNode=X,this.cstPostRule=X,this.setInitialNodeLocation=X;else throw Error(`Invalid <nodeLocationTracking> config option: "${e.nodeLocationTracking}"`)}setInitialNodeLocationOnlyOffsetRecovery(e){e.location={startOffset:NaN,endOffset:NaN}}setInitialNodeLocationOnlyOffsetRegular(e){e.location={startOffset:this.LA(1).startOffset,endOffset:NaN}}setInitialNodeLocationFullRecovery(e){e.location={startOffset:NaN,startLine:NaN,startColumn:NaN,endOffset:NaN,endLine:NaN,endColumn:NaN}}setInitialNodeLocationFullRegular(e){const r=this.LA(1);e.location={startOffset:r.startOffset,startLine:r.startLine,startColumn:r.startColumn,endOffset:NaN,endLine:NaN,endColumn:NaN}}cstInvocationStateUpdate(e){const r={name:e,children:Object.create(null)};this.setInitialNodeLocation(r),this.CST_STACK.push(r)}cstFinallyStateUpdate(){this.CST_STACK.pop()}cstPostRuleFull(e){const r=this.LA(0),n=e.location;n.startOffset<=r.startOffset?(n.endOffset=r.endOffset,n.endLine=r.endLine,n.endColumn=r.endColumn):(n.startOffset=NaN,n.startLine=NaN,n.startColumn=NaN)}cstPostRuleOnlyOffset(e){const r=this.LA(0),n=e.location;n.startOffset<=r.startOffset?n.endOffset=r.endOffset:n.startOffset=NaN}cstPostTerminal(e,r){const n=this.CST_STACK[this.CST_STACK.length-1];lE(n,r,e),this.setNodeLocationFromToken(n.location,r)}cstPostNonTerminal(e,r){const n=this.CST_STACK[this.CST_STACK.length-1];uE(n,r,e),this.setNodeLocationFromNode(n.location,e.location)}getBaseCstVisitorConstructor(){if(lt(this.baseCstVisitorConstructor)){const e=dE(this.className,Oe(this.gastProductionsCache));return this.baseCstVisitorConstructor=e,e}return this.baseCstVisitorConstructor}getBaseCstVisitorConstructorWithDefaults(){if(lt(this.baseCstVisitorWithDefaultsConstructor)){const e=hE(this.className,Oe(this.gastProductionsCache),this.getBaseCstVisitorConstructor());return this.baseCstVisitorWithDefaultsConstructor=e,e}return this.baseCstVisitorWithDefaultsConstructor}getLastExplicitRuleShortName(){const e=this.RULE_STACK;return e[e.length-1]}getPreviousExplicitRuleShortName(){const e=this.RULE_STACK;return e[e.length-2]}getLastExplicitRuleOccurrenceIndex(){const e=this.RULE_OCCURRENCE_STACK;return e[e.length-1]}}class yE{initLexerAdapter(){this.tokVector=[],this.tokVectorLength=0,this.currIdx=-1}set input(e){if(this.selfAnalysisDone!==!0)throw Error("Missing <performSelfAnalysis> invocation at the end of the Parser's constructor.");this.reset(),this.tokVector=e,this.tokVectorLength=e.length}get input(){return this.tokVector}SKIP_TOKEN(){return this.currIdx<=this.tokVector.length-2?(this.consumeToken(),this.LA(1)):mi}LA(e){const r=this.currIdx+e;return r<0||this.tokVectorLength<=r?mi:this.tokVector[r]}consumeToken(){this.currIdx++}exportLexerState(){return this.currIdx}importLexerState(e){this.currIdx=e}resetLexerState(){this.currIdx=-1}moveToTerminatedState(){this.currIdx=this.tokVector.length-1}getLexerPosition(){return this.exportLexerState()}}class vE{ACTION(e){return e.call(this)}consume(e,r,n){return this.consumeInternal(r,e,n)}subrule(e,r,n){return this.subruleInternal(r,e,n)}option(e,r){return this.optionInternal(r,e)}or(e,r){return this.orInternal(r,e)}many(e,r){return this.manyInternal(e,r)}atLeastOne(e,r){return this.atLeastOneInternal(e,r)}CONSUME(e,r){return this.consumeInternal(e,0,r)}CONSUME1(e,r){return this.consumeInternal(e,1,r)}CONSUME2(e,r){return this.consumeInternal(e,2,r)}CONSUME3(e,r){return this.consumeInternal(e,3,r)}CONSUME4(e,r){return this.consumeInternal(e,4,r)}CONSUME5(e,r){return this.consumeInternal(e,5,r)}CONSUME6(e,r){return this.consumeInternal(e,6,r)}CONSUME7(e,r){return this.consumeInternal(e,7,r)}CONSUME8(e,r){return this.consumeInternal(e,8,r)}CONSUME9(e,r){return this.consumeInternal(e,9,r)}SUBRULE(e,r){return this.subruleInternal(e,0,r)}SUBRULE1(e,r){return this.subruleInternal(e,1,r)}SUBRULE2(e,r){return this.subruleInternal(e,2,r)}SUBRULE3(e,r){return this.subruleInternal(e,3,r)}SUBRULE4(e,r){return this.subruleInternal(e,4,r)}SUBRULE5(e,r){return this.subruleInternal(e,5,r)}SUBRULE6(e,r){return this.subruleInternal(e,6,r)}SUBRULE7(e,r){return this.subruleInternal(e,7,r)}SUBRULE8(e,r){return this.subruleInternal(e,8,r)}SUBRULE9(e,r){return this.subruleInternal(e,9,r)}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,r,n=gi){if(de(this.definedRulesNames,e)){const s={message:_t.buildDuplicateRuleNameError({topLevelRule:e,grammarName:this.className}),type:fe.DUPLICATE_RULE_NAME,ruleName:e};this.definitionErrors.push(s)}this.definedRulesNames.push(e);const i=this.defineRule(e,r,n);return this[e]=i,i}OVERRIDE_RULE(e,r,n=gi){const i=GR(e,this.definedRulesNames,this.className);this.definitionErrors=this.definitionErrors.concat(i);const s=this.defineRule(e,r,n);return this[e]=s,s}BACKTRACK(e,r){return function(){this.isBackTrackingStack.push(1);const n=this.saveRecogState();try{return e.apply(this,r),!0}catch(i){if(hi(i))return!1;throw i}finally{this.reloadRecogState(n),this.isBackTrackingStack.pop()}}}getGAstProductions(){return this.gastProductionsCache}getSerializedGastProductions(){return IT(Q(this.gastProductionsCache))}}class TE{initRecognizerEngine(e,r){if(this.className=this.constructor.name,this.shortRuleNameToFull={},this.fullRuleNameToShort={},this.ruleShortNameIdx=256,this.tokenMatcher=di,this.subruleIdx=0,this.definedRulesNames=[],this.tokensMap={},this.isBackTrackingStack=[],this.RULE_STACK=[],this.RULE_OCCURRENCE_STACK=[],this.gastProductionsCache={},w(r,"serializedGrammar"))throw Error(`The Parser's configuration can no longer contain a <serializedGrammar> property.
|
|
92
92
|
See: https://chevrotain.io/docs/changes/BREAKING_CHANGES.html#_6-0-0
|
|
93
93
|
For Further details.`);if(P(e)){if(j(e))throw Error(`A Token Vocabulary cannot be empty.
|
|
94
94
|
Note that the first argument for the parser constructor
|
|
95
95
|
is no longer a Token vector (since v4.0).`);if(typeof e[0].startOffset=="number")throw Error(`The Parser constructor no longer accepts a token vector as the first argument.
|
|
96
96
|
See: https://chevrotain.io/docs/changes/BREAKING_CHANGES.html#_4-0-0
|
|
97
|
-
For Further details.`)}if(P(e))this.tokensMap=ke(e,(s,a)=>(s[a.name]=a,s),{});else if(w(e,"modes")&&je(Fe(Q(e.modes)),
|
|
98
|
-
Make sure that all grammar rule definitions are done before 'performSelfAnalysis' is called.`);const i=w(n,"resyncEnabled")?n.resyncEnabled:
|
|
99
|
-
See: https://chevrotain.io/docs/guide/internals.html#grammar-recording for details`,-1,-1,-1,-1,-1,-1);Object.freeze(
|
|
100
|
-
See: https://chevrotain.io/docs/guide/internals.html#grammar-recording for details`,children:{}};class
|
|
97
|
+
For Further details.`)}if(P(e))this.tokensMap=ke(e,(s,a)=>(s[a.name]=a,s),{});else if(w(e,"modes")&&je(Fe(Q(e.modes)),yR)){const s=Fe(Q(e.modes)),a=lo(s);this.tokensMap=ke(a,(o,l)=>(o[l.name]=l,o),{})}else if(Le(e))this.tokensMap=se(e);else throw new Error("<tokensDictionary> argument must be An Array of Token constructors, A dictionary of Token constructors or an IMultiModeLexerDefinition");this.tokensMap.EOF=yt;const n=w(e,"modes")?Fe(Q(e.modes)):Q(e),i=je(n,s=>j(s.categoryMatches));this.tokenMatcher=i?di:mn,gn(Q(this.tokensMap))}defineRule(e,r,n){if(this.selfAnalysisDone)throw Error(`Grammar rule <${e}> may not be defined after the 'performSelfAnalysis' method has been called'
|
|
98
|
+
Make sure that all grammar rule definitions are done before 'performSelfAnalysis' is called.`);const i=w(n,"resyncEnabled")?n.resyncEnabled:gi.resyncEnabled,s=w(n,"recoveryValueFunc")?n.recoveryValueFunc:gi.recoveryValueFunc,a=this.ruleShortNameIdx<<iE+Et;this.ruleShortNameIdx++,this.shortRuleNameToFull[a]=e,this.fullRuleNameToShort[e]=a;let o;return this.outputCst===!0?o=function(...l){try{this.ruleInvocationStateUpdate(a,e,this.subruleIdx),r.apply(this,l);const u=this.CST_STACK[this.CST_STACK.length-1];return this.cstPostRule(u),u}catch(u){return this.invokeRuleCatch(u,i,s)}finally{this.ruleFinallyStateUpdate()}}:o=function(...l){try{return this.ruleInvocationStateUpdate(a,e,this.subruleIdx),r.apply(this,l)}catch(u){return this.invokeRuleCatch(u,i,s)}finally{this.ruleFinallyStateUpdate()}},Object.assign(o,{ruleName:e,originalGrammarAction:r})}invokeRuleCatch(e,r,n){const i=this.RULE_STACK.length===1,s=r&&!this.isBackTracking()&&this.recoveryEnabled;if(hi(e)){const a=e;if(s){const o=this.findReSyncTokenType();if(this.isInCurrentRuleReSyncSet(o))if(a.resyncedTokens=this.reSyncTo(o),this.outputCst){const l=this.CST_STACK[this.CST_STACK.length-1];return l.recoveredNode=!0,l}else return n(e);else{if(this.outputCst){const l=this.CST_STACK[this.CST_STACK.length-1];l.recoveredNode=!0,a.partialCstResult=l}throw a}}else{if(i)return this.moveToTerminatedState(),n(e);throw a}}else throw e}optionInternal(e,r){const n=this.getKeyForAutomaticLookahead(Df,r);return this.optionInternalLogic(e,r,n)}optionInternalLogic(e,r,n){let i=this.getLaFuncFromCache(n),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,r){const n=this.getKeyForAutomaticLookahead(da,e);return this.atLeastOneInternalLogic(e,r,n)}atLeastOneInternalLogic(e,r,n){let i=this.getLaFuncFromCache(n),s;if(typeof r!="function"){s=r.DEF;const a=r.GATE;if(a!==void 0){const o=i;i=()=>a.call(this)&&o.call(this)}}else s=r;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,V.REPETITION_MANDATORY,r.ERR_MSG);this.attemptInRepetitionRecovery(this.atLeastOneInternal,[e,r],i,da,e,SR)}atLeastOneSepFirstInternal(e,r){const n=this.getKeyForAutomaticLookahead(qn,e);this.atLeastOneSepFirstInternalLogic(e,r,n)}atLeastOneSepFirstInternalLogic(e,r,n){const i=r.DEF,s=r.SEP;if(this.getLaFuncFromCache(n).call(this)===!0){i.call(this);const a=()=>this.tokenMatcher(this.LA(1),s);for(;this.tokenMatcher(this.LA(1),s)===!0;)this.CONSUME(s),i.call(this);this.attemptInRepetitionRecovery(this.repetitionSepSecondInternal,[e,s,a,i,Il],a,qn,e,Il)}else throw this.raiseEarlyExitException(e,V.REPETITION_MANDATORY_WITH_SEPARATOR,r.ERR_MSG)}manyInternal(e,r){const n=this.getKeyForAutomaticLookahead(fa,e);return this.manyInternalLogic(e,r,n)}manyInternalLogic(e,r,n){let i=this.getLaFuncFromCache(n),s;if(typeof r!="function"){s=r.DEF;const o=r.GATE;if(o!==void 0){const l=i;i=()=>o.call(this)&&l.call(this)}}else s=r;let a=!0;for(;i.call(this)===!0&&a===!0;)a=this.doSingleRepetition(s);this.attemptInRepetitionRecovery(this.manyInternal,[e,r],i,fa,e,xR,a)}manySepFirstInternal(e,r){const n=this.getKeyForAutomaticLookahead(ha,e);this.manySepFirstInternalLogic(e,r,n)}manySepFirstInternalLogic(e,r,n){const i=r.DEF,s=r.SEP;if(this.getLaFuncFromCache(n).call(this)===!0){i.call(this);const a=()=>this.tokenMatcher(this.LA(1),s);for(;this.tokenMatcher(this.LA(1),s)===!0;)this.CONSUME(s),i.call(this);this.attemptInRepetitionRecovery(this.repetitionSepSecondInternal,[e,s,a,i,Sl],a,ha,e,Sl)}}repetitionSepSecondInternal(e,r,n,i,s){for(;n();)this.CONSUME(r),i.call(this);this.attemptInRepetitionRecovery(this.repetitionSepSecondInternal,[e,r,n,i,s],n,qn,e,s)}doSingleRepetition(e){const r=this.getLexerPosition();return e.call(this),this.getLexerPosition()>r}orInternal(e,r){const n=this.getKeyForAutomaticLookahead(Mf,r),i=P(e)?e:e.DEF,s=this.getLaFuncFromCache(n).call(this,i);if(s!==void 0)return i[s].ALT.call(this);this.raiseNoAltException(r,e.ERR_MSG)}ruleFinallyStateUpdate(){if(this.RULE_STACK.pop(),this.RULE_OCCURRENCE_STACK.pop(),this.cstFinallyStateUpdate(),this.RULE_STACK.length===0&&this.isAtEndOfInput()===!1){const e=this.LA(1),r=this.errorMessageProvider.buildNotAllInputParsedMessage({firstRedundant:e,ruleName:this.getCurrRuleFullName()});this.SAVE_ERROR(new JR(r,e))}}subruleInternal(e,r,n){let i;try{const s=n!==void 0?n.ARGS:void 0;return this.subruleIdx=r,i=e.apply(this,s),this.cstPostNonTerminal(i,n!==void 0&&n.LABEL!==void 0?n.LABEL:e.ruleName),i}catch(s){throw this.subruleInternalError(s,n,e.ruleName)}}subruleInternalError(e,r,n){throw hi(e)&&e.partialCstResult!==void 0&&(this.cstPostNonTerminal(e.partialCstResult,r!==void 0&&r.LABEL!==void 0?r.LABEL:n),delete e.partialCstResult),e}consumeInternal(e,r,n){let i;try{const s=this.LA(1);this.tokenMatcher(s,e)===!0?(this.consumeToken(),i=s):this.consumeInternalError(e,s,n)}catch(s){i=this.consumeInternalRecovery(e,r,s)}return this.cstPostTerminal(n!==void 0&&n.LABEL!==void 0?n.LABEL:e.name,i),i}consumeInternalError(e,r,n){let i;const s=this.LA(0);throw n!==void 0&&n.ERR_MSG?i=n.ERR_MSG:i=this.errorMessageProvider.buildMismatchTokenMessage({expected:e,actual:r,previous:s,ruleName:this.getCurrRuleFullName()}),this.SAVE_ERROR(new Of(i,r,s))}consumeInternalRecovery(e,r,n){if(this.recoveryEnabled&&n.name==="MismatchedTokenException"&&!this.isBackTracking()){const i=this.getFollowsForInRuleRecovery(e,r);try{return this.tryInRuleRecovery(e,i)}catch(s){throw s.name===Pf?n:s}}else throw n}saveRecogState(){const e=this.errors,r=se(this.RULE_STACK);return{errors:e,lexerState:this.exportLexerState(),RULE_STACK:r,CST_STACK:this.CST_STACK}}reloadRecogState(e){this.errors=e.errors,this.importLexerState(e.lexerState),this.RULE_STACK=e.RULE_STACK}ruleInvocationStateUpdate(e,r,n){this.RULE_OCCURRENCE_STACK.push(n),this.RULE_STACK.push(e),this.cstInvocationStateUpdate(r)}isBackTracking(){return this.isBackTrackingStack.length!==0}getCurrRuleFullName(){const e=this.getLastExplicitRuleShortName();return this.shortRuleNameToFull[e]}shortRuleNameToFullName(e){return this.shortRuleNameToFull[e]}isAtEndOfInput(){return this.tokenMatcher(this.LA(1),yt)}reset(){this.resetLexerState(),this.subruleIdx=0,this.isBackTrackingStack=[],this.errors=[],this.RULE_STACK=[],this.CST_STACK=[],this.RULE_OCCURRENCE_STACK=[]}}class RE{initErrorHandler(e){this._errors=[],this.errorMessageProvider=w(e,"errorMessageProvider")?e.errorMessageProvider:ut.errorMessageProvider}SAVE_ERROR(e){if(hi(e))return e.context={ruleStack:this.getHumanReadableRuleStack(),ruleOccurrenceStack:se(this.RULE_OCCURRENCE_STACK)},this._errors.push(e),e;throw Error("Trying to save an Error which is not a RecognitionException")}get errors(){return se(this._errors)}set errors(e){this._errors=e}raiseEarlyExitException(e,r,n){const i=this.getCurrRuleFullName(),s=this.getGAstProductions()[i],a=qi(e,s,r,this.maxLookahead)[0],o=[];for(let u=1;u<=this.maxLookahead;u++)o.push(this.LA(u));const l=this.errorMessageProvider.buildEarlyExitMessage({expectedIterationPaths:a,actual:o,previous:this.LA(0),customUserDescription:n,ruleName:i});throw this.SAVE_ERROR(new eE(l,this.LA(1),this.LA(0)))}raiseNoAltException(e,r){const n=this.getCurrRuleFullName(),i=this.getGAstProductions()[n],s=Yi(e,i,this.maxLookahead),a=[];for(let u=1;u<=this.maxLookahead;u++)a.push(this.LA(u));const o=this.LA(0),l=this.errorMessageProvider.buildNoViableAltMessage({expectedPathsPerAlt:s,actual:a,previous:o,customUserDescription:r,ruleName:this.getCurrRuleFullName()});throw this.SAVE_ERROR(new ZR(l,this.LA(1),o))}}class EE{initContentAssist(){}computeContentAssist(e,r){const n=this.gastProductionsCache[e];if(lt(n))throw Error(`Rule ->${e}<- does not exist in this grammar.`);return $f([n],r,this.tokenMatcher,this.maxLookahead)}getNextPossibleTokenTypes(e){const r=Be(e.ruleStack),n=this.getGAstProductions()[r];return new kR(n,e).startWalking()}}const Qi={description:"This Object indicates the Parser is during Recording Phase"};Object.freeze(Qi);const _l=!0,Ll=Math.pow(2,Et)-1,Ff=Ef({name:"RECORDING_PHASE_TOKEN",pattern:he.NA});gn([Ff]);const jf=co(Ff,`This IToken indicates the Parser is in Recording Phase
|
|
99
|
+
See: https://chevrotain.io/docs/guide/internals.html#grammar-recording for details`,-1,-1,-1,-1,-1,-1);Object.freeze(jf);const AE={name:`This CSTNode indicates the Parser is in Recording Phase
|
|
100
|
+
See: https://chevrotain.io/docs/guide/internals.html#grammar-recording for details`,children:{}};class $E{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 r=e>0?e:"";this[`CONSUME${r}`]=function(n,i){return this.consumeInternalRecord(n,e,i)},this[`SUBRULE${r}`]=function(n,i){return this.subruleInternalRecord(n,e,i)},this[`OPTION${r}`]=function(n){return this.optionInternalRecord(n,e)},this[`OR${r}`]=function(n){return this.orInternalRecord(n,e)},this[`MANY${r}`]=function(n){this.manyInternalRecord(e,n)},this[`MANY_SEP${r}`]=function(n){this.manySepFirstInternalRecord(e,n)},this[`AT_LEAST_ONE${r}`]=function(n){this.atLeastOneInternalRecord(e,n)},this[`AT_LEAST_ONE_SEP${r}`]=function(n){this.atLeastOneSepFirstInternalRecord(e,n)}}this.consume=function(e,r,n){return this.consumeInternalRecord(r,e,n)},this.subrule=function(e,r,n){return this.subruleInternalRecord(r,e,n)},this.option=function(e,r){return this.optionInternalRecord(r,e)},this.or=function(e,r){return this.orInternalRecord(r,e)},this.many=function(e,r){this.manyInternalRecord(e,r)},this.atLeastOne=function(e,r){this.atLeastOneInternalRecord(e,r)},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 r=0;r<10;r++){const n=r>0?r:"";delete e[`CONSUME${n}`],delete e[`SUBRULE${n}`],delete e[`OPTION${n}`],delete e[`OR${n}`],delete e[`MANY${n}`],delete e[`MANY_SEP${n}`],delete e[`AT_LEAST_ONE${n}`],delete e[`AT_LEAST_ONE_SEP${n}`]}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,r){return()=>!0}LA_RECORD(e){return mi}topLevelRuleRecord(e,r){try{const n=new ur({definition:[],name:e});return n.name=e,this.recordingProdStack.push(n),r.call(this),this.recordingProdStack.pop(),n}catch(n){if(n.KNOWN_RECORDER_ERROR!==!0)try{n.message=n.message+`
|
|
101
101
|
This error was thrown during the "grammar recording phase" For more info see:
|
|
102
|
-
https://chevrotain.io/docs/guide/internals.html#grammar-recording`}catch{throw n}throw n}}optionInternalRecord(e,r){return
|
|
103
|
-
inside top level rule: <${this.recordingProdStack[0].name}>`);throw o.KNOWN_RECORDER_ERROR=!0,o}const i=
|
|
104
|
-
inside top level rule: <${this.recordingProdStack[0].name}>`);throw a.KNOWN_RECORDER_ERROR=!0,a}const i=
|
|
105
|
-
Idx value must be a none negative value smaller than ${
|
|
102
|
+
https://chevrotain.io/docs/guide/internals.html#grammar-recording`}catch{throw n}throw n}}optionInternalRecord(e,r){return pr.call(this,ie,e,r)}atLeastOneInternalRecord(e,r){pr.call(this,xe,r,e)}atLeastOneSepFirstInternalRecord(e,r){pr.call(this,Se,r,e,_l)}manyInternalRecord(e,r){pr.call(this,z,r,e)}manySepFirstInternalRecord(e,r){pr.call(this,ge,r,e,_l)}orInternalRecord(e,r){return kE.call(this,e,r)}subruleInternalRecord(e,r,n){if(pi(r),!e||w(e,"ruleName")===!1){const o=new Error(`<SUBRULE${Ol(r)}> argument is invalid expecting a Parser method reference but got: <${JSON.stringify(e)}>
|
|
103
|
+
inside top level rule: <${this.recordingProdStack[0].name}>`);throw o.KNOWN_RECORDER_ERROR=!0,o}const i=rr(this.recordingProdStack),s=e.ruleName,a=new ce({idx:r,nonTerminalName:s,label:n?.LABEL,referencedRule:void 0});return i.definition.push(a),this.outputCst?AE:Qi}consumeInternalRecord(e,r,n){if(pi(r),!Tf(e)){const a=new Error(`<CONSUME${Ol(r)}> argument is invalid expecting a TokenType reference but got: <${JSON.stringify(e)}>
|
|
104
|
+
inside top level rule: <${this.recordingProdStack[0].name}>`);throw a.KNOWN_RECORDER_ERROR=!0,a}const i=rr(this.recordingProdStack),s=new B({idx:r,terminalType:e,label:n?.LABEL});return i.definition.push(s),jf}}function pr(t,e,r,n=!1){pi(r);const i=rr(this.recordingProdStack),s=ct(e)?e:e.DEF,a=new t({definition:[],idx:r});return n&&(a.separator=e.SEP),w(e,"MAX_LOOKAHEAD")&&(a.maxLookahead=e.MAX_LOOKAHEAD),this.recordingProdStack.push(a),s.call(this),i.definition.push(a),this.recordingProdStack.pop(),Qi}function kE(t,e){pi(e);const r=rr(this.recordingProdStack),n=P(t)===!1,i=n===!1?t:t.DEF,s=new ye({definition:[],idx:e,ignoreAmbiguities:n&&t.IGNORE_AMBIGUITIES===!0});w(t,"MAX_LOOKAHEAD")&&(s.maxLookahead=t.MAX_LOOKAHEAD);const a=of(i,o=>ct(o.GATE));return s.hasPredicates=a,r.definition.push(s),b(i,o=>{const l=new me({definition:[]});s.definition.push(l),w(o,"IGNORE_AMBIGUITIES")?l.ignoreAmbiguities=o.IGNORE_AMBIGUITIES:w(o,"GATE")&&(l.ignoreAmbiguities=!0),this.recordingProdStack.push(l),o.ALT.call(this),this.recordingProdStack.pop()}),Qi}function Ol(t){return t===0?"":`${t}`}function pi(t){if(t<0||t>Ll){const e=new Error(`Invalid DSL Method idx value: <${t}>
|
|
105
|
+
Idx value must be a none negative value smaller than ${Ll+1}`);throw e.KNOWN_RECORDER_ERROR=!0,e}}class xE{initPerformanceTracer(e){if(w(e,"traceInitPerf")){const r=e.traceInitPerf,n=typeof r=="number";this.traceInitMaxIdent=n?r:1/0,this.traceInitPerf=n?r>0:r}else this.traceInitMaxIdent=0,this.traceInitPerf=ut.traceInitPerf;this.traceInitIndent=-1}TRACE_INIT(e,r){if(this.traceInitPerf===!0){this.traceInitIndent++;const n=new Array(this.traceInitIndent+1).join(" ");this.traceInitIndent<this.traceInitMaxIdent&&console.log(`${n}--> <${e}>`);const{time:i,value:s}=uf(r),a=i>10?console.warn:console.log;return this.traceInitIndent<this.traceInitMaxIdent&&a(`${n}<-- <${e}> time: ${i}ms`),this.traceInitIndent--,s}else return r()}}function SE(t,e){e.forEach(r=>{const n=r.prototype;Object.getOwnPropertyNames(n).forEach(i=>{if(i==="constructor")return;const s=Object.getOwnPropertyDescriptor(n,i);s&&(s.get||s.set)?Object.defineProperty(t.prototype,i,s):t.prototype[i]=r.prototype[i]})})}const mi=co(yt,"",NaN,NaN,NaN,NaN,NaN,NaN);Object.freeze(mi);const ut=Object.freeze({recoveryEnabled:!1,maxLookahead:3,dynamicTokensEnabled:!1,outputCst:!0,errorMessageProvider:Xt,nodeLocationTracking:"none",traceInitPerf:!1,skipValidations:!1}),gi=Object.freeze({recoveryValueFunc:()=>{},resyncEnabled:!0});var fe;(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"})(fe||(fe={}));function Pl(t=void 0){return function(){return t}}class yn{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 r=this.className;this.TRACE_INIT("toFastProps",()=>{cf(this)}),this.TRACE_INIT("Grammar Recording",()=>{try{this.enableRecording(),b(this.definedRulesNames,i=>{const s=this[i].originalGrammarAction;let a;this.TRACE_INIT(`${i} Rule`,()=>{a=this.topLevelRuleRecord(i,s)}),this.gastProductionsCache[i]=a})}finally{this.disableRecording()}});let n=[];if(this.TRACE_INIT("Grammar Resolving",()=>{n=XR({rules:Q(this.gastProductionsCache)}),this.definitionErrors=this.definitionErrors.concat(n)}),this.TRACE_INIT("Grammar Validations",()=>{if(j(n)&&this.skipValidations===!1){const i=QR({rules:Q(this.gastProductionsCache),tokenTypes:Q(this.tokensMap),errMsgProvider:_t,grammarName:r}),s=PR({lookaheadStrategy:this.lookaheadStrategy,rules:Q(this.gastProductionsCache),tokenTypes:Q(this.tokensMap),grammarName:r});this.definitionErrors=this.definitionErrors.concat(i,s)}}),j(this.definitionErrors)&&(this.recoveryEnabled&&this.TRACE_INIT("computeAllProdsFollows",()=>{const i=OT(Q(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:Q(this.gastProductionsCache)}),this.preComputeLookaheadFunctions(Q(this.gastProductionsCache))})),!yn.DEFER_DEFINITION_ERRORS_HANDLING&&!j(this.definitionErrors))throw e=I(this.definitionErrors,i=>i.message),new Error(`Parser Definition Errors detected:
|
|
106
106
|
${e.join(`
|
|
107
107
|
-------------------------------
|
|
108
108
|
`)}`)})}constructor(e,r){this.definitionErrors=[],this.selfAnalysisDone=!1;const n=this;if(n.initErrorHandler(r),n.initLexerAdapter(),n.initLooksAhead(r),n.initRecognizerEngine(e,r),n.initRecoverable(r),n.initTreeBuilder(r),n.initContentAssist(),n.initGastRecorder(r),n.initPerformanceTracer(r),w(r,"ignoredIssues"))throw new Error(`The <ignoredIssues> IParserConfig property has been deprecated.
|
|
109
109
|
Please use the <IGNORE_AMBIGUITIES> flag on the relevant DSL method instead.
|
|
110
110
|
See: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#IGNORING_AMBIGUITIES
|
|
111
|
-
For further details.`);this.skipValidations=w(r,"skipValidations")?r.skipValidations:ut.skipValidations}}
|
|
111
|
+
For further details.`);this.skipValidations=w(r,"skipValidations")?r.skipValidations:ut.skipValidations}}yn.DEFER_DEFINITION_ERRORS_HANDLING=!1;SE(yn,[rE,sE,gE,yE,TE,vE,RE,EE,$E,xE]);class IE extends yn{constructor(e,r=ut){const n=se(r);n.outputCst=!1,super(e,n)}}function ir(t,e,r){return`${t.name}_${e}_${r}`}const vt=1,wE=2,Gf=4,Bf=5,vn=7,bE=8,CE=9,NE=10,_E=11,Kf=12;class mo{constructor(e){this.target=e}isEpsilon(){return!1}}class go extends mo{constructor(e,r){super(e),this.tokenType=r}}class Vf extends mo{constructor(e){super(e)}isEpsilon(){return!0}}class yo extends mo{constructor(e,r,n){super(e),this.rule=r,this.followState=n}isEpsilon(){return!0}}function LE(t){const e={decisionMap:{},decisionStates:[],ruleToStartState:new Map,ruleToStopState:new Map,states:[]};OE(e,t);const r=t.length;for(let n=0;n<r;n++){const i=t[n],s=Vt(e,i,i);s!==void 0&&HE(e,i,s)}return e}function OE(t,e){const r=e.length;for(let n=0;n<r;n++){const i=e[n],s=J(t,i,void 0,{type:wE}),a=J(t,i,void 0,{type:vn});s.stop=a,t.ruleToStartState.set(i,s),t.ruleToStopState.set(i,a)}}function Hf(t,e,r){return r instanceof B?vo(t,e,r.terminalType,r):r instanceof ce?VE(t,e,r):r instanceof ye?FE(t,e,r):r instanceof ie?jE(t,e,r):r instanceof z?PE(t,e,r):r instanceof ge?ME(t,e,r):r instanceof xe?DE(t,e,r):r instanceof Se?UE(t,e,r):Vt(t,e,r)}function PE(t,e,r){const n=J(t,e,r,{type:Bf});At(t,n);const i=fr(t,e,n,r,Vt(t,e,r));return zf(t,e,r,i)}function ME(t,e,r){const n=J(t,e,r,{type:Bf});At(t,n);const i=fr(t,e,n,r,Vt(t,e,r)),s=vo(t,e,r.separator,r);return zf(t,e,r,i,s)}function DE(t,e,r){const n=J(t,e,r,{type:Gf});At(t,n);const i=fr(t,e,n,r,Vt(t,e,r));return Wf(t,e,r,i)}function UE(t,e,r){const n=J(t,e,r,{type:Gf});At(t,n);const i=fr(t,e,n,r,Vt(t,e,r)),s=vo(t,e,r.separator,r);return Wf(t,e,r,i,s)}function FE(t,e,r){const n=J(t,e,r,{type:vt});At(t,n);const i=st(r.definition,s=>Hf(t,e,s));return fr(t,e,n,r,...i)}function jE(t,e,r){const n=J(t,e,r,{type:vt});At(t,n);const i=fr(t,e,n,r,Vt(t,e,r));return GE(t,e,r,i)}function Vt(t,e,r){const n=Bd(st(r.definition,i=>Hf(t,e,i)),i=>i!==void 0);return n.length===1?n[0]:n.length===0?void 0:KE(t,n)}function Wf(t,e,r,n,i){const s=n.left,a=n.right,o=J(t,e,r,{type:_E});At(t,o);const l=J(t,e,r,{type:Kf});return s.loopback=o,l.loopback=o,t.decisionMap[ir(e,i?"RepetitionMandatoryWithSeparator":"RepetitionMandatory",r.idx)]=o,q(a,o),i===void 0?(q(o,s),q(o,l)):(q(o,l),q(o,i.left),q(i.right,s)),{left:s,right:l}}function zf(t,e,r,n,i){const s=n.left,a=n.right,o=J(t,e,r,{type:NE});At(t,o);const l=J(t,e,r,{type:Kf}),u=J(t,e,r,{type:CE});return o.loopback=u,l.loopback=u,q(o,s),q(o,l),q(a,u),i!==void 0?(q(u,l),q(u,i.left),q(i.right,s)):q(u,o),t.decisionMap[ir(e,i?"RepetitionWithSeparator":"Repetition",r.idx)]=o,{left:o,right:l}}function GE(t,e,r,n){const i=n.left,s=n.right;return q(i,s),t.decisionMap[ir(e,"Option",r.idx)]=i,n}function At(t,e){return t.decisionStates.push(e),e.decision=t.decisionStates.length-1,e.decision}function fr(t,e,r,n,...i){const s=J(t,e,n,{type:bE,start:r});r.end=s;for(const o of i)o!==void 0?(q(r,o.left),q(o.right,s)):q(r,s);const a={left:r,right:s};return t.decisionMap[ir(e,BE(n),n.idx)]=r,a}function BE(t){if(t instanceof ye)return"Alternation";if(t instanceof ie)return"Option";if(t instanceof z)return"Repetition";if(t instanceof ge)return"RepetitionWithSeparator";if(t instanceof xe)return"RepetitionMandatory";if(t instanceof Se)return"RepetitionMandatoryWithSeparator";throw new Error("Invalid production type encountered")}function KE(t,e){const r=e.length;for(let s=0;s<r-1;s++){const a=e[s];let o;a.left.transitions.length===1&&(o=a.left.transitions[0]);const l=o instanceof yo,u=o,c=e[s+1].left;a.left.type===vt&&a.right.type===vt&&o!==void 0&&(l&&u.followState===a.right||o.target===a.right)?(l?u.followState=c:o.target=c,WE(t,a.right)):q(a.right,c)}const n=e[0],i=e[r-1];return{left:n.left,right:i.right}}function vo(t,e,r,n){const i=J(t,e,n,{type:vt}),s=J(t,e,n,{type:vt});return To(i,new go(s,r)),{left:i,right:s}}function VE(t,e,r){const n=r.referencedRule,i=t.ruleToStartState.get(n),s=J(t,e,r,{type:vt}),a=J(t,e,r,{type:vt}),o=new yo(i,n,a);return To(s,o),{left:s,right:a}}function HE(t,e,r){const n=t.ruleToStartState.get(e);q(n,r.left);const i=t.ruleToStopState.get(e);return q(r.right,i),{left:n,right:i}}function q(t,e){const r=new Vf(e);To(t,r)}function J(t,e,r,n){const i=Object.assign({atn:t,production:r,epsilonOnlyTransitions:!1,rule:e,transitions:[],nextTokenWithinRule:[],stateNumber:t.states.length},n);return t.states.push(i),i}function To(t,e){t.transitions.length===0&&(t.epsilonOnlyTransitions=e.isEpsilon()),t.transitions.push(e)}function WE(t,e){t.states.splice(t.states.indexOf(e),1)}const yi={};class ma{constructor(){this.map={},this.configs=[]}get size(){return this.configs.length}finalize(){this.map={}}add(e){const r=Yf(e);r in this.map||(this.map[r]=this.configs.length,this.configs.push(e))}get elements(){return this.configs}get alts(){return st(this.configs,e=>e.alt)}get key(){let e="";for(const r in this.map)e+=r+":";return e}}function Yf(t,e=!0){return`${e?`a${t.alt}`:""}s${t.state.stateNumber}:${t.stack.map(r=>r.stateNumber.toString()).join("_")}`}function zE(t,e){const r={};return n=>{const i=n.toString();let s=r[i];return s!==void 0||(s={atnStartState:t,decision:e,states:{}},r[i]=s),s}}class qf{constructor(){this.predicates=[]}is(e){return e>=this.predicates.length||this.predicates[e]}set(e,r){this.predicates[e]=r}toString(){let e="";const r=this.predicates.length;for(let n=0;n<r;n++)e+=this.predicates[n]===!0?"1":"0";return e}}const Ml=new qf;class YE extends po{constructor(e){var r;super(),this.logging=(r=e?.logging)!==null&&r!==void 0?r:(n=>console.log(n))}initialize(e){this.atn=LE(e.rules),this.dfas=qE(this.atn)}validateAmbiguousAlternationAlternatives(){return[]}validateEmptyOrAlternatives(){return[]}buildLookaheadForAlternation(e){const{prodOccurrence:r,rule:n,hasPredicates:i,dynamicTokensEnabled:s}=e,a=this.dfas,o=this.logging,l=ir(n,"Alternation",r),u=this.atn.decisionMap[l].decision,c=st(wl({maxLookahead:1,occurrence:r,prodType:"Alternation",rule:n}),f=>st(f,d=>d[0]));if(Dl(c,!1)&&!s){const f=Io(c,(d,h,m)=>(rs(h,g=>{g&&(d[g.tokenTypeIdx]=m,rs(g.categoryMatches,A=>{d[A]=m}))}),d),{});return i?function(d){var h;const m=this.LA(1),g=f[m.tokenTypeIdx];if(d!==void 0&&g!==void 0){const A=(h=d[g])===null||h===void 0?void 0:h.GATE;if(A!==void 0&&A.call(this)===!1)return}return g}:function(){const d=this.LA(1);return f[d.tokenTypeIdx]}}else return i?function(f){const d=new qf,h=f===void 0?0:f.length;for(let g=0;g<h;g++){const A=f?.[g].GATE;d.set(g,A===void 0||A.call(this))}const m=vs.call(this,a,u,d,o);return typeof m=="number"?m:void 0}:function(){const f=vs.call(this,a,u,Ml,o);return typeof f=="number"?f:void 0}}buildLookaheadForOptional(e){const{prodOccurrence:r,rule:n,prodType:i,dynamicTokensEnabled:s}=e,a=this.dfas,o=this.logging,l=ir(n,i,r),u=this.atn.decisionMap[l].decision,c=st(wl({maxLookahead:1,occurrence:r,prodType:i,rule:n}),f=>st(f,d=>d[0]));if(Dl(c)&&c[0][0]&&!s){const f=c[0],d=jd(f);if(d.length===1&&Fd(d[0].categoryMatches)){const h=d[0].tokenTypeIdx;return function(){return this.LA(1).tokenTypeIdx===h}}else{const h=Io(d,(m,g)=>(g!==void 0&&(m[g.tokenTypeIdx]=!0,rs(g.categoryMatches,A=>{m[A]=!0})),m),{});return function(){const m=this.LA(1);return h[m.tokenTypeIdx]===!0}}}return function(){const f=vs.call(this,a,u,Ml,o);return typeof f=="object"?!1:f===0}}}function Dl(t,e=!0){const r=new Set;for(const n of t){const i=new Set;for(const s of n){if(s===void 0){if(e)break;return!1}const a=[s.tokenTypeIdx].concat(s.categoryMatches);for(const o of a)if(r.has(o)){if(!i.has(o))return!1}else r.add(o),i.add(o)}}return!0}function qE(t){const e=t.decisionStates.length,r=Array(e);for(let n=0;n<e;n++)r[n]=zE(t.decisionStates[n],n);return r}function vs(t,e,r,n){const i=t[e](r);let s=i.start;if(s===void 0){const a=aA(i.atnStartState);s=Qf(i,Xf(a)),i.start=s}return XE.apply(this,[i,s,r,n])}function XE(t,e,r,n){let i=e,s=1;const a=[];let o=this.LA(s++);for(;;){let l=rA(i,o);if(l===void 0&&(l=QE.apply(this,[t,i,o,s,r,n])),l===yi)return tA(a,i,o);if(l.isAcceptState===!0)return l.prediction;i=l,a.push(o),o=this.LA(s++)}}function QE(t,e,r,n,i,s){const a=nA(e.configs,r,i);if(a.size===0)return Ul(t,e,r,yi),yi;let o=Xf(a);const l=sA(a,i);if(l!==void 0)o.isAcceptState=!0,o.prediction=l,o.configs.uniqueAlt=l;else if(cA(a)){const u=Gd(a.alts);o.isAcceptState=!0,o.prediction=u,o.configs.uniqueAlt=u,ZE.apply(this,[t,n,a.alts,s])}return o=Ul(t,e,r,o),o}function ZE(t,e,r,n){const i=[];for(let u=1;u<=e;u++)i.push(this.LA(u).tokenType);const s=t.atnStartState,a=s.rule,o=s.production,l=JE({topLevelRule:a,ambiguityIndices:r,production:o,prefixPath:i});n(l)}function JE(t){const e=st(t.prefixPath,i=>Jt(i)).join(", "),r=t.production.idx===0?"":t.production.idx;let n=`Ambiguous Alternatives Detected: <${t.ambiguityIndices.join(", ")}> in <${eA(t.production)}${r}> inside <${t.topLevelRule.name}> Rule,
|
|
112
112
|
<${e}> may appears as a prefix path in all these alternatives.
|
|
113
113
|
`;return n=n+`See: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#AMBIGUOUS_ALTERNATIVES
|
|
114
|
-
For Further details.`,n}function nE(t){if(t instanceof ce)return"SUBRULE";if(t instanceof ie)return"OPTION";if(t instanceof ye)return"OR";if(t instanceof xe)return"AT_LEAST_ONE";if(t instanceof Se)return"AT_LEAST_ONE_SEP";if(t instanceof ge)return"MANY_SEP";if(t instanceof W)return"MANY";if(t instanceof B)return"CONSUME";throw Error("non exhaustive match")}function iE(t,e,r){const n=qd(e.configs.elements,s=>s.state.transitions),i=Xd(n.filter(s=>s instanceof yo).map(s=>s.tokenType),s=>s.tokenTypeIdx);return{actualToken:r,possibleTokenTypes:i,tokenPath:t}}function sE(t,e){return t.edges[e.tokenTypeIdx]}function aE(t,e,r){const n=new ga,i=[];for(const a of t.elements){if(r.is(a.alt)===!1)continue;if(a.state.type===Tn){i.push(a);continue}const o=a.state.transitions.length;for(let l=0;l<o;l++){const u=a.state.transitions[l],c=oE(u,e);c!==void 0&&n.add({state:c,alt:a.alt,stack:a.stack})}}let s;if(i.length===0&&n.size===1&&(s=n),s===void 0){s=new ga;for(const a of n.elements)Ti(a,s)}if(i.length>0&&!fE(s))for(const a of i)s.add(a);return s}function oE(t,e){if(t instanceof yo&&Af(e,t.tokenType))return t.target}function lE(t,e){let r;for(const n of t.elements)if(e.is(n.alt)===!0){if(r===void 0)r=n.alt;else if(r!==n.alt)return}return r}function Qf(t){return{configs:t,edges:{},isAcceptState:!1,prediction:-1}}function Fl(t,e,r,n){return n=Zf(t,n),e.edges[r.tokenTypeIdx]=n,n}function Zf(t,e){if(e===vi)return e;const r=e.configs.key,n=t.states[r];return n!==void 0?n:(e.configs.finalize(),t.states[r]=e,e)}function uE(t){const e=new ga,r=t.transitions.length;for(let n=0;n<r;n++){const i={state:t.transitions[n].target,alt:n,stack:[]};Ti(i,e)}return e}function Ti(t,e){const r=t.state;if(r.type===Tn){if(t.stack.length>0){const i=[...t.stack],s={state:i.pop(),alt:t.alt,stack:i};Ti(s,e)}else e.add(t);return}r.epsilonOnlyTransitions||e.add(t);const n=r.transitions.length;for(let i=0;i<n;i++){const s=r.transitions[i],a=cE(t,s);a!==void 0&&Ti(a,e)}}function cE(t,e){if(e instanceof Hf)return{state:e.target,alt:t.alt,stack:t.stack};if(e instanceof vo){const r=[...t.stack,e.followState];return{state:e.target,alt:t.alt,stack:r}}}function fE(t){for(const e of t.elements)if(e.state.type===Tn)return!0;return!1}function dE(t){for(const e of t.elements)if(e.state.type!==Tn)return!1;return!0}function hE(t){if(dE(t))return!0;const e=pE(t.elements);return mE(e)&&!gE(e)}function pE(t){const e=new Map;for(const r of t){const n=qf(r,!1);let i=e.get(n);i===void 0&&(i={},e.set(n,i)),i[r.alt]=!0}return e}function mE(t){for(const e of Array.from(t.values()))if(Object.keys(e).length>1)return!0;return!1}function gE(t){for(const e of Array.from(t.values()))if(Object.keys(e).length===1)return!0;return!1}var jl;(function(t){function e(r){return typeof r=="string"}t.is=e})(jl||(jl={}));var ya;(function(t){function e(r){return typeof r=="string"}t.is=e})(ya||(ya={}));var Gl;(function(t){t.MIN_VALUE=-2147483648,t.MAX_VALUE=2147483647;function e(r){return typeof r=="number"&&t.MIN_VALUE<=r&&r<=t.MAX_VALUE}t.is=e})(Gl||(Gl={}));var Ri;(function(t){t.MIN_VALUE=0,t.MAX_VALUE=2147483647;function e(r){return typeof r=="number"&&t.MIN_VALUE<=r&&r<=t.MAX_VALUE}t.is=e})(Ri||(Ri={}));var M;(function(t){function e(n,i){return n===Number.MAX_VALUE&&(n=Ri.MAX_VALUE),i===Number.MAX_VALUE&&(i=Ri.MAX_VALUE),{line:n,character:i}}t.create=e;function r(n){let i=n;return p.objectLiteral(i)&&p.uinteger(i.line)&&p.uinteger(i.character)}t.is=r})(M||(M={}));var O;(function(t){function e(n,i,s,a){if(p.uinteger(n)&&p.uinteger(i)&&p.uinteger(s)&&p.uinteger(a))return{start:M.create(n,i),end:M.create(s,a)};if(M.is(n)&&M.is(i))return{start:n,end:i};throw new Error(`Range#create called with invalid arguments[${n}, ${i}, ${s}, ${a}]`)}t.create=e;function r(n){let i=n;return p.objectLiteral(i)&&M.is(i.start)&&M.is(i.end)}t.is=r})(O||(O={}));var $i;(function(t){function e(n,i){return{uri:n,range:i}}t.create=e;function r(n){let i=n;return p.objectLiteral(i)&&O.is(i.range)&&(p.string(i.uri)||p.undefined(i.uri))}t.is=r})($i||($i={}));var Bl;(function(t){function e(n,i,s,a){return{targetUri:n,targetRange:i,targetSelectionRange:s,originSelectionRange:a}}t.create=e;function r(n){let i=n;return p.objectLiteral(i)&&O.is(i.targetRange)&&p.string(i.targetUri)&&O.is(i.targetSelectionRange)&&(O.is(i.originSelectionRange)||p.undefined(i.originSelectionRange))}t.is=r})(Bl||(Bl={}));var va;(function(t){function e(n,i,s,a){return{red:n,green:i,blue:s,alpha:a}}t.create=e;function r(n){const i=n;return p.objectLiteral(i)&&p.numberRange(i.red,0,1)&&p.numberRange(i.green,0,1)&&p.numberRange(i.blue,0,1)&&p.numberRange(i.alpha,0,1)}t.is=r})(va||(va={}));var Kl;(function(t){function e(n,i){return{range:n,color:i}}t.create=e;function r(n){const i=n;return p.objectLiteral(i)&&O.is(i.range)&&va.is(i.color)}t.is=r})(Kl||(Kl={}));var Vl;(function(t){function e(n,i,s){return{label:n,textEdit:i,additionalTextEdits:s}}t.create=e;function r(n){const i=n;return p.objectLiteral(i)&&p.string(i.label)&&(p.undefined(i.textEdit)||or.is(i))&&(p.undefined(i.additionalTextEdits)||p.typedArray(i.additionalTextEdits,or.is))}t.is=r})(Vl||(Vl={}));var Hl;(function(t){t.Comment="comment",t.Imports="imports",t.Region="region"})(Hl||(Hl={}));var zl;(function(t){function e(n,i,s,a,o,l){const u={startLine:n,endLine:i};return p.defined(s)&&(u.startCharacter=s),p.defined(a)&&(u.endCharacter=a),p.defined(o)&&(u.kind=o),p.defined(l)&&(u.collapsedText=l),u}t.create=e;function r(n){const i=n;return p.objectLiteral(i)&&p.uinteger(i.startLine)&&p.uinteger(i.startLine)&&(p.undefined(i.startCharacter)||p.uinteger(i.startCharacter))&&(p.undefined(i.endCharacter)||p.uinteger(i.endCharacter))&&(p.undefined(i.kind)||p.string(i.kind))}t.is=r})(zl||(zl={}));var Ta;(function(t){function e(n,i){return{location:n,message:i}}t.create=e;function r(n){let i=n;return p.defined(i)&&$i.is(i.location)&&p.string(i.message)}t.is=r})(Ta||(Ta={}));var Wl;(function(t){t.Error=1,t.Warning=2,t.Information=3,t.Hint=4})(Wl||(Wl={}));var Yl;(function(t){t.Unnecessary=1,t.Deprecated=2})(Yl||(Yl={}));var ql;(function(t){function e(r){const n=r;return p.objectLiteral(n)&&p.string(n.href)}t.is=e})(ql||(ql={}));var Ei;(function(t){function e(n,i,s,a,o,l){let u={range:n,message:i};return p.defined(s)&&(u.severity=s),p.defined(a)&&(u.code=a),p.defined(o)&&(u.source=o),p.defined(l)&&(u.relatedInformation=l),u}t.create=e;function r(n){var i;let s=n;return p.defined(s)&&O.is(s.range)&&p.string(s.message)&&(p.number(s.severity)||p.undefined(s.severity))&&(p.integer(s.code)||p.string(s.code)||p.undefined(s.code))&&(p.undefined(s.codeDescription)||p.string((i=s.codeDescription)===null||i===void 0?void 0:i.href))&&(p.string(s.source)||p.undefined(s.source))&&(p.undefined(s.relatedInformation)||p.typedArray(s.relatedInformation,Ta.is))}t.is=r})(Ei||(Ei={}));var ar;(function(t){function e(n,i,...s){let a={title:n,command:i};return p.defined(s)&&s.length>0&&(a.arguments=s),a}t.create=e;function r(n){let i=n;return p.defined(i)&&p.string(i.title)&&p.string(i.command)}t.is=r})(ar||(ar={}));var or;(function(t){function e(s,a){return{range:s,newText:a}}t.replace=e;function r(s,a){return{range:{start:s,end:s},newText:a}}t.insert=r;function n(s){return{range:s,newText:""}}t.del=n;function i(s){const a=s;return p.objectLiteral(a)&&p.string(a.newText)&&O.is(a.range)}t.is=i})(or||(or={}));var Ra;(function(t){function e(n,i,s){const a={label:n};return i!==void 0&&(a.needsConfirmation=i),s!==void 0&&(a.description=s),a}t.create=e;function r(n){const i=n;return p.objectLiteral(i)&&p.string(i.label)&&(p.boolean(i.needsConfirmation)||i.needsConfirmation===void 0)&&(p.string(i.description)||i.description===void 0)}t.is=r})(Ra||(Ra={}));var lr;(function(t){function e(r){const n=r;return p.string(n)}t.is=e})(lr||(lr={}));var Xl;(function(t){function e(s,a,o){return{range:s,newText:a,annotationId:o}}t.replace=e;function r(s,a,o){return{range:{start:s,end:s},newText:a,annotationId:o}}t.insert=r;function n(s,a){return{range:s,newText:"",annotationId:a}}t.del=n;function i(s){const a=s;return or.is(a)&&(Ra.is(a.annotationId)||lr.is(a.annotationId))}t.is=i})(Xl||(Xl={}));var $a;(function(t){function e(n,i){return{textDocument:n,edits:i}}t.create=e;function r(n){let i=n;return p.defined(i)&&Sa.is(i.textDocument)&&Array.isArray(i.edits)}t.is=r})($a||($a={}));var Ea;(function(t){function e(n,i,s){let a={kind:"create",uri:n};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 r(n){let i=n;return i&&i.kind==="create"&&p.string(i.uri)&&(i.options===void 0||(i.options.overwrite===void 0||p.boolean(i.options.overwrite))&&(i.options.ignoreIfExists===void 0||p.boolean(i.options.ignoreIfExists)))&&(i.annotationId===void 0||lr.is(i.annotationId))}t.is=r})(Ea||(Ea={}));var Aa;(function(t){function e(n,i,s,a){let o={kind:"rename",oldUri:n,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 r(n){let i=n;return i&&i.kind==="rename"&&p.string(i.oldUri)&&p.string(i.newUri)&&(i.options===void 0||(i.options.overwrite===void 0||p.boolean(i.options.overwrite))&&(i.options.ignoreIfExists===void 0||p.boolean(i.options.ignoreIfExists)))&&(i.annotationId===void 0||lr.is(i.annotationId))}t.is=r})(Aa||(Aa={}));var ka;(function(t){function e(n,i,s){let a={kind:"delete",uri:n};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 r(n){let i=n;return i&&i.kind==="delete"&&p.string(i.uri)&&(i.options===void 0||(i.options.recursive===void 0||p.boolean(i.options.recursive))&&(i.options.ignoreIfNotExists===void 0||p.boolean(i.options.ignoreIfNotExists)))&&(i.annotationId===void 0||lr.is(i.annotationId))}t.is=r})(ka||(ka={}));var xa;(function(t){function e(r){let n=r;return n&&(n.changes!==void 0||n.documentChanges!==void 0)&&(n.documentChanges===void 0||n.documentChanges.every(i=>p.string(i.kind)?Ea.is(i)||Aa.is(i)||ka.is(i):$a.is(i)))}t.is=e})(xa||(xa={}));var Ql;(function(t){function e(n){return{uri:n}}t.create=e;function r(n){let i=n;return p.defined(i)&&p.string(i.uri)}t.is=r})(Ql||(Ql={}));var Zl;(function(t){function e(n,i){return{uri:n,version:i}}t.create=e;function r(n){let i=n;return p.defined(i)&&p.string(i.uri)&&p.integer(i.version)}t.is=r})(Zl||(Zl={}));var Sa;(function(t){function e(n,i){return{uri:n,version:i}}t.create=e;function r(n){let i=n;return p.defined(i)&&p.string(i.uri)&&(i.version===null||p.integer(i.version))}t.is=r})(Sa||(Sa={}));var Jl;(function(t){function e(n,i,s,a){return{uri:n,languageId:i,version:s,text:a}}t.create=e;function r(n){let i=n;return p.defined(i)&&p.string(i.uri)&&p.string(i.languageId)&&p.integer(i.version)&&p.string(i.text)}t.is=r})(Jl||(Jl={}));var Ia;(function(t){t.PlainText="plaintext",t.Markdown="markdown";function e(r){const n=r;return n===t.PlainText||n===t.Markdown}t.is=e})(Ia||(Ia={}));var on;(function(t){function e(r){const n=r;return p.objectLiteral(r)&&Ia.is(n.kind)&&p.string(n.value)}t.is=e})(on||(on={}));var eu;(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})(eu||(eu={}));var tu;(function(t){t.PlainText=1,t.Snippet=2})(tu||(tu={}));var ru;(function(t){t.Deprecated=1})(ru||(ru={}));var nu;(function(t){function e(n,i,s){return{newText:n,insert:i,replace:s}}t.create=e;function r(n){const i=n;return i&&p.string(i.newText)&&O.is(i.insert)&&O.is(i.replace)}t.is=r})(nu||(nu={}));var iu;(function(t){t.asIs=1,t.adjustIndentation=2})(iu||(iu={}));var su;(function(t){function e(r){const n=r;return n&&(p.string(n.detail)||n.detail===void 0)&&(p.string(n.description)||n.description===void 0)}t.is=e})(su||(su={}));var au;(function(t){function e(r){return{label:r}}t.create=e})(au||(au={}));var ou;(function(t){function e(r,n){return{items:r||[],isIncomplete:!!n}}t.create=e})(ou||(ou={}));var Ai;(function(t){function e(n){return n.replace(/[\\`*_{}[\]()#+\-.!]/g,"\\$&")}t.fromPlainText=e;function r(n){const i=n;return p.string(i)||p.objectLiteral(i)&&p.string(i.language)&&p.string(i.value)}t.is=r})(Ai||(Ai={}));var lu;(function(t){function e(r){let n=r;return!!n&&p.objectLiteral(n)&&(on.is(n.contents)||Ai.is(n.contents)||p.typedArray(n.contents,Ai.is))&&(r.range===void 0||O.is(r.range))}t.is=e})(lu||(lu={}));var uu;(function(t){function e(r,n){return n?{label:r,documentation:n}:{label:r}}t.create=e})(uu||(uu={}));var cu;(function(t){function e(r,n,...i){let s={label:r};return p.defined(n)&&(s.documentation=n),p.defined(i)?s.parameters=i:s.parameters=[],s}t.create=e})(cu||(cu={}));var fu;(function(t){t.Text=1,t.Read=2,t.Write=3})(fu||(fu={}));var du;(function(t){function e(r,n){let i={range:r};return p.number(n)&&(i.kind=n),i}t.create=e})(du||(du={}));var hu;(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})(hu||(hu={}));var pu;(function(t){t.Deprecated=1})(pu||(pu={}));var mu;(function(t){function e(r,n,i,s,a){let o={name:r,kind:n,location:{uri:s,range:i}};return a&&(o.containerName=a),o}t.create=e})(mu||(mu={}));var gu;(function(t){function e(r,n,i,s){return s!==void 0?{name:r,kind:n,location:{uri:i,range:s}}:{name:r,kind:n,location:{uri:i}}}t.create=e})(gu||(gu={}));var yu;(function(t){function e(n,i,s,a,o,l){let u={name:n,detail:i,kind:s,range:a,selectionRange:o};return l!==void 0&&(u.children=l),u}t.create=e;function r(n){let i=n;return i&&p.string(i.name)&&p.number(i.kind)&&O.is(i.range)&&O.is(i.selectionRange)&&(i.detail===void 0||p.string(i.detail))&&(i.deprecated===void 0||p.boolean(i.deprecated))&&(i.children===void 0||Array.isArray(i.children))&&(i.tags===void 0||Array.isArray(i.tags))}t.is=r})(yu||(yu={}));var vu;(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"})(vu||(vu={}));var ki;(function(t){t.Invoked=1,t.Automatic=2})(ki||(ki={}));var Tu;(function(t){function e(n,i,s){let a={diagnostics:n};return i!=null&&(a.only=i),s!=null&&(a.triggerKind=s),a}t.create=e;function r(n){let i=n;return p.defined(i)&&p.typedArray(i.diagnostics,Ei.is)&&(i.only===void 0||p.typedArray(i.only,p.string))&&(i.triggerKind===void 0||i.triggerKind===ki.Invoked||i.triggerKind===ki.Automatic)}t.is=r})(Tu||(Tu={}));var Ru;(function(t){function e(n,i,s){let a={title:n},o=!0;return typeof i=="string"?(o=!1,a.kind=i):ar.is(i)?a.command=i:a.edit=i,o&&s!==void 0&&(a.kind=s),a}t.create=e;function r(n){let i=n;return i&&p.string(i.title)&&(i.diagnostics===void 0||p.typedArray(i.diagnostics,Ei.is))&&(i.kind===void 0||p.string(i.kind))&&(i.edit!==void 0||i.command!==void 0)&&(i.command===void 0||ar.is(i.command))&&(i.isPreferred===void 0||p.boolean(i.isPreferred))&&(i.edit===void 0||xa.is(i.edit))}t.is=r})(Ru||(Ru={}));var $u;(function(t){function e(n,i){let s={range:n};return p.defined(i)&&(s.data=i),s}t.create=e;function r(n){let i=n;return p.defined(i)&&O.is(i.range)&&(p.undefined(i.command)||ar.is(i.command))}t.is=r})($u||($u={}));var Eu;(function(t){function e(n,i){return{tabSize:n,insertSpaces:i}}t.create=e;function r(n){let i=n;return p.defined(i)&&p.uinteger(i.tabSize)&&p.boolean(i.insertSpaces)}t.is=r})(Eu||(Eu={}));var Au;(function(t){function e(n,i,s){return{range:n,target:i,data:s}}t.create=e;function r(n){let i=n;return p.defined(i)&&O.is(i.range)&&(p.undefined(i.target)||p.string(i.target))}t.is=r})(Au||(Au={}));var ku;(function(t){function e(n,i){return{range:n,parent:i}}t.create=e;function r(n){let i=n;return p.objectLiteral(i)&&O.is(i.range)&&(i.parent===void 0||t.is(i.parent))}t.is=r})(ku||(ku={}));var xu;(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"})(xu||(xu={}));var Su;(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"})(Su||(Su={}));var Iu;(function(t){function e(r){const n=r;return p.objectLiteral(n)&&(n.resultId===void 0||typeof n.resultId=="string")&&Array.isArray(n.data)&&(n.data.length===0||typeof n.data[0]=="number")}t.is=e})(Iu||(Iu={}));var wu;(function(t){function e(n,i){return{range:n,text:i}}t.create=e;function r(n){const i=n;return i!=null&&O.is(i.range)&&p.string(i.text)}t.is=r})(wu||(wu={}));var bu;(function(t){function e(n,i,s){return{range:n,variableName:i,caseSensitiveLookup:s}}t.create=e;function r(n){const i=n;return i!=null&&O.is(i.range)&&p.boolean(i.caseSensitiveLookup)&&(p.string(i.variableName)||i.variableName===void 0)}t.is=r})(bu||(bu={}));var Cu;(function(t){function e(n,i){return{range:n,expression:i}}t.create=e;function r(n){const i=n;return i!=null&&O.is(i.range)&&(p.string(i.expression)||i.expression===void 0)}t.is=r})(Cu||(Cu={}));var Nu;(function(t){function e(n,i){return{frameId:n,stoppedLocation:i}}t.create=e;function r(n){const i=n;return p.defined(i)&&O.is(n.stoppedLocation)}t.is=r})(Nu||(Nu={}));var wa;(function(t){t.Type=1,t.Parameter=2;function e(r){return r===1||r===2}t.is=e})(wa||(wa={}));var ba;(function(t){function e(n){return{value:n}}t.create=e;function r(n){const i=n;return p.objectLiteral(i)&&(i.tooltip===void 0||p.string(i.tooltip)||on.is(i.tooltip))&&(i.location===void 0||$i.is(i.location))&&(i.command===void 0||ar.is(i.command))}t.is=r})(ba||(ba={}));var _u;(function(t){function e(n,i,s){const a={position:n,label:i};return s!==void 0&&(a.kind=s),a}t.create=e;function r(n){const i=n;return p.objectLiteral(i)&&M.is(i.position)&&(p.string(i.label)||p.typedArray(i.label,ba.is))&&(i.kind===void 0||wa.is(i.kind))&&i.textEdits===void 0||p.typedArray(i.textEdits,or.is)&&(i.tooltip===void 0||p.string(i.tooltip)||on.is(i.tooltip))&&(i.paddingLeft===void 0||p.boolean(i.paddingLeft))&&(i.paddingRight===void 0||p.boolean(i.paddingRight))}t.is=r})(_u||(_u={}));var Lu;(function(t){function e(r){return{kind:"snippet",value:r}}t.createSnippet=e})(Lu||(Lu={}));var Ou;(function(t){function e(r,n,i,s){return{insertText:r,filterText:n,range:i,command:s}}t.create=e})(Ou||(Ou={}));var Pu;(function(t){function e(r){return{items:r}}t.create=e})(Pu||(Pu={}));var Mu;(function(t){t.Invoked=0,t.Automatic=1})(Mu||(Mu={}));var Du;(function(t){function e(r,n){return{range:r,text:n}}t.create=e})(Du||(Du={}));var Uu;(function(t){function e(r,n){return{triggerKind:r,selectedCompletionInfo:n}}t.create=e})(Uu||(Uu={}));var Fu;(function(t){function e(r){const n=r;return p.objectLiteral(n)&&ya.is(n.uri)&&p.string(n.name)}t.is=e})(Fu||(Fu={}));var ju;(function(t){function e(s,a,o,l){return new yE(s,a,o,l)}t.create=e;function r(s){let a=s;return!!(p.defined(a)&&p.string(a.uri)&&(p.undefined(a.languageId)||p.string(a.languageId))&&p.uinteger(a.lineCount)&&p.func(a.getText)&&p.func(a.positionAt)&&p.func(a.offsetAt))}t.is=r;function n(s,a){let o=s.getText(),l=i(a,(c,f)=>{let d=c.range.start.line-f.range.start.line;return d===0?c.range.start.character-f.range.start.character:d}),u=o.length;for(let c=l.length-1;c>=0;c--){let f=l[c],d=s.offsetAt(f.range.start),h=s.offsetAt(f.range.end);if(h<=u)o=o.substring(0,d)+f.newText+o.substring(h,o.length);else throw new Error("Overlapping edit");u=d}return o}t.applyEdits=n;function i(s,a){if(s.length<=1)return s;const o=s.length/2|0,l=s.slice(0,o),u=s.slice(o);i(l,a),i(u,a);let c=0,f=0,d=0;for(;c<l.length&&f<u.length;)a(l[c],u[f])<=0?s[d++]=l[c++]:s[d++]=u[f++];for(;c<l.length;)s[d++]=l[c++];for(;f<u.length;)s[d++]=u[f++];return s}})(ju||(ju={}));let yE=class{constructor(t,e,r,n){this._uri=t,this._languageId=e,this._version=r,this._content=n,this._lineOffsets=void 0}get uri(){return this._uri}get languageId(){return this._languageId}get version(){return this._version}getText(t){if(t){let e=this.offsetAt(t.start),r=this.offsetAt(t.end);return this._content.substring(e,r)}return this._content}update(t,e){this._content=t.text,this._version=e,this._lineOffsets=void 0}getLineOffsets(){if(this._lineOffsets===void 0){let t=[],e=this._content,r=!0;for(let n=0;n<e.length;n++){r&&(t.push(n),r=!1);let i=e.charAt(n);r=i==="\r"||i===`
|
|
114
|
+
For Further details.`,n}function eA(t){if(t instanceof ce)return"SUBRULE";if(t instanceof ie)return"OPTION";if(t instanceof ye)return"OR";if(t instanceof xe)return"AT_LEAST_ONE";if(t instanceof Se)return"AT_LEAST_ONE_SEP";if(t instanceof ge)return"MANY_SEP";if(t instanceof z)return"MANY";if(t instanceof B)return"CONSUME";throw Error("non exhaustive match")}function tA(t,e,r){const n=Wd(e.configs.elements,s=>s.state.transitions),i=zd(n.filter(s=>s instanceof go).map(s=>s.tokenType),s=>s.tokenTypeIdx);return{actualToken:r,possibleTokenTypes:i,tokenPath:t}}function rA(t,e){return t.edges[e.tokenTypeIdx]}function nA(t,e,r){const n=new ma,i=[];for(const a of t.elements){if(r.is(a.alt)===!1)continue;if(a.state.type===vn){i.push(a);continue}const o=a.state.transitions.length;for(let l=0;l<o;l++){const u=a.state.transitions[l],c=iA(u,e);c!==void 0&&n.add({state:c,alt:a.alt,stack:a.stack})}}let s;if(i.length===0&&n.size===1&&(s=n),s===void 0){s=new ma;for(const a of n.elements)vi(a,s)}if(i.length>0&&!lA(s))for(const a of i)s.add(a);return s}function iA(t,e){if(t instanceof go&&Af(e,t.tokenType))return t.target}function sA(t,e){let r;for(const n of t.elements)if(e.is(n.alt)===!0){if(r===void 0)r=n.alt;else if(r!==n.alt)return}return r}function Xf(t){return{configs:t,edges:{},isAcceptState:!1,prediction:-1}}function Ul(t,e,r,n){return n=Qf(t,n),e.edges[r.tokenTypeIdx]=n,n}function Qf(t,e){if(e===yi)return e;const r=e.configs.key,n=t.states[r];return n!==void 0?n:(e.configs.finalize(),t.states[r]=e,e)}function aA(t){const e=new ma,r=t.transitions.length;for(let n=0;n<r;n++){const i={state:t.transitions[n].target,alt:n,stack:[]};vi(i,e)}return e}function vi(t,e){const r=t.state;if(r.type===vn){if(t.stack.length>0){const i=[...t.stack],s={state:i.pop(),alt:t.alt,stack:i};vi(s,e)}else e.add(t);return}r.epsilonOnlyTransitions||e.add(t);const n=r.transitions.length;for(let i=0;i<n;i++){const s=r.transitions[i],a=oA(t,s);a!==void 0&&vi(a,e)}}function oA(t,e){if(e instanceof Vf)return{state:e.target,alt:t.alt,stack:t.stack};if(e instanceof yo){const r=[...t.stack,e.followState];return{state:e.target,alt:t.alt,stack:r}}}function lA(t){for(const e of t.elements)if(e.state.type===vn)return!0;return!1}function uA(t){for(const e of t.elements)if(e.state.type!==vn)return!1;return!0}function cA(t){if(uA(t))return!0;const e=fA(t.elements);return dA(e)&&!hA(e)}function fA(t){const e=new Map;for(const r of t){const n=Yf(r,!1);let i=e.get(n);i===void 0&&(i={},e.set(n,i)),i[r.alt]=!0}return e}function dA(t){for(const e of Array.from(t.values()))if(Object.keys(e).length>1)return!0;return!1}function hA(t){for(const e of Array.from(t.values()))if(Object.keys(e).length===1)return!0;return!1}var Fl;(function(t){function e(r){return typeof r=="string"}t.is=e})(Fl||(Fl={}));var ga;(function(t){function e(r){return typeof r=="string"}t.is=e})(ga||(ga={}));var jl;(function(t){t.MIN_VALUE=-2147483648,t.MAX_VALUE=2147483647;function e(r){return typeof r=="number"&&t.MIN_VALUE<=r&&r<=t.MAX_VALUE}t.is=e})(jl||(jl={}));var Ti;(function(t){t.MIN_VALUE=0,t.MAX_VALUE=2147483647;function e(r){return typeof r=="number"&&t.MIN_VALUE<=r&&r<=t.MAX_VALUE}t.is=e})(Ti||(Ti={}));var M;(function(t){function e(n,i){return n===Number.MAX_VALUE&&(n=Ti.MAX_VALUE),i===Number.MAX_VALUE&&(i=Ti.MAX_VALUE),{line:n,character:i}}t.create=e;function r(n){let i=n;return p.objectLiteral(i)&&p.uinteger(i.line)&&p.uinteger(i.character)}t.is=r})(M||(M={}));var O;(function(t){function e(n,i,s,a){if(p.uinteger(n)&&p.uinteger(i)&&p.uinteger(s)&&p.uinteger(a))return{start:M.create(n,i),end:M.create(s,a)};if(M.is(n)&&M.is(i))return{start:n,end:i};throw new Error(`Range#create called with invalid arguments[${n}, ${i}, ${s}, ${a}]`)}t.create=e;function r(n){let i=n;return p.objectLiteral(i)&&M.is(i.start)&&M.is(i.end)}t.is=r})(O||(O={}));var Ri;(function(t){function e(n,i){return{uri:n,range:i}}t.create=e;function r(n){let i=n;return p.objectLiteral(i)&&O.is(i.range)&&(p.string(i.uri)||p.undefined(i.uri))}t.is=r})(Ri||(Ri={}));var Gl;(function(t){function e(n,i,s,a){return{targetUri:n,targetRange:i,targetSelectionRange:s,originSelectionRange:a}}t.create=e;function r(n){let i=n;return p.objectLiteral(i)&&O.is(i.targetRange)&&p.string(i.targetUri)&&O.is(i.targetSelectionRange)&&(O.is(i.originSelectionRange)||p.undefined(i.originSelectionRange))}t.is=r})(Gl||(Gl={}));var ya;(function(t){function e(n,i,s,a){return{red:n,green:i,blue:s,alpha:a}}t.create=e;function r(n){const i=n;return p.objectLiteral(i)&&p.numberRange(i.red,0,1)&&p.numberRange(i.green,0,1)&&p.numberRange(i.blue,0,1)&&p.numberRange(i.alpha,0,1)}t.is=r})(ya||(ya={}));var Bl;(function(t){function e(n,i){return{range:n,color:i}}t.create=e;function r(n){const i=n;return p.objectLiteral(i)&&O.is(i.range)&&ya.is(i.color)}t.is=r})(Bl||(Bl={}));var Kl;(function(t){function e(n,i,s){return{label:n,textEdit:i,additionalTextEdits:s}}t.create=e;function r(n){const i=n;return p.objectLiteral(i)&&p.string(i.label)&&(p.undefined(i.textEdit)||ar.is(i))&&(p.undefined(i.additionalTextEdits)||p.typedArray(i.additionalTextEdits,ar.is))}t.is=r})(Kl||(Kl={}));var Vl;(function(t){t.Comment="comment",t.Imports="imports",t.Region="region"})(Vl||(Vl={}));var Hl;(function(t){function e(n,i,s,a,o,l){const u={startLine:n,endLine:i};return p.defined(s)&&(u.startCharacter=s),p.defined(a)&&(u.endCharacter=a),p.defined(o)&&(u.kind=o),p.defined(l)&&(u.collapsedText=l),u}t.create=e;function r(n){const i=n;return p.objectLiteral(i)&&p.uinteger(i.startLine)&&p.uinteger(i.startLine)&&(p.undefined(i.startCharacter)||p.uinteger(i.startCharacter))&&(p.undefined(i.endCharacter)||p.uinteger(i.endCharacter))&&(p.undefined(i.kind)||p.string(i.kind))}t.is=r})(Hl||(Hl={}));var va;(function(t){function e(n,i){return{location:n,message:i}}t.create=e;function r(n){let i=n;return p.defined(i)&&Ri.is(i.location)&&p.string(i.message)}t.is=r})(va||(va={}));var Wl;(function(t){t.Error=1,t.Warning=2,t.Information=3,t.Hint=4})(Wl||(Wl={}));var zl;(function(t){t.Unnecessary=1,t.Deprecated=2})(zl||(zl={}));var Yl;(function(t){function e(r){const n=r;return p.objectLiteral(n)&&p.string(n.href)}t.is=e})(Yl||(Yl={}));var Ei;(function(t){function e(n,i,s,a,o,l){let u={range:n,message:i};return p.defined(s)&&(u.severity=s),p.defined(a)&&(u.code=a),p.defined(o)&&(u.source=o),p.defined(l)&&(u.relatedInformation=l),u}t.create=e;function r(n){var i;let s=n;return p.defined(s)&&O.is(s.range)&&p.string(s.message)&&(p.number(s.severity)||p.undefined(s.severity))&&(p.integer(s.code)||p.string(s.code)||p.undefined(s.code))&&(p.undefined(s.codeDescription)||p.string((i=s.codeDescription)===null||i===void 0?void 0:i.href))&&(p.string(s.source)||p.undefined(s.source))&&(p.undefined(s.relatedInformation)||p.typedArray(s.relatedInformation,va.is))}t.is=r})(Ei||(Ei={}));var sr;(function(t){function e(n,i,...s){let a={title:n,command:i};return p.defined(s)&&s.length>0&&(a.arguments=s),a}t.create=e;function r(n){let i=n;return p.defined(i)&&p.string(i.title)&&p.string(i.command)}t.is=r})(sr||(sr={}));var ar;(function(t){function e(s,a){return{range:s,newText:a}}t.replace=e;function r(s,a){return{range:{start:s,end:s},newText:a}}t.insert=r;function n(s){return{range:s,newText:""}}t.del=n;function i(s){const a=s;return p.objectLiteral(a)&&p.string(a.newText)&&O.is(a.range)}t.is=i})(ar||(ar={}));var Ta;(function(t){function e(n,i,s){const a={label:n};return i!==void 0&&(a.needsConfirmation=i),s!==void 0&&(a.description=s),a}t.create=e;function r(n){const i=n;return p.objectLiteral(i)&&p.string(i.label)&&(p.boolean(i.needsConfirmation)||i.needsConfirmation===void 0)&&(p.string(i.description)||i.description===void 0)}t.is=r})(Ta||(Ta={}));var or;(function(t){function e(r){const n=r;return p.string(n)}t.is=e})(or||(or={}));var ql;(function(t){function e(s,a,o){return{range:s,newText:a,annotationId:o}}t.replace=e;function r(s,a,o){return{range:{start:s,end:s},newText:a,annotationId:o}}t.insert=r;function n(s,a){return{range:s,newText:"",annotationId:a}}t.del=n;function i(s){const a=s;return ar.is(a)&&(Ta.is(a.annotationId)||or.is(a.annotationId))}t.is=i})(ql||(ql={}));var Ra;(function(t){function e(n,i){return{textDocument:n,edits:i}}t.create=e;function r(n){let i=n;return p.defined(i)&&xa.is(i.textDocument)&&Array.isArray(i.edits)}t.is=r})(Ra||(Ra={}));var Ea;(function(t){function e(n,i,s){let a={kind:"create",uri:n};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 r(n){let i=n;return i&&i.kind==="create"&&p.string(i.uri)&&(i.options===void 0||(i.options.overwrite===void 0||p.boolean(i.options.overwrite))&&(i.options.ignoreIfExists===void 0||p.boolean(i.options.ignoreIfExists)))&&(i.annotationId===void 0||or.is(i.annotationId))}t.is=r})(Ea||(Ea={}));var Aa;(function(t){function e(n,i,s,a){let o={kind:"rename",oldUri:n,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 r(n){let i=n;return i&&i.kind==="rename"&&p.string(i.oldUri)&&p.string(i.newUri)&&(i.options===void 0||(i.options.overwrite===void 0||p.boolean(i.options.overwrite))&&(i.options.ignoreIfExists===void 0||p.boolean(i.options.ignoreIfExists)))&&(i.annotationId===void 0||or.is(i.annotationId))}t.is=r})(Aa||(Aa={}));var $a;(function(t){function e(n,i,s){let a={kind:"delete",uri:n};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 r(n){let i=n;return i&&i.kind==="delete"&&p.string(i.uri)&&(i.options===void 0||(i.options.recursive===void 0||p.boolean(i.options.recursive))&&(i.options.ignoreIfNotExists===void 0||p.boolean(i.options.ignoreIfNotExists)))&&(i.annotationId===void 0||or.is(i.annotationId))}t.is=r})($a||($a={}));var ka;(function(t){function e(r){let n=r;return n&&(n.changes!==void 0||n.documentChanges!==void 0)&&(n.documentChanges===void 0||n.documentChanges.every(i=>p.string(i.kind)?Ea.is(i)||Aa.is(i)||$a.is(i):Ra.is(i)))}t.is=e})(ka||(ka={}));var Xl;(function(t){function e(n){return{uri:n}}t.create=e;function r(n){let i=n;return p.defined(i)&&p.string(i.uri)}t.is=r})(Xl||(Xl={}));var Ql;(function(t){function e(n,i){return{uri:n,version:i}}t.create=e;function r(n){let i=n;return p.defined(i)&&p.string(i.uri)&&p.integer(i.version)}t.is=r})(Ql||(Ql={}));var xa;(function(t){function e(n,i){return{uri:n,version:i}}t.create=e;function r(n){let i=n;return p.defined(i)&&p.string(i.uri)&&(i.version===null||p.integer(i.version))}t.is=r})(xa||(xa={}));var Zl;(function(t){function e(n,i,s,a){return{uri:n,languageId:i,version:s,text:a}}t.create=e;function r(n){let i=n;return p.defined(i)&&p.string(i.uri)&&p.string(i.languageId)&&p.integer(i.version)&&p.string(i.text)}t.is=r})(Zl||(Zl={}));var Sa;(function(t){t.PlainText="plaintext",t.Markdown="markdown";function e(r){const n=r;return n===t.PlainText||n===t.Markdown}t.is=e})(Sa||(Sa={}));var an;(function(t){function e(r){const n=r;return p.objectLiteral(r)&&Sa.is(n.kind)&&p.string(n.value)}t.is=e})(an||(an={}));var Jl;(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})(Jl||(Jl={}));var eu;(function(t){t.PlainText=1,t.Snippet=2})(eu||(eu={}));var tu;(function(t){t.Deprecated=1})(tu||(tu={}));var ru;(function(t){function e(n,i,s){return{newText:n,insert:i,replace:s}}t.create=e;function r(n){const i=n;return i&&p.string(i.newText)&&O.is(i.insert)&&O.is(i.replace)}t.is=r})(ru||(ru={}));var nu;(function(t){t.asIs=1,t.adjustIndentation=2})(nu||(nu={}));var iu;(function(t){function e(r){const n=r;return n&&(p.string(n.detail)||n.detail===void 0)&&(p.string(n.description)||n.description===void 0)}t.is=e})(iu||(iu={}));var su;(function(t){function e(r){return{label:r}}t.create=e})(su||(su={}));var au;(function(t){function e(r,n){return{items:r||[],isIncomplete:!!n}}t.create=e})(au||(au={}));var Ai;(function(t){function e(n){return n.replace(/[\\`*_{}[\]()#+\-.!]/g,"\\$&")}t.fromPlainText=e;function r(n){const i=n;return p.string(i)||p.objectLiteral(i)&&p.string(i.language)&&p.string(i.value)}t.is=r})(Ai||(Ai={}));var ou;(function(t){function e(r){let n=r;return!!n&&p.objectLiteral(n)&&(an.is(n.contents)||Ai.is(n.contents)||p.typedArray(n.contents,Ai.is))&&(r.range===void 0||O.is(r.range))}t.is=e})(ou||(ou={}));var lu;(function(t){function e(r,n){return n?{label:r,documentation:n}:{label:r}}t.create=e})(lu||(lu={}));var uu;(function(t){function e(r,n,...i){let s={label:r};return p.defined(n)&&(s.documentation=n),p.defined(i)?s.parameters=i:s.parameters=[],s}t.create=e})(uu||(uu={}));var cu;(function(t){t.Text=1,t.Read=2,t.Write=3})(cu||(cu={}));var fu;(function(t){function e(r,n){let i={range:r};return p.number(n)&&(i.kind=n),i}t.create=e})(fu||(fu={}));var du;(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})(du||(du={}));var hu;(function(t){t.Deprecated=1})(hu||(hu={}));var pu;(function(t){function e(r,n,i,s,a){let o={name:r,kind:n,location:{uri:s,range:i}};return a&&(o.containerName=a),o}t.create=e})(pu||(pu={}));var mu;(function(t){function e(r,n,i,s){return s!==void 0?{name:r,kind:n,location:{uri:i,range:s}}:{name:r,kind:n,location:{uri:i}}}t.create=e})(mu||(mu={}));var gu;(function(t){function e(n,i,s,a,o,l){let u={name:n,detail:i,kind:s,range:a,selectionRange:o};return l!==void 0&&(u.children=l),u}t.create=e;function r(n){let i=n;return i&&p.string(i.name)&&p.number(i.kind)&&O.is(i.range)&&O.is(i.selectionRange)&&(i.detail===void 0||p.string(i.detail))&&(i.deprecated===void 0||p.boolean(i.deprecated))&&(i.children===void 0||Array.isArray(i.children))&&(i.tags===void 0||Array.isArray(i.tags))}t.is=r})(gu||(gu={}));var yu;(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"})(yu||(yu={}));var $i;(function(t){t.Invoked=1,t.Automatic=2})($i||($i={}));var vu;(function(t){function e(n,i,s){let a={diagnostics:n};return i!=null&&(a.only=i),s!=null&&(a.triggerKind=s),a}t.create=e;function r(n){let i=n;return p.defined(i)&&p.typedArray(i.diagnostics,Ei.is)&&(i.only===void 0||p.typedArray(i.only,p.string))&&(i.triggerKind===void 0||i.triggerKind===$i.Invoked||i.triggerKind===$i.Automatic)}t.is=r})(vu||(vu={}));var Tu;(function(t){function e(n,i,s){let a={title:n},o=!0;return typeof i=="string"?(o=!1,a.kind=i):sr.is(i)?a.command=i:a.edit=i,o&&s!==void 0&&(a.kind=s),a}t.create=e;function r(n){let i=n;return i&&p.string(i.title)&&(i.diagnostics===void 0||p.typedArray(i.diagnostics,Ei.is))&&(i.kind===void 0||p.string(i.kind))&&(i.edit!==void 0||i.command!==void 0)&&(i.command===void 0||sr.is(i.command))&&(i.isPreferred===void 0||p.boolean(i.isPreferred))&&(i.edit===void 0||ka.is(i.edit))}t.is=r})(Tu||(Tu={}));var Ru;(function(t){function e(n,i){let s={range:n};return p.defined(i)&&(s.data=i),s}t.create=e;function r(n){let i=n;return p.defined(i)&&O.is(i.range)&&(p.undefined(i.command)||sr.is(i.command))}t.is=r})(Ru||(Ru={}));var Eu;(function(t){function e(n,i){return{tabSize:n,insertSpaces:i}}t.create=e;function r(n){let i=n;return p.defined(i)&&p.uinteger(i.tabSize)&&p.boolean(i.insertSpaces)}t.is=r})(Eu||(Eu={}));var Au;(function(t){function e(n,i,s){return{range:n,target:i,data:s}}t.create=e;function r(n){let i=n;return p.defined(i)&&O.is(i.range)&&(p.undefined(i.target)||p.string(i.target))}t.is=r})(Au||(Au={}));var $u;(function(t){function e(n,i){return{range:n,parent:i}}t.create=e;function r(n){let i=n;return p.objectLiteral(i)&&O.is(i.range)&&(i.parent===void 0||t.is(i.parent))}t.is=r})($u||($u={}));var ku;(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"})(ku||(ku={}));var xu;(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"})(xu||(xu={}));var Su;(function(t){function e(r){const n=r;return p.objectLiteral(n)&&(n.resultId===void 0||typeof n.resultId=="string")&&Array.isArray(n.data)&&(n.data.length===0||typeof n.data[0]=="number")}t.is=e})(Su||(Su={}));var Iu;(function(t){function e(n,i){return{range:n,text:i}}t.create=e;function r(n){const i=n;return i!=null&&O.is(i.range)&&p.string(i.text)}t.is=r})(Iu||(Iu={}));var wu;(function(t){function e(n,i,s){return{range:n,variableName:i,caseSensitiveLookup:s}}t.create=e;function r(n){const i=n;return i!=null&&O.is(i.range)&&p.boolean(i.caseSensitiveLookup)&&(p.string(i.variableName)||i.variableName===void 0)}t.is=r})(wu||(wu={}));var bu;(function(t){function e(n,i){return{range:n,expression:i}}t.create=e;function r(n){const i=n;return i!=null&&O.is(i.range)&&(p.string(i.expression)||i.expression===void 0)}t.is=r})(bu||(bu={}));var Cu;(function(t){function e(n,i){return{frameId:n,stoppedLocation:i}}t.create=e;function r(n){const i=n;return p.defined(i)&&O.is(n.stoppedLocation)}t.is=r})(Cu||(Cu={}));var Ia;(function(t){t.Type=1,t.Parameter=2;function e(r){return r===1||r===2}t.is=e})(Ia||(Ia={}));var wa;(function(t){function e(n){return{value:n}}t.create=e;function r(n){const i=n;return p.objectLiteral(i)&&(i.tooltip===void 0||p.string(i.tooltip)||an.is(i.tooltip))&&(i.location===void 0||Ri.is(i.location))&&(i.command===void 0||sr.is(i.command))}t.is=r})(wa||(wa={}));var Nu;(function(t){function e(n,i,s){const a={position:n,label:i};return s!==void 0&&(a.kind=s),a}t.create=e;function r(n){const i=n;return p.objectLiteral(i)&&M.is(i.position)&&(p.string(i.label)||p.typedArray(i.label,wa.is))&&(i.kind===void 0||Ia.is(i.kind))&&i.textEdits===void 0||p.typedArray(i.textEdits,ar.is)&&(i.tooltip===void 0||p.string(i.tooltip)||an.is(i.tooltip))&&(i.paddingLeft===void 0||p.boolean(i.paddingLeft))&&(i.paddingRight===void 0||p.boolean(i.paddingRight))}t.is=r})(Nu||(Nu={}));var _u;(function(t){function e(r){return{kind:"snippet",value:r}}t.createSnippet=e})(_u||(_u={}));var Lu;(function(t){function e(r,n,i,s){return{insertText:r,filterText:n,range:i,command:s}}t.create=e})(Lu||(Lu={}));var Ou;(function(t){function e(r){return{items:r}}t.create=e})(Ou||(Ou={}));var Pu;(function(t){t.Invoked=0,t.Automatic=1})(Pu||(Pu={}));var Mu;(function(t){function e(r,n){return{range:r,text:n}}t.create=e})(Mu||(Mu={}));var Du;(function(t){function e(r,n){return{triggerKind:r,selectedCompletionInfo:n}}t.create=e})(Du||(Du={}));var Uu;(function(t){function e(r){const n=r;return p.objectLiteral(n)&&ga.is(n.uri)&&p.string(n.name)}t.is=e})(Uu||(Uu={}));var Fu;(function(t){function e(s,a,o,l){return new pA(s,a,o,l)}t.create=e;function r(s){let a=s;return!!(p.defined(a)&&p.string(a.uri)&&(p.undefined(a.languageId)||p.string(a.languageId))&&p.uinteger(a.lineCount)&&p.func(a.getText)&&p.func(a.positionAt)&&p.func(a.offsetAt))}t.is=r;function n(s,a){let o=s.getText(),l=i(a,(c,f)=>{let d=c.range.start.line-f.range.start.line;return d===0?c.range.start.character-f.range.start.character:d}),u=o.length;for(let c=l.length-1;c>=0;c--){let f=l[c],d=s.offsetAt(f.range.start),h=s.offsetAt(f.range.end);if(h<=u)o=o.substring(0,d)+f.newText+o.substring(h,o.length);else throw new Error("Overlapping edit");u=d}return o}t.applyEdits=n;function i(s,a){if(s.length<=1)return s;const o=s.length/2|0,l=s.slice(0,o),u=s.slice(o);i(l,a),i(u,a);let c=0,f=0,d=0;for(;c<l.length&&f<u.length;)a(l[c],u[f])<=0?s[d++]=l[c++]:s[d++]=u[f++];for(;c<l.length;)s[d++]=l[c++];for(;f<u.length;)s[d++]=u[f++];return s}})(Fu||(Fu={}));let pA=class{constructor(t,e,r,n){this._uri=t,this._languageId=e,this._version=r,this._content=n,this._lineOffsets=void 0}get uri(){return this._uri}get languageId(){return this._languageId}get version(){return this._version}getText(t){if(t){let e=this.offsetAt(t.start),r=this.offsetAt(t.end);return this._content.substring(e,r)}return this._content}update(t,e){this._content=t.text,this._version=e,this._lineOffsets=void 0}getLineOffsets(){if(this._lineOffsets===void 0){let t=[],e=this._content,r=!0;for(let n=0;n<e.length;n++){r&&(t.push(n),r=!1);let i=e.charAt(n);r=i==="\r"||i===`
|
|
115
115
|
`,i==="\r"&&n+1<e.length&&e.charAt(n+1)===`
|
|
116
|
-
`&&n++}r&&e.length>0&&t.push(e.length),this._lineOffsets=t}return this._lineOffsets}positionAt(t){t=Math.max(Math.min(t,this._content.length),0);let e=this.getLineOffsets(),r=0,n=e.length;if(n===0)return M.create(0,t);for(;r<n;){let s=Math.floor((r+n)/2);e[s]>t?n=s:r=s+1}let i=r-1;return M.create(i,t-e[i])}offsetAt(t){let e=this.getLineOffsets();if(t.line>=e.length)return this._content.length;if(t.line<0)return 0;let r=e[t.line],n=t.line+1<e.length?e[t.line+1]:this._content.length;return Math.max(Math.min(r+t.character,n),r)}get lineCount(){return this.getLineOffsets().length}};var p;(function(t){const e=Object.prototype.toString;function r(h){return typeof h<"u"}t.defined=r;function n(h){return typeof h>"u"}t.undefined=n;function i(h){return h===!0||h===!1}t.boolean=i;function s(h){return e.call(h)==="[object String]"}t.string=s;function a(h){return e.call(h)==="[object Number]"}t.number=a;function o(h,m,g){return e.call(h)==="[object Number]"&&m<=h&&h<=g}t.numberRange=o;function l(h){return e.call(h)==="[object Number]"&&-2147483648<=h&&h<=2147483647}t.integer=l;function u(h){return e.call(h)==="[object Number]"&&0<=h&&h<=2147483647}t.uinteger=u;function c(h){return e.call(h)==="[object Function]"}t.func=c;function f(h){return h!==null&&typeof h=="object"}t.objectLiteral=f;function d(h,m){return Array.isArray(h)&&h.every(m)}t.typedArray=d})(p||(p={}));class vE{constructor(){this.nodeStack=[]}get current(){var e;return(e=this.nodeStack[this.nodeStack.length-1])!==null&&e!==void 0?e:this.rootNode}buildRootNode(e){return this.rootNode=new ed(e),this.rootNode.root=this.rootNode,this.nodeStack=[this.rootNode],this.rootNode}buildCompositeNode(e){const r=new $o;return r.grammarSource=e,r.root=this.rootNode,this.current.content.push(r),this.nodeStack.push(r),r}buildLeafNode(e,r){const n=new Ca(e.startOffset,e.image.length,Js(e),e.tokenType,!r);return n.grammarSource=r,n.root=this.rootNode,this.current.content.push(n),n}removeNode(e){const r=e.container;if(r){const n=r.content.indexOf(e);n>=0&&r.content.splice(n,1)}}addHiddenNodes(e){const r=[];for(const s of e){const a=new Ca(s.startOffset,s.image.length,Js(s),s.tokenType,!0);a.root=this.rootNode,r.push(a)}let n=this.current,i=!1;if(n.content.length>0){n.content.push(...r);return}for(;n.container;){const s=n.container.content.indexOf(n);if(s>0){n.container.content.splice(s,0,...r),i=!0;break}n=n.container}i||this.rootNode.content.unshift(...r)}construct(e){const r=this.current;typeof e.$type=="string"&&(this.current.astNode=e),e.$cstNode=r;const n=this.nodeStack.pop();n?.content.length===0&&this.removeNode(n)}}class Jf{get parent(){return this.container}get feature(){return this.grammarSource}get hidden(){return!1}get astNode(){var e,r;const n=typeof((e=this._astNode)===null||e===void 0?void 0:e.$type)=="string"?this._astNode:(r=this.container)===null||r===void 0?void 0:r.astNode;if(!n)throw new Error("This node has no associated AST element");return n}set astNode(e){this._astNode=e}get element(){return this.astNode}get text(){return this.root.fullText.substring(this.offset,this.end)}}class Ca extends Jf{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,r,n,i,s=!1){super(),this._hidden=s,this._offset=e,this._tokenType=i,this._length=r,this._range=n}}class $o extends Jf{constructor(){super(...arguments),this.content=new Eo(this)}get children(){return this.content}get offset(){var e,r;return(r=(e=this.firstNonHiddenNode)===null||e===void 0?void 0:e.offset)!==null&&r!==void 0?r:0}get length(){return this.end-this.offset}get end(){var e,r;return(r=(e=this.lastNonHiddenNode)===null||e===void 0?void 0:e.end)!==null&&r!==void 0?r:0}get range(){const e=this.firstNonHiddenNode,r=this.lastNonHiddenNode;if(e&&r){if(this._rangeCache===void 0){const{range:n}=e,{range:i}=r;this._rangeCache={start:n.start,end:i.end.line<n.start.line?n.start:i.end}}return this._rangeCache}else return{start:M.create(0,0),end:M.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 r=this.content[e];if(!r.hidden)return r}return this.content[this.content.length-1]}}class Eo extends Array{constructor(e){super(),this.parent=e,Object.setPrototypeOf(this,Eo.prototype)}push(...e){return this.addParents(e),super.push(...e)}unshift(...e){return this.addParents(e),super.unshift(...e)}splice(e,r,...n){return this.addParents(n),super.splice(e,r,...n)}addParents(e){for(const r of e)r.container=this.parent}}class ed extends $o{get text(){return this._text.substring(this.offset,this.end)}get fullText(){return this._text}constructor(e){super(),this._text="",this._text=e??""}}const Na=Symbol("Datatype");function Rs(t){return t.$type===Na}const Gu="",td=t=>t.endsWith(Gu)?t:t+Gu;class rd{constructor(e){this._unorderedGroups=new Map,this.allRules=new Map,this.lexer=e.parser.Lexer;const r=this.lexer.definition,n=e.LanguageMetaData.mode==="production";this.wrapper=new AE(r,Object.assign(Object.assign({},e.parser.ParserConfig),{skipValidations:n,errorMessageProvider:e.parser.ParserErrorMessageProvider}))}alternatives(e,r){this.wrapper.wrapOr(e,r)}optional(e,r){this.wrapper.wrapOption(e,r)}many(e,r){this.wrapper.wrapMany(e,r)}atLeastOne(e,r){this.wrapper.wrapAtLeastOne(e,r)}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 TE extends rd{get current(){return this.stack[this.stack.length-1]}constructor(e){super(e),this.nodeBuilder=new vE,this.stack=[],this.assignmentMap=new Map,this.linker=e.references.Linker,this.converter=e.parser.ValueConverter,this.astReflection=e.shared.AstReflection}rule(e,r){const n=this.computeRuleType(e),i=this.wrapper.DEFINE_RULE(td(e.name),this.startImplementation(n,r).bind(this));return this.allRules.set(e.name,i),e.entry&&(this.mainRule=i),i}computeRuleType(e){if(!e.fragment)return Cc(e)?Na:Ba(e)??e.name}parse(e,r={}){this.nodeBuilder.buildRootNode(e);const n=this.lexerResult=this.lexer.tokenize(e);this.wrapper.input=n.tokens;const i=r.rule?this.allRules.get(r.rule):this.mainRule;if(!i)throw new Error(r.rule?`No rule found with name '${r.rule}'`:"No main rule available.");const s=i.call(this.wrapper,{});return this.nodeBuilder.addHiddenNodes(n.hidden),this.unorderedGroups.clear(),this.lexerResult=void 0,{value:s,lexerErrors:n.errors,lexerReport:n.report,parserErrors:this.wrapper.errors}}startImplementation(e,r){return n=>{const i=!this.isRecording()&&e!==void 0;if(i){const a={$type:e};this.stack.push(a),e===Na&&(a.value="")}let s;try{s=r(n)}catch{s=void 0}return s===void 0&&i&&(s=this.construct()),s}}extractHiddenTokens(e){const r=this.lexerResult.hidden;if(!r.length)return[];const n=e.startOffset;for(let i=0;i<r.length;i++)if(r[i].startOffset>n)return r.splice(0,i);return r.splice(0,r.length)}consume(e,r,n){const i=this.wrapper.wrapConsume(e,r);if(!this.isRecording()&&this.isValidToken(i)){const s=this.extractHiddenTokens(i);this.nodeBuilder.addHiddenNodes(s);const a=this.nodeBuilder.buildLeafNode(i,n),{assignment:o,isCrossRef:l}=this.getAssignment(n),u=this.current;if(o){const c=Pt(n)?i.image:this.converter.convert(i.image,a);this.assign(o.operator,o.feature,c,a,l)}else if(Rs(u)){let c=i.image;Pt(n)||(c=this.converter.convert(c,a).toString()),u.value+=c}}}isValidToken(e){return!e.isInsertedInRecovery&&!isNaN(e.startOffset)&&typeof e.endOffset=="number"&&!isNaN(e.endOffset)}subrule(e,r,n,i,s){let a;!this.isRecording()&&!n&&(a=this.nodeBuilder.buildCompositeNode(i));const o=this.wrapper.wrapSubrule(e,r,s);!this.isRecording()&&a&&a.length>0&&this.performSubruleAssignment(o,i,a)}performSubruleAssignment(e,r,n){const{assignment:i,isCrossRef:s}=this.getAssignment(r);if(i)this.assign(i.operator,i.feature,e,n,s);else if(!i){const a=this.current;if(Rs(a))a.value+=e.toString();else if(typeof e=="object"&&e){const o=this.assignWithoutOverride(e,a);this.stack.pop(),this.stack.push(o)}}}action(e,r){if(!this.isRecording()){let n=this.current;if(r.feature&&r.operator){n=this.construct(),this.nodeBuilder.removeNode(n.$cstNode),this.nodeBuilder.buildCompositeNode(r).content.push(n.$cstNode);const i={$type:e};this.stack.push(i),this.assign(r.operator,r.feature,n,n.$cstNode,!1)}else n.$type=e}}construct(){if(this.isRecording())return;const e=this.current;return Ah(e),this.nodeBuilder.construct(e),this.stack.pop(),Rs(e)?this.converter.convert(e.value,e.$cstNode):(kh(this.astReflection,e),e)}getAssignment(e){if(!this.assignmentMap.has(e)){const r=Ni(e,Ot);this.assignmentMap.set(e,{assignment:r,isCrossRef:r?Ua(r.terminal):!1})}return this.assignmentMap.get(e)}assign(e,r,n,i,s){const a=this.current;let o;switch(s&&typeof n=="string"?o=this.linker.buildReference(a,r,i,n):o=n,e){case"=":{a[r]=o;break}case"?=":{a[r]=!0;break}case"+=":Array.isArray(a[r])||(a[r]=[]),a[r].push(o)}}assignWithoutOverride(e,r){for(const[i,s]of Object.entries(r)){const a=e[i];a===void 0?e[i]=s:Array.isArray(a)&&Array.isArray(s)&&(s.push(...a),e[i]=s)}const n=e.$cstNode;return n&&(n.astNode=void 0,e.$cstNode=void 0),e}get definitionErrors(){return this.wrapper.definitionErrors}}class RE{buildMismatchTokenMessage(e){return Qt.buildMismatchTokenMessage(e)}buildNotAllInputParsedMessage(e){return Qt.buildNotAllInputParsedMessage(e)}buildNoViableAltMessage(e){return Qt.buildNoViableAltMessage(e)}buildEarlyExitMessage(e){return Qt.buildEarlyExitMessage(e)}}class nd extends RE{buildMismatchTokenMessage({expected:e,actual:r}){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 \`${r.image}\`.`}buildNotAllInputParsedMessage({firstRedundant:e}){return`Expecting end of file but found \`${e.image}\`.`}}class $E extends rd{constructor(){super(...arguments),this.tokens=[],this.elementStack=[],this.lastElementStack=[],this.nextTokenIndex=0,this.stackSize=0}action(){}construct(){}parse(e){this.resetState();const r=this.lexer.tokenize(e,{mode:"partial"});return this.tokens=r.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,r){const n=this.wrapper.DEFINE_RULE(td(e.name),this.startImplementation(r).bind(this));return this.allRules.set(e.name,n),e.entry&&(this.mainRule=n),n}resetState(){this.elementStack=[],this.lastElementStack=[],this.nextTokenIndex=0,this.stackSize=0}startImplementation(e){return r=>{const n=this.keepStackSize();try{e(r)}finally{this.resetStackSize(n)}}}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,r,n){this.wrapper.wrapConsume(e,r),this.isRecording()||(this.lastElementStack=[...this.elementStack,n],this.nextTokenIndex=this.currIdx+1)}subrule(e,r,n,i,s){this.before(i),this.wrapper.wrapSubrule(e,r,s),this.after(i)}before(e){this.isRecording()||this.elementStack.push(e)}after(e){if(!this.isRecording()){const r=this.elementStack.lastIndexOf(e);r>=0&&this.elementStack.splice(r)}}get currIdx(){return this.wrapper.currIdx}}const EE={recoveryEnabled:!0,nodeLocationTracking:"full",skipValidations:!0,errorMessageProvider:new nd};class AE extends C${constructor(e,r){const n=r&&"maxLookahead"in r;super(e,Object.assign(Object.assign(Object.assign({},EE),{lookaheadStrategy:n?new mo({maxLookahead:r.maxLookahead}):new Q$({logging:r.skipValidations?()=>{}:void 0})}),r))}get IS_RECORDING(){return this.RECORDING_PHASE}DEFINE_RULE(e,r){return this.RULE(e,r)}wrapSelfAnalysis(){this.performSelfAnalysis()}wrapConsume(e,r){return this.consume(e,r)}wrapSubrule(e,r,n){return this.subrule(e,r,{ARGS:[n]})}wrapOr(e,r){this.or(e,r)}wrapOption(e,r){this.option(e,r)}wrapMany(e,r){this.many(e,r)}wrapAtLeastOne(e,r){this.atLeastOne(e,r)}}function id(t,e,r){return kE({parser:e,tokens:r,ruleNames:new Map},t),e}function kE(t,e){const r=xc(e,!1),n=ne(e.rules).filter(Ne).filter(i=>r.has(i));for(const i of n){const s=Object.assign(Object.assign({},t),{consume:1,optional:1,subrule:1,many:1,or:1});t.parser.rule(i,Ft(s,i.definition))}}function Ft(t,e,r=!1){let n;if(Pt(e))n=NE(t,e);else if(Ci(e))n=xE(t,e);else if(Ot(e))n=Ft(t,e.terminal);else if(Ua(e))n=sd(t,e);else if(Mt(e))n=SE(t,e);else if(Tc(e))n=wE(t,e);else if(Rc(e))n=bE(t,e);else if(Fa(e))n=CE(t,e);else if(mh(e)){const i=t.consume++;n=()=>t.parser.consume(i,yt,e)}else throw new mc(e.$cstNode,`Unexpected element type: ${e.$type}`);return ad(t,r?void 0:xi(e),n,e.cardinality)}function xE(t,e){const r=Ka(e);return()=>t.parser.action(r,e)}function SE(t,e){const r=e.rule.ref;if(Ne(r)){const n=t.subrule++,i=r.fragment,s=e.arguments.length>0?IE(r,e.arguments):()=>({});return a=>t.parser.subrule(n,od(t,r),i,e,s(a))}else if(Gt(r)){const n=t.consume++,i=_a(t,r.name);return()=>t.parser.consume(n,i,e)}else if(r)un();else throw new mc(e.$cstNode,`Undefined rule: ${e.rule.$refText}`)}function IE(t,e){const r=e.map(n=>it(n.value));return n=>{const i={};for(let s=0;s<r.length;s++){const a=t.parameters[s],o=r[s];i[a.name]=o(n)}return i}}function it(t){if(uh(t)){const e=it(t.left),r=it(t.right);return n=>e(n)||r(n)}else if(lh(t)){const e=it(t.left),r=it(t.right);return n=>e(n)&&r(n)}else if(ch(t)){const e=it(t.value);return r=>!e(r)}else if(fh(t)){const e=t.parameter.ref.name;return r=>r!==void 0&&r[e]===!0}else if(oh(t)){const e=!!t.true;return()=>e}un()}function wE(t,e){if(e.elements.length===1)return Ft(t,e.elements[0]);{const r=[];for(const i of e.elements){const s={ALT:Ft(t,i,!0)},a=xi(i);a&&(s.GATE=it(a)),r.push(s)}const n=t.or++;return i=>t.parser.alternatives(n,r.map(s=>{const a={ALT:()=>s.ALT(i)},o=s.GATE;return o&&(a.GATE=()=>o(i)),a}))}}function bE(t,e){if(e.elements.length===1)return Ft(t,e.elements[0]);const r=[];for(const o of e.elements){const l={ALT:Ft(t,o,!0)},u=xi(o);u&&(l.GATE=it(u)),r.push(l)}const n=t.or++,i=(o,l)=>{const u=l.getRuleStack().join("-");return`uGroup_${o}_${u}`},s=o=>t.parser.alternatives(n,r.map((l,u)=>{const c={ALT:()=>!0},f=t.parser;c.ALT=()=>{if(l.ALT(o),!f.isRecording()){const h=i(n,f);f.unorderedGroups.get(h)||f.unorderedGroups.set(h,[]);const m=f.unorderedGroups.get(h);typeof m?.[u]>"u"&&(m[u]=!0)}};const d=l.GATE;return d?c.GATE=()=>d(o):c.GATE=()=>{const h=f.unorderedGroups.get(i(n,f));return!(h!=null&&h[u])},c})),a=ad(t,xi(e),s,"*");return o=>{a(o),t.parser.isRecording()||t.parser.unorderedGroups.delete(i(n,t.parser))}}function CE(t,e){const r=e.elements.map(n=>Ft(t,n));return n=>r.forEach(i=>i(n))}function xi(t){if(Fa(t))return t.guardCondition}function sd(t,e,r=e.terminal){if(r)if(Mt(r)&&Ne(r.rule.ref)){const n=r.rule.ref,i=t.subrule++;return s=>t.parser.subrule(i,od(t,n),!1,e,s)}else if(Mt(r)&&Gt(r.rule.ref)){const n=t.consume++,i=_a(t,r.rule.ref.name);return()=>t.parser.consume(n,i,e)}else if(Pt(r)){const n=t.consume++,i=_a(t,r.value);return()=>t.parser.consume(n,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 n=wc(e.type.ref),i=n?.terminal;if(!i)throw new Error("Could not find name assignment for type: "+Ka(e.type.ref));return sd(t,e,i)}}function NE(t,e){const r=t.consume++,n=t.tokens[e.value];if(!n)throw new Error("Could not find token for keyword: "+e.value);return()=>t.parser.consume(r,n,e)}function ad(t,e,r,n){const i=e&&it(e);if(!n)if(i){const s=t.or++;return a=>t.parser.alternatives(s,[{ALT:()=>r(a),GATE:()=>i(a)},{ALT:Ml(),GATE:()=>!i(a)}])}else return r;if(n==="*"){const s=t.many++;return a=>t.parser.many(s,{DEF:()=>r(a),GATE:i?()=>i(a):void 0})}else if(n==="+"){const s=t.many++;if(i){const a=t.or++;return o=>t.parser.alternatives(a,[{ALT:()=>t.parser.atLeastOne(s,{DEF:()=>r(o)}),GATE:()=>i(o)},{ALT:Ml(),GATE:()=>!i(o)}])}else return a=>t.parser.atLeastOne(s,{DEF:()=>r(a)})}else if(n==="?"){const s=t.optional++;return a=>t.parser.optional(s,{DEF:()=>r(a),GATE:i?()=>i(a):void 0})}else un()}function od(t,e){const r=_E(t,e),n=t.parser.getRule(r);if(!n)throw new Error(`Rule "${r}" not found."`);return n}function _E(t,e){if(Ne(e))return e.name;if(t.ruleNames.has(e))return t.ruleNames.get(e);{let r=e,n=r.$container,i=e.$type;for(;!Ne(n);)(Fa(n)||Tc(n)||Rc(n))&&(i=n.elements.indexOf(r).toString()+":"+i),r=n,n=n.$container;return i=n.name+":"+i,t.ruleNames.set(e,i),i}}function _a(t,e){const r=t.tokens[e];if(!r)throw new Error(`Token "${e}" not found."`);return r}function LE(t){const e=t.Grammar,r=t.parser.Lexer,n=new $E(t);return id(e,n,r.definition),n.finalize(),n}function OE(t){const e=PE(t);return e.finalize(),e}function PE(t){const e=t.Grammar,r=t.parser.Lexer,n=new TE(t);return id(e,n,r.definition)}class ld{constructor(){this.diagnostics=[]}buildTokens(e,r){const n=ne(xc(e,!1)),i=this.buildTerminalTokens(n),s=this.buildKeywordTokens(n,i,r);return i.forEach(a=>{const o=a.PATTERN;typeof o=="object"&&o&&"test"in o&&ta(o)?s.unshift(a):s.push(a)}),s}flushLexingReport(e){return{diagnostics:this.popDiagnostics()}}popDiagnostics(){const e=[...this.diagnostics];return this.diagnostics=[],e}buildTerminalTokens(e){return e.filter(Gt).filter(r=>!r.fragment).map(r=>this.buildTerminalToken(r)).toArray()}buildTerminalToken(e){const r=Va(e),n=this.requiresCustomPattern(r)?this.regexPatternFunction(r):r,i={name:e.name,PATTERN:n};return typeof n=="function"&&(i.LINE_BREAKS=!0),e.hidden&&(i.GROUP=ta(r)?he.SKIPPED:"hidden"),i}requiresCustomPattern(e){return e.flags.includes("u")||e.flags.includes("s")?!0:!!(e.source.includes("?<=")||e.source.includes("?<!"))}regexPatternFunction(e){const r=new RegExp(e,e.flags+"y");return(n,i)=>(r.lastIndex=i,r.exec(n))}buildKeywordTokens(e,r,n){return e.filter(Ne).flatMap(i=>cn(i).filter(Pt)).distinct(i=>i.value).toArray().sort((i,s)=>s.value.length-i.value.length).map(i=>this.buildKeywordToken(i,r,!!(n!=null&&n.caseInsensitive)))}buildKeywordToken(e,r,n){const i=this.buildKeywordPattern(e,n),s={name:e.value,PATTERN:i,LONGER_ALT:this.findLongerAlt(e,r)};return typeof i=="function"&&(s.LINE_BREAKS=!0),s}buildKeywordPattern(e,r){return r?new RegExp(Lh(e.value)):e.value}findLongerAlt(e,r){return r.reduce((n,i)=>{const s=i?.PATTERN;return s!=null&&s.source&&Oh("^"+s.source+"$",e.value)&&n.push(i),n},[])}}class ud{convert(e,r){let n=r.grammarSource;if(Ua(n)&&(n=Uh(n)),Mt(n)){const i=n.rule.ref;if(!i)throw new Error("This cst node was not parsed by a rule.");return this.runConverter(i,e,r)}return e}runConverter(e,r,n){var i;switch(e.name.toUpperCase()){case"INT":return tt.convertInt(r);case"STRING":return tt.convertString(r);case"ID":return tt.convertID(r)}switch((i=Hh(e))===null||i===void 0?void 0:i.toLowerCase()){case"number":return tt.convertNumber(r);case"boolean":return tt.convertBoolean(r);case"bigint":return tt.convertBigint(r);case"date":return tt.convertDate(r);default:return r}}}var tt;(function(t){function e(u){let c="";for(let f=1;f<u.length-1;f++){const d=u.charAt(f);if(d==="\\"){const h=u.charAt(++f);c+=r(h)}else c+=d}return c}t.convertString=e;function r(u){switch(u){case"b":return"\b";case"f":return"\f";case"n":return`
|
|
117
|
-
`;case"r":return"\r";case"t":return" ";case"v":return"\v";case"0":return"\0";default:return u}}function n(u){return u.charAt(0)==="^"?u.substring(1):u}t.convertID=n;function i(u){return parseInt(u)}t.convertInt=i;function s(u){return BigInt(u)}t.convertBigint=s;function a(u){return new Date(u)}t.convertDate=a;function o(u){return Number(u)}t.convertNumber=o;function l(u){return u.toLowerCase()==="true"}t.convertBoolean=l})(tt||(tt={}));var Nt={},Pn={},Bu;function cd(){if(Bu)return Pn;Bu=1,Object.defineProperty(Pn,"__esModule",{value:!0});let t;function e(){if(t===void 0)throw new Error("No runtime abstraction layer installed");return t}return(function(r){function n(i){if(i===void 0)throw new Error("No runtime abstraction layer provided");t=i}r.install=n})(e||(e={})),Pn.default=e,Pn}var ee={},Ku;function ME(){if(Ku)return ee;Ku=1,Object.defineProperty(ee,"__esModule",{value:!0}),ee.stringArray=ee.array=ee.func=ee.error=ee.number=ee.string=ee.boolean=void 0;function t(o){return o===!0||o===!1}ee.boolean=t;function e(o){return typeof o=="string"||o instanceof String}ee.string=e;function r(o){return typeof o=="number"||o instanceof Number}ee.number=r;function n(o){return o instanceof Error}ee.error=n;function i(o){return typeof o=="function"}ee.func=i;function s(o){return Array.isArray(o)}ee.array=s;function a(o){return s(o)&&o.every(l=>e(l))}return ee.stringArray=a,ee}var _t={},Vu;function fd(){if(Vu)return _t;Vu=1,Object.defineProperty(_t,"__esModule",{value:!0}),_t.Emitter=_t.Event=void 0;const t=cd();var e;(function(i){const s={dispose(){}};i.None=function(){return s}})(e||(_t.Event=e={}));class r{add(s,a=null,o){this._callbacks||(this._callbacks=[],this._contexts=[]),this._callbacks.push(s),this._contexts.push(a),Array.isArray(o)&&o.push({dispose:()=>this.remove(s,a)})}remove(s,a=null){if(!this._callbacks)return;let o=!1;for(let l=0,u=this._callbacks.length;l<u;l++)if(this._callbacks[l]===s)if(this._contexts[l]===a){this._callbacks.splice(l,1),this._contexts.splice(l,1);return}else o=!0;if(o)throw new Error("When adding a listener with a context, you should remove it with the same context")}invoke(...s){if(!this._callbacks)return[];const a=[],o=this._callbacks.slice(0),l=this._contexts.slice(0);for(let u=0,c=o.length;u<c;u++)try{a.push(o[u].apply(l[u],s))}catch(f){(0,t.default)().console.error(f)}return a}isEmpty(){return!this._callbacks||this._callbacks.length===0}dispose(){this._callbacks=void 0,this._contexts=void 0}}class n{constructor(s){this._options=s}get event(){return this._event||(this._event=(s,a,o)=>{this._callbacks||(this._callbacks=new r),this._options&&this._options.onFirstListenerAdd&&this._callbacks.isEmpty()&&this._options.onFirstListenerAdd(this),this._callbacks.add(s,a);const l={dispose:()=>{this._callbacks&&(this._callbacks.remove(s,a),l.dispose=n._noop,this._options&&this._options.onLastListenerRemove&&this._callbacks.isEmpty()&&this._options.onLastListenerRemove(this))}};return Array.isArray(o)&&o.push(l),l}),this._event}fire(s){this._callbacks&&this._callbacks.invoke.call(this._callbacks,s)}dispose(){this._callbacks&&(this._callbacks.dispose(),this._callbacks=void 0)}}return _t.Emitter=n,n._noop=function(){},_t}var Hu;function DE(){if(Hu)return Nt;Hu=1,Object.defineProperty(Nt,"__esModule",{value:!0}),Nt.CancellationTokenSource=Nt.CancellationToken=void 0;const t=cd(),e=ME(),r=fd();var n;(function(o){o.None=Object.freeze({isCancellationRequested:!1,onCancellationRequested:r.Event.None}),o.Cancelled=Object.freeze({isCancellationRequested:!0,onCancellationRequested:r.Event.None});function l(u){const c=u;return c&&(c===o.None||c===o.Cancelled||e.boolean(c.isCancellationRequested)&&!!c.onCancellationRequested)}o.is=l})(n||(Nt.CancellationToken=n={}));const i=Object.freeze(function(o,l){const u=(0,t.default)().timer.setTimeout(o.bind(l),0);return{dispose(){u.dispose()}}});class s{constructor(){this._isCancelled=!1}cancel(){this._isCancelled||(this._isCancelled=!0,this._emitter&&(this._emitter.fire(void 0),this.dispose()))}get isCancellationRequested(){return this._isCancelled}get onCancellationRequested(){return this._isCancelled?i:(this._emitter||(this._emitter=new r.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=n.Cancelled}dispose(){this._token?this._token instanceof s&&this._token.dispose():this._token=n.None}}return Nt.CancellationTokenSource=a,Nt}var H=DE();function UE(){return new Promise(t=>{typeof setImmediate>"u"?setTimeout(t,0):setImmediate(t)})}let Qn=0,FE=10;function jE(){return Qn=performance.now(),new H.CancellationTokenSource}const Si=Symbol("OperationCancelled");function Ji(t){return t===Si}async function Ee(t){if(t===H.CancellationToken.None)return;const e=performance.now();if(e-Qn>=FE&&(Qn=e,await UE(),Qn=performance.now()),t.isCancellationRequested)throw Si}class Ao{constructor(){this.promise=new Promise((e,r)=>{this.resolve=n=>(e(n),this),this.reject=n=>(r(n),this)})}}class ln{constructor(e,r,n,i){this._uri=e,this._languageId=r,this._version=n,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 r=this.offsetAt(e.start),n=this.offsetAt(e.end);return this._content.substring(r,n)}return this._content}update(e,r){for(const n of e)if(ln.isIncremental(n)){const i=hd(n.range),s=this.offsetAt(i.start),a=this.offsetAt(i.end);this._content=this._content.substring(0,s)+n.text+this._content.substring(a,this._content.length);const o=Math.max(i.start.line,0),l=Math.max(i.end.line,0);let u=this._lineOffsets;const c=zu(n.text,!1,s);if(l-o===c.length)for(let d=0,h=c.length;d<h;d++)u[d+o+1]=c[d];else c.length<1e4?u.splice(o+1,l-o,...c):this._lineOffsets=u=u.slice(0,o+1).concat(c,u.slice(l+1));const f=n.text.length-(a-s);if(f!==0)for(let d=o+1+c.length,h=u.length;d<h;d++)u[d]=u[d]+f}else if(ln.isFull(n))this._content=n.text,this._lineOffsets=void 0;else throw new Error("Unknown change event received");this._version=r}getLineOffsets(){return this._lineOffsets===void 0&&(this._lineOffsets=zu(this._content,!0)),this._lineOffsets}positionAt(e){e=Math.max(Math.min(e,this._content.length),0);const r=this.getLineOffsets();let n=0,i=r.length;if(i===0)return{line:0,character:e};for(;n<i;){const a=Math.floor((n+i)/2);r[a]>e?i=a:n=a+1}const s=n-1;return e=this.ensureBeforeEOL(e,r[s]),{line:s,character:e-r[s]}}offsetAt(e){const r=this.getLineOffsets();if(e.line>=r.length)return this._content.length;if(e.line<0)return 0;const n=r[e.line];if(e.character<=0)return n;const i=e.line+1<r.length?r[e.line+1]:this._content.length,s=Math.min(n+e.character,i);return this.ensureBeforeEOL(s,n)}ensureBeforeEOL(e,r){for(;e>r&&dd(this._content.charCodeAt(e-1));)e--;return e}get lineCount(){return this.getLineOffsets().length}static isIncremental(e){const r=e;return r!=null&&typeof r.text=="string"&&r.range!==void 0&&(r.rangeLength===void 0||typeof r.rangeLength=="number")}static isFull(e){const r=e;return r!=null&&typeof r.text=="string"&&r.range===void 0&&r.rangeLength===void 0}}var La;(function(t){function e(i,s,a,o){return new ln(i,s,a,o)}t.create=e;function r(i,s,a){if(i instanceof ln)return i.update(s,a),i;throw new Error("TextDocument.update: document must be created by TextDocument.create")}t.update=r;function n(i,s){const a=i.getText(),o=Oa(s.map(GE),(c,f)=>{const d=c.range.start.line-f.range.start.line;return d===0?c.range.start.character-f.range.start.character:d});let l=0;const u=[];for(const c of o){const f=i.offsetAt(c.range.start);if(f<l)throw new Error("Overlapping edit");f>l&&u.push(a.substring(l,f)),c.newText.length&&u.push(c.newText),l=i.offsetAt(c.range.end)}return u.push(a.substr(l)),u.join("")}t.applyEdits=n})(La||(La={}));function Oa(t,e){if(t.length<=1)return t;const r=t.length/2|0,n=t.slice(0,r),i=t.slice(r);Oa(n,e),Oa(i,e);let s=0,a=0,o=0;for(;s<n.length&&a<i.length;)e(n[s],i[a])<=0?t[o++]=n[s++]:t[o++]=i[a++];for(;s<n.length;)t[o++]=n[s++];for(;a<i.length;)t[o++]=i[a++];return t}function zu(t,e,r=0){const n=e?[r]:[];for(let i=0;i<t.length;i++){const s=t.charCodeAt(i);dd(s)&&(s===13&&i+1<t.length&&t.charCodeAt(i+1)===10&&i++,n.push(r+i+1))}return n}function dd(t){return t===13||t===10}function hd(t){const e=t.start,r=t.end;return e.line>r.line||e.line===r.line&&e.character>r.character?{start:r,end:e}:t}function GE(t){const e=hd(t.range);return e!==t.range?{newText:t.newText,range:e}:t}var pd;(()=>{var t={470:i=>{function s(l){if(typeof l!="string")throw new TypeError("Path must be a string. Received "+JSON.stringify(l))}function a(l,u){for(var c,f="",d=0,h=-1,m=0,g=0;g<=l.length;++g){if(g<l.length)c=l.charCodeAt(g);else{if(c===47)break;c=47}if(c===47){if(!(h===g-1||m===1))if(h!==g-1&&m===2){if(f.length<2||d!==2||f.charCodeAt(f.length-1)!==46||f.charCodeAt(f.length-2)!==46){if(f.length>2){var E=f.lastIndexOf("/");if(E!==f.length-1){E===-1?(f="",d=0):d=(f=f.slice(0,E)).length-1-f.lastIndexOf("/"),h=g,m=0;continue}}else if(f.length===2||f.length===1){f="",d=0,h=g,m=0;continue}}u&&(f.length>0?f+="/..":f="..",d=2)}else f.length>0?f+="/"+l.slice(h+1,g):f=l.slice(h+1,g),d=g-h-1;h=g,m=0}else c===46&&m!==-1?++m:m=-1}return f}var o={resolve:function(){for(var l,u="",c=!1,f=arguments.length-1;f>=-1&&!c;f--){var d;f>=0?d=arguments[f]:(l===void 0&&(l=process.cwd()),d=l),s(d),d.length!==0&&(u=d+"/"+u,c=d.charCodeAt(0)===47)}return u=a(u,!c),c?u.length>0?"/"+u:"/":u.length>0?u:"."},normalize:function(l){if(s(l),l.length===0)return".";var u=l.charCodeAt(0)===47,c=l.charCodeAt(l.length-1)===47;return(l=a(l,!u)).length!==0||u||(l="."),l.length>0&&c&&(l+="/"),u?"/"+l:l},isAbsolute:function(l){return s(l),l.length>0&&l.charCodeAt(0)===47},join:function(){if(arguments.length===0)return".";for(var l,u=0;u<arguments.length;++u){var c=arguments[u];s(c),c.length>0&&(l===void 0?l=c:l+="/"+c)}return l===void 0?".":o.normalize(l)},relative:function(l,u){if(s(l),s(u),l===u||(l=o.resolve(l))===(u=o.resolve(u)))return"";for(var c=1;c<l.length&&l.charCodeAt(c)===47;++c);for(var f=l.length,d=f-c,h=1;h<u.length&&u.charCodeAt(h)===47;++h);for(var m=u.length-h,g=d<m?d:m,E=-1,v=0;v<=g;++v){if(v===g){if(m>g){if(u.charCodeAt(h+v)===47)return u.slice(h+v+1);if(v===0)return u.slice(h+v)}else d>g&&(l.charCodeAt(c+v)===47?E=v:v===0&&(E=0));break}var $=l.charCodeAt(c+v);if($!==u.charCodeAt(h+v))break;$===47&&(E=v)}var T="";for(v=c+E+1;v<=f;++v)v!==f&&l.charCodeAt(v)!==47||(T.length===0?T+="..":T+="/..");return T.length>0?T+u.slice(h+E):(h+=E,u.charCodeAt(h)===47&&++h,u.slice(h))},_makeLong:function(l){return l},dirname:function(l){if(s(l),l.length===0)return".";for(var u=l.charCodeAt(0),c=u===47,f=-1,d=!0,h=l.length-1;h>=1;--h)if((u=l.charCodeAt(h))===47){if(!d){f=h;break}}else d=!1;return f===-1?c?"/":".":c&&f===1?"//":l.slice(0,f)},basename:function(l,u){if(u!==void 0&&typeof u!="string")throw new TypeError('"ext" argument must be a string');s(l);var c,f=0,d=-1,h=!0;if(u!==void 0&&u.length>0&&u.length<=l.length){if(u.length===l.length&&u===l)return"";var m=u.length-1,g=-1;for(c=l.length-1;c>=0;--c){var E=l.charCodeAt(c);if(E===47){if(!h){f=c+1;break}}else g===-1&&(h=!1,g=c+1),m>=0&&(E===u.charCodeAt(m)?--m==-1&&(d=c):(m=-1,d=g))}return f===d?d=g:d===-1&&(d=l.length),l.slice(f,d)}for(c=l.length-1;c>=0;--c)if(l.charCodeAt(c)===47){if(!h){f=c+1;break}}else d===-1&&(h=!1,d=c+1);return d===-1?"":l.slice(f,d)},extname:function(l){s(l);for(var u=-1,c=0,f=-1,d=!0,h=0,m=l.length-1;m>=0;--m){var g=l.charCodeAt(m);if(g!==47)f===-1&&(d=!1,f=m+1),g===46?u===-1?u=m:h!==1&&(h=1):u!==-1&&(h=-1);else if(!d){c=m+1;break}}return u===-1||f===-1||h===0||h===1&&u===f-1&&u===c+1?"":l.slice(u,f)},format:function(l){if(l===null||typeof l!="object")throw new TypeError('The "pathObject" argument must be of type Object. Received type '+typeof l);return(function(u,c){var f=c.dir||c.root,d=c.base||(c.name||"")+(c.ext||"");return f?f===c.root?f+d:f+"/"+d:d})(0,l)},parse:function(l){s(l);var u={root:"",dir:"",base:"",ext:"",name:""};if(l.length===0)return u;var c,f=l.charCodeAt(0),d=f===47;d?(u.root="/",c=1):c=0;for(var h=-1,m=0,g=-1,E=!0,v=l.length-1,$=0;v>=c;--v)if((f=l.charCodeAt(v))!==47)g===-1&&(E=!1,g=v+1),f===46?h===-1?h=v:$!==1&&($=1):h!==-1&&($=-1);else if(!E){m=v+1;break}return h===-1||g===-1||$===0||$===1&&h===g-1&&h===m+1?g!==-1&&(u.base=u.name=m===0&&d?l.slice(1,g):l.slice(m,g)):(m===0&&d?(u.name=l.slice(1,h),u.base=l.slice(1,g)):(u.name=l.slice(m,h),u.base=l.slice(m,g)),u.ext=l.slice(h,g)),m>0?u.dir=l.slice(0,m-1):d&&(u.dir="/"),u},sep:"/",delimiter:":",win32:null,posix:null};o.posix=o,i.exports=o}},e={};function r(i){var s=e[i];if(s!==void 0)return s.exports;var a=e[i]={exports:{}};return t[i](a,a.exports,r),a.exports}r.d=(i,s)=>{for(var a in s)r.o(s,a)&&!r.o(i,a)&&Object.defineProperty(i,a,{enumerable:!0,get:s[a]})},r.o=(i,s)=>Object.prototype.hasOwnProperty.call(i,s),r.r=i=>{typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty(i,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(i,"__esModule",{value:!0})};var n={};(()=>{let i;r.r(n),r.d(n,{URI:()=>d,Utils:()=>Ie}),typeof process=="object"?i=process.platform==="win32":typeof navigator=="object"&&(i=navigator.userAgent.indexOf("Windows")>=0);const s=/^\w[\w\d+.-]*$/,a=/^\//,o=/^\/\//;function l(A,y){if(!A.scheme&&y)throw new Error(`[UriError]: Scheme is missing: {scheme: "", authority: "${A.authority}", path: "${A.path}", query: "${A.query}", fragment: "${A.fragment}"}`);if(A.scheme&&!s.test(A.scheme))throw new Error("[UriError]: Scheme contains illegal characters.");if(A.path){if(A.authority){if(!a.test(A.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(A.path))throw new Error('[UriError]: If a URI does not contain an authority component, then the path cannot begin with two slash characters ("//")')}}const u="",c="/",f=/^(([^:/?#]+?):)?(\/\/([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?/;class d{constructor(y,S,k,L,_,N=!1){Ct(this,"scheme"),Ct(this,"authority"),Ct(this,"path"),Ct(this,"query"),Ct(this,"fragment"),typeof y=="object"?(this.scheme=y.scheme||u,this.authority=y.authority||u,this.path=y.path||u,this.query=y.query||u,this.fragment=y.fragment||u):(this.scheme=(function(Te,Z){return Te||Z?Te:"file"})(y,N),this.authority=S||u,this.path=(function(Te,Z){switch(Te){case"https":case"http":case"file":Z?Z[0]!==c&&(Z=c+Z):Z=c}return Z})(this.scheme,k||u),this.query=L||u,this.fragment=_||u,l(this,N))}static isUri(y){return y instanceof d||!!y&&typeof y.authority=="string"&&typeof y.fragment=="string"&&typeof y.path=="string"&&typeof y.query=="string"&&typeof y.scheme=="string"&&typeof y.fsPath=="string"&&typeof y.with=="function"&&typeof y.toString=="function"}get fsPath(){return $(this)}with(y){if(!y)return this;let{scheme:S,authority:k,path:L,query:_,fragment:N}=y;return S===void 0?S=this.scheme:S===null&&(S=u),k===void 0?k=this.authority:k===null&&(k=u),L===void 0?L=this.path:L===null&&(L=u),_===void 0?_=this.query:_===null&&(_=u),N===void 0?N=this.fragment:N===null&&(N=u),S===this.scheme&&k===this.authority&&L===this.path&&_===this.query&&N===this.fragment?this:new m(S,k,L,_,N)}static parse(y,S=!1){const k=f.exec(y);return k?new m(k[2]||u,ae(k[4]||u),ae(k[5]||u),ae(k[7]||u),ae(k[9]||u),S):new m(u,u,u,u,u)}static file(y){let S=u;if(i&&(y=y.replace(/\\/g,c)),y[0]===c&&y[1]===c){const k=y.indexOf(c,2);k===-1?(S=y.substring(2),y=c):(S=y.substring(2,k),y=y.substring(k)||c)}return new m("file",S,y,u,u)}static from(y){const S=new m(y.scheme,y.authority,y.path,y.query,y.fragment);return l(S,!0),S}toString(y=!1){return T(this,y)}toJSON(){return this}static revive(y){if(y){if(y instanceof d)return y;{const S=new m(y);return S._formatted=y.external,S._fsPath=y._sep===h?y.fsPath:null,S}}return y}}const h=i?1:void 0;class m extends d{constructor(){super(...arguments),Ct(this,"_formatted",null),Ct(this,"_fsPath",null)}get fsPath(){return this._fsPath||(this._fsPath=$(this)),this._fsPath}toString(y=!1){return y?T(this,!0):(this._formatted||(this._formatted=T(this,!1)),this._formatted)}toJSON(){const y={$mid:1};return this._fsPath&&(y.fsPath=this._fsPath,y._sep=h),this._formatted&&(y.external=this._formatted),this.path&&(y.path=this.path),this.scheme&&(y.scheme=this.scheme),this.authority&&(y.authority=this.authority),this.query&&(y.query=this.query),this.fragment&&(y.fragment=this.fragment),y}}const g={58:"%3A",47:"%2F",63:"%3F",35:"%23",91:"%5B",93:"%5D",64:"%40",33:"%21",36:"%24",38:"%26",39:"%27",40:"%28",41:"%29",42:"%2A",43:"%2B",44:"%2C",59:"%3B",61:"%3D",32:"%20"};function E(A,y,S){let k,L=-1;for(let _=0;_<A.length;_++){const N=A.charCodeAt(_);if(N>=97&&N<=122||N>=65&&N<=90||N>=48&&N<=57||N===45||N===46||N===95||N===126||y&&N===47||S&&N===91||S&&N===93||S&&N===58)L!==-1&&(k+=encodeURIComponent(A.substring(L,_)),L=-1),k!==void 0&&(k+=A.charAt(_));else{k===void 0&&(k=A.substr(0,_));const Te=g[N];Te!==void 0?(L!==-1&&(k+=encodeURIComponent(A.substring(L,_)),L=-1),k+=Te):L===-1&&(L=_)}}return L!==-1&&(k+=encodeURIComponent(A.substring(L))),k!==void 0?k:A}function v(A){let y;for(let S=0;S<A.length;S++){const k=A.charCodeAt(S);k===35||k===63?(y===void 0&&(y=A.substr(0,S)),y+=g[k]):y!==void 0&&(y+=A[S])}return y!==void 0?y:A}function $(A,y){let S;return S=A.authority&&A.path.length>1&&A.scheme==="file"?`//${A.authority}${A.path}`:A.path.charCodeAt(0)===47&&(A.path.charCodeAt(1)>=65&&A.path.charCodeAt(1)<=90||A.path.charCodeAt(1)>=97&&A.path.charCodeAt(1)<=122)&&A.path.charCodeAt(2)===58?A.path[1].toLowerCase()+A.path.substr(2):A.path,i&&(S=S.replace(/\//g,"\\")),S}function T(A,y){const S=y?v:E;let k="",{scheme:L,authority:_,path:N,query:Te,fragment:Z}=A;if(L&&(k+=L,k+=":"),(_||L==="file")&&(k+=c,k+=c),_){let z=_.indexOf("@");if(z!==-1){const It=_.substr(0,z);_=_.substr(z+1),z=It.lastIndexOf(":"),z===-1?k+=S(It,!1,!1):(k+=S(It.substr(0,z),!1,!1),k+=":",k+=S(It.substr(z+1),!1,!0)),k+="@"}_=_.toLowerCase(),z=_.lastIndexOf(":"),z===-1?k+=S(_,!1,!0):(k+=S(_.substr(0,z),!1,!0),k+=_.substr(z))}if(N){if(N.length>=3&&N.charCodeAt(0)===47&&N.charCodeAt(2)===58){const z=N.charCodeAt(1);z>=65&&z<=90&&(N=`/${String.fromCharCode(z+32)}:${N.substr(3)}`)}else if(N.length>=2&&N.charCodeAt(1)===58){const z=N.charCodeAt(0);z>=65&&z<=90&&(N=`${String.fromCharCode(z+32)}:${N.substr(2)}`)}k+=S(N,!0,!1)}return Te&&(k+="?",k+=S(Te,!1,!1)),Z&&(k+="#",k+=y?Z:E(Z,!1,!1)),k}function x(A){try{return decodeURIComponent(A)}catch{return A.length>3?A.substr(0,3)+x(A.substr(3)):A}}const U=/(%[0-9A-Za-z][0-9A-Za-z])+/g;function ae(A){return A.match(U)?A.replace(U,(y=>x(y))):A}var Me=r(470);const ve=Me.posix||Me,He="/";var Ie;(function(A){A.joinPath=function(y,...S){return y.with({path:ve.join(y.path,...S)})},A.resolvePath=function(y,...S){let k=y.path,L=!1;k[0]!==He&&(k=He+k,L=!0);let _=ve.resolve(k,...S);return L&&_[0]===He&&!y.authority&&(_=_.substring(1)),y.with({path:_})},A.dirname=function(y){if(y.path.length===0||y.path===He)return y;let S=ve.dirname(y.path);return S.length===1&&S.charCodeAt(0)===46&&(S=""),y.with({path:S})},A.basename=function(y){return ve.basename(y.path)},A.extname=function(y){return ve.extname(y.path)}})(Ie||(Ie={}))})(),pd=n})();const{URI:jt,Utils:gr}=pd;var Tt;(function(t){t.basename=gr.basename,t.dirname=gr.dirname,t.extname=gr.extname,t.joinPath=gr.joinPath,t.resolvePath=gr.resolvePath;function e(i,s){return i?.toString()===s?.toString()}t.equals=e;function r(i,s){const a=typeof i=="string"?i:i.path,o=typeof s=="string"?s:s.path,l=a.split("/").filter(h=>h.length>0),u=o.split("/").filter(h=>h.length>0);let c=0;for(;c<l.length&&l[c]===u[c];c++);const f="../".repeat(l.length-c),d=u.slice(c).join("/");return f+d}t.relative=r;function n(i){return jt.parse(i.toString()).toString()}t.normalize=n})(Tt||(Tt={}));var K;(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"})(K||(K={}));class BE{constructor(e){this.serviceRegistry=e.ServiceRegistry,this.textDocuments=e.workspace.TextDocuments,this.fileSystemProvider=e.workspace.FileSystemProvider}async fromUri(e,r=H.CancellationToken.None){const n=await this.fileSystemProvider.readFile(e);return this.createAsync(e,n,r)}fromTextDocument(e,r,n){return r=r??jt.parse(e.uri),H.CancellationToken.is(n)?this.createAsync(r,e,n):this.create(r,e,n)}fromString(e,r,n){return H.CancellationToken.is(n)?this.createAsync(r,e,n):this.create(r,e,n)}fromModel(e,r){return this.create(r,{$model:e})}create(e,r,n){if(typeof r=="string"){const i=this.parse(e,r,n);return this.createLangiumDocument(i,e,void 0,r)}else if("$model"in r){const i={value:r.$model,parserErrors:[],lexerErrors:[]};return this.createLangiumDocument(i,e)}else{const i=this.parse(e,r.getText(),n);return this.createLangiumDocument(i,e,r)}}async createAsync(e,r,n){if(typeof r=="string"){const i=await this.parseAsync(e,r,n);return this.createLangiumDocument(i,e,void 0,r)}else{const i=await this.parseAsync(e,r.getText(),n);return this.createLangiumDocument(i,e,r)}}createLangiumDocument(e,r,n,i){let s;if(n)s={parseResult:e,uri:r,state:K.Parsed,references:[],textDocument:n};else{const a=this.createTextDocumentGetter(r,i);s={parseResult:e,uri:r,state:K.Parsed,references:[],get textDocument(){return a()}}}return e.value.$document=s,s}async update(e,r){var n,i;const s=(n=e.parseResult.value.$cstNode)===null||n===void 0?void 0:n.root.fullText,a=(i=this.textDocuments)===null||i===void 0?void 0:i.get(e.uri.toString()),o=a?a.getText():await this.fileSystemProvider.readFile(e.uri);if(a)Object.defineProperty(e,"textDocument",{value:a});else{const l=this.createTextDocumentGetter(e.uri,o);Object.defineProperty(e,"textDocument",{get:l})}return s!==o&&(e.parseResult=await this.parseAsync(e.uri,o,r),e.parseResult.value.$document=e),e.state=K.Parsed,e}parse(e,r,n){return this.serviceRegistry.getServices(e).parser.LangiumParser.parse(r,n)}parseAsync(e,r,n){return this.serviceRegistry.getServices(e).parser.AsyncParser.parse(r,n)}createTextDocumentGetter(e,r){const n=this.serviceRegistry;let i;return()=>i??(i=La.create(e.toString(),n.getServices(e).LanguageMetaData.languageId,0,r??""))}}class KE{constructor(e){this.documentMap=new Map,this.langiumDocumentFactory=e.workspace.LangiumDocumentFactory,this.serviceRegistry=e.ServiceRegistry}get all(){return ne(this.documentMap.values())}addDocument(e){const r=e.uri.toString();if(this.documentMap.has(r))throw new Error(`A document with the URI '${r}' is already present.`);this.documentMap.set(r,e)}getDocument(e){const r=e.toString();return this.documentMap.get(r)}async getOrCreateDocument(e,r){let n=this.getDocument(e);return n||(n=await this.langiumDocumentFactory.fromUri(e,r),this.addDocument(n),n)}createDocument(e,r,n){if(n)return this.langiumDocumentFactory.fromString(r,e,n).then(i=>(this.addDocument(i),i));{const i=this.langiumDocumentFactory.fromString(r,e);return this.addDocument(i),i}}hasDocument(e){return this.documentMap.has(e.toString())}invalidateDocument(e){const r=e.toString(),n=this.documentMap.get(r);return n&&(this.serviceRegistry.getServices(e).references.Linker.unlink(n),n.state=K.Changed,n.precomputedScopes=void 0,n.diagnostics=void 0),n}deleteDocument(e){const r=e.toString(),n=this.documentMap.get(r);return n&&(n.state=K.Changed,this.documentMap.delete(r)),n}}const $s=Symbol("ref_resolving");class VE{constructor(e){this.reflection=e.shared.AstReflection,this.langiumDocuments=()=>e.shared.workspace.LangiumDocuments,this.scopeProvider=e.references.ScopeProvider,this.astNodeLocator=e.workspace.AstNodeLocator}async link(e,r=H.CancellationToken.None){for(const n of Zt(e.parseResult.value))await Ee(r),Ec(n).forEach(i=>this.doLink(i,e))}doLink(e,r){var n;const i=e.reference;if(i._ref===void 0){i._ref=$s;try{const s=this.getCandidate(e);if(Kn(s))i._ref=s;else if(i._nodeDescription=s,this.langiumDocuments().hasDocument(s.documentUri)){const a=this.loadAstNode(s);i._ref=a??this.createLinkingError(e,s)}else i._ref=void 0}catch(s){console.error(`An error occurred while resolving reference to '${i.$refText}':`,s);const a=(n=s.message)!==null&&n!==void 0?n:String(s);i._ref=Object.assign(Object.assign({},e),{message:`An error occurred while resolving reference to '${i.$refText}': ${a}`})}r.references.push(i)}}unlink(e){for(const r of e.references)delete r._ref,delete r._nodeDescription;e.references=[]}getCandidate(e){return this.scopeProvider.getScope(e).getElement(e.reference.$refText)??this.createLinkingError(e)}buildReference(e,r,n,i){const s=this,a={$refNode:n,$refText:i,get ref(){var o;if(le(this._ref))return this._ref;if(Qd(this._nodeDescription)){const l=s.loadAstNode(this._nodeDescription);this._ref=l??s.createLinkingError({reference:a,container:e,property:r},this._nodeDescription)}else if(this._ref===void 0){this._ref=$s;const l=ea(e).$document,u=s.getLinkedNode({reference:a,container:e,property:r});if(u.error&&l&&l.state<K.ComputedScopes)return this._ref=void 0;this._ref=(o=u.node)!==null&&o!==void 0?o:u.error,this._nodeDescription=u.descr,l?.references.push(this)}else if(this._ref===$s)throw new Error(`Cyclic reference resolution detected: ${s.astNodeLocator.getAstNodePath(e)}/${r} (symbol '${i}')`);return le(this._ref)?this._ref:void 0},get $nodeDescription(){return this._nodeDescription},get error(){return Kn(this._ref)?this._ref:void 0}};return a}getLinkedNode(e){var r;try{const n=this.getCandidate(e);if(Kn(n))return{error:n};const i=this.loadAstNode(n);return i?{node:i,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 i=(r=n.message)!==null&&r!==void 0?r:String(n);return{error:Object.assign(Object.assign({},e),{message:`An error occurred while resolving reference to '${e.reference.$refText}': ${i}`})}}}loadAstNode(e){if(e.node)return e.node;const r=this.langiumDocuments().getDocument(e.documentUri);if(r)return this.astNodeLocator.getAstNode(r.parseResult.value,e.path)}createLinkingError(e,r){const n=ea(e.container).$document;n&&n.state<K.ComputedScopes&&console.warn(`Attempted reference resolution before document reached ComputedScopes state (${n.uri}).`);const i=this.reflection.getReferenceType(e);return Object.assign(Object.assign({},e),{message:`Could not resolve reference to ${i} named '${e.reference.$refText}'.`,targetDescription:r})}}function HE(t){return typeof t.name=="string"}class zE{getName(e){if(HE(e))return e.name}getNameNode(e){return Ic(e.$cstNode,"name")}}class WE{constructor(e){this.nameProvider=e.references.NameProvider,this.index=e.shared.workspace.IndexManager,this.nodeLocator=e.workspace.AstNodeLocator}findDeclaration(e){if(e){const r=Kh(e),n=e.astNode;if(r&&n){const i=n[r.feature];if(We(i))return i.ref;if(Array.isArray(i)){for(const s of i)if(We(s)&&s.$refNode&&s.$refNode.offset<=e.offset&&s.$refNode.end>=e.end)return s.ref}}if(n){const i=this.nameProvider.getNameNode(n);if(i&&(i===e||eh(e,i)))return n}}}findDeclarationNode(e){const r=this.findDeclaration(e);if(r!=null&&r.$cstNode)return this.nameProvider.getNameNode(r)??r.$cstNode}findReferences(e,r){const n=[];if(r.includeDeclaration){const s=this.getReferenceToSelf(e);s&&n.push(s)}let i=this.index.findAllReferences(e,this.nodeLocator.getAstNodePath(e));return r.documentUri&&(i=i.filter(s=>Tt.equals(s.sourceUri,r.documentUri))),n.push(...i),ne(n)}getReferenceToSelf(e){const r=this.nameProvider.getNameNode(e);if(r){const n=pt(e),i=this.nodeLocator.getAstNodePath(e);return{sourceUri:n.uri,sourcePath:i,targetUri:n.uri,targetPath:i,segment:ai(r),local:!0}}}}class Ii{constructor(e){if(this.map=new Map,e)for(const[r,n]of e)this.add(r,n)}get size(){return Qs.sum(ne(this.map.values()).map(e=>e.length))}clear(){this.map.clear()}delete(e,r){if(r===void 0)return this.map.delete(e);{const n=this.map.get(e);if(n){const i=n.indexOf(r);if(i>=0)return n.length===1?this.map.delete(e):n.splice(i,1),!0}return!1}}get(e){var r;return(r=this.map.get(e))!==null&&r!==void 0?r:[]}has(e,r){if(r===void 0)return this.map.has(e);{const n=this.map.get(e);return n?n.indexOf(r)>=0:!1}}add(e,r){return this.map.has(e)?this.map.get(e).push(r):this.map.set(e,[r]),this}addAll(e,r){return this.map.has(e)?this.map.get(e).push(...r):this.map.set(e,Array.from(r)),this}forEach(e){this.map.forEach((r,n)=>r.forEach(i=>e(i,n,this)))}[Symbol.iterator](){return this.entries().iterator()}entries(){return ne(this.map.entries()).flatMap(([e,r])=>r.map(n=>[e,n]))}keys(){return ne(this.map.keys())}values(){return ne(this.map.values()).flat()}entriesGroupedByKey(){return ne(this.map.entries())}}class Wu{get size(){return this.map.size}constructor(e){if(this.map=new Map,this.inverse=new Map,e)for(const[r,n]of e)this.set(r,n)}clear(){this.map.clear(),this.inverse.clear()}set(e,r){return this.map.set(e,r),this.inverse.set(r,e),this}get(e){return this.map.get(e)}getKey(e){return this.inverse.get(e)}delete(e){const r=this.map.get(e);return r!==void 0?(this.map.delete(e),this.inverse.delete(r),!0):!1}}class YE{constructor(e){this.nameProvider=e.references.NameProvider,this.descriptions=e.workspace.AstNodeDescriptionProvider}async computeExports(e,r=H.CancellationToken.None){return this.computeExportsForNode(e.parseResult.value,e,void 0,r)}async computeExportsForNode(e,r,n=ja,i=H.CancellationToken.None){const s=[];this.exportNode(e,s,r);for(const a of n(e))await Ee(i),this.exportNode(a,s,r);return s}exportNode(e,r,n){const i=this.nameProvider.getName(e);i&&r.push(this.descriptions.createDescription(e,i,n))}async computeLocalScopes(e,r=H.CancellationToken.None){const n=e.parseResult.value,i=new Ii;for(const s of cn(n))await Ee(r),this.processNode(s,e,i);return i}processNode(e,r,n){const i=e.$container;if(i){const s=this.nameProvider.getName(e);s&&n.add(i,this.descriptions.createDescription(e,s,r))}}}class Yu{constructor(e,r,n){var i;this.elements=e,this.outerScope=r,this.caseInsensitive=(i=n?.caseInsensitive)!==null&&i!==void 0?i:!1}getAllElements(){return this.outerScope?this.elements.concat(this.outerScope.getAllElements()):this.elements}getElement(e){const r=this.caseInsensitive?this.elements.find(n=>n.name.toLowerCase()===e.toLowerCase()):this.elements.find(n=>n.name===e);if(r)return r;if(this.outerScope)return this.outerScope.getElement(e)}}class qE{constructor(e,r,n){var i;this.elements=new Map,this.caseInsensitive=(i=n?.caseInsensitive)!==null&&i!==void 0?i:!1;for(const s of e){const a=this.caseInsensitive?s.name.toLowerCase():s.name;this.elements.set(a,s)}this.outerScope=r}getElement(e){const r=this.caseInsensitive?e.toLowerCase():e,n=this.elements.get(r);if(n)return n;if(this.outerScope)return this.outerScope.getElement(e)}getAllElements(){let e=ne(this.elements.values());return this.outerScope&&(e=e.concat(this.outerScope.getAllElements())),e}}class md{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 XE extends md{constructor(){super(...arguments),this.cache=new Map}has(e){return this.throwIfDisposed(),this.cache.has(e)}set(e,r){this.throwIfDisposed(),this.cache.set(e,r)}get(e,r){if(this.throwIfDisposed(),this.cache.has(e))return this.cache.get(e);if(r){const n=r();return this.cache.set(e,n),n}else return}delete(e){return this.throwIfDisposed(),this.cache.delete(e)}clear(){this.throwIfDisposed(),this.cache.clear()}}class QE extends md{constructor(e){super(),this.cache=new Map,this.converter=e??(r=>r)}has(e,r){return this.throwIfDisposed(),this.cacheForContext(e).has(r)}set(e,r,n){this.throwIfDisposed(),this.cacheForContext(e).set(r,n)}get(e,r,n){this.throwIfDisposed();const i=this.cacheForContext(e);if(i.has(r))return i.get(r);if(n){const s=n();return i.set(r,s),s}else return}delete(e,r){return this.throwIfDisposed(),this.cacheForContext(e).delete(r)}clear(e){if(this.throwIfDisposed(),e){const r=this.converter(e);this.cache.delete(r)}else this.cache.clear()}cacheForContext(e){const r=this.converter(e);let n=this.cache.get(r);return n||(n=new Map,this.cache.set(r,n)),n}}class ZE extends XE{constructor(e,r){super(),r?(this.toDispose.push(e.workspace.DocumentBuilder.onBuildPhase(r,()=>{this.clear()})),this.toDispose.push(e.workspace.DocumentBuilder.onUpdate((n,i)=>{i.length>0&&this.clear()}))):this.toDispose.push(e.workspace.DocumentBuilder.onUpdate(()=>{this.clear()}))}}class JE{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 ZE(e.shared)}getScope(e){const r=[],n=this.reflection.getReferenceType(e),i=pt(e.container).precomputedScopes;if(i){let a=e.container;do{const o=i.get(a);o.length>0&&r.push(ne(o).filter(l=>this.reflection.isSubtype(l.type,n))),a=a.$container}while(a)}let s=this.getGlobalScope(n,e);for(let a=r.length-1;a>=0;a--)s=this.createScope(r[a],s);return s}createScope(e,r,n){return new Yu(ne(e),r,n)}createScopeForNodes(e,r,n){const i=ne(e).map(s=>{const a=this.nameProvider.getName(s);if(a)return this.descriptions.createDescription(s,a)}).nonNullable();return new Yu(i,r,n)}getGlobalScope(e,r){return this.globalScopeCache.get(e,()=>new qE(this.indexManager.allElements(e)))}}function eA(t){return typeof t.$comment=="string"}function qu(t){return typeof t=="object"&&!!t&&("$ref"in t||"$error"in t)}class tA{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,r){const n=r??{},i=r?.replacer,s=(o,l)=>this.replacer(o,l,n),a=i?(o,l)=>i(o,l,s):s;try{return this.currentDocument=pt(e),JSON.stringify(e,a,r?.space)}finally{this.currentDocument=void 0}}deserialize(e,r){const n=r??{},i=JSON.parse(e);return this.linkNode(i,i,n),i}replacer(e,r,{refText:n,sourceText:i,textRegions:s,comments:a,uriConverter:o}){var l,u,c,f;if(!this.ignoreProperties.has(e))if(We(r)){const d=r.ref,h=n?r.$refText:void 0;if(d){const m=pt(d);let g="";this.currentDocument&&this.currentDocument!==m&&(o?g=o(m.uri,r):g=m.uri.toString());const E=this.astNodeLocator.getAstNodePath(d);return{$ref:`${g}#${E}`,$refText:h}}else return{$error:(u=(l=r.error)===null||l===void 0?void 0:l.message)!==null&&u!==void 0?u:"Could not resolve reference",$refText:h}}else if(le(r)){let d;if(s&&(d=this.addAstNodeRegionWithAssignmentsTo(Object.assign({},r)),(!e||r.$document)&&d!=null&&d.$textRegion&&(d.$textRegion.documentURI=(c=this.currentDocument)===null||c===void 0?void 0:c.uri.toString())),i&&!e&&(d??(d=Object.assign({},r)),d.$sourceText=(f=r.$cstNode)===null||f===void 0?void 0:f.text),a){d??(d=Object.assign({},r));const h=this.commentProvider.getComment(r);h&&(d.$comment=h.replace(/\r/g,""))}return d??r}else return r}addAstNodeRegionWithAssignmentsTo(e){const r=n=>({offset:n.offset,end:n.end,length:n.length,range:n.range});if(e.$cstNode){const n=e.$textRegion=r(e.$cstNode),i=n.assignments={};return Object.keys(e).filter(s=>!s.startsWith("$")).forEach(s=>{const a=jh(e.$cstNode,s).map(r);a.length!==0&&(i[s]=a)}),e}}linkNode(e,r,n,i,s,a){for(const[l,u]of Object.entries(e))if(Array.isArray(u))for(let c=0;c<u.length;c++){const f=u[c];qu(f)?u[c]=this.reviveReference(e,l,r,f,n):le(f)&&this.linkNode(f,r,n,e,l,c)}else qu(u)?e[l]=this.reviveReference(e,l,r,u,n):le(u)&&this.linkNode(u,r,n,e,l);const o=e;o.$container=i,o.$containerProperty=s,o.$containerIndex=a}reviveReference(e,r,n,i,s){let a=i.$refText,o=i.$error;if(i.$ref){const l=this.getRefNode(n,i.$ref,s.uriConverter);if(le(l))return a||(a=this.nameProvider.getName(l)),{$refText:a??"",ref:l};o=l}if(o){const l={$refText:a??""};return l.error={container:e,property:r,message:o,reference:l},l}else return}getRefNode(e,r,n){try{const i=r.indexOf("#");if(i===0)return this.astNodeLocator.getAstNode(e,r.substring(1))||"Could not resolve path: "+r;if(i<0){const l=n?n(r):jt.parse(r),u=this.langiumDocuments.getDocument(l);return u?u.parseResult.value:"Could not find document for URI: "+r}const s=n?n(r.substring(0,i)):jt.parse(r.substring(0,i)),a=this.langiumDocuments.getDocument(s);return a?i===r.length-1?a.parseResult.value:this.astNodeLocator.getAstNode(a.parseResult.value,r.substring(i+1))||"Could not resolve URI: "+r:"Could not find document for URI: "+r}catch(i){return String(i)}}}class rA{get map(){return this.fileExtensionMap}constructor(e){this.languageIdMap=new Map,this.fileExtensionMap=new Map,this.textDocuments=e?.workspace.TextDocuments}register(e){const r=e.LanguageMetaData;for(const n of r.fileExtensions)this.fileExtensionMap.has(n)&&console.warn(`The file extension ${n} is used by multiple languages. It is now assigned to '${r.languageId}'.`),this.fileExtensionMap.set(n,e);this.languageIdMap.set(r.languageId,e),this.languageIdMap.size===1?this.singleton=e:this.singleton=void 0}getServices(e){var r,n;if(this.singleton!==void 0)return this.singleton;if(this.languageIdMap.size===0)throw new Error("The service registry is empty. Use `register` to register the services of a language.");const i=(n=(r=this.textDocuments)===null||r===void 0?void 0:r.get(e))===null||n===void 0?void 0:n.languageId;if(i!==void 0){const o=this.languageIdMap.get(i);if(o)return o}const s=Tt.extname(e),a=this.fileExtensionMap.get(s);if(!a)throw i?new Error(`The service registry contains no services for the extension '${s}' for language '${i}'.`):new Error(`The service registry contains no services for the extension '${s}'.`);return a}hasServices(e){try{return this.getServices(e),!0}catch{return!1}}get all(){return Array.from(this.languageIdMap.values())}}function Yr(t){return{code:t}}var wi;(function(t){t.all=["fast","slow","built-in"]})(wi||(wi={}));class nA{constructor(e){this.entries=new Ii,this.entriesBefore=[],this.entriesAfter=[],this.reflection=e.shared.AstReflection}register(e,r=this,n="fast"){if(n==="built-in")throw new Error("The 'built-in' category is reserved for lexer, parser, and linker errors.");for(const[i,s]of Object.entries(e)){const a=s;if(Array.isArray(a))for(const o of a){const l={check:this.wrapValidationException(o,r),category:n};this.addEntry(i,l)}else if(typeof a=="function"){const o={check:this.wrapValidationException(a,r),category:n};this.addEntry(i,o)}else un()}}wrapValidationException(e,r){return async(n,i,s)=>{await this.handleException(()=>e.call(r,n,i,s),"An error occurred during validation",i,n)}}async handleException(e,r,n,i){try{await e()}catch(s){if(Ji(s))throw s;console.error(`${r}:`,s),s instanceof Error&&s.stack&&console.error(s.stack);const a=s instanceof Error?s.message:String(s);n("error",`${r}: ${a}`,{node:i})}}addEntry(e,r){if(e==="AstNode"){this.entries.add("AstNode",r);return}for(const n of this.reflection.getAllSubTypes(e))this.entries.add(n,r)}getChecks(e,r){let n=ne(this.entries.get(e)).concat(this.entries.get("AstNode"));return r&&(n=n.filter(i=>r.includes(i.category))),n.map(i=>i.check)}registerBeforeDocument(e,r=this){this.entriesBefore.push(this.wrapPreparationException(e,"An error occurred during set-up of the validation",r))}registerAfterDocument(e,r=this){this.entriesAfter.push(this.wrapPreparationException(e,"An error occurred during tear-down of the validation",r))}wrapPreparationException(e,r,n){return async(i,s,a,o)=>{await this.handleException(()=>e.call(n,i,s,a,o),r,s,i)}}get checksBefore(){return this.entriesBefore}get checksAfter(){return this.entriesAfter}}class iA{constructor(e){this.validationRegistry=e.validation.ValidationRegistry,this.metadata=e.LanguageMetaData}async validateDocument(e,r={},n=H.CancellationToken.None){const i=e.parseResult,s=[];if(await Ee(n),(!r.categories||r.categories.includes("built-in"))&&(this.processLexingErrors(i,s,r),r.stopAfterLexingErrors&&s.some(a=>{var o;return((o=a.data)===null||o===void 0?void 0:o.code)===Ue.LexingError})||(this.processParsingErrors(i,s,r),r.stopAfterParsingErrors&&s.some(a=>{var o;return((o=a.data)===null||o===void 0?void 0:o.code)===Ue.ParsingError}))||(this.processLinkingErrors(e,s,r),r.stopAfterLinkingErrors&&s.some(a=>{var o;return((o=a.data)===null||o===void 0?void 0:o.code)===Ue.LinkingError}))))return s;try{s.push(...await this.validateAst(i.value,r,n))}catch(a){if(Ji(a))throw a;console.error("An error occurred during validation:",a)}return await Ee(n),s}processLexingErrors(e,r,n){var i,s,a;const o=[...e.lexerErrors,...(s=(i=e.lexerReport)===null||i===void 0?void 0:i.diagnostics)!==null&&s!==void 0?s:[]];for(const l of o){const u=(a=l.severity)!==null&&a!==void 0?a:"error",c={severity:Es(u),range:{start:{line:l.line-1,character:l.column-1},end:{line:l.line-1,character:l.column+l.length-1}},message:l.message,data:aA(u),source:this.getSource()};r.push(c)}}processParsingErrors(e,r,n){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=Js(i.token);if(s){const a={severity:Es("error"),range:s,message:i.message,data:Yr(Ue.ParsingError),source:this.getSource()};r.push(a)}}}processLinkingErrors(e,r,n){for(const i of e.references){const s=i.error;if(s){const a={node:s.container,property:s.property,index:s.index,data:{code:Ue.LinkingError,containerType:s.container.$type,property:s.property,refText:s.reference.$refText}};r.push(this.toDiagnostic("error",s.message,a))}}}async validateAst(e,r,n=H.CancellationToken.None){const i=[],s=(a,o,l)=>{i.push(this.toDiagnostic(a,o,l))};return await this.validateAstBefore(e,r,s,n),await this.validateAstNodes(e,r,s,n),await this.validateAstAfter(e,r,s,n),i}async validateAstBefore(e,r,n,i=H.CancellationToken.None){var s;const a=this.validationRegistry.checksBefore;for(const o of a)await Ee(i),await o(e,n,(s=r.categories)!==null&&s!==void 0?s:[],i)}async validateAstNodes(e,r,n,i=H.CancellationToken.None){await Promise.all(Zt(e).map(async s=>{await Ee(i);const a=this.validationRegistry.getChecks(s.$type,r.categories);for(const o of a)await o(s,n,i)}))}async validateAstAfter(e,r,n,i=H.CancellationToken.None){var s;const a=this.validationRegistry.checksAfter;for(const o of a)await Ee(i),await o(e,n,(s=r.categories)!==null&&s!==void 0?s:[],i)}toDiagnostic(e,r,n){return{message:r,range:sA(n),severity:Es(e),code:n.code,codeDescription:n.codeDescription,tags:n.tags,relatedInformation:n.relatedInformation,data:n.data,source:this.getSource()}}getSource(){return this.metadata.languageId}}function sA(t){if(t.range)return t.range;let e;return typeof t.property=="string"?e=Ic(t.node.$cstNode,t.property,t.index):typeof t.keyword=="string"&&(e=Gh(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 Es(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 aA(t){switch(t){case"error":return Yr(Ue.LexingError);case"warning":return Yr(Ue.LexingWarning);case"info":return Yr(Ue.LexingInfo);case"hint":return Yr(Ue.LexingHint);default:throw new Error("Invalid diagnostic severity: "+t)}}var Ue;(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"})(Ue||(Ue={}));class oA{constructor(e){this.astNodeLocator=e.workspace.AstNodeLocator,this.nameProvider=e.references.NameProvider}createDescription(e,r,n){const i=n??pt(e);r??(r=this.nameProvider.getName(e));const s=this.astNodeLocator.getAstNodePath(e);if(!r)throw new Error(`Node at path ${s} has no name.`);let a;const o=()=>{var l;return a??(a=ai((l=this.nameProvider.getNameNode(e))!==null&&l!==void 0?l:e.$cstNode))};return{node:e,name:r,get nameSegment(){return o()},selectionSegment:ai(e.$cstNode),type:e.$type,documentUri:i.uri,path:s}}}class lA{constructor(e){this.nodeLocator=e.workspace.AstNodeLocator}async createDescriptions(e,r=H.CancellationToken.None){const n=[],i=e.parseResult.value;for(const s of Zt(i))await Ee(r),Ec(s).filter(a=>!Kn(a)).forEach(a=>{const o=this.createDescription(a);o&&n.push(o)});return n}createDescription(e){const r=e.reference.$nodeDescription,n=e.reference.$refNode;if(!r||!n)return;const i=pt(e.container).uri;return{sourceUri:i,sourcePath:this.nodeLocator.getAstNodePath(e.container),targetUri:r.documentUri,targetPath:r.path,segment:ai(n),local:Tt.equals(r.documentUri,i)}}}class uA{constructor(){this.segmentSeparator="/",this.indexSeparator="@"}getAstNodePath(e){if(e.$container){const r=this.getAstNodePath(e.$container),n=this.getPathSegment(e);return r+this.segmentSeparator+n}return""}getPathSegment({$containerProperty:e,$containerIndex:r}){if(!e)throw new Error("Missing '$containerProperty' in AST node.");return r!==void 0?e+this.indexSeparator+r:e}getAstNode(e,r){return r.split(this.segmentSeparator).reduce((n,i)=>{if(!n||i.length===0)return n;const s=i.indexOf(this.indexSeparator);if(s>0){const a=i.substring(0,s),o=parseInt(i.substring(s+1)),l=n[a];return l?.[o]}return n[i]},e)}}var cA=fd();class fA{constructor(e){this._ready=new Ao,this.settings={},this.workspaceConfig=!1,this.onConfigurationSectionUpdateEmitter=new cA.Emitter,this.serviceRegistry=e.ServiceRegistry}get ready(){return this._ready.promise}initialize(e){var r,n;this.workspaceConfig=(n=(r=e.capabilities.workspace)===null||r===void 0?void 0:r.configuration)!==null&&n!==void 0?n:!1}async initialized(e){if(this.workspaceConfig){if(e.register){const r=this.serviceRegistry.all;e.register({section:r.map(n=>this.toSectionName(n.LanguageMetaData.languageId))})}if(e.fetchConfiguration){const r=this.serviceRegistry.all.map(i=>({section:this.toSectionName(i.LanguageMetaData.languageId)})),n=await e.fetchConfiguration(r);r.forEach((i,s)=>{this.updateSectionConfiguration(i.section,n[s])})}}this._ready.resolve()}updateConfiguration(e){e.settings&&Object.keys(e.settings).forEach(r=>{const n=e.settings[r];this.updateSectionConfiguration(r,n),this.onConfigurationSectionUpdateEmitter.fire({section:r,configuration:n})})}updateSectionConfiguration(e,r){this.settings[e]=r}async getConfiguration(e,r){await this.ready;const n=this.toSectionName(e);if(this.settings[n])return this.settings[n][r]}toSectionName(e){return`${e}`}get onConfigurationSectionUpdate(){return this.onConfigurationSectionUpdateEmitter.event}}var en;(function(t){function e(r){return{dispose:async()=>await r()}}t.create=e})(en||(en={}));class dA{constructor(e){this.updateBuildOptions={validation:{categories:["built-in","fast"]}},this.updateListeners=[],this.buildPhaseListeners=new Ii,this.documentPhaseListeners=new Ii,this.buildState=new Map,this.documentBuildWaiters=new Map,this.currentState=K.Changed,this.langiumDocuments=e.workspace.LangiumDocuments,this.langiumDocumentFactory=e.workspace.LangiumDocumentFactory,this.textDocuments=e.workspace.TextDocuments,this.indexManager=e.workspace.IndexManager,this.serviceRegistry=e.ServiceRegistry}async build(e,r={},n=H.CancellationToken.None){var i,s;for(const a of e){const o=a.uri.toString();if(a.state===K.Validated){if(typeof r.validation=="boolean"&&r.validation)a.state=K.IndexedReferences,a.diagnostics=void 0,this.buildState.delete(o);else if(typeof r.validation=="object"){const l=this.buildState.get(o),u=(i=l?.result)===null||i===void 0?void 0:i.validationChecks;if(u){const c=((s=r.validation.categories)!==null&&s!==void 0?s:wi.all).filter(f=>!u.includes(f));c.length>0&&(this.buildState.set(o,{completed:!1,options:{validation:Object.assign(Object.assign({},r.validation),{categories:c})},result:l.result}),a.state=K.IndexedReferences)}}}else this.buildState.delete(o)}this.currentState=K.Changed,await this.emitUpdate(e.map(a=>a.uri),[]),await this.buildDocuments(e,r,n)}async update(e,r,n=H.CancellationToken.None){this.currentState=K.Changed;for(const a of r)this.langiumDocuments.deleteDocument(a),this.buildState.delete(a.toString()),this.indexManager.remove(a);for(const a of e){if(!this.langiumDocuments.invalidateDocument(a)){const o=this.langiumDocumentFactory.fromModel({$type:"INVALID"},a);o.state=K.Changed,this.langiumDocuments.addDocument(o)}this.buildState.delete(a.toString())}const i=ne(e).concat(r).map(a=>a.toString()).toSet();this.langiumDocuments.all.filter(a=>!i.has(a.uri.toString())&&this.shouldRelink(a,i)).forEach(a=>{this.serviceRegistry.getServices(a.uri).references.Linker.unlink(a),a.state=Math.min(a.state,K.ComputedScopes),a.diagnostics=void 0}),await this.emitUpdate(e,r),await Ee(n);const s=this.sortDocuments(this.langiumDocuments.all.filter(a=>{var o;return a.state<K.Linked||!(!((o=this.buildState.get(a.uri.toString()))===null||o===void 0)&&o.completed)}).toArray());await this.buildDocuments(s,this.updateBuildOptions,n)}async emitUpdate(e,r){await Promise.all(this.updateListeners.map(n=>n(e,r)))}sortDocuments(e){let r=0,n=e.length-1;for(;r<n;){for(;r<e.length&&this.hasTextDocument(e[r]);)r++;for(;n>=0&&!this.hasTextDocument(e[n]);)n--;r<n&&([e[r],e[n]]=[e[n],e[r]])}return e}hasTextDocument(e){var r;return!!(!((r=this.textDocuments)===null||r===void 0)&&r.get(e.uri))}shouldRelink(e,r){return e.references.some(n=>n.error!==void 0)?!0:this.indexManager.isAffected(e,r)}onUpdate(e){return this.updateListeners.push(e),en.create(()=>{const r=this.updateListeners.indexOf(e);r>=0&&this.updateListeners.splice(r,1)})}async buildDocuments(e,r,n){this.prepareBuild(e,r),await this.runCancelable(e,K.Parsed,n,s=>this.langiumDocumentFactory.update(s,n)),await this.runCancelable(e,K.IndexedContent,n,s=>this.indexManager.updateContent(s,n)),await this.runCancelable(e,K.ComputedScopes,n,async s=>{const a=this.serviceRegistry.getServices(s.uri).references.ScopeComputation;s.precomputedScopes=await a.computeLocalScopes(s,n)}),await this.runCancelable(e,K.Linked,n,s=>this.serviceRegistry.getServices(s.uri).references.Linker.link(s,n)),await this.runCancelable(e,K.IndexedReferences,n,s=>this.indexManager.updateReferences(s,n));const i=e.filter(s=>this.shouldValidate(s));await this.runCancelable(i,K.Validated,n,s=>this.validate(s,n));for(const s of e){const a=this.buildState.get(s.uri.toString());a&&(a.completed=!0)}}prepareBuild(e,r){for(const n of e){const i=n.uri.toString(),s=this.buildState.get(i);(!s||s.completed)&&this.buildState.set(i,{completed:!1,options:r,result:s?.result})}}async runCancelable(e,r,n,i){const s=e.filter(o=>o.state<r);for(const o of s)await Ee(n),await i(o),o.state=r,await this.notifyDocumentPhase(o,r,n);const a=e.filter(o=>o.state===r);await this.notifyBuildPhase(a,r,n),this.currentState=r}onBuildPhase(e,r){return this.buildPhaseListeners.add(e,r),en.create(()=>{this.buildPhaseListeners.delete(e,r)})}onDocumentPhase(e,r){return this.documentPhaseListeners.add(e,r),en.create(()=>{this.documentPhaseListeners.delete(e,r)})}waitUntil(e,r,n){let i;if(r&&"path"in r?i=r:n=r,n??(n=H.CancellationToken.None),i){const s=this.langiumDocuments.getDocument(i);if(s&&s.state>e)return Promise.resolve(i)}return this.currentState>=e?Promise.resolve(void 0):n.isCancellationRequested?Promise.reject(Si):new Promise((s,a)=>{const o=this.onBuildPhase(e,()=>{if(o.dispose(),l.dispose(),i){const u=this.langiumDocuments.getDocument(i);s(u?.uri)}else s(void 0)}),l=n.onCancellationRequested(()=>{o.dispose(),l.dispose(),a(Si)})})}async notifyDocumentPhase(e,r,n){const i=this.documentPhaseListeners.get(r).slice();for(const s of i)try{await s(e,n)}catch(a){if(!Ji(a))throw a}}async notifyBuildPhase(e,r,n){if(e.length===0)return;const i=this.buildPhaseListeners.get(r).slice();for(const s of i)await Ee(n),await s(e,n)}shouldValidate(e){return!!this.getBuildOptions(e).validation}async validate(e,r){var n,i;const s=this.serviceRegistry.getServices(e.uri).validation.DocumentValidator,a=this.getBuildOptions(e).validation,o=typeof a=="object"?a:void 0,l=await s.validateDocument(e,o,r);e.diagnostics?e.diagnostics.push(...l):e.diagnostics=l;const u=this.buildState.get(e.uri.toString());if(u){(n=u.result)!==null&&n!==void 0||(u.result={});const c=(i=o?.categories)!==null&&i!==void 0?i:wi.all;u.result.validationChecks?u.result.validationChecks.push(...c):u.result.validationChecks=[...c]}}getBuildOptions(e){var r,n;return(n=(r=this.buildState.get(e.uri.toString()))===null||r===void 0?void 0:r.options)!==null&&n!==void 0?n:{}}}class hA{constructor(e){this.symbolIndex=new Map,this.symbolByTypeIndex=new QE,this.referenceIndex=new Map,this.documents=e.workspace.LangiumDocuments,this.serviceRegistry=e.ServiceRegistry,this.astReflection=e.AstReflection}findAllReferences(e,r){const n=pt(e).uri,i=[];return this.referenceIndex.forEach(s=>{s.forEach(a=>{Tt.equals(a.targetUri,n)&&a.targetPath===r&&i.push(a)})}),ne(i)}allElements(e,r){let n=ne(this.symbolIndex.keys());return r&&(n=n.filter(i=>!r||r.has(i))),n.map(i=>this.getFileDescriptions(i,e)).flat()}getFileDescriptions(e,r){var n;return r?this.symbolByTypeIndex.get(e,r,()=>{var i;return((i=this.symbolIndex.get(e))!==null&&i!==void 0?i:[]).filter(s=>this.astReflection.isSubtype(s.type,r))}):(n=this.symbolIndex.get(e))!==null&&n!==void 0?n:[]}remove(e){const r=e.toString();this.symbolIndex.delete(r),this.symbolByTypeIndex.clear(r),this.referenceIndex.delete(r)}async updateContent(e,r=H.CancellationToken.None){const n=await this.serviceRegistry.getServices(e.uri).references.ScopeComputation.computeExports(e,r),i=e.uri.toString();this.symbolIndex.set(i,n),this.symbolByTypeIndex.clear(i)}async updateReferences(e,r=H.CancellationToken.None){const n=await this.serviceRegistry.getServices(e.uri).workspace.ReferenceDescriptionProvider.createDescriptions(e,r);this.referenceIndex.set(e.uri.toString(),n)}isAffected(e,r){const n=this.referenceIndex.get(e.uri.toString());return n?n.some(i=>!i.local&&r.has(i.targetUri.toString())):!1}}class pA{constructor(e){this.initialBuildOptions={},this._ready=new Ao,this.serviceRegistry=e.ServiceRegistry,this.langiumDocuments=e.workspace.LangiumDocuments,this.documentBuilder=e.workspace.DocumentBuilder,this.fileSystemProvider=e.workspace.FileSystemProvider,this.mutex=e.workspace.WorkspaceLock}get ready(){return this._ready.promise}get workspaceFolders(){return this.folders}initialize(e){var r;this.folders=(r=e.workspaceFolders)!==null&&r!==void 0?r:void 0}initialized(e){return this.mutex.write(r=>{var n;return this.initializeWorkspace((n=this.folders)!==null&&n!==void 0?n:[],r)})}async initializeWorkspace(e,r=H.CancellationToken.None){const n=await this.performStartup(e);await Ee(r),await this.documentBuilder.build(n,this.initialBuildOptions,r)}async performStartup(e){const r=this.serviceRegistry.all.flatMap(s=>s.LanguageMetaData.fileExtensions),n=[],i=s=>{n.push(s),this.langiumDocuments.hasDocument(s.uri)||this.langiumDocuments.addDocument(s)};return await this.loadAdditionalDocuments(e,i),await Promise.all(e.map(s=>[s,this.getRootFolder(s)]).map(async s=>this.traverseFolder(...s,r,i))),this._ready.resolve(),n}loadAdditionalDocuments(e,r){return Promise.resolve()}getRootFolder(e){return jt.parse(e.uri)}async traverseFolder(e,r,n,i){const s=await this.fileSystemProvider.readDirectory(r);await Promise.all(s.map(async a=>{if(this.includeEntry(e,a,n)){if(a.isDirectory)await this.traverseFolder(e,a.uri,n,i);else if(a.isFile){const o=await this.langiumDocuments.getOrCreateDocument(a.uri);i(o)}}}))}includeEntry(e,r,n){const i=Tt.basename(r.uri);if(i.startsWith("."))return!1;if(r.isDirectory)return i!=="node_modules"&&i!=="out";if(r.isFile){const s=Tt.extname(r.uri);return n.includes(s)}return!1}}class mA{buildUnexpectedCharactersMessage(e,r,n,i,s){return ua.buildUnexpectedCharactersMessage(e,r,n,i,s)}buildUnableToPopLexerModeMessage(e){return ua.buildUnableToPopLexerModeMessage(e)}}const gA={mode:"full"};class yA{constructor(e){this.errorMessageProvider=e.parser.LexerErrorMessageProvider,this.tokenBuilder=e.parser.TokenBuilder;const r=this.tokenBuilder.buildTokens(e.Grammar,{caseInsensitive:e.LanguageMetaData.caseInsensitive});this.tokenTypes=this.toTokenTypeDictionary(r);const n=Xu(r)?Object.values(r):r,i=e.LanguageMetaData.mode==="production";this.chevrotainLexer=new he(n,{positionTracking:"full",skipValidations:i,errorMessageProvider:this.errorMessageProvider})}get definition(){return this.tokenTypes}tokenize(e,r=gA){var n,i,s;const a=this.chevrotainLexer.tokenize(e);return{tokens:a.tokens,errors:a.errors,hidden:(n=a.groups.hidden)!==null&&n!==void 0?n:[],report:(s=(i=this.tokenBuilder).flushLexingReport)===null||s===void 0?void 0:s.call(i,e)}}toTokenTypeDictionary(e){if(Xu(e))return e;const r=gd(e)?Object.values(e.modes).flat():e,n={};return r.forEach(i=>n[i.name]=i),n}}function vA(t){return Array.isArray(t)&&(t.length===0||"name"in t[0])}function gd(t){return t&&"modes"in t&&"defaultMode"in t}function Xu(t){return!vA(t)&&!gd(t)}function TA(t,e,r){let n,i;typeof t=="string"?(i=e,n=r):(i=t.range.start,n=e),i||(i=M.create(0,0));const s=yd(t),a=ko(n),o=EA({lines:s,position:i,options:a});return IA({index:0,tokens:o,position:i})}function RA(t,e){const r=ko(e),n=yd(t);if(n.length===0)return!1;const i=n[0],s=n[n.length-1],a=r.start,o=r.end;return!!(a!=null&&a.exec(i))&&!!(o!=null&&o.exec(s))}function yd(t){let e="";return typeof t=="string"?e=t:e=t.text,e.split(wh)}const Qu=/\s*(@([\p{L}][\p{L}\p{N}]*)?)/uy,$A=/\{(@[\p{L}][\p{L}\p{N}]*)(\s*)([^\r\n}]+)?\}/gu;function EA(t){var e,r,n;const i=[];let s=t.position.line,a=t.position.character;for(let o=0;o<t.lines.length;o++){const l=o===0,u=o===t.lines.length-1;let c=t.lines[o],f=0;if(l&&t.options.start){const d=(e=t.options.start)===null||e===void 0?void 0:e.exec(c);d&&(f=d.index+d[0].length)}else{const d=(r=t.options.line)===null||r===void 0?void 0:r.exec(c);d&&(f=d.index+d[0].length)}if(u){const d=(n=t.options.end)===null||n===void 0?void 0:n.exec(c);d&&(c=c.substring(0,d.index))}if(c=c.substring(0,SA(c)),Pa(c,f)>=c.length){if(i.length>0){const d=M.create(s,a);i.push({type:"break",content:"",range:O.create(d,d)})}}else{Qu.lastIndex=f;const d=Qu.exec(c);if(d){const h=d[0],m=d[1],g=M.create(s,a+f),E=M.create(s,a+f+h.length);i.push({type:"tag",content:m,range:O.create(g,E)}),f+=h.length,f=Pa(c,f)}if(f<c.length){const h=c.substring(f),m=Array.from(h.matchAll($A));i.push(...AA(m,h,s,a+f))}}s++,a=0}return i.length>0&&i[i.length-1].type==="break"?i.slice(0,-1):i}function AA(t,e,r,n){const i=[];if(t.length===0){const s=M.create(r,n),a=M.create(r,n+e.length);i.push({type:"text",content:e,range:O.create(s,a)})}else{let s=0;for(const o of t){const l=o.index,u=e.substring(s,l);u.length>0&&i.push({type:"text",content:e.substring(s,l),range:O.create(M.create(r,s+n),M.create(r,l+n))});let c=u.length+1;const f=o[1];if(i.push({type:"inline-tag",content:f,range:O.create(M.create(r,s+c+n),M.create(r,s+c+f.length+n))}),c+=f.length,o.length===4){c+=o[2].length;const d=o[3];i.push({type:"text",content:d,range:O.create(M.create(r,s+c+n),M.create(r,s+c+d.length+n))})}else i.push({type:"text",content:"",range:O.create(M.create(r,s+c+n),M.create(r,s+c+n))});s=l+o[0].length}const a=e.substring(s);a.length>0&&i.push({type:"text",content:a,range:O.create(M.create(r,s+n),M.create(r,s+n+a.length))})}return i}const kA=/\S/,xA=/\s*$/;function Pa(t,e){const r=t.substring(e).match(kA);return r?e+r.index:t.length}function SA(t){const e=t.match(xA);if(e&&typeof e.index=="number")return e.index}function IA(t){var e,r,n,i;const s=M.create(t.position.line,t.position.character);if(t.tokens.length===0)return new Zu([],O.create(s,s));const a=[];for(;t.index<t.tokens.length;){const u=wA(t,a[a.length-1]);u&&a.push(u)}const o=(r=(e=a[0])===null||e===void 0?void 0:e.range.start)!==null&&r!==void 0?r:s,l=(i=(n=a[a.length-1])===null||n===void 0?void 0:n.range.end)!==null&&i!==void 0?i:s;return new Zu(a,O.create(o,l))}function wA(t,e){const r=t.tokens[t.index];if(r.type==="tag")return Td(t,!1);if(r.type==="text"||r.type==="inline-tag")return vd(t);bA(r,e),t.index++}function bA(t,e){if(e){const r=new $d("",t.range);"inlines"in e?e.inlines.push(r):e.content.inlines.push(r)}}function vd(t){let e=t.tokens[t.index];const r=e;let n=e;const i=[];for(;e&&e.type!=="break"&&e.type!=="tag";)i.push(CA(t)),n=e,e=t.tokens[t.index];return new Ma(i,O.create(r.range.start,n.range.end))}function CA(t){return t.tokens[t.index].type==="inline-tag"?Td(t,!0):Rd(t)}function Td(t,e){const r=t.tokens[t.index++],n=r.content.substring(1),i=t.tokens[t.index];if(i?.type==="text")if(e){const s=Rd(t);return new ks(n,new Ma([s],s.range),e,O.create(r.range.start,s.range.end))}else{const s=vd(t);return new ks(n,s,e,O.create(r.range.start,s.range.end))}else{const s=r.range;return new ks(n,new Ma([],s),e,s)}}function Rd(t){const e=t.tokens[t.index++];return new $d(e.content,e.range)}function ko(t){if(!t)return ko({start:"/**",end:"*/",line:"*"});const{start:e,end:r,line:n}=t;return{start:As(e,!0),end:As(r,!1),line:As(n,!0)}}function As(t,e){if(typeof t=="string"||typeof t=="object"){const r=typeof t=="string"?Li(t):t.source;return e?new RegExp(`^\\s*${r}`):new RegExp(`\\s*${r}\\s*$`)}else return t}class Zu{constructor(e,r){this.elements=e,this.range=r}getTag(e){return this.getAllTags().find(r=>r.name===e)}getTags(e){return this.getAllTags().filter(r=>r.name===e)}getAllTags(){return this.elements.filter(e=>"name"in e)}toString(){let e="";for(const r of this.elements)if(e.length===0)e=r.toString();else{const n=r.toString();e+=Ju(e)+n}return e.trim()}toMarkdown(e){let r="";for(const n of this.elements)if(r.length===0)r=n.toMarkdown(e);else{const i=n.toMarkdown(e);r+=Ju(r)+i}return r.trim()}}class ks{constructor(e,r,n,i){this.name=e,this.content=r,this.inline=n,this.range=i}toString(){let e=`@${this.name}`;const r=this.content.toString();return this.content.inlines.length===1?e=`${e} ${r}`:this.content.inlines.length>1&&(e=`${e}
|
|
118
|
-
${r}`),this.inline?`{${e}}`:e}toMarkdown(e){var r,n;return(n=(r=e?.renderTag)===null||r===void 0?void 0:r.call(e,this))!==null&&n!==void 0?n:this.toMarkdownDefault(e)}toMarkdownDefault(e){const r=this.content.toMarkdown(e);if(this.inline){const s=
|
|
119
|
-
${r}`),this.inline?`{${i}}`:i}}function
|
|
116
|
+
`&&n++}r&&e.length>0&&t.push(e.length),this._lineOffsets=t}return this._lineOffsets}positionAt(t){t=Math.max(Math.min(t,this._content.length),0);let e=this.getLineOffsets(),r=0,n=e.length;if(n===0)return M.create(0,t);for(;r<n;){let s=Math.floor((r+n)/2);e[s]>t?n=s:r=s+1}let i=r-1;return M.create(i,t-e[i])}offsetAt(t){let e=this.getLineOffsets();if(t.line>=e.length)return this._content.length;if(t.line<0)return 0;let r=e[t.line],n=t.line+1<e.length?e[t.line+1]:this._content.length;return Math.max(Math.min(r+t.character,n),r)}get lineCount(){return this.getLineOffsets().length}};var p;(function(t){const e=Object.prototype.toString;function r(h){return typeof h<"u"}t.defined=r;function n(h){return typeof h>"u"}t.undefined=n;function i(h){return h===!0||h===!1}t.boolean=i;function s(h){return e.call(h)==="[object String]"}t.string=s;function a(h){return e.call(h)==="[object Number]"}t.number=a;function o(h,m,g){return e.call(h)==="[object Number]"&&m<=h&&h<=g}t.numberRange=o;function l(h){return e.call(h)==="[object Number]"&&-2147483648<=h&&h<=2147483647}t.integer=l;function u(h){return e.call(h)==="[object Number]"&&0<=h&&h<=2147483647}t.uinteger=u;function c(h){return e.call(h)==="[object Function]"}t.func=c;function f(h){return h!==null&&typeof h=="object"}t.objectLiteral=f;function d(h,m){return Array.isArray(h)&&h.every(m)}t.typedArray=d})(p||(p={}));class mA{constructor(){this.nodeStack=[]}get current(){var e;return(e=this.nodeStack[this.nodeStack.length-1])!==null&&e!==void 0?e:this.rootNode}buildRootNode(e){return this.rootNode=new Jf(e),this.rootNode.root=this.rootNode,this.nodeStack=[this.rootNode],this.rootNode}buildCompositeNode(e){const r=new Ro;return r.grammarSource=e,r.root=this.rootNode,this.current.content.push(r),this.nodeStack.push(r),r}buildLeafNode(e,r){const n=new ba(e.startOffset,e.image.length,Zs(e),e.tokenType,!r);return n.grammarSource=r,n.root=this.rootNode,this.current.content.push(n),n}removeNode(e){const r=e.container;if(r){const n=r.content.indexOf(e);n>=0&&r.content.splice(n,1)}}addHiddenNodes(e){const r=[];for(const s of e){const a=new ba(s.startOffset,s.image.length,Zs(s),s.tokenType,!0);a.root=this.rootNode,r.push(a)}let n=this.current,i=!1;if(n.content.length>0){n.content.push(...r);return}for(;n.container;){const s=n.container.content.indexOf(n);if(s>0){n.container.content.splice(s,0,...r),i=!0;break}n=n.container}i||this.rootNode.content.unshift(...r)}construct(e){const r=this.current;typeof e.$type=="string"&&(this.current.astNode=e),e.$cstNode=r;const n=this.nodeStack.pop();n?.content.length===0&&this.removeNode(n)}}class Zf{get parent(){return this.container}get feature(){return this.grammarSource}get hidden(){return!1}get astNode(){var e,r;const n=typeof((e=this._astNode)===null||e===void 0?void 0:e.$type)=="string"?this._astNode:(r=this.container)===null||r===void 0?void 0:r.astNode;if(!n)throw new Error("This node has no associated AST element");return n}set astNode(e){this._astNode=e}get element(){return this.astNode}get text(){return this.root.fullText.substring(this.offset,this.end)}}class ba extends Zf{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,r,n,i,s=!1){super(),this._hidden=s,this._offset=e,this._tokenType=i,this._length=r,this._range=n}}class Ro extends Zf{constructor(){super(...arguments),this.content=new Eo(this)}get children(){return this.content}get offset(){var e,r;return(r=(e=this.firstNonHiddenNode)===null||e===void 0?void 0:e.offset)!==null&&r!==void 0?r:0}get length(){return this.end-this.offset}get end(){var e,r;return(r=(e=this.lastNonHiddenNode)===null||e===void 0?void 0:e.end)!==null&&r!==void 0?r:0}get range(){const e=this.firstNonHiddenNode,r=this.lastNonHiddenNode;if(e&&r){if(this._rangeCache===void 0){const{range:n}=e,{range:i}=r;this._rangeCache={start:n.start,end:i.end.line<n.start.line?n.start:i.end}}return this._rangeCache}else return{start:M.create(0,0),end:M.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 r=this.content[e];if(!r.hidden)return r}return this.content[this.content.length-1]}}class Eo extends Array{constructor(e){super(),this.parent=e,Object.setPrototypeOf(this,Eo.prototype)}push(...e){return this.addParents(e),super.push(...e)}unshift(...e){return this.addParents(e),super.unshift(...e)}splice(e,r,...n){return this.addParents(n),super.splice(e,r,...n)}addParents(e){for(const r of e)r.container=this.parent}}class Jf extends Ro{get text(){return this._text.substring(this.offset,this.end)}get fullText(){return this._text}constructor(e){super(),this._text="",this._text=e??""}}const Ca=Symbol("Datatype");function Ts(t){return t.$type===Ca}const ju="",ed=t=>t.endsWith(ju)?t:t+ju;class td{constructor(e){this._unorderedGroups=new Map,this.allRules=new Map,this.lexer=e.parser.Lexer;const r=this.lexer.definition,n=e.LanguageMetaData.mode==="production";this.wrapper=new RA(r,Object.assign(Object.assign({},e.parser.ParserConfig),{skipValidations:n,errorMessageProvider:e.parser.ParserErrorMessageProvider}))}alternatives(e,r){this.wrapper.wrapOr(e,r)}optional(e,r){this.wrapper.wrapOption(e,r)}many(e,r){this.wrapper.wrapMany(e,r)}atLeastOne(e,r){this.wrapper.wrapAtLeastOne(e,r)}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 gA extends td{get current(){return this.stack[this.stack.length-1]}constructor(e){super(e),this.nodeBuilder=new mA,this.stack=[],this.assignmentMap=new Map,this.linker=e.references.Linker,this.converter=e.parser.ValueConverter,this.astReflection=e.shared.AstReflection}rule(e,r){const n=this.computeRuleType(e),i=this.wrapper.DEFINE_RULE(ed(e.name),this.startImplementation(n,r).bind(this));return this.allRules.set(e.name,i),e.entry&&(this.mainRule=i),i}computeRuleType(e){if(!e.fragment)return bc(e)?Ca:Ga(e)??e.name}parse(e,r={}){this.nodeBuilder.buildRootNode(e);const n=this.lexerResult=this.lexer.tokenize(e);this.wrapper.input=n.tokens;const i=r.rule?this.allRules.get(r.rule):this.mainRule;if(!i)throw new Error(r.rule?`No rule found with name '${r.rule}'`:"No main rule available.");const s=i.call(this.wrapper,{});return this.nodeBuilder.addHiddenNodes(n.hidden),this.unorderedGroups.clear(),this.lexerResult=void 0,{value:s,lexerErrors:n.errors,lexerReport:n.report,parserErrors:this.wrapper.errors}}startImplementation(e,r){return n=>{const i=!this.isRecording()&&e!==void 0;if(i){const a={$type:e};this.stack.push(a),e===Ca&&(a.value="")}let s;try{s=r(n)}catch{s=void 0}return s===void 0&&i&&(s=this.construct()),s}}extractHiddenTokens(e){const r=this.lexerResult.hidden;if(!r.length)return[];const n=e.startOffset;for(let i=0;i<r.length;i++)if(r[i].startOffset>n)return r.splice(0,i);return r.splice(0,r.length)}consume(e,r,n){const i=this.wrapper.wrapConsume(e,r);if(!this.isRecording()&&this.isValidToken(i)){const s=this.extractHiddenTokens(i);this.nodeBuilder.addHiddenNodes(s);const a=this.nodeBuilder.buildLeafNode(i,n),{assignment:o,isCrossRef:l}=this.getAssignment(n),u=this.current;if(o){const c=Ot(n)?i.image:this.converter.convert(i.image,a);this.assign(o.operator,o.feature,c,a,l)}else if(Ts(u)){let c=i.image;Ot(n)||(c=this.converter.convert(c,a).toString()),u.value+=c}}}isValidToken(e){return!e.isInsertedInRecovery&&!isNaN(e.startOffset)&&typeof e.endOffset=="number"&&!isNaN(e.endOffset)}subrule(e,r,n,i,s){let a;!this.isRecording()&&!n&&(a=this.nodeBuilder.buildCompositeNode(i));const o=this.wrapper.wrapSubrule(e,r,s);!this.isRecording()&&a&&a.length>0&&this.performSubruleAssignment(o,i,a)}performSubruleAssignment(e,r,n){const{assignment:i,isCrossRef:s}=this.getAssignment(r);if(i)this.assign(i.operator,i.feature,e,n,s);else if(!i){const a=this.current;if(Ts(a))a.value+=e.toString();else if(typeof e=="object"&&e){const o=this.assignWithoutOverride(e,a);this.stack.pop(),this.stack.push(o)}}}action(e,r){if(!this.isRecording()){let n=this.current;if(r.feature&&r.operator){n=this.construct(),this.nodeBuilder.removeNode(n.$cstNode),this.nodeBuilder.buildCompositeNode(r).content.push(n.$cstNode);const i={$type:e};this.stack.push(i),this.assign(r.operator,r.feature,n,n.$cstNode,!1)}else n.$type=e}}construct(){if(this.isRecording())return;const e=this.current;return Rh(e),this.nodeBuilder.construct(e),this.stack.pop(),Ts(e)?this.converter.convert(e.value,e.$cstNode):(Eh(this.astReflection,e),e)}getAssignment(e){if(!this.assignmentMap.has(e)){const r=Ci(e,Lt);this.assignmentMap.set(e,{assignment:r,isCrossRef:r?Da(r.terminal):!1})}return this.assignmentMap.get(e)}assign(e,r,n,i,s){const a=this.current;let o;switch(s&&typeof n=="string"?o=this.linker.buildReference(a,r,i,n):o=n,e){case"=":{a[r]=o;break}case"?=":{a[r]=!0;break}case"+=":Array.isArray(a[r])||(a[r]=[]),a[r].push(o)}}assignWithoutOverride(e,r){for(const[i,s]of Object.entries(r)){const a=e[i];a===void 0?e[i]=s:Array.isArray(a)&&Array.isArray(s)&&(s.push(...a),e[i]=s)}const n=e.$cstNode;return n&&(n.astNode=void 0,e.$cstNode=void 0),e}get definitionErrors(){return this.wrapper.definitionErrors}}class yA{buildMismatchTokenMessage(e){return Xt.buildMismatchTokenMessage(e)}buildNotAllInputParsedMessage(e){return Xt.buildNotAllInputParsedMessage(e)}buildNoViableAltMessage(e){return Xt.buildNoViableAltMessage(e)}buildEarlyExitMessage(e){return Xt.buildEarlyExitMessage(e)}}class rd extends yA{buildMismatchTokenMessage({expected:e,actual:r}){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 \`${r.image}\`.`}buildNotAllInputParsedMessage({firstRedundant:e}){return`Expecting end of file but found \`${e.image}\`.`}}class vA extends td{constructor(){super(...arguments),this.tokens=[],this.elementStack=[],this.lastElementStack=[],this.nextTokenIndex=0,this.stackSize=0}action(){}construct(){}parse(e){this.resetState();const r=this.lexer.tokenize(e,{mode:"partial"});return this.tokens=r.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,r){const n=this.wrapper.DEFINE_RULE(ed(e.name),this.startImplementation(r).bind(this));return this.allRules.set(e.name,n),e.entry&&(this.mainRule=n),n}resetState(){this.elementStack=[],this.lastElementStack=[],this.nextTokenIndex=0,this.stackSize=0}startImplementation(e){return r=>{const n=this.keepStackSize();try{e(r)}finally{this.resetStackSize(n)}}}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,r,n){this.wrapper.wrapConsume(e,r),this.isRecording()||(this.lastElementStack=[...this.elementStack,n],this.nextTokenIndex=this.currIdx+1)}subrule(e,r,n,i,s){this.before(i),this.wrapper.wrapSubrule(e,r,s),this.after(i)}before(e){this.isRecording()||this.elementStack.push(e)}after(e){if(!this.isRecording()){const r=this.elementStack.lastIndexOf(e);r>=0&&this.elementStack.splice(r)}}get currIdx(){return this.wrapper.currIdx}}const TA={recoveryEnabled:!0,nodeLocationTracking:"full",skipValidations:!0,errorMessageProvider:new rd};class RA extends IE{constructor(e,r){const n=r&&"maxLookahead"in r;super(e,Object.assign(Object.assign(Object.assign({},TA),{lookaheadStrategy:n?new po({maxLookahead:r.maxLookahead}):new YE({logging:r.skipValidations?()=>{}:void 0})}),r))}get IS_RECORDING(){return this.RECORDING_PHASE}DEFINE_RULE(e,r){return this.RULE(e,r)}wrapSelfAnalysis(){this.performSelfAnalysis()}wrapConsume(e,r){return this.consume(e,r)}wrapSubrule(e,r,n){return this.subrule(e,r,{ARGS:[n]})}wrapOr(e,r){this.or(e,r)}wrapOption(e,r){this.option(e,r)}wrapMany(e,r){this.many(e,r)}wrapAtLeastOne(e,r){this.atLeastOne(e,r)}}function nd(t,e,r){return EA({parser:e,tokens:r,ruleNames:new Map},t),e}function EA(t,e){const r=kc(e,!1),n=ne(e.rules).filter(Ne).filter(i=>r.has(i));for(const i of n){const s=Object.assign(Object.assign({},t),{consume:1,optional:1,subrule:1,many:1,or:1});t.parser.rule(i,Ut(s,i.definition))}}function Ut(t,e,r=!1){let n;if(Ot(e))n=wA(t,e);else if(bi(e))n=AA(t,e);else if(Lt(e))n=Ut(t,e.terminal);else if(Da(e))n=id(t,e);else if(Pt(e))n=$A(t,e);else if(vc(e))n=xA(t,e);else if(Tc(e))n=SA(t,e);else if(Ua(e))n=IA(t,e);else if(dh(e)){const i=t.consume++;n=()=>t.parser.consume(i,yt,e)}else throw new pc(e.$cstNode,`Unexpected element type: ${e.$type}`);return sd(t,r?void 0:ki(e),n,e.cardinality)}function AA(t,e){const r=Ba(e);return()=>t.parser.action(r,e)}function $A(t,e){const r=e.rule.ref;if(Ne(r)){const n=t.subrule++,i=r.fragment,s=e.arguments.length>0?kA(r,e.arguments):()=>({});return a=>t.parser.subrule(n,ad(t,r),i,e,s(a))}else if(jt(r)){const n=t.consume++,i=Na(t,r.name);return()=>t.parser.consume(n,i,e)}else if(r)ln();else throw new pc(e.$cstNode,`Undefined rule: ${e.rule.$refText}`)}function kA(t,e){const r=e.map(n=>it(n.value));return n=>{const i={};for(let s=0;s<r.length;s++){const a=t.parameters[s],o=r[s];i[a.name]=o(n)}return i}}function it(t){if(ah(t)){const e=it(t.left),r=it(t.right);return n=>e(n)||r(n)}else if(sh(t)){const e=it(t.left),r=it(t.right);return n=>e(n)&&r(n)}else if(oh(t)){const e=it(t.value);return r=>!e(r)}else if(lh(t)){const e=t.parameter.ref.name;return r=>r!==void 0&&r[e]===!0}else if(ih(t)){const e=!!t.true;return()=>e}ln()}function xA(t,e){if(e.elements.length===1)return Ut(t,e.elements[0]);{const r=[];for(const i of e.elements){const s={ALT:Ut(t,i,!0)},a=ki(i);a&&(s.GATE=it(a)),r.push(s)}const n=t.or++;return i=>t.parser.alternatives(n,r.map(s=>{const a={ALT:()=>s.ALT(i)},o=s.GATE;return o&&(a.GATE=()=>o(i)),a}))}}function SA(t,e){if(e.elements.length===1)return Ut(t,e.elements[0]);const r=[];for(const o of e.elements){const l={ALT:Ut(t,o,!0)},u=ki(o);u&&(l.GATE=it(u)),r.push(l)}const n=t.or++,i=(o,l)=>{const u=l.getRuleStack().join("-");return`uGroup_${o}_${u}`},s=o=>t.parser.alternatives(n,r.map((l,u)=>{const c={ALT:()=>!0},f=t.parser;c.ALT=()=>{if(l.ALT(o),!f.isRecording()){const h=i(n,f);f.unorderedGroups.get(h)||f.unorderedGroups.set(h,[]);const m=f.unorderedGroups.get(h);typeof m?.[u]>"u"&&(m[u]=!0)}};const d=l.GATE;return d?c.GATE=()=>d(o):c.GATE=()=>!f.unorderedGroups.get(i(n,f))?.[u],c})),a=sd(t,ki(e),s,"*");return o=>{a(o),t.parser.isRecording()||t.parser.unorderedGroups.delete(i(n,t.parser))}}function IA(t,e){const r=e.elements.map(n=>Ut(t,n));return n=>r.forEach(i=>i(n))}function ki(t){if(Ua(t))return t.guardCondition}function id(t,e,r=e.terminal){if(r)if(Pt(r)&&Ne(r.rule.ref)){const n=r.rule.ref,i=t.subrule++;return s=>t.parser.subrule(i,ad(t,n),!1,e,s)}else if(Pt(r)&&jt(r.rule.ref)){const n=t.consume++,i=Na(t,r.rule.ref.name);return()=>t.parser.consume(n,i,e)}else if(Ot(r)){const n=t.consume++,i=Na(t,r.value);return()=>t.parser.consume(n,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 n=Ic(e.type.ref),i=n?.terminal;if(!i)throw new Error("Could not find name assignment for type: "+Ba(e.type.ref));return id(t,e,i)}}function wA(t,e){const r=t.consume++,n=t.tokens[e.value];if(!n)throw new Error("Could not find token for keyword: "+e.value);return()=>t.parser.consume(r,n,e)}function sd(t,e,r,n){const i=e&&it(e);if(!n)if(i){const s=t.or++;return a=>t.parser.alternatives(s,[{ALT:()=>r(a),GATE:()=>i(a)},{ALT:Pl(),GATE:()=>!i(a)}])}else return r;if(n==="*"){const s=t.many++;return a=>t.parser.many(s,{DEF:()=>r(a),GATE:i?()=>i(a):void 0})}else if(n==="+"){const s=t.many++;if(i){const a=t.or++;return o=>t.parser.alternatives(a,[{ALT:()=>t.parser.atLeastOne(s,{DEF:()=>r(o)}),GATE:()=>i(o)},{ALT:Pl(),GATE:()=>!i(o)}])}else return a=>t.parser.atLeastOne(s,{DEF:()=>r(a)})}else if(n==="?"){const s=t.optional++;return a=>t.parser.optional(s,{DEF:()=>r(a),GATE:i?()=>i(a):void 0})}else ln()}function ad(t,e){const r=bA(t,e),n=t.parser.getRule(r);if(!n)throw new Error(`Rule "${r}" not found."`);return n}function bA(t,e){if(Ne(e))return e.name;if(t.ruleNames.has(e))return t.ruleNames.get(e);{let r=e,n=r.$container,i=e.$type;for(;!Ne(n);)(Ua(n)||vc(n)||Tc(n))&&(i=n.elements.indexOf(r).toString()+":"+i),r=n,n=n.$container;return i=n.name+":"+i,t.ruleNames.set(e,i),i}}function Na(t,e){const r=t.tokens[e];if(!r)throw new Error(`Token "${e}" not found."`);return r}function CA(t){const e=t.Grammar,r=t.parser.Lexer,n=new vA(t);return nd(e,n,r.definition),n.finalize(),n}function NA(t){const e=_A(t);return e.finalize(),e}function _A(t){const e=t.Grammar,r=t.parser.Lexer,n=new gA(t);return nd(e,n,r.definition)}class od{constructor(){this.diagnostics=[]}buildTokens(e,r){const n=ne(kc(e,!1)),i=this.buildTerminalTokens(n),s=this.buildKeywordTokens(n,i,r);return i.forEach(a=>{const o=a.PATTERN;typeof o=="object"&&o&&"test"in o&&ea(o)?s.unshift(a):s.push(a)}),s}flushLexingReport(e){return{diagnostics:this.popDiagnostics()}}popDiagnostics(){const e=[...this.diagnostics];return this.diagnostics=[],e}buildTerminalTokens(e){return e.filter(jt).filter(r=>!r.fragment).map(r=>this.buildTerminalToken(r)).toArray()}buildTerminalToken(e){const r=Ka(e),n=this.requiresCustomPattern(r)?this.regexPatternFunction(r):r,i={name:e.name,PATTERN:n};return typeof n=="function"&&(i.LINE_BREAKS=!0),e.hidden&&(i.GROUP=ea(r)?he.SKIPPED:"hidden"),i}requiresCustomPattern(e){return e.flags.includes("u")||e.flags.includes("s")?!0:!!(e.source.includes("?<=")||e.source.includes("?<!"))}regexPatternFunction(e){const r=new RegExp(e,e.flags+"y");return(n,i)=>(r.lastIndex=i,r.exec(n))}buildKeywordTokens(e,r,n){return e.filter(Ne).flatMap(i=>un(i).filter(Ot)).distinct(i=>i.value).toArray().sort((i,s)=>s.value.length-i.value.length).map(i=>this.buildKeywordToken(i,r,!!n?.caseInsensitive))}buildKeywordToken(e,r,n){const i=this.buildKeywordPattern(e,n),s={name:e.value,PATTERN:i,LONGER_ALT:this.findLongerAlt(e,r)};return typeof i=="function"&&(s.LINE_BREAKS=!0),s}buildKeywordPattern(e,r){return r?new RegExp(Ch(e.value)):e.value}findLongerAlt(e,r){return r.reduce((n,i)=>{const s=i?.PATTERN;return s?.source&&Nh("^"+s.source+"$",e.value)&&n.push(i),n},[])}}class ld{convert(e,r){let n=r.grammarSource;if(Da(n)&&(n=Ph(n)),Pt(n)){const i=n.rule.ref;if(!i)throw new Error("This cst node was not parsed by a rule.");return this.runConverter(i,e,r)}return e}runConverter(e,r,n){var i;switch(e.name.toUpperCase()){case"INT":return tt.convertInt(r);case"STRING":return tt.convertString(r);case"ID":return tt.convertID(r)}switch((i=Bh(e))===null||i===void 0?void 0:i.toLowerCase()){case"number":return tt.convertNumber(r);case"boolean":return tt.convertBoolean(r);case"bigint":return tt.convertBigint(r);case"date":return tt.convertDate(r);default:return r}}}var tt;(function(t){function e(u){let c="";for(let f=1;f<u.length-1;f++){const d=u.charAt(f);if(d==="\\"){const h=u.charAt(++f);c+=r(h)}else c+=d}return c}t.convertString=e;function r(u){switch(u){case"b":return"\b";case"f":return"\f";case"n":return`
|
|
117
|
+
`;case"r":return"\r";case"t":return" ";case"v":return"\v";case"0":return"\0";default:return u}}function n(u){return u.charAt(0)==="^"?u.substring(1):u}t.convertID=n;function i(u){return parseInt(u)}t.convertInt=i;function s(u){return BigInt(u)}t.convertBigint=s;function a(u){return new Date(u)}t.convertDate=a;function o(u){return Number(u)}t.convertNumber=o;function l(u){return u.toLowerCase()==="true"}t.convertBoolean=l})(tt||(tt={}));var Ct={},On={},Gu;function ud(){if(Gu)return On;Gu=1,Object.defineProperty(On,"__esModule",{value:!0});let t;function e(){if(t===void 0)throw new Error("No runtime abstraction layer installed");return t}return(function(r){function n(i){if(i===void 0)throw new Error("No runtime abstraction layer provided");t=i}r.install=n})(e||(e={})),On.default=e,On}var ee={},Bu;function LA(){if(Bu)return ee;Bu=1,Object.defineProperty(ee,"__esModule",{value:!0}),ee.stringArray=ee.array=ee.func=ee.error=ee.number=ee.string=ee.boolean=void 0;function t(o){return o===!0||o===!1}ee.boolean=t;function e(o){return typeof o=="string"||o instanceof String}ee.string=e;function r(o){return typeof o=="number"||o instanceof Number}ee.number=r;function n(o){return o instanceof Error}ee.error=n;function i(o){return typeof o=="function"}ee.func=i;function s(o){return Array.isArray(o)}ee.array=s;function a(o){return s(o)&&o.every(l=>e(l))}return ee.stringArray=a,ee}var Nt={},Ku;function cd(){if(Ku)return Nt;Ku=1,Object.defineProperty(Nt,"__esModule",{value:!0}),Nt.Emitter=Nt.Event=void 0;const t=ud();var e;(function(i){const s={dispose(){}};i.None=function(){return s}})(e||(Nt.Event=e={}));class r{add(s,a=null,o){this._callbacks||(this._callbacks=[],this._contexts=[]),this._callbacks.push(s),this._contexts.push(a),Array.isArray(o)&&o.push({dispose:()=>this.remove(s,a)})}remove(s,a=null){if(!this._callbacks)return;let o=!1;for(let l=0,u=this._callbacks.length;l<u;l++)if(this._callbacks[l]===s)if(this._contexts[l]===a){this._callbacks.splice(l,1),this._contexts.splice(l,1);return}else o=!0;if(o)throw new Error("When adding a listener with a context, you should remove it with the same context")}invoke(...s){if(!this._callbacks)return[];const a=[],o=this._callbacks.slice(0),l=this._contexts.slice(0);for(let u=0,c=o.length;u<c;u++)try{a.push(o[u].apply(l[u],s))}catch(f){(0,t.default)().console.error(f)}return a}isEmpty(){return!this._callbacks||this._callbacks.length===0}dispose(){this._callbacks=void 0,this._contexts=void 0}}class n{constructor(s){this._options=s}get event(){return this._event||(this._event=(s,a,o)=>{this._callbacks||(this._callbacks=new r),this._options&&this._options.onFirstListenerAdd&&this._callbacks.isEmpty()&&this._options.onFirstListenerAdd(this),this._callbacks.add(s,a);const l={dispose:()=>{this._callbacks&&(this._callbacks.remove(s,a),l.dispose=n._noop,this._options&&this._options.onLastListenerRemove&&this._callbacks.isEmpty()&&this._options.onLastListenerRemove(this))}};return Array.isArray(o)&&o.push(l),l}),this._event}fire(s){this._callbacks&&this._callbacks.invoke.call(this._callbacks,s)}dispose(){this._callbacks&&(this._callbacks.dispose(),this._callbacks=void 0)}}return Nt.Emitter=n,n._noop=function(){},Nt}var Vu;function OA(){if(Vu)return Ct;Vu=1,Object.defineProperty(Ct,"__esModule",{value:!0}),Ct.CancellationTokenSource=Ct.CancellationToken=void 0;const t=ud(),e=LA(),r=cd();var n;(function(o){o.None=Object.freeze({isCancellationRequested:!1,onCancellationRequested:r.Event.None}),o.Cancelled=Object.freeze({isCancellationRequested:!0,onCancellationRequested:r.Event.None});function l(u){const c=u;return c&&(c===o.None||c===o.Cancelled||e.boolean(c.isCancellationRequested)&&!!c.onCancellationRequested)}o.is=l})(n||(Ct.CancellationToken=n={}));const i=Object.freeze(function(o,l){const u=(0,t.default)().timer.setTimeout(o.bind(l),0);return{dispose(){u.dispose()}}});class s{constructor(){this._isCancelled=!1}cancel(){this._isCancelled||(this._isCancelled=!0,this._emitter&&(this._emitter.fire(void 0),this.dispose()))}get isCancellationRequested(){return this._isCancelled}get onCancellationRequested(){return this._isCancelled?i:(this._emitter||(this._emitter=new r.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=n.Cancelled}dispose(){this._token?this._token instanceof s&&this._token.dispose():this._token=n.None}}return Ct.CancellationTokenSource=a,Ct}var H=OA();function PA(){return new Promise(t=>{typeof setImmediate>"u"?setTimeout(t,0):setImmediate(t)})}let Xn=0,MA=10;function DA(){return Xn=performance.now(),new H.CancellationTokenSource}const xi=Symbol("OperationCancelled");function Zi(t){return t===xi}async function Ae(t){if(t===H.CancellationToken.None)return;const e=performance.now();if(e-Xn>=MA&&(Xn=e,await PA(),Xn=performance.now()),t.isCancellationRequested)throw xi}class Ao{constructor(){this.promise=new Promise((e,r)=>{this.resolve=n=>(e(n),this),this.reject=n=>(r(n),this)})}}class on{constructor(e,r,n,i){this._uri=e,this._languageId=r,this._version=n,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 r=this.offsetAt(e.start),n=this.offsetAt(e.end);return this._content.substring(r,n)}return this._content}update(e,r){for(const n of e)if(on.isIncremental(n)){const i=dd(n.range),s=this.offsetAt(i.start),a=this.offsetAt(i.end);this._content=this._content.substring(0,s)+n.text+this._content.substring(a,this._content.length);const o=Math.max(i.start.line,0),l=Math.max(i.end.line,0);let u=this._lineOffsets;const c=Hu(n.text,!1,s);if(l-o===c.length)for(let d=0,h=c.length;d<h;d++)u[d+o+1]=c[d];else c.length<1e4?u.splice(o+1,l-o,...c):this._lineOffsets=u=u.slice(0,o+1).concat(c,u.slice(l+1));const f=n.text.length-(a-s);if(f!==0)for(let d=o+1+c.length,h=u.length;d<h;d++)u[d]=u[d]+f}else if(on.isFull(n))this._content=n.text,this._lineOffsets=void 0;else throw new Error("Unknown change event received");this._version=r}getLineOffsets(){return this._lineOffsets===void 0&&(this._lineOffsets=Hu(this._content,!0)),this._lineOffsets}positionAt(e){e=Math.max(Math.min(e,this._content.length),0);const r=this.getLineOffsets();let n=0,i=r.length;if(i===0)return{line:0,character:e};for(;n<i;){const a=Math.floor((n+i)/2);r[a]>e?i=a:n=a+1}const s=n-1;return e=this.ensureBeforeEOL(e,r[s]),{line:s,character:e-r[s]}}offsetAt(e){const r=this.getLineOffsets();if(e.line>=r.length)return this._content.length;if(e.line<0)return 0;const n=r[e.line];if(e.character<=0)return n;const i=e.line+1<r.length?r[e.line+1]:this._content.length,s=Math.min(n+e.character,i);return this.ensureBeforeEOL(s,n)}ensureBeforeEOL(e,r){for(;e>r&&fd(this._content.charCodeAt(e-1));)e--;return e}get lineCount(){return this.getLineOffsets().length}static isIncremental(e){const r=e;return r!=null&&typeof r.text=="string"&&r.range!==void 0&&(r.rangeLength===void 0||typeof r.rangeLength=="number")}static isFull(e){const r=e;return r!=null&&typeof r.text=="string"&&r.range===void 0&&r.rangeLength===void 0}}var _a;(function(t){function e(i,s,a,o){return new on(i,s,a,o)}t.create=e;function r(i,s,a){if(i instanceof on)return i.update(s,a),i;throw new Error("TextDocument.update: document must be created by TextDocument.create")}t.update=r;function n(i,s){const a=i.getText(),o=La(s.map(UA),(c,f)=>{const d=c.range.start.line-f.range.start.line;return d===0?c.range.start.character-f.range.start.character:d});let l=0;const u=[];for(const c of o){const f=i.offsetAt(c.range.start);if(f<l)throw new Error("Overlapping edit");f>l&&u.push(a.substring(l,f)),c.newText.length&&u.push(c.newText),l=i.offsetAt(c.range.end)}return u.push(a.substr(l)),u.join("")}t.applyEdits=n})(_a||(_a={}));function La(t,e){if(t.length<=1)return t;const r=t.length/2|0,n=t.slice(0,r),i=t.slice(r);La(n,e),La(i,e);let s=0,a=0,o=0;for(;s<n.length&&a<i.length;)e(n[s],i[a])<=0?t[o++]=n[s++]:t[o++]=i[a++];for(;s<n.length;)t[o++]=n[s++];for(;a<i.length;)t[o++]=i[a++];return t}function Hu(t,e,r=0){const n=e?[r]:[];for(let i=0;i<t.length;i++){const s=t.charCodeAt(i);fd(s)&&(s===13&&i+1<t.length&&t.charCodeAt(i+1)===10&&i++,n.push(r+i+1))}return n}function fd(t){return t===13||t===10}function dd(t){const e=t.start,r=t.end;return e.line>r.line||e.line===r.line&&e.character>r.character?{start:r,end:e}:t}function UA(t){const e=dd(t.range);return e!==t.range?{newText:t.newText,range:e}:t}var hd;(()=>{var t={470:i=>{function s(l){if(typeof l!="string")throw new TypeError("Path must be a string. Received "+JSON.stringify(l))}function a(l,u){for(var c,f="",d=0,h=-1,m=0,g=0;g<=l.length;++g){if(g<l.length)c=l.charCodeAt(g);else{if(c===47)break;c=47}if(c===47){if(!(h===g-1||m===1))if(h!==g-1&&m===2){if(f.length<2||d!==2||f.charCodeAt(f.length-1)!==46||f.charCodeAt(f.length-2)!==46){if(f.length>2){var A=f.lastIndexOf("/");if(A!==f.length-1){A===-1?(f="",d=0):d=(f=f.slice(0,A)).length-1-f.lastIndexOf("/"),h=g,m=0;continue}}else if(f.length===2||f.length===1){f="",d=0,h=g,m=0;continue}}u&&(f.length>0?f+="/..":f="..",d=2)}else f.length>0?f+="/"+l.slice(h+1,g):f=l.slice(h+1,g),d=g-h-1;h=g,m=0}else c===46&&m!==-1?++m:m=-1}return f}var o={resolve:function(){for(var l,u="",c=!1,f=arguments.length-1;f>=-1&&!c;f--){var d;f>=0?d=arguments[f]:(l===void 0&&(l=process.cwd()),d=l),s(d),d.length!==0&&(u=d+"/"+u,c=d.charCodeAt(0)===47)}return u=a(u,!c),c?u.length>0?"/"+u:"/":u.length>0?u:"."},normalize:function(l){if(s(l),l.length===0)return".";var u=l.charCodeAt(0)===47,c=l.charCodeAt(l.length-1)===47;return(l=a(l,!u)).length!==0||u||(l="."),l.length>0&&c&&(l+="/"),u?"/"+l:l},isAbsolute:function(l){return s(l),l.length>0&&l.charCodeAt(0)===47},join:function(){if(arguments.length===0)return".";for(var l,u=0;u<arguments.length;++u){var c=arguments[u];s(c),c.length>0&&(l===void 0?l=c:l+="/"+c)}return l===void 0?".":o.normalize(l)},relative:function(l,u){if(s(l),s(u),l===u||(l=o.resolve(l))===(u=o.resolve(u)))return"";for(var c=1;c<l.length&&l.charCodeAt(c)===47;++c);for(var f=l.length,d=f-c,h=1;h<u.length&&u.charCodeAt(h)===47;++h);for(var m=u.length-h,g=d<m?d:m,A=-1,v=0;v<=g;++v){if(v===g){if(m>g){if(u.charCodeAt(h+v)===47)return u.slice(h+v+1);if(v===0)return u.slice(h+v)}else d>g&&(l.charCodeAt(c+v)===47?A=v:v===0&&(A=0));break}var E=l.charCodeAt(c+v);if(E!==u.charCodeAt(h+v))break;E===47&&(A=v)}var T="";for(v=c+A+1;v<=f;++v)v!==f&&l.charCodeAt(v)!==47||(T.length===0?T+="..":T+="/..");return T.length>0?T+u.slice(h+A):(h+=A,u.charCodeAt(h)===47&&++h,u.slice(h))},_makeLong:function(l){return l},dirname:function(l){if(s(l),l.length===0)return".";for(var u=l.charCodeAt(0),c=u===47,f=-1,d=!0,h=l.length-1;h>=1;--h)if((u=l.charCodeAt(h))===47){if(!d){f=h;break}}else d=!1;return f===-1?c?"/":".":c&&f===1?"//":l.slice(0,f)},basename:function(l,u){if(u!==void 0&&typeof u!="string")throw new TypeError('"ext" argument must be a string');s(l);var c,f=0,d=-1,h=!0;if(u!==void 0&&u.length>0&&u.length<=l.length){if(u.length===l.length&&u===l)return"";var m=u.length-1,g=-1;for(c=l.length-1;c>=0;--c){var A=l.charCodeAt(c);if(A===47){if(!h){f=c+1;break}}else g===-1&&(h=!1,g=c+1),m>=0&&(A===u.charCodeAt(m)?--m==-1&&(d=c):(m=-1,d=g))}return f===d?d=g:d===-1&&(d=l.length),l.slice(f,d)}for(c=l.length-1;c>=0;--c)if(l.charCodeAt(c)===47){if(!h){f=c+1;break}}else d===-1&&(h=!1,d=c+1);return d===-1?"":l.slice(f,d)},extname:function(l){s(l);for(var u=-1,c=0,f=-1,d=!0,h=0,m=l.length-1;m>=0;--m){var g=l.charCodeAt(m);if(g!==47)f===-1&&(d=!1,f=m+1),g===46?u===-1?u=m:h!==1&&(h=1):u!==-1&&(h=-1);else if(!d){c=m+1;break}}return u===-1||f===-1||h===0||h===1&&u===f-1&&u===c+1?"":l.slice(u,f)},format:function(l){if(l===null||typeof l!="object")throw new TypeError('The "pathObject" argument must be of type Object. Received type '+typeof l);return(function(u,c){var f=c.dir||c.root,d=c.base||(c.name||"")+(c.ext||"");return f?f===c.root?f+d:f+"/"+d:d})(0,l)},parse:function(l){s(l);var u={root:"",dir:"",base:"",ext:"",name:""};if(l.length===0)return u;var c,f=l.charCodeAt(0),d=f===47;d?(u.root="/",c=1):c=0;for(var h=-1,m=0,g=-1,A=!0,v=l.length-1,E=0;v>=c;--v)if((f=l.charCodeAt(v))!==47)g===-1&&(A=!1,g=v+1),f===46?h===-1?h=v:E!==1&&(E=1):h!==-1&&(E=-1);else if(!A){m=v+1;break}return h===-1||g===-1||E===0||E===1&&h===g-1&&h===m+1?g!==-1&&(u.base=u.name=m===0&&d?l.slice(1,g):l.slice(m,g)):(m===0&&d?(u.name=l.slice(1,h),u.base=l.slice(1,g)):(u.name=l.slice(m,h),u.base=l.slice(m,g)),u.ext=l.slice(h,g)),m>0?u.dir=l.slice(0,m-1):d&&(u.dir="/"),u},sep:"/",delimiter:":",win32:null,posix:null};o.posix=o,i.exports=o}},e={};function r(i){var s=e[i];if(s!==void 0)return s.exports;var a=e[i]={exports:{}};return t[i](a,a.exports,r),a.exports}r.d=(i,s)=>{for(var a in s)r.o(s,a)&&!r.o(i,a)&&Object.defineProperty(i,a,{enumerable:!0,get:s[a]})},r.o=(i,s)=>Object.prototype.hasOwnProperty.call(i,s),r.r=i=>{typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty(i,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(i,"__esModule",{value:!0})};var n={};(()=>{let i;r.r(n),r.d(n,{URI:()=>d,Utils:()=>Ie}),typeof process=="object"?i=process.platform==="win32":typeof navigator=="object"&&(i=navigator.userAgent.indexOf("Windows")>=0);const s=/^\w[\w\d+.-]*$/,a=/^\//,o=/^\/\//;function l($,y){if(!$.scheme&&y)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 u="",c="/",f=/^(([^:/?#]+?):)?(\/\/([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?/;class d{static isUri(y){return y instanceof d||!!y&&typeof y.authority=="string"&&typeof y.fragment=="string"&&typeof y.path=="string"&&typeof y.query=="string"&&typeof y.scheme=="string"&&typeof y.fsPath=="string"&&typeof y.with=="function"&&typeof y.toString=="function"}scheme;authority;path;query;fragment;constructor(y,S,k,L,_,N=!1){typeof y=="object"?(this.scheme=y.scheme||u,this.authority=y.authority||u,this.path=y.path||u,this.query=y.query||u,this.fragment=y.fragment||u):(this.scheme=(function(Te,Z){return Te||Z?Te:"file"})(y,N),this.authority=S||u,this.path=(function(Te,Z){switch(Te){case"https":case"http":case"file":Z?Z[0]!==c&&(Z=c+Z):Z=c}return Z})(this.scheme,k||u),this.query=L||u,this.fragment=_||u,l(this,N))}get fsPath(){return E(this)}with(y){if(!y)return this;let{scheme:S,authority:k,path:L,query:_,fragment:N}=y;return S===void 0?S=this.scheme:S===null&&(S=u),k===void 0?k=this.authority:k===null&&(k=u),L===void 0?L=this.path:L===null&&(L=u),_===void 0?_=this.query:_===null&&(_=u),N===void 0?N=this.fragment:N===null&&(N=u),S===this.scheme&&k===this.authority&&L===this.path&&_===this.query&&N===this.fragment?this:new m(S,k,L,_,N)}static parse(y,S=!1){const k=f.exec(y);return k?new m(k[2]||u,ae(k[4]||u),ae(k[5]||u),ae(k[7]||u),ae(k[9]||u),S):new m(u,u,u,u,u)}static file(y){let S=u;if(i&&(y=y.replace(/\\/g,c)),y[0]===c&&y[1]===c){const k=y.indexOf(c,2);k===-1?(S=y.substring(2),y=c):(S=y.substring(2,k),y=y.substring(k)||c)}return new m("file",S,y,u,u)}static from(y){const S=new m(y.scheme,y.authority,y.path,y.query,y.fragment);return l(S,!0),S}toString(y=!1){return T(this,y)}toJSON(){return this}static revive(y){if(y){if(y instanceof d)return y;{const S=new m(y);return S._formatted=y.external,S._fsPath=y._sep===h?y.fsPath:null,S}}return y}}const h=i?1:void 0;class m extends d{_formatted=null;_fsPath=null;get fsPath(){return this._fsPath||(this._fsPath=E(this)),this._fsPath}toString(y=!1){return y?T(this,!0):(this._formatted||(this._formatted=T(this,!1)),this._formatted)}toJSON(){const y={$mid:1};return this._fsPath&&(y.fsPath=this._fsPath,y._sep=h),this._formatted&&(y.external=this._formatted),this.path&&(y.path=this.path),this.scheme&&(y.scheme=this.scheme),this.authority&&(y.authority=this.authority),this.query&&(y.query=this.query),this.fragment&&(y.fragment=this.fragment),y}}const g={58:"%3A",47:"%2F",63:"%3F",35:"%23",91:"%5B",93:"%5D",64:"%40",33:"%21",36:"%24",38:"%26",39:"%27",40:"%28",41:"%29",42:"%2A",43:"%2B",44:"%2C",59:"%3B",61:"%3D",32:"%20"};function A($,y,S){let k,L=-1;for(let _=0;_<$.length;_++){const N=$.charCodeAt(_);if(N>=97&&N<=122||N>=65&&N<=90||N>=48&&N<=57||N===45||N===46||N===95||N===126||y&&N===47||S&&N===91||S&&N===93||S&&N===58)L!==-1&&(k+=encodeURIComponent($.substring(L,_)),L=-1),k!==void 0&&(k+=$.charAt(_));else{k===void 0&&(k=$.substr(0,_));const Te=g[N];Te!==void 0?(L!==-1&&(k+=encodeURIComponent($.substring(L,_)),L=-1),k+=Te):L===-1&&(L=_)}}return L!==-1&&(k+=encodeURIComponent($.substring(L))),k!==void 0?k:$}function v($){let y;for(let S=0;S<$.length;S++){const k=$.charCodeAt(S);k===35||k===63?(y===void 0&&(y=$.substr(0,S)),y+=g[k]):y!==void 0&&(y+=$[S])}return y!==void 0?y:$}function E($,y){let S;return S=$.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&&(S=S.replace(/\//g,"\\")),S}function T($,y){const S=y?v:A;let k="",{scheme:L,authority:_,path:N,query:Te,fragment:Z}=$;if(L&&(k+=L,k+=":"),(_||L==="file")&&(k+=c,k+=c),_){let W=_.indexOf("@");if(W!==-1){const It=_.substr(0,W);_=_.substr(W+1),W=It.lastIndexOf(":"),W===-1?k+=S(It,!1,!1):(k+=S(It.substr(0,W),!1,!1),k+=":",k+=S(It.substr(W+1),!1,!0)),k+="@"}_=_.toLowerCase(),W=_.lastIndexOf(":"),W===-1?k+=S(_,!1,!0):(k+=S(_.substr(0,W),!1,!0),k+=_.substr(W))}if(N){if(N.length>=3&&N.charCodeAt(0)===47&&N.charCodeAt(2)===58){const W=N.charCodeAt(1);W>=65&&W<=90&&(N=`/${String.fromCharCode(W+32)}:${N.substr(3)}`)}else if(N.length>=2&&N.charCodeAt(1)===58){const W=N.charCodeAt(0);W>=65&&W<=90&&(N=`${String.fromCharCode(W+32)}:${N.substr(2)}`)}k+=S(N,!0,!1)}return Te&&(k+="?",k+=S(Te,!1,!1)),Z&&(k+="#",k+=y?Z:A(Z,!1,!1)),k}function x($){try{return decodeURIComponent($)}catch{return $.length>3?$.substr(0,3)+x($.substr(3)):$}}const U=/(%[0-9A-Za-z][0-9A-Za-z])+/g;function ae($){return $.match(U)?$.replace(U,(y=>x(y))):$}var Me=r(470);const ve=Me.posix||Me,He="/";var Ie;(function($){$.joinPath=function(y,...S){return y.with({path:ve.join(y.path,...S)})},$.resolvePath=function(y,...S){let k=y.path,L=!1;k[0]!==He&&(k=He+k,L=!0);let _=ve.resolve(k,...S);return L&&_[0]===He&&!y.authority&&(_=_.substring(1)),y.with({path:_})},$.dirname=function(y){if(y.path.length===0||y.path===He)return y;let S=ve.dirname(y.path);return S.length===1&&S.charCodeAt(0)===46&&(S=""),y.with({path:S})},$.basename=function(y){return ve.basename(y.path)},$.extname=function(y){return ve.extname(y.path)}})(Ie||(Ie={}))})(),hd=n})();const{URI:Ft,Utils:mr}=hd;var Tt;(function(t){t.basename=mr.basename,t.dirname=mr.dirname,t.extname=mr.extname,t.joinPath=mr.joinPath,t.resolvePath=mr.resolvePath;function e(i,s){return i?.toString()===s?.toString()}t.equals=e;function r(i,s){const a=typeof i=="string"?i:i.path,o=typeof s=="string"?s:s.path,l=a.split("/").filter(h=>h.length>0),u=o.split("/").filter(h=>h.length>0);let c=0;for(;c<l.length&&l[c]===u[c];c++);const f="../".repeat(l.length-c),d=u.slice(c).join("/");return f+d}t.relative=r;function n(i){return Ft.parse(i.toString()).toString()}t.normalize=n})(Tt||(Tt={}));var K;(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"})(K||(K={}));class FA{constructor(e){this.serviceRegistry=e.ServiceRegistry,this.textDocuments=e.workspace.TextDocuments,this.fileSystemProvider=e.workspace.FileSystemProvider}async fromUri(e,r=H.CancellationToken.None){const n=await this.fileSystemProvider.readFile(e);return this.createAsync(e,n,r)}fromTextDocument(e,r,n){return r=r??Ft.parse(e.uri),H.CancellationToken.is(n)?this.createAsync(r,e,n):this.create(r,e,n)}fromString(e,r,n){return H.CancellationToken.is(n)?this.createAsync(r,e,n):this.create(r,e,n)}fromModel(e,r){return this.create(r,{$model:e})}create(e,r,n){if(typeof r=="string"){const i=this.parse(e,r,n);return this.createLangiumDocument(i,e,void 0,r)}else if("$model"in r){const i={value:r.$model,parserErrors:[],lexerErrors:[]};return this.createLangiumDocument(i,e)}else{const i=this.parse(e,r.getText(),n);return this.createLangiumDocument(i,e,r)}}async createAsync(e,r,n){if(typeof r=="string"){const i=await this.parseAsync(e,r,n);return this.createLangiumDocument(i,e,void 0,r)}else{const i=await this.parseAsync(e,r.getText(),n);return this.createLangiumDocument(i,e,r)}}createLangiumDocument(e,r,n,i){let s;if(n)s={parseResult:e,uri:r,state:K.Parsed,references:[],textDocument:n};else{const a=this.createTextDocumentGetter(r,i);s={parseResult:e,uri:r,state:K.Parsed,references:[],get textDocument(){return a()}}}return e.value.$document=s,s}async update(e,r){var n,i;const s=(n=e.parseResult.value.$cstNode)===null||n===void 0?void 0:n.root.fullText,a=(i=this.textDocuments)===null||i===void 0?void 0:i.get(e.uri.toString()),o=a?a.getText():await this.fileSystemProvider.readFile(e.uri);if(a)Object.defineProperty(e,"textDocument",{value:a});else{const l=this.createTextDocumentGetter(e.uri,o);Object.defineProperty(e,"textDocument",{get:l})}return s!==o&&(e.parseResult=await this.parseAsync(e.uri,o,r),e.parseResult.value.$document=e),e.state=K.Parsed,e}parse(e,r,n){return this.serviceRegistry.getServices(e).parser.LangiumParser.parse(r,n)}parseAsync(e,r,n){return this.serviceRegistry.getServices(e).parser.AsyncParser.parse(r,n)}createTextDocumentGetter(e,r){const n=this.serviceRegistry;let i;return()=>i??(i=_a.create(e.toString(),n.getServices(e).LanguageMetaData.languageId,0,r??""))}}class jA{constructor(e){this.documentMap=new Map,this.langiumDocumentFactory=e.workspace.LangiumDocumentFactory,this.serviceRegistry=e.ServiceRegistry}get all(){return ne(this.documentMap.values())}addDocument(e){const r=e.uri.toString();if(this.documentMap.has(r))throw new Error(`A document with the URI '${r}' is already present.`);this.documentMap.set(r,e)}getDocument(e){const r=e.toString();return this.documentMap.get(r)}async getOrCreateDocument(e,r){let n=this.getDocument(e);return n||(n=await this.langiumDocumentFactory.fromUri(e,r),this.addDocument(n),n)}createDocument(e,r,n){if(n)return this.langiumDocumentFactory.fromString(r,e,n).then(i=>(this.addDocument(i),i));{const i=this.langiumDocumentFactory.fromString(r,e);return this.addDocument(i),i}}hasDocument(e){return this.documentMap.has(e.toString())}invalidateDocument(e){const r=e.toString(),n=this.documentMap.get(r);return n&&(this.serviceRegistry.getServices(e).references.Linker.unlink(n),n.state=K.Changed,n.precomputedScopes=void 0,n.diagnostics=void 0),n}deleteDocument(e){const r=e.toString(),n=this.documentMap.get(r);return n&&(n.state=K.Changed,this.documentMap.delete(r)),n}}const Rs=Symbol("ref_resolving");class GA{constructor(e){this.reflection=e.shared.AstReflection,this.langiumDocuments=()=>e.shared.workspace.LangiumDocuments,this.scopeProvider=e.references.ScopeProvider,this.astNodeLocator=e.workspace.AstNodeLocator}async link(e,r=H.CancellationToken.None){for(const n of Qt(e.parseResult.value))await Ae(r),Ec(n).forEach(i=>this.doLink(i,e))}doLink(e,r){var n;const i=e.reference;if(i._ref===void 0){i._ref=Rs;try{const s=this.getCandidate(e);if(Bn(s))i._ref=s;else if(i._nodeDescription=s,this.langiumDocuments().hasDocument(s.documentUri)){const a=this.loadAstNode(s);i._ref=a??this.createLinkingError(e,s)}else i._ref=void 0}catch(s){console.error(`An error occurred while resolving reference to '${i.$refText}':`,s);const a=(n=s.message)!==null&&n!==void 0?n:String(s);i._ref=Object.assign(Object.assign({},e),{message:`An error occurred while resolving reference to '${i.$refText}': ${a}`})}r.references.push(i)}}unlink(e){for(const r of e.references)delete r._ref,delete r._nodeDescription;e.references=[]}getCandidate(e){return this.scopeProvider.getScope(e).getElement(e.reference.$refText)??this.createLinkingError(e)}buildReference(e,r,n,i){const s=this,a={$refNode:n,$refText:i,get ref(){var o;if(le(this._ref))return this._ref;if(Yd(this._nodeDescription)){const l=s.loadAstNode(this._nodeDescription);this._ref=l??s.createLinkingError({reference:a,container:e,property:r},this._nodeDescription)}else if(this._ref===void 0){this._ref=Rs;const l=Js(e).$document,u=s.getLinkedNode({reference:a,container:e,property:r});if(u.error&&l&&l.state<K.ComputedScopes)return this._ref=void 0;this._ref=(o=u.node)!==null&&o!==void 0?o:u.error,this._nodeDescription=u.descr,l?.references.push(this)}else if(this._ref===Rs)throw new Error(`Cyclic reference resolution detected: ${s.astNodeLocator.getAstNodePath(e)}/${r} (symbol '${i}')`);return le(this._ref)?this._ref:void 0},get $nodeDescription(){return this._nodeDescription},get error(){return Bn(this._ref)?this._ref:void 0}};return a}getLinkedNode(e){var r;try{const n=this.getCandidate(e);if(Bn(n))return{error:n};const i=this.loadAstNode(n);return i?{node:i,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 i=(r=n.message)!==null&&r!==void 0?r:String(n);return{error:Object.assign(Object.assign({},e),{message:`An error occurred while resolving reference to '${e.reference.$refText}': ${i}`})}}}loadAstNode(e){if(e.node)return e.node;const r=this.langiumDocuments().getDocument(e.documentUri);if(r)return this.astNodeLocator.getAstNode(r.parseResult.value,e.path)}createLinkingError(e,r){const n=Js(e.container).$document;n&&n.state<K.ComputedScopes&&console.warn(`Attempted reference resolution before document reached ComputedScopes state (${n.uri}).`);const i=this.reflection.getReferenceType(e);return Object.assign(Object.assign({},e),{message:`Could not resolve reference to ${i} named '${e.reference.$refText}'.`,targetDescription:r})}}function BA(t){return typeof t.name=="string"}class KA{getName(e){if(BA(e))return e.name}getNameNode(e){return Sc(e.$cstNode,"name")}}class VA{constructor(e){this.nameProvider=e.references.NameProvider,this.index=e.shared.workspace.IndexManager,this.nodeLocator=e.workspace.AstNodeLocator}findDeclaration(e){if(e){const r=jh(e),n=e.astNode;if(r&&n){const i=n[r.feature];if(ze(i))return i.ref;if(Array.isArray(i)){for(const s of i)if(ze(s)&&s.$refNode&&s.$refNode.offset<=e.offset&&s.$refNode.end>=e.end)return s.ref}}if(n){const i=this.nameProvider.getNameNode(n);if(i&&(i===e||Qd(e,i)))return n}}}findDeclarationNode(e){const r=this.findDeclaration(e);if(r?.$cstNode)return this.nameProvider.getNameNode(r)??r.$cstNode}findReferences(e,r){const n=[];if(r.includeDeclaration){const s=this.getReferenceToSelf(e);s&&n.push(s)}let i=this.index.findAllReferences(e,this.nodeLocator.getAstNodePath(e));return r.documentUri&&(i=i.filter(s=>Tt.equals(s.sourceUri,r.documentUri))),n.push(...i),ne(n)}getReferenceToSelf(e){const r=this.nameProvider.getNameNode(e);if(r){const n=pt(e),i=this.nodeLocator.getAstNodePath(e);return{sourceUri:n.uri,sourcePath:i,targetUri:n.uri,targetPath:i,segment:si(r),local:!0}}}}class Si{constructor(e){if(this.map=new Map,e)for(const[r,n]of e)this.add(r,n)}get size(){return Xs.sum(ne(this.map.values()).map(e=>e.length))}clear(){this.map.clear()}delete(e,r){if(r===void 0)return this.map.delete(e);{const n=this.map.get(e);if(n){const i=n.indexOf(r);if(i>=0)return n.length===1?this.map.delete(e):n.splice(i,1),!0}return!1}}get(e){var r;return(r=this.map.get(e))!==null&&r!==void 0?r:[]}has(e,r){if(r===void 0)return this.map.has(e);{const n=this.map.get(e);return n?n.indexOf(r)>=0:!1}}add(e,r){return this.map.has(e)?this.map.get(e).push(r):this.map.set(e,[r]),this}addAll(e,r){return this.map.has(e)?this.map.get(e).push(...r):this.map.set(e,Array.from(r)),this}forEach(e){this.map.forEach((r,n)=>r.forEach(i=>e(i,n,this)))}[Symbol.iterator](){return this.entries().iterator()}entries(){return ne(this.map.entries()).flatMap(([e,r])=>r.map(n=>[e,n]))}keys(){return ne(this.map.keys())}values(){return ne(this.map.values()).flat()}entriesGroupedByKey(){return ne(this.map.entries())}}class Wu{get size(){return this.map.size}constructor(e){if(this.map=new Map,this.inverse=new Map,e)for(const[r,n]of e)this.set(r,n)}clear(){this.map.clear(),this.inverse.clear()}set(e,r){return this.map.set(e,r),this.inverse.set(r,e),this}get(e){return this.map.get(e)}getKey(e){return this.inverse.get(e)}delete(e){const r=this.map.get(e);return r!==void 0?(this.map.delete(e),this.inverse.delete(r),!0):!1}}class HA{constructor(e){this.nameProvider=e.references.NameProvider,this.descriptions=e.workspace.AstNodeDescriptionProvider}async computeExports(e,r=H.CancellationToken.None){return this.computeExportsForNode(e.parseResult.value,e,void 0,r)}async computeExportsForNode(e,r,n=Fa,i=H.CancellationToken.None){const s=[];this.exportNode(e,s,r);for(const a of n(e))await Ae(i),this.exportNode(a,s,r);return s}exportNode(e,r,n){const i=this.nameProvider.getName(e);i&&r.push(this.descriptions.createDescription(e,i,n))}async computeLocalScopes(e,r=H.CancellationToken.None){const n=e.parseResult.value,i=new Si;for(const s of un(n))await Ae(r),this.processNode(s,e,i);return i}processNode(e,r,n){const i=e.$container;if(i){const s=this.nameProvider.getName(e);s&&n.add(i,this.descriptions.createDescription(e,s,r))}}}class zu{constructor(e,r,n){var i;this.elements=e,this.outerScope=r,this.caseInsensitive=(i=n?.caseInsensitive)!==null&&i!==void 0?i:!1}getAllElements(){return this.outerScope?this.elements.concat(this.outerScope.getAllElements()):this.elements}getElement(e){const r=this.caseInsensitive?this.elements.find(n=>n.name.toLowerCase()===e.toLowerCase()):this.elements.find(n=>n.name===e);if(r)return r;if(this.outerScope)return this.outerScope.getElement(e)}}class WA{constructor(e,r,n){var i;this.elements=new Map,this.caseInsensitive=(i=n?.caseInsensitive)!==null&&i!==void 0?i:!1;for(const s of e){const a=this.caseInsensitive?s.name.toLowerCase():s.name;this.elements.set(a,s)}this.outerScope=r}getElement(e){const r=this.caseInsensitive?e.toLowerCase():e,n=this.elements.get(r);if(n)return n;if(this.outerScope)return this.outerScope.getElement(e)}getAllElements(){let e=ne(this.elements.values());return this.outerScope&&(e=e.concat(this.outerScope.getAllElements())),e}}class pd{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 zA extends pd{constructor(){super(...arguments),this.cache=new Map}has(e){return this.throwIfDisposed(),this.cache.has(e)}set(e,r){this.throwIfDisposed(),this.cache.set(e,r)}get(e,r){if(this.throwIfDisposed(),this.cache.has(e))return this.cache.get(e);if(r){const n=r();return this.cache.set(e,n),n}else return}delete(e){return this.throwIfDisposed(),this.cache.delete(e)}clear(){this.throwIfDisposed(),this.cache.clear()}}class YA extends pd{constructor(e){super(),this.cache=new Map,this.converter=e??(r=>r)}has(e,r){return this.throwIfDisposed(),this.cacheForContext(e).has(r)}set(e,r,n){this.throwIfDisposed(),this.cacheForContext(e).set(r,n)}get(e,r,n){this.throwIfDisposed();const i=this.cacheForContext(e);if(i.has(r))return i.get(r);if(n){const s=n();return i.set(r,s),s}else return}delete(e,r){return this.throwIfDisposed(),this.cacheForContext(e).delete(r)}clear(e){if(this.throwIfDisposed(),e){const r=this.converter(e);this.cache.delete(r)}else this.cache.clear()}cacheForContext(e){const r=this.converter(e);let n=this.cache.get(r);return n||(n=new Map,this.cache.set(r,n)),n}}class qA extends zA{constructor(e,r){super(),r?(this.toDispose.push(e.workspace.DocumentBuilder.onBuildPhase(r,()=>{this.clear()})),this.toDispose.push(e.workspace.DocumentBuilder.onUpdate((n,i)=>{i.length>0&&this.clear()}))):this.toDispose.push(e.workspace.DocumentBuilder.onUpdate(()=>{this.clear()}))}}class XA{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 qA(e.shared)}getScope(e){const r=[],n=this.reflection.getReferenceType(e),i=pt(e.container).precomputedScopes;if(i){let a=e.container;do{const o=i.get(a);o.length>0&&r.push(ne(o).filter(l=>this.reflection.isSubtype(l.type,n))),a=a.$container}while(a)}let s=this.getGlobalScope(n,e);for(let a=r.length-1;a>=0;a--)s=this.createScope(r[a],s);return s}createScope(e,r,n){return new zu(ne(e),r,n)}createScopeForNodes(e,r,n){const i=ne(e).map(s=>{const a=this.nameProvider.getName(s);if(a)return this.descriptions.createDescription(s,a)}).nonNullable();return new zu(i,r,n)}getGlobalScope(e,r){return this.globalScopeCache.get(e,()=>new WA(this.indexManager.allElements(e)))}}function QA(t){return typeof t.$comment=="string"}function Yu(t){return typeof t=="object"&&!!t&&("$ref"in t||"$error"in t)}class ZA{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,r){const n=r??{},i=r?.replacer,s=(o,l)=>this.replacer(o,l,n),a=i?(o,l)=>i(o,l,s):s;try{return this.currentDocument=pt(e),JSON.stringify(e,a,r?.space)}finally{this.currentDocument=void 0}}deserialize(e,r){const n=r??{},i=JSON.parse(e);return this.linkNode(i,i,n),i}replacer(e,r,{refText:n,sourceText:i,textRegions:s,comments:a,uriConverter:o}){var l,u,c,f;if(!this.ignoreProperties.has(e))if(ze(r)){const d=r.ref,h=n?r.$refText:void 0;if(d){const m=pt(d);let g="";this.currentDocument&&this.currentDocument!==m&&(o?g=o(m.uri,r):g=m.uri.toString());const A=this.astNodeLocator.getAstNodePath(d);return{$ref:`${g}#${A}`,$refText:h}}else return{$error:(u=(l=r.error)===null||l===void 0?void 0:l.message)!==null&&u!==void 0?u:"Could not resolve reference",$refText:h}}else if(le(r)){let d;if(s&&(d=this.addAstNodeRegionWithAssignmentsTo(Object.assign({},r)),(!e||r.$document)&&d?.$textRegion&&(d.$textRegion.documentURI=(c=this.currentDocument)===null||c===void 0?void 0:c.uri.toString())),i&&!e&&(d??(d=Object.assign({},r)),d.$sourceText=(f=r.$cstNode)===null||f===void 0?void 0:f.text),a){d??(d=Object.assign({},r));const h=this.commentProvider.getComment(r);h&&(d.$comment=h.replace(/\r/g,""))}return d??r}else return r}addAstNodeRegionWithAssignmentsTo(e){const r=n=>({offset:n.offset,end:n.end,length:n.length,range:n.range});if(e.$cstNode){const n=e.$textRegion=r(e.$cstNode),i=n.assignments={};return Object.keys(e).filter(s=>!s.startsWith("$")).forEach(s=>{const a=Dh(e.$cstNode,s).map(r);a.length!==0&&(i[s]=a)}),e}}linkNode(e,r,n,i,s,a){for(const[l,u]of Object.entries(e))if(Array.isArray(u))for(let c=0;c<u.length;c++){const f=u[c];Yu(f)?u[c]=this.reviveReference(e,l,r,f,n):le(f)&&this.linkNode(f,r,n,e,l,c)}else Yu(u)?e[l]=this.reviveReference(e,l,r,u,n):le(u)&&this.linkNode(u,r,n,e,l);const o=e;o.$container=i,o.$containerProperty=s,o.$containerIndex=a}reviveReference(e,r,n,i,s){let a=i.$refText,o=i.$error;if(i.$ref){const l=this.getRefNode(n,i.$ref,s.uriConverter);if(le(l))return a||(a=this.nameProvider.getName(l)),{$refText:a??"",ref:l};o=l}if(o){const l={$refText:a??""};return l.error={container:e,property:r,message:o,reference:l},l}else return}getRefNode(e,r,n){try{const i=r.indexOf("#");if(i===0)return this.astNodeLocator.getAstNode(e,r.substring(1))||"Could not resolve path: "+r;if(i<0){const l=n?n(r):Ft.parse(r),u=this.langiumDocuments.getDocument(l);return u?u.parseResult.value:"Could not find document for URI: "+r}const s=n?n(r.substring(0,i)):Ft.parse(r.substring(0,i)),a=this.langiumDocuments.getDocument(s);return a?i===r.length-1?a.parseResult.value:this.astNodeLocator.getAstNode(a.parseResult.value,r.substring(i+1))||"Could not resolve URI: "+r:"Could not find document for URI: "+r}catch(i){return String(i)}}}class JA{get map(){return this.fileExtensionMap}constructor(e){this.languageIdMap=new Map,this.fileExtensionMap=new Map,this.textDocuments=e?.workspace.TextDocuments}register(e){const r=e.LanguageMetaData;for(const n of r.fileExtensions)this.fileExtensionMap.has(n)&&console.warn(`The file extension ${n} is used by multiple languages. It is now assigned to '${r.languageId}'.`),this.fileExtensionMap.set(n,e);this.languageIdMap.set(r.languageId,e),this.languageIdMap.size===1?this.singleton=e:this.singleton=void 0}getServices(e){var r,n;if(this.singleton!==void 0)return this.singleton;if(this.languageIdMap.size===0)throw new Error("The service registry is empty. Use `register` to register the services of a language.");const i=(n=(r=this.textDocuments)===null||r===void 0?void 0:r.get(e))===null||n===void 0?void 0:n.languageId;if(i!==void 0){const o=this.languageIdMap.get(i);if(o)return o}const s=Tt.extname(e),a=this.fileExtensionMap.get(s);if(!a)throw i?new Error(`The service registry contains no services for the extension '${s}' for language '${i}'.`):new Error(`The service registry contains no services for the extension '${s}'.`);return a}hasServices(e){try{return this.getServices(e),!0}catch{return!1}}get all(){return Array.from(this.languageIdMap.values())}}function zr(t){return{code:t}}var Ii;(function(t){t.all=["fast","slow","built-in"]})(Ii||(Ii={}));class e${constructor(e){this.entries=new Si,this.entriesBefore=[],this.entriesAfter=[],this.reflection=e.shared.AstReflection}register(e,r=this,n="fast"){if(n==="built-in")throw new Error("The 'built-in' category is reserved for lexer, parser, and linker errors.");for(const[i,s]of Object.entries(e)){const a=s;if(Array.isArray(a))for(const o of a){const l={check:this.wrapValidationException(o,r),category:n};this.addEntry(i,l)}else if(typeof a=="function"){const o={check:this.wrapValidationException(a,r),category:n};this.addEntry(i,o)}else ln()}}wrapValidationException(e,r){return async(n,i,s)=>{await this.handleException(()=>e.call(r,n,i,s),"An error occurred during validation",i,n)}}async handleException(e,r,n,i){try{await e()}catch(s){if(Zi(s))throw s;console.error(`${r}:`,s),s instanceof Error&&s.stack&&console.error(s.stack);const a=s instanceof Error?s.message:String(s);n("error",`${r}: ${a}`,{node:i})}}addEntry(e,r){if(e==="AstNode"){this.entries.add("AstNode",r);return}for(const n of this.reflection.getAllSubTypes(e))this.entries.add(n,r)}getChecks(e,r){let n=ne(this.entries.get(e)).concat(this.entries.get("AstNode"));return r&&(n=n.filter(i=>r.includes(i.category))),n.map(i=>i.check)}registerBeforeDocument(e,r=this){this.entriesBefore.push(this.wrapPreparationException(e,"An error occurred during set-up of the validation",r))}registerAfterDocument(e,r=this){this.entriesAfter.push(this.wrapPreparationException(e,"An error occurred during tear-down of the validation",r))}wrapPreparationException(e,r,n){return async(i,s,a,o)=>{await this.handleException(()=>e.call(n,i,s,a,o),r,s,i)}}get checksBefore(){return this.entriesBefore}get checksAfter(){return this.entriesAfter}}class t${constructor(e){this.validationRegistry=e.validation.ValidationRegistry,this.metadata=e.LanguageMetaData}async validateDocument(e,r={},n=H.CancellationToken.None){const i=e.parseResult,s=[];if(await Ae(n),(!r.categories||r.categories.includes("built-in"))&&(this.processLexingErrors(i,s,r),r.stopAfterLexingErrors&&s.some(a=>{var o;return((o=a.data)===null||o===void 0?void 0:o.code)===Ue.LexingError})||(this.processParsingErrors(i,s,r),r.stopAfterParsingErrors&&s.some(a=>{var o;return((o=a.data)===null||o===void 0?void 0:o.code)===Ue.ParsingError}))||(this.processLinkingErrors(e,s,r),r.stopAfterLinkingErrors&&s.some(a=>{var o;return((o=a.data)===null||o===void 0?void 0:o.code)===Ue.LinkingError}))))return s;try{s.push(...await this.validateAst(i.value,r,n))}catch(a){if(Zi(a))throw a;console.error("An error occurred during validation:",a)}return await Ae(n),s}processLexingErrors(e,r,n){var i,s,a;const o=[...e.lexerErrors,...(s=(i=e.lexerReport)===null||i===void 0?void 0:i.diagnostics)!==null&&s!==void 0?s:[]];for(const l of o){const u=(a=l.severity)!==null&&a!==void 0?a:"error",c={severity:Es(u),range:{start:{line:l.line-1,character:l.column-1},end:{line:l.line-1,character:l.column+l.length-1}},message:l.message,data:n$(u),source:this.getSource()};r.push(c)}}processParsingErrors(e,r,n){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=Zs(i.token);if(s){const a={severity:Es("error"),range:s,message:i.message,data:zr(Ue.ParsingError),source:this.getSource()};r.push(a)}}}processLinkingErrors(e,r,n){for(const i of e.references){const s=i.error;if(s){const a={node:s.container,property:s.property,index:s.index,data:{code:Ue.LinkingError,containerType:s.container.$type,property:s.property,refText:s.reference.$refText}};r.push(this.toDiagnostic("error",s.message,a))}}}async validateAst(e,r,n=H.CancellationToken.None){const i=[],s=(a,o,l)=>{i.push(this.toDiagnostic(a,o,l))};return await this.validateAstBefore(e,r,s,n),await this.validateAstNodes(e,r,s,n),await this.validateAstAfter(e,r,s,n),i}async validateAstBefore(e,r,n,i=H.CancellationToken.None){var s;const a=this.validationRegistry.checksBefore;for(const o of a)await Ae(i),await o(e,n,(s=r.categories)!==null&&s!==void 0?s:[],i)}async validateAstNodes(e,r,n,i=H.CancellationToken.None){await Promise.all(Qt(e).map(async s=>{await Ae(i);const a=this.validationRegistry.getChecks(s.$type,r.categories);for(const o of a)await o(s,n,i)}))}async validateAstAfter(e,r,n,i=H.CancellationToken.None){var s;const a=this.validationRegistry.checksAfter;for(const o of a)await Ae(i),await o(e,n,(s=r.categories)!==null&&s!==void 0?s:[],i)}toDiagnostic(e,r,n){return{message:r,range:r$(n),severity:Es(e),code:n.code,codeDescription:n.codeDescription,tags:n.tags,relatedInformation:n.relatedInformation,data:n.data,source:this.getSource()}}getSource(){return this.metadata.languageId}}function r$(t){if(t.range)return t.range;let e;return typeof t.property=="string"?e=Sc(t.node.$cstNode,t.property,t.index):typeof t.keyword=="string"&&(e=Uh(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 Es(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 n$(t){switch(t){case"error":return zr(Ue.LexingError);case"warning":return zr(Ue.LexingWarning);case"info":return zr(Ue.LexingInfo);case"hint":return zr(Ue.LexingHint);default:throw new Error("Invalid diagnostic severity: "+t)}}var Ue;(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"})(Ue||(Ue={}));class i${constructor(e){this.astNodeLocator=e.workspace.AstNodeLocator,this.nameProvider=e.references.NameProvider}createDescription(e,r,n){const i=n??pt(e);r??(r=this.nameProvider.getName(e));const s=this.astNodeLocator.getAstNodePath(e);if(!r)throw new Error(`Node at path ${s} has no name.`);let a;const o=()=>{var l;return a??(a=si((l=this.nameProvider.getNameNode(e))!==null&&l!==void 0?l:e.$cstNode))};return{node:e,name:r,get nameSegment(){return o()},selectionSegment:si(e.$cstNode),type:e.$type,documentUri:i.uri,path:s}}}class s${constructor(e){this.nodeLocator=e.workspace.AstNodeLocator}async createDescriptions(e,r=H.CancellationToken.None){const n=[],i=e.parseResult.value;for(const s of Qt(i))await Ae(r),Ec(s).filter(a=>!Bn(a)).forEach(a=>{const o=this.createDescription(a);o&&n.push(o)});return n}createDescription(e){const r=e.reference.$nodeDescription,n=e.reference.$refNode;if(!r||!n)return;const i=pt(e.container).uri;return{sourceUri:i,sourcePath:this.nodeLocator.getAstNodePath(e.container),targetUri:r.documentUri,targetPath:r.path,segment:si(n),local:Tt.equals(r.documentUri,i)}}}class a${constructor(){this.segmentSeparator="/",this.indexSeparator="@"}getAstNodePath(e){if(e.$container){const r=this.getAstNodePath(e.$container),n=this.getPathSegment(e);return r+this.segmentSeparator+n}return""}getPathSegment({$containerProperty:e,$containerIndex:r}){if(!e)throw new Error("Missing '$containerProperty' in AST node.");return r!==void 0?e+this.indexSeparator+r:e}getAstNode(e,r){return r.split(this.segmentSeparator).reduce((n,i)=>{if(!n||i.length===0)return n;const s=i.indexOf(this.indexSeparator);if(s>0){const a=i.substring(0,s),o=parseInt(i.substring(s+1));return n[a]?.[o]}return n[i]},e)}}var o$=cd();class l${constructor(e){this._ready=new Ao,this.settings={},this.workspaceConfig=!1,this.onConfigurationSectionUpdateEmitter=new o$.Emitter,this.serviceRegistry=e.ServiceRegistry}get ready(){return this._ready.promise}initialize(e){var r,n;this.workspaceConfig=(n=(r=e.capabilities.workspace)===null||r===void 0?void 0:r.configuration)!==null&&n!==void 0?n:!1}async initialized(e){if(this.workspaceConfig){if(e.register){const r=this.serviceRegistry.all;e.register({section:r.map(n=>this.toSectionName(n.LanguageMetaData.languageId))})}if(e.fetchConfiguration){const r=this.serviceRegistry.all.map(i=>({section:this.toSectionName(i.LanguageMetaData.languageId)})),n=await e.fetchConfiguration(r);r.forEach((i,s)=>{this.updateSectionConfiguration(i.section,n[s])})}}this._ready.resolve()}updateConfiguration(e){e.settings&&Object.keys(e.settings).forEach(r=>{const n=e.settings[r];this.updateSectionConfiguration(r,n),this.onConfigurationSectionUpdateEmitter.fire({section:r,configuration:n})})}updateSectionConfiguration(e,r){this.settings[e]=r}async getConfiguration(e,r){await this.ready;const n=this.toSectionName(e);if(this.settings[n])return this.settings[n][r]}toSectionName(e){return`${e}`}get onConfigurationSectionUpdate(){return this.onConfigurationSectionUpdateEmitter.event}}var Jr;(function(t){function e(r){return{dispose:async()=>await r()}}t.create=e})(Jr||(Jr={}));class u${constructor(e){this.updateBuildOptions={validation:{categories:["built-in","fast"]}},this.updateListeners=[],this.buildPhaseListeners=new Si,this.documentPhaseListeners=new Si,this.buildState=new Map,this.documentBuildWaiters=new Map,this.currentState=K.Changed,this.langiumDocuments=e.workspace.LangiumDocuments,this.langiumDocumentFactory=e.workspace.LangiumDocumentFactory,this.textDocuments=e.workspace.TextDocuments,this.indexManager=e.workspace.IndexManager,this.serviceRegistry=e.ServiceRegistry}async build(e,r={},n=H.CancellationToken.None){var i,s;for(const a of e){const o=a.uri.toString();if(a.state===K.Validated){if(typeof r.validation=="boolean"&&r.validation)a.state=K.IndexedReferences,a.diagnostics=void 0,this.buildState.delete(o);else if(typeof r.validation=="object"){const l=this.buildState.get(o),u=(i=l?.result)===null||i===void 0?void 0:i.validationChecks;if(u){const c=((s=r.validation.categories)!==null&&s!==void 0?s:Ii.all).filter(f=>!u.includes(f));c.length>0&&(this.buildState.set(o,{completed:!1,options:{validation:Object.assign(Object.assign({},r.validation),{categories:c})},result:l.result}),a.state=K.IndexedReferences)}}}else this.buildState.delete(o)}this.currentState=K.Changed,await this.emitUpdate(e.map(a=>a.uri),[]),await this.buildDocuments(e,r,n)}async update(e,r,n=H.CancellationToken.None){this.currentState=K.Changed;for(const a of r)this.langiumDocuments.deleteDocument(a),this.buildState.delete(a.toString()),this.indexManager.remove(a);for(const a of e){if(!this.langiumDocuments.invalidateDocument(a)){const o=this.langiumDocumentFactory.fromModel({$type:"INVALID"},a);o.state=K.Changed,this.langiumDocuments.addDocument(o)}this.buildState.delete(a.toString())}const i=ne(e).concat(r).map(a=>a.toString()).toSet();this.langiumDocuments.all.filter(a=>!i.has(a.uri.toString())&&this.shouldRelink(a,i)).forEach(a=>{this.serviceRegistry.getServices(a.uri).references.Linker.unlink(a),a.state=Math.min(a.state,K.ComputedScopes),a.diagnostics=void 0}),await this.emitUpdate(e,r),await Ae(n);const s=this.sortDocuments(this.langiumDocuments.all.filter(a=>{var o;return a.state<K.Linked||!(!((o=this.buildState.get(a.uri.toString()))===null||o===void 0)&&o.completed)}).toArray());await this.buildDocuments(s,this.updateBuildOptions,n)}async emitUpdate(e,r){await Promise.all(this.updateListeners.map(n=>n(e,r)))}sortDocuments(e){let r=0,n=e.length-1;for(;r<n;){for(;r<e.length&&this.hasTextDocument(e[r]);)r++;for(;n>=0&&!this.hasTextDocument(e[n]);)n--;r<n&&([e[r],e[n]]=[e[n],e[r]])}return e}hasTextDocument(e){var r;return!!(!((r=this.textDocuments)===null||r===void 0)&&r.get(e.uri))}shouldRelink(e,r){return e.references.some(n=>n.error!==void 0)?!0:this.indexManager.isAffected(e,r)}onUpdate(e){return this.updateListeners.push(e),Jr.create(()=>{const r=this.updateListeners.indexOf(e);r>=0&&this.updateListeners.splice(r,1)})}async buildDocuments(e,r,n){this.prepareBuild(e,r),await this.runCancelable(e,K.Parsed,n,s=>this.langiumDocumentFactory.update(s,n)),await this.runCancelable(e,K.IndexedContent,n,s=>this.indexManager.updateContent(s,n)),await this.runCancelable(e,K.ComputedScopes,n,async s=>{const a=this.serviceRegistry.getServices(s.uri).references.ScopeComputation;s.precomputedScopes=await a.computeLocalScopes(s,n)}),await this.runCancelable(e,K.Linked,n,s=>this.serviceRegistry.getServices(s.uri).references.Linker.link(s,n)),await this.runCancelable(e,K.IndexedReferences,n,s=>this.indexManager.updateReferences(s,n));const i=e.filter(s=>this.shouldValidate(s));await this.runCancelable(i,K.Validated,n,s=>this.validate(s,n));for(const s of e){const a=this.buildState.get(s.uri.toString());a&&(a.completed=!0)}}prepareBuild(e,r){for(const n of e){const i=n.uri.toString(),s=this.buildState.get(i);(!s||s.completed)&&this.buildState.set(i,{completed:!1,options:r,result:s?.result})}}async runCancelable(e,r,n,i){const s=e.filter(o=>o.state<r);for(const o of s)await Ae(n),await i(o),o.state=r,await this.notifyDocumentPhase(o,r,n);const a=e.filter(o=>o.state===r);await this.notifyBuildPhase(a,r,n),this.currentState=r}onBuildPhase(e,r){return this.buildPhaseListeners.add(e,r),Jr.create(()=>{this.buildPhaseListeners.delete(e,r)})}onDocumentPhase(e,r){return this.documentPhaseListeners.add(e,r),Jr.create(()=>{this.documentPhaseListeners.delete(e,r)})}waitUntil(e,r,n){let i;if(r&&"path"in r?i=r:n=r,n??(n=H.CancellationToken.None),i){const s=this.langiumDocuments.getDocument(i);if(s&&s.state>e)return Promise.resolve(i)}return this.currentState>=e?Promise.resolve(void 0):n.isCancellationRequested?Promise.reject(xi):new Promise((s,a)=>{const o=this.onBuildPhase(e,()=>{if(o.dispose(),l.dispose(),i){const u=this.langiumDocuments.getDocument(i);s(u?.uri)}else s(void 0)}),l=n.onCancellationRequested(()=>{o.dispose(),l.dispose(),a(xi)})})}async notifyDocumentPhase(e,r,n){const i=this.documentPhaseListeners.get(r).slice();for(const s of i)try{await s(e,n)}catch(a){if(!Zi(a))throw a}}async notifyBuildPhase(e,r,n){if(e.length===0)return;const i=this.buildPhaseListeners.get(r).slice();for(const s of i)await Ae(n),await s(e,n)}shouldValidate(e){return!!this.getBuildOptions(e).validation}async validate(e,r){var n,i;const s=this.serviceRegistry.getServices(e.uri).validation.DocumentValidator,a=this.getBuildOptions(e).validation,o=typeof a=="object"?a:void 0,l=await s.validateDocument(e,o,r);e.diagnostics?e.diagnostics.push(...l):e.diagnostics=l;const u=this.buildState.get(e.uri.toString());if(u){(n=u.result)!==null&&n!==void 0||(u.result={});const c=(i=o?.categories)!==null&&i!==void 0?i:Ii.all;u.result.validationChecks?u.result.validationChecks.push(...c):u.result.validationChecks=[...c]}}getBuildOptions(e){var r,n;return(n=(r=this.buildState.get(e.uri.toString()))===null||r===void 0?void 0:r.options)!==null&&n!==void 0?n:{}}}class c${constructor(e){this.symbolIndex=new Map,this.symbolByTypeIndex=new YA,this.referenceIndex=new Map,this.documents=e.workspace.LangiumDocuments,this.serviceRegistry=e.ServiceRegistry,this.astReflection=e.AstReflection}findAllReferences(e,r){const n=pt(e).uri,i=[];return this.referenceIndex.forEach(s=>{s.forEach(a=>{Tt.equals(a.targetUri,n)&&a.targetPath===r&&i.push(a)})}),ne(i)}allElements(e,r){let n=ne(this.symbolIndex.keys());return r&&(n=n.filter(i=>!r||r.has(i))),n.map(i=>this.getFileDescriptions(i,e)).flat()}getFileDescriptions(e,r){var n;return r?this.symbolByTypeIndex.get(e,r,()=>{var i;return((i=this.symbolIndex.get(e))!==null&&i!==void 0?i:[]).filter(s=>this.astReflection.isSubtype(s.type,r))}):(n=this.symbolIndex.get(e))!==null&&n!==void 0?n:[]}remove(e){const r=e.toString();this.symbolIndex.delete(r),this.symbolByTypeIndex.clear(r),this.referenceIndex.delete(r)}async updateContent(e,r=H.CancellationToken.None){const n=await this.serviceRegistry.getServices(e.uri).references.ScopeComputation.computeExports(e,r),i=e.uri.toString();this.symbolIndex.set(i,n),this.symbolByTypeIndex.clear(i)}async updateReferences(e,r=H.CancellationToken.None){const n=await this.serviceRegistry.getServices(e.uri).workspace.ReferenceDescriptionProvider.createDescriptions(e,r);this.referenceIndex.set(e.uri.toString(),n)}isAffected(e,r){const n=this.referenceIndex.get(e.uri.toString());return n?n.some(i=>!i.local&&r.has(i.targetUri.toString())):!1}}class f${constructor(e){this.initialBuildOptions={},this._ready=new Ao,this.serviceRegistry=e.ServiceRegistry,this.langiumDocuments=e.workspace.LangiumDocuments,this.documentBuilder=e.workspace.DocumentBuilder,this.fileSystemProvider=e.workspace.FileSystemProvider,this.mutex=e.workspace.WorkspaceLock}get ready(){return this._ready.promise}get workspaceFolders(){return this.folders}initialize(e){var r;this.folders=(r=e.workspaceFolders)!==null&&r!==void 0?r:void 0}initialized(e){return this.mutex.write(r=>{var n;return this.initializeWorkspace((n=this.folders)!==null&&n!==void 0?n:[],r)})}async initializeWorkspace(e,r=H.CancellationToken.None){const n=await this.performStartup(e);await Ae(r),await this.documentBuilder.build(n,this.initialBuildOptions,r)}async performStartup(e){const r=this.serviceRegistry.all.flatMap(s=>s.LanguageMetaData.fileExtensions),n=[],i=s=>{n.push(s),this.langiumDocuments.hasDocument(s.uri)||this.langiumDocuments.addDocument(s)};return await this.loadAdditionalDocuments(e,i),await Promise.all(e.map(s=>[s,this.getRootFolder(s)]).map(async s=>this.traverseFolder(...s,r,i))),this._ready.resolve(),n}loadAdditionalDocuments(e,r){return Promise.resolve()}getRootFolder(e){return Ft.parse(e.uri)}async traverseFolder(e,r,n,i){const s=await this.fileSystemProvider.readDirectory(r);await Promise.all(s.map(async a=>{if(this.includeEntry(e,a,n)){if(a.isDirectory)await this.traverseFolder(e,a.uri,n,i);else if(a.isFile){const o=await this.langiumDocuments.getOrCreateDocument(a.uri);i(o)}}}))}includeEntry(e,r,n){const i=Tt.basename(r.uri);if(i.startsWith("."))return!1;if(r.isDirectory)return i!=="node_modules"&&i!=="out";if(r.isFile){const s=Tt.extname(r.uri);return n.includes(s)}return!1}}class d${buildUnexpectedCharactersMessage(e,r,n,i,s){return la.buildUnexpectedCharactersMessage(e,r,n,i,s)}buildUnableToPopLexerModeMessage(e){return la.buildUnableToPopLexerModeMessage(e)}}const h$={mode:"full"};class p${constructor(e){this.errorMessageProvider=e.parser.LexerErrorMessageProvider,this.tokenBuilder=e.parser.TokenBuilder;const r=this.tokenBuilder.buildTokens(e.Grammar,{caseInsensitive:e.LanguageMetaData.caseInsensitive});this.tokenTypes=this.toTokenTypeDictionary(r);const n=qu(r)?Object.values(r):r,i=e.LanguageMetaData.mode==="production";this.chevrotainLexer=new he(n,{positionTracking:"full",skipValidations:i,errorMessageProvider:this.errorMessageProvider})}get definition(){return this.tokenTypes}tokenize(e,r=h$){var n,i,s;const a=this.chevrotainLexer.tokenize(e);return{tokens:a.tokens,errors:a.errors,hidden:(n=a.groups.hidden)!==null&&n!==void 0?n:[],report:(s=(i=this.tokenBuilder).flushLexingReport)===null||s===void 0?void 0:s.call(i,e)}}toTokenTypeDictionary(e){if(qu(e))return e;const r=md(e)?Object.values(e.modes).flat():e,n={};return r.forEach(i=>n[i.name]=i),n}}function m$(t){return Array.isArray(t)&&(t.length===0||"name"in t[0])}function md(t){return t&&"modes"in t&&"defaultMode"in t}function qu(t){return!m$(t)&&!md(t)}function g$(t,e,r){let n,i;typeof t=="string"?(i=e,n=r):(i=t.range.start,n=e),i||(i=M.create(0,0));const s=gd(t),a=$o(n),o=T$({lines:s,position:i,options:a});return k$({index:0,tokens:o,position:i})}function y$(t,e){const r=$o(e),n=gd(t);if(n.length===0)return!1;const i=n[0],s=n[n.length-1],a=r.start,o=r.end;return!!a?.exec(i)&&!!o?.exec(s)}function gd(t){let e="";return typeof t=="string"?e=t:e=t.text,e.split(xh)}const Xu=/\s*(@([\p{L}][\p{L}\p{N}]*)?)/uy,v$=/\{(@[\p{L}][\p{L}\p{N}]*)(\s*)([^\r\n}]+)?\}/gu;function T$(t){var e,r,n;const i=[];let s=t.position.line,a=t.position.character;for(let o=0;o<t.lines.length;o++){const l=o===0,u=o===t.lines.length-1;let c=t.lines[o],f=0;if(l&&t.options.start){const d=(e=t.options.start)===null||e===void 0?void 0:e.exec(c);d&&(f=d.index+d[0].length)}else{const d=(r=t.options.line)===null||r===void 0?void 0:r.exec(c);d&&(f=d.index+d[0].length)}if(u){const d=(n=t.options.end)===null||n===void 0?void 0:n.exec(c);d&&(c=c.substring(0,d.index))}if(c=c.substring(0,$$(c)),Oa(c,f)>=c.length){if(i.length>0){const d=M.create(s,a);i.push({type:"break",content:"",range:O.create(d,d)})}}else{Xu.lastIndex=f;const d=Xu.exec(c);if(d){const h=d[0],m=d[1],g=M.create(s,a+f),A=M.create(s,a+f+h.length);i.push({type:"tag",content:m,range:O.create(g,A)}),f+=h.length,f=Oa(c,f)}if(f<c.length){const h=c.substring(f),m=Array.from(h.matchAll(v$));i.push(...R$(m,h,s,a+f))}}s++,a=0}return i.length>0&&i[i.length-1].type==="break"?i.slice(0,-1):i}function R$(t,e,r,n){const i=[];if(t.length===0){const s=M.create(r,n),a=M.create(r,n+e.length);i.push({type:"text",content:e,range:O.create(s,a)})}else{let s=0;for(const o of t){const l=o.index,u=e.substring(s,l);u.length>0&&i.push({type:"text",content:e.substring(s,l),range:O.create(M.create(r,s+n),M.create(r,l+n))});let c=u.length+1;const f=o[1];if(i.push({type:"inline-tag",content:f,range:O.create(M.create(r,s+c+n),M.create(r,s+c+f.length+n))}),c+=f.length,o.length===4){c+=o[2].length;const d=o[3];i.push({type:"text",content:d,range:O.create(M.create(r,s+c+n),M.create(r,s+c+d.length+n))})}else i.push({type:"text",content:"",range:O.create(M.create(r,s+c+n),M.create(r,s+c+n))});s=l+o[0].length}const a=e.substring(s);a.length>0&&i.push({type:"text",content:a,range:O.create(M.create(r,s+n),M.create(r,s+n+a.length))})}return i}const E$=/\S/,A$=/\s*$/;function Oa(t,e){const r=t.substring(e).match(E$);return r?e+r.index:t.length}function $$(t){const e=t.match(A$);if(e&&typeof e.index=="number")return e.index}function k$(t){var e,r,n,i;const s=M.create(t.position.line,t.position.character);if(t.tokens.length===0)return new Qu([],O.create(s,s));const a=[];for(;t.index<t.tokens.length;){const u=x$(t,a[a.length-1]);u&&a.push(u)}const o=(r=(e=a[0])===null||e===void 0?void 0:e.range.start)!==null&&r!==void 0?r:s,l=(i=(n=a[a.length-1])===null||n===void 0?void 0:n.range.end)!==null&&i!==void 0?i:s;return new Qu(a,O.create(o,l))}function x$(t,e){const r=t.tokens[t.index];if(r.type==="tag")return vd(t,!1);if(r.type==="text"||r.type==="inline-tag")return yd(t);S$(r,e),t.index++}function S$(t,e){if(e){const r=new Rd("",t.range);"inlines"in e?e.inlines.push(r):e.content.inlines.push(r)}}function yd(t){let e=t.tokens[t.index];const r=e;let n=e;const i=[];for(;e&&e.type!=="break"&&e.type!=="tag";)i.push(I$(t)),n=e,e=t.tokens[t.index];return new Pa(i,O.create(r.range.start,n.range.end))}function I$(t){return t.tokens[t.index].type==="inline-tag"?vd(t,!0):Td(t)}function vd(t,e){const r=t.tokens[t.index++],n=r.content.substring(1);if(t.tokens[t.index]?.type==="text")if(e){const s=Td(t);return new $s(n,new Pa([s],s.range),e,O.create(r.range.start,s.range.end))}else{const s=yd(t);return new $s(n,s,e,O.create(r.range.start,s.range.end))}else{const s=r.range;return new $s(n,new Pa([],s),e,s)}}function Td(t){const e=t.tokens[t.index++];return new Rd(e.content,e.range)}function $o(t){if(!t)return $o({start:"/**",end:"*/",line:"*"});const{start:e,end:r,line:n}=t;return{start:As(e,!0),end:As(r,!1),line:As(n,!0)}}function As(t,e){if(typeof t=="string"||typeof t=="object"){const r=typeof t=="string"?_i(t):t.source;return e?new RegExp(`^\\s*${r}`):new RegExp(`\\s*${r}\\s*$`)}else return t}class Qu{constructor(e,r){this.elements=e,this.range=r}getTag(e){return this.getAllTags().find(r=>r.name===e)}getTags(e){return this.getAllTags().filter(r=>r.name===e)}getAllTags(){return this.elements.filter(e=>"name"in e)}toString(){let e="";for(const r of this.elements)if(e.length===0)e=r.toString();else{const n=r.toString();e+=Zu(e)+n}return e.trim()}toMarkdown(e){let r="";for(const n of this.elements)if(r.length===0)r=n.toMarkdown(e);else{const i=n.toMarkdown(e);r+=Zu(r)+i}return r.trim()}}class $s{constructor(e,r,n,i){this.name=e,this.content=r,this.inline=n,this.range=i}toString(){let e=`@${this.name}`;const r=this.content.toString();return this.content.inlines.length===1?e=`${e} ${r}`:this.content.inlines.length>1&&(e=`${e}
|
|
118
|
+
${r}`),this.inline?`{${e}}`:e}toMarkdown(e){var r,n;return(n=(r=e?.renderTag)===null||r===void 0?void 0:r.call(e,this))!==null&&n!==void 0?n:this.toMarkdownDefault(e)}toMarkdownDefault(e){const r=this.content.toMarkdown(e);if(this.inline){const s=w$(this.name,r,e??{});if(typeof s=="string")return s}let n="";e?.tag==="italic"||e?.tag===void 0?n="*":e?.tag==="bold"?n="**":e?.tag==="bold-italic"&&(n="***");let i=`${n}@${this.name}${n}`;return this.content.inlines.length===1?i=`${i} — ${r}`:this.content.inlines.length>1&&(i=`${i}
|
|
119
|
+
${r}`),this.inline?`{${i}}`:i}}function w$(t,e,r){var n,i;if(t==="linkplain"||t==="linkcode"||t==="link"){const s=e.indexOf(" ");let a=e;if(s>0){const o=Oa(e,s);a=e.substring(o),e=e.substring(0,s)}return(t==="linkcode"||t==="link"&&r.link==="code")&&(a=`\`${a}\``),(i=(n=r.renderLink)===null||n===void 0?void 0:n.call(r,e,a))!==null&&i!==void 0?i:b$(e,a)}}function b$(t,e){try{return Ft.parse(t,!0),`[${e}](${t})`}catch{return t}}class Pa{constructor(e,r){this.inlines=e,this.range=r}toString(){let e="";for(let r=0;r<this.inlines.length;r++){const n=this.inlines[r],i=this.inlines[r+1];e+=n.toString(),i&&i.range.start.line>n.range.start.line&&(e+=`
|
|
120
120
|
`)}return e}toMarkdown(e){let r="";for(let n=0;n<this.inlines.length;n++){const i=this.inlines[n],s=this.inlines[n+1];r+=i.toMarkdown(e),s&&s.range.start.line>i.range.start.line&&(r+=`
|
|
121
|
-
`)}return r}}class
|
|
121
|
+
`)}return r}}class Rd{constructor(e,r){this.text=e,this.range=r}toString(){return this.text}toMarkdown(){return this.text}}function Zu(t){return t.endsWith(`
|
|
122
122
|
`)?`
|
|
123
123
|
`:`
|
|
124
124
|
|
|
125
|
-
`}class LA{constructor(e){this.indexManager=e.shared.workspace.IndexManager,this.commentProvider=e.documentation.CommentProvider}getDocumentation(e){const r=this.commentProvider.getComment(e);if(r&&RA(r))return TA(r).toMarkdown({renderLink:(n,i)=>this.documentationLinkRenderer(e,n,i),renderTag:n=>this.documentationTagRenderer(e,n)})}documentationLinkRenderer(e,r,n){var i;const s=(i=this.findNameInPrecomputedScopes(e,r))!==null&&i!==void 0?i:this.findNameInGlobalScope(e,r);if(s&&s.nameSegment){const a=s.nameSegment.range.start.line+1,o=s.nameSegment.range.start.character+1,l=s.documentUri.with({fragment:`L${a},${o}`});return`[${n}](${l.toString()})`}else return}documentationTagRenderer(e,r){}findNameInPrecomputedScopes(e,r){const n=pt(e).precomputedScopes;if(!n)return;let i=e;do{const s=n.get(i).find(a=>a.name===r);if(s)return s;i=i.$container}while(i)}findNameInGlobalScope(e,r){return this.indexManager.allElements().find(n=>n.name===r)}}class OA{constructor(e){this.grammarConfig=()=>e.parser.GrammarConfig}getComment(e){var r;return eA(e)?e.$comment:(r=ih(e.$cstNode,this.grammarConfig().multilineCommentRules))===null||r===void 0?void 0:r.text}}class PA{constructor(e){this.syncParser=e.parser.LangiumParser}parse(e,r){return Promise.resolve(this.syncParser.parse(e))}}class MA{constructor(){this.previousTokenSource=new H.CancellationTokenSource,this.writeQueue=[],this.readQueue=[],this.done=!0}write(e){this.cancelWrite();const r=jE();return this.previousTokenSource=r,this.enqueue(this.writeQueue,e,r.token)}read(e){return this.enqueue(this.readQueue,e)}enqueue(e,r,n=H.CancellationToken.None){const i=new Ao,s={action:r,deferred:i,cancellationToken:n};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:r,deferred:n,cancellationToken:i})=>{try{const s=await Promise.resolve().then(()=>r(i));n.resolve(s)}catch(s){Ji(s)?n.resolve(void 0):n.reject(s)}})),this.done=!0,this.performNextOperation()}cancelWrite(){this.previousTokenSource.cancel()}}class DA{constructor(e){this.grammarElementIdMap=new Wu,this.tokenTypeIdMap=new Wu,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(r=>Object.assign(Object.assign({},r),{message:r.message})),value:this.dehydrateAstNode(e.value,this.createDehyrationContext(e.value))}}dehydrateLexerReport(e){return e}createDehyrationContext(e){const r=new Map,n=new Map;for(const i of Zt(e))r.set(i,{});if(e.$cstNode)for(const i of Zs(e.$cstNode))n.set(i,{});return{astNodes:r,cstNodes:n}}dehydrateAstNode(e,r){const n=r.astNodes.get(e);n.$type=e.$type,n.$containerIndex=e.$containerIndex,n.$containerProperty=e.$containerProperty,e.$cstNode!==void 0&&(n.$cstNode=this.dehydrateCstNode(e.$cstNode,r));for(const[i,s]of Object.entries(e))if(!i.startsWith("$"))if(Array.isArray(s)){const a=[];n[i]=a;for(const o of s)le(o)?a.push(this.dehydrateAstNode(o,r)):We(o)?a.push(this.dehydrateReference(o,r)):a.push(o)}else le(s)?n[i]=this.dehydrateAstNode(s,r):We(s)?n[i]=this.dehydrateReference(s,r):s!==void 0&&(n[i]=s);return n}dehydrateReference(e,r){const n={};return n.$refText=e.$refText,e.$refNode&&(n.$refNode=r.cstNodes.get(e.$refNode)),n}dehydrateCstNode(e,r){const n=r.cstNodes.get(e);return pc(e)?n.fullText=e.fullText:n.grammarSource=this.getGrammarElementId(e.grammarSource),n.hidden=e.hidden,n.astNode=r.astNodes.get(e.astNode),tn(e)?n.content=e.content.map(i=>this.dehydrateCstNode(i,r)):hc(e)&&(n.tokenType=e.tokenType.name,n.offset=e.offset,n.length=e.length,n.startLine=e.range.start.line,n.startColumn=e.range.start.character,n.endLine=e.range.end.line,n.endColumn=e.range.end.character),n}hydrate(e){const r=e.value,n=this.createHydrationContext(r);return"$cstNode"in r&&this.hydrateCstNode(r.$cstNode,n),{lexerErrors:e.lexerErrors,lexerReport:e.lexerReport,parserErrors:e.parserErrors,value:this.hydrateAstNode(r,n)}}createHydrationContext(e){const r=new Map,n=new Map;for(const s of Zt(e))r.set(s,{});let i;if(e.$cstNode)for(const s of Zs(e.$cstNode)){let a;"fullText"in s?(a=new ed(s.fullText),i=a):"content"in s?a=new $o:"tokenType"in s&&(a=this.hydrateCstLeafNode(s)),a&&(n.set(s,a),a.root=i)}return{astNodes:r,cstNodes:n}}hydrateAstNode(e,r){const n=r.astNodes.get(e);n.$type=e.$type,n.$containerIndex=e.$containerIndex,n.$containerProperty=e.$containerProperty,e.$cstNode&&(n.$cstNode=r.cstNodes.get(e.$cstNode));for(const[i,s]of Object.entries(e))if(!i.startsWith("$"))if(Array.isArray(s)){const a=[];n[i]=a;for(const o of s)le(o)?a.push(this.setParent(this.hydrateAstNode(o,r),n)):We(o)?a.push(this.hydrateReference(o,n,i,r)):a.push(o)}else le(s)?n[i]=this.setParent(this.hydrateAstNode(s,r),n):We(s)?n[i]=this.hydrateReference(s,n,i,r):s!==void 0&&(n[i]=s);return n}setParent(e,r){return e.$container=r,e}hydrateReference(e,r,n,i){return this.linker.buildReference(r,n,i.cstNodes.get(e.$refNode),e.$refText)}hydrateCstNode(e,r,n=0){const i=r.cstNodes.get(e);if(typeof e.grammarSource=="number"&&(i.grammarSource=this.getGrammarElement(e.grammarSource)),i.astNode=r.astNodes.get(e.astNode),tn(i))for(const s of e.content){const a=this.hydrateCstNode(s,r,n++);i.content.push(a)}return i}hydrateCstLeafNode(e){const r=this.getTokenType(e.tokenType),n=e.offset,i=e.length,s=e.startLine,a=e.startColumn,o=e.endLine,l=e.endColumn,u=e.hidden;return new Ca(n,i,{start:{line:s,character:a},end:{line:o,character:l}},r,u)}getTokenType(e){return this.lexer.definition[e]}getGrammarElementId(e){if(e)return this.grammarElementIdMap.size===0&&this.createGrammarElementIdMap(),this.grammarElementIdMap.get(e)}getGrammarElement(e){return this.grammarElementIdMap.size===0&&this.createGrammarElementIdMap(),this.grammarElementIdMap.getKey(e)}createGrammarElementIdMap(){let e=0;for(const r of Zt(this.grammar))ah(r)&&this.grammarElementIdMap.set(r,e++)}}function At(t){return{documentation:{CommentProvider:e=>new OA(e),DocumentationProvider:e=>new LA(e)},parser:{AsyncParser:e=>new PA(e),GrammarConfig:e=>Qh(e),LangiumParser:e=>OE(e),CompletionParser:e=>LE(e),ValueConverter:()=>new ud,TokenBuilder:()=>new ld,Lexer:e=>new yA(e),ParserErrorMessageProvider:()=>new nd,LexerErrorMessageProvider:()=>new mA},workspace:{AstNodeLocator:()=>new uA,AstNodeDescriptionProvider:e=>new oA(e),ReferenceDescriptionProvider:e=>new lA(e)},references:{Linker:e=>new VE(e),NameProvider:()=>new zE,ScopeProvider:e=>new JE(e),ScopeComputation:e=>new YE(e),References:e=>new WE(e)},serializer:{Hydrator:e=>new DA(e),JsonSerializer:e=>new tA(e)},validation:{DocumentValidator:e=>new iA(e),ValidationRegistry:e=>new nA(e)},shared:()=>t.shared}}function kt(t){return{ServiceRegistry:e=>new rA(e),workspace:{LangiumDocuments:e=>new KE(e),LangiumDocumentFactory:e=>new BE(e),DocumentBuilder:e=>new dA(e),IndexManager:e=>new hA(e),WorkspaceManager:e=>new pA(e),FileSystemProvider:e=>t.fileSystemProvider(e),WorkspaceLock:()=>new MA,ConfigurationProvider:e=>new fA(e)}}}var ec;(function(t){t.merge=(e,r)=>bi(bi({},e),r)})(ec||(ec={}));function ue(t,e,r,n,i,s,a,o,l){const u=[t,e,r,n,i,s,a,o,l].reduce(bi,{});return Ed(u)}const UA=Symbol("isProxy");function Ed(t,e){const r=new Proxy({},{deleteProperty:()=>!1,set:()=>{throw new Error("Cannot set property on injected service container")},get:(n,i)=>i===UA?!0:rc(n,i,t,e||r),getOwnPropertyDescriptor:(n,i)=>(rc(n,i,t,e||r),Object.getOwnPropertyDescriptor(n,i)),has:(n,i)=>i in t,ownKeys:()=>[...Object.getOwnPropertyNames(t)]});return r}const tc=Symbol();function rc(t,e,r,n){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]===tc)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 r){const i=r[e];t[e]=tc;try{t[e]=typeof i=="function"?i(n):Ed(i,n)}catch(s){throw t[e]=s instanceof Error?s:void 0,s}return t[e]}else return}function bi(t,e){if(e){for(const[r,n]of Object.entries(e))if(n!==void 0){const i=t[r];i!==null&&n!==null&&typeof i=="object"&&typeof n=="object"?t[r]=bi(i,n):t[r]=n}}return t}class FA{readFile(){throw new Error("No file system is available.")}async readDirectory(){return[]}}const xt={fileSystemProvider:()=>new FA},jA={Grammar:()=>{},LanguageMetaData:()=>({caseInsensitive:!1,fileExtensions:[".langium"],languageId:"langium"})},GA={AstReflection:()=>new $c};function BA(){const t=ue(kt(xt),GA),e=ue(At({shared:t}),jA);return t.ServiceRegistry.register(e),e}function zt(t){var e;const r=BA(),n=r.serializer.JsonSerializer.deserialize(t);return r.shared.workspace.LangiumDocumentFactory.fromModel(n,jt.parse(`memory://${(e=n.name)!==null&&e!==void 0?e:"grammar"}.langium`)),n}var KA=Object.defineProperty,R=(t,e)=>KA(t,"name",{value:e,configurable:!0}),nc="Statement",Zn="Architecture";function VA(t){return Ve.isInstance(t,Zn)}R(VA,"isArchitecture");var Mn="Axis",qr="Branch";function HA(t){return Ve.isInstance(t,qr)}R(HA,"isBranch");var Dn="Checkout",Un="CherryPicking",xs="ClassDefStatement",Xr="Commit";function zA(t){return Ve.isInstance(t,Xr)}R(zA,"isCommit");var Ss="Curve",Is="Edge",ws="Entry",Qr="GitGraph";function WA(t){return Ve.isInstance(t,Qr)}R(WA,"isGitGraph");var bs="Group",Jn="Info";function YA(t){return Ve.isInstance(t,Jn)}R(YA,"isInfo");var Fn="Item",Cs="Junction",Zr="Merge";function qA(t){return Ve.isInstance(t,Zr)}R(qA,"isMerge");var Ns="Option",ei="Packet";function XA(t){return Ve.isInstance(t,ei)}R(XA,"isPacket");var ti="PacketBlock";function QA(t){return Ve.isInstance(t,ti)}R(QA,"isPacketBlock");var ri="Pie";function ZA(t){return Ve.isInstance(t,ri)}R(ZA,"isPie");var ni="PieSection";function JA(t){return Ve.isInstance(t,ni)}R(JA,"isPieSection");var _s="Radar",Ls="Service",ii="Treemap";function ek(t){return Ve.isInstance(t,ii)}R(ek,"isTreemap");var Os="TreemapRow",jn="Direction",Gn="Leaf",Bn="Section",Ps,Ad=(Ps=class extends dc{getAllTypes(){return[Zn,Mn,qr,Dn,Un,xs,Xr,Ss,jn,Is,ws,Qr,bs,Jn,Fn,Cs,Gn,Zr,Ns,ei,ti,ri,ni,_s,Bn,Ls,nc,ii,Os]}computeIsSubtype(t,e){switch(t){case qr:case Dn:case Un:case Xr:case Zr:return this.isSubtype(nc,e);case jn:return this.isSubtype(Qr,e);case Gn:case Bn:return this.isSubtype(Fn,e);default:return!1}}getReferenceType(t){const e=`${t.container.$type}:${t.property}`;if(e==="Entry:axis")return Mn;throw new Error(`${e} is not a valid reference id.`)}getTypeMetaData(t){switch(t){case Zn:return{name:Zn,properties:[{name:"accDescr"},{name:"accTitle"},{name:"edges",defaultValue:[]},{name:"groups",defaultValue:[]},{name:"junctions",defaultValue:[]},{name:"services",defaultValue:[]},{name:"title"}]};case Mn:return{name:Mn,properties:[{name:"label"},{name:"name"}]};case qr:return{name:qr,properties:[{name:"name"},{name:"order"}]};case Dn:return{name:Dn,properties:[{name:"branch"}]};case Un:return{name:Un,properties:[{name:"id"},{name:"parent"},{name:"tags",defaultValue:[]}]};case xs:return{name:xs,properties:[{name:"className"},{name:"styleText"}]};case Xr:return{name:Xr,properties:[{name:"id"},{name:"message"},{name:"tags",defaultValue:[]},{name:"type"}]};case Ss:return{name:Ss,properties:[{name:"entries",defaultValue:[]},{name:"label"},{name:"name"}]};case Is:return{name:Is,properties:[{name:"lhsDir"},{name:"lhsGroup",defaultValue:!1},{name:"lhsId"},{name:"lhsInto",defaultValue:!1},{name:"rhsDir"},{name:"rhsGroup",defaultValue:!1},{name:"rhsId"},{name:"rhsInto",defaultValue:!1},{name:"title"}]};case ws:return{name:ws,properties:[{name:"axis"},{name:"value"}]};case Qr:return{name:Qr,properties:[{name:"accDescr"},{name:"accTitle"},{name:"statements",defaultValue:[]},{name:"title"}]};case bs:return{name:bs,properties:[{name:"icon"},{name:"id"},{name:"in"},{name:"title"}]};case Jn:return{name:Jn,properties:[{name:"accDescr"},{name:"accTitle"},{name:"title"}]};case Fn:return{name:Fn,properties:[{name:"classSelector"},{name:"name"}]};case Cs:return{name:Cs,properties:[{name:"id"},{name:"in"}]};case Zr:return{name:Zr,properties:[{name:"branch"},{name:"id"},{name:"tags",defaultValue:[]},{name:"type"}]};case Ns:return{name:Ns,properties:[{name:"name"},{name:"value",defaultValue:!1}]};case ei:return{name:ei,properties:[{name:"accDescr"},{name:"accTitle"},{name:"blocks",defaultValue:[]},{name:"title"}]};case ti:return{name:ti,properties:[{name:"bits"},{name:"end"},{name:"label"},{name:"start"}]};case ri:return{name:ri,properties:[{name:"accDescr"},{name:"accTitle"},{name:"sections",defaultValue:[]},{name:"showData",defaultValue:!1},{name:"title"}]};case ni:return{name:ni,properties:[{name:"label"},{name:"value"}]};case _s:return{name:_s,properties:[{name:"accDescr"},{name:"accTitle"},{name:"axes",defaultValue:[]},{name:"curves",defaultValue:[]},{name:"options",defaultValue:[]},{name:"title"}]};case Ls:return{name:Ls,properties:[{name:"icon"},{name:"iconText"},{name:"id"},{name:"in"},{name:"title"}]};case ii:return{name:ii,properties:[{name:"accDescr"},{name:"accTitle"},{name:"title"},{name:"TreemapRows",defaultValue:[]}]};case Os:return{name:Os,properties:[{name:"indent"},{name:"item"}]};case jn:return{name:jn,properties:[{name:"accDescr"},{name:"accTitle"},{name:"dir"},{name:"statements",defaultValue:[]},{name:"title"}]};case Gn:return{name:Gn,properties:[{name:"classSelector"},{name:"name"},{name:"value"}]};case Bn:return{name:Bn,properties:[{name:"classSelector"},{name:"name"}]};default:return{name:t,properties:[]}}}},R(Ps,"MermaidAstReflection"),Ps),Ve=new Ad,ic,tk=R(()=>ic??(ic=zt(`{"$type":"Grammar","isDeclared":true,"name":"Info","imports":[],"rules":[{"$type":"ParserRule","entry":true,"name":"Info","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[],"cardinality":"*"},{"$type":"Keyword","value":"info"},{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[],"cardinality":"*"},{"$type":"Group","elements":[{"$type":"Keyword","value":"showInfo"},{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[],"cardinality":"*"}],"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[],"cardinality":"?"}]},"definesHiddenTokens":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","fragment":true,"name":"EOL","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}],"cardinality":"+"},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"TerminalRule","name":"BOOLEAN","type":{"$type":"ReturnType","name":"boolean"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"true"}},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"false"}}]},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"FLOAT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/[0-9]+\\\\.[0-9]+(?!\\\\.)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/0|[1-9][0-9]*(?!\\\\.)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@7"}},{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@8"}}]},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRING","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|'([^'\\\\\\\\]|\\\\\\\\.)*'/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ID","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[\\\\w]([-\\\\w]*\\\\w)?/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/"},"fragment":false}],"definesHiddenTokens":false,"hiddenTokens":[],"interfaces":[],"types":[],"usedGrammars":[]}`)),"InfoGrammar"),sc,rk=R(()=>sc??(sc=zt(`{"$type":"Grammar","isDeclared":true,"name":"Packet","imports":[],"rules":[{"$type":"ParserRule","entry":true,"name":"Packet","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[],"cardinality":"*"},{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"packet"},{"$type":"Keyword","value":"packet-beta"}]},{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]},{"$type":"Assignment","feature":"blocks","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]}],"cardinality":"*"}]},"definesHiddenTokens":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"PacketBlock","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"Assignment","feature":"start","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":"-"},{"$type":"Assignment","feature":"end","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}}],"cardinality":"?"}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"+"},{"$type":"Assignment","feature":"bits","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}}]}]},{"$type":"Keyword","value":":"},{"$type":"Assignment","feature":"label","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","fragment":true,"name":"EOL","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}],"cardinality":"+"},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"TerminalRule","name":"BOOLEAN","type":{"$type":"ReturnType","name":"boolean"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"true"}},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"false"}}]},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"FLOAT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/[0-9]+\\\\.[0-9]+(?!\\\\.)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/0|[1-9][0-9]*(?!\\\\.)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@8"}},{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@9"}}]},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRING","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|'([^'\\\\\\\\]|\\\\\\\\.)*'/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ID","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[\\\\w]([-\\\\w]*\\\\w)?/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/"},"fragment":false}],"definesHiddenTokens":false,"hiddenTokens":[],"interfaces":[],"types":[],"usedGrammars":[]}`)),"PacketGrammar"),ac,nk=R(()=>ac??(ac=zt(`{"$type":"Grammar","isDeclared":true,"name":"Pie","imports":[],"rules":[{"$type":"ParserRule","entry":true,"name":"Pie","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[],"cardinality":"*"},{"$type":"Keyword","value":"pie"},{"$type":"Assignment","feature":"showData","operator":"?=","terminal":{"$type":"Keyword","value":"showData"},"cardinality":"?"},{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]},{"$type":"Assignment","feature":"sections","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]}],"cardinality":"*"}]},"definesHiddenTokens":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"PieSection","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"label","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[]}},{"$type":"Keyword","value":":"},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"TerminalRule","name":"FLOAT_PIE","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/-?[0-9]+\\\\.[0-9]+(?!\\\\.)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INT_PIE","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/-?(0|[1-9][0-9]*)(?!\\\\.)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER_PIE","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@2"}},{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@3"}}]},"fragment":false,"hidden":false},{"$type":"ParserRule","fragment":true,"name":"EOL","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}],"cardinality":"+"},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"TerminalRule","name":"BOOLEAN","type":{"$type":"ReturnType","name":"boolean"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"true"}},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"false"}}]},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"FLOAT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/[0-9]+\\\\.[0-9]+(?!\\\\.)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/0|[1-9][0-9]*(?!\\\\.)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@11"}},{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@12"}}]},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRING","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|'([^'\\\\\\\\]|\\\\\\\\.)*'/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ID","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[\\\\w]([-\\\\w]*\\\\w)?/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/"},"fragment":false}],"definesHiddenTokens":false,"hiddenTokens":[],"interfaces":[],"types":[],"usedGrammars":[]}`)),"PieGrammar"),oc,ik=R(()=>oc??(oc=zt(`{"$type":"Grammar","isDeclared":true,"name":"Architecture","imports":[],"rules":[{"$type":"ParserRule","entry":true,"name":"Architecture","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@23"},"arguments":[],"cardinality":"*"},{"$type":"Keyword","value":"architecture-beta"},{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@23"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}],"cardinality":"*"}]},"definesHiddenTokens":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","fragment":true,"name":"Statement","definition":{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"groups","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}},{"$type":"Assignment","feature":"services","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]}},{"$type":"Assignment","feature":"junctions","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]}},{"$type":"Assignment","feature":"edges","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}}]},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","fragment":true,"name":"LeftPort","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":":"},{"$type":"Assignment","feature":"lhsDir","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}}]},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","fragment":true,"name":"RightPort","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"rhsDir","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}},{"$type":"Keyword","value":":"}]},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","fragment":true,"name":"Arrow","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]},{"$type":"Assignment","feature":"lhsInto","operator":"?=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[]},"cardinality":"?"},{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"--"},{"$type":"Group","elements":[{"$type":"Keyword","value":"-"},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@29"},"arguments":[]}},{"$type":"Keyword","value":"-"}]}]},{"$type":"Assignment","feature":"rhsInto","operator":"?=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[]},"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Group","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"group"},{"$type":"Assignment","feature":"id","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]}},{"$type":"Assignment","feature":"icon","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@28"},"arguments":[]},"cardinality":"?"},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@29"},"arguments":[]},"cardinality":"?"},{"$type":"Group","elements":[{"$type":"Keyword","value":"in"},{"$type":"Assignment","feature":"in","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]}}],"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Service","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"service"},{"$type":"Assignment","feature":"id","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]}},{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"iconText","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@21"},"arguments":[]}},{"$type":"Assignment","feature":"icon","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@28"},"arguments":[]}}],"cardinality":"?"},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@29"},"arguments":[]},"cardinality":"?"},{"$type":"Group","elements":[{"$type":"Keyword","value":"in"},{"$type":"Assignment","feature":"in","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]}}],"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Junction","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"junction"},{"$type":"Assignment","feature":"id","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":"in"},{"$type":"Assignment","feature":"in","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]}}],"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Edge","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"lhsId","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]}},{"$type":"Assignment","feature":"lhsGroup","operator":"?=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]},"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]},{"$type":"Assignment","feature":"rhsId","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]}},{"$type":"Assignment","feature":"rhsGroup","operator":"?=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]},"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"TerminalRule","name":"ARROW_DIRECTION","definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"L"}},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"R"}}]},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"T"}}]},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"B"}}]},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ARROW_GROUP","definition":{"$type":"RegexToken","regex":"/\\\\{group\\\\}/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ARROW_INTO","definition":{"$type":"RegexToken","regex":"/<|>/"},"fragment":false,"hidden":false},{"$type":"ParserRule","fragment":true,"name":"EOL","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@23"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}],"cardinality":"+"},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"TerminalRule","name":"BOOLEAN","type":{"$type":"ReturnType","name":"boolean"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"true"}},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"false"}}]},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"FLOAT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/[0-9]+\\\\.[0-9]+(?!\\\\.)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/0|[1-9][0-9]*(?!\\\\.)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@18"}},{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@19"}}]},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRING","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|'([^'\\\\\\\\]|\\\\\\\\.)*'/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ID","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[\\\\w]([-\\\\w]*\\\\w)?/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/"},"fragment":false},{"$type":"TerminalRule","name":"ARCH_ICON","definition":{"$type":"RegexToken","regex":"/\\\\([\\\\w-:]+\\\\)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ARCH_TITLE","definition":{"$type":"RegexToken","regex":"/\\\\[[\\\\w ]+\\\\]/"},"fragment":false,"hidden":false}],"definesHiddenTokens":false,"hiddenTokens":[],"interfaces":[],"types":[],"usedGrammars":[]}`)),"ArchitectureGrammar"),lc,sk=R(()=>lc??(lc=zt(`{"$type":"Grammar","isDeclared":true,"name":"GitGraph","imports":[],"rules":[{"$type":"ParserRule","entry":true,"name":"GitGraph","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[],"cardinality":"*"},{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"gitGraph"},{"$type":"Group","elements":[{"$type":"Keyword","value":"gitGraph"},{"$type":"Keyword","value":":"}]},{"$type":"Keyword","value":"gitGraph:"},{"$type":"Group","elements":[{"$type":"Keyword","value":"gitGraph"},{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]},{"$type":"Keyword","value":":"}]}]},{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]},{"$type":"Assignment","feature":"statements","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}}],"cardinality":"*"}]},"definesHiddenTokens":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Statement","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Direction","definition":{"$type":"Assignment","feature":"dir","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"LR"},{"$type":"Keyword","value":"TB"},{"$type":"Keyword","value":"BT"}]}},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Commit","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"commit"},{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"Keyword","value":"id:"},{"$type":"Assignment","feature":"id","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"msg:","cardinality":"?"},{"$type":"Assignment","feature":"message","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"tag:"},{"$type":"Assignment","feature":"tags","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"type:"},{"$type":"Assignment","feature":"type","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"NORMAL"},{"$type":"Keyword","value":"REVERSE"},{"$type":"Keyword","value":"HIGHLIGHT"}]}}]}],"cardinality":"*"},{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Branch","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"branch"},{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@24"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}]}},{"$type":"Group","elements":[{"$type":"Keyword","value":"order:"},{"$type":"Assignment","feature":"order","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"arguments":[]}}],"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Merge","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"merge"},{"$type":"Assignment","feature":"branch","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@24"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}]}},{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"Keyword","value":"id:"},{"$type":"Assignment","feature":"id","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"tag:"},{"$type":"Assignment","feature":"tags","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"type:"},{"$type":"Assignment","feature":"type","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"NORMAL"},{"$type":"Keyword","value":"REVERSE"},{"$type":"Keyword","value":"HIGHLIGHT"}]}}]}],"cardinality":"*"},{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Checkout","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"checkout"},{"$type":"Keyword","value":"switch"}]},{"$type":"Assignment","feature":"branch","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@24"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"CherryPicking","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"cherry-pick"},{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"Keyword","value":"id:"},{"$type":"Assignment","feature":"id","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"tag:"},{"$type":"Assignment","feature":"tags","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"parent:"},{"$type":"Assignment","feature":"parent","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]}],"cardinality":"*"},{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","fragment":true,"name":"EOL","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}],"cardinality":"+"},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"TerminalRule","name":"BOOLEAN","type":{"$type":"ReturnType","name":"boolean"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"true"}},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"false"}}]},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"FLOAT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/[0-9]+\\\\.[0-9]+(?!\\\\.)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/0|[1-9][0-9]*(?!\\\\.)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@14"}},{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@15"}}]},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRING","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|'([^'\\\\\\\\]|\\\\\\\\.)*'/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ID","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[\\\\w]([-\\\\w]*\\\\w)?/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/"},"fragment":false},{"$type":"TerminalRule","name":"REFERENCE","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\\\w([-\\\\./\\\\w]*[-\\\\w])?/"},"fragment":false,"hidden":false}],"definesHiddenTokens":false,"hiddenTokens":[],"interfaces":[],"types":[],"usedGrammars":[]}`)),"GitGraphGrammar"),uc,ak=R(()=>uc??(uc=zt(`{"$type":"Grammar","isDeclared":true,"name":"Radar","imports":[],"rules":[{"$type":"ParserRule","entry":true,"name":"Radar","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[],"cardinality":"*"},{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"radar-beta"},{"$type":"Keyword","value":"radar-beta:"},{"$type":"Group","elements":[{"$type":"Keyword","value":"radar-beta"},{"$type":"Keyword","value":":"}]}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[],"cardinality":"*"},{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]},{"$type":"Group","elements":[{"$type":"Keyword","value":"axis"},{"$type":"Assignment","feature":"axes","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"axes","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}}],"cardinality":"*"}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"curve"},{"$type":"Assignment","feature":"curves","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"curves","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]}}],"cardinality":"*"}]},{"$type":"Group","elements":[{"$type":"Assignment","feature":"options","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"options","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]}}],"cardinality":"*"}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}],"cardinality":"*"}]},"definesHiddenTokens":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","fragment":true,"name":"Label","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"["},{"$type":"Assignment","feature":"label","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@18"},"arguments":[]}},{"$type":"Keyword","value":"]"}]},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Axis","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[],"cardinality":"?"}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Curve","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[],"cardinality":"?"},{"$type":"Keyword","value":"{"},{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]},{"$type":"Keyword","value":"}"}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","fragment":true,"name":"Entries","definition":{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[],"cardinality":"*"},{"$type":"Assignment","feature":"entries","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":","},{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[],"cardinality":"*"},{"$type":"Assignment","feature":"entries","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]}}],"cardinality":"*"},{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[],"cardinality":"*"}]},{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[],"cardinality":"*"},{"$type":"Assignment","feature":"entries","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":","},{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[],"cardinality":"*"},{"$type":"Assignment","feature":"entries","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}}],"cardinality":"*"},{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[],"cardinality":"*"}]}]},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"DetailedEntry","returnType":{"$ref":"#/interfaces@0"},"definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"axis","operator":"=","terminal":{"$type":"CrossReference","type":{"$ref":"#/rules@2"},"terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]},"deprecatedSyntax":false}},{"$type":"Keyword","value":":","cardinality":"?"},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"NumberEntry","returnType":{"$ref":"#/interfaces@0"},"definition":{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Option","definition":{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Keyword","value":"showLegend"}},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Keyword","value":"ticks"}},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Keyword","value":"max"}},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Keyword","value":"min"}},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Keyword","value":"graticule"}},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}}]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"TerminalRule","name":"GRATICULE","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"circle"}},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"polygon"}}]},"fragment":false,"hidden":false},{"$type":"ParserRule","fragment":true,"name":"EOL","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}],"cardinality":"+"},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"TerminalRule","name":"BOOLEAN","type":{"$type":"ReturnType","name":"boolean"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"true"}},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"false"}}]},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"FLOAT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/[0-9]+\\\\.[0-9]+(?!\\\\.)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/0|[1-9][0-9]*(?!\\\\.)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@15"}},{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@16"}}]},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRING","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|'([^'\\\\\\\\]|\\\\\\\\.)*'/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ID","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[\\\\w]([-\\\\w]*\\\\w)?/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/"},"fragment":false}],"interfaces":[{"$type":"Interface","name":"Entry","attributes":[{"$type":"TypeAttribute","name":"axis","isOptional":true,"type":{"$type":"ReferenceType","referenceType":{"$type":"SimpleType","typeRef":{"$ref":"#/rules@2"}}}},{"$type":"TypeAttribute","name":"value","type":{"$type":"SimpleType","primitiveType":"number"},"isOptional":false}],"superTypes":[]}],"definesHiddenTokens":false,"hiddenTokens":[],"types":[],"usedGrammars":[]}`)),"RadarGrammar"),cc,ok=R(()=>cc??(cc=zt(`{"$type":"Grammar","isDeclared":true,"name":"Treemap","rules":[{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]}}],"cardinality":"+"},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"TerminalRule","name":"BOOLEAN","type":{"$type":"ReturnType","name":"boolean"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"true"}},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"false"}}]},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/"},"fragment":false,"hidden":false},{"$type":"ParserRule","entry":true,"name":"Treemap","returnType":{"$ref":"#/interfaces@4"},"definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]},{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@0"},"arguments":[]},{"$type":"Assignment","feature":"TreemapRows","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[]}}],"cardinality":"*"}]},"definesHiddenTokens":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"TerminalRule","name":"TREEMAP_KEYWORD","definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"treemap-beta"}},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"treemap"}}]},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"CLASS_DEF","definition":{"$type":"RegexToken","regex":"/classDef\\\\s+([a-zA-Z_][a-zA-Z0-9_]+)(?:\\\\s+([^;\\\\r\\\\n]*))?(?:;)?/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STYLE_SEPARATOR","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":":::"}},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"SEPARATOR","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":":"}},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"COMMA","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":","}},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WS","definition":{"$type":"RegexToken","regex":"/[ \\\\t]+/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"ML_COMMENT","definition":{"$type":"RegexToken","regex":"/\\\\%\\\\%[^\\\\n]*/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"NL","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/"},"fragment":false},{"$type":"ParserRule","name":"TreemapRow","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"indent","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]},"cardinality":"?"},{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"item","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"arguments":[]}]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"ClassDef","dataType":"string","definition":{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Item","returnType":{"$ref":"#/interfaces@0"},"definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@18"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Section","returnType":{"$ref":"#/interfaces@1"},"definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@23"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]},{"$type":"Assignment","feature":"classSelector","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}}],"cardinality":"?"}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Leaf","returnType":{"$ref":"#/interfaces@2"},"definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@23"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[],"cardinality":"?"},{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[],"cardinality":"?"},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]},{"$type":"Assignment","feature":"classSelector","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}}],"cardinality":"?"}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"TerminalRule","name":"INDENTATION","definition":{"$type":"RegexToken","regex":"/[ \\\\t]{1,}/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ID2","definition":{"$type":"RegexToken","regex":"/[a-zA-Z_][a-zA-Z0-9_]*/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER2","definition":{"$type":"RegexToken","regex":"/[0-9_\\\\.\\\\,]+/"},"fragment":false,"hidden":false},{"$type":"ParserRule","name":"MyNumber","dataType":"number","definition":{"$type":"RuleCall","rule":{"$ref":"#/rules@21"},"arguments":[]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"TerminalRule","name":"STRING2","definition":{"$type":"RegexToken","regex":"/\\"[^\\"]*\\"|'[^']*'/"},"fragment":false,"hidden":false}],"interfaces":[{"$type":"Interface","name":"Item","attributes":[{"$type":"TypeAttribute","name":"name","type":{"$type":"SimpleType","primitiveType":"string"},"isOptional":false},{"$type":"TypeAttribute","name":"classSelector","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}}],"superTypes":[]},{"$type":"Interface","name":"Section","superTypes":[{"$ref":"#/interfaces@0"}],"attributes":[]},{"$type":"Interface","name":"Leaf","superTypes":[{"$ref":"#/interfaces@0"}],"attributes":[{"$type":"TypeAttribute","name":"value","type":{"$type":"SimpleType","primitiveType":"number"},"isOptional":false}]},{"$type":"Interface","name":"ClassDefStatement","attributes":[{"$type":"TypeAttribute","name":"className","type":{"$type":"SimpleType","primitiveType":"string"},"isOptional":false},{"$type":"TypeAttribute","name":"styleText","type":{"$type":"SimpleType","primitiveType":"string"},"isOptional":false}],"superTypes":[]},{"$type":"Interface","name":"Treemap","attributes":[{"$type":"TypeAttribute","name":"TreemapRows","type":{"$type":"ArrayType","elementType":{"$type":"SimpleType","typeRef":{"$ref":"#/rules@14"}}},"isOptional":false},{"$type":"TypeAttribute","name":"title","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"accTitle","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"accDescr","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}}],"superTypes":[]}],"definesHiddenTokens":false,"hiddenTokens":[],"imports":[],"types":[],"usedGrammars":[],"$comment":"/**\\n * Treemap grammar for Langium\\n * Converted from mindmap grammar\\n *\\n * The ML_COMMENT and NL hidden terminals handle whitespace, comments, and newlines\\n * before the treemap keyword, allowing for empty lines and comments before the\\n * treemap declaration.\\n */"}`)),"TreemapGrammar"),lk={languageId:"info",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},uk={languageId:"packet",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},ck={languageId:"pie",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},fk={languageId:"architecture",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},dk={languageId:"gitGraph",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},hk={languageId:"radar",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},pk={languageId:"treemap",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},Wt={AstReflection:R(()=>new Ad,"AstReflection")},mk={Grammar:R(()=>tk(),"Grammar"),LanguageMetaData:R(()=>lk,"LanguageMetaData"),parser:{}},gk={Grammar:R(()=>rk(),"Grammar"),LanguageMetaData:R(()=>uk,"LanguageMetaData"),parser:{}},yk={Grammar:R(()=>nk(),"Grammar"),LanguageMetaData:R(()=>ck,"LanguageMetaData"),parser:{}},vk={Grammar:R(()=>ik(),"Grammar"),LanguageMetaData:R(()=>fk,"LanguageMetaData"),parser:{}},Tk={Grammar:R(()=>sk(),"Grammar"),LanguageMetaData:R(()=>dk,"LanguageMetaData"),parser:{}},Rk={Grammar:R(()=>ak(),"Grammar"),LanguageMetaData:R(()=>hk,"LanguageMetaData"),parser:{}},$k={Grammar:R(()=>ok(),"Grammar"),LanguageMetaData:R(()=>pk,"LanguageMetaData"),parser:{}},Ek=/accDescr(?:[\t ]*:([^\n\r]*)|\s*{([^}]*)})/,Ak=/accTitle[\t ]*:([^\n\r]*)/,kk=/title([\t ][^\n\r]*|)/,xk={ACC_DESCR:Ek,ACC_TITLE:Ak,TITLE:kk},Ms,es=(Ms=class extends ud{runConverter(t,e,r){let n=this.runCommonConverter(t,e,r);return n===void 0&&(n=this.runCustomConverter(t,e,r)),n===void 0?super.runConverter(t,e,r):n}runCommonConverter(t,e,r){const n=xk[t.name];if(n===void 0)return;const i=n.exec(e);if(i!==null){if(i[1]!==void 0)return i[1].trim().replace(/[\t ]{2,}/gm," ");if(i[2]!==void 0)return i[2].replace(/^\s*/gm,"").replace(/\s+$/gm,"").replace(/[\t ]{2,}/gm," ").replace(/[\n\r]{2,}/gm,`
|
|
126
|
-
`)}}},R(
|
|
125
|
+
`}class C${constructor(e){this.indexManager=e.shared.workspace.IndexManager,this.commentProvider=e.documentation.CommentProvider}getDocumentation(e){const r=this.commentProvider.getComment(e);if(r&&y$(r))return g$(r).toMarkdown({renderLink:(n,i)=>this.documentationLinkRenderer(e,n,i),renderTag:n=>this.documentationTagRenderer(e,n)})}documentationLinkRenderer(e,r,n){var i;const s=(i=this.findNameInPrecomputedScopes(e,r))!==null&&i!==void 0?i:this.findNameInGlobalScope(e,r);if(s&&s.nameSegment){const a=s.nameSegment.range.start.line+1,o=s.nameSegment.range.start.character+1,l=s.documentUri.with({fragment:`L${a},${o}`});return`[${n}](${l.toString()})`}else return}documentationTagRenderer(e,r){}findNameInPrecomputedScopes(e,r){const n=pt(e).precomputedScopes;if(!n)return;let i=e;do{const s=n.get(i).find(a=>a.name===r);if(s)return s;i=i.$container}while(i)}findNameInGlobalScope(e,r){return this.indexManager.allElements().find(n=>n.name===r)}}class N${constructor(e){this.grammarConfig=()=>e.parser.GrammarConfig}getComment(e){var r;return QA(e)?e.$comment:(r=th(e.$cstNode,this.grammarConfig().multilineCommentRules))===null||r===void 0?void 0:r.text}}class _${constructor(e){this.syncParser=e.parser.LangiumParser}parse(e,r){return Promise.resolve(this.syncParser.parse(e))}}class L${constructor(){this.previousTokenSource=new H.CancellationTokenSource,this.writeQueue=[],this.readQueue=[],this.done=!0}write(e){this.cancelWrite();const r=DA();return this.previousTokenSource=r,this.enqueue(this.writeQueue,e,r.token)}read(e){return this.enqueue(this.readQueue,e)}enqueue(e,r,n=H.CancellationToken.None){const i=new Ao,s={action:r,deferred:i,cancellationToken:n};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:r,deferred:n,cancellationToken:i})=>{try{const s=await Promise.resolve().then(()=>r(i));n.resolve(s)}catch(s){Zi(s)?n.resolve(void 0):n.reject(s)}})),this.done=!0,this.performNextOperation()}cancelWrite(){this.previousTokenSource.cancel()}}class O${constructor(e){this.grammarElementIdMap=new Wu,this.tokenTypeIdMap=new Wu,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(r=>Object.assign(Object.assign({},r),{message:r.message})),value:this.dehydrateAstNode(e.value,this.createDehyrationContext(e.value))}}dehydrateLexerReport(e){return e}createDehyrationContext(e){const r=new Map,n=new Map;for(const i of Qt(e))r.set(i,{});if(e.$cstNode)for(const i of Qs(e.$cstNode))n.set(i,{});return{astNodes:r,cstNodes:n}}dehydrateAstNode(e,r){const n=r.astNodes.get(e);n.$type=e.$type,n.$containerIndex=e.$containerIndex,n.$containerProperty=e.$containerProperty,e.$cstNode!==void 0&&(n.$cstNode=this.dehydrateCstNode(e.$cstNode,r));for(const[i,s]of Object.entries(e))if(!i.startsWith("$"))if(Array.isArray(s)){const a=[];n[i]=a;for(const o of s)le(o)?a.push(this.dehydrateAstNode(o,r)):ze(o)?a.push(this.dehydrateReference(o,r)):a.push(o)}else le(s)?n[i]=this.dehydrateAstNode(s,r):ze(s)?n[i]=this.dehydrateReference(s,r):s!==void 0&&(n[i]=s);return n}dehydrateReference(e,r){const n={};return n.$refText=e.$refText,e.$refNode&&(n.$refNode=r.cstNodes.get(e.$refNode)),n}dehydrateCstNode(e,r){const n=r.cstNodes.get(e);return hc(e)?n.fullText=e.fullText:n.grammarSource=this.getGrammarElementId(e.grammarSource),n.hidden=e.hidden,n.astNode=r.astNodes.get(e.astNode),en(e)?n.content=e.content.map(i=>this.dehydrateCstNode(i,r)):dc(e)&&(n.tokenType=e.tokenType.name,n.offset=e.offset,n.length=e.length,n.startLine=e.range.start.line,n.startColumn=e.range.start.character,n.endLine=e.range.end.line,n.endColumn=e.range.end.character),n}hydrate(e){const r=e.value,n=this.createHydrationContext(r);return"$cstNode"in r&&this.hydrateCstNode(r.$cstNode,n),{lexerErrors:e.lexerErrors,lexerReport:e.lexerReport,parserErrors:e.parserErrors,value:this.hydrateAstNode(r,n)}}createHydrationContext(e){const r=new Map,n=new Map;for(const s of Qt(e))r.set(s,{});let i;if(e.$cstNode)for(const s of Qs(e.$cstNode)){let a;"fullText"in s?(a=new Jf(s.fullText),i=a):"content"in s?a=new Ro:"tokenType"in s&&(a=this.hydrateCstLeafNode(s)),a&&(n.set(s,a),a.root=i)}return{astNodes:r,cstNodes:n}}hydrateAstNode(e,r){const n=r.astNodes.get(e);n.$type=e.$type,n.$containerIndex=e.$containerIndex,n.$containerProperty=e.$containerProperty,e.$cstNode&&(n.$cstNode=r.cstNodes.get(e.$cstNode));for(const[i,s]of Object.entries(e))if(!i.startsWith("$"))if(Array.isArray(s)){const a=[];n[i]=a;for(const o of s)le(o)?a.push(this.setParent(this.hydrateAstNode(o,r),n)):ze(o)?a.push(this.hydrateReference(o,n,i,r)):a.push(o)}else le(s)?n[i]=this.setParent(this.hydrateAstNode(s,r),n):ze(s)?n[i]=this.hydrateReference(s,n,i,r):s!==void 0&&(n[i]=s);return n}setParent(e,r){return e.$container=r,e}hydrateReference(e,r,n,i){return this.linker.buildReference(r,n,i.cstNodes.get(e.$refNode),e.$refText)}hydrateCstNode(e,r,n=0){const i=r.cstNodes.get(e);if(typeof e.grammarSource=="number"&&(i.grammarSource=this.getGrammarElement(e.grammarSource)),i.astNode=r.astNodes.get(e.astNode),en(i))for(const s of e.content){const a=this.hydrateCstNode(s,r,n++);i.content.push(a)}return i}hydrateCstLeafNode(e){const r=this.getTokenType(e.tokenType),n=e.offset,i=e.length,s=e.startLine,a=e.startColumn,o=e.endLine,l=e.endColumn,u=e.hidden;return new ba(n,i,{start:{line:s,character:a},end:{line:o,character:l}},r,u)}getTokenType(e){return this.lexer.definition[e]}getGrammarElementId(e){if(e)return this.grammarElementIdMap.size===0&&this.createGrammarElementIdMap(),this.grammarElementIdMap.get(e)}getGrammarElement(e){return this.grammarElementIdMap.size===0&&this.createGrammarElementIdMap(),this.grammarElementIdMap.getKey(e)}createGrammarElementIdMap(){let e=0;for(const r of Qt(this.grammar))nh(r)&&this.grammarElementIdMap.set(r,e++)}}function $t(t){return{documentation:{CommentProvider:e=>new N$(e),DocumentationProvider:e=>new C$(e)},parser:{AsyncParser:e=>new _$(e),GrammarConfig:e=>Yh(e),LangiumParser:e=>NA(e),CompletionParser:e=>CA(e),ValueConverter:()=>new ld,TokenBuilder:()=>new od,Lexer:e=>new p$(e),ParserErrorMessageProvider:()=>new rd,LexerErrorMessageProvider:()=>new d$},workspace:{AstNodeLocator:()=>new a$,AstNodeDescriptionProvider:e=>new i$(e),ReferenceDescriptionProvider:e=>new s$(e)},references:{Linker:e=>new GA(e),NameProvider:()=>new KA,ScopeProvider:e=>new XA(e),ScopeComputation:e=>new HA(e),References:e=>new VA(e)},serializer:{Hydrator:e=>new O$(e),JsonSerializer:e=>new ZA(e)},validation:{DocumentValidator:e=>new t$(e),ValidationRegistry:e=>new e$(e)},shared:()=>t.shared}}function kt(t){return{ServiceRegistry:e=>new JA(e),workspace:{LangiumDocuments:e=>new jA(e),LangiumDocumentFactory:e=>new FA(e),DocumentBuilder:e=>new u$(e),IndexManager:e=>new c$(e),WorkspaceManager:e=>new f$(e),FileSystemProvider:e=>t.fileSystemProvider(e),WorkspaceLock:()=>new L$,ConfigurationProvider:e=>new l$(e)}}}var Ju;(function(t){t.merge=(e,r)=>wi(wi({},e),r)})(Ju||(Ju={}));function ue(t,e,r,n,i,s,a,o,l){const u=[t,e,r,n,i,s,a,o,l].reduce(wi,{});return Ed(u)}const P$=Symbol("isProxy");function Ed(t,e){const r=new Proxy({},{deleteProperty:()=>!1,set:()=>{throw new Error("Cannot set property on injected service container")},get:(n,i)=>i===P$?!0:tc(n,i,t,e||r),getOwnPropertyDescriptor:(n,i)=>(tc(n,i,t,e||r),Object.getOwnPropertyDescriptor(n,i)),has:(n,i)=>i in t,ownKeys:()=>[...Object.getOwnPropertyNames(t)]});return r}const ec=Symbol();function tc(t,e,r,n){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]===ec)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 r){const i=r[e];t[e]=ec;try{t[e]=typeof i=="function"?i(n):Ed(i,n)}catch(s){throw t[e]=s instanceof Error?s:void 0,s}return t[e]}else return}function wi(t,e){if(e){for(const[r,n]of Object.entries(e))if(n!==void 0){const i=t[r];i!==null&&n!==null&&typeof i=="object"&&typeof n=="object"?t[r]=wi(i,n):t[r]=n}}return t}class M${readFile(){throw new Error("No file system is available.")}async readDirectory(){return[]}}const xt={fileSystemProvider:()=>new M$},D$={Grammar:()=>{},LanguageMetaData:()=>({caseInsensitive:!1,fileExtensions:[".langium"],languageId:"langium"})},U$={AstReflection:()=>new Rc};function F$(){const t=ue(kt(xt),U$),e=ue($t({shared:t}),D$);return t.ServiceRegistry.register(e),e}function Ht(t){var e;const r=F$(),n=r.serializer.JsonSerializer.deserialize(t);return r.shared.workspace.LangiumDocumentFactory.fromModel(n,Ft.parse(`memory://${(e=n.name)!==null&&e!==void 0?e:"grammar"}.langium`)),n}var j$=Object.defineProperty,R=(t,e)=>j$(t,"name",{value:e,configurable:!0}),rc="Statement",Qn="Architecture";function G$(t){return Ve.isInstance(t,Qn)}R(G$,"isArchitecture");var Pn="Axis",Yr="Branch";function B$(t){return Ve.isInstance(t,Yr)}R(B$,"isBranch");var Mn="Checkout",Dn="CherryPicking",ks="ClassDefStatement",qr="Commit";function K$(t){return Ve.isInstance(t,qr)}R(K$,"isCommit");var xs="Curve",Ss="Edge",Is="Entry",Xr="GitGraph";function V$(t){return Ve.isInstance(t,Xr)}R(V$,"isGitGraph");var ws="Group",Zn="Info";function H$(t){return Ve.isInstance(t,Zn)}R(H$,"isInfo");var Un="Item",bs="Junction",Qr="Merge";function W$(t){return Ve.isInstance(t,Qr)}R(W$,"isMerge");var Cs="Option",Jn="Packet";function z$(t){return Ve.isInstance(t,Jn)}R(z$,"isPacket");var ei="PacketBlock";function Y$(t){return Ve.isInstance(t,ei)}R(Y$,"isPacketBlock");var ti="Pie";function q$(t){return Ve.isInstance(t,ti)}R(q$,"isPie");var ri="PieSection";function X$(t){return Ve.isInstance(t,ri)}R(X$,"isPieSection");var Ns="Radar",_s="Service",ni="Treemap";function Q$(t){return Ve.isInstance(t,ni)}R(Q$,"isTreemap");var Ls="TreemapRow",Fn="Direction",jn="Leaf",Gn="Section",Os,Ad=(Os=class extends fc{getAllTypes(){return[Qn,Pn,Yr,Mn,Dn,ks,qr,xs,Fn,Ss,Is,Xr,ws,Zn,Un,bs,jn,Qr,Cs,Jn,ei,ti,ri,Ns,Gn,_s,rc,ni,Ls]}computeIsSubtype(t,e){switch(t){case Yr:case Mn:case Dn:case qr:case Qr:return this.isSubtype(rc,e);case Fn:return this.isSubtype(Xr,e);case jn:case Gn:return this.isSubtype(Un,e);default:return!1}}getReferenceType(t){const e=`${t.container.$type}:${t.property}`;if(e==="Entry:axis")return Pn;throw new Error(`${e} is not a valid reference id.`)}getTypeMetaData(t){switch(t){case Qn:return{name:Qn,properties:[{name:"accDescr"},{name:"accTitle"},{name:"edges",defaultValue:[]},{name:"groups",defaultValue:[]},{name:"junctions",defaultValue:[]},{name:"services",defaultValue:[]},{name:"title"}]};case Pn:return{name:Pn,properties:[{name:"label"},{name:"name"}]};case Yr:return{name:Yr,properties:[{name:"name"},{name:"order"}]};case Mn:return{name:Mn,properties:[{name:"branch"}]};case Dn:return{name:Dn,properties:[{name:"id"},{name:"parent"},{name:"tags",defaultValue:[]}]};case ks:return{name:ks,properties:[{name:"className"},{name:"styleText"}]};case qr:return{name:qr,properties:[{name:"id"},{name:"message"},{name:"tags",defaultValue:[]},{name:"type"}]};case xs:return{name:xs,properties:[{name:"entries",defaultValue:[]},{name:"label"},{name:"name"}]};case Ss:return{name:Ss,properties:[{name:"lhsDir"},{name:"lhsGroup",defaultValue:!1},{name:"lhsId"},{name:"lhsInto",defaultValue:!1},{name:"rhsDir"},{name:"rhsGroup",defaultValue:!1},{name:"rhsId"},{name:"rhsInto",defaultValue:!1},{name:"title"}]};case Is:return{name:Is,properties:[{name:"axis"},{name:"value"}]};case Xr:return{name:Xr,properties:[{name:"accDescr"},{name:"accTitle"},{name:"statements",defaultValue:[]},{name:"title"}]};case ws:return{name:ws,properties:[{name:"icon"},{name:"id"},{name:"in"},{name:"title"}]};case Zn:return{name:Zn,properties:[{name:"accDescr"},{name:"accTitle"},{name:"title"}]};case Un:return{name:Un,properties:[{name:"classSelector"},{name:"name"}]};case bs:return{name:bs,properties:[{name:"id"},{name:"in"}]};case Qr:return{name:Qr,properties:[{name:"branch"},{name:"id"},{name:"tags",defaultValue:[]},{name:"type"}]};case Cs:return{name:Cs,properties:[{name:"name"},{name:"value",defaultValue:!1}]};case Jn:return{name:Jn,properties:[{name:"accDescr"},{name:"accTitle"},{name:"blocks",defaultValue:[]},{name:"title"}]};case ei:return{name:ei,properties:[{name:"bits"},{name:"end"},{name:"label"},{name:"start"}]};case ti:return{name:ti,properties:[{name:"accDescr"},{name:"accTitle"},{name:"sections",defaultValue:[]},{name:"showData",defaultValue:!1},{name:"title"}]};case ri:return{name:ri,properties:[{name:"label"},{name:"value"}]};case Ns:return{name:Ns,properties:[{name:"accDescr"},{name:"accTitle"},{name:"axes",defaultValue:[]},{name:"curves",defaultValue:[]},{name:"options",defaultValue:[]},{name:"title"}]};case _s:return{name:_s,properties:[{name:"icon"},{name:"iconText"},{name:"id"},{name:"in"},{name:"title"}]};case ni:return{name:ni,properties:[{name:"accDescr"},{name:"accTitle"},{name:"title"},{name:"TreemapRows",defaultValue:[]}]};case Ls:return{name:Ls,properties:[{name:"indent"},{name:"item"}]};case Fn:return{name:Fn,properties:[{name:"accDescr"},{name:"accTitle"},{name:"dir"},{name:"statements",defaultValue:[]},{name:"title"}]};case jn:return{name:jn,properties:[{name:"classSelector"},{name:"name"},{name:"value"}]};case Gn:return{name:Gn,properties:[{name:"classSelector"},{name:"name"}]};default:return{name:t,properties:[]}}}},R(Os,"MermaidAstReflection"),Os),Ve=new Ad,nc,Z$=R(()=>nc??(nc=Ht(`{"$type":"Grammar","isDeclared":true,"name":"Info","imports":[],"rules":[{"$type":"ParserRule","entry":true,"name":"Info","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[],"cardinality":"*"},{"$type":"Keyword","value":"info"},{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[],"cardinality":"*"},{"$type":"Group","elements":[{"$type":"Keyword","value":"showInfo"},{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[],"cardinality":"*"}],"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[],"cardinality":"?"}]},"definesHiddenTokens":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","fragment":true,"name":"EOL","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}],"cardinality":"+"},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"TerminalRule","name":"BOOLEAN","type":{"$type":"ReturnType","name":"boolean"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"true"}},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"false"}}]},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"FLOAT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/[0-9]+\\\\.[0-9]+(?!\\\\.)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/0|[1-9][0-9]*(?!\\\\.)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@7"}},{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@8"}}]},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRING","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|'([^'\\\\\\\\]|\\\\\\\\.)*'/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ID","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[\\\\w]([-\\\\w]*\\\\w)?/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/"},"fragment":false}],"definesHiddenTokens":false,"hiddenTokens":[],"interfaces":[],"types":[],"usedGrammars":[]}`)),"InfoGrammar"),ic,J$=R(()=>ic??(ic=Ht(`{"$type":"Grammar","isDeclared":true,"name":"Packet","imports":[],"rules":[{"$type":"ParserRule","entry":true,"name":"Packet","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[],"cardinality":"*"},{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"packet"},{"$type":"Keyword","value":"packet-beta"}]},{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]},{"$type":"Assignment","feature":"blocks","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]}],"cardinality":"*"}]},"definesHiddenTokens":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"PacketBlock","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"Assignment","feature":"start","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":"-"},{"$type":"Assignment","feature":"end","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}}],"cardinality":"?"}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"+"},{"$type":"Assignment","feature":"bits","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}}]}]},{"$type":"Keyword","value":":"},{"$type":"Assignment","feature":"label","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","fragment":true,"name":"EOL","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}],"cardinality":"+"},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"TerminalRule","name":"BOOLEAN","type":{"$type":"ReturnType","name":"boolean"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"true"}},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"false"}}]},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"FLOAT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/[0-9]+\\\\.[0-9]+(?!\\\\.)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/0|[1-9][0-9]*(?!\\\\.)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@8"}},{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@9"}}]},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRING","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|'([^'\\\\\\\\]|\\\\\\\\.)*'/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ID","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[\\\\w]([-\\\\w]*\\\\w)?/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/"},"fragment":false}],"definesHiddenTokens":false,"hiddenTokens":[],"interfaces":[],"types":[],"usedGrammars":[]}`)),"PacketGrammar"),sc,ek=R(()=>sc??(sc=Ht(`{"$type":"Grammar","isDeclared":true,"name":"Pie","imports":[],"rules":[{"$type":"ParserRule","entry":true,"name":"Pie","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[],"cardinality":"*"},{"$type":"Keyword","value":"pie"},{"$type":"Assignment","feature":"showData","operator":"?=","terminal":{"$type":"Keyword","value":"showData"},"cardinality":"?"},{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]},{"$type":"Assignment","feature":"sections","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]}],"cardinality":"*"}]},"definesHiddenTokens":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"PieSection","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"label","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[]}},{"$type":"Keyword","value":":"},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"TerminalRule","name":"FLOAT_PIE","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/-?[0-9]+\\\\.[0-9]+(?!\\\\.)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INT_PIE","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/-?(0|[1-9][0-9]*)(?!\\\\.)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER_PIE","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@2"}},{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@3"}}]},"fragment":false,"hidden":false},{"$type":"ParserRule","fragment":true,"name":"EOL","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}],"cardinality":"+"},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"TerminalRule","name":"BOOLEAN","type":{"$type":"ReturnType","name":"boolean"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"true"}},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"false"}}]},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"FLOAT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/[0-9]+\\\\.[0-9]+(?!\\\\.)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/0|[1-9][0-9]*(?!\\\\.)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@11"}},{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@12"}}]},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRING","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|'([^'\\\\\\\\]|\\\\\\\\.)*'/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ID","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[\\\\w]([-\\\\w]*\\\\w)?/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/"},"fragment":false}],"definesHiddenTokens":false,"hiddenTokens":[],"interfaces":[],"types":[],"usedGrammars":[]}`)),"PieGrammar"),ac,tk=R(()=>ac??(ac=Ht(`{"$type":"Grammar","isDeclared":true,"name":"Architecture","imports":[],"rules":[{"$type":"ParserRule","entry":true,"name":"Architecture","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@23"},"arguments":[],"cardinality":"*"},{"$type":"Keyword","value":"architecture-beta"},{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@23"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}],"cardinality":"*"}]},"definesHiddenTokens":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","fragment":true,"name":"Statement","definition":{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"groups","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}},{"$type":"Assignment","feature":"services","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]}},{"$type":"Assignment","feature":"junctions","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]}},{"$type":"Assignment","feature":"edges","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}}]},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","fragment":true,"name":"LeftPort","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":":"},{"$type":"Assignment","feature":"lhsDir","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}}]},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","fragment":true,"name":"RightPort","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"rhsDir","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}},{"$type":"Keyword","value":":"}]},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","fragment":true,"name":"Arrow","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]},{"$type":"Assignment","feature":"lhsInto","operator":"?=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[]},"cardinality":"?"},{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"--"},{"$type":"Group","elements":[{"$type":"Keyword","value":"-"},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@29"},"arguments":[]}},{"$type":"Keyword","value":"-"}]}]},{"$type":"Assignment","feature":"rhsInto","operator":"?=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[]},"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Group","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"group"},{"$type":"Assignment","feature":"id","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]}},{"$type":"Assignment","feature":"icon","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@28"},"arguments":[]},"cardinality":"?"},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@29"},"arguments":[]},"cardinality":"?"},{"$type":"Group","elements":[{"$type":"Keyword","value":"in"},{"$type":"Assignment","feature":"in","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]}}],"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Service","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"service"},{"$type":"Assignment","feature":"id","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]}},{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"iconText","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@21"},"arguments":[]}},{"$type":"Assignment","feature":"icon","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@28"},"arguments":[]}}],"cardinality":"?"},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@29"},"arguments":[]},"cardinality":"?"},{"$type":"Group","elements":[{"$type":"Keyword","value":"in"},{"$type":"Assignment","feature":"in","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]}}],"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Junction","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"junction"},{"$type":"Assignment","feature":"id","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":"in"},{"$type":"Assignment","feature":"in","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]}}],"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Edge","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"lhsId","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]}},{"$type":"Assignment","feature":"lhsGroup","operator":"?=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]},"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]},{"$type":"Assignment","feature":"rhsId","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]}},{"$type":"Assignment","feature":"rhsGroup","operator":"?=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]},"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"TerminalRule","name":"ARROW_DIRECTION","definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"L"}},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"R"}}]},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"T"}}]},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"B"}}]},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ARROW_GROUP","definition":{"$type":"RegexToken","regex":"/\\\\{group\\\\}/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ARROW_INTO","definition":{"$type":"RegexToken","regex":"/<|>/"},"fragment":false,"hidden":false},{"$type":"ParserRule","fragment":true,"name":"EOL","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@23"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}],"cardinality":"+"},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"TerminalRule","name":"BOOLEAN","type":{"$type":"ReturnType","name":"boolean"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"true"}},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"false"}}]},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"FLOAT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/[0-9]+\\\\.[0-9]+(?!\\\\.)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/0|[1-9][0-9]*(?!\\\\.)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@18"}},{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@19"}}]},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRING","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|'([^'\\\\\\\\]|\\\\\\\\.)*'/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ID","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[\\\\w]([-\\\\w]*\\\\w)?/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/"},"fragment":false},{"$type":"TerminalRule","name":"ARCH_ICON","definition":{"$type":"RegexToken","regex":"/\\\\([\\\\w-:]+\\\\)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ARCH_TITLE","definition":{"$type":"RegexToken","regex":"/\\\\[[\\\\w ]+\\\\]/"},"fragment":false,"hidden":false}],"definesHiddenTokens":false,"hiddenTokens":[],"interfaces":[],"types":[],"usedGrammars":[]}`)),"ArchitectureGrammar"),oc,rk=R(()=>oc??(oc=Ht(`{"$type":"Grammar","isDeclared":true,"name":"GitGraph","imports":[],"rules":[{"$type":"ParserRule","entry":true,"name":"GitGraph","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[],"cardinality":"*"},{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"gitGraph"},{"$type":"Group","elements":[{"$type":"Keyword","value":"gitGraph"},{"$type":"Keyword","value":":"}]},{"$type":"Keyword","value":"gitGraph:"},{"$type":"Group","elements":[{"$type":"Keyword","value":"gitGraph"},{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]},{"$type":"Keyword","value":":"}]}]},{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]},{"$type":"Assignment","feature":"statements","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}}],"cardinality":"*"}]},"definesHiddenTokens":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Statement","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Direction","definition":{"$type":"Assignment","feature":"dir","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"LR"},{"$type":"Keyword","value":"TB"},{"$type":"Keyword","value":"BT"}]}},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Commit","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"commit"},{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"Keyword","value":"id:"},{"$type":"Assignment","feature":"id","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"msg:","cardinality":"?"},{"$type":"Assignment","feature":"message","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"tag:"},{"$type":"Assignment","feature":"tags","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"type:"},{"$type":"Assignment","feature":"type","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"NORMAL"},{"$type":"Keyword","value":"REVERSE"},{"$type":"Keyword","value":"HIGHLIGHT"}]}}]}],"cardinality":"*"},{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Branch","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"branch"},{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@24"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}]}},{"$type":"Group","elements":[{"$type":"Keyword","value":"order:"},{"$type":"Assignment","feature":"order","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"arguments":[]}}],"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Merge","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"merge"},{"$type":"Assignment","feature":"branch","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@24"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}]}},{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"Keyword","value":"id:"},{"$type":"Assignment","feature":"id","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"tag:"},{"$type":"Assignment","feature":"tags","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"type:"},{"$type":"Assignment","feature":"type","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"NORMAL"},{"$type":"Keyword","value":"REVERSE"},{"$type":"Keyword","value":"HIGHLIGHT"}]}}]}],"cardinality":"*"},{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Checkout","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"checkout"},{"$type":"Keyword","value":"switch"}]},{"$type":"Assignment","feature":"branch","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@24"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"CherryPicking","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"cherry-pick"},{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"Keyword","value":"id:"},{"$type":"Assignment","feature":"id","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"tag:"},{"$type":"Assignment","feature":"tags","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"parent:"},{"$type":"Assignment","feature":"parent","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]}],"cardinality":"*"},{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","fragment":true,"name":"EOL","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}],"cardinality":"+"},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"TerminalRule","name":"BOOLEAN","type":{"$type":"ReturnType","name":"boolean"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"true"}},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"false"}}]},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"FLOAT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/[0-9]+\\\\.[0-9]+(?!\\\\.)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/0|[1-9][0-9]*(?!\\\\.)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@14"}},{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@15"}}]},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRING","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|'([^'\\\\\\\\]|\\\\\\\\.)*'/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ID","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[\\\\w]([-\\\\w]*\\\\w)?/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/"},"fragment":false},{"$type":"TerminalRule","name":"REFERENCE","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\\\w([-\\\\./\\\\w]*[-\\\\w])?/"},"fragment":false,"hidden":false}],"definesHiddenTokens":false,"hiddenTokens":[],"interfaces":[],"types":[],"usedGrammars":[]}`)),"GitGraphGrammar"),lc,nk=R(()=>lc??(lc=Ht(`{"$type":"Grammar","isDeclared":true,"name":"Radar","imports":[],"rules":[{"$type":"ParserRule","entry":true,"name":"Radar","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[],"cardinality":"*"},{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"radar-beta"},{"$type":"Keyword","value":"radar-beta:"},{"$type":"Group","elements":[{"$type":"Keyword","value":"radar-beta"},{"$type":"Keyword","value":":"}]}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[],"cardinality":"*"},{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]},{"$type":"Group","elements":[{"$type":"Keyword","value":"axis"},{"$type":"Assignment","feature":"axes","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"axes","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}}],"cardinality":"*"}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"curve"},{"$type":"Assignment","feature":"curves","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"curves","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]}}],"cardinality":"*"}]},{"$type":"Group","elements":[{"$type":"Assignment","feature":"options","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"options","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]}}],"cardinality":"*"}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}],"cardinality":"*"}]},"definesHiddenTokens":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","fragment":true,"name":"Label","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"["},{"$type":"Assignment","feature":"label","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@18"},"arguments":[]}},{"$type":"Keyword","value":"]"}]},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Axis","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[],"cardinality":"?"}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Curve","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[],"cardinality":"?"},{"$type":"Keyword","value":"{"},{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]},{"$type":"Keyword","value":"}"}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","fragment":true,"name":"Entries","definition":{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[],"cardinality":"*"},{"$type":"Assignment","feature":"entries","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":","},{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[],"cardinality":"*"},{"$type":"Assignment","feature":"entries","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]}}],"cardinality":"*"},{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[],"cardinality":"*"}]},{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[],"cardinality":"*"},{"$type":"Assignment","feature":"entries","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":","},{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[],"cardinality":"*"},{"$type":"Assignment","feature":"entries","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}}],"cardinality":"*"},{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[],"cardinality":"*"}]}]},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"DetailedEntry","returnType":{"$ref":"#/interfaces@0"},"definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"axis","operator":"=","terminal":{"$type":"CrossReference","type":{"$ref":"#/rules@2"},"terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]},"deprecatedSyntax":false}},{"$type":"Keyword","value":":","cardinality":"?"},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"NumberEntry","returnType":{"$ref":"#/interfaces@0"},"definition":{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Option","definition":{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Keyword","value":"showLegend"}},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Keyword","value":"ticks"}},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Keyword","value":"max"}},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Keyword","value":"min"}},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Keyword","value":"graticule"}},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}}]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"TerminalRule","name":"GRATICULE","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"circle"}},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"polygon"}}]},"fragment":false,"hidden":false},{"$type":"ParserRule","fragment":true,"name":"EOL","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}],"cardinality":"+"},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"TerminalRule","name":"BOOLEAN","type":{"$type":"ReturnType","name":"boolean"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"true"}},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"false"}}]},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"FLOAT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/[0-9]+\\\\.[0-9]+(?!\\\\.)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/0|[1-9][0-9]*(?!\\\\.)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@15"}},{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@16"}}]},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRING","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|'([^'\\\\\\\\]|\\\\\\\\.)*'/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ID","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[\\\\w]([-\\\\w]*\\\\w)?/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/"},"fragment":false}],"interfaces":[{"$type":"Interface","name":"Entry","attributes":[{"$type":"TypeAttribute","name":"axis","isOptional":true,"type":{"$type":"ReferenceType","referenceType":{"$type":"SimpleType","typeRef":{"$ref":"#/rules@2"}}}},{"$type":"TypeAttribute","name":"value","type":{"$type":"SimpleType","primitiveType":"number"},"isOptional":false}],"superTypes":[]}],"definesHiddenTokens":false,"hiddenTokens":[],"types":[],"usedGrammars":[]}`)),"RadarGrammar"),uc,ik=R(()=>uc??(uc=Ht(`{"$type":"Grammar","isDeclared":true,"name":"Treemap","rules":[{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]}}],"cardinality":"+"},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"TerminalRule","name":"BOOLEAN","type":{"$type":"ReturnType","name":"boolean"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"true"}},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"false"}}]},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/"},"fragment":false,"hidden":false},{"$type":"ParserRule","entry":true,"name":"Treemap","returnType":{"$ref":"#/interfaces@4"},"definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]},{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@0"},"arguments":[]},{"$type":"Assignment","feature":"TreemapRows","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[]}}],"cardinality":"*"}]},"definesHiddenTokens":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"TerminalRule","name":"TREEMAP_KEYWORD","definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"treemap-beta"}},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"treemap"}}]},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"CLASS_DEF","definition":{"$type":"RegexToken","regex":"/classDef\\\\s+([a-zA-Z_][a-zA-Z0-9_]+)(?:\\\\s+([^;\\\\r\\\\n]*))?(?:;)?/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STYLE_SEPARATOR","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":":::"}},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"SEPARATOR","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":":"}},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"COMMA","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":","}},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WS","definition":{"$type":"RegexToken","regex":"/[ \\\\t]+/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"ML_COMMENT","definition":{"$type":"RegexToken","regex":"/\\\\%\\\\%[^\\\\n]*/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"NL","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/"},"fragment":false},{"$type":"ParserRule","name":"TreemapRow","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"indent","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]},"cardinality":"?"},{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"item","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"arguments":[]}]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"ClassDef","dataType":"string","definition":{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Item","returnType":{"$ref":"#/interfaces@0"},"definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@18"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Section","returnType":{"$ref":"#/interfaces@1"},"definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@23"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]},{"$type":"Assignment","feature":"classSelector","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}}],"cardinality":"?"}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Leaf","returnType":{"$ref":"#/interfaces@2"},"definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@23"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[],"cardinality":"?"},{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[],"cardinality":"?"},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]},{"$type":"Assignment","feature":"classSelector","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}}],"cardinality":"?"}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"TerminalRule","name":"INDENTATION","definition":{"$type":"RegexToken","regex":"/[ \\\\t]{1,}/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ID2","definition":{"$type":"RegexToken","regex":"/[a-zA-Z_][a-zA-Z0-9_]*/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER2","definition":{"$type":"RegexToken","regex":"/[0-9_\\\\.\\\\,]+/"},"fragment":false,"hidden":false},{"$type":"ParserRule","name":"MyNumber","dataType":"number","definition":{"$type":"RuleCall","rule":{"$ref":"#/rules@21"},"arguments":[]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"TerminalRule","name":"STRING2","definition":{"$type":"RegexToken","regex":"/\\"[^\\"]*\\"|'[^']*'/"},"fragment":false,"hidden":false}],"interfaces":[{"$type":"Interface","name":"Item","attributes":[{"$type":"TypeAttribute","name":"name","type":{"$type":"SimpleType","primitiveType":"string"},"isOptional":false},{"$type":"TypeAttribute","name":"classSelector","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}}],"superTypes":[]},{"$type":"Interface","name":"Section","superTypes":[{"$ref":"#/interfaces@0"}],"attributes":[]},{"$type":"Interface","name":"Leaf","superTypes":[{"$ref":"#/interfaces@0"}],"attributes":[{"$type":"TypeAttribute","name":"value","type":{"$type":"SimpleType","primitiveType":"number"},"isOptional":false}]},{"$type":"Interface","name":"ClassDefStatement","attributes":[{"$type":"TypeAttribute","name":"className","type":{"$type":"SimpleType","primitiveType":"string"},"isOptional":false},{"$type":"TypeAttribute","name":"styleText","type":{"$type":"SimpleType","primitiveType":"string"},"isOptional":false}],"superTypes":[]},{"$type":"Interface","name":"Treemap","attributes":[{"$type":"TypeAttribute","name":"TreemapRows","type":{"$type":"ArrayType","elementType":{"$type":"SimpleType","typeRef":{"$ref":"#/rules@14"}}},"isOptional":false},{"$type":"TypeAttribute","name":"title","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"accTitle","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"accDescr","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}}],"superTypes":[]}],"definesHiddenTokens":false,"hiddenTokens":[],"imports":[],"types":[],"usedGrammars":[],"$comment":"/**\\n * Treemap grammar for Langium\\n * Converted from mindmap grammar\\n *\\n * The ML_COMMENT and NL hidden terminals handle whitespace, comments, and newlines\\n * before the treemap keyword, allowing for empty lines and comments before the\\n * treemap declaration.\\n */"}`)),"TreemapGrammar"),sk={languageId:"info",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},ak={languageId:"packet",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},ok={languageId:"pie",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},lk={languageId:"architecture",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},uk={languageId:"gitGraph",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},ck={languageId:"radar",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},fk={languageId:"treemap",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},Wt={AstReflection:R(()=>new Ad,"AstReflection")},dk={Grammar:R(()=>Z$(),"Grammar"),LanguageMetaData:R(()=>sk,"LanguageMetaData"),parser:{}},hk={Grammar:R(()=>J$(),"Grammar"),LanguageMetaData:R(()=>ak,"LanguageMetaData"),parser:{}},pk={Grammar:R(()=>ek(),"Grammar"),LanguageMetaData:R(()=>ok,"LanguageMetaData"),parser:{}},mk={Grammar:R(()=>tk(),"Grammar"),LanguageMetaData:R(()=>lk,"LanguageMetaData"),parser:{}},gk={Grammar:R(()=>rk(),"Grammar"),LanguageMetaData:R(()=>uk,"LanguageMetaData"),parser:{}},yk={Grammar:R(()=>nk(),"Grammar"),LanguageMetaData:R(()=>ck,"LanguageMetaData"),parser:{}},vk={Grammar:R(()=>ik(),"Grammar"),LanguageMetaData:R(()=>fk,"LanguageMetaData"),parser:{}},Tk=/accDescr(?:[\t ]*:([^\n\r]*)|\s*{([^}]*)})/,Rk=/accTitle[\t ]*:([^\n\r]*)/,Ek=/title([\t ][^\n\r]*|)/,Ak={ACC_DESCR:Tk,ACC_TITLE:Rk,TITLE:Ek},Ps,Ji=(Ps=class extends ld{runConverter(t,e,r){let n=this.runCommonConverter(t,e,r);return n===void 0&&(n=this.runCustomConverter(t,e,r)),n===void 0?super.runConverter(t,e,r):n}runCommonConverter(t,e,r){const n=Ak[t.name];if(n===void 0)return;const i=n.exec(e);if(i!==null){if(i[1]!==void 0)return i[1].trim().replace(/[\t ]{2,}/gm," ");if(i[2]!==void 0)return i[2].replace(/^\s*/gm,"").replace(/\s+$/gm,"").replace(/[\t ]{2,}/gm," ").replace(/[\n\r]{2,}/gm,`
|
|
126
|
+
`)}}},R(Ps,"AbstractMermaidValueConverter"),Ps),Ms,es=(Ms=class extends Ji{runCustomConverter(t,e,r){}},R(Ms,"CommonValueConverter"),Ms),Ds,St=(Ds=class extends od{constructor(t){super(),this.keywords=new Set(t)}buildKeywordTokens(t,e,r){const n=super.buildKeywordTokens(t,e,r);return n.forEach(i=>{this.keywords.has(i.name)&&i.PATTERN!==void 0&&(i.PATTERN=new RegExp(i.PATTERN.toString()+"(?:(?=%%)|(?!\\S))"))}),n}},R(Ds,"AbstractMermaidTokenBuilder"),Ds),cc;cc=class extends St{},R(cc,"CommonTokenBuilder");var Us,$k=(Us=class extends St{constructor(){super(["gitGraph"])}},R(Us,"GitGraphTokenBuilder"),Us),$d={parser:{TokenBuilder:R(()=>new $k,"TokenBuilder"),ValueConverter:R(()=>new es,"ValueConverter")}};function kd(t=xt){const e=ue(kt(t),Wt),r=ue($t({shared:e}),gk,$d);return e.ServiceRegistry.register(r),{shared:e,GitGraph:r}}R(kd,"createGitGraphServices");var Fs,kk=(Fs=class extends St{constructor(){super(["info","showInfo"])}},R(Fs,"InfoTokenBuilder"),Fs),xd={parser:{TokenBuilder:R(()=>new kk,"TokenBuilder"),ValueConverter:R(()=>new es,"ValueConverter")}};function Sd(t=xt){const e=ue(kt(t),Wt),r=ue($t({shared:e}),dk,xd);return e.ServiceRegistry.register(r),{shared:e,Info:r}}R(Sd,"createInfoServices");var js,xk=(js=class extends St{constructor(){super(["packet"])}},R(js,"PacketTokenBuilder"),js),Id={parser:{TokenBuilder:R(()=>new xk,"TokenBuilder"),ValueConverter:R(()=>new es,"ValueConverter")}};function wd(t=xt){const e=ue(kt(t),Wt),r=ue($t({shared:e}),hk,Id);return e.ServiceRegistry.register(r),{shared:e,Packet:r}}R(wd,"createPacketServices");var Gs,Sk=(Gs=class extends St{constructor(){super(["pie","showData"])}},R(Gs,"PieTokenBuilder"),Gs),Bs,Ik=(Bs=class extends Ji{runCustomConverter(t,e,r){if(t.name==="PIE_SECTION_LABEL")return e.replace(/"/g,"").trim()}},R(Bs,"PieValueConverter"),Bs),bd={parser:{TokenBuilder:R(()=>new Sk,"TokenBuilder"),ValueConverter:R(()=>new Ik,"ValueConverter")}};function Cd(t=xt){const e=ue(kt(t),Wt),r=ue($t({shared:e}),pk,bd);return e.ServiceRegistry.register(r),{shared:e,Pie:r}}R(Cd,"createPieServices");var Ks,wk=(Ks=class extends St{constructor(){super(["architecture"])}},R(Ks,"ArchitectureTokenBuilder"),Ks),Vs,bk=(Vs=class extends Ji{runCustomConverter(t,e,r){if(t.name==="ARCH_ICON")return e.replace(/[()]/g,"").trim();if(t.name==="ARCH_TEXT_ICON")return e.replace(/["()]/g,"");if(t.name==="ARCH_TITLE")return e.replace(/[[\]]/g,"").trim()}},R(Vs,"ArchitectureValueConverter"),Vs),Nd={parser:{TokenBuilder:R(()=>new wk,"TokenBuilder"),ValueConverter:R(()=>new bk,"ValueConverter")}};function _d(t=xt){const e=ue(kt(t),Wt),r=ue($t({shared:e}),mk,Nd);return e.ServiceRegistry.register(r),{shared:e,Architecture:r}}R(_d,"createArchitectureServices");var Hs,Ck=(Hs=class extends St{constructor(){super(["radar-beta"])}},R(Hs,"RadarTokenBuilder"),Hs),Ld={parser:{TokenBuilder:R(()=>new Ck,"TokenBuilder"),ValueConverter:R(()=>new es,"ValueConverter")}};function Od(t=xt){const e=ue(kt(t),Wt),r=ue($t({shared:e}),yk,Ld);return e.ServiceRegistry.register(r),{shared:e,Radar:r}}R(Od,"createRadarServices");var Ws,Nk=(Ws=class extends St{constructor(){super(["treemap"])}},R(Ws,"TreemapTokenBuilder"),Ws),_k=/classDef\s+([A-Z_a-z]\w+)(?:\s+([^\n\r;]*))?;?/,zs,Lk=(zs=class extends Ji{runCustomConverter(t,e,r){if(t.name==="NUMBER2")return parseFloat(e.replace(/,/g,""));if(t.name==="SEPARATOR"||t.name==="STRING2")return e.substring(1,e.length-1);if(t.name==="INDENTATION")return e.length;if(t.name==="ClassDef"){if(typeof e!="string")return e;const n=_k.exec(e);if(n)return{$type:"ClassDefStatement",className:n[1],styleText:n[2]||void 0}}}},R(zs,"TreemapValueConverter"),zs);function Pd(t){const e=t.validation.TreemapValidator,r=t.validation.ValidationRegistry;if(r){const n={Treemap:e.checkSingleRoot.bind(e)};r.register(n,e)}}R(Pd,"registerValidationChecks");var Ys,Ok=(Ys=class{checkSingleRoot(t,e){let r;for(const n of t.TreemapRows)n.item&&(r===void 0&&n.indent===void 0?r=0:n.indent===void 0?e("error","Multiple root nodes are not allowed in a treemap.",{node:n,property:"item"}):r!==void 0&&r>=parseInt(n.indent,10)&&e("error","Multiple root nodes are not allowed in a treemap.",{node:n,property:"item"}))}},R(Ys,"TreemapValidator"),Ys),Md={parser:{TokenBuilder:R(()=>new Nk,"TokenBuilder"),ValueConverter:R(()=>new Lk,"ValueConverter")},validation:{TreemapValidator:R(()=>new Ok,"TreemapValidator")}};function Dd(t=xt){const e=ue(kt(t),Wt),r=ue($t({shared:e}),vk,Md);return e.ServiceRegistry.register(r),Pd(r),{shared:e,Treemap:r}}R(Dd,"createTreemapServices");var rt={},Pk={info:R(async()=>{const{createInfoServices:t}=await bt(async()=>{const{createInfoServices:r}=await Promise.resolve().then(()=>Uk);return{createInfoServices:r}},void 0),e=t().Info.parser.LangiumParser;rt.info=e},"info"),packet:R(async()=>{const{createPacketServices:t}=await bt(async()=>{const{createPacketServices:r}=await Promise.resolve().then(()=>Fk);return{createPacketServices:r}},void 0),e=t().Packet.parser.LangiumParser;rt.packet=e},"packet"),pie:R(async()=>{const{createPieServices:t}=await bt(async()=>{const{createPieServices:r}=await Promise.resolve().then(()=>jk);return{createPieServices:r}},void 0),e=t().Pie.parser.LangiumParser;rt.pie=e},"pie"),architecture:R(async()=>{const{createArchitectureServices:t}=await bt(async()=>{const{createArchitectureServices:r}=await Promise.resolve().then(()=>Gk);return{createArchitectureServices:r}},void 0),e=t().Architecture.parser.LangiumParser;rt.architecture=e},"architecture"),gitGraph:R(async()=>{const{createGitGraphServices:t}=await bt(async()=>{const{createGitGraphServices:r}=await Promise.resolve().then(()=>Bk);return{createGitGraphServices:r}},void 0),e=t().GitGraph.parser.LangiumParser;rt.gitGraph=e},"gitGraph"),radar:R(async()=>{const{createRadarServices:t}=await bt(async()=>{const{createRadarServices:r}=await Promise.resolve().then(()=>Kk);return{createRadarServices:r}},void 0),e=t().Radar.parser.LangiumParser;rt.radar=e},"radar"),treemap:R(async()=>{const{createTreemapServices:t}=await bt(async()=>{const{createTreemapServices:r}=await Promise.resolve().then(()=>Vk);return{createTreemapServices:r}},void 0),e=t().Treemap.parser.LangiumParser;rt.treemap=e},"treemap")};async function Mk(t,e){const r=Pk[t];if(!r)throw new Error(`Unknown diagram type: ${t}`);rt[t]||await r();const n=rt[t].parse(e);if(n.lexerErrors.length>0||n.parserErrors.length>0)throw new Dk(n);return n.value}R(Mk,"parse");var qs,Dk=(qs=class extends Error{constructor(t){const e=t.lexerErrors.map(n=>n.message).join(`
|
|
127
127
|
`),r=t.parserErrors.map(n=>n.message).join(`
|
|
128
|
-
`);super(`Parsing failed: ${e} ${r}`),this.result=t}},R(
|
|
128
|
+
`);super(`Parsing failed: ${e} ${r}`),this.result=t}},R(qs,"MermaidParseError"),qs);const Uk=Object.freeze(Object.defineProperty({__proto__:null,InfoModule:xd,createInfoServices:Sd},Symbol.toStringTag,{value:"Module"})),Fk=Object.freeze(Object.defineProperty({__proto__:null,PacketModule:Id,createPacketServices:wd},Symbol.toStringTag,{value:"Module"})),jk=Object.freeze(Object.defineProperty({__proto__:null,PieModule:bd,createPieServices:Cd},Symbol.toStringTag,{value:"Module"})),Gk=Object.freeze(Object.defineProperty({__proto__:null,ArchitectureModule:Nd,createArchitectureServices:_d},Symbol.toStringTag,{value:"Module"})),Bk=Object.freeze(Object.defineProperty({__proto__:null,GitGraphModule:$d,createGitGraphServices:kd},Symbol.toStringTag,{value:"Module"})),Kk=Object.freeze(Object.defineProperty({__proto__:null,RadarModule:Ld,createRadarServices:Od},Symbol.toStringTag,{value:"Module"})),Vk=Object.freeze(Object.defineProperty({__proto__:null,TreemapModule:Md,createTreemapServices:Dd},Symbol.toStringTag,{value:"Module"}));export{Mk as F};
|