@evermore.work/ui 2026.509.0-canary.0

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 (187) hide show
  1. package/README.md +20 -0
  2. package/dist/android-chrome-192x192.png +0 -0
  3. package/dist/android-chrome-512x512.png +0 -0
  4. package/dist/apple-touch-icon.png +0 -0
  5. package/dist/assets/_basePickBy-Ds9oHp1_.js +1 -0
  6. package/dist/assets/_baseUniq-CHYwQyJ_.js +1 -0
  7. package/dist/assets/apl-B4CMkyY2.js +1 -0
  8. package/dist/assets/arc-CiUKtBzk.js +1 -0
  9. package/dist/assets/architectureDiagram-VXUJARFQ-CAW2b6pT.js +36 -0
  10. package/dist/assets/asciiarmor-Df11BRmG.js +1 -0
  11. package/dist/assets/asn1-EdZsLKOL.js +1 -0
  12. package/dist/assets/asterisk-B-8jnY81.js +1 -0
  13. package/dist/assets/blockDiagram-VD42YOAC-1Rk6YCcn.js +122 -0
  14. package/dist/assets/brainfuck-C4LP7Hcl.js +1 -0
  15. package/dist/assets/c4Diagram-YG6GDRKO-DF5RJtyZ.js +10 -0
  16. package/dist/assets/channel-D7SqxhNi.js +1 -0
  17. package/dist/assets/chunk-4BX2VUAB-BSZDJAxk.js +1 -0
  18. package/dist/assets/chunk-55IACEB6-DgVOW-V3.js +1 -0
  19. package/dist/assets/chunk-B4BG7PRW-C1sGAq6t.js +165 -0
  20. package/dist/assets/chunk-DI55MBZ5-DZyfq3VK.js +220 -0
  21. package/dist/assets/chunk-FMBD7UC4-D6K9nYXi.js +15 -0
  22. package/dist/assets/chunk-QN33PNHL-BJ0Ni2l9.js +1 -0
  23. package/dist/assets/chunk-QZHKN3VN-Cwjr0vxG.js +1 -0
  24. package/dist/assets/chunk-TZMSLE5B-C2RGCkyV.js +1 -0
  25. package/dist/assets/classDiagram-2ON5EDUG-Cx1PlXXb.js +1 -0
  26. package/dist/assets/classDiagram-v2-WZHVMYZB-Cx1PlXXb.js +1 -0
  27. package/dist/assets/clike-B9uivgTg.js +1 -0
  28. package/dist/assets/clojure-BMjYHr_A.js +1 -0
  29. package/dist/assets/clone-5ZE-SRxk.js +1 -0
  30. package/dist/assets/cmake-BQqOBYOt.js +1 -0
  31. package/dist/assets/cobol-CWcv1MsR.js +1 -0
  32. package/dist/assets/coffeescript-S37ZYGWr.js +1 -0
  33. package/dist/assets/commonlisp-DBKNyK5s.js +1 -0
  34. package/dist/assets/cose-bilkent-S5V4N54A-CW0Mh3DC.js +1 -0
  35. package/dist/assets/crystal-SjHAIU92.js +1 -0
  36. package/dist/assets/css-BnMrqG3P.js +1 -0
  37. package/dist/assets/cypher-C_CwsFkJ.js +1 -0
  38. package/dist/assets/cytoscape.esm-jbPEKk2Y.js +321 -0
  39. package/dist/assets/d-pRatUO7H.js +1 -0
  40. package/dist/assets/dagre-6UL2VRFP-BXDbyGyw.js +4 -0
  41. package/dist/assets/defaultLocale-DX6XiGOO.js +1 -0
  42. package/dist/assets/diagram-PSM6KHXK-BHW-b3P9.js +24 -0
  43. package/dist/assets/diagram-QEK2KX5R-vjGsaMmX.js +43 -0
  44. package/dist/assets/diagram-S2PKOQOG-BHVhRqBj.js +24 -0
  45. package/dist/assets/diff-DbItnlRl.js +1 -0
  46. package/dist/assets/dockerfile-BKs6k2Af.js +1 -0
  47. package/dist/assets/dtd-DF_7sFjM.js +1 -0
  48. package/dist/assets/dylan-DwRh75JA.js +1 -0
  49. package/dist/assets/ebnf-CDyGwa7X.js +1 -0
  50. package/dist/assets/ecl-Cabwm37j.js +1 -0
  51. package/dist/assets/eiffel-CnydiIhH.js +1 -0
  52. package/dist/assets/elm-vLlmbW-K.js +1 -0
  53. package/dist/assets/erDiagram-Q2GNP2WA-DwsdEDB2.js +60 -0
  54. package/dist/assets/erlang-BNw1qcRV.js +1 -0
  55. package/dist/assets/factor-kuTfRLto.js +1 -0
  56. package/dist/assets/fcl-Kvtd6kyn.js +1 -0
  57. package/dist/assets/flowDiagram-NV44I4VS-Bv7drkZu.js +162 -0
  58. package/dist/assets/forth-Ffai-XNe.js +1 -0
  59. package/dist/assets/fortran-DYz_wnZ1.js +1 -0
  60. package/dist/assets/ganttDiagram-JELNMOA3-DyYAGyjV.js +267 -0
  61. package/dist/assets/gas-Bneqetm1.js +1 -0
  62. package/dist/assets/gherkin-heZmZLOM.js +1 -0
  63. package/dist/assets/gitGraphDiagram-V2S2FVAM-DmKJJ2X0.js +65 -0
  64. package/dist/assets/graph-BI12oqz9.js +1 -0
  65. package/dist/assets/groovy-D9Dt4D0W.js +1 -0
  66. package/dist/assets/haskell-Cw1EW3IL.js +1 -0
  67. package/dist/assets/haxe-H-WmDvRZ.js +1 -0
  68. package/dist/assets/http-DBlCnlav.js +1 -0
  69. package/dist/assets/idl-BEugSyMb.js +1 -0
  70. package/dist/assets/index-B1YmgKZD.js +1 -0
  71. package/dist/assets/index-B5EG1mbW.js +1 -0
  72. package/dist/assets/index-B63DPkk7.js +2 -0
  73. package/dist/assets/index-BAalUM2u.js +1 -0
  74. package/dist/assets/index-BCyQqUEQ.js +1 -0
  75. package/dist/assets/index-BSRsyahM.js +1 -0
  76. package/dist/assets/index-B_Iu4zUd.js +1 -0
  77. package/dist/assets/index-C-BdZUIH.js +1 -0
  78. package/dist/assets/index-CGgUnSQj.js +6 -0
  79. package/dist/assets/index-COTIEysQ.js +1 -0
  80. package/dist/assets/index-ChSqseHR.js +1 -0
  81. package/dist/assets/index-Ckf1hADU.js +534 -0
  82. package/dist/assets/index-D4M1TSCO.js +3 -0
  83. package/dist/assets/index-DCTk2CN-.js +7 -0
  84. package/dist/assets/index-DI-wyUUr.js +1 -0
  85. package/dist/assets/index-DNtLqZ-D.js +1 -0
  86. package/dist/assets/index-DSRR_614.css +1 -0
  87. package/dist/assets/index-DarmgkJv.js +1 -0
  88. package/dist/assets/index-DdcxF71a.js +1 -0
  89. package/dist/assets/index-DfwWaMga.js +1 -0
  90. package/dist/assets/index-SzUviW57.js +13 -0
  91. package/dist/assets/index-VjZhELb6.js +1 -0
  92. package/dist/assets/index-mEcmy8wG.js +1 -0
  93. package/dist/assets/index-q7ldlDv6.js +1 -0
  94. package/dist/assets/infoDiagram-HS3SLOUP-CqAxMRbC.js +2 -0
  95. package/dist/assets/init-Gi6I4Gst.js +1 -0
  96. package/dist/assets/javascript-iXu5QeM3.js +1 -0
  97. package/dist/assets/journeyDiagram-XKPGCS4Q-DUJiudtY.js +139 -0
  98. package/dist/assets/julia-DuME0IfC.js +1 -0
  99. package/dist/assets/kanban-definition-3W4ZIXB7-CiRgJ4X2.js +89 -0
  100. package/dist/assets/katex-B95LWT_Q.js +261 -0
  101. package/dist/assets/layout-DJ8V2pqt.js +1 -0
  102. package/dist/assets/linear-BwnNUuyZ.js +1 -0
  103. package/dist/assets/livescript-BwQOo05w.js +1 -0
  104. package/dist/assets/lua-BgMRiT3U.js +1 -0
  105. package/dist/assets/mathematica-DTrFuWx2.js +1 -0
  106. package/dist/assets/mbox-CNhZ1qSd.js +1 -0
  107. package/dist/assets/mermaid.core-DLCiCWj4.js +250 -0
  108. package/dist/assets/mindmap-definition-VGOIOE7T-epIiGA01.js +68 -0
  109. package/dist/assets/mirc-CjQqDB4T.js +1 -0
  110. package/dist/assets/mllike-CXdrOF99.js +1 -0
  111. package/dist/assets/modelica-Dc1JOy9r.js +1 -0
  112. package/dist/assets/mscgen-BA5vi2Kp.js +1 -0
  113. package/dist/assets/mumps-BT43cFF4.js +1 -0
  114. package/dist/assets/nginx-DdIZxoE0.js +1 -0
  115. package/dist/assets/nsis-LdVXkNf5.js +1 -0
  116. package/dist/assets/ntriples-BfvgReVJ.js +1 -0
  117. package/dist/assets/octave-Ck1zUtKM.js +1 -0
  118. package/dist/assets/ordinal-Cboi1Yqb.js +1 -0
  119. package/dist/assets/oz-BzwKVEFT.js +1 -0
  120. package/dist/assets/pascal--L3eBynH.js +1 -0
  121. package/dist/assets/perl-CdXCOZ3F.js +1 -0
  122. package/dist/assets/pieDiagram-ADFJNKIX-CHx4pJ9Y.js +30 -0
  123. package/dist/assets/pig-CevX1Tat.js +1 -0
  124. package/dist/assets/powershell-CFHJl5sT.js +1 -0
  125. package/dist/assets/properties-C78fOPTZ.js +1 -0
  126. package/dist/assets/protobuf-ChK-085T.js +1 -0
  127. package/dist/assets/pug-DeIclll2.js +1 -0
  128. package/dist/assets/puppet-DMA9R1ak.js +1 -0
  129. package/dist/assets/python-BuPzkPfP.js +1 -0
  130. package/dist/assets/q-pXgVlZs6.js +1 -0
  131. package/dist/assets/quadrantDiagram-AYHSOK5B-D0tXmGxE.js +7 -0
  132. package/dist/assets/r-B6wPVr8A.js +1 -0
  133. package/dist/assets/requirementDiagram-UZGBJVZJ-BgFc9Xc4.js +64 -0
  134. package/dist/assets/rpm-CTu-6PCP.js +1 -0
  135. package/dist/assets/ruby-B2Rjki9n.js +1 -0
  136. package/dist/assets/sankeyDiagram-TZEHDZUN-DqntX5wV.js +10 -0
  137. package/dist/assets/sas-B4kiWyti.js +1 -0
  138. package/dist/assets/scheme-C41bIUwD.js +1 -0
  139. package/dist/assets/sequenceDiagram-WL72ISMW-BfIJeGAT.js +145 -0
  140. package/dist/assets/shell-CjFT_Tl9.js +1 -0
  141. package/dist/assets/sieve-C3Gn_uJK.js +1 -0
  142. package/dist/assets/simple-mode-GW_nhZxv.js +1 -0
  143. package/dist/assets/smalltalk-CnHTOXQT.js +1 -0
  144. package/dist/assets/solr-DehyRSwq.js +1 -0
  145. package/dist/assets/sparql-DkYu6x3z.js +1 -0
  146. package/dist/assets/spreadsheet-BCZA_wO0.js +1 -0
  147. package/dist/assets/sql-D0XecflT.js +1 -0
  148. package/dist/assets/stateDiagram-FKZM4ZOC-CBlsmcoW.js +1 -0
  149. package/dist/assets/stateDiagram-v2-4FDKWEC3-DJtH2tCS.js +1 -0
  150. package/dist/assets/stex-C3f8Ysf7.js +1 -0
  151. package/dist/assets/stylus-B533Al4x.js +1 -0
  152. package/dist/assets/swift-BzpIVaGY.js +1 -0
  153. package/dist/assets/tcl-DVfN8rqt.js +1 -0
  154. package/dist/assets/textile-CnDTJFAw.js +1 -0
  155. package/dist/assets/tiddlywiki-DO-Gjzrf.js +1 -0
  156. package/dist/assets/tiki-DGYXhP31.js +1 -0
  157. package/dist/assets/timeline-definition-IT6M3QCI-C2XyT4Lo.js +61 -0
  158. package/dist/assets/toml-Bm5Em-hy.js +1 -0
  159. package/dist/assets/treemap-GDKQZRPO-DvTrxs0e.js +154 -0
  160. package/dist/assets/troff-wAsdV37c.js +1 -0
  161. package/dist/assets/ttcn-CfJYG6tj.js +1 -0
  162. package/dist/assets/ttcn-cfg-B9xdYoR4.js +1 -0
  163. package/dist/assets/turtle-B1tBg_DP.js +1 -0
  164. package/dist/assets/vb-CmGdzxic.js +1 -0
  165. package/dist/assets/vbscript-BuJXcnF6.js +1 -0
  166. package/dist/assets/velocity-D8B20fx6.js +1 -0
  167. package/dist/assets/verilog-C6RDOZhf.js +1 -0
  168. package/dist/assets/vhdl-lSbBsy5d.js +1 -0
  169. package/dist/assets/webidl-ZXfAyPTL.js +1 -0
  170. package/dist/assets/xquery-DzFWVndE.js +1 -0
  171. package/dist/assets/xychartDiagram-PRI3JC2R-pTizTbG0.js +7 -0
  172. package/dist/assets/yacas-BJ4BC0dw.js +1 -0
  173. package/dist/assets/z80-Hz9HOZM7.js +1 -0
  174. package/dist/brands/opencode-logo-dark-square.svg +18 -0
  175. package/dist/brands/opencode-logo-light-square.svg +18 -0
  176. package/dist/favicon-16x16.png +0 -0
  177. package/dist/favicon-32x32.png +0 -0
  178. package/dist/favicon.ico +0 -0
  179. package/dist/favicon.svg +9 -0
  180. package/dist/index.html +49 -0
  181. package/dist/site.webmanifest +30 -0
  182. package/dist/sw.js +42 -0
  183. package/dist/worktree-favicon-16x16.png +0 -0
  184. package/dist/worktree-favicon-32x32.png +0 -0
  185. package/dist/worktree-favicon.ico +0 -0
  186. package/dist/worktree-favicon.svg +9 -0
  187. package/package.json +21 -0
@@ -0,0 +1,154 @@
1
+ var Lh=Object.defineProperty;var Oh=(t,e,n)=>e in t?Lh(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n;var ln=(t,e,n)=>Oh(t,typeof e!="symbol"?e+"":e,n);import{M as xh,_ as An}from"./index-Ckf1hADU.js";import{bA as Dh,bB as Mh,aP as bd,bk as Fh,aT as Gh,aQ as je,ar as Uh,as as bl,ba as qh,bd as _d,be as Id,bb as jh,bp as _l,au as Xn,av as ae,aR as zh,aL as Bh}from"./mermaid.core-DLCiCWj4.js";import{k as jr,j as tl,g as Yr,S as Wh,w as Vh,x as Kh,c as Pd,v as $e,y as $d,l as Hh,z as Yh,A as Xh,B as Jh,C as Qh,a as Ld,d as q,i as tn,r as Je,f as ht,D as Fe}from"./_baseUniq-CHYwQyJ_.js";import{j as nl,m as M,d as Zh,f as yt,g as zr,h as z,i as rl,l as zn,e as ep}from"./_basePickBy-Ds9oHp1_.js";import{c as Be}from"./clone-5ZE-SRxk.js";var tp=Object.prototype,np=tp.hasOwnProperty,ft=Dh(function(t,e){if(Mh(e)||bd(e)){Fh(e,jr(e),t);return}for(var n in e)np.call(e,n)&&Gh(t,n,e[n])});function Od(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 rs(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 rp(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 ip(t,e,n,r){return tl(t,function(i,s,a){e(r,i,n(i),a)}),r}function sp(t,e){return function(n,r){var i=je(n)?rp:ip,s=e?e():{};return i(n,t,Yr(r),s)}}var ap=200;function op(t,e,n,r){var i=-1,s=Vh,a=!0,o=t.length,c=[],l=e.length;if(!o)return c;e.length>=ap&&(s=Kh,a=!1,e=new Wh(e));e:for(;++i<o;){var u=t[i],f=u;if(u=u!==0?u:0,a&&f===f){for(var g=l;g--;)if(e[g]===f)continue e;c.push(u)}else s(e,f,r)||c.push(u)}return c}var Ia=Uh(function(t,e){return bl(t)?op(t,Pd(e,1,bl,!0)):[]});function Ge(t,e,n){var r=t==null?0:t.length;return r?(e=e===void 0?1:nl(e),Od(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:nl(e),e=r-e,Od(t,0,e<0?0:e)):[]}function cp(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 lp(t,e){var n=!0;return tl(t,function(r,i,s){return n=!!e(r,i,s),n}),n}function Ct(t,e,n){var r=je(t)?cp:lp;return r(t,Yr(e))}function wt(t){return t&&t.length?t[0]:void 0}function dt(t,e){return Pd(M(t,e))}var up=Object.prototype,dp=up.hasOwnProperty,fp=sp(function(t,e,n){dp.call(t,n)?t[n].push(e):qh(t,n,[e])}),hp="[object String]";function nt(t){return typeof t=="string"||!je(t)&&_d(t)&&Id(t)==hp}var pp=Math.max;function et(t,e,n,r){t=bd(t)?t:$e(t),n=n?nl(n):0;var i=t.length;return n<0&&(n=pp(i+n,0)),nt(t)?n<=i&&t.indexOf(e,n)>-1:!!i&&$d(t,e,n)>-1}function Il(t,e,n){var r=t==null?0:t.length;if(!r)return-1;var i=0;return $d(t,e,i)}var mp="[object RegExp]";function gp(t){return _d(t)&&Id(t)==mp}var Pl=_l&&_l.isRegExp,nn=Pl?jh(Pl):gp,yp="Expected a function";function Tp(t){if(typeof t!="function")throw new TypeError(yp);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 Nt(t,e){if(t==null)return{};var n=Hh(Yh(t),function(r){return[r]});return e=Yr(e),Zh(t,n,function(r,i){return e(r,i[0])})}function Pa(t,e){var n=je(t)?Xh:Jh;return n(t,Tp(Yr(e)))}function Rp(t,e){var n;return tl(t,function(r,i,s){return n=e(r,i,s),!n}),!!n}function xd(t,e,n){var r=je(t)?Qh:Rp;return r(t,Yr(e))}function il(t){return t&&t.length?Ld(t):[]}function vp(t,e){return t&&t.length?Ld(t,Yr(e)):[]}function We(t){return typeof t=="object"&&t!==null&&typeof t.$type=="string"}function St(t){return typeof t=="object"&&t!==null&&typeof t.$refText=="string"&&"ref"in t}function dn(t){return typeof t=="object"&&t!==null&&typeof t.$refText=="string"&&"items"in t}function Ep(t){return typeof t=="object"&&t!==null&&typeof t.name=="string"&&typeof t.type=="string"&&typeof t.path=="string"}function hi(t){return typeof t=="object"&&t!==null&&typeof t.info=="object"&&typeof t.message=="string"}class Dd{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 Wi(t){return typeof t=="object"&&t!==null&&Array.isArray(t.content)}function Md(t){return typeof t=="object"&&t!==null&&typeof t.tokenType=="object"}function Fd(t){return Wi(t)&&typeof t.fullText=="string"}class Ue{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 Ue(()=>({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 lt})}join(e=","){const n=this.iterator();let r="",i,s=!1;do i=n.next(),i.done||(s&&(r+=e),r+=Ap(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 Ue(this.startFn,n=>{const{done:r,value:i}=this.nextFn(n);return r?lt:{done:!1,value:e(i)}})}filter(e){return new Ue(this.startFn,n=>{let r;do if(r=this.nextFn(n),!r.done&&e(r.value))return r;while(!r.done);return lt})}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 Ue(()=>({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(oa(s))n.iterator=s[Symbol.iterator]();else return{done:!1,value:s}}}while(n.iterator);return lt})}flat(e){if(e===void 0&&(e=1),e<=0)return this;const n=e>1?this.flat(e-1):this;return new Ue(()=>({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(oa(s))r.iterator=s[Symbol.iterator]();else return{done:!1,value:s}}while(r.iterator);return lt})}head(){const n=this.iterator().next();if(!n.done)return n.value}tail(e=1){return new Ue(()=>{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 Ue(()=>({size:0,state:this.startFn()}),n=>(n.size++,n.size>e?lt:this.nextFn(n.state)))}distinct(e){return new Ue(()=>({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 lt})}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 Ap(t){return typeof t=="string"?t:typeof t>"u"?"undefined":typeof t.toString=="function"?t.toString():Object.prototype.toString.call(t)}function oa(t){return!!t&&typeof t[Symbol.iterator]=="function"}const Gd=new Ue(()=>{},()=>lt),lt=Object.freeze({done:!0,value:void 0});function ge(...t){if(t.length===1){const e=t[0];if(e instanceof Ue)return e;if(oa(e))return new Ue(()=>e[Symbol.iterator](),n=>n.next());if(typeof e.length=="number")return new Ue(()=>({index:0}),n=>n.index<e.length?{done:!1,value:e[n.index++]}:lt)}return t.length>1?new Ue(()=>({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++];oa(n)?e.iterator=n[Symbol.iterator]():n&&typeof n.length=="number"&&(e.array=n)}}while(e.iterator||e.array||e.collIndex<t.length);return lt}):Gd}class sl extends Ue{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 lt})}iterator(){const e={state:this.startFn(),next:()=>this.nextFn(e.state),prune:()=>{e.state.pruned=!0},[Symbol.iterator]:()=>e};return e}}var Ro;(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})(Ro||(Ro={}));function vo(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&&vo(i,e))}):We(r)&&(r.$container=t,r.$containerProperty=n,e.deep&&vo(r,e)))}function $a(t,e){let n=t;for(;n;){if(e(n))return n;n=n.$container}}function Qt(t){const n=Vs(t).$document;if(!n)throw new Error("AST node has no document.");return n}function Vs(t){for(;t.$container;)t=t.$container;return t}function $l(t){return St(t)?t.ref?[t.ref]:[]:dn(t)?t.items.map(e=>e.ref):[]}function al(t,e){if(!t)throw new Error("Node must be an AstNode.");const n=e==null?void 0:e.range;return new Ue(()=>({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++,Ll(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)&&Ll(o,n))return{done:!1,value:o}}r.arrayIndex=0}}r.keyIndex++}return lt})}function is(t,e){if(!t)throw new Error("Root node must be an AstNode.");return new sl(t,n=>al(n,e))}function Zt(t,e){if(!t)throw new Error("Root node must be an AstNode.");return new sl(t,n=>al(n,e),{includeRoot:!0})}function Ll(t,e){var r;if(!e)return!0;const n=(r=t.$cstNode)==null?void 0:r.range;return n?Wp(n,e):!1}function ca(t){return new Ue(()=>({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(St(r)||dn(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(St(s)||dn(r))return{done:!1,value:{reference:s,container:t,property:n,index:i}}}e.arrayIndex=0}}e.keyIndex++}return lt})}function Sp(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]=Ud(i.defaultValue))}function Ud(t){return Array.isArray(t)?[...t.map(Ud)]:t}const ct={$type:"AbstractElement",cardinality:"cardinality"};function Cp(t){return ee.isInstance(t,ct.$type)}const Ks={$type:"AbstractParserRule"};function ss(t){return ee.isInstance(t,Ks.$type)}const Ps={$type:"AbstractRule"},Et={$type:"AbstractType"},xn={$type:"Action",cardinality:"cardinality",feature:"feature",inferredType:"inferredType",operator:"operator",type:"type"};function La(t){return ee.isInstance(t,xn.$type)}const Hs={$type:"Alternatives",cardinality:"cardinality",elements:"elements"};function qd(t){return ee.isInstance(t,Hs.$type)}const Ol={$type:"ArrayLiteral",elements:"elements"},xl={$type:"ArrayType",elementType:"elementType"},Dn={$type:"Assignment",cardinality:"cardinality",feature:"feature",operator:"operator",predicate:"predicate",terminal:"terminal"};function Bn(t){return ee.isInstance(t,Dn.$type)}const Eo={$type:"BooleanLiteral",true:"true"};function kp(t){return ee.isInstance(t,Eo.$type)}const Mn={$type:"CharacterRange",cardinality:"cardinality",left:"left",lookahead:"lookahead",parenthesized:"parenthesized",right:"right"};function wp(t){return ee.isInstance(t,Mn.$type)}const rr={$type:"Condition"},Ys={$type:"Conjunction",left:"left",right:"right"};function Np(t){return ee.isInstance(t,Ys.$type)}const Fn={$type:"CrossReference",cardinality:"cardinality",deprecatedSyntax:"deprecatedSyntax",isMulti:"isMulti",terminal:"terminal",type:"type"};function Oa(t){return ee.isInstance(t,Fn.$type)}const Xs={$type:"Disjunction",left:"left",right:"right"};function bp(t){return ee.isInstance(t,Xs.$type)}const Ao={$type:"EndOfFile",cardinality:"cardinality"};function _p(t){return ee.isInstance(t,Ao.$type)}const Sn={$type:"Grammar",imports:"imports",interfaces:"interfaces",isDeclared:"isDeclared",name:"name",rules:"rules",types:"types"},Dl={$type:"GrammarImport",path:"path"},lr={$type:"Group",cardinality:"cardinality",elements:"elements",guardCondition:"guardCondition",predicate:"predicate"};function ol(t){return ee.isInstance(t,lr.$type)}const So={$type:"InferredType",name:"name"};function jd(t){return ee.isInstance(t,So.$type)}const Vt={$type:"InfixRule",call:"call",dataType:"dataType",inferredType:"inferredType",name:"name",operators:"operators",parameters:"parameters",returnType:"returnType"};function la(t){return ee.isInstance(t,Vt.$type)}const Ha={$type:"InfixRuleOperatorList",associativity:"associativity",operators:"operators"},Ml={$type:"InfixRuleOperators",precedences:"precedences"},Oi={$type:"Interface",attributes:"attributes",name:"name",superTypes:"superTypes"};function Ip(t){return ee.isInstance(t,Oi.$type)}const xi={$type:"Keyword",cardinality:"cardinality",predicate:"predicate",value:"value"};function Wn(t){return ee.isInstance(t,xi.$type)}const $s={$type:"NamedArgument",calledByName:"calledByName",parameter:"parameter",value:"value"},ur={$type:"NegatedToken",cardinality:"cardinality",lookahead:"lookahead",parenthesized:"parenthesized",terminal:"terminal"};function Pp(t){return ee.isInstance(t,ur.$type)}const Co={$type:"Negation",value:"value"};function $p(t){return ee.isInstance(t,Co.$type)}const Fl={$type:"NumberLiteral",value:"value"},Ls={$type:"Parameter",name:"name"},ko={$type:"ParameterReference",parameter:"parameter"};function Lp(t){return ee.isInstance(t,ko.$type)}const Pt={$type:"ParserRule",dataType:"dataType",definition:"definition",entry:"entry",fragment:"fragment",inferredType:"inferredType",name:"name",parameters:"parameters",returnType:"returnType"};function sn(t){return ee.isInstance(t,Pt.$type)}const Ya={$type:"ReferenceType",isMulti:"isMulti",referenceType:"referenceType"},dr={$type:"RegexToken",cardinality:"cardinality",lookahead:"lookahead",parenthesized:"parenthesized",regex:"regex"};function Op(t){return ee.isInstance(t,dr.$type)}const wo={$type:"ReturnType",name:"name"};function xp(t){return ee.isInstance(t,wo.$type)}const fr={$type:"RuleCall",arguments:"arguments",cardinality:"cardinality",predicate:"predicate",rule:"rule"};function Vn(t){return ee.isInstance(t,fr.$type)}const Di={$type:"SimpleType",primitiveType:"primitiveType",stringType:"stringType",typeRef:"typeRef"};function Dp(t){return ee.isInstance(t,Di.$type)}const Gl={$type:"StringLiteral",value:"value"},hr={$type:"TerminalAlternatives",cardinality:"cardinality",elements:"elements",lookahead:"lookahead",parenthesized:"parenthesized"};function Mp(t){return ee.isInstance(t,hr.$type)}const gt={$type:"TerminalElement",cardinality:"cardinality",lookahead:"lookahead",parenthesized:"parenthesized"},pr={$type:"TerminalGroup",cardinality:"cardinality",elements:"elements",lookahead:"lookahead",parenthesized:"parenthesized"};function Fp(t){return ee.isInstance(t,pr.$type)}const un={$type:"TerminalRule",definition:"definition",fragment:"fragment",hidden:"hidden",name:"name",type:"type"};function an(t){return ee.isInstance(t,un.$type)}const mr={$type:"TerminalRuleCall",cardinality:"cardinality",lookahead:"lookahead",parenthesized:"parenthesized",rule:"rule"};function Gp(t){return ee.isInstance(t,mr.$type)}const Js={$type:"Type",name:"name",type:"type"};function Up(t){return ee.isInstance(t,Js.$type)}const pi={$type:"TypeAttribute",defaultValue:"defaultValue",isOptional:"isOptional",name:"name",type:"type"},mi={$type:"TypeDefinition"},Ul={$type:"UnionType",types:"types"},Qs={$type:"UnorderedGroup",cardinality:"cardinality",elements:"elements"};function zd(t){return ee.isInstance(t,Qs.$type)}const gr={$type:"UntilToken",cardinality:"cardinality",lookahead:"lookahead",parenthesized:"parenthesized",terminal:"terminal"};function qp(t){return ee.isInstance(t,gr.$type)}const gi={$type:"ValueLiteral"},Mi={$type:"Wildcard",cardinality:"cardinality",lookahead:"lookahead",parenthesized:"parenthesized"};function jp(t){return ee.isInstance(t,Mi.$type)}class Bd extends Dd{constructor(){super(...arguments),this.types={AbstractElement:{name:ct.$type,properties:{cardinality:{name:ct.cardinality}},superTypes:[]},AbstractParserRule:{name:Ks.$type,properties:{},superTypes:[Ps.$type,Et.$type]},AbstractRule:{name:Ps.$type,properties:{},superTypes:[]},AbstractType:{name:Et.$type,properties:{},superTypes:[]},Action:{name:xn.$type,properties:{cardinality:{name:xn.cardinality},feature:{name:xn.feature},inferredType:{name:xn.inferredType},operator:{name:xn.operator},type:{name:xn.type,referenceType:Et.$type}},superTypes:[ct.$type]},Alternatives:{name:Hs.$type,properties:{cardinality:{name:Hs.cardinality},elements:{name:Hs.elements,defaultValue:[]}},superTypes:[ct.$type]},ArrayLiteral:{name:Ol.$type,properties:{elements:{name:Ol.elements,defaultValue:[]}},superTypes:[gi.$type]},ArrayType:{name:xl.$type,properties:{elementType:{name:xl.elementType}},superTypes:[mi.$type]},Assignment:{name:Dn.$type,properties:{cardinality:{name:Dn.cardinality},feature:{name:Dn.feature},operator:{name:Dn.operator},predicate:{name:Dn.predicate},terminal:{name:Dn.terminal}},superTypes:[ct.$type]},BooleanLiteral:{name:Eo.$type,properties:{true:{name:Eo.true,defaultValue:!1}},superTypes:[rr.$type,gi.$type]},CharacterRange:{name:Mn.$type,properties:{cardinality:{name:Mn.cardinality},left:{name:Mn.left},lookahead:{name:Mn.lookahead},parenthesized:{name:Mn.parenthesized,defaultValue:!1},right:{name:Mn.right}},superTypes:[gt.$type]},Condition:{name:rr.$type,properties:{},superTypes:[]},Conjunction:{name:Ys.$type,properties:{left:{name:Ys.left},right:{name:Ys.right}},superTypes:[rr.$type]},CrossReference:{name:Fn.$type,properties:{cardinality:{name:Fn.cardinality},deprecatedSyntax:{name:Fn.deprecatedSyntax,defaultValue:!1},isMulti:{name:Fn.isMulti,defaultValue:!1},terminal:{name:Fn.terminal},type:{name:Fn.type,referenceType:Et.$type}},superTypes:[ct.$type]},Disjunction:{name:Xs.$type,properties:{left:{name:Xs.left},right:{name:Xs.right}},superTypes:[rr.$type]},EndOfFile:{name:Ao.$type,properties:{cardinality:{name:Ao.cardinality}},superTypes:[ct.$type]},Grammar:{name:Sn.$type,properties:{imports:{name:Sn.imports,defaultValue:[]},interfaces:{name:Sn.interfaces,defaultValue:[]},isDeclared:{name:Sn.isDeclared,defaultValue:!1},name:{name:Sn.name},rules:{name:Sn.rules,defaultValue:[]},types:{name:Sn.types,defaultValue:[]}},superTypes:[]},GrammarImport:{name:Dl.$type,properties:{path:{name:Dl.path}},superTypes:[]},Group:{name:lr.$type,properties:{cardinality:{name:lr.cardinality},elements:{name:lr.elements,defaultValue:[]},guardCondition:{name:lr.guardCondition},predicate:{name:lr.predicate}},superTypes:[ct.$type]},InferredType:{name:So.$type,properties:{name:{name:So.name}},superTypes:[Et.$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:Et.$type}},superTypes:[Ks.$type]},InfixRuleOperatorList:{name:Ha.$type,properties:{associativity:{name:Ha.associativity},operators:{name:Ha.operators,defaultValue:[]}},superTypes:[]},InfixRuleOperators:{name:Ml.$type,properties:{precedences:{name:Ml.precedences,defaultValue:[]}},superTypes:[]},Interface:{name:Oi.$type,properties:{attributes:{name:Oi.attributes,defaultValue:[]},name:{name:Oi.name},superTypes:{name:Oi.superTypes,defaultValue:[],referenceType:Et.$type}},superTypes:[Et.$type]},Keyword:{name:xi.$type,properties:{cardinality:{name:xi.cardinality},predicate:{name:xi.predicate},value:{name:xi.value}},superTypes:[ct.$type]},NamedArgument:{name:$s.$type,properties:{calledByName:{name:$s.calledByName,defaultValue:!1},parameter:{name:$s.parameter,referenceType:Ls.$type},value:{name:$s.value}},superTypes:[]},NegatedToken:{name:ur.$type,properties:{cardinality:{name:ur.cardinality},lookahead:{name:ur.lookahead},parenthesized:{name:ur.parenthesized,defaultValue:!1},terminal:{name:ur.terminal}},superTypes:[gt.$type]},Negation:{name:Co.$type,properties:{value:{name:Co.value}},superTypes:[rr.$type]},NumberLiteral:{name:Fl.$type,properties:{value:{name:Fl.value}},superTypes:[gi.$type]},Parameter:{name:Ls.$type,properties:{name:{name:Ls.name}},superTypes:[]},ParameterReference:{name:ko.$type,properties:{parameter:{name:ko.parameter,referenceType:Ls.$type}},superTypes:[rr.$type]},ParserRule:{name:Pt.$type,properties:{dataType:{name:Pt.dataType},definition:{name:Pt.definition},entry:{name:Pt.entry,defaultValue:!1},fragment:{name:Pt.fragment,defaultValue:!1},inferredType:{name:Pt.inferredType},name:{name:Pt.name},parameters:{name:Pt.parameters,defaultValue:[]},returnType:{name:Pt.returnType,referenceType:Et.$type}},superTypes:[Ks.$type]},ReferenceType:{name:Ya.$type,properties:{isMulti:{name:Ya.isMulti,defaultValue:!1},referenceType:{name:Ya.referenceType}},superTypes:[mi.$type]},RegexToken:{name:dr.$type,properties:{cardinality:{name:dr.cardinality},lookahead:{name:dr.lookahead},parenthesized:{name:dr.parenthesized,defaultValue:!1},regex:{name:dr.regex}},superTypes:[gt.$type]},ReturnType:{name:wo.$type,properties:{name:{name:wo.name}},superTypes:[]},RuleCall:{name:fr.$type,properties:{arguments:{name:fr.arguments,defaultValue:[]},cardinality:{name:fr.cardinality},predicate:{name:fr.predicate},rule:{name:fr.rule,referenceType:Ps.$type}},superTypes:[ct.$type]},SimpleType:{name:Di.$type,properties:{primitiveType:{name:Di.primitiveType},stringType:{name:Di.stringType},typeRef:{name:Di.typeRef,referenceType:Et.$type}},superTypes:[mi.$type]},StringLiteral:{name:Gl.$type,properties:{value:{name:Gl.value}},superTypes:[gi.$type]},TerminalAlternatives:{name:hr.$type,properties:{cardinality:{name:hr.cardinality},elements:{name:hr.elements,defaultValue:[]},lookahead:{name:hr.lookahead},parenthesized:{name:hr.parenthesized,defaultValue:!1}},superTypes:[gt.$type]},TerminalElement:{name:gt.$type,properties:{cardinality:{name:gt.cardinality},lookahead:{name:gt.lookahead},parenthesized:{name:gt.parenthesized,defaultValue:!1}},superTypes:[ct.$type]},TerminalGroup:{name:pr.$type,properties:{cardinality:{name:pr.cardinality},elements:{name:pr.elements,defaultValue:[]},lookahead:{name:pr.lookahead},parenthesized:{name:pr.parenthesized,defaultValue:!1}},superTypes:[gt.$type]},TerminalRule:{name:un.$type,properties:{definition:{name:un.definition},fragment:{name:un.fragment,defaultValue:!1},hidden:{name:un.hidden,defaultValue:!1},name:{name:un.name},type:{name:un.type}},superTypes:[Ps.$type]},TerminalRuleCall:{name:mr.$type,properties:{cardinality:{name:mr.cardinality},lookahead:{name:mr.lookahead},parenthesized:{name:mr.parenthesized,defaultValue:!1},rule:{name:mr.rule,referenceType:un.$type}},superTypes:[gt.$type]},Type:{name:Js.$type,properties:{name:{name:Js.name},type:{name:Js.type}},superTypes:[Et.$type]},TypeAttribute:{name:pi.$type,properties:{defaultValue:{name:pi.defaultValue},isOptional:{name:pi.isOptional,defaultValue:!1},name:{name:pi.name},type:{name:pi.type}},superTypes:[]},TypeDefinition:{name:mi.$type,properties:{},superTypes:[]},UnionType:{name:Ul.$type,properties:{types:{name:Ul.types,defaultValue:[]}},superTypes:[mi.$type]},UnorderedGroup:{name:Qs.$type,properties:{cardinality:{name:Qs.cardinality},elements:{name:Qs.elements,defaultValue:[]}},superTypes:[ct.$type]},UntilToken:{name:gr.$type,properties:{cardinality:{name:gr.cardinality},lookahead:{name:gr.lookahead},parenthesized:{name:gr.parenthesized,defaultValue:!1},terminal:{name:gr.terminal}},superTypes:[gt.$type]},ValueLiteral:{name:gi.$type,properties:{},superTypes:[]},Wildcard:{name:Mi.$type,properties:{cardinality:{name:Mi.cardinality},lookahead:{name:Mi.lookahead},parenthesized:{name:Mi.parenthesized,defaultValue:!1}},superTypes:[gt.$type]}}}}const ee=new Bd;function No(t){return new sl(t,e=>Wi(e)?e.content:[],{includeRoot:!0})}function zp(t,e){for(;t.container;)if(t=t.container,t===e)return!0;return!1}function bo(t){return{start:{character:t.startColumn-1,line:t.startLine-1},end:{character:t.endColumn,line:t.endLine-1}}}function ua(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 Bp(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 Wp(t,e){return Bp(t,e)>Xt.After}const Vp=/^[\w\p{L}]$/u;function Kp(t,e){if(t){const n=Hp(t,!0);if(n&&ql(n,e))return n;if(Fd(t)){const r=t.content.findIndex(i=>!i.hidden);for(let i=r-1;i>=0;i--){const s=t.content[i];if(ql(s,e))return s}}}}function ql(t,e){return Md(t)&&e.includes(t.tokenType.name)}function Hp(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 Wd extends Error{constructor(e,n){super(e?`${n} at ${e.range.start.line}:${e.range.start.character}`:n)}}function as(t,e="Error: Got unexpected value."){throw new Error(e)}function W(t){return t.charCodeAt(0)}function Xa(t,e){Array.isArray(t)?t.forEach(function(n){e.push(n)}):e.push(t)}function yi(t,e){if(t[e]===!0)throw"duplicate flag "+e;t[e],t[e]=!0}function ir(t){if(t===void 0)throw Error("Internal Error - Should never get here!");return!0}function Yp(){throw Error("Internal Error - Should never get here!")}function jl(t){return t.type==="Character"}const da=[];for(let t=W("0");t<=W("9");t++)da.push(t);const fa=[W("_")].concat(da);for(let t=W("a");t<=W("z");t++)fa.push(t);for(let t=W("A");t<=W("Z");t++)fa.push(t);const zl=[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")],Xp=/[0-9a-fA-F]/,Os=/[0-9]/,Jp=/[1-9]/;class Vd{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":yi(r,"global");break;case"i":yi(r,"ignoreCase");break;case"m":yi(r,"multiLine");break;case"u":yi(r,"unicode");break;case"y":yi(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}}ir(n);const r=this.disjunction();return this.consumeChar(")"),{type:n,value:r,loc:this.loc(e)}}return Yp()}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;ir(n);break}if(!(e===!0&&n===void 0)&&ir(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()),ir(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=da;break;case"D":e=da,n=!0;break;case"s":e=zl;break;case"S":e=zl,n=!0;break;case"w":e=fa;break;case"W":e=fa,n=!0;break}if(ir(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(ir(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,jl(r)&&this.isRangeDash()){this.consumeChar("-");const i=this.classAtom();if(i.type,jl(i)){if(i.value<r.value)throw Error("Range out of order in character class");e.push({from:r.value,to:i.value})}else Xa(r.value,e),e.push(W("-")),Xa(i.value,e)}else Xa(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(Jp.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(Xp.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 xa{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 Qp=/\r?\n/gm,Zp=new Vd;class em extends xa{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=Da(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 Ja=new em;function tm(t){try{return typeof t=="string"&&(t=new RegExp(t)),t=t.toString(),Ja.reset(t),Ja.visit(Zp.pattern(t)),Ja.multiline}catch{return!1}}const nm=`\f
12
+ \r \v              \u2028\u2029   \uFEFF`.split("");function Kd(t){const e=typeof t=="string"?new RegExp(t):t;return nm.some(n=>e.test(n))}function Da(t){return t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function rm(t,e){const n=im(t),r=e.match(n);return!!r&&r[0].length>0}function im(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 sm(t){return t.rules.find(e=>sn(e)&&e.entry)}function am(t){return t.rules.filter(e=>an(e)&&e.hidden)}function Hd(t,e){const n=new Set,r=sm(t);if(!r)return new Set(t.rules);const i=[r].concat(am(t));for(const a of i)Yd(a,n,e);const s=new Set;for(const a of t.rules)(n.has(a.name)||an(a)&&a.hidden)&&s.add(a);return s}function Yd(t,e,n){e.add(t.name),is(t).forEach(r=>{if(Vn(r)||n){const i=r.rule.ref;i&&!e.has(i.name)&&Yd(i,e,n)}})}function om(t){if(t.terminal)return t.terminal;if(t.type.ref){const e=Jd(t.type.ref);return e==null?void 0:e.terminal}}function cm(t){return t.hidden&&!Kd(ll(t))}function lm(t,e){return!t||!e?[]:cl(t,e,t.astNode,!0)}function Xd(t,e,n){if(!t||!e)return;const r=cl(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 cl(t,e,n,r){if(!r){const i=$a(t.grammarSource,Bn);if(i&&i.feature===e)return[t]}return Wi(t)&&t.astNode===n?t.content.flatMap(i=>cl(i,e,n,!1)):[]}function um(t,e,n){if(!t)return;const r=dm(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 dm(t,e,n){if(t.astNode!==n)return[];if(Wn(t.grammarSource)&&t.grammarSource.value===e)return[t];const r=No(t).iterator();let i;const s=[];do if(i=r.next(),!i.done){const a=i.value;a.astNode===n?Wn(a.grammarSource)&&a.grammarSource.value===e&&s.push(a):r.prune()}while(!i.done);return s}function fm(t){var n;const e=t.astNode;for(;e===((n=t.container)==null?void 0:n.astNode);){const r=$a(t.grammarSource,Bn);if(r)return r;t=t.container}}function Jd(t){let e=t;return jd(e)&&(La(e.$container)?e=e.$container.$container:ss(e.$container)?e=e.$container:as(e.$container)),Qd(t,e,new Map)}function Qd(t,e,n){var i;function r(s,a){let o;return $a(s,Bn)||(o=Qd(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 is(e)){if(Bn(s)&&s.feature.toLowerCase()==="name")return n.set(t,s),s;if(Vn(s)&&sn(s.rule.ref))return r(s,s.rule.ref);if(Dp(s)&&((i=s.typeRef)!=null&&i.ref))return r(s,s.typeRef.ref)}}function Zd(t){return ef(t,new Set)}function ef(t,e){if(e.has(t))return!0;e.add(t);for(const n of is(t))if(Vn(n)){if(!n.rule.ref||sn(n.rule.ref)&&!ef(n.rule.ref,e)||la(n.rule.ref))return!1}else{if(Bn(n))return!1;if(La(n))return!1}return!!t.definition}function tf(t){if(!an(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 Vi(t){if(ss(t))return sn(t)&&Zd(t)?t.name:tf(t)??t.name;if(Ip(t)||Up(t)||xp(t))return t.name;if(La(t)){const e=hm(t);if(e)return e}else if(jd(t))return t.name;throw new Error("Cannot get name of Unknown Type")}function hm(t){var e;if(t.inferredType)return t.inferredType.name;if((e=t.type)!=null&&e.ref)return Vi(t.type.ref)}function pm(t){var e;return an(t)?((e=t.type)==null?void 0:e.name)??"string":tf(t)??t.name}function ll(t){const e={s:!1,i:!1,u:!1},n=Xr(t.definition,e),r=Object.entries(e).filter(([,i])=>i).map(([i])=>i).join("");return new RegExp(n,r)}const ul=/[\s\S]/.source;function Xr(t,e){var n;if(Mp(t))return mm(t);if(Fp(t))return gm(t);if(wp(t))return Rm(t);if(Gp(t)){const r=t.rule.ref;if(!r)throw new Error("Missing rule reference.");return en(Xr(r.definition),{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized})}else{if(Pp(t))return Tm(t);if(qp(t))return ym(t);if(Op(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(jp(t))return en(ul,{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 mm(t){return en(t.elements.map(e=>Xr(e)).join("|"),{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized,wrap:!1})}function gm(t){return en(t.elements.map(e=>Xr(e)).join(""),{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized,wrap:!1})}function ym(t){return en(`${ul}*?${Xr(t.terminal)}`,{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized})}function Tm(t){return en(`(?!${Xr(t.terminal)})${ul}*?`,{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized})}function Rm(t){return t.right?en(`[${Qa(t.left)}-${Qa(t.right)}]`,{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized,wrap:!1}):en(Qa(t.left),{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized,wrap:!1})}function Qa(t){return Da(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 vm(t){const e=[],n=t.Grammar;for(const r of n.rules)an(r)&&cm(r)&&tm(ll(r))&&e.push(r.name);return{multilineCommentRules:e,nameRegexp:Vp}}function nf(t){const e=new Date().getTime(),n=t();return{time:new Date().getTime()-e,value:n}}function rf(t){function e(){}e.prototype=t;const n=new e;function r(){return typeof n.bar}return r(),r(),t}function Em(t){return Am(t)?t.LABEL:t.name}function Am(t){return nt(t.LABEL)&&t.LABEL!==""}class xt{get definition(){return this._definition}set definition(e){this._definition=e}constructor(e){this._definition=e}accept(e){e.visit(this),q(this.definition,n=>{n.accept(e)})}}class Qe extends xt{constructor(e){super([]),this.idx=1,ft(this,Nt(e,n=>n!==void 0))}set definition(e){}get definition(){return this.referencedRule!==void 0?this.referencedRule.definition:[]}accept(e){e.visit(this)}}class Jr extends xt{constructor(e){super(e.definition),this.orgText="",ft(this,Nt(e,n=>n!==void 0))}}class rt extends xt{constructor(e){super(e.definition),this.ignoreAmbiguities=!1,ft(this,Nt(e,n=>n!==void 0))}}let ze=class extends xt{constructor(e){super(e.definition),this.idx=1,ft(this,Nt(e,n=>n!==void 0))}};class pt extends xt{constructor(e){super(e.definition),this.idx=1,ft(this,Nt(e,n=>n!==void 0))}}class mt extends xt{constructor(e){super(e.definition),this.idx=1,ft(this,Nt(e,n=>n!==void 0))}}class Ae extends xt{constructor(e){super(e.definition),this.idx=1,ft(this,Nt(e,n=>n!==void 0))}}class it extends xt{constructor(e){super(e.definition),this.idx=1,ft(this,Nt(e,n=>n!==void 0))}}class st extends xt{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,ft(this,Nt(e,n=>n!==void 0))}}class ue{constructor(e){this.idx=1,ft(this,Nt(e,n=>n!==void 0))}accept(e){e.visit(this)}}function Sm(t){return M(t,Zs)}function Zs(t){function e(n){return M(n,Zs)}if(t instanceof Qe){const n={type:"NonTerminal",name:t.nonTerminalName,idx:t.idx};return nt(t.label)&&(n.label=t.label),n}else{if(t instanceof rt)return{type:"Alternative",definition:e(t.definition)};if(t instanceof ze)return{type:"Option",idx:t.idx,definition:e(t.definition)};if(t instanceof pt)return{type:"RepetitionMandatory",idx:t.idx,definition:e(t.definition)};if(t instanceof mt)return{type:"RepetitionMandatoryWithSeparator",idx:t.idx,separator:Zs(new ue({terminalType:t.separator})),definition:e(t.definition)};if(t instanceof it)return{type:"RepetitionWithSeparator",idx:t.idx,separator:Zs(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 st)return{type:"Alternation",idx:t.idx,definition:e(t.definition)};if(t instanceof ue){const n={type:"Terminal",name:t.terminalType.name,label:Em(t.terminalType),idx:t.idx};nt(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 Jr)return{type:"Rule",name:t.name,orgText:t.orgText,definition:e(t.definition)};throw Error("non exhaustive match")}}}class Qr{visit(e){const n=e;switch(n.constructor){case Qe:return this.visitNonTerminal(n);case rt:return this.visitAlternative(n);case ze:return this.visitOption(n);case pt:return this.visitRepetitionMandatory(n);case mt:return this.visitRepetitionMandatoryWithSeparator(n);case it:return this.visitRepetitionWithSeparator(n);case Ae:return this.visitRepetition(n);case st:return this.visitAlternation(n);case ue:return this.visitTerminal(n);case Jr: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 Cm(t){return t instanceof rt||t instanceof ze||t instanceof Ae||t instanceof pt||t instanceof mt||t instanceof it||t instanceof ue||t instanceof Jr}function ha(t,e=[]){return t instanceof ze||t instanceof Ae||t instanceof it?!0:t instanceof st?xd(t.definition,r=>ha(r,e)):t instanceof Qe&&et(e,t)?!1:t instanceof xt?(t instanceof Qe&&e.push(t),Ct(t.definition,r=>ha(r,e))):!1}function km(t){return t instanceof st}function $t(t){if(t instanceof Qe)return"SUBRULE";if(t instanceof ze)return"OPTION";if(t instanceof st)return"OR";if(t instanceof pt)return"AT_LEAST_ONE";if(t instanceof mt)return"AT_LEAST_ONE_SEP";if(t instanceof it)return"MANY_SEP";if(t instanceof Ae)return"MANY";if(t instanceof ue)return"CONSUME";throw Error("non exhaustive match")}class Ma{walk(e,n=[]){q(e.definition,(r,i)=>{const s=Ge(e.definition,i+1);if(r instanceof Qe)this.walkProdRef(r,s,n);else if(r instanceof ue)this.walkTerminal(r,s,n);else if(r instanceof rt)this.walkFlat(r,s,n);else if(r instanceof ze)this.walkOption(r,s,n);else if(r instanceof pt)this.walkAtLeastOne(r,s,n);else if(r instanceof mt)this.walkAtLeastOneSep(r,s,n);else if(r instanceof it)this.walkManySep(r,s,n);else if(r instanceof Ae)this.walkMany(r,s,n);else if(r instanceof st)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=Bl(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=Bl(e,n,r);this.walk(e,i)}walkOr(e,n,r){const i=n.concat(r);q(e.definition,s=>{const a=new rt({definition:[s]});this.walk(a,i)})}}function Bl(t,e,n){return[new ze({definition:[new ue({terminalType:t.separator})].concat(t.definition)})].concat(e,n)}function os(t){if(t instanceof Qe)return os(t.referencedRule);if(t instanceof ue)return bm(t);if(Cm(t))return wm(t);if(km(t))return Nm(t);throw Error("non exhaustive match")}function wm(t){let e=[];const n=t.definition;let r=0,i=n.length>r,s,a=!0;for(;i&&a;)s=n[r],a=ha(s),e=e.concat(os(s)),r=r+1,i=n.length>r;return il(e)}function Nm(t){const e=M(t.definition,n=>os(n));return il(yt(e))}function bm(t){return[t.terminalType]}const sf="_~IN~_";class _m extends Ma{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=Pm(e.referencedRule,e.idx)+this.topProd.name,s=n.concat(r),a=new rt({definition:s}),o=os(a);this.follows[i]=o}}function Im(t){const e={};return q(t,n=>{const r=new _m(n).startWalking();ft(e,r)}),e}function Pm(t,e){return t.name+e+sf}let ea={};const $m=new Vd;function Fa(t){const e=t.toString();if(ea.hasOwnProperty(e))return ea[e];{const n=$m.pattern(e);return ea[e]=n,n}}function Lm(){ea={}}const af="Complement Sets are not supported for first char optimization",pa=`Unable to use "first char" lexer optimizations:
13
+ `;function Om(t,e=!1){try{const n=Fa(t);return _o(n.value,{},n.flags.ignoreCase)}catch(n){if(n.message===af)e&&(`${pa}${t.toString()}`,void 0);else{let r="";e&&(r=`
14
+ This will disable the lexer's first char optimizations.
15
+ See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#REGEXP_PARSING for details.`),`${pa}
16
+ Failed parsing: < ${t.toString()} >
17
+ Using the @chevrotain/regexp-to-ast library
18
+ Please open an issue at: https://github.com/chevrotain/chevrotain/issues`+r}}return[]}function _o(t,e,n){switch(t.type){case"Disjunction":for(let i=0;i<t.value.length;i++)_o(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(af);q(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<Gi;u++)xs(u,e,n);if(l.to>=Gi){const u=l.from>=Gi?l.from:Gi,f=l.to,g=fn(u),h=fn(f);for(let E=g;E<=h;E++)e[E]=E}}}});break;case"Group":_o(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"&&Io(a)===!1||a.type!=="Group"&&o===!1)break}break;default:throw Error("non exhaustive match!")}return $e(e)}function xs(t,e,n){const r=fn(t);e[r]=r,n===!0&&xm(t,e)}function xm(t,e){const n=String.fromCharCode(t),r=n.toUpperCase();if(r!==n){const i=fn(r.charCodeAt(0));e[i]=i}else{const i=n.toLowerCase();if(i!==n){const s=fn(i.charCodeAt(0));e[s]=s}}}function Wl(t,e){return zr(t.value,n=>{if(typeof n=="number")return et(e,n);{const r=n;return zr(e,i=>r.from<=i&&i<=r.to)!==void 0}})}function Io(t){const e=t.quantifier;return e&&e.atLeast===0?!0:t.value?je(t.value)?Ct(t.value,Io):Io(t.value):!1}class Dm extends xa{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){et(this.targetCharCodes,e.value)&&(this.found=!0)}visitSet(e){e.complement?Wl(e,this.targetCharCodes)===void 0&&(this.found=!0):Wl(e,this.targetCharCodes)!==void 0&&(this.found=!0)}}function dl(t,e){if(e instanceof RegExp){const n=Fa(e),r=new Dm(t);return r.visit(n),r.found}else return zr(e,n=>et(t,n.charCodeAt(0)))!==void 0}const Kn="PATTERN",Fi="defaultMode",Ds="modes";function Mm(t,e){e=rl(e,{debug:!1,safeMode:!1,positionTracking:"full",lineTerminatorCharacters:["\r",`
19
+ `],tracer:(w,k)=>k()});const n=e.tracer;n("initCharCodeToOptimizedIndexMap",()=>{og()});let r;n("Reject Lexer.NA",()=>{r=Pa(t,w=>w[Kn]===tt.NA)});let i=!1,s;n("Transform Patterns",()=>{i=!1,s=M(r,w=>{const k=w[Kn];if(nn(k)){const P=k.source;return P.length===1&&P!=="^"&&P!=="$"&&P!=="."&&!k.ignoreCase?P:P.length===2&&P[0]==="\\"&&!et(["d","D","s","S","t","r","n","t","0","c","b","B","f","v","w","W"],P[1])?P[1]:Vl(k)}else{if(Xn(k))return i=!0,{exec:k};if(typeof k=="object")return i=!0,k;if(typeof k=="string"){if(k.length===1)return k;{const P=k.replace(/[\\^$.*+?()[\]{}|]/g,"\\$&"),H=new RegExp(P);return Vl(H)}}else throw Error("non exhaustive match")}})});let a,o,c,l,u;n("misc mapping",()=>{a=M(r,w=>w.tokenTypeIdx),o=M(r,w=>{const k=w.GROUP;if(k!==tt.SKIPPED){if(nt(k))return k;if(tn(k))return!1;throw Error("non exhaustive match")}}),c=M(r,w=>{const k=w.LONGER_ALT;if(k)return je(k)?M(k,H=>Il(r,H)):[Il(r,k)]}),l=M(r,w=>w.PUSH_MODE),u=M(r,w=>z(w,"POP_MODE"))});let f;n("Line Terminator Handling",()=>{const w=lf(e.lineTerminatorCharacters);f=M(r,k=>!1),e.positionTracking!=="onlyOffset"&&(f=M(r,k=>z(k,"LINE_BREAKS")?!!k.LINE_BREAKS:cf(k,w)===!1&&dl(w,k.PATTERN)))});let g,h,E,b;n("Misc Mapping #2",()=>{g=M(r,of),h=M(s,ig),E=Je(r,(w,k)=>{const P=k.GROUP;return nt(P)&&P!==tt.SKIPPED&&(w[P]=[]),w},{}),b=M(s,(w,k)=>({pattern:s[k],longerAlt:c[k],canLineTerminator:f[k],isCustom:g[k],short:h[k],group:o[k],push:l[k],pop:u[k],tokenTypeIdx:a[k],tokenType:r[k]}))});let I=!0,C=[];return e.safeMode||n("First Char Optimization",()=>{C=Je(r,(w,k,P)=>{if(typeof k.PATTERN=="string"){const H=k.PATTERN.charCodeAt(0),K=fn(H);Za(w,K,b[P])}else if(je(k.START_CHARS_HINT)){let H;q(k.START_CHARS_HINT,K=>{const J=typeof K=="string"?K.charCodeAt(0):K,oe=fn(J);H!==oe&&(H=oe,Za(w,oe,b[P]))})}else if(nn(k.PATTERN))if(k.PATTERN.unicode)I=!1,e.ensureOptimizations&&(`${pa}${k.PATTERN.toString()}`,void 0);else{const H=Om(k.PATTERN,e.ensureOptimizations);ae(H)&&(I=!1),q(H,K=>{Za(w,K,b[P])})}else e.ensureOptimizations&&(`${pa}${k.name}`,void 0),I=!1;return w},[])}),{emptyGroups:E,patternIdxToConfig:b,charCodeToPatternIdxToConfig:C,hasCustom:i,canBeOptimized:I}}function Fm(t,e){let n=[];const r=Um(t);n=n.concat(r.errors);const i=qm(r.valid),s=i.valid;return n=n.concat(i.errors),n=n.concat(Gm(s)),n=n.concat(Ym(s)),n=n.concat(Xm(s,e)),n=n.concat(Jm(s)),n}function Gm(t){let e=[];const n=ht(t,r=>nn(r[Kn]));return e=e.concat(zm(n)),e=e.concat(Vm(n)),e=e.concat(Km(n)),e=e.concat(Hm(n)),e=e.concat(Bm(n)),e}function Um(t){const e=ht(t,i=>!z(i,Kn)),n=M(e,i=>({message:"Token Type: ->"+i.name+"<- missing static 'PATTERN' property",type:Se.MISSING_PATTERN,tokenTypes:[i]})),r=Ia(t,e);return{errors:n,valid:r}}function qm(t){const e=ht(t,i=>{const s=i[Kn];return!nn(s)&&!Xn(s)&&!z(s,"exec")&&!nt(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=Ia(t,e);return{errors:n,valid:r}}const jm=/[^\\][$]/;function zm(t){class e extends xa{constructor(){super(...arguments),this.found=!1}visitEndAnchor(s){this.found=!0}}const n=ht(t,i=>{const s=i.PATTERN;try{const a=Fa(s),o=new e;return o.visit(a),o.found}catch{return jm.test(s.source)}});return M(n,i=>({message:`Unexpected RegExp Anchor Error:
20
+ Token Type: ->`+i.name+`<- static 'PATTERN' cannot contain end of input anchor '$'
21
+ See chevrotain.io/docs/guide/resolving_lexer_errors.html#ANCHORS for details.`,type:Se.EOI_ANCHOR_FOUND,tokenTypes:[i]}))}function Bm(t){const e=ht(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 Wm=/[^\\[][\^]|^\^/;function Vm(t){class e extends xa{constructor(){super(...arguments),this.found=!1}visitStartAnchor(s){this.found=!0}}const n=ht(t,i=>{const s=i.PATTERN;try{const a=Fa(s),o=new e;return o.visit(a),o.found}catch{return Wm.test(s.source)}});return M(n,i=>({message:`Unexpected RegExp Anchor Error:
22
+ Token Type: ->`+i.name+`<- static 'PATTERN' cannot contain start of input anchor '^'
23
+ See https://chevrotain.io/docs/guide/resolving_lexer_errors.html#ANCHORS for details.`,type:Se.SOI_ANCHOR_FOUND,tokenTypes:[i]}))}function Km(t){const e=ht(t,r=>{const i=r[Kn];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 Hm(t){const e=[];let n=M(t,s=>Je(t,(a,o)=>(s.PATTERN.source===o.PATTERN.source&&!et(e,o)&&o.PATTERN!==tt.NA&&(e.push(o),a.push(o)),a),[]));n=rs(n);const r=ht(n,s=>s.length>1);return M(r,s=>{const a=M(s,c=>c.name);return{message:`The same RegExp pattern ->${wt(s).PATTERN}<-has been used in all of the following Token Types: ${a.join(", ")} <-`,type:Se.DUPLICATE_PATTERNS_FOUND,tokenTypes:s}})}function Ym(t){const e=ht(t,r=>{if(!z(r,"GROUP"))return!1;const i=r.GROUP;return i!==tt.SKIPPED&&i!==tt.NA&&!nt(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 Xm(t,e){const n=ht(t,i=>i.PUSH_MODE!==void 0&&!et(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 Jm(t){const e=[],n=Je(t,(r,i,s)=>{const a=i.PATTERN;return a===tt.NA||(nt(a)?r.push({str:a,idx:s,tokenType:i}):nn(a)&&Zm(a)&&r.push({str:a.source,idx:s,tokenType:i})),r},[]);return q(t,(r,i)=>{q(n,({str:s,idx:a,tokenType:o})=>{if(i<a&&Qm(s,r.PATTERN)){const c=`Token: ->${o.name}<- can never be matched.
24
+ Because it appears AFTER the Token Type ->${r.name}<-in the lexer's definition.
25
+ See https://chevrotain.io/docs/guide/resolving_lexer_errors.html#UNREACHABLE`;e.push({message:c,type:Se.UNREACHABLE_PATTERN,tokenTypes:[r,o]})}})}),e}function Qm(t,e){if(nn(e)){if(eg(e))return!1;const n=e.exec(t);return n!==null&&n.index===0}else{if(Xn(e))return e(t,0,[],{});if(z(e,"exec"))return e.exec(t,0,[],{});if(typeof e=="string")return e===t;throw Error("non exhaustive match")}}function Zm(t){return zr([".","\\","[","]","|","^","$","(",")","?","*","+","{"],n=>t.source.indexOf(n)!==-1)===void 0}function eg(t){return/(\(\?=)|(\(\?!)|(\(\?<=)|(\(\?<!)/.test(t.source)}function Vl(t){const e=t.ignoreCase?"iy":"y";return new RegExp(`${t.source}`,e)}function tg(t,e,n){const r=[];return z(t,Fi)||r.push({message:"A MultiMode Lexer cannot be initialized without a <"+Fi+`> property in its definition
26
+ `,type:Se.MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE}),z(t,Ds)||r.push({message:"A MultiMode Lexer cannot be initialized without a <"+Ds+`> property in its definition
27
+ `,type:Se.MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY}),z(t,Ds)&&z(t,Fi)&&!z(t.modes,t.defaultMode)&&r.push({message:`A MultiMode Lexer cannot be initialized with a ${Fi}: <${t.defaultMode}>which does not exist
28
+ `,type:Se.MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST}),z(t,Ds)&&q(t.modes,(i,s)=>{q(i,(a,o)=>{if(tn(a))r.push({message:`A Lexer cannot be initialized using an undefined Token Type. Mode:<${s}> at index: <${o}>
29
+ `,type:Se.LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED});else if(z(a,"LONGER_ALT")){const c=je(a.LONGER_ALT)?a.LONGER_ALT:[a.LONGER_ALT];q(c,l=>{!tn(l)&&!et(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}>
30
+ `,type:Se.MULTI_MODE_LEXER_LONGER_ALT_NOT_IN_CURRENT_MODE})})}})}),r}function ng(t,e,n){const r=[];let i=!1;const s=rs(yt($e(t.modes))),a=Pa(s,c=>c[Kn]===tt.NA),o=lf(n);return e&&q(a,c=>{const l=cf(c,o);if(l!==!1){const f={message:ag(c,l),type:l.issue,tokenType:c};r.push(f)}else z(c,"LINE_BREAKS")?c.LINE_BREAKS===!0&&(i=!0):dl(o,c.PATTERN)&&(i=!0)}),e&&!i&&r.push({message:`Warning: No LINE_BREAKS Found.
31
+ This Lexer has been defined to track line and column information,
32
+ But none of the Token Types can be identified as matching a line terminator.
33
+ See https://chevrotain.io/docs/guide/resolving_lexer_errors.html#LINE_BREAKS
34
+ for details.`,type:Se.NO_LINE_BREAKS_FLAGS}),r}function rg(t){const e={},n=jr(t);return q(n,r=>{const i=t[r];if(je(i))e[r]=[];else throw Error("non exhaustive match")}),e}function of(t){const e=t.PATTERN;if(nn(e))return!1;if(Xn(e))return!0;if(z(e,"exec"))return!0;if(nt(e))return!1;throw Error("non exhaustive match")}function ig(t){return nt(t)&&t.length===1?t.charCodeAt(0):!1}const sg={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 cf(t,e){if(z(t,"LINE_BREAKS"))return!1;if(nn(t.PATTERN)){try{dl(e,t.PATTERN)}catch(n){return{issue:Se.IDENTIFY_TERMINATOR,errMsg:n.message}}return!1}else{if(nt(t.PATTERN))return!1;if(of(t))return{issue:Se.CUSTOM_LINE_BREAK};throw Error("non exhaustive match")}}function ag(t,e){if(e.issue===Se.IDENTIFY_TERMINATOR)return`Warning: unable to identify line terminator usage in pattern.
35
+ The problem is in the <${t.name}> Token Type
36
+ Root cause: ${e.errMsg}.
37
+ 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.
38
+ The problem is in the <${t.name}> Token Type
39
+ For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#CUSTOM_LINE_BREAK`;throw Error("non exhaustive match")}function lf(t){return M(t,n=>nt(n)?n.charCodeAt(0):n)}function Za(t,e,n){t[e]===void 0?t[e]=[n]:t[e].push(n)}const Gi=256;let ta=[];function fn(t){return t<Gi?t:ta[t]}function og(){if(ae(ta)){ta=new Array(65536);for(let t=0;t<65536;t++)ta[t]=t>255?255+~~(t/255):t}}function cs(t,e){const n=t.tokenTypeIdx;return n===e.tokenTypeIdx?!0:e.isParent===!0&&e.categoryMatchesMap[n]===!0}function ma(t,e){return t.tokenTypeIdx===e.tokenTypeIdx}let Kl=1;const uf={};function ls(t){const e=cg(t);lg(e),dg(e),ug(e),q(e,n=>{n.isParent=n.categoryMatches.length>0})}function cg(t){let e=Be(t),n=t,r=!0;for(;r;){n=rs(yt(M(n,s=>s.CATEGORIES)));const i=Ia(n,e);e=e.concat(i),ae(i)?r=!1:n=i}return e}function lg(t){q(t,e=>{ff(e)||(uf[Kl]=e,e.tokenTypeIdx=Kl++),Hl(e)&&!je(e.CATEGORIES)&&(e.CATEGORIES=[e.CATEGORIES]),Hl(e)||(e.CATEGORIES=[]),fg(e)||(e.categoryMatches=[]),hg(e)||(e.categoryMatchesMap={})})}function ug(t){q(t,e=>{e.categoryMatches=[],q(e.categoryMatchesMap,(n,r)=>{e.categoryMatches.push(uf[r].tokenTypeIdx)})})}function dg(t){q(t,e=>{df([],e)})}function df(t,e){q(t,n=>{e.categoryMatchesMap[n.tokenTypeIdx]=!0}),q(e.CATEGORIES,n=>{const r=t.concat(e);et(r,n)||df(r,n)})}function ff(t){return z(t,"tokenTypeIdx")}function Hl(t){return z(t,"CATEGORIES")}function fg(t){return z(t,"categoryMatches")}function hg(t){return z(t,"categoryMatchesMap")}function pg(t){return z(t,"tokenTypeIdx")}const Po={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 Ui={deferDefinitionErrorsHandling:!1,positionTracking:"full",lineTerminatorsPattern:/\n|\r\n?/g,lineTerminatorCharacters:[`
40
+ `,"\r"],ensureOptimizations:!1,safeMode:!1,errorMessageProvider:Po,traceInitPerf:!1,skipValidations:!1,recoveryEnabled:!0};Object.freeze(Ui);class tt{constructor(e,n=Ui){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;const{time:o,value:c}=nf(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.
41
+ a boolean 2nd argument is no longer supported`);this.config=ft({},Ui,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===Ui.lineTerminatorsPattern)this.config.lineTerminatorsPattern=sg;else if(this.config.lineTerminatorCharacters===Ui.lineTerminatorCharacters)throw Error(`Error: Missing <lineTerminatorCharacters> property on the Lexer config.
42
+ 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:Fi}:(s=!1,i=Be(e))}),this.config.skipValidations===!1&&(this.TRACE_INIT("performRuntimeChecks",()=>{this.lexerDefinitionErrors=this.lexerDefinitionErrors.concat(tg(i,this.trackStartLines,this.config.lineTerminatorCharacters))}),this.TRACE_INIT("performWarningRuntimeChecks",()=>{this.lexerDefinitionWarning=this.lexerDefinitionWarning.concat(ng(i,this.trackStartLines,this.config.lineTerminatorCharacters))})),i.modes=i.modes?i.modes:{},q(i.modes,(o,c)=>{i.modes[c]=Pa(o,l=>tn(l))});const a=jr(i.modes);if(q(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(Fm(o,a))}),ae(this.lexerDefinitionErrors)){ls(o);let l;this.TRACE_INIT("analyzeTokenTypes",()=>{l=Mm(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=ft({},this.emptyGroups,l.emptyGroups),this.hasCustom=l.hasCustom||this.hasCustom,this.canModeBeOptimized[c]=l.canBeOptimized}})}),this.defaultMode=i.defaultMode,!ae(this.lexerDefinitionErrors)&&!this.config.deferDefinitionErrorsHandling){const c=M(this.lexerDefinitionErrors,l=>l.message).join(`-----------------------
43
+ `);throw new Error(`Errors detected in definition of Lexer:
44
+ `+c)}q(this.lexerDefinitionWarning,o=>{o.message}),this.TRACE_INIT("Choosing sub-methods implementations",()=>{if(s&&(this.handleModes=Fe),this.trackStartLines===!1&&(this.computeNewColumn=zh),this.trackEndLines===!1&&(this.updateTokenEndLineColumnLocation=Fe),/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=Je(this.canModeBeOptimized,(c,l,u)=>(l===!1&&c.push(u),c),[]);if(n.ensureOptimizations&&!ae(o))throw Error(`Lexer Modes: < ${o.join(", ")} > cannot be optimized.
45
+ Disable the "ensureOptimizations" lexer config flag to silently ignore this and run the lexer in an un-optimized mode.
46
+ Or inspect the console log for details on how to resolve these issues.`)}),this.TRACE_INIT("clearRegExpParserCache",()=>{Lm()}),this.TRACE_INIT("toFastProperties",()=>{rf(this)})})}tokenize(e,n=this.defaultMode){if(!ae(this.lexerDefinitionErrors)){const i=M(this.lexerDefinitionErrors,s=>s.message).join(`-----------------------
47
+ `);throw new Error(`Unable to Tokenize because Errors detected in definition of Lexer:
48
+ `+i)}return this.tokenizeInternal(e,n)}tokenizeInternal(e,n){let r,i,s,a,o,c,l,u,f,g,h,E,b,I,C;const w=e,k=w.length;let P=0,H=0;const K=this.hasCustom?0:Math.floor(e.length/10),J=new Array(K),oe=[];let de=this.trackStartLines?1:void 0,fe=this.trackStartLines?1:void 0;const _=rg(this.emptyGroups),R=this.trackStartLines,m=this.config.lineTerminatorsPattern;let S=0,y=[],T=[];const A=[],O=[];Object.freeze(O);let D=!1;const x=B=>{if(A.length===1&&B.tokenType.PUSH_MODE===void 0){const ne=this.config.errorMessageProvider.buildUnableToPopLexerModeMessage(B);oe.push({offset:B.startOffset,line:B.startLine,column:B.startColumn,length:B.image.length,message:ne})}else{A.pop();const ne=zn(A);y=this.patternIdxToConfig[ne],T=this.charCodeToPatternIdxToConfig[ne],S=y.length;const Oe=this.canModeBeOptimized[ne]&&this.config.safeMode===!1;T&&Oe?D=!0:D=!1}};function j(B){A.push(B),T=this.charCodeToPatternIdxToConfig[B],y=this.patternIdxToConfig[B],S=y.length,S=y.length;const ne=this.canModeBeOptimized[B]&&this.config.safeMode===!1;T&&ne?D=!0:D=!1}j.call(this,n);let G;const ie=this.config.recoveryEnabled;for(;P<k;){c=null,f=-1;const B=w.charCodeAt(P);let ne;if(D){const ve=fn(B),he=T[ve];ne=he!==void 0?he:O}else ne=y;const Oe=ne.length;for(r=0;r<Oe;r++){G=ne[r];const ve=G.pattern;l=null;const he=G.short;if(he!==!1?B===he&&(f=1,c=ve):G.isCustom===!0?(C=ve.exec(w,P,J,_),C!==null?(c=C[0],f=c.length,C.payload!==void 0&&(l=C.payload)):c=null):(ve.lastIndex=P,f=this.matchLength(ve,e,P)),f!==-1){if(o=G.longerAlt,o!==void 0){c=e.substring(P,P+f);const Ie=o.length;for(s=0;s<Ie;s++){const xe=y[o[s]],be=xe.pattern;if(u=null,xe.isCustom===!0?(C=be.exec(w,P,J,_),C!==null?(a=C[0],C.payload!==void 0&&(u=C.payload)):a=null):(be.lastIndex=P,a=this.match(be,e,P)),a&&a.length>c.length){c=a,f=a.length,l=u,G=xe;break}}}break}}if(f!==-1){if(g=G.group,g!==void 0&&(c=c!==null?c:e.substring(P,P+f),h=G.tokenTypeIdx,E=this.createTokenInstance(c,P,h,G.tokenType,de,fe,f),this.handlePayload(E,l),g===!1?H=this.addToken(J,H,E):_[g].push(E)),R===!0&&G.canLineTerminator===!0){let ve=0,he,Ie;m.lastIndex=0;do c=c!==null?c:e.substring(P,P+f),he=m.test(c),he===!0&&(Ie=m.lastIndex-1,ve++);while(he===!0);ve!==0?(de=de+ve,fe=f-Ie,this.updateTokenEndLineColumnLocation(E,g,Ie,ve,de,fe,f)):fe=this.computeNewColumn(fe,f)}else fe=this.computeNewColumn(fe,f);P=P+f,this.handleModes(G,x,j,E)}else{const ve=P,he=de,Ie=fe;let xe=ie===!1;for(;xe===!1&&P<k;)for(P++,i=0;i<S;i++){const be=y[i],Z=be.pattern,at=be.short;if(at!==!1?w.charCodeAt(P)===at&&(xe=!0):be.isCustom===!0?xe=Z.exec(w,P,J,_)!==null:(Z.lastIndex=P,xe=Z.exec(e)!==null),xe===!0)break}if(b=P-ve,fe=this.computeNewColumn(fe,b),I=this.config.errorMessageProvider.buildUnexpectedCharactersMessage(w,ve,b,he,Ie,zn(A)),oe.push({offset:ve,line:he,column:Ie,length:b,message:I}),ie===!1)break}}return this.hasCustom||(J.length=H),{tokens:J,groups:_,errors:oe}}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}}tt.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.";tt.NA=/NOT_APPLICABLE/;function Cr(t){return hf(t)?t.LABEL:t.name}function hf(t){return nt(t.LABEL)&&t.LABEL!==""}const mg="parent",Yl="categories",Xl="label",Jl="group",Ql="push_mode",Zl="pop_mode",eu="longer_alt",tu="line_breaks",nu="start_chars_hint";function pf(t){return gg(t)}function gg(t){const e=t.pattern,n={};if(n.name=t.name,tn(e)||(n.PATTERN=e),z(t,mg))throw`The parent property is no longer supported.
49
+ See: https://github.com/chevrotain/chevrotain/issues/564#issuecomment-349062346 for details.`;return z(t,Yl)&&(n.CATEGORIES=t[Yl]),ls([n]),z(t,Xl)&&(n.LABEL=t[Xl]),z(t,Jl)&&(n.GROUP=t[Jl]),z(t,Zl)&&(n.POP_MODE=t[Zl]),z(t,Ql)&&(n.PUSH_MODE=t[Ql]),z(t,eu)&&(n.LONGER_ALT=t[eu]),z(t,tu)&&(n.LINE_BREAKS=t[tu]),z(t,nu)&&(n.START_CHARS_HINT=t[nu]),n}const hn=pf({name:"EOF",pattern:tt.NA});ls([hn]);function fl(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 mf(t,e){return cs(t,e)}const Ar={buildMismatchTokenMessage({expected:t,actual:e,previous:n,ruleName:r}){return`Expecting ${hf(t)?`--> ${Cr(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=`
50
+ but found: '`+wt(e).image+"'";if(r)return s+r+o;{const c=Je(t,(g,h)=>g.concat(h),[]),l=M(c,g=>`[${M(g,h=>Cr(h)).join(", ")}]`),f=`one of these possible Token sequences:
51
+ ${M(l,(g,h)=>` ${h+1}. ${g}`).join(`
52
+ `)}`;return s+f+o}},buildEarlyExitMessage({expectedIterationPaths:t,actual:e,customUserDescription:n,ruleName:r}){const i="Expecting: ",a=`
53
+ but found: '`+wt(e).image+"'";if(n)return i+n+a;{const c=`expecting at least one iteration which starts with one of these possible Token sequences::
54
+ <${M(t,l=>`[${M(l,u=>Cr(u)).join(",")}]`).join(" ,")}>`;return i+c+a}}};Object.freeze(Ar);const yg={buildRuleNotFoundError(t,e){return"Invalid grammar, reference to a rule which is not defined: ->"+e.nonTerminalName+`<-
55
+ inside top level rule: ->`+t.name+"<-"}},qn={buildDuplicateFoundError(t,e){function n(u){return u instanceof ue?u.terminalType.name:u instanceof Qe?u.nonTerminalName:""}const r=t.name,i=wt(e),s=i.idx,a=$t(i),o=n(i),c=s>0;let l=`->${a}${c?s:""}<- ${o?`with argument: ->${o}<-`:""}
56
+ appears more than once (${e.length} times) in the top level rule: ->${r}<-.
57
+ For further details see: https://chevrotain.io/docs/FAQ.html#NUMERICAL_SUFFIXES
58
+ `;return l=l.replace(/[ \t]+/g," "),l=l.replace(/\s\s+/g,`
59
+ `),l},buildNamespaceConflictError(t){return`Namespace conflict found in grammar.
60
+ The grammar has both a Terminal(Token) and a Non-Terminal(Rule) named: <${t.name}>.
61
+ To resolve this make sure each Terminal and Non-Terminal names are unique
62
+ This is easy to accomplish by using the convention that Terminal names start with an uppercase letter
63
+ and Non-Terminal names start with a lower case letter.`},buildAlternationPrefixAmbiguityError(t){const e=M(t.prefixPath,i=>Cr(i)).join(", "),n=t.alternation.idx===0?"":t.alternation.idx;return`Ambiguous alternatives: <${t.ambiguityIndices.join(" ,")}> due to common lookahead prefix
64
+ in <OR${n}> inside <${t.topLevelRule.name}> Rule,
65
+ <${e}> may appears as a prefix path in all these alternatives.
66
+ See: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#COMMON_PREFIX
67
+ 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,
68
+ `;if(n)r+=`These alternatives are all empty (match no tokens), making them indistinguishable.
69
+ Only the last alternative may be empty.
70
+ `;else{const i=M(t.prefixPath,s=>Cr(s)).join(", ");r+=`<${i}> may appears as a prefix path in all these alternatives.
71
+ `}return r+=`See: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#AMBIGUOUS_ALTERNATIVES
72
+ For Further details.`,r},buildEmptyRepetitionError(t){let e=$t(t.repetition);return t.repetition.idx!==0&&(e+=t.repetition.idx),`The repetition <${e}> within Rule <${t.topLevelRule.name}> can never consume any tokens.
73
+ 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.
74
+ Only the last alternative may be an empty alternative.`},buildTooManyAlternativesError(t){return`An Alternation cannot have more than 256 alternatives:
75
+ <OR${t.alternation.idx}> inside <${t.topLevelRule.name}> Rule.
76
+ 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.
77
+ rule: <${e}> can be invoked from itself (directly or indirectly)
78
+ without consuming any Tokens. The grammar path that causes this is:
79
+ ${r}
80
+ To fix this refactor your grammar to remove the left recursion.
81
+ see: https://en.wikipedia.org/wiki/LL_parser#Left_factoring.`},buildInvalidRuleNameError(t){return"deprecated"},buildDuplicateRuleNameError(t){let e;return t.topLevelRule instanceof Jr?e=t.topLevelRule.name:e=t.topLevelRule,`Duplicate definition, rule: ->${e}<- is already defined in the grammar: ->${t.grammarName}<-`}};function Tg(t,e){const n=new Rg(t,e);return n.resolveRefs(),n.errors}class Rg extends Qr{constructor(e,n){super(),this.nameToTopRule=e,this.errMsgProvider=n,this.errors=[]}resolveRefs(){q($e(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:Ze.UNRESOLVED_SUBRULE_REF,ruleName:this.currTopLevel.name,unresolvedRefName:e.nonTerminalName})}}}class vg extends Ma{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(){ae(this.ruleStack)?(this.nextProductionName="",this.nextProductionOccurrence=0,this.isAtEndOfPath=!0):(this.nextProductionName=this.ruleStack.pop(),this.nextProductionOccurrence=this.occurrenceStack.pop())}}class Eg extends vg{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 rt({definition:i});this.possibleTokTypes=os(s),this.found=!0}}}class Ga extends Ma{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 Ag extends Ga{walkMany(e,n,r){if(e.idx===this.occurrence){const i=wt(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 ru extends Ga{walkManySep(e,n,r){if(e.idx===this.occurrence){const i=wt(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 Sg extends Ga{walkAtLeastOne(e,n,r){if(e.idx===this.occurrence){const i=wt(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 iu extends Ga{walkAtLeastOneSep(e,n,r){if(e.idx===this.occurrence){const i=wt(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 $o(t,e,n=[]){n=Be(n);let r=[],i=0;function s(o){return o.concat(Ge(t,i+1))}function a(o){const c=$o(s(o),e,n);return r.concat(c)}for(;n.length<e&&i<t.length;){const o=t[i];if(o instanceof rt)return a(o.definition);if(o instanceof Qe)return a(o.definition);if(o instanceof ze)r=a(o.definition);else if(o instanceof pt){const c=o.definition.concat([new Ae({definition:o.definition})]);return a(c)}else if(o instanceof mt){const c=[new rt({definition:o.definition}),new Ae({definition:[new ue({terminalType:o.separator})].concat(o.definition)})];return a(c)}else if(o instanceof it){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 st)return q(o.definition,c=>{ae(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:Ge(t,i)}),r}function gf(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:[]});!ae(f);){const g=f.pop();if(g===a){o&&zn(f).idx<=l&&f.pop();continue}const h=g.def,E=g.idx,b=g.ruleStack,I=g.occurrenceStack;if(ae(h))continue;const C=h[0];if(C===i){const w={idx:E,def:Ge(h),ruleStack:Bi(b),occurrenceStack:Bi(I)};f.push(w)}else if(C instanceof ue)if(E<c-1){const w=E+1,k=e[w];if(n(k,C.terminalType)){const P={idx:w,def:Ge(h),ruleStack:b,occurrenceStack:I};f.push(P)}}else if(E===c-1)u.push({nextTokenType:C.terminalType,nextTokenOccurrence:C.idx,ruleStack:b,occurrenceStack:I}),o=!0;else throw Error("non exhaustive match");else if(C instanceof Qe){const w=Be(b);w.push(C.nonTerminalName);const k=Be(I);k.push(C.idx);const P={idx:E,def:C.definition.concat(s,Ge(h)),ruleStack:w,occurrenceStack:k};f.push(P)}else if(C instanceof ze){const w={idx:E,def:Ge(h),ruleStack:b,occurrenceStack:I};f.push(w),f.push(a);const k={idx:E,def:C.definition.concat(Ge(h)),ruleStack:b,occurrenceStack:I};f.push(k)}else if(C instanceof pt){const w=new Ae({definition:C.definition,idx:C.idx}),k=C.definition.concat([w],Ge(h)),P={idx:E,def:k,ruleStack:b,occurrenceStack:I};f.push(P)}else if(C instanceof mt){const w=new ue({terminalType:C.separator}),k=new Ae({definition:[w].concat(C.definition),idx:C.idx}),P=C.definition.concat([k],Ge(h)),H={idx:E,def:P,ruleStack:b,occurrenceStack:I};f.push(H)}else if(C instanceof it){const w={idx:E,def:Ge(h),ruleStack:b,occurrenceStack:I};f.push(w),f.push(a);const k=new ue({terminalType:C.separator}),P=new Ae({definition:[k].concat(C.definition),idx:C.idx}),H=C.definition.concat([P],Ge(h)),K={idx:E,def:H,ruleStack:b,occurrenceStack:I};f.push(K)}else if(C instanceof Ae){const w={idx:E,def:Ge(h),ruleStack:b,occurrenceStack:I};f.push(w),f.push(a);const k=new Ae({definition:C.definition,idx:C.idx}),P=C.definition.concat([k],Ge(h)),H={idx:E,def:P,ruleStack:b,occurrenceStack:I};f.push(H)}else if(C instanceof st)for(let w=C.definition.length-1;w>=0;w--){const k=C.definition[w],P={idx:E,def:k.definition.concat(Ge(h)),ruleStack:b,occurrenceStack:I};f.push(P),f.push(a)}else if(C instanceof rt)f.push({idx:E,def:C.definition.concat(Ge(h)),ruleStack:b,occurrenceStack:I});else if(C instanceof Jr)f.push(Cg(C,E,b,I));else throw Error("non exhaustive match")}return u}function Cg(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 ye;(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"})(ye||(ye={}));function hl(t){if(t instanceof ze||t==="Option")return ye.OPTION;if(t instanceof Ae||t==="Repetition")return ye.REPETITION;if(t instanceof pt||t==="RepetitionMandatory")return ye.REPETITION_MANDATORY;if(t instanceof mt||t==="RepetitionMandatoryWithSeparator")return ye.REPETITION_MANDATORY_WITH_SEPARATOR;if(t instanceof it||t==="RepetitionWithSeparator")return ye.REPETITION_WITH_SEPARATOR;if(t instanceof st||t==="Alternation")return ye.ALTERNATION;throw Error("non exhaustive match")}function su(t){const{occurrence:e,rule:n,prodType:r,maxLookahead:i}=t,s=hl(r);return s===ye.ALTERNATION?Ua(e,n,i):qa(e,n,s,i)}function kg(t,e,n,r,i,s){const a=Ua(t,e,n),o=Rf(a)?ma:cs;return s(a,r,o,i)}function wg(t,e,n,r,i,s){const a=qa(t,e,i,n),o=Rf(a)?ma:cs;return s(a[0],o,r)}function Ng(t,e,n,r){const i=t.length,s=Ct(t,a=>Ct(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 g=0;g<u;g++){const h=l[g],E=h.length;for(let b=0;b<E;b++){const I=this.LA(b+1);if(n(I,h[b])===!1)continue e}return c}}};if(s&&!r){const a=M(t,c=>yt(c)),o=Je(a,(c,l,u)=>(q(l,f=>{z(c,f.tokenTypeIdx)||(c[f.tokenTypeIdx]=u),q(f.categoryMatches,g=>{z(c,g)||(c[g]=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 g=0;g<f;g++){const h=this.LA(g+1);if(n(h,u[g])===!1)continue e}return a}}}}function bg(t,e,n){const r=Ct(t,s=>s.length===1),i=t.length;if(r&&!n){const s=yt(t);if(s.length===1&&ae(s[0].categoryMatches)){const o=s[0].tokenTypeIdx;return function(){return this.LA(1).tokenTypeIdx===o}}else{const a=Je(s,(o,c,l)=>(o[c.tokenTypeIdx]=!0,q(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 _g extends Ma{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,ye.OPTION,n,r)||super.walkOption(e,n,r)}walkAtLeastOne(e,n,r){this.checkIsTarget(e,ye.REPETITION_MANDATORY,n,r)||super.walkOption(e,n,r)}walkAtLeastOneSep(e,n,r){this.checkIsTarget(e,ye.REPETITION_MANDATORY_WITH_SEPARATOR,n,r)||super.walkOption(e,n,r)}walkMany(e,n,r){this.checkIsTarget(e,ye.REPETITION,n,r)||super.walkOption(e,n,r)}walkManySep(e,n,r){this.checkIsTarget(e,ye.REPETITION_WITH_SEPARATOR,n,r)||super.walkOption(e,n,r)}}class yf extends Qr{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,ye.OPTION)}visitRepetition(e){this.checkIsTarget(e,ye.REPETITION)}visitRepetitionMandatory(e){this.checkIsTarget(e,ye.REPETITION_MANDATORY)}visitRepetitionMandatoryWithSeparator(e){this.checkIsTarget(e,ye.REPETITION_MANDATORY_WITH_SEPARATOR)}visitRepetitionWithSeparator(e){this.checkIsTarget(e,ye.REPETITION_WITH_SEPARATOR)}visitAlternation(e){this.checkIsTarget(e,ye.ALTERNATION)}}function au(t){const e=new Array(t);for(let n=0;n<t;n++)e[n]=[];return e}function eo(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 Ig(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 Tf(t,e){const n=M(t,a=>$o([a],1)),r=au(n.length),i=M(n,a=>{const o={};return q(a,c=>{const l=eo(c.partialPath);q(l,u=>{o[u]=!0})}),o});let s=n;for(let a=1;a<=e;a++){const o=s;s=au(o.length);for(let c=0;c<o.length;c++){const l=o[c];for(let u=0;u<l.length;u++){const f=l[u].partialPath,g=l[u].suffixDef,h=eo(f);if(Ig(i,h,c)||ae(g)||f.length===e){const b=r[c];if(Lo(b,f)===!1){b.push(f);for(let I=0;I<h.length;I++){const C=h[I];i[c][C]=!0}}}else{const b=$o(g,a+1,f);s[c]=s[c].concat(b),q(b,I=>{const C=eo(I.partialPath);q(C,w=>{i[c][w]=!0})})}}}}return r}function Ua(t,e,n,r){const i=new yf(t,ye.ALTERNATION,r);return e.accept(i),Tf(i.result,n)}function qa(t,e,n,r){const i=new yf(t,n);e.accept(i);const s=i.result,o=new _g(e,t,n).startWalking(),c=new rt({definition:s}),l=new rt({definition:o});return Tf([c,l],r)}function Lo(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 Pg(t,e){return t.length<e.length&&Ct(t,(n,r)=>{const i=e[r];return n===i||i.categoryMatchesMap[n.tokenTypeIdx]})}function Rf(t){return Ct(t,e=>Ct(e,n=>Ct(n,r=>ae(r.categoryMatches))))}function $g(t){const e=t.lookaheadStrategy.validate({rules:t.rules,tokenTypes:t.tokenTypes,grammarName:t.grammarName});return M(e,n=>Object.assign({type:Ze.CUSTOM_LOOKAHEAD_VALIDATION},n))}function Lg(t,e,n,r){const i=dt(t,c=>Og(c,n)),s=Vg(t,e,n),a=dt(t,c=>jg(c,n)),o=dt(t,c=>Mg(c,t,r,n));return i.concat(s,a,o)}function Og(t,e){const n=new Dg;t.accept(n);const r=n.allProductions,i=fp(r,xg),s=Nt(i,o=>o.length>1);return M($e(s),o=>{const c=wt(o),l=e.buildDuplicateFoundError(t,o),u=$t(c),f={message:l,type:Ze.DUPLICATE_PRODUCTIONS,ruleName:t.name,dslName:u,occurrence:c.idx},g=vf(c);return g&&(f.parameter=g),f})}function xg(t){return`${$t(t)}_#_${t.idx}_#_${vf(t)}`}function vf(t){return t instanceof ue?t.terminalType.name:t instanceof Qe?t.nonTerminalName:""}class Dg extends Qr{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 Mg(t,e,n,r){const i=[];if(Je(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:Ze.DUPLICATE_RULE_NAME,ruleName:t.name})}return i}function Fg(t,e,n){const r=[];let i;return et(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:Ze.INVALID_RULE_OVERRIDE,ruleName:t})),r}function Ef(t,e,n,r=[]){const i=[],s=na(e.definition);if(ae(s))return[];{const a=t.name;et(s,t)&&i.push({message:n.buildLeftRecursionError({topLevelRule:t,leftRecursionPath:r}),type:Ze.LEFT_RECURSION,ruleName:a});const c=Ia(s,r.concat([t])),l=dt(c,u=>{const f=Be(r);return f.push(u),Ef(t,u,n,f)});return i.concat(l)}}function na(t){let e=[];if(ae(t))return e;const n=wt(t);if(n instanceof Qe)e.push(n.referencedRule);else if(n instanceof rt||n instanceof ze||n instanceof pt||n instanceof mt||n instanceof it||n instanceof Ae)e=e.concat(na(n.definition));else if(n instanceof st)e=yt(M(n.definition,s=>na(s.definition)));else if(!(n instanceof ue))throw Error("non exhaustive match");const r=ha(n),i=t.length>1;if(r&&i){const s=Ge(t);return e.concat(na(s))}else return e}class pl extends Qr{constructor(){super(...arguments),this.alternations=[]}visitAlternation(e){this.alternations.push(e)}}function Gg(t,e){const n=new pl;t.accept(n);const r=n.alternations;return dt(r,s=>{const a=Bi(s.definition);return dt(a,(o,c)=>{const l=gf([o],[],cs,1);return ae(l)?[{message:e.buildEmptyAlternationError({topLevelRule:t,alternation:s,emptyChoiceIdx:c}),type:Ze.NONE_LAST_EMPTY_ALT,ruleName:t.name,occurrence:s.idx,alternative:c+1}]:[]})})}function Ug(t,e,n){const r=new pl;t.accept(r);let i=r.alternations;return i=Pa(i,a=>a.ignoreAmbiguities===!0),dt(i,a=>{const o=a.idx,c=a.maxLookahead||e,l=Ua(o,t,c,a),u=Bg(l,a,t,n),f=Wg(l,a,t,n);return u.concat(f)})}class qg extends Qr{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 jg(t,e){const n=new pl;t.accept(n);const r=n.alternations;return dt(r,s=>s.definition.length>255?[{message:e.buildTooManyAlternativesError({topLevelRule:t,alternation:s}),type:Ze.TOO_MANY_ALTS,ruleName:t.name,occurrence:s.idx}]:[])}function zg(t,e,n){const r=[];return q(t,i=>{const s=new qg;i.accept(s);const a=s.allProductions;q(a,o=>{const c=hl(o),l=o.maxLookahead||e,u=o.idx,g=qa(u,i,c,l)[0];if(ae(yt(g))){const h=n.buildEmptyRepetitionError({topLevelRule:i,repetition:o});r.push({message:h,type:Ze.NO_NON_EMPTY_LOOKAHEAD,ruleName:i.name})}})}),r}function Bg(t,e,n,r){const i=[],s=Je(t,(o,c,l)=>(e.definition[l].ignoreAmbiguities===!0||q(c,u=>{const f=[l];q(t,(g,h)=>{l!==h&&Lo(g,u)&&e.definition[h].ignoreAmbiguities!==!0&&f.push(h)}),f.length>1&&!Lo(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:Ze.AMBIGUOUS_ALTS,ruleName:n.name,occurrence:e.idx,alternatives:o.alts}})}function Wg(t,e,n,r){const i=Je(t,(a,o,c)=>{const l=M(o,u=>({idx:c,path:u}));return a.concat(l)},[]);return rs(dt(i,a=>{if(e.definition[a.idx].ignoreAmbiguities===!0)return[];const c=a.idx,l=a.path,u=ht(i,g=>e.definition[g.idx].ignoreAmbiguities!==!0&&g.idx<c&&Pg(g.path,l));return M(u,g=>{const h=[g.idx+1,c+1],E=e.idx===0?"":e.idx;return{message:r.buildAlternationPrefixAmbiguityError({topLevelRule:n,alternation:e,ambiguityIndices:h,prefixPath:g.path}),type:Ze.AMBIGUOUS_PREFIX_ALTS,ruleName:n.name,occurrence:E,alternatives:h}})}))}function Vg(t,e,n){const r=[],i=M(e,s=>s.name);return q(t,s=>{const a=s.name;if(et(i,a)){const o=n.buildNamespaceConflictError(s);r.push({message:o,type:Ze.CONFLICT_TOKENS_RULES_NAMESPACE,ruleName:a})}}),r}function Kg(t){const e=rl(t,{errMsgProvider:yg}),n={};return q(t.rules,r=>{n[r.name]=r}),Tg(n,e.errMsgProvider)}function Hg(t){return t=rl(t,{errMsgProvider:qn}),Lg(t.rules,t.tokenTypes,t.errMsgProvider,t.grammarName)}const Af="MismatchedTokenException",Sf="NoViableAltException",Cf="EarlyExitException",kf="NotAllInputParsedException",wf=[Af,Sf,Cf,kf];Object.freeze(wf);function ga(t){return et(wf,t.name)}class ja 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 Nf extends ja{constructor(e,n,r){super(e,n),this.previousToken=r,this.name=Af}}class Yg extends ja{constructor(e,n,r){super(e,n),this.previousToken=r,this.name=Sf}}class Xg extends ja{constructor(e,n){super(e,n),this.name=kf}}class Jg extends ja{constructor(e,n,r){super(e,n),this.previousToken=r,this.name=Cf}}const to={},bf="InRuleRecoveryException";class Qg extends Error{constructor(e){super(e),this.name=bf}}class Zg{initRecoverable(e){this.firstAfterRepMap={},this.resyncFollows={},this.recoveryEnabled=z(e,"recoveryEnabled")?e.recoveryEnabled:rn.recoveryEnabled,this.recoveryEnabled&&(this.attemptInRepetitionRecovery=ey)}getTokenToInsert(e){const n=fl(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 g=this.LA(0),h=this.errorMessageProvider.buildMismatchTokenMessage({expected:i,actual:l,previous:g,ruleName:this.getCurrRuleFullName()}),E=new Nf(h,l,this.LA(0));E.resyncedTokens=Bi(o),this.SAVE_ERROR(E)};for(;!c;)if(this.tokenMatcher(u,i)){f();return}else if(r.call(this)){f(),e.apply(this,n);return}else this.tokenMatcher(u,s)?c=!0:(u=this.SKIP_TOKEN(),this.addToResyncTokens(u,o));this.importLexerState(a)}shouldInRepetitionRecoveryBeTried(e,n,r){return!(r===!1||this.tokenMatcher(this.LA(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 Qg("sad sad panda")}canPerformInRuleRecovery(e,n){return this.canRecoverWithSingleTokenInsertion(e,n)||this.canRecoverWithSingleTokenDeletion(e)}canRecoverWithSingleTokenInsertion(e,n){if(!this.canTokenTypeBeInsertedInRecovery(e)||ae(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 et(r,e)}findReSyncTokenType(){const e=this.flattenFollowSet();let n=this.LA(1),r=2;for(;;){const i=zr(e,s=>mf(n,s));if(i!==void 0)return i;n=this.LA(r),r++}}getCurrFollowKey(){if(this.RULE_STACK.length===1)return to;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?to:{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===to)return[hn];const n=e.ruleName+e.idxInCallingRule+sf+e.inRule;return this.resyncFollows[n]}addToResyncTokens(e,n){return this.tokenMatcher(e,hn)||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 ey(t,e,n,r,i,s,a){const o=this.getKeyForAutomaticLookahead(r,i);let c=this.firstAfterRepMap[o];if(c===void 0){const g=this.getCurrRuleFullName(),h=this.getGAstProductions()[g];c=new s(h,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=hn,u=1),!(l===void 0||u===void 0)&&this.shouldInRepetitionRecoveryBeTried(l,u,a)&&this.tryInRepetitionRecovery(t,e,n,l)}const ty=4,mn=8,_f=1<<mn,If=2<<mn,Oo=3<<mn,xo=4<<mn,Do=5<<mn,ra=6<<mn;function no(t,e,n){return n|e|t}class ml{constructor(e){var n;this.maxLookahead=(n=e==null?void 0:e.maxLookahead)!==null&&n!==void 0?n:rn.maxLookahead}validate(e){const n=this.validateNoLeftRecursion(e.rules);if(ae(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 dt(e,n=>Ef(n,n,qn))}validateEmptyOrAlternatives(e){return dt(e,n=>Gg(n,qn))}validateAmbiguousAlternationAlternatives(e,n){return dt(e,r=>Ug(r,n,qn))}validateSomeNonEmptyLookaheadPath(e,n){return zg(e,n,qn)}buildLookaheadForAlternation(e){return kg(e.prodOccurrence,e.rule,e.maxLookahead,e.hasPredicates,e.dynamicTokensEnabled,Ng)}buildLookaheadForOptional(e){return wg(e.prodOccurrence,e.rule,e.maxLookahead,e.dynamicTokensEnabled,hl(e.prodType),bg)}}class ny{initLooksAhead(e){this.dynamicTokensEnabled=z(e,"dynamicTokensEnabled")?e.dynamicTokensEnabled:rn.dynamicTokensEnabled,this.maxLookahead=z(e,"maxLookahead")?e.maxLookahead:rn.maxLookahead,this.lookaheadStrategy=z(e,"lookaheadStrategy")?e.lookaheadStrategy:new ml({maxLookahead:this.maxLookahead}),this.lookAheadFuncsCache=new Map}preComputeLookaheadFunctions(e){q(e,n=>{this.TRACE_INIT(`${n.name} Rule Lookahead`,()=>{const{alternation:r,repetition:i,option:s,repetitionMandatory:a,repetitionMandatoryWithSeparator:o,repetitionWithSeparator:c}=iy(n);q(r,l=>{const u=l.idx===0?"":l.idx;this.TRACE_INIT(`${$t(l)}${u}`,()=>{const f=this.lookaheadStrategy.buildLookaheadForAlternation({prodOccurrence:l.idx,rule:n,maxLookahead:l.maxLookahead||this.maxLookahead,hasPredicates:l.hasPredicates,dynamicTokensEnabled:this.dynamicTokensEnabled}),g=no(this.fullRuleNameToShort[n.name],_f,l.idx);this.setLaFuncCache(g,f)})}),q(i,l=>{this.computeLookaheadFunc(n,l.idx,Oo,"Repetition",l.maxLookahead,$t(l))}),q(s,l=>{this.computeLookaheadFunc(n,l.idx,If,"Option",l.maxLookahead,$t(l))}),q(a,l=>{this.computeLookaheadFunc(n,l.idx,xo,"RepetitionMandatory",l.maxLookahead,$t(l))}),q(o,l=>{this.computeLookaheadFunc(n,l.idx,ra,"RepetitionMandatoryWithSeparator",l.maxLookahead,$t(l))}),q(c,l=>{this.computeLookaheadFunc(n,l.idx,Do,"RepetitionWithSeparator",l.maxLookahead,$t(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=no(this.fullRuleNameToShort[e.name],r,n);this.setLaFuncCache(c,o)})}getKeyForAutomaticLookahead(e,n){const r=this.getLastExplicitRuleShortName();return no(r,e,n)}getLaFuncFromCache(e){return this.lookAheadFuncsCache.get(e)}setLaFuncCache(e,n){this.lookAheadFuncsCache.set(e,n)}}class ry extends Qr{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 ry;function iy(t){Ms.reset(),t.accept(Ms);const e=Ms.dslMethods;return Ms.reset(),e}function ou(t,e){isNaN(t.startOffset)===!0?(t.startOffset=e.startOffset,t.endOffset=e.endOffset):t.endOffset<e.endOffset&&(t.endOffset=e.endOffset)}function cu(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 sy(t,e,n){t.children[n]===void 0?t.children[n]=[e]:t.children[n].push(e)}function ay(t,e,n){t.children[e]===void 0?t.children[e]=[n]:t.children[e].push(n)}const oy="name";function Pf(t,e){Object.defineProperty(t,oy,{enumerable:!1,configurable:!0,writable:!1,value:e})}function cy(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 ly(t,e){const n=function(){};Pf(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=dy(this,e);if(!ae(i)){const s=M(i,a=>a.msg);throw Error(`Errors Detected in CST Visitor <${this.constructor.name}>:
82
+ ${s.join(`
83
+
84
+ `).replace(/\n/g,`
85
+ `)}`)}}};return n.prototype=r,n.prototype.constructor=n,n._RULE_NAMES=e,n}function uy(t,e,n){const r=function(){};Pf(r,t+"BaseSemanticsWithDefaults");const i=Object.create(n.prototype);return q(e,s=>{i[s]=cy}),r.prototype=i,r.prototype.constructor=r,r}var Mo;(function(t){t[t.REDUNDANT_METHOD=0]="REDUNDANT_METHOD",t[t.MISSING_METHOD=1]="MISSING_METHOD"})(Mo||(Mo={}));function dy(t,e){return fy(t,e)}function fy(t,e){const n=ht(e,i=>Xn(t[i])===!1),r=M(n,i=>({msg:`Missing visitor method: <${i}> on ${t.constructor.name} CST Visitor.`,type:Mo.MISSING_METHOD,methodName:i}));return rs(r)}class hy{initTreeBuilder(e){if(this.CST_STACK=[],this.outputCst=e.outputCst,this.nodeLocationTracking=z(e,"nodeLocationTracking")?e.nodeLocationTracking:rn.nodeLocationTracking,!this.outputCst)this.cstInvocationStateUpdate=Fe,this.cstFinallyStateUpdate=Fe,this.cstPostTerminal=Fe,this.cstPostNonTerminal=Fe,this.cstPostRule=Fe;else if(/full/i.test(this.nodeLocationTracking))this.recoveryEnabled?(this.setNodeLocationFromToken=cu,this.setNodeLocationFromNode=cu,this.cstPostRule=Fe,this.setInitialNodeLocation=this.setInitialNodeLocationFullRecovery):(this.setNodeLocationFromToken=Fe,this.setNodeLocationFromNode=Fe,this.cstPostRule=this.cstPostRuleFull,this.setInitialNodeLocation=this.setInitialNodeLocationFullRegular);else if(/onlyOffset/i.test(this.nodeLocationTracking))this.recoveryEnabled?(this.setNodeLocationFromToken=ou,this.setNodeLocationFromNode=ou,this.cstPostRule=Fe,this.setInitialNodeLocation=this.setInitialNodeLocationOnlyOffsetRecovery):(this.setNodeLocationFromToken=Fe,this.setNodeLocationFromNode=Fe,this.cstPostRule=this.cstPostRuleOnlyOffset,this.setInitialNodeLocation=this.setInitialNodeLocationOnlyOffsetRegular);else if(/none/i.test(this.nodeLocationTracking))this.setNodeLocationFromToken=Fe,this.setNodeLocationFromNode=Fe,this.cstPostRule=Fe,this.setInitialNodeLocation=Fe;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];sy(r,n,e),this.setNodeLocationFromToken(r.location,n)}cstPostNonTerminal(e,n){const r=this.CST_STACK[this.CST_STACK.length-1];ay(r,n,e),this.setNodeLocationFromNode(r.location,e.location)}getBaseCstVisitorConstructor(){if(tn(this.baseCstVisitorConstructor)){const e=ly(this.className,jr(this.gastProductionsCache));return this.baseCstVisitorConstructor=e,e}return this.baseCstVisitorConstructor}getBaseCstVisitorConstructorWithDefaults(){if(tn(this.baseCstVisitorWithDefaultsConstructor)){const e=uy(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 py{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)):Ta}LA(e){const n=this.currIdx+e;return n<0||this.tokVectorLength<=n?Ta: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 my{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=Ra){if(et(this.definedRulesNames,e)){const a={message:qn.buildDuplicateRuleNameError({topLevelRule:e,grammarName:this.className}),type:Ze.DUPLICATE_RULE_NAME,ruleName:e};this.definitionErrors.push(a)}this.definedRulesNames.push(e);const i=this.defineRule(e,n,r);return this[e]=i,i}OVERRIDE_RULE(e,n,r=Ra){const i=Fg(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(ga(i))return!1;throw i}finally{this.reloadRecogState(r),this.isBackTrackingStack.pop()}}}getGAstProductions(){return this.gastProductionsCache}getSerializedGastProductions(){return Sm($e(this.gastProductionsCache))}}class gy{initRecognizerEngine(e,n){if(this.className=this.constructor.name,this.shortRuleNameToFull={},this.fullRuleNameToShort={},this.ruleShortNameIdx=256,this.tokenMatcher=ma,this.subruleIdx=0,this.definedRulesNames=[],this.tokensMap={},this.isBackTrackingStack=[],this.RULE_STACK=[],this.RULE_OCCURRENCE_STACK=[],this.gastProductionsCache={},z(n,"serializedGrammar"))throw Error(`The Parser's configuration can no longer contain a <serializedGrammar> property.
86
+ See: https://chevrotain.io/docs/changes/BREAKING_CHANGES.html#_6-0-0
87
+ For Further details.`);if(je(e)){if(ae(e))throw Error(`A Token Vocabulary cannot be empty.
88
+ Note that the first argument for the parser constructor
89
+ 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.
90
+ See: https://chevrotain.io/docs/changes/BREAKING_CHANGES.html#_4-0-0
91
+ For Further details.`)}if(je(e))this.tokensMap=Je(e,(s,a)=>(s[a.name]=a,s),{});else if(z(e,"modes")&&Ct(yt($e(e.modes)),pg)){const s=yt($e(e.modes)),a=il(s);this.tokensMap=Je(a,(o,c)=>(o[c.name]=c,o),{})}else if(Bh(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=hn;const r=z(e,"modes")?yt($e(e.modes)):$e(e),i=Ct(r,s=>ae(s.categoryMatches));this.tokenMatcher=i?ma:cs,ls($e(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'
92
+ Make sure that all grammar rule definitions are done before 'performSelfAnalysis' is called.`);const i=z(r,"resyncEnabled")?r.resyncEnabled:Ra.resyncEnabled,s=z(r,"recoveryValueFunc")?r.recoveryValueFunc:Ra.recoveryValueFunc,a=this.ruleShortNameIdx<<ty+mn;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(ga(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(If,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(xo,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,ye.REPETITION_MANDATORY,n.ERR_MSG);this.attemptInRepetitionRecovery(this.atLeastOneInternal,[e,n],i,xo,e,Sg)}atLeastOneSepFirstInternal(e,n){const r=this.getKeyForAutomaticLookahead(ra,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,iu],o,ra,e,iu)}else throw this.raiseEarlyExitException(e,ye.REPETITION_MANDATORY_WITH_SEPARATOR,n.ERR_MSG)}manyInternal(e,n){const r=this.getKeyForAutomaticLookahead(Oo,e);return this.manyInternalLogic(e,n,r)}manyInternalLogic(e,n,r){let i=this.getLaFuncFromCache(r),s;if(typeof n!="function"){s=n.DEF;const o=n.GATE;if(o!==void 0){const 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,Oo,e,Ag,a)}manySepFirstInternal(e,n){const r=this.getKeyForAutomaticLookahead(Do,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,ru],o,Do,e,ru)}}repetitionSepSecondInternal(e,n,r,i,s){for(;r();)this.CONSUME(n),i.call(this);this.attemptInRepetitionRecovery(this.repetitionSepSecondInternal,[e,n,r,i,s],r,ra,e,s)}doSingleRepetition(e){const n=this.getLexerPosition();return e.call(this),this.getLexerPosition()>n}orInternal(e,n){const r=this.getKeyForAutomaticLookahead(_f,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 Xg(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 ga(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 Nf(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===bf?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),hn)}reset(){this.resetLexerState(),this.subruleIdx=0,this.isBackTrackingStack=[],this.errors=[],this.RULE_STACK=[],this.CST_STACK=[],this.RULE_OCCURRENCE_STACK=[]}}class yy{initErrorHandler(e){this._errors=[],this.errorMessageProvider=z(e,"errorMessageProvider")?e.errorMessageProvider:rn.errorMessageProvider}SAVE_ERROR(e){if(ga(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=qa(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 Jg(l,this.LA(1),this.LA(0)))}raiseNoAltException(e,n){const r=this.getCurrRuleFullName(),i=this.getGAstProductions()[r],s=Ua(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 Yg(c,this.LA(1),o))}}class Ty{initContentAssist(){}computeContentAssist(e,n){const r=this.gastProductionsCache[e];if(tn(r))throw Error(`Rule ->${e}<- does not exist in this grammar.`);return gf([r],n,this.tokenMatcher,this.maxLookahead)}getNextPossibleTokenTypes(e){const n=wt(e.ruleStack),i=this.getGAstProductions()[n];return new Eg(i,e).startWalking()}}const za={description:"This Object indicates the Parser is during Recording Phase"};Object.freeze(za);const lu=!0,uu=Math.pow(2,mn)-1,$f=pf({name:"RECORDING_PHASE_TOKEN",pattern:tt.NA});ls([$f]);const Lf=fl($f,`This IToken indicates the Parser is in Recording Phase
93
+ See: https://chevrotain.io/docs/guide/internals.html#grammar-recording for details`,-1,-1,-1,-1,-1,-1);Object.freeze(Lf);const Ry={name:`This CSTNode indicates the Parser is in Recording Phase
94
+ See: https://chevrotain.io/docs/guide/internals.html#grammar-recording for details`,children:{}};class vy{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 Ta}topLevelRuleRecord(e,n){try{const r=new Jr({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+`
95
+ This error was thrown during the "grammar recording phase" For more info see:
96
+ https://chevrotain.io/docs/guide/internals.html#grammar-recording`}catch{throw r}throw r}}optionInternalRecord(e,n){return Ti.call(this,ze,e,n)}atLeastOneInternalRecord(e,n){Ti.call(this,pt,n,e)}atLeastOneSepFirstInternalRecord(e,n){Ti.call(this,mt,n,e,lu)}manyInternalRecord(e,n){Ti.call(this,Ae,n,e)}manySepFirstInternalRecord(e,n){Ti.call(this,it,n,e,lu)}orInternalRecord(e,n){return Ey.call(this,e,n)}subruleInternalRecord(e,n,r){if(ya(n),!e||z(e,"ruleName")===!1){const o=new Error(`<SUBRULE${du(n)}> argument is invalid expecting a Parser method reference but got: <${JSON.stringify(e)}>
97
+ 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 Qe({idx:n,nonTerminalName:s,label:r==null?void 0:r.LABEL,referencedRule:void 0});return i.definition.push(a),this.outputCst?Ry:za}consumeInternalRecord(e,n,r){if(ya(n),!ff(e)){const a=new Error(`<CONSUME${du(n)}> argument is invalid expecting a TokenType reference but got: <${JSON.stringify(e)}>
98
+ 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),Lf}}function Ti(t,e,n,r=!1){ya(n);const i=zn(this.recordingProdStack),s=Xn(e)?e:e.DEF,a=new t({definition:[],idx:n});return r&&(a.separator=e.SEP),z(e,"MAX_LOOKAHEAD")&&(a.maxLookahead=e.MAX_LOOKAHEAD),this.recordingProdStack.push(a),s.call(this),i.definition.push(a),this.recordingProdStack.pop(),za}function Ey(t,e){ya(e);const n=zn(this.recordingProdStack),r=je(t)===!1,i=r===!1?t:t.DEF,s=new st({definition:[],idx:e,ignoreAmbiguities:r&&t.IGNORE_AMBIGUITIES===!0});z(t,"MAX_LOOKAHEAD")&&(s.maxLookahead=t.MAX_LOOKAHEAD);const a=xd(i,o=>Xn(o.GATE));return s.hasPredicates=a,n.definition.push(s),q(i,o=>{const c=new rt({definition:[]});s.definition.push(c),z(o,"IGNORE_AMBIGUITIES")?c.ignoreAmbiguities=o.IGNORE_AMBIGUITIES:z(o,"GATE")&&(c.ignoreAmbiguities=!0),this.recordingProdStack.push(c),o.ALT.call(this),this.recordingProdStack.pop()}),za}function du(t){return t===0?"":`${t}`}function ya(t){if(t<0||t>uu){const e=new Error(`Invalid DSL Method idx value: <${t}>
99
+ Idx value must be a none negative value smaller than ${uu+1}`);throw e.KNOWN_RECORDER_ERROR=!0,e}}class Ay{initPerformanceTracer(e){if(z(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;const{time:i,value:s}=nf(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 Sy(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 Ta=fl(hn,"",NaN,NaN,NaN,NaN,NaN,NaN);Object.freeze(Ta);const rn=Object.freeze({recoveryEnabled:!1,maxLookahead:3,dynamicTokensEnabled:!1,outputCst:!0,errorMessageProvider:Ar,nodeLocationTracking:"none",traceInitPerf:!1,skipValidations:!1}),Ra=Object.freeze({recoveryValueFunc:()=>{},resyncEnabled:!0});var Ze;(function(t){t[t.INVALID_RULE_NAME=0]="INVALID_RULE_NAME",t[t.DUPLICATE_RULE_NAME=1]="DUPLICATE_RULE_NAME",t[t.INVALID_RULE_OVERRIDE=2]="INVALID_RULE_OVERRIDE",t[t.DUPLICATE_PRODUCTIONS=3]="DUPLICATE_PRODUCTIONS",t[t.UNRESOLVED_SUBRULE_REF=4]="UNRESOLVED_SUBRULE_REF",t[t.LEFT_RECURSION=5]="LEFT_RECURSION",t[t.NONE_LAST_EMPTY_ALT=6]="NONE_LAST_EMPTY_ALT",t[t.AMBIGUOUS_ALTS=7]="AMBIGUOUS_ALTS",t[t.CONFLICT_TOKENS_RULES_NAMESPACE=8]="CONFLICT_TOKENS_RULES_NAMESPACE",t[t.INVALID_TOKEN_NAME=9]="INVALID_TOKEN_NAME",t[t.NO_NON_EMPTY_LOOKAHEAD=10]="NO_NON_EMPTY_LOOKAHEAD",t[t.AMBIGUOUS_PREFIX_ALTS=11]="AMBIGUOUS_PREFIX_ALTS",t[t.TOO_MANY_ALTS=12]="TOO_MANY_ALTS",t[t.CUSTOM_LOOKAHEAD_VALIDATION=13]="CUSTOM_LOOKAHEAD_VALIDATION"})(Ze||(Ze={}));function fu(t=void 0){return function(){return t}}class us{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",()=>{rf(this)}),this.TRACE_INIT("Grammar Recording",()=>{try{this.enableRecording(),q(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=Kg({rules:$e(this.gastProductionsCache)}),this.definitionErrors=this.definitionErrors.concat(r)}),this.TRACE_INIT("Grammar Validations",()=>{if(ae(r)&&this.skipValidations===!1){const i=Hg({rules:$e(this.gastProductionsCache),tokenTypes:$e(this.tokensMap),errMsgProvider:qn,grammarName:n}),s=$g({lookaheadStrategy:this.lookaheadStrategy,rules:$e(this.gastProductionsCache),tokenTypes:$e(this.tokensMap),grammarName:n});this.definitionErrors=this.definitionErrors.concat(i,s)}}),ae(this.definitionErrors)&&(this.recoveryEnabled&&this.TRACE_INIT("computeAllProdsFollows",()=>{const i=Im($e(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:$e(this.gastProductionsCache)}),this.preComputeLookaheadFunctions($e(this.gastProductionsCache))})),!us.DEFER_DEFINITION_ERRORS_HANDLING&&!ae(this.definitionErrors))throw e=M(this.definitionErrors,i=>i.message),new Error(`Parser Definition Errors detected:
100
+ ${e.join(`
101
+ -------------------------------
102
+ `)}`)})}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),z(n,"ignoredIssues"))throw new Error(`The <ignoredIssues> IParserConfig property has been deprecated.
103
+ Please use the <IGNORE_AMBIGUITIES> flag on the relevant DSL method instead.
104
+ See: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#IGNORING_AMBIGUITIES
105
+ For further details.`);this.skipValidations=z(n,"skipValidations")?n.skipValidations:rn.skipValidations}}us.DEFER_DEFINITION_ERRORS_HANDLING=!1;Sy(us,[Zg,ny,hy,py,gy,my,yy,Ty,vy,Ay]);class Cy extends us{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 pn=1,ky=2,Of=4,xf=5,ds=7,wy=8,Ny=9,by=10,_y=11,Df=12;class gl{constructor(e){this.target=e}isEpsilon(){return!1}}class yl extends gl{constructor(e,n){super(e),this.tokenType=n}}class Mf extends gl{constructor(e){super(e)}isEpsilon(){return!0}}class Tl extends gl{constructor(e,n,r){super(e),this.rule=n,this.followState=r}isEpsilon(){return!0}}function Iy(t){const e={decisionMap:{},decisionStates:[],ruleToStartState:new Map,ruleToStopState:new Map,states:[]};Py(e,t);const n=t.length;for(let r=0;r<n;r++){const i=t[r],s=Jn(e,i,i);s!==void 0&&jy(e,i,s)}return e}function Py(t,e){const n=e.length;for(let r=0;r<n;r++){const i=e[r],s=Le(t,i,void 0,{type:ky}),a=Le(t,i,void 0,{type:ds});s.stop=a,t.ruleToStartState.set(i,s),t.ruleToStopState.set(i,a)}}function Ff(t,e,n){return n instanceof ue?Rl(t,e,n.terminalType,n):n instanceof Qe?qy(t,e,n):n instanceof st?Dy(t,e,n):n instanceof ze?My(t,e,n):n instanceof Ae?$y(t,e,n):n instanceof it?Ly(t,e,n):n instanceof pt?Oy(t,e,n):n instanceof mt?xy(t,e,n):Jn(t,e,n)}function $y(t,e,n){const r=Le(t,e,n,{type:xf});gn(t,r);const i=Zr(t,e,r,n,Jn(t,e,n));return Uf(t,e,n,i)}function Ly(t,e,n){const r=Le(t,e,n,{type:xf});gn(t,r);const i=Zr(t,e,r,n,Jn(t,e,n)),s=Rl(t,e,n.separator,n);return Uf(t,e,n,i,s)}function Oy(t,e,n){const r=Le(t,e,n,{type:Of});gn(t,r);const i=Zr(t,e,r,n,Jn(t,e,n));return Gf(t,e,n,i)}function xy(t,e,n){const r=Le(t,e,n,{type:Of});gn(t,r);const i=Zr(t,e,r,n,Jn(t,e,n)),s=Rl(t,e,n.separator,n);return Gf(t,e,n,i,s)}function Dy(t,e,n){const r=Le(t,e,n,{type:pn});gn(t,r);const i=M(n.definition,a=>Ff(t,e,a));return Zr(t,e,r,n,...i)}function My(t,e,n){const r=Le(t,e,n,{type:pn});gn(t,r);const i=Zr(t,e,r,n,Jn(t,e,n));return Fy(t,e,n,i)}function Jn(t,e,n){const r=ht(M(n.definition,i=>Ff(t,e,i)),i=>i!==void 0);return r.length===1?r[0]:r.length===0?void 0:Uy(t,r)}function Gf(t,e,n,r,i){const s=r.left,a=r.right,o=Le(t,e,n,{type:_y});gn(t,o);const c=Le(t,e,n,{type:Df});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 Uf(t,e,n,r,i){const s=r.left,a=r.right,o=Le(t,e,n,{type:by});gn(t,o);const c=Le(t,e,n,{type:Df}),l=Le(t,e,n,{type:Ny});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 Fy(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 gn(t,e){return t.decisionStates.push(e),e.decision=t.decisionStates.length-1,e.decision}function Zr(t,e,n,r,...i){const s=Le(t,e,r,{type:wy,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,Gy(r),r.idx)]=n,a}function Gy(t){if(t instanceof st)return"Alternation";if(t instanceof ze)return"Option";if(t instanceof Ae)return"Repetition";if(t instanceof it)return"RepetitionWithSeparator";if(t instanceof pt)return"RepetitionMandatory";if(t instanceof mt)return"RepetitionMandatoryWithSeparator";throw new Error("Invalid production type encountered")}function Uy(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 Tl,l=o,u=e[s+1].left;a.left.type===pn&&a.right.type===pn&&o!==void 0&&(c&&l.followState===a.right||o.target===a.right)?(c?l.followState=u:o.target=u,zy(t,a.right)):_e(a.right,u)}const r=e[0],i=e[n-1];return{left:r.left,right:i.right}}function Rl(t,e,n,r){const i=Le(t,e,r,{type:pn}),s=Le(t,e,r,{type:pn});return vl(i,new yl(s,n)),{left:i,right:s}}function qy(t,e,n){const r=n.referencedRule,i=t.ruleToStartState.get(r),s=Le(t,e,n,{type:pn}),a=Le(t,e,n,{type:pn}),o=new Tl(i,r,a);return vl(s,o),{left:s,right:a}}function jy(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 Mf(e);vl(t,n)}function Le(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 vl(t,e){t.transitions.length===0&&(t.epsilonOnlyTransitions=e.isEpsilon()),t.transitions.push(e)}function zy(t,e){t.states.splice(t.states.indexOf(e),1)}const va={};class Fo{constructor(){this.map={},this.configs=[]}get size(){return this.configs.length}finalize(){this.map={}}add(e){const n=qf(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 qf(t,e=!0){return`${e?`a${t.alt}`:""}s${t.state.stateNumber}:${t.stack.map(n=>n.stateNumber.toString()).join("_")}`}function By(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 jf{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 hu=new jf;class Wy extends ml{constructor(e){var n;super(),this.logging=(n=e==null?void 0:e.logging)!==null&&n!==void 0?n:(r=>{})}initialize(e){this.atn=Iy(e.rules),this.dfas=Vy(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(su({maxLookahead:1,occurrence:n,prodType:"Alternation",rule:r}),g=>M(g,h=>h[0]));if(pu(f,!1)&&!s){const g=Je(f,(h,E,b)=>(q(E,I=>{I&&(h[I.tokenTypeIdx]=b,q(I.categoryMatches,C=>{h[C]=b}))}),h),{});return i?function(h){var E;const b=this.LA(1),I=g[b.tokenTypeIdx];if(h!==void 0&&I!==void 0){const C=(E=h[I])===null||E===void 0?void 0:E.GATE;if(C!==void 0&&C.call(this)===!1)return}return I}:function(){const h=this.LA(1);return g[h.tokenTypeIdx]}}else return i?function(g){const h=new jf,E=g===void 0?0:g.length;for(let I=0;I<E;I++){const C=g==null?void 0:g[I].GATE;h.set(I,C===void 0||C.call(this))}const b=ro.call(this,a,u,h,o);return typeof b=="number"?b:void 0}:function(){const g=ro.call(this,a,u,hu,o);return typeof g=="number"?g: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(su({maxLookahead:1,occurrence:n,prodType:i,rule:r}),g=>M(g,h=>h[0]));if(pu(f)&&f[0][0]&&!s){const g=f[0],h=yt(g);if(h.length===1&&ae(h[0].categoryMatches)){const b=h[0].tokenTypeIdx;return function(){return this.LA(1).tokenTypeIdx===b}}else{const E=Je(h,(b,I)=>(I!==void 0&&(b[I.tokenTypeIdx]=!0,q(I.categoryMatches,C=>{b[C]=!0})),b),{});return function(){const b=this.LA(1);return E[b.tokenTypeIdx]===!0}}}return function(){const g=ro.call(this,a,u,hu,o);return typeof g=="object"?!1:g===0}}}function pu(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 Vy(t){const e=t.decisionStates.length,n=Array(e);for(let r=0;r<e;r++)n[r]=By(t.decisionStates[r],r);return n}function ro(t,e,n,r){const i=t[e](n);let s=i.start;if(s===void 0){const o=rT(i.atnStartState);s=Bf(i,zf(o)),i.start=s}return Ky.apply(this,[i,s,n,r])}function Ky(t,e,n,r){let i=e,s=1;const a=[];let o=this.LA(s++);for(;;){let c=Zy(i,o);if(c===void 0&&(c=Hy.apply(this,[t,i,o,s,n,r])),c===va)return Qy(a,i,o);if(c.isAcceptState===!0)return c.prediction;i=c,a.push(o),o=this.LA(s++)}}function Hy(t,e,n,r,i,s){const a=eT(e.configs,n,i);if(a.size===0)return mu(t,e,n,va),va;let o=zf(a);const c=nT(a,i);if(c!==void 0)o.isAcceptState=!0,o.prediction=c,o.configs.uniqueAlt=c;else if(oT(a)){const l=ep(a.alts);o.isAcceptState=!0,o.prediction=l,o.configs.uniqueAlt=l,Yy.apply(this,[t,r,a.alts,s])}return o=mu(t,e,n,o),o}function Yy(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=Xy({topLevelRule:a,ambiguityIndices:n,production:o,prefixPath:i});r(c)}function Xy(t){const e=M(t.prefixPath,i=>Cr(i)).join(", "),n=t.production.idx===0?"":t.production.idx;let r=`Ambiguous Alternatives Detected: <${t.ambiguityIndices.join(", ")}> in <${Jy(t.production)}${n}> inside <${t.topLevelRule.name}> Rule,
106
+ <${e}> may appears as a prefix path in all these alternatives.
107
+ `;return r=r+`See: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#AMBIGUOUS_ALTERNATIVES
108
+ For Further details.`,r}function Jy(t){if(t instanceof Qe)return"SUBRULE";if(t instanceof ze)return"OPTION";if(t instanceof st)return"OR";if(t instanceof pt)return"AT_LEAST_ONE";if(t instanceof mt)return"AT_LEAST_ONE_SEP";if(t instanceof it)return"MANY_SEP";if(t instanceof Ae)return"MANY";if(t instanceof ue)return"CONSUME";throw Error("non exhaustive match")}function Qy(t,e,n){const r=dt(e.configs.elements,s=>s.state.transitions),i=vp(r.filter(s=>s instanceof yl).map(s=>s.tokenType),s=>s.tokenTypeIdx);return{actualToken:n,possibleTokenTypes:i,tokenPath:t}}function Zy(t,e){return t.edges[e.tokenTypeIdx]}function eT(t,e,n){const r=new Fo,i=[];for(const a of t.elements){if(n.is(a.alt)===!1)continue;if(a.state.type===ds){i.push(a);continue}const o=a.state.transitions.length;for(let c=0;c<o;c++){const l=a.state.transitions[c],u=tT(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 Fo;for(const a of r.elements)Ea(a,s)}if(i.length>0&&!sT(s))for(const a of i)s.add(a);return s}function tT(t,e){if(t instanceof yl&&mf(e,t.tokenType))return t.target}function nT(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 zf(t){return{configs:t,edges:{},isAcceptState:!1,prediction:-1}}function mu(t,e,n,r){return r=Bf(t,r),e.edges[n.tokenTypeIdx]=r,r}function Bf(t,e){if(e===va)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 rT(t){const e=new Fo,n=t.transitions.length;for(let r=0;r<n;r++){const s={state:t.transitions[r].target,alt:r,stack:[]};Ea(s,e)}return e}function Ea(t,e){const n=t.state;if(n.type===ds){if(t.stack.length>0){const i=[...t.stack],a={state:i.pop(),alt:t.alt,stack:i};Ea(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=iT(t,s);a!==void 0&&Ea(a,e)}}function iT(t,e){if(e instanceof Mf)return{state:e.target,alt:t.alt,stack:t.stack};if(e instanceof Tl){const n=[...t.stack,e.followState];return{state:e.target,alt:t.alt,stack:n}}}function sT(t){for(const e of t.elements)if(e.state.type===ds)return!0;return!1}function aT(t){for(const e of t.elements)if(e.state.type!==ds)return!1;return!0}function oT(t){if(aT(t))return!0;const e=cT(t.elements);return lT(e)&&!uT(e)}function cT(t){const e=new Map;for(const n of t){const r=qf(n,!1);let i=e.get(r);i===void 0&&(i={},e.set(r,i)),i[n.alt]=!0}return e}function lT(t){for(const e of Array.from(t.values()))if(Object.keys(e).length>1)return!0;return!1}function uT(t){for(const e of Array.from(t.values()))if(Object.keys(e).length===1)return!0;return!1}var Go;(function(t){function e(n){return typeof n=="string"}t.is=e})(Go||(Go={}));var Aa;(function(t){function e(n){return typeof n=="string"}t.is=e})(Aa||(Aa={}));var Uo;(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})(Uo||(Uo={}));var Ki;(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})(Ki||(Ki={}));var te;(function(t){function e(r,i){return r===Number.MAX_VALUE&&(r=Ki.MAX_VALUE),i===Number.MAX_VALUE&&(i=Ki.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})(te||(te={}));var X;(function(t){function e(r,i,s,a){if(v.uinteger(r)&&v.uinteger(i)&&v.uinteger(s)&&v.uinteger(a))return{start:te.create(r,i),end:te.create(s,a)};if(te.is(r)&&te.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)&&te.is(i.start)&&te.is(i.end)}t.is=n})(X||(X={}));var Hi;(function(t){function e(r,i){return{uri:r,range:i}}t.create=e;function n(r){let i=r;return v.objectLiteral(i)&&X.is(i.range)&&(v.string(i.uri)||v.undefined(i.uri))}t.is=n})(Hi||(Hi={}));var qo;(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)&&X.is(i.targetRange)&&v.string(i.targetUri)&&X.is(i.targetSelectionRange)&&(X.is(i.originSelectionRange)||v.undefined(i.originSelectionRange))}t.is=n})(qo||(qo={}));var Sa;(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})(Sa||(Sa={}));var jo;(function(t){function e(r,i){return{range:r,color:i}}t.create=e;function n(r){const i=r;return v.objectLiteral(i)&&X.is(i.range)&&Sa.is(i.color)}t.is=n})(jo||(jo={}));var zo;(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)||Ot.is(i))&&(v.undefined(i.additionalTextEdits)||v.typedArray(i.additionalTextEdits,Ot.is))}t.is=n})(zo||(zo={}));var Bo;(function(t){t.Comment="comment",t.Imports="imports",t.Region="region"})(Bo||(Bo={}));var Wo;(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})(Wo||(Wo={}));var Ca;(function(t){function e(r,i){return{location:r,message:i}}t.create=e;function n(r){let i=r;return v.defined(i)&&Hi.is(i.location)&&v.string(i.message)}t.is=n})(Ca||(Ca={}));var Vo;(function(t){t.Error=1,t.Warning=2,t.Information=3,t.Hint=4})(Vo||(Vo={}));var Ko;(function(t){t.Unnecessary=1,t.Deprecated=2})(Ko||(Ko={}));var Ho;(function(t){function e(n){const r=n;return v.objectLiteral(r)&&v.string(r.href)}t.is=e})(Ho||(Ho={}));var Yi;(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)&&X.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,Ca.is))}t.is=n})(Yi||(Yi={}));var Hn;(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})(Hn||(Hn={}));var Ot;(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)&&X.is(a.range)}t.is=i})(Ot||(Ot={}));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 qe;(function(t){function e(n){const r=n;return v.string(r)}t.is=e})(qe||(qe={}));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 Ot.is(a)&&(jn.is(a.annotationId)||qe.is(a.annotationId))}t.is=i})(Jt||(Jt={}));var Xi;(function(t){function e(r,i){return{textDocument:r,edits:i}}t.create=e;function n(r){let i=r;return v.defined(i)&&Ji.is(i.textDocument)&&Array.isArray(i.edits)}t.is=n})(Xi||(Xi={}));var Wr;(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||qe.is(i.annotationId))}t.is=n})(Wr||(Wr={}));var Vr;(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||qe.is(i.annotationId))}t.is=n})(Vr||(Vr={}));var Kr;(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||qe.is(i.annotationId))}t.is=n})(Kr||(Kr={}));var ka;(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)?Wr.is(i)||Vr.is(i)||Kr.is(i):Xi.is(i)))}t.is=e})(ka||(ka={}));class Fs{constructor(e,n){this.edits=e,this.changeAnnotations=n}insert(e,n,r){let i,s;if(r===void 0?i=Ot.insert(e,n):qe.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=Ot.replace(e,n):qe.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=Ot.del(e):qe.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 gu{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(qe.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 dT{constructor(e){this._textEditChanges=Object.create(null),e!==void 0?(this._workspaceEdit=e,e.documentChanges?(this._changeAnnotations=new gu(e.changeAnnotations),e.changeAnnotations=this._changeAnnotations.all(),e.documentChanges.forEach(n=>{if(Xi.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(Ji.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 gu,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)||qe.is(n)?i=n:r=n;let s,a;if(i===void 0?s=Wr.create(e,r):(a=qe.is(i)?i:this._changeAnnotations.manage(i),s=Wr.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)||qe.is(r)?s=r:i=r;let a,o;if(s===void 0?a=Vr.create(e,n,i):(o=qe.is(s)?s:this._changeAnnotations.manage(s),a=Vr.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)||qe.is(n)?i=n:r=n;let s,a;if(i===void 0?s=Kr.create(e,r):(a=qe.is(i)?i:this._changeAnnotations.manage(i),s=Kr.create(e,r,a)),this._workspaceEdit.documentChanges.push(s),a!==void 0)return a}}var Yo;(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})(Yo||(Yo={}));var Xo;(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})(Xo||(Xo={}));var Ji;(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})(Ji||(Ji={}));var Jo;(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})(Jo||(Jo={}));var wa;(function(t){t.PlainText="plaintext",t.Markdown="markdown";function e(n){const r=n;return r===t.PlainText||r===t.Markdown}t.is=e})(wa||(wa={}));var Hr;(function(t){function e(n){const r=n;return v.objectLiteral(n)&&wa.is(r.kind)&&v.string(r.value)}t.is=e})(Hr||(Hr={}));var Qo;(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})(Qo||(Qo={}));var Zo;(function(t){t.PlainText=1,t.Snippet=2})(Zo||(Zo={}));var ec;(function(t){t.Deprecated=1})(ec||(ec={}));var tc;(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)&&X.is(i.insert)&&X.is(i.replace)}t.is=n})(tc||(tc={}));var nc;(function(t){t.asIs=1,t.adjustIndentation=2})(nc||(nc={}));var rc;(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})(rc||(rc={}));var ic;(function(t){function e(n){return{label:n}}t.create=e})(ic||(ic={}));var sc;(function(t){function e(n,r){return{items:n||[],isIncomplete:!!r}}t.create=e})(sc||(sc={}));var Qi;(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})(Qi||(Qi={}));var ac;(function(t){function e(n){let r=n;return!!r&&v.objectLiteral(r)&&(Hr.is(r.contents)||Qi.is(r.contents)||v.typedArray(r.contents,Qi.is))&&(n.range===void 0||X.is(n.range))}t.is=e})(ac||(ac={}));var oc;(function(t){function e(n,r){return r?{label:n,documentation:r}:{label:n}}t.create=e})(oc||(oc={}));var cc;(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})(cc||(cc={}));var lc;(function(t){t.Text=1,t.Read=2,t.Write=3})(lc||(lc={}));var uc;(function(t){function e(n,r){let i={range:n};return v.number(r)&&(i.kind=r),i}t.create=e})(uc||(uc={}));var dc;(function(t){t.File=1,t.Module=2,t.Namespace=3,t.Package=4,t.Class=5,t.Method=6,t.Property=7,t.Field=8,t.Constructor=9,t.Enum=10,t.Interface=11,t.Function=12,t.Variable=13,t.Constant=14,t.String=15,t.Number=16,t.Boolean=17,t.Array=18,t.Object=19,t.Key=20,t.Null=21,t.EnumMember=22,t.Struct=23,t.Event=24,t.Operator=25,t.TypeParameter=26})(dc||(dc={}));var fc;(function(t){t.Deprecated=1})(fc||(fc={}));var hc;(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})(hc||(hc={}));var pc;(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})(pc||(pc={}));var mc;(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)&&X.is(i.range)&&X.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})(mc||(mc={}));var gc;(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"})(gc||(gc={}));var Zi;(function(t){t.Invoked=1,t.Automatic=2})(Zi||(Zi={}));var yc;(function(t){function e(r,i,s){let a={diagnostics:r};return i!=null&&(a.only=i),s!=null&&(a.triggerKind=s),a}t.create=e;function n(r){let i=r;return v.defined(i)&&v.typedArray(i.diagnostics,Yi.is)&&(i.only===void 0||v.typedArray(i.only,v.string))&&(i.triggerKind===void 0||i.triggerKind===Zi.Invoked||i.triggerKind===Zi.Automatic)}t.is=n})(yc||(yc={}));var Tc;(function(t){function e(r,i,s){let a={title:r},o=!0;return typeof i=="string"?(o=!1,a.kind=i):Hn.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,Yi.is))&&(i.kind===void 0||v.string(i.kind))&&(i.edit!==void 0||i.command!==void 0)&&(i.command===void 0||Hn.is(i.command))&&(i.isPreferred===void 0||v.boolean(i.isPreferred))&&(i.edit===void 0||ka.is(i.edit))}t.is=n})(Tc||(Tc={}));var Rc;(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)&&X.is(i.range)&&(v.undefined(i.command)||Hn.is(i.command))}t.is=n})(Rc||(Rc={}));var vc;(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})(vc||(vc={}));var Ec;(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)&&X.is(i.range)&&(v.undefined(i.target)||v.string(i.target))}t.is=n})(Ec||(Ec={}));var Ac;(function(t){function e(r,i){return{range:r,parent:i}}t.create=e;function n(r){let i=r;return v.objectLiteral(i)&&X.is(i.range)&&(i.parent===void 0||t.is(i.parent))}t.is=n})(Ac||(Ac={}));var Sc;(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"})(Sc||(Sc={}));var Cc;(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"})(Cc||(Cc={}));var kc;(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})(kc||(kc={}));var wc;(function(t){function e(r,i){return{range:r,text:i}}t.create=e;function n(r){const i=r;return i!=null&&X.is(i.range)&&v.string(i.text)}t.is=n})(wc||(wc={}));var Nc;(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&&X.is(i.range)&&v.boolean(i.caseSensitiveLookup)&&(v.string(i.variableName)||i.variableName===void 0)}t.is=n})(Nc||(Nc={}));var bc;(function(t){function e(r,i){return{range:r,expression:i}}t.create=e;function n(r){const i=r;return i!=null&&X.is(i.range)&&(v.string(i.expression)||i.expression===void 0)}t.is=n})(bc||(bc={}));var _c;(function(t){function e(r,i){return{frameId:r,stoppedLocation:i}}t.create=e;function n(r){const i=r;return v.defined(i)&&X.is(r.stoppedLocation)}t.is=n})(_c||(_c={}));var Na;(function(t){t.Type=1,t.Parameter=2;function e(n){return n===1||n===2}t.is=e})(Na||(Na={}));var ba;(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)||Hr.is(i.tooltip))&&(i.location===void 0||Hi.is(i.location))&&(i.command===void 0||Hn.is(i.command))}t.is=n})(ba||(ba={}));var Ic;(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)&&te.is(i.position)&&(v.string(i.label)||v.typedArray(i.label,ba.is))&&(i.kind===void 0||Na.is(i.kind))&&i.textEdits===void 0||v.typedArray(i.textEdits,Ot.is)&&(i.tooltip===void 0||v.string(i.tooltip)||Hr.is(i.tooltip))&&(i.paddingLeft===void 0||v.boolean(i.paddingLeft))&&(i.paddingRight===void 0||v.boolean(i.paddingRight))}t.is=n})(Ic||(Ic={}));var Pc;(function(t){function e(n){return{kind:"snippet",value:n}}t.createSnippet=e})(Pc||(Pc={}));var $c;(function(t){function e(n,r,i,s){return{insertText:n,filterText:r,range:i,command:s}}t.create=e})($c||($c={}));var Lc;(function(t){function e(n){return{items:n}}t.create=e})(Lc||(Lc={}));var Oc;(function(t){t.Invoked=0,t.Automatic=1})(Oc||(Oc={}));var xc;(function(t){function e(n,r){return{range:n,text:r}}t.create=e})(xc||(xc={}));var Dc;(function(t){function e(n,r){return{triggerKind:n,selectedCompletionInfo:r}}t.create=e})(Dc||(Dc={}));var Mc;(function(t){function e(n){const r=n;return v.objectLiteral(r)&&Aa.is(r.uri)&&v.string(r.name)}t.is=e})(Mc||(Mc={}));const fT=[`
109
+ `,`\r
110
+ `,"\r"];var Fc;(function(t){function e(s,a,o,c){return new hT(s,a,o,c)}t.create=e;function n(s){let a=s;return!!(v.defined(a)&&v.string(a.uri)&&(v.undefined(a.languageId)||v.string(a.languageId))&&v.uinteger(a.lineCount)&&v.func(a.getText)&&v.func(a.positionAt)&&v.func(a.offsetAt))}t.is=n;function r(s,a){let o=s.getText(),c=i(a,(u,f)=>{let g=u.range.start.line-f.range.start.line;return g===0?u.range.start.character-f.range.start.character:g}),l=o.length;for(let u=c.length-1;u>=0;u--){let f=c[u],g=s.offsetAt(f.range.start),h=s.offsetAt(f.range.end);if(h<=l)o=o.substring(0,g)+f.newText+o.substring(h,o.length);else throw new Error("Overlapping edit");l=g}return o}t.applyEdits=r;function i(s,a){if(s.length<=1)return s;const o=s.length/2|0,c=s.slice(0,o),l=s.slice(o);i(c,a),i(l,a);let u=0,f=0,g=0;for(;u<c.length&&f<l.length;)a(c[u],l[f])<=0?s[g++]=c[u++]:s[g++]=l[f++];for(;u<c.length;)s[g++]=c[u++];for(;f<l.length;)s[g++]=l[f++];return s}})(Fc||(Fc={}));let hT=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===`
111
+ `,s==="\r"&&i+1<n.length&&n.charAt(i+1)===`
112
+ `&&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 te.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 te.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(h){return typeof h<"u"}t.defined=n;function r(h){return typeof h>"u"}t.undefined=r;function i(h){return h===!0||h===!1}t.boolean=i;function s(h){return e.call(h)==="[object String]"}t.string=s;function a(h){return e.call(h)==="[object Number]"}t.number=a;function o(h,E,b){return e.call(h)==="[object Number]"&&E<=h&&h<=b}t.numberRange=o;function c(h){return e.call(h)==="[object Number]"&&-2147483648<=h&&h<=2147483647}t.integer=c;function l(h){return e.call(h)==="[object Number]"&&0<=h&&h<=2147483647}t.uinteger=l;function u(h){return e.call(h)==="[object Function]"}t.func=u;function f(h){return h!==null&&typeof h=="object"}t.objectLiteral=f;function g(h,E){return Array.isArray(h)&&h.every(E)}t.typedArray=g})(v||(v={}));const pT=Object.freeze(Object.defineProperty({__proto__:null,get AnnotatedTextEdit(){return Jt},get ChangeAnnotation(){return jn},get ChangeAnnotationIdentifier(){return qe},get CodeAction(){return Tc},get CodeActionContext(){return yc},get CodeActionKind(){return gc},get CodeActionTriggerKind(){return Zi},get CodeDescription(){return Ho},get CodeLens(){return Rc},get Color(){return Sa},get ColorInformation(){return jo},get ColorPresentation(){return zo},get Command(){return Hn},get CompletionItem(){return ic},get CompletionItemKind(){return Qo},get CompletionItemLabelDetails(){return rc},get CompletionItemTag(){return ec},get CompletionList(){return sc},get CreateFile(){return Wr},get DeleteFile(){return Kr},get Diagnostic(){return Yi},get DiagnosticRelatedInformation(){return Ca},get DiagnosticSeverity(){return Vo},get DiagnosticTag(){return Ko},get DocumentHighlight(){return uc},get DocumentHighlightKind(){return lc},get DocumentLink(){return Ec},get DocumentSymbol(){return mc},get DocumentUri(){return Go},EOL:fT,get FoldingRange(){return Wo},get FoldingRangeKind(){return Bo},get FormattingOptions(){return vc},get Hover(){return ac},get InlayHint(){return Ic},get InlayHintKind(){return Na},get InlayHintLabelPart(){return ba},get InlineCompletionContext(){return Dc},get InlineCompletionItem(){return $c},get InlineCompletionList(){return Lc},get InlineCompletionTriggerKind(){return Oc},get InlineValueContext(){return _c},get InlineValueEvaluatableExpression(){return bc},get InlineValueText(){return wc},get InlineValueVariableLookup(){return Nc},get InsertReplaceEdit(){return tc},get InsertTextFormat(){return Zo},get InsertTextMode(){return nc},get Location(){return Hi},get LocationLink(){return qo},get MarkedString(){return Qi},get MarkupContent(){return Hr},get MarkupKind(){return wa},get OptionalVersionedTextDocumentIdentifier(){return Ji},get ParameterInformation(){return oc},get Position(){return te},get Range(){return X},get RenameFile(){return Vr},get SelectedCompletionInfo(){return xc},get SelectionRange(){return Ac},get SemanticTokenModifiers(){return Cc},get SemanticTokenTypes(){return Sc},get SemanticTokens(){return kc},get SignatureInformation(){return cc},get StringValue(){return Pc},get SymbolInformation(){return hc},get SymbolKind(){return dc},get SymbolTag(){return fc},get TextDocument(){return Fc},get TextDocumentEdit(){return Xi},get TextDocumentIdentifier(){return Yo},get TextDocumentItem(){return Jo},get TextEdit(){return Ot},get URI(){return Aa},get VersionedTextDocumentIdentifier(){return Xo},WorkspaceChange:dT,get WorkspaceEdit(){return ka},get WorkspaceFolder(){return Mc},get WorkspaceSymbol(){return pc},get integer(){return Uo},get uinteger(){return Ki}},Symbol.toStringTag,{value:"Module"}));class mT{constructor(){this.nodeStack=[]}get current(){return this.nodeStack[this.nodeStack.length-1]??this.rootNode}buildRootNode(e){return this.rootNode=new Vf(e),this.rootNode.root=this.rootNode,this.nodeStack=[this.rootNode],this.rootNode}buildCompositeNode(e){const n=new El;return n.grammarSource=e,n.root=this.rootNode,this.current.content.push(n),this.nodeStack.push(n),n}buildLeafNode(e,n){const r=new Gc(e.startOffset,e.image.length,bo(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 Gc(s.startOffset,s.image.length,bo(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 Wf{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 Gc extends Wf{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 El extends Wf{constructor(){super(...arguments),this.content=new Al(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:te.create(0,0),end:te.create(0,0)}}get firstNonHiddenNode(){for(const e of this.content)if(!e.hidden)return e;return this.content[0]}get lastNonHiddenNode(){for(let e=this.content.length-1;e>=0;e--){const n=this.content[e];if(!n.hidden)return n}return this.content[this.content.length-1]}}class Al extends Array{constructor(e){super(),this.parent=e,Object.setPrototypeOf(this,Al.prototype)}push(...e){return this.addParents(e),super.push(...e)}unshift(...e){return this.addParents(e),super.unshift(...e)}splice(e,n,...r){return this.addParents(r),super.splice(e,n,...r)}addParents(e){for(const n of e)n.container=this.parent}}class Vf extends El{get text(){return this._text.substring(this.offset,this.end)}get fullText(){return this._text}constructor(e){super(),this._text="",this._text=e??""}}const Uc=Symbol("Datatype");function io(t){return t.$type===Uc}const yu="​",Kf=t=>t.endsWith(yu)?t:t+yu;class Hf{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 vT(n,{...e.parser.ParserConfig,skipValidations:r,errorMessageProvider:e.parser.ParserErrorMessageProvider},e.shared.profilers.LangiumProfiler.createTask("parsing",e.LanguageMetaData.languageId)):this.wrapper=new Xf(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 gT extends Hf{get current(){return this.stack[this.stack.length-1]}constructor(e){super(e),this.nodeBuilder=new mT,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;la(e)&&(i=e.name,this.registerPrecedenceMap(e));const s=this.wrapper.DEFINE_RULE(Kf(e.name),this.startImplementation(r,i,n).bind(this));return this.allRules.set(e.name,s),sn(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 la(e)?Vi(e):e.fragment?void 0:Zd(e)?Uc:Vi(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,vo(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===Uc?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=Wn(r)?i.image:this.converter.convert(i.image,a);this.assign(o.operator,o.feature,u,a,c)}else if(io(l)){let u=i.image;Wn(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(io(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)):io(e)?this.converter.convert(e.value,e.$cstNode):(Sp(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 b=0;b<i.length;b++){const I=i[b],C=n.get(I)??{precedence:1/0,rightAssoc:!1};C.precedence>a?(a=C.precedence,s=b):C.precedence===a&&(C.rightAssoc||(s=b))}const o=i.slice(0,s),c=i.slice(s+1),l=r.slice(0,s+1),u=r.slice(s+1),f={$infixName:e.$infixName,$type:e.$type,$cstNode:e.$cstNode,parts:l,operators:o},g={$infixName:e.$infixName,$type:e.$type,$cstNode:e.$cstNode,parts:u,operators:c},h=this.constructInfix(f,n),E=this.constructInfix(g,n);return{$type:e.$type,$cstNode:e.$cstNode,left:h,operator:i[s],right:E}}getAssignment(e){if(!this.assignmentMap.has(e)){const n=$a(e,Bn);this.assignmentMap.set(e,{assignment:n,crossRef:n&&Oa(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 yT{buildMismatchTokenMessage(e){return Ar.buildMismatchTokenMessage(e)}buildNotAllInputParsedMessage(e){return Ar.buildNotAllInputParsedMessage(e)}buildNoViableAltMessage(e){return Ar.buildNoViableAltMessage(e)}buildEarlyExitMessage(e){return Ar.buildEarlyExitMessage(e)}}class Yf extends yT{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 TT extends Hf{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(Kf(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 RT={recoveryEnabled:!0,nodeLocationTracking:"full",skipValidations:!0,errorMessageProvider:new Yf};class Xf extends Cy{constructor(e,n){const r=n&&"maxLookahead"in n;super(e,{...RT,lookaheadStrategy:r?new ml({maxLookahead:n.maxLookahead}):new Wy({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 vT extends Xf{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 Jf(t,e,n){return ET({parser:e,tokens:n,ruleNames:new Map},t),e}function ET(t,e){const n=Hd(e,!1),r=ge(e.rules).filter(sn).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,Yn(a,s.definition))}const i=ge(e.rules).filter(la).filter(s=>n.has(s));for(const s of i)t.parser.rule(s,AT(t,s))}function AT(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(an(n))throw new Error("Cannot use terminal rule in infix expression");const r=e.operators.precedences.flatMap(h=>h.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(h=>t.tokens[h.value]).map((h,E)=>({ALT:()=>t.parser.consume(E,h,c)}));let g;return h=>{g??(g=Sl(t,n)),t.parser.subrule(0,g,!1,s,h),t.parser.many(0,{DEF:()=>{t.parser.alternatives(0,f),t.parser.subrule(1,g,!1,l,h)}})}}function Yn(t,e,n=!1){let r;if(Wn(e))r=_T(t,e);else if(La(e))r=ST(t,e);else if(Bn(e))r=Yn(t,e.terminal);else if(Oa(e))r=Qf(t,e);else if(Vn(e))r=CT(t,e);else if(qd(e))r=wT(t,e);else if(zd(e))r=NT(t,e);else if(ol(e))r=bT(t,e);else if(_p(e)){const i=t.consume++;r=()=>t.parser.consume(i,hn,e)}else throw new Wd(e.$cstNode,`Unexpected element type: ${e.$type}`);return Zf(t,n?void 0:_a(e),r,e.cardinality)}function ST(t,e){const n=Vi(e);return()=>t.parser.action(n,e)}function CT(t,e){const n=e.rule.ref;if(ss(n)){const r=t.subrule++,i=sn(n)&&n.fragment,s=e.arguments.length>0?kT(n,e.arguments):()=>({});let a;return o=>{a??(a=Sl(t,n)),t.parser.subrule(r,a,i,e,s(o))}}else if(an(n)){const r=t.consume++,i=qc(t,n.name);return()=>t.parser.consume(r,i,e)}else if(n)as();else throw new Wd(e.$cstNode,`Undefined rule: ${e.rule.$refText}`)}function kT(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:Lt(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=>Lt(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 Lt(t){if(bp(t)){const e=Lt(t.left),n=Lt(t.right);return r=>e(r)||n(r)}else if(Np(t)){const e=Lt(t.left),n=Lt(t.right);return r=>e(r)&&n(r)}else if($p(t)){const e=Lt(t.value);return n=>!e(n)}else if(Lp(t)){const e=t.parameter.ref.name;return n=>n!==void 0&&n[e]===!0}else if(kp(t)){const e=!!t.true;return()=>e}as()}function wT(t,e){if(e.elements.length===1)return Yn(t,e.elements[0]);{const n=[];for(const i of e.elements){const s={ALT:Yn(t,i,!0)},a=_a(i);a&&(s.GATE=Lt(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 NT(t,e){if(e.elements.length===1)return Yn(t,e.elements[0]);const n=[];for(const o of e.elements){const c={ALT:Yn(t,o,!0)},l=_a(o);l&&(c.GATE=Lt(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 h=i(r,f);f.unorderedGroups.get(h)||f.unorderedGroups.set(h,[]);const E=f.unorderedGroups.get(h);typeof(E==null?void 0:E[l])>"u"&&(E[l]=!0)}};const g=c.GATE;return g?u.GATE=()=>g(o):u.GATE=()=>{const h=f.unorderedGroups.get(i(r,f));return!(h!=null&&h[l])},u})),a=Zf(t,_a(e),s,"*");return o=>{a(o),t.parser.isRecording()||t.parser.unorderedGroups.delete(i(r,t.parser))}}function bT(t,e){const n=e.elements.map(r=>Yn(t,r));return r=>n.forEach(i=>i(r))}function _a(t){if(ol(t))return t.guardCondition}function Qf(t,e,n=e.terminal){if(n)if(Vn(n)&&sn(n.rule.ref)){const r=n.rule.ref,i=t.subrule++;let s;return a=>{s??(s=Sl(t,r)),t.parser.subrule(i,s,!1,e,a)}}else if(Vn(n)&&an(n.rule.ref)){const r=t.consume++,i=qc(t,n.rule.ref.name);return()=>t.parser.consume(r,i,e)}else if(Wn(n)){const r=t.consume++,i=qc(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=Jd(e.type.ref),i=r==null?void 0:r.terminal;if(!i)throw new Error("Could not find name assignment for type: "+Vi(e.type.ref));return Qf(t,e,i)}}function _T(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 Zf(t,e,n,r){const i=e&&Lt(e);if(!r)if(i){const s=t.or++;return a=>t.parser.alternatives(s,[{ALT:()=>n(a),GATE:()=>i(a)},{ALT:fu(),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:fu(),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 as()}function Sl(t,e){const n=IT(t,e),r=t.parser.getRule(n);if(!r)throw new Error(`Rule "${n}" not found."`);return r}function IT(t,e){if(ss(e))return e.name;if(t.ruleNames.has(e))return t.ruleNames.get(e);{let n=e,r=n.$container,i=e.$type;for(;!sn(r);)(ol(r)||qd(r)||zd(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 qc(t,e){const n=t.tokens[e];if(!n)throw new Error(`Token "${e}" not found."`);return n}function PT(t){const e=t.Grammar,n=t.parser.Lexer,r=new TT(t);return Jf(e,r,n.definition),r.finalize(),r}function $T(t){const e=LT(t);return e.finalize(),e}function LT(t){const e=t.Grammar,n=t.parser.Lexer,r=new gT(t);return Jf(e,r,n.definition)}class eh{constructor(){this.diagnostics=[]}buildTokens(e,n){const r=ge(Hd(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(an).filter(n=>!n.fragment).map(n=>this.buildTerminalToken(n)).toArray()}buildTerminalToken(e){const n=ll(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=Kd(n)?tt.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(ss).flatMap(i=>is(i).filter(Wn)).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(Da(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&&rm("^"+s.source+"$",e.value)&&r.push(i),r},[])}}class th{convert(e,n){let r=n.grammarSource;if(Oa(r)&&(r=om(r)),Vn(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=pm(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 g=l.charAt(f);if(g==="\\"){const h=l.charAt(++f);u+=n(h)}else u+=g}return u}t.convertString=e;function n(l){switch(l){case"b":return"\b";case"f":return"\f";case"n":return`
113
+ `;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 Cn={},Gs={},Tu;function Qn(){if(Tu)return Gs;Tu=1,Object.defineProperty(Gs,"__esModule",{value:!0});let t;function e(){if(t===void 0)throw new Error("No runtime abstraction layer installed");return t}return(function(n){function r(i){if(i===void 0)throw new Error("No runtime abstraction layer provided");t=i}n.install=r})(e||(e={})),Gs.default=e,Gs}var De={},Ru;function fs(){if(Ru)return De;Ru=1,Object.defineProperty(De,"__esModule",{value:!0}),De.stringArray=De.array=De.func=De.error=De.number=De.string=De.boolean=void 0;function t(o){return o===!0||o===!1}De.boolean=t;function e(o){return typeof o=="string"||o instanceof String}De.string=e;function n(o){return typeof o=="number"||o instanceof Number}De.number=n;function r(o){return o instanceof Error}De.error=r;function i(o){return typeof o=="function"}De.func=i;function s(o){return Array.isArray(o)}De.array=s;function a(o){return s(o)&&o.every(c=>e(c))}return De.stringArray=a,De}var kn={},vu;function ei(){if(vu)return kn;vu=1,Object.defineProperty(kn,"__esModule",{value:!0}),kn.Emitter=kn.Event=void 0;const t=Qn();var e;(function(i){const s={dispose(){}};i.None=function(){return s}})(e||(kn.Event=e={}));class n{add(s,a=null,o){this._callbacks||(this._callbacks=[],this._contexts=[]),this._callbacks.push(s),this._contexts.push(a),Array.isArray(o)&&o.push({dispose:()=>this.remove(s,a)})}remove(s,a=null){if(!this._callbacks)return;let o=!1;for(let c=0,l=this._callbacks.length;c<l;c++)if(this._callbacks[c]===s)if(this._contexts[c]===a){this._callbacks.splice(c,1),this._contexts.splice(c,1);return}else o=!0;if(o)throw new Error("When adding a listener with a context, you should remove it with the same context")}invoke(...s){if(!this._callbacks)return[];const a=[],o=this._callbacks.slice(0),c=this._contexts.slice(0);for(let l=0,u=o.length;l<u;l++)try{a.push(o[l].apply(c[l],s))}catch(f){(0,t.default)().console.error(f)}return a}isEmpty(){return!this._callbacks||this._callbacks.length===0}dispose(){this._callbacks=void 0,this._contexts=void 0}}class r{constructor(s){this._options=s}get event(){return this._event||(this._event=(s,a,o)=>{this._callbacks||(this._callbacks=new n),this._options&&this._options.onFirstListenerAdd&&this._callbacks.isEmpty()&&this._options.onFirstListenerAdd(this),this._callbacks.add(s,a);const c={dispose:()=>{this._callbacks&&(this._callbacks.remove(s,a),c.dispose=r._noop,this._options&&this._options.onLastListenerRemove&&this._callbacks.isEmpty()&&this._options.onLastListenerRemove(this))}};return Array.isArray(o)&&o.push(c),c}),this._event}fire(s){this._callbacks&&this._callbacks.invoke.call(this._callbacks,s)}dispose(){this._callbacks&&(this._callbacks.dispose(),this._callbacks=void 0)}}return kn.Emitter=r,r._noop=function(){},kn}var Eu;function Ba(){if(Eu)return Cn;Eu=1,Object.defineProperty(Cn,"__esModule",{value:!0}),Cn.CancellationTokenSource=Cn.CancellationToken=void 0;const t=Qn(),e=fs(),n=ei();var r;(function(o){o.None=Object.freeze({isCancellationRequested:!1,onCancellationRequested:n.Event.None}),o.Cancelled=Object.freeze({isCancellationRequested:!0,onCancellationRequested:n.Event.None});function c(l){const u=l;return u&&(u===o.None||u===o.Cancelled||e.boolean(u.isCancellationRequested)&&!!u.onCancellationRequested)}o.is=c})(r||(Cn.CancellationToken=r={}));const i=Object.freeze(function(o,c){const l=(0,t.default)().timer.setTimeout(o.bind(c),0);return{dispose(){l.dispose()}}});class s{constructor(){this._isCancelled=!1}cancel(){this._isCancelled||(this._isCancelled=!0,this._emitter&&(this._emitter.fire(void 0),this.dispose()))}get isCancellationRequested(){return this._isCancelled}get onCancellationRequested(){return this._isCancelled?i:(this._emitter||(this._emitter=new n.Emitter),this._emitter.event)}dispose(){this._emitter&&(this._emitter.dispose(),this._emitter=void 0)}}class a{get token(){return this._token||(this._token=new s),this._token}cancel(){this._token?this._token.cancel():this._token=r.Cancelled}dispose(){this._token?this._token instanceof s&&this._token.dispose():this._token=r.None}}return Cn.CancellationTokenSource=a,Cn}var Te=Ba();function OT(){return new Promise(t=>{typeof setImmediate>"u"?setTimeout(t,0):setImmediate(t)})}let ia=0,xT=10;function DT(){return ia=performance.now(),new Te.CancellationTokenSource}const Sr=Symbol("OperationCancelled");function Wa(t){return t===Sr}async function Xe(t){if(t===Te.CancellationToken.None)return;const e=performance.now();if(e-ia>=xT&&(ia=e,await OT(),ia=performance.now()),t.isCancellationRequested)throw Sr}class Cl{constructor(){this.promise=new Promise((e,n)=>{this.resolve=r=>(e(r),this),this.reject=r=>(n(r),this)})}}class es{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(es.isIncremental(r)){const i=rh(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=Au(r.text,!1,s);if(c-o===u.length)for(let g=0,h=u.length;g<h;g++)l[g+o+1]=u[g];else u.length<1e4?l.splice(o+1,c-o,...u):this._lineOffsets=l=l.slice(0,o+1).concat(u,l.slice(c+1));const f=r.text.length-(a-s);if(f!==0)for(let g=o+1+u.length,h=l.length;g<h;g++)l[g]=l[g]+f}else if(es.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=Au(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&&nh(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 jc;(function(t){function e(i,s,a,o){return new es(i,s,a,o)}t.create=e;function n(i,s,a){if(i instanceof es)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=zc(s.map(MT),(u,f)=>{const g=u.range.start.line-f.range.start.line;return g===0?u.range.start.character-f.range.start.character:g});let c=0;const l=[];for(const u of o){const f=i.offsetAt(u.range.start);if(f<c)throw new Error("Overlapping edit");f>c&&l.push(a.substring(c,f)),u.newText.length&&l.push(u.newText),c=i.offsetAt(u.range.end)}return l.push(a.substr(c)),l.join("")}t.applyEdits=r})(jc||(jc={}));function zc(t,e){if(t.length<=1)return t;const n=t.length/2|0,r=t.slice(0,n),i=t.slice(n);zc(r,e),zc(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 Au(t,e,n=0){const r=e?[n]:[];for(let i=0;i<t.length;i++){const s=t.charCodeAt(i);nh(s)&&(s===13&&i+1<t.length&&t.charCodeAt(i+1)===10&&i++,r.push(n+i+1))}return r}function nh(t){return t===13||t===10}function rh(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 MT(t){const e=rh(t.range);return e!==t.range?{newText:t.newText,range:e}:t}var ih;(()=>{var t={975:_=>{function R(y){if(typeof y!="string")throw new TypeError("Path must be a string. Received "+JSON.stringify(y))}function m(y,T){for(var A,O="",D=0,x=-1,j=0,G=0;G<=y.length;++G){if(G<y.length)A=y.charCodeAt(G);else{if(A===47)break;A=47}if(A===47){if(!(x===G-1||j===1))if(x!==G-1&&j===2){if(O.length<2||D!==2||O.charCodeAt(O.length-1)!==46||O.charCodeAt(O.length-2)!==46){if(O.length>2){var ie=O.lastIndexOf("/");if(ie!==O.length-1){ie===-1?(O="",D=0):D=(O=O.slice(0,ie)).length-1-O.lastIndexOf("/"),x=G,j=0;continue}}else if(O.length===2||O.length===1){O="",D=0,x=G,j=0;continue}}T&&(O.length>0?O+="/..":O="..",D=2)}else O.length>0?O+="/"+y.slice(x+1,G):O=y.slice(x+1,G),D=G-x-1;x=G,j=0}else A===46&&j!==-1?++j:j=-1}return O}var S={resolve:function(){for(var y,T="",A=!1,O=arguments.length-1;O>=-1&&!A;O--){var D;O>=0?D=arguments[O]:(y===void 0&&(y=process.cwd()),D=y),R(D),D.length!==0&&(T=D+"/"+T,A=D.charCodeAt(0)===47)}return T=m(T,!A),A?T.length>0?"/"+T:"/":T.length>0?T:"."},normalize:function(y){if(R(y),y.length===0)return".";var T=y.charCodeAt(0)===47,A=y.charCodeAt(y.length-1)===47;return(y=m(y,!T)).length!==0||T||(y="."),y.length>0&&A&&(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 A=arguments[T];R(A),A.length>0&&(y===void 0?y=A:y+="/"+A)}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 A=1;A<y.length&&y.charCodeAt(A)===47;++A);for(var O=y.length,D=O-A,x=1;x<T.length&&T.charCodeAt(x)===47;++x);for(var j=T.length-x,G=D<j?D:j,ie=-1,B=0;B<=G;++B){if(B===G){if(j>G){if(T.charCodeAt(x+B)===47)return T.slice(x+B+1);if(B===0)return T.slice(x+B)}else D>G&&(y.charCodeAt(A+B)===47?ie=B:B===0&&(ie=0));break}var ne=y.charCodeAt(A+B);if(ne!==T.charCodeAt(x+B))break;ne===47&&(ie=B)}var Oe="";for(B=A+ie+1;B<=O;++B)B!==O&&y.charCodeAt(B)!==47||(Oe.length===0?Oe+="..":Oe+="/..");return Oe.length>0?Oe+T.slice(x+ie):(x+=ie,T.charCodeAt(x)===47&&++x,T.slice(x))},_makeLong:function(y){return y},dirname:function(y){if(R(y),y.length===0)return".";for(var T=y.charCodeAt(0),A=T===47,O=-1,D=!0,x=y.length-1;x>=1;--x)if((T=y.charCodeAt(x))===47){if(!D){O=x;break}}else D=!1;return O===-1?A?"/":".":A&&O===1?"//":y.slice(0,O)},basename:function(y,T){if(T!==void 0&&typeof T!="string")throw new TypeError('"ext" argument must be a string');R(y);var A,O=0,D=-1,x=!0;if(T!==void 0&&T.length>0&&T.length<=y.length){if(T.length===y.length&&T===y)return"";var j=T.length-1,G=-1;for(A=y.length-1;A>=0;--A){var ie=y.charCodeAt(A);if(ie===47){if(!x){O=A+1;break}}else G===-1&&(x=!1,G=A+1),j>=0&&(ie===T.charCodeAt(j)?--j==-1&&(D=A):(j=-1,D=G))}return O===D?D=G:D===-1&&(D=y.length),y.slice(O,D)}for(A=y.length-1;A>=0;--A)if(y.charCodeAt(A)===47){if(!x){O=A+1;break}}else D===-1&&(x=!1,D=A+1);return D===-1?"":y.slice(O,D)},extname:function(y){R(y);for(var T=-1,A=0,O=-1,D=!0,x=0,j=y.length-1;j>=0;--j){var G=y.charCodeAt(j);if(G!==47)O===-1&&(D=!1,O=j+1),G===46?T===-1?T=j:x!==1&&(x=1):T!==-1&&(x=-1);else if(!D){A=j+1;break}}return T===-1||O===-1||x===0||x===1&&T===O-1&&T===A+1?"":y.slice(T,O)},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,A){var O=A.dir||A.root,D=A.base||(A.name||"")+(A.ext||"");return O?O===A.root?O+D:O+"/"+D:D})(0,y)},parse:function(y){R(y);var T={root:"",dir:"",base:"",ext:"",name:""};if(y.length===0)return T;var A,O=y.charCodeAt(0),D=O===47;D?(T.root="/",A=1):A=0;for(var x=-1,j=0,G=-1,ie=!0,B=y.length-1,ne=0;B>=A;--B)if((O=y.charCodeAt(B))!==47)G===-1&&(ie=!1,G=B+1),O===46?x===-1?x=B:ne!==1&&(ne=1):x!==-1&&(ne=-1);else if(!ie){j=B+1;break}return x===-1||G===-1||ne===0||ne===1&&x===G-1&&x===j+1?G!==-1&&(T.base=T.name=j===0&&D?y.slice(1,G):y.slice(j,G)):(j===0&&D?(T.name=y.slice(1,x),T.base=y.slice(1,G)):(T.name=y.slice(j,x),T.base=y.slice(j,G)),T.ext=y.slice(x,G)),j>0?T.dir=y.slice(0,j-1):D&&(T.dir="/"),T},sep:"/",delimiter:":",win32:null,posix:null};S.posix=S,_.exports=S}},e={};function n(_){var R=e[_];if(R!==void 0)return R.exports;var m=e[_]={exports:{}};return t[_](m,m.exports,n),m.exports}n.d=(_,R)=>{for(var m in R)n.o(R,m)&&!n.o(_,m)&&Object.defineProperty(_,m,{enumerable:!0,get:R[m]})},n.o=(_,R)=>Object.prototype.hasOwnProperty.call(_,R),n.r=_=>{typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty(_,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(_,"__esModule",{value:!0})};var r={};let i;n.r(r),n.d(r,{URI:()=>g,Utils:()=>fe}),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(_,R){if(!_.scheme&&R)throw new Error(`[UriError]: Scheme is missing: {scheme: "", authority: "${_.authority}", path: "${_.path}", query: "${_.query}", fragment: "${_.fragment}"}`);if(_.scheme&&!s.test(_.scheme))throw new Error("[UriError]: Scheme contains illegal characters.");if(_.path){if(_.authority){if(!a.test(_.path))throw new Error('[UriError]: If a URI contains an authority component, then the path component must either be empty or begin with a slash ("/") character')}else if(o.test(_.path))throw new Error('[UriError]: If a URI does not contain an authority component, then the path cannot begin with two slash characters ("//")')}}const l="",u="/",f=/^(([^:/?#]+?):)?(\/\/([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?/;class g{constructor(R,m,S,y,T,A=!1){ln(this,"scheme");ln(this,"authority");ln(this,"path");ln(this,"query");ln(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(O,D){return O||D?O:"file"})(R,A),this.authority=m||l,this.path=(function(O,D){switch(O){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,A))}static isUri(R){return R instanceof g||!!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 w(this)}with(R){if(!R)return this;let{scheme:m,authority:S,path:y,query:T,fragment:A}=R;return m===void 0?m=this.scheme:m===null&&(m=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),A===void 0?A=this.fragment:A===null&&(A=l),m===this.scheme&&S===this.authority&&y===this.path&&T===this.query&&A===this.fragment?this:new E(m,S,y,T,A)}static parse(R,m=!1){const S=f.exec(R);return S?new E(S[2]||l,K(S[4]||l),K(S[5]||l),K(S[7]||l),K(S[9]||l),m):new E(l,l,l,l,l)}static file(R){let m=l;if(i&&(R=R.replace(/\\/g,u)),R[0]===u&&R[1]===u){const S=R.indexOf(u,2);S===-1?(m=R.substring(2),R=u):(m=R.substring(2,S),R=R.substring(S)||u)}return new E("file",m,R,l,l)}static from(R){const m=new E(R.scheme,R.authority,R.path,R.query,R.fragment);return c(m,!0),m}toString(R=!1){return k(this,R)}toJSON(){return this}static revive(R){if(R){if(R instanceof g)return R;{const m=new E(R);return m._formatted=R.external,m._fsPath=R._sep===h?R.fsPath:null,m}}return R}}const h=i?1:void 0;class E extends g{constructor(){super(...arguments);ln(this,"_formatted",null);ln(this,"_fsPath",null)}get fsPath(){return this._fsPath||(this._fsPath=w(this)),this._fsPath}toString(m=!1){return m?k(this,!0):(this._formatted||(this._formatted=k(this,!1)),this._formatted)}toJSON(){const m={$mid:1};return this._fsPath&&(m.fsPath=this._fsPath,m._sep=h),this._formatted&&(m.external=this._formatted),this.path&&(m.path=this.path),this.scheme&&(m.scheme=this.scheme),this.authority&&(m.authority=this.authority),this.query&&(m.query=this.query),this.fragment&&(m.fragment=this.fragment),m}}const b={58:"%3A",47:"%2F",63:"%3F",35:"%23",91:"%5B",93:"%5D",64:"%40",33:"%21",36:"%24",38:"%26",39:"%27",40:"%28",41:"%29",42:"%2A",43:"%2B",44:"%2C",59:"%3B",61:"%3D",32:"%20"};function I(_,R,m){let S,y=-1;for(let T=0;T<_.length;T++){const A=_.charCodeAt(T);if(A>=97&&A<=122||A>=65&&A<=90||A>=48&&A<=57||A===45||A===46||A===95||A===126||R&&A===47||m&&A===91||m&&A===93||m&&A===58)y!==-1&&(S+=encodeURIComponent(_.substring(y,T)),y=-1),S!==void 0&&(S+=_.charAt(T));else{S===void 0&&(S=_.substr(0,T));const O=b[A];O!==void 0?(y!==-1&&(S+=encodeURIComponent(_.substring(y,T)),y=-1),S+=O):y===-1&&(y=T)}}return y!==-1&&(S+=encodeURIComponent(_.substring(y))),S!==void 0?S:_}function C(_){let R;for(let m=0;m<_.length;m++){const S=_.charCodeAt(m);S===35||S===63?(R===void 0&&(R=_.substr(0,m)),R+=b[S]):R!==void 0&&(R+=_[m])}return R!==void 0?R:_}function w(_,R){let m;return m=_.authority&&_.path.length>1&&_.scheme==="file"?`//${_.authority}${_.path}`:_.path.charCodeAt(0)===47&&(_.path.charCodeAt(1)>=65&&_.path.charCodeAt(1)<=90||_.path.charCodeAt(1)>=97&&_.path.charCodeAt(1)<=122)&&_.path.charCodeAt(2)===58?_.path[1].toLowerCase()+_.path.substr(2):_.path,i&&(m=m.replace(/\//g,"\\")),m}function k(_,R){const m=R?C:I;let S="",{scheme:y,authority:T,path:A,query:O,fragment:D}=_;if(y&&(S+=y,S+=":"),(T||y==="file")&&(S+=u,S+=u),T){let x=T.indexOf("@");if(x!==-1){const j=T.substr(0,x);T=T.substr(x+1),x=j.lastIndexOf(":"),x===-1?S+=m(j,!1,!1):(S+=m(j.substr(0,x),!1,!1),S+=":",S+=m(j.substr(x+1),!1,!0)),S+="@"}T=T.toLowerCase(),x=T.lastIndexOf(":"),x===-1?S+=m(T,!1,!0):(S+=m(T.substr(0,x),!1,!0),S+=T.substr(x))}if(A){if(A.length>=3&&A.charCodeAt(0)===47&&A.charCodeAt(2)===58){const x=A.charCodeAt(1);x>=65&&x<=90&&(A=`/${String.fromCharCode(x+32)}:${A.substr(3)}`)}else if(A.length>=2&&A.charCodeAt(1)===58){const x=A.charCodeAt(0);x>=65&&x<=90&&(A=`${String.fromCharCode(x+32)}:${A.substr(2)}`)}S+=m(A,!0,!1)}return O&&(S+="?",S+=m(O,!1,!1)),D&&(S+="#",S+=R?D:I(D,!1,!1)),S}function P(_){try{return decodeURIComponent(_)}catch{return _.length>3?_.substr(0,3)+P(_.substr(3)):_}}const H=/(%[0-9A-Za-z][0-9A-Za-z])+/g;function K(_){return _.match(H)?_.replace(H,(R=>P(R))):_}var J=n(975);const oe=J.posix||J,de="/";var fe;(function(_){_.joinPath=function(R,...m){return R.with({path:oe.join(R.path,...m)})},_.resolvePath=function(R,...m){let S=R.path,y=!1;S[0]!==de&&(S=de+S,y=!0);let T=oe.resolve(S,...m);return y&&T[0]===de&&!R.authority&&(T=T.substring(1)),R.with({path:T})},_.dirname=function(R){if(R.path.length===0||R.path===de)return R;let m=oe.dirname(R.path);return m.length===1&&m.charCodeAt(0)===46&&(m=""),R.with({path:m})},_.basename=function(R){return oe.basename(R.path)},_.extname=function(R){return oe.extname(R.path)}})(fe||(fe={})),ih=r})();const{URI:kt,Utils:Ri}=ih;var ut;(function(t){t.basename=Ri.basename,t.dirname=Ri.dirname,t.extname=Ri.extname,t.joinPath=Ri.joinPath,t.resolvePath=Ri.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"?kt.parse(a).path:a.path,l=typeof o=="string"?kt.parse(o).path:o.path,u=c.split("/").filter(b=>b.length>0),f=l.split("/").filter(b=>b.length>0);if(e){const b=/^[A-Z]:$/;if(u[0]&&b.test(u[0])&&(u[0]=u[0].toLowerCase()),f[0]&&b.test(f[0])&&(f[0]=f[0].toLowerCase()),u[0]!==f[0])return l.substring(1)}let g=0;for(;g<u.length&&u[g]===f[g];g++);const h="../".repeat(u.length-g),E=f.slice(g).join("/");return h+E}t.relative=r;function i(a){return kt.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})(ut||(ut={}));class FT{constructor(){this.root={name:"",children:new Map}}normalizeUri(e){return ut.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:ut.joinPath(kt.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:ut.joinPath(kt.parse(n),i.name).toString(),element:i.element})):[]}all(){return this.collectValues(this.root)}findAll(e){const n=this.getNode(ut.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 Y;(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"})(Y||(Y={}));class GT{constructor(e){this.serviceRegistry=e.ServiceRegistry,this.textDocuments=e.workspace.TextDocuments,this.fileSystemProvider=e.workspace.FileSystemProvider}async fromUri(e,n=Te.CancellationToken.None){const r=await this.fileSystemProvider.readFile(e);return this.createAsync(e,r,n)}fromTextDocument(e,n,r){return n=n??kt.parse(e.uri),Te.CancellationToken.is(r)?this.createAsync(n,e,r):this.create(n,e,r)}fromString(e,n,r){return Te.CancellationToken.is(r)?this.createAsync(n,e,r):this.create(n,e,r)}fromModel(e,n){return this.create(n,{$model:e})}create(e,n,r){if(typeof n=="string"){const i=this.parse(e,n,r);return this.createLangiumDocument(i,e,void 0,n)}else if("$model"in n){const i={value:n.$model,parserErrors:[],lexerErrors:[]};return this.createLangiumDocument(i,e)}else{const i=this.parse(e,n.getText(),r);return this.createLangiumDocument(i,e,n)}}async createAsync(e,n,r){if(typeof n=="string"){const i=await this.parseAsync(e,n,r);return this.createLangiumDocument(i,e,void 0,n)}else{const i=await this.parseAsync(e,n.getText(),r);return this.createLangiumDocument(i,e,n)}}createLangiumDocument(e,n,r,i){let s;if(r)s={parseResult:e,uri:n,state:Y.Parsed,references:[],textDocument:r};else{const a=this.createTextDocumentGetter(n,i);s={parseResult:e,uri:n,state:Y.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=Y.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=jc.create(e.toString(),r.getServices(e).LanguageMetaData.languageId,0,n??""))}}class UT{constructor(e){this.documentTrie=new FT,this.services=e,this.langiumDocumentFactory=e.workspace.LangiumDocumentFactory,this.documentBuilder=()=>e.workspace.DocumentBuilder}get all(){return ge(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,Y.Changed),r}deleteDocument(e){const n=e.toString(),r=this.documentTrie.find(n);return r&&(r.state=Y.Changed,this.documentTrie.delete(n)),r}deleteDocuments(e){const n=e.toString(),r=this.documentTrie.findAll(n);for(const i of r)i.state=Y.Changed;return this.documentTrie.delete(n),r}}const sr=Symbol("RefResolving");class qT{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=Te.CancellationToken.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 Xe(n),ca(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 Xe(n),ca(i).forEach(s=>this.doLink(s,e))}doLink(e,n){const r=e.reference;if("_ref"in r&&r._ref===void 0){r._ref=sr;try{const i=this.getCandidate(e);if(hi(i))r._ref=i;else{r._nodeDescription=i;const s=this.loadAstNode(i);r._ref=s??this.createLinkingError(e,i)}}catch(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=sr;try{const i=this.getCandidates(e),s=[];if(hi(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(Ep(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=sr;const o=Vs(e).$document,c=s.getLinkedNode({reference:a,container:e,property:n});if(c.error&&o&&o.state<Y.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===sr&&s.throwCyclicReferenceError(e,n,i);return We(this._ref)?this._ref:void 0},get $nodeDescription(){return this._nodeDescription},get error(){return hi(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=sr;const o=Vs(e).$document,c=s.getCandidates({reference:a,container:e,property:n}),l=[];if(hi(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===sr&&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(hi(n))return{error:n};const r=this.loadAstNode(n);return r?{node:r,descr:n}:{descr:n,error:this.createLinkingError(e,n)}}catch(n){const r=n.message??String(n);return{error:{info:e,message:`An error occurred while resolving reference to '${e.reference.$refText}': ${r}`}}}}loadAstNode(e){if(e.node)return e.node;const n=this.langiumDocuments().getDocument(e.documentUri);if(n)return this.astNodeLocator.getAstNode(n.parseResult.value,e.path)}createLinkingError(e,n){const r=Vs(e.container).$document;r&&r.state<Y.ComputedScopes;const i=this.reflection.getReferenceType(e);return{info:e,message:`Could not resolve reference to ${i} named '${e.reference.$refText}'.`,targetDescription:n}}}function jT(t){return typeof t.name=="string"}class zT{getName(e){if(jT(e))return e.name}getNameNode(e){return Xd(e.$cstNode,"name")}}class BT{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=>Oa(n)&&n.isMulti)}findDeclarations(e){if(e){const n=fm(e),r=e.astNode;if(n&&r){const i=r[n.feature];if(St(i)||dn(i))return $l(i);if(Array.isArray(i)){for(const s of i)if((St(s)||dn(s))&&s.$refNode&&s.$refNode.offset<=e.offset&&s.$refNode.end>=e.end)return $l(s)}}if(r){const i=this.nameProvider.getNameNode(r);if(i&&(i===e||zp(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 ca(r))if(dn(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=>ut.equals(s.sourceUri,n.documentUri))),r.push(...i),ge(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:ua(s),local:!0})}}return r}}class ts{constructor(e){if(this.map=new Map,e)for(const[n,r]of e)this.add(n,r)}get size(){return Ro.sum(ge(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?ge(n):Gd}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 ge(this.map.entries()).flatMap(([e,n])=>n.map(r=>[e,r]))}keys(){return ge(this.map.keys())}values(){return ge(this.map.values()).flat()}entriesGroupedByKey(){return ge(this.map.entries())}}class Su{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 WT{constructor(e){this.nameProvider=e.references.NameProvider,this.descriptions=e.workspace.AstNodeDescriptionProvider}async collectExportedSymbols(e,n=Te.CancellationToken.None){return this.collectExportedSymbolsForNode(e.parseResult.value,e,void 0,n)}async collectExportedSymbolsForNode(e,n,r=al,i=Te.CancellationToken.None){const s=[];this.addExportedSymbol(e,s,n);for(const a of r(e))await Xe(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=Te.CancellationToken.None){const r=e.parseResult.value,i=new ts;for(const s of is(r))await Xe(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 Cu{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 VT{constructor(e,n,r){this.elements=new ts,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?ge(r).concat(this.outerScope.getElements(e)):ge(r)}getAllElements(){let e=ge(this.elements.values());return this.outerScope&&(e=e.concat(this.outerScope.getAllElements())),e}}class sh{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 KT extends sh{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 HT extends sh{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 YT extends KT{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 XT{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 YT(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 Cu(ge(e),n,r)}createScopeForNodes(e,n,r){const i=ge(e).map(s=>{const a=this.nameProvider.getName(s);if(a)return this.descriptions.createDescription(s,a)}).nonNullable();return new Cu(i,n,r)}getGlobalScope(e,n){return this.globalScopeCache.get(e,()=>new VT(this.indexManager.allElements(e)))}}function JT(t){return typeof t.$comment=="string"}function ku(t){return typeof t=="object"&&!!t&&("$ref"in t||"$error"in t)}class QT{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(St(n)){const f=n.ref,g=r?n.$refText:void 0;if(f){const h=Qt(f);let E="";this.currentDocument&&this.currentDocument!==h&&(o?E=o(h.uri,f):E=h.uri.toString());const b=this.astNodeLocator.getAstNodePath(f);return{$ref:`${E}#${b}`,$refText:g}}else return{$error:((c=n.error)==null?void 0:c.message)??"Could not resolve reference",$refText:g}}else if(dn(n)){const f=r?n.$refText:void 0,g=[];for(const h of n.items){const E=h.ref,b=Qt(h.ref);let I="";this.currentDocument&&this.currentDocument!==b&&(o?I=o(b.uri,E):I=b.uri.toString());const C=this.astNodeLocator.getAstNodePath(E);g.push(`${I}#${C}`)}return{$refs:g,$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 g=this.commentProvider.getComment(n);g&&(f.$comment=g.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=lm(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];ku(f)?l[u]=this.reviveReference(e,c,n,f,r):We(f)&&this.linkNode(f,n,r,e,c,u)}else ku(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):kt.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)):kt.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 ZT{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),this.fileExtensionMap.set(r,e);if(n.fileNames)for(const r of n.fileNames)this.fileNameMap.has(r),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=ut.extname(e),i=ut.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 qi(t){return{code:t}}var Bc;(function(t){t.defaults=["fast","slow","built-in"],t.all=t.defaults})(Bc||(Bc={}));class eR{constructor(e){this.entries=new ts,this.knownCategories=new Set(Bc.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 as()}}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(Wa(s))throw s;s instanceof 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=ge(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 tR=Object.freeze({validateNode:!0,validateChildren:!0});class nR{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=Te.CancellationToken.None){const i=e.parseResult,s=[];if(await Xe(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)===At.LexingError})||(this.processParsingErrors(i,s,n),n.stopAfterParsingErrors&&s.some(a=>{var o;return((o=a.data)==null?void 0:o.code)===At.ParsingError}))||(this.processLinkingErrors(e,s,n),n.stopAfterLinkingErrors&&s.some(a=>{var o;return((o=a.data)==null?void 0:o.code)===At.LinkingError}))))return s;try{s.push(...await this.validateAst(i.value,n,r))}catch(a){if(Wa(a))throw a}return await Xe(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:so(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:iR(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=bo(i.token);if(s){const a={severity:so("error"),range:s,message:i.message,data:qi(At.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:At.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=Te.CancellationToken.None){const i=[],s=(a,o,c)=>{i.push(this.toDiagnostic(a,o,c))};return await this.validateAstBefore(e,n,s,r),await this.validateAstNodes(e,n,s,r),await this.validateAstAfter(e,n,s,r),i}async validateAstBefore(e,n,r,i=Te.CancellationToken.None){const s=this.validationRegistry.checksBefore;for(const a of s)await Xe(i),await a(e,r,n.categories??[],i)}async validateAstNodes(e,n,r,i=Te.CancellationToken.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 Xe(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 tR}async validateAstAfter(e,n,r,i=Te.CancellationToken.None){const s=this.validationRegistry.checksAfter;for(const a of s)await Xe(i),await a(e,r,n.categories??[],i)}toDiagnostic(e,n,r){return{message:n,range:rR(r),severity:so(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 rR(t){if(t.range)return t.range;let e;return typeof t.property=="string"?e=Xd(t.node.$cstNode,t.property,t.index):typeof t.keyword=="string"&&(e=um(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 so(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 iR(t){switch(t){case"error":return qi(At.LexingError);case"warning":return qi(At.LexingWarning);case"info":return qi(At.LexingInfo);case"hint":return qi(At.LexingHint);default:throw new Error("Invalid diagnostic severity: "+t)}}var At;(function(t){t.LexingError="lexing-error",t.LexingWarning="lexing-warning",t.LexingInfo="lexing-info",t.LexingHint="lexing-hint",t.ParsingError="parsing-error",t.LinkingError="linking-error"})(At||(At={}));class sR{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=ua(this.nameProvider.getNameNode(e)??e.$cstNode));return{node:e,name:n,get nameSegment(){return o()},selectionSegment:ua(e.$cstNode),type:e.$type,documentUri:i.uri,path:s}}}class aR{constructor(e){this.nodeLocator=e.workspace.AstNodeLocator}async createDescriptions(e,n=Te.CancellationToken.None){const r=[],i=e.parseResult.value;for(const s of Zt(i))await Xe(n),ca(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=[];St(n)&&n.$nodeDescription?r=[n.$nodeDescription]:dn(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=ua(n.$refNode);for(const c of r)a.push({sourceUri:i,sourcePath:s,targetUri:c.documentUri,targetPath:c.path,segment:o,local:ut.equals(c.documentUri,i)});return a}}class oR{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)}}var cR=ei();class lR{constructor(e){this._ready=new Cl,this.onConfigurationSectionUpdateEmitter=new cR.Emitter,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 wn={},Nn={},Us={},ao={},U={},wu;function ah(){if(wu)return U;wu=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=fs();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(m,S,y){super(S),this.code=t.number(m)?m:e.UnknownErrorCode,this.data=y,Object.setPrototypeOf(this,n.prototype)}toJson(){const m={code:this.code,message:this.message};return this.data!==void 0&&(m.data=this.data),m}}U.ResponseError=n;class r{constructor(m){this.kind=m}static is(m){return m===r.auto||m===r.byName||m===r.byPosition}toString(){return this.kind}}U.ParameterStructures=r,r.auto=new r("auto"),r.byPosition=new r("byPosition"),r.byName=new r("byName");class i{constructor(m,S){this.method=m,this.numberOfParams=S}get parameterStructures(){return r.auto}}U.AbstractMessageSignature=i;class s extends i{constructor(m){super(m,0)}}U.RequestType0=s;class a extends i{constructor(m,S=r.auto){super(m,1),this._parameterStructures=S}get parameterStructures(){return this._parameterStructures}}U.RequestType=a;class o extends i{constructor(m,S=r.auto){super(m,1),this._parameterStructures=S}get parameterStructures(){return this._parameterStructures}}U.RequestType1=o;class c extends i{constructor(m){super(m,2)}}U.RequestType2=c;class l extends i{constructor(m){super(m,3)}}U.RequestType3=l;class u extends i{constructor(m){super(m,4)}}U.RequestType4=u;class f extends i{constructor(m){super(m,5)}}U.RequestType5=f;class g extends i{constructor(m){super(m,6)}}U.RequestType6=g;class h extends i{constructor(m){super(m,7)}}U.RequestType7=h;class E extends i{constructor(m){super(m,8)}}U.RequestType8=E;class b extends i{constructor(m){super(m,9)}}U.RequestType9=b;class I extends i{constructor(m,S=r.auto){super(m,1),this._parameterStructures=S}get parameterStructures(){return this._parameterStructures}}U.NotificationType=I;class C extends i{constructor(m){super(m,0)}}U.NotificationType0=C;class w extends i{constructor(m,S=r.auto){super(m,1),this._parameterStructures=S}get parameterStructures(){return this._parameterStructures}}U.NotificationType1=w;class k extends i{constructor(m){super(m,2)}}U.NotificationType2=k;class P extends i{constructor(m){super(m,3)}}U.NotificationType3=P;class H extends i{constructor(m){super(m,4)}}U.NotificationType4=H;class K extends i{constructor(m){super(m,5)}}U.NotificationType5=K;class J extends i{constructor(m){super(m,6)}}U.NotificationType6=J;class oe extends i{constructor(m){super(m,7)}}U.NotificationType7=oe;class de extends i{constructor(m){super(m,8)}}U.NotificationType8=de;class fe extends i{constructor(m){super(m,9)}}U.NotificationType9=fe;var _;return(function(R){function m(T){const A=T;return A&&t.string(A.method)&&(t.string(A.id)||t.number(A.id))}R.isRequest=m;function S(T){const A=T;return A&&t.string(A.method)&&T.id===void 0}R.isNotification=S;function y(T){const A=T;return A&&(A.result!==void 0||!!A.error)&&(t.string(A.id)||t.number(A.id)||A.id===null)}R.isResponse=y})(_||(U.Message=_={})),U}var Ft={},Nu;function oh(){if(Nu)return Ft;Nu=1;var t;Object.defineProperty(Ft,"__esModule",{value:!0}),Ft.LRUCache=Ft.LinkedMap=Ft.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||(Ft.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)}}Ft.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 Ft.LRUCache=r,Ft}var vi={},bu;function uR(){if(bu)return vi;bu=1,Object.defineProperty(vi,"__esModule",{value:!0}),vi.Disposable=void 0;var t;return(function(e){function n(r){return{dispose:r}}e.create=n})(t||(vi.Disposable=t={})),vi}var bn={},_u;function dR(){if(_u)return bn;_u=1,Object.defineProperty(bn,"__esModule",{value:!0}),bn.SharedArrayReceiverStrategy=bn.SharedArraySenderStrategy=void 0;const t=Ba();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()}}bn.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 bn.SharedArrayReceiverStrategy=s,bn}var Gt={},Ei={},Iu;function ch(){if(Iu)return Ei;Iu=1,Object.defineProperty(Ei,"__esModule",{value:!0}),Ei.Semaphore=void 0;const t=Qn();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 Ei.Semaphore=e,Ei}var Pu;function fR(){if(Pu)return Gt;Pu=1,Object.defineProperty(Gt,"__esModule",{value:!0}),Gt.ReadableStreamMessageReader=Gt.AbstractMessageReader=Gt.MessageReader=void 0;const t=Qn(),e=fs(),n=ei(),r=ch();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||(Gt.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"}`)}}Gt.AbstractMessageReader=s;var a;(function(c){function l(u){let f,g;const h=new Map;let E;const b=new Map;if(u===void 0||typeof u=="string")f=u??"utf-8";else{if(f=u.charset??"utf-8",u.contentDecoder!==void 0&&(g=u.contentDecoder,h.set(g.name,g)),u.contentDecoders!==void 0)for(const I of u.contentDecoders)h.set(I.name,I);if(u.contentTypeDecoder!==void 0&&(E=u.contentTypeDecoder,b.set(E.name,E)),u.contentTypeDecoders!==void 0)for(const I of u.contentTypeDecoders)b.set(I.name,I)}return E===void 0&&(E=(0,t.default)().applicationJson.decoder,b.set(E.name,E)),{charset:f,contentDecoder:g,contentDecoders:h,contentTypeDecoder:E,contentTypeDecoders:b}}c.fromOptions=l})(a||(a={}));class o extends s{constructor(l,u){super(),this.readable=l,this.options=a.fromOptions(u),this.buffer=(0,t.default)().messageBuffer.create(this.options.charset),this._partialMessageTimeout=1e4,this.nextMessageLength=-1,this.messageToken=0,this.readSemaphore=new r.Semaphore(1)}set partialMessageTimeout(l){this._partialMessageTimeout=l}get partialMessageTimeout(){return this._partialMessageTimeout}listen(l){this.nextMessageLength=-1,this.messageToken=0,this.partialMessageTimer=void 0,this.callback=l;const u=this.readable.onData(f=>{this.onData(f)});return this.readable.onError(f=>this.fireError(f)),this.readable.onClose(()=>this.fireClose()),u}onData(l){try{for(this.buffer.append(l);;){if(this.nextMessageLength===-1){const f=this.buffer.tryReadHeaders(!0);if(!f)return;const g=f.get("content-length");if(!g){this.fireError(new Error(`Header must provide a Content-Length property.
114
+ ${JSON.stringify(Object.fromEntries(f))}`));return}const h=parseInt(g);if(isNaN(h)){this.fireError(new Error(`Content-Length value must be a number. Got ${g}`));return}this.nextMessageLength=h}const u=this.buffer.tryReadBody(this.nextMessageLength);if(u===void 0){this.setPartialMessageTimer();return}this.clearPartialMessageTimer(),this.nextMessageLength=-1,this.readSemaphore.lock(async()=>{const f=this.options.contentDecoder!==void 0?await this.options.contentDecoder.decode(u):u,g=await this.options.contentTypeDecoder.decode(f,this.options);this.callback(g)}).catch(f=>{this.fireError(f)})}}catch(u){this.fireError(u)}}clearPartialMessageTimer(){this.partialMessageTimer&&(this.partialMessageTimer.dispose(),this.partialMessageTimer=void 0)}setPartialMessageTimer(){this.clearPartialMessageTimer(),!(this._partialMessageTimeout<=0)&&(this.partialMessageTimer=(0,t.default)().timer.setTimeout((l,u)=>{this.partialMessageTimer=void 0,l===this.messageToken&&(this.firePartialMessage({messageToken:l,waitingTime:u}),this.setPartialMessageTimer())},this._partialMessageTimeout,this.messageToken,this._partialMessageTimeout))}}return Gt.ReadableStreamMessageReader=o,Gt}var Ut={},$u;function hR(){if($u)return Ut;$u=1,Object.defineProperty(Ut,"__esModule",{value:!0}),Ut.WriteableStreamMessageWriter=Ut.AbstractMessageWriter=Ut.MessageWriter=void 0;const t=Qn(),e=fs(),n=ch(),r=ei(),i="Content-Length: ",s=`\r
115
+ `;var a;(function(u){function f(g){let h=g;return h&&e.func(h.dispose)&&e.func(h.onClose)&&e.func(h.onError)&&e.func(h.write)}u.is=f})(a||(Ut.MessageWriter=a={}));class o{constructor(){this.errorEmitter=new r.Emitter,this.closeEmitter=new r.Emitter}dispose(){this.errorEmitter.dispose(),this.closeEmitter.dispose()}get onError(){return this.errorEmitter.event}fireError(f,g,h){this.errorEmitter.fire([this.asError(f),g,h])}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"}`)}}Ut.AbstractMessageWriter=o;var c;(function(u){function f(g){return g===void 0||typeof g=="string"?{charset:g??"utf-8",contentTypeEncoder:(0,t.default)().applicationJson.encoder}:{charset:g.charset??"utf-8",contentEncoder:g.contentEncoder,contentTypeEncoder:g.contentTypeEncoder??(0,t.default)().applicationJson.encoder}}u.fromOptions=f})(c||(c={}));class l extends o{constructor(f,g){super(),this.writable=f,this.options=c.fromOptions(g),this.errorCount=0,this.writeSemaphore=new n.Semaphore(1),this.writable.onError(h=>this.fireError(h)),this.writable.onClose(()=>this.fireClose())}async write(f){return this.writeSemaphore.lock(async()=>this.options.contentTypeEncoder.encode(f,this.options).then(h=>this.options.contentEncoder!==void 0?this.options.contentEncoder.encode(h):h).then(h=>{const E=[];return E.push(i,h.byteLength.toString(),s),E.push(s),this.doWrite(f,E,h)},h=>{throw this.fireError(h),h}))}async doWrite(f,g,h){try{return await this.writable.write(g.join(""),"ascii"),this.writable.write(h)}catch(E){return this.handleError(E,f),Promise.reject(E)}}handleError(f,g){this.errorCount++,this.fireError(f,g,this.errorCount)}end(){this.writable.end()}}return Ut.WriteableStreamMessageWriter=l,Ut}var Ai={},Lu;function pR(){if(Lu)return Ai;Lu=1,Object.defineProperty(Ai,"__esModule",{value:!0}),Ai.AbstractMessageBuffer=void 0;const t=13,e=10,n=`\r
116
+ `;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 h=this._chunks[o];for(c=0;c<h.length;){switch(h[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+=h.byteLength,o++}if(a!==4)return;const u=this._read(l+c),f=new Map,g=this.toString(u,"ascii").split(n);if(g.length<2)return f;for(let h=0;h<g.length-2;h++){const E=g[h],b=E.indexOf(":");if(b===-1)throw new Error(`Message header must separate key and value using ':'
117
+ ${E}`);const I=E.substr(0,b),C=E.substr(b+1).trim();f.set(s?I.toLowerCase():I,C)}return f}tryReadBody(s){if(!(this._totalLength<s))return this._read(s)}get numberOfBytes(){return this._totalLength}_read(s){if(s===0)return this.emptyBuffer();if(s>this._totalLength)throw new Error("Cannot read so many bytes!");if(this._chunks[0].byteLength===s){const l=this._chunks[0];return this._chunks.shift(),this._totalLength-=s,this.asNative(l)}if(this._chunks[0].byteLength>s){const l=this._chunks[0],u=this.asNative(l,s);return this._chunks[0]=l.slice(s),this._totalLength-=s,u}const a=this.allocNative(s);let o=0,c=0;for(;s>0;){const l=this._chunks[c];if(l.byteLength>s){const u=l.slice(0,s);a.set(u,o),o+=s,this._chunks[c]=l.slice(s),this._totalLength-=s,s-=s}else a.set(l,o),o+=l.byteLength,this._chunks.shift(),this._totalLength-=l.byteLength,s-=l.byteLength}return a}}return Ai.AbstractMessageBuffer=r,Ai}var oo={},Ou;function mR(){return Ou||(Ou=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=Qn(),n=fs(),r=ah(),i=oh(),s=ei(),a=Ba();var o;(function(m){m.type=new r.NotificationType("$/cancelRequest")})(o||(o={}));var c;(function(m){function S(y){return typeof y=="string"||typeof y=="number"}m.is=S})(c||(t.ProgressToken=c={}));var l;(function(m){m.type=new r.NotificationType("$/progress")})(l||(l={}));class u{constructor(){}}t.ProgressType=u;var f;(function(m){function S(y){return n.func(y)}m.is=S})(f||(f={})),t.NullLogger=Object.freeze({error:()=>{},warn:()=>{},info:()=>{},log:()=>{}});var g;(function(m){m[m.Off=0]="Off",m[m.Messages=1]="Messages",m[m.Compact=2]="Compact",m[m.Verbose=3]="Verbose"})(g||(t.Trace=g={}));var h;(function(m){m.Off="off",m.Messages="messages",m.Compact="compact",m.Verbose="verbose"})(h||(t.TraceValues=h={})),(function(m){function S(T){if(!n.string(T))return m.Off;switch(T=T.toLowerCase(),T){case"off":return m.Off;case"messages":return m.Messages;case"compact":return m.Compact;case"verbose":return m.Verbose;default:return m.Off}}m.fromString=S;function y(T){switch(T){case m.Off:return"off";case m.Messages:return"messages";case m.Compact:return"compact";case m.Verbose:return"verbose";default:return"off"}}m.toString=y})(g||(t.Trace=g={}));var E;(function(m){m.Text="text",m.JSON="json"})(E||(t.TraceFormat=E={})),(function(m){function S(y){return n.string(y)?(y=y.toLowerCase(),y==="json"?m.JSON:m.Text):m.Text}m.fromString=S})(E||(t.TraceFormat=E={}));var b;(function(m){m.type=new r.NotificationType("$/setTrace")})(b||(t.SetTraceNotification=b={}));var I;(function(m){m.type=new r.NotificationType("$/logTrace")})(I||(t.LogTraceNotification=I={}));var C;(function(m){m[m.Closed=1]="Closed",m[m.Disposed=2]="Disposed",m[m.AlreadyListening=3]="AlreadyListening"})(C||(t.ConnectionErrors=C={}));class w extends Error{constructor(S,y){super(y),this.code=S,Object.setPrototypeOf(this,w.prototype)}}t.ConnectionError=w;var k;(function(m){function S(y){const T=y;return T&&n.func(T.cancelUndispatched)}m.is=S})(k||(t.ConnectionStrategy=k={}));var P;(function(m){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))}m.is=S})(P||(t.IdCancellationReceiverStrategy=P={}));var H;(function(m){function S(y){const T=y;return T&&T.kind==="request"&&n.func(T.createCancellationTokenSource)&&(T.dispose===void 0||n.func(T.dispose))}m.is=S})(H||(t.RequestCancellationReceiverStrategy=H={}));var K;(function(m){m.Message=Object.freeze({createCancellationTokenSource(y){return new a.CancellationTokenSource}});function S(y){return P.is(y)||H.is(y)}m.is=S})(K||(t.CancellationReceiverStrategy=K={}));var J;(function(m){m.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)}m.is=S})(J||(t.CancellationSenderStrategy=J={}));var oe;(function(m){m.Message=Object.freeze({receiver:K.Message,sender:J.Message});function S(y){const T=y;return T&&K.is(T.receiver)&&J.is(T.sender)}m.is=S})(oe||(t.CancellationStrategy=oe={}));var de;(function(m){function S(y){const T=y;return T&&n.func(T.handleMessage)}m.is=S})(de||(t.MessageStrategy=de={}));var fe;(function(m){function S(y){const T=y;return T&&(oe.is(T.cancellationStrategy)||k.is(T.connectionStrategy)||de.is(T.messageStrategy))}m.is=S})(fe||(t.ConnectionOptions=fe={}));var _;(function(m){m[m.New=1]="New",m[m.Listening=2]="Listening",m[m.Closed=3]="Closed",m[m.Disposed=4]="Disposed"})(_||(_={}));function R(m,S,y,T){const A=y!==void 0?y:t.NullLogger;let O=0,D=0,x=0;const j="2.0";let G;const ie=new Map;let B;const ne=new Map,Oe=new Map;let ve,he=new i.LinkedMap,Ie=new Map,xe=new Set,be=new Map,Z=g.Off,at=E.Text,Ee,Tt=_.New;const tr=new s.Emitter,ni=new s.Emitter,ri=new s.Emitter,ii=new s.Emitter,si=new s.Emitter,Rt=T&&T.cancellationStrategy?T.cancellationStrategy:oe.Message;function ai(p){if(p===null)throw new Error("Can't send requests with id null since the response can't be correlated.");return"req-"+p.toString()}function hs(p){return p===null?"res-unknown-"+(++x).toString():"res-"+p.toString()}function ps(){return"not-"+(++D).toString()}function ms(p,N){r.Message.isRequest(N)?p.set(ai(N.id),N):r.Message.isResponse(N)?p.set(hs(N.id),N):p.set(ps(),N)}function gs(p){}function oi(){return Tt===_.Listening}function ci(){return Tt===_.Closed}function Dt(){return Tt===_.Disposed}function li(){(Tt===_.New||Tt===_.Listening)&&(Tt=_.Closed,ni.fire(void 0))}function ys(p){tr.fire([p,void 0,void 0])}function Ts(p){tr.fire(p)}m.onClose(li),m.onError(ys),S.onClose(li),S.onError(Ts);function ui(){ve||he.size===0||(ve=(0,e.default)().timer.setImmediate(()=>{ve=void 0,Rs()}))}function di(p){r.Message.isRequest(p)?Es(p):r.Message.isNotification(p)?Ss(p):r.Message.isResponse(p)?As(p):Cs(p)}function Rs(){if(he.size===0)return;const p=he.shift();try{const N=T==null?void 0:T.messageStrategy;de.is(N)?N.handleMessage(p,di):di(p)}finally{ui()}}const vs=p=>{try{if(r.Message.isNotification(p)&&p.method===o.type.method){const N=p.params.id,L=ai(N),F=he.get(L);if(r.Message.isRequest(F)){const se=T==null?void 0:T.connectionStrategy,ce=se&&se.cancelUndispatched?se.cancelUndispatched(F,gs):void 0;if(ce&&(ce.error!==void 0||ce.result!==void 0)){he.delete(L),be.delete(N),ce.id=F.id,En(ce,p.method,Date.now()),S.write(ce).catch(()=>A.error("Sending response for canceled message failed."));return}}const le=be.get(N);if(le!==void 0){le.cancel(),nr(p);return}else xe.add(N)}ms(he,p)}finally{ui()}};function Es(p){if(Dt())return;function N(Q,pe,re){const Pe={jsonrpc:j,id:p.id};Q instanceof r.ResponseError?Pe.error=Q.toJson():Pe.result=Q===void 0?null:Q,En(Pe,pe,re),S.write(Pe).catch(()=>A.error("Sending response failed."))}function L(Q,pe,re){const Pe={jsonrpc:j,id:p.id,error:Q.toJson()};En(Pe,pe,re),S.write(Pe).catch(()=>A.error("Sending response failed."))}function F(Q,pe,re){Q===void 0&&(Q=null);const Pe={jsonrpc:j,id:p.id,result:Q};En(Pe,pe,re),S.write(Pe).catch(()=>A.error("Sending response failed."))}Ns(p);const le=ie.get(p.method);let se,ce;le&&(se=le.type,ce=le.handler);const we=Date.now();if(ce||G){const Q=p.id??String(Date.now()),pe=P.is(Rt.receiver)?Rt.receiver.createCancellationTokenSource(Q):Rt.receiver.createCancellationTokenSource(p);p.id!==null&&xe.has(p.id)&&pe.cancel(),p.id!==null&&be.set(Q,pe);try{let re;if(ce)if(p.params===void 0){if(se!==void 0&&se.numberOfParams!==0){L(new r.ResponseError(r.ErrorCodes.InvalidParams,`Request ${p.method} defines ${se.numberOfParams} params but received none.`),p.method,we);return}re=ce(pe.token)}else if(Array.isArray(p.params)){if(se!==void 0&&se.parameterStructures===r.ParameterStructures.byName){L(new r.ResponseError(r.ErrorCodes.InvalidParams,`Request ${p.method} defines parameters by name but received parameters by position`),p.method,we);return}re=ce(...p.params,pe.token)}else{if(se!==void 0&&se.parameterStructures===r.ParameterStructures.byPosition){L(new r.ResponseError(r.ErrorCodes.InvalidParams,`Request ${p.method} defines parameters by position but received parameters by name`),p.method,we);return}re=ce(p.params,pe.token)}else G&&(re=G(p.method,p.params,pe.token));const Pe=re;re?Pe.then?Pe.then(Ke=>{be.delete(Q),N(Ke,p.method,we)},Ke=>{be.delete(Q),Ke instanceof r.ResponseError?L(Ke,p.method,we):Ke&&n.string(Ke.message)?L(new r.ResponseError(r.ErrorCodes.InternalError,`Request ${p.method} failed with message: ${Ke.message}`),p.method,we):L(new r.ResponseError(r.ErrorCodes.InternalError,`Request ${p.method} failed unexpectedly without providing any details.`),p.method,we)}):(be.delete(Q),N(re,p.method,we)):(be.delete(Q),F(re,p.method,we))}catch(re){be.delete(Q),re instanceof r.ResponseError?N(re,p.method,we):re&&n.string(re.message)?L(new r.ResponseError(r.ErrorCodes.InternalError,`Request ${p.method} failed with message: ${re.message}`),p.method,we):L(new r.ResponseError(r.ErrorCodes.InternalError,`Request ${p.method} failed unexpectedly without providing any details.`),p.method,we)}}else L(new r.ResponseError(r.ErrorCodes.MethodNotFound,`Unhandled method ${p.method}`),p.method,we)}function As(p){if(!Dt())if(p.id===null)p.error?A.error(`Received response message without id: Error is:
118
+ ${JSON.stringify(p.error,void 0,4)}`):A.error("Received response message without id. No further error information provided.");else{const N=p.id,L=Ie.get(N);if(bs(p,L),L!==void 0){Ie.delete(N);try{if(p.error){const F=p.error;L.reject(new r.ResponseError(F.code,F.message,F.data))}else if(p.result!==void 0)L.resolve(p.result);else throw new Error("Should never happen.")}catch(F){F.message?A.error(`Response handler '${L.method}' failed with message: ${F.message}`):A.error(`Response handler '${L.method}' failed unexpectedly.`)}}}}function Ss(p){if(Dt())return;let N,L;if(p.method===o.type.method){const F=p.params.id;xe.delete(F),nr(p);return}else{const F=ne.get(p.method);F&&(L=F.handler,N=F.type)}if(L||B)try{if(nr(p),L)if(p.params===void 0)N!==void 0&&N.numberOfParams!==0&&N.parameterStructures!==r.ParameterStructures.byName&&A.error(`Notification ${p.method} defines ${N.numberOfParams} params but received none.`),L();else if(Array.isArray(p.params)){const F=p.params;p.method===l.type.method&&F.length===2&&c.is(F[0])?L({token:F[0],value:F[1]}):(N!==void 0&&(N.parameterStructures===r.ParameterStructures.byName&&A.error(`Notification ${p.method} defines parameters by name but received parameters by position`),N.numberOfParams!==p.params.length&&A.error(`Notification ${p.method} defines ${N.numberOfParams} params but received ${F.length} arguments`)),L(...F))}else N!==void 0&&N.parameterStructures===r.ParameterStructures.byPosition&&A.error(`Notification ${p.method} defines parameters by position but received parameters by name`),L(p.params);else B&&B(p.method,p.params)}catch(F){F.message?A.error(`Notification handler '${p.method}' failed with message: ${F.message}`):A.error(`Notification handler '${p.method}' failed unexpectedly.`)}else ri.fire(p)}function Cs(p){if(!p){A.error("Received empty message.");return}A.error(`Received message which is neither a response nor a notification message:
119
+ ${JSON.stringify(p,null,4)}`);const N=p;if(n.string(N.id)||n.number(N.id)){const L=N.id,F=Ie.get(L);F&&F.reject(new Error("The received response has neither a result nor an error property."))}}function vt(p){if(p!=null)switch(Z){case g.Verbose:return JSON.stringify(p,null,4);case g.Compact:return JSON.stringify(p);default:return}}function ks(p){if(!(Z===g.Off||!Ee))if(at===E.Text){let N;(Z===g.Verbose||Z===g.Compact)&&p.params&&(N=`Params: ${vt(p.params)}
120
+
121
+ `),Ee.log(`Sending request '${p.method} - (${p.id})'.`,N)}else Mt("send-request",p)}function ws(p){if(!(Z===g.Off||!Ee))if(at===E.Text){let N;(Z===g.Verbose||Z===g.Compact)&&(p.params?N=`Params: ${vt(p.params)}
122
+
123
+ `:N=`No parameters provided.
124
+
125
+ `),Ee.log(`Sending notification '${p.method}'.`,N)}else Mt("send-notification",p)}function En(p,N,L){if(!(Z===g.Off||!Ee))if(at===E.Text){let F;(Z===g.Verbose||Z===g.Compact)&&(p.error&&p.error.data?F=`Error data: ${vt(p.error.data)}
126
+
127
+ `:p.result?F=`Result: ${vt(p.result)}
128
+
129
+ `:p.error===void 0&&(F=`No result returned.
130
+
131
+ `)),Ee.log(`Sending response '${N} - (${p.id})'. Processing request took ${Date.now()-L}ms`,F)}else Mt("send-response",p)}function Ns(p){if(!(Z===g.Off||!Ee))if(at===E.Text){let N;(Z===g.Verbose||Z===g.Compact)&&p.params&&(N=`Params: ${vt(p.params)}
132
+
133
+ `),Ee.log(`Received request '${p.method} - (${p.id})'.`,N)}else Mt("receive-request",p)}function nr(p){if(!(Z===g.Off||!Ee||p.method===I.type.method))if(at===E.Text){let N;(Z===g.Verbose||Z===g.Compact)&&(p.params?N=`Params: ${vt(p.params)}
134
+
135
+ `:N=`No parameters provided.
136
+
137
+ `),Ee.log(`Received notification '${p.method}'.`,N)}else Mt("receive-notification",p)}function bs(p,N){if(!(Z===g.Off||!Ee))if(at===E.Text){let L;if((Z===g.Verbose||Z===g.Compact)&&(p.error&&p.error.data?L=`Error data: ${vt(p.error.data)}
138
+
139
+ `:p.result?L=`Result: ${vt(p.result)}
140
+
141
+ `:p.error===void 0&&(L=`No result returned.
142
+
143
+ `)),N){const F=p.error?` Request failed: ${p.error.message} (${p.error.code}).`:"";Ee.log(`Received response '${N.method} - (${p.id})' in ${Date.now()-N.timerStart}ms.${F}`,L)}else Ee.log(`Received response ${p.id} without active response promise.`,L)}else Mt("receive-response",p)}function Mt(p,N){if(!Ee||Z===g.Off)return;const L={isLSPMessage:!0,type:p,message:N,timestamp:Date.now()};Ee.log(L)}function on(){if(ci())throw new w(C.Closed,"Connection is closed.");if(Dt())throw new w(C.Disposed,"Connection is disposed.")}function _s(){if(oi())throw new w(C.AlreadyListening,"Connection is already listening")}function Is(){if(!oi())throw new Error("Call listen() first.")}function cn(p){return p===void 0?null:p}function fi(p){if(p!==null)return p}function d(p){return p!=null&&!Array.isArray(p)&&typeof p=="object"}function Ce(p,N){switch(p){case r.ParameterStructures.auto:return d(N)?fi(N):[cn(N)];case r.ParameterStructures.byName:if(!d(N))throw new Error("Received parameters by name but param is not an object literal.");return fi(N);case r.ParameterStructures.byPosition:return[cn(N)];default:throw new Error(`Unknown parameter structure ${p.toString()}`)}}function ke(p,N){let L;const F=p.numberOfParams;switch(F){case 0:L=void 0;break;case 1:L=Ce(p.parameterStructures,N[0]);break;default:L=[];for(let le=0;le<N.length&&le<F;le++)L.push(cn(N[le]));if(N.length<F)for(let le=N.length;le<F;le++)L.push(null);break}return L}const V={sendNotification:(p,...N)=>{on();let L,F;if(n.string(p)){L=p;const se=N[0];let ce=0,we=r.ParameterStructures.auto;r.ParameterStructures.is(se)&&(ce=1,we=se);let Q=N.length;const pe=Q-ce;switch(pe){case 0:F=void 0;break;case 1:F=Ce(we,N[ce]);break;default:if(we===r.ParameterStructures.byName)throw new Error(`Received ${pe} parameters for 'by Name' notification parameter structure.`);F=N.slice(ce,Q).map(re=>cn(re));break}}else{const se=N;L=p.method,F=ke(p,se)}const le={jsonrpc:j,method:L,params:F};return ws(le),S.write(le).catch(se=>{throw A.error("Sending notification failed."),se})},onNotification:(p,N)=>{on();let L;return n.func(p)?B=p:N&&(n.string(p)?(L=p,ne.set(p,{type:void 0,handler:N})):(L=p.method,ne.set(p.method,{type:p,handler:N}))),{dispose:()=>{L!==void 0?ne.delete(L):B=void 0}}},onProgress:(p,N,L)=>{if(Oe.has(N))throw new Error(`Progress handler for token ${N} already registered`);return Oe.set(N,L),{dispose:()=>{Oe.delete(N)}}},sendProgress:(p,N,L)=>V.sendNotification(l.type,{token:N,value:L}),onUnhandledProgress:ii.event,sendRequest:(p,...N)=>{on(),Is();let L,F,le;if(n.string(p)){L=p;const Q=N[0],pe=N[N.length-1];let re=0,Pe=r.ParameterStructures.auto;r.ParameterStructures.is(Q)&&(re=1,Pe=Q);let Ke=N.length;a.CancellationToken.is(pe)&&(Ke=Ke-1,le=pe);const _t=Ke-re;switch(_t){case 0:F=void 0;break;case 1:F=Ce(Pe,N[re]);break;default:if(Pe===r.ParameterStructures.byName)throw new Error(`Received ${_t} parameters for 'by Name' request parameter structure.`);F=N.slice(re,Ke).map($h=>cn($h));break}}else{const Q=N;L=p.method,F=ke(p,Q);const pe=p.numberOfParams;le=a.CancellationToken.is(Q[pe])?Q[pe]:void 0}const se=O++;let ce;le&&(ce=le.onCancellationRequested(()=>{const Q=Rt.sender.sendCancellation(V,se);return Q===void 0?(A.log(`Received no promise from cancellation strategy when cancelling id ${se}`),Promise.resolve()):Q.catch(()=>{A.log(`Sending cancellation messages for id ${se} failed`)})}));const we={jsonrpc:j,id:se,method:L,params:F};return ks(we),typeof Rt.sender.enableCancellation=="function"&&Rt.sender.enableCancellation(we),new Promise(async(Q,pe)=>{const re=_t=>{Q(_t),Rt.sender.cleanup(se),ce==null||ce.dispose()},Pe=_t=>{pe(_t),Rt.sender.cleanup(se),ce==null||ce.dispose()},Ke={method:L,timerStart:Date.now(),resolve:re,reject:Pe};try{await S.write(we),Ie.set(se,Ke)}catch(_t){throw A.error("Sending request failed."),Ke.reject(new r.ResponseError(r.ErrorCodes.MessageWriteError,_t.message?_t.message:"Unknown reason")),_t}})},onRequest:(p,N)=>{on();let L=null;return f.is(p)?(L=void 0,G=p):n.string(p)?(L=null,N!==void 0&&(L=p,ie.set(p,{handler:N,type:void 0}))):N!==void 0&&(L=p.method,ie.set(p.method,{type:p,handler:N})),{dispose:()=>{L!==null&&(L!==void 0?ie.delete(L):G=void 0)}}},hasPendingResponse:()=>Ie.size>0,trace:async(p,N,L)=>{let F=!1,le=E.Text;L!==void 0&&(n.boolean(L)?F=L:(F=L.sendNotification||!1,le=L.traceFormat||E.Text)),Z=p,at=le,Z===g.Off?Ee=void 0:Ee=N,F&&!ci()&&!Dt()&&await V.sendNotification(b.type,{value:g.toString(p)})},onError:tr.event,onClose:ni.event,onUnhandledNotification:ri.event,onDispose:si.event,end:()=>{S.end()},dispose:()=>{if(Dt())return;Tt=_.Disposed,si.fire(void 0);const p=new r.ResponseError(r.ErrorCodes.PendingResponseRejected,"Pending response rejected since connection got disposed");for(const N of Ie.values())N.reject(p);Ie=new Map,be=new Map,xe=new Set,he=new i.LinkedMap,n.func(S.dispose)&&S.dispose(),n.func(m.dispose)&&m.dispose()},listen:()=>{on(),_s(),Tt=_.Listening,m.listen(vs)},inspect:()=>{(0,e.default)().console.log("inspect")}};return V.onNotification(I.type,p=>{if(Z===g.Off||!Ee)return;const N=Z===g.Verbose||Z===g.Compact;Ee.log(p.message,N?p.verbose:void 0)}),V.onNotification(l.type,p=>{const N=Oe.get(p.token);N?N(p.value):ii.fire(p)}),V}t.createMessageConnection=R})(oo)),oo}var xu;function Wc(){return xu||(xu=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=ah();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=oh();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=uR();Object.defineProperty(t,"Disposable",{enumerable:!0,get:function(){return r.Disposable}});const i=ei();Object.defineProperty(t,"Event",{enumerable:!0,get:function(){return i.Event}}),Object.defineProperty(t,"Emitter",{enumerable:!0,get:function(){return i.Emitter}});const s=Ba();Object.defineProperty(t,"CancellationTokenSource",{enumerable:!0,get:function(){return s.CancellationTokenSource}}),Object.defineProperty(t,"CancellationToken",{enumerable:!0,get:function(){return s.CancellationToken}});const a=dR();Object.defineProperty(t,"SharedArraySenderStrategy",{enumerable:!0,get:function(){return a.SharedArraySenderStrategy}}),Object.defineProperty(t,"SharedArrayReceiverStrategy",{enumerable:!0,get:function(){return a.SharedArrayReceiverStrategy}});const o=fR();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=hR();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=pR();Object.defineProperty(t,"AbstractMessageBuffer",{enumerable:!0,get:function(){return l.AbstractMessageBuffer}});const u=mR();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=Qn();t.RAL=f.default})(ao)),ao}var Du;function gR(){if(Du)return Us;Du=1,Object.defineProperty(Us,"__esModule",{value:!0});const t=Wc();class e extends t.AbstractMessageBuffer{constructor(c="utf-8"){super(c),this.asciiDecoder=new TextDecoder("ascii")}emptyBuffer(){return e.emptyBuffer}fromString(c,l){return new TextEncoder().encode(c)}toString(c,l){return l==="ascii"?this.asciiDecoder.decode(c):new TextDecoder(l).decode(c)}asNative(c,l){return l===void 0?c:c.slice(0,l)}allocNative(c){return new Uint8Array(c)}}e.emptyBuffer=new Uint8Array(0);class n{constructor(c){this.socket=c,this._onData=new t.Emitter,this._messageListener=l=>{l.data.arrayBuffer().then(f=>{this._onData.fire(new Uint8Array(f))},()=>{(0,t.RAL)().console.error("Converting blob to array buffer failed.")})},this.socket.addEventListener("message",this._messageListener)}onClose(c){return this.socket.addEventListener("close",c),t.Disposable.create(()=>this.socket.removeEventListener("close",c))}onError(c){return this.socket.addEventListener("error",c),t.Disposable.create(()=>this.socket.removeEventListener("error",c))}onEnd(c){return this.socket.addEventListener("end",c),t.Disposable.create(()=>this.socket.removeEventListener("end",c))}onData(c){return this._onData.event(c)}}class r{constructor(c){this.socket=c}onClose(c){return this.socket.addEventListener("close",c),t.Disposable.create(()=>this.socket.removeEventListener("close",c))}onError(c){return this.socket.addEventListener("error",c),t.Disposable.create(()=>this.socket.removeEventListener("error",c))}onEnd(c){return this.socket.addEventListener("end",c),t.Disposable.create(()=>this.socket.removeEventListener("end",c))}write(c,l){if(typeof c=="string"){if(l!==void 0&&l!=="utf-8")throw new Error(`In a Browser environments only utf-8 text encoding is supported. But got encoding: ${l}`);this.socket.send(c)}else this.socket.send(c);return Promise.resolve()}end(){this.socket.close()}}const i=new TextEncoder,s=Object.freeze({messageBuffer:Object.freeze({create:o=>new e(o)}),applicationJson:Object.freeze({encoder:Object.freeze({name:"application/json",encode:(o,c)=>{if(c.charset!=="utf-8")throw new Error(`In a Browser environments only utf-8 text encoding is supported. But got encoding: ${c.charset}`);return Promise.resolve(i.encode(JSON.stringify(o,void 0,0)))}}),decoder:Object.freeze({name:"application/json",decode:(o,c)=>{if(!(o instanceof Uint8Array))throw new Error("In a Browser environments only Uint8Arrays are supported.");return Promise.resolve(JSON.parse(new TextDecoder(c.charset).decode(o)))}})}),stream:Object.freeze({asReadableStream:o=>new n(o),asWritableStream:o=>new r(o)}),console,timer:Object.freeze({setTimeout(o,c,...l){const u=setTimeout(o,c,...l);return{dispose:()=>clearTimeout(u)}},setImmediate(o,...c){const l=setTimeout(o,0,...c);return{dispose:()=>clearTimeout(l)}},setInterval(o,c,...l){const u=setInterval(o,c,...l);return{dispose:()=>clearInterval(u)}}})});function a(){return s}return(function(o){function c(){t.RAL.install(s)}o.install=c})(a||(a={})),Us.default=a,Us}var Mu;function ti(){return Mu||(Mu=1,(function(t){var e=Nn&&Nn.__createBinding||(Object.create?(function(c,l,u,f){f===void 0&&(f=u);var g=Object.getOwnPropertyDescriptor(l,u);(!g||("get"in g?!l.__esModule:g.writable||g.configurable))&&(g={enumerable:!0,get:function(){return l[u]}}),Object.defineProperty(c,f,g)}):(function(c,l,u,f){f===void 0&&(f=u),c[f]=l[u]})),n=Nn&&Nn.__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,gR().default.install();const i=Wc();n(Wc(),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})(Nn)),Nn}var co,Fu;function Gu(){return Fu||(Fu=1,co=ti()),co}var _n={};const kl=xh(pT);var He={},Uu;function Re(){if(Uu)return He;Uu=1,Object.defineProperty(He,"__esModule",{value:!0}),He.ProtocolNotificationType=He.ProtocolNotificationType0=He.ProtocolRequestType=He.ProtocolRequestType0=He.RegistrationType=He.MessageDirection=void 0;const t=ti();var e;(function(o){o.clientToServer="clientToServer",o.serverToClient="serverToClient",o.both="both"})(e||(He.MessageDirection=e={}));class n{constructor(c){this.method=c}}He.RegistrationType=n;class r extends t.RequestType0{constructor(c){super(c)}}He.ProtocolRequestType0=r;class i extends t.RequestType{constructor(c){super(c,t.ParameterStructures.byName)}}He.ProtocolRequestType=i;class s extends t.NotificationType0{constructor(c){super(c)}}He.ProtocolNotificationType0=s;class a extends t.NotificationType{constructor(c){super(c,t.ParameterStructures.byName)}}return He.ProtocolNotificationType=a,He}var lo={},Ne={},qu;function wl(){if(qu)return Ne;qu=1,Object.defineProperty(Ne,"__esModule",{value:!0}),Ne.objectLiteral=Ne.typedArray=Ne.stringArray=Ne.array=Ne.func=Ne.error=Ne.number=Ne.string=Ne.boolean=void 0;function t(l){return l===!0||l===!1}Ne.boolean=t;function e(l){return typeof l=="string"||l instanceof String}Ne.string=e;function n(l){return typeof l=="number"||l instanceof Number}Ne.number=n;function r(l){return l instanceof Error}Ne.error=r;function i(l){return typeof l=="function"}Ne.func=i;function s(l){return Array.isArray(l)}Ne.array=s;function a(l){return s(l)&&l.every(u=>e(u))}Ne.stringArray=a;function o(l,u){return Array.isArray(l)&&l.every(u)}Ne.typedArray=o;function c(l){return l!==null&&typeof l=="object"}return Ne.objectLiteral=c,Ne}var Si={},ju;function yR(){if(ju)return Si;ju=1,Object.defineProperty(Si,"__esModule",{value:!0}),Si.ImplementationRequest=void 0;const t=Re();var e;return(function(n){n.method="textDocument/implementation",n.messageDirection=t.MessageDirection.clientToServer,n.type=new t.ProtocolRequestType(n.method)})(e||(Si.ImplementationRequest=e={})),Si}var Ci={},zu;function TR(){if(zu)return Ci;zu=1,Object.defineProperty(Ci,"__esModule",{value:!0}),Ci.TypeDefinitionRequest=void 0;const t=Re();var e;return(function(n){n.method="textDocument/typeDefinition",n.messageDirection=t.MessageDirection.clientToServer,n.type=new t.ProtocolRequestType(n.method)})(e||(Ci.TypeDefinitionRequest=e={})),Ci}var In={},Bu;function RR(){if(Bu)return In;Bu=1,Object.defineProperty(In,"__esModule",{value:!0}),In.DidChangeWorkspaceFoldersNotification=In.WorkspaceFoldersRequest=void 0;const t=Re();var e;(function(r){r.method="workspace/workspaceFolders",r.messageDirection=t.MessageDirection.serverToClient,r.type=new t.ProtocolRequestType0(r.method)})(e||(In.WorkspaceFoldersRequest=e={}));var n;return(function(r){r.method="workspace/didChangeWorkspaceFolders",r.messageDirection=t.MessageDirection.clientToServer,r.type=new t.ProtocolNotificationType(r.method)})(n||(In.DidChangeWorkspaceFoldersNotification=n={})),In}var ki={},Wu;function vR(){if(Wu)return ki;Wu=1,Object.defineProperty(ki,"__esModule",{value:!0}),ki.ConfigurationRequest=void 0;const t=Re();var e;return(function(n){n.method="workspace/configuration",n.messageDirection=t.MessageDirection.serverToClient,n.type=new t.ProtocolRequestType(n.method)})(e||(ki.ConfigurationRequest=e={})),ki}var Pn={},Vu;function ER(){if(Vu)return Pn;Vu=1,Object.defineProperty(Pn,"__esModule",{value:!0}),Pn.ColorPresentationRequest=Pn.DocumentColorRequest=void 0;const t=Re();var e;(function(r){r.method="textDocument/documentColor",r.messageDirection=t.MessageDirection.clientToServer,r.type=new t.ProtocolRequestType(r.method)})(e||(Pn.DocumentColorRequest=e={}));var n;return(function(r){r.method="textDocument/colorPresentation",r.messageDirection=t.MessageDirection.clientToServer,r.type=new t.ProtocolRequestType(r.method)})(n||(Pn.ColorPresentationRequest=n={})),Pn}var $n={},Ku;function AR(){if(Ku)return $n;Ku=1,Object.defineProperty($n,"__esModule",{value:!0}),$n.FoldingRangeRefreshRequest=$n.FoldingRangeRequest=void 0;const t=Re();var e;(function(r){r.method="textDocument/foldingRange",r.messageDirection=t.MessageDirection.clientToServer,r.type=new t.ProtocolRequestType(r.method)})(e||($n.FoldingRangeRequest=e={}));var n;return(function(r){r.method="workspace/foldingRange/refresh",r.messageDirection=t.MessageDirection.serverToClient,r.type=new t.ProtocolRequestType0(r.method)})(n||($n.FoldingRangeRefreshRequest=n={})),$n}var wi={},Hu;function SR(){if(Hu)return wi;Hu=1,Object.defineProperty(wi,"__esModule",{value:!0}),wi.DeclarationRequest=void 0;const t=Re();var e;return(function(n){n.method="textDocument/declaration",n.messageDirection=t.MessageDirection.clientToServer,n.type=new t.ProtocolRequestType(n.method)})(e||(wi.DeclarationRequest=e={})),wi}var Ni={},Yu;function CR(){if(Yu)return Ni;Yu=1,Object.defineProperty(Ni,"__esModule",{value:!0}),Ni.SelectionRangeRequest=void 0;const t=Re();var e;return(function(n){n.method="textDocument/selectionRange",n.messageDirection=t.MessageDirection.clientToServer,n.type=new t.ProtocolRequestType(n.method)})(e||(Ni.SelectionRangeRequest=e={})),Ni}var qt={},Xu;function kR(){if(Xu)return qt;Xu=1,Object.defineProperty(qt,"__esModule",{value:!0}),qt.WorkDoneProgressCancelNotification=qt.WorkDoneProgressCreateRequest=qt.WorkDoneProgress=void 0;const t=ti(),e=Re();var n;(function(s){s.type=new t.ProgressType;function a(o){return o===s.type}s.is=a})(n||(qt.WorkDoneProgress=n={}));var r;(function(s){s.method="window/workDoneProgress/create",s.messageDirection=e.MessageDirection.serverToClient,s.type=new e.ProtocolRequestType(s.method)})(r||(qt.WorkDoneProgressCreateRequest=r={}));var i;return(function(s){s.method="window/workDoneProgress/cancel",s.messageDirection=e.MessageDirection.clientToServer,s.type=new e.ProtocolNotificationType(s.method)})(i||(qt.WorkDoneProgressCancelNotification=i={})),qt}var jt={},Ju;function wR(){if(Ju)return jt;Ju=1,Object.defineProperty(jt,"__esModule",{value:!0}),jt.CallHierarchyOutgoingCallsRequest=jt.CallHierarchyIncomingCallsRequest=jt.CallHierarchyPrepareRequest=void 0;const t=Re();var e;(function(i){i.method="textDocument/prepareCallHierarchy",i.messageDirection=t.MessageDirection.clientToServer,i.type=new t.ProtocolRequestType(i.method)})(e||(jt.CallHierarchyPrepareRequest=e={}));var n;(function(i){i.method="callHierarchy/incomingCalls",i.messageDirection=t.MessageDirection.clientToServer,i.type=new t.ProtocolRequestType(i.method)})(n||(jt.CallHierarchyIncomingCallsRequest=n={}));var r;return(function(i){i.method="callHierarchy/outgoingCalls",i.messageDirection=t.MessageDirection.clientToServer,i.type=new t.ProtocolRequestType(i.method)})(r||(jt.CallHierarchyOutgoingCallsRequest=r={})),jt}var Ye={},Qu;function NR(){if(Qu)return Ye;Qu=1,Object.defineProperty(Ye,"__esModule",{value:!0}),Ye.SemanticTokensRefreshRequest=Ye.SemanticTokensRangeRequest=Ye.SemanticTokensDeltaRequest=Ye.SemanticTokensRequest=Ye.SemanticTokensRegistrationType=Ye.TokenFormat=void 0;const t=Re();var e;(function(o){o.Relative="relative"})(e||(Ye.TokenFormat=e={}));var n;(function(o){o.method="textDocument/semanticTokens",o.type=new t.RegistrationType(o.method)})(n||(Ye.SemanticTokensRegistrationType=n={}));var r;(function(o){o.method="textDocument/semanticTokens/full",o.messageDirection=t.MessageDirection.clientToServer,o.type=new t.ProtocolRequestType(o.method),o.registrationMethod=n.method})(r||(Ye.SemanticTokensRequest=r={}));var i;(function(o){o.method="textDocument/semanticTokens/full/delta",o.messageDirection=t.MessageDirection.clientToServer,o.type=new t.ProtocolRequestType(o.method),o.registrationMethod=n.method})(i||(Ye.SemanticTokensDeltaRequest=i={}));var s;(function(o){o.method="textDocument/semanticTokens/range",o.messageDirection=t.MessageDirection.clientToServer,o.type=new t.ProtocolRequestType(o.method),o.registrationMethod=n.method})(s||(Ye.SemanticTokensRangeRequest=s={}));var a;return(function(o){o.method="workspace/semanticTokens/refresh",o.messageDirection=t.MessageDirection.serverToClient,o.type=new t.ProtocolRequestType0(o.method)})(a||(Ye.SemanticTokensRefreshRequest=a={})),Ye}var bi={},Zu;function bR(){if(Zu)return bi;Zu=1,Object.defineProperty(bi,"__esModule",{value:!0}),bi.ShowDocumentRequest=void 0;const t=Re();var e;return(function(n){n.method="window/showDocument",n.messageDirection=t.MessageDirection.serverToClient,n.type=new t.ProtocolRequestType(n.method)})(e||(bi.ShowDocumentRequest=e={})),bi}var _i={},ed;function _R(){if(ed)return _i;ed=1,Object.defineProperty(_i,"__esModule",{value:!0}),_i.LinkedEditingRangeRequest=void 0;const t=Re();var e;return(function(n){n.method="textDocument/linkedEditingRange",n.messageDirection=t.MessageDirection.clientToServer,n.type=new t.ProtocolRequestType(n.method)})(e||(_i.LinkedEditingRangeRequest=e={})),_i}var Me={},td;function IR(){if(td)return Me;td=1,Object.defineProperty(Me,"__esModule",{value:!0}),Me.WillDeleteFilesRequest=Me.DidDeleteFilesNotification=Me.DidRenameFilesNotification=Me.WillRenameFilesRequest=Me.DidCreateFilesNotification=Me.WillCreateFilesRequest=Me.FileOperationPatternKind=void 0;const t=Re();var e;(function(c){c.file="file",c.folder="folder"})(e||(Me.FileOperationPatternKind=e={}));var n;(function(c){c.method="workspace/willCreateFiles",c.messageDirection=t.MessageDirection.clientToServer,c.type=new t.ProtocolRequestType(c.method)})(n||(Me.WillCreateFilesRequest=n={}));var r;(function(c){c.method="workspace/didCreateFiles",c.messageDirection=t.MessageDirection.clientToServer,c.type=new t.ProtocolNotificationType(c.method)})(r||(Me.DidCreateFilesNotification=r={}));var i;(function(c){c.method="workspace/willRenameFiles",c.messageDirection=t.MessageDirection.clientToServer,c.type=new t.ProtocolRequestType(c.method)})(i||(Me.WillRenameFilesRequest=i={}));var s;(function(c){c.method="workspace/didRenameFiles",c.messageDirection=t.MessageDirection.clientToServer,c.type=new t.ProtocolNotificationType(c.method)})(s||(Me.DidRenameFilesNotification=s={}));var a;(function(c){c.method="workspace/didDeleteFiles",c.messageDirection=t.MessageDirection.clientToServer,c.type=new t.ProtocolNotificationType(c.method)})(a||(Me.DidDeleteFilesNotification=a={}));var o;return(function(c){c.method="workspace/willDeleteFiles",c.messageDirection=t.MessageDirection.clientToServer,c.type=new t.ProtocolRequestType(c.method)})(o||(Me.WillDeleteFilesRequest=o={})),Me}var zt={},nd;function PR(){if(nd)return zt;nd=1,Object.defineProperty(zt,"__esModule",{value:!0}),zt.MonikerRequest=zt.MonikerKind=zt.UniquenessLevel=void 0;const t=Re();var e;(function(i){i.document="document",i.project="project",i.group="group",i.scheme="scheme",i.global="global"})(e||(zt.UniquenessLevel=e={}));var n;(function(i){i.$import="import",i.$export="export",i.local="local"})(n||(zt.MonikerKind=n={}));var r;return(function(i){i.method="textDocument/moniker",i.messageDirection=t.MessageDirection.clientToServer,i.type=new t.ProtocolRequestType(i.method)})(r||(zt.MonikerRequest=r={})),zt}var Bt={},rd;function $R(){if(rd)return Bt;rd=1,Object.defineProperty(Bt,"__esModule",{value:!0}),Bt.TypeHierarchySubtypesRequest=Bt.TypeHierarchySupertypesRequest=Bt.TypeHierarchyPrepareRequest=void 0;const t=Re();var e;(function(i){i.method="textDocument/prepareTypeHierarchy",i.messageDirection=t.MessageDirection.clientToServer,i.type=new t.ProtocolRequestType(i.method)})(e||(Bt.TypeHierarchyPrepareRequest=e={}));var n;(function(i){i.method="typeHierarchy/supertypes",i.messageDirection=t.MessageDirection.clientToServer,i.type=new t.ProtocolRequestType(i.method)})(n||(Bt.TypeHierarchySupertypesRequest=n={}));var r;return(function(i){i.method="typeHierarchy/subtypes",i.messageDirection=t.MessageDirection.clientToServer,i.type=new t.ProtocolRequestType(i.method)})(r||(Bt.TypeHierarchySubtypesRequest=r={})),Bt}var Ln={},id;function LR(){if(id)return Ln;id=1,Object.defineProperty(Ln,"__esModule",{value:!0}),Ln.InlineValueRefreshRequest=Ln.InlineValueRequest=void 0;const t=Re();var e;(function(r){r.method="textDocument/inlineValue",r.messageDirection=t.MessageDirection.clientToServer,r.type=new t.ProtocolRequestType(r.method)})(e||(Ln.InlineValueRequest=e={}));var n;return(function(r){r.method="workspace/inlineValue/refresh",r.messageDirection=t.MessageDirection.serverToClient,r.type=new t.ProtocolRequestType0(r.method)})(n||(Ln.InlineValueRefreshRequest=n={})),Ln}var Wt={},sd;function OR(){if(sd)return Wt;sd=1,Object.defineProperty(Wt,"__esModule",{value:!0}),Wt.InlayHintRefreshRequest=Wt.InlayHintResolveRequest=Wt.InlayHintRequest=void 0;const t=Re();var e;(function(i){i.method="textDocument/inlayHint",i.messageDirection=t.MessageDirection.clientToServer,i.type=new t.ProtocolRequestType(i.method)})(e||(Wt.InlayHintRequest=e={}));var n;(function(i){i.method="inlayHint/resolve",i.messageDirection=t.MessageDirection.clientToServer,i.type=new t.ProtocolRequestType(i.method)})(n||(Wt.InlayHintResolveRequest=n={}));var r;return(function(i){i.method="workspace/inlayHint/refresh",i.messageDirection=t.MessageDirection.serverToClient,i.type=new t.ProtocolRequestType0(i.method)})(r||(Wt.InlayHintRefreshRequest=r={})),Wt}var ot={},ad;function xR(){if(ad)return ot;ad=1,Object.defineProperty(ot,"__esModule",{value:!0}),ot.DiagnosticRefreshRequest=ot.WorkspaceDiagnosticRequest=ot.DocumentDiagnosticRequest=ot.DocumentDiagnosticReportKind=ot.DiagnosticServerCancellationData=void 0;const t=ti(),e=wl(),n=Re();var r;(function(c){function l(u){const f=u;return f&&e.boolean(f.retriggerRequest)}c.is=l})(r||(ot.DiagnosticServerCancellationData=r={}));var i;(function(c){c.Full="full",c.Unchanged="unchanged"})(i||(ot.DocumentDiagnosticReportKind=i={}));var s;(function(c){c.method="textDocument/diagnostic",c.messageDirection=n.MessageDirection.clientToServer,c.type=new n.ProtocolRequestType(c.method),c.partialResult=new t.ProgressType})(s||(ot.DocumentDiagnosticRequest=s={}));var a;(function(c){c.method="workspace/diagnostic",c.messageDirection=n.MessageDirection.clientToServer,c.type=new n.ProtocolRequestType(c.method),c.partialResult=new t.ProgressType})(a||(ot.WorkspaceDiagnosticRequest=a={}));var o;return(function(c){c.method="workspace/diagnostic/refresh",c.messageDirection=n.MessageDirection.serverToClient,c.type=new n.ProtocolRequestType0(c.method)})(o||(ot.DiagnosticRefreshRequest=o={})),ot}var me={},od;function DR(){if(od)return me;od=1,Object.defineProperty(me,"__esModule",{value:!0}),me.DidCloseNotebookDocumentNotification=me.DidSaveNotebookDocumentNotification=me.DidChangeNotebookDocumentNotification=me.NotebookCellArrayChange=me.DidOpenNotebookDocumentNotification=me.NotebookDocumentSyncRegistrationType=me.NotebookDocument=me.NotebookCell=me.ExecutionSummary=me.NotebookCellKind=void 0;const t=kl,e=wl(),n=Re();var r;(function(h){h.Markup=1,h.Code=2;function E(b){return b===1||b===2}h.is=E})(r||(me.NotebookCellKind=r={}));var i;(function(h){function E(C,w){const k={executionOrder:C};return(w===!0||w===!1)&&(k.success=w),k}h.create=E;function b(C){const w=C;return e.objectLiteral(w)&&t.uinteger.is(w.executionOrder)&&(w.success===void 0||e.boolean(w.success))}h.is=b;function I(C,w){return C===w?!0:C==null||w===null||w===void 0?!1:C.executionOrder===w.executionOrder&&C.success===w.success}h.equals=I})(i||(me.ExecutionSummary=i={}));var s;(function(h){function E(w,k){return{kind:w,document:k}}h.create=E;function b(w){const k=w;return e.objectLiteral(k)&&r.is(k.kind)&&t.DocumentUri.is(k.document)&&(k.metadata===void 0||e.objectLiteral(k.metadata))}h.is=b;function I(w,k){const P=new Set;return w.document!==k.document&&P.add("document"),w.kind!==k.kind&&P.add("kind"),w.executionSummary!==k.executionSummary&&P.add("executionSummary"),(w.metadata!==void 0||k.metadata!==void 0)&&!C(w.metadata,k.metadata)&&P.add("metadata"),(w.executionSummary!==void 0||k.executionSummary!==void 0)&&!i.equals(w.executionSummary,k.executionSummary)&&P.add("executionSummary"),P}h.diff=I;function C(w,k){if(w===k)return!0;if(w==null||k===null||k===void 0||typeof w!=typeof k||typeof w!="object")return!1;const P=Array.isArray(w),H=Array.isArray(k);if(P!==H)return!1;if(P&&H){if(w.length!==k.length)return!1;for(let K=0;K<w.length;K++)if(!C(w[K],k[K]))return!1}if(e.objectLiteral(w)&&e.objectLiteral(k)){const K=Object.keys(w),J=Object.keys(k);if(K.length!==J.length||(K.sort(),J.sort(),!C(K,J)))return!1;for(let oe=0;oe<K.length;oe++){const de=K[oe];if(!C(w[de],k[de]))return!1}}return!0}})(s||(me.NotebookCell=s={}));var a;(function(h){function E(I,C,w,k){return{uri:I,notebookType:C,version:w,cells:k}}h.create=E;function b(I){const C=I;return e.objectLiteral(C)&&e.string(C.uri)&&t.integer.is(C.version)&&e.typedArray(C.cells,s.is)}h.is=b})(a||(me.NotebookDocument=a={}));var o;(function(h){h.method="notebookDocument/sync",h.messageDirection=n.MessageDirection.clientToServer,h.type=new n.RegistrationType(h.method)})(o||(me.NotebookDocumentSyncRegistrationType=o={}));var c;(function(h){h.method="notebookDocument/didOpen",h.messageDirection=n.MessageDirection.clientToServer,h.type=new n.ProtocolNotificationType(h.method),h.registrationMethod=o.method})(c||(me.DidOpenNotebookDocumentNotification=c={}));var l;(function(h){function E(I){const C=I;return e.objectLiteral(C)&&t.uinteger.is(C.start)&&t.uinteger.is(C.deleteCount)&&(C.cells===void 0||e.typedArray(C.cells,s.is))}h.is=E;function b(I,C,w){const k={start:I,deleteCount:C};return w!==void 0&&(k.cells=w),k}h.create=b})(l||(me.NotebookCellArrayChange=l={}));var u;(function(h){h.method="notebookDocument/didChange",h.messageDirection=n.MessageDirection.clientToServer,h.type=new n.ProtocolNotificationType(h.method),h.registrationMethod=o.method})(u||(me.DidChangeNotebookDocumentNotification=u={}));var f;(function(h){h.method="notebookDocument/didSave",h.messageDirection=n.MessageDirection.clientToServer,h.type=new n.ProtocolNotificationType(h.method),h.registrationMethod=o.method})(f||(me.DidSaveNotebookDocumentNotification=f={}));var g;return(function(h){h.method="notebookDocument/didClose",h.messageDirection=n.MessageDirection.clientToServer,h.type=new n.ProtocolNotificationType(h.method),h.registrationMethod=o.method})(g||(me.DidCloseNotebookDocumentNotification=g={})),me}var Ii={},cd;function MR(){if(cd)return Ii;cd=1,Object.defineProperty(Ii,"__esModule",{value:!0}),Ii.InlineCompletionRequest=void 0;const t=Re();var e;return(function(n){n.method="textDocument/inlineCompletion",n.messageDirection=t.MessageDirection.clientToServer,n.type=new t.ProtocolRequestType(n.method)})(e||(Ii.InlineCompletionRequest=e={})),Ii}var ld;function FR(){return ld||(ld=1,(function(t){Object.defineProperty(t,"__esModule",{value:!0}),t.WorkspaceSymbolRequest=t.CodeActionResolveRequest=t.CodeActionRequest=t.DocumentSymbolRequest=t.DocumentHighlightRequest=t.ReferencesRequest=t.DefinitionRequest=t.SignatureHelpRequest=t.SignatureHelpTriggerKind=t.HoverRequest=t.CompletionResolveRequest=t.CompletionRequest=t.CompletionTriggerKind=t.PublishDiagnosticsNotification=t.WatchKind=t.RelativePattern=t.FileChangeType=t.DidChangeWatchedFilesNotification=t.WillSaveTextDocumentWaitUntilRequest=t.WillSaveTextDocumentNotification=t.TextDocumentSaveReason=t.DidSaveTextDocumentNotification=t.DidCloseTextDocumentNotification=t.DidChangeTextDocumentNotification=t.TextDocumentContentChangeEvent=t.DidOpenTextDocumentNotification=t.TextDocumentSyncKind=t.TelemetryEventNotification=t.LogMessageNotification=t.ShowMessageRequest=t.ShowMessageNotification=t.MessageType=t.DidChangeConfigurationNotification=t.ExitNotification=t.ShutdownRequest=t.InitializedNotification=t.InitializeErrorCodes=t.InitializeRequest=t.WorkDoneProgressOptions=t.TextDocumentRegistrationOptions=t.StaticRegistrationOptions=t.PositionEncodingKind=t.FailureHandlingKind=t.ResourceOperationKind=t.UnregistrationRequest=t.RegistrationRequest=t.DocumentSelector=t.NotebookCellTextDocumentFilter=t.NotebookDocumentFilter=t.TextDocumentFilter=void 0,t.MonikerRequest=t.MonikerKind=t.UniquenessLevel=t.WillDeleteFilesRequest=t.DidDeleteFilesNotification=t.WillRenameFilesRequest=t.DidRenameFilesNotification=t.WillCreateFilesRequest=t.DidCreateFilesNotification=t.FileOperationPatternKind=t.LinkedEditingRangeRequest=t.ShowDocumentRequest=t.SemanticTokensRegistrationType=t.SemanticTokensRefreshRequest=t.SemanticTokensRangeRequest=t.SemanticTokensDeltaRequest=t.SemanticTokensRequest=t.TokenFormat=t.CallHierarchyPrepareRequest=t.CallHierarchyOutgoingCallsRequest=t.CallHierarchyIncomingCallsRequest=t.WorkDoneProgressCancelNotification=t.WorkDoneProgressCreateRequest=t.WorkDoneProgress=t.SelectionRangeRequest=t.DeclarationRequest=t.FoldingRangeRefreshRequest=t.FoldingRangeRequest=t.ColorPresentationRequest=t.DocumentColorRequest=t.ConfigurationRequest=t.DidChangeWorkspaceFoldersNotification=t.WorkspaceFoldersRequest=t.TypeDefinitionRequest=t.ImplementationRequest=t.ApplyWorkspaceEditRequest=t.ExecuteCommandRequest=t.PrepareRenameRequest=t.RenameRequest=t.PrepareSupportDefaultBehavior=t.DocumentOnTypeFormattingRequest=t.DocumentRangesFormattingRequest=t.DocumentRangeFormattingRequest=t.DocumentFormattingRequest=t.DocumentLinkResolveRequest=t.DocumentLinkRequest=t.CodeLensRefreshRequest=t.CodeLensResolveRequest=t.CodeLensRequest=t.WorkspaceSymbolResolveRequest=void 0,t.InlineCompletionRequest=t.DidCloseNotebookDocumentNotification=t.DidSaveNotebookDocumentNotification=t.DidChangeNotebookDocumentNotification=t.NotebookCellArrayChange=t.DidOpenNotebookDocumentNotification=t.NotebookDocumentSyncRegistrationType=t.NotebookDocument=t.NotebookCell=t.ExecutionSummary=t.NotebookCellKind=t.DiagnosticRefreshRequest=t.WorkspaceDiagnosticRequest=t.DocumentDiagnosticRequest=t.DocumentDiagnosticReportKind=t.DiagnosticServerCancellationData=t.InlayHintRefreshRequest=t.InlayHintResolveRequest=t.InlayHintRequest=t.InlineValueRefreshRequest=t.InlineValueRequest=t.TypeHierarchySupertypesRequest=t.TypeHierarchySubtypesRequest=t.TypeHierarchyPrepareRequest=void 0;const e=Re(),n=kl,r=wl(),i=yR();Object.defineProperty(t,"ImplementationRequest",{enumerable:!0,get:function(){return i.ImplementationRequest}});const s=TR();Object.defineProperty(t,"TypeDefinitionRequest",{enumerable:!0,get:function(){return s.TypeDefinitionRequest}});const a=RR();Object.defineProperty(t,"WorkspaceFoldersRequest",{enumerable:!0,get:function(){return a.WorkspaceFoldersRequest}}),Object.defineProperty(t,"DidChangeWorkspaceFoldersNotification",{enumerable:!0,get:function(){return a.DidChangeWorkspaceFoldersNotification}});const o=vR();Object.defineProperty(t,"ConfigurationRequest",{enumerable:!0,get:function(){return o.ConfigurationRequest}});const c=ER();Object.defineProperty(t,"DocumentColorRequest",{enumerable:!0,get:function(){return c.DocumentColorRequest}}),Object.defineProperty(t,"ColorPresentationRequest",{enumerable:!0,get:function(){return c.ColorPresentationRequest}});const l=AR();Object.defineProperty(t,"FoldingRangeRequest",{enumerable:!0,get:function(){return l.FoldingRangeRequest}}),Object.defineProperty(t,"FoldingRangeRefreshRequest",{enumerable:!0,get:function(){return l.FoldingRangeRefreshRequest}});const u=SR();Object.defineProperty(t,"DeclarationRequest",{enumerable:!0,get:function(){return u.DeclarationRequest}});const f=CR();Object.defineProperty(t,"SelectionRangeRequest",{enumerable:!0,get:function(){return f.SelectionRangeRequest}});const g=kR();Object.defineProperty(t,"WorkDoneProgress",{enumerable:!0,get:function(){return g.WorkDoneProgress}}),Object.defineProperty(t,"WorkDoneProgressCreateRequest",{enumerable:!0,get:function(){return g.WorkDoneProgressCreateRequest}}),Object.defineProperty(t,"WorkDoneProgressCancelNotification",{enumerable:!0,get:function(){return g.WorkDoneProgressCancelNotification}});const h=wR();Object.defineProperty(t,"CallHierarchyIncomingCallsRequest",{enumerable:!0,get:function(){return h.CallHierarchyIncomingCallsRequest}}),Object.defineProperty(t,"CallHierarchyOutgoingCallsRequest",{enumerable:!0,get:function(){return h.CallHierarchyOutgoingCallsRequest}}),Object.defineProperty(t,"CallHierarchyPrepareRequest",{enumerable:!0,get:function(){return h.CallHierarchyPrepareRequest}});const E=NR();Object.defineProperty(t,"TokenFormat",{enumerable:!0,get:function(){return E.TokenFormat}}),Object.defineProperty(t,"SemanticTokensRequest",{enumerable:!0,get:function(){return E.SemanticTokensRequest}}),Object.defineProperty(t,"SemanticTokensDeltaRequest",{enumerable:!0,get:function(){return E.SemanticTokensDeltaRequest}}),Object.defineProperty(t,"SemanticTokensRangeRequest",{enumerable:!0,get:function(){return E.SemanticTokensRangeRequest}}),Object.defineProperty(t,"SemanticTokensRefreshRequest",{enumerable:!0,get:function(){return E.SemanticTokensRefreshRequest}}),Object.defineProperty(t,"SemanticTokensRegistrationType",{enumerable:!0,get:function(){return E.SemanticTokensRegistrationType}});const b=bR();Object.defineProperty(t,"ShowDocumentRequest",{enumerable:!0,get:function(){return b.ShowDocumentRequest}});const I=_R();Object.defineProperty(t,"LinkedEditingRangeRequest",{enumerable:!0,get:function(){return I.LinkedEditingRangeRequest}});const C=IR();Object.defineProperty(t,"FileOperationPatternKind",{enumerable:!0,get:function(){return C.FileOperationPatternKind}}),Object.defineProperty(t,"DidCreateFilesNotification",{enumerable:!0,get:function(){return C.DidCreateFilesNotification}}),Object.defineProperty(t,"WillCreateFilesRequest",{enumerable:!0,get:function(){return C.WillCreateFilesRequest}}),Object.defineProperty(t,"DidRenameFilesNotification",{enumerable:!0,get:function(){return C.DidRenameFilesNotification}}),Object.defineProperty(t,"WillRenameFilesRequest",{enumerable:!0,get:function(){return C.WillRenameFilesRequest}}),Object.defineProperty(t,"DidDeleteFilesNotification",{enumerable:!0,get:function(){return C.DidDeleteFilesNotification}}),Object.defineProperty(t,"WillDeleteFilesRequest",{enumerable:!0,get:function(){return C.WillDeleteFilesRequest}});const w=PR();Object.defineProperty(t,"UniquenessLevel",{enumerable:!0,get:function(){return w.UniquenessLevel}}),Object.defineProperty(t,"MonikerKind",{enumerable:!0,get:function(){return w.MonikerKind}}),Object.defineProperty(t,"MonikerRequest",{enumerable:!0,get:function(){return w.MonikerRequest}});const k=$R();Object.defineProperty(t,"TypeHierarchyPrepareRequest",{enumerable:!0,get:function(){return k.TypeHierarchyPrepareRequest}}),Object.defineProperty(t,"TypeHierarchySubtypesRequest",{enumerable:!0,get:function(){return k.TypeHierarchySubtypesRequest}}),Object.defineProperty(t,"TypeHierarchySupertypesRequest",{enumerable:!0,get:function(){return k.TypeHierarchySupertypesRequest}});const P=LR();Object.defineProperty(t,"InlineValueRequest",{enumerable:!0,get:function(){return P.InlineValueRequest}}),Object.defineProperty(t,"InlineValueRefreshRequest",{enumerable:!0,get:function(){return P.InlineValueRefreshRequest}});const H=OR();Object.defineProperty(t,"InlayHintRequest",{enumerable:!0,get:function(){return H.InlayHintRequest}}),Object.defineProperty(t,"InlayHintResolveRequest",{enumerable:!0,get:function(){return H.InlayHintResolveRequest}}),Object.defineProperty(t,"InlayHintRefreshRequest",{enumerable:!0,get:function(){return H.InlayHintRefreshRequest}});const K=xR();Object.defineProperty(t,"DiagnosticServerCancellationData",{enumerable:!0,get:function(){return K.DiagnosticServerCancellationData}}),Object.defineProperty(t,"DocumentDiagnosticReportKind",{enumerable:!0,get:function(){return K.DocumentDiagnosticReportKind}}),Object.defineProperty(t,"DocumentDiagnosticRequest",{enumerable:!0,get:function(){return K.DocumentDiagnosticRequest}}),Object.defineProperty(t,"WorkspaceDiagnosticRequest",{enumerable:!0,get:function(){return K.WorkspaceDiagnosticRequest}}),Object.defineProperty(t,"DiagnosticRefreshRequest",{enumerable:!0,get:function(){return K.DiagnosticRefreshRequest}});const J=DR();Object.defineProperty(t,"NotebookCellKind",{enumerable:!0,get:function(){return J.NotebookCellKind}}),Object.defineProperty(t,"ExecutionSummary",{enumerable:!0,get:function(){return J.ExecutionSummary}}),Object.defineProperty(t,"NotebookCell",{enumerable:!0,get:function(){return J.NotebookCell}}),Object.defineProperty(t,"NotebookDocument",{enumerable:!0,get:function(){return J.NotebookDocument}}),Object.defineProperty(t,"NotebookDocumentSyncRegistrationType",{enumerable:!0,get:function(){return J.NotebookDocumentSyncRegistrationType}}),Object.defineProperty(t,"DidOpenNotebookDocumentNotification",{enumerable:!0,get:function(){return J.DidOpenNotebookDocumentNotification}}),Object.defineProperty(t,"NotebookCellArrayChange",{enumerable:!0,get:function(){return J.NotebookCellArrayChange}}),Object.defineProperty(t,"DidChangeNotebookDocumentNotification",{enumerable:!0,get:function(){return J.DidChangeNotebookDocumentNotification}}),Object.defineProperty(t,"DidSaveNotebookDocumentNotification",{enumerable:!0,get:function(){return J.DidSaveNotebookDocumentNotification}}),Object.defineProperty(t,"DidCloseNotebookDocumentNotification",{enumerable:!0,get:function(){return J.DidCloseNotebookDocumentNotification}});const oe=MR();Object.defineProperty(t,"InlineCompletionRequest",{enumerable:!0,get:function(){return oe.InlineCompletionRequest}});var de;(function(d){function Ce(ke){const V=ke;return r.string(V)||r.string(V.language)||r.string(V.scheme)||r.string(V.pattern)}d.is=Ce})(de||(t.TextDocumentFilter=de={}));var fe;(function(d){function Ce(ke){const V=ke;return r.objectLiteral(V)&&(r.string(V.notebookType)||r.string(V.scheme)||r.string(V.pattern))}d.is=Ce})(fe||(t.NotebookDocumentFilter=fe={}));var _;(function(d){function Ce(ke){const V=ke;return r.objectLiteral(V)&&(r.string(V.notebook)||fe.is(V.notebook))&&(V.language===void 0||r.string(V.language))}d.is=Ce})(_||(t.NotebookCellTextDocumentFilter=_={}));var R;(function(d){function Ce(ke){if(!Array.isArray(ke))return!1;for(let V of ke)if(!r.string(V)&&!de.is(V)&&!_.is(V))return!1;return!0}d.is=Ce})(R||(t.DocumentSelector=R={}));var m;(function(d){d.method="client/registerCapability",d.messageDirection=e.MessageDirection.serverToClient,d.type=new e.ProtocolRequestType(d.method)})(m||(t.RegistrationRequest=m={}));var 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 A;(function(d){d.UTF8="utf-8",d.UTF16="utf-16",d.UTF32="utf-32"})(A||(t.PositionEncodingKind=A={}));var O;(function(d){function Ce(ke){const V=ke;return V&&r.string(V.id)&&V.id.length>0}d.hasId=Ce})(O||(t.StaticRegistrationOptions=O={}));var D;(function(d){function Ce(ke){const V=ke;return V&&(V.documentSelector===null||R.is(V.documentSelector))}d.is=Ce})(D||(t.TextDocumentRegistrationOptions=D={}));var x;(function(d){function Ce(V){const p=V;return r.objectLiteral(p)&&(p.workDoneProgress===void 0||r.boolean(p.workDoneProgress))}d.is=Ce;function ke(V){const p=V;return p&&r.boolean(p.workDoneProgress)}d.hasWorkDoneProgress=ke})(x||(t.WorkDoneProgressOptions=x={}));var j;(function(d){d.method="initialize",d.messageDirection=e.MessageDirection.clientToServer,d.type=new e.ProtocolRequestType(d.method)})(j||(t.InitializeRequest=j={}));var G;(function(d){d.unknownProtocolVersion=1})(G||(t.InitializeErrorCodes=G={}));var ie;(function(d){d.method="initialized",d.messageDirection=e.MessageDirection.clientToServer,d.type=new e.ProtocolNotificationType(d.method)})(ie||(t.InitializedNotification=ie={}));var B;(function(d){d.method="shutdown",d.messageDirection=e.MessageDirection.clientToServer,d.type=new e.ProtocolRequestType0(d.method)})(B||(t.ShutdownRequest=B={}));var ne;(function(d){d.method="exit",d.messageDirection=e.MessageDirection.clientToServer,d.type=new e.ProtocolNotificationType0(d.method)})(ne||(t.ExitNotification=ne={}));var Oe;(function(d){d.method="workspace/didChangeConfiguration",d.messageDirection=e.MessageDirection.clientToServer,d.type=new e.ProtocolNotificationType(d.method)})(Oe||(t.DidChangeConfigurationNotification=Oe={}));var ve;(function(d){d.Error=1,d.Warning=2,d.Info=3,d.Log=4,d.Debug=5})(ve||(t.MessageType=ve={}));var he;(function(d){d.method="window/showMessage",d.messageDirection=e.MessageDirection.serverToClient,d.type=new e.ProtocolNotificationType(d.method)})(he||(t.ShowMessageNotification=he={}));var Ie;(function(d){d.method="window/showMessageRequest",d.messageDirection=e.MessageDirection.serverToClient,d.type=new e.ProtocolRequestType(d.method)})(Ie||(t.ShowMessageRequest=Ie={}));var xe;(function(d){d.method="window/logMessage",d.messageDirection=e.MessageDirection.serverToClient,d.type=new e.ProtocolNotificationType(d.method)})(xe||(t.LogMessageNotification=xe={}));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 Z;(function(d){d.None=0,d.Full=1,d.Incremental=2})(Z||(t.TextDocumentSyncKind=Z={}));var at;(function(d){d.method="textDocument/didOpen",d.messageDirection=e.MessageDirection.clientToServer,d.type=new e.ProtocolNotificationType(d.method)})(at||(t.DidOpenTextDocumentNotification=at={}));var Ee;(function(d){function Ce(V){let p=V;return p!=null&&typeof p.text=="string"&&p.range!==void 0&&(p.rangeLength===void 0||typeof p.rangeLength=="number")}d.isIncremental=Ce;function ke(V){let p=V;return p!=null&&typeof p.text=="string"&&p.range===void 0&&p.rangeLength===void 0}d.isFull=ke})(Ee||(t.TextDocumentContentChangeEvent=Ee={}));var Tt;(function(d){d.method="textDocument/didChange",d.messageDirection=e.MessageDirection.clientToServer,d.type=new e.ProtocolNotificationType(d.method)})(Tt||(t.DidChangeTextDocumentNotification=Tt={}));var tr;(function(d){d.method="textDocument/didClose",d.messageDirection=e.MessageDirection.clientToServer,d.type=new e.ProtocolNotificationType(d.method)})(tr||(t.DidCloseTextDocumentNotification=tr={}));var ni;(function(d){d.method="textDocument/didSave",d.messageDirection=e.MessageDirection.clientToServer,d.type=new e.ProtocolNotificationType(d.method)})(ni||(t.DidSaveTextDocumentNotification=ni={}));var ri;(function(d){d.Manual=1,d.AfterDelay=2,d.FocusOut=3})(ri||(t.TextDocumentSaveReason=ri={}));var ii;(function(d){d.method="textDocument/willSave",d.messageDirection=e.MessageDirection.clientToServer,d.type=new e.ProtocolNotificationType(d.method)})(ii||(t.WillSaveTextDocumentNotification=ii={}));var si;(function(d){d.method="textDocument/willSaveWaitUntil",d.messageDirection=e.MessageDirection.clientToServer,d.type=new e.ProtocolRequestType(d.method)})(si||(t.WillSaveTextDocumentWaitUntilRequest=si={}));var Rt;(function(d){d.method="workspace/didChangeWatchedFiles",d.messageDirection=e.MessageDirection.clientToServer,d.type=new e.ProtocolNotificationType(d.method)})(Rt||(t.DidChangeWatchedFilesNotification=Rt={}));var ai;(function(d){d.Created=1,d.Changed=2,d.Deleted=3})(ai||(t.FileChangeType=ai={}));var hs;(function(d){function Ce(ke){const V=ke;return r.objectLiteral(V)&&(n.URI.is(V.baseUri)||n.WorkspaceFolder.is(V.baseUri))&&r.string(V.pattern)}d.is=Ce})(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 oi;(function(d){d.method="textDocument/completion",d.messageDirection=e.MessageDirection.clientToServer,d.type=new e.ProtocolRequestType(d.method)})(oi||(t.CompletionRequest=oi={}));var ci;(function(d){d.method="completionItem/resolve",d.messageDirection=e.MessageDirection.clientToServer,d.type=new e.ProtocolRequestType(d.method)})(ci||(t.CompletionResolveRequest=ci={}));var Dt;(function(d){d.method="textDocument/hover",d.messageDirection=e.MessageDirection.clientToServer,d.type=new e.ProtocolRequestType(d.method)})(Dt||(t.HoverRequest=Dt={}));var li;(function(d){d.Invoked=1,d.TriggerCharacter=2,d.ContentChange=3})(li||(t.SignatureHelpTriggerKind=li={}));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 ui;(function(d){d.method="textDocument/references",d.messageDirection=e.MessageDirection.clientToServer,d.type=new e.ProtocolRequestType(d.method)})(ui||(t.ReferencesRequest=ui={}));var di;(function(d){d.method="textDocument/documentHighlight",d.messageDirection=e.MessageDirection.clientToServer,d.type=new e.ProtocolRequestType(d.method)})(di||(t.DocumentHighlightRequest=di={}));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 vt;(function(d){d.method="codeLens/resolve",d.messageDirection=e.MessageDirection.clientToServer,d.type=new e.ProtocolRequestType(d.method)})(vt||(t.CodeLensResolveRequest=vt={}));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 ws;(function(d){d.method="textDocument/documentLink",d.messageDirection=e.MessageDirection.clientToServer,d.type=new e.ProtocolRequestType(d.method)})(ws||(t.DocumentLinkRequest=ws={}));var En;(function(d){d.method="documentLink/resolve",d.messageDirection=e.MessageDirection.clientToServer,d.type=new e.ProtocolRequestType(d.method)})(En||(t.DocumentLinkResolveRequest=En={}));var Ns;(function(d){d.method="textDocument/formatting",d.messageDirection=e.MessageDirection.clientToServer,d.type=new e.ProtocolRequestType(d.method)})(Ns||(t.DocumentFormattingRequest=Ns={}));var nr;(function(d){d.method="textDocument/rangeFormatting",d.messageDirection=e.MessageDirection.clientToServer,d.type=new e.ProtocolRequestType(d.method)})(nr||(t.DocumentRangeFormattingRequest=nr={}));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 Mt;(function(d){d.method="textDocument/onTypeFormatting",d.messageDirection=e.MessageDirection.clientToServer,d.type=new e.ProtocolRequestType(d.method)})(Mt||(t.DocumentOnTypeFormattingRequest=Mt={}));var on;(function(d){d.Identifier=1})(on||(t.PrepareSupportDefaultBehavior=on={}));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 cn;(function(d){d.method="workspace/executeCommand",d.messageDirection=e.MessageDirection.clientToServer,d.type=new e.ProtocolRequestType(d.method)})(cn||(t.ExecuteCommandRequest=cn={}));var fi;(function(d){d.method="workspace/applyEdit",d.messageDirection=e.MessageDirection.serverToClient,d.type=new e.ProtocolRequestType("workspace/applyEdit")})(fi||(t.ApplyWorkspaceEditRequest=fi={}))})(lo)),lo}var Pi={},ud;function GR(){if(ud)return Pi;ud=1,Object.defineProperty(Pi,"__esModule",{value:!0}),Pi.createProtocolConnection=void 0;const t=ti();function e(n,r,i,s){return t.ConnectionStrategy.is(s)&&(s={connectionStrategy:s}),(0,t.createMessageConnection)(n,r,i,s)}return Pi.createProtocolConnection=e,Pi}var dd;function UR(){return dd||(dd=1,(function(t){var e=_n&&_n.__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=_n&&_n.__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(ti(),t),n(kl,t),n(Re(),t),n(FR(),t);var r=GR();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={}))})(_n)),_n}var fd;function qR(){return fd||(fd=1,(function(t){var e=wn&&wn.__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=wn&&wn.__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=Gu();n(Gu(),t),n(UR(),t);function i(s,a,o,c){return(0,r.createMessageConnection)(s,a,o,c)}t.createProtocolConnection=i})(wn)),wn}var qs=qR(),zi;(function(t){function e(n){return{dispose:async()=>await n()}}t.create=e})(zi||(zi={}));class jR{constructor(e){this.updateBuildOptions={validation:{categories:["built-in","fast"]}},this.updateListeners=[],this.buildPhaseListeners=new ts,this.documentPhaseListeners=new ts,this.buildState=new Map,this.documentBuildWaiters=new Map,this.currentState=Y.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=Te.CancellationToken.None){var i;for(const s of e){const a=s.uri.toString();if(s.state===Y.Validated){if(typeof n.validation=="boolean"&&n.validation)this.resetToState(s,Y.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=Y.IndexedReferences)}}else this.buildState.delete(a)}this.currentState=Y.Changed,await this.emitUpdate(e.map(s=>s.uri),[]),await this.buildDocuments(e,n,r)}async update(e,n,r=Te.CancellationToken.None){this.currentState=Y.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=Y.Changed,this.langiumDocuments.addDocument(l)),this.resetToState(l,Y.Changed)}const a=ge(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,Y.ComputedScopes)),await this.emitUpdate(s,i),await Xe(r);const o=this.sortDocuments(this.langiumDocuments.all.filter(c=>{var l;return c.state<Y.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 ge(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 Y.Changed:case Y.Parsed:this.indexManager.removeContent(e.uri);case Y.IndexedContent:e.localSymbols=void 0;case Y.ComputedScopes:this.serviceRegistry.getServices(e.uri).references.Linker.unlink(e);case Y.Linked:this.indexManager.removeReferences(e.uri);case Y.IndexedReferences:e.diagnostics=void 0,this.buildState.delete(e.uri.toString());case Y.Validated:}e.state>n&&(e.state=n)}cleanUpDeleted(e){this.buildState.delete(e.uri.toString()),this.indexManager.remove(e.uri),e.state=Y.Changed}async buildDocuments(e,n,r){this.prepareBuild(e,n),await this.runCancelable(e,Y.Parsed,r,a=>this.langiumDocumentFactory.update(a,r)),await this.runCancelable(e,Y.IndexedContent,r,a=>this.indexManager.updateContent(a,r)),await this.runCancelable(e,Y.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,Y.Linked,r,a=>this.serviceRegistry.getServices(a.uri).references.Linker.link(a,r)),await this.runCancelable(i,Y.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,Y.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 Xe(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=Te.CancellationToken.None),i?this.awaitDocumentState(e,i,r):this.awaitBuilderState(e,r)}awaitDocumentState(e,n,r){const i=this.langiumDocuments.getDocument(n);if(i){if(i.state>=e)return Promise.resolve(n);if(r.isCancellationRequested)return Promise.reject(Sr);if(this.currentState>=e&&e>i.state)return Promise.reject(new qs.ResponseError(qs.LSPErrorCodes.RequestFailed,`Document state of ${n.toString()} is ${Y[i.state]}, requiring ${Y[e]}, but workspace state is already ${Y[this.currentState]}. Returning undefined.`))}else return Promise.reject(new qs.ResponseError(qs.LSPErrorCodes.ServerCancelled,`No document found for URI: ${n.toString()}`));return new Promise((s,a)=>{const o=this.onDocumentPhase(e,l=>{ut.equals(l.uri,n)&&(o.dispose(),c.dispose(),s(l.uri))}),c=r.onCancellationRequested(()=>{o.dispose(),c.dispose(),a(Sr)})})}awaitBuilderState(e,n){return this.currentState>=e?Promise.resolve():n.isCancellationRequested?Promise.reject(Sr):new Promise((r,i)=>{const s=this.onBuildPhase(e,()=>{s.dispose(),a.dispose(),r()}),a=n.onCancellationRequested(()=>{s.dispose(),a.dispose(),i(Sr)})})}async notifyDocumentPhase(e,n,r){const s=this.documentPhaseListeners.get(n).slice();for(const a of s)try{await Xe(r),await a(e,r)}catch(o){if(!Wa(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 Xe(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=ge(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 zR{constructor(e){this.symbolIndex=new Map,this.symbolByTypeIndex=new HT,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=>{ut.equals(a.targetUri,r)&&a.targetPath===n&&i.push(a)})}),ge(i)}allElements(e,n){let r=ge(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=Te.CancellationToken.None){const i=await this.serviceRegistry.getServices(e.uri).references.ScopeComputation.collectExportedSymbols(e,n),s=e.uri.toString();this.symbolIndex.set(s,i),this.symbolByTypeIndex.clear(s)}async updateReferences(e,n=Te.CancellationToken.None){const i=await this.serviceRegistry.getServices(e.uri).workspace.ReferenceDescriptionProvider.createDescriptions(e,n);this.referenceIndex.set(e.uri.toString(),i)}isAffected(e,n){const r=this.referenceIndex.get(e.uri.toString());return r?r.some(i=>!i.local&&n.has(i.targetUri.toString())):!1}}class BR{constructor(e){this.initialBuildOptions={},this._ready=new Cl,this.serviceRegistry=e.ServiceRegistry,this.langiumDocuments=e.workspace.LangiumDocuments,this.documentBuilder=e.workspace.DocumentBuilder,this.fileSystemProvider=e.workspace.FileSystemProvider,this.mutex=e.workspace.WorkspaceLock}get ready(){return this._ready.promise}get workspaceFolders(){return this.folders}initialize(e){this.folders=e.workspaceFolders??void 0}initialized(e){return this.mutex.write(n=>this.initializeWorkspace(this.folders??[],n))}async initializeWorkspace(e,n=Te.CancellationToken.None){const r=await this.performStartup(e);await Xe(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=ge(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 kt.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{}}async searchFolder(e){const n=[];return await this.traverseFolder(e,n),n}shouldIncludeEntry(e){const n=ut.basename(e.uri);return n.startsWith(".")?!1:e.isDirectory?n!=="node_modules"&&n!=="out":e.isFile?this.serviceRegistry.hasServices(e.uri):!1}}class WR{buildUnexpectedCharactersMessage(e,n,r,i,s){return Po.buildUnexpectedCharactersMessage(e,n,r,i,s)}buildUnableToPopLexerModeMessage(e){return Po.buildUnableToPopLexerModeMessage(e)}}const VR={mode:"full"};class KR{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=hd(n)?Object.values(n):n,i=e.LanguageMetaData.mode==="production";this.chevrotainLexer=new tt(r,{positionTracking:"full",skipValidations:i,errorMessageProvider:this.errorMessageProvider})}get definition(){return this.tokenTypes}tokenize(e,n=VR){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(hd(e))return e;const n=lh(e)?Object.values(e.modes).flat():e,r={};return n.forEach(i=>r[i.name]=i),r}}function HR(t){return Array.isArray(t)&&(t.length===0||"name"in t[0])}function lh(t){return t&&"modes"in t&&"defaultMode"in t}function hd(t){return!HR(t)&&!lh(t)}function YR(t,e,n){let r,i;typeof t=="string"?(i=e,r=n):(i=t.range.start,r=e),i||(i=te.create(0,0));const s=uh(t),a=Nl(r),o=QR({lines:s,position:i,options:a});return rv({index:0,tokens:o,position:i})}function XR(t,e){const n=Nl(e),r=uh(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 uh(t){let e="";return typeof t=="string"?e=t:e=t.text,e.split(Qp)}const pd=/\s*(@([\p{L}][\p{L}\p{N}]*)?)/uy,JR=/\{(@[\p{L}][\p{L}\p{N}]*)(\s*)([^\r\n}]+)?\}/gu;function QR(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 h=(i=t.options.start)==null?void 0:i.exec(u);h&&(f=h.index+h[0].length)}else{const h=(s=t.options.line)==null?void 0:s.exec(u);h&&(f=h.index+h[0].length)}if(l){const h=(a=t.options.end)==null?void 0:a.exec(u);h&&(u=u.substring(0,h.index))}if(u=u.substring(0,nv(u)),Vc(u,f)>=u.length){if(e.length>0){const h=te.create(n,r);e.push({type:"break",content:"",range:X.create(h,h)})}}else{pd.lastIndex=f;const h=pd.exec(u);if(h){const E=h[0],b=h[1],I=te.create(n,r+f),C=te.create(n,r+f+E.length);e.push({type:"tag",content:b,range:X.create(I,C)}),f+=E.length,f=Vc(u,f)}if(f<u.length){const E=u.substring(f),b=Array.from(E.matchAll(JR));e.push(...ZR(b,E,n,r+f))}}n++,r=0}return e.length>0&&e[e.length-1].type==="break"?e.slice(0,-1):e}function ZR(t,e,n,r){const i=[];if(t.length===0){const s=te.create(n,r),a=te.create(n,r+e.length);i.push({type:"text",content:e,range:X.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:X.create(te.create(n,s+r),te.create(n,c+r))});let u=l.length+1;const f=o[1];if(i.push({type:"inline-tag",content:f,range:X.create(te.create(n,s+u+r),te.create(n,s+u+f.length+r))}),u+=f.length,o.length===4){u+=o[2].length;const g=o[3];i.push({type:"text",content:g,range:X.create(te.create(n,s+u+r),te.create(n,s+u+g.length+r))})}else i.push({type:"text",content:"",range:X.create(te.create(n,s+u+r),te.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:X.create(te.create(n,s+r),te.create(n,s+r+a.length))})}return i}const ev=/\S/,tv=/\s*$/;function Vc(t,e){const n=t.substring(e).match(ev);return n?e+n.index:t.length}function nv(t){const e=t.match(tv);if(e&&typeof e.index=="number")return e.index}function rv(t){var s,a;const e=te.create(t.position.line,t.position.character);if(t.tokens.length===0)return new md([],X.create(e,e));const n=[];for(;t.index<t.tokens.length;){const o=iv(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 md(n,X.create(r,i))}function iv(t,e){const n=t.tokens[t.index];if(n.type==="tag")return fh(t,!1);if(n.type==="text"||n.type==="inline-tag")return dh(t);sv(n,e),t.index++}function sv(t,e){if(e){const n=new ph("",t.range);"inlines"in e?e.inlines.push(n):e.content.inlines.push(n)}}function dh(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(av(t)),r=e,e=t.tokens[t.index];return new Kc(i,X.create(n.range.start,r.range.end))}function av(t){return t.tokens[t.index].type==="inline-tag"?fh(t,!0):hh(t)}function fh(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=hh(t);return new fo(r,new Kc([s],s.range),e,X.create(n.range.start,s.range.end))}else{const s=dh(t);return new fo(r,s,e,X.create(n.range.start,s.range.end))}else{const s=n.range;return new fo(r,new Kc([],s),e,s)}}function hh(t){const e=t.tokens[t.index++];return new ph(e.content,e.range)}function Nl(t){if(!t)return Nl({start:"/**",end:"*/",line:"*"});const{start:e,end:n,line:r}=t;return{start:uo(e,!0),end:uo(n,!1),line:uo(r,!0)}}function uo(t,e){if(typeof t=="string"||typeof t=="object"){const n=typeof t=="string"?Da(t):t.source;return e?new RegExp(`^\\s*${n}`):new RegExp(`\\s*${n}\\s*$`)}else return t}class md{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+=gd(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+=gd(n)+i}return n.trim()}}class fo{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}
144
+ ${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=ov(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}
145
+ ${n}`),this.inline?`{${i}}`:i}}function ov(t,e,n){var r;if(t==="linkplain"||t==="linkcode"||t==="link"){const i=e.indexOf(" ");let s=e;if(i>0){const o=Vc(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))??cv(e,s)}}function cv(t,e){try{return kt.parse(t,!0),`[${e}](${t})`}catch{return t}}class Kc{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+=`
146
+ `)}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+=`
147
+ `)}return n}}class ph{constructor(e,n){this.text=e,this.range=n}toString(){return this.text}toMarkdown(){return this.text}}function gd(t){return t.endsWith(`
148
+ `)?`
149
+ `:`
150
+
151
+ `}class lv{constructor(e){this.indexManager=e.shared.workspace.IndexManager,this.commentProvider=e.documentation.CommentProvider}getDocumentation(e){const n=this.commentProvider.getComment(e);if(n&&XR(n))return YR(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 uv{constructor(e){this.grammarConfig=()=>e.parser.GrammarConfig}getComment(e){var n;return JT(e)?e.$comment:(n=Kp(e.$cstNode,this.grammarConfig().multilineCommentRules))==null?void 0:n.text}}class dv{constructor(e){this.syncParser=e.parser.LangiumParser}parse(e,n){return Promise.resolve(this.syncParser.parse(e))}}class fv{constructor(){this.previousTokenSource=new Te.CancellationTokenSource,this.writeQueue=[],this.readQueue=[],this.done=!0}write(e){this.cancelWrite();const n=DT();return this.previousTokenSource=n,this.enqueue(this.writeQueue,e,n.token)}read(e){return this.enqueue(this.readQueue,e)}enqueue(e,n,r=Te.CancellationToken.None){const i=new Cl,s={action:n,deferred:i,cancellationToken:r};return e.push(s),this.performNextOperation(),i.promise}async performNextOperation(){if(!this.done)return;const e=[];if(this.writeQueue.length>0)e.push(this.writeQueue.shift());else if(this.readQueue.length>0)e.push(...this.readQueue.splice(0,this.readQueue.length));else return;this.done=!1,await Promise.all(e.map(async({action:n,deferred:r,cancellationToken:i})=>{try{const s=await Promise.resolve().then(()=>n(i));r.resolve(s)}catch(s){Wa(s)?r.resolve(void 0):r.reject(s)}})),this.done=!0,this.performNextOperation()}cancelWrite(){this.previousTokenSource.cancel()}}class hv{constructor(e){this.grammarElementIdMap=new Su,this.tokenTypeIdMap=new Su,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 No(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)):St(o)?a.push(this.dehydrateReference(o,n)):a.push(o)}else We(s)?r[i]=this.dehydrateAstNode(s,n):St(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 Fd(e)?r.fullText=e.fullText:r.grammarSource=this.getGrammarElementId(e.grammarSource),r.hidden=e.hidden,r.astNode=n.astNodes.get(e.astNode),Wi(e)?r.content=e.content.map(i=>this.dehydrateCstNode(i,n)):Md(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 No(e.$cstNode)){let a;"fullText"in s?(a=new Vf(s.fullText),i=a):"content"in s?a=new El:"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)):St(o)?a.push(this.hydrateReference(o,r,i,n)):a.push(o)}else We(s)?r[i]=this.setParent(this.hydrateAstNode(s,n),r):St(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),Wi(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 Gc(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))Cp(n)&&this.grammarElementIdMap.set(n,e++)}}function yn(t){return{documentation:{CommentProvider:e=>new uv(e),DocumentationProvider:e=>new lv(e)},parser:{AsyncParser:e=>new dv(e),GrammarConfig:e=>vm(e),LangiumParser:e=>$T(e),CompletionParser:e=>PT(e),ValueConverter:()=>new th,TokenBuilder:()=>new eh,Lexer:e=>new KR(e),ParserErrorMessageProvider:()=>new Yf,LexerErrorMessageProvider:()=>new WR},workspace:{AstNodeLocator:()=>new oR,AstNodeDescriptionProvider:e=>new sR(e),ReferenceDescriptionProvider:e=>new aR(e)},references:{Linker:e=>new qT(e),NameProvider:()=>new zT,ScopeProvider:e=>new XT(e),ScopeComputation:e=>new WT(e),References:e=>new BT(e)},serializer:{Hydrator:e=>new hv(e),JsonSerializer:e=>new QT(e)},validation:{DocumentValidator:e=>new nR(e),ValidationRegistry:e=>new eR(e)},shared:()=>t.shared}}function Tn(t){return{ServiceRegistry:e=>new ZT(e),workspace:{LangiumDocuments:e=>new UT(e),LangiumDocumentFactory:e=>new GT(e),DocumentBuilder:e=>new jR(e),IndexManager:e=>new zR(e),WorkspaceManager:e=>new BR(e),FileSystemProvider:e=>t.fileSystemProvider(e),WorkspaceLock:()=>new fv,ConfigurationProvider:e=>new lR(e)},profilers:{}}}var yd;(function(t){t.merge=(e,n)=>ns(ns({},e),n)})(yd||(yd={}));function Ve(t,e,n,r,i,s,a,o,c){const l=[t,e,n,r,i,s,a,o,c].reduce(ns,{});return mh(l)}const pv=Symbol("isProxy");function mh(t,e){const n=new Proxy({},{deleteProperty:()=>!1,set:()=>{throw new Error("Cannot set property on injected service container")},get:(r,i)=>i===pv?!0:Rd(r,i,t,e||n),getOwnPropertyDescriptor:(r,i)=>(Rd(r,i,t,e||n),Object.getOwnPropertyDescriptor(r,i)),has:(r,i)=>i in t,ownKeys:()=>[...Object.getOwnPropertyNames(t)]});return n}const Td=Symbol();function Rd(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]===Td)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]=Td;try{t[e]=typeof i=="function"?i(r):mh(i,r)}catch(s){throw t[e]=s instanceof Error?s:void 0,s}return t[e]}else return}function ns(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]=ns(i,r):t[n]=ns({},r)}else t[n]=r}return t}class mv{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 Rn={fileSystemProvider:()=>new mv},gv={Grammar:()=>{},LanguageMetaData:()=>({caseInsensitive:!1,fileExtensions:[".langium"],languageId:"langium"})},yv={AstReflection:()=>new Bd};function Tv(){const t=Ve(Tn(Rn),yv),e=Ve(yn({shared:t}),gv);return t.ServiceRegistry.register(e),e}function Zn(t){const e=Tv(),n=e.serializer.JsonSerializer.deserialize(t);return e.shared.workspace.LangiumDocumentFactory.fromModel(n,kt.parse(`memory:/${n.name??"grammar"}.langium`)),n}var Rv=Object.defineProperty,$=(t,e)=>Rv(t,"name",{value:e,configurable:!0}),Hc;(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 ]+\]/}})(Hc||(Hc={}));var Yc;(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])?/}})(Yc||(Yc={}));var Xc;(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]*/}})(Xc||(Xc={}));var Jc;(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]*/}})(Jc||(Jc={}));var Qc;(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]*/}})(Qc||(Qc={}));var Zc;(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]*/}})(Zc||(Zc={}));var el;(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:/"[^"]*"|'[^']*'/}})(el||(el={}));({...Hc.Terminals,...Yc.Terminals,...Xc.Terminals,...Jc.Terminals,...Qc.Terminals,...Zc.Terminals,...el.Terminals});var Kt={$type:"Architecture",accDescr:"accDescr",accTitle:"accTitle",edges:"edges",groups:"groups",junctions:"junctions",services:"services",title:"title"};function vv(t){return bt.isInstance(t,Kt.$type)}$(vv,"isArchitecture");var js={$type:"Axis",label:"label",name:"name"},sa={$type:"Branch",name:"name",order:"order"};function Ev(t){return bt.isInstance(t,sa.$type)}$(Ev,"isBranch");var vd={$type:"Checkout",branch:"branch"},zs={$type:"CherryPicking",id:"id",parent:"parent",tags:"tags"},ho={$type:"ClassDefStatement",className:"className",styleText:"styleText"},yr={$type:"Commit",id:"id",message:"message",tags:"tags",type:"type"};function Av(t){return bt.isInstance(t,yr.$type)}$(Av,"isCommit");var Bs={$type:"Curve",entries:"entries",label:"label",name:"name"},ar={$type:"Direction",accDescr:"accDescr",accTitle:"accTitle",dir:"dir",statements:"statements",title:"title"},It={$type:"Edge",lhsDir:"lhsDir",lhsGroup:"lhsGroup",lhsId:"lhsId",lhsInto:"lhsInto",rhsDir:"rhsDir",rhsGroup:"rhsGroup",rhsId:"rhsId",rhsInto:"rhsInto",title:"title"},po={$type:"Entry",axis:"axis",value:"value"},Gn={$type:"GitGraph",accDescr:"accDescr",accTitle:"accTitle",statements:"statements",title:"title"};function Sv(t){return bt.isInstance(t,Gn.$type)}$(Sv,"isGitGraph");var $i={$type:"Group",icon:"icon",id:"id",in:"in",title:"title"},ji={$type:"Info",accDescr:"accDescr",accTitle:"accTitle",title:"title"};function Cv(t){return bt.isInstance(t,ji.$type)}$(Cv,"isInfo");var Li={$type:"Item",classSelector:"classSelector",name:"name"},mo={$type:"Junction",id:"id",in:"in"},Ws={$type:"Leaf",classSelector:"classSelector",name:"name",value:"value"},Tr={$type:"Merge",branch:"branch",id:"id",tags:"tags",type:"type"};function kv(t){return bt.isInstance(t,Tr.$type)}$(kv,"isMerge");var go={$type:"Option",name:"name",value:"value"},Rr={$type:"Packet",accDescr:"accDescr",accTitle:"accTitle",blocks:"blocks",title:"title"};function wv(t){return bt.isInstance(t,Rr.$type)}$(wv,"isPacket");var vr={$type:"PacketBlock",bits:"bits",end:"end",label:"label",start:"start"};function Nv(t){return bt.isInstance(t,vr.$type)}$(Nv,"isPacketBlock");var Un={$type:"Pie",accDescr:"accDescr",accTitle:"accTitle",sections:"sections",showData:"showData",title:"title"};function bv(t){return bt.isInstance(t,Un.$type)}$(bv,"isPie");var aa={$type:"PieSection",label:"label",value:"value"};function _v(t){return bt.isInstance(t,aa.$type)}$(_v,"isPieSection");var On={$type:"Radar",accDescr:"accDescr",accTitle:"accTitle",axes:"axes",curves:"curves",options:"options",title:"title"},yo={$type:"Section",classSelector:"classSelector",name:"name"},or={$type:"Service",icon:"icon",iconText:"iconText",id:"id",in:"in",title:"title"},cr={$type:"Statement"},Er={$type:"Treemap",accDescr:"accDescr",accTitle:"accTitle",title:"title",TreemapRows:"TreemapRows"};function Iv(t){return bt.isInstance(t,Er.$type)}$(Iv,"isTreemap");var To={$type:"TreemapRow",indent:"indent",item:"item"},kr,gh=(kr=class extends Dd{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:js.$type,properties:{label:{name:js.label},name:{name:js.name}},superTypes:[]},Branch:{name:sa.$type,properties:{name:{name:sa.name},order:{name:sa.order}},superTypes:[cr.$type]},Checkout:{name:vd.$type,properties:{branch:{name:vd.branch}},superTypes:[cr.$type]},CherryPicking:{name:zs.$type,properties:{id:{name:zs.id},parent:{name:zs.parent},tags:{name:zs.tags,defaultValue:[]}},superTypes:[cr.$type]},ClassDefStatement:{name:ho.$type,properties:{className:{name:ho.className},styleText:{name:ho.styleText}},superTypes:[]},Commit:{name:yr.$type,properties:{id:{name:yr.id},message:{name:yr.message},tags:{name:yr.tags,defaultValue:[]},type:{name:yr.type}},superTypes:[cr.$type]},Curve:{name:Bs.$type,properties:{entries:{name:Bs.entries,defaultValue:[]},label:{name:Bs.label},name:{name:Bs.name}},superTypes:[]},Direction:{name:ar.$type,properties:{accDescr:{name:ar.accDescr},accTitle:{name:ar.accTitle},dir:{name:ar.dir},statements:{name:ar.statements,defaultValue:[]},title:{name:ar.title}},superTypes:[Gn.$type]},Edge:{name:It.$type,properties:{lhsDir:{name:It.lhsDir},lhsGroup:{name:It.lhsGroup,defaultValue:!1},lhsId:{name:It.lhsId},lhsInto:{name:It.lhsInto,defaultValue:!1},rhsDir:{name:It.rhsDir},rhsGroup:{name:It.rhsGroup,defaultValue:!1},rhsId:{name:It.rhsId},rhsInto:{name:It.rhsInto,defaultValue:!1},title:{name:It.title}},superTypes:[]},Entry:{name:po.$type,properties:{axis:{name:po.axis,referenceType:js.$type},value:{name:po.value}},superTypes:[]},GitGraph:{name:Gn.$type,properties:{accDescr:{name:Gn.accDescr},accTitle:{name:Gn.accTitle},statements:{name:Gn.statements,defaultValue:[]},title:{name:Gn.title}},superTypes:[]},Group:{name:$i.$type,properties:{icon:{name:$i.icon},id:{name:$i.id},in:{name:$i.in},title:{name:$i.title}},superTypes:[]},Info:{name:ji.$type,properties:{accDescr:{name:ji.accDescr},accTitle:{name:ji.accTitle},title:{name:ji.title}},superTypes:[]},Item:{name:Li.$type,properties:{classSelector:{name:Li.classSelector},name:{name:Li.name}},superTypes:[]},Junction:{name:mo.$type,properties:{id:{name:mo.id},in:{name:mo.in}},superTypes:[]},Leaf:{name:Ws.$type,properties:{classSelector:{name:Ws.classSelector},name:{name:Ws.name},value:{name:Ws.value}},superTypes:[Li.$type]},Merge:{name:Tr.$type,properties:{branch:{name:Tr.branch},id:{name:Tr.id},tags:{name:Tr.tags,defaultValue:[]},type:{name:Tr.type}},superTypes:[cr.$type]},Option:{name:go.$type,properties:{name:{name:go.name},value:{name:go.value,defaultValue:!1}},superTypes:[]},Packet:{name:Rr.$type,properties:{accDescr:{name:Rr.accDescr},accTitle:{name:Rr.accTitle},blocks:{name:Rr.blocks,defaultValue:[]},title:{name:Rr.title}},superTypes:[]},PacketBlock:{name:vr.$type,properties:{bits:{name:vr.bits},end:{name:vr.end},label:{name:vr.label},start:{name:vr.start}},superTypes:[]},Pie:{name:Un.$type,properties:{accDescr:{name:Un.accDescr},accTitle:{name:Un.accTitle},sections:{name:Un.sections,defaultValue:[]},showData:{name:Un.showData,defaultValue:!1},title:{name:Un.title}},superTypes:[]},PieSection:{name:aa.$type,properties:{label:{name:aa.label},value:{name:aa.value}},superTypes:[]},Radar:{name:On.$type,properties:{accDescr:{name:On.accDescr},accTitle:{name:On.accTitle},axes:{name:On.axes,defaultValue:[]},curves:{name:On.curves,defaultValue:[]},options:{name:On.options,defaultValue:[]},title:{name:On.title}},superTypes:[]},Section:{name:yo.$type,properties:{classSelector:{name:yo.classSelector},name:{name:yo.name}},superTypes:[Li.$type]},Service:{name:or.$type,properties:{icon:{name:or.icon},iconText:{name:or.iconText},id:{name:or.id},in:{name:or.in},title:{name:or.title}},superTypes:[]},Statement:{name:cr.$type,properties:{},superTypes:[]},Treemap:{name:Er.$type,properties:{accDescr:{name:Er.accDescr},accTitle:{name:Er.accTitle},title:{name:Er.title},TreemapRows:{name:Er.TreemapRows,defaultValue:[]}},superTypes:[]},TreemapRow:{name:To.$type,properties:{indent:{name:To.indent},item:{name:To.item}},superTypes:[]}}}},$(kr,"MermaidAstReflection"),kr),bt=new gh,Ed,Pv=$(()=>Ed??(Ed=Zn(`{"$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"),Ad,$v=$(()=>Ad??(Ad=Zn(`{"$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"),Sd,Lv=$(()=>Sd??(Sd=Zn(`{"$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"),Cd,Ov=$(()=>Cd??(Cd=Zn(`{"$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"),kd,xv=$(()=>kd??(kd=Zn(`{"$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"),wd,Dv=$(()=>wd??(wd=Zn(`{"$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"),Nd,Mv=$(()=>Nd??(Nd=Zn(`{"$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"),Fv={languageId:"architecture",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},Gv={languageId:"gitGraph",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},Uv={languageId:"info",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},qv={languageId:"packet",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},jv={languageId:"pie",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},zv={languageId:"radar",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},Bv={languageId:"treemap",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},er={AstReflection:$(()=>new gh,"AstReflection")},Wv={Grammar:$(()=>Pv(),"Grammar"),LanguageMetaData:$(()=>Fv,"LanguageMetaData"),parser:{}},Vv={Grammar:$(()=>$v(),"Grammar"),LanguageMetaData:$(()=>Gv,"LanguageMetaData"),parser:{}},Kv={Grammar:$(()=>Lv(),"Grammar"),LanguageMetaData:$(()=>Uv,"LanguageMetaData"),parser:{}},Hv={Grammar:$(()=>Ov(),"Grammar"),LanguageMetaData:$(()=>qv,"LanguageMetaData"),parser:{}},Yv={Grammar:$(()=>xv(),"Grammar"),LanguageMetaData:$(()=>jv,"LanguageMetaData"),parser:{}},Xv={Grammar:$(()=>Dv(),"Grammar"),LanguageMetaData:$(()=>zv,"LanguageMetaData"),parser:{}},Jv={Grammar:$(()=>Mv(),"Grammar"),LanguageMetaData:$(()=>Bv,"LanguageMetaData"),parser:{}},Qv=/accDescr(?:[\t ]*:([^\n\r]*)|\s*{([^}]*)})/,Zv=/accTitle[\t ]*:([^\n\r]*)/,eE=/title([\t ][^\n\r]*|)/,tE={ACC_DESCR:Qv,ACC_TITLE:Zv,TITLE:eE},wr,Va=(wr=class extends th{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=tE[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,`
152
+ `)}}},$(wr,"AbstractMermaidValueConverter"),wr),Nr,Ka=(Nr=class extends Va{runCustomConverter(e,n,r){}},$(Nr,"CommonValueConverter"),Nr),br,vn=(br=class extends eh{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}},$(br,"AbstractMermaidTokenBuilder"),br),_r;_r=class extends vn{},$(_r,"CommonTokenBuilder");var Ir,nE=(Ir=class extends vn{constructor(){super(["gitGraph"])}},$(Ir,"GitGraphTokenBuilder"),Ir),yh={parser:{TokenBuilder:$(()=>new nE,"TokenBuilder"),ValueConverter:$(()=>new Ka,"ValueConverter")}};function Th(t=Rn){const e=Ve(Tn(t),er),n=Ve(yn({shared:e}),Vv,yh);return e.ServiceRegistry.register(n),{shared:e,GitGraph:n}}$(Th,"createGitGraphServices");var Pr,rE=(Pr=class extends vn{constructor(){super(["info","showInfo"])}},$(Pr,"InfoTokenBuilder"),Pr),Rh={parser:{TokenBuilder:$(()=>new rE,"TokenBuilder"),ValueConverter:$(()=>new Ka,"ValueConverter")}};function vh(t=Rn){const e=Ve(Tn(t),er),n=Ve(yn({shared:e}),Kv,Rh);return e.ServiceRegistry.register(n),{shared:e,Info:n}}$(vh,"createInfoServices");var $r,iE=($r=class extends vn{constructor(){super(["packet"])}},$($r,"PacketTokenBuilder"),$r),Eh={parser:{TokenBuilder:$(()=>new iE,"TokenBuilder"),ValueConverter:$(()=>new Ka,"ValueConverter")}};function Ah(t=Rn){const e=Ve(Tn(t),er),n=Ve(yn({shared:e}),Hv,Eh);return e.ServiceRegistry.register(n),{shared:e,Packet:n}}$(Ah,"createPacketServices");var Lr,sE=(Lr=class extends vn{constructor(){super(["pie","showData"])}},$(Lr,"PieTokenBuilder"),Lr),Or,aE=(Or=class extends Va{runCustomConverter(e,n,r){if(e.name==="PIE_SECTION_LABEL")return n.replace(/"/g,"").trim()}},$(Or,"PieValueConverter"),Or),Sh={parser:{TokenBuilder:$(()=>new sE,"TokenBuilder"),ValueConverter:$(()=>new aE,"ValueConverter")}};function Ch(t=Rn){const e=Ve(Tn(t),er),n=Ve(yn({shared:e}),Yv,Sh);return e.ServiceRegistry.register(n),{shared:e,Pie:n}}$(Ch,"createPieServices");var xr,oE=(xr=class extends vn{constructor(){super(["architecture"])}},$(xr,"ArchitectureTokenBuilder"),xr),Dr,cE=(Dr=class extends Va{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()}},$(Dr,"ArchitectureValueConverter"),Dr),kh={parser:{TokenBuilder:$(()=>new oE,"TokenBuilder"),ValueConverter:$(()=>new cE,"ValueConverter")}};function wh(t=Rn){const e=Ve(Tn(t),er),n=Ve(yn({shared:e}),Wv,kh);return e.ServiceRegistry.register(n),{shared:e,Architecture:n}}$(wh,"createArchitectureServices");var Mr,lE=(Mr=class extends vn{constructor(){super(["radar-beta"])}},$(Mr,"RadarTokenBuilder"),Mr),Nh={parser:{TokenBuilder:$(()=>new lE,"TokenBuilder"),ValueConverter:$(()=>new Ka,"ValueConverter")}};function bh(t=Rn){const e=Ve(Tn(t),er),n=Ve(yn({shared:e}),Xv,Nh);return e.ServiceRegistry.register(n),{shared:e,Radar:n}}$(bh,"createRadarServices");var Fr,uE=(Fr=class extends vn{constructor(){super(["treemap"])}},$(Fr,"TreemapTokenBuilder"),Fr),dE=/classDef\s+([A-Z_a-z]\w+)(?:\s+([^\n\r;]*))?;?/,Gr,fE=(Gr=class extends Va{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=dE.exec(n);if(i)return{$type:"ClassDefStatement",className:i[1],styleText:i[2]||void 0}}}},$(Gr,"TreemapValueConverter"),Gr);function _h(t){const e=t.validation.TreemapValidator,n=t.validation.ValidationRegistry;if(n){const r={Treemap:e.checkSingleRoot.bind(e)};n.register(r,e)}}$(_h,"registerValidationChecks");var Ur,hE=(Ur=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"}))}},$(Ur,"TreemapValidator"),Ur),Ih={parser:{TokenBuilder:$(()=>new uE,"TokenBuilder"),ValueConverter:$(()=>new fE,"ValueConverter")},validation:{TreemapValidator:$(()=>new hE,"TreemapValidator")}};function Ph(t=Rn){const e=Ve(Tn(t),er),n=Ve(yn({shared:e}),Jv,Ih);return e.ServiceRegistry.register(n),_h(n),{shared:e,Treemap:n}}$(Ph,"createTreemapServices");var Yt={},pE={info:$(async()=>{const{createInfoServices:t}=await An(async()=>{const{createInfoServices:n}=await Promise.resolve().then(()=>yE);return{createInfoServices:n}},void 0),e=t().Info.parser.LangiumParser;Yt.info=e},"info"),packet:$(async()=>{const{createPacketServices:t}=await An(async()=>{const{createPacketServices:n}=await Promise.resolve().then(()=>TE);return{createPacketServices:n}},void 0),e=t().Packet.parser.LangiumParser;Yt.packet=e},"packet"),pie:$(async()=>{const{createPieServices:t}=await An(async()=>{const{createPieServices:n}=await Promise.resolve().then(()=>RE);return{createPieServices:n}},void 0),e=t().Pie.parser.LangiumParser;Yt.pie=e},"pie"),architecture:$(async()=>{const{createArchitectureServices:t}=await An(async()=>{const{createArchitectureServices:n}=await Promise.resolve().then(()=>vE);return{createArchitectureServices:n}},void 0),e=t().Architecture.parser.LangiumParser;Yt.architecture=e},"architecture"),gitGraph:$(async()=>{const{createGitGraphServices:t}=await An(async()=>{const{createGitGraphServices:n}=await Promise.resolve().then(()=>EE);return{createGitGraphServices:n}},void 0),e=t().GitGraph.parser.LangiumParser;Yt.gitGraph=e},"gitGraph"),radar:$(async()=>{const{createRadarServices:t}=await An(async()=>{const{createRadarServices:n}=await Promise.resolve().then(()=>AE);return{createRadarServices:n}},void 0),e=t().Radar.parser.LangiumParser;Yt.radar=e},"radar"),treemap:$(async()=>{const{createTreemapServices:t}=await An(async()=>{const{createTreemapServices:n}=await Promise.resolve().then(()=>SE);return{createTreemapServices:n}},void 0),e=t().Treemap.parser.LangiumParser;Yt.treemap=e},"treemap")};async function mE(t,e){const n=pE[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 gE(i);return i.value}$(mE,"parse");var qr,gE=(qr=class extends Error{constructor(e){const n=e.lexerErrors.map(i=>i.message).join(`
153
+ `),r=e.parserErrors.map(i=>i.message).join(`
154
+ `);super(`Parsing failed: ${n} ${r}`),this.result=e}},$(qr,"MermaidParseError"),qr);const yE=Object.freeze(Object.defineProperty({__proto__:null,InfoModule:Rh,createInfoServices:vh},Symbol.toStringTag,{value:"Module"})),TE=Object.freeze(Object.defineProperty({__proto__:null,PacketModule:Eh,createPacketServices:Ah},Symbol.toStringTag,{value:"Module"})),RE=Object.freeze(Object.defineProperty({__proto__:null,PieModule:Sh,createPieServices:Ch},Symbol.toStringTag,{value:"Module"})),vE=Object.freeze(Object.defineProperty({__proto__:null,ArchitectureModule:kh,createArchitectureServices:wh},Symbol.toStringTag,{value:"Module"})),EE=Object.freeze(Object.defineProperty({__proto__:null,GitGraphModule:yh,createGitGraphServices:Th},Symbol.toStringTag,{value:"Module"})),AE=Object.freeze(Object.defineProperty({__proto__:null,RadarModule:Nh,createRadarServices:bh},Symbol.toStringTag,{value:"Module"})),SE=Object.freeze(Object.defineProperty({__proto__:null,TreemapModule:Ih,createTreemapServices:Ph},Symbol.toStringTag,{value:"Module"}));export{mE as p};