api-tests-coverage 1.0.6 → 1.0.8

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.
Files changed (135) hide show
  1. package/dist/dashboard/dist/assets/_basePickBy-BUyUvYKO.js +1 -0
  2. package/dist/dashboard/dist/assets/_basePickBy-Bsd7xDyH.js +1 -0
  3. package/dist/dashboard/dist/assets/_basePickBy-Dqqv96-M.js +1 -0
  4. package/dist/dashboard/dist/assets/_baseUniq-C_Rmv6sJ.js +1 -0
  5. package/dist/dashboard/dist/assets/_baseUniq-DPFwTyBB.js +1 -0
  6. package/dist/dashboard/dist/assets/_baseUniq-rIzQSv0r.js +1 -0
  7. package/dist/dashboard/dist/assets/arc-B5aJr1w6.js +1 -0
  8. package/dist/dashboard/dist/assets/arc-B78X1MhT.js +1 -0
  9. package/dist/dashboard/dist/assets/arc-DkeMDl9N.js +1 -0
  10. package/dist/dashboard/dist/assets/architectureDiagram-VXUJARFQ-B3jCDh0O.js +36 -0
  11. package/dist/dashboard/dist/assets/architectureDiagram-VXUJARFQ-CN-Jo086.js +36 -0
  12. package/dist/dashboard/dist/assets/architectureDiagram-VXUJARFQ-pTmKi64N.js +36 -0
  13. package/dist/dashboard/dist/assets/blockDiagram-VD42YOAC-BGNUtVZX.js +122 -0
  14. package/dist/dashboard/dist/assets/blockDiagram-VD42YOAC-DGX607yw.js +122 -0
  15. package/dist/dashboard/dist/assets/blockDiagram-VD42YOAC-DHq7l0u0.js +122 -0
  16. package/dist/dashboard/dist/assets/c4Diagram-YG6GDRKO-BNb72-7t.js +10 -0
  17. package/dist/dashboard/dist/assets/c4Diagram-YG6GDRKO-DewhyLOM.js +10 -0
  18. package/dist/dashboard/dist/assets/c4Diagram-YG6GDRKO-LGUphwB4.js +10 -0
  19. package/dist/dashboard/dist/assets/channel-BEridnQp.js +1 -0
  20. package/dist/dashboard/dist/assets/channel-BTmvZfyH.js +1 -0
  21. package/dist/dashboard/dist/assets/channel-Tp2lV-7l.js +1 -0
  22. package/dist/dashboard/dist/assets/chunk-4BX2VUAB-Cmagglyl.js +1 -0
  23. package/dist/dashboard/dist/assets/chunk-4BX2VUAB-Cs6byFto.js +1 -0
  24. package/dist/dashboard/dist/assets/chunk-4BX2VUAB-DRIHQhAG.js +1 -0
  25. package/dist/dashboard/dist/assets/chunk-55IACEB6-CIsqCtMh.js +1 -0
  26. package/dist/dashboard/dist/assets/chunk-55IACEB6-CpiM92Yh.js +1 -0
  27. package/dist/dashboard/dist/assets/chunk-55IACEB6-DO0Kye0T.js +1 -0
  28. package/dist/dashboard/dist/assets/chunk-B4BG7PRW-BWvXJTy9.js +165 -0
  29. package/dist/dashboard/dist/assets/chunk-B4BG7PRW-Di8ts-Zx.js +165 -0
  30. package/dist/dashboard/dist/assets/chunk-B4BG7PRW-TrLVMk3o.js +165 -0
  31. package/dist/dashboard/dist/assets/chunk-DI55MBZ5-C4TA0qbT.js +220 -0
  32. package/dist/dashboard/dist/assets/chunk-DI55MBZ5-CKpg9Lnh.js +220 -0
  33. package/dist/dashboard/dist/assets/chunk-DI55MBZ5-gtWRL21e.js +220 -0
  34. package/dist/dashboard/dist/assets/chunk-FMBD7UC4-CF7D6k3W.js +15 -0
  35. package/dist/dashboard/dist/assets/chunk-FMBD7UC4-CpLfFRIb.js +15 -0
  36. package/dist/dashboard/dist/assets/chunk-FMBD7UC4-SoGdW77W.js +15 -0
  37. package/dist/dashboard/dist/assets/chunk-QN33PNHL-CRmDstMo.js +1 -0
  38. package/dist/dashboard/dist/assets/chunk-QN33PNHL-QXXWtthx.js +1 -0
  39. package/dist/dashboard/dist/assets/chunk-QN33PNHL-aMOQTOIX.js +1 -0
  40. package/dist/dashboard/dist/assets/chunk-QZHKN3VN-C8ruykkm.js +1 -0
  41. package/dist/dashboard/dist/assets/chunk-QZHKN3VN-MWcGwlRW.js +1 -0
  42. package/dist/dashboard/dist/assets/chunk-QZHKN3VN-wrxBFgAz.js +1 -0
  43. package/dist/dashboard/dist/assets/chunk-TZMSLE5B-C_BO0lrM.js +1 -0
  44. package/dist/dashboard/dist/assets/chunk-TZMSLE5B-CceRjsoP.js +1 -0
  45. package/dist/dashboard/dist/assets/chunk-TZMSLE5B-TeZFj1J2.js +1 -0
  46. package/dist/dashboard/dist/assets/classDiagram-2ON5EDUG-BImA9xr-.js +1 -0
  47. package/dist/dashboard/dist/assets/classDiagram-2ON5EDUG-CEq2N6UL.js +1 -0
  48. package/dist/dashboard/dist/assets/classDiagram-2ON5EDUG-DbYl04vP.js +1 -0
  49. package/dist/dashboard/dist/assets/classDiagram-v2-WZHVMYZB-BImA9xr-.js +1 -0
  50. package/dist/dashboard/dist/assets/classDiagram-v2-WZHVMYZB-CEq2N6UL.js +1 -0
  51. package/dist/dashboard/dist/assets/classDiagram-v2-WZHVMYZB-DbYl04vP.js +1 -0
  52. package/dist/dashboard/dist/assets/clone-CSVzZiwi.js +1 -0
  53. package/dist/dashboard/dist/assets/clone-CwK3Qr20.js +1 -0
  54. package/dist/dashboard/dist/assets/clone-UVgnSCmQ.js +1 -0
  55. package/dist/dashboard/dist/assets/cose-bilkent-S5V4N54A-C0bInKgj.js +1 -0
  56. package/dist/dashboard/dist/assets/cose-bilkent-S5V4N54A-DHd06pux.js +1 -0
  57. package/dist/dashboard/dist/assets/cose-bilkent-S5V4N54A-DphDKVx6.js +1 -0
  58. package/dist/dashboard/dist/assets/dagre-6UL2VRFP-B_c-U7x0.js +4 -0
  59. package/dist/dashboard/dist/assets/dagre-6UL2VRFP-CS9rymMI.js +4 -0
  60. package/dist/dashboard/dist/assets/dagre-6UL2VRFP-Dmvfw_80.js +4 -0
  61. package/dist/dashboard/dist/assets/diagram-PSM6KHXK-13jc3TQv.js +24 -0
  62. package/dist/dashboard/dist/assets/diagram-PSM6KHXK-BrmJ7Er9.js +24 -0
  63. package/dist/dashboard/dist/assets/diagram-PSM6KHXK-C4AEkNvR.js +24 -0
  64. package/dist/dashboard/dist/assets/diagram-QEK2KX5R-B0imVv60.js +43 -0
  65. package/dist/dashboard/dist/assets/diagram-QEK2KX5R-BGYlCtOz.js +43 -0
  66. package/dist/dashboard/dist/assets/diagram-QEK2KX5R-DiyAu4P9.js +43 -0
  67. package/dist/dashboard/dist/assets/diagram-S2PKOQOG-BoE0tnmp.js +24 -0
  68. package/dist/dashboard/dist/assets/diagram-S2PKOQOG-CTGrW9gk.js +24 -0
  69. package/dist/dashboard/dist/assets/diagram-S2PKOQOG-DLbrPzgt.js +24 -0
  70. package/dist/dashboard/dist/assets/erDiagram-Q2GNP2WA-5nn2-sLe.js +60 -0
  71. package/dist/dashboard/dist/assets/erDiagram-Q2GNP2WA-CqHBeobc.js +60 -0
  72. package/dist/dashboard/dist/assets/erDiagram-Q2GNP2WA-Cs9OJvmx.js +60 -0
  73. package/dist/dashboard/dist/assets/flowDiagram-NV44I4VS-BI5jgu5F.js +162 -0
  74. package/dist/dashboard/dist/assets/flowDiagram-NV44I4VS-CFQFk4xh.js +162 -0
  75. package/dist/dashboard/dist/assets/flowDiagram-NV44I4VS-Czs0h8rs.js +162 -0
  76. package/dist/dashboard/dist/assets/ganttDiagram-JELNMOA3-Blw86NSz.js +267 -0
  77. package/dist/dashboard/dist/assets/ganttDiagram-JELNMOA3-CZyJojLk.js +267 -0
  78. package/dist/dashboard/dist/assets/ganttDiagram-JELNMOA3-DL2yqIxp.js +267 -0
  79. package/dist/dashboard/dist/assets/gitGraphDiagram-V2S2FVAM-BTvlOVhp.js +65 -0
  80. package/dist/dashboard/dist/assets/gitGraphDiagram-V2S2FVAM-CL6GCueq.js +65 -0
  81. package/dist/dashboard/dist/assets/gitGraphDiagram-V2S2FVAM-CRmWaA7J.js +65 -0
  82. package/dist/dashboard/dist/assets/graph-0SQYPKUn.js +1 -0
  83. package/dist/dashboard/dist/assets/graph-CzGhVX0w.js +1 -0
  84. package/dist/dashboard/dist/assets/graph-DBDvJaxp.js +1 -0
  85. package/dist/dashboard/dist/assets/index-CbsYYBta.js +522 -0
  86. package/dist/dashboard/dist/assets/index-Dq-mm_Pc.js +522 -0
  87. package/dist/dashboard/dist/assets/index-EyiVOOa1.js +522 -0
  88. package/dist/dashboard/dist/assets/infoDiagram-HS3SLOUP-CBkGxsn0.js +2 -0
  89. package/dist/dashboard/dist/assets/infoDiagram-HS3SLOUP-CjIjVG9r.js +2 -0
  90. package/dist/dashboard/dist/assets/infoDiagram-HS3SLOUP-DJzR_BOe.js +2 -0
  91. package/dist/dashboard/dist/assets/journeyDiagram-XKPGCS4Q-CQ5xSTDU.js +139 -0
  92. package/dist/dashboard/dist/assets/journeyDiagram-XKPGCS4Q-CSaMpSJx.js +139 -0
  93. package/dist/dashboard/dist/assets/journeyDiagram-XKPGCS4Q-DB9H2kgs.js +139 -0
  94. package/dist/dashboard/dist/assets/kanban-definition-3W4ZIXB7-BD9Yqcmv.js +89 -0
  95. package/dist/dashboard/dist/assets/kanban-definition-3W4ZIXB7-C78jm-e6.js +89 -0
  96. package/dist/dashboard/dist/assets/kanban-definition-3W4ZIXB7-D3cLrQ2R.js +89 -0
  97. package/dist/dashboard/dist/assets/layout-C0rIGZiV.js +1 -0
  98. package/dist/dashboard/dist/assets/layout-D-zuaQpz.js +1 -0
  99. package/dist/dashboard/dist/assets/layout-DI6sxc5V.js +1 -0
  100. package/dist/dashboard/dist/assets/mindmap-definition-VGOIOE7T-By-QpTlY.js +68 -0
  101. package/dist/dashboard/dist/assets/mindmap-definition-VGOIOE7T-C1fnWvNC.js +68 -0
  102. package/dist/dashboard/dist/assets/mindmap-definition-VGOIOE7T-DlJhsH9l.js +68 -0
  103. package/dist/dashboard/dist/assets/pieDiagram-ADFJNKIX-9zB4LrDS.js +30 -0
  104. package/dist/dashboard/dist/assets/pieDiagram-ADFJNKIX-D5o3TpJC.js +30 -0
  105. package/dist/dashboard/dist/assets/pieDiagram-ADFJNKIX-DV7vKoTM.js +30 -0
  106. package/dist/dashboard/dist/assets/quadrantDiagram-AYHSOK5B-BxxYLZfy.js +7 -0
  107. package/dist/dashboard/dist/assets/quadrantDiagram-AYHSOK5B-CA3wowPG.js +7 -0
  108. package/dist/dashboard/dist/assets/quadrantDiagram-AYHSOK5B-rQFE_dn3.js +7 -0
  109. package/dist/dashboard/dist/assets/requirementDiagram-UZGBJVZJ-Df5xM_H_.js +64 -0
  110. package/dist/dashboard/dist/assets/requirementDiagram-UZGBJVZJ-GW_7oZIz.js +64 -0
  111. package/dist/dashboard/dist/assets/requirementDiagram-UZGBJVZJ-hYEIPZd0.js +64 -0
  112. package/dist/dashboard/dist/assets/sankeyDiagram-TZEHDZUN-C0gg8WQs.js +10 -0
  113. package/dist/dashboard/dist/assets/sankeyDiagram-TZEHDZUN-DGrHwdIQ.js +10 -0
  114. package/dist/dashboard/dist/assets/sankeyDiagram-TZEHDZUN-DcDdVqgd.js +10 -0
  115. package/dist/dashboard/dist/assets/sequenceDiagram-WL72ISMW-Bl8oTfn5.js +145 -0
  116. package/dist/dashboard/dist/assets/sequenceDiagram-WL72ISMW-ICcxF9Xm.js +145 -0
  117. package/dist/dashboard/dist/assets/sequenceDiagram-WL72ISMW-jv03s9tU.js +145 -0
  118. package/dist/dashboard/dist/assets/stateDiagram-FKZM4ZOC-B95YMS6o.js +1 -0
  119. package/dist/dashboard/dist/assets/stateDiagram-FKZM4ZOC-BtT1TP04.js +1 -0
  120. package/dist/dashboard/dist/assets/stateDiagram-FKZM4ZOC-_d5I17H8.js +1 -0
  121. package/dist/dashboard/dist/assets/stateDiagram-v2-4FDKWEC3-Be2mYRwK.js +1 -0
  122. package/dist/dashboard/dist/assets/stateDiagram-v2-4FDKWEC3-DI37b5or.js +1 -0
  123. package/dist/dashboard/dist/assets/stateDiagram-v2-4FDKWEC3-D_7eAFTe.js +1 -0
  124. package/dist/dashboard/dist/assets/timeline-definition-IT6M3QCI-BHdMKW5Z.js +61 -0
  125. package/dist/dashboard/dist/assets/timeline-definition-IT6M3QCI-D67NHbjw.js +61 -0
  126. package/dist/dashboard/dist/assets/timeline-definition-IT6M3QCI-EfSs86eQ.js +61 -0
  127. package/dist/dashboard/dist/assets/treemap-GDKQZRPO-C5fkt2es.js +162 -0
  128. package/dist/dashboard/dist/assets/treemap-GDKQZRPO-Cvw8Lt-q.js +162 -0
  129. package/dist/dashboard/dist/assets/treemap-GDKQZRPO-DdGYbSSy.js +162 -0
  130. package/dist/dashboard/dist/assets/xychartDiagram-PRI3JC2R-C-lnMuU7.js +7 -0
  131. package/dist/dashboard/dist/assets/xychartDiagram-PRI3JC2R-Cg4RhAT2.js +7 -0
  132. package/dist/dashboard/dist/assets/xychartDiagram-PRI3JC2R-DHOGwVjy.js +7 -0
  133. package/dist/dashboard/dist/index.html +1 -1
  134. package/dist/src/index.js +49 -24
  135. package/package.json +1 -1
@@ -0,0 +1,162 @@
1
+ var zp=Object.defineProperty;var Bp=(t,e,n)=>e in t?zp(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n;var dn=(t,e,n)=>Bp(t,typeof e!="symbol"?e+"":e,n);import{bS as qp,bT as Wp,bh as bf,bC as Vp,bl as Kp,bi as je,aD as Hp,aE as Hl,bs as Yp,bv as _f,bw as If,bt as Xp,bH as Yl,aG as Yn,aH as oe,bj as Jp,bd as Qp,aL as gt,bU as Zp,bV as In}from"./index-CbsYYBta.js";import{k as jr,j as vl,g as ii,S as em,w as tm,x as nm,c as $f,v as Le,y as Pf,l as rm,z as im,A as sm,B as am,C as om,a as Lf,d as j,i as tn,r as Ye,f as dt,D as Me}from"./_baseUniq-rIzQSv0r.js";import{j as El,m as M,d as cm,f as yt,g as zr,h as B,i as Al,l as zn,e as lm}from"./_basePickBy-Dqqv96-M.js";import{c as Be}from"./clone-UVgnSCmQ.js";var um=Object.prototype,dm=um.hasOwnProperty,ut=qp(function(t,e){if(Wp(e)||bf(e)){Vp(e,jr(e),t);return}for(var n in e)dm.call(e,n)&&Kp(t,n,e[n])});function Of(t,e,n){var r=-1,i=t.length;e<0&&(e=-e>i?0:i+e),n=n>i?i:n,n<0&&(n+=i),i=e>n?0:n-e>>>0,e>>>=0;for(var s=Array(i);++r<i;)s[r]=t[r+e];return s}function is(t){for(var e=-1,n=t==null?0:t.length,r=0,i=[];++e<n;){var s=t[e];s&&(i[r++]=s)}return i}function fm(t,e,n,r){for(var i=-1,s=t==null?0:t.length;++i<s;){var a=t[i];e(r,a,n(a),t)}return r}function hm(t,e,n,r){return vl(t,function(i,s,a){e(r,i,n(i),a)}),r}function pm(t,e){return function(n,r){var i=je(n)?fm:hm,s=e?e():{};return i(n,t,ii(r),s)}}var mm=200;function gm(t,e,n,r){var i=-1,s=tm,a=!0,o=t.length,c=[],l=e.length;if(!o)return c;e.length>=mm&&(s=nm,a=!1,e=new em(e));e:for(;++i<o;){var u=t[i],f=u;if(u=u!==0?u:0,a&&f===f){for(var m=l;m--;)if(e[m]===f)continue e;c.push(u)}else s(e,f,r)||c.push(u)}return c}var Oa=Hp(function(t,e){return Hl(t)?gm(t,$f(e,1,Hl,!0)):[]});function Fe(t,e,n){var r=t==null?0:t.length;return r?(e=e===void 0?1:El(e),Of(t,e<0?0:e,r)):[]}function Bi(t,e,n){var r=t==null?0:t.length;return r?(e=e===void 0?1:El(e),e=r-e,Of(t,0,e<0?0:e)):[]}function ym(t,e){for(var n=-1,r=t==null?0:t.length;++n<r;)if(!e(t[n],n,t))return!1;return!0}function Tm(t,e){var n=!0;return vl(t,function(r,i,s){return n=!!e(r,i,s),n}),n}function Nt(t,e,n){var r=je(t)?ym:Tm;return r(t,ii(e))}function bt(t){return t&&t.length?t[0]:void 0}function lt(t,e){return $f(M(t,e))}var Rm=Object.prototype,vm=Rm.hasOwnProperty,Em=pm(function(t,e,n){vm.call(t,n)?t[n].push(e):Yp(t,n,[e])}),Am="[object String]";function tt(t){return typeof t=="string"||!je(t)&&_f(t)&&If(t)==Am}var Sm=Math.max;function Qe(t,e,n,r){t=bf(t)?t:Le(t),n=n?El(n):0;var i=t.length;return n<0&&(n=Sm(i+n,0)),tt(t)?n<=i&&t.indexOf(e,n)>-1:!!i&&Pf(t,e,n)>-1}function Xl(t,e,n){var r=t==null?0:t.length;if(!r)return-1;var i=0;return Pf(t,e,i)}var Cm="[object RegExp]";function km(t){return _f(t)&&If(t)==Cm}var Jl=Yl&&Yl.isRegExp,nn=Jl?Xp(Jl):km,Nm="Expected a function";function wm(t){if(typeof t!="function")throw new TypeError(Nm);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 _t(t,e){if(t==null)return{};var n=rm(im(t),function(r){return[r]});return e=ii(e),cm(t,n,function(r,i){return e(r,i[0])})}function xa(t,e){var n=je(t)?sm:am;return n(t,wm(ii(e)))}function bm(t,e){var n;return vl(t,function(r,i,s){return n=e(r,i,s),!n}),!!n}function xf(t,e,n){var r=je(t)?om:bm;return r(t,ii(e))}function Sl(t){return t&&t.length?Lf(t):[]}function _m(t,e){return t&&t.length?Lf(t,ii(e)):[]}function We(t){return typeof t=="object"&&t!==null&&typeof t.$type=="string"}function Ct(t){return typeof t=="object"&&t!==null&&typeof t.$refText=="string"&&"ref"in t}function hn(t){return typeof t=="object"&&t!==null&&typeof t.$refText=="string"&&"items"in t}function Im(t){return typeof t=="object"&&t!==null&&typeof t.name=="string"&&typeof t.type=="string"&&typeof t.path=="string"}function vi(t){return typeof t=="object"&&t!==null&&typeof t.info=="object"&&typeof t.message=="string"}class Df{constructor(){this.subtypes={},this.allSubtypes={}}getAllTypes(){return Object.keys(this.types)}getReferenceType(e){var i;const n=this.types[e.container.$type];if(!n)throw new Error(`Type ${e.container.$type||"undefined"} not found.`);const r=(i=n.properties[e.property])==null?void 0:i.referenceType;if(!r)throw new Error(`Property ${e.property||"undefined"} of type ${e.container.$type} is not a reference.`);return r}getTypeMetaData(e){const n=this.types[e];return n||{name:e,properties:{},superTypes:[]}}isInstance(e,n){return We(e)&&this.isSubtype(e.$type,n)}isSubtype(e,n){if(e===n)return!0;let r=this.subtypes[e];r||(r=this.subtypes[e]={});const i=r[n];if(i!==void 0)return i;{const s=this.types[e],a=s?s.superTypes.some(o=>this.isSubtype(o,n)):!1;return r[n]=a,a}}getAllSubTypes(e){const n=this.allSubtypes[e];if(n)return n;{const r=this.getAllTypes(),i=[];for(const s of r)this.isSubtype(s,e)&&i.push(s);return this.allSubtypes[e]=i,i}}}function qi(t){return typeof t=="object"&&t!==null&&Array.isArray(t.content)}function Mf(t){return typeof t=="object"&&t!==null&&typeof t.tokenType=="object"}function Ff(t){return qi(t)&&typeof t.fullText=="string"}class Ge{constructor(e,n){this.startFn=e,this.nextFn=n}iterator(){const e={state:this.startFn(),next:()=>this.nextFn(e.state),[Symbol.iterator]:()=>e};return e}[Symbol.iterator](){return this.iterator()}isEmpty(){return!!this.iterator().next().done}count(){const e=this.iterator();let n=0,r=e.next();for(;!r.done;)n++,r=e.next();return n}toArray(){const e=[],n=this.iterator();let r;do r=n.next(),r.value!==void 0&&e.push(r.value);while(!r.done);return e}toSet(){return new Set(this)}toMap(e,n){const r=this.map(i=>[e?e(i):i,n?n(i):i]);return new Map(r)}toString(){return this.join()}concat(e){return new Ge(()=>({first:this.startFn(),firstDone:!1,iterator:e[Symbol.iterator]()}),n=>{let r;if(!n.firstDone){do if(r=this.nextFn(n.first),!r.done)return r;while(!r.done);n.firstDone=!0}do if(r=n.iterator.next(),!r.done)return r;while(!r.done);return ot})}join(e=","){const n=this.iterator();let r="",i,s=!1;do i=n.next(),i.done||(s&&(r+=e),r+=$m(i.value)),s=!0;while(!i.done);return r}indexOf(e,n=0){const r=this.iterator();let i=0,s=r.next();for(;!s.done;){if(i>=n&&s.value===e)return i;s=r.next(),i++}return-1}every(e){const n=this.iterator();let r=n.next();for(;!r.done;){if(!e(r.value))return!1;r=n.next()}return!0}some(e){const n=this.iterator();let r=n.next();for(;!r.done;){if(e(r.value))return!0;r=n.next()}return!1}forEach(e){const n=this.iterator();let r=0,i=n.next();for(;!i.done;)e(i.value,r),i=n.next(),r++}map(e){return new Ge(this.startFn,n=>{const{done:r,value:i}=this.nextFn(n);return r?ot:{done:!1,value:e(i)}})}filter(e){return new Ge(this.startFn,n=>{let r;do if(r=this.nextFn(n),!r.done&&e(r.value))return r;while(!r.done);return ot})}nonNullable(){return this.filter(e=>e!=null)}reduce(e,n){const r=this.iterator();let i=n,s=r.next();for(;!s.done;)i===void 0?i=s.value:i=e(i,s.value),s=r.next();return i}reduceRight(e,n){return this.recursiveReduce(this.iterator(),e,n)}recursiveReduce(e,n,r){const i=e.next();if(i.done)return r;const s=this.recursiveReduce(e,n,r);return s===void 0?i.value:n(s,i.value)}find(e){const n=this.iterator();let r=n.next();for(;!r.done;){if(e(r.value))return r.value;r=n.next()}}findIndex(e){const n=this.iterator();let r=0,i=n.next();for(;!i.done;){if(e(i.value))return r;i=n.next(),r++}return-1}includes(e){const n=this.iterator();let r=n.next();for(;!r.done;){if(r.value===e)return!0;r=n.next()}return!1}flatMap(e){return new Ge(()=>({this:this.startFn()}),n=>{do{if(n.iterator){const s=n.iterator.next();if(s.done)n.iterator=void 0;else return s}const{done:r,value:i}=this.nextFn(n.this);if(!r){const s=e(i);if(ia(s))n.iterator=s[Symbol.iterator]();else return{done:!1,value:s}}}while(n.iterator);return ot})}flat(e){if(e===void 0&&(e=1),e<=0)return this;const n=e>1?this.flat(e-1):this;return new Ge(()=>({this:n.startFn()}),r=>{do{if(r.iterator){const a=r.iterator.next();if(a.done)r.iterator=void 0;else return a}const{done:i,value:s}=n.nextFn(r.this);if(!i)if(ia(s))r.iterator=s[Symbol.iterator]();else return{done:!1,value:s}}while(r.iterator);return ot})}head(){const n=this.iterator().next();if(!n.done)return n.value}tail(e=1){return new Ge(()=>{const n=this.startFn();for(let r=0;r<e;r++)if(this.nextFn(n).done)return n;return n},this.nextFn)}limit(e){return new Ge(()=>({size:0,state:this.startFn()}),n=>(n.size++,n.size>e?ot:this.nextFn(n.state)))}distinct(e){return new Ge(()=>({set:new Set,internalState:this.startFn()}),n=>{let r;do if(r=this.nextFn(n.internalState),!r.done){const i=e?e(r.value):r.value;if(!n.set.has(i))return n.set.add(i),r}while(!r.done);return ot})}exclude(e,n){const r=new Set;for(const i of e){const s=n?n(i):i;r.add(s)}return this.filter(i=>{const s=n?n(i):i;return!r.has(s)})}}function $m(t){return typeof t=="string"?t:typeof t>"u"?"undefined":typeof t.toString=="function"?t.toString():Object.prototype.toString.call(t)}function ia(t){return!!t&&typeof t[Symbol.iterator]=="function"}const Gf=new Ge(()=>{},()=>ot),ot=Object.freeze({done:!0,value:void 0});function pe(...t){if(t.length===1){const e=t[0];if(e instanceof Ge)return e;if(ia(e))return new Ge(()=>e[Symbol.iterator](),n=>n.next());if(typeof e.length=="number")return new Ge(()=>({index:0}),n=>n.index<e.length?{done:!1,value:e[n.index++]}:ot)}return t.length>1?new Ge(()=>({collIndex:0,arrIndex:0}),e=>{do{if(e.iterator){const n=e.iterator.next();if(!n.done)return n;e.iterator=void 0}if(e.array){if(e.arrIndex<e.array.length)return{done:!1,value:e.array[e.arrIndex++]};e.array=void 0,e.arrIndex=0}if(e.collIndex<t.length){const n=t[e.collIndex++];ia(n)?e.iterator=n[Symbol.iterator]():n&&typeof n.length=="number"&&(e.array=n)}}while(e.iterator||e.array||e.collIndex<t.length);return ot}):Gf}class Cl extends Ge{constructor(e,n,r){super(()=>({iterators:r!=null&&r.includeRoot?[[e][Symbol.iterator]()]:[n(e)[Symbol.iterator]()],pruned:!1}),i=>{for(i.pruned&&(i.iterators.pop(),i.pruned=!1);i.iterators.length>0;){const a=i.iterators[i.iterators.length-1].next();if(a.done)i.iterators.pop();else return i.iterators.push(n(a.value)[Symbol.iterator]()),a}return ot})}iterator(){const e={state:this.startFn(),next:()=>this.nextFn(e.state),prune:()=>{e.state.pruned=!0},[Symbol.iterator]:()=>e};return e}}var $o;(function(t){function e(s){return s.reduce((a,o)=>a+o,0)}t.sum=e;function n(s){return s.reduce((a,o)=>a*o,0)}t.product=n;function r(s){return s.reduce((a,o)=>Math.min(a,o))}t.min=r;function i(s){return s.reduce((a,o)=>Math.max(a,o))}t.max=i})($o||($o={}));function Po(t,e={}){for(const[n,r]of Object.entries(t))n.startsWith("$")||(Array.isArray(r)?r.forEach((i,s)=>{We(i)&&(i.$container=t,i.$containerProperty=n,i.$containerIndex=s,e.deep&&Po(i,e))}):We(r)&&(r.$container=t,r.$containerProperty=n,e.deep&&Po(r,e)))}function Da(t,e){let n=t;for(;n;){if(e(n))return n;n=n.$container}}function Qt(t){const n=Bs(t).$document;if(!n)throw new Error("AST node has no document.");return n}function Bs(t){for(;t.$container;)t=t.$container;return t}function Ql(t){return Ct(t)?t.ref?[t.ref]:[]:hn(t)?t.items.map(e=>e.ref):[]}function kl(t,e){if(!t)throw new Error("Node must be an AstNode.");const n=e==null?void 0:e.range;return new Ge(()=>({keys:Object.keys(t),keyIndex:0,arrayIndex:0}),r=>{for(;r.keyIndex<r.keys.length;){const i=r.keys[r.keyIndex];if(!i.startsWith("$")){const s=t[i];if(We(s)){if(r.keyIndex++,Zl(s,n))return{done:!1,value:s}}else if(Array.isArray(s)){for(;r.arrayIndex<s.length;){const a=r.arrayIndex++,o=s[a];if(We(o)&&Zl(o,n))return{done:!1,value:o}}r.arrayIndex=0}}r.keyIndex++}return ot})}function ss(t,e){if(!t)throw new Error("Root node must be an AstNode.");return new Cl(t,n=>kl(n,e))}function Zt(t,e){if(!t)throw new Error("Root node must be an AstNode.");return new Cl(t,n=>kl(n,e),{includeRoot:!0})}function Zl(t,e){var r;if(!e)return!0;const n=(r=t.$cstNode)==null?void 0:r.range;return n?eg(n,e):!1}function sa(t){return new Ge(()=>({keys:Object.keys(t),keyIndex:0,arrayIndex:0}),e=>{for(;e.keyIndex<e.keys.length;){const n=e.keys[e.keyIndex];if(!n.startsWith("$")){const r=t[n];if(Ct(r)||hn(r))return e.keyIndex++,{done:!1,value:{reference:r,container:t,property:n}};if(Array.isArray(r)){for(;e.arrayIndex<r.length;){const i=e.arrayIndex++,s=r[i];if(Ct(s)||hn(r))return{done:!1,value:{reference:s,container:t,property:n,index:i}}}e.arrayIndex=0}}e.keyIndex++}return ot})}function Pm(t,e){const n=t.getTypeMetaData(e.$type),r=e;for(const i of Object.values(n.properties))i.defaultValue!==void 0&&r[i.name]===void 0&&(r[i.name]=Uf(i.defaultValue))}function Uf(t){return Array.isArray(t)?[...t.map(Uf)]:t}const at={$type:"AbstractElement",cardinality:"cardinality"};function Lm(t){return Z.isInstance(t,at.$type)}const qs={$type:"AbstractParserRule"};function as(t){return Z.isInstance(t,qs.$type)}const $s={$type:"AbstractRule"},At={$type:"AbstractType"},On={$type:"Action",cardinality:"cardinality",feature:"feature",inferredType:"inferredType",operator:"operator",type:"type"};function Ma(t){return Z.isInstance(t,On.$type)}const Ws={$type:"Alternatives",cardinality:"cardinality",elements:"elements"};function jf(t){return Z.isInstance(t,Ws.$type)}const eu={$type:"ArrayLiteral",elements:"elements"},tu={$type:"ArrayType",elementType:"elementType"},xn={$type:"Assignment",cardinality:"cardinality",feature:"feature",operator:"operator",predicate:"predicate",terminal:"terminal"};function Bn(t){return Z.isInstance(t,xn.$type)}const Lo={$type:"BooleanLiteral",true:"true"};function Om(t){return Z.isInstance(t,Lo.$type)}const Dn={$type:"CharacterRange",cardinality:"cardinality",left:"left",lookahead:"lookahead",parenthesized:"parenthesized",right:"right"};function xm(t){return Z.isInstance(t,Dn.$type)}const nr={$type:"Condition"},Vs={$type:"Conjunction",left:"left",right:"right"};function Dm(t){return Z.isInstance(t,Vs.$type)}const Mn={$type:"CrossReference",cardinality:"cardinality",deprecatedSyntax:"deprecatedSyntax",isMulti:"isMulti",terminal:"terminal",type:"type"};function Fa(t){return Z.isInstance(t,Mn.$type)}const Ks={$type:"Disjunction",left:"left",right:"right"};function Mm(t){return Z.isInstance(t,Ks.$type)}const Oo={$type:"EndOfFile",cardinality:"cardinality"};function Fm(t){return Z.isInstance(t,Oo.$type)}const $n={$type:"Grammar",imports:"imports",interfaces:"interfaces",isDeclared:"isDeclared",name:"name",rules:"rules",types:"types"},nu={$type:"GrammarImport",path:"path"},cr={$type:"Group",cardinality:"cardinality",elements:"elements",guardCondition:"guardCondition",predicate:"predicate"};function Nl(t){return Z.isInstance(t,cr.$type)}const xo={$type:"InferredType",name:"name"};function zf(t){return Z.isInstance(t,xo.$type)}const Vt={$type:"InfixRule",call:"call",dataType:"dataType",inferredType:"inferredType",name:"name",operators:"operators",parameters:"parameters",returnType:"returnType"};function aa(t){return Z.isInstance(t,Vt.$type)}const co={$type:"InfixRuleOperatorList",associativity:"associativity",operators:"operators"},ru={$type:"InfixRuleOperators",precedences:"precedences"},Pi={$type:"Interface",attributes:"attributes",name:"name",superTypes:"superTypes"};function Gm(t){return Z.isInstance(t,Pi.$type)}const Li={$type:"Keyword",cardinality:"cardinality",predicate:"predicate",value:"value"};function qn(t){return Z.isInstance(t,Li.$type)}const Ps={$type:"NamedArgument",calledByName:"calledByName",parameter:"parameter",value:"value"},lr={$type:"NegatedToken",cardinality:"cardinality",lookahead:"lookahead",parenthesized:"parenthesized",terminal:"terminal"};function Um(t){return Z.isInstance(t,lr.$type)}const Do={$type:"Negation",value:"value"};function jm(t){return Z.isInstance(t,Do.$type)}const iu={$type:"NumberLiteral",value:"value"},Ls={$type:"Parameter",name:"name"},Mo={$type:"ParameterReference",parameter:"parameter"};function zm(t){return Z.isInstance(t,Mo.$type)}const Lt={$type:"ParserRule",dataType:"dataType",definition:"definition",entry:"entry",fragment:"fragment",inferredType:"inferredType",name:"name",parameters:"parameters",returnType:"returnType"};function an(t){return Z.isInstance(t,Lt.$type)}const lo={$type:"ReferenceType",isMulti:"isMulti",referenceType:"referenceType"},ur={$type:"RegexToken",cardinality:"cardinality",lookahead:"lookahead",parenthesized:"parenthesized",regex:"regex"};function Bm(t){return Z.isInstance(t,ur.$type)}const Fo={$type:"ReturnType",name:"name"};function qm(t){return Z.isInstance(t,Fo.$type)}const dr={$type:"RuleCall",arguments:"arguments",cardinality:"cardinality",predicate:"predicate",rule:"rule"};function Wn(t){return Z.isInstance(t,dr.$type)}const Oi={$type:"SimpleType",primitiveType:"primitiveType",stringType:"stringType",typeRef:"typeRef"};function Wm(t){return Z.isInstance(t,Oi.$type)}const su={$type:"StringLiteral",value:"value"},fr={$type:"TerminalAlternatives",cardinality:"cardinality",elements:"elements",lookahead:"lookahead",parenthesized:"parenthesized"};function Vm(t){return Z.isInstance(t,fr.$type)}const pt={$type:"TerminalElement",cardinality:"cardinality",lookahead:"lookahead",parenthesized:"parenthesized"},hr={$type:"TerminalGroup",cardinality:"cardinality",elements:"elements",lookahead:"lookahead",parenthesized:"parenthesized"};function Km(t){return Z.isInstance(t,hr.$type)}const fn={$type:"TerminalRule",definition:"definition",fragment:"fragment",hidden:"hidden",name:"name",type:"type"};function on(t){return Z.isInstance(t,fn.$type)}const pr={$type:"TerminalRuleCall",cardinality:"cardinality",lookahead:"lookahead",parenthesized:"parenthesized",rule:"rule"};function Hm(t){return Z.isInstance(t,pr.$type)}const Hs={$type:"Type",name:"name",type:"type"};function Ym(t){return Z.isInstance(t,Hs.$type)}const Ei={$type:"TypeAttribute",defaultValue:"defaultValue",isOptional:"isOptional",name:"name",type:"type"},Ai={$type:"TypeDefinition"},au={$type:"UnionType",types:"types"},Ys={$type:"UnorderedGroup",cardinality:"cardinality",elements:"elements"};function Bf(t){return Z.isInstance(t,Ys.$type)}const mr={$type:"UntilToken",cardinality:"cardinality",lookahead:"lookahead",parenthesized:"parenthesized",terminal:"terminal"};function Xm(t){return Z.isInstance(t,mr.$type)}const Si={$type:"ValueLiteral"},xi={$type:"Wildcard",cardinality:"cardinality",lookahead:"lookahead",parenthesized:"parenthesized"};function Jm(t){return Z.isInstance(t,xi.$type)}class qf extends Df{constructor(){super(...arguments),this.types={AbstractElement:{name:at.$type,properties:{cardinality:{name:at.cardinality}},superTypes:[]},AbstractParserRule:{name:qs.$type,properties:{},superTypes:[$s.$type,At.$type]},AbstractRule:{name:$s.$type,properties:{},superTypes:[]},AbstractType:{name:At.$type,properties:{},superTypes:[]},Action:{name:On.$type,properties:{cardinality:{name:On.cardinality},feature:{name:On.feature},inferredType:{name:On.inferredType},operator:{name:On.operator},type:{name:On.type,referenceType:At.$type}},superTypes:[at.$type]},Alternatives:{name:Ws.$type,properties:{cardinality:{name:Ws.cardinality},elements:{name:Ws.elements,defaultValue:[]}},superTypes:[at.$type]},ArrayLiteral:{name:eu.$type,properties:{elements:{name:eu.elements,defaultValue:[]}},superTypes:[Si.$type]},ArrayType:{name:tu.$type,properties:{elementType:{name:tu.elementType}},superTypes:[Ai.$type]},Assignment:{name:xn.$type,properties:{cardinality:{name:xn.cardinality},feature:{name:xn.feature},operator:{name:xn.operator},predicate:{name:xn.predicate},terminal:{name:xn.terminal}},superTypes:[at.$type]},BooleanLiteral:{name:Lo.$type,properties:{true:{name:Lo.true,defaultValue:!1}},superTypes:[nr.$type,Si.$type]},CharacterRange:{name:Dn.$type,properties:{cardinality:{name:Dn.cardinality},left:{name:Dn.left},lookahead:{name:Dn.lookahead},parenthesized:{name:Dn.parenthesized,defaultValue:!1},right:{name:Dn.right}},superTypes:[pt.$type]},Condition:{name:nr.$type,properties:{},superTypes:[]},Conjunction:{name:Vs.$type,properties:{left:{name:Vs.left},right:{name:Vs.right}},superTypes:[nr.$type]},CrossReference:{name:Mn.$type,properties:{cardinality:{name:Mn.cardinality},deprecatedSyntax:{name:Mn.deprecatedSyntax,defaultValue:!1},isMulti:{name:Mn.isMulti,defaultValue:!1},terminal:{name:Mn.terminal},type:{name:Mn.type,referenceType:At.$type}},superTypes:[at.$type]},Disjunction:{name:Ks.$type,properties:{left:{name:Ks.left},right:{name:Ks.right}},superTypes:[nr.$type]},EndOfFile:{name:Oo.$type,properties:{cardinality:{name:Oo.cardinality}},superTypes:[at.$type]},Grammar:{name:$n.$type,properties:{imports:{name:$n.imports,defaultValue:[]},interfaces:{name:$n.interfaces,defaultValue:[]},isDeclared:{name:$n.isDeclared,defaultValue:!1},name:{name:$n.name},rules:{name:$n.rules,defaultValue:[]},types:{name:$n.types,defaultValue:[]}},superTypes:[]},GrammarImport:{name:nu.$type,properties:{path:{name:nu.path}},superTypes:[]},Group:{name:cr.$type,properties:{cardinality:{name:cr.cardinality},elements:{name:cr.elements,defaultValue:[]},guardCondition:{name:cr.guardCondition},predicate:{name:cr.predicate}},superTypes:[at.$type]},InferredType:{name:xo.$type,properties:{name:{name:xo.name}},superTypes:[At.$type]},InfixRule:{name:Vt.$type,properties:{call:{name:Vt.call},dataType:{name:Vt.dataType},inferredType:{name:Vt.inferredType},name:{name:Vt.name},operators:{name:Vt.operators},parameters:{name:Vt.parameters,defaultValue:[]},returnType:{name:Vt.returnType,referenceType:At.$type}},superTypes:[qs.$type]},InfixRuleOperatorList:{name:co.$type,properties:{associativity:{name:co.associativity},operators:{name:co.operators,defaultValue:[]}},superTypes:[]},InfixRuleOperators:{name:ru.$type,properties:{precedences:{name:ru.precedences,defaultValue:[]}},superTypes:[]},Interface:{name:Pi.$type,properties:{attributes:{name:Pi.attributes,defaultValue:[]},name:{name:Pi.name},superTypes:{name:Pi.superTypes,defaultValue:[],referenceType:At.$type}},superTypes:[At.$type]},Keyword:{name:Li.$type,properties:{cardinality:{name:Li.cardinality},predicate:{name:Li.predicate},value:{name:Li.value}},superTypes:[at.$type]},NamedArgument:{name:Ps.$type,properties:{calledByName:{name:Ps.calledByName,defaultValue:!1},parameter:{name:Ps.parameter,referenceType:Ls.$type},value:{name:Ps.value}},superTypes:[]},NegatedToken:{name:lr.$type,properties:{cardinality:{name:lr.cardinality},lookahead:{name:lr.lookahead},parenthesized:{name:lr.parenthesized,defaultValue:!1},terminal:{name:lr.terminal}},superTypes:[pt.$type]},Negation:{name:Do.$type,properties:{value:{name:Do.value}},superTypes:[nr.$type]},NumberLiteral:{name:iu.$type,properties:{value:{name:iu.value}},superTypes:[Si.$type]},Parameter:{name:Ls.$type,properties:{name:{name:Ls.name}},superTypes:[]},ParameterReference:{name:Mo.$type,properties:{parameter:{name:Mo.parameter,referenceType:Ls.$type}},superTypes:[nr.$type]},ParserRule:{name:Lt.$type,properties:{dataType:{name:Lt.dataType},definition:{name:Lt.definition},entry:{name:Lt.entry,defaultValue:!1},fragment:{name:Lt.fragment,defaultValue:!1},inferredType:{name:Lt.inferredType},name:{name:Lt.name},parameters:{name:Lt.parameters,defaultValue:[]},returnType:{name:Lt.returnType,referenceType:At.$type}},superTypes:[qs.$type]},ReferenceType:{name:lo.$type,properties:{isMulti:{name:lo.isMulti,defaultValue:!1},referenceType:{name:lo.referenceType}},superTypes:[Ai.$type]},RegexToken:{name:ur.$type,properties:{cardinality:{name:ur.cardinality},lookahead:{name:ur.lookahead},parenthesized:{name:ur.parenthesized,defaultValue:!1},regex:{name:ur.regex}},superTypes:[pt.$type]},ReturnType:{name:Fo.$type,properties:{name:{name:Fo.name}},superTypes:[]},RuleCall:{name:dr.$type,properties:{arguments:{name:dr.arguments,defaultValue:[]},cardinality:{name:dr.cardinality},predicate:{name:dr.predicate},rule:{name:dr.rule,referenceType:$s.$type}},superTypes:[at.$type]},SimpleType:{name:Oi.$type,properties:{primitiveType:{name:Oi.primitiveType},stringType:{name:Oi.stringType},typeRef:{name:Oi.typeRef,referenceType:At.$type}},superTypes:[Ai.$type]},StringLiteral:{name:su.$type,properties:{value:{name:su.value}},superTypes:[Si.$type]},TerminalAlternatives:{name:fr.$type,properties:{cardinality:{name:fr.cardinality},elements:{name:fr.elements,defaultValue:[]},lookahead:{name:fr.lookahead},parenthesized:{name:fr.parenthesized,defaultValue:!1}},superTypes:[pt.$type]},TerminalElement:{name:pt.$type,properties:{cardinality:{name:pt.cardinality},lookahead:{name:pt.lookahead},parenthesized:{name:pt.parenthesized,defaultValue:!1}},superTypes:[at.$type]},TerminalGroup:{name:hr.$type,properties:{cardinality:{name:hr.cardinality},elements:{name:hr.elements,defaultValue:[]},lookahead:{name:hr.lookahead},parenthesized:{name:hr.parenthesized,defaultValue:!1}},superTypes:[pt.$type]},TerminalRule:{name:fn.$type,properties:{definition:{name:fn.definition},fragment:{name:fn.fragment,defaultValue:!1},hidden:{name:fn.hidden,defaultValue:!1},name:{name:fn.name},type:{name:fn.type}},superTypes:[$s.$type]},TerminalRuleCall:{name:pr.$type,properties:{cardinality:{name:pr.cardinality},lookahead:{name:pr.lookahead},parenthesized:{name:pr.parenthesized,defaultValue:!1},rule:{name:pr.rule,referenceType:fn.$type}},superTypes:[pt.$type]},Type:{name:Hs.$type,properties:{name:{name:Hs.name},type:{name:Hs.type}},superTypes:[At.$type]},TypeAttribute:{name:Ei.$type,properties:{defaultValue:{name:Ei.defaultValue},isOptional:{name:Ei.isOptional,defaultValue:!1},name:{name:Ei.name},type:{name:Ei.type}},superTypes:[]},TypeDefinition:{name:Ai.$type,properties:{},superTypes:[]},UnionType:{name:au.$type,properties:{types:{name:au.types,defaultValue:[]}},superTypes:[Ai.$type]},UnorderedGroup:{name:Ys.$type,properties:{cardinality:{name:Ys.cardinality},elements:{name:Ys.elements,defaultValue:[]}},superTypes:[at.$type]},UntilToken:{name:mr.$type,properties:{cardinality:{name:mr.cardinality},lookahead:{name:mr.lookahead},parenthesized:{name:mr.parenthesized,defaultValue:!1},terminal:{name:mr.terminal}},superTypes:[pt.$type]},ValueLiteral:{name:Si.$type,properties:{},superTypes:[]},Wildcard:{name:xi.$type,properties:{cardinality:{name:xi.cardinality},lookahead:{name:xi.lookahead},parenthesized:{name:xi.parenthesized,defaultValue:!1}},superTypes:[pt.$type]}}}}const Z=new qf;function Go(t){return new Cl(t,e=>qi(e)?e.content:[],{includeRoot:!0})}function Qm(t,e){for(;t.container;)if(t=t.container,t===e)return!0;return!1}function Uo(t){return{start:{character:t.startColumn-1,line:t.startLine-1},end:{character:t.endColumn,line:t.endLine-1}}}function oa(t){if(!t)return;const{offset:e,end:n,range:r}=t;return{range:r,offset:e,end:n,length:n-e}}var Xt;(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"})(Xt||(Xt={}));function Zm(t,e){if(t.end.line<e.start.line||t.end.line===e.start.line&&t.end.character<=e.start.character)return Xt.Before;if(t.start.line>e.end.line||t.start.line===e.end.line&&t.start.character>=e.end.character)return Xt.After;const n=t.start.line>e.start.line||t.start.line===e.start.line&&t.start.character>=e.start.character,r=t.end.line<e.end.line||t.end.line===e.end.line&&t.end.character<=e.end.character;return n&&r?Xt.Inside:n?Xt.OverlapBack:r?Xt.OverlapFront:Xt.Outside}function eg(t,e){return Zm(t,e)>Xt.After}const tg=/^[\w\p{L}]$/u;function ng(t,e){if(t){const n=rg(t,!0);if(n&&ou(n,e))return n;if(Ff(t)){const r=t.content.findIndex(i=>!i.hidden);for(let i=r-1;i>=0;i--){const s=t.content[i];if(ou(s,e))return s}}}}function ou(t,e){return Mf(t)&&e.includes(t.tokenType.name)}function rg(t,e=!0){for(;t.container;){const n=t.container;let r=n.content.indexOf(t);for(;r>0;){r--;const i=n.content[r];if(e||!i.hidden)return i}t=n}}class Wf extends Error{constructor(e,n){super(e?`${n} at ${e.range.start.line}:${e.range.start.character}`:n)}}function os(t,e="Error: Got unexpected value."){throw new Error(e)}function W(t){return t.charCodeAt(0)}function uo(t,e){Array.isArray(t)?t.forEach(function(n){e.push(n)}):e.push(t)}function Ci(t,e){if(t[e]===!0)throw"duplicate flag "+e;t[e],t[e]=!0}function rr(t){if(t===void 0)throw Error("Internal Error - Should never get here!");return!0}function ig(){throw Error("Internal Error - Should never get here!")}function cu(t){return t.type==="Character"}const ca=[];for(let t=W("0");t<=W("9");t++)ca.push(t);const la=[W("_")].concat(ca);for(let t=W("a");t<=W("z");t++)la.push(t);for(let t=W("A");t<=W("Z");t++)la.push(t);const lu=[W(" "),W("\f"),W(`
2
+ `),W("\r"),W(" "),W("\v"),W(" "),W(" "),W(" "),W(" "),W(" "),W(" "),W(" "),W(" "),W(" "),W(" "),W(" "),W(" "),W(" "),W(" "),W("\u2028"),W("\u2029"),W(" "),W(" "),W(" "),W("\uFEFF")],sg=/[0-9a-fA-F]/,Os=/[0-9]/,ag=/[1-9]/;class Vf{constructor(){this.idx=0,this.input="",this.groupIdx=0}saveState(){return{idx:this.idx,input:this.input,groupIdx:this.groupIdx}}restoreState(e){this.idx=e.idx,this.input=e.input,this.groupIdx=e.groupIdx}pattern(e){this.idx=0,this.input=e,this.groupIdx=0,this.consumeChar("/");const n=this.disjunction();this.consumeChar("/");const r={type:"Flags",loc:{begin:this.idx,end:e.length},global:!1,ignoreCase:!1,multiLine:!1,unicode:!1,sticky:!1};for(;this.isRegExpFlag();)switch(this.popChar()){case"g":Ci(r,"global");break;case"i":Ci(r,"ignoreCase");break;case"m":Ci(r,"multiLine");break;case"u":Ci(r,"unicode");break;case"y":Ci(r,"sticky");break}if(this.idx!==this.input.length)throw Error("Redundant input: "+this.input.substring(this.idx));return{type:"Pattern",flags:r,value:n,loc:this.loc(0)}}disjunction(){const e=[],n=this.idx;for(e.push(this.alternative());this.peekChar()==="|";)this.consumeChar("|"),e.push(this.alternative());return{type:"Disjunction",value:e,loc:this.loc(n)}}alternative(){const e=[],n=this.idx;for(;this.isTerm();)e.push(this.term());return{type:"Alternative",value:e,loc:this.loc(n)}}term(){return this.isAssertion()?this.assertion():this.atom()}assertion(){const e=this.idx;switch(this.popChar()){case"^":return{type:"StartAnchor",loc:this.loc(e)};case"$":return{type:"EndAnchor",loc:this.loc(e)};case"\\":switch(this.popChar()){case"b":return{type:"WordBoundary",loc:this.loc(e)};case"B":return{type:"NonWordBoundary",loc:this.loc(e)}}throw Error("Invalid Assertion Escape");case"(":this.consumeChar("?");let n;switch(this.popChar()){case"=":n="Lookahead";break;case"!":n="NegativeLookahead";break;case"<":{switch(this.popChar()){case"=":n="Lookbehind";break;case"!":n="NegativeLookbehind"}break}}rr(n);const r=this.disjunction();return this.consumeChar(")"),{type:n,value:r,loc:this.loc(e)}}return ig()}quantifier(e=!1){let n;const r=this.idx;switch(this.popChar()){case"*":n={atLeast:0,atMost:1/0};break;case"+":n={atLeast:1,atMost:1/0};break;case"?":n={atLeast:0,atMost:1};break;case"{":const i=this.integerIncludingZero();switch(this.popChar()){case"}":n={atLeast:i,atMost:i};break;case",":let s;this.isDigit()?(s=this.integerIncludingZero(),n={atLeast:i,atMost:s}):n={atLeast:i,atMost:1/0},this.consumeChar("}");break}if(e===!0&&n===void 0)return;rr(n);break}if(!(e===!0&&n===void 0)&&rr(n))return this.peekChar(0)==="?"?(this.consumeChar("?"),n.greedy=!1):n.greedy=!0,n.type="Quantifier",n.loc=this.loc(r),n}atom(){let e;const n=this.idx;switch(this.peekChar()){case".":e=this.dotAll();break;case"\\":e=this.atomEscape();break;case"[":e=this.characterClass();break;case"(":e=this.group();break}if(e===void 0&&this.isPatternCharacter()&&(e=this.patternCharacter()),rr(e))return e.loc=this.loc(n),this.isQuantifier()&&(e.quantifier=this.quantifier()),e}dotAll(){return this.consumeChar("."),{type:"Set",complement:!0,value:[W(`
3
+ `),W("\r"),W("\u2028"),W("\u2029")]}}atomEscape(){switch(this.consumeChar("\\"),this.peekChar()){case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":return this.decimalEscapeAtom();case"d":case"D":case"s":case"S":case"w":case"W":return this.characterClassEscape();case"f":case"n":case"r":case"t":case"v":return this.controlEscapeAtom();case"c":return this.controlLetterEscapeAtom();case"0":return this.nulCharacterAtom();case"x":return this.hexEscapeSequenceAtom();case"u":return this.regExpUnicodeEscapeSequenceAtom();default:return this.identityEscapeAtom()}}decimalEscapeAtom(){return{type:"GroupBackReference",value:this.positiveInteger()}}characterClassEscape(){let e,n=!1;switch(this.popChar()){case"d":e=ca;break;case"D":e=ca,n=!0;break;case"s":e=lu;break;case"S":e=lu,n=!0;break;case"w":e=la;break;case"W":e=la,n=!0;break}if(rr(e))return{type:"Set",value:e,complement:n}}controlEscapeAtom(){let e;switch(this.popChar()){case"f":e=W("\f");break;case"n":e=W(`
4
+ `);break;case"r":e=W("\r");break;case"t":e=W(" ");break;case"v":e=W("\v");break}if(rr(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:W("\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:W(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:W(e)}}}characterClass(){const e=[];let n=!1;for(this.consumeChar("["),this.peekChar(0)==="^"&&(this.consumeChar("^"),n=!0);this.isClassAtom();){const r=this.classAtom();if(r.type,cu(r)&&this.isRangeDash()){this.consumeChar("-");const i=this.classAtom();if(i.type,cu(i)){if(i.value<r.value)throw Error("Range out of order in character class");e.push({from:r.value,to:i.value})}else uo(r.value,e),e.push(W("-")),uo(i.value,e)}else uo(r.value,e)}return this.consumeChar("]"),{type:"Set",complement:n,value:e}}classAtom(){switch(this.peekChar()){case"]":case`
6
+ `:case"\r":case"\u2028":case"\u2029":throw Error("TBD");case"\\":return this.classEscape();default:return this.classPatternCharacterAtom()}}classEscape(){switch(this.consumeChar("\\"),this.peekChar()){case"b":return this.consumeChar("b"),{type:"Character",value:W("\b")};case"d":case"D":case"s":case"S":case"w":case"W":return this.characterClassEscape();case"f":case"n":case"r":case"t":case"v":return this.controlEscapeAtom();case"c":return this.controlLetterEscapeAtom();case"0":return this.nulCharacterAtom();case"x":return this.hexEscapeSequenceAtom();case"u":return this.regExpUnicodeEscapeSequenceAtom();default:return this.identityEscapeAtom()}}group(){let e=!0;switch(this.consumeChar("("),this.peekChar(0)){case"?":this.consumeChar("?"),this.consumeChar(":"),e=!1;break;default:this.groupIdx++;break}const n=this.disjunction();this.consumeChar(")");const r={type:"Group",capturing:e,value:n};return e&&(r.idx=this.groupIdx),r}positiveInteger(){let e=this.popChar();if(ag.test(e)===!1)throw Error("Expecting a positive integer");for(;Os.test(this.peekChar(0));)e+=this.popChar();return parseInt(e,10)}integerIncludingZero(){let e=this.popChar();if(Os.test(e)===!1)throw Error("Expecting an integer");for(;Os.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:W(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 Os.test(this.peekChar(0))}isClassAtom(e=0){switch(this.peekChar(e)){case"]":case`
8
+ `:case"\r":case"\u2028":case"\u2029":return!1;default:return!0}}isTerm(){return this.isAtom()||this.isAssertion()}isAtom(){if(this.isPatternCharacter())return!0;switch(this.peekChar(0)){case".":case"\\":case"[":case"(":return!0;default:return!1}}isAssertion(){switch(this.peekChar(0)){case"^":case"$":return!0;case"\\":switch(this.peekChar(1)){case"b":case"B":return!0;default:return!1}case"(":return this.peekChar(1)==="?"&&(this.peekChar(2)==="="||this.peekChar(2)==="!"||this.peekChar(2)==="<"&&(this.peekChar(3)==="="||this.peekChar(3)==="!"));default:return!1}}isQuantifier(){const e=this.saveState();try{return this.quantifier(!0)!==void 0}catch{return!1}finally{this.restoreState(e)}}isPatternCharacter(){switch(this.peekChar()){case"^":case"$":case"\\":case".":case"*":case"+":case"?":case"(":case")":case"[":case"|":case"/":case`
9
+ `:case"\r":case"\u2028":case"\u2029":return!1;default:return!0}}parseHexDigits(e){let n="";for(let i=0;i<e;i++){const s=this.popChar();if(sg.test(s)===!1)throw Error("Expecting a HexDecimal digits");n+=s}return{type:"Character",value:parseInt(n,16)}}peekChar(e=0){return this.input[this.idx+e]}popChar(){const e=this.peekChar(0);return this.consumeChar(void 0),e}consumeChar(e){if(e!==void 0&&this.input[this.idx]!==e)throw Error("Expected: '"+e+"' but found: '"+this.input[this.idx]+"' at offset: "+this.idx);if(this.idx>=this.input.length)throw Error("Unexpected end of input");this.idx++}loc(e){return{begin:e,end:this.idx}}}class Ga{visitChildren(e){for(const n in e){const r=e[n];e.hasOwnProperty(n)&&(r.type!==void 0?this.visit(r):Array.isArray(r)&&r.forEach(i=>{this.visit(i)},this))}}visit(e){switch(e.type){case"Pattern":this.visitPattern(e);break;case"Flags":this.visitFlags(e);break;case"Disjunction":this.visitDisjunction(e);break;case"Alternative":this.visitAlternative(e);break;case"StartAnchor":this.visitStartAnchor(e);break;case"EndAnchor":this.visitEndAnchor(e);break;case"WordBoundary":this.visitWordBoundary(e);break;case"NonWordBoundary":this.visitNonWordBoundary(e);break;case"Lookahead":this.visitLookahead(e);break;case"NegativeLookahead":this.visitNegativeLookahead(e);break;case"Lookbehind":this.visitLookbehind(e);break;case"NegativeLookbehind":this.visitNegativeLookbehind(e);break;case"Character":this.visitCharacter(e);break;case"Set":this.visitSet(e);break;case"Group":this.visitGroup(e);break;case"GroupBackReference":this.visitGroupBackReference(e);break;case"Quantifier":this.visitQuantifier(e);break}this.visitChildren(e)}visitPattern(e){}visitFlags(e){}visitDisjunction(e){}visitAlternative(e){}visitStartAnchor(e){}visitEndAnchor(e){}visitWordBoundary(e){}visitNonWordBoundary(e){}visitLookahead(e){}visitNegativeLookahead(e){}visitLookbehind(e){}visitNegativeLookbehind(e){}visitCharacter(e){}visitSet(e){}visitGroup(e){}visitGroupBackReference(e){}visitQuantifier(e){}}const og=/\r?\n/gm,cg=new Vf;class lg extends Ga{constructor(){super(...arguments),this.isStarting=!0,this.endRegexpStack=[],this.multiline=!1}get endRegex(){return this.endRegexpStack.join("")}reset(e){this.multiline=!1,this.regex=e,this.startRegexp="",this.isStarting=!0,this.endRegexpStack=[]}visitGroup(e){e.quantifier&&(this.isStarting=!1,this.endRegexpStack=[])}visitCharacter(e){const n=String.fromCharCode(e.value);if(!this.multiline&&n===`
10
+ `&&(this.multiline=!0),e.quantifier)this.isStarting=!1,this.endRegexpStack=[];else{const r=Ua(n);this.endRegexpStack.push(r),this.isStarting&&(this.startRegexp+=r)}}visitSet(e){if(!this.multiline){const n=this.regex.substring(e.loc.begin,e.loc.end),r=new RegExp(n);this.multiline=!!`
11
+ `.match(r)}if(e.quantifier)this.isStarting=!1,this.endRegexpStack=[];else{const n=this.regex.substring(e.loc.begin,e.loc.end);this.endRegexpStack.push(n),this.isStarting&&(this.startRegexp+=n)}}visitChildren(e){e.type==="Group"&&e.quantifier||super.visitChildren(e)}}const fo=new lg;function ug(t){try{return typeof t=="string"&&(t=new RegExp(t)),t=t.toString(),fo.reset(t),fo.visit(cg.pattern(t)),fo.multiline}catch{return!1}}const dg=`\f
12
+ \r \v              \u2028\u2029   \uFEFF`.split("");function Kf(t){const e=typeof t=="string"?new RegExp(t):t;return dg.some(n=>e.test(n))}function Ua(t){return t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function fg(t,e){const n=hg(t),r=e.match(n);return!!r&&r[0].length>0}function hg(t){typeof t=="string"&&(t=new RegExp(t));const e=t,n=t.source;let r=0;function i(){let s="",a;function o(l){s+=n.substr(r,l),r+=l}function c(l){s+="(?:"+n.substr(r,l)+"|$)",r+=l}for(;r<n.length;)switch(n[r]){case"\\":switch(n[r+1]){case"c":c(3);break;case"x":c(4);break;case"u":e.unicode?n[r+2]==="{"?c(n.indexOf("}",r)-r+1):c(6):c(2);break;case"p":case"P":e.unicode?c(n.indexOf("}",r)-r+1):c(2);break;case"k":c(n.indexOf(">",r)-r+1);break;default:c(2);break}break;case"[":a=/\[(?:\\.|.)*?\]/g,a.lastIndex=r,a=a.exec(n)||[],c(a[0].length);break;case"|":case"^":case"$":case"*":case"+":case"?":o(1);break;case"{":a=/\{\d+,?\d*\}/g,a.lastIndex=r,a=a.exec(n),a?o(a[0].length):c(1);break;case"(":if(n[r+1]==="?")switch(n[r+2]){case":":s+="(?:",r+=3,s+=i()+"|$)";break;case"=":s+="(?=",r+=3,s+=i()+")";break;case"!":a=r,r+=3,i(),s+=n.substr(a,r-a);break;case"<":switch(n[r+3]){case"=":case"!":a=r,r+=4,i(),s+=n.substr(a,r-a);break;default:o(n.indexOf(">",r)-r+1),s+=i()+"|$)";break}break}else o(1),s+=i()+"|$)";break;case")":return++r,s;default:c(1);break}return s}return new RegExp(i(),t.flags)}function pg(t){return t.rules.find(e=>an(e)&&e.entry)}function mg(t){return t.rules.filter(e=>on(e)&&e.hidden)}function Hf(t,e){const n=new Set,r=pg(t);if(!r)return new Set(t.rules);const i=[r].concat(mg(t));for(const a of i)Yf(a,n,e);const s=new Set;for(const a of t.rules)(n.has(a.name)||on(a)&&a.hidden)&&s.add(a);return s}function Yf(t,e,n){e.add(t.name),ss(t).forEach(r=>{if(Wn(r)||n){const i=r.rule.ref;i&&!e.has(i.name)&&Yf(i,e,n)}})}function gg(t){if(t.terminal)return t.terminal;if(t.type.ref){const e=Jf(t.type.ref);return e==null?void 0:e.terminal}}function yg(t){return t.hidden&&!Kf(bl(t))}function Tg(t,e){return!t||!e?[]:wl(t,e,t.astNode,!0)}function Xf(t,e,n){if(!t||!e)return;const r=wl(t,e,t.astNode,!0);if(r.length!==0)return n!==void 0?n=Math.max(0,Math.min(n,r.length-1)):n=0,r[n]}function wl(t,e,n,r){if(!r){const i=Da(t.grammarSource,Bn);if(i&&i.feature===e)return[t]}return qi(t)&&t.astNode===n?t.content.flatMap(i=>wl(i,e,n,!1)):[]}function Rg(t,e,n){if(!t)return;const r=vg(t,e,t==null?void 0:t.astNode);if(r.length!==0)return n!==void 0?n=Math.max(0,Math.min(n,r.length-1)):n=0,r[n]}function vg(t,e,n){if(t.astNode!==n)return[];if(qn(t.grammarSource)&&t.grammarSource.value===e)return[t];const r=Go(t).iterator();let i;const s=[];do if(i=r.next(),!i.done){const a=i.value;a.astNode===n?qn(a.grammarSource)&&a.grammarSource.value===e&&s.push(a):r.prune()}while(!i.done);return s}function Eg(t){var n;const e=t.astNode;for(;e===((n=t.container)==null?void 0:n.astNode);){const r=Da(t.grammarSource,Bn);if(r)return r;t=t.container}}function Jf(t){let e=t;return zf(e)&&(Ma(e.$container)?e=e.$container.$container:as(e.$container)?e=e.$container:os(e.$container)),Qf(t,e,new Map)}function Qf(t,e,n){var i;function r(s,a){let o;return Da(s,Bn)||(o=Qf(a,a,n)),n.set(t,o),o}if(n.has(t))return n.get(t);n.set(t,void 0);for(const s of ss(e)){if(Bn(s)&&s.feature.toLowerCase()==="name")return n.set(t,s),s;if(Wn(s)&&an(s.rule.ref))return r(s,s.rule.ref);if(Wm(s)&&((i=s.typeRef)!=null&&i.ref))return r(s,s.typeRef.ref)}}function Zf(t){return eh(t,new Set)}function eh(t,e){if(e.has(t))return!0;e.add(t);for(const n of ss(t))if(Wn(n)){if(!n.rule.ref||an(n.rule.ref)&&!eh(n.rule.ref,e)||aa(n.rule.ref))return!1}else{if(Bn(n))return!1;if(Ma(n))return!1}return!!t.definition}function th(t){if(!on(t)){if(t.inferredType)return t.inferredType.name;if(t.dataType)return t.dataType;if(t.returnType){const e=t.returnType.ref;if(e)return e.name}}}function Wi(t){if(as(t))return an(t)&&Zf(t)?t.name:th(t)??t.name;if(Gm(t)||Ym(t)||qm(t))return t.name;if(Ma(t)){const e=Ag(t);if(e)return e}else if(zf(t))return t.name;throw new Error("Cannot get name of Unknown Type")}function Ag(t){var e;if(t.inferredType)return t.inferredType.name;if((e=t.type)!=null&&e.ref)return Wi(t.type.ref)}function Sg(t){var e;return on(t)?((e=t.type)==null?void 0:e.name)??"string":th(t)??t.name}function bl(t){const e={s:!1,i:!1,u:!1},n=si(t.definition,e),r=Object.entries(e).filter(([,i])=>i).map(([i])=>i).join("");return new RegExp(n,r)}const _l=/[\s\S]/.source;function si(t,e){var n;if(Vm(t))return Cg(t);if(Km(t))return kg(t);if(xm(t))return bg(t);if(Hm(t)){const r=t.rule.ref;if(!r)throw new Error("Missing rule reference.");return en(si(r.definition),{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized})}else{if(Um(t))return wg(t);if(Xm(t))return Ng(t);if(Bm(t)){const r=t.regex.lastIndexOf("/"),i=t.regex.substring(1,r),s=t.regex.substring(r+1);return e&&(e.i=s.includes("i"),e.s=s.includes("s"),e.u=s.includes("u")),en(i,{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized,wrap:!1})}else{if(Jm(t))return en(_l,{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized});throw new Error(`Invalid terminal element: ${t==null?void 0:t.$type}, ${(n=t==null?void 0:t.$cstNode)==null?void 0:n.text}`)}}}function Cg(t){return en(t.elements.map(e=>si(e)).join("|"),{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized,wrap:!1})}function kg(t){return en(t.elements.map(e=>si(e)).join(""),{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized,wrap:!1})}function Ng(t){return en(`${_l}*?${si(t.terminal)}`,{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized})}function wg(t){return en(`(?!${si(t.terminal)})${_l}*?`,{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized})}function bg(t){return t.right?en(`[${ho(t.left)}-${ho(t.right)}]`,{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized,wrap:!1}):en(ho(t.left),{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized,wrap:!1})}function ho(t){return Ua(t.value)}function en(t,e){return(e.parenthesized||e.lookahead||e.wrap!==!1)&&(t=`(${e.lookahead??(e.parenthesized?"":"?:")}${t})`),e.cardinality?`${t}${e.cardinality}`:t}function _g(t){const e=[],n=t.Grammar;for(const r of n.rules)on(r)&&yg(r)&&ug(bl(r))&&e.push(r.name);return{multilineCommentRules:e,nameRegexp:tg}}function jo(t){console&&console.error&&console.error(`Error: ${t}`)}function nh(t){console&&console.warn&&console.warn(`Warning: ${t}`)}function rh(t){const e=new Date().getTime(),n=t();return{time:new Date().getTime()-e,value:n}}function ih(t){function e(){}e.prototype=t;const n=new e;function r(){return typeof n.bar}return r(),r(),t}function Ig(t){return $g(t)?t.LABEL:t.name}function $g(t){return tt(t.LABEL)&&t.LABEL!==""}class Ut{get definition(){return this._definition}set definition(e){this._definition=e}constructor(e){this._definition=e}accept(e){e.visit(this),j(this.definition,n=>{n.accept(e)})}}class Xe extends Ut{constructor(e){super([]),this.idx=1,ut(this,_t(e,n=>n!==void 0))}set definition(e){}get definition(){return this.referencedRule!==void 0?this.referencedRule.definition:[]}accept(e){e.visit(this)}}class ai extends Ut{constructor(e){super(e.definition),this.orgText="",ut(this,_t(e,n=>n!==void 0))}}class nt extends Ut{constructor(e){super(e.definition),this.ignoreAmbiguities=!1,ut(this,_t(e,n=>n!==void 0))}}let ze=class extends Ut{constructor(e){super(e.definition),this.idx=1,ut(this,_t(e,n=>n!==void 0))}};class ft extends Ut{constructor(e){super(e.definition),this.idx=1,ut(this,_t(e,n=>n!==void 0))}}class ht extends Ut{constructor(e){super(e.definition),this.idx=1,ut(this,_t(e,n=>n!==void 0))}}class Ae extends Ut{constructor(e){super(e.definition),this.idx=1,ut(this,_t(e,n=>n!==void 0))}}class rt extends Ut{constructor(e){super(e.definition),this.idx=1,ut(this,_t(e,n=>n!==void 0))}}class it extends Ut{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,ut(this,_t(e,n=>n!==void 0))}}class ue{constructor(e){this.idx=1,ut(this,_t(e,n=>n!==void 0))}accept(e){e.visit(this)}}function Pg(t){return M(t,Xs)}function Xs(t){function e(n){return M(n,Xs)}if(t instanceof Xe){const n={type:"NonTerminal",name:t.nonTerminalName,idx:t.idx};return tt(t.label)&&(n.label=t.label),n}else{if(t instanceof nt)return{type:"Alternative",definition:e(t.definition)};if(t instanceof ze)return{type:"Option",idx:t.idx,definition:e(t.definition)};if(t instanceof ft)return{type:"RepetitionMandatory",idx:t.idx,definition:e(t.definition)};if(t instanceof ht)return{type:"RepetitionMandatoryWithSeparator",idx:t.idx,separator:Xs(new ue({terminalType:t.separator})),definition:e(t.definition)};if(t instanceof rt)return{type:"RepetitionWithSeparator",idx:t.idx,separator:Xs(new ue({terminalType:t.separator})),definition:e(t.definition)};if(t instanceof Ae)return{type:"Repetition",idx:t.idx,definition:e(t.definition)};if(t instanceof it)return{type:"Alternation",idx:t.idx,definition:e(t.definition)};if(t instanceof ue){const n={type:"Terminal",name:t.terminalType.name,label:Ig(t.terminalType),idx:t.idx};tt(t.label)&&(n.terminalLabel=t.label);const r=t.terminalType.PATTERN;return t.terminalType.PATTERN&&(n.pattern=nn(r)?r.source:r),n}else{if(t instanceof ai)return{type:"Rule",name:t.name,orgText:t.orgText,definition:e(t.definition)};throw Error("non exhaustive match")}}}class oi{visit(e){const n=e;switch(n.constructor){case Xe:return this.visitNonTerminal(n);case nt:return this.visitAlternative(n);case ze:return this.visitOption(n);case ft:return this.visitRepetitionMandatory(n);case ht:return this.visitRepetitionMandatoryWithSeparator(n);case rt:return this.visitRepetitionWithSeparator(n);case Ae:return this.visitRepetition(n);case it:return this.visitAlternation(n);case ue:return this.visitTerminal(n);case ai:return this.visitRule(n);default:throw Error("non exhaustive match")}}visitNonTerminal(e){}visitAlternative(e){}visitOption(e){}visitRepetition(e){}visitRepetitionMandatory(e){}visitRepetitionMandatoryWithSeparator(e){}visitRepetitionWithSeparator(e){}visitAlternation(e){}visitTerminal(e){}visitRule(e){}}function Lg(t){return t instanceof nt||t instanceof ze||t instanceof Ae||t instanceof ft||t instanceof ht||t instanceof rt||t instanceof ue||t instanceof ai}function ua(t,e=[]){return t instanceof ze||t instanceof Ae||t instanceof rt?!0:t instanceof it?xf(t.definition,r=>ua(r,e)):t instanceof Xe&&Qe(e,t)?!1:t instanceof Ut?(t instanceof Xe&&e.push(t),Nt(t.definition,r=>ua(r,e))):!1}function Og(t){return t instanceof it}function Ot(t){if(t instanceof Xe)return"SUBRULE";if(t instanceof ze)return"OPTION";if(t instanceof it)return"OR";if(t instanceof ft)return"AT_LEAST_ONE";if(t instanceof ht)return"AT_LEAST_ONE_SEP";if(t instanceof rt)return"MANY_SEP";if(t instanceof Ae)return"MANY";if(t instanceof ue)return"CONSUME";throw Error("non exhaustive match")}class ja{walk(e,n=[]){j(e.definition,(r,i)=>{const s=Fe(e.definition,i+1);if(r instanceof Xe)this.walkProdRef(r,s,n);else if(r instanceof ue)this.walkTerminal(r,s,n);else if(r instanceof nt)this.walkFlat(r,s,n);else if(r instanceof ze)this.walkOption(r,s,n);else if(r instanceof ft)this.walkAtLeastOne(r,s,n);else if(r instanceof ht)this.walkAtLeastOneSep(r,s,n);else if(r instanceof rt)this.walkManySep(r,s,n);else if(r instanceof Ae)this.walkMany(r,s,n);else if(r instanceof it)this.walkOr(r,s,n);else throw Error("non exhaustive match")})}walkTerminal(e,n,r){}walkProdRef(e,n,r){}walkFlat(e,n,r){const i=n.concat(r);this.walk(e,i)}walkOption(e,n,r){const i=n.concat(r);this.walk(e,i)}walkAtLeastOne(e,n,r){const i=[new ze({definition:e.definition})].concat(n,r);this.walk(e,i)}walkAtLeastOneSep(e,n,r){const i=uu(e,n,r);this.walk(e,i)}walkMany(e,n,r){const i=[new ze({definition:e.definition})].concat(n,r);this.walk(e,i)}walkManySep(e,n,r){const i=uu(e,n,r);this.walk(e,i)}walkOr(e,n,r){const i=n.concat(r);j(e.definition,s=>{const a=new nt({definition:[s]});this.walk(a,i)})}}function uu(t,e,n){return[new ze({definition:[new ue({terminalType:t.separator})].concat(t.definition)})].concat(e,n)}function cs(t){if(t instanceof Xe)return cs(t.referencedRule);if(t instanceof ue)return Mg(t);if(Lg(t))return xg(t);if(Og(t))return Dg(t);throw Error("non exhaustive match")}function xg(t){let e=[];const n=t.definition;let r=0,i=n.length>r,s,a=!0;for(;i&&a;)s=n[r],a=ua(s),e=e.concat(cs(s)),r=r+1,i=n.length>r;return Sl(e)}function Dg(t){const e=M(t.definition,n=>cs(n));return Sl(yt(e))}function Mg(t){return[t.terminalType]}const sh="_~IN~_";class Fg extends ja{constructor(e){super(),this.topProd=e,this.follows={}}startWalking(){return this.walk(this.topProd),this.follows}walkTerminal(e,n,r){}walkProdRef(e,n,r){const i=Ug(e.referencedRule,e.idx)+this.topProd.name,s=n.concat(r),a=new nt({definition:s}),o=cs(a);this.follows[i]=o}}function Gg(t){const e={};return j(t,n=>{const r=new Fg(n).startWalking();ut(e,r)}),e}function Ug(t,e){return t.name+e+sh}let Js={};const jg=new Vf;function za(t){const e=t.toString();if(Js.hasOwnProperty(e))return Js[e];{const n=jg.pattern(e);return Js[e]=n,n}}function zg(){Js={}}const ah="Complement Sets are not supported for first char optimization",da=`Unable to use "first char" lexer optimizations:
13
+ `;function Bg(t,e=!1){try{const n=za(t);return zo(n.value,{},n.flags.ignoreCase)}catch(n){if(n.message===ah)e&&nh(`${da} Unable to optimize: < ${t.toString()} >
14
+ Complement Sets cannot be automatically optimized.
15
+ This will disable the lexer's first char optimizations.
16
+ See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#COMPLEMENT for details.`);else{let r="";e&&(r=`
17
+ This will disable the lexer's first char optimizations.
18
+ See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#REGEXP_PARSING for details.`),jo(`${da}
19
+ Failed parsing: < ${t.toString()} >
20
+ Using the @chevrotain/regexp-to-ast library
21
+ Please open an issue at: https://github.com/chevrotain/chevrotain/issues`+r)}}return[]}function zo(t,e,n){switch(t.type){case"Disjunction":for(let i=0;i<t.value.length;i++)zo(t.value[i],e,n);break;case"Alternative":const r=t.value;for(let i=0;i<r.length;i++){const s=r[i];switch(s.type){case"EndAnchor":case"GroupBackReference":case"Lookahead":case"NegativeLookahead":case"Lookbehind":case"NegativeLookbehind":case"StartAnchor":case"WordBoundary":case"NonWordBoundary":continue}const a=s;switch(a.type){case"Character":xs(a.value,e,n);break;case"Set":if(a.complement===!0)throw Error(ah);j(a.value,c=>{if(typeof c=="number")xs(c,e,n);else{const l=c;if(n===!0)for(let u=l.from;u<=l.to;u++)xs(u,e,n);else{for(let u=l.from;u<=l.to&&u<Mi;u++)xs(u,e,n);if(l.to>=Mi){const u=l.from>=Mi?l.from:Mi,f=l.to,m=Rn(u),g=Rn(f);for(let A=m;A<=g;A++)e[A]=A}}}});break;case"Group":zo(a.value,e,n);break;default:throw Error("Non Exhaustive Match")}const o=a.quantifier!==void 0&&a.quantifier.atLeast===0;if(a.type==="Group"&&Bo(a)===!1||a.type!=="Group"&&o===!1)break}break;default:throw Error("non exhaustive match!")}return Le(e)}function xs(t,e,n){const r=Rn(t);e[r]=r,n===!0&&qg(t,e)}function qg(t,e){const n=String.fromCharCode(t),r=n.toUpperCase();if(r!==n){const i=Rn(r.charCodeAt(0));e[i]=i}else{const i=n.toLowerCase();if(i!==n){const s=Rn(i.charCodeAt(0));e[s]=s}}}function du(t,e){return zr(t.value,n=>{if(typeof n=="number")return Qe(e,n);{const r=n;return zr(e,i=>r.from<=i&&i<=r.to)!==void 0}})}function Bo(t){const e=t.quantifier;return e&&e.atLeast===0?!0:t.value?je(t.value)?Nt(t.value,Bo):Bo(t.value):!1}class Wg extends Ga{constructor(e){super(),this.targetCharCodes=e,this.found=!1}visitChildren(e){if(this.found!==!0){switch(e.type){case"Lookahead":this.visitLookahead(e);return;case"NegativeLookahead":this.visitNegativeLookahead(e);return;case"Lookbehind":this.visitLookbehind(e);return;case"NegativeLookbehind":this.visitNegativeLookbehind(e);return}super.visitChildren(e)}}visitCharacter(e){Qe(this.targetCharCodes,e.value)&&(this.found=!0)}visitSet(e){e.complement?du(e,this.targetCharCodes)===void 0&&(this.found=!0):du(e,this.targetCharCodes)!==void 0&&(this.found=!0)}}function Il(t,e){if(e instanceof RegExp){const n=za(e),r=new Wg(t);return r.visit(n),r.found}else return zr(e,n=>Qe(t,n.charCodeAt(0)))!==void 0}const Vn="PATTERN",Di="defaultMode",Ds="modes";function Vg(t,e){e=Al(e,{debug:!1,safeMode:!1,positionTracking:"full",lineTerminatorCharacters:["\r",`
22
+ `],tracer:(O,b)=>b()});const n=e.tracer;n("initCharCodeToOptimizedIndexMap",()=>{gy()});let r;n("Reject Lexer.NA",()=>{r=xa(t,O=>O[Vn]===et.NA)});let i=!1,s;n("Transform Patterns",()=>{i=!1,s=M(r,O=>{const b=O[Vn];if(nn(b)){const x=b.source;return x.length===1&&x!=="^"&&x!=="$"&&x!=="."&&!b.ignoreCase?x:x.length===2&&x[0]==="\\"&&!Qe(["d","D","s","S","t","r","n","t","0","c","b","B","f","v","w","W"],x[1])?x[1]:fu(b)}else{if(Yn(b))return i=!0,{exec:b};if(typeof b=="object")return i=!0,b;if(typeof b=="string"){if(b.length===1)return b;{const x=b.replace(/[\\^$.*+?()[\]{}|]/g,"\\$&"),X=new RegExp(x);return fu(X)}}else throw Error("non exhaustive match")}})});let a,o,c,l,u;n("misc mapping",()=>{a=M(r,O=>O.tokenTypeIdx),o=M(r,O=>{const b=O.GROUP;if(b!==et.SKIPPED){if(tt(b))return b;if(tn(b))return!1;throw Error("non exhaustive match")}}),c=M(r,O=>{const b=O.LONGER_ALT;if(b)return je(b)?M(b,X=>Xl(r,X)):[Xl(r,b)]}),l=M(r,O=>O.PUSH_MODE),u=M(r,O=>B(O,"POP_MODE"))});let f;n("Line Terminator Handling",()=>{const O=lh(e.lineTerminatorCharacters);f=M(r,b=>!1),e.positionTracking!=="onlyOffset"&&(f=M(r,b=>B(b,"LINE_BREAKS")?!!b.LINE_BREAKS:ch(b,O)===!1&&Il(O,b.PATTERN)))});let m,g,A,N;n("Misc Mapping #2",()=>{m=M(r,oh),g=M(s,hy),A=Ye(r,(O,b)=>{const x=b.GROUP;return tt(x)&&x!==et.SKIPPED&&(O[x]=[]),O},{}),N=M(s,(O,b)=>({pattern:s[b],longerAlt:c[b],canLineTerminator:f[b],isCustom:m[b],short:g[b],group:o[b],push:l[b],pop:u[b],tokenTypeIdx:a[b],tokenType:r[b]}))});let $=!0,w=[];return e.safeMode||n("First Char Optimization",()=>{w=Ye(r,(O,b,x)=>{if(typeof b.PATTERN=="string"){const X=b.PATTERN.charCodeAt(0),te=Rn(X);po(O,te,N[x])}else if(je(b.START_CHARS_HINT)){let X;j(b.START_CHARS_HINT,te=>{const ne=typeof te=="string"?te.charCodeAt(0):te,ye=Rn(ne);X!==ye&&(X=ye,po(O,ye,N[x]))})}else if(nn(b.PATTERN))if(b.PATTERN.unicode)$=!1,e.ensureOptimizations&&jo(`${da} Unable to analyze < ${b.PATTERN.toString()} > pattern.
23
+ The regexp unicode flag is not currently supported by the regexp-to-ast library.
24
+ This will disable the lexer's first char optimizations.
25
+ For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#UNICODE_OPTIMIZE`);else{const X=Bg(b.PATTERN,e.ensureOptimizations);oe(X)&&($=!1),j(X,te=>{po(O,te,N[x])})}else e.ensureOptimizations&&jo(`${da} TokenType: <${b.name}> is using a custom token pattern without providing <start_chars_hint> parameter.
26
+ This will disable the lexer's first char optimizations.
27
+ For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#CUSTOM_OPTIMIZE`),$=!1;return O},[])}),{emptyGroups:A,patternIdxToConfig:N,charCodeToPatternIdxToConfig:w,hasCustom:i,canBeOptimized:$}}function Kg(t,e){let n=[];const r=Yg(t);n=n.concat(r.errors);const i=Xg(r.valid),s=i.valid;return n=n.concat(i.errors),n=n.concat(Hg(s)),n=n.concat(iy(s)),n=n.concat(sy(s,e)),n=n.concat(ay(s)),n}function Hg(t){let e=[];const n=dt(t,r=>nn(r[Vn]));return e=e.concat(Qg(n)),e=e.concat(ty(n)),e=e.concat(ny(n)),e=e.concat(ry(n)),e=e.concat(Zg(n)),e}function Yg(t){const e=dt(t,i=>!B(i,Vn)),n=M(e,i=>({message:"Token Type: ->"+i.name+"<- missing static 'PATTERN' property",type:Se.MISSING_PATTERN,tokenTypes:[i]})),r=Oa(t,e);return{errors:n,valid:r}}function Xg(t){const e=dt(t,i=>{const s=i[Vn];return!nn(s)&&!Yn(s)&&!B(s,"exec")&&!tt(s)}),n=M(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:Se.INVALID_PATTERN,tokenTypes:[i]})),r=Oa(t,e);return{errors:n,valid:r}}const Jg=/[^\\][$]/;function Qg(t){class e extends Ga{constructor(){super(...arguments),this.found=!1}visitEndAnchor(s){this.found=!0}}const n=dt(t,i=>{const s=i.PATTERN;try{const a=za(s),o=new e;return o.visit(a),o.found}catch{return Jg.test(s.source)}});return M(n,i=>({message:`Unexpected RegExp Anchor Error:
28
+ Token Type: ->`+i.name+`<- static 'PATTERN' cannot contain end of input anchor '$'
29
+ See chevrotain.io/docs/guide/resolving_lexer_errors.html#ANCHORS for details.`,type:Se.EOI_ANCHOR_FOUND,tokenTypes:[i]}))}function Zg(t){const e=dt(t,r=>r.PATTERN.test(""));return M(e,r=>({message:"Token Type: ->"+r.name+"<- static 'PATTERN' must not match an empty string",type:Se.EMPTY_MATCH_PATTERN,tokenTypes:[r]}))}const ey=/[^\\[][\^]|^\^/;function ty(t){class e extends Ga{constructor(){super(...arguments),this.found=!1}visitStartAnchor(s){this.found=!0}}const n=dt(t,i=>{const s=i.PATTERN;try{const a=za(s),o=new e;return o.visit(a),o.found}catch{return ey.test(s.source)}});return M(n,i=>({message:`Unexpected RegExp Anchor Error:
30
+ Token Type: ->`+i.name+`<- static 'PATTERN' cannot contain start of input anchor '^'
31
+ See https://chevrotain.io/docs/guide/resolving_lexer_errors.html#ANCHORS for details.`,type:Se.SOI_ANCHOR_FOUND,tokenTypes:[i]}))}function ny(t){const e=dt(t,r=>{const i=r[Vn];return i instanceof RegExp&&(i.multiline||i.global)});return M(e,r=>({message:"Token Type: ->"+r.name+"<- static 'PATTERN' may NOT contain global('g') or multiline('m')",type:Se.UNSUPPORTED_FLAGS_FOUND,tokenTypes:[r]}))}function ry(t){const e=[];let n=M(t,s=>Ye(t,(a,o)=>(s.PATTERN.source===o.PATTERN.source&&!Qe(e,o)&&o.PATTERN!==et.NA&&(e.push(o),a.push(o)),a),[]));n=is(n);const r=dt(n,s=>s.length>1);return M(r,s=>{const a=M(s,c=>c.name);return{message:`The same RegExp pattern ->${bt(s).PATTERN}<-has been used in all of the following Token Types: ${a.join(", ")} <-`,type:Se.DUPLICATE_PATTERNS_FOUND,tokenTypes:s}})}function iy(t){const e=dt(t,r=>{if(!B(r,"GROUP"))return!1;const i=r.GROUP;return i!==et.SKIPPED&&i!==et.NA&&!tt(i)});return M(e,r=>({message:"Token Type: ->"+r.name+"<- static 'GROUP' can only be Lexer.SKIPPED/Lexer.NA/A String",type:Se.INVALID_GROUP_TYPE_FOUND,tokenTypes:[r]}))}function sy(t,e){const n=dt(t,i=>i.PUSH_MODE!==void 0&&!Qe(e,i.PUSH_MODE));return M(n,i=>({message:`Token Type: ->${i.name}<- static 'PUSH_MODE' value cannot refer to a Lexer Mode ->${i.PUSH_MODE}<-which does not exist`,type:Se.PUSH_MODE_DOES_NOT_EXIST,tokenTypes:[i]}))}function ay(t){const e=[],n=Ye(t,(r,i,s)=>{const a=i.PATTERN;return a===et.NA||(tt(a)?r.push({str:a,idx:s,tokenType:i}):nn(a)&&cy(a)&&r.push({str:a.source,idx:s,tokenType:i})),r},[]);return j(t,(r,i)=>{j(n,({str:s,idx:a,tokenType:o})=>{if(i<a&&oy(s,r.PATTERN)){const c=`Token: ->${o.name}<- can never be matched.
32
+ Because it appears AFTER the Token Type ->${r.name}<-in the lexer's definition.
33
+ See https://chevrotain.io/docs/guide/resolving_lexer_errors.html#UNREACHABLE`;e.push({message:c,type:Se.UNREACHABLE_PATTERN,tokenTypes:[r,o]})}})}),e}function oy(t,e){if(nn(e)){if(ly(e))return!1;const n=e.exec(t);return n!==null&&n.index===0}else{if(Yn(e))return e(t,0,[],{});if(B(e,"exec"))return e.exec(t,0,[],{});if(typeof e=="string")return e===t;throw Error("non exhaustive match")}}function cy(t){return zr([".","\\","[","]","|","^","$","(",")","?","*","+","{"],n=>t.source.indexOf(n)!==-1)===void 0}function ly(t){return/(\(\?=)|(\(\?!)|(\(\?<=)|(\(\?<!)/.test(t.source)}function fu(t){const e=t.ignoreCase?"iy":"y";return new RegExp(`${t.source}`,e)}function uy(t,e,n){const r=[];return B(t,Di)||r.push({message:"A MultiMode Lexer cannot be initialized without a <"+Di+`> property in its definition
34
+ `,type:Se.MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE}),B(t,Ds)||r.push({message:"A MultiMode Lexer cannot be initialized without a <"+Ds+`> property in its definition
35
+ `,type:Se.MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY}),B(t,Ds)&&B(t,Di)&&!B(t.modes,t.defaultMode)&&r.push({message:`A MultiMode Lexer cannot be initialized with a ${Di}: <${t.defaultMode}>which does not exist
36
+ `,type:Se.MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST}),B(t,Ds)&&j(t.modes,(i,s)=>{j(i,(a,o)=>{if(tn(a))r.push({message:`A Lexer cannot be initialized using an undefined Token Type. Mode:<${s}> at index: <${o}>
37
+ `,type:Se.LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED});else if(B(a,"LONGER_ALT")){const c=je(a.LONGER_ALT)?a.LONGER_ALT:[a.LONGER_ALT];j(c,l=>{!tn(l)&&!Qe(i,l)&&r.push({message:`A MultiMode Lexer cannot be initialized with a longer_alt <${l.name}> on token <${a.name}> outside of mode <${s}>
38
+ `,type:Se.MULTI_MODE_LEXER_LONGER_ALT_NOT_IN_CURRENT_MODE})})}})}),r}function dy(t,e,n){const r=[];let i=!1;const s=is(yt(Le(t.modes))),a=xa(s,c=>c[Vn]===et.NA),o=lh(n);return e&&j(a,c=>{const l=ch(c,o);if(l!==!1){const f={message:my(c,l),type:l.issue,tokenType:c};r.push(f)}else B(c,"LINE_BREAKS")?c.LINE_BREAKS===!0&&(i=!0):Il(o,c.PATTERN)&&(i=!0)}),e&&!i&&r.push({message:`Warning: No LINE_BREAKS Found.
39
+ This Lexer has been defined to track line and column information,
40
+ But none of the Token Types can be identified as matching a line terminator.
41
+ See https://chevrotain.io/docs/guide/resolving_lexer_errors.html#LINE_BREAKS
42
+ for details.`,type:Se.NO_LINE_BREAKS_FLAGS}),r}function fy(t){const e={},n=jr(t);return j(n,r=>{const i=t[r];if(je(i))e[r]=[];else throw Error("non exhaustive match")}),e}function oh(t){const e=t.PATTERN;if(nn(e))return!1;if(Yn(e))return!0;if(B(e,"exec"))return!0;if(tt(e))return!1;throw Error("non exhaustive match")}function hy(t){return tt(t)&&t.length===1?t.charCodeAt(0):!1}const py={test:function(t){const e=t.length;for(let n=this.lastIndex;n<e;n++){const r=t.charCodeAt(n);if(r===10)return this.lastIndex=n+1,!0;if(r===13)return t.charCodeAt(n+1)===10?this.lastIndex=n+2:this.lastIndex=n+1,!0}return!1},lastIndex:0};function ch(t,e){if(B(t,"LINE_BREAKS"))return!1;if(nn(t.PATTERN)){try{Il(e,t.PATTERN)}catch(n){return{issue:Se.IDENTIFY_TERMINATOR,errMsg:n.message}}return!1}else{if(tt(t.PATTERN))return!1;if(oh(t))return{issue:Se.CUSTOM_LINE_BREAK};throw Error("non exhaustive match")}}function my(t,e){if(e.issue===Se.IDENTIFY_TERMINATOR)return`Warning: unable to identify line terminator usage in pattern.
43
+ The problem is in the <${t.name}> Token Type
44
+ Root cause: ${e.errMsg}.
45
+ For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#IDENTIFY_TERMINATOR`;if(e.issue===Se.CUSTOM_LINE_BREAK)return`Warning: A Custom Token Pattern should specify the <line_breaks> option.
46
+ The problem is in the <${t.name}> Token Type
47
+ For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#CUSTOM_LINE_BREAK`;throw Error("non exhaustive match")}function lh(t){return M(t,n=>tt(n)?n.charCodeAt(0):n)}function po(t,e,n){t[e]===void 0?t[e]=[n]:t[e].push(n)}const Mi=256;let Qs=[];function Rn(t){return t<Mi?t:Qs[t]}function gy(){if(oe(Qs)){Qs=new Array(65536);for(let t=0;t<65536;t++)Qs[t]=t>255?255+~~(t/255):t}}function ls(t,e){const n=t.tokenTypeIdx;return n===e.tokenTypeIdx?!0:e.isParent===!0&&e.categoryMatchesMap[n]===!0}function fa(t,e){return t.tokenTypeIdx===e.tokenTypeIdx}let hu=1;const uh={};function us(t){const e=yy(t);Ty(e),vy(e),Ry(e),j(e,n=>{n.isParent=n.categoryMatches.length>0})}function yy(t){let e=Be(t),n=t,r=!0;for(;r;){n=is(yt(M(n,s=>s.CATEGORIES)));const i=Oa(n,e);e=e.concat(i),oe(i)?r=!1:n=i}return e}function Ty(t){j(t,e=>{fh(e)||(uh[hu]=e,e.tokenTypeIdx=hu++),pu(e)&&!je(e.CATEGORIES)&&(e.CATEGORIES=[e.CATEGORIES]),pu(e)||(e.CATEGORIES=[]),Ey(e)||(e.categoryMatches=[]),Ay(e)||(e.categoryMatchesMap={})})}function Ry(t){j(t,e=>{e.categoryMatches=[],j(e.categoryMatchesMap,(n,r)=>{e.categoryMatches.push(uh[r].tokenTypeIdx)})})}function vy(t){j(t,e=>{dh([],e)})}function dh(t,e){j(t,n=>{e.categoryMatchesMap[n.tokenTypeIdx]=!0}),j(e.CATEGORIES,n=>{const r=t.concat(e);Qe(r,n)||dh(r,n)})}function fh(t){return B(t,"tokenTypeIdx")}function pu(t){return B(t,"CATEGORIES")}function Ey(t){return B(t,"categoryMatches")}function Ay(t){return B(t,"categoryMatchesMap")}function Sy(t){return B(t,"tokenTypeIdx")}const qo={buildUnableToPopLexerModeMessage(t){return`Unable to pop Lexer Mode after encountering Token ->${t.image}<- The Mode Stack is empty`},buildUnexpectedCharactersMessage(t,e,n,r,i,s){return`unexpected character: ->${t.charAt(e)}<- at offset: ${e}, skipped ${n} characters.`}};var Se;(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"})(Se||(Se={}));const Fi={deferDefinitionErrorsHandling:!1,positionTracking:"full",lineTerminatorsPattern:/\n|\r\n?/g,lineTerminatorCharacters:[`
48
+ `,"\r"],ensureOptimizations:!1,safeMode:!1,errorMessageProvider:qo,traceInitPerf:!1,skipValidations:!1,recoveryEnabled:!0};Object.freeze(Fi);class et{constructor(e,n=Fi){if(this.lexerDefinition=e,this.lexerDefinitionErrors=[],this.lexerDefinitionWarning=[],this.patternIdxToConfig={},this.charCodeToPatternIdxToConfig={},this.modes=[],this.emptyGroups={},this.trackStartLines=!0,this.trackEndLines=!0,this.hasCustom=!1,this.canModeBeOptimized={},this.TRACE_INIT=(i,s)=>{if(this.traceInitPerf===!0){this.traceInitIndent++;const a=new Array(this.traceInitIndent+1).join(" ");this.traceInitIndent<this.traceInitMaxIdent&&console.log(`${a}--> <${i}>`);const{time:o,value:c}=rh(s),l=o>10?console.warn:console.log;return this.traceInitIndent<this.traceInitMaxIdent&&l(`${a}<-- <${i}> time: ${o}ms`),this.traceInitIndent--,c}else return s()},typeof n=="boolean")throw Error(`The second argument to the Lexer constructor is now an ILexerConfig Object.
49
+ a boolean 2nd argument is no longer supported`);this.config=ut({},Fi,n);const r=this.config.traceInitPerf;r===!0?(this.traceInitMaxIdent=1/0,this.traceInitPerf=!0):typeof r=="number"&&(this.traceInitMaxIdent=r,this.traceInitPerf=!0),this.traceInitIndent=-1,this.TRACE_INIT("Lexer Constructor",()=>{let i,s=!0;this.TRACE_INIT("Lexer Config handling",()=>{if(this.config.lineTerminatorsPattern===Fi.lineTerminatorsPattern)this.config.lineTerminatorsPattern=py;else if(this.config.lineTerminatorCharacters===Fi.lineTerminatorCharacters)throw Error(`Error: Missing <lineTerminatorCharacters> property on the Lexer config.
50
+ For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#MISSING_LINE_TERM_CHARS`);if(n.safeMode&&n.ensureOptimizations)throw Error('"safeMode" and "ensureOptimizations" flags are mutually exclusive.');this.trackStartLines=/full|onlyStart/i.test(this.config.positionTracking),this.trackEndLines=/full/i.test(this.config.positionTracking),je(e)?i={modes:{defaultMode:Be(e)},defaultMode:Di}:(s=!1,i=Be(e))}),this.config.skipValidations===!1&&(this.TRACE_INIT("performRuntimeChecks",()=>{this.lexerDefinitionErrors=this.lexerDefinitionErrors.concat(uy(i,this.trackStartLines,this.config.lineTerminatorCharacters))}),this.TRACE_INIT("performWarningRuntimeChecks",()=>{this.lexerDefinitionWarning=this.lexerDefinitionWarning.concat(dy(i,this.trackStartLines,this.config.lineTerminatorCharacters))})),i.modes=i.modes?i.modes:{},j(i.modes,(o,c)=>{i.modes[c]=xa(o,l=>tn(l))});const a=jr(i.modes);if(j(i.modes,(o,c)=>{this.TRACE_INIT(`Mode: <${c}> processing`,()=>{if(this.modes.push(c),this.config.skipValidations===!1&&this.TRACE_INIT("validatePatterns",()=>{this.lexerDefinitionErrors=this.lexerDefinitionErrors.concat(Kg(o,a))}),oe(this.lexerDefinitionErrors)){us(o);let l;this.TRACE_INIT("analyzeTokenTypes",()=>{l=Vg(o,{lineTerminatorCharacters:this.config.lineTerminatorCharacters,positionTracking:n.positionTracking,ensureOptimizations:n.ensureOptimizations,safeMode:n.safeMode,tracer:this.TRACE_INIT})}),this.patternIdxToConfig[c]=l.patternIdxToConfig,this.charCodeToPatternIdxToConfig[c]=l.charCodeToPatternIdxToConfig,this.emptyGroups=ut({},this.emptyGroups,l.emptyGroups),this.hasCustom=l.hasCustom||this.hasCustom,this.canModeBeOptimized[c]=l.canBeOptimized}})}),this.defaultMode=i.defaultMode,!oe(this.lexerDefinitionErrors)&&!this.config.deferDefinitionErrorsHandling){const c=M(this.lexerDefinitionErrors,l=>l.message).join(`-----------------------
51
+ `);throw new Error(`Errors detected in definition of Lexer:
52
+ `+c)}j(this.lexerDefinitionWarning,o=>{nh(o.message)}),this.TRACE_INIT("Choosing sub-methods implementations",()=>{if(s&&(this.handleModes=Me),this.trackStartLines===!1&&(this.computeNewColumn=Jp),this.trackEndLines===!1&&(this.updateTokenEndLineColumnLocation=Me),/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=Ye(this.canModeBeOptimized,(c,l,u)=>(l===!1&&c.push(u),c),[]);if(n.ensureOptimizations&&!oe(o))throw Error(`Lexer Modes: < ${o.join(", ")} > cannot be optimized.
53
+ Disable the "ensureOptimizations" lexer config flag to silently ignore this and run the lexer in an un-optimized mode.
54
+ Or inspect the console log for details on how to resolve these issues.`)}),this.TRACE_INIT("clearRegExpParserCache",()=>{zg()}),this.TRACE_INIT("toFastProperties",()=>{ih(this)})})}tokenize(e,n=this.defaultMode){if(!oe(this.lexerDefinitionErrors)){const i=M(this.lexerDefinitionErrors,s=>s.message).join(`-----------------------
55
+ `);throw new Error(`Unable to Tokenize because Errors detected in definition of Lexer:
56
+ `+i)}return this.tokenizeInternal(e,n)}tokenizeInternal(e,n){let r,i,s,a,o,c,l,u,f,m,g,A,N,$,w;const O=e,b=O.length;let x=0,X=0;const te=this.hasCustom?0:Math.floor(e.length/10),ne=new Array(te),ye=[];let Ce=this.trackStartLines?1:void 0,de=this.trackStartLines?1:void 0;const k=fy(this.emptyGroups),R=this.trackStartLines,p=this.config.lineTerminatorsPattern;let S=0,y=[],T=[];const E=[],P=[];Object.freeze(P);let D=!1;const L=q=>{if(E.length===1&&q.tokenType.PUSH_MODE===void 0){const re=this.config.errorMessageProvider.buildUnableToPopLexerModeMessage(q);ye.push({offset:q.startOffset,line:q.startLine,column:q.startColumn,length:q.image.length,message:re})}else{E.pop();const re=zn(E);y=this.patternIdxToConfig[re],T=this.charCodeToPatternIdxToConfig[re],S=y.length;const xe=this.canModeBeOptimized[re]&&this.config.safeMode===!1;T&&xe?D=!0:D=!1}};function z(q){E.push(q),T=this.charCodeToPatternIdxToConfig[q],y=this.patternIdxToConfig[q],S=y.length,S=y.length;const re=this.canModeBeOptimized[q]&&this.config.safeMode===!1;T&&re?D=!0:D=!1}z.call(this,n);let G;const se=this.config.recoveryEnabled;for(;x<b;){c=null,f=-1;const q=O.charCodeAt(x);let re;if(D){const Te=Rn(q),fe=T[Te];re=fe!==void 0?fe:P}else re=y;const xe=re.length;for(r=0;r<xe;r++){G=re[r];const Te=G.pattern;l=null;const fe=G.short;if(fe!==!1?q===fe&&(f=1,c=Te):G.isCustom===!0?(w=Te.exec(O,x,ne,k),w!==null?(c=w[0],f=c.length,w.payload!==void 0&&(l=w.payload)):c=null):(Te.lastIndex=x,f=this.matchLength(Te,e,x)),f!==-1){if(o=G.longerAlt,o!==void 0){c=e.substring(x,x+f);const $e=o.length;for(s=0;s<$e;s++){const De=y[o[s]],be=De.pattern;if(u=null,De.isCustom===!0?(w=be.exec(O,x,ne,k),w!==null?(a=w[0],w.payload!==void 0&&(u=w.payload)):a=null):(be.lastIndex=x,a=this.match(be,e,x)),a&&a.length>c.length){c=a,f=a.length,l=u,G=De;break}}}break}}if(f!==-1){if(m=G.group,m!==void 0&&(c=c!==null?c:e.substring(x,x+f),g=G.tokenTypeIdx,A=this.createTokenInstance(c,x,g,G.tokenType,Ce,de,f),this.handlePayload(A,l),m===!1?X=this.addToken(ne,X,A):k[m].push(A)),R===!0&&G.canLineTerminator===!0){let Te=0,fe,$e;p.lastIndex=0;do c=c!==null?c:e.substring(x,x+f),fe=p.test(c),fe===!0&&($e=p.lastIndex-1,Te++);while(fe===!0);Te!==0?(Ce=Ce+Te,de=f-$e,this.updateTokenEndLineColumnLocation(A,m,$e,Te,Ce,de,f)):de=this.computeNewColumn(de,f)}else de=this.computeNewColumn(de,f);x=x+f,this.handleModes(G,L,z,A)}else{const Te=x,fe=Ce,$e=de;let De=se===!1;for(;De===!1&&x<b;)for(x++,i=0;i<S;i++){const be=y[i],Q=be.pattern,st=be.short;if(st!==!1?O.charCodeAt(x)===st&&(De=!0):be.isCustom===!0?De=Q.exec(O,x,ne,k)!==null:(Q.lastIndex=x,De=Q.exec(e)!==null),De===!0)break}if(N=x-Te,de=this.computeNewColumn(de,N),$=this.config.errorMessageProvider.buildUnexpectedCharactersMessage(O,Te,N,fe,$e,zn(E)),ye.push({offset:Te,line:fe,column:$e,length:N,message:$}),se===!1)break}}return this.hasCustom||(ne.length=X),{tokens:ne,groups:k,errors:ye}}handleModes(e,n,r,i){if(e.pop===!0){const s=e.push;n(i),s!==void 0&&r.call(this,s)}else e.push!==void 0&&r.call(this,e.push)}updateTokenEndLineColumnLocation(e,n,r,i,s,a,o){let c,l;n!==void 0&&(c=r===o-1,l=c?-1:0,i===1&&c===!0||(e.endLine=s+l,e.endColumn=a-1+-l))}computeNewColumn(e,n){return e+n}createOffsetOnlyToken(e,n,r,i){return{image:e,startOffset:n,tokenTypeIdx:r,tokenType:i}}createStartOnlyToken(e,n,r,i,s,a){return{image:e,startOffset:n,startLine:s,startColumn:a,tokenTypeIdx:r,tokenType:i}}createFullToken(e,n,r,i,s,a,o){return{image:e,startOffset:n,endOffset:n+o-1,startLine:s,endLine:s,startColumn:a,endColumn:a+o-1,tokenTypeIdx:r,tokenType:i}}addTokenUsingPush(e,n,r){return e.push(r),n}addTokenUsingMemberAccess(e,n,r){return e[n]=r,n++,n}handlePayloadNoCustom(e,n){}handlePayloadWithCustom(e,n){n!==null&&(e.payload=n)}match(e,n,r){return e.test(n)===!0?n.substring(r,e.lastIndex):null}matchLength(e,n,r){return e.test(n)===!0?e.lastIndex-r:-1}}et.SKIPPED="This marks a skipped Token pattern, this means each token identified by it will be consumed and then thrown into oblivion, this can be used to for example to completely ignore whitespace.";et.NA=/NOT_APPLICABLE/;function Sr(t){return hh(t)?t.LABEL:t.name}function hh(t){return tt(t.LABEL)&&t.LABEL!==""}const Cy="parent",mu="categories",gu="label",yu="group",Tu="push_mode",Ru="pop_mode",vu="longer_alt",Eu="line_breaks",Au="start_chars_hint";function ph(t){return ky(t)}function ky(t){const e=t.pattern,n={};if(n.name=t.name,tn(e)||(n.PATTERN=e),B(t,Cy))throw`The parent property is no longer supported.
57
+ See: https://github.com/chevrotain/chevrotain/issues/564#issuecomment-349062346 for details.`;return B(t,mu)&&(n.CATEGORIES=t[mu]),us([n]),B(t,gu)&&(n.LABEL=t[gu]),B(t,yu)&&(n.GROUP=t[yu]),B(t,Ru)&&(n.POP_MODE=t[Ru]),B(t,Tu)&&(n.PUSH_MODE=t[Tu]),B(t,vu)&&(n.LONGER_ALT=t[vu]),B(t,Eu)&&(n.LINE_BREAKS=t[Eu]),B(t,Au)&&(n.START_CHARS_HINT=t[Au]),n}const vn=ph({name:"EOF",pattern:et.NA});us([vn]);function $l(t,e,n,r,i,s,a,o){return{image:e,startOffset:n,endOffset:r,startLine:i,endLine:s,startColumn:a,endColumn:o,tokenTypeIdx:t.tokenTypeIdx,tokenType:t}}function mh(t,e){return ls(t,e)}const Er={buildMismatchTokenMessage({expected:t,actual:e,previous:n,ruleName:r}){return`Expecting ${hh(t)?`--> ${Sr(t)} <--`:`token of type --> ${t.name} <--`} but found --> '${e.image}' <--`},buildNotAllInputParsedMessage({firstRedundant:t,ruleName:e}){return"Redundant input, expecting EOF but found: "+t.image},buildNoViableAltMessage({expectedPathsPerAlt:t,actual:e,previous:n,customUserDescription:r,ruleName:i}){const s="Expecting: ",o=`
58
+ but found: '`+bt(e).image+"'";if(r)return s+r+o;{const c=Ye(t,(m,g)=>m.concat(g),[]),l=M(c,m=>`[${M(m,g=>Sr(g)).join(", ")}]`),f=`one of these possible Token sequences:
59
+ ${M(l,(m,g)=>` ${g+1}. ${m}`).join(`
60
+ `)}`;return s+f+o}},buildEarlyExitMessage({expectedIterationPaths:t,actual:e,customUserDescription:n,ruleName:r}){const i="Expecting: ",a=`
61
+ but found: '`+bt(e).image+"'";if(n)return i+n+a;{const c=`expecting at least one iteration which starts with one of these possible Token sequences::
62
+ <${M(t,l=>`[${M(l,u=>Sr(u)).join(",")}]`).join(" ,")}>`;return i+c+a}}};Object.freeze(Er);const Ny={buildRuleNotFoundError(t,e){return"Invalid grammar, reference to a rule which is not defined: ->"+e.nonTerminalName+`<-
63
+ inside top level rule: ->`+t.name+"<-"}},Un={buildDuplicateFoundError(t,e){function n(u){return u instanceof ue?u.terminalType.name:u instanceof Xe?u.nonTerminalName:""}const r=t.name,i=bt(e),s=i.idx,a=Ot(i),o=n(i),c=s>0;let l=`->${a}${c?s:""}<- ${o?`with argument: ->${o}<-`:""}
64
+ appears more than once (${e.length} times) in the top level rule: ->${r}<-.
65
+ For further details see: https://chevrotain.io/docs/FAQ.html#NUMERICAL_SUFFIXES
66
+ `;return l=l.replace(/[ \t]+/g," "),l=l.replace(/\s\s+/g,`
67
+ `),l},buildNamespaceConflictError(t){return`Namespace conflict found in grammar.
68
+ The grammar has both a Terminal(Token) and a Non-Terminal(Rule) named: <${t.name}>.
69
+ To resolve this make sure each Terminal and Non-Terminal names are unique
70
+ This is easy to accomplish by using the convention that Terminal names start with an uppercase letter
71
+ and Non-Terminal names start with a lower case letter.`},buildAlternationPrefixAmbiguityError(t){const e=M(t.prefixPath,i=>Sr(i)).join(", "),n=t.alternation.idx===0?"":t.alternation.idx;return`Ambiguous alternatives: <${t.ambiguityIndices.join(" ,")}> due to common lookahead prefix
72
+ in <OR${n}> inside <${t.topLevelRule.name}> Rule,
73
+ <${e}> may appears as a prefix path in all these alternatives.
74
+ See: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#COMMON_PREFIX
75
+ For Further details.`},buildAlternationAmbiguityError(t){const e=t.alternation.idx===0?"":t.alternation.idx,n=t.prefixPath.length===0;let r=`Ambiguous Alternatives Detected: <${t.ambiguityIndices.join(" ,")}> in <OR${e}> inside <${t.topLevelRule.name}> Rule,
76
+ `;if(n)r+=`These alternatives are all empty (match no tokens), making them indistinguishable.
77
+ Only the last alternative may be empty.
78
+ `;else{const i=M(t.prefixPath,s=>Sr(s)).join(", ");r+=`<${i}> may appears as a prefix path in all these alternatives.
79
+ `}return r+=`See: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#AMBIGUOUS_ALTERNATIVES
80
+ For Further details.`,r},buildEmptyRepetitionError(t){let e=Ot(t.repetition);return t.repetition.idx!==0&&(e+=t.repetition.idx),`The repetition <${e}> within Rule <${t.topLevelRule.name}> can never consume any tokens.
81
+ This could lead to an infinite loop.`},buildTokenNameError(t){return"deprecated"},buildEmptyAlternationError(t){return`Ambiguous empty alternative: <${t.emptyChoiceIdx+1}> in <OR${t.alternation.idx}> inside <${t.topLevelRule.name}> Rule.
82
+ Only the last alternative may be an empty alternative.`},buildTooManyAlternativesError(t){return`An Alternation cannot have more than 256 alternatives:
83
+ <OR${t.alternation.idx}> inside <${t.topLevelRule.name}> Rule.
84
+ has ${t.alternation.definition.length+1} alternatives.`},buildLeftRecursionError(t){const e=t.topLevelRule.name,n=M(t.leftRecursionPath,s=>s.name),r=`${e} --> ${n.concat([e]).join(" --> ")}`;return`Left Recursion found in grammar.
85
+ rule: <${e}> can be invoked from itself (directly or indirectly)
86
+ without consuming any Tokens. The grammar path that causes this is:
87
+ ${r}
88
+ To fix this refactor your grammar to remove the left recursion.
89
+ see: https://en.wikipedia.org/wiki/LL_parser#Left_factoring.`},buildInvalidRuleNameError(t){return"deprecated"},buildDuplicateRuleNameError(t){let e;return t.topLevelRule instanceof ai?e=t.topLevelRule.name:e=t.topLevelRule,`Duplicate definition, rule: ->${e}<- is already defined in the grammar: ->${t.grammarName}<-`}};function wy(t,e){const n=new by(t,e);return n.resolveRefs(),n.errors}class by extends oi{constructor(e,n){super(),this.nameToTopRule=e,this.errMsgProvider=n,this.errors=[]}resolveRefs(){j(Le(this.nameToTopRule),e=>{this.currTopLevel=e,e.accept(this)})}visitNonTerminal(e){const n=this.nameToTopRule[e.nonTerminalName];if(n)e.referencedRule=n;else{const r=this.errMsgProvider.buildRuleNotFoundError(this.currTopLevel,e);this.errors.push({message:r,type:Je.UNRESOLVED_SUBRULE_REF,ruleName:this.currTopLevel.name,unresolvedRefName:e.nonTerminalName})}}}class _y extends ja{constructor(e,n){super(),this.topProd=e,this.path=n,this.possibleTokTypes=[],this.nextProductionName="",this.nextProductionOccurrence=0,this.found=!1,this.isAtEndOfPath=!1}startWalking(){if(this.found=!1,this.path.ruleStack[0]!==this.topProd.name)throw Error("The path does not start with the walker's top Rule!");return this.ruleStack=Be(this.path.ruleStack).reverse(),this.occurrenceStack=Be(this.path.occurrenceStack).reverse(),this.ruleStack.pop(),this.occurrenceStack.pop(),this.updateExpectedNext(),this.walk(this.topProd),this.possibleTokTypes}walk(e,n=[]){this.found||super.walk(e,n)}walkProdRef(e,n,r){if(e.referencedRule.name===this.nextProductionName&&e.idx===this.nextProductionOccurrence){const i=n.concat(r);this.updateExpectedNext(),this.walk(e.referencedRule,i)}}updateExpectedNext(){oe(this.ruleStack)?(this.nextProductionName="",this.nextProductionOccurrence=0,this.isAtEndOfPath=!0):(this.nextProductionName=this.ruleStack.pop(),this.nextProductionOccurrence=this.occurrenceStack.pop())}}class Iy extends _y{constructor(e,n){super(e,n),this.path=n,this.nextTerminalName="",this.nextTerminalOccurrence=0,this.nextTerminalName=this.path.lastTok.name,this.nextTerminalOccurrence=this.path.lastTokOccurrence}walkTerminal(e,n,r){if(this.isAtEndOfPath&&e.terminalType.name===this.nextTerminalName&&e.idx===this.nextTerminalOccurrence&&!this.found){const i=n.concat(r),s=new nt({definition:i});this.possibleTokTypes=cs(s),this.found=!0}}}class Ba extends ja{constructor(e,n){super(),this.topRule=e,this.occurrence=n,this.result={token:void 0,occurrence:void 0,isEndOfRule:void 0}}startWalking(){return this.walk(this.topRule),this.result}}class $y extends Ba{walkMany(e,n,r){if(e.idx===this.occurrence){const i=bt(n.concat(r));this.result.isEndOfRule=i===void 0,i instanceof ue&&(this.result.token=i.terminalType,this.result.occurrence=i.idx)}else super.walkMany(e,n,r)}}class Su extends Ba{walkManySep(e,n,r){if(e.idx===this.occurrence){const i=bt(n.concat(r));this.result.isEndOfRule=i===void 0,i instanceof ue&&(this.result.token=i.terminalType,this.result.occurrence=i.idx)}else super.walkManySep(e,n,r)}}class Py extends Ba{walkAtLeastOne(e,n,r){if(e.idx===this.occurrence){const i=bt(n.concat(r));this.result.isEndOfRule=i===void 0,i instanceof ue&&(this.result.token=i.terminalType,this.result.occurrence=i.idx)}else super.walkAtLeastOne(e,n,r)}}class Cu extends Ba{walkAtLeastOneSep(e,n,r){if(e.idx===this.occurrence){const i=bt(n.concat(r));this.result.isEndOfRule=i===void 0,i instanceof ue&&(this.result.token=i.terminalType,this.result.occurrence=i.idx)}else super.walkAtLeastOneSep(e,n,r)}}function Wo(t,e,n=[]){n=Be(n);let r=[],i=0;function s(o){return o.concat(Fe(t,i+1))}function a(o){const c=Wo(s(o),e,n);return r.concat(c)}for(;n.length<e&&i<t.length;){const o=t[i];if(o instanceof nt)return a(o.definition);if(o instanceof Xe)return a(o.definition);if(o instanceof ze)r=a(o.definition);else if(o instanceof ft){const c=o.definition.concat([new Ae({definition:o.definition})]);return a(c)}else if(o instanceof ht){const c=[new nt({definition:o.definition}),new Ae({definition:[new ue({terminalType:o.separator})].concat(o.definition)})];return a(c)}else if(o instanceof rt){const c=o.definition.concat([new Ae({definition:[new ue({terminalType:o.separator})].concat(o.definition)})]);r=a(c)}else if(o instanceof Ae){const c=o.definition.concat([new Ae({definition:o.definition})]);r=a(c)}else{if(o instanceof it)return j(o.definition,c=>{oe(c.definition)===!1&&(r=a(c.definition))}),r;if(o instanceof ue)n.push(o.terminalType);else throw Error("non exhaustive match")}i++}return r.push({partialPath:n,suffixDef:Fe(t,i)}),r}function gh(t,e,n,r){const i="EXIT_NONE_TERMINAL",s=[i],a="EXIT_ALTERNATIVE";let o=!1;const c=e.length,l=c-r-1,u=[],f=[];for(f.push({idx:-1,def:t,ruleStack:[],occurrenceStack:[]});!oe(f);){const m=f.pop();if(m===a){o&&zn(f).idx<=l&&f.pop();continue}const g=m.def,A=m.idx,N=m.ruleStack,$=m.occurrenceStack;if(oe(g))continue;const w=g[0];if(w===i){const O={idx:A,def:Fe(g),ruleStack:Bi(N),occurrenceStack:Bi($)};f.push(O)}else if(w instanceof ue)if(A<c-1){const O=A+1,b=e[O];if(n(b,w.terminalType)){const x={idx:O,def:Fe(g),ruleStack:N,occurrenceStack:$};f.push(x)}}else if(A===c-1)u.push({nextTokenType:w.terminalType,nextTokenOccurrence:w.idx,ruleStack:N,occurrenceStack:$}),o=!0;else throw Error("non exhaustive match");else if(w instanceof Xe){const O=Be(N);O.push(w.nonTerminalName);const b=Be($);b.push(w.idx);const x={idx:A,def:w.definition.concat(s,Fe(g)),ruleStack:O,occurrenceStack:b};f.push(x)}else if(w instanceof ze){const O={idx:A,def:Fe(g),ruleStack:N,occurrenceStack:$};f.push(O),f.push(a);const b={idx:A,def:w.definition.concat(Fe(g)),ruleStack:N,occurrenceStack:$};f.push(b)}else if(w instanceof ft){const O=new Ae({definition:w.definition,idx:w.idx}),b=w.definition.concat([O],Fe(g)),x={idx:A,def:b,ruleStack:N,occurrenceStack:$};f.push(x)}else if(w instanceof ht){const O=new ue({terminalType:w.separator}),b=new Ae({definition:[O].concat(w.definition),idx:w.idx}),x=w.definition.concat([b],Fe(g)),X={idx:A,def:x,ruleStack:N,occurrenceStack:$};f.push(X)}else if(w instanceof rt){const O={idx:A,def:Fe(g),ruleStack:N,occurrenceStack:$};f.push(O),f.push(a);const b=new ue({terminalType:w.separator}),x=new Ae({definition:[b].concat(w.definition),idx:w.idx}),X=w.definition.concat([x],Fe(g)),te={idx:A,def:X,ruleStack:N,occurrenceStack:$};f.push(te)}else if(w instanceof Ae){const O={idx:A,def:Fe(g),ruleStack:N,occurrenceStack:$};f.push(O),f.push(a);const b=new Ae({definition:w.definition,idx:w.idx}),x=w.definition.concat([b],Fe(g)),X={idx:A,def:x,ruleStack:N,occurrenceStack:$};f.push(X)}else if(w instanceof it)for(let O=w.definition.length-1;O>=0;O--){const b=w.definition[O],x={idx:A,def:b.definition.concat(Fe(g)),ruleStack:N,occurrenceStack:$};f.push(x),f.push(a)}else if(w instanceof nt)f.push({idx:A,def:w.definition.concat(Fe(g)),ruleStack:N,occurrenceStack:$});else if(w instanceof ai)f.push(Ly(w,A,N,$));else throw Error("non exhaustive match")}return u}function Ly(t,e,n,r){const i=Be(n);i.push(t.name);const s=Be(r);return s.push(1),{idx:e,def:t.definition,ruleStack:i,occurrenceStack:s}}var me;(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"})(me||(me={}));function Pl(t){if(t instanceof ze||t==="Option")return me.OPTION;if(t instanceof Ae||t==="Repetition")return me.REPETITION;if(t instanceof ft||t==="RepetitionMandatory")return me.REPETITION_MANDATORY;if(t instanceof ht||t==="RepetitionMandatoryWithSeparator")return me.REPETITION_MANDATORY_WITH_SEPARATOR;if(t instanceof rt||t==="RepetitionWithSeparator")return me.REPETITION_WITH_SEPARATOR;if(t instanceof it||t==="Alternation")return me.ALTERNATION;throw Error("non exhaustive match")}function ku(t){const{occurrence:e,rule:n,prodType:r,maxLookahead:i}=t,s=Pl(r);return s===me.ALTERNATION?qa(e,n,i):Wa(e,n,s,i)}function Oy(t,e,n,r,i,s){const a=qa(t,e,n),o=Rh(a)?fa:ls;return s(a,r,o,i)}function xy(t,e,n,r,i,s){const a=Wa(t,e,i,n),o=Rh(a)?fa:ls;return s(a[0],o,r)}function Dy(t,e,n,r){const i=t.length,s=Nt(t,a=>Nt(a,o=>o.length===1));if(e)return function(a){const o=M(a,c=>c.GATE);for(let c=0;c<i;c++){const l=t[c],u=l.length,f=o[c];if(!(f!==void 0&&f.call(this)===!1))e:for(let m=0;m<u;m++){const g=l[m],A=g.length;for(let N=0;N<A;N++){const $=this.LA(N+1);if(n($,g[N])===!1)continue e}return c}}};if(s&&!r){const a=M(t,c=>yt(c)),o=Ye(a,(c,l,u)=>(j(l,f=>{B(c,f.tokenTypeIdx)||(c[f.tokenTypeIdx]=u),j(f.categoryMatches,m=>{B(c,m)||(c[m]=u)})}),c),{});return function(){const c=this.LA(1);return o[c.tokenTypeIdx]}}else return function(){for(let a=0;a<i;a++){const o=t[a],c=o.length;e:for(let l=0;l<c;l++){const u=o[l],f=u.length;for(let m=0;m<f;m++){const g=this.LA(m+1);if(n(g,u[m])===!1)continue e}return a}}}}function My(t,e,n){const r=Nt(t,s=>s.length===1),i=t.length;if(r&&!n){const s=yt(t);if(s.length===1&&oe(s[0].categoryMatches)){const o=s[0].tokenTypeIdx;return function(){return this.LA(1).tokenTypeIdx===o}}else{const a=Ye(s,(o,c,l)=>(o[c.tokenTypeIdx]=!0,j(c.categoryMatches,u=>{o[u]=!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 c=0;c<o;c++){const l=this.LA(c+1);if(e(l,a[c])===!1)continue e}return!0}return!1}}class Fy extends ja{constructor(e,n,r){super(),this.topProd=e,this.targetOccurrence=n,this.targetProdType=r}startWalking(){return this.walk(this.topProd),this.restDef}checkIsTarget(e,n,r,i){return e.idx===this.targetOccurrence&&this.targetProdType===n?(this.restDef=r.concat(i),!0):!1}walkOption(e,n,r){this.checkIsTarget(e,me.OPTION,n,r)||super.walkOption(e,n,r)}walkAtLeastOne(e,n,r){this.checkIsTarget(e,me.REPETITION_MANDATORY,n,r)||super.walkOption(e,n,r)}walkAtLeastOneSep(e,n,r){this.checkIsTarget(e,me.REPETITION_MANDATORY_WITH_SEPARATOR,n,r)||super.walkOption(e,n,r)}walkMany(e,n,r){this.checkIsTarget(e,me.REPETITION,n,r)||super.walkOption(e,n,r)}walkManySep(e,n,r){this.checkIsTarget(e,me.REPETITION_WITH_SEPARATOR,n,r)||super.walkOption(e,n,r)}}class yh extends oi{constructor(e,n,r){super(),this.targetOccurrence=e,this.targetProdType=n,this.targetRef=r,this.result=[]}checkIsTarget(e,n){e.idx===this.targetOccurrence&&this.targetProdType===n&&(this.targetRef===void 0||e===this.targetRef)&&(this.result=e.definition)}visitOption(e){this.checkIsTarget(e,me.OPTION)}visitRepetition(e){this.checkIsTarget(e,me.REPETITION)}visitRepetitionMandatory(e){this.checkIsTarget(e,me.REPETITION_MANDATORY)}visitRepetitionMandatoryWithSeparator(e){this.checkIsTarget(e,me.REPETITION_MANDATORY_WITH_SEPARATOR)}visitRepetitionWithSeparator(e){this.checkIsTarget(e,me.REPETITION_WITH_SEPARATOR)}visitAlternation(e){this.checkIsTarget(e,me.ALTERNATION)}}function Nu(t){const e=new Array(t);for(let n=0;n<t;n++)e[n]=[];return e}function mo(t){let e=[""];for(let n=0;n<t.length;n++){const r=t[n],i=[];for(let s=0;s<e.length;s++){const a=e[s];i.push(a+"_"+r.tokenTypeIdx);for(let o=0;o<r.categoryMatches.length;o++){const c="_"+r.categoryMatches[o];i.push(a+c)}}e=i}return e}function Gy(t,e,n){for(let r=0;r<t.length;r++){if(r===n)continue;const i=t[r];for(let s=0;s<e.length;s++){const a=e[s];if(i[a]===!0)return!1}}return!0}function Th(t,e){const n=M(t,a=>Wo([a],1)),r=Nu(n.length),i=M(n,a=>{const o={};return j(a,c=>{const l=mo(c.partialPath);j(l,u=>{o[u]=!0})}),o});let s=n;for(let a=1;a<=e;a++){const o=s;s=Nu(o.length);for(let c=0;c<o.length;c++){const l=o[c];for(let u=0;u<l.length;u++){const f=l[u].partialPath,m=l[u].suffixDef,g=mo(f);if(Gy(i,g,c)||oe(m)||f.length===e){const N=r[c];if(Vo(N,f)===!1){N.push(f);for(let $=0;$<g.length;$++){const w=g[$];i[c][w]=!0}}}else{const N=Wo(m,a+1,f);s[c]=s[c].concat(N),j(N,$=>{const w=mo($.partialPath);j(w,O=>{i[c][O]=!0})})}}}}return r}function qa(t,e,n,r){const i=new yh(t,me.ALTERNATION,r);return e.accept(i),Th(i.result,n)}function Wa(t,e,n,r){const i=new yh(t,n);e.accept(i);const s=i.result,o=new Fy(e,t,n).startWalking(),c=new nt({definition:s}),l=new nt({definition:o});return Th([c,l],r)}function Vo(t,e){e:for(let n=0;n<t.length;n++){const r=t[n];if(r.length===e.length){for(let i=0;i<r.length;i++){const s=e[i],a=r[i];if((s===a||a.categoryMatchesMap[s.tokenTypeIdx]!==void 0)===!1)continue e}return!0}}return!1}function Uy(t,e){return t.length<e.length&&Nt(t,(n,r)=>{const i=e[r];return n===i||i.categoryMatchesMap[n.tokenTypeIdx]})}function Rh(t){return Nt(t,e=>Nt(e,n=>Nt(n,r=>oe(r.categoryMatches))))}function jy(t){const e=t.lookaheadStrategy.validate({rules:t.rules,tokenTypes:t.tokenTypes,grammarName:t.grammarName});return M(e,n=>Object.assign({type:Je.CUSTOM_LOOKAHEAD_VALIDATION},n))}function zy(t,e,n,r){const i=lt(t,c=>By(c,n)),s=tT(t,e,n),a=lt(t,c=>Jy(c,n)),o=lt(t,c=>Vy(c,t,r,n));return i.concat(s,a,o)}function By(t,e){const n=new Wy;t.accept(n);const r=n.allProductions,i=Em(r,qy),s=_t(i,o=>o.length>1);return M(Le(s),o=>{const c=bt(o),l=e.buildDuplicateFoundError(t,o),u=Ot(c),f={message:l,type:Je.DUPLICATE_PRODUCTIONS,ruleName:t.name,dslName:u,occurrence:c.idx},m=vh(c);return m&&(f.parameter=m),f})}function qy(t){return`${Ot(t)}_#_${t.idx}_#_${vh(t)}`}function vh(t){return t instanceof ue?t.terminalType.name:t instanceof Xe?t.nonTerminalName:""}class Wy extends oi{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 Vy(t,e,n,r){const i=[];if(Ye(e,(a,o)=>o.name===t.name?a+1:a,0)>1){const a=r.buildDuplicateRuleNameError({topLevelRule:t,grammarName:n});i.push({message:a,type:Je.DUPLICATE_RULE_NAME,ruleName:t.name})}return i}function Ky(t,e,n){const r=[];let i;return Qe(e,t)||(i=`Invalid rule override, rule: ->${t}<- cannot be overridden in the grammar: ->${n}<-as it is not defined in any of the super grammars `,r.push({message:i,type:Je.INVALID_RULE_OVERRIDE,ruleName:t})),r}function Eh(t,e,n,r=[]){const i=[],s=Zs(e.definition);if(oe(s))return[];{const a=t.name;Qe(s,t)&&i.push({message:n.buildLeftRecursionError({topLevelRule:t,leftRecursionPath:r}),type:Je.LEFT_RECURSION,ruleName:a});const c=Oa(s,r.concat([t])),l=lt(c,u=>{const f=Be(r);return f.push(u),Eh(t,u,n,f)});return i.concat(l)}}function Zs(t){let e=[];if(oe(t))return e;const n=bt(t);if(n instanceof Xe)e.push(n.referencedRule);else if(n instanceof nt||n instanceof ze||n instanceof ft||n instanceof ht||n instanceof rt||n instanceof Ae)e=e.concat(Zs(n.definition));else if(n instanceof it)e=yt(M(n.definition,s=>Zs(s.definition)));else if(!(n instanceof ue))throw Error("non exhaustive match");const r=ua(n),i=t.length>1;if(r&&i){const s=Fe(t);return e.concat(Zs(s))}else return e}class Ll extends oi{constructor(){super(...arguments),this.alternations=[]}visitAlternation(e){this.alternations.push(e)}}function Hy(t,e){const n=new Ll;t.accept(n);const r=n.alternations;return lt(r,s=>{const a=Bi(s.definition);return lt(a,(o,c)=>{const l=gh([o],[],ls,1);return oe(l)?[{message:e.buildEmptyAlternationError({topLevelRule:t,alternation:s,emptyChoiceIdx:c}),type:Je.NONE_LAST_EMPTY_ALT,ruleName:t.name,occurrence:s.idx,alternative:c+1}]:[]})})}function Yy(t,e,n){const r=new Ll;t.accept(r);let i=r.alternations;return i=xa(i,a=>a.ignoreAmbiguities===!0),lt(i,a=>{const o=a.idx,c=a.maxLookahead||e,l=qa(o,t,c,a),u=Zy(l,a,t,n),f=eT(l,a,t,n);return u.concat(f)})}class Xy extends oi{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 Jy(t,e){const n=new Ll;t.accept(n);const r=n.alternations;return lt(r,s=>s.definition.length>255?[{message:e.buildTooManyAlternativesError({topLevelRule:t,alternation:s}),type:Je.TOO_MANY_ALTS,ruleName:t.name,occurrence:s.idx}]:[])}function Qy(t,e,n){const r=[];return j(t,i=>{const s=new Xy;i.accept(s);const a=s.allProductions;j(a,o=>{const c=Pl(o),l=o.maxLookahead||e,u=o.idx,m=Wa(u,i,c,l)[0];if(oe(yt(m))){const g=n.buildEmptyRepetitionError({topLevelRule:i,repetition:o});r.push({message:g,type:Je.NO_NON_EMPTY_LOOKAHEAD,ruleName:i.name})}})}),r}function Zy(t,e,n,r){const i=[],s=Ye(t,(o,c,l)=>(e.definition[l].ignoreAmbiguities===!0||j(c,u=>{const f=[l];j(t,(m,g)=>{l!==g&&Vo(m,u)&&e.definition[g].ignoreAmbiguities!==!0&&f.push(g)}),f.length>1&&!Vo(i,u)&&(i.push(u),o.push({alts:f,path:u}))}),o),[]);return M(s,o=>{const c=M(o.alts,u=>u+1);return{message:r.buildAlternationAmbiguityError({topLevelRule:n,alternation:e,ambiguityIndices:c,prefixPath:o.path}),type:Je.AMBIGUOUS_ALTS,ruleName:n.name,occurrence:e.idx,alternatives:o.alts}})}function eT(t,e,n,r){const i=Ye(t,(a,o,c)=>{const l=M(o,u=>({idx:c,path:u}));return a.concat(l)},[]);return is(lt(i,a=>{if(e.definition[a.idx].ignoreAmbiguities===!0)return[];const c=a.idx,l=a.path,u=dt(i,m=>e.definition[m.idx].ignoreAmbiguities!==!0&&m.idx<c&&Uy(m.path,l));return M(u,m=>{const g=[m.idx+1,c+1],A=e.idx===0?"":e.idx;return{message:r.buildAlternationPrefixAmbiguityError({topLevelRule:n,alternation:e,ambiguityIndices:g,prefixPath:m.path}),type:Je.AMBIGUOUS_PREFIX_ALTS,ruleName:n.name,occurrence:A,alternatives:g}})}))}function tT(t,e,n){const r=[],i=M(e,s=>s.name);return j(t,s=>{const a=s.name;if(Qe(i,a)){const o=n.buildNamespaceConflictError(s);r.push({message:o,type:Je.CONFLICT_TOKENS_RULES_NAMESPACE,ruleName:a})}}),r}function nT(t){const e=Al(t,{errMsgProvider:Ny}),n={};return j(t.rules,r=>{n[r.name]=r}),wy(n,e.errMsgProvider)}function rT(t){return t=Al(t,{errMsgProvider:Un}),zy(t.rules,t.tokenTypes,t.errMsgProvider,t.grammarName)}const Ah="MismatchedTokenException",Sh="NoViableAltException",Ch="EarlyExitException",kh="NotAllInputParsedException",Nh=[Ah,Sh,Ch,kh];Object.freeze(Nh);function ha(t){return Qe(Nh,t.name)}class Va extends Error{constructor(e,n){super(e),this.token=n,this.resyncedTokens=[],Object.setPrototypeOf(this,new.target.prototype),Error.captureStackTrace&&Error.captureStackTrace(this,this.constructor)}}class wh extends Va{constructor(e,n,r){super(e,n),this.previousToken=r,this.name=Ah}}class iT extends Va{constructor(e,n,r){super(e,n),this.previousToken=r,this.name=Sh}}class sT extends Va{constructor(e,n){super(e,n),this.name=kh}}class aT extends Va{constructor(e,n,r){super(e,n),this.previousToken=r,this.name=Ch}}const go={},bh="InRuleRecoveryException";class oT extends Error{constructor(e){super(e),this.name=bh}}class cT{initRecoverable(e){this.firstAfterRepMap={},this.resyncFollows={},this.recoveryEnabled=B(e,"recoveryEnabled")?e.recoveryEnabled:rn.recoveryEnabled,this.recoveryEnabled&&(this.attemptInRepetitionRecovery=lT)}getTokenToInsert(e){const n=$l(e,"",NaN,NaN,NaN,NaN,NaN,NaN);return n.isInsertedInRecovery=!0,n}canTokenTypeBeInsertedInRecovery(e){return!0}canTokenTypeBeDeletedInRecovery(e){return!0}tryInRepetitionRecovery(e,n,r,i){const s=this.findReSyncTokenType(),a=this.exportLexerState(),o=[];let c=!1;const l=this.LA(1);let u=this.LA(1);const f=()=>{const m=this.LA(0),g=this.errorMessageProvider.buildMismatchTokenMessage({expected:i,actual:l,previous:m,ruleName:this.getCurrRuleFullName()}),A=new wh(g,l,this.LA(0));A.resyncedTokens=Bi(o),this.SAVE_ERROR(A)};for(;!c;)if(this.tokenMatcher(u,i)){f();return}else if(r.call(this)){f(),e.apply(this,n);return}else this.tokenMatcher(u,s)?c=!0:(u=this.SKIP_TOKEN(),this.addToResyncTokens(u,o));this.importLexerState(a)}shouldInRepetitionRecoveryBeTried(e,n,r){return!(r===!1||this.tokenMatcher(this.LA(1),e)||this.isBackTracking()||this.canPerformInRuleRecovery(e,this.getFollowsForInRuleRecovery(e,n)))}getFollowsForInRuleRecovery(e,n){const r=this.getCurrentGrammarPath(e,n);return this.getNextPossibleTokenTypes(r)}tryInRuleRecovery(e,n){if(this.canRecoverWithSingleTokenInsertion(e,n))return this.getTokenToInsert(e);if(this.canRecoverWithSingleTokenDeletion(e)){const r=this.SKIP_TOKEN();return this.consumeToken(),r}throw new oT("sad sad panda")}canPerformInRuleRecovery(e,n){return this.canRecoverWithSingleTokenInsertion(e,n)||this.canRecoverWithSingleTokenDeletion(e)}canRecoverWithSingleTokenInsertion(e,n){if(!this.canTokenTypeBeInsertedInRecovery(e)||oe(n))return!1;const r=this.LA(1);return zr(n,s=>this.tokenMatcher(r,s))!==void 0}canRecoverWithSingleTokenDeletion(e){return this.canTokenTypeBeDeletedInRecovery(e)?this.tokenMatcher(this.LA(2),e):!1}isInCurrentRuleReSyncSet(e){const n=this.getCurrFollowKey(),r=this.getFollowSetFromFollowKey(n);return Qe(r,e)}findReSyncTokenType(){const e=this.flattenFollowSet();let n=this.LA(1),r=2;for(;;){const i=zr(e,s=>mh(n,s));if(i!==void 0)return i;n=this.LA(r),r++}}getCurrFollowKey(){if(this.RULE_STACK.length===1)return go;const e=this.getLastExplicitRuleShortName(),n=this.getLastExplicitRuleOccurrenceIndex(),r=this.getPreviousExplicitRuleShortName();return{ruleName:this.shortRuleNameToFullName(e),idxInCallingRule:n,inRule:this.shortRuleNameToFullName(r)}}buildFullFollowKeyStack(){const e=this.RULE_STACK,n=this.RULE_OCCURRENCE_STACK;return M(e,(r,i)=>i===0?go:{ruleName:this.shortRuleNameToFullName(r),idxInCallingRule:n[i],inRule:this.shortRuleNameToFullName(e[i-1])})}flattenFollowSet(){const e=M(this.buildFullFollowKeyStack(),n=>this.getFollowSetFromFollowKey(n));return yt(e)}getFollowSetFromFollowKey(e){if(e===go)return[vn];const n=e.ruleName+e.idxInCallingRule+sh+e.inRule;return this.resyncFollows[n]}addToResyncTokens(e,n){return this.tokenMatcher(e,vn)||n.push(e),n}reSyncTo(e){const n=[];let r=this.LA(1);for(;this.tokenMatcher(r,e)===!1;)r=this.SKIP_TOKEN(),this.addToResyncTokens(r,n);return Bi(n)}attemptInRepetitionRecovery(e,n,r,i,s,a,o){}getCurrentGrammarPath(e,n){const r=this.getHumanReadableRuleStack(),i=Be(this.RULE_OCCURRENCE_STACK);return{ruleStack:r,occurrenceStack:i,lastTok:e,lastTokOccurrence:n}}getHumanReadableRuleStack(){return M(this.RULE_STACK,e=>this.shortRuleNameToFullName(e))}}function lT(t,e,n,r,i,s,a){const o=this.getKeyForAutomaticLookahead(r,i);let c=this.firstAfterRepMap[o];if(c===void 0){const m=this.getCurrRuleFullName(),g=this.getGAstProductions()[m];c=new s(g,i).startWalking(),this.firstAfterRepMap[o]=c}let l=c.token,u=c.occurrence;const f=c.isEndOfRule;this.RULE_STACK.length===1&&f&&l===void 0&&(l=vn,u=1),!(l===void 0||u===void 0)&&this.shouldInRepetitionRecoveryBeTried(l,u,a)&&this.tryInRepetitionRecovery(t,e,n,l)}const uT=4,Sn=8,_h=1<<Sn,Ih=2<<Sn,Ko=3<<Sn,Ho=4<<Sn,Yo=5<<Sn,ea=6<<Sn;function yo(t,e,n){return n|e|t}class Ol{constructor(e){var n;this.maxLookahead=(n=e==null?void 0:e.maxLookahead)!==null&&n!==void 0?n:rn.maxLookahead}validate(e){const n=this.validateNoLeftRecursion(e.rules);if(oe(n)){const r=this.validateEmptyOrAlternatives(e.rules),i=this.validateAmbiguousAlternationAlternatives(e.rules,this.maxLookahead),s=this.validateSomeNonEmptyLookaheadPath(e.rules,this.maxLookahead);return[...n,...r,...i,...s]}return n}validateNoLeftRecursion(e){return lt(e,n=>Eh(n,n,Un))}validateEmptyOrAlternatives(e){return lt(e,n=>Hy(n,Un))}validateAmbiguousAlternationAlternatives(e,n){return lt(e,r=>Yy(r,n,Un))}validateSomeNonEmptyLookaheadPath(e,n){return Qy(e,n,Un)}buildLookaheadForAlternation(e){return Oy(e.prodOccurrence,e.rule,e.maxLookahead,e.hasPredicates,e.dynamicTokensEnabled,Dy)}buildLookaheadForOptional(e){return xy(e.prodOccurrence,e.rule,e.maxLookahead,e.dynamicTokensEnabled,Pl(e.prodType),My)}}class dT{initLooksAhead(e){this.dynamicTokensEnabled=B(e,"dynamicTokensEnabled")?e.dynamicTokensEnabled:rn.dynamicTokensEnabled,this.maxLookahead=B(e,"maxLookahead")?e.maxLookahead:rn.maxLookahead,this.lookaheadStrategy=B(e,"lookaheadStrategy")?e.lookaheadStrategy:new Ol({maxLookahead:this.maxLookahead}),this.lookAheadFuncsCache=new Map}preComputeLookaheadFunctions(e){j(e,n=>{this.TRACE_INIT(`${n.name} Rule Lookahead`,()=>{const{alternation:r,repetition:i,option:s,repetitionMandatory:a,repetitionMandatoryWithSeparator:o,repetitionWithSeparator:c}=hT(n);j(r,l=>{const u=l.idx===0?"":l.idx;this.TRACE_INIT(`${Ot(l)}${u}`,()=>{const f=this.lookaheadStrategy.buildLookaheadForAlternation({prodOccurrence:l.idx,rule:n,maxLookahead:l.maxLookahead||this.maxLookahead,hasPredicates:l.hasPredicates,dynamicTokensEnabled:this.dynamicTokensEnabled}),m=yo(this.fullRuleNameToShort[n.name],_h,l.idx);this.setLaFuncCache(m,f)})}),j(i,l=>{this.computeLookaheadFunc(n,l.idx,Ko,"Repetition",l.maxLookahead,Ot(l))}),j(s,l=>{this.computeLookaheadFunc(n,l.idx,Ih,"Option",l.maxLookahead,Ot(l))}),j(a,l=>{this.computeLookaheadFunc(n,l.idx,Ho,"RepetitionMandatory",l.maxLookahead,Ot(l))}),j(o,l=>{this.computeLookaheadFunc(n,l.idx,ea,"RepetitionMandatoryWithSeparator",l.maxLookahead,Ot(l))}),j(c,l=>{this.computeLookaheadFunc(n,l.idx,Yo,"RepetitionWithSeparator",l.maxLookahead,Ot(l))})})})}computeLookaheadFunc(e,n,r,i,s,a){this.TRACE_INIT(`${a}${n===0?"":n}`,()=>{const o=this.lookaheadStrategy.buildLookaheadForOptional({prodOccurrence:n,rule:e,maxLookahead:s||this.maxLookahead,dynamicTokensEnabled:this.dynamicTokensEnabled,prodType:i}),c=yo(this.fullRuleNameToShort[e.name],r,n);this.setLaFuncCache(c,o)})}getKeyForAutomaticLookahead(e,n){const r=this.getLastExplicitRuleShortName();return yo(r,e,n)}getLaFuncFromCache(e){return this.lookAheadFuncsCache.get(e)}setLaFuncCache(e,n){this.lookAheadFuncsCache.set(e,n)}}class fT extends oi{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 Ms=new fT;function hT(t){Ms.reset(),t.accept(Ms);const e=Ms.dslMethods;return Ms.reset(),e}function wu(t,e){isNaN(t.startOffset)===!0?(t.startOffset=e.startOffset,t.endOffset=e.endOffset):t.endOffset<e.endOffset&&(t.endOffset=e.endOffset)}function bu(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 pT(t,e,n){t.children[n]===void 0?t.children[n]=[e]:t.children[n].push(e)}function mT(t,e,n){t.children[e]===void 0?t.children[e]=[n]:t.children[e].push(n)}const gT="name";function $h(t,e){Object.defineProperty(t,gT,{enumerable:!1,configurable:!0,writable:!1,value:e})}function yT(t,e){const n=jr(t),r=n.length;for(let i=0;i<r;i++){const s=n[i],a=t[s],o=a.length;for(let c=0;c<o;c++){const l=a[c];l.tokenTypeIdx===void 0&&this[l.name](l.children,e)}}}function TT(t,e){const n=function(){};$h(n,t+"BaseSemantics");const r={visit:function(i,s){if(je(i)&&(i=i[0]),!tn(i))return this[i.name](i.children,s)},validateVisitor:function(){const i=vT(this,e);if(!oe(i)){const s=M(i,a=>a.msg);throw Error(`Errors Detected in CST Visitor <${this.constructor.name}>:
90
+ ${s.join(`
91
+
92
+ `).replace(/\n/g,`
93
+ `)}`)}}};return n.prototype=r,n.prototype.constructor=n,n._RULE_NAMES=e,n}function RT(t,e,n){const r=function(){};$h(r,t+"BaseSemanticsWithDefaults");const i=Object.create(n.prototype);return j(e,s=>{i[s]=yT}),r.prototype=i,r.prototype.constructor=r,r}var Xo;(function(t){t[t.REDUNDANT_METHOD=0]="REDUNDANT_METHOD",t[t.MISSING_METHOD=1]="MISSING_METHOD"})(Xo||(Xo={}));function vT(t,e){return ET(t,e)}function ET(t,e){const n=dt(e,i=>Yn(t[i])===!1),r=M(n,i=>({msg:`Missing visitor method: <${i}> on ${t.constructor.name} CST Visitor.`,type:Xo.MISSING_METHOD,methodName:i}));return is(r)}class AT{initTreeBuilder(e){if(this.CST_STACK=[],this.outputCst=e.outputCst,this.nodeLocationTracking=B(e,"nodeLocationTracking")?e.nodeLocationTracking:rn.nodeLocationTracking,!this.outputCst)this.cstInvocationStateUpdate=Me,this.cstFinallyStateUpdate=Me,this.cstPostTerminal=Me,this.cstPostNonTerminal=Me,this.cstPostRule=Me;else if(/full/i.test(this.nodeLocationTracking))this.recoveryEnabled?(this.setNodeLocationFromToken=bu,this.setNodeLocationFromNode=bu,this.cstPostRule=Me,this.setInitialNodeLocation=this.setInitialNodeLocationFullRecovery):(this.setNodeLocationFromToken=Me,this.setNodeLocationFromNode=Me,this.cstPostRule=this.cstPostRuleFull,this.setInitialNodeLocation=this.setInitialNodeLocationFullRegular);else if(/onlyOffset/i.test(this.nodeLocationTracking))this.recoveryEnabled?(this.setNodeLocationFromToken=wu,this.setNodeLocationFromNode=wu,this.cstPostRule=Me,this.setInitialNodeLocation=this.setInitialNodeLocationOnlyOffsetRecovery):(this.setNodeLocationFromToken=Me,this.setNodeLocationFromNode=Me,this.cstPostRule=this.cstPostRuleOnlyOffset,this.setInitialNodeLocation=this.setInitialNodeLocationOnlyOffsetRegular);else if(/none/i.test(this.nodeLocationTracking))this.setNodeLocationFromToken=Me,this.setNodeLocationFromNode=Me,this.cstPostRule=Me,this.setInitialNodeLocation=Me;else throw Error(`Invalid <nodeLocationTracking> config option: "${e.nodeLocationTracking}"`)}setInitialNodeLocationOnlyOffsetRecovery(e){e.location={startOffset:NaN,endOffset:NaN}}setInitialNodeLocationOnlyOffsetRegular(e){e.location={startOffset:this.LA(1).startOffset,endOffset:NaN}}setInitialNodeLocationFullRecovery(e){e.location={startOffset:NaN,startLine:NaN,startColumn:NaN,endOffset:NaN,endLine:NaN,endColumn:NaN}}setInitialNodeLocationFullRegular(e){const n=this.LA(1);e.location={startOffset:n.startOffset,startLine:n.startLine,startColumn:n.startColumn,endOffset:NaN,endLine:NaN,endColumn:NaN}}cstInvocationStateUpdate(e){const n={name:e,children:Object.create(null)};this.setInitialNodeLocation(n),this.CST_STACK.push(n)}cstFinallyStateUpdate(){this.CST_STACK.pop()}cstPostRuleFull(e){const n=this.LA(0),r=e.location;r.startOffset<=n.startOffset?(r.endOffset=n.endOffset,r.endLine=n.endLine,r.endColumn=n.endColumn):(r.startOffset=NaN,r.startLine=NaN,r.startColumn=NaN)}cstPostRuleOnlyOffset(e){const n=this.LA(0),r=e.location;r.startOffset<=n.startOffset?r.endOffset=n.endOffset:r.startOffset=NaN}cstPostTerminal(e,n){const r=this.CST_STACK[this.CST_STACK.length-1];pT(r,n,e),this.setNodeLocationFromToken(r.location,n)}cstPostNonTerminal(e,n){const r=this.CST_STACK[this.CST_STACK.length-1];mT(r,n,e),this.setNodeLocationFromNode(r.location,e.location)}getBaseCstVisitorConstructor(){if(tn(this.baseCstVisitorConstructor)){const e=TT(this.className,jr(this.gastProductionsCache));return this.baseCstVisitorConstructor=e,e}return this.baseCstVisitorConstructor}getBaseCstVisitorConstructorWithDefaults(){if(tn(this.baseCstVisitorWithDefaultsConstructor)){const e=RT(this.className,jr(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 ST{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)):ma}LA(e){const n=this.currIdx+e;return n<0||this.tokVectorLength<=n?ma:this.tokVector[n]}consumeToken(){this.currIdx++}exportLexerState(){return this.currIdx}importLexerState(e){this.currIdx=e}resetLexerState(){this.currIdx=-1}moveToTerminatedState(){this.currIdx=this.tokVector.length-1}getLexerPosition(){return this.exportLexerState()}}class CT{ACTION(e){return e.call(this)}consume(e,n,r){return this.consumeInternal(n,e,r)}subrule(e,n,r){return this.subruleInternal(n,e,r)}option(e,n){return this.optionInternal(n,e)}or(e,n){return this.orInternal(n,e)}many(e,n){return this.manyInternal(e,n)}atLeastOne(e,n){return this.atLeastOneInternal(e,n)}CONSUME(e,n){return this.consumeInternal(e,0,n)}CONSUME1(e,n){return this.consumeInternal(e,1,n)}CONSUME2(e,n){return this.consumeInternal(e,2,n)}CONSUME3(e,n){return this.consumeInternal(e,3,n)}CONSUME4(e,n){return this.consumeInternal(e,4,n)}CONSUME5(e,n){return this.consumeInternal(e,5,n)}CONSUME6(e,n){return this.consumeInternal(e,6,n)}CONSUME7(e,n){return this.consumeInternal(e,7,n)}CONSUME8(e,n){return this.consumeInternal(e,8,n)}CONSUME9(e,n){return this.consumeInternal(e,9,n)}SUBRULE(e,n){return this.subruleInternal(e,0,n)}SUBRULE1(e,n){return this.subruleInternal(e,1,n)}SUBRULE2(e,n){return this.subruleInternal(e,2,n)}SUBRULE3(e,n){return this.subruleInternal(e,3,n)}SUBRULE4(e,n){return this.subruleInternal(e,4,n)}SUBRULE5(e,n){return this.subruleInternal(e,5,n)}SUBRULE6(e,n){return this.subruleInternal(e,6,n)}SUBRULE7(e,n){return this.subruleInternal(e,7,n)}SUBRULE8(e,n){return this.subruleInternal(e,8,n)}SUBRULE9(e,n){return this.subruleInternal(e,9,n)}OPTION(e){return this.optionInternal(e,0)}OPTION1(e){return this.optionInternal(e,1)}OPTION2(e){return this.optionInternal(e,2)}OPTION3(e){return this.optionInternal(e,3)}OPTION4(e){return this.optionInternal(e,4)}OPTION5(e){return this.optionInternal(e,5)}OPTION6(e){return this.optionInternal(e,6)}OPTION7(e){return this.optionInternal(e,7)}OPTION8(e){return this.optionInternal(e,8)}OPTION9(e){return this.optionInternal(e,9)}OR(e){return this.orInternal(e,0)}OR1(e){return this.orInternal(e,1)}OR2(e){return this.orInternal(e,2)}OR3(e){return this.orInternal(e,3)}OR4(e){return this.orInternal(e,4)}OR5(e){return this.orInternal(e,5)}OR6(e){return this.orInternal(e,6)}OR7(e){return this.orInternal(e,7)}OR8(e){return this.orInternal(e,8)}OR9(e){return this.orInternal(e,9)}MANY(e){this.manyInternal(0,e)}MANY1(e){this.manyInternal(1,e)}MANY2(e){this.manyInternal(2,e)}MANY3(e){this.manyInternal(3,e)}MANY4(e){this.manyInternal(4,e)}MANY5(e){this.manyInternal(5,e)}MANY6(e){this.manyInternal(6,e)}MANY7(e){this.manyInternal(7,e)}MANY8(e){this.manyInternal(8,e)}MANY9(e){this.manyInternal(9,e)}MANY_SEP(e){this.manySepFirstInternal(0,e)}MANY_SEP1(e){this.manySepFirstInternal(1,e)}MANY_SEP2(e){this.manySepFirstInternal(2,e)}MANY_SEP3(e){this.manySepFirstInternal(3,e)}MANY_SEP4(e){this.manySepFirstInternal(4,e)}MANY_SEP5(e){this.manySepFirstInternal(5,e)}MANY_SEP6(e){this.manySepFirstInternal(6,e)}MANY_SEP7(e){this.manySepFirstInternal(7,e)}MANY_SEP8(e){this.manySepFirstInternal(8,e)}MANY_SEP9(e){this.manySepFirstInternal(9,e)}AT_LEAST_ONE(e){this.atLeastOneInternal(0,e)}AT_LEAST_ONE1(e){return this.atLeastOneInternal(1,e)}AT_LEAST_ONE2(e){this.atLeastOneInternal(2,e)}AT_LEAST_ONE3(e){this.atLeastOneInternal(3,e)}AT_LEAST_ONE4(e){this.atLeastOneInternal(4,e)}AT_LEAST_ONE5(e){this.atLeastOneInternal(5,e)}AT_LEAST_ONE6(e){this.atLeastOneInternal(6,e)}AT_LEAST_ONE7(e){this.atLeastOneInternal(7,e)}AT_LEAST_ONE8(e){this.atLeastOneInternal(8,e)}AT_LEAST_ONE9(e){this.atLeastOneInternal(9,e)}AT_LEAST_ONE_SEP(e){this.atLeastOneSepFirstInternal(0,e)}AT_LEAST_ONE_SEP1(e){this.atLeastOneSepFirstInternal(1,e)}AT_LEAST_ONE_SEP2(e){this.atLeastOneSepFirstInternal(2,e)}AT_LEAST_ONE_SEP3(e){this.atLeastOneSepFirstInternal(3,e)}AT_LEAST_ONE_SEP4(e){this.atLeastOneSepFirstInternal(4,e)}AT_LEAST_ONE_SEP5(e){this.atLeastOneSepFirstInternal(5,e)}AT_LEAST_ONE_SEP6(e){this.atLeastOneSepFirstInternal(6,e)}AT_LEAST_ONE_SEP7(e){this.atLeastOneSepFirstInternal(7,e)}AT_LEAST_ONE_SEP8(e){this.atLeastOneSepFirstInternal(8,e)}AT_LEAST_ONE_SEP9(e){this.atLeastOneSepFirstInternal(9,e)}RULE(e,n,r=ga){if(Qe(this.definedRulesNames,e)){const a={message:Un.buildDuplicateRuleNameError({topLevelRule:e,grammarName:this.className}),type:Je.DUPLICATE_RULE_NAME,ruleName:e};this.definitionErrors.push(a)}this.definedRulesNames.push(e);const i=this.defineRule(e,n,r);return this[e]=i,i}OVERRIDE_RULE(e,n,r=ga){const i=Ky(e,this.definedRulesNames,this.className);this.definitionErrors=this.definitionErrors.concat(i);const s=this.defineRule(e,n,r);return this[e]=s,s}BACKTRACK(e,n){return function(){this.isBackTrackingStack.push(1);const r=this.saveRecogState();try{return e.apply(this,n),!0}catch(i){if(ha(i))return!1;throw i}finally{this.reloadRecogState(r),this.isBackTrackingStack.pop()}}}getGAstProductions(){return this.gastProductionsCache}getSerializedGastProductions(){return Pg(Le(this.gastProductionsCache))}}class kT{initRecognizerEngine(e,n){if(this.className=this.constructor.name,this.shortRuleNameToFull={},this.fullRuleNameToShort={},this.ruleShortNameIdx=256,this.tokenMatcher=fa,this.subruleIdx=0,this.definedRulesNames=[],this.tokensMap={},this.isBackTrackingStack=[],this.RULE_STACK=[],this.RULE_OCCURRENCE_STACK=[],this.gastProductionsCache={},B(n,"serializedGrammar"))throw Error(`The Parser's configuration can no longer contain a <serializedGrammar> property.
94
+ See: https://chevrotain.io/docs/changes/BREAKING_CHANGES.html#_6-0-0
95
+ For Further details.`);if(je(e)){if(oe(e))throw Error(`A Token Vocabulary cannot be empty.
96
+ Note that the first argument for the parser constructor
97
+ is no longer a Token vector (since v4.0).`);if(typeof e[0].startOffset=="number")throw Error(`The Parser constructor no longer accepts a token vector as the first argument.
98
+ See: https://chevrotain.io/docs/changes/BREAKING_CHANGES.html#_4-0-0
99
+ For Further details.`)}if(je(e))this.tokensMap=Ye(e,(s,a)=>(s[a.name]=a,s),{});else if(B(e,"modes")&&Nt(yt(Le(e.modes)),Sy)){const s=yt(Le(e.modes)),a=Sl(s);this.tokensMap=Ye(a,(o,c)=>(o[c.name]=c,o),{})}else if(Qp(e))this.tokensMap=Be(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=vn;const r=B(e,"modes")?yt(Le(e.modes)):Le(e),i=Nt(r,s=>oe(s.categoryMatches));this.tokenMatcher=i?fa:ls,us(Le(this.tokensMap))}defineRule(e,n,r){if(this.selfAnalysisDone)throw Error(`Grammar rule <${e}> may not be defined after the 'performSelfAnalysis' method has been called'
100
+ Make sure that all grammar rule definitions are done before 'performSelfAnalysis' is called.`);const i=B(r,"resyncEnabled")?r.resyncEnabled:ga.resyncEnabled,s=B(r,"recoveryValueFunc")?r.recoveryValueFunc:ga.recoveryValueFunc,a=this.ruleShortNameIdx<<uT+Sn;this.ruleShortNameIdx++,this.shortRuleNameToFull[a]=e,this.fullRuleNameToShort[e]=a;let o;return this.outputCst===!0?o=function(...u){try{this.ruleInvocationStateUpdate(a,e,this.subruleIdx),n.apply(this,u);const f=this.CST_STACK[this.CST_STACK.length-1];return this.cstPostRule(f),f}catch(f){return this.invokeRuleCatch(f,i,s)}finally{this.ruleFinallyStateUpdate()}}:o=function(...u){try{return this.ruleInvocationStateUpdate(a,e,this.subruleIdx),n.apply(this,u)}catch(f){return this.invokeRuleCatch(f,i,s)}finally{this.ruleFinallyStateUpdate()}},Object.assign(o,{ruleName:e,originalGrammarAction:n})}invokeRuleCatch(e,n,r){const i=this.RULE_STACK.length===1,s=n&&!this.isBackTracking()&&this.recoveryEnabled;if(ha(e)){const a=e;if(s){const o=this.findReSyncTokenType();if(this.isInCurrentRuleReSyncSet(o))if(a.resyncedTokens=this.reSyncTo(o),this.outputCst){const c=this.CST_STACK[this.CST_STACK.length-1];return c.recoveredNode=!0,c}else return r(e);else{if(this.outputCst){const c=this.CST_STACK[this.CST_STACK.length-1];c.recoveredNode=!0,a.partialCstResult=c}throw a}}else{if(i)return this.moveToTerminatedState(),r(e);throw a}}else throw e}optionInternal(e,n){const r=this.getKeyForAutomaticLookahead(Ih,n);return this.optionInternalLogic(e,n,r)}optionInternalLogic(e,n,r){let i=this.getLaFuncFromCache(r),s;if(typeof e!="function"){s=e.DEF;const a=e.GATE;if(a!==void 0){const o=i;i=()=>a.call(this)&&o.call(this)}}else s=e;if(i.call(this)===!0)return s.call(this)}atLeastOneInternal(e,n){const r=this.getKeyForAutomaticLookahead(Ho,e);return this.atLeastOneInternalLogic(e,n,r)}atLeastOneInternalLogic(e,n,r){let i=this.getLaFuncFromCache(r),s;if(typeof n!="function"){s=n.DEF;const a=n.GATE;if(a!==void 0){const o=i;i=()=>a.call(this)&&o.call(this)}}else s=n;if(i.call(this)===!0){let a=this.doSingleRepetition(s);for(;i.call(this)===!0&&a===!0;)a=this.doSingleRepetition(s)}else throw this.raiseEarlyExitException(e,me.REPETITION_MANDATORY,n.ERR_MSG);this.attemptInRepetitionRecovery(this.atLeastOneInternal,[e,n],i,Ho,e,Py)}atLeastOneSepFirstInternal(e,n){const r=this.getKeyForAutomaticLookahead(ea,e);this.atLeastOneSepFirstInternalLogic(e,n,r)}atLeastOneSepFirstInternalLogic(e,n,r){const i=n.DEF,s=n.SEP;if(this.getLaFuncFromCache(r).call(this)===!0){i.call(this);const o=()=>this.tokenMatcher(this.LA(1),s);for(;this.tokenMatcher(this.LA(1),s)===!0;)this.CONSUME(s),i.call(this);this.attemptInRepetitionRecovery(this.repetitionSepSecondInternal,[e,s,o,i,Cu],o,ea,e,Cu)}else throw this.raiseEarlyExitException(e,me.REPETITION_MANDATORY_WITH_SEPARATOR,n.ERR_MSG)}manyInternal(e,n){const r=this.getKeyForAutomaticLookahead(Ko,e);return this.manyInternalLogic(e,n,r)}manyInternalLogic(e,n,r){let i=this.getLaFuncFromCache(r),s;if(typeof n!="function"){s=n.DEF;const o=n.GATE;if(o!==void 0){const c=i;i=()=>o.call(this)&&c.call(this)}}else s=n;let a=!0;for(;i.call(this)===!0&&a===!0;)a=this.doSingleRepetition(s);this.attemptInRepetitionRecovery(this.manyInternal,[e,n],i,Ko,e,$y,a)}manySepFirstInternal(e,n){const r=this.getKeyForAutomaticLookahead(Yo,e);this.manySepFirstInternalLogic(e,n,r)}manySepFirstInternalLogic(e,n,r){const i=n.DEF,s=n.SEP;if(this.getLaFuncFromCache(r).call(this)===!0){i.call(this);const o=()=>this.tokenMatcher(this.LA(1),s);for(;this.tokenMatcher(this.LA(1),s)===!0;)this.CONSUME(s),i.call(this);this.attemptInRepetitionRecovery(this.repetitionSepSecondInternal,[e,s,o,i,Su],o,Yo,e,Su)}}repetitionSepSecondInternal(e,n,r,i,s){for(;r();)this.CONSUME(n),i.call(this);this.attemptInRepetitionRecovery(this.repetitionSepSecondInternal,[e,n,r,i,s],r,ea,e,s)}doSingleRepetition(e){const n=this.getLexerPosition();return e.call(this),this.getLexerPosition()>n}orInternal(e,n){const r=this.getKeyForAutomaticLookahead(_h,n),i=je(e)?e:e.DEF,a=this.getLaFuncFromCache(r).call(this,i);if(a!==void 0)return i[a].ALT.call(this);this.raiseNoAltException(n,e.ERR_MSG)}ruleFinallyStateUpdate(){if(this.RULE_STACK.pop(),this.RULE_OCCURRENCE_STACK.pop(),this.cstFinallyStateUpdate(),this.RULE_STACK.length===0&&this.isAtEndOfInput()===!1){const e=this.LA(1),n=this.errorMessageProvider.buildNotAllInputParsedMessage({firstRedundant:e,ruleName:this.getCurrRuleFullName()});this.SAVE_ERROR(new sT(n,e))}}subruleInternal(e,n,r){let i;try{const s=r!==void 0?r.ARGS:void 0;return this.subruleIdx=n,i=e.apply(this,s),this.cstPostNonTerminal(i,r!==void 0&&r.LABEL!==void 0?r.LABEL:e.ruleName),i}catch(s){throw this.subruleInternalError(s,r,e.ruleName)}}subruleInternalError(e,n,r){throw ha(e)&&e.partialCstResult!==void 0&&(this.cstPostNonTerminal(e.partialCstResult,n!==void 0&&n.LABEL!==void 0?n.LABEL:r),delete e.partialCstResult),e}consumeInternal(e,n,r){let i;try{const s=this.LA(1);this.tokenMatcher(s,e)===!0?(this.consumeToken(),i=s):this.consumeInternalError(e,s,r)}catch(s){i=this.consumeInternalRecovery(e,n,s)}return this.cstPostTerminal(r!==void 0&&r.LABEL!==void 0?r.LABEL:e.name,i),i}consumeInternalError(e,n,r){let i;const s=this.LA(0);throw r!==void 0&&r.ERR_MSG?i=r.ERR_MSG:i=this.errorMessageProvider.buildMismatchTokenMessage({expected:e,actual:n,previous:s,ruleName:this.getCurrRuleFullName()}),this.SAVE_ERROR(new wh(i,n,s))}consumeInternalRecovery(e,n,r){if(this.recoveryEnabled&&r.name==="MismatchedTokenException"&&!this.isBackTracking()){const i=this.getFollowsForInRuleRecovery(e,n);try{return this.tryInRuleRecovery(e,i)}catch(s){throw s.name===bh?r:s}}else throw r}saveRecogState(){const e=this.errors,n=Be(this.RULE_STACK);return{errors:e,lexerState:this.exportLexerState(),RULE_STACK:n,CST_STACK:this.CST_STACK}}reloadRecogState(e){this.errors=e.errors,this.importLexerState(e.lexerState),this.RULE_STACK=e.RULE_STACK}ruleInvocationStateUpdate(e,n,r){this.RULE_OCCURRENCE_STACK.push(r),this.RULE_STACK.push(e),this.cstInvocationStateUpdate(n)}isBackTracking(){return this.isBackTrackingStack.length!==0}getCurrRuleFullName(){const e=this.getLastExplicitRuleShortName();return this.shortRuleNameToFull[e]}shortRuleNameToFullName(e){return this.shortRuleNameToFull[e]}isAtEndOfInput(){return this.tokenMatcher(this.LA(1),vn)}reset(){this.resetLexerState(),this.subruleIdx=0,this.isBackTrackingStack=[],this.errors=[],this.RULE_STACK=[],this.CST_STACK=[],this.RULE_OCCURRENCE_STACK=[]}}class NT{initErrorHandler(e){this._errors=[],this.errorMessageProvider=B(e,"errorMessageProvider")?e.errorMessageProvider:rn.errorMessageProvider}SAVE_ERROR(e){if(ha(e))return e.context={ruleStack:this.getHumanReadableRuleStack(),ruleOccurrenceStack:Be(this.RULE_OCCURRENCE_STACK)},this._errors.push(e),e;throw Error("Trying to save an Error which is not a RecognitionException")}get errors(){return Be(this._errors)}set errors(e){this._errors=e}raiseEarlyExitException(e,n,r){const i=this.getCurrRuleFullName(),s=this.getGAstProductions()[i],o=Wa(e,s,n,this.maxLookahead)[0],c=[];for(let u=1;u<=this.maxLookahead;u++)c.push(this.LA(u));const l=this.errorMessageProvider.buildEarlyExitMessage({expectedIterationPaths:o,actual:c,previous:this.LA(0),customUserDescription:r,ruleName:i});throw this.SAVE_ERROR(new aT(l,this.LA(1),this.LA(0)))}raiseNoAltException(e,n){const r=this.getCurrRuleFullName(),i=this.getGAstProductions()[r],s=qa(e,i,this.maxLookahead),a=[];for(let l=1;l<=this.maxLookahead;l++)a.push(this.LA(l));const o=this.LA(0),c=this.errorMessageProvider.buildNoViableAltMessage({expectedPathsPerAlt:s,actual:a,previous:o,customUserDescription:n,ruleName:this.getCurrRuleFullName()});throw this.SAVE_ERROR(new iT(c,this.LA(1),o))}}class wT{initContentAssist(){}computeContentAssist(e,n){const r=this.gastProductionsCache[e];if(tn(r))throw Error(`Rule ->${e}<- does not exist in this grammar.`);return gh([r],n,this.tokenMatcher,this.maxLookahead)}getNextPossibleTokenTypes(e){const n=bt(e.ruleStack),i=this.getGAstProductions()[n];return new Iy(i,e).startWalking()}}const Ka={description:"This Object indicates the Parser is during Recording Phase"};Object.freeze(Ka);const _u=!0,Iu=Math.pow(2,Sn)-1,Ph=ph({name:"RECORDING_PHASE_TOKEN",pattern:et.NA});us([Ph]);const Lh=$l(Ph,`This IToken indicates the Parser is in Recording Phase
101
+ See: https://chevrotain.io/docs/guide/internals.html#grammar-recording for details`,-1,-1,-1,-1,-1,-1);Object.freeze(Lh);const bT={name:`This CSTNode indicates the Parser is in Recording Phase
102
+ See: https://chevrotain.io/docs/guide/internals.html#grammar-recording for details`,children:{}};class _T{initGastRecorder(e){this.recordingProdStack=[],this.RECORDING_PHASE=!1}enableRecording(){this.RECORDING_PHASE=!0,this.TRACE_INIT("Enable Recording",()=>{for(let e=0;e<10;e++){const n=e>0?e:"";this[`CONSUME${n}`]=function(r,i){return this.consumeInternalRecord(r,e,i)},this[`SUBRULE${n}`]=function(r,i){return this.subruleInternalRecord(r,e,i)},this[`OPTION${n}`]=function(r){return this.optionInternalRecord(r,e)},this[`OR${n}`]=function(r){return this.orInternalRecord(r,e)},this[`MANY${n}`]=function(r){this.manyInternalRecord(e,r)},this[`MANY_SEP${n}`]=function(r){this.manySepFirstInternalRecord(e,r)},this[`AT_LEAST_ONE${n}`]=function(r){this.atLeastOneInternalRecord(e,r)},this[`AT_LEAST_ONE_SEP${n}`]=function(r){this.atLeastOneSepFirstInternalRecord(e,r)}}this.consume=function(e,n,r){return this.consumeInternalRecord(n,e,r)},this.subrule=function(e,n,r){return this.subruleInternalRecord(n,e,r)},this.option=function(e,n){return this.optionInternalRecord(n,e)},this.or=function(e,n){return this.orInternalRecord(n,e)},this.many=function(e,n){this.manyInternalRecord(e,n)},this.atLeastOne=function(e,n){this.atLeastOneInternalRecord(e,n)},this.ACTION=this.ACTION_RECORD,this.BACKTRACK=this.BACKTRACK_RECORD,this.LA=this.LA_RECORD})}disableRecording(){this.RECORDING_PHASE=!1,this.TRACE_INIT("Deleting Recording methods",()=>{const e=this;for(let n=0;n<10;n++){const r=n>0?n:"";delete e[`CONSUME${r}`],delete e[`SUBRULE${r}`],delete e[`OPTION${r}`],delete e[`OR${r}`],delete e[`MANY${r}`],delete e[`MANY_SEP${r}`],delete e[`AT_LEAST_ONE${r}`],delete e[`AT_LEAST_ONE_SEP${r}`]}delete e.consume,delete e.subrule,delete e.option,delete e.or,delete e.many,delete e.atLeastOne,delete e.ACTION,delete e.BACKTRACK,delete e.LA})}ACTION_RECORD(e){}BACKTRACK_RECORD(e,n){return()=>!0}LA_RECORD(e){return ma}topLevelRuleRecord(e,n){try{const r=new ai({definition:[],name:e});return r.name=e,this.recordingProdStack.push(r),n.call(this),this.recordingProdStack.pop(),r}catch(r){if(r.KNOWN_RECORDER_ERROR!==!0)try{r.message=r.message+`
103
+ This error was thrown during the "grammar recording phase" For more info see:
104
+ https://chevrotain.io/docs/guide/internals.html#grammar-recording`}catch{throw r}throw r}}optionInternalRecord(e,n){return ki.call(this,ze,e,n)}atLeastOneInternalRecord(e,n){ki.call(this,ft,n,e)}atLeastOneSepFirstInternalRecord(e,n){ki.call(this,ht,n,e,_u)}manyInternalRecord(e,n){ki.call(this,Ae,n,e)}manySepFirstInternalRecord(e,n){ki.call(this,rt,n,e,_u)}orInternalRecord(e,n){return IT.call(this,e,n)}subruleInternalRecord(e,n,r){if(pa(n),!e||B(e,"ruleName")===!1){const o=new Error(`<SUBRULE${$u(n)}> argument is invalid expecting a Parser method reference but got: <${JSON.stringify(e)}>
105
+ inside top level rule: <${this.recordingProdStack[0].name}>`);throw o.KNOWN_RECORDER_ERROR=!0,o}const i=zn(this.recordingProdStack),s=e.ruleName,a=new Xe({idx:n,nonTerminalName:s,label:r==null?void 0:r.LABEL,referencedRule:void 0});return i.definition.push(a),this.outputCst?bT:Ka}consumeInternalRecord(e,n,r){if(pa(n),!fh(e)){const a=new Error(`<CONSUME${$u(n)}> argument is invalid expecting a TokenType reference but got: <${JSON.stringify(e)}>
106
+ inside top level rule: <${this.recordingProdStack[0].name}>`);throw a.KNOWN_RECORDER_ERROR=!0,a}const i=zn(this.recordingProdStack),s=new ue({idx:n,terminalType:e,label:r==null?void 0:r.LABEL});return i.definition.push(s),Lh}}function ki(t,e,n,r=!1){pa(n);const i=zn(this.recordingProdStack),s=Yn(e)?e:e.DEF,a=new t({definition:[],idx:n});return r&&(a.separator=e.SEP),B(e,"MAX_LOOKAHEAD")&&(a.maxLookahead=e.MAX_LOOKAHEAD),this.recordingProdStack.push(a),s.call(this),i.definition.push(a),this.recordingProdStack.pop(),Ka}function IT(t,e){pa(e);const n=zn(this.recordingProdStack),r=je(t)===!1,i=r===!1?t:t.DEF,s=new it({definition:[],idx:e,ignoreAmbiguities:r&&t.IGNORE_AMBIGUITIES===!0});B(t,"MAX_LOOKAHEAD")&&(s.maxLookahead=t.MAX_LOOKAHEAD);const a=xf(i,o=>Yn(o.GATE));return s.hasPredicates=a,n.definition.push(s),j(i,o=>{const c=new nt({definition:[]});s.definition.push(c),B(o,"IGNORE_AMBIGUITIES")?c.ignoreAmbiguities=o.IGNORE_AMBIGUITIES:B(o,"GATE")&&(c.ignoreAmbiguities=!0),this.recordingProdStack.push(c),o.ALT.call(this),this.recordingProdStack.pop()}),Ka}function $u(t){return t===0?"":`${t}`}function pa(t){if(t<0||t>Iu){const e=new Error(`Invalid DSL Method idx value: <${t}>
107
+ Idx value must be a none negative value smaller than ${Iu+1}`);throw e.KNOWN_RECORDER_ERROR=!0,e}}class $T{initPerformanceTracer(e){if(B(e,"traceInitPerf")){const n=e.traceInitPerf,r=typeof n=="number";this.traceInitMaxIdent=r?n:1/0,this.traceInitPerf=r?n>0:n}else this.traceInitMaxIdent=0,this.traceInitPerf=rn.traceInitPerf;this.traceInitIndent=-1}TRACE_INIT(e,n){if(this.traceInitPerf===!0){this.traceInitIndent++;const r=new Array(this.traceInitIndent+1).join(" ");this.traceInitIndent<this.traceInitMaxIdent&&console.log(`${r}--> <${e}>`);const{time:i,value:s}=rh(n),a=i>10?console.warn:console.log;return this.traceInitIndent<this.traceInitMaxIdent&&a(`${r}<-- <${e}> time: ${i}ms`),this.traceInitIndent--,s}else return n()}}function PT(t,e){e.forEach(n=>{const r=n.prototype;Object.getOwnPropertyNames(r).forEach(i=>{if(i==="constructor")return;const s=Object.getOwnPropertyDescriptor(r,i);s&&(s.get||s.set)?Object.defineProperty(t.prototype,i,s):t.prototype[i]=n.prototype[i]})})}const ma=$l(vn,"",NaN,NaN,NaN,NaN,NaN,NaN);Object.freeze(ma);const rn=Object.freeze({recoveryEnabled:!1,maxLookahead:3,dynamicTokensEnabled:!1,outputCst:!0,errorMessageProvider:Er,nodeLocationTracking:"none",traceInitPerf:!1,skipValidations:!1}),ga=Object.freeze({recoveryValueFunc:()=>{},resyncEnabled:!0});var Je;(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"})(Je||(Je={}));function Pu(t=void 0){return function(){return t}}class ds{static performSelfAnalysis(e){throw Error("The **static** `performSelfAnalysis` method has been deprecated. \nUse the **instance** method with the same name instead.")}performSelfAnalysis(){this.TRACE_INIT("performSelfAnalysis",()=>{let e;this.selfAnalysisDone=!0;const n=this.className;this.TRACE_INIT("toFastProps",()=>{ih(this)}),this.TRACE_INIT("Grammar Recording",()=>{try{this.enableRecording(),j(this.definedRulesNames,i=>{const a=this[i].originalGrammarAction;let o;this.TRACE_INIT(`${i} Rule`,()=>{o=this.topLevelRuleRecord(i,a)}),this.gastProductionsCache[i]=o})}finally{this.disableRecording()}});let r=[];if(this.TRACE_INIT("Grammar Resolving",()=>{r=nT({rules:Le(this.gastProductionsCache)}),this.definitionErrors=this.definitionErrors.concat(r)}),this.TRACE_INIT("Grammar Validations",()=>{if(oe(r)&&this.skipValidations===!1){const i=rT({rules:Le(this.gastProductionsCache),tokenTypes:Le(this.tokensMap),errMsgProvider:Un,grammarName:n}),s=jy({lookaheadStrategy:this.lookaheadStrategy,rules:Le(this.gastProductionsCache),tokenTypes:Le(this.tokensMap),grammarName:n});this.definitionErrors=this.definitionErrors.concat(i,s)}}),oe(this.definitionErrors)&&(this.recoveryEnabled&&this.TRACE_INIT("computeAllProdsFollows",()=>{const i=Gg(Le(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:Le(this.gastProductionsCache)}),this.preComputeLookaheadFunctions(Le(this.gastProductionsCache))})),!ds.DEFER_DEFINITION_ERRORS_HANDLING&&!oe(this.definitionErrors))throw e=M(this.definitionErrors,i=>i.message),new Error(`Parser Definition Errors detected:
108
+ ${e.join(`
109
+ -------------------------------
110
+ `)}`)})}constructor(e,n){this.definitionErrors=[],this.selfAnalysisDone=!1;const r=this;if(r.initErrorHandler(n),r.initLexerAdapter(),r.initLooksAhead(n),r.initRecognizerEngine(e,n),r.initRecoverable(n),r.initTreeBuilder(n),r.initContentAssist(),r.initGastRecorder(n),r.initPerformanceTracer(n),B(n,"ignoredIssues"))throw new Error(`The <ignoredIssues> IParserConfig property has been deprecated.
111
+ Please use the <IGNORE_AMBIGUITIES> flag on the relevant DSL method instead.
112
+ See: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#IGNORING_AMBIGUITIES
113
+ For further details.`);this.skipValidations=B(n,"skipValidations")?n.skipValidations:rn.skipValidations}}ds.DEFER_DEFINITION_ERRORS_HANDLING=!1;PT(ds,[cT,dT,AT,ST,kT,CT,NT,wT,_T,$T]);class LT extends ds{constructor(e,n=rn){const r=Be(n);r.outputCst=!1,super(e,r)}}function Br(t,e,n){return`${t.name}_${e}_${n}`}const En=1,OT=2,Oh=4,xh=5,fs=7,xT=8,DT=9,MT=10,FT=11,Dh=12;class xl{constructor(e){this.target=e}isEpsilon(){return!1}}class Dl extends xl{constructor(e,n){super(e),this.tokenType=n}}class Mh extends xl{constructor(e){super(e)}isEpsilon(){return!0}}class Ml extends xl{constructor(e,n,r){super(e),this.rule=n,this.followState=r}isEpsilon(){return!0}}function GT(t){const e={decisionMap:{},decisionStates:[],ruleToStartState:new Map,ruleToStopState:new Map,states:[]};UT(e,t);const n=t.length;for(let r=0;r<n;r++){const i=t[r],s=Xn(e,i,i);s!==void 0&&JT(e,i,s)}return e}function UT(t,e){const n=e.length;for(let r=0;r<n;r++){const i=e[r],s=Oe(t,i,void 0,{type:OT}),a=Oe(t,i,void 0,{type:fs});s.stop=a,t.ruleToStartState.set(i,s),t.ruleToStopState.set(i,a)}}function Fh(t,e,n){return n instanceof ue?Fl(t,e,n.terminalType,n):n instanceof Xe?XT(t,e,n):n instanceof it?WT(t,e,n):n instanceof ze?VT(t,e,n):n instanceof Ae?jT(t,e,n):n instanceof rt?zT(t,e,n):n instanceof ft?BT(t,e,n):n instanceof ht?qT(t,e,n):Xn(t,e,n)}function jT(t,e,n){const r=Oe(t,e,n,{type:xh});Cn(t,r);const i=ci(t,e,r,n,Xn(t,e,n));return Uh(t,e,n,i)}function zT(t,e,n){const r=Oe(t,e,n,{type:xh});Cn(t,r);const i=ci(t,e,r,n,Xn(t,e,n)),s=Fl(t,e,n.separator,n);return Uh(t,e,n,i,s)}function BT(t,e,n){const r=Oe(t,e,n,{type:Oh});Cn(t,r);const i=ci(t,e,r,n,Xn(t,e,n));return Gh(t,e,n,i)}function qT(t,e,n){const r=Oe(t,e,n,{type:Oh});Cn(t,r);const i=ci(t,e,r,n,Xn(t,e,n)),s=Fl(t,e,n.separator,n);return Gh(t,e,n,i,s)}function WT(t,e,n){const r=Oe(t,e,n,{type:En});Cn(t,r);const i=M(n.definition,a=>Fh(t,e,a));return ci(t,e,r,n,...i)}function VT(t,e,n){const r=Oe(t,e,n,{type:En});Cn(t,r);const i=ci(t,e,r,n,Xn(t,e,n));return KT(t,e,n,i)}function Xn(t,e,n){const r=dt(M(n.definition,i=>Fh(t,e,i)),i=>i!==void 0);return r.length===1?r[0]:r.length===0?void 0:YT(t,r)}function Gh(t,e,n,r,i){const s=r.left,a=r.right,o=Oe(t,e,n,{type:FT});Cn(t,o);const c=Oe(t,e,n,{type:Dh});return s.loopback=o,c.loopback=o,t.decisionMap[Br(e,i?"RepetitionMandatoryWithSeparator":"RepetitionMandatory",n.idx)]=o,_e(a,o),i===void 0?(_e(o,s),_e(o,c)):(_e(o,c),_e(o,i.left),_e(i.right,s)),{left:s,right:c}}function Uh(t,e,n,r,i){const s=r.left,a=r.right,o=Oe(t,e,n,{type:MT});Cn(t,o);const c=Oe(t,e,n,{type:Dh}),l=Oe(t,e,n,{type:DT});return o.loopback=l,c.loopback=l,_e(o,s),_e(o,c),_e(a,l),i!==void 0?(_e(l,c),_e(l,i.left),_e(i.right,s)):_e(l,o),t.decisionMap[Br(e,i?"RepetitionWithSeparator":"Repetition",n.idx)]=o,{left:o,right:c}}function KT(t,e,n,r){const i=r.left,s=r.right;return _e(i,s),t.decisionMap[Br(e,"Option",n.idx)]=i,r}function Cn(t,e){return t.decisionStates.push(e),e.decision=t.decisionStates.length-1,e.decision}function ci(t,e,n,r,...i){const s=Oe(t,e,r,{type:xT,start:n});n.end=s;for(const o of i)o!==void 0?(_e(n,o.left),_e(o.right,s)):_e(n,s);const a={left:n,right:s};return t.decisionMap[Br(e,HT(r),r.idx)]=n,a}function HT(t){if(t instanceof it)return"Alternation";if(t instanceof ze)return"Option";if(t instanceof Ae)return"Repetition";if(t instanceof rt)return"RepetitionWithSeparator";if(t instanceof ft)return"RepetitionMandatory";if(t instanceof ht)return"RepetitionMandatoryWithSeparator";throw new Error("Invalid production type encountered")}function YT(t,e){const n=e.length;for(let s=0;s<n-1;s++){const a=e[s];let o;a.left.transitions.length===1&&(o=a.left.transitions[0]);const c=o instanceof Ml,l=o,u=e[s+1].left;a.left.type===En&&a.right.type===En&&o!==void 0&&(c&&l.followState===a.right||o.target===a.right)?(c?l.followState=u:o.target=u,QT(t,a.right)):_e(a.right,u)}const r=e[0],i=e[n-1];return{left:r.left,right:i.right}}function Fl(t,e,n,r){const i=Oe(t,e,r,{type:En}),s=Oe(t,e,r,{type:En});return Gl(i,new Dl(s,n)),{left:i,right:s}}function XT(t,e,n){const r=n.referencedRule,i=t.ruleToStartState.get(r),s=Oe(t,e,n,{type:En}),a=Oe(t,e,n,{type:En}),o=new Ml(i,r,a);return Gl(s,o),{left:s,right:a}}function JT(t,e,n){const r=t.ruleToStartState.get(e);_e(r,n.left);const i=t.ruleToStopState.get(e);return _e(n.right,i),{left:r,right:i}}function _e(t,e){const n=new Mh(e);Gl(t,n)}function Oe(t,e,n,r){const i=Object.assign({atn:t,production:n,epsilonOnlyTransitions:!1,rule:e,transitions:[],nextTokenWithinRule:[],stateNumber:t.states.length},r);return t.states.push(i),i}function Gl(t,e){t.transitions.length===0&&(t.epsilonOnlyTransitions=e.isEpsilon()),t.transitions.push(e)}function QT(t,e){t.states.splice(t.states.indexOf(e),1)}const ya={};class Jo{constructor(){this.map={},this.configs=[]}get size(){return this.configs.length}finalize(){this.map={}}add(e){const n=jh(e);n in this.map||(this.map[n]=this.configs.length,this.configs.push(e))}get elements(){return this.configs}get alts(){return M(this.configs,e=>e.alt)}get key(){let e="";for(const n in this.map)e+=n+":";return e}}function jh(t,e=!0){return`${e?`a${t.alt}`:""}s${t.state.stateNumber}:${t.stack.map(n=>n.stateNumber.toString()).join("_")}`}function ZT(t,e){const n={};return r=>{const i=r.toString();let s=n[i];return s!==void 0||(s={atnStartState:t,decision:e,states:{}},n[i]=s),s}}class zh{constructor(){this.predicates=[]}is(e){return e>=this.predicates.length||this.predicates[e]}set(e,n){this.predicates[e]=n}toString(){let e="";const n=this.predicates.length;for(let r=0;r<n;r++)e+=this.predicates[r]===!0?"1":"0";return e}}const Lu=new zh;class eR extends Ol{constructor(e){var n;super(),this.logging=(n=e==null?void 0:e.logging)!==null&&n!==void 0?n:r=>console.log(r)}initialize(e){this.atn=GT(e.rules),this.dfas=tR(this.atn)}validateAmbiguousAlternationAlternatives(){return[]}validateEmptyOrAlternatives(){return[]}buildLookaheadForAlternation(e){const{prodOccurrence:n,rule:r,hasPredicates:i,dynamicTokensEnabled:s}=e,a=this.dfas,o=this.logging,c=Br(r,"Alternation",n),u=this.atn.decisionMap[c].decision,f=M(ku({maxLookahead:1,occurrence:n,prodType:"Alternation",rule:r}),m=>M(m,g=>g[0]));if(Ou(f,!1)&&!s){const m=Ye(f,(g,A,N)=>(j(A,$=>{$&&(g[$.tokenTypeIdx]=N,j($.categoryMatches,w=>{g[w]=N}))}),g),{});return i?function(g){var A;const N=this.LA(1),$=m[N.tokenTypeIdx];if(g!==void 0&&$!==void 0){const w=(A=g[$])===null||A===void 0?void 0:A.GATE;if(w!==void 0&&w.call(this)===!1)return}return $}:function(){const g=this.LA(1);return m[g.tokenTypeIdx]}}else return i?function(m){const g=new zh,A=m===void 0?0:m.length;for(let $=0;$<A;$++){const w=m==null?void 0:m[$].GATE;g.set($,w===void 0||w.call(this))}const N=To.call(this,a,u,g,o);return typeof N=="number"?N:void 0}:function(){const m=To.call(this,a,u,Lu,o);return typeof m=="number"?m:void 0}}buildLookaheadForOptional(e){const{prodOccurrence:n,rule:r,prodType:i,dynamicTokensEnabled:s}=e,a=this.dfas,o=this.logging,c=Br(r,i,n),u=this.atn.decisionMap[c].decision,f=M(ku({maxLookahead:1,occurrence:n,prodType:i,rule:r}),m=>M(m,g=>g[0]));if(Ou(f)&&f[0][0]&&!s){const m=f[0],g=yt(m);if(g.length===1&&oe(g[0].categoryMatches)){const N=g[0].tokenTypeIdx;return function(){return this.LA(1).tokenTypeIdx===N}}else{const A=Ye(g,(N,$)=>($!==void 0&&(N[$.tokenTypeIdx]=!0,j($.categoryMatches,w=>{N[w]=!0})),N),{});return function(){const N=this.LA(1);return A[N.tokenTypeIdx]===!0}}}return function(){const m=To.call(this,a,u,Lu,o);return typeof m=="object"?!1:m===0}}}function Ou(t,e=!0){const n=new Set;for(const r of t){const i=new Set;for(const s of r){if(s===void 0){if(e)break;return!1}const a=[s.tokenTypeIdx].concat(s.categoryMatches);for(const o of a)if(n.has(o)){if(!i.has(o))return!1}else n.add(o),i.add(o)}}return!0}function tR(t){const e=t.decisionStates.length,n=Array(e);for(let r=0;r<e;r++)n[r]=ZT(t.decisionStates[r],r);return n}function To(t,e,n,r){const i=t[e](n);let s=i.start;if(s===void 0){const o=fR(i.atnStartState);s=qh(i,Bh(o)),i.start=s}return nR.apply(this,[i,s,n,r])}function nR(t,e,n,r){let i=e,s=1;const a=[];let o=this.LA(s++);for(;;){let c=cR(i,o);if(c===void 0&&(c=rR.apply(this,[t,i,o,s,n,r])),c===ya)return oR(a,i,o);if(c.isAcceptState===!0)return c.prediction;i=c,a.push(o),o=this.LA(s++)}}function rR(t,e,n,r,i,s){const a=lR(e.configs,n,i);if(a.size===0)return xu(t,e,n,ya),ya;let o=Bh(a);const c=dR(a,i);if(c!==void 0)o.isAcceptState=!0,o.prediction=c,o.configs.uniqueAlt=c;else if(gR(a)){const l=lm(a.alts);o.isAcceptState=!0,o.prediction=l,o.configs.uniqueAlt=l,iR.apply(this,[t,r,a.alts,s])}return o=xu(t,e,n,o),o}function iR(t,e,n,r){const i=[];for(let l=1;l<=e;l++)i.push(this.LA(l).tokenType);const s=t.atnStartState,a=s.rule,o=s.production,c=sR({topLevelRule:a,ambiguityIndices:n,production:o,prefixPath:i});r(c)}function sR(t){const e=M(t.prefixPath,i=>Sr(i)).join(", "),n=t.production.idx===0?"":t.production.idx;let r=`Ambiguous Alternatives Detected: <${t.ambiguityIndices.join(", ")}> in <${aR(t.production)}${n}> inside <${t.topLevelRule.name}> Rule,
114
+ <${e}> may appears as a prefix path in all these alternatives.
115
+ `;return r=r+`See: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#AMBIGUOUS_ALTERNATIVES
116
+ For Further details.`,r}function aR(t){if(t instanceof Xe)return"SUBRULE";if(t instanceof ze)return"OPTION";if(t instanceof it)return"OR";if(t instanceof ft)return"AT_LEAST_ONE";if(t instanceof ht)return"AT_LEAST_ONE_SEP";if(t instanceof rt)return"MANY_SEP";if(t instanceof Ae)return"MANY";if(t instanceof ue)return"CONSUME";throw Error("non exhaustive match")}function oR(t,e,n){const r=lt(e.configs.elements,s=>s.state.transitions),i=_m(r.filter(s=>s instanceof Dl).map(s=>s.tokenType),s=>s.tokenTypeIdx);return{actualToken:n,possibleTokenTypes:i,tokenPath:t}}function cR(t,e){return t.edges[e.tokenTypeIdx]}function lR(t,e,n){const r=new Jo,i=[];for(const a of t.elements){if(n.is(a.alt)===!1)continue;if(a.state.type===fs){i.push(a);continue}const o=a.state.transitions.length;for(let c=0;c<o;c++){const l=a.state.transitions[c],u=uR(l,e);u!==void 0&&r.add({state:u,alt:a.alt,stack:a.stack})}}let s;if(i.length===0&&r.size===1&&(s=r),s===void 0){s=new Jo;for(const a of r.elements)Ta(a,s)}if(i.length>0&&!pR(s))for(const a of i)s.add(a);return s}function uR(t,e){if(t instanceof Dl&&mh(e,t.tokenType))return t.target}function dR(t,e){let n;for(const r of t.elements)if(e.is(r.alt)===!0){if(n===void 0)n=r.alt;else if(n!==r.alt)return}return n}function Bh(t){return{configs:t,edges:{},isAcceptState:!1,prediction:-1}}function xu(t,e,n,r){return r=qh(t,r),e.edges[n.tokenTypeIdx]=r,r}function qh(t,e){if(e===ya)return e;const n=e.configs.key,r=t.states[n];return r!==void 0?r:(e.configs.finalize(),t.states[n]=e,e)}function fR(t){const e=new Jo,n=t.transitions.length;for(let r=0;r<n;r++){const s={state:t.transitions[r].target,alt:r,stack:[]};Ta(s,e)}return e}function Ta(t,e){const n=t.state;if(n.type===fs){if(t.stack.length>0){const i=[...t.stack],a={state:i.pop(),alt:t.alt,stack:i};Ta(a,e)}else e.add(t);return}n.epsilonOnlyTransitions||e.add(t);const r=n.transitions.length;for(let i=0;i<r;i++){const s=n.transitions[i],a=hR(t,s);a!==void 0&&Ta(a,e)}}function hR(t,e){if(e instanceof Mh)return{state:e.target,alt:t.alt,stack:t.stack};if(e instanceof Ml){const n=[...t.stack,e.followState];return{state:e.target,alt:t.alt,stack:n}}}function pR(t){for(const e of t.elements)if(e.state.type===fs)return!0;return!1}function mR(t){for(const e of t.elements)if(e.state.type!==fs)return!1;return!0}function gR(t){if(mR(t))return!0;const e=yR(t.elements);return TR(e)&&!RR(e)}function yR(t){const e=new Map;for(const n of t){const r=jh(n,!1);let i=e.get(r);i===void 0&&(i={},e.set(r,i)),i[n.alt]=!0}return e}function TR(t){for(const e of Array.from(t.values()))if(Object.keys(e).length>1)return!0;return!1}function RR(t){for(const e of Array.from(t.values()))if(Object.keys(e).length===1)return!0;return!1}var Qo;(function(t){function e(n){return typeof n=="string"}t.is=e})(Qo||(Qo={}));var Ra;(function(t){function e(n){return typeof n=="string"}t.is=e})(Ra||(Ra={}));var Zo;(function(t){t.MIN_VALUE=-2147483648,t.MAX_VALUE=2147483647;function e(n){return typeof n=="number"&&t.MIN_VALUE<=n&&n<=t.MAX_VALUE}t.is=e})(Zo||(Zo={}));var Vi;(function(t){t.MIN_VALUE=0,t.MAX_VALUE=2147483647;function e(n){return typeof n=="number"&&t.MIN_VALUE<=n&&n<=t.MAX_VALUE}t.is=e})(Vi||(Vi={}));var ee;(function(t){function e(r,i){return r===Number.MAX_VALUE&&(r=Vi.MAX_VALUE),i===Number.MAX_VALUE&&(i=Vi.MAX_VALUE),{line:r,character:i}}t.create=e;function n(r){let i=r;return v.objectLiteral(i)&&v.uinteger(i.line)&&v.uinteger(i.character)}t.is=n})(ee||(ee={}));var Y;(function(t){function e(r,i,s,a){if(v.uinteger(r)&&v.uinteger(i)&&v.uinteger(s)&&v.uinteger(a))return{start:ee.create(r,i),end:ee.create(s,a)};if(ee.is(r)&&ee.is(i))return{start:r,end:i};throw new Error(`Range#create called with invalid arguments[${r}, ${i}, ${s}, ${a}]`)}t.create=e;function n(r){let i=r;return v.objectLiteral(i)&&ee.is(i.start)&&ee.is(i.end)}t.is=n})(Y||(Y={}));var Ki;(function(t){function e(r,i){return{uri:r,range:i}}t.create=e;function n(r){let i=r;return v.objectLiteral(i)&&Y.is(i.range)&&(v.string(i.uri)||v.undefined(i.uri))}t.is=n})(Ki||(Ki={}));var ec;(function(t){function e(r,i,s,a){return{targetUri:r,targetRange:i,targetSelectionRange:s,originSelectionRange:a}}t.create=e;function n(r){let i=r;return v.objectLiteral(i)&&Y.is(i.targetRange)&&v.string(i.targetUri)&&Y.is(i.targetSelectionRange)&&(Y.is(i.originSelectionRange)||v.undefined(i.originSelectionRange))}t.is=n})(ec||(ec={}));var va;(function(t){function e(r,i,s,a){return{red:r,green:i,blue:s,alpha:a}}t.create=e;function n(r){const i=r;return v.objectLiteral(i)&&v.numberRange(i.red,0,1)&&v.numberRange(i.green,0,1)&&v.numberRange(i.blue,0,1)&&v.numberRange(i.alpha,0,1)}t.is=n})(va||(va={}));var tc;(function(t){function e(r,i){return{range:r,color:i}}t.create=e;function n(r){const i=r;return v.objectLiteral(i)&&Y.is(i.range)&&va.is(i.color)}t.is=n})(tc||(tc={}));var nc;(function(t){function e(r,i,s){return{label:r,textEdit:i,additionalTextEdits:s}}t.create=e;function n(r){const i=r;return v.objectLiteral(i)&&v.string(i.label)&&(v.undefined(i.textEdit)||Mt.is(i))&&(v.undefined(i.additionalTextEdits)||v.typedArray(i.additionalTextEdits,Mt.is))}t.is=n})(nc||(nc={}));var rc;(function(t){t.Comment="comment",t.Imports="imports",t.Region="region"})(rc||(rc={}));var ic;(function(t){function e(r,i,s,a,o,c){const l={startLine:r,endLine:i};return v.defined(s)&&(l.startCharacter=s),v.defined(a)&&(l.endCharacter=a),v.defined(o)&&(l.kind=o),v.defined(c)&&(l.collapsedText=c),l}t.create=e;function n(r){const i=r;return v.objectLiteral(i)&&v.uinteger(i.startLine)&&v.uinteger(i.startLine)&&(v.undefined(i.startCharacter)||v.uinteger(i.startCharacter))&&(v.undefined(i.endCharacter)||v.uinteger(i.endCharacter))&&(v.undefined(i.kind)||v.string(i.kind))}t.is=n})(ic||(ic={}));var Ea;(function(t){function e(r,i){return{location:r,message:i}}t.create=e;function n(r){let i=r;return v.defined(i)&&Ki.is(i.location)&&v.string(i.message)}t.is=n})(Ea||(Ea={}));var sc;(function(t){t.Error=1,t.Warning=2,t.Information=3,t.Hint=4})(sc||(sc={}));var ac;(function(t){t.Unnecessary=1,t.Deprecated=2})(ac||(ac={}));var oc;(function(t){function e(n){const r=n;return v.objectLiteral(r)&&v.string(r.href)}t.is=e})(oc||(oc={}));var Hi;(function(t){function e(r,i,s,a,o,c){let l={range:r,message:i};return v.defined(s)&&(l.severity=s),v.defined(a)&&(l.code=a),v.defined(o)&&(l.source=o),v.defined(c)&&(l.relatedInformation=c),l}t.create=e;function n(r){var i;let s=r;return v.defined(s)&&Y.is(s.range)&&v.string(s.message)&&(v.number(s.severity)||v.undefined(s.severity))&&(v.integer(s.code)||v.string(s.code)||v.undefined(s.code))&&(v.undefined(s.codeDescription)||v.string((i=s.codeDescription)===null||i===void 0?void 0:i.href))&&(v.string(s.source)||v.undefined(s.source))&&(v.undefined(s.relatedInformation)||v.typedArray(s.relatedInformation,Ea.is))}t.is=n})(Hi||(Hi={}));var Kn;(function(t){function e(r,i,...s){let a={title:r,command:i};return v.defined(s)&&s.length>0&&(a.arguments=s),a}t.create=e;function n(r){let i=r;return v.defined(i)&&v.string(i.title)&&v.string(i.command)}t.is=n})(Kn||(Kn={}));var Mt;(function(t){function e(s,a){return{range:s,newText:a}}t.replace=e;function n(s,a){return{range:{start:s,end:s},newText:a}}t.insert=n;function r(s){return{range:s,newText:""}}t.del=r;function i(s){const a=s;return v.objectLiteral(a)&&v.string(a.newText)&&Y.is(a.range)}t.is=i})(Mt||(Mt={}));var jn;(function(t){function e(r,i,s){const a={label:r};return i!==void 0&&(a.needsConfirmation=i),s!==void 0&&(a.description=s),a}t.create=e;function n(r){const i=r;return v.objectLiteral(i)&&v.string(i.label)&&(v.boolean(i.needsConfirmation)||i.needsConfirmation===void 0)&&(v.string(i.description)||i.description===void 0)}t.is=n})(jn||(jn={}));var Ue;(function(t){function e(n){const r=n;return v.string(r)}t.is=e})(Ue||(Ue={}));var Jt;(function(t){function e(s,a,o){return{range:s,newText:a,annotationId:o}}t.replace=e;function n(s,a,o){return{range:{start:s,end:s},newText:a,annotationId:o}}t.insert=n;function r(s,a){return{range:s,newText:"",annotationId:a}}t.del=r;function i(s){const a=s;return Mt.is(a)&&(jn.is(a.annotationId)||Ue.is(a.annotationId))}t.is=i})(Jt||(Jt={}));var Yi;(function(t){function e(r,i){return{textDocument:r,edits:i}}t.create=e;function n(r){let i=r;return v.defined(i)&&Xi.is(i.textDocument)&&Array.isArray(i.edits)}t.is=n})(Yi||(Yi={}));var qr;(function(t){function e(r,i,s){let a={kind:"create",uri:r};return i!==void 0&&(i.overwrite!==void 0||i.ignoreIfExists!==void 0)&&(a.options=i),s!==void 0&&(a.annotationId=s),a}t.create=e;function n(r){let i=r;return i&&i.kind==="create"&&v.string(i.uri)&&(i.options===void 0||(i.options.overwrite===void 0||v.boolean(i.options.overwrite))&&(i.options.ignoreIfExists===void 0||v.boolean(i.options.ignoreIfExists)))&&(i.annotationId===void 0||Ue.is(i.annotationId))}t.is=n})(qr||(qr={}));var Wr;(function(t){function e(r,i,s,a){let o={kind:"rename",oldUri:r,newUri:i};return s!==void 0&&(s.overwrite!==void 0||s.ignoreIfExists!==void 0)&&(o.options=s),a!==void 0&&(o.annotationId=a),o}t.create=e;function n(r){let i=r;return i&&i.kind==="rename"&&v.string(i.oldUri)&&v.string(i.newUri)&&(i.options===void 0||(i.options.overwrite===void 0||v.boolean(i.options.overwrite))&&(i.options.ignoreIfExists===void 0||v.boolean(i.options.ignoreIfExists)))&&(i.annotationId===void 0||Ue.is(i.annotationId))}t.is=n})(Wr||(Wr={}));var Vr;(function(t){function e(r,i,s){let a={kind:"delete",uri:r};return i!==void 0&&(i.recursive!==void 0||i.ignoreIfNotExists!==void 0)&&(a.options=i),s!==void 0&&(a.annotationId=s),a}t.create=e;function n(r){let i=r;return i&&i.kind==="delete"&&v.string(i.uri)&&(i.options===void 0||(i.options.recursive===void 0||v.boolean(i.options.recursive))&&(i.options.ignoreIfNotExists===void 0||v.boolean(i.options.ignoreIfNotExists)))&&(i.annotationId===void 0||Ue.is(i.annotationId))}t.is=n})(Vr||(Vr={}));var Aa;(function(t){function e(n){let r=n;return r&&(r.changes!==void 0||r.documentChanges!==void 0)&&(r.documentChanges===void 0||r.documentChanges.every(i=>v.string(i.kind)?qr.is(i)||Wr.is(i)||Vr.is(i):Yi.is(i)))}t.is=e})(Aa||(Aa={}));class Fs{constructor(e,n){this.edits=e,this.changeAnnotations=n}insert(e,n,r){let i,s;if(r===void 0?i=Mt.insert(e,n):Ue.is(r)?(s=r,i=Jt.insert(e,n,r)):(this.assertChangeAnnotations(this.changeAnnotations),s=this.changeAnnotations.manage(r),i=Jt.insert(e,n,s)),this.edits.push(i),s!==void 0)return s}replace(e,n,r){let i,s;if(r===void 0?i=Mt.replace(e,n):Ue.is(r)?(s=r,i=Jt.replace(e,n,r)):(this.assertChangeAnnotations(this.changeAnnotations),s=this.changeAnnotations.manage(r),i=Jt.replace(e,n,s)),this.edits.push(i),s!==void 0)return s}delete(e,n){let r,i;if(n===void 0?r=Mt.del(e):Ue.is(n)?(i=n,r=Jt.del(e,n)):(this.assertChangeAnnotations(this.changeAnnotations),i=this.changeAnnotations.manage(n),r=Jt.del(e,i)),this.edits.push(r),i!==void 0)return i}add(e){this.edits.push(e)}all(){return this.edits}clear(){this.edits.splice(0,this.edits.length)}assertChangeAnnotations(e){if(e===void 0)throw new Error("Text edit change is not configured to manage change annotations.")}}class Du{constructor(e){this._annotations=e===void 0?Object.create(null):e,this._counter=0,this._size=0}all(){return this._annotations}get size(){return this._size}manage(e,n){let r;if(Ue.is(e)?r=e:(r=this.nextId(),n=e),this._annotations[r]!==void 0)throw new Error(`Id ${r} is already in use.`);if(n===void 0)throw new Error(`No annotation provided for id ${r}`);return this._annotations[r]=n,this._size++,r}nextId(){return this._counter++,this._counter.toString()}}class vR{constructor(e){this._textEditChanges=Object.create(null),e!==void 0?(this._workspaceEdit=e,e.documentChanges?(this._changeAnnotations=new Du(e.changeAnnotations),e.changeAnnotations=this._changeAnnotations.all(),e.documentChanges.forEach(n=>{if(Yi.is(n)){const r=new Fs(n.edits,this._changeAnnotations);this._textEditChanges[n.textDocument.uri]=r}})):e.changes&&Object.keys(e.changes).forEach(n=>{const r=new Fs(e.changes[n]);this._textEditChanges[n]=r})):this._workspaceEdit={}}get edit(){return this.initDocumentChanges(),this._changeAnnotations!==void 0&&(this._changeAnnotations.size===0?this._workspaceEdit.changeAnnotations=void 0:this._workspaceEdit.changeAnnotations=this._changeAnnotations.all()),this._workspaceEdit}getTextEditChange(e){if(Xi.is(e)){if(this.initDocumentChanges(),this._workspaceEdit.documentChanges===void 0)throw new Error("Workspace edit is not configured for document changes.");const n={uri:e.uri,version:e.version};let r=this._textEditChanges[n.uri];if(!r){const i=[],s={textDocument:n,edits:i};this._workspaceEdit.documentChanges.push(s),r=new Fs(i,this._changeAnnotations),this._textEditChanges[n.uri]=r}return r}else{if(this.initChanges(),this._workspaceEdit.changes===void 0)throw new Error("Workspace edit is not configured for normal text edit changes.");let n=this._textEditChanges[e];if(!n){let r=[];this._workspaceEdit.changes[e]=r,n=new Fs(r),this._textEditChanges[e]=n}return n}}initDocumentChanges(){this._workspaceEdit.documentChanges===void 0&&this._workspaceEdit.changes===void 0&&(this._changeAnnotations=new Du,this._workspaceEdit.documentChanges=[],this._workspaceEdit.changeAnnotations=this._changeAnnotations.all())}initChanges(){this._workspaceEdit.documentChanges===void 0&&this._workspaceEdit.changes===void 0&&(this._workspaceEdit.changes=Object.create(null))}createFile(e,n,r){if(this.initDocumentChanges(),this._workspaceEdit.documentChanges===void 0)throw new Error("Workspace edit is not configured for document changes.");let i;jn.is(n)||Ue.is(n)?i=n:r=n;let s,a;if(i===void 0?s=qr.create(e,r):(a=Ue.is(i)?i:this._changeAnnotations.manage(i),s=qr.create(e,r,a)),this._workspaceEdit.documentChanges.push(s),a!==void 0)return a}renameFile(e,n,r,i){if(this.initDocumentChanges(),this._workspaceEdit.documentChanges===void 0)throw new Error("Workspace edit is not configured for document changes.");let s;jn.is(r)||Ue.is(r)?s=r:i=r;let a,o;if(s===void 0?a=Wr.create(e,n,i):(o=Ue.is(s)?s:this._changeAnnotations.manage(s),a=Wr.create(e,n,i,o)),this._workspaceEdit.documentChanges.push(a),o!==void 0)return o}deleteFile(e,n,r){if(this.initDocumentChanges(),this._workspaceEdit.documentChanges===void 0)throw new Error("Workspace edit is not configured for document changes.");let i;jn.is(n)||Ue.is(n)?i=n:r=n;let s,a;if(i===void 0?s=Vr.create(e,r):(a=Ue.is(i)?i:this._changeAnnotations.manage(i),s=Vr.create(e,r,a)),this._workspaceEdit.documentChanges.push(s),a!==void 0)return a}}var cc;(function(t){function e(r){return{uri:r}}t.create=e;function n(r){let i=r;return v.defined(i)&&v.string(i.uri)}t.is=n})(cc||(cc={}));var lc;(function(t){function e(r,i){return{uri:r,version:i}}t.create=e;function n(r){let i=r;return v.defined(i)&&v.string(i.uri)&&v.integer(i.version)}t.is=n})(lc||(lc={}));var Xi;(function(t){function e(r,i){return{uri:r,version:i}}t.create=e;function n(r){let i=r;return v.defined(i)&&v.string(i.uri)&&(i.version===null||v.integer(i.version))}t.is=n})(Xi||(Xi={}));var uc;(function(t){function e(r,i,s,a){return{uri:r,languageId:i,version:s,text:a}}t.create=e;function n(r){let i=r;return v.defined(i)&&v.string(i.uri)&&v.string(i.languageId)&&v.integer(i.version)&&v.string(i.text)}t.is=n})(uc||(uc={}));var Sa;(function(t){t.PlainText="plaintext",t.Markdown="markdown";function e(n){const r=n;return r===t.PlainText||r===t.Markdown}t.is=e})(Sa||(Sa={}));var Kr;(function(t){function e(n){const r=n;return v.objectLiteral(n)&&Sa.is(r.kind)&&v.string(r.value)}t.is=e})(Kr||(Kr={}));var dc;(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})(dc||(dc={}));var fc;(function(t){t.PlainText=1,t.Snippet=2})(fc||(fc={}));var hc;(function(t){t.Deprecated=1})(hc||(hc={}));var pc;(function(t){function e(r,i,s){return{newText:r,insert:i,replace:s}}t.create=e;function n(r){const i=r;return i&&v.string(i.newText)&&Y.is(i.insert)&&Y.is(i.replace)}t.is=n})(pc||(pc={}));var mc;(function(t){t.asIs=1,t.adjustIndentation=2})(mc||(mc={}));var gc;(function(t){function e(n){const r=n;return r&&(v.string(r.detail)||r.detail===void 0)&&(v.string(r.description)||r.description===void 0)}t.is=e})(gc||(gc={}));var yc;(function(t){function e(n){return{label:n}}t.create=e})(yc||(yc={}));var Tc;(function(t){function e(n,r){return{items:n||[],isIncomplete:!!r}}t.create=e})(Tc||(Tc={}));var Ji;(function(t){function e(r){return r.replace(/[\\`*_{}[\]()#+\-.!]/g,"\\$&")}t.fromPlainText=e;function n(r){const i=r;return v.string(i)||v.objectLiteral(i)&&v.string(i.language)&&v.string(i.value)}t.is=n})(Ji||(Ji={}));var Rc;(function(t){function e(n){let r=n;return!!r&&v.objectLiteral(r)&&(Kr.is(r.contents)||Ji.is(r.contents)||v.typedArray(r.contents,Ji.is))&&(n.range===void 0||Y.is(n.range))}t.is=e})(Rc||(Rc={}));var vc;(function(t){function e(n,r){return r?{label:n,documentation:r}:{label:n}}t.create=e})(vc||(vc={}));var Ec;(function(t){function e(n,r,...i){let s={label:n};return v.defined(r)&&(s.documentation=r),v.defined(i)?s.parameters=i:s.parameters=[],s}t.create=e})(Ec||(Ec={}));var Ac;(function(t){t.Text=1,t.Read=2,t.Write=3})(Ac||(Ac={}));var Sc;(function(t){function e(n,r){let i={range:n};return v.number(r)&&(i.kind=r),i}t.create=e})(Sc||(Sc={}));var Cc;(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})(Cc||(Cc={}));var kc;(function(t){t.Deprecated=1})(kc||(kc={}));var Nc;(function(t){function e(n,r,i,s,a){let o={name:n,kind:r,location:{uri:s,range:i}};return a&&(o.containerName=a),o}t.create=e})(Nc||(Nc={}));var wc;(function(t){function e(n,r,i,s){return s!==void 0?{name:n,kind:r,location:{uri:i,range:s}}:{name:n,kind:r,location:{uri:i}}}t.create=e})(wc||(wc={}));var bc;(function(t){function e(r,i,s,a,o,c){let l={name:r,detail:i,kind:s,range:a,selectionRange:o};return c!==void 0&&(l.children=c),l}t.create=e;function n(r){let i=r;return i&&v.string(i.name)&&v.number(i.kind)&&Y.is(i.range)&&Y.is(i.selectionRange)&&(i.detail===void 0||v.string(i.detail))&&(i.deprecated===void 0||v.boolean(i.deprecated))&&(i.children===void 0||Array.isArray(i.children))&&(i.tags===void 0||Array.isArray(i.tags))}t.is=n})(bc||(bc={}));var _c;(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"})(_c||(_c={}));var Qi;(function(t){t.Invoked=1,t.Automatic=2})(Qi||(Qi={}));var Ic;(function(t){function e(r,i,s){let a={diagnostics:r};return i!=null&&(a.only=i),s!=null&&(a.triggerKind=s),a}t.create=e;function n(r){let i=r;return v.defined(i)&&v.typedArray(i.diagnostics,Hi.is)&&(i.only===void 0||v.typedArray(i.only,v.string))&&(i.triggerKind===void 0||i.triggerKind===Qi.Invoked||i.triggerKind===Qi.Automatic)}t.is=n})(Ic||(Ic={}));var $c;(function(t){function e(r,i,s){let a={title:r},o=!0;return typeof i=="string"?(o=!1,a.kind=i):Kn.is(i)?a.command=i:a.edit=i,o&&s!==void 0&&(a.kind=s),a}t.create=e;function n(r){let i=r;return i&&v.string(i.title)&&(i.diagnostics===void 0||v.typedArray(i.diagnostics,Hi.is))&&(i.kind===void 0||v.string(i.kind))&&(i.edit!==void 0||i.command!==void 0)&&(i.command===void 0||Kn.is(i.command))&&(i.isPreferred===void 0||v.boolean(i.isPreferred))&&(i.edit===void 0||Aa.is(i.edit))}t.is=n})($c||($c={}));var Pc;(function(t){function e(r,i){let s={range:r};return v.defined(i)&&(s.data=i),s}t.create=e;function n(r){let i=r;return v.defined(i)&&Y.is(i.range)&&(v.undefined(i.command)||Kn.is(i.command))}t.is=n})(Pc||(Pc={}));var Lc;(function(t){function e(r,i){return{tabSize:r,insertSpaces:i}}t.create=e;function n(r){let i=r;return v.defined(i)&&v.uinteger(i.tabSize)&&v.boolean(i.insertSpaces)}t.is=n})(Lc||(Lc={}));var Oc;(function(t){function e(r,i,s){return{range:r,target:i,data:s}}t.create=e;function n(r){let i=r;return v.defined(i)&&Y.is(i.range)&&(v.undefined(i.target)||v.string(i.target))}t.is=n})(Oc||(Oc={}));var xc;(function(t){function e(r,i){return{range:r,parent:i}}t.create=e;function n(r){let i=r;return v.objectLiteral(i)&&Y.is(i.range)&&(i.parent===void 0||t.is(i.parent))}t.is=n})(xc||(xc={}));var Dc;(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"})(Dc||(Dc={}));var Mc;(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"})(Mc||(Mc={}));var Fc;(function(t){function e(n){const r=n;return v.objectLiteral(r)&&(r.resultId===void 0||typeof r.resultId=="string")&&Array.isArray(r.data)&&(r.data.length===0||typeof r.data[0]=="number")}t.is=e})(Fc||(Fc={}));var Gc;(function(t){function e(r,i){return{range:r,text:i}}t.create=e;function n(r){const i=r;return i!=null&&Y.is(i.range)&&v.string(i.text)}t.is=n})(Gc||(Gc={}));var Uc;(function(t){function e(r,i,s){return{range:r,variableName:i,caseSensitiveLookup:s}}t.create=e;function n(r){const i=r;return i!=null&&Y.is(i.range)&&v.boolean(i.caseSensitiveLookup)&&(v.string(i.variableName)||i.variableName===void 0)}t.is=n})(Uc||(Uc={}));var jc;(function(t){function e(r,i){return{range:r,expression:i}}t.create=e;function n(r){const i=r;return i!=null&&Y.is(i.range)&&(v.string(i.expression)||i.expression===void 0)}t.is=n})(jc||(jc={}));var zc;(function(t){function e(r,i){return{frameId:r,stoppedLocation:i}}t.create=e;function n(r){const i=r;return v.defined(i)&&Y.is(r.stoppedLocation)}t.is=n})(zc||(zc={}));var Ca;(function(t){t.Type=1,t.Parameter=2;function e(n){return n===1||n===2}t.is=e})(Ca||(Ca={}));var ka;(function(t){function e(r){return{value:r}}t.create=e;function n(r){const i=r;return v.objectLiteral(i)&&(i.tooltip===void 0||v.string(i.tooltip)||Kr.is(i.tooltip))&&(i.location===void 0||Ki.is(i.location))&&(i.command===void 0||Kn.is(i.command))}t.is=n})(ka||(ka={}));var Bc;(function(t){function e(r,i,s){const a={position:r,label:i};return s!==void 0&&(a.kind=s),a}t.create=e;function n(r){const i=r;return v.objectLiteral(i)&&ee.is(i.position)&&(v.string(i.label)||v.typedArray(i.label,ka.is))&&(i.kind===void 0||Ca.is(i.kind))&&i.textEdits===void 0||v.typedArray(i.textEdits,Mt.is)&&(i.tooltip===void 0||v.string(i.tooltip)||Kr.is(i.tooltip))&&(i.paddingLeft===void 0||v.boolean(i.paddingLeft))&&(i.paddingRight===void 0||v.boolean(i.paddingRight))}t.is=n})(Bc||(Bc={}));var qc;(function(t){function e(n){return{kind:"snippet",value:n}}t.createSnippet=e})(qc||(qc={}));var Wc;(function(t){function e(n,r,i,s){return{insertText:n,filterText:r,range:i,command:s}}t.create=e})(Wc||(Wc={}));var Vc;(function(t){function e(n){return{items:n}}t.create=e})(Vc||(Vc={}));var Kc;(function(t){t.Invoked=0,t.Automatic=1})(Kc||(Kc={}));var Hc;(function(t){function e(n,r){return{range:n,text:r}}t.create=e})(Hc||(Hc={}));var Yc;(function(t){function e(n,r){return{triggerKind:n,selectedCompletionInfo:r}}t.create=e})(Yc||(Yc={}));var Xc;(function(t){function e(n){const r=n;return v.objectLiteral(r)&&Ra.is(r.uri)&&v.string(r.name)}t.is=e})(Xc||(Xc={}));const ER=[`
117
+ `,`\r
118
+ `,"\r"];var Jc;(function(t){function e(s,a,o,c){return new AR(s,a,o,c)}t.create=e;function n(s){let a=s;return!!(v.defined(a)&&v.string(a.uri)&&(v.undefined(a.languageId)||v.string(a.languageId))&&v.uinteger(a.lineCount)&&v.func(a.getText)&&v.func(a.positionAt)&&v.func(a.offsetAt))}t.is=n;function r(s,a){let o=s.getText(),c=i(a,(u,f)=>{let m=u.range.start.line-f.range.start.line;return m===0?u.range.start.character-f.range.start.character:m}),l=o.length;for(let u=c.length-1;u>=0;u--){let f=c[u],m=s.offsetAt(f.range.start),g=s.offsetAt(f.range.end);if(g<=l)o=o.substring(0,m)+f.newText+o.substring(g,o.length);else throw new Error("Overlapping edit");l=m}return o}t.applyEdits=r;function i(s,a){if(s.length<=1)return s;const o=s.length/2|0,c=s.slice(0,o),l=s.slice(o);i(c,a),i(l,a);let u=0,f=0,m=0;for(;u<c.length&&f<l.length;)a(c[u],l[f])<=0?s[m++]=c[u++]:s[m++]=l[f++];for(;u<c.length;)s[m++]=c[u++];for(;f<l.length;)s[m++]=l[f++];return s}})(Jc||(Jc={}));let AR=class{constructor(e,n,r,i){this._uri=e,this._languageId=n,this._version=r,this._content=i,this._lineOffsets=void 0}get uri(){return this._uri}get languageId(){return this._languageId}get version(){return this._version}getText(e){if(e){let n=this.offsetAt(e.start),r=this.offsetAt(e.end);return this._content.substring(n,r)}return this._content}update(e,n){this._content=e.text,this._version=n,this._lineOffsets=void 0}getLineOffsets(){if(this._lineOffsets===void 0){let e=[],n=this._content,r=!0;for(let i=0;i<n.length;i++){r&&(e.push(i),r=!1);let s=n.charAt(i);r=s==="\r"||s===`
119
+ `,s==="\r"&&i+1<n.length&&n.charAt(i+1)===`
120
+ `&&i++}r&&n.length>0&&e.push(n.length),this._lineOffsets=e}return this._lineOffsets}positionAt(e){e=Math.max(Math.min(e,this._content.length),0);let n=this.getLineOffsets(),r=0,i=n.length;if(i===0)return ee.create(0,e);for(;r<i;){let a=Math.floor((r+i)/2);n[a]>e?i=a:r=a+1}let s=r-1;return ee.create(s,e-n[s])}offsetAt(e){let n=this.getLineOffsets();if(e.line>=n.length)return this._content.length;if(e.line<0)return 0;let r=n[e.line],i=e.line+1<n.length?n[e.line+1]:this._content.length;return Math.max(Math.min(r+e.character,i),r)}get lineCount(){return this.getLineOffsets().length}};var v;(function(t){const e=Object.prototype.toString;function n(g){return typeof g<"u"}t.defined=n;function r(g){return typeof g>"u"}t.undefined=r;function i(g){return g===!0||g===!1}t.boolean=i;function s(g){return e.call(g)==="[object String]"}t.string=s;function a(g){return e.call(g)==="[object Number]"}t.number=a;function o(g,A,N){return e.call(g)==="[object Number]"&&A<=g&&g<=N}t.numberRange=o;function c(g){return e.call(g)==="[object Number]"&&-2147483648<=g&&g<=2147483647}t.integer=c;function l(g){return e.call(g)==="[object Number]"&&0<=g&&g<=2147483647}t.uinteger=l;function u(g){return e.call(g)==="[object Function]"}t.func=u;function f(g){return g!==null&&typeof g=="object"}t.objectLiteral=f;function m(g,A){return Array.isArray(g)&&g.every(A)}t.typedArray=m})(v||(v={}));const SR=Object.freeze(Object.defineProperty({__proto__:null,get AnnotatedTextEdit(){return Jt},get ChangeAnnotation(){return jn},get ChangeAnnotationIdentifier(){return Ue},get CodeAction(){return $c},get CodeActionContext(){return Ic},get CodeActionKind(){return _c},get CodeActionTriggerKind(){return Qi},get CodeDescription(){return oc},get CodeLens(){return Pc},get Color(){return va},get ColorInformation(){return tc},get ColorPresentation(){return nc},get Command(){return Kn},get CompletionItem(){return yc},get CompletionItemKind(){return dc},get CompletionItemLabelDetails(){return gc},get CompletionItemTag(){return hc},get CompletionList(){return Tc},get CreateFile(){return qr},get DeleteFile(){return Vr},get Diagnostic(){return Hi},get DiagnosticRelatedInformation(){return Ea},get DiagnosticSeverity(){return sc},get DiagnosticTag(){return ac},get DocumentHighlight(){return Sc},get DocumentHighlightKind(){return Ac},get DocumentLink(){return Oc},get DocumentSymbol(){return bc},get DocumentUri(){return Qo},EOL:ER,get FoldingRange(){return ic},get FoldingRangeKind(){return rc},get FormattingOptions(){return Lc},get Hover(){return Rc},get InlayHint(){return Bc},get InlayHintKind(){return Ca},get InlayHintLabelPart(){return ka},get InlineCompletionContext(){return Yc},get InlineCompletionItem(){return Wc},get InlineCompletionList(){return Vc},get InlineCompletionTriggerKind(){return Kc},get InlineValueContext(){return zc},get InlineValueEvaluatableExpression(){return jc},get InlineValueText(){return Gc},get InlineValueVariableLookup(){return Uc},get InsertReplaceEdit(){return pc},get InsertTextFormat(){return fc},get InsertTextMode(){return mc},get Location(){return Ki},get LocationLink(){return ec},get MarkedString(){return Ji},get MarkupContent(){return Kr},get MarkupKind(){return Sa},get OptionalVersionedTextDocumentIdentifier(){return Xi},get ParameterInformation(){return vc},get Position(){return ee},get Range(){return Y},get RenameFile(){return Wr},get SelectedCompletionInfo(){return Hc},get SelectionRange(){return xc},get SemanticTokenModifiers(){return Mc},get SemanticTokenTypes(){return Dc},get SemanticTokens(){return Fc},get SignatureInformation(){return Ec},get StringValue(){return qc},get SymbolInformation(){return Nc},get SymbolKind(){return Cc},get SymbolTag(){return kc},get TextDocument(){return Jc},get TextDocumentEdit(){return Yi},get TextDocumentIdentifier(){return cc},get TextDocumentItem(){return uc},get TextEdit(){return Mt},get URI(){return Ra},get VersionedTextDocumentIdentifier(){return lc},WorkspaceChange:vR,get WorkspaceEdit(){return Aa},get WorkspaceFolder(){return Xc},get WorkspaceSymbol(){return wc},get integer(){return Zo},get uinteger(){return Vi}},Symbol.toStringTag,{value:"Module"}));class CR{constructor(){this.nodeStack=[]}get current(){return this.nodeStack[this.nodeStack.length-1]??this.rootNode}buildRootNode(e){return this.rootNode=new Vh(e),this.rootNode.root=this.rootNode,this.nodeStack=[this.rootNode],this.rootNode}buildCompositeNode(e){const n=new Ul;return n.grammarSource=e,n.root=this.rootNode,this.current.content.push(n),this.nodeStack.push(n),n}buildLeafNode(e,n){const r=new Qc(e.startOffset,e.image.length,Uo(e),e.tokenType,!n);return r.grammarSource=n,r.root=this.rootNode,this.current.content.push(r),r}removeNode(e){const n=e.container;if(n){const r=n.content.indexOf(e);r>=0&&n.content.splice(r,1)}}addHiddenNodes(e){const n=[];for(const s of e){const a=new Qc(s.startOffset,s.image.length,Uo(s),s.tokenType,!0);a.root=this.rootNode,n.push(a)}let r=this.current,i=!1;if(r.content.length>0){r.content.push(...n);return}for(;r.container;){const s=r.container.content.indexOf(r);if(s>0){r.container.content.splice(s,0,...n),i=!0;break}r=r.container}i||this.rootNode.content.unshift(...n)}construct(e){const n=this.current;typeof e.$type=="string"&&!e.$infixName&&(this.current.astNode=e),e.$cstNode=n;const r=this.nodeStack.pop();(r==null?void 0:r.content.length)===0&&this.removeNode(r)}}class Wh{get hidden(){return!1}get astNode(){var n,r;const e=typeof((n=this._astNode)==null?void 0:n.$type)=="string"?this._astNode:(r=this.container)==null?void 0:r.astNode;if(!e)throw new Error("This node has no associated AST element");return e}set astNode(e){this._astNode=e}get text(){return this.root.fullText.substring(this.offset,this.end)}}class Qc extends Wh{get offset(){return this._offset}get length(){return this._length}get end(){return this._offset+this._length}get hidden(){return this._hidden}get tokenType(){return this._tokenType}get range(){return this._range}constructor(e,n,r,i,s=!1){super(),this._hidden=s,this._offset=e,this._tokenType=i,this._length=n,this._range=r}}class Ul extends Wh{constructor(){super(...arguments),this.content=new jl(this)}get offset(){var e;return((e=this.firstNonHiddenNode)==null?void 0:e.offset)??0}get length(){return this.end-this.offset}get end(){var e;return((e=this.lastNonHiddenNode)==null?void 0:e.end)??0}get range(){const e=this.firstNonHiddenNode,n=this.lastNonHiddenNode;if(e&&n){if(this._rangeCache===void 0){const{range:r}=e,{range:i}=n;this._rangeCache={start:r.start,end:i.end.line<r.start.line?r.start:i.end}}return this._rangeCache}else return{start:ee.create(0,0),end:ee.create(0,0)}}get firstNonHiddenNode(){for(const e of this.content)if(!e.hidden)return e;return this.content[0]}get lastNonHiddenNode(){for(let e=this.content.length-1;e>=0;e--){const n=this.content[e];if(!n.hidden)return n}return this.content[this.content.length-1]}}class jl extends Array{constructor(e){super(),this.parent=e,Object.setPrototypeOf(this,jl.prototype)}push(...e){return this.addParents(e),super.push(...e)}unshift(...e){return this.addParents(e),super.unshift(...e)}splice(e,n,...r){return this.addParents(r),super.splice(e,n,...r)}addParents(e){for(const n of e)n.container=this.parent}}class Vh extends Ul{get text(){return this._text.substring(this.offset,this.end)}get fullText(){return this._text}constructor(e){super(),this._text="",this._text=e??""}}const Zc=Symbol("Datatype");function Ro(t){return t.$type===Zc}const Mu="​",Kh=t=>t.endsWith(Mu)?t:t+Mu;class Hh{constructor(e){var i;this._unorderedGroups=new Map,this.allRules=new Map,this.lexer=e.parser.Lexer;const n=this.lexer.definition,r=e.LanguageMetaData.mode==="production";(i=e.shared.profilers.LangiumProfiler)!=null&&i.isActive("parsing")?this.wrapper=new _R(n,{...e.parser.ParserConfig,skipValidations:r,errorMessageProvider:e.parser.ParserErrorMessageProvider},e.shared.profilers.LangiumProfiler.createTask("parsing",e.LanguageMetaData.languageId)):this.wrapper=new Xh(n,{...e.parser.ParserConfig,skipValidations:r,errorMessageProvider:e.parser.ParserErrorMessageProvider})}alternatives(e,n){this.wrapper.wrapOr(e,n)}optional(e,n){this.wrapper.wrapOption(e,n)}many(e,n){this.wrapper.wrapMany(e,n)}atLeastOne(e,n){this.wrapper.wrapAtLeastOne(e,n)}getRule(e){return this.allRules.get(e)}isRecording(){return this.wrapper.IS_RECORDING}get unorderedGroups(){return this._unorderedGroups}getRuleStack(){return this.wrapper.RULE_STACK}finalize(){this.wrapper.wrapSelfAnalysis()}}class kR extends Hh{get current(){return this.stack[this.stack.length-1]}constructor(e){super(e),this.nodeBuilder=new CR,this.stack=[],this.assignmentMap=new Map,this.operatorPrecedence=new Map,this.linker=e.references.Linker,this.converter=e.parser.ValueConverter,this.astReflection=e.shared.AstReflection}rule(e,n){const r=this.computeRuleType(e);let i;aa(e)&&(i=e.name,this.registerPrecedenceMap(e));const s=this.wrapper.DEFINE_RULE(Kh(e.name),this.startImplementation(r,i,n).bind(this));return this.allRules.set(e.name,s),an(e)&&e.entry&&(this.mainRule=s),s}registerPrecedenceMap(e){const n=e.name,r=new Map;for(let i=0;i<e.operators.precedences.length;i++){const s=e.operators.precedences[i];for(const a of s.operators)r.set(a.value,{precedence:i,rightAssoc:s.associativity==="right"})}this.operatorPrecedence.set(n,r)}computeRuleType(e){return aa(e)?Wi(e):e.fragment?void 0:Zf(e)?Zc:Wi(e)}parse(e,n={}){this.nodeBuilder.buildRootNode(e);const r=this.lexerResult=this.lexer.tokenize(e);this.wrapper.input=r.tokens;const i=n.rule?this.allRules.get(n.rule):this.mainRule;if(!i)throw new Error(n.rule?`No rule found with name '${n.rule}'`:"No main rule available.");const s=this.doParse(i);return this.nodeBuilder.addHiddenNodes(r.hidden),this.unorderedGroups.clear(),this.lexerResult=void 0,Po(s,{deep:!0}),{value:s,lexerErrors:r.errors,lexerReport:r.report,parserErrors:this.wrapper.errors}}doParse(e){let n=this.wrapper.rule(e);if(this.stack.length>0&&(n=this.construct()),n===void 0)throw new Error("No result from parser");if(this.stack.length>0)throw new Error("Parser stack is not empty after parsing");return n}startImplementation(e,n,r){return i=>{const s=!this.isRecording()&&e!==void 0;if(s){const a={$type:e};this.stack.push(a),e===Zc?a.value="":n!==void 0&&(a.$infixName=n)}return r(i),s?this.construct():void 0}}extractHiddenTokens(e){const n=this.lexerResult.hidden;if(!n.length)return[];const r=e.startOffset;for(let i=0;i<n.length;i++)if(n[i].startOffset>r)return n.splice(0,i);return n.splice(0,n.length)}consume(e,n,r){const i=this.wrapper.wrapConsume(e,n);if(!this.isRecording()&&this.isValidToken(i)){const s=this.extractHiddenTokens(i);this.nodeBuilder.addHiddenNodes(s);const a=this.nodeBuilder.buildLeafNode(i,r),{assignment:o,crossRef:c}=this.getAssignment(r),l=this.current;if(o){const u=qn(r)?i.image:this.converter.convert(i.image,a);this.assign(o.operator,o.feature,u,a,c)}else if(Ro(l)){let u=i.image;qn(r)||(u=this.converter.convert(u,a).toString()),l.value+=u}}}isValidToken(e){return!e.isInsertedInRecovery&&!isNaN(e.startOffset)&&typeof e.endOffset=="number"&&!isNaN(e.endOffset)}subrule(e,n,r,i,s){let a;!this.isRecording()&&!r&&(a=this.nodeBuilder.buildCompositeNode(i));let o;try{o=this.wrapper.wrapSubrule(e,n,s)}finally{this.isRecording()||(o===void 0&&!r&&(o=this.construct()),o!==void 0&&a&&a.length>0&&this.performSubruleAssignment(o,i,a))}}performSubruleAssignment(e,n,r){const{assignment:i,crossRef:s}=this.getAssignment(n);if(i)this.assign(i.operator,i.feature,e,r,s);else if(!i){const a=this.current;if(Ro(a))a.value+=e.toString();else if(typeof e=="object"&&e){const c=this.assignWithoutOverride(e,a);this.stack.pop(),this.stack.push(c)}}}action(e,n){if(!this.isRecording()){let r=this.current;if(n.feature&&n.operator){r=this.construct(),this.nodeBuilder.removeNode(r.$cstNode),this.nodeBuilder.buildCompositeNode(n).content.push(r.$cstNode);const s={$type:e};this.stack.push(s),this.assign(n.operator,n.feature,r,r.$cstNode)}else r.$type=e}}construct(){if(this.isRecording())return;const e=this.stack.pop();return this.nodeBuilder.construct(e),"$infixName"in e?this.constructInfix(e,this.operatorPrecedence.get(e.$infixName)):Ro(e)?this.converter.convert(e.value,e.$cstNode):(Pm(this.astReflection,e),e)}constructInfix(e,n){const r=e.parts;if(!Array.isArray(r)||r.length===0)return;const i=e.operators;if(!Array.isArray(i)||r.length<2)return r[0];let s=0,a=-1;for(let N=0;N<i.length;N++){const $=i[N],w=n.get($)??{precedence:1/0,rightAssoc:!1};w.precedence>a?(a=w.precedence,s=N):w.precedence===a&&(w.rightAssoc||(s=N))}const o=i.slice(0,s),c=i.slice(s+1),l=r.slice(0,s+1),u=r.slice(s+1),f={$infixName:e.$infixName,$type:e.$type,$cstNode:e.$cstNode,parts:l,operators:o},m={$infixName:e.$infixName,$type:e.$type,$cstNode:e.$cstNode,parts:u,operators:c},g=this.constructInfix(f,n),A=this.constructInfix(m,n);return{$type:e.$type,$cstNode:e.$cstNode,left:g,operator:i[s],right:A}}getAssignment(e){if(!this.assignmentMap.has(e)){const n=Da(e,Bn);this.assignmentMap.set(e,{assignment:n,crossRef:n&&Fa(n.terminal)?n.terminal.isMulti?"multi":"single":void 0})}return this.assignmentMap.get(e)}assign(e,n,r,i,s){const a=this.current;let o;switch(s==="single"&&typeof r=="string"?o=this.linker.buildReference(a,n,i,r):s==="multi"&&typeof r=="string"?o=this.linker.buildMultiReference(a,n,i,r):o=r,e){case"=":{a[n]=o;break}case"?=":{a[n]=!0;break}case"+=":Array.isArray(a[n])||(a[n]=[]),a[n].push(o)}}assignWithoutOverride(e,n){for(const[i,s]of Object.entries(n)){const a=e[i];a===void 0?e[i]=s:Array.isArray(a)&&Array.isArray(s)&&(s.push(...a),e[i]=s)}const r=e.$cstNode;return r&&(r.astNode=void 0,e.$cstNode=void 0),e}get definitionErrors(){return this.wrapper.definitionErrors}}class NR{buildMismatchTokenMessage(e){return Er.buildMismatchTokenMessage(e)}buildNotAllInputParsedMessage(e){return Er.buildNotAllInputParsedMessage(e)}buildNoViableAltMessage(e){return Er.buildNoViableAltMessage(e)}buildEarlyExitMessage(e){return Er.buildEarlyExitMessage(e)}}class Yh extends NR{buildMismatchTokenMessage({expected:e,actual:n}){return`Expecting ${e.LABEL?"`"+e.LABEL+"`":e.name.endsWith(":KW")?`keyword '${e.name.substring(0,e.name.length-3)}'`:`token of type '${e.name}'`} but found \`${n.image}\`.`}buildNotAllInputParsedMessage({firstRedundant:e}){return`Expecting end of file but found \`${e.image}\`.`}}class wR extends Hh{constructor(){super(...arguments),this.tokens=[],this.elementStack=[],this.lastElementStack=[],this.nextTokenIndex=0,this.stackSize=0}action(){}construct(){}parse(e){this.resetState();const n=this.lexer.tokenize(e,{mode:"partial"});return this.tokens=n.tokens,this.wrapper.input=[...this.tokens],this.mainRule.call(this.wrapper,{}),this.unorderedGroups.clear(),{tokens:this.tokens,elementStack:[...this.lastElementStack],tokenIndex:this.nextTokenIndex}}rule(e,n){const r=this.wrapper.DEFINE_RULE(Kh(e.name),this.startImplementation(n).bind(this));return this.allRules.set(e.name,r),e.entry&&(this.mainRule=r),r}resetState(){this.elementStack=[],this.lastElementStack=[],this.nextTokenIndex=0,this.stackSize=0}startImplementation(e){return n=>{const r=this.keepStackSize();try{e(n)}finally{this.resetStackSize(r)}}}removeUnexpectedElements(){this.elementStack.splice(this.stackSize)}keepStackSize(){const e=this.elementStack.length;return this.stackSize=e,e}resetStackSize(e){this.removeUnexpectedElements(),this.stackSize=e}consume(e,n,r){this.wrapper.wrapConsume(e,n),this.isRecording()||(this.lastElementStack=[...this.elementStack,r],this.nextTokenIndex=this.currIdx+1)}subrule(e,n,r,i,s){this.before(i),this.wrapper.wrapSubrule(e,n,s),this.after(i)}before(e){this.isRecording()||this.elementStack.push(e)}after(e){if(!this.isRecording()){const n=this.elementStack.lastIndexOf(e);n>=0&&this.elementStack.splice(n)}}get currIdx(){return this.wrapper.currIdx}}const bR={recoveryEnabled:!0,nodeLocationTracking:"full",skipValidations:!0,errorMessageProvider:new Yh};class Xh extends LT{constructor(e,n){const r=n&&"maxLookahead"in n;super(e,{...bR,lookaheadStrategy:r?new Ol({maxLookahead:n.maxLookahead}):new eR({logging:n.skipValidations?()=>{}:void 0}),...n})}get IS_RECORDING(){return this.RECORDING_PHASE}DEFINE_RULE(e,n,r){return this.RULE(e,n,r)}wrapSelfAnalysis(){this.performSelfAnalysis()}wrapConsume(e,n){return this.consume(e,n,void 0)}wrapSubrule(e,n,r){return this.subrule(e,n,{ARGS:[r]})}wrapOr(e,n){this.or(e,n)}wrapOption(e,n){this.option(e,n)}wrapMany(e,n){this.many(e,n)}wrapAtLeastOne(e,n){this.atLeastOne(e,n)}rule(e){return e.call(this,{})}}class _R extends Xh{constructor(e,n,r){super(e,n),this.task=r}rule(e){this.task.start(),this.task.startSubTask(this.ruleName(e));try{return super.rule(e)}finally{this.task.stopSubTask(this.ruleName(e)),this.task.stop()}}ruleName(e){return e.ruleName}subrule(e,n,r){this.task.startSubTask(this.ruleName(n));try{return super.subrule(e,n,r)}finally{this.task.stopSubTask(this.ruleName(n))}}}function Jh(t,e,n){return IR({parser:e,tokens:n,ruleNames:new Map},t),e}function IR(t,e){const n=Hf(e,!1),r=pe(e.rules).filter(an).filter(s=>n.has(s));for(const s of r){const a={...t,consume:1,optional:1,subrule:1,many:1,or:1};t.parser.rule(s,Hn(a,s.definition))}const i=pe(e.rules).filter(aa).filter(s=>n.has(s));for(const s of i)t.parser.rule(s,$R(t,s))}function $R(t,e){const n=e.call.rule.ref;if(!n)throw new Error("Could not resolve reference to infix operator rule: "+e.call.rule.$refText);if(on(n))throw new Error("Cannot use terminal rule in infix expression");const r=e.operators.precedences.flatMap(g=>g.operators),i={$type:"Group",elements:[]},s={$container:i,$type:"Assignment",feature:"parts",operator:"+=",terminal:e.call},a={$container:i,$type:"Group",elements:[],cardinality:"*"};i.elements.push(s,a);const c={$container:a,$type:"Assignment",feature:"operators",operator:"+=",terminal:{$type:"Alternatives",elements:r}},l={...s,$container:a};a.elements.push(c,l);const f=r.map(g=>t.tokens[g.value]).map((g,A)=>({ALT:()=>t.parser.consume(A,g,c)}));let m;return g=>{m??(m=zl(t,n)),t.parser.subrule(0,m,!1,s,g),t.parser.many(0,{DEF:()=>{t.parser.alternatives(0,f),t.parser.subrule(1,m,!1,l,g)}})}}function Hn(t,e,n=!1){let r;if(qn(e))r=FR(t,e);else if(Ma(e))r=PR(t,e);else if(Bn(e))r=Hn(t,e.terminal);else if(Fa(e))r=Qh(t,e);else if(Wn(e))r=LR(t,e);else if(jf(e))r=xR(t,e);else if(Bf(e))r=DR(t,e);else if(Nl(e))r=MR(t,e);else if(Fm(e)){const i=t.consume++;r=()=>t.parser.consume(i,vn,e)}else throw new Wf(e.$cstNode,`Unexpected element type: ${e.$type}`);return Zh(t,n?void 0:Na(e),r,e.cardinality)}function PR(t,e){const n=Wi(e);return()=>t.parser.action(n,e)}function LR(t,e){const n=e.rule.ref;if(as(n)){const r=t.subrule++,i=an(n)&&n.fragment,s=e.arguments.length>0?OR(n,e.arguments):()=>({});let a;return o=>{a??(a=zl(t,n)),t.parser.subrule(r,a,i,e,s(o))}}else if(on(n)){const r=t.consume++,i=el(t,n.name);return()=>t.parser.consume(r,i,e)}else if(n)os();else throw new Wf(e.$cstNode,`Undefined rule: ${e.rule.$refText}`)}function OR(t,e){if(e.some(r=>r.calledByName)){const r=e.map(i=>{var s,a;return{parameterName:(a=(s=i.parameter)==null?void 0:s.ref)==null?void 0:a.name,predicate:xt(i.value)}});return i=>{const s={};for(const{parameterName:a,predicate:o}of r)a&&(s[a]=o(i));return s}}else{const r=e.map(i=>xt(i.value));return i=>{const s={};for(let a=0;a<r.length;a++)if(a<t.parameters.length){const o=t.parameters[a].name,c=r[a];s[o]=c(i)}return s}}}function xt(t){if(Mm(t)){const e=xt(t.left),n=xt(t.right);return r=>e(r)||n(r)}else if(Dm(t)){const e=xt(t.left),n=xt(t.right);return r=>e(r)&&n(r)}else if(jm(t)){const e=xt(t.value);return n=>!e(n)}else if(zm(t)){const e=t.parameter.ref.name;return n=>n!==void 0&&n[e]===!0}else if(Om(t)){const e=!!t.true;return()=>e}os()}function xR(t,e){if(e.elements.length===1)return Hn(t,e.elements[0]);{const n=[];for(const i of e.elements){const s={ALT:Hn(t,i,!0)},a=Na(i);a&&(s.GATE=xt(a)),n.push(s)}const r=t.or++;return i=>t.parser.alternatives(r,n.map(s=>{const a={ALT:()=>s.ALT(i)},o=s.GATE;return o&&(a.GATE=()=>o(i)),a}))}}function DR(t,e){if(e.elements.length===1)return Hn(t,e.elements[0]);const n=[];for(const o of e.elements){const c={ALT:Hn(t,o,!0)},l=Na(o);l&&(c.GATE=xt(l)),n.push(c)}const r=t.or++,i=(o,c)=>{const l=c.getRuleStack().join("-");return`uGroup_${o}_${l}`},s=o=>t.parser.alternatives(r,n.map((c,l)=>{const u={ALT:()=>!0},f=t.parser;u.ALT=()=>{if(c.ALT(o),!f.isRecording()){const g=i(r,f);f.unorderedGroups.get(g)||f.unorderedGroups.set(g,[]);const A=f.unorderedGroups.get(g);typeof(A==null?void 0:A[l])>"u"&&(A[l]=!0)}};const m=c.GATE;return m?u.GATE=()=>m(o):u.GATE=()=>{const g=f.unorderedGroups.get(i(r,f));return!(g!=null&&g[l])},u})),a=Zh(t,Na(e),s,"*");return o=>{a(o),t.parser.isRecording()||t.parser.unorderedGroups.delete(i(r,t.parser))}}function MR(t,e){const n=e.elements.map(r=>Hn(t,r));return r=>n.forEach(i=>i(r))}function Na(t){if(Nl(t))return t.guardCondition}function Qh(t,e,n=e.terminal){if(n)if(Wn(n)&&an(n.rule.ref)){const r=n.rule.ref,i=t.subrule++;let s;return a=>{s??(s=zl(t,r)),t.parser.subrule(i,s,!1,e,a)}}else if(Wn(n)&&on(n.rule.ref)){const r=t.consume++,i=el(t,n.rule.ref.name);return()=>t.parser.consume(r,i,e)}else if(qn(n)){const r=t.consume++,i=el(t,n.value);return()=>t.parser.consume(r,i,e)}else throw new Error("Could not build cross reference parser");else{if(!e.type.ref)throw new Error("Could not resolve reference to type: "+e.type.$refText);const r=Jf(e.type.ref),i=r==null?void 0:r.terminal;if(!i)throw new Error("Could not find name assignment for type: "+Wi(e.type.ref));return Qh(t,e,i)}}function FR(t,e){const n=t.consume++,r=t.tokens[e.value];if(!r)throw new Error("Could not find token for keyword: "+e.value);return()=>t.parser.consume(n,r,e)}function Zh(t,e,n,r){const i=e&&xt(e);if(!r)if(i){const s=t.or++;return a=>t.parser.alternatives(s,[{ALT:()=>n(a),GATE:()=>i(a)},{ALT:Pu(),GATE:()=>!i(a)}])}else return n;if(r==="*"){const s=t.many++;return a=>t.parser.many(s,{DEF:()=>n(a),GATE:i?()=>i(a):void 0})}else if(r==="+"){const s=t.many++;if(i){const a=t.or++;return o=>t.parser.alternatives(a,[{ALT:()=>t.parser.atLeastOne(s,{DEF:()=>n(o)}),GATE:()=>i(o)},{ALT:Pu(),GATE:()=>!i(o)}])}else return a=>t.parser.atLeastOne(s,{DEF:()=>n(a)})}else if(r==="?"){const s=t.optional++;return a=>t.parser.optional(s,{DEF:()=>n(a),GATE:i?()=>i(a):void 0})}else os()}function zl(t,e){const n=GR(t,e),r=t.parser.getRule(n);if(!r)throw new Error(`Rule "${n}" not found."`);return r}function GR(t,e){if(as(e))return e.name;if(t.ruleNames.has(e))return t.ruleNames.get(e);{let n=e,r=n.$container,i=e.$type;for(;!an(r);)(Nl(r)||jf(r)||Bf(r))&&(i=r.elements.indexOf(n).toString()+":"+i),n=r,r=r.$container;return i=r.name+":"+i,t.ruleNames.set(e,i),i}}function el(t,e){const n=t.tokens[e];if(!n)throw new Error(`Token "${e}" not found."`);return n}function UR(t){const e=t.Grammar,n=t.parser.Lexer,r=new wR(t);return Jh(e,r,n.definition),r.finalize(),r}function jR(t){const e=zR(t);return e.finalize(),e}function zR(t){const e=t.Grammar,n=t.parser.Lexer,r=new kR(t);return Jh(e,r,n.definition)}class ep{constructor(){this.diagnostics=[]}buildTokens(e,n){const r=pe(Hf(e,!1)),i=this.buildTerminalTokens(r),s=this.buildKeywordTokens(r,i,n);return s.push(...i),s}flushLexingReport(e){return{diagnostics:this.popDiagnostics()}}popDiagnostics(){const e=[...this.diagnostics];return this.diagnostics=[],e}buildTerminalTokens(e){return e.filter(on).filter(n=>!n.fragment).map(n=>this.buildTerminalToken(n)).toArray()}buildTerminalToken(e){const n=bl(e),r=this.requiresCustomPattern(n)?this.regexPatternFunction(n):n,i={name:e.name,PATTERN:r};return typeof r=="function"&&(i.LINE_BREAKS=!0),e.hidden&&(i.GROUP=Kf(n)?et.SKIPPED:"hidden"),i}requiresCustomPattern(e){return!!(e.flags.includes("u")||e.flags.includes("s"))}regexPatternFunction(e){const n=new RegExp(e,e.flags+"y");return(r,i)=>(n.lastIndex=i,n.exec(r))}buildKeywordTokens(e,n,r){return e.filter(as).flatMap(i=>ss(i).filter(qn)).distinct(i=>i.value).toArray().sort((i,s)=>s.value.length-i.value.length).map(i=>this.buildKeywordToken(i,n,!!(r!=null&&r.caseInsensitive)))}buildKeywordToken(e,n,r){const i=this.buildKeywordPattern(e,r),s={name:e.value,PATTERN:i,LONGER_ALT:this.findLongerAlt(e,n)};return typeof i=="function"&&(s.LINE_BREAKS=!0),s}buildKeywordPattern(e,n){return n?new RegExp(Ua(e.value),"i"):e.value}findLongerAlt(e,n){return n.reduce((r,i)=>{const s=i==null?void 0:i.PATTERN;return s!=null&&s.source&&fg("^"+s.source+"$",e.value)&&r.push(i),r},[])}}class tp{convert(e,n){let r=n.grammarSource;if(Fa(r)&&(r=gg(r)),Wn(r)){const i=r.rule.ref;if(!i)throw new Error("This cst node was not parsed by a rule.");return this.runConverter(i,e,n)}return e}runConverter(e,n,r){var i;switch(e.name.toUpperCase()){case"INT":return Ht.convertInt(n);case"STRING":return Ht.convertString(n);case"ID":return Ht.convertID(n)}switch((i=Sg(e))==null?void 0:i.toLowerCase()){case"number":return Ht.convertNumber(n);case"boolean":return Ht.convertBoolean(n);case"bigint":return Ht.convertBigint(n);case"date":return Ht.convertDate(n);default:return n}}}var Ht;(function(t){function e(l){let u="";for(let f=1;f<l.length-1;f++){const m=l.charAt(f);if(m==="\\"){const g=l.charAt(++f);u+=n(g)}else u+=m}return u}t.convertString=e;function n(l){switch(l){case"b":return"\b";case"f":return"\f";case"n":return`
121
+ `;case"r":return"\r";case"t":return" ";case"v":return"\v";case"0":return"\0";default:return l}}function r(l){return l.charAt(0)==="^"?l.substring(1):l}t.convertID=r;function i(l){return parseInt(l)}t.convertInt=i;function s(l){return BigInt(l)}t.convertBigint=s;function a(l){return new Date(l)}t.convertDate=a;function o(l){return Number(l)}t.convertNumber=o;function c(l){return l.toLowerCase()==="true"}t.convertBoolean=c})(Ht||(Ht={}));var An={},cn={};Object.defineProperty(cn,"__esModule",{value:!0});let tl;function nl(){if(tl===void 0)throw new Error("No runtime abstraction layer installed");return tl}(function(t){function e(n){if(n===void 0)throw new Error("No runtime abstraction layer provided");tl=n}t.install=e})(nl||(nl={}));cn.default=nl;var Ie={};Object.defineProperty(Ie,"__esModule",{value:!0});Ie.stringArray=Ie.array=Ie.func=Ie.error=Ie.number=Ie.string=Ie.boolean=void 0;function BR(t){return t===!0||t===!1}Ie.boolean=BR;function np(t){return typeof t=="string"||t instanceof String}Ie.string=np;function qR(t){return typeof t=="number"||t instanceof Number}Ie.number=qR;function WR(t){return t instanceof Error}Ie.error=WR;function VR(t){return typeof t=="function"}Ie.func=VR;function rp(t){return Array.isArray(t)}Ie.array=rp;function KR(t){return rp(t)&&t.every(e=>np(e))}Ie.stringArray=KR;var Ft={};Object.defineProperty(Ft,"__esModule",{value:!0});var ip=Ft.Emitter=Ft.Event=void 0;const HR=cn;var Fu;(function(t){const e={dispose(){}};t.None=function(){return e}})(Fu||(Ft.Event=Fu={}));class YR{add(e,n=null,r){this._callbacks||(this._callbacks=[],this._contexts=[]),this._callbacks.push(e),this._contexts.push(n),Array.isArray(r)&&r.push({dispose:()=>this.remove(e,n)})}remove(e,n=null){if(!this._callbacks)return;let r=!1;for(let i=0,s=this._callbacks.length;i<s;i++)if(this._callbacks[i]===e)if(this._contexts[i]===n){this._callbacks.splice(i,1),this._contexts.splice(i,1);return}else r=!0;if(r)throw new Error("When adding a listener with a context, you should remove it with the same context")}invoke(...e){if(!this._callbacks)return[];const n=[],r=this._callbacks.slice(0),i=this._contexts.slice(0);for(let s=0,a=r.length;s<a;s++)try{n.push(r[s].apply(i[s],e))}catch(o){(0,HR.default)().console.error(o)}return n}isEmpty(){return!this._callbacks||this._callbacks.length===0}dispose(){this._callbacks=void 0,this._contexts=void 0}}class Ha{constructor(e){this._options=e}get event(){return this._event||(this._event=(e,n,r)=>{this._callbacks||(this._callbacks=new YR),this._options&&this._options.onFirstListenerAdd&&this._callbacks.isEmpty()&&this._options.onFirstListenerAdd(this),this._callbacks.add(e,n);const i={dispose:()=>{this._callbacks&&(this._callbacks.remove(e,n),i.dispose=Ha._noop,this._options&&this._options.onLastListenerRemove&&this._callbacks.isEmpty()&&this._options.onLastListenerRemove(this))}};return Array.isArray(r)&&r.push(i),i}),this._event}fire(e){this._callbacks&&this._callbacks.invoke.call(this._callbacks,e)}dispose(){this._callbacks&&(this._callbacks.dispose(),this._callbacks=void 0)}}ip=Ft.Emitter=Ha;Ha._noop=function(){};var ge;Object.defineProperty(An,"__esModule",{value:!0});var Bl=An.CancellationTokenSource=ge=An.CancellationToken=void 0;const XR=cn,JR=Ie,rl=Ft;var wa;(function(t){t.None=Object.freeze({isCancellationRequested:!1,onCancellationRequested:rl.Event.None}),t.Cancelled=Object.freeze({isCancellationRequested:!0,onCancellationRequested:rl.Event.None});function e(n){const r=n;return r&&(r===t.None||r===t.Cancelled||JR.boolean(r.isCancellationRequested)&&!!r.onCancellationRequested)}t.is=e})(wa||(ge=An.CancellationToken=wa={}));const QR=Object.freeze(function(t,e){const n=(0,XR.default)().timer.setTimeout(t.bind(e),0);return{dispose(){n.dispose()}}});class Gu{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?QR:(this._emitter||(this._emitter=new rl.Emitter),this._emitter.event)}dispose(){this._emitter&&(this._emitter.dispose(),this._emitter=void 0)}}class ZR{get token(){return this._token||(this._token=new Gu),this._token}cancel(){this._token?this._token.cancel():this._token=wa.Cancelled}dispose(){this._token?this._token instanceof Gu&&this._token.dispose():this._token=wa.None}}Bl=An.CancellationTokenSource=ZR;function ev(){return new Promise(t=>{typeof setImmediate>"u"?setTimeout(t,0):setImmediate(t)})}let ta=0,tv=10;function nv(){return ta=performance.now(),new Bl}const Ar=Symbol("OperationCancelled");function Ya(t){return t===Ar}async function He(t){if(t===ge.None)return;const e=performance.now();if(e-ta>=tv&&(ta=e,await ev(),ta=performance.now()),t.isCancellationRequested)throw Ar}class ql{constructor(){this.promise=new Promise((e,n)=>{this.resolve=r=>(e(r),this),this.reject=r=>(n(r),this)})}}class Zi{constructor(e,n,r,i){this._uri=e,this._languageId=n,this._version=r,this._content=i,this._lineOffsets=void 0}get uri(){return this._uri}get languageId(){return this._languageId}get version(){return this._version}getText(e){if(e){const n=this.offsetAt(e.start),r=this.offsetAt(e.end);return this._content.substring(n,r)}return this._content}update(e,n){for(const r of e)if(Zi.isIncremental(r)){const i=ap(r.range),s=this.offsetAt(i.start),a=this.offsetAt(i.end);this._content=this._content.substring(0,s)+r.text+this._content.substring(a,this._content.length);const o=Math.max(i.start.line,0),c=Math.max(i.end.line,0);let l=this._lineOffsets;const u=Uu(r.text,!1,s);if(c-o===u.length)for(let m=0,g=u.length;m<g;m++)l[m+o+1]=u[m];else u.length<1e4?l.splice(o+1,c-o,...u):this._lineOffsets=l=l.slice(0,o+1).concat(u,l.slice(c+1));const f=r.text.length-(a-s);if(f!==0)for(let m=o+1+u.length,g=l.length;m<g;m++)l[m]=l[m]+f}else if(Zi.isFull(r))this._content=r.text,this._lineOffsets=void 0;else throw new Error("Unknown change event received");this._version=n}getLineOffsets(){return this._lineOffsets===void 0&&(this._lineOffsets=Uu(this._content,!0)),this._lineOffsets}positionAt(e){e=Math.max(Math.min(e,this._content.length),0);const n=this.getLineOffsets();let r=0,i=n.length;if(i===0)return{line:0,character:e};for(;r<i;){const a=Math.floor((r+i)/2);n[a]>e?i=a:r=a+1}const s=r-1;return e=this.ensureBeforeEOL(e,n[s]),{line:s,character:e-n[s]}}offsetAt(e){const n=this.getLineOffsets();if(e.line>=n.length)return this._content.length;if(e.line<0)return 0;const r=n[e.line];if(e.character<=0)return r;const i=e.line+1<n.length?n[e.line+1]:this._content.length,s=Math.min(r+e.character,i);return this.ensureBeforeEOL(s,r)}ensureBeforeEOL(e,n){for(;e>n&&sp(this._content.charCodeAt(e-1));)e--;return e}get lineCount(){return this.getLineOffsets().length}static isIncremental(e){const n=e;return n!=null&&typeof n.text=="string"&&n.range!==void 0&&(n.rangeLength===void 0||typeof n.rangeLength=="number")}static isFull(e){const n=e;return n!=null&&typeof n.text=="string"&&n.range===void 0&&n.rangeLength===void 0}}var il;(function(t){function e(i,s,a,o){return new Zi(i,s,a,o)}t.create=e;function n(i,s,a){if(i instanceof Zi)return i.update(s,a),i;throw new Error("TextDocument.update: document must be created by TextDocument.create")}t.update=n;function r(i,s){const a=i.getText(),o=sl(s.map(rv),(u,f)=>{const m=u.range.start.line-f.range.start.line;return m===0?u.range.start.character-f.range.start.character:m});let c=0;const l=[];for(const u of o){const f=i.offsetAt(u.range.start);if(f<c)throw new Error("Overlapping edit");f>c&&l.push(a.substring(c,f)),u.newText.length&&l.push(u.newText),c=i.offsetAt(u.range.end)}return l.push(a.substr(c)),l.join("")}t.applyEdits=r})(il||(il={}));function sl(t,e){if(t.length<=1)return t;const n=t.length/2|0,r=t.slice(0,n),i=t.slice(n);sl(r,e),sl(i,e);let s=0,a=0,o=0;for(;s<r.length&&a<i.length;)e(r[s],i[a])<=0?t[o++]=r[s++]:t[o++]=i[a++];for(;s<r.length;)t[o++]=r[s++];for(;a<i.length;)t[o++]=i[a++];return t}function Uu(t,e,n=0){const r=e?[n]:[];for(let i=0;i<t.length;i++){const s=t.charCodeAt(i);sp(s)&&(s===13&&i+1<t.length&&t.charCodeAt(i+1)===10&&i++,r.push(n+i+1))}return r}function sp(t){return t===13||t===10}function ap(t){const e=t.start,n=t.end;return e.line>n.line||e.line===n.line&&e.character>n.character?{start:n,end:e}:t}function rv(t){const e=ap(t.range);return e!==t.range?{newText:t.newText,range:e}:t}var op;(()=>{var t={975:k=>{function R(y){if(typeof y!="string")throw new TypeError("Path must be a string. Received "+JSON.stringify(y))}function p(y,T){for(var E,P="",D=0,L=-1,z=0,G=0;G<=y.length;++G){if(G<y.length)E=y.charCodeAt(G);else{if(E===47)break;E=47}if(E===47){if(!(L===G-1||z===1))if(L!==G-1&&z===2){if(P.length<2||D!==2||P.charCodeAt(P.length-1)!==46||P.charCodeAt(P.length-2)!==46){if(P.length>2){var se=P.lastIndexOf("/");if(se!==P.length-1){se===-1?(P="",D=0):D=(P=P.slice(0,se)).length-1-P.lastIndexOf("/"),L=G,z=0;continue}}else if(P.length===2||P.length===1){P="",D=0,L=G,z=0;continue}}T&&(P.length>0?P+="/..":P="..",D=2)}else P.length>0?P+="/"+y.slice(L+1,G):P=y.slice(L+1,G),D=G-L-1;L=G,z=0}else E===46&&z!==-1?++z:z=-1}return P}var S={resolve:function(){for(var y,T="",E=!1,P=arguments.length-1;P>=-1&&!E;P--){var D;P>=0?D=arguments[P]:(y===void 0&&(y=process.cwd()),D=y),R(D),D.length!==0&&(T=D+"/"+T,E=D.charCodeAt(0)===47)}return T=p(T,!E),E?T.length>0?"/"+T:"/":T.length>0?T:"."},normalize:function(y){if(R(y),y.length===0)return".";var T=y.charCodeAt(0)===47,E=y.charCodeAt(y.length-1)===47;return(y=p(y,!T)).length!==0||T||(y="."),y.length>0&&E&&(y+="/"),T?"/"+y:y},isAbsolute:function(y){return R(y),y.length>0&&y.charCodeAt(0)===47},join:function(){if(arguments.length===0)return".";for(var y,T=0;T<arguments.length;++T){var E=arguments[T];R(E),E.length>0&&(y===void 0?y=E:y+="/"+E)}return y===void 0?".":S.normalize(y)},relative:function(y,T){if(R(y),R(T),y===T||(y=S.resolve(y))===(T=S.resolve(T)))return"";for(var E=1;E<y.length&&y.charCodeAt(E)===47;++E);for(var P=y.length,D=P-E,L=1;L<T.length&&T.charCodeAt(L)===47;++L);for(var z=T.length-L,G=D<z?D:z,se=-1,q=0;q<=G;++q){if(q===G){if(z>G){if(T.charCodeAt(L+q)===47)return T.slice(L+q+1);if(q===0)return T.slice(L+q)}else D>G&&(y.charCodeAt(E+q)===47?se=q:q===0&&(se=0));break}var re=y.charCodeAt(E+q);if(re!==T.charCodeAt(L+q))break;re===47&&(se=q)}var xe="";for(q=E+se+1;q<=P;++q)q!==P&&y.charCodeAt(q)!==47||(xe.length===0?xe+="..":xe+="/..");return xe.length>0?xe+T.slice(L+se):(L+=se,T.charCodeAt(L)===47&&++L,T.slice(L))},_makeLong:function(y){return y},dirname:function(y){if(R(y),y.length===0)return".";for(var T=y.charCodeAt(0),E=T===47,P=-1,D=!0,L=y.length-1;L>=1;--L)if((T=y.charCodeAt(L))===47){if(!D){P=L;break}}else D=!1;return P===-1?E?"/":".":E&&P===1?"//":y.slice(0,P)},basename:function(y,T){if(T!==void 0&&typeof T!="string")throw new TypeError('"ext" argument must be a string');R(y);var E,P=0,D=-1,L=!0;if(T!==void 0&&T.length>0&&T.length<=y.length){if(T.length===y.length&&T===y)return"";var z=T.length-1,G=-1;for(E=y.length-1;E>=0;--E){var se=y.charCodeAt(E);if(se===47){if(!L){P=E+1;break}}else G===-1&&(L=!1,G=E+1),z>=0&&(se===T.charCodeAt(z)?--z==-1&&(D=E):(z=-1,D=G))}return P===D?D=G:D===-1&&(D=y.length),y.slice(P,D)}for(E=y.length-1;E>=0;--E)if(y.charCodeAt(E)===47){if(!L){P=E+1;break}}else D===-1&&(L=!1,D=E+1);return D===-1?"":y.slice(P,D)},extname:function(y){R(y);for(var T=-1,E=0,P=-1,D=!0,L=0,z=y.length-1;z>=0;--z){var G=y.charCodeAt(z);if(G!==47)P===-1&&(D=!1,P=z+1),G===46?T===-1?T=z:L!==1&&(L=1):T!==-1&&(L=-1);else if(!D){E=z+1;break}}return T===-1||P===-1||L===0||L===1&&T===P-1&&T===E+1?"":y.slice(T,P)},format:function(y){if(y===null||typeof y!="object")throw new TypeError('The "pathObject" argument must be of type Object. Received type '+typeof y);return function(T,E){var P=E.dir||E.root,D=E.base||(E.name||"")+(E.ext||"");return P?P===E.root?P+D:P+"/"+D:D}(0,y)},parse:function(y){R(y);var T={root:"",dir:"",base:"",ext:"",name:""};if(y.length===0)return T;var E,P=y.charCodeAt(0),D=P===47;D?(T.root="/",E=1):E=0;for(var L=-1,z=0,G=-1,se=!0,q=y.length-1,re=0;q>=E;--q)if((P=y.charCodeAt(q))!==47)G===-1&&(se=!1,G=q+1),P===46?L===-1?L=q:re!==1&&(re=1):L!==-1&&(re=-1);else if(!se){z=q+1;break}return L===-1||G===-1||re===0||re===1&&L===G-1&&L===z+1?G!==-1&&(T.base=T.name=z===0&&D?y.slice(1,G):y.slice(z,G)):(z===0&&D?(T.name=y.slice(1,L),T.base=y.slice(1,G)):(T.name=y.slice(z,L),T.base=y.slice(z,G)),T.ext=y.slice(L,G)),z>0?T.dir=y.slice(0,z-1):D&&(T.dir="/"),T},sep:"/",delimiter:":",win32:null,posix:null};S.posix=S,k.exports=S}},e={};function n(k){var R=e[k];if(R!==void 0)return R.exports;var p=e[k]={exports:{}};return t[k](p,p.exports,n),p.exports}n.d=(k,R)=>{for(var p in R)n.o(R,p)&&!n.o(k,p)&&Object.defineProperty(k,p,{enumerable:!0,get:R[p]})},n.o=(k,R)=>Object.prototype.hasOwnProperty.call(k,R),n.r=k=>{typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty(k,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(k,"__esModule",{value:!0})};var r={};let i;n.r(r),n.d(r,{URI:()=>m,Utils:()=>de}),typeof process=="object"?i=process.platform==="win32":typeof navigator=="object"&&(i=navigator.userAgent.indexOf("Windows")>=0);const s=/^\w[\w\d+.-]*$/,a=/^\//,o=/^\/\//;function c(k,R){if(!k.scheme&&R)throw new Error(`[UriError]: Scheme is missing: {scheme: "", authority: "${k.authority}", path: "${k.path}", query: "${k.query}", fragment: "${k.fragment}"}`);if(k.scheme&&!s.test(k.scheme))throw new Error("[UriError]: Scheme contains illegal characters.");if(k.path){if(k.authority){if(!a.test(k.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(k.path))throw new Error('[UriError]: If a URI does not contain an authority component, then the path cannot begin with two slash characters ("//")')}}const l="",u="/",f=/^(([^:/?#]+?):)?(\/\/([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?/;class m{constructor(R,p,S,y,T,E=!1){dn(this,"scheme");dn(this,"authority");dn(this,"path");dn(this,"query");dn(this,"fragment");typeof R=="object"?(this.scheme=R.scheme||l,this.authority=R.authority||l,this.path=R.path||l,this.query=R.query||l,this.fragment=R.fragment||l):(this.scheme=function(P,D){return P||D?P:"file"}(R,E),this.authority=p||l,this.path=function(P,D){switch(P){case"https":case"http":case"file":D?D[0]!==u&&(D=u+D):D=u}return D}(this.scheme,S||l),this.query=y||l,this.fragment=T||l,c(this,E))}static isUri(R){return R instanceof m||!!R&&typeof R.authority=="string"&&typeof R.fragment=="string"&&typeof R.path=="string"&&typeof R.query=="string"&&typeof R.scheme=="string"&&typeof R.fsPath=="string"&&typeof R.with=="function"&&typeof R.toString=="function"}get fsPath(){return O(this)}with(R){if(!R)return this;let{scheme:p,authority:S,path:y,query:T,fragment:E}=R;return p===void 0?p=this.scheme:p===null&&(p=l),S===void 0?S=this.authority:S===null&&(S=l),y===void 0?y=this.path:y===null&&(y=l),T===void 0?T=this.query:T===null&&(T=l),E===void 0?E=this.fragment:E===null&&(E=l),p===this.scheme&&S===this.authority&&y===this.path&&T===this.query&&E===this.fragment?this:new A(p,S,y,T,E)}static parse(R,p=!1){const S=f.exec(R);return S?new A(S[2]||l,te(S[4]||l),te(S[5]||l),te(S[7]||l),te(S[9]||l),p):new A(l,l,l,l,l)}static file(R){let p=l;if(i&&(R=R.replace(/\\/g,u)),R[0]===u&&R[1]===u){const S=R.indexOf(u,2);S===-1?(p=R.substring(2),R=u):(p=R.substring(2,S),R=R.substring(S)||u)}return new A("file",p,R,l,l)}static from(R){const p=new A(R.scheme,R.authority,R.path,R.query,R.fragment);return c(p,!0),p}toString(R=!1){return b(this,R)}toJSON(){return this}static revive(R){if(R){if(R instanceof m)return R;{const p=new A(R);return p._formatted=R.external,p._fsPath=R._sep===g?R.fsPath:null,p}}return R}}const g=i?1:void 0;class A extends m{constructor(){super(...arguments);dn(this,"_formatted",null);dn(this,"_fsPath",null)}get fsPath(){return this._fsPath||(this._fsPath=O(this)),this._fsPath}toString(p=!1){return p?b(this,!0):(this._formatted||(this._formatted=b(this,!1)),this._formatted)}toJSON(){const p={$mid:1};return this._fsPath&&(p.fsPath=this._fsPath,p._sep=g),this._formatted&&(p.external=this._formatted),this.path&&(p.path=this.path),this.scheme&&(p.scheme=this.scheme),this.authority&&(p.authority=this.authority),this.query&&(p.query=this.query),this.fragment&&(p.fragment=this.fragment),p}}const N={58:"%3A",47:"%2F",63:"%3F",35:"%23",91:"%5B",93:"%5D",64:"%40",33:"%21",36:"%24",38:"%26",39:"%27",40:"%28",41:"%29",42:"%2A",43:"%2B",44:"%2C",59:"%3B",61:"%3D",32:"%20"};function $(k,R,p){let S,y=-1;for(let T=0;T<k.length;T++){const E=k.charCodeAt(T);if(E>=97&&E<=122||E>=65&&E<=90||E>=48&&E<=57||E===45||E===46||E===95||E===126||R&&E===47||p&&E===91||p&&E===93||p&&E===58)y!==-1&&(S+=encodeURIComponent(k.substring(y,T)),y=-1),S!==void 0&&(S+=k.charAt(T));else{S===void 0&&(S=k.substr(0,T));const P=N[E];P!==void 0?(y!==-1&&(S+=encodeURIComponent(k.substring(y,T)),y=-1),S+=P):y===-1&&(y=T)}}return y!==-1&&(S+=encodeURIComponent(k.substring(y))),S!==void 0?S:k}function w(k){let R;for(let p=0;p<k.length;p++){const S=k.charCodeAt(p);S===35||S===63?(R===void 0&&(R=k.substr(0,p)),R+=N[S]):R!==void 0&&(R+=k[p])}return R!==void 0?R:k}function O(k,R){let p;return p=k.authority&&k.path.length>1&&k.scheme==="file"?`//${k.authority}${k.path}`:k.path.charCodeAt(0)===47&&(k.path.charCodeAt(1)>=65&&k.path.charCodeAt(1)<=90||k.path.charCodeAt(1)>=97&&k.path.charCodeAt(1)<=122)&&k.path.charCodeAt(2)===58?k.path[1].toLowerCase()+k.path.substr(2):k.path,i&&(p=p.replace(/\//g,"\\")),p}function b(k,R){const p=R?w:$;let S="",{scheme:y,authority:T,path:E,query:P,fragment:D}=k;if(y&&(S+=y,S+=":"),(T||y==="file")&&(S+=u,S+=u),T){let L=T.indexOf("@");if(L!==-1){const z=T.substr(0,L);T=T.substr(L+1),L=z.lastIndexOf(":"),L===-1?S+=p(z,!1,!1):(S+=p(z.substr(0,L),!1,!1),S+=":",S+=p(z.substr(L+1),!1,!0)),S+="@"}T=T.toLowerCase(),L=T.lastIndexOf(":"),L===-1?S+=p(T,!1,!0):(S+=p(T.substr(0,L),!1,!0),S+=T.substr(L))}if(E){if(E.length>=3&&E.charCodeAt(0)===47&&E.charCodeAt(2)===58){const L=E.charCodeAt(1);L>=65&&L<=90&&(E=`/${String.fromCharCode(L+32)}:${E.substr(3)}`)}else if(E.length>=2&&E.charCodeAt(1)===58){const L=E.charCodeAt(0);L>=65&&L<=90&&(E=`${String.fromCharCode(L+32)}:${E.substr(2)}`)}S+=p(E,!0,!1)}return P&&(S+="?",S+=p(P,!1,!1)),D&&(S+="#",S+=R?D:$(D,!1,!1)),S}function x(k){try{return decodeURIComponent(k)}catch{return k.length>3?k.substr(0,3)+x(k.substr(3)):k}}const X=/(%[0-9A-Za-z][0-9A-Za-z])+/g;function te(k){return k.match(X)?k.replace(X,R=>x(R)):k}var ne=n(975);const ye=ne.posix||ne,Ce="/";var de;(function(k){k.joinPath=function(R,...p){return R.with({path:ye.join(R.path,...p)})},k.resolvePath=function(R,...p){let S=R.path,y=!1;S[0]!==Ce&&(S=Ce+S,y=!0);let T=ye.resolve(S,...p);return y&&T[0]===Ce&&!R.authority&&(T=T.substring(1)),R.with({path:T})},k.dirname=function(R){if(R.path.length===0||R.path===Ce)return R;let p=ye.dirname(R.path);return p.length===1&&p.charCodeAt(0)===46&&(p=""),R.with({path:p})},k.basename=function(R){return ye.basename(R.path)},k.extname=function(R){return ye.extname(R.path)}})(de||(de={})),op=r})();const{URI:wt,Utils:Ni}=op;var ct;(function(t){t.basename=Ni.basename,t.dirname=Ni.dirname,t.extname=Ni.extname,t.joinPath=Ni.joinPath,t.resolvePath=Ni.resolvePath;const e=typeof process=="object"&&(process==null?void 0:process.platform)==="win32";function n(a,o){return(a==null?void 0:a.toString())===(o==null?void 0:o.toString())}t.equals=n;function r(a,o){const c=typeof a=="string"?wt.parse(a).path:a.path,l=typeof o=="string"?wt.parse(o).path:o.path,u=c.split("/").filter(N=>N.length>0),f=l.split("/").filter(N=>N.length>0);if(e){const N=/^[A-Z]:$/;if(u[0]&&N.test(u[0])&&(u[0]=u[0].toLowerCase()),f[0]&&N.test(f[0])&&(f[0]=f[0].toLowerCase()),u[0]!==f[0])return l.substring(1)}let m=0;for(;m<u.length&&u[m]===f[m];m++);const g="../".repeat(u.length-m),A=f.slice(m).join("/");return g+A}t.relative=r;function i(a){return wt.parse(a.toString()).toString()}t.normalize=i;function s(a,o){let c=typeof a=="string"?a:a.path,l=typeof o=="string"?o:o.path;return l.charAt(l.length-1)==="/"&&(l=l.slice(0,-1)),c.charAt(c.length-1)==="/"&&(c=c.slice(0,-1)),l===c?!0:l.length<c.length||l.charAt(c.length)!=="/"?!1:l.startsWith(c)}t.contains=s})(ct||(ct={}));class iv{constructor(){this.root={name:"",children:new Map}}normalizeUri(e){return ct.normalize(e)}clear(){this.root.children.clear()}insert(e,n){const r=this.getNode(this.normalizeUri(e),!0);r.element=n}delete(e){const n=this.getNode(this.normalizeUri(e),!1);n!=null&&n.parent&&n.parent.children.delete(n.name)}has(e){var n;return((n=this.getNode(this.normalizeUri(e),!1))==null?void 0:n.element)!==void 0}hasNode(e){return this.getNode(this.normalizeUri(e),!1)!==void 0}find(e){var n;return(n=this.getNode(this.normalizeUri(e),!1))==null?void 0:n.element}findNode(e){const n=this.normalizeUri(e),r=this.getNode(n,!1);if(r)return{name:r.name,uri:ct.joinPath(wt.parse(n),r.name).toString(),element:r.element}}findChildren(e){const n=this.normalizeUri(e),r=this.getNode(n,!1);return r?Array.from(r.children.values()).map(i=>({name:i.name,uri:ct.joinPath(wt.parse(n),i.name).toString(),element:i.element})):[]}all(){return this.collectValues(this.root)}findAll(e){const n=this.getNode(ct.normalize(e),!1);return n?this.collectValues(n):[]}getNode(e,n){const r=e.split("/");e.charAt(e.length-1)==="/"&&r.pop();let i=this.root;for(const s of r){let a=i.children.get(s);if(!a)if(n)a={name:s,children:new Map,parent:i},i.children.set(s,a);else return;i=a}return i}collectValues(e){const n=[];e.element&&n.push(e.element);for(const r of e.children.values())n.push(...this.collectValues(r));return n}}var 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 sv{constructor(e){this.serviceRegistry=e.ServiceRegistry,this.textDocuments=e.workspace.TextDocuments,this.fileSystemProvider=e.workspace.FileSystemProvider}async fromUri(e,n=ge.None){const r=await this.fileSystemProvider.readFile(e);return this.createAsync(e,r,n)}fromTextDocument(e,n,r){return n=n??wt.parse(e.uri),ge.is(r)?this.createAsync(n,e,r):this.create(n,e,r)}fromString(e,n,r){return ge.is(r)?this.createAsync(n,e,r):this.create(n,e,r)}fromModel(e,n){return this.create(n,{$model:e})}create(e,n,r){if(typeof n=="string"){const i=this.parse(e,n,r);return this.createLangiumDocument(i,e,void 0,n)}else if("$model"in n){const i={value:n.$model,parserErrors:[],lexerErrors:[]};return this.createLangiumDocument(i,e)}else{const i=this.parse(e,n.getText(),r);return this.createLangiumDocument(i,e,n)}}async createAsync(e,n,r){if(typeof n=="string"){const i=await this.parseAsync(e,n,r);return this.createLangiumDocument(i,e,void 0,n)}else{const i=await this.parseAsync(e,n.getText(),r);return this.createLangiumDocument(i,e,n)}}createLangiumDocument(e,n,r,i){let s;if(r)s={parseResult:e,uri:n,state:K.Parsed,references:[],textDocument:r};else{const a=this.createTextDocumentGetter(n,i);s={parseResult:e,uri:n,state:K.Parsed,references:[],get textDocument(){return a()}}}return e.value.$document=s,s}async update(e,n){var a,o;const r=(a=e.parseResult.value.$cstNode)==null?void 0:a.root.fullText,i=(o=this.textDocuments)==null?void 0:o.get(e.uri.toString()),s=i?i.getText():await this.fileSystemProvider.readFile(e.uri);if(i)Object.defineProperty(e,"textDocument",{value:i});else{const c=this.createTextDocumentGetter(e.uri,s);Object.defineProperty(e,"textDocument",{get:c})}return r!==s&&(e.parseResult=await this.parseAsync(e.uri,s,n),e.parseResult.value.$document=e),e.state=K.Parsed,e}parse(e,n,r){return this.serviceRegistry.getServices(e).parser.LangiumParser.parse(n,r)}parseAsync(e,n,r){return this.serviceRegistry.getServices(e).parser.AsyncParser.parse(n,r)}createTextDocumentGetter(e,n){const r=this.serviceRegistry;let i;return()=>i??(i=il.create(e.toString(),r.getServices(e).LanguageMetaData.languageId,0,n??""))}}class av{constructor(e){this.documentTrie=new iv,this.services=e,this.langiumDocumentFactory=e.workspace.LangiumDocumentFactory,this.documentBuilder=()=>e.workspace.DocumentBuilder}get all(){return pe(this.documentTrie.all())}addDocument(e){const n=e.uri.toString();if(this.documentTrie.has(n))throw new Error(`A document with the URI '${n}' is already present.`);this.documentTrie.insert(n,e)}getDocument(e){const n=e.toString();return this.documentTrie.find(n)}getDocuments(e){const n=e.toString();return this.documentTrie.findAll(n)}async getOrCreateDocument(e,n){let r=this.getDocument(e);return r||(r=await this.langiumDocumentFactory.fromUri(e,n),this.addDocument(r),r)}createDocument(e,n,r){if(r)return this.langiumDocumentFactory.fromString(n,e,r).then(i=>(this.addDocument(i),i));{const i=this.langiumDocumentFactory.fromString(n,e);return this.addDocument(i),i}}hasDocument(e){return this.documentTrie.has(e.toString())}invalidateDocument(e){const n=e.toString(),r=this.documentTrie.find(n);return r&&this.documentBuilder().resetToState(r,K.Changed),r}deleteDocument(e){const n=e.toString(),r=this.documentTrie.find(n);return r&&(r.state=K.Changed,this.documentTrie.delete(n)),r}deleteDocuments(e){const n=e.toString(),r=this.documentTrie.findAll(n);for(const i of r)i.state=K.Changed;return this.documentTrie.delete(n),r}}const ir=Symbol("RefResolving");class ov{constructor(e){this.reflection=e.shared.AstReflection,this.langiumDocuments=()=>e.shared.workspace.LangiumDocuments,this.scopeProvider=e.references.ScopeProvider,this.astNodeLocator=e.workspace.AstNodeLocator,this.profiler=e.shared.profilers.LangiumProfiler,this.languageId=e.LanguageMetaData.languageId}async link(e,n=ge.None){var r;if((r=this.profiler)!=null&&r.isActive("linking")){const i=this.profiler.createTask("linking",this.languageId);i.start();try{for(const s of Zt(e.parseResult.value))await He(n),sa(s).forEach(a=>{const o=`${s.$type}:${a.property}`;i.startSubTask(o);try{this.doLink(a,e)}finally{i.stopSubTask(o)}})}finally{i.stop()}}else for(const i of Zt(e.parseResult.value))await He(n),sa(i).forEach(s=>this.doLink(s,e))}doLink(e,n){const r=e.reference;if("_ref"in r&&r._ref===void 0){r._ref=ir;try{const i=this.getCandidate(e);if(vi(i))r._ref=i;else{r._nodeDescription=i;const s=this.loadAstNode(i);r._ref=s??this.createLinkingError(e,i)}}catch(i){console.error(`An error occurred while resolving reference to '${r.$refText}':`,i);const s=i.message??String(i);r._ref={info:e,message:`An error occurred while resolving reference to '${r.$refText}': ${s}`}}n.references.push(r)}else if("_items"in r&&r._items===void 0){r._items=ir;try{const i=this.getCandidates(e),s=[];if(vi(i))r._linkingError=i;else for(const a of i){const o=this.loadAstNode(a);o&&s.push({ref:o,$nodeDescription:a})}r._items=s}catch(i){r._linkingError={info:e,message:`An error occurred while resolving reference to '${r.$refText}': ${i}`},r._items=[]}n.references.push(r)}}unlink(e){for(const n of e.references)"_ref"in n?(n._ref=void 0,delete n._nodeDescription):"_items"in n&&(n._items=void 0,delete n._linkingError);e.references=[]}getCandidate(e){return this.scopeProvider.getScope(e).getElement(e.reference.$refText)??this.createLinkingError(e)}getCandidates(e){const r=this.scopeProvider.getScope(e).getElements(e.reference.$refText).distinct(i=>`${i.documentUri}#${i.path}`).toArray();return r.length>0?r:this.createLinkingError(e)}buildReference(e,n,r,i){const s=this,a={$refNode:r,$refText:i,_ref:void 0,get ref(){if(We(this._ref))return this._ref;if(Im(this._nodeDescription)){const o=s.loadAstNode(this._nodeDescription);this._ref=o??s.createLinkingError({reference:a,container:e,property:n},this._nodeDescription)}else if(this._ref===void 0){this._ref=ir;const o=Bs(e).$document,c=s.getLinkedNode({reference:a,container:e,property:n});if(c.error&&o&&o.state<K.ComputedScopes)return this._ref=void 0;this._ref=c.node??c.error,this._nodeDescription=c.descr,o==null||o.references.push(this)}else this._ref===ir&&s.throwCyclicReferenceError(e,n,i);return We(this._ref)?this._ref:void 0},get $nodeDescription(){return this._nodeDescription},get error(){return vi(this._ref)?this._ref:void 0}};return a}buildMultiReference(e,n,r,i){const s=this,a={$refNode:r,$refText:i,_items:void 0,get items(){if(Array.isArray(this._items))return this._items;if(this._items===void 0){this._items=ir;const o=Bs(e).$document,c=s.getCandidates({reference:a,container:e,property:n}),l=[];if(vi(c))this._linkingError=c;else for(const u of c){const f=s.loadAstNode(u);f&&l.push({ref:f,$nodeDescription:u})}this._items=l,o==null||o.references.push(this)}else this._items===ir&&s.throwCyclicReferenceError(e,n,i);return Array.isArray(this._items)?this._items:[]},get error(){if(this._linkingError)return this._linkingError;if(!(this.items.length>0))return this._linkingError=s.createLinkingError({reference:a,container:e,property:n})}};return a}throwCyclicReferenceError(e,n,r){throw new Error(`Cyclic reference resolution detected: ${this.astNodeLocator.getAstNodePath(e)}/${n} (symbol '${r}')`)}getLinkedNode(e){try{const n=this.getCandidate(e);if(vi(n))return{error:n};const r=this.loadAstNode(n);return r?{node:r,descr:n}:{descr:n,error:this.createLinkingError(e,n)}}catch(n){console.error(`An error occurred while resolving reference to '${e.reference.$refText}':`,n);const r=n.message??String(n);return{error:{info:e,message:`An error occurred while resolving reference to '${e.reference.$refText}': ${r}`}}}}loadAstNode(e){if(e.node)return e.node;const n=this.langiumDocuments().getDocument(e.documentUri);if(n)return this.astNodeLocator.getAstNode(n.parseResult.value,e.path)}createLinkingError(e,n){const r=Bs(e.container).$document;r&&r.state<K.ComputedScopes&&console.warn(`Attempted reference resolution before document reached ComputedScopes state (${r.uri}).`);const i=this.reflection.getReferenceType(e);return{info:e,message:`Could not resolve reference to ${i} named '${e.reference.$refText}'.`,targetDescription:n}}}function cv(t){return typeof t.name=="string"}class lv{getName(e){if(cv(e))return e.name}getNameNode(e){return Xf(e.$cstNode,"name")}}class uv{constructor(e){this.nameProvider=e.references.NameProvider,this.index=e.shared.workspace.IndexManager,this.nodeLocator=e.workspace.AstNodeLocator,this.documents=e.shared.workspace.LangiumDocuments,this.hasMultiReference=Zt(e.Grammar).some(n=>Fa(n)&&n.isMulti)}findDeclarations(e){if(e){const n=Eg(e),r=e.astNode;if(n&&r){const i=r[n.feature];if(Ct(i)||hn(i))return Ql(i);if(Array.isArray(i)){for(const s of i)if((Ct(s)||hn(s))&&s.$refNode&&s.$refNode.offset<=e.offset&&s.$refNode.end>=e.end)return Ql(s)}}if(r){const i=this.nameProvider.getNameNode(r);if(i&&(i===e||Qm(e,i)))return this.getSelfNodes(r)}}return[]}getSelfNodes(e){if(this.hasMultiReference){const n=this.index.findAllReferences(e,this.nodeLocator.getAstNodePath(e)),r=this.getNodeFromReferenceDescription(n.head());if(r){for(const i of sa(r))if(hn(i.reference)&&i.reference.items.some(s=>s.ref===e))return i.reference.items.map(s=>s.ref)}return[e]}else return[e]}getNodeFromReferenceDescription(e){if(!e)return;const n=this.documents.getDocument(e.sourceUri);if(n)return this.nodeLocator.getAstNode(n.parseResult.value,e.sourcePath)}findDeclarationNodes(e){const n=this.findDeclarations(e),r=[];for(const i of n){const s=this.nameProvider.getNameNode(i)??i.$cstNode;s&&r.push(s)}return r}findReferences(e,n){const r=[];n.includeDeclaration&&r.push(...this.getSelfReferences(e));let i=this.index.findAllReferences(e,this.nodeLocator.getAstNodePath(e));return n.documentUri&&(i=i.filter(s=>ct.equals(s.sourceUri,n.documentUri))),r.push(...i),pe(r)}getSelfReferences(e){const n=this.getSelfNodes(e),r=[];for(const i of n){const s=this.nameProvider.getNameNode(i);if(s){const a=Qt(i),o=this.nodeLocator.getAstNodePath(i);r.push({sourceUri:a.uri,sourcePath:o,targetUri:a.uri,targetPath:o,segment:oa(s),local:!0})}}return r}}class es{constructor(e){if(this.map=new Map,e)for(const[n,r]of e)this.add(n,r)}get size(){return $o.sum(pe(this.map.values()).map(e=>e.length))}clear(){this.map.clear()}delete(e,n){if(n===void 0)return this.map.delete(e);{const r=this.map.get(e);if(r){const i=r.indexOf(n);if(i>=0)return r.length===1?this.map.delete(e):r.splice(i,1),!0}return!1}}get(e){return this.map.get(e)??[]}getStream(e){const n=this.map.get(e);return n?pe(n):Gf}has(e,n){if(n===void 0)return this.map.has(e);{const r=this.map.get(e);return r?r.indexOf(n)>=0:!1}}add(e,n){return this.map.has(e)?this.map.get(e).push(n):this.map.set(e,[n]),this}addAll(e,n){return this.map.has(e)?this.map.get(e).push(...n):this.map.set(e,Array.from(n)),this}forEach(e){this.map.forEach((n,r)=>n.forEach(i=>e(i,r,this)))}[Symbol.iterator](){return this.entries().iterator()}entries(){return pe(this.map.entries()).flatMap(([e,n])=>n.map(r=>[e,r]))}keys(){return pe(this.map.keys())}values(){return pe(this.map.values()).flat()}entriesGroupedByKey(){return pe(this.map.entries())}}class ju{get size(){return this.map.size}constructor(e){if(this.map=new Map,this.inverse=new Map,e)for(const[n,r]of e)this.set(n,r)}clear(){this.map.clear(),this.inverse.clear()}set(e,n){return this.map.set(e,n),this.inverse.set(n,e),this}get(e){return this.map.get(e)}getKey(e){return this.inverse.get(e)}delete(e){const n=this.map.get(e);return n!==void 0?(this.map.delete(e),this.inverse.delete(n),!0):!1}}class dv{constructor(e){this.nameProvider=e.references.NameProvider,this.descriptions=e.workspace.AstNodeDescriptionProvider}async collectExportedSymbols(e,n=ge.None){return this.collectExportedSymbolsForNode(e.parseResult.value,e,void 0,n)}async collectExportedSymbolsForNode(e,n,r=kl,i=ge.None){const s=[];this.addExportedSymbol(e,s,n);for(const a of r(e))await He(i),this.addExportedSymbol(a,s,n);return s}addExportedSymbol(e,n,r){const i=this.nameProvider.getName(e);i&&n.push(this.descriptions.createDescription(e,i,r))}async collectLocalSymbols(e,n=ge.None){const r=e.parseResult.value,i=new es;for(const s of ss(r))await He(n),this.addLocalSymbol(s,e,i);return i}addLocalSymbol(e,n,r){const i=e.$container;if(i){const s=this.nameProvider.getName(e);s&&r.add(i,this.descriptions.createDescription(e,s,n))}}}class zu{constructor(e,n,r){this.elements=e,this.outerScope=n,this.caseInsensitive=(r==null?void 0:r.caseInsensitive)??!1,this.concatOuterScope=(r==null?void 0:r.concatOuterScope)??!0}getAllElements(){return this.outerScope?this.elements.concat(this.outerScope.getAllElements()):this.elements}getElement(e){const n=this.caseInsensitive?e.toLowerCase():e,r=this.caseInsensitive?this.elements.find(i=>i.name.toLowerCase()===n):this.elements.find(i=>i.name===e);if(r)return r;if(this.outerScope)return this.outerScope.getElement(e)}getElements(e){const n=this.caseInsensitive?e.toLowerCase():e,r=this.caseInsensitive?this.elements.filter(i=>i.name.toLowerCase()===n):this.elements.filter(i=>i.name===e);return(this.concatOuterScope||r.isEmpty())&&this.outerScope?r.concat(this.outerScope.getElements(e)):r}}class fv{constructor(e,n,r){this.elements=new es,this.caseInsensitive=(r==null?void 0:r.caseInsensitive)??!1,this.concatOuterScope=(r==null?void 0:r.concatOuterScope)??!0;for(const i of e){const s=this.caseInsensitive?i.name.toLowerCase():i.name;this.elements.add(s,i)}this.outerScope=n}getElement(e){const n=this.caseInsensitive?e.toLowerCase():e,r=this.elements.get(n)[0];if(r)return r;if(this.outerScope)return this.outerScope.getElement(e)}getElements(e){const n=this.caseInsensitive?e.toLowerCase():e,r=this.elements.get(n);return(this.concatOuterScope||r.length===0)&&this.outerScope?pe(r).concat(this.outerScope.getElements(e)):pe(r)}getAllElements(){let e=pe(this.elements.values());return this.outerScope&&(e=e.concat(this.outerScope.getAllElements())),e}}class cp{constructor(){this.toDispose=[],this.isDisposed=!1}onDispose(e){this.toDispose.push(e)}dispose(){this.throwIfDisposed(),this.clear(),this.isDisposed=!0,this.toDispose.forEach(e=>e.dispose())}throwIfDisposed(){if(this.isDisposed)throw new Error("This cache has already been disposed")}}class hv extends cp{constructor(){super(...arguments),this.cache=new Map}has(e){return this.throwIfDisposed(),this.cache.has(e)}set(e,n){this.throwIfDisposed(),this.cache.set(e,n)}get(e,n){if(this.throwIfDisposed(),this.cache.has(e))return this.cache.get(e);if(n){const r=n();return this.cache.set(e,r),r}else return}delete(e){return this.throwIfDisposed(),this.cache.delete(e)}clear(){this.throwIfDisposed(),this.cache.clear()}}class pv extends cp{constructor(e){super(),this.cache=new Map,this.converter=e??(n=>n)}has(e,n){return this.throwIfDisposed(),this.cacheForContext(e).has(n)}set(e,n,r){this.throwIfDisposed(),this.cacheForContext(e).set(n,r)}get(e,n,r){this.throwIfDisposed();const i=this.cacheForContext(e);if(i.has(n))return i.get(n);if(r){const s=r();return i.set(n,s),s}else return}delete(e,n){return this.throwIfDisposed(),this.cacheForContext(e).delete(n)}clear(e){if(this.throwIfDisposed(),e){const n=this.converter(e);this.cache.delete(n)}else this.cache.clear()}cacheForContext(e){const n=this.converter(e);let r=this.cache.get(n);return r||(r=new Map,this.cache.set(n,r)),r}}class mv extends hv{constructor(e,n){super(),n?(this.toDispose.push(e.workspace.DocumentBuilder.onBuildPhase(n,()=>{this.clear()})),this.toDispose.push(e.workspace.DocumentBuilder.onUpdate((r,i)=>{i.length>0&&this.clear()}))):this.toDispose.push(e.workspace.DocumentBuilder.onUpdate(()=>{this.clear()}))}}class gv{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 mv(e.shared)}getScope(e){const n=[],r=this.reflection.getReferenceType(e),i=Qt(e.container).localSymbols;if(i){let a=e.container;do i.has(a)&&n.push(i.getStream(a).filter(o=>this.reflection.isSubtype(o.type,r))),a=a.$container;while(a)}let s=this.getGlobalScope(r,e);for(let a=n.length-1;a>=0;a--)s=this.createScope(n[a],s);return s}createScope(e,n,r){return new zu(pe(e),n,r)}createScopeForNodes(e,n,r){const i=pe(e).map(s=>{const a=this.nameProvider.getName(s);if(a)return this.descriptions.createDescription(s,a)}).nonNullable();return new zu(i,n,r)}getGlobalScope(e,n){return this.globalScopeCache.get(e,()=>new fv(this.indexManager.allElements(e)))}}function yv(t){return typeof t.$comment=="string"}function Bu(t){return typeof t=="object"&&!!t&&("$ref"in t||"$error"in t)}class Tv{constructor(e){this.ignoreProperties=new Set(["$container","$containerProperty","$containerIndex","$document","$cstNode"]),this.langiumDocuments=e.shared.workspace.LangiumDocuments,this.astNodeLocator=e.workspace.AstNodeLocator,this.nameProvider=e.references.NameProvider,this.commentProvider=e.documentation.CommentProvider}serialize(e,n){const r=n??{},i=n==null?void 0:n.replacer,s=(o,c)=>this.replacer(o,c,r),a=i?(o,c)=>i(o,c,s):s;try{return this.currentDocument=Qt(e),JSON.stringify(e,a,n==null?void 0:n.space)}finally{this.currentDocument=void 0}}deserialize(e,n){const r=n??{},i=JSON.parse(e);return this.linkNode(i,i,r),i}replacer(e,n,{refText:r,sourceText:i,textRegions:s,comments:a,uriConverter:o}){var c,l,u;if(!this.ignoreProperties.has(e))if(Ct(n)){const f=n.ref,m=r?n.$refText:void 0;if(f){const g=Qt(f);let A="";this.currentDocument&&this.currentDocument!==g&&(o?A=o(g.uri,f):A=g.uri.toString());const N=this.astNodeLocator.getAstNodePath(f);return{$ref:`${A}#${N}`,$refText:m}}else return{$error:((c=n.error)==null?void 0:c.message)??"Could not resolve reference",$refText:m}}else if(hn(n)){const f=r?n.$refText:void 0,m=[];for(const g of n.items){const A=g.ref,N=Qt(g.ref);let $="";this.currentDocument&&this.currentDocument!==N&&(o?$=o(N.uri,A):$=N.uri.toString());const w=this.astNodeLocator.getAstNodePath(A);m.push(`${$}#${w}`)}return{$refs:m,$refText:f}}else if(We(n)){let f;if(s&&(f=this.addAstNodeRegionWithAssignmentsTo({...n}),(!e||n.$document)&&(f!=null&&f.$textRegion)&&(f.$textRegion.documentURI=(l=this.currentDocument)==null?void 0:l.uri.toString())),i&&!e&&(f??(f={...n}),f.$sourceText=(u=n.$cstNode)==null?void 0:u.text),a){f??(f={...n});const m=this.commentProvider.getComment(n);m&&(f.$comment=m.replace(/\r/g,""))}return f??n}else return n}addAstNodeRegionWithAssignmentsTo(e){const n=r=>({offset:r.offset,end:r.end,length:r.length,range:r.range});if(e.$cstNode){const r=e.$textRegion=n(e.$cstNode),i=r.assignments={};return Object.keys(e).filter(s=>!s.startsWith("$")).forEach(s=>{const a=Tg(e.$cstNode,s).map(n);a.length!==0&&(i[s]=a)}),e}}linkNode(e,n,r,i,s,a){for(const[c,l]of Object.entries(e))if(Array.isArray(l))for(let u=0;u<l.length;u++){const f=l[u];Bu(f)?l[u]=this.reviveReference(e,c,n,f,r):We(f)&&this.linkNode(f,n,r,e,c,u)}else Bu(l)?e[c]=this.reviveReference(e,c,n,l,r):We(l)&&this.linkNode(l,n,r,e,c);const o=e;o.$container=i,o.$containerProperty=s,o.$containerIndex=a}reviveReference(e,n,r,i,s){let a=i.$refText,o=i.$error,c;if(i.$ref){const l=this.getRefNode(r,i.$ref,s.uriConverter);if(We(l))return a||(a=this.nameProvider.getName(l)),{$refText:a??"",ref:l};o=l}else if(i.$refs){const l=[];for(const u of i.$refs){const f=this.getRefNode(r,u,s.uriConverter);We(f)&&l.push({ref:f})}if(l.length===0)c={$refText:a??"",items:l},o??(o="Could not resolve multi-reference");else return{$refText:a??"",items:l}}if(o)return c??(c={$refText:a??"",ref:void 0}),c.error={info:{container:e,property:n,reference:c},message:o},c}getRefNode(e,n,r){try{const i=n.indexOf("#");if(i===0){const c=this.astNodeLocator.getAstNode(e,n.substring(1));return c||"Could not resolve path: "+n}if(i<0){const c=r?r(n):wt.parse(n),l=this.langiumDocuments.getDocument(c);return l?l.parseResult.value:"Could not find document for URI: "+n}const s=r?r(n.substring(0,i)):wt.parse(n.substring(0,i)),a=this.langiumDocuments.getDocument(s);if(!a)return"Could not find document for URI: "+n;if(i===n.length-1)return a.parseResult.value;const o=this.astNodeLocator.getAstNode(a.parseResult.value,n.substring(i+1));return o||"Could not resolve URI: "+n}catch(i){return String(i)}}}class Rv{get map(){return this.fileExtensionMap}constructor(e){this.languageIdMap=new Map,this.fileExtensionMap=new Map,this.fileNameMap=new Map,this.textDocuments=e==null?void 0:e.workspace.TextDocuments}register(e){const n=e.LanguageMetaData;for(const r of n.fileExtensions)this.fileExtensionMap.has(r)&&console.warn(`The file extension ${r} is used by multiple languages. It is now assigned to '${n.languageId}'.`),this.fileExtensionMap.set(r,e);if(n.fileNames)for(const r of n.fileNames)this.fileNameMap.has(r)&&console.warn(`The file name ${r} is used by multiple languages. It is now assigned to '${n.languageId}'.`),this.fileNameMap.set(r,e);this.languageIdMap.set(n.languageId,e)}getServices(e){var a,o;if(this.languageIdMap.size===0)throw new Error("The service registry is empty. Use `register` to register the services of a language.");const n=(o=(a=this.textDocuments)==null?void 0:a.get(e))==null?void 0:o.languageId;if(n!==void 0){const c=this.languageIdMap.get(n);if(c)return c}const r=ct.extname(e),i=ct.basename(e),s=this.fileNameMap.get(i)??this.fileExtensionMap.get(r);if(!s)throw n?new Error(`The service registry contains no services for the extension '${r}' for language '${n}'.`):new Error(`The service registry contains no services for the extension '${r}'.`);return s}hasServices(e){try{return this.getServices(e),!0}catch{return!1}}get all(){return Array.from(this.languageIdMap.values())}}function Gi(t){return{code:t}}var al;(function(t){t.defaults=["fast","slow","built-in"],t.all=t.defaults})(al||(al={}));class vv{constructor(e){this.entries=new es,this.knownCategories=new Set(al.defaults),this.entriesBefore=[],this.entriesAfter=[],this.reflection=e.shared.AstReflection}register(e,n=this,r="fast"){if(r==="built-in")throw new Error("The 'built-in' category is reserved for lexer, parser, and linker errors.");this.knownCategories.add(r);for(const[i,s]of Object.entries(e)){const a=s;if(Array.isArray(a))for(const o of a){const c={check:this.wrapValidationException(o,n),category:r};this.addEntry(i,c)}else if(typeof a=="function"){const o={check:this.wrapValidationException(a,n),category:r};this.addEntry(i,o)}else os()}}wrapValidationException(e,n){return async(r,i,s)=>{await this.handleException(()=>e.call(n,r,i,s),"An error occurred during validation",i,r)}}async handleException(e,n,r,i){try{await e()}catch(s){if(Ya(s))throw s;console.error(`${n}:`,s),s instanceof Error&&s.stack&&console.error(s.stack);const a=s instanceof Error?s.message:String(s);r("error",`${n}: ${a}`,{node:i})}}addEntry(e,n){if(e==="AstNode"){this.entries.add("AstNode",n);return}for(const r of this.reflection.getAllSubTypes(e))this.entries.add(r,n)}getChecks(e,n){let r=pe(this.entries.get(e)).concat(this.entries.get("AstNode"));return n&&(r=r.filter(i=>n.includes(i.category))),r.map(i=>i.check)}registerBeforeDocument(e,n=this){this.entriesBefore.push(this.wrapPreparationException(e,"An error occurred during set-up of the validation",n))}registerAfterDocument(e,n=this){this.entriesAfter.push(this.wrapPreparationException(e,"An error occurred during tear-down of the validation",n))}wrapPreparationException(e,n,r){return async(i,s,a,o)=>{await this.handleException(()=>e.call(r,i,s,a,o),n,s,i)}}get checksBefore(){return this.entriesBefore}get checksAfter(){return this.entriesAfter}getAllValidationCategories(e){return this.knownCategories}}const Ev=Object.freeze({validateNode:!0,validateChildren:!0});class Av{constructor(e){this.validationRegistry=e.validation.ValidationRegistry,this.metadata=e.LanguageMetaData,this.profiler=e.shared.profilers.LangiumProfiler,this.languageId=e.LanguageMetaData.languageId}async validateDocument(e,n={},r=ge.None){const i=e.parseResult,s=[];if(await He(r),(!n.categories||n.categories.includes("built-in"))&&(this.processLexingErrors(i,s,n),n.stopAfterLexingErrors&&s.some(a=>{var o;return((o=a.data)==null?void 0:o.code)===St.LexingError})||(this.processParsingErrors(i,s,n),n.stopAfterParsingErrors&&s.some(a=>{var o;return((o=a.data)==null?void 0:o.code)===St.ParsingError}))||(this.processLinkingErrors(e,s,n),n.stopAfterLinkingErrors&&s.some(a=>{var o;return((o=a.data)==null?void 0:o.code)===St.LinkingError}))))return s;try{s.push(...await this.validateAst(i.value,n,r))}catch(a){if(Ya(a))throw a;console.error("An error occurred during validation:",a)}return await He(r),s}processLexingErrors(e,n,r){var s;const i=[...e.lexerErrors,...((s=e.lexerReport)==null?void 0:s.diagnostics)??[]];for(const a of i){const o=a.severity??"error",c={severity:vo(o),range:{start:{line:a.line-1,character:a.column-1},end:{line:a.line-1,character:a.column+a.length-1}},message:a.message,data:Cv(o),source:this.getSource()};n.push(c)}}processParsingErrors(e,n,r){for(const i of e.parserErrors){let s;if(isNaN(i.token.startOffset)){if("previousToken"in i){const a=i.previousToken;if(isNaN(a.startOffset)){const o={line:0,character:0};s={start:o,end:o}}else{const o={line:a.endLine-1,character:a.endColumn};s={start:o,end:o}}}}else s=Uo(i.token);if(s){const a={severity:vo("error"),range:s,message:i.message,data:Gi(St.ParsingError),source:this.getSource()};n.push(a)}}}processLinkingErrors(e,n,r){var i;for(const s of e.references){const a=s.error;if(a){const o={node:a.info.container,range:(i=s.$refNode)==null?void 0:i.range,property:a.info.property,index:a.info.index,data:{code:St.LinkingError,containerType:a.info.container.$type,property:a.info.property,refText:a.info.reference.$refText}};n.push(this.toDiagnostic("error",a.message,o))}}}async validateAst(e,n,r=ge.None){const i=[],s=(a,o,c)=>{i.push(this.toDiagnostic(a,o,c))};return await this.validateAstBefore(e,n,s,r),await this.validateAstNodes(e,n,s,r),await this.validateAstAfter(e,n,s,r),i}async validateAstBefore(e,n,r,i=ge.None){const s=this.validationRegistry.checksBefore;for(const a of s)await He(i),await a(e,r,n.categories??[],i)}async validateAstNodes(e,n,r,i=ge.None){var s;if((s=this.profiler)!=null&&s.isActive("validating")){const a=this.profiler.createTask("validating",this.languageId);a.start();try{const o=Zt(e).iterator();for(const c of o){a.startSubTask(c.$type);const l=this.validateSingleNodeOptions(c,n);if(l.validateNode)try{const u=this.validationRegistry.getChecks(c.$type,n.categories);for(const f of u)await f(c,r,i)}finally{a.stopSubTask(c.$type)}l.validateChildren||o.prune()}}finally{a.stop()}}else{const a=Zt(e).iterator();for(const o of a){await He(i);const c=this.validateSingleNodeOptions(o,n);if(c.validateNode){const l=this.validationRegistry.getChecks(o.$type,n.categories);for(const u of l)await u(o,r,i)}c.validateChildren||a.prune()}}}validateSingleNodeOptions(e,n){return Ev}async validateAstAfter(e,n,r,i=ge.None){const s=this.validationRegistry.checksAfter;for(const a of s)await He(i),await a(e,r,n.categories??[],i)}toDiagnostic(e,n,r){return{message:n,range:Sv(r),severity:vo(e),code:r.code,codeDescription:r.codeDescription,tags:r.tags,relatedInformation:r.relatedInformation,data:r.data,source:this.getSource()}}getSource(){return this.metadata.languageId}}function Sv(t){if(t.range)return t.range;let e;return typeof t.property=="string"?e=Xf(t.node.$cstNode,t.property,t.index):typeof t.keyword=="string"&&(e=Rg(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 vo(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 Cv(t){switch(t){case"error":return Gi(St.LexingError);case"warning":return Gi(St.LexingWarning);case"info":return Gi(St.LexingInfo);case"hint":return Gi(St.LexingHint);default:throw new Error("Invalid diagnostic severity: "+t)}}var St;(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"})(St||(St={}));class kv{constructor(e){this.astNodeLocator=e.workspace.AstNodeLocator,this.nameProvider=e.references.NameProvider}createDescription(e,n,r){const i=r??Qt(e);n??(n=this.nameProvider.getName(e));const s=this.astNodeLocator.getAstNodePath(e);if(!n)throw new Error(`Node at path ${s} has no name.`);let a;const o=()=>a??(a=oa(this.nameProvider.getNameNode(e)??e.$cstNode));return{node:e,name:n,get nameSegment(){return o()},selectionSegment:oa(e.$cstNode),type:e.$type,documentUri:i.uri,path:s}}}class Nv{constructor(e){this.nodeLocator=e.workspace.AstNodeLocator}async createDescriptions(e,n=ge.None){const r=[],i=e.parseResult.value;for(const s of Zt(i))await He(n),sa(s).forEach(a=>{a.reference.error||r.push(...this.createInfoDescriptions(a))});return r}createInfoDescriptions(e){const n=e.reference;if(n.error||!n.$refNode)return[];let r=[];Ct(n)&&n.$nodeDescription?r=[n.$nodeDescription]:hn(n)&&(r=n.items.map(c=>c.$nodeDescription).filter(c=>c!==void 0));const i=Qt(e.container).uri,s=this.nodeLocator.getAstNodePath(e.container),a=[],o=oa(n.$refNode);for(const c of r)a.push({sourceUri:i,sourcePath:s,targetUri:c.documentUri,targetPath:c.path,segment:o,local:ct.equals(c.documentUri,i)});return a}}class wv{constructor(){this.segmentSeparator="/",this.indexSeparator="@"}getAstNodePath(e){if(e.$container){const n=this.getAstNodePath(e.$container),r=this.getPathSegment(e);return n+this.segmentSeparator+r}return""}getPathSegment({$containerProperty:e,$containerIndex:n}){if(!e)throw new Error("Missing '$containerProperty' in AST node.");return n!==void 0?e+this.indexSeparator+n:e}getAstNode(e,n){return n.split(this.segmentSeparator).reduce((i,s)=>{if(!i||s.length===0)return i;const a=s.indexOf(this.indexSeparator);if(a>0){const o=s.substring(0,a),c=parseInt(s.substring(a+1)),l=i[o];return l==null?void 0:l[c]}return i[s]},e)}}class bv{constructor(e){this._ready=new ql,this.onConfigurationSectionUpdateEmitter=new ip,this.settings={},this.workspaceConfig=!1,this.serviceRegistry=e.ServiceRegistry}get ready(){return this._ready.promise}initialize(e){var n;this.workspaceConfig=((n=e.capabilities.workspace)==null?void 0:n.configuration)??!1}async initialized(e){if(this.workspaceConfig){if(e.register){const n=this.serviceRegistry.all;e.register({section:n.map(r=>this.toSectionName(r.LanguageMetaData.languageId))})}if(e.fetchConfiguration){const n=this.serviceRegistry.all.map(i=>({section:this.toSectionName(i.LanguageMetaData.languageId)})),r=await e.fetchConfiguration(n);n.forEach((i,s)=>{this.updateSectionConfiguration(i.section,r[s])})}}this._ready.resolve()}updateConfiguration(e){typeof e.settings!="object"||e.settings===null||Object.entries(e.settings).forEach(([n,r])=>{this.updateSectionConfiguration(n,r),this.onConfigurationSectionUpdateEmitter.fire({section:n,configuration:r})})}updateSectionConfiguration(e,n){this.settings[e]=n}async getConfiguration(e,n){await this.ready;const r=this.toSectionName(e);if(this.settings[r])return this.settings[r][n]}toSectionName(e){return`${e}`}get onConfigurationSectionUpdate(){return this.onConfigurationSectionUpdateEmitter.event}}var Ui={},Jn={},Wl={},Eo={},U={},qu;function lp(){if(qu)return U;qu=1,Object.defineProperty(U,"__esModule",{value:!0}),U.Message=U.NotificationType9=U.NotificationType8=U.NotificationType7=U.NotificationType6=U.NotificationType5=U.NotificationType4=U.NotificationType3=U.NotificationType2=U.NotificationType1=U.NotificationType0=U.NotificationType=U.RequestType9=U.RequestType8=U.RequestType7=U.RequestType6=U.RequestType5=U.RequestType4=U.RequestType3=U.RequestType2=U.RequestType1=U.RequestType=U.RequestType0=U.AbstractMessageSignature=U.ParameterStructures=U.ResponseError=U.ErrorCodes=void 0;const t=Ie;var e;(function(R){R.ParseError=-32700,R.InvalidRequest=-32600,R.MethodNotFound=-32601,R.InvalidParams=-32602,R.InternalError=-32603,R.jsonrpcReservedErrorRangeStart=-32099,R.serverErrorStart=-32099,R.MessageWriteError=-32099,R.MessageReadError=-32098,R.PendingResponseRejected=-32097,R.ConnectionInactive=-32096,R.ServerNotInitialized=-32002,R.UnknownErrorCode=-32001,R.jsonrpcReservedErrorRangeEnd=-32e3,R.serverErrorEnd=-32e3})(e||(U.ErrorCodes=e={}));class n extends Error{constructor(p,S,y){super(S),this.code=t.number(p)?p:e.UnknownErrorCode,this.data=y,Object.setPrototypeOf(this,n.prototype)}toJson(){const p={code:this.code,message:this.message};return this.data!==void 0&&(p.data=this.data),p}}U.ResponseError=n;class r{constructor(p){this.kind=p}static is(p){return p===r.auto||p===r.byName||p===r.byPosition}toString(){return this.kind}}U.ParameterStructures=r,r.auto=new r("auto"),r.byPosition=new r("byPosition"),r.byName=new r("byName");class i{constructor(p,S){this.method=p,this.numberOfParams=S}get parameterStructures(){return r.auto}}U.AbstractMessageSignature=i;class s extends i{constructor(p){super(p,0)}}U.RequestType0=s;class a extends i{constructor(p,S=r.auto){super(p,1),this._parameterStructures=S}get parameterStructures(){return this._parameterStructures}}U.RequestType=a;class o extends i{constructor(p,S=r.auto){super(p,1),this._parameterStructures=S}get parameterStructures(){return this._parameterStructures}}U.RequestType1=o;class c extends i{constructor(p){super(p,2)}}U.RequestType2=c;class l extends i{constructor(p){super(p,3)}}U.RequestType3=l;class u extends i{constructor(p){super(p,4)}}U.RequestType4=u;class f extends i{constructor(p){super(p,5)}}U.RequestType5=f;class m extends i{constructor(p){super(p,6)}}U.RequestType6=m;class g extends i{constructor(p){super(p,7)}}U.RequestType7=g;class A extends i{constructor(p){super(p,8)}}U.RequestType8=A;class N extends i{constructor(p){super(p,9)}}U.RequestType9=N;class $ extends i{constructor(p,S=r.auto){super(p,1),this._parameterStructures=S}get parameterStructures(){return this._parameterStructures}}U.NotificationType=$;class w extends i{constructor(p){super(p,0)}}U.NotificationType0=w;class O extends i{constructor(p,S=r.auto){super(p,1),this._parameterStructures=S}get parameterStructures(){return this._parameterStructures}}U.NotificationType1=O;class b extends i{constructor(p){super(p,2)}}U.NotificationType2=b;class x extends i{constructor(p){super(p,3)}}U.NotificationType3=x;class X extends i{constructor(p){super(p,4)}}U.NotificationType4=X;class te extends i{constructor(p){super(p,5)}}U.NotificationType5=te;class ne extends i{constructor(p){super(p,6)}}U.NotificationType6=ne;class ye extends i{constructor(p){super(p,7)}}U.NotificationType7=ye;class Ce extends i{constructor(p){super(p,8)}}U.NotificationType8=Ce;class de extends i{constructor(p){super(p,9)}}U.NotificationType9=de;var k;return function(R){function p(T){const E=T;return E&&t.string(E.method)&&(t.string(E.id)||t.number(E.id))}R.isRequest=p;function S(T){const E=T;return E&&t.string(E.method)&&T.id===void 0}R.isNotification=S;function y(T){const E=T;return E&&(E.result!==void 0||!!E.error)&&(t.string(E.id)||t.number(E.id)||E.id===null)}R.isResponse=y}(k||(U.Message=k={})),U}var Bt={},Wu;function up(){if(Wu)return Bt;Wu=1;var t;Object.defineProperty(Bt,"__esModule",{value:!0}),Bt.LRUCache=Bt.LinkedMap=Bt.Touch=void 0;var e;(function(i){i.None=0,i.First=1,i.AsOld=i.First,i.Last=2,i.AsNew=i.Last})(e||(Bt.Touch=e={}));class n{constructor(){this[t]="LinkedMap",this._map=new Map,this._head=void 0,this._tail=void 0,this._size=0,this._state=0}clear(){this._map.clear(),this._head=void 0,this._tail=void 0,this._size=0,this._state++}isEmpty(){return!this._head&&!this._tail}get size(){return this._size}get first(){var s;return(s=this._head)==null?void 0:s.value}get last(){var s;return(s=this._tail)==null?void 0:s.value}has(s){return this._map.has(s)}get(s,a=e.None){const o=this._map.get(s);if(o)return a!==e.None&&this.touch(o,a),o.value}set(s,a,o=e.None){let c=this._map.get(s);if(c)c.value=a,o!==e.None&&this.touch(c,o);else{switch(c={key:s,value:a,next:void 0,previous:void 0},o){case e.None:this.addItemLast(c);break;case e.First:this.addItemFirst(c);break;case e.Last:this.addItemLast(c);break;default:this.addItemLast(c);break}this._map.set(s,c),this._size++}return this}delete(s){return!!this.remove(s)}remove(s){const a=this._map.get(s);if(a)return this._map.delete(s),this.removeItem(a),this._size--,a.value}shift(){if(!this._head&&!this._tail)return;if(!this._head||!this._tail)throw new Error("Invalid list");const s=this._head;return this._map.delete(s.key),this.removeItem(s),this._size--,s.value}forEach(s,a){const o=this._state;let c=this._head;for(;c;){if(a?s.bind(a)(c.value,c.key,this):s(c.value,c.key,this),this._state!==o)throw new Error("LinkedMap got modified during iteration.");c=c.next}}keys(){const s=this._state;let a=this._head;const o={[Symbol.iterator]:()=>o,next:()=>{if(this._state!==s)throw new Error("LinkedMap got modified during iteration.");if(a){const c={value:a.key,done:!1};return a=a.next,c}else return{value:void 0,done:!0}}};return o}values(){const s=this._state;let a=this._head;const o={[Symbol.iterator]:()=>o,next:()=>{if(this._state!==s)throw new Error("LinkedMap got modified during iteration.");if(a){const c={value:a.value,done:!1};return a=a.next,c}else return{value:void 0,done:!0}}};return o}entries(){const s=this._state;let a=this._head;const o={[Symbol.iterator]:()=>o,next:()=>{if(this._state!==s)throw new Error("LinkedMap got modified during iteration.");if(a){const c={value:[a.key,a.value],done:!1};return a=a.next,c}else return{value:void 0,done:!0}}};return o}[(t=Symbol.toStringTag,Symbol.iterator)](){return this.entries()}trimOld(s){if(s>=this.size)return;if(s===0){this.clear();return}let a=this._head,o=this.size;for(;a&&o>s;)this._map.delete(a.key),a=a.next,o--;this._head=a,this._size=o,a&&(a.previous=void 0),this._state++}addItemFirst(s){if(!this._head&&!this._tail)this._tail=s;else if(this._head)s.next=this._head,this._head.previous=s;else throw new Error("Invalid list");this._head=s,this._state++}addItemLast(s){if(!this._head&&!this._tail)this._head=s;else if(this._tail)s.previous=this._tail,this._tail.next=s;else throw new Error("Invalid list");this._tail=s,this._state++}removeItem(s){if(s===this._head&&s===this._tail)this._head=void 0,this._tail=void 0;else if(s===this._head){if(!s.next)throw new Error("Invalid list");s.next.previous=void 0,this._head=s.next}else if(s===this._tail){if(!s.previous)throw new Error("Invalid list");s.previous.next=void 0,this._tail=s.previous}else{const a=s.next,o=s.previous;if(!a||!o)throw new Error("Invalid list");a.previous=o,o.next=a}s.next=void 0,s.previous=void 0,this._state++}touch(s,a){if(!this._head||!this._tail)throw new Error("Invalid list");if(!(a!==e.First&&a!==e.Last)){if(a===e.First){if(s===this._head)return;const o=s.next,c=s.previous;s===this._tail?(c.next=void 0,this._tail=c):(o.previous=c,c.next=o),s.previous=void 0,s.next=this._head,this._head.previous=s,this._head=s,this._state++}else if(a===e.Last){if(s===this._tail)return;const o=s.next,c=s.previous;s===this._head?(o.previous=void 0,this._head=o):(o.previous=c,c.next=o),s.next=void 0,s.previous=this._tail,this._tail.next=s,this._tail=s,this._state++}}}toJSON(){const s=[];return this.forEach((a,o)=>{s.push([o,a])}),s}fromJSON(s){this.clear();for(const[a,o]of s)this.set(a,o)}}Bt.LinkedMap=n;class r extends n{constructor(s,a=1){super(),this._limit=s,this._ratio=Math.min(Math.max(0,a),1)}get limit(){return this._limit}set limit(s){this._limit=s,this.checkTrim()}get ratio(){return this._ratio}set ratio(s){this._ratio=Math.min(Math.max(0,s),1),this.checkTrim()}get(s,a=e.AsNew){return super.get(s,a)}peek(s){return super.get(s,e.None)}set(s,a){return super.set(s,a,e.Last),this.checkTrim(),this}checkTrim(){this.size>this._limit&&this.trimOld(Math.round(this._limit*this._ratio))}}return Bt.LRUCache=r,Bt}var wi={},Vu;function _v(){if(Vu)return wi;Vu=1,Object.defineProperty(wi,"__esModule",{value:!0}),wi.Disposable=void 0;var t;return function(e){function n(r){return{dispose:r}}e.create=n}(t||(wi.Disposable=t={})),wi}var Pn={},Ku;function Iv(){if(Ku)return Pn;Ku=1,Object.defineProperty(Pn,"__esModule",{value:!0}),Pn.SharedArrayReceiverStrategy=Pn.SharedArraySenderStrategy=void 0;const t=An;var e;(function(a){a.Continue=0,a.Cancelled=1})(e||(e={}));class n{constructor(){this.buffers=new Map}enableCancellation(o){if(o.id===null)return;const c=new SharedArrayBuffer(4),l=new Int32Array(c,0,1);l[0]=e.Continue,this.buffers.set(o.id,c),o.$cancellationData=c}async sendCancellation(o,c){const l=this.buffers.get(c);if(l===void 0)return;const u=new Int32Array(l,0,1);Atomics.store(u,0,e.Cancelled)}cleanup(o){this.buffers.delete(o)}dispose(){this.buffers.clear()}}Pn.SharedArraySenderStrategy=n;class r{constructor(o){this.data=new Int32Array(o,0,1)}get isCancellationRequested(){return Atomics.load(this.data,0)===e.Cancelled}get onCancellationRequested(){throw new Error("Cancellation over SharedArrayBuffer doesn't support cancellation events")}}class i{constructor(o){this.token=new r(o)}cancel(){}dispose(){}}class s{constructor(){this.kind="request"}createCancellationTokenSource(o){const c=o.$cancellationData;return c===void 0?new t.CancellationTokenSource:new i(c)}}return Pn.SharedArrayReceiverStrategy=s,Pn}var qt={},bi={},Hu;function dp(){if(Hu)return bi;Hu=1,Object.defineProperty(bi,"__esModule",{value:!0}),bi.Semaphore=void 0;const t=cn;class e{constructor(r=1){if(r<=0)throw new Error("Capacity must be greater than 0");this._capacity=r,this._active=0,this._waiting=[]}lock(r){return new Promise((i,s)=>{this._waiting.push({thunk:r,resolve:i,reject:s}),this.runNext()})}get active(){return this._active}runNext(){this._waiting.length===0||this._active===this._capacity||(0,t.default)().timer.setImmediate(()=>this.doRunNext())}doRunNext(){if(this._waiting.length===0||this._active===this._capacity)return;const r=this._waiting.shift();if(this._active++,this._active>this._capacity)throw new Error("To many thunks active");try{const i=r.thunk();i instanceof Promise?i.then(s=>{this._active--,r.resolve(s),this.runNext()},s=>{this._active--,r.reject(s),this.runNext()}):(this._active--,r.resolve(i),this.runNext())}catch(i){this._active--,r.reject(i),this.runNext()}}}return bi.Semaphore=e,bi}var Yu;function $v(){if(Yu)return qt;Yu=1,Object.defineProperty(qt,"__esModule",{value:!0}),qt.ReadableStreamMessageReader=qt.AbstractMessageReader=qt.MessageReader=void 0;const t=cn,e=Ie,n=Ft,r=dp();var i;(function(c){function l(u){let f=u;return f&&e.func(f.listen)&&e.func(f.dispose)&&e.func(f.onError)&&e.func(f.onClose)&&e.func(f.onPartialMessage)}c.is=l})(i||(qt.MessageReader=i={}));class s{constructor(){this.errorEmitter=new n.Emitter,this.closeEmitter=new n.Emitter,this.partialMessageEmitter=new n.Emitter}dispose(){this.errorEmitter.dispose(),this.closeEmitter.dispose()}get onError(){return this.errorEmitter.event}fireError(l){this.errorEmitter.fire(this.asError(l))}get onClose(){return this.closeEmitter.event}fireClose(){this.closeEmitter.fire(void 0)}get onPartialMessage(){return this.partialMessageEmitter.event}firePartialMessage(l){this.partialMessageEmitter.fire(l)}asError(l){return l instanceof Error?l:new Error(`Reader received error. Reason: ${e.string(l.message)?l.message:"unknown"}`)}}qt.AbstractMessageReader=s;var a;(function(c){function l(u){let f,m;const g=new Map;let A;const N=new Map;if(u===void 0||typeof u=="string")f=u??"utf-8";else{if(f=u.charset??"utf-8",u.contentDecoder!==void 0&&(m=u.contentDecoder,g.set(m.name,m)),u.contentDecoders!==void 0)for(const $ of u.contentDecoders)g.set($.name,$);if(u.contentTypeDecoder!==void 0&&(A=u.contentTypeDecoder,N.set(A.name,A)),u.contentTypeDecoders!==void 0)for(const $ of u.contentTypeDecoders)N.set($.name,$)}return A===void 0&&(A=(0,t.default)().applicationJson.decoder,N.set(A.name,A)),{charset:f,contentDecoder:m,contentDecoders:g,contentTypeDecoder:A,contentTypeDecoders:N}}c.fromOptions=l})(a||(a={}));class o extends s{constructor(l,u){super(),this.readable=l,this.options=a.fromOptions(u),this.buffer=(0,t.default)().messageBuffer.create(this.options.charset),this._partialMessageTimeout=1e4,this.nextMessageLength=-1,this.messageToken=0,this.readSemaphore=new r.Semaphore(1)}set partialMessageTimeout(l){this._partialMessageTimeout=l}get partialMessageTimeout(){return this._partialMessageTimeout}listen(l){this.nextMessageLength=-1,this.messageToken=0,this.partialMessageTimer=void 0,this.callback=l;const u=this.readable.onData(f=>{this.onData(f)});return this.readable.onError(f=>this.fireError(f)),this.readable.onClose(()=>this.fireClose()),u}onData(l){try{for(this.buffer.append(l);;){if(this.nextMessageLength===-1){const f=this.buffer.tryReadHeaders(!0);if(!f)return;const m=f.get("content-length");if(!m){this.fireError(new Error(`Header must provide a Content-Length property.
122
+ ${JSON.stringify(Object.fromEntries(f))}`));return}const g=parseInt(m);if(isNaN(g)){this.fireError(new Error(`Content-Length value must be a number. Got ${m}`));return}this.nextMessageLength=g}const u=this.buffer.tryReadBody(this.nextMessageLength);if(u===void 0){this.setPartialMessageTimer();return}this.clearPartialMessageTimer(),this.nextMessageLength=-1,this.readSemaphore.lock(async()=>{const f=this.options.contentDecoder!==void 0?await this.options.contentDecoder.decode(u):u,m=await this.options.contentTypeDecoder.decode(f,this.options);this.callback(m)}).catch(f=>{this.fireError(f)})}}catch(u){this.fireError(u)}}clearPartialMessageTimer(){this.partialMessageTimer&&(this.partialMessageTimer.dispose(),this.partialMessageTimer=void 0)}setPartialMessageTimer(){this.clearPartialMessageTimer(),!(this._partialMessageTimeout<=0)&&(this.partialMessageTimer=(0,t.default)().timer.setTimeout((l,u)=>{this.partialMessageTimer=void 0,l===this.messageToken&&(this.firePartialMessage({messageToken:l,waitingTime:u}),this.setPartialMessageTimer())},this._partialMessageTimeout,this.messageToken,this._partialMessageTimeout))}}return qt.ReadableStreamMessageReader=o,qt}var Wt={},Xu;function Pv(){if(Xu)return Wt;Xu=1,Object.defineProperty(Wt,"__esModule",{value:!0}),Wt.WriteableStreamMessageWriter=Wt.AbstractMessageWriter=Wt.MessageWriter=void 0;const t=cn,e=Ie,n=dp(),r=Ft,i="Content-Length: ",s=`\r
123
+ `;var a;(function(u){function f(m){let g=m;return g&&e.func(g.dispose)&&e.func(g.onClose)&&e.func(g.onError)&&e.func(g.write)}u.is=f})(a||(Wt.MessageWriter=a={}));class o{constructor(){this.errorEmitter=new r.Emitter,this.closeEmitter=new r.Emitter}dispose(){this.errorEmitter.dispose(),this.closeEmitter.dispose()}get onError(){return this.errorEmitter.event}fireError(f,m,g){this.errorEmitter.fire([this.asError(f),m,g])}get onClose(){return this.closeEmitter.event}fireClose(){this.closeEmitter.fire(void 0)}asError(f){return f instanceof Error?f:new Error(`Writer received error. Reason: ${e.string(f.message)?f.message:"unknown"}`)}}Wt.AbstractMessageWriter=o;var c;(function(u){function f(m){return m===void 0||typeof m=="string"?{charset:m??"utf-8",contentTypeEncoder:(0,t.default)().applicationJson.encoder}:{charset:m.charset??"utf-8",contentEncoder:m.contentEncoder,contentTypeEncoder:m.contentTypeEncoder??(0,t.default)().applicationJson.encoder}}u.fromOptions=f})(c||(c={}));class l extends o{constructor(f,m){super(),this.writable=f,this.options=c.fromOptions(m),this.errorCount=0,this.writeSemaphore=new n.Semaphore(1),this.writable.onError(g=>this.fireError(g)),this.writable.onClose(()=>this.fireClose())}async write(f){return this.writeSemaphore.lock(async()=>this.options.contentTypeEncoder.encode(f,this.options).then(g=>this.options.contentEncoder!==void 0?this.options.contentEncoder.encode(g):g).then(g=>{const A=[];return A.push(i,g.byteLength.toString(),s),A.push(s),this.doWrite(f,A,g)},g=>{throw this.fireError(g),g}))}async doWrite(f,m,g){try{return await this.writable.write(m.join(""),"ascii"),this.writable.write(g)}catch(A){return this.handleError(A,f),Promise.reject(A)}}handleError(f,m){this.errorCount++,this.fireError(f,m,this.errorCount)}end(){this.writable.end()}}return Wt.WriteableStreamMessageWriter=l,Wt}var _i={},Ju;function Lv(){if(Ju)return _i;Ju=1,Object.defineProperty(_i,"__esModule",{value:!0}),_i.AbstractMessageBuffer=void 0;const t=13,e=10,n=`\r
124
+ `;class r{constructor(s="utf-8"){this._encoding=s,this._chunks=[],this._totalLength=0}get encoding(){return this._encoding}append(s){const a=typeof s=="string"?this.fromString(s,this._encoding):s;this._chunks.push(a),this._totalLength+=a.byteLength}tryReadHeaders(s=!1){if(this._chunks.length===0)return;let a=0,o=0,c=0,l=0;e:for(;o<this._chunks.length;){const g=this._chunks[o];for(c=0;c<g.length;){switch(g[c]){case t:switch(a){case 0:a=1;break;case 2:a=3;break;default:a=0}break;case e:switch(a){case 1:a=2;break;case 3:a=4,c++;break e;default:a=0}break;default:a=0}c++}l+=g.byteLength,o++}if(a!==4)return;const u=this._read(l+c),f=new Map,m=this.toString(u,"ascii").split(n);if(m.length<2)return f;for(let g=0;g<m.length-2;g++){const A=m[g],N=A.indexOf(":");if(N===-1)throw new Error(`Message header must separate key and value using ':'
125
+ ${A}`);const $=A.substr(0,N),w=A.substr(N+1).trim();f.set(s?$.toLowerCase():$,w)}return f}tryReadBody(s){if(!(this._totalLength<s))return this._read(s)}get numberOfBytes(){return this._totalLength}_read(s){if(s===0)return this.emptyBuffer();if(s>this._totalLength)throw new Error("Cannot read so many bytes!");if(this._chunks[0].byteLength===s){const l=this._chunks[0];return this._chunks.shift(),this._totalLength-=s,this.asNative(l)}if(this._chunks[0].byteLength>s){const l=this._chunks[0],u=this.asNative(l,s);return this._chunks[0]=l.slice(s),this._totalLength-=s,u}const a=this.allocNative(s);let o=0,c=0;for(;s>0;){const l=this._chunks[c];if(l.byteLength>s){const u=l.slice(0,s);a.set(u,o),o+=s,this._chunks[c]=l.slice(s),this._totalLength-=s,s-=s}else a.set(l,o),o+=l.byteLength,this._chunks.shift(),this._totalLength-=l.byteLength,s-=l.byteLength}return a}}return _i.AbstractMessageBuffer=r,_i}var Ao={},Qu;function Ov(){return Qu||(Qu=1,function(t){Object.defineProperty(t,"__esModule",{value:!0}),t.createMessageConnection=t.ConnectionOptions=t.MessageStrategy=t.CancellationStrategy=t.CancellationSenderStrategy=t.CancellationReceiverStrategy=t.RequestCancellationReceiverStrategy=t.IdCancellationReceiverStrategy=t.ConnectionStrategy=t.ConnectionError=t.ConnectionErrors=t.LogTraceNotification=t.SetTraceNotification=t.TraceFormat=t.TraceValues=t.Trace=t.NullLogger=t.ProgressType=t.ProgressToken=void 0;const e=cn,n=Ie,r=lp(),i=up(),s=Ft,a=An;var o;(function(p){p.type=new r.NotificationType("$/cancelRequest")})(o||(o={}));var c;(function(p){function S(y){return typeof y=="string"||typeof y=="number"}p.is=S})(c||(t.ProgressToken=c={}));var l;(function(p){p.type=new r.NotificationType("$/progress")})(l||(l={}));class u{constructor(){}}t.ProgressType=u;var f;(function(p){function S(y){return n.func(y)}p.is=S})(f||(f={})),t.NullLogger=Object.freeze({error:()=>{},warn:()=>{},info:()=>{},log:()=>{}});var m;(function(p){p[p.Off=0]="Off",p[p.Messages=1]="Messages",p[p.Compact=2]="Compact",p[p.Verbose=3]="Verbose"})(m||(t.Trace=m={}));var g;(function(p){p.Off="off",p.Messages="messages",p.Compact="compact",p.Verbose="verbose"})(g||(t.TraceValues=g={})),function(p){function S(T){if(!n.string(T))return p.Off;switch(T=T.toLowerCase(),T){case"off":return p.Off;case"messages":return p.Messages;case"compact":return p.Compact;case"verbose":return p.Verbose;default:return p.Off}}p.fromString=S;function y(T){switch(T){case p.Off:return"off";case p.Messages:return"messages";case p.Compact:return"compact";case p.Verbose:return"verbose";default:return"off"}}p.toString=y}(m||(t.Trace=m={}));var A;(function(p){p.Text="text",p.JSON="json"})(A||(t.TraceFormat=A={})),function(p){function S(y){return n.string(y)?(y=y.toLowerCase(),y==="json"?p.JSON:p.Text):p.Text}p.fromString=S}(A||(t.TraceFormat=A={}));var N;(function(p){p.type=new r.NotificationType("$/setTrace")})(N||(t.SetTraceNotification=N={}));var $;(function(p){p.type=new r.NotificationType("$/logTrace")})($||(t.LogTraceNotification=$={}));var w;(function(p){p[p.Closed=1]="Closed",p[p.Disposed=2]="Disposed",p[p.AlreadyListening=3]="AlreadyListening"})(w||(t.ConnectionErrors=w={}));class O extends Error{constructor(S,y){super(y),this.code=S,Object.setPrototypeOf(this,O.prototype)}}t.ConnectionError=O;var b;(function(p){function S(y){const T=y;return T&&n.func(T.cancelUndispatched)}p.is=S})(b||(t.ConnectionStrategy=b={}));var x;(function(p){function S(y){const T=y;return T&&(T.kind===void 0||T.kind==="id")&&n.func(T.createCancellationTokenSource)&&(T.dispose===void 0||n.func(T.dispose))}p.is=S})(x||(t.IdCancellationReceiverStrategy=x={}));var X;(function(p){function S(y){const T=y;return T&&T.kind==="request"&&n.func(T.createCancellationTokenSource)&&(T.dispose===void 0||n.func(T.dispose))}p.is=S})(X||(t.RequestCancellationReceiverStrategy=X={}));var te;(function(p){p.Message=Object.freeze({createCancellationTokenSource(y){return new a.CancellationTokenSource}});function S(y){return x.is(y)||X.is(y)}p.is=S})(te||(t.CancellationReceiverStrategy=te={}));var ne;(function(p){p.Message=Object.freeze({sendCancellation(y,T){return y.sendNotification(o.type,{id:T})},cleanup(y){}});function S(y){const T=y;return T&&n.func(T.sendCancellation)&&n.func(T.cleanup)}p.is=S})(ne||(t.CancellationSenderStrategy=ne={}));var ye;(function(p){p.Message=Object.freeze({receiver:te.Message,sender:ne.Message});function S(y){const T=y;return T&&te.is(T.receiver)&&ne.is(T.sender)}p.is=S})(ye||(t.CancellationStrategy=ye={}));var Ce;(function(p){function S(y){const T=y;return T&&n.func(T.handleMessage)}p.is=S})(Ce||(t.MessageStrategy=Ce={}));var de;(function(p){function S(y){const T=y;return T&&(ye.is(T.cancellationStrategy)||b.is(T.connectionStrategy)||Ce.is(T.messageStrategy))}p.is=S})(de||(t.ConnectionOptions=de={}));var k;(function(p){p[p.New=1]="New",p[p.Listening=2]="Listening",p[p.Closed=3]="Closed",p[p.Disposed=4]="Disposed"})(k||(k={}));function R(p,S,y,T){const E=y!==void 0?y:t.NullLogger;let P=0,D=0,L=0;const z="2.0";let G;const se=new Map;let q;const re=new Map,xe=new Map;let Te,fe=new i.LinkedMap,$e=new Map,De=new Set,be=new Map,Q=m.Off,st=A.Text,Re,Rt=k.New;const er=new s.Emitter,li=new s.Emitter,ui=new s.Emitter,di=new s.Emitter,fi=new s.Emitter,vt=T&&T.cancellationStrategy?T.cancellationStrategy:ye.Message;function hi(h){if(h===null)throw new Error("Can't send requests with id null since the response can't be correlated.");return"req-"+h.toString()}function hs(h){return h===null?"res-unknown-"+(++L).toString():"res-"+h.toString()}function ps(){return"not-"+(++D).toString()}function ms(h,C){r.Message.isRequest(C)?h.set(hi(C.id),C):r.Message.isResponse(C)?h.set(hs(C.id),C):h.set(ps(),C)}function gs(h){}function pi(){return Rt===k.Listening}function mi(){return Rt===k.Closed}function jt(){return Rt===k.Disposed}function gi(){(Rt===k.New||Rt===k.Listening)&&(Rt=k.Closed,li.fire(void 0))}function ys(h){er.fire([h,void 0,void 0])}function Ts(h){er.fire(h)}p.onClose(gi),p.onError(ys),S.onClose(gi),S.onError(Ts);function yi(){Te||fe.size===0||(Te=(0,e.default)().timer.setImmediate(()=>{Te=void 0,Rs()}))}function Ti(h){r.Message.isRequest(h)?Es(h):r.Message.isNotification(h)?Ss(h):r.Message.isResponse(h)?As(h):Cs(h)}function Rs(){if(fe.size===0)return;const h=fe.shift();try{const C=T==null?void 0:T.messageStrategy;Ce.is(C)?C.handleMessage(h,Ti):Ti(h)}finally{yi()}}const vs=h=>{try{if(r.Message.isNotification(h)&&h.method===o.type.method){const C=h.params.id,I=hi(C),F=fe.get(I);if(r.Message.isRequest(F)){const ae=T==null?void 0:T.connectionStrategy,ce=ae&&ae.cancelUndispatched?ae.cancelUndispatched(F,gs):void 0;if(ce&&(ce.error!==void 0||ce.result!==void 0)){fe.delete(I),be.delete(C),ce.id=F.id,_n(ce,h.method,Date.now()),S.write(ce).catch(()=>E.error("Sending response for canceled message failed."));return}}const le=be.get(C);if(le!==void 0){le.cancel(),tr(h);return}else De.add(C)}ms(fe,h)}finally{yi()}};function Es(h){if(jt())return;function C(J,he,ie){const Pe={jsonrpc:z,id:h.id};J instanceof r.ResponseError?Pe.error=J.toJson():Pe.result=J===void 0?null:J,_n(Pe,he,ie),S.write(Pe).catch(()=>E.error("Sending response failed."))}function I(J,he,ie){const Pe={jsonrpc:z,id:h.id,error:J.toJson()};_n(Pe,he,ie),S.write(Pe).catch(()=>E.error("Sending response failed."))}function F(J,he,ie){J===void 0&&(J=null);const Pe={jsonrpc:z,id:h.id,result:J};_n(Pe,he,ie),S.write(Pe).catch(()=>E.error("Sending response failed."))}ws(h);const le=se.get(h.method);let ae,ce;le&&(ae=le.type,ce=le.handler);const we=Date.now();if(ce||G){const J=h.id??String(Date.now()),he=x.is(vt.receiver)?vt.receiver.createCancellationTokenSource(J):vt.receiver.createCancellationTokenSource(h);h.id!==null&&De.has(h.id)&&he.cancel(),h.id!==null&&be.set(J,he);try{let ie;if(ce)if(h.params===void 0){if(ae!==void 0&&ae.numberOfParams!==0){I(new r.ResponseError(r.ErrorCodes.InvalidParams,`Request ${h.method} defines ${ae.numberOfParams} params but received none.`),h.method,we);return}ie=ce(he.token)}else if(Array.isArray(h.params)){if(ae!==void 0&&ae.parameterStructures===r.ParameterStructures.byName){I(new r.ResponseError(r.ErrorCodes.InvalidParams,`Request ${h.method} defines parameters by name but received parameters by position`),h.method,we);return}ie=ce(...h.params,he.token)}else{if(ae!==void 0&&ae.parameterStructures===r.ParameterStructures.byPosition){I(new r.ResponseError(r.ErrorCodes.InvalidParams,`Request ${h.method} defines parameters by position but received parameters by name`),h.method,we);return}ie=ce(h.params,he.token)}else G&&(ie=G(h.method,h.params,he.token));const Pe=ie;ie?Pe.then?Pe.then(Ke=>{be.delete(J),C(Ke,h.method,we)},Ke=>{be.delete(J),Ke instanceof r.ResponseError?I(Ke,h.method,we):Ke&&n.string(Ke.message)?I(new r.ResponseError(r.ErrorCodes.InternalError,`Request ${h.method} failed with message: ${Ke.message}`),h.method,we):I(new r.ResponseError(r.ErrorCodes.InternalError,`Request ${h.method} failed unexpectedly without providing any details.`),h.method,we)}):(be.delete(J),C(ie,h.method,we)):(be.delete(J),F(ie,h.method,we))}catch(ie){be.delete(J),ie instanceof r.ResponseError?C(ie,h.method,we):ie&&n.string(ie.message)?I(new r.ResponseError(r.ErrorCodes.InternalError,`Request ${h.method} failed with message: ${ie.message}`),h.method,we):I(new r.ResponseError(r.ErrorCodes.InternalError,`Request ${h.method} failed unexpectedly without providing any details.`),h.method,we)}}else I(new r.ResponseError(r.ErrorCodes.MethodNotFound,`Unhandled method ${h.method}`),h.method,we)}function As(h){if(!jt())if(h.id===null)h.error?E.error(`Received response message without id: Error is:
126
+ ${JSON.stringify(h.error,void 0,4)}`):E.error("Received response message without id. No further error information provided.");else{const C=h.id,I=$e.get(C);if(bs(h,I),I!==void 0){$e.delete(C);try{if(h.error){const F=h.error;I.reject(new r.ResponseError(F.code,F.message,F.data))}else if(h.result!==void 0)I.resolve(h.result);else throw new Error("Should never happen.")}catch(F){F.message?E.error(`Response handler '${I.method}' failed with message: ${F.message}`):E.error(`Response handler '${I.method}' failed unexpectedly.`)}}}}function Ss(h){if(jt())return;let C,I;if(h.method===o.type.method){const F=h.params.id;De.delete(F),tr(h);return}else{const F=re.get(h.method);F&&(I=F.handler,C=F.type)}if(I||q)try{if(tr(h),I)if(h.params===void 0)C!==void 0&&C.numberOfParams!==0&&C.parameterStructures!==r.ParameterStructures.byName&&E.error(`Notification ${h.method} defines ${C.numberOfParams} params but received none.`),I();else if(Array.isArray(h.params)){const F=h.params;h.method===l.type.method&&F.length===2&&c.is(F[0])?I({token:F[0],value:F[1]}):(C!==void 0&&(C.parameterStructures===r.ParameterStructures.byName&&E.error(`Notification ${h.method} defines parameters by name but received parameters by position`),C.numberOfParams!==h.params.length&&E.error(`Notification ${h.method} defines ${C.numberOfParams} params but received ${F.length} arguments`)),I(...F))}else C!==void 0&&C.parameterStructures===r.ParameterStructures.byPosition&&E.error(`Notification ${h.method} defines parameters by position but received parameters by name`),I(h.params);else q&&q(h.method,h.params)}catch(F){F.message?E.error(`Notification handler '${h.method}' failed with message: ${F.message}`):E.error(`Notification handler '${h.method}' failed unexpectedly.`)}else ui.fire(h)}function Cs(h){if(!h){E.error("Received empty message.");return}E.error(`Received message which is neither a response nor a notification message:
127
+ ${JSON.stringify(h,null,4)}`);const C=h;if(n.string(C.id)||n.number(C.id)){const I=C.id,F=$e.get(I);F&&F.reject(new Error("The received response has neither a result nor an error property."))}}function Et(h){if(h!=null)switch(Q){case m.Verbose:return JSON.stringify(h,null,4);case m.Compact:return JSON.stringify(h);default:return}}function ks(h){if(!(Q===m.Off||!Re))if(st===A.Text){let C;(Q===m.Verbose||Q===m.Compact)&&h.params&&(C=`Params: ${Et(h.params)}
128
+
129
+ `),Re.log(`Sending request '${h.method} - (${h.id})'.`,C)}else zt("send-request",h)}function Ns(h){if(!(Q===m.Off||!Re))if(st===A.Text){let C;(Q===m.Verbose||Q===m.Compact)&&(h.params?C=`Params: ${Et(h.params)}
130
+
131
+ `:C=`No parameters provided.
132
+
133
+ `),Re.log(`Sending notification '${h.method}'.`,C)}else zt("send-notification",h)}function _n(h,C,I){if(!(Q===m.Off||!Re))if(st===A.Text){let F;(Q===m.Verbose||Q===m.Compact)&&(h.error&&h.error.data?F=`Error data: ${Et(h.error.data)}
134
+
135
+ `:h.result?F=`Result: ${Et(h.result)}
136
+
137
+ `:h.error===void 0&&(F=`No result returned.
138
+
139
+ `)),Re.log(`Sending response '${C} - (${h.id})'. Processing request took ${Date.now()-I}ms`,F)}else zt("send-response",h)}function ws(h){if(!(Q===m.Off||!Re))if(st===A.Text){let C;(Q===m.Verbose||Q===m.Compact)&&h.params&&(C=`Params: ${Et(h.params)}
140
+
141
+ `),Re.log(`Received request '${h.method} - (${h.id})'.`,C)}else zt("receive-request",h)}function tr(h){if(!(Q===m.Off||!Re||h.method===$.type.method))if(st===A.Text){let C;(Q===m.Verbose||Q===m.Compact)&&(h.params?C=`Params: ${Et(h.params)}
142
+
143
+ `:C=`No parameters provided.
144
+
145
+ `),Re.log(`Received notification '${h.method}'.`,C)}else zt("receive-notification",h)}function bs(h,C){if(!(Q===m.Off||!Re))if(st===A.Text){let I;if((Q===m.Verbose||Q===m.Compact)&&(h.error&&h.error.data?I=`Error data: ${Et(h.error.data)}
146
+
147
+ `:h.result?I=`Result: ${Et(h.result)}
148
+
149
+ `:h.error===void 0&&(I=`No result returned.
150
+
151
+ `)),C){const F=h.error?` Request failed: ${h.error.message} (${h.error.code}).`:"";Re.log(`Received response '${C.method} - (${h.id})' in ${Date.now()-C.timerStart}ms.${F}`,I)}else Re.log(`Received response ${h.id} without active response promise.`,I)}else zt("receive-response",h)}function zt(h,C){if(!Re||Q===m.Off)return;const I={isLSPMessage:!0,type:h,message:C,timestamp:Date.now()};Re.log(I)}function ln(){if(mi())throw new O(w.Closed,"Connection is closed.");if(jt())throw new O(w.Disposed,"Connection is disposed.")}function _s(){if(pi())throw new O(w.AlreadyListening,"Connection is already listening")}function Is(){if(!pi())throw new Error("Call listen() first.")}function un(h){return h===void 0?null:h}function Ri(h){if(h!==null)return h}function d(h){return h!=null&&!Array.isArray(h)&&typeof h=="object"}function ke(h,C){switch(h){case r.ParameterStructures.auto:return d(C)?Ri(C):[un(C)];case r.ParameterStructures.byName:if(!d(C))throw new Error("Received parameters by name but param is not an object literal.");return Ri(C);case r.ParameterStructures.byPosition:return[un(C)];default:throw new Error(`Unknown parameter structure ${h.toString()}`)}}function Ne(h,C){let I;const F=h.numberOfParams;switch(F){case 0:I=void 0;break;case 1:I=ke(h.parameterStructures,C[0]);break;default:I=[];for(let le=0;le<C.length&&le<F;le++)I.push(un(C[le]));if(C.length<F)for(let le=C.length;le<F;le++)I.push(null);break}return I}const V={sendNotification:(h,...C)=>{ln();let I,F;if(n.string(h)){I=h;const ae=C[0];let ce=0,we=r.ParameterStructures.auto;r.ParameterStructures.is(ae)&&(ce=1,we=ae);let J=C.length;const he=J-ce;switch(he){case 0:F=void 0;break;case 1:F=ke(we,C[ce]);break;default:if(we===r.ParameterStructures.byName)throw new Error(`Received ${he} parameters for 'by Name' notification parameter structure.`);F=C.slice(ce,J).map(ie=>un(ie));break}}else{const ae=C;I=h.method,F=Ne(h,ae)}const le={jsonrpc:z,method:I,params:F};return Ns(le),S.write(le).catch(ae=>{throw E.error("Sending notification failed."),ae})},onNotification:(h,C)=>{ln();let I;return n.func(h)?q=h:C&&(n.string(h)?(I=h,re.set(h,{type:void 0,handler:C})):(I=h.method,re.set(h.method,{type:h,handler:C}))),{dispose:()=>{I!==void 0?re.delete(I):q=void 0}}},onProgress:(h,C,I)=>{if(xe.has(C))throw new Error(`Progress handler for token ${C} already registered`);return xe.set(C,I),{dispose:()=>{xe.delete(C)}}},sendProgress:(h,C,I)=>V.sendNotification(l.type,{token:C,value:I}),onUnhandledProgress:di.event,sendRequest:(h,...C)=>{ln(),Is();let I,F,le;if(n.string(h)){I=h;const J=C[0],he=C[C.length-1];let ie=0,Pe=r.ParameterStructures.auto;r.ParameterStructures.is(J)&&(ie=1,Pe=J);let Ke=C.length;a.CancellationToken.is(he)&&(Ke=Ke-1,le=he);const $t=Ke-ie;switch($t){case 0:F=void 0;break;case 1:F=ke(Pe,C[ie]);break;default:if(Pe===r.ParameterStructures.byName)throw new Error(`Received ${$t} parameters for 'by Name' request parameter structure.`);F=C.slice(ie,Ke).map(jp=>un(jp));break}}else{const J=C;I=h.method,F=Ne(h,J);const he=h.numberOfParams;le=a.CancellationToken.is(J[he])?J[he]:void 0}const ae=P++;let ce;le&&(ce=le.onCancellationRequested(()=>{const J=vt.sender.sendCancellation(V,ae);return J===void 0?(E.log(`Received no promise from cancellation strategy when cancelling id ${ae}`),Promise.resolve()):J.catch(()=>{E.log(`Sending cancellation messages for id ${ae} failed`)})}));const we={jsonrpc:z,id:ae,method:I,params:F};return ks(we),typeof vt.sender.enableCancellation=="function"&&vt.sender.enableCancellation(we),new Promise(async(J,he)=>{const ie=$t=>{J($t),vt.sender.cleanup(ae),ce==null||ce.dispose()},Pe=$t=>{he($t),vt.sender.cleanup(ae),ce==null||ce.dispose()},Ke={method:I,timerStart:Date.now(),resolve:ie,reject:Pe};try{await S.write(we),$e.set(ae,Ke)}catch($t){throw E.error("Sending request failed."),Ke.reject(new r.ResponseError(r.ErrorCodes.MessageWriteError,$t.message?$t.message:"Unknown reason")),$t}})},onRequest:(h,C)=>{ln();let I=null;return f.is(h)?(I=void 0,G=h):n.string(h)?(I=null,C!==void 0&&(I=h,se.set(h,{handler:C,type:void 0}))):C!==void 0&&(I=h.method,se.set(h.method,{type:h,handler:C})),{dispose:()=>{I!==null&&(I!==void 0?se.delete(I):G=void 0)}}},hasPendingResponse:()=>$e.size>0,trace:async(h,C,I)=>{let F=!1,le=A.Text;I!==void 0&&(n.boolean(I)?F=I:(F=I.sendNotification||!1,le=I.traceFormat||A.Text)),Q=h,st=le,Q===m.Off?Re=void 0:Re=C,F&&!mi()&&!jt()&&await V.sendNotification(N.type,{value:m.toString(h)})},onError:er.event,onClose:li.event,onUnhandledNotification:ui.event,onDispose:fi.event,end:()=>{S.end()},dispose:()=>{if(jt())return;Rt=k.Disposed,fi.fire(void 0);const h=new r.ResponseError(r.ErrorCodes.PendingResponseRejected,"Pending response rejected since connection got disposed");for(const C of $e.values())C.reject(h);$e=new Map,be=new Map,De=new Set,fe=new i.LinkedMap,n.func(S.dispose)&&S.dispose(),n.func(p.dispose)&&p.dispose()},listen:()=>{ln(),_s(),Rt=k.Listening,p.listen(vs)},inspect:()=>{(0,e.default)().console.log("inspect")}};return V.onNotification($.type,h=>{if(Q===m.Off||!Re)return;const C=Q===m.Verbose||Q===m.Compact;Re.log(h.message,C?h.verbose:void 0)}),V.onNotification(l.type,h=>{const C=xe.get(h.token);C?C(h.value):di.fire(h)}),V}t.createMessageConnection=R}(Ao)),Ao}var Zu;function ol(){return Zu||(Zu=1,function(t){Object.defineProperty(t,"__esModule",{value:!0}),t.ProgressType=t.ProgressToken=t.createMessageConnection=t.NullLogger=t.ConnectionOptions=t.ConnectionStrategy=t.AbstractMessageBuffer=t.WriteableStreamMessageWriter=t.AbstractMessageWriter=t.MessageWriter=t.ReadableStreamMessageReader=t.AbstractMessageReader=t.MessageReader=t.SharedArrayReceiverStrategy=t.SharedArraySenderStrategy=t.CancellationToken=t.CancellationTokenSource=t.Emitter=t.Event=t.Disposable=t.LRUCache=t.Touch=t.LinkedMap=t.ParameterStructures=t.NotificationType9=t.NotificationType8=t.NotificationType7=t.NotificationType6=t.NotificationType5=t.NotificationType4=t.NotificationType3=t.NotificationType2=t.NotificationType1=t.NotificationType0=t.NotificationType=t.ErrorCodes=t.ResponseError=t.RequestType9=t.RequestType8=t.RequestType7=t.RequestType6=t.RequestType5=t.RequestType4=t.RequestType3=t.RequestType2=t.RequestType1=t.RequestType0=t.RequestType=t.Message=t.RAL=void 0,t.MessageStrategy=t.CancellationStrategy=t.CancellationSenderStrategy=t.CancellationReceiverStrategy=t.ConnectionError=t.ConnectionErrors=t.LogTraceNotification=t.SetTraceNotification=t.TraceFormat=t.TraceValues=t.Trace=void 0;const e=lp();Object.defineProperty(t,"Message",{enumerable:!0,get:function(){return e.Message}}),Object.defineProperty(t,"RequestType",{enumerable:!0,get:function(){return e.RequestType}}),Object.defineProperty(t,"RequestType0",{enumerable:!0,get:function(){return e.RequestType0}}),Object.defineProperty(t,"RequestType1",{enumerable:!0,get:function(){return e.RequestType1}}),Object.defineProperty(t,"RequestType2",{enumerable:!0,get:function(){return e.RequestType2}}),Object.defineProperty(t,"RequestType3",{enumerable:!0,get:function(){return e.RequestType3}}),Object.defineProperty(t,"RequestType4",{enumerable:!0,get:function(){return e.RequestType4}}),Object.defineProperty(t,"RequestType5",{enumerable:!0,get:function(){return e.RequestType5}}),Object.defineProperty(t,"RequestType6",{enumerable:!0,get:function(){return e.RequestType6}}),Object.defineProperty(t,"RequestType7",{enumerable:!0,get:function(){return e.RequestType7}}),Object.defineProperty(t,"RequestType8",{enumerable:!0,get:function(){return e.RequestType8}}),Object.defineProperty(t,"RequestType9",{enumerable:!0,get:function(){return e.RequestType9}}),Object.defineProperty(t,"ResponseError",{enumerable:!0,get:function(){return e.ResponseError}}),Object.defineProperty(t,"ErrorCodes",{enumerable:!0,get:function(){return e.ErrorCodes}}),Object.defineProperty(t,"NotificationType",{enumerable:!0,get:function(){return e.NotificationType}}),Object.defineProperty(t,"NotificationType0",{enumerable:!0,get:function(){return e.NotificationType0}}),Object.defineProperty(t,"NotificationType1",{enumerable:!0,get:function(){return e.NotificationType1}}),Object.defineProperty(t,"NotificationType2",{enumerable:!0,get:function(){return e.NotificationType2}}),Object.defineProperty(t,"NotificationType3",{enumerable:!0,get:function(){return e.NotificationType3}}),Object.defineProperty(t,"NotificationType4",{enumerable:!0,get:function(){return e.NotificationType4}}),Object.defineProperty(t,"NotificationType5",{enumerable:!0,get:function(){return e.NotificationType5}}),Object.defineProperty(t,"NotificationType6",{enumerable:!0,get:function(){return e.NotificationType6}}),Object.defineProperty(t,"NotificationType7",{enumerable:!0,get:function(){return e.NotificationType7}}),Object.defineProperty(t,"NotificationType8",{enumerable:!0,get:function(){return e.NotificationType8}}),Object.defineProperty(t,"NotificationType9",{enumerable:!0,get:function(){return e.NotificationType9}}),Object.defineProperty(t,"ParameterStructures",{enumerable:!0,get:function(){return e.ParameterStructures}});const n=up();Object.defineProperty(t,"LinkedMap",{enumerable:!0,get:function(){return n.LinkedMap}}),Object.defineProperty(t,"LRUCache",{enumerable:!0,get:function(){return n.LRUCache}}),Object.defineProperty(t,"Touch",{enumerable:!0,get:function(){return n.Touch}});const r=_v();Object.defineProperty(t,"Disposable",{enumerable:!0,get:function(){return r.Disposable}});const i=Ft;Object.defineProperty(t,"Event",{enumerable:!0,get:function(){return i.Event}}),Object.defineProperty(t,"Emitter",{enumerable:!0,get:function(){return i.Emitter}});const s=An;Object.defineProperty(t,"CancellationTokenSource",{enumerable:!0,get:function(){return s.CancellationTokenSource}}),Object.defineProperty(t,"CancellationToken",{enumerable:!0,get:function(){return s.CancellationToken}});const a=Iv();Object.defineProperty(t,"SharedArraySenderStrategy",{enumerable:!0,get:function(){return a.SharedArraySenderStrategy}}),Object.defineProperty(t,"SharedArrayReceiverStrategy",{enumerable:!0,get:function(){return a.SharedArrayReceiverStrategy}});const o=$v();Object.defineProperty(t,"MessageReader",{enumerable:!0,get:function(){return o.MessageReader}}),Object.defineProperty(t,"AbstractMessageReader",{enumerable:!0,get:function(){return o.AbstractMessageReader}}),Object.defineProperty(t,"ReadableStreamMessageReader",{enumerable:!0,get:function(){return o.ReadableStreamMessageReader}});const c=Pv();Object.defineProperty(t,"MessageWriter",{enumerable:!0,get:function(){return c.MessageWriter}}),Object.defineProperty(t,"AbstractMessageWriter",{enumerable:!0,get:function(){return c.AbstractMessageWriter}}),Object.defineProperty(t,"WriteableStreamMessageWriter",{enumerable:!0,get:function(){return c.WriteableStreamMessageWriter}});const l=Lv();Object.defineProperty(t,"AbstractMessageBuffer",{enumerable:!0,get:function(){return l.AbstractMessageBuffer}});const u=Ov();Object.defineProperty(t,"ConnectionStrategy",{enumerable:!0,get:function(){return u.ConnectionStrategy}}),Object.defineProperty(t,"ConnectionOptions",{enumerable:!0,get:function(){return u.ConnectionOptions}}),Object.defineProperty(t,"NullLogger",{enumerable:!0,get:function(){return u.NullLogger}}),Object.defineProperty(t,"createMessageConnection",{enumerable:!0,get:function(){return u.createMessageConnection}}),Object.defineProperty(t,"ProgressToken",{enumerable:!0,get:function(){return u.ProgressToken}}),Object.defineProperty(t,"ProgressType",{enumerable:!0,get:function(){return u.ProgressType}}),Object.defineProperty(t,"Trace",{enumerable:!0,get:function(){return u.Trace}}),Object.defineProperty(t,"TraceValues",{enumerable:!0,get:function(){return u.TraceValues}}),Object.defineProperty(t,"TraceFormat",{enumerable:!0,get:function(){return u.TraceFormat}}),Object.defineProperty(t,"SetTraceNotification",{enumerable:!0,get:function(){return u.SetTraceNotification}}),Object.defineProperty(t,"LogTraceNotification",{enumerable:!0,get:function(){return u.LogTraceNotification}}),Object.defineProperty(t,"ConnectionErrors",{enumerable:!0,get:function(){return u.ConnectionErrors}}),Object.defineProperty(t,"ConnectionError",{enumerable:!0,get:function(){return u.ConnectionError}}),Object.defineProperty(t,"CancellationReceiverStrategy",{enumerable:!0,get:function(){return u.CancellationReceiverStrategy}}),Object.defineProperty(t,"CancellationSenderStrategy",{enumerable:!0,get:function(){return u.CancellationSenderStrategy}}),Object.defineProperty(t,"CancellationStrategy",{enumerable:!0,get:function(){return u.CancellationStrategy}}),Object.defineProperty(t,"MessageStrategy",{enumerable:!0,get:function(){return u.MessageStrategy}});const f=cn;t.RAL=f.default}(Eo)),Eo}Object.defineProperty(Wl,"__esModule",{value:!0});const Dt=ol();class Xa extends Dt.AbstractMessageBuffer{constructor(e="utf-8"){super(e),this.asciiDecoder=new TextDecoder("ascii")}emptyBuffer(){return Xa.emptyBuffer}fromString(e,n){return new TextEncoder().encode(e)}toString(e,n){return n==="ascii"?this.asciiDecoder.decode(e):new TextDecoder(n).decode(e)}asNative(e,n){return n===void 0?e:e.slice(0,n)}allocNative(e){return new Uint8Array(e)}}Xa.emptyBuffer=new Uint8Array(0);class xv{constructor(e){this.socket=e,this._onData=new Dt.Emitter,this._messageListener=n=>{n.data.arrayBuffer().then(i=>{this._onData.fire(new Uint8Array(i))},()=>{(0,Dt.RAL)().console.error("Converting blob to array buffer failed.")})},this.socket.addEventListener("message",this._messageListener)}onClose(e){return this.socket.addEventListener("close",e),Dt.Disposable.create(()=>this.socket.removeEventListener("close",e))}onError(e){return this.socket.addEventListener("error",e),Dt.Disposable.create(()=>this.socket.removeEventListener("error",e))}onEnd(e){return this.socket.addEventListener("end",e),Dt.Disposable.create(()=>this.socket.removeEventListener("end",e))}onData(e){return this._onData.event(e)}}class Dv{constructor(e){this.socket=e}onClose(e){return this.socket.addEventListener("close",e),Dt.Disposable.create(()=>this.socket.removeEventListener("close",e))}onError(e){return this.socket.addEventListener("error",e),Dt.Disposable.create(()=>this.socket.removeEventListener("error",e))}onEnd(e){return this.socket.addEventListener("end",e),Dt.Disposable.create(()=>this.socket.removeEventListener("end",e))}write(e,n){if(typeof e=="string"){if(n!==void 0&&n!=="utf-8")throw new Error(`In a Browser environments only utf-8 text encoding is supported. But got encoding: ${n}`);this.socket.send(e)}else this.socket.send(e);return Promise.resolve()}end(){this.socket.close()}}const Mv=new TextEncoder,fp=Object.freeze({messageBuffer:Object.freeze({create:t=>new Xa(t)}),applicationJson:Object.freeze({encoder:Object.freeze({name:"application/json",encode:(t,e)=>{if(e.charset!=="utf-8")throw new Error(`In a Browser environments only utf-8 text encoding is supported. But got encoding: ${e.charset}`);return Promise.resolve(Mv.encode(JSON.stringify(t,void 0,0)))}}),decoder:Object.freeze({name:"application/json",decode:(t,e)=>{if(!(t instanceof Uint8Array))throw new Error("In a Browser environments only Uint8Arrays are supported.");return Promise.resolve(JSON.parse(new TextDecoder(e.charset).decode(t)))}})}),stream:Object.freeze({asReadableStream:t=>new xv(t),asWritableStream:t=>new Dv(t)}),console,timer:Object.freeze({setTimeout(t,e,...n){const r=setTimeout(t,e,...n);return{dispose:()=>clearTimeout(r)}},setImmediate(t,...e){const n=setTimeout(t,0,...e);return{dispose:()=>clearTimeout(n)}},setInterval(t,e,...n){const r=setInterval(t,e,...n);return{dispose:()=>clearInterval(r)}}})});function cl(){return fp}(function(t){function e(){Dt.RAL.install(fp)}t.install=e})(cl||(cl={}));Wl.default=cl;(function(t){var e=gt&&gt.__createBinding||(Object.create?function(c,l,u,f){f===void 0&&(f=u);var m=Object.getOwnPropertyDescriptor(l,u);(!m||("get"in m?!l.__esModule:m.writable||m.configurable))&&(m={enumerable:!0,get:function(){return l[u]}}),Object.defineProperty(c,f,m)}:function(c,l,u,f){f===void 0&&(f=u),c[f]=l[u]}),n=gt&&gt.__exportStar||function(c,l){for(var u in c)u!=="default"&&!Object.prototype.hasOwnProperty.call(l,u)&&e(l,c,u)};Object.defineProperty(t,"__esModule",{value:!0}),t.createMessageConnection=t.BrowserMessageWriter=t.BrowserMessageReader=void 0,Wl.default.install();const i=ol();n(ol(),t);class s extends i.AbstractMessageReader{constructor(l){super(),this._onData=new i.Emitter,this._messageListener=u=>{this._onData.fire(u.data)},l.addEventListener("error",u=>this.fireError(u)),l.onmessage=this._messageListener}listen(l){return this._onData.event(l)}}t.BrowserMessageReader=s;class a extends i.AbstractMessageWriter{constructor(l){super(),this.port=l,this.errorCount=0,l.addEventListener("error",u=>this.fireError(u))}write(l){try{return this.port.postMessage(l),Promise.resolve()}catch(u){return this.handleError(u,l),Promise.reject(u)}}handleError(l,u){this.errorCount++,this.fireError(l,u,this.errorCount)}end(){}}t.BrowserMessageWriter=a;function o(c,l,u,f){return u===void 0&&(u=i.NullLogger),i.ConnectionStrategy.is(f)&&(f={connectionStrategy:f}),(0,i.createMessageConnection)(c,l,u,f)}t.createMessageConnection=o})(Jn);var ed=Jn,hp={};const Vl=Zp(SR);var H={};Object.defineProperty(H,"__esModule",{value:!0});H.ProtocolNotificationType=H.ProtocolNotificationType0=H.ProtocolRequestType=H.ProtocolRequestType0=H.RegistrationType=H.MessageDirection=void 0;const Hr=Jn;var td;(function(t){t.clientToServer="clientToServer",t.serverToClient="serverToClient",t.both="both"})(td||(H.MessageDirection=td={}));class Fv{constructor(e){this.method=e}}H.RegistrationType=Fv;class Gv extends Hr.RequestType0{constructor(e){super(e)}}H.ProtocolRequestType0=Gv;class Uv extends Hr.RequestType{constructor(e){super(e,Hr.ParameterStructures.byName)}}H.ProtocolRequestType=Uv;class jv extends Hr.NotificationType0{constructor(e){super(e)}}H.ProtocolNotificationType0=jv;class zv extends Hr.NotificationType{constructor(e){super(e,Hr.ParameterStructures.byName)}}H.ProtocolNotificationType=zv;var pp={},Ee={};Object.defineProperty(Ee,"__esModule",{value:!0});Ee.objectLiteral=Ee.typedArray=Ee.stringArray=Ee.array=Ee.func=Ee.error=Ee.number=Ee.string=Ee.boolean=void 0;function Bv(t){return t===!0||t===!1}Ee.boolean=Bv;function mp(t){return typeof t=="string"||t instanceof String}Ee.string=mp;function qv(t){return typeof t=="number"||t instanceof Number}Ee.number=qv;function Wv(t){return t instanceof Error}Ee.error=Wv;function Vv(t){return typeof t=="function"}Ee.func=Vv;function gp(t){return Array.isArray(t)}Ee.array=gp;function Kv(t){return gp(t)&&t.every(e=>mp(e))}Ee.stringArray=Kv;function Hv(t,e){return Array.isArray(t)&&t.every(e)}Ee.typedArray=Hv;function Yv(t){return t!==null&&typeof t=="object"}Ee.objectLiteral=Yv;var Ja={};Object.defineProperty(Ja,"__esModule",{value:!0});Ja.ImplementationRequest=void 0;const nd=H;var rd;(function(t){t.method="textDocument/implementation",t.messageDirection=nd.MessageDirection.clientToServer,t.type=new nd.ProtocolRequestType(t.method)})(rd||(Ja.ImplementationRequest=rd={}));var Qa={};Object.defineProperty(Qa,"__esModule",{value:!0});Qa.TypeDefinitionRequest=void 0;const id=H;var sd;(function(t){t.method="textDocument/typeDefinition",t.messageDirection=id.MessageDirection.clientToServer,t.type=new id.ProtocolRequestType(t.method)})(sd||(Qa.TypeDefinitionRequest=sd={}));var Yr={};Object.defineProperty(Yr,"__esModule",{value:!0});Yr.DidChangeWorkspaceFoldersNotification=Yr.WorkspaceFoldersRequest=void 0;const ba=H;var ad;(function(t){t.method="workspace/workspaceFolders",t.messageDirection=ba.MessageDirection.serverToClient,t.type=new ba.ProtocolRequestType0(t.method)})(ad||(Yr.WorkspaceFoldersRequest=ad={}));var od;(function(t){t.method="workspace/didChangeWorkspaceFolders",t.messageDirection=ba.MessageDirection.clientToServer,t.type=new ba.ProtocolNotificationType(t.method)})(od||(Yr.DidChangeWorkspaceFoldersNotification=od={}));var Za={};Object.defineProperty(Za,"__esModule",{value:!0});Za.ConfigurationRequest=void 0;const cd=H;var ld;(function(t){t.method="workspace/configuration",t.messageDirection=cd.MessageDirection.serverToClient,t.type=new cd.ProtocolRequestType(t.method)})(ld||(Za.ConfigurationRequest=ld={}));var Xr={};Object.defineProperty(Xr,"__esModule",{value:!0});Xr.ColorPresentationRequest=Xr.DocumentColorRequest=void 0;const _a=H;var ud;(function(t){t.method="textDocument/documentColor",t.messageDirection=_a.MessageDirection.clientToServer,t.type=new _a.ProtocolRequestType(t.method)})(ud||(Xr.DocumentColorRequest=ud={}));var dd;(function(t){t.method="textDocument/colorPresentation",t.messageDirection=_a.MessageDirection.clientToServer,t.type=new _a.ProtocolRequestType(t.method)})(dd||(Xr.ColorPresentationRequest=dd={}));var Jr={};Object.defineProperty(Jr,"__esModule",{value:!0});Jr.FoldingRangeRefreshRequest=Jr.FoldingRangeRequest=void 0;const Ia=H;var fd;(function(t){t.method="textDocument/foldingRange",t.messageDirection=Ia.MessageDirection.clientToServer,t.type=new Ia.ProtocolRequestType(t.method)})(fd||(Jr.FoldingRangeRequest=fd={}));var hd;(function(t){t.method="workspace/foldingRange/refresh",t.messageDirection=Ia.MessageDirection.serverToClient,t.type=new Ia.ProtocolRequestType0(t.method)})(hd||(Jr.FoldingRangeRefreshRequest=hd={}));var eo={};Object.defineProperty(eo,"__esModule",{value:!0});eo.DeclarationRequest=void 0;const pd=H;var md;(function(t){t.method="textDocument/declaration",t.messageDirection=pd.MessageDirection.clientToServer,t.type=new pd.ProtocolRequestType(t.method)})(md||(eo.DeclarationRequest=md={}));var to={};Object.defineProperty(to,"__esModule",{value:!0});to.SelectionRangeRequest=void 0;const gd=H;var yd;(function(t){t.method="textDocument/selectionRange",t.messageDirection=gd.MessageDirection.clientToServer,t.type=new gd.ProtocolRequestType(t.method)})(yd||(to.SelectionRangeRequest=yd={}));var pn={};Object.defineProperty(pn,"__esModule",{value:!0});pn.WorkDoneProgressCancelNotification=pn.WorkDoneProgressCreateRequest=pn.WorkDoneProgress=void 0;const Xv=Jn,$a=H;var Td;(function(t){t.type=new Xv.ProgressType;function e(n){return n===t.type}t.is=e})(Td||(pn.WorkDoneProgress=Td={}));var Rd;(function(t){t.method="window/workDoneProgress/create",t.messageDirection=$a.MessageDirection.serverToClient,t.type=new $a.ProtocolRequestType(t.method)})(Rd||(pn.WorkDoneProgressCreateRequest=Rd={}));var vd;(function(t){t.method="window/workDoneProgress/cancel",t.messageDirection=$a.MessageDirection.clientToServer,t.type=new $a.ProtocolNotificationType(t.method)})(vd||(pn.WorkDoneProgressCancelNotification=vd={}));var mn={};Object.defineProperty(mn,"__esModule",{value:!0});mn.CallHierarchyOutgoingCallsRequest=mn.CallHierarchyIncomingCallsRequest=mn.CallHierarchyPrepareRequest=void 0;const Qr=H;var Ed;(function(t){t.method="textDocument/prepareCallHierarchy",t.messageDirection=Qr.MessageDirection.clientToServer,t.type=new Qr.ProtocolRequestType(t.method)})(Ed||(mn.CallHierarchyPrepareRequest=Ed={}));var Ad;(function(t){t.method="callHierarchy/incomingCalls",t.messageDirection=Qr.MessageDirection.clientToServer,t.type=new Qr.ProtocolRequestType(t.method)})(Ad||(mn.CallHierarchyIncomingCallsRequest=Ad={}));var Sd;(function(t){t.method="callHierarchy/outgoingCalls",t.messageDirection=Qr.MessageDirection.clientToServer,t.type=new Qr.ProtocolRequestType(t.method)})(Sd||(mn.CallHierarchyOutgoingCallsRequest=Sd={}));var Ze={};Object.defineProperty(Ze,"__esModule",{value:!0});Ze.SemanticTokensRefreshRequest=Ze.SemanticTokensRangeRequest=Ze.SemanticTokensDeltaRequest=Ze.SemanticTokensRequest=Ze.SemanticTokensRegistrationType=Ze.TokenFormat=void 0;const sn=H;var Cd;(function(t){t.Relative="relative"})(Cd||(Ze.TokenFormat=Cd={}));var ts;(function(t){t.method="textDocument/semanticTokens",t.type=new sn.RegistrationType(t.method)})(ts||(Ze.SemanticTokensRegistrationType=ts={}));var kd;(function(t){t.method="textDocument/semanticTokens/full",t.messageDirection=sn.MessageDirection.clientToServer,t.type=new sn.ProtocolRequestType(t.method),t.registrationMethod=ts.method})(kd||(Ze.SemanticTokensRequest=kd={}));var Nd;(function(t){t.method="textDocument/semanticTokens/full/delta",t.messageDirection=sn.MessageDirection.clientToServer,t.type=new sn.ProtocolRequestType(t.method),t.registrationMethod=ts.method})(Nd||(Ze.SemanticTokensDeltaRequest=Nd={}));var wd;(function(t){t.method="textDocument/semanticTokens/range",t.messageDirection=sn.MessageDirection.clientToServer,t.type=new sn.ProtocolRequestType(t.method),t.registrationMethod=ts.method})(wd||(Ze.SemanticTokensRangeRequest=wd={}));var bd;(function(t){t.method="workspace/semanticTokens/refresh",t.messageDirection=sn.MessageDirection.serverToClient,t.type=new sn.ProtocolRequestType0(t.method)})(bd||(Ze.SemanticTokensRefreshRequest=bd={}));var no={};Object.defineProperty(no,"__esModule",{value:!0});no.ShowDocumentRequest=void 0;const _d=H;var Id;(function(t){t.method="window/showDocument",t.messageDirection=_d.MessageDirection.serverToClient,t.type=new _d.ProtocolRequestType(t.method)})(Id||(no.ShowDocumentRequest=Id={}));var ro={};Object.defineProperty(ro,"__esModule",{value:!0});ro.LinkedEditingRangeRequest=void 0;const $d=H;var Pd;(function(t){t.method="textDocument/linkedEditingRange",t.messageDirection=$d.MessageDirection.clientToServer,t.type=new $d.ProtocolRequestType(t.method)})(Pd||(ro.LinkedEditingRangeRequest=Pd={}));var qe={};Object.defineProperty(qe,"__esModule",{value:!0});qe.WillDeleteFilesRequest=qe.DidDeleteFilesNotification=qe.DidRenameFilesNotification=qe.WillRenameFilesRequest=qe.DidCreateFilesNotification=qe.WillCreateFilesRequest=qe.FileOperationPatternKind=void 0;const Tt=H;var Ld;(function(t){t.file="file",t.folder="folder"})(Ld||(qe.FileOperationPatternKind=Ld={}));var Od;(function(t){t.method="workspace/willCreateFiles",t.messageDirection=Tt.MessageDirection.clientToServer,t.type=new Tt.ProtocolRequestType(t.method)})(Od||(qe.WillCreateFilesRequest=Od={}));var xd;(function(t){t.method="workspace/didCreateFiles",t.messageDirection=Tt.MessageDirection.clientToServer,t.type=new Tt.ProtocolNotificationType(t.method)})(xd||(qe.DidCreateFilesNotification=xd={}));var Dd;(function(t){t.method="workspace/willRenameFiles",t.messageDirection=Tt.MessageDirection.clientToServer,t.type=new Tt.ProtocolRequestType(t.method)})(Dd||(qe.WillRenameFilesRequest=Dd={}));var Md;(function(t){t.method="workspace/didRenameFiles",t.messageDirection=Tt.MessageDirection.clientToServer,t.type=new Tt.ProtocolNotificationType(t.method)})(Md||(qe.DidRenameFilesNotification=Md={}));var Fd;(function(t){t.method="workspace/didDeleteFiles",t.messageDirection=Tt.MessageDirection.clientToServer,t.type=new Tt.ProtocolNotificationType(t.method)})(Fd||(qe.DidDeleteFilesNotification=Fd={}));var Gd;(function(t){t.method="workspace/willDeleteFiles",t.messageDirection=Tt.MessageDirection.clientToServer,t.type=new Tt.ProtocolRequestType(t.method)})(Gd||(qe.WillDeleteFilesRequest=Gd={}));var gn={};Object.defineProperty(gn,"__esModule",{value:!0});gn.MonikerRequest=gn.MonikerKind=gn.UniquenessLevel=void 0;const Ud=H;var jd;(function(t){t.document="document",t.project="project",t.group="group",t.scheme="scheme",t.global="global"})(jd||(gn.UniquenessLevel=jd={}));var zd;(function(t){t.$import="import",t.$export="export",t.local="local"})(zd||(gn.MonikerKind=zd={}));var Bd;(function(t){t.method="textDocument/moniker",t.messageDirection=Ud.MessageDirection.clientToServer,t.type=new Ud.ProtocolRequestType(t.method)})(Bd||(gn.MonikerRequest=Bd={}));var yn={};Object.defineProperty(yn,"__esModule",{value:!0});yn.TypeHierarchySubtypesRequest=yn.TypeHierarchySupertypesRequest=yn.TypeHierarchyPrepareRequest=void 0;const Zr=H;var qd;(function(t){t.method="textDocument/prepareTypeHierarchy",t.messageDirection=Zr.MessageDirection.clientToServer,t.type=new Zr.ProtocolRequestType(t.method)})(qd||(yn.TypeHierarchyPrepareRequest=qd={}));var Wd;(function(t){t.method="typeHierarchy/supertypes",t.messageDirection=Zr.MessageDirection.clientToServer,t.type=new Zr.ProtocolRequestType(t.method)})(Wd||(yn.TypeHierarchySupertypesRequest=Wd={}));var Vd;(function(t){t.method="typeHierarchy/subtypes",t.messageDirection=Zr.MessageDirection.clientToServer,t.type=new Zr.ProtocolRequestType(t.method)})(Vd||(yn.TypeHierarchySubtypesRequest=Vd={}));var ei={};Object.defineProperty(ei,"__esModule",{value:!0});ei.InlineValueRefreshRequest=ei.InlineValueRequest=void 0;const Pa=H;var Kd;(function(t){t.method="textDocument/inlineValue",t.messageDirection=Pa.MessageDirection.clientToServer,t.type=new Pa.ProtocolRequestType(t.method)})(Kd||(ei.InlineValueRequest=Kd={}));var Hd;(function(t){t.method="workspace/inlineValue/refresh",t.messageDirection=Pa.MessageDirection.serverToClient,t.type=new Pa.ProtocolRequestType0(t.method)})(Hd||(ei.InlineValueRefreshRequest=Hd={}));var Tn={};Object.defineProperty(Tn,"__esModule",{value:!0});Tn.InlayHintRefreshRequest=Tn.InlayHintResolveRequest=Tn.InlayHintRequest=void 0;const ti=H;var Yd;(function(t){t.method="textDocument/inlayHint",t.messageDirection=ti.MessageDirection.clientToServer,t.type=new ti.ProtocolRequestType(t.method)})(Yd||(Tn.InlayHintRequest=Yd={}));var Xd;(function(t){t.method="inlayHint/resolve",t.messageDirection=ti.MessageDirection.clientToServer,t.type=new ti.ProtocolRequestType(t.method)})(Xd||(Tn.InlayHintResolveRequest=Xd={}));var Jd;(function(t){t.method="workspace/inlayHint/refresh",t.messageDirection=ti.MessageDirection.serverToClient,t.type=new ti.ProtocolRequestType0(t.method)})(Jd||(Tn.InlayHintRefreshRequest=Jd={}));var mt={};Object.defineProperty(mt,"__esModule",{value:!0});mt.DiagnosticRefreshRequest=mt.WorkspaceDiagnosticRequest=mt.DocumentDiagnosticRequest=mt.DocumentDiagnosticReportKind=mt.DiagnosticServerCancellationData=void 0;const yp=Jn,Jv=Ee,ni=H;var Qd;(function(t){function e(n){const r=n;return r&&Jv.boolean(r.retriggerRequest)}t.is=e})(Qd||(mt.DiagnosticServerCancellationData=Qd={}));var Zd;(function(t){t.Full="full",t.Unchanged="unchanged"})(Zd||(mt.DocumentDiagnosticReportKind=Zd={}));var ef;(function(t){t.method="textDocument/diagnostic",t.messageDirection=ni.MessageDirection.clientToServer,t.type=new ni.ProtocolRequestType(t.method),t.partialResult=new yp.ProgressType})(ef||(mt.DocumentDiagnosticRequest=ef={}));var tf;(function(t){t.method="workspace/diagnostic",t.messageDirection=ni.MessageDirection.clientToServer,t.type=new ni.ProtocolRequestType(t.method),t.partialResult=new yp.ProgressType})(tf||(mt.WorkspaceDiagnosticRequest=tf={}));var nf;(function(t){t.method="workspace/diagnostic/refresh",t.messageDirection=ni.MessageDirection.serverToClient,t.type=new ni.ProtocolRequestType0(t.method)})(nf||(mt.DiagnosticRefreshRequest=nf={}));var ve={};Object.defineProperty(ve,"__esModule",{value:!0});ve.DidCloseNotebookDocumentNotification=ve.DidSaveNotebookDocumentNotification=ve.DidChangeNotebookDocumentNotification=ve.NotebookCellArrayChange=ve.DidOpenNotebookDocumentNotification=ve.NotebookDocumentSyncRegistrationType=ve.NotebookDocument=ve.NotebookCell=ve.ExecutionSummary=ve.NotebookCellKind=void 0;const ns=Vl,kt=Ee,Gt=H;var ll;(function(t){t.Markup=1,t.Code=2;function e(n){return n===1||n===2}t.is=e})(ll||(ve.NotebookCellKind=ll={}));var ul;(function(t){function e(i,s){const a={executionOrder:i};return(s===!0||s===!1)&&(a.success=s),a}t.create=e;function n(i){const s=i;return kt.objectLiteral(s)&&ns.uinteger.is(s.executionOrder)&&(s.success===void 0||kt.boolean(s.success))}t.is=n;function r(i,s){return i===s?!0:i==null||s===null||s===void 0?!1:i.executionOrder===s.executionOrder&&i.success===s.success}t.equals=r})(ul||(ve.ExecutionSummary=ul={}));var La;(function(t){function e(s,a){return{kind:s,document:a}}t.create=e;function n(s){const a=s;return kt.objectLiteral(a)&&ll.is(a.kind)&&ns.DocumentUri.is(a.document)&&(a.metadata===void 0||kt.objectLiteral(a.metadata))}t.is=n;function r(s,a){const o=new Set;return s.document!==a.document&&o.add("document"),s.kind!==a.kind&&o.add("kind"),s.executionSummary!==a.executionSummary&&o.add("executionSummary"),(s.metadata!==void 0||a.metadata!==void 0)&&!i(s.metadata,a.metadata)&&o.add("metadata"),(s.executionSummary!==void 0||a.executionSummary!==void 0)&&!ul.equals(s.executionSummary,a.executionSummary)&&o.add("executionSummary"),o}t.diff=r;function i(s,a){if(s===a)return!0;if(s==null||a===null||a===void 0||typeof s!=typeof a||typeof s!="object")return!1;const o=Array.isArray(s),c=Array.isArray(a);if(o!==c)return!1;if(o&&c){if(s.length!==a.length)return!1;for(let l=0;l<s.length;l++)if(!i(s[l],a[l]))return!1}if(kt.objectLiteral(s)&&kt.objectLiteral(a)){const l=Object.keys(s),u=Object.keys(a);if(l.length!==u.length||(l.sort(),u.sort(),!i(l,u)))return!1;for(let f=0;f<l.length;f++){const m=l[f];if(!i(s[m],a[m]))return!1}}return!0}})(La||(ve.NotebookCell=La={}));var rf;(function(t){function e(r,i,s,a){return{uri:r,notebookType:i,version:s,cells:a}}t.create=e;function n(r){const i=r;return kt.objectLiteral(i)&&kt.string(i.uri)&&ns.integer.is(i.version)&&kt.typedArray(i.cells,La.is)}t.is=n})(rf||(ve.NotebookDocument=rf={}));var ri;(function(t){t.method="notebookDocument/sync",t.messageDirection=Gt.MessageDirection.clientToServer,t.type=new Gt.RegistrationType(t.method)})(ri||(ve.NotebookDocumentSyncRegistrationType=ri={}));var sf;(function(t){t.method="notebookDocument/didOpen",t.messageDirection=Gt.MessageDirection.clientToServer,t.type=new Gt.ProtocolNotificationType(t.method),t.registrationMethod=ri.method})(sf||(ve.DidOpenNotebookDocumentNotification=sf={}));var af;(function(t){function e(r){const i=r;return kt.objectLiteral(i)&&ns.uinteger.is(i.start)&&ns.uinteger.is(i.deleteCount)&&(i.cells===void 0||kt.typedArray(i.cells,La.is))}t.is=e;function n(r,i,s){const a={start:r,deleteCount:i};return s!==void 0&&(a.cells=s),a}t.create=n})(af||(ve.NotebookCellArrayChange=af={}));var of;(function(t){t.method="notebookDocument/didChange",t.messageDirection=Gt.MessageDirection.clientToServer,t.type=new Gt.ProtocolNotificationType(t.method),t.registrationMethod=ri.method})(of||(ve.DidChangeNotebookDocumentNotification=of={}));var cf;(function(t){t.method="notebookDocument/didSave",t.messageDirection=Gt.MessageDirection.clientToServer,t.type=new Gt.ProtocolNotificationType(t.method),t.registrationMethod=ri.method})(cf||(ve.DidSaveNotebookDocumentNotification=cf={}));var lf;(function(t){t.method="notebookDocument/didClose",t.messageDirection=Gt.MessageDirection.clientToServer,t.type=new Gt.ProtocolNotificationType(t.method),t.registrationMethod=ri.method})(lf||(ve.DidCloseNotebookDocumentNotification=lf={}));var io={};Object.defineProperty(io,"__esModule",{value:!0});io.InlineCompletionRequest=void 0;const uf=H;var df;(function(t){t.method="textDocument/inlineCompletion",t.messageDirection=uf.MessageDirection.clientToServer,t.type=new uf.ProtocolRequestType(t.method)})(df||(io.InlineCompletionRequest=df={}));(function(t){Object.defineProperty(t,"__esModule",{value:!0}),t.WorkspaceSymbolRequest=t.CodeActionResolveRequest=t.CodeActionRequest=t.DocumentSymbolRequest=t.DocumentHighlightRequest=t.ReferencesRequest=t.DefinitionRequest=t.SignatureHelpRequest=t.SignatureHelpTriggerKind=t.HoverRequest=t.CompletionResolveRequest=t.CompletionRequest=t.CompletionTriggerKind=t.PublishDiagnosticsNotification=t.WatchKind=t.RelativePattern=t.FileChangeType=t.DidChangeWatchedFilesNotification=t.WillSaveTextDocumentWaitUntilRequest=t.WillSaveTextDocumentNotification=t.TextDocumentSaveReason=t.DidSaveTextDocumentNotification=t.DidCloseTextDocumentNotification=t.DidChangeTextDocumentNotification=t.TextDocumentContentChangeEvent=t.DidOpenTextDocumentNotification=t.TextDocumentSyncKind=t.TelemetryEventNotification=t.LogMessageNotification=t.ShowMessageRequest=t.ShowMessageNotification=t.MessageType=t.DidChangeConfigurationNotification=t.ExitNotification=t.ShutdownRequest=t.InitializedNotification=t.InitializeErrorCodes=t.InitializeRequest=t.WorkDoneProgressOptions=t.TextDocumentRegistrationOptions=t.StaticRegistrationOptions=t.PositionEncodingKind=t.FailureHandlingKind=t.ResourceOperationKind=t.UnregistrationRequest=t.RegistrationRequest=t.DocumentSelector=t.NotebookCellTextDocumentFilter=t.NotebookDocumentFilter=t.TextDocumentFilter=void 0,t.MonikerRequest=t.MonikerKind=t.UniquenessLevel=t.WillDeleteFilesRequest=t.DidDeleteFilesNotification=t.WillRenameFilesRequest=t.DidRenameFilesNotification=t.WillCreateFilesRequest=t.DidCreateFilesNotification=t.FileOperationPatternKind=t.LinkedEditingRangeRequest=t.ShowDocumentRequest=t.SemanticTokensRegistrationType=t.SemanticTokensRefreshRequest=t.SemanticTokensRangeRequest=t.SemanticTokensDeltaRequest=t.SemanticTokensRequest=t.TokenFormat=t.CallHierarchyPrepareRequest=t.CallHierarchyOutgoingCallsRequest=t.CallHierarchyIncomingCallsRequest=t.WorkDoneProgressCancelNotification=t.WorkDoneProgressCreateRequest=t.WorkDoneProgress=t.SelectionRangeRequest=t.DeclarationRequest=t.FoldingRangeRefreshRequest=t.FoldingRangeRequest=t.ColorPresentationRequest=t.DocumentColorRequest=t.ConfigurationRequest=t.DidChangeWorkspaceFoldersNotification=t.WorkspaceFoldersRequest=t.TypeDefinitionRequest=t.ImplementationRequest=t.ApplyWorkspaceEditRequest=t.ExecuteCommandRequest=t.PrepareRenameRequest=t.RenameRequest=t.PrepareSupportDefaultBehavior=t.DocumentOnTypeFormattingRequest=t.DocumentRangesFormattingRequest=t.DocumentRangeFormattingRequest=t.DocumentFormattingRequest=t.DocumentLinkResolveRequest=t.DocumentLinkRequest=t.CodeLensRefreshRequest=t.CodeLensResolveRequest=t.CodeLensRequest=t.WorkspaceSymbolResolveRequest=void 0,t.InlineCompletionRequest=t.DidCloseNotebookDocumentNotification=t.DidSaveNotebookDocumentNotification=t.DidChangeNotebookDocumentNotification=t.NotebookCellArrayChange=t.DidOpenNotebookDocumentNotification=t.NotebookDocumentSyncRegistrationType=t.NotebookDocument=t.NotebookCell=t.ExecutionSummary=t.NotebookCellKind=t.DiagnosticRefreshRequest=t.WorkspaceDiagnosticRequest=t.DocumentDiagnosticRequest=t.DocumentDiagnosticReportKind=t.DiagnosticServerCancellationData=t.InlayHintRefreshRequest=t.InlayHintResolveRequest=t.InlayHintRequest=t.InlineValueRefreshRequest=t.InlineValueRequest=t.TypeHierarchySupertypesRequest=t.TypeHierarchySubtypesRequest=t.TypeHierarchyPrepareRequest=void 0;const e=H,n=Vl,r=Ee,i=Ja;Object.defineProperty(t,"ImplementationRequest",{enumerable:!0,get:function(){return i.ImplementationRequest}});const s=Qa;Object.defineProperty(t,"TypeDefinitionRequest",{enumerable:!0,get:function(){return s.TypeDefinitionRequest}});const a=Yr;Object.defineProperty(t,"WorkspaceFoldersRequest",{enumerable:!0,get:function(){return a.WorkspaceFoldersRequest}}),Object.defineProperty(t,"DidChangeWorkspaceFoldersNotification",{enumerable:!0,get:function(){return a.DidChangeWorkspaceFoldersNotification}});const o=Za;Object.defineProperty(t,"ConfigurationRequest",{enumerable:!0,get:function(){return o.ConfigurationRequest}});const c=Xr;Object.defineProperty(t,"DocumentColorRequest",{enumerable:!0,get:function(){return c.DocumentColorRequest}}),Object.defineProperty(t,"ColorPresentationRequest",{enumerable:!0,get:function(){return c.ColorPresentationRequest}});const l=Jr;Object.defineProperty(t,"FoldingRangeRequest",{enumerable:!0,get:function(){return l.FoldingRangeRequest}}),Object.defineProperty(t,"FoldingRangeRefreshRequest",{enumerable:!0,get:function(){return l.FoldingRangeRefreshRequest}});const u=eo;Object.defineProperty(t,"DeclarationRequest",{enumerable:!0,get:function(){return u.DeclarationRequest}});const f=to;Object.defineProperty(t,"SelectionRangeRequest",{enumerable:!0,get:function(){return f.SelectionRangeRequest}});const m=pn;Object.defineProperty(t,"WorkDoneProgress",{enumerable:!0,get:function(){return m.WorkDoneProgress}}),Object.defineProperty(t,"WorkDoneProgressCreateRequest",{enumerable:!0,get:function(){return m.WorkDoneProgressCreateRequest}}),Object.defineProperty(t,"WorkDoneProgressCancelNotification",{enumerable:!0,get:function(){return m.WorkDoneProgressCancelNotification}});const g=mn;Object.defineProperty(t,"CallHierarchyIncomingCallsRequest",{enumerable:!0,get:function(){return g.CallHierarchyIncomingCallsRequest}}),Object.defineProperty(t,"CallHierarchyOutgoingCallsRequest",{enumerable:!0,get:function(){return g.CallHierarchyOutgoingCallsRequest}}),Object.defineProperty(t,"CallHierarchyPrepareRequest",{enumerable:!0,get:function(){return g.CallHierarchyPrepareRequest}});const A=Ze;Object.defineProperty(t,"TokenFormat",{enumerable:!0,get:function(){return A.TokenFormat}}),Object.defineProperty(t,"SemanticTokensRequest",{enumerable:!0,get:function(){return A.SemanticTokensRequest}}),Object.defineProperty(t,"SemanticTokensDeltaRequest",{enumerable:!0,get:function(){return A.SemanticTokensDeltaRequest}}),Object.defineProperty(t,"SemanticTokensRangeRequest",{enumerable:!0,get:function(){return A.SemanticTokensRangeRequest}}),Object.defineProperty(t,"SemanticTokensRefreshRequest",{enumerable:!0,get:function(){return A.SemanticTokensRefreshRequest}}),Object.defineProperty(t,"SemanticTokensRegistrationType",{enumerable:!0,get:function(){return A.SemanticTokensRegistrationType}});const N=no;Object.defineProperty(t,"ShowDocumentRequest",{enumerable:!0,get:function(){return N.ShowDocumentRequest}});const $=ro;Object.defineProperty(t,"LinkedEditingRangeRequest",{enumerable:!0,get:function(){return $.LinkedEditingRangeRequest}});const w=qe;Object.defineProperty(t,"FileOperationPatternKind",{enumerable:!0,get:function(){return w.FileOperationPatternKind}}),Object.defineProperty(t,"DidCreateFilesNotification",{enumerable:!0,get:function(){return w.DidCreateFilesNotification}}),Object.defineProperty(t,"WillCreateFilesRequest",{enumerable:!0,get:function(){return w.WillCreateFilesRequest}}),Object.defineProperty(t,"DidRenameFilesNotification",{enumerable:!0,get:function(){return w.DidRenameFilesNotification}}),Object.defineProperty(t,"WillRenameFilesRequest",{enumerable:!0,get:function(){return w.WillRenameFilesRequest}}),Object.defineProperty(t,"DidDeleteFilesNotification",{enumerable:!0,get:function(){return w.DidDeleteFilesNotification}}),Object.defineProperty(t,"WillDeleteFilesRequest",{enumerable:!0,get:function(){return w.WillDeleteFilesRequest}});const O=gn;Object.defineProperty(t,"UniquenessLevel",{enumerable:!0,get:function(){return O.UniquenessLevel}}),Object.defineProperty(t,"MonikerKind",{enumerable:!0,get:function(){return O.MonikerKind}}),Object.defineProperty(t,"MonikerRequest",{enumerable:!0,get:function(){return O.MonikerRequest}});const b=yn;Object.defineProperty(t,"TypeHierarchyPrepareRequest",{enumerable:!0,get:function(){return b.TypeHierarchyPrepareRequest}}),Object.defineProperty(t,"TypeHierarchySubtypesRequest",{enumerable:!0,get:function(){return b.TypeHierarchySubtypesRequest}}),Object.defineProperty(t,"TypeHierarchySupertypesRequest",{enumerable:!0,get:function(){return b.TypeHierarchySupertypesRequest}});const x=ei;Object.defineProperty(t,"InlineValueRequest",{enumerable:!0,get:function(){return x.InlineValueRequest}}),Object.defineProperty(t,"InlineValueRefreshRequest",{enumerable:!0,get:function(){return x.InlineValueRefreshRequest}});const X=Tn;Object.defineProperty(t,"InlayHintRequest",{enumerable:!0,get:function(){return X.InlayHintRequest}}),Object.defineProperty(t,"InlayHintResolveRequest",{enumerable:!0,get:function(){return X.InlayHintResolveRequest}}),Object.defineProperty(t,"InlayHintRefreshRequest",{enumerable:!0,get:function(){return X.InlayHintRefreshRequest}});const te=mt;Object.defineProperty(t,"DiagnosticServerCancellationData",{enumerable:!0,get:function(){return te.DiagnosticServerCancellationData}}),Object.defineProperty(t,"DocumentDiagnosticReportKind",{enumerable:!0,get:function(){return te.DocumentDiagnosticReportKind}}),Object.defineProperty(t,"DocumentDiagnosticRequest",{enumerable:!0,get:function(){return te.DocumentDiagnosticRequest}}),Object.defineProperty(t,"WorkspaceDiagnosticRequest",{enumerable:!0,get:function(){return te.WorkspaceDiagnosticRequest}}),Object.defineProperty(t,"DiagnosticRefreshRequest",{enumerable:!0,get:function(){return te.DiagnosticRefreshRequest}});const ne=ve;Object.defineProperty(t,"NotebookCellKind",{enumerable:!0,get:function(){return ne.NotebookCellKind}}),Object.defineProperty(t,"ExecutionSummary",{enumerable:!0,get:function(){return ne.ExecutionSummary}}),Object.defineProperty(t,"NotebookCell",{enumerable:!0,get:function(){return ne.NotebookCell}}),Object.defineProperty(t,"NotebookDocument",{enumerable:!0,get:function(){return ne.NotebookDocument}}),Object.defineProperty(t,"NotebookDocumentSyncRegistrationType",{enumerable:!0,get:function(){return ne.NotebookDocumentSyncRegistrationType}}),Object.defineProperty(t,"DidOpenNotebookDocumentNotification",{enumerable:!0,get:function(){return ne.DidOpenNotebookDocumentNotification}}),Object.defineProperty(t,"NotebookCellArrayChange",{enumerable:!0,get:function(){return ne.NotebookCellArrayChange}}),Object.defineProperty(t,"DidChangeNotebookDocumentNotification",{enumerable:!0,get:function(){return ne.DidChangeNotebookDocumentNotification}}),Object.defineProperty(t,"DidSaveNotebookDocumentNotification",{enumerable:!0,get:function(){return ne.DidSaveNotebookDocumentNotification}}),Object.defineProperty(t,"DidCloseNotebookDocumentNotification",{enumerable:!0,get:function(){return ne.DidCloseNotebookDocumentNotification}});const ye=io;Object.defineProperty(t,"InlineCompletionRequest",{enumerable:!0,get:function(){return ye.InlineCompletionRequest}});var Ce;(function(d){function ke(Ne){const V=Ne;return r.string(V)||r.string(V.language)||r.string(V.scheme)||r.string(V.pattern)}d.is=ke})(Ce||(t.TextDocumentFilter=Ce={}));var de;(function(d){function ke(Ne){const V=Ne;return r.objectLiteral(V)&&(r.string(V.notebookType)||r.string(V.scheme)||r.string(V.pattern))}d.is=ke})(de||(t.NotebookDocumentFilter=de={}));var k;(function(d){function ke(Ne){const V=Ne;return r.objectLiteral(V)&&(r.string(V.notebook)||de.is(V.notebook))&&(V.language===void 0||r.string(V.language))}d.is=ke})(k||(t.NotebookCellTextDocumentFilter=k={}));var R;(function(d){function ke(Ne){if(!Array.isArray(Ne))return!1;for(let V of Ne)if(!r.string(V)&&!Ce.is(V)&&!k.is(V))return!1;return!0}d.is=ke})(R||(t.DocumentSelector=R={}));var p;(function(d){d.method="client/registerCapability",d.messageDirection=e.MessageDirection.serverToClient,d.type=new e.ProtocolRequestType(d.method)})(p||(t.RegistrationRequest=p={}));var S;(function(d){d.method="client/unregisterCapability",d.messageDirection=e.MessageDirection.serverToClient,d.type=new e.ProtocolRequestType(d.method)})(S||(t.UnregistrationRequest=S={}));var y;(function(d){d.Create="create",d.Rename="rename",d.Delete="delete"})(y||(t.ResourceOperationKind=y={}));var T;(function(d){d.Abort="abort",d.Transactional="transactional",d.TextOnlyTransactional="textOnlyTransactional",d.Undo="undo"})(T||(t.FailureHandlingKind=T={}));var E;(function(d){d.UTF8="utf-8",d.UTF16="utf-16",d.UTF32="utf-32"})(E||(t.PositionEncodingKind=E={}));var P;(function(d){function ke(Ne){const V=Ne;return V&&r.string(V.id)&&V.id.length>0}d.hasId=ke})(P||(t.StaticRegistrationOptions=P={}));var D;(function(d){function ke(Ne){const V=Ne;return V&&(V.documentSelector===null||R.is(V.documentSelector))}d.is=ke})(D||(t.TextDocumentRegistrationOptions=D={}));var L;(function(d){function ke(V){const h=V;return r.objectLiteral(h)&&(h.workDoneProgress===void 0||r.boolean(h.workDoneProgress))}d.is=ke;function Ne(V){const h=V;return h&&r.boolean(h.workDoneProgress)}d.hasWorkDoneProgress=Ne})(L||(t.WorkDoneProgressOptions=L={}));var z;(function(d){d.method="initialize",d.messageDirection=e.MessageDirection.clientToServer,d.type=new e.ProtocolRequestType(d.method)})(z||(t.InitializeRequest=z={}));var G;(function(d){d.unknownProtocolVersion=1})(G||(t.InitializeErrorCodes=G={}));var se;(function(d){d.method="initialized",d.messageDirection=e.MessageDirection.clientToServer,d.type=new e.ProtocolNotificationType(d.method)})(se||(t.InitializedNotification=se={}));var q;(function(d){d.method="shutdown",d.messageDirection=e.MessageDirection.clientToServer,d.type=new e.ProtocolRequestType0(d.method)})(q||(t.ShutdownRequest=q={}));var re;(function(d){d.method="exit",d.messageDirection=e.MessageDirection.clientToServer,d.type=new e.ProtocolNotificationType0(d.method)})(re||(t.ExitNotification=re={}));var xe;(function(d){d.method="workspace/didChangeConfiguration",d.messageDirection=e.MessageDirection.clientToServer,d.type=new e.ProtocolNotificationType(d.method)})(xe||(t.DidChangeConfigurationNotification=xe={}));var Te;(function(d){d.Error=1,d.Warning=2,d.Info=3,d.Log=4,d.Debug=5})(Te||(t.MessageType=Te={}));var fe;(function(d){d.method="window/showMessage",d.messageDirection=e.MessageDirection.serverToClient,d.type=new e.ProtocolNotificationType(d.method)})(fe||(t.ShowMessageNotification=fe={}));var $e;(function(d){d.method="window/showMessageRequest",d.messageDirection=e.MessageDirection.serverToClient,d.type=new e.ProtocolRequestType(d.method)})($e||(t.ShowMessageRequest=$e={}));var De;(function(d){d.method="window/logMessage",d.messageDirection=e.MessageDirection.serverToClient,d.type=new e.ProtocolNotificationType(d.method)})(De||(t.LogMessageNotification=De={}));var be;(function(d){d.method="telemetry/event",d.messageDirection=e.MessageDirection.serverToClient,d.type=new e.ProtocolNotificationType(d.method)})(be||(t.TelemetryEventNotification=be={}));var Q;(function(d){d.None=0,d.Full=1,d.Incremental=2})(Q||(t.TextDocumentSyncKind=Q={}));var st;(function(d){d.method="textDocument/didOpen",d.messageDirection=e.MessageDirection.clientToServer,d.type=new e.ProtocolNotificationType(d.method)})(st||(t.DidOpenTextDocumentNotification=st={}));var Re;(function(d){function ke(V){let h=V;return h!=null&&typeof h.text=="string"&&h.range!==void 0&&(h.rangeLength===void 0||typeof h.rangeLength=="number")}d.isIncremental=ke;function Ne(V){let h=V;return h!=null&&typeof h.text=="string"&&h.range===void 0&&h.rangeLength===void 0}d.isFull=Ne})(Re||(t.TextDocumentContentChangeEvent=Re={}));var Rt;(function(d){d.method="textDocument/didChange",d.messageDirection=e.MessageDirection.clientToServer,d.type=new e.ProtocolNotificationType(d.method)})(Rt||(t.DidChangeTextDocumentNotification=Rt={}));var er;(function(d){d.method="textDocument/didClose",d.messageDirection=e.MessageDirection.clientToServer,d.type=new e.ProtocolNotificationType(d.method)})(er||(t.DidCloseTextDocumentNotification=er={}));var li;(function(d){d.method="textDocument/didSave",d.messageDirection=e.MessageDirection.clientToServer,d.type=new e.ProtocolNotificationType(d.method)})(li||(t.DidSaveTextDocumentNotification=li={}));var ui;(function(d){d.Manual=1,d.AfterDelay=2,d.FocusOut=3})(ui||(t.TextDocumentSaveReason=ui={}));var di;(function(d){d.method="textDocument/willSave",d.messageDirection=e.MessageDirection.clientToServer,d.type=new e.ProtocolNotificationType(d.method)})(di||(t.WillSaveTextDocumentNotification=di={}));var fi;(function(d){d.method="textDocument/willSaveWaitUntil",d.messageDirection=e.MessageDirection.clientToServer,d.type=new e.ProtocolRequestType(d.method)})(fi||(t.WillSaveTextDocumentWaitUntilRequest=fi={}));var vt;(function(d){d.method="workspace/didChangeWatchedFiles",d.messageDirection=e.MessageDirection.clientToServer,d.type=new e.ProtocolNotificationType(d.method)})(vt||(t.DidChangeWatchedFilesNotification=vt={}));var hi;(function(d){d.Created=1,d.Changed=2,d.Deleted=3})(hi||(t.FileChangeType=hi={}));var hs;(function(d){function ke(Ne){const V=Ne;return r.objectLiteral(V)&&(n.URI.is(V.baseUri)||n.WorkspaceFolder.is(V.baseUri))&&r.string(V.pattern)}d.is=ke})(hs||(t.RelativePattern=hs={}));var ps;(function(d){d.Create=1,d.Change=2,d.Delete=4})(ps||(t.WatchKind=ps={}));var ms;(function(d){d.method="textDocument/publishDiagnostics",d.messageDirection=e.MessageDirection.serverToClient,d.type=new e.ProtocolNotificationType(d.method)})(ms||(t.PublishDiagnosticsNotification=ms={}));var gs;(function(d){d.Invoked=1,d.TriggerCharacter=2,d.TriggerForIncompleteCompletions=3})(gs||(t.CompletionTriggerKind=gs={}));var pi;(function(d){d.method="textDocument/completion",d.messageDirection=e.MessageDirection.clientToServer,d.type=new e.ProtocolRequestType(d.method)})(pi||(t.CompletionRequest=pi={}));var mi;(function(d){d.method="completionItem/resolve",d.messageDirection=e.MessageDirection.clientToServer,d.type=new e.ProtocolRequestType(d.method)})(mi||(t.CompletionResolveRequest=mi={}));var jt;(function(d){d.method="textDocument/hover",d.messageDirection=e.MessageDirection.clientToServer,d.type=new e.ProtocolRequestType(d.method)})(jt||(t.HoverRequest=jt={}));var gi;(function(d){d.Invoked=1,d.TriggerCharacter=2,d.ContentChange=3})(gi||(t.SignatureHelpTriggerKind=gi={}));var ys;(function(d){d.method="textDocument/signatureHelp",d.messageDirection=e.MessageDirection.clientToServer,d.type=new e.ProtocolRequestType(d.method)})(ys||(t.SignatureHelpRequest=ys={}));var Ts;(function(d){d.method="textDocument/definition",d.messageDirection=e.MessageDirection.clientToServer,d.type=new e.ProtocolRequestType(d.method)})(Ts||(t.DefinitionRequest=Ts={}));var yi;(function(d){d.method="textDocument/references",d.messageDirection=e.MessageDirection.clientToServer,d.type=new e.ProtocolRequestType(d.method)})(yi||(t.ReferencesRequest=yi={}));var Ti;(function(d){d.method="textDocument/documentHighlight",d.messageDirection=e.MessageDirection.clientToServer,d.type=new e.ProtocolRequestType(d.method)})(Ti||(t.DocumentHighlightRequest=Ti={}));var Rs;(function(d){d.method="textDocument/documentSymbol",d.messageDirection=e.MessageDirection.clientToServer,d.type=new e.ProtocolRequestType(d.method)})(Rs||(t.DocumentSymbolRequest=Rs={}));var vs;(function(d){d.method="textDocument/codeAction",d.messageDirection=e.MessageDirection.clientToServer,d.type=new e.ProtocolRequestType(d.method)})(vs||(t.CodeActionRequest=vs={}));var Es;(function(d){d.method="codeAction/resolve",d.messageDirection=e.MessageDirection.clientToServer,d.type=new e.ProtocolRequestType(d.method)})(Es||(t.CodeActionResolveRequest=Es={}));var As;(function(d){d.method="workspace/symbol",d.messageDirection=e.MessageDirection.clientToServer,d.type=new e.ProtocolRequestType(d.method)})(As||(t.WorkspaceSymbolRequest=As={}));var Ss;(function(d){d.method="workspaceSymbol/resolve",d.messageDirection=e.MessageDirection.clientToServer,d.type=new e.ProtocolRequestType(d.method)})(Ss||(t.WorkspaceSymbolResolveRequest=Ss={}));var Cs;(function(d){d.method="textDocument/codeLens",d.messageDirection=e.MessageDirection.clientToServer,d.type=new e.ProtocolRequestType(d.method)})(Cs||(t.CodeLensRequest=Cs={}));var Et;(function(d){d.method="codeLens/resolve",d.messageDirection=e.MessageDirection.clientToServer,d.type=new e.ProtocolRequestType(d.method)})(Et||(t.CodeLensResolveRequest=Et={}));var ks;(function(d){d.method="workspace/codeLens/refresh",d.messageDirection=e.MessageDirection.serverToClient,d.type=new e.ProtocolRequestType0(d.method)})(ks||(t.CodeLensRefreshRequest=ks={}));var Ns;(function(d){d.method="textDocument/documentLink",d.messageDirection=e.MessageDirection.clientToServer,d.type=new e.ProtocolRequestType(d.method)})(Ns||(t.DocumentLinkRequest=Ns={}));var _n;(function(d){d.method="documentLink/resolve",d.messageDirection=e.MessageDirection.clientToServer,d.type=new e.ProtocolRequestType(d.method)})(_n||(t.DocumentLinkResolveRequest=_n={}));var ws;(function(d){d.method="textDocument/formatting",d.messageDirection=e.MessageDirection.clientToServer,d.type=new e.ProtocolRequestType(d.method)})(ws||(t.DocumentFormattingRequest=ws={}));var tr;(function(d){d.method="textDocument/rangeFormatting",d.messageDirection=e.MessageDirection.clientToServer,d.type=new e.ProtocolRequestType(d.method)})(tr||(t.DocumentRangeFormattingRequest=tr={}));var bs;(function(d){d.method="textDocument/rangesFormatting",d.messageDirection=e.MessageDirection.clientToServer,d.type=new e.ProtocolRequestType(d.method)})(bs||(t.DocumentRangesFormattingRequest=bs={}));var zt;(function(d){d.method="textDocument/onTypeFormatting",d.messageDirection=e.MessageDirection.clientToServer,d.type=new e.ProtocolRequestType(d.method)})(zt||(t.DocumentOnTypeFormattingRequest=zt={}));var ln;(function(d){d.Identifier=1})(ln||(t.PrepareSupportDefaultBehavior=ln={}));var _s;(function(d){d.method="textDocument/rename",d.messageDirection=e.MessageDirection.clientToServer,d.type=new e.ProtocolRequestType(d.method)})(_s||(t.RenameRequest=_s={}));var Is;(function(d){d.method="textDocument/prepareRename",d.messageDirection=e.MessageDirection.clientToServer,d.type=new e.ProtocolRequestType(d.method)})(Is||(t.PrepareRenameRequest=Is={}));var un;(function(d){d.method="workspace/executeCommand",d.messageDirection=e.MessageDirection.clientToServer,d.type=new e.ProtocolRequestType(d.method)})(un||(t.ExecuteCommandRequest=un={}));var Ri;(function(d){d.method="workspace/applyEdit",d.messageDirection=e.MessageDirection.serverToClient,d.type=new e.ProtocolRequestType("workspace/applyEdit")})(Ri||(t.ApplyWorkspaceEditRequest=Ri={}))})(pp);var so={};Object.defineProperty(so,"__esModule",{value:!0});so.createProtocolConnection=void 0;const ff=Jn;function Qv(t,e,n,r){return ff.ConnectionStrategy.is(r)&&(r={connectionStrategy:r}),(0,ff.createMessageConnection)(t,e,n,r)}so.createProtocolConnection=Qv;(function(t){var e=gt&&gt.__createBinding||(Object.create?function(s,a,o,c){c===void 0&&(c=o);var l=Object.getOwnPropertyDescriptor(a,o);(!l||("get"in l?!a.__esModule:l.writable||l.configurable))&&(l={enumerable:!0,get:function(){return a[o]}}),Object.defineProperty(s,c,l)}:function(s,a,o,c){c===void 0&&(c=o),s[c]=a[o]}),n=gt&&gt.__exportStar||function(s,a){for(var o in s)o!=="default"&&!Object.prototype.hasOwnProperty.call(a,o)&&e(a,s,o)};Object.defineProperty(t,"__esModule",{value:!0}),t.LSPErrorCodes=t.createProtocolConnection=void 0,n(Jn,t),n(Vl,t),n(H,t),n(pp,t);var r=so;Object.defineProperty(t,"createProtocolConnection",{enumerable:!0,get:function(){return r.createProtocolConnection}});var i;(function(s){s.lspReservedErrorRangeStart=-32899,s.RequestFailed=-32803,s.ServerCancelled=-32802,s.ContentModified=-32801,s.RequestCancelled=-32800,s.lspReservedErrorRangeEnd=-32800})(i||(t.LSPErrorCodes=i={}))})(hp);(function(t){var e=gt&&gt.__createBinding||(Object.create?function(s,a,o,c){c===void 0&&(c=o);var l=Object.getOwnPropertyDescriptor(a,o);(!l||("get"in l?!a.__esModule:l.writable||l.configurable))&&(l={enumerable:!0,get:function(){return a[o]}}),Object.defineProperty(s,c,l)}:function(s,a,o,c){c===void 0&&(c=o),s[c]=a[o]}),n=gt&&gt.__exportStar||function(s,a){for(var o in s)o!=="default"&&!Object.prototype.hasOwnProperty.call(a,o)&&e(a,s,o)};Object.defineProperty(t,"__esModule",{value:!0}),t.createProtocolConnection=void 0;const r=ed;n(ed,t),n(hp,t);function i(s,a,o,c){return(0,r.createMessageConnection)(s,a,o,c)}t.createProtocolConnection=i})(Ui);var zi;(function(t){function e(n){return{dispose:async()=>await n()}}t.create=e})(zi||(zi={}));class Zv{constructor(e){this.updateBuildOptions={validation:{categories:["built-in","fast"]}},this.updateListeners=[],this.buildPhaseListeners=new es,this.documentPhaseListeners=new es,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.fileSystemProvider=e.workspace.FileSystemProvider,this.workspaceManager=()=>e.workspace.WorkspaceManager,this.serviceRegistry=e.ServiceRegistry}async build(e,n={},r=ge.None){var i;for(const s of e){const a=s.uri.toString();if(s.state===K.Validated){if(typeof n.validation=="boolean"&&n.validation)this.resetToState(s,K.IndexedReferences);else if(typeof n.validation=="object"){const o=this.findMissingValidationCategories(s,n);o.length>0&&(this.buildState.set(a,{completed:!1,options:{validation:{categories:o}},result:(i=this.buildState.get(a))==null?void 0:i.result}),s.state=K.IndexedReferences)}}else this.buildState.delete(a)}this.currentState=K.Changed,await this.emitUpdate(e.map(s=>s.uri),[]),await this.buildDocuments(e,n,r)}async update(e,n,r=ge.None){this.currentState=K.Changed;const i=[];for(const c of n){const l=this.langiumDocuments.deleteDocuments(c);for(const u of l)i.push(u.uri),this.cleanUpDeleted(u)}const s=(await Promise.all(e.map(c=>this.findChangedUris(c)))).flat();for(const c of s){let l=this.langiumDocuments.getDocument(c);l===void 0&&(l=this.langiumDocumentFactory.fromModel({$type:"INVALID"},c),l.state=K.Changed,this.langiumDocuments.addDocument(l)),this.resetToState(l,K.Changed)}const a=pe(s).concat(i).map(c=>c.toString()).toSet();this.langiumDocuments.all.filter(c=>!a.has(c.uri.toString())&&this.shouldRelink(c,a)).forEach(c=>this.resetToState(c,K.ComputedScopes)),await this.emitUpdate(s,i),await He(r);const o=this.sortDocuments(this.langiumDocuments.all.filter(c=>{var l;return c.state<K.Validated||!((l=this.buildState.get(c.uri.toString()))!=null&&l.completed)||this.resultsAreIncomplete(c,this.updateBuildOptions)}).toArray());await this.buildDocuments(o,this.updateBuildOptions,r)}resultsAreIncomplete(e,n){return this.findMissingValidationCategories(e,n).length>=1}findMissingValidationCategories(e,n){var o,c;const r=this.buildState.get(e.uri.toString()),i=this.serviceRegistry.getServices(e.uri).validation.ValidationRegistry.getAllValidationCategories(e),s=(o=r==null?void 0:r.result)!=null&&o.validationChecks?new Set((c=r==null?void 0:r.result)==null?void 0:c.validationChecks):r!=null&&r.completed?i:new Set,a=n===void 0||n.validation===!0?i:typeof n.validation=="object"?n.validation.categories??i:[];return pe(a).filter(l=>!s.has(l)).toArray()}async findChangedUris(e){var r;if(this.langiumDocuments.getDocument(e)??((r=this.textDocuments)==null?void 0:r.get(e)))return[e];try{const i=await this.fileSystemProvider.stat(e);if(i.isDirectory)return await this.workspaceManager().searchFolder(e);if(this.workspaceManager().shouldIncludeEntry(i))return[e]}catch{}return[]}async emitUpdate(e,n){await Promise.all(this.updateListeners.map(r=>r(e,n)))}sortDocuments(e){let n=0,r=e.length-1;for(;n<r;){for(;n<e.length&&this.hasTextDocument(e[n]);)n++;for(;r>=0&&!this.hasTextDocument(e[r]);)r--;n<r&&([e[n],e[r]]=[e[r],e[n]])}return e}hasTextDocument(e){var n;return!!((n=this.textDocuments)!=null&&n.get(e.uri))}shouldRelink(e,n){return e.references.some(r=>r.error!==void 0)?!0:this.indexManager.isAffected(e,n)}onUpdate(e){return this.updateListeners.push(e),zi.create(()=>{const n=this.updateListeners.indexOf(e);n>=0&&this.updateListeners.splice(n,1)})}resetToState(e,n){switch(n){case K.Changed:case K.Parsed:this.indexManager.removeContent(e.uri);case K.IndexedContent:e.localSymbols=void 0;case K.ComputedScopes:this.serviceRegistry.getServices(e.uri).references.Linker.unlink(e);case K.Linked:this.indexManager.removeReferences(e.uri);case K.IndexedReferences:e.diagnostics=void 0,this.buildState.delete(e.uri.toString());case K.Validated:}e.state>n&&(e.state=n)}cleanUpDeleted(e){this.buildState.delete(e.uri.toString()),this.indexManager.remove(e.uri),e.state=K.Changed}async buildDocuments(e,n,r){this.prepareBuild(e,n),await this.runCancelable(e,K.Parsed,r,a=>this.langiumDocumentFactory.update(a,r)),await this.runCancelable(e,K.IndexedContent,r,a=>this.indexManager.updateContent(a,r)),await this.runCancelable(e,K.ComputedScopes,r,async a=>{const o=this.serviceRegistry.getServices(a.uri).references.ScopeComputation;a.localSymbols=await o.collectLocalSymbols(a,r)});const i=e.filter(a=>this.shouldLink(a));await this.runCancelable(i,K.Linked,r,a=>this.serviceRegistry.getServices(a.uri).references.Linker.link(a,r)),await this.runCancelable(i,K.IndexedReferences,r,a=>this.indexManager.updateReferences(a,r));const s=e.filter(a=>this.shouldValidate(a)?!0:(this.markAsCompleted(a),!1));await this.runCancelable(s,K.Validated,r,async a=>{await this.validate(a,r),this.markAsCompleted(a)})}markAsCompleted(e){const n=this.buildState.get(e.uri.toString());n&&(n.completed=!0)}prepareBuild(e,n){for(const r of e){const i=r.uri.toString(),s=this.buildState.get(i);(!s||s.completed)&&this.buildState.set(i,{completed:!1,options:n,result:s==null?void 0:s.result})}}async runCancelable(e,n,r,i){for(const a of e)a.state<n&&(await He(r),await i(a),a.state=n,await this.notifyDocumentPhase(a,n,r));const s=e.filter(a=>a.state===n);await this.notifyBuildPhase(s,n,r),this.currentState=n}onBuildPhase(e,n){return this.buildPhaseListeners.add(e,n),zi.create(()=>{this.buildPhaseListeners.delete(e,n)})}onDocumentPhase(e,n){return this.documentPhaseListeners.add(e,n),zi.create(()=>{this.documentPhaseListeners.delete(e,n)})}waitUntil(e,n,r){let i;return n&&"path"in n?i=n:r=n,r??(r=ge.None),i?this.awaitDocumentState(e,i,r):this.awaitBuilderState(e,r)}awaitDocumentState(e,n,r){const i=this.langiumDocuments.getDocument(n);if(i){if(i.state>=e)return Promise.resolve(n);if(r.isCancellationRequested)return Promise.reject(Ar);if(this.currentState>=e&&e>i.state)return Promise.reject(new Ui.ResponseError(Ui.LSPErrorCodes.RequestFailed,`Document state of ${n.toString()} is ${K[i.state]}, requiring ${K[e]}, but workspace state is already ${K[this.currentState]}. Returning undefined.`))}else return Promise.reject(new Ui.ResponseError(Ui.LSPErrorCodes.ServerCancelled,`No document found for URI: ${n.toString()}`));return new Promise((s,a)=>{const o=this.onDocumentPhase(e,l=>{ct.equals(l.uri,n)&&(o.dispose(),c.dispose(),s(l.uri))}),c=r.onCancellationRequested(()=>{o.dispose(),c.dispose(),a(Ar)})})}awaitBuilderState(e,n){return this.currentState>=e?Promise.resolve():n.isCancellationRequested?Promise.reject(Ar):new Promise((r,i)=>{const s=this.onBuildPhase(e,()=>{s.dispose(),a.dispose(),r()}),a=n.onCancellationRequested(()=>{s.dispose(),a.dispose(),i(Ar)})})}async notifyDocumentPhase(e,n,r){const s=this.documentPhaseListeners.get(n).slice();for(const a of s)try{await He(r),await a(e,r)}catch(o){if(!Ya(o))throw o}}async notifyBuildPhase(e,n,r){if(e.length===0)return;const s=this.buildPhaseListeners.get(n).slice();for(const a of s)await He(r),await a(e,r)}shouldLink(e){return this.getBuildOptions(e).eagerLinking??!0}shouldValidate(e){return!!this.getBuildOptions(e).validation}async validate(e,n){const r=this.serviceRegistry.getServices(e.uri).validation.DocumentValidator,i=this.getBuildOptions(e),s=typeof i.validation=="object"?{...i.validation}:{};s.categories=this.findMissingValidationCategories(e,i);const a=await r.validateDocument(e,s,n);e.diagnostics?e.diagnostics.push(...a):e.diagnostics=a;const o=this.buildState.get(e.uri.toString());o&&(o.result??(o.result={}),o.result.validationChecks?o.result.validationChecks=pe(o.result.validationChecks).concat(s.categories).distinct().toArray():o.result.validationChecks=[...s.categories])}getBuildOptions(e){var n;return((n=this.buildState.get(e.uri.toString()))==null?void 0:n.options)??{}}}class eE{constructor(e){this.symbolIndex=new Map,this.symbolByTypeIndex=new pv,this.referenceIndex=new Map,this.documents=e.workspace.LangiumDocuments,this.serviceRegistry=e.ServiceRegistry,this.astReflection=e.AstReflection}findAllReferences(e,n){const r=Qt(e).uri,i=[];return this.referenceIndex.forEach(s=>{s.forEach(a=>{ct.equals(a.targetUri,r)&&a.targetPath===n&&i.push(a)})}),pe(i)}allElements(e,n){let r=pe(this.symbolIndex.keys());return n&&(r=r.filter(i=>!n||n.has(i))),r.map(i=>this.getFileDescriptions(i,e)).flat()}getFileDescriptions(e,n){return n?this.symbolByTypeIndex.get(e,n,()=>(this.symbolIndex.get(e)??[]).filter(s=>this.astReflection.isSubtype(s.type,n))):this.symbolIndex.get(e)??[]}remove(e){this.removeContent(e),this.removeReferences(e)}removeContent(e){const n=e.toString();this.symbolIndex.delete(n),this.symbolByTypeIndex.clear(n)}removeReferences(e){const n=e.toString();this.referenceIndex.delete(n)}async updateContent(e,n=ge.None){const i=await this.serviceRegistry.getServices(e.uri).references.ScopeComputation.collectExportedSymbols(e,n),s=e.uri.toString();this.symbolIndex.set(s,i),this.symbolByTypeIndex.clear(s)}async updateReferences(e,n=ge.None){const i=await this.serviceRegistry.getServices(e.uri).workspace.ReferenceDescriptionProvider.createDescriptions(e,n);this.referenceIndex.set(e.uri.toString(),i)}isAffected(e,n){const r=this.referenceIndex.get(e.uri.toString());return r?r.some(i=>!i.local&&n.has(i.targetUri.toString())):!1}}class tE{constructor(e){this.initialBuildOptions={},this._ready=new ql,this.serviceRegistry=e.ServiceRegistry,this.langiumDocuments=e.workspace.LangiumDocuments,this.documentBuilder=e.workspace.DocumentBuilder,this.fileSystemProvider=e.workspace.FileSystemProvider,this.mutex=e.workspace.WorkspaceLock}get ready(){return this._ready.promise}get workspaceFolders(){return this.folders}initialize(e){this.folders=e.workspaceFolders??void 0}initialized(e){return this.mutex.write(n=>this.initializeWorkspace(this.folders??[],n))}async initializeWorkspace(e,n=ge.None){const r=await this.performStartup(e);await He(n),await this.documentBuilder.build(r,this.initialBuildOptions,n)}async performStartup(e){const n=[],r=a=>{n.push(a),this.langiumDocuments.hasDocument(a.uri)||this.langiumDocuments.addDocument(a)};await this.loadAdditionalDocuments(e,r);const i=[];await Promise.all(e.map(a=>this.getRootFolder(a)).map(async a=>this.traverseFolder(a,i)));const s=pe(i).distinct(a=>a.toString()).filter(a=>!this.langiumDocuments.hasDocument(a));return await this.loadWorkspaceDocuments(s,r),this._ready.resolve(),n}async loadWorkspaceDocuments(e,n){await Promise.all(e.map(async r=>{const i=await this.langiumDocuments.getOrCreateDocument(r);n(i)}))}loadAdditionalDocuments(e,n){return Promise.resolve()}getRootFolder(e){return wt.parse(e.uri)}async traverseFolder(e,n){try{const r=await this.fileSystemProvider.readDirectory(e);await Promise.all(r.map(async i=>{this.shouldIncludeEntry(i)&&(i.isDirectory?await this.traverseFolder(i.uri,n):i.isFile&&n.push(i.uri))}))}catch(r){console.error("Failure to read directory content of "+e.toString(!0),r)}}async searchFolder(e){const n=[];return await this.traverseFolder(e,n),n}shouldIncludeEntry(e){const n=ct.basename(e.uri);return n.startsWith(".")?!1:e.isDirectory?n!=="node_modules"&&n!=="out":e.isFile?this.serviceRegistry.hasServices(e.uri):!1}}class nE{buildUnexpectedCharactersMessage(e,n,r,i,s){return qo.buildUnexpectedCharactersMessage(e,n,r,i,s)}buildUnableToPopLexerModeMessage(e){return qo.buildUnableToPopLexerModeMessage(e)}}const rE={mode:"full"};class iE{constructor(e){this.errorMessageProvider=e.parser.LexerErrorMessageProvider,this.tokenBuilder=e.parser.TokenBuilder;const n=this.tokenBuilder.buildTokens(e.Grammar,{caseInsensitive:e.LanguageMetaData.caseInsensitive});this.tokenTypes=this.toTokenTypeDictionary(n);const r=hf(n)?Object.values(n):n,i=e.LanguageMetaData.mode==="production";this.chevrotainLexer=new et(r,{positionTracking:"full",skipValidations:i,errorMessageProvider:this.errorMessageProvider})}get definition(){return this.tokenTypes}tokenize(e,n=rE){var i,s;const r=this.chevrotainLexer.tokenize(e);return{tokens:r.tokens,errors:r.errors,hidden:r.groups.hidden??[],report:(s=(i=this.tokenBuilder).flushLexingReport)==null?void 0:s.call(i,e)}}toTokenTypeDictionary(e){if(hf(e))return e;const n=Tp(e)?Object.values(e.modes).flat():e,r={};return n.forEach(i=>r[i.name]=i),r}}function sE(t){return Array.isArray(t)&&(t.length===0||"name"in t[0])}function Tp(t){return t&&"modes"in t&&"defaultMode"in t}function hf(t){return!sE(t)&&!Tp(t)}function aE(t,e,n){let r,i;typeof t=="string"?(i=e,r=n):(i=t.range.start,r=e),i||(i=ee.create(0,0));const s=Rp(t),a=Kl(r),o=lE({lines:s,position:i,options:a});return pE({index:0,tokens:o,position:i})}function oE(t,e){const n=Kl(e),r=Rp(t);if(r.length===0)return!1;const i=r[0],s=r[r.length-1],a=n.start,o=n.end;return!!(a!=null&&a.exec(i))&&!!(o!=null&&o.exec(s))}function Rp(t){let e="";return typeof t=="string"?e=t:e=t.text,e.split(og)}const pf=/\s*(@([\p{L}][\p{L}\p{N}]*)?)/uy,cE=/\{(@[\p{L}][\p{L}\p{N}]*)(\s*)([^\r\n}]+)?\}/gu;function lE(t){var i,s,a;const e=[];let n=t.position.line,r=t.position.character;for(let o=0;o<t.lines.length;o++){const c=o===0,l=o===t.lines.length-1;let u=t.lines[o],f=0;if(c&&t.options.start){const g=(i=t.options.start)==null?void 0:i.exec(u);g&&(f=g.index+g[0].length)}else{const g=(s=t.options.line)==null?void 0:s.exec(u);g&&(f=g.index+g[0].length)}if(l){const g=(a=t.options.end)==null?void 0:a.exec(u);g&&(u=u.substring(0,g.index))}if(u=u.substring(0,hE(u)),dl(u,f)>=u.length){if(e.length>0){const g=ee.create(n,r);e.push({type:"break",content:"",range:Y.create(g,g)})}}else{pf.lastIndex=f;const g=pf.exec(u);if(g){const A=g[0],N=g[1],$=ee.create(n,r+f),w=ee.create(n,r+f+A.length);e.push({type:"tag",content:N,range:Y.create($,w)}),f+=A.length,f=dl(u,f)}if(f<u.length){const A=u.substring(f),N=Array.from(A.matchAll(cE));e.push(...uE(N,A,n,r+f))}}n++,r=0}return e.length>0&&e[e.length-1].type==="break"?e.slice(0,-1):e}function uE(t,e,n,r){const i=[];if(t.length===0){const s=ee.create(n,r),a=ee.create(n,r+e.length);i.push({type:"text",content:e,range:Y.create(s,a)})}else{let s=0;for(const o of t){const c=o.index,l=e.substring(s,c);l.length>0&&i.push({type:"text",content:e.substring(s,c),range:Y.create(ee.create(n,s+r),ee.create(n,c+r))});let u=l.length+1;const f=o[1];if(i.push({type:"inline-tag",content:f,range:Y.create(ee.create(n,s+u+r),ee.create(n,s+u+f.length+r))}),u+=f.length,o.length===4){u+=o[2].length;const m=o[3];i.push({type:"text",content:m,range:Y.create(ee.create(n,s+u+r),ee.create(n,s+u+m.length+r))})}else i.push({type:"text",content:"",range:Y.create(ee.create(n,s+u+r),ee.create(n,s+u+r))});s=c+o[0].length}const a=e.substring(s);a.length>0&&i.push({type:"text",content:a,range:Y.create(ee.create(n,s+r),ee.create(n,s+r+a.length))})}return i}const dE=/\S/,fE=/\s*$/;function dl(t,e){const n=t.substring(e).match(dE);return n?e+n.index:t.length}function hE(t){const e=t.match(fE);if(e&&typeof e.index=="number")return e.index}function pE(t){var s,a;const e=ee.create(t.position.line,t.position.character);if(t.tokens.length===0)return new mf([],Y.create(e,e));const n=[];for(;t.index<t.tokens.length;){const o=mE(t,n[n.length-1]);o&&n.push(o)}const r=((s=n[0])==null?void 0:s.range.start)??e,i=((a=n[n.length-1])==null?void 0:a.range.end)??e;return new mf(n,Y.create(r,i))}function mE(t,e){const n=t.tokens[t.index];if(n.type==="tag")return Ep(t,!1);if(n.type==="text"||n.type==="inline-tag")return vp(t);gE(n,e),t.index++}function gE(t,e){if(e){const n=new Sp("",t.range);"inlines"in e?e.inlines.push(n):e.content.inlines.push(n)}}function vp(t){let e=t.tokens[t.index];const n=e;let r=e;const i=[];for(;e&&e.type!=="break"&&e.type!=="tag";)i.push(yE(t)),r=e,e=t.tokens[t.index];return new fl(i,Y.create(n.range.start,r.range.end))}function yE(t){return t.tokens[t.index].type==="inline-tag"?Ep(t,!0):Ap(t)}function Ep(t,e){const n=t.tokens[t.index++],r=n.content.substring(1),i=t.tokens[t.index];if((i==null?void 0:i.type)==="text")if(e){const s=Ap(t);return new Co(r,new fl([s],s.range),e,Y.create(n.range.start,s.range.end))}else{const s=vp(t);return new Co(r,s,e,Y.create(n.range.start,s.range.end))}else{const s=n.range;return new Co(r,new fl([],s),e,s)}}function Ap(t){const e=t.tokens[t.index++];return new Sp(e.content,e.range)}function Kl(t){if(!t)return Kl({start:"/**",end:"*/",line:"*"});const{start:e,end:n,line:r}=t;return{start:So(e,!0),end:So(n,!1),line:So(r,!0)}}function So(t,e){if(typeof t=="string"||typeof t=="object"){const n=typeof t=="string"?Ua(t):t.source;return e?new RegExp(`^\\s*${n}`):new RegExp(`\\s*${n}\\s*$`)}else return t}class mf{constructor(e,n){this.elements=e,this.range=n}getTag(e){return this.getAllTags().find(n=>n.name===e)}getTags(e){return this.getAllTags().filter(n=>n.name===e)}getAllTags(){return this.elements.filter(e=>"name"in e)}toString(){let e="";for(const n of this.elements)if(e.length===0)e=n.toString();else{const r=n.toString();e+=gf(e)+r}return e.trim()}toMarkdown(e){let n="";for(const r of this.elements)if(n.length===0)n=r.toMarkdown(e);else{const i=r.toMarkdown(e);n+=gf(n)+i}return n.trim()}}class Co{constructor(e,n,r,i){this.name=e,this.content=n,this.inline=r,this.range=i}toString(){let e=`@${this.name}`;const n=this.content.toString();return this.content.inlines.length===1?e=`${e} ${n}`:this.content.inlines.length>1&&(e=`${e}
152
+ ${n}`),this.inline?`{${e}}`:e}toMarkdown(e){var n;return((n=e==null?void 0:e.renderTag)==null?void 0:n.call(e,this))??this.toMarkdownDefault(e)}toMarkdownDefault(e){const n=this.content.toMarkdown(e);if(this.inline){const s=TE(this.name,n,e??{});if(typeof s=="string")return s}let r="";(e==null?void 0:e.tag)==="italic"||(e==null?void 0:e.tag)===void 0?r="*":(e==null?void 0:e.tag)==="bold"?r="**":(e==null?void 0:e.tag)==="bold-italic"&&(r="***");let i=`${r}@${this.name}${r}`;return this.content.inlines.length===1?i=`${i} — ${n}`:this.content.inlines.length>1&&(i=`${i}
153
+ ${n}`),this.inline?`{${i}}`:i}}function TE(t,e,n){var r;if(t==="linkplain"||t==="linkcode"||t==="link"){const i=e.indexOf(" ");let s=e;if(i>0){const o=dl(e,i);s=e.substring(o),e=e.substring(0,i)}return(t==="linkcode"||t==="link"&&n.link==="code")&&(s=`\`${s}\``),((r=n.renderLink)==null?void 0:r.call(n,e,s))??RE(e,s)}}function RE(t,e){try{return wt.parse(t,!0),`[${e}](${t})`}catch{return t}}class fl{constructor(e,n){this.inlines=e,this.range=n}toString(){let e="";for(let n=0;n<this.inlines.length;n++){const r=this.inlines[n],i=this.inlines[n+1];e+=r.toString(),i&&i.range.start.line>r.range.start.line&&(e+=`
154
+ `)}return e}toMarkdown(e){let n="";for(let r=0;r<this.inlines.length;r++){const i=this.inlines[r],s=this.inlines[r+1];n+=i.toMarkdown(e),s&&s.range.start.line>i.range.start.line&&(n+=`
155
+ `)}return n}}class Sp{constructor(e,n){this.text=e,this.range=n}toString(){return this.text}toMarkdown(){return this.text}}function gf(t){return t.endsWith(`
156
+ `)?`
157
+ `:`
158
+
159
+ `}class vE{constructor(e){this.indexManager=e.shared.workspace.IndexManager,this.commentProvider=e.documentation.CommentProvider}getDocumentation(e){const n=this.commentProvider.getComment(e);if(n&&oE(n))return aE(n).toMarkdown({renderLink:(i,s)=>this.documentationLinkRenderer(e,i,s),renderTag:i=>this.documentationTagRenderer(e,i)})}documentationLinkRenderer(e,n,r){const i=this.findNameInLocalSymbols(e,n)??this.findNameInGlobalScope(e,n);if(i&&i.nameSegment){const s=i.nameSegment.range.start.line+1,a=i.nameSegment.range.start.character+1,o=i.documentUri.with({fragment:`L${s},${a}`});return`[${r}](${o.toString()})`}else return}documentationTagRenderer(e,n){}findNameInLocalSymbols(e,n){const i=Qt(e).localSymbols;if(!i)return;let s=e;do{const o=i.getStream(s).find(c=>c.name===n);if(o)return o;s=s.$container}while(s)}findNameInGlobalScope(e,n){return this.indexManager.allElements().find(i=>i.name===n)}}class EE{constructor(e){this.grammarConfig=()=>e.parser.GrammarConfig}getComment(e){var n;return yv(e)?e.$comment:(n=ng(e.$cstNode,this.grammarConfig().multilineCommentRules))==null?void 0:n.text}}class AE{constructor(e){this.syncParser=e.parser.LangiumParser}parse(e,n){return Promise.resolve(this.syncParser.parse(e))}}class SE{constructor(){this.previousTokenSource=new Bl,this.writeQueue=[],this.readQueue=[],this.done=!0}write(e){this.cancelWrite();const n=nv();return this.previousTokenSource=n,this.enqueue(this.writeQueue,e,n.token)}read(e){return this.enqueue(this.readQueue,e)}enqueue(e,n,r=ge.None){const i=new ql,s={action:n,deferred:i,cancellationToken:r};return e.push(s),this.performNextOperation(),i.promise}async performNextOperation(){if(!this.done)return;const e=[];if(this.writeQueue.length>0)e.push(this.writeQueue.shift());else if(this.readQueue.length>0)e.push(...this.readQueue.splice(0,this.readQueue.length));else return;this.done=!1,await Promise.all(e.map(async({action:n,deferred:r,cancellationToken:i})=>{try{const s=await Promise.resolve().then(()=>n(i));r.resolve(s)}catch(s){Ya(s)?r.resolve(void 0):r.reject(s)}})),this.done=!0,this.performNextOperation()}cancelWrite(){this.previousTokenSource.cancel()}}class CE{constructor(e){this.grammarElementIdMap=new ju,this.tokenTypeIdMap=new ju,this.grammar=e.Grammar,this.lexer=e.parser.Lexer,this.linker=e.references.Linker}dehydrate(e){return{lexerErrors:e.lexerErrors,lexerReport:e.lexerReport?this.dehydrateLexerReport(e.lexerReport):void 0,parserErrors:e.parserErrors.map(n=>({...n,message:n.message})),value:this.dehydrateAstNode(e.value,this.createDehyrationContext(e.value))}}dehydrateLexerReport(e){return e}createDehyrationContext(e){const n=new Map,r=new Map;for(const i of Zt(e))n.set(i,{});if(e.$cstNode)for(const i of Go(e.$cstNode))r.set(i,{});return{astNodes:n,cstNodes:r}}dehydrateAstNode(e,n){const r=n.astNodes.get(e);r.$type=e.$type,r.$containerIndex=e.$containerIndex,r.$containerProperty=e.$containerProperty,e.$cstNode!==void 0&&(r.$cstNode=this.dehydrateCstNode(e.$cstNode,n));for(const[i,s]of Object.entries(e))if(!i.startsWith("$"))if(Array.isArray(s)){const a=[];r[i]=a;for(const o of s)We(o)?a.push(this.dehydrateAstNode(o,n)):Ct(o)?a.push(this.dehydrateReference(o,n)):a.push(o)}else We(s)?r[i]=this.dehydrateAstNode(s,n):Ct(s)?r[i]=this.dehydrateReference(s,n):s!==void 0&&(r[i]=s);return r}dehydrateReference(e,n){const r={};return r.$refText=e.$refText,e.$refNode&&(r.$refNode=n.cstNodes.get(e.$refNode)),r}dehydrateCstNode(e,n){const r=n.cstNodes.get(e);return Ff(e)?r.fullText=e.fullText:r.grammarSource=this.getGrammarElementId(e.grammarSource),r.hidden=e.hidden,r.astNode=n.astNodes.get(e.astNode),qi(e)?r.content=e.content.map(i=>this.dehydrateCstNode(i,n)):Mf(e)&&(r.tokenType=e.tokenType.name,r.offset=e.offset,r.length=e.length,r.startLine=e.range.start.line,r.startColumn=e.range.start.character,r.endLine=e.range.end.line,r.endColumn=e.range.end.character),r}hydrate(e){const n=e.value,r=this.createHydrationContext(n);return"$cstNode"in n&&this.hydrateCstNode(n.$cstNode,r),{lexerErrors:e.lexerErrors,lexerReport:e.lexerReport,parserErrors:e.parserErrors,value:this.hydrateAstNode(n,r)}}createHydrationContext(e){const n=new Map,r=new Map;for(const s of Zt(e))n.set(s,{});let i;if(e.$cstNode)for(const s of Go(e.$cstNode)){let a;"fullText"in s?(a=new Vh(s.fullText),i=a):"content"in s?a=new Ul:"tokenType"in s&&(a=this.hydrateCstLeafNode(s)),a&&(r.set(s,a),a.root=i)}return{astNodes:n,cstNodes:r}}hydrateAstNode(e,n){const r=n.astNodes.get(e);r.$type=e.$type,r.$containerIndex=e.$containerIndex,r.$containerProperty=e.$containerProperty,e.$cstNode&&(r.$cstNode=n.cstNodes.get(e.$cstNode));for(const[i,s]of Object.entries(e))if(!i.startsWith("$"))if(Array.isArray(s)){const a=[];r[i]=a;for(const o of s)We(o)?a.push(this.setParent(this.hydrateAstNode(o,n),r)):Ct(o)?a.push(this.hydrateReference(o,r,i,n)):a.push(o)}else We(s)?r[i]=this.setParent(this.hydrateAstNode(s,n),r):Ct(s)?r[i]=this.hydrateReference(s,r,i,n):s!==void 0&&(r[i]=s);return r}setParent(e,n){return e.$container=n,e}hydrateReference(e,n,r,i){return this.linker.buildReference(n,r,i.cstNodes.get(e.$refNode),e.$refText)}hydrateCstNode(e,n,r=0){const i=n.cstNodes.get(e);if(typeof e.grammarSource=="number"&&(i.grammarSource=this.getGrammarElement(e.grammarSource)),i.astNode=n.astNodes.get(e.astNode),qi(i))for(const s of e.content){const a=this.hydrateCstNode(s,n,r++);i.content.push(a)}return i}hydrateCstLeafNode(e){const n=this.getTokenType(e.tokenType),r=e.offset,i=e.length,s=e.startLine,a=e.startColumn,o=e.endLine,c=e.endColumn,l=e.hidden;return new Qc(r,i,{start:{line:s,character:a},end:{line:o,character:c}},n,l)}getTokenType(e){return this.lexer.definition[e]}getGrammarElementId(e){if(e)return this.grammarElementIdMap.size===0&&this.createGrammarElementIdMap(),this.grammarElementIdMap.get(e)}getGrammarElement(e){return this.grammarElementIdMap.size===0&&this.createGrammarElementIdMap(),this.grammarElementIdMap.getKey(e)}createGrammarElementIdMap(){let e=0;for(const n of Zt(this.grammar))Lm(n)&&this.grammarElementIdMap.set(n,e++)}}function kn(t){return{documentation:{CommentProvider:e=>new EE(e),DocumentationProvider:e=>new vE(e)},parser:{AsyncParser:e=>new AE(e),GrammarConfig:e=>_g(e),LangiumParser:e=>jR(e),CompletionParser:e=>UR(e),ValueConverter:()=>new tp,TokenBuilder:()=>new ep,Lexer:e=>new iE(e),ParserErrorMessageProvider:()=>new Yh,LexerErrorMessageProvider:()=>new nE},workspace:{AstNodeLocator:()=>new wv,AstNodeDescriptionProvider:e=>new kv(e),ReferenceDescriptionProvider:e=>new Nv(e)},references:{Linker:e=>new ov(e),NameProvider:()=>new lv,ScopeProvider:e=>new gv(e),ScopeComputation:e=>new dv(e),References:e=>new uv(e)},serializer:{Hydrator:e=>new CE(e),JsonSerializer:e=>new Tv(e)},validation:{DocumentValidator:e=>new Av(e),ValidationRegistry:e=>new vv(e)},shared:()=>t.shared}}function Nn(t){return{ServiceRegistry:e=>new Rv(e),workspace:{LangiumDocuments:e=>new av(e),LangiumDocumentFactory:e=>new sv(e),DocumentBuilder:e=>new Zv(e),IndexManager:e=>new eE(e),WorkspaceManager:e=>new tE(e),FileSystemProvider:e=>t.fileSystemProvider(e),WorkspaceLock:()=>new SE,ConfigurationProvider:e=>new bv(e)},profilers:{}}}var yf;(function(t){t.merge=(e,n)=>rs(rs({},e),n)})(yf||(yf={}));function Ve(t,e,n,r,i,s,a,o,c){const l=[t,e,n,r,i,s,a,o,c].reduce(rs,{});return Cp(l)}const kE=Symbol("isProxy");function Cp(t,e){const n=new Proxy({},{deleteProperty:()=>!1,set:()=>{throw new Error("Cannot set property on injected service container")},get:(r,i)=>i===kE?!0:Rf(r,i,t,e||n),getOwnPropertyDescriptor:(r,i)=>(Rf(r,i,t,e||n),Object.getOwnPropertyDescriptor(r,i)),has:(r,i)=>i in t,ownKeys:()=>[...Object.getOwnPropertyNames(t)]});return n}const Tf=Symbol();function Rf(t,e,n,r){if(e in t){if(t[e]instanceof Error)throw new Error("Construction failure. Please make sure that your dependencies are constructable. Cause: "+t[e]);if(t[e]===Tf)throw new Error('Cycle detected. Please make "'+String(e)+'" lazy. Visit https://langium.org/docs/reference/configuration-services/#resolving-cyclic-dependencies');return t[e]}else if(e in n){const i=n[e];t[e]=Tf;try{t[e]=typeof i=="function"?i(r):Cp(i,r)}catch(s){throw t[e]=s instanceof Error?s:void 0,s}return t[e]}else return}function rs(t,e){if(e){for(const[n,r]of Object.entries(e))if(r!=null)if(typeof r=="object"){const i=t[n];typeof i=="object"&&i!==null?t[n]=rs(i,r):t[n]=rs({},r)}else t[n]=r}return t}class NE{stat(e){throw new Error("No file system is available.")}statSync(e){throw new Error("No file system is available.")}async exists(){return!1}existsSync(){return!1}readBinary(){throw new Error("No file system is available.")}readBinarySync(){throw new Error("No file system is available.")}readFile(){throw new Error("No file system is available.")}readFileSync(){throw new Error("No file system is available.")}async readDirectory(){return[]}readDirectorySync(){return[]}}const wn={fileSystemProvider:()=>new NE},wE={Grammar:()=>{},LanguageMetaData:()=>({caseInsensitive:!1,fileExtensions:[".langium"],languageId:"langium"})},bE={AstReflection:()=>new qf};function _E(){const t=Ve(Nn(wn),bE),e=Ve(kn({shared:t}),wE);return t.ServiceRegistry.register(e),e}function Qn(t){const e=_E(),n=e.serializer.JsonSerializer.deserialize(t);return e.shared.workspace.LangiumDocumentFactory.fromModel(n,wt.parse(`memory:/${n.name??"grammar"}.langium`)),n}var IE=Object.defineProperty,_=(t,e)=>IE(t,"name",{value:e,configurable:!0}),hl;(t=>{t.Terminals={ARROW_DIRECTION:/L|R|T|B/,ARROW_GROUP:/\{group\}/,ARROW_INTO:/<|>/,ACC_DESCR:/[\t ]*accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,ACC_TITLE:/[\t ]*accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,TITLE:/[\t ]*title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,STRING:/"([^"\\]|\\.)*"|'([^'\\]|\\.)*'/,ID:/[\w]([-\w]*\w)?/,NEWLINE:/\r?\n/,WHITESPACE:/[\t ]+/,YAML:/---[\t ]*\r?\n(?:[\S\s]*?\r?\n)?---(?:\r?\n|(?!\S))/,DIRECTIVE:/[\t ]*%%{[\S\s]*?}%%(?:\r?\n|(?!\S))/,SINGLE_LINE_COMMENT:/[\t ]*%%[^\n\r]*/,ARCH_ICON:/\([\w-:]+\)/,ARCH_TITLE:/\[[\w ]+\]/}})(hl||(hl={}));var pl;(t=>{t.Terminals={ACC_DESCR:/[\t ]*accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,ACC_TITLE:/[\t ]*accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,TITLE:/[\t ]*title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,INT:/0|[1-9][0-9]*(?!\.)/,STRING:/"([^"\\]|\\.)*"|'([^'\\]|\\.)*'/,NEWLINE:/\r?\n/,WHITESPACE:/[\t ]+/,YAML:/---[\t ]*\r?\n(?:[\S\s]*?\r?\n)?---(?:\r?\n|(?!\S))/,DIRECTIVE:/[\t ]*%%{[\S\s]*?}%%(?:\r?\n|(?!\S))/,SINGLE_LINE_COMMENT:/[\t ]*%%[^\n\r]*/,REFERENCE:/\w([-\./\w]*[-\w])?/}})(pl||(pl={}));var ml;(t=>{t.Terminals={ACC_DESCR:/[\t ]*accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,ACC_TITLE:/[\t ]*accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,TITLE:/[\t ]*title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,NEWLINE:/\r?\n/,WHITESPACE:/[\t ]+/,YAML:/---[\t ]*\r?\n(?:[\S\s]*?\r?\n)?---(?:\r?\n|(?!\S))/,DIRECTIVE:/[\t ]*%%{[\S\s]*?}%%(?:\r?\n|(?!\S))/,SINGLE_LINE_COMMENT:/[\t ]*%%[^\n\r]*/}})(ml||(ml={}));var gl;(t=>{t.Terminals={ACC_DESCR:/[\t ]*accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,ACC_TITLE:/[\t ]*accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,TITLE:/[\t ]*title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,INT:/0|[1-9][0-9]*(?!\.)/,STRING:/"([^"\\]|\\.)*"|'([^'\\]|\\.)*'/,NEWLINE:/\r?\n/,WHITESPACE:/[\t ]+/,YAML:/---[\t ]*\r?\n(?:[\S\s]*?\r?\n)?---(?:\r?\n|(?!\S))/,DIRECTIVE:/[\t ]*%%{[\S\s]*?}%%(?:\r?\n|(?!\S))/,SINGLE_LINE_COMMENT:/[\t ]*%%[^\n\r]*/}})(gl||(gl={}));var yl;(t=>{t.Terminals={NUMBER_PIE:/(?:-?[0-9]+\.[0-9]+(?!\.))|(?:-?(0|[1-9][0-9]*)(?!\.))/,ACC_DESCR:/[\t ]*accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,ACC_TITLE:/[\t ]*accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,TITLE:/[\t ]*title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,STRING:/"([^"\\]|\\.)*"|'([^'\\]|\\.)*'/,NEWLINE:/\r?\n/,WHITESPACE:/[\t ]+/,YAML:/---[\t ]*\r?\n(?:[\S\s]*?\r?\n)?---(?:\r?\n|(?!\S))/,DIRECTIVE:/[\t ]*%%{[\S\s]*?}%%(?:\r?\n|(?!\S))/,SINGLE_LINE_COMMENT:/[\t ]*%%[^\n\r]*/}})(yl||(yl={}));var Tl;(t=>{t.Terminals={GRATICULE:/circle|polygon/,BOOLEAN:/true|false/,ACC_DESCR:/[\t ]*accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,ACC_TITLE:/[\t ]*accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,TITLE:/[\t ]*title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,NUMBER:/(?:[0-9]+\.[0-9]+(?!\.))|(?:0|[1-9][0-9]*(?!\.))/,STRING:/"([^"\\]|\\.)*"|'([^'\\]|\\.)*'/,ID:/[\w]([-\w]*\w)?/,NEWLINE:/\r?\n/,WHITESPACE:/[\t ]+/,YAML:/---[\t ]*\r?\n(?:[\S\s]*?\r?\n)?---(?:\r?\n|(?!\S))/,DIRECTIVE:/[\t ]*%%{[\S\s]*?}%%(?:\r?\n|(?!\S))/,SINGLE_LINE_COMMENT:/[\t ]*%%[^\n\r]*/}})(Tl||(Tl={}));var Rl;(t=>{t.Terminals={ACC_DESCR:/[\t ]*accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,ACC_TITLE:/[\t ]*accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,TITLE:/[\t ]*title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,TREEMAP_KEYWORD:/treemap-beta|treemap/,CLASS_DEF:/classDef\s+([a-zA-Z_][a-zA-Z0-9_]+)(?:\s+([^;\r\n]*))?(?:;)?/,STYLE_SEPARATOR:/:::/,SEPARATOR:/:/,COMMA:/,/,INDENTATION:/[ \t]{1,}/,WS:/[ \t]+/,ML_COMMENT:/\%\%[^\n]*/,NL:/\r?\n/,ID2:/[a-zA-Z_][a-zA-Z0-9_]*/,NUMBER2:/[0-9_\.\,]+/,STRING2:/"[^"]*"|'[^']*'/}})(Rl||(Rl={}));({...hl.Terminals,...pl.Terminals,...ml.Terminals,...gl.Terminals,...yl.Terminals,...Tl.Terminals,...Rl.Terminals});var Kt={$type:"Architecture",accDescr:"accDescr",accTitle:"accTitle",edges:"edges",groups:"groups",junctions:"junctions",services:"services",title:"title"};function $E(t){return It.isInstance(t,Kt.$type)}_($E,"isArchitecture");var Gs={$type:"Axis",label:"label",name:"name"},na={$type:"Branch",name:"name",order:"order"};function PE(t){return It.isInstance(t,na.$type)}_(PE,"isBranch");var vf={$type:"Checkout",branch:"branch"},Us={$type:"CherryPicking",id:"id",parent:"parent",tags:"tags"},ko={$type:"ClassDefStatement",className:"className",styleText:"styleText"},gr={$type:"Commit",id:"id",message:"message",tags:"tags",type:"type"};function LE(t){return It.isInstance(t,gr.$type)}_(LE,"isCommit");var js={$type:"Curve",entries:"entries",label:"label",name:"name"},sr={$type:"Direction",accDescr:"accDescr",accTitle:"accTitle",dir:"dir",statements:"statements",title:"title"},Pt={$type:"Edge",lhsDir:"lhsDir",lhsGroup:"lhsGroup",lhsId:"lhsId",lhsInto:"lhsInto",rhsDir:"rhsDir",rhsGroup:"rhsGroup",rhsId:"rhsId",rhsInto:"rhsInto",title:"title"},No={$type:"Entry",axis:"axis",value:"value"},Fn={$type:"GitGraph",accDescr:"accDescr",accTitle:"accTitle",statements:"statements",title:"title"};function OE(t){return It.isInstance(t,Fn.$type)}_(OE,"isGitGraph");var Ii={$type:"Group",icon:"icon",id:"id",in:"in",title:"title"},ji={$type:"Info",accDescr:"accDescr",accTitle:"accTitle",title:"title"};function xE(t){return It.isInstance(t,ji.$type)}_(xE,"isInfo");var $i={$type:"Item",classSelector:"classSelector",name:"name"},wo={$type:"Junction",id:"id",in:"in"},zs={$type:"Leaf",classSelector:"classSelector",name:"name",value:"value"},yr={$type:"Merge",branch:"branch",id:"id",tags:"tags",type:"type"};function DE(t){return It.isInstance(t,yr.$type)}_(DE,"isMerge");var bo={$type:"Option",name:"name",value:"value"},Tr={$type:"Packet",accDescr:"accDescr",accTitle:"accTitle",blocks:"blocks",title:"title"};function ME(t){return It.isInstance(t,Tr.$type)}_(ME,"isPacket");var Rr={$type:"PacketBlock",bits:"bits",end:"end",label:"label",start:"start"};function FE(t){return It.isInstance(t,Rr.$type)}_(FE,"isPacketBlock");var Gn={$type:"Pie",accDescr:"accDescr",accTitle:"accTitle",sections:"sections",showData:"showData",title:"title"};function GE(t){return It.isInstance(t,Gn.$type)}_(GE,"isPie");var ra={$type:"PieSection",label:"label",value:"value"};function UE(t){return It.isInstance(t,ra.$type)}_(UE,"isPieSection");var Ln={$type:"Radar",accDescr:"accDescr",accTitle:"accTitle",axes:"axes",curves:"curves",options:"options",title:"title"},_o={$type:"Section",classSelector:"classSelector",name:"name"},ar={$type:"Service",icon:"icon",iconText:"iconText",id:"id",in:"in",title:"title"},or={$type:"Statement"},vr={$type:"Treemap",accDescr:"accDescr",accTitle:"accTitle",title:"title",TreemapRows:"TreemapRows"};function jE(t){return It.isInstance(t,vr.$type)}_(jE,"isTreemap");var Io={$type:"TreemapRow",indent:"indent",item:"item"},Cr,kp=(Cr=class extends Df{constructor(){super(...arguments),this.types={Architecture:{name:Kt.$type,properties:{accDescr:{name:Kt.accDescr},accTitle:{name:Kt.accTitle},edges:{name:Kt.edges,defaultValue:[]},groups:{name:Kt.groups,defaultValue:[]},junctions:{name:Kt.junctions,defaultValue:[]},services:{name:Kt.services,defaultValue:[]},title:{name:Kt.title}},superTypes:[]},Axis:{name:Gs.$type,properties:{label:{name:Gs.label},name:{name:Gs.name}},superTypes:[]},Branch:{name:na.$type,properties:{name:{name:na.name},order:{name:na.order}},superTypes:[or.$type]},Checkout:{name:vf.$type,properties:{branch:{name:vf.branch}},superTypes:[or.$type]},CherryPicking:{name:Us.$type,properties:{id:{name:Us.id},parent:{name:Us.parent},tags:{name:Us.tags,defaultValue:[]}},superTypes:[or.$type]},ClassDefStatement:{name:ko.$type,properties:{className:{name:ko.className},styleText:{name:ko.styleText}},superTypes:[]},Commit:{name:gr.$type,properties:{id:{name:gr.id},message:{name:gr.message},tags:{name:gr.tags,defaultValue:[]},type:{name:gr.type}},superTypes:[or.$type]},Curve:{name:js.$type,properties:{entries:{name:js.entries,defaultValue:[]},label:{name:js.label},name:{name:js.name}},superTypes:[]},Direction:{name:sr.$type,properties:{accDescr:{name:sr.accDescr},accTitle:{name:sr.accTitle},dir:{name:sr.dir},statements:{name:sr.statements,defaultValue:[]},title:{name:sr.title}},superTypes:[Fn.$type]},Edge:{name:Pt.$type,properties:{lhsDir:{name:Pt.lhsDir},lhsGroup:{name:Pt.lhsGroup,defaultValue:!1},lhsId:{name:Pt.lhsId},lhsInto:{name:Pt.lhsInto,defaultValue:!1},rhsDir:{name:Pt.rhsDir},rhsGroup:{name:Pt.rhsGroup,defaultValue:!1},rhsId:{name:Pt.rhsId},rhsInto:{name:Pt.rhsInto,defaultValue:!1},title:{name:Pt.title}},superTypes:[]},Entry:{name:No.$type,properties:{axis:{name:No.axis,referenceType:Gs.$type},value:{name:No.value}},superTypes:[]},GitGraph:{name:Fn.$type,properties:{accDescr:{name:Fn.accDescr},accTitle:{name:Fn.accTitle},statements:{name:Fn.statements,defaultValue:[]},title:{name:Fn.title}},superTypes:[]},Group:{name:Ii.$type,properties:{icon:{name:Ii.icon},id:{name:Ii.id},in:{name:Ii.in},title:{name:Ii.title}},superTypes:[]},Info:{name:ji.$type,properties:{accDescr:{name:ji.accDescr},accTitle:{name:ji.accTitle},title:{name:ji.title}},superTypes:[]},Item:{name:$i.$type,properties:{classSelector:{name:$i.classSelector},name:{name:$i.name}},superTypes:[]},Junction:{name:wo.$type,properties:{id:{name:wo.id},in:{name:wo.in}},superTypes:[]},Leaf:{name:zs.$type,properties:{classSelector:{name:zs.classSelector},name:{name:zs.name},value:{name:zs.value}},superTypes:[$i.$type]},Merge:{name:yr.$type,properties:{branch:{name:yr.branch},id:{name:yr.id},tags:{name:yr.tags,defaultValue:[]},type:{name:yr.type}},superTypes:[or.$type]},Option:{name:bo.$type,properties:{name:{name:bo.name},value:{name:bo.value,defaultValue:!1}},superTypes:[]},Packet:{name:Tr.$type,properties:{accDescr:{name:Tr.accDescr},accTitle:{name:Tr.accTitle},blocks:{name:Tr.blocks,defaultValue:[]},title:{name:Tr.title}},superTypes:[]},PacketBlock:{name:Rr.$type,properties:{bits:{name:Rr.bits},end:{name:Rr.end},label:{name:Rr.label},start:{name:Rr.start}},superTypes:[]},Pie:{name:Gn.$type,properties:{accDescr:{name:Gn.accDescr},accTitle:{name:Gn.accTitle},sections:{name:Gn.sections,defaultValue:[]},showData:{name:Gn.showData,defaultValue:!1},title:{name:Gn.title}},superTypes:[]},PieSection:{name:ra.$type,properties:{label:{name:ra.label},value:{name:ra.value}},superTypes:[]},Radar:{name:Ln.$type,properties:{accDescr:{name:Ln.accDescr},accTitle:{name:Ln.accTitle},axes:{name:Ln.axes,defaultValue:[]},curves:{name:Ln.curves,defaultValue:[]},options:{name:Ln.options,defaultValue:[]},title:{name:Ln.title}},superTypes:[]},Section:{name:_o.$type,properties:{classSelector:{name:_o.classSelector},name:{name:_o.name}},superTypes:[$i.$type]},Service:{name:ar.$type,properties:{icon:{name:ar.icon},iconText:{name:ar.iconText},id:{name:ar.id},in:{name:ar.in},title:{name:ar.title}},superTypes:[]},Statement:{name:or.$type,properties:{},superTypes:[]},Treemap:{name:vr.$type,properties:{accDescr:{name:vr.accDescr},accTitle:{name:vr.accTitle},title:{name:vr.title},TreemapRows:{name:vr.TreemapRows,defaultValue:[]}},superTypes:[]},TreemapRow:{name:Io.$type,properties:{indent:{name:Io.indent},item:{name:Io.item}},superTypes:[]}}}},_(Cr,"MermaidAstReflection"),Cr),It=new kp,Ef,zE=_(()=>Ef??(Ef=Qn(`{"$type":"Grammar","isDeclared":true,"name":"ArchitectureGrammar","imports":[],"rules":[{"$type":"ParserRule","entry":true,"name":"Architecture","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@23"},"arguments":[],"cardinality":"*"},{"$type":"Keyword","value":"architecture-beta"},{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@23"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}],"cardinality":"*"}]},"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"Statement","definition":{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"groups","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}},{"$type":"Assignment","feature":"services","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]}},{"$type":"Assignment","feature":"junctions","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]}},{"$type":"Assignment","feature":"edges","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}}]},"entry":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"LeftPort","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":":"},{"$type":"Assignment","feature":"lhsDir","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}}]},"entry":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"RightPort","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"rhsDir","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}},{"$type":"Keyword","value":":"}]},"entry":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"Arrow","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]},{"$type":"Assignment","feature":"lhsInto","operator":"?=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[]},"cardinality":"?"},{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"--"},{"$type":"Group","elements":[{"$type":"Keyword","value":"-"},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@29"},"arguments":[]}},{"$type":"Keyword","value":"-"}]}]},{"$type":"Assignment","feature":"rhsInto","operator":"?=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[]},"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]}]},"entry":false,"parameters":[]},{"$type":"ParserRule","name":"Group","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"group"},{"$type":"Assignment","feature":"id","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]}},{"$type":"Assignment","feature":"icon","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@28"},"arguments":[]},"cardinality":"?"},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@29"},"arguments":[]},"cardinality":"?"},{"$type":"Group","elements":[{"$type":"Keyword","value":"in"},{"$type":"Assignment","feature":"in","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]}}],"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Service","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"service"},{"$type":"Assignment","feature":"id","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]}},{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"iconText","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@21"},"arguments":[]}},{"$type":"Assignment","feature":"icon","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@28"},"arguments":[]}}],"cardinality":"?"},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@29"},"arguments":[]},"cardinality":"?"},{"$type":"Group","elements":[{"$type":"Keyword","value":"in"},{"$type":"Assignment","feature":"in","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]}}],"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Junction","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"junction"},{"$type":"Assignment","feature":"id","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":"in"},{"$type":"Assignment","feature":"in","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]}}],"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Edge","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"lhsId","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]}},{"$type":"Assignment","feature":"lhsGroup","operator":"?=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]},"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]},{"$type":"Assignment","feature":"rhsId","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]}},{"$type":"Assignment","feature":"rhsGroup","operator":"?=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]},"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"TerminalRule","name":"ARROW_DIRECTION","definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"L"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"R"},"parenthesized":false}],"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"T"},"parenthesized":false}],"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"B"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ARROW_GROUP","definition":{"$type":"RegexToken","regex":"/\\\\{group\\\\}/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ARROW_INTO","definition":{"$type":"RegexToken","regex":"/<|>/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"ParserRule","name":"EOL","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@23"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}],"cardinality":"+"},"entry":false,"parameters":[]},{"$type":"TerminalRule","name":"BOOLEAN","type":{"$type":"ReturnType","name":"boolean"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"true"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"false"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"FLOAT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/[0-9]+\\\\.[0-9]+(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/0|[1-9][0-9]*(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@18"},"parenthesized":false},{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@19"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRING","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|'([^'\\\\\\\\]|\\\\\\\\.)*'/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ID","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[\\\\w]([-\\\\w]*\\\\w)?/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","name":"ARCH_ICON","definition":{"$type":"RegexToken","regex":"/\\\\([\\\\w-:]+\\\\)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ARCH_TITLE","definition":{"$type":"RegexToken","regex":"/\\\\[[\\\\w ]+\\\\]/","parenthesized":false},"fragment":false,"hidden":false}],"interfaces":[],"types":[]}`)),"ArchitectureGrammarGrammar"),Af,BE=_(()=>Af??(Af=Qn(`{"$type":"Grammar","isDeclared":true,"name":"GitGraphGrammar","imports":[],"rules":[{"$type":"ParserRule","entry":true,"name":"GitGraph","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[],"cardinality":"*"},{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"gitGraph"},{"$type":"Group","elements":[{"$type":"Keyword","value":"gitGraph"},{"$type":"Keyword","value":":"}]},{"$type":"Keyword","value":"gitGraph:"},{"$type":"Group","elements":[{"$type":"Keyword","value":"gitGraph"},{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]},{"$type":"Keyword","value":":"}]}]},{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]},{"$type":"Assignment","feature":"statements","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}}],"cardinality":"*"}]},"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Statement","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Direction","definition":{"$type":"Assignment","feature":"dir","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"LR"},{"$type":"Keyword","value":"TB"},{"$type":"Keyword","value":"BT"}]}},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Commit","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"commit"},{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"Keyword","value":"id:"},{"$type":"Assignment","feature":"id","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"msg:","cardinality":"?"},{"$type":"Assignment","feature":"message","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"tag:"},{"$type":"Assignment","feature":"tags","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"type:"},{"$type":"Assignment","feature":"type","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"NORMAL"},{"$type":"Keyword","value":"REVERSE"},{"$type":"Keyword","value":"HIGHLIGHT"}]}}]}],"cardinality":"*"},{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Branch","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"branch"},{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@24"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}]}},{"$type":"Group","elements":[{"$type":"Keyword","value":"order:"},{"$type":"Assignment","feature":"order","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"arguments":[]}}],"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Merge","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"merge"},{"$type":"Assignment","feature":"branch","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@24"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}]}},{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"Keyword","value":"id:"},{"$type":"Assignment","feature":"id","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"tag:"},{"$type":"Assignment","feature":"tags","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"type:"},{"$type":"Assignment","feature":"type","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"NORMAL"},{"$type":"Keyword","value":"REVERSE"},{"$type":"Keyword","value":"HIGHLIGHT"}]}}]}],"cardinality":"*"},{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Checkout","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"checkout"},{"$type":"Keyword","value":"switch"}]},{"$type":"Assignment","feature":"branch","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@24"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"CherryPicking","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"cherry-pick"},{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"Keyword","value":"id:"},{"$type":"Assignment","feature":"id","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"tag:"},{"$type":"Assignment","feature":"tags","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"parent:"},{"$type":"Assignment","feature":"parent","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]}],"cardinality":"*"},{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EOL","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}],"cardinality":"+"},"entry":false,"parameters":[]},{"$type":"TerminalRule","name":"BOOLEAN","type":{"$type":"ReturnType","name":"boolean"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"true"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"false"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"FLOAT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/[0-9]+\\\\.[0-9]+(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/0|[1-9][0-9]*(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@14"},"parenthesized":false},{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@15"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRING","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|'([^'\\\\\\\\]|\\\\\\\\.)*'/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ID","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[\\\\w]([-\\\\w]*\\\\w)?/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","name":"REFERENCE","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\\\w([-\\\\./\\\\w]*[-\\\\w])?/","parenthesized":false},"fragment":false,"hidden":false}],"interfaces":[],"types":[]}`)),"GitGraphGrammarGrammar"),Sf,qE=_(()=>Sf??(Sf=Qn(`{"$type":"Grammar","isDeclared":true,"name":"InfoGrammar","imports":[],"rules":[{"$type":"ParserRule","entry":true,"name":"Info","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[],"cardinality":"*"},{"$type":"Keyword","value":"info"},{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[],"cardinality":"*"},{"$type":"Group","elements":[{"$type":"Keyword","value":"showInfo"},{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[],"cardinality":"*"}],"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[],"cardinality":"?"}]},"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EOL","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}],"cardinality":"+"},"entry":false,"parameters":[]},{"$type":"TerminalRule","name":"BOOLEAN","type":{"$type":"ReturnType","name":"boolean"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"true"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"false"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"FLOAT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/[0-9]+\\\\.[0-9]+(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/0|[1-9][0-9]*(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@7"},"parenthesized":false},{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@8"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRING","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|'([^'\\\\\\\\]|\\\\\\\\.)*'/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ID","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[\\\\w]([-\\\\w]*\\\\w)?/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/","parenthesized":false},"fragment":false}],"interfaces":[],"types":[]}`)),"InfoGrammarGrammar"),Cf,WE=_(()=>Cf??(Cf=Qn(`{"$type":"Grammar","isDeclared":true,"name":"PacketGrammar","imports":[],"rules":[{"$type":"ParserRule","entry":true,"name":"Packet","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[],"cardinality":"*"},{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"packet"},{"$type":"Keyword","value":"packet-beta"}]},{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]},{"$type":"Assignment","feature":"blocks","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]}],"cardinality":"*"}]},"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"PacketBlock","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"Assignment","feature":"start","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":"-"},{"$type":"Assignment","feature":"end","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}}],"cardinality":"?"}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"+"},{"$type":"Assignment","feature":"bits","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}}]}]},{"$type":"Keyword","value":":"},{"$type":"Assignment","feature":"label","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EOL","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}],"cardinality":"+"},"entry":false,"parameters":[]},{"$type":"TerminalRule","name":"BOOLEAN","type":{"$type":"ReturnType","name":"boolean"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"true"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"false"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"FLOAT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/[0-9]+\\\\.[0-9]+(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/0|[1-9][0-9]*(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@8"},"parenthesized":false},{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@9"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRING","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|'([^'\\\\\\\\]|\\\\\\\\.)*'/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ID","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[\\\\w]([-\\\\w]*\\\\w)?/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/","parenthesized":false},"fragment":false}],"interfaces":[],"types":[]}`)),"PacketGrammarGrammar"),kf,VE=_(()=>kf??(kf=Qn(`{"$type":"Grammar","isDeclared":true,"name":"PieGrammar","imports":[],"rules":[{"$type":"ParserRule","entry":true,"name":"Pie","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[],"cardinality":"*"},{"$type":"Keyword","value":"pie"},{"$type":"Assignment","feature":"showData","operator":"?=","terminal":{"$type":"Keyword","value":"showData"},"cardinality":"?"},{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]},{"$type":"Assignment","feature":"sections","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]}],"cardinality":"*"}]},"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"PieSection","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"label","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[]}},{"$type":"Keyword","value":":"},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"TerminalRule","name":"FLOAT_PIE","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/-?[0-9]+\\\\.[0-9]+(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INT_PIE","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/-?(0|[1-9][0-9]*)(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER_PIE","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@2"},"parenthesized":false},{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@3"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"ParserRule","name":"EOL","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}],"cardinality":"+"},"entry":false,"parameters":[]},{"$type":"TerminalRule","name":"BOOLEAN","type":{"$type":"ReturnType","name":"boolean"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"true"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"false"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"FLOAT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/[0-9]+\\\\.[0-9]+(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/0|[1-9][0-9]*(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@11"},"parenthesized":false},{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@12"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRING","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|'([^'\\\\\\\\]|\\\\\\\\.)*'/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ID","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[\\\\w]([-\\\\w]*\\\\w)?/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/","parenthesized":false},"fragment":false}],"interfaces":[],"types":[]}`)),"PieGrammarGrammar"),Nf,KE=_(()=>Nf??(Nf=Qn(`{"$type":"Grammar","isDeclared":true,"name":"RadarGrammar","imports":[],"rules":[{"$type":"ParserRule","entry":true,"name":"Radar","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[],"cardinality":"*"},{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"radar-beta"},{"$type":"Keyword","value":"radar-beta:"},{"$type":"Group","elements":[{"$type":"Keyword","value":"radar-beta"},{"$type":"Keyword","value":":"}]}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[],"cardinality":"*"},{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]},{"$type":"Group","elements":[{"$type":"Keyword","value":"axis"},{"$type":"Assignment","feature":"axes","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"axes","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}}],"cardinality":"*"}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"curve"},{"$type":"Assignment","feature":"curves","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"curves","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]}}],"cardinality":"*"}]},{"$type":"Group","elements":[{"$type":"Assignment","feature":"options","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"options","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]}}],"cardinality":"*"}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}],"cardinality":"*"}]},"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"Label","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"["},{"$type":"Assignment","feature":"label","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@18"},"arguments":[]}},{"$type":"Keyword","value":"]"}]},"entry":false,"parameters":[]},{"$type":"ParserRule","name":"Axis","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[],"cardinality":"?"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Curve","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[],"cardinality":"?"},{"$type":"Keyword","value":"{"},{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]},{"$type":"Keyword","value":"}"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"Entries","definition":{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[],"cardinality":"*"},{"$type":"Assignment","feature":"entries","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":","},{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[],"cardinality":"*"},{"$type":"Assignment","feature":"entries","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]}}],"cardinality":"*"},{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[],"cardinality":"*"}]},{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[],"cardinality":"*"},{"$type":"Assignment","feature":"entries","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":","},{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[],"cardinality":"*"},{"$type":"Assignment","feature":"entries","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}}],"cardinality":"*"},{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[],"cardinality":"*"}]}]},"entry":false,"parameters":[]},{"$type":"ParserRule","name":"DetailedEntry","returnType":{"$ref":"#/interfaces@0"},"definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"axis","operator":"=","terminal":{"$type":"CrossReference","type":{"$ref":"#/rules@2"},"terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]},"deprecatedSyntax":false,"isMulti":false}},{"$type":"Keyword","value":":","cardinality":"?"},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"NumberEntry","returnType":{"$ref":"#/interfaces@0"},"definition":{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Option","definition":{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Keyword","value":"showLegend"}},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Keyword","value":"ticks"}},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Keyword","value":"max"}},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Keyword","value":"min"}},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Keyword","value":"graticule"}},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}}]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"TerminalRule","name":"GRATICULE","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"circle"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"polygon"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"ParserRule","name":"EOL","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}],"cardinality":"+"},"entry":false,"parameters":[]},{"$type":"TerminalRule","name":"BOOLEAN","type":{"$type":"ReturnType","name":"boolean"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"true"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"false"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"FLOAT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/[0-9]+\\\\.[0-9]+(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/0|[1-9][0-9]*(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@15"},"parenthesized":false},{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@16"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRING","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|'([^'\\\\\\\\]|\\\\\\\\.)*'/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ID","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[\\\\w]([-\\\\w]*\\\\w)?/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/","parenthesized":false},"fragment":false}],"interfaces":[{"$type":"Interface","name":"Entry","attributes":[{"$type":"TypeAttribute","name":"axis","isOptional":true,"type":{"$type":"ReferenceType","referenceType":{"$type":"SimpleType","typeRef":{"$ref":"#/rules@2"}},"isMulti":false}},{"$type":"TypeAttribute","name":"value","type":{"$type":"SimpleType","primitiveType":"number"},"isOptional":false}],"superTypes":[]}],"types":[]}`)),"RadarGrammarGrammar"),wf,HE=_(()=>wf??(wf=Qn(`{"$type":"Grammar","isDeclared":true,"name":"TreemapGrammar","rules":[{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]}}],"cardinality":"+"},"entry":false,"parameters":[]},{"$type":"TerminalRule","name":"BOOLEAN","type":{"$type":"ReturnType","name":"boolean"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"true"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"false"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"ParserRule","entry":true,"name":"Treemap","returnType":{"$ref":"#/interfaces@4"},"definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]},{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@0"},"arguments":[]},{"$type":"Assignment","feature":"TreemapRows","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"arguments":[]}}],"cardinality":"*"}]},"fragment":false,"parameters":[]},{"$type":"TerminalRule","name":"TREEMAP_KEYWORD","definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"treemap-beta"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"treemap"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"CLASS_DEF","definition":{"$type":"RegexToken","regex":"/classDef\\\\s+([a-zA-Z_][a-zA-Z0-9_]+)(?:\\\\s+([^;\\\\r\\\\n]*))?(?:;)?/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STYLE_SEPARATOR","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":":::"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"SEPARATOR","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":":"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"COMMA","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":","},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INDENTATION","definition":{"$type":"RegexToken","regex":"/[ \\\\t]{1,}/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WS","definition":{"$type":"RegexToken","regex":"/[ \\\\t]+/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"ML_COMMENT","definition":{"$type":"RegexToken","regex":"/\\\\%\\\\%[^\\\\n]*/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"NL","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/","parenthesized":false},"fragment":false},{"$type":"ParserRule","name":"TreemapRow","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"indent","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[]},"cardinality":"?"},{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"item","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]}]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"ClassDef","dataType":"string","definition":{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Item","returnType":{"$ref":"#/interfaces@0"},"definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@18"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Section","returnType":{"$ref":"#/interfaces@1"},"definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@23"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]},{"$type":"Assignment","feature":"classSelector","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}}],"cardinality":"?"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Leaf","returnType":{"$ref":"#/interfaces@2"},"definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@23"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[],"cardinality":"?"},{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[],"cardinality":"?"},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]},{"$type":"Assignment","feature":"classSelector","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}}],"cardinality":"?"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"TerminalRule","name":"ID2","definition":{"$type":"RegexToken","regex":"/[a-zA-Z_][a-zA-Z0-9_]*/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER2","definition":{"$type":"RegexToken","regex":"/[0-9_\\\\.\\\\,]+/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"ParserRule","name":"MyNumber","dataType":"number","definition":{"$type":"RuleCall","rule":{"$ref":"#/rules@21"},"arguments":[]},"entry":false,"fragment":false,"parameters":[]},{"$type":"TerminalRule","name":"STRING2","definition":{"$type":"RegexToken","regex":"/\\"[^\\"]*\\"|'[^']*'/","parenthesized":false},"fragment":false,"hidden":false}],"interfaces":[{"$type":"Interface","name":"Item","attributes":[{"$type":"TypeAttribute","name":"name","type":{"$type":"SimpleType","primitiveType":"string"},"isOptional":false},{"$type":"TypeAttribute","name":"classSelector","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}}],"superTypes":[]},{"$type":"Interface","name":"Section","superTypes":[{"$ref":"#/interfaces@0"}],"attributes":[]},{"$type":"Interface","name":"Leaf","superTypes":[{"$ref":"#/interfaces@0"}],"attributes":[{"$type":"TypeAttribute","name":"value","type":{"$type":"SimpleType","primitiveType":"number"},"isOptional":false}]},{"$type":"Interface","name":"ClassDefStatement","attributes":[{"$type":"TypeAttribute","name":"className","type":{"$type":"SimpleType","primitiveType":"string"},"isOptional":false},{"$type":"TypeAttribute","name":"styleText","type":{"$type":"SimpleType","primitiveType":"string"},"isOptional":false}],"superTypes":[]},{"$type":"Interface","name":"Treemap","attributes":[{"$type":"TypeAttribute","name":"TreemapRows","type":{"$type":"ArrayType","elementType":{"$type":"SimpleType","typeRef":{"$ref":"#/rules@15"}}},"isOptional":false},{"$type":"TypeAttribute","name":"title","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"accTitle","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"accDescr","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}}],"superTypes":[]}],"imports":[],"types":[],"$comment":"/**\\n * Treemap grammar for Langium\\n * Converted from mindmap grammar\\n *\\n * The ML_COMMENT and NL hidden terminals handle whitespace, comments, and newlines\\n * before the treemap keyword, allowing for empty lines and comments before the\\n * treemap declaration.\\n */"}`)),"TreemapGrammarGrammar"),YE={languageId:"architecture",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},XE={languageId:"gitGraph",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},JE={languageId:"info",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},QE={languageId:"packet",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},ZE={languageId:"pie",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},eA={languageId:"radar",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},tA={languageId:"treemap",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},Zn={AstReflection:_(()=>new kp,"AstReflection")},nA={Grammar:_(()=>zE(),"Grammar"),LanguageMetaData:_(()=>YE,"LanguageMetaData"),parser:{}},rA={Grammar:_(()=>BE(),"Grammar"),LanguageMetaData:_(()=>XE,"LanguageMetaData"),parser:{}},iA={Grammar:_(()=>qE(),"Grammar"),LanguageMetaData:_(()=>JE,"LanguageMetaData"),parser:{}},sA={Grammar:_(()=>WE(),"Grammar"),LanguageMetaData:_(()=>QE,"LanguageMetaData"),parser:{}},aA={Grammar:_(()=>VE(),"Grammar"),LanguageMetaData:_(()=>ZE,"LanguageMetaData"),parser:{}},oA={Grammar:_(()=>KE(),"Grammar"),LanguageMetaData:_(()=>eA,"LanguageMetaData"),parser:{}},cA={Grammar:_(()=>HE(),"Grammar"),LanguageMetaData:_(()=>tA,"LanguageMetaData"),parser:{}},lA=/accDescr(?:[\t ]*:([^\n\r]*)|\s*{([^}]*)})/,uA=/accTitle[\t ]*:([^\n\r]*)/,dA=/title([\t ][^\n\r]*|)/,fA={ACC_DESCR:lA,ACC_TITLE:uA,TITLE:dA},kr,ao=(kr=class extends tp{runConverter(e,n,r){let i=this.runCommonConverter(e,n,r);return i===void 0&&(i=this.runCustomConverter(e,n,r)),i===void 0?super.runConverter(e,n,r):i}runCommonConverter(e,n,r){const i=fA[e.name];if(i===void 0)return;const s=i.exec(n);if(s!==null){if(s[1]!==void 0)return s[1].trim().replace(/[\t ]{2,}/gm," ");if(s[2]!==void 0)return s[2].replace(/^\s*/gm,"").replace(/\s+$/gm,"").replace(/[\t ]{2,}/gm," ").replace(/[\n\r]{2,}/gm,`
160
+ `)}}},_(kr,"AbstractMermaidValueConverter"),kr),Nr,oo=(Nr=class extends ao{runCustomConverter(e,n,r){}},_(Nr,"CommonValueConverter"),Nr),wr,bn=(wr=class extends ep{constructor(e){super(),this.keywords=new Set(e)}buildKeywordTokens(e,n,r){const i=super.buildKeywordTokens(e,n,r);return i.forEach(s=>{this.keywords.has(s.name)&&s.PATTERN!==void 0&&(s.PATTERN=new RegExp(s.PATTERN.toString()+"(?:(?=%%)|(?!\\S))"))}),i}},_(wr,"AbstractMermaidTokenBuilder"),wr),br;br=class extends bn{},_(br,"CommonTokenBuilder");var _r,hA=(_r=class extends bn{constructor(){super(["gitGraph"])}},_(_r,"GitGraphTokenBuilder"),_r),Np={parser:{TokenBuilder:_(()=>new hA,"TokenBuilder"),ValueConverter:_(()=>new oo,"ValueConverter")}};function wp(t=wn){const e=Ve(Nn(t),Zn),n=Ve(kn({shared:e}),rA,Np);return e.ServiceRegistry.register(n),{shared:e,GitGraph:n}}_(wp,"createGitGraphServices");var Ir,pA=(Ir=class extends bn{constructor(){super(["info","showInfo"])}},_(Ir,"InfoTokenBuilder"),Ir),bp={parser:{TokenBuilder:_(()=>new pA,"TokenBuilder"),ValueConverter:_(()=>new oo,"ValueConverter")}};function _p(t=wn){const e=Ve(Nn(t),Zn),n=Ve(kn({shared:e}),iA,bp);return e.ServiceRegistry.register(n),{shared:e,Info:n}}_(_p,"createInfoServices");var $r,mA=($r=class extends bn{constructor(){super(["packet"])}},_($r,"PacketTokenBuilder"),$r),Ip={parser:{TokenBuilder:_(()=>new mA,"TokenBuilder"),ValueConverter:_(()=>new oo,"ValueConverter")}};function $p(t=wn){const e=Ve(Nn(t),Zn),n=Ve(kn({shared:e}),sA,Ip);return e.ServiceRegistry.register(n),{shared:e,Packet:n}}_($p,"createPacketServices");var Pr,gA=(Pr=class extends bn{constructor(){super(["pie","showData"])}},_(Pr,"PieTokenBuilder"),Pr),Lr,yA=(Lr=class extends ao{runCustomConverter(e,n,r){if(e.name==="PIE_SECTION_LABEL")return n.replace(/"/g,"").trim()}},_(Lr,"PieValueConverter"),Lr),Pp={parser:{TokenBuilder:_(()=>new gA,"TokenBuilder"),ValueConverter:_(()=>new yA,"ValueConverter")}};function Lp(t=wn){const e=Ve(Nn(t),Zn),n=Ve(kn({shared:e}),aA,Pp);return e.ServiceRegistry.register(n),{shared:e,Pie:n}}_(Lp,"createPieServices");var Or,TA=(Or=class extends bn{constructor(){super(["architecture"])}},_(Or,"ArchitectureTokenBuilder"),Or),xr,RA=(xr=class extends ao{runCustomConverter(e,n,r){if(e.name==="ARCH_ICON")return n.replace(/[()]/g,"").trim();if(e.name==="ARCH_TEXT_ICON")return n.replace(/["()]/g,"");if(e.name==="ARCH_TITLE")return n.replace(/[[\]]/g,"").trim()}},_(xr,"ArchitectureValueConverter"),xr),Op={parser:{TokenBuilder:_(()=>new TA,"TokenBuilder"),ValueConverter:_(()=>new RA,"ValueConverter")}};function xp(t=wn){const e=Ve(Nn(t),Zn),n=Ve(kn({shared:e}),nA,Op);return e.ServiceRegistry.register(n),{shared:e,Architecture:n}}_(xp,"createArchitectureServices");var Dr,vA=(Dr=class extends bn{constructor(){super(["radar-beta"])}},_(Dr,"RadarTokenBuilder"),Dr),Dp={parser:{TokenBuilder:_(()=>new vA,"TokenBuilder"),ValueConverter:_(()=>new oo,"ValueConverter")}};function Mp(t=wn){const e=Ve(Nn(t),Zn),n=Ve(kn({shared:e}),oA,Dp);return e.ServiceRegistry.register(n),{shared:e,Radar:n}}_(Mp,"createRadarServices");var Mr,EA=(Mr=class extends bn{constructor(){super(["treemap"])}},_(Mr,"TreemapTokenBuilder"),Mr),AA=/classDef\s+([A-Z_a-z]\w+)(?:\s+([^\n\r;]*))?;?/,Fr,SA=(Fr=class extends ao{runCustomConverter(e,n,r){if(e.name==="NUMBER2")return parseFloat(n.replace(/,/g,""));if(e.name==="SEPARATOR")return n.substring(1,n.length-1);if(e.name==="STRING2")return n.substring(1,n.length-1);if(e.name==="INDENTATION")return n.length;if(e.name==="ClassDef"){if(typeof n!="string")return n;const i=AA.exec(n);if(i)return{$type:"ClassDefStatement",className:i[1],styleText:i[2]||void 0}}}},_(Fr,"TreemapValueConverter"),Fr);function Fp(t){const e=t.validation.TreemapValidator,n=t.validation.ValidationRegistry;if(n){const r={Treemap:e.checkSingleRoot.bind(e)};n.register(r,e)}}_(Fp,"registerValidationChecks");var Gr,CA=(Gr=class{checkSingleRoot(e,n){let r;for(const i of e.TreemapRows)i.item&&(r===void 0&&i.indent===void 0?r=0:i.indent===void 0?n("error","Multiple root nodes are not allowed in a treemap.",{node:i,property:"item"}):r!==void 0&&r>=parseInt(i.indent,10)&&n("error","Multiple root nodes are not allowed in a treemap.",{node:i,property:"item"}))}},_(Gr,"TreemapValidator"),Gr),Gp={parser:{TokenBuilder:_(()=>new EA,"TokenBuilder"),ValueConverter:_(()=>new SA,"ValueConverter")},validation:{TreemapValidator:_(()=>new CA,"TreemapValidator")}};function Up(t=wn){const e=Ve(Nn(t),Zn),n=Ve(kn({shared:e}),cA,Gp);return e.ServiceRegistry.register(n),Fp(n),{shared:e,Treemap:n}}_(Up,"createTreemapServices");var Yt={},kA={info:_(async()=>{const{createInfoServices:t}=await In(async()=>{const{createInfoServices:n}=await Promise.resolve().then(()=>bA);return{createInfoServices:n}},void 0),e=t().Info.parser.LangiumParser;Yt.info=e},"info"),packet:_(async()=>{const{createPacketServices:t}=await In(async()=>{const{createPacketServices:n}=await Promise.resolve().then(()=>_A);return{createPacketServices:n}},void 0),e=t().Packet.parser.LangiumParser;Yt.packet=e},"packet"),pie:_(async()=>{const{createPieServices:t}=await In(async()=>{const{createPieServices:n}=await Promise.resolve().then(()=>IA);return{createPieServices:n}},void 0),e=t().Pie.parser.LangiumParser;Yt.pie=e},"pie"),architecture:_(async()=>{const{createArchitectureServices:t}=await In(async()=>{const{createArchitectureServices:n}=await Promise.resolve().then(()=>$A);return{createArchitectureServices:n}},void 0),e=t().Architecture.parser.LangiumParser;Yt.architecture=e},"architecture"),gitGraph:_(async()=>{const{createGitGraphServices:t}=await In(async()=>{const{createGitGraphServices:n}=await Promise.resolve().then(()=>PA);return{createGitGraphServices:n}},void 0),e=t().GitGraph.parser.LangiumParser;Yt.gitGraph=e},"gitGraph"),radar:_(async()=>{const{createRadarServices:t}=await In(async()=>{const{createRadarServices:n}=await Promise.resolve().then(()=>LA);return{createRadarServices:n}},void 0),e=t().Radar.parser.LangiumParser;Yt.radar=e},"radar"),treemap:_(async()=>{const{createTreemapServices:t}=await In(async()=>{const{createTreemapServices:n}=await Promise.resolve().then(()=>OA);return{createTreemapServices:n}},void 0),e=t().Treemap.parser.LangiumParser;Yt.treemap=e},"treemap")};async function NA(t,e){const n=kA[t];if(!n)throw new Error(`Unknown diagram type: ${t}`);Yt[t]||await n();const i=Yt[t].parse(e);if(i.lexerErrors.length>0||i.parserErrors.length>0)throw new wA(i);return i.value}_(NA,"parse");var Ur,wA=(Ur=class extends Error{constructor(e){const n=e.lexerErrors.map(i=>i.message).join(`
161
+ `),r=e.parserErrors.map(i=>i.message).join(`
162
+ `);super(`Parsing failed: ${n} ${r}`),this.result=e}},_(Ur,"MermaidParseError"),Ur);const bA=Object.freeze(Object.defineProperty({__proto__:null,InfoModule:bp,createInfoServices:_p},Symbol.toStringTag,{value:"Module"})),_A=Object.freeze(Object.defineProperty({__proto__:null,PacketModule:Ip,createPacketServices:$p},Symbol.toStringTag,{value:"Module"})),IA=Object.freeze(Object.defineProperty({__proto__:null,PieModule:Pp,createPieServices:Lp},Symbol.toStringTag,{value:"Module"})),$A=Object.freeze(Object.defineProperty({__proto__:null,ArchitectureModule:Op,createArchitectureServices:xp},Symbol.toStringTag,{value:"Module"})),PA=Object.freeze(Object.defineProperty({__proto__:null,GitGraphModule:Np,createGitGraphServices:wp},Symbol.toStringTag,{value:"Module"})),LA=Object.freeze(Object.defineProperty({__proto__:null,RadarModule:Dp,createRadarServices:Mp},Symbol.toStringTag,{value:"Module"})),OA=Object.freeze(Object.defineProperty({__proto__:null,TreemapModule:Gp,createTreemapServices:Up},Symbol.toStringTag,{value:"Module"}));export{NA as p};