collabmd 0.1.18
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +453 -0
- package/bin/collabmd.js +241 -0
- package/docker-compose.yml +43 -0
- package/package.json +93 -0
- package/public/assets/css/base.css +1 -0
- package/public/assets/css/style.css +1 -0
- package/public/assets/js/assets/Assistant-Bold-ZDZZ6JHA.woff2 +0 -0
- package/public/assets/js/assets/Assistant-Medium-DZ25RZU3.woff2 +0 -0
- package/public/assets/js/assets/Assistant-Regular-PLF2XOGW.woff2 +0 -0
- package/public/assets/js/assets/Assistant-SemiBold-CZ5MX6FK.woff2 +0 -0
- package/public/assets/js/chunks/CodeMirrorEditor-UCMRAMCV-MAKZFDBE.js +12 -0
- package/public/assets/js/chunks/apl-C5P5JBDI.js +1 -0
- package/public/assets/js/chunks/ar-SA-NXDWD63E-MF6HMEA4.js +8 -0
- package/public/assets/js/chunks/architecture-PBZL5I3N-55LDZ5WS.js +1 -0
- package/public/assets/js/chunks/architectureDiagram-2XIMDMQ5-2VP562X7.js +36 -0
- package/public/assets/js/chunks/asciiarmor-3NCLLELT.js +1 -0
- package/public/assets/js/chunks/asn1-KF4WXU3M.js +1 -0
- package/public/assets/js/chunks/asterisk-EA3VIN65.js +1 -0
- package/public/assets/js/chunks/az-AZ-MXSORGZV-AIGO4TNU.js +1 -0
- package/public/assets/js/chunks/bg-BG-O6MV2KSF-X6AVO2AF.js +5 -0
- package/public/assets/js/chunks/blockDiagram-WCTKOSBZ-KM56WWDE.js +132 -0
- package/public/assets/js/chunks/bn-BD-T2VJNT7N-7OMHRIGC.js +3 -0
- package/public/assets/js/chunks/bn-IN-MMW2ORAC-EPKMNKG7.js +3 -0
- package/public/assets/js/chunks/brainfuck-A3CTQVFD.js +1 -0
- package/public/assets/js/chunks/c4Diagram-IC4MRINW-KX6UEGQZ.js +10 -0
- package/public/assets/js/chunks/ca-ES-MKBCGNOG-U44SUUTN.js +8 -0
- package/public/assets/js/chunks/chunk-2NTQWLZD.js +25 -0
- package/public/assets/js/chunks/chunk-2YRP2AWD.js +1 -0
- package/public/assets/js/chunks/chunk-3BUCGSSJ.js +1 -0
- package/public/assets/js/chunks/chunk-47L7JGE3.js +1 -0
- package/public/assets/js/chunks/chunk-4BCHPULB.js +1 -0
- package/public/assets/js/chunks/chunk-4NKM6YFO.js +161 -0
- package/public/assets/js/chunks/chunk-4WGMPBK5.js +1 -0
- package/public/assets/js/chunks/chunk-55WF6Y2Q.js +1 -0
- package/public/assets/js/chunks/chunk-775E65SU.js +1 -0
- package/public/assets/js/chunks/chunk-AJRGTECU.js +70 -0
- package/public/assets/js/chunks/chunk-B2J3PHGY.js +1 -0
- package/public/assets/js/chunks/chunk-B4JKB3BC.js +1 -0
- package/public/assets/js/chunks/chunk-BBHPYU2R.js +1 -0
- package/public/assets/js/chunks/chunk-CGVY4PKT.js +13 -0
- package/public/assets/js/chunks/chunk-CVTRX3TE.js +220 -0
- package/public/assets/js/chunks/chunk-DW6KK6VF.js +1 -0
- package/public/assets/js/chunks/chunk-E2HMNOQL.js +189 -0
- package/public/assets/js/chunks/chunk-EPTJZP5H.js +7 -0
- package/public/assets/js/chunks/chunk-G7NUGGE7.js +13 -0
- package/public/assets/js/chunks/chunk-GI7LBIBP.js +1 -0
- package/public/assets/js/chunks/chunk-GXRL27M7.js +1 -0
- package/public/assets/js/chunks/chunk-H6EYDHRW.js +1 -0
- package/public/assets/js/chunks/chunk-HOCBCDA5.js +1 -0
- package/public/assets/js/chunks/chunk-HS2CUOC6.js +1 -0
- package/public/assets/js/chunks/chunk-HUAS4BYI.js +12 -0
- package/public/assets/js/chunks/chunk-HVNNEPP5.js +2 -0
- package/public/assets/js/chunks/chunk-I2GVZI7W.js +38 -0
- package/public/assets/js/chunks/chunk-I6PVWGBN.js +14 -0
- package/public/assets/js/chunks/chunk-IR2DOYV4.js +7 -0
- package/public/assets/js/chunks/chunk-IZ3V3F2A.js +1 -0
- package/public/assets/js/chunks/chunk-KPAQHIOI.js +1 -0
- package/public/assets/js/chunks/chunk-M3EW4V74.js +1 -0
- package/public/assets/js/chunks/chunk-MK3AFU3C.js +90 -0
- package/public/assets/js/chunks/chunk-NM6J3ND7.js +1 -0
- package/public/assets/js/chunks/chunk-NO7UPWTU.js +1 -0
- package/public/assets/js/chunks/chunk-OG2TNZEU.js +9 -0
- package/public/assets/js/chunks/chunk-OHGDMMWM.js +1 -0
- package/public/assets/js/chunks/chunk-OOT2HALX.js +1 -0
- package/public/assets/js/chunks/chunk-OQLLZFFN.js +1 -0
- package/public/assets/js/chunks/chunk-PF6TP4EI.js +1 -0
- package/public/assets/js/chunks/chunk-PMOZMECZ.js +85 -0
- package/public/assets/js/chunks/chunk-QBGS6DJR.js +1 -0
- package/public/assets/js/chunks/chunk-QF3ZQ6UQ.js +1 -0
- package/public/assets/js/chunks/chunk-QFXMAUW4.js +1 -0
- package/public/assets/js/chunks/chunk-QSTBGTWJ.js +1 -0
- package/public/assets/js/chunks/chunk-QYKIT2IH.js +41 -0
- package/public/assets/js/chunks/chunk-S75BI2UQ.js +1 -0
- package/public/assets/js/chunks/chunk-SKEZZ3H6.js +1 -0
- package/public/assets/js/chunks/chunk-SO6QBCB6.js +1 -0
- package/public/assets/js/chunks/chunk-SR3U53EQ.js +1 -0
- package/public/assets/js/chunks/chunk-TFP6LRYJ.js +53 -0
- package/public/assets/js/chunks/chunk-U6APNHAF.js +15 -0
- package/public/assets/js/chunks/chunk-VOODXHXA.js +1 -0
- package/public/assets/js/chunks/chunk-W7WJUTSA.js +3 -0
- package/public/assets/js/chunks/chunk-WNXFO2F2.js +1 -0
- package/public/assets/js/chunks/chunk-X6EEYWV4.js +6 -0
- package/public/assets/js/chunks/chunk-YVW3ZETS.js +1 -0
- package/public/assets/js/chunks/chunk-ZR2QRTBG.js +339 -0
- package/public/assets/js/chunks/chunk-ZZJX4LQ2.js +1 -0
- package/public/assets/js/chunks/classDiagram-VBA2DB6C-IYW4O2RM.js +1 -0
- package/public/assets/js/chunks/classDiagram-v2-RAHNMMFH-DNKVN2WD.js +1 -0
- package/public/assets/js/chunks/clike-RTBH33GE.js +1 -0
- package/public/assets/js/chunks/clojure-BR2VJ2JI.js +1 -0
- package/public/assets/js/chunks/cmake-2HEWVFEE.js +1 -0
- package/public/assets/js/chunks/cobol-V6EIK6DN.js +1 -0
- package/public/assets/js/chunks/coffeescript-JW3ZOGMD.js +1 -0
- package/public/assets/js/chunks/commonlisp-UCWSIHYK.js +1 -0
- package/public/assets/js/chunks/cose-bilkent-S5V4N54A-QVYRFFNC.js +1 -0
- package/public/assets/js/chunks/crystal-GR4VLC3M.js +1 -0
- package/public/assets/js/chunks/cs-CZ-V77HGUP7-OLBAKFG5.js +7 -0
- package/public/assets/js/chunks/css-C5DVWGB4.js +1 -0
- package/public/assets/js/chunks/cypher-K7FZM5GC.js +1 -0
- package/public/assets/js/chunks/d-CF3QNNH5.js +1 -0
- package/public/assets/js/chunks/da-DK-I5RFNTM4-QJIG2SEZ.js +2 -0
- package/public/assets/js/chunks/dagre-KLK3FWXG-KVNBUDOY.js +4 -0
- package/public/assets/js/chunks/de-CH-WLRDEVBV-4MMJDMVD.js +7 -0
- package/public/assets/js/chunks/de-DE-DTI4WUSC-ML7C46TT.js +7 -0
- package/public/assets/js/chunks/diagram-E7M64L7V-ZP33VRUC.js +24 -0
- package/public/assets/js/chunks/diagram-IFDJBPK2-ZG35YWOD.js +43 -0
- package/public/assets/js/chunks/diagram-P4PSJMXO-ZGIGM7D2.js +24 -0
- package/public/assets/js/chunks/diff-KOMSZU7O.js +1 -0
- package/public/assets/js/chunks/dist-7RQKSOUX.js +7 -0
- package/public/assets/js/chunks/dist-ARWGZ6MN.js +1 -0
- package/public/assets/js/chunks/dist-DPBSGC3Y.js +2 -0
- package/public/assets/js/chunks/dist-E36PJE5M.js +1 -0
- package/public/assets/js/chunks/dist-E5NM7OBW.js +1 -0
- package/public/assets/js/chunks/dist-ERADYPEK.js +1 -0
- package/public/assets/js/chunks/dist-F43RIHBZ.js +1 -0
- package/public/assets/js/chunks/dist-HAB5NIXI.js +1 -0
- package/public/assets/js/chunks/dist-HG23OLRA.js +1 -0
- package/public/assets/js/chunks/dist-IEJXBSDJ.js +1 -0
- package/public/assets/js/chunks/dist-IQA4KVJK.js +1 -0
- package/public/assets/js/chunks/dist-OIQTNVT2.js +3 -0
- package/public/assets/js/chunks/dist-PMZJ734S.js +1 -0
- package/public/assets/js/chunks/dist-RCQFQRLD.js +1 -0
- package/public/assets/js/chunks/dist-RQLC4GVI.js +1 -0
- package/public/assets/js/chunks/dist-RSJGLSKC.js +1 -0
- package/public/assets/js/chunks/dist-SGNQZVVX.js +1 -0
- package/public/assets/js/chunks/dist-VCFTF7Z6.js +1 -0
- package/public/assets/js/chunks/dist-VTO23SHH.js +1 -0
- package/public/assets/js/chunks/dist-XOODBV4L.js +1 -0
- package/public/assets/js/chunks/dist-ZFZNCRZY.js +1 -0
- package/public/assets/js/chunks/dockerfile-XCIKYOSI.js +1 -0
- package/public/assets/js/chunks/dtd-3XFH7W6Z.js +1 -0
- package/public/assets/js/chunks/dylan-3UWPKVOR.js +1 -0
- package/public/assets/js/chunks/ebnf-OLHTL3VN.js +1 -0
- package/public/assets/js/chunks/ecl-43LZ3ZRM.js +1 -0
- package/public/assets/js/chunks/editor-session-IHFTYG5D.js +22 -0
- package/public/assets/js/chunks/eiffel-ISPO2UJF.js +1 -0
- package/public/assets/js/chunks/el-GR-ZXDJ2OS4-WSCEIO6J.js +7 -0
- package/public/assets/js/chunks/elm-CLK576PK.js +1 -0
- package/public/assets/js/chunks/en-CTDJDZ6K-IC3QAUOI.js +1 -0
- package/public/assets/js/chunks/erDiagram-INFDFZHY-ZMS6H2TH.js +70 -0
- package/public/assets/js/chunks/erlang-AVQXQFOT.js +1 -0
- package/public/assets/js/chunks/es-ES-DYQHAD43-XGB5X5IM.js +7 -0
- package/public/assets/js/chunks/eu-ES-QDSYU5Y3-LA3JTIJ2.js +7 -0
- package/public/assets/js/chunks/excalidraw-mermaid-stub-NYXTOJ4H.js +1 -0
- package/public/assets/js/chunks/fa-IR-26LZG4PM-PFALMEDX.js +9 -0
- package/public/assets/js/chunks/factor-CRTVBD6Q.js +1 -0
- package/public/assets/js/chunks/fcl-FX24LKTH.js +1 -0
- package/public/assets/js/chunks/fi-FI-6YS4KDE4-ES5MV6P4.js +6 -0
- package/public/assets/js/chunks/flowDiagram-PKNHOUZH-QD4L5IE5.js +162 -0
- package/public/assets/js/chunks/forth-YKDKCTVS.js +1 -0
- package/public/assets/js/chunks/fortran-UJWC6SLU.js +1 -0
- package/public/assets/js/chunks/fr-FR-BRLLPTZC-VMFE22YV.js +12 -0
- package/public/assets/js/chunks/ganttDiagram-A5KZAMGK-VTMTQESP.js +292 -0
- package/public/assets/js/chunks/gas-MYEMWGRE.js +1 -0
- package/public/assets/js/chunks/gherkin-JWHAU2YG.js +1 -0
- package/public/assets/js/chunks/gitGraph-HDMCJU4V-YPHS74XX.js +1 -0
- package/public/assets/js/chunks/gitGraphDiagram-K3NZZRJ6-Z3EZ634T.js +65 -0
- package/public/assets/js/chunks/gl-ES-OKUZTLYG-GPT42ZHV.js +6 -0
- package/public/assets/js/chunks/groovy-QZIZQIAK.js +1 -0
- package/public/assets/js/chunks/haskell-JR3G7YNW.js +1 -0
- package/public/assets/js/chunks/haxe-TVLAIYEN.js +1 -0
- package/public/assets/js/chunks/he-IL-26MGYIU7-VQ5XQYYY.js +8 -0
- package/public/assets/js/chunks/hi-IN-Q4ZOGTP2-2Z766MXA.js +3 -0
- package/public/assets/js/chunks/http-YXQRE77G.js +1 -0
- package/public/assets/js/chunks/hu-HU-P2OXPSN5-6XDVPGTE.js +3 -0
- package/public/assets/js/chunks/id-ID-2EIKXYN6-J5GWSY2S.js +8 -0
- package/public/assets/js/chunks/idl-RAQGJ6LJ.js +1 -0
- package/public/assets/js/chunks/image-32MOCVDX-JN2EUMQG.js +1 -0
- package/public/assets/js/chunks/image-blob-reduce.esm-K5OWL55S.js +13 -0
- package/public/assets/js/chunks/info-3K5VOQVL-CXJSPNNP.js +1 -0
- package/public/assets/js/chunks/infoDiagram-LFFYTUFH-WQ34MUJA.js +2 -0
- package/public/assets/js/chunks/ishikawaDiagram-PHBUUO56-4IARWKJK.js +70 -0
- package/public/assets/js/chunks/it-IT-4CFKVXI2-NMBWUWFF.js +12 -0
- package/public/assets/js/chunks/ja-JP-MAND2Z4V-GQZYXXOC.js +7 -0
- package/public/assets/js/chunks/javascript-NM7KDJUE.js +1 -0
- package/public/assets/js/chunks/journeyDiagram-4ABVD52K-FJ4LF4SX.js +139 -0
- package/public/assets/js/chunks/julia-LG3BH25B.js +1 -0
- package/public/assets/js/chunks/kaa-HQRTCXTJ-7D6PAKDJ.js +1 -0
- package/public/assets/js/chunks/kab-KAB-JKIKKTGH-TNKFXNAX.js +4 -0
- package/public/assets/js/chunks/kanban-definition-K7BYSVSG-TY4EVYI3.js +89 -0
- package/public/assets/js/chunks/katex-5YJCUCFD.js +261 -0
- package/public/assets/js/chunks/kk-KZ-HXQ63ZFC-T4HCMWED.js +1 -0
- package/public/assets/js/chunks/km-KH-PKL3LSGX-HTLHEJV6.js +7 -0
- package/public/assets/js/chunks/ko-KR-KXLREZX3-QMR52QVI.js +5 -0
- package/public/assets/js/chunks/ku-TR-MJ4IER3X-K5CNY4UO.js +6 -0
- package/public/assets/js/chunks/livescript-4CVWVI4M.js +1 -0
- package/public/assets/js/chunks/lt-LT-H6WFQ6FJ-IW25FAGX.js +3 -0
- package/public/assets/js/chunks/lua-VWGE7DQ7.js +1 -0
- package/public/assets/js/chunks/lv-LV-GOCK6SJW-KTDFW5OH.js +4 -0
- package/public/assets/js/chunks/mathematica-D7APQSEU.js +1 -0
- package/public/assets/js/chunks/mbox-BN3XQBYX.js +1 -0
- package/public/assets/js/chunks/mermaid-runtime-BIFNJ2CT.js +18 -0
- package/public/assets/js/chunks/mindmap-definition-YRQLILUH-5B565RNP.js +68 -0
- package/public/assets/js/chunks/mirc-565WBI76.js +1 -0
- package/public/assets/js/chunks/mllike-VV3KS46B.js +1 -0
- package/public/assets/js/chunks/modelica-EGX44FZV.js +1 -0
- package/public/assets/js/chunks/mr-IN-IXVLDMEQ-PHM5DT7Q.js +9 -0
- package/public/assets/js/chunks/mscgen-GFGTHENT.js +1 -0
- package/public/assets/js/chunks/mumps-POZYWSMI.js +1 -0
- package/public/assets/js/chunks/my-MM-YG6MYTTD-ZHLCMEVA.js +1 -0
- package/public/assets/js/chunks/nb-NO-XGWJISD2-KSDFG6YU.js +8 -0
- package/public/assets/js/chunks/nginx-JUBX55EU.js +1 -0
- package/public/assets/js/chunks/nl-NL-XVDVCPNC-KVF3ZO2R.js +13 -0
- package/public/assets/js/chunks/nn-NO-EMX5MJX5-34QKSHNR.js +4 -0
- package/public/assets/js/chunks/nsis-RC4CREGM.js +1 -0
- package/public/assets/js/chunks/ntriples-4WK6CNVE.js +1 -0
- package/public/assets/js/chunks/oc-FR-ROEINTVO-5GP4AOYO.js +4 -0
- package/public/assets/js/chunks/octave-GOKFN2V7.js +1 -0
- package/public/assets/js/chunks/oz-OQUMNC63.js +1 -0
- package/public/assets/js/chunks/pa-IN-ZYN6SUDY-MVL7O44W.js +4 -0
- package/public/assets/js/chunks/packet-RMMSAZCW-D7XTR5TT.js +1 -0
- package/public/assets/js/chunks/pascal-BBWQWWWD.js +1 -0
- package/public/assets/js/chunks/percentages-5DKR754L-DG7W23CV.js +1 -0
- package/public/assets/js/chunks/perl-KTPJTTAM.js +1 -0
- package/public/assets/js/chunks/pica-6G3NROWT.js +17 -0
- package/public/assets/js/chunks/pie-UPGHQEXC-KGC3O6LN.js +1 -0
- package/public/assets/js/chunks/pieDiagram-SKSYHLDU-KWKRDEZS.js +30 -0
- package/public/assets/js/chunks/pig-IJMBS4FZ.js +1 -0
- package/public/assets/js/chunks/pl-PL-6VTG7PHC-VADRWSX4.js +12 -0
- package/public/assets/js/chunks/powershell-6YGCBHDP.js +1 -0
- package/public/assets/js/chunks/preview-render-compiler-WD3A76I6.js +25 -0
- package/public/assets/js/chunks/properties-5QTD3364.js +1 -0
- package/public/assets/js/chunks/protobuf-LTRWBIK3.js +1 -0
- package/public/assets/js/chunks/pt-BR-5YFKRR5G-HHF4UPO4.js +6 -0
- package/public/assets/js/chunks/pt-PT-GEIXXZ67-TUTAUZJK.js +8 -0
- package/public/assets/js/chunks/pug-U4PV3WLG.js +1 -0
- package/public/assets/js/chunks/puppet-WGYJPR3Y.js +1 -0
- package/public/assets/js/chunks/python-6YGH4S47.js +1 -0
- package/public/assets/js/chunks/q-VIG4IJLI.js +1 -0
- package/public/assets/js/chunks/quadrantDiagram-337W2JSQ-GWQRUFHQ.js +7 -0
- package/public/assets/js/chunks/quick-switcher-controller-JYDIJVAJ.js +5 -0
- package/public/assets/js/chunks/r-NVPCXGTR.js +1 -0
- package/public/assets/js/chunks/radar-KQ55EAFF-OPO64DRI.js +1 -0
- package/public/assets/js/chunks/requirementDiagram-Z7DCOOCP-ASW7IPJL.js +73 -0
- package/public/assets/js/chunks/ro-RO-E2P6TFZI-RJFCULYF.js +12 -0
- package/public/assets/js/chunks/roundRect-Z3DX3W5S.js +1 -0
- package/public/assets/js/chunks/rpm-UEA257HD.js +1 -0
- package/public/assets/js/chunks/ru-RU-YBIIY43T-BF27TNVK.js +10 -0
- package/public/assets/js/chunks/ruby-KPQRAJGE.js +1 -0
- package/public/assets/js/chunks/sankeyDiagram-WA2Y5GQK-W6BBWCLW.js +10 -0
- package/public/assets/js/chunks/sas-L7VATVH5.js +1 -0
- package/public/assets/js/chunks/scheme-T2NOWR3P.js +1 -0
- package/public/assets/js/chunks/sequenceDiagram-2WXFIKYE-H4G3ISLN.js +145 -0
- package/public/assets/js/chunks/shell-DLVDUNFA.js +1 -0
- package/public/assets/js/chunks/si-LK-673C2CI2-IOFGU4U2.js +1 -0
- package/public/assets/js/chunks/sieve-BKBZYDBU.js +1 -0
- package/public/assets/js/chunks/sk-SK-CKZHQ4AP-6O5JGN26.js +7 -0
- package/public/assets/js/chunks/sl-SI-557H2GWM-2NEHLV7W.js +6 -0
- package/public/assets/js/chunks/smalltalk-WRJQKJSD.js +1 -0
- package/public/assets/js/chunks/solr-66B3BIDL.js +1 -0
- package/public/assets/js/chunks/sparql-S25Z47JG.js +1 -0
- package/public/assets/js/chunks/spreadsheet-B272EF7Y.js +1 -0
- package/public/assets/js/chunks/sql-BPLIIUYC.js +1 -0
- package/public/assets/js/chunks/stateDiagram-RAJIS63D-OF5XXRUS.js +1 -0
- package/public/assets/js/chunks/stateDiagram-v2-FVOUBMTO-IV2CSQSQ.js +1 -0
- package/public/assets/js/chunks/stex-4IJY64QX.js +1 -0
- package/public/assets/js/chunks/stylus-PJUHLGPT.js +1 -0
- package/public/assets/js/chunks/subset-shared.chunk-4NMWHS4D.js +1 -0
- package/public/assets/js/chunks/subset-worker.chunk-NTLP7Y66.js +1 -0
- package/public/assets/js/chunks/sv-SE-XOPKKDWS-Q2L6KGFV.js +8 -0
- package/public/assets/js/chunks/swift-UYHTO4SX.js +1 -0
- package/public/assets/js/chunks/ta-IN-XBH7DQI3-ISSUGZAK.js +6 -0
- package/public/assets/js/chunks/tcl-OQ5J3VO2.js +1 -0
- package/public/assets/js/chunks/textile-NOGVBEYF.js +1 -0
- package/public/assets/js/chunks/th-TH-TOCWH3R4-TABEAMJA.js +1 -0
- package/public/assets/js/chunks/tiddlywiki-SYTK4QUE.js +1 -0
- package/public/assets/js/chunks/tiki-P7K4ZLOM.js +1 -0
- package/public/assets/js/chunks/timeline-definition-YZTLITO2-HBCANIUC.js +61 -0
- package/public/assets/js/chunks/toml-AUZYRP36.js +1 -0
- package/public/assets/js/chunks/tr-TR-GXW6CYY5-5NQRN52Y.js +4 -0
- package/public/assets/js/chunks/treemap-KZPCXAKY-WYMCT5F7.js +1 -0
- package/public/assets/js/chunks/troff-XFYJNQOJ.js +1 -0
- package/public/assets/js/chunks/ttcn-AK2IXWU6.js +1 -0
- package/public/assets/js/chunks/ttcn-cfg-3IDPIYPU.js +1 -0
- package/public/assets/js/chunks/turtle-OIDMF46P.js +1 -0
- package/public/assets/js/chunks/uk-UA-IJKTNUDG-2IIL3TO5.js +6 -0
- package/public/assets/js/chunks/uz-UZ-TBZZEA4V-X22KVKBP.js +1 -0
- package/public/assets/js/chunks/vb-J6K4XVA2.js +1 -0
- package/public/assets/js/chunks/vbscript-FM7DDZZE.js +1 -0
- package/public/assets/js/chunks/velocity-6KZFEOFD.js +1 -0
- package/public/assets/js/chunks/vennDiagram-LZ73GAT5-EBRF3MZR.js +34 -0
- package/public/assets/js/chunks/verilog-EWWQPMNN.js +1 -0
- package/public/assets/js/chunks/vhdl-CJ3M4IHI.js +1 -0
- package/public/assets/js/chunks/vi-VN-MULSGNVB-TENM65C7.js +7 -0
- package/public/assets/js/chunks/webidl-XVBHXCRV.js +1 -0
- package/public/assets/js/chunks/xquery-7WZOZ4UK.js +1 -0
- package/public/assets/js/chunks/xychartDiagram-JWTSCODW-WIFVRQPR.js +7 -0
- package/public/assets/js/chunks/yacas-MZ2ZZPF3.js +1 -0
- package/public/assets/js/chunks/z80-I447CBF7.js +1 -0
- package/public/assets/js/chunks/zh-CN-MVX3E32U-S5VA2BA5.js +11 -0
- package/public/assets/js/chunks/zh-HK-JNU5RLIE-A4VUKZFV.js +1 -0
- package/public/assets/js/chunks/zh-TW-LENVCA6T-KFB6KHMM.js +9 -0
- package/public/assets/js/excalidraw-editor-7ORML5YA.css +1 -0
- package/public/assets/js/excalidraw-editor-LKW2AZBU.js +347 -0
- package/public/assets/js/excalidraw-editor.css +1 -0
- package/public/assets/js/excalidraw-editor.js +1 -0
- package/public/assets/js/main.js +354 -0
- package/public/assets/js/preview-render-worker.js +30 -0
- package/public/assets/vendor/highlight/github-dark.min.css +10 -0
- package/public/assets/vendor/highlight/github.min.css +10 -0
- package/public/excalidraw-editor.html +31 -0
- package/public/index.html +549 -0
- package/scripts/cloudflare-tunnel.mjs +145 -0
- package/scripts/local-plantuml-compose.mjs +92 -0
- package/server.js +1 -0
- package/src/client/application/app-shell/chat-feature.js +363 -0
- package/src/client/application/app-shell/comments-feature.js +33 -0
- package/src/client/application/app-shell/git-feature.js +394 -0
- package/src/client/application/app-shell/presence-feature.js +229 -0
- package/src/client/application/app-shell/ui-feature.js +535 -0
- package/src/client/application/app-shell/workspace-feature.js +132 -0
- package/src/client/application/app-shell-elements.js +78 -0
- package/src/client/application/diagram-preview-hydrator.js +382 -0
- package/src/client/application/file-open-lifecycle.js +26 -0
- package/src/client/application/mermaid-preview-hydrator.js +570 -0
- package/src/client/application/plantuml-preview-hydrator.js +563 -0
- package/src/client/application/preview-diagram-utils.js +223 -0
- package/src/client/application/preview-render-compiler.js +426 -0
- package/src/client/application/preview-render-executor.js +153 -0
- package/src/client/application/preview-render-profile.js +63 -0
- package/src/client/application/preview-render-scheduler.js +73 -0
- package/src/client/application/preview-render-worker.js +19 -0
- package/src/client/application/preview-renderer.js +452 -0
- package/src/client/application/wiki-link-file-controller.js +58 -0
- package/src/client/application/workspace-chrome-controller.js +84 -0
- package/src/client/application/workspace-coordinator.js +238 -0
- package/src/client/application/workspace-preview-controller.js +237 -0
- package/src/client/application/workspace-route-controller.js +170 -0
- package/src/client/application/workspace-state-store.js +46 -0
- package/src/client/bootstrap/collabmd-app-shell.js +479 -0
- package/src/client/domain/diagram-action-icons.js +41 -0
- package/src/client/domain/excalidraw-collaboration.js +153 -0
- package/src/client/domain/excalidraw-scene.js +87 -0
- package/src/client/domain/markdown-formatting.js +370 -0
- package/src/client/domain/plantuml-language.js +226 -0
- package/src/client/domain/room.js +49 -0
- package/src/client/domain/runtime-paths.js +136 -0
- package/src/client/domain/vault-api-client.js +1 -0
- package/src/client/domain/vault-paths.js +80 -0
- package/src/client/domain/vault-utils.js +49 -0
- package/src/client/domain/wiki-link-completions.js +78 -0
- package/src/client/excalidraw-editor.js +630 -0
- package/src/client/excalidraw-mermaid-stub.js +7 -0
- package/src/client/infrastructure/auth-client.js +383 -0
- package/src/client/infrastructure/browser-navigation-port.js +19 -0
- package/src/client/infrastructure/browser-notification-port.js +40 -0
- package/src/client/infrastructure/browser-preferences-port.js +79 -0
- package/src/client/infrastructure/comment-thread-store.js +293 -0
- package/src/client/infrastructure/editor-collaboration-client.js +240 -0
- package/src/client/infrastructure/editor-session.js +255 -0
- package/src/client/infrastructure/editor-view-adapter.js +578 -0
- package/src/client/infrastructure/excalidraw-room-client.js +651 -0
- package/src/client/infrastructure/lobby-presence.js +304 -0
- package/src/client/infrastructure/runtime-config.js +65 -0
- package/src/client/infrastructure/tab-activity-lock.js +193 -0
- package/src/client/infrastructure/vault-api-client.js +61 -0
- package/src/client/infrastructure/yjs-provider-reset-guard.js +19 -0
- package/src/client/main.js +16 -0
- package/src/client/mermaid-runtime.js +3 -0
- package/src/client/presentation/backlinks-panel.js +188 -0
- package/src/client/presentation/comment-ui-controller.js +1235 -0
- package/src/client/presentation/comments-panel.js +531 -0
- package/src/client/presentation/excalidraw-embed-controller.js +968 -0
- package/src/client/presentation/excalidraw-embed-reconciler.js +37 -0
- package/src/client/presentation/file-action-controller.js +596 -0
- package/src/client/presentation/file-explorer-controller.js +81 -0
- package/src/client/presentation/file-explorer-view.js +256 -0
- package/src/client/presentation/file-tree-state.js +77 -0
- package/src/client/presentation/git-diff-view-controller.js +656 -0
- package/src/client/presentation/git-panel-controller.js +516 -0
- package/src/client/presentation/layout-controller.js +222 -0
- package/src/client/presentation/outline-controller.js +239 -0
- package/src/client/presentation/quick-switcher-controller.js +300 -0
- package/src/client/presentation/scroll-sync-controller.js +500 -0
- package/src/client/presentation/theme-controller.js +64 -0
- package/src/client/presentation/toast-controller.js +21 -0
- package/src/client/presentation/video-embed-controller.js +264 -0
- package/src/client/styles/base.css +58 -0
- package/src/client/styles/style.css +4245 -0
- package/src/domain/comment-threads.js +233 -0
- package/src/domain/excalidraw-room-codec.js +427 -0
- package/src/domain/file-kind.js +104 -0
- package/src/domain/wiki-link-resolver.js +75 -0
- package/src/server/auth/create-auth-service.js +272 -0
- package/src/server/auth/session-cookie.js +125 -0
- package/src/server/config/env.js +186 -0
- package/src/server/create-app-server.js +143 -0
- package/src/server/domain/backlink-index.js +291 -0
- package/src/server/domain/collaboration/collaboration-document-store.js +155 -0
- package/src/server/domain/collaboration/collaboration-room.js +603 -0
- package/src/server/domain/collaboration/protocol.js +2 -0
- package/src/server/domain/collaboration/room-client-state-store.js +28 -0
- package/src/server/domain/collaboration/room-persistence-controller.js +80 -0
- package/src/server/domain/collaboration/room-registry.js +94 -0
- package/src/server/domain/git-service.js +1 -0
- package/src/server/domain/plantuml-encoder.js +49 -0
- package/src/server/domain/plantuml-renderer.js +1 -0
- package/src/server/index.js +72 -0
- package/src/server/infrastructure/git/command-runner.js +48 -0
- package/src/server/infrastructure/git/concurrency.js +19 -0
- package/src/server/infrastructure/git/diff-service.js +389 -0
- package/src/server/infrastructure/git/errors.js +5 -0
- package/src/server/infrastructure/git/git-service.js +216 -0
- package/src/server/infrastructure/git/parsers.js +401 -0
- package/src/server/infrastructure/git/path-utils.js +65 -0
- package/src/server/infrastructure/git/responses.js +108 -0
- package/src/server/infrastructure/git/status-service.js +99 -0
- package/src/server/infrastructure/git/untracked-files.js +101 -0
- package/src/server/infrastructure/http/create-auth-api-handler.js +48 -0
- package/src/server/infrastructure/http/create-esm-proxy-handler.js +130 -0
- package/src/server/infrastructure/http/create-git-api-command-handler.js +170 -0
- package/src/server/infrastructure/http/create-git-api-handler.js +40 -0
- package/src/server/infrastructure/http/create-git-api-query-handler.js +62 -0
- package/src/server/infrastructure/http/create-plantuml-api-handler.js +43 -0
- package/src/server/infrastructure/http/create-request-handler.js +138 -0
- package/src/server/infrastructure/http/create-static-handler.js +167 -0
- package/src/server/infrastructure/http/create-vault-api-command-handler.js +161 -0
- package/src/server/infrastructure/http/create-vault-api-handler.js +43 -0
- package/src/server/infrastructure/http/create-vault-api-query-handler.js +82 -0
- package/src/server/infrastructure/http/http-errors.js +13 -0
- package/src/server/infrastructure/http/http-response.js +167 -0
- package/src/server/infrastructure/http/request-body.js +56 -0
- package/src/server/infrastructure/persistence/path-utils.js +90 -0
- package/src/server/infrastructure/persistence/sidecar-store.js +150 -0
- package/src/server/infrastructure/persistence/vault-content-adapter.js +49 -0
- package/src/server/infrastructure/persistence/vault-file-store.js +435 -0
- package/src/server/infrastructure/plantuml/plantuml-renderer.js +56 -0
- package/src/server/infrastructure/websocket/attach-collaboration-gateway.js +194 -0
- package/src/server/infrastructure/websocket/client-socket-session.js +151 -0
- package/src/server/startup/git-remote-bootstrap.js +435 -0
|
@@ -0,0 +1,161 @@
|
|
|
1
|
+
import{A as Pe,B as fu,C as er,D as Et,G as em,I as Ft,L as Fe,M as Cn,O as Do,R as Bs,S as tm,a as Xe,b as br,c as lt,d as Be,e as Ae,g as Pr,i as js,j as Nn,k as hr,l as We,m as Zr,n as M,o as vt,p as st,q as Or,r as ut,s as w,t as ft,w as Zh,x as G,y as dt,z as $e}from"./chunk-I6PVWGBN.js";import{d as ee}from"./chunk-PF6TP4EI.js";import{M as Qh,d as Jh,e as pr,z as Ye}from"./chunk-4BCHPULB.js";import{a as ev,b as X,c as Qr,d as ae,e as lu,f as uu}from"./chunk-775E65SU.js";var rl={};Qr(rl,{AnnotatedTextEdit:()=>Hr,ChangeAnnotation:()=>ei,ChangeAnnotationIdentifier:()=>at,CodeAction:()=>md,CodeActionContext:()=>hd,CodeActionKind:()=>pd,CodeActionTriggerKind:()=>Fa,CodeDescription:()=>Bf,CodeLens:()=>gd,Color:()=>Yc,ColorInformation:()=>Ff,ColorPresentation:()=>Gf,Command:()=>ti,CompletionItem:()=>td,CompletionItemKind:()=>Yf,CompletionItemLabelDetails:()=>ed,CompletionItemTag:()=>Jf,CompletionList:()=>rd,CreateFile:()=>ts,DeleteFile:()=>ns,Diagnostic:()=>Oa,DiagnosticRelatedInformation:()=>Xc,DiagnosticSeverity:()=>zf,DiagnosticTag:()=>jf,DocumentHighlight:()=>od,DocumentHighlightKind:()=>ad,DocumentLink:()=>Td,DocumentSymbol:()=>dd,DocumentUri:()=>Lf,EOL:()=>NA,FoldingRange:()=>qf,FoldingRangeKind:()=>Uf,FormattingOptions:()=>yd,Hover:()=>nd,InlayHint:()=>Nd,InlayHintKind:()=>el,InlayHintLabelPart:()=>tl,InlineCompletionContext:()=>Pd,InlineCompletionItem:()=>wd,InlineCompletionList:()=>Id,InlineCompletionTriggerKind:()=>_d,InlineValueContext:()=>kd,InlineValueEvaluatableExpression:()=>Sd,InlineValueText:()=>Ad,InlineValueVariableLookup:()=>$d,InsertReplaceEdit:()=>Qf,InsertTextFormat:()=>Xf,InsertTextMode:()=>Zf,Location:()=>Pa,LocationLink:()=>Mf,MarkedString:()=>Ma,MarkupContent:()=>is,MarkupKind:()=>Zc,OptionalVersionedTextDocumentIdentifier:()=>Da,ParameterInformation:()=>id,Position:()=>ce,Range:()=>ie,RenameFile:()=>rs,SelectedCompletionInfo:()=>bd,SelectionRange:()=>Rd,SemanticTokenModifiers:()=>vd,SemanticTokenTypes:()=>xd,SemanticTokens:()=>Ed,SignatureInformation:()=>sd,StringValue:()=>Cd,SymbolInformation:()=>ud,SymbolKind:()=>cd,SymbolTag:()=>ld,TextDocument:()=>Ld,TextDocumentEdit:()=>La,TextDocumentIdentifier:()=>Vf,TextDocumentItem:()=>Hf,TextEdit:()=>vr,URI:()=>Hc,VersionedTextDocumentIdentifier:()=>Kf,WorkspaceChange:()=>Wf,WorkspaceEdit:()=>Jc,WorkspaceFolder:()=>Od,WorkspaceSymbol:()=>fd,integer:()=>Df,uinteger:()=>ba});var Lf,Hc,Df,ba,ce,ie,Pa,Mf,Yc,Ff,Gf,Uf,qf,Xc,zf,jf,Bf,Oa,ti,vr,ei,at,Hr,La,ts,rs,ns,Jc,es,Qc,Wf,Vf,Kf,Da,Hf,Zc,is,Yf,Xf,Jf,Qf,Zf,ed,td,rd,Ma,nd,id,sd,ad,od,cd,ld,ud,fd,dd,pd,Fa,hd,md,gd,yd,Td,Rd,xd,vd,Ed,Ad,$d,Sd,kd,el,tl,Nd,Cd,wd,Id,_d,bd,Pd,Od,NA,Ld,Dd,m,ss=ev(()=>{"use strict";(function(t){function e(r){return typeof r=="string"}t.is=e})(Lf||(Lf={}));(function(t){function e(r){return typeof r=="string"}t.is=e})(Hc||(Hc={}));(function(t){t.MIN_VALUE=-2147483648,t.MAX_VALUE=2147483647;function e(r){return typeof r=="number"&&t.MIN_VALUE<=r&&r<=t.MAX_VALUE}t.is=e})(Df||(Df={}));(function(t){t.MIN_VALUE=0,t.MAX_VALUE=2147483647;function e(r){return typeof r=="number"&&t.MIN_VALUE<=r&&r<=t.MAX_VALUE}t.is=e})(ba||(ba={}));(function(t){function e(n,i){return n===Number.MAX_VALUE&&(n=ba.MAX_VALUE),i===Number.MAX_VALUE&&(i=ba.MAX_VALUE),{line:n,character:i}}t.create=e;function r(n){let i=n;return m.objectLiteral(i)&&m.uinteger(i.line)&&m.uinteger(i.character)}t.is=r})(ce||(ce={}));(function(t){function e(n,i,s,a){if(m.uinteger(n)&&m.uinteger(i)&&m.uinteger(s)&&m.uinteger(a))return{start:ce.create(n,i),end:ce.create(s,a)};if(ce.is(n)&&ce.is(i))return{start:n,end:i};throw new Error(`Range#create called with invalid arguments[${n}, ${i}, ${s}, ${a}]`)}t.create=e;function r(n){let i=n;return m.objectLiteral(i)&&ce.is(i.start)&&ce.is(i.end)}t.is=r})(ie||(ie={}));(function(t){function e(n,i){return{uri:n,range:i}}t.create=e;function r(n){let i=n;return m.objectLiteral(i)&&ie.is(i.range)&&(m.string(i.uri)||m.undefined(i.uri))}t.is=r})(Pa||(Pa={}));(function(t){function e(n,i,s,a){return{targetUri:n,targetRange:i,targetSelectionRange:s,originSelectionRange:a}}t.create=e;function r(n){let i=n;return m.objectLiteral(i)&&ie.is(i.targetRange)&&m.string(i.targetUri)&&ie.is(i.targetSelectionRange)&&(ie.is(i.originSelectionRange)||m.undefined(i.originSelectionRange))}t.is=r})(Mf||(Mf={}));(function(t){function e(n,i,s,a){return{red:n,green:i,blue:s,alpha:a}}t.create=e;function r(n){let i=n;return m.objectLiteral(i)&&m.numberRange(i.red,0,1)&&m.numberRange(i.green,0,1)&&m.numberRange(i.blue,0,1)&&m.numberRange(i.alpha,0,1)}t.is=r})(Yc||(Yc={}));(function(t){function e(n,i){return{range:n,color:i}}t.create=e;function r(n){let i=n;return m.objectLiteral(i)&&ie.is(i.range)&&Yc.is(i.color)}t.is=r})(Ff||(Ff={}));(function(t){function e(n,i,s){return{label:n,textEdit:i,additionalTextEdits:s}}t.create=e;function r(n){let i=n;return m.objectLiteral(i)&&m.string(i.label)&&(m.undefined(i.textEdit)||vr.is(i))&&(m.undefined(i.additionalTextEdits)||m.typedArray(i.additionalTextEdits,vr.is))}t.is=r})(Gf||(Gf={}));(function(t){t.Comment="comment",t.Imports="imports",t.Region="region"})(Uf||(Uf={}));(function(t){function e(n,i,s,a,o,c){let l={startLine:n,endLine:i};return m.defined(s)&&(l.startCharacter=s),m.defined(a)&&(l.endCharacter=a),m.defined(o)&&(l.kind=o),m.defined(c)&&(l.collapsedText=c),l}t.create=e;function r(n){let i=n;return m.objectLiteral(i)&&m.uinteger(i.startLine)&&m.uinteger(i.startLine)&&(m.undefined(i.startCharacter)||m.uinteger(i.startCharacter))&&(m.undefined(i.endCharacter)||m.uinteger(i.endCharacter))&&(m.undefined(i.kind)||m.string(i.kind))}t.is=r})(qf||(qf={}));(function(t){function e(n,i){return{location:n,message:i}}t.create=e;function r(n){let i=n;return m.defined(i)&&Pa.is(i.location)&&m.string(i.message)}t.is=r})(Xc||(Xc={}));(function(t){t.Error=1,t.Warning=2,t.Information=3,t.Hint=4})(zf||(zf={}));(function(t){t.Unnecessary=1,t.Deprecated=2})(jf||(jf={}));(function(t){function e(r){let n=r;return m.objectLiteral(n)&&m.string(n.href)}t.is=e})(Bf||(Bf={}));(function(t){function e(n,i,s,a,o,c){let l={range:n,message:i};return m.defined(s)&&(l.severity=s),m.defined(a)&&(l.code=a),m.defined(o)&&(l.source=o),m.defined(c)&&(l.relatedInformation=c),l}t.create=e;function r(n){var i;let s=n;return m.defined(s)&&ie.is(s.range)&&m.string(s.message)&&(m.number(s.severity)||m.undefined(s.severity))&&(m.integer(s.code)||m.string(s.code)||m.undefined(s.code))&&(m.undefined(s.codeDescription)||m.string((i=s.codeDescription)===null||i===void 0?void 0:i.href))&&(m.string(s.source)||m.undefined(s.source))&&(m.undefined(s.relatedInformation)||m.typedArray(s.relatedInformation,Xc.is))}t.is=r})(Oa||(Oa={}));(function(t){function e(n,i,...s){let a={title:n,command:i};return m.defined(s)&&s.length>0&&(a.arguments=s),a}t.create=e;function r(n){let i=n;return m.defined(i)&&m.string(i.title)&&m.string(i.command)}t.is=r})(ti||(ti={}));(function(t){function e(s,a){return{range:s,newText:a}}t.replace=e;function r(s,a){return{range:{start:s,end:s},newText:a}}t.insert=r;function n(s){return{range:s,newText:""}}t.del=n;function i(s){let a=s;return m.objectLiteral(a)&&m.string(a.newText)&&ie.is(a.range)}t.is=i})(vr||(vr={}));(function(t){function e(n,i,s){let a={label:n};return i!==void 0&&(a.needsConfirmation=i),s!==void 0&&(a.description=s),a}t.create=e;function r(n){let i=n;return m.objectLiteral(i)&&m.string(i.label)&&(m.boolean(i.needsConfirmation)||i.needsConfirmation===void 0)&&(m.string(i.description)||i.description===void 0)}t.is=r})(ei||(ei={}));(function(t){function e(r){let n=r;return m.string(n)}t.is=e})(at||(at={}));(function(t){function e(s,a,o){return{range:s,newText:a,annotationId:o}}t.replace=e;function r(s,a,o){return{range:{start:s,end:s},newText:a,annotationId:o}}t.insert=r;function n(s,a){return{range:s,newText:"",annotationId:a}}t.del=n;function i(s){let a=s;return vr.is(a)&&(ei.is(a.annotationId)||at.is(a.annotationId))}t.is=i})(Hr||(Hr={}));(function(t){function e(n,i){return{textDocument:n,edits:i}}t.create=e;function r(n){let i=n;return m.defined(i)&&Da.is(i.textDocument)&&Array.isArray(i.edits)}t.is=r})(La||(La={}));(function(t){function e(n,i,s){let a={kind:"create",uri:n};return i!==void 0&&(i.overwrite!==void 0||i.ignoreIfExists!==void 0)&&(a.options=i),s!==void 0&&(a.annotationId=s),a}t.create=e;function r(n){let i=n;return i&&i.kind==="create"&&m.string(i.uri)&&(i.options===void 0||(i.options.overwrite===void 0||m.boolean(i.options.overwrite))&&(i.options.ignoreIfExists===void 0||m.boolean(i.options.ignoreIfExists)))&&(i.annotationId===void 0||at.is(i.annotationId))}t.is=r})(ts||(ts={}));(function(t){function e(n,i,s,a){let o={kind:"rename",oldUri:n,newUri:i};return s!==void 0&&(s.overwrite!==void 0||s.ignoreIfExists!==void 0)&&(o.options=s),a!==void 0&&(o.annotationId=a),o}t.create=e;function r(n){let i=n;return i&&i.kind==="rename"&&m.string(i.oldUri)&&m.string(i.newUri)&&(i.options===void 0||(i.options.overwrite===void 0||m.boolean(i.options.overwrite))&&(i.options.ignoreIfExists===void 0||m.boolean(i.options.ignoreIfExists)))&&(i.annotationId===void 0||at.is(i.annotationId))}t.is=r})(rs||(rs={}));(function(t){function e(n,i,s){let a={kind:"delete",uri:n};return i!==void 0&&(i.recursive!==void 0||i.ignoreIfNotExists!==void 0)&&(a.options=i),s!==void 0&&(a.annotationId=s),a}t.create=e;function r(n){let i=n;return i&&i.kind==="delete"&&m.string(i.uri)&&(i.options===void 0||(i.options.recursive===void 0||m.boolean(i.options.recursive))&&(i.options.ignoreIfNotExists===void 0||m.boolean(i.options.ignoreIfNotExists)))&&(i.annotationId===void 0||at.is(i.annotationId))}t.is=r})(ns||(ns={}));(function(t){function e(r){let n=r;return n&&(n.changes!==void 0||n.documentChanges!==void 0)&&(n.documentChanges===void 0||n.documentChanges.every(i=>m.string(i.kind)?ts.is(i)||rs.is(i)||ns.is(i):La.is(i)))}t.is=e})(Jc||(Jc={}));es=class{constructor(e,r){this.edits=e,this.changeAnnotations=r}insert(e,r,n){let i,s;if(n===void 0?i=vr.insert(e,r):at.is(n)?(s=n,i=Hr.insert(e,r,n)):(this.assertChangeAnnotations(this.changeAnnotations),s=this.changeAnnotations.manage(n),i=Hr.insert(e,r,s)),this.edits.push(i),s!==void 0)return s}replace(e,r,n){let i,s;if(n===void 0?i=vr.replace(e,r):at.is(n)?(s=n,i=Hr.replace(e,r,n)):(this.assertChangeAnnotations(this.changeAnnotations),s=this.changeAnnotations.manage(n),i=Hr.replace(e,r,s)),this.edits.push(i),s!==void 0)return s}delete(e,r){let n,i;if(r===void 0?n=vr.del(e):at.is(r)?(i=r,n=Hr.del(e,r)):(this.assertChangeAnnotations(this.changeAnnotations),i=this.changeAnnotations.manage(r),n=Hr.del(e,i)),this.edits.push(n),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.")}},Qc=class{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,r){let n;if(at.is(e)?n=e:(n=this.nextId(),r=e),this._annotations[n]!==void 0)throw new Error(`Id ${n} is already in use.`);if(r===void 0)throw new Error(`No annotation provided for id ${n}`);return this._annotations[n]=r,this._size++,n}nextId(){return this._counter++,this._counter.toString()}},Wf=class{constructor(e){this._textEditChanges=Object.create(null),e!==void 0?(this._workspaceEdit=e,e.documentChanges?(this._changeAnnotations=new Qc(e.changeAnnotations),e.changeAnnotations=this._changeAnnotations.all(),e.documentChanges.forEach(r=>{if(La.is(r)){let n=new es(r.edits,this._changeAnnotations);this._textEditChanges[r.textDocument.uri]=n}})):e.changes&&Object.keys(e.changes).forEach(r=>{let n=new es(e.changes[r]);this._textEditChanges[r]=n})):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(Da.is(e)){if(this.initDocumentChanges(),this._workspaceEdit.documentChanges===void 0)throw new Error("Workspace edit is not configured for document changes.");let r={uri:e.uri,version:e.version},n=this._textEditChanges[r.uri];if(!n){let i=[],s={textDocument:r,edits:i};this._workspaceEdit.documentChanges.push(s),n=new es(i,this._changeAnnotations),this._textEditChanges[r.uri]=n}return n}else{if(this.initChanges(),this._workspaceEdit.changes===void 0)throw new Error("Workspace edit is not configured for normal text edit changes.");let r=this._textEditChanges[e];if(!r){let n=[];this._workspaceEdit.changes[e]=n,r=new es(n),this._textEditChanges[e]=r}return r}}initDocumentChanges(){this._workspaceEdit.documentChanges===void 0&&this._workspaceEdit.changes===void 0&&(this._changeAnnotations=new Qc,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,r,n){if(this.initDocumentChanges(),this._workspaceEdit.documentChanges===void 0)throw new Error("Workspace edit is not configured for document changes.");let i;ei.is(r)||at.is(r)?i=r:n=r;let s,a;if(i===void 0?s=ts.create(e,n):(a=at.is(i)?i:this._changeAnnotations.manage(i),s=ts.create(e,n,a)),this._workspaceEdit.documentChanges.push(s),a!==void 0)return a}renameFile(e,r,n,i){if(this.initDocumentChanges(),this._workspaceEdit.documentChanges===void 0)throw new Error("Workspace edit is not configured for document changes.");let s;ei.is(n)||at.is(n)?s=n:i=n;let a,o;if(s===void 0?a=rs.create(e,r,i):(o=at.is(s)?s:this._changeAnnotations.manage(s),a=rs.create(e,r,i,o)),this._workspaceEdit.documentChanges.push(a),o!==void 0)return o}deleteFile(e,r,n){if(this.initDocumentChanges(),this._workspaceEdit.documentChanges===void 0)throw new Error("Workspace edit is not configured for document changes.");let i;ei.is(r)||at.is(r)?i=r:n=r;let s,a;if(i===void 0?s=ns.create(e,n):(a=at.is(i)?i:this._changeAnnotations.manage(i),s=ns.create(e,n,a)),this._workspaceEdit.documentChanges.push(s),a!==void 0)return a}};(function(t){function e(n){return{uri:n}}t.create=e;function r(n){let i=n;return m.defined(i)&&m.string(i.uri)}t.is=r})(Vf||(Vf={}));(function(t){function e(n,i){return{uri:n,version:i}}t.create=e;function r(n){let i=n;return m.defined(i)&&m.string(i.uri)&&m.integer(i.version)}t.is=r})(Kf||(Kf={}));(function(t){function e(n,i){return{uri:n,version:i}}t.create=e;function r(n){let i=n;return m.defined(i)&&m.string(i.uri)&&(i.version===null||m.integer(i.version))}t.is=r})(Da||(Da={}));(function(t){function e(n,i,s,a){return{uri:n,languageId:i,version:s,text:a}}t.create=e;function r(n){let i=n;return m.defined(i)&&m.string(i.uri)&&m.string(i.languageId)&&m.integer(i.version)&&m.string(i.text)}t.is=r})(Hf||(Hf={}));(function(t){t.PlainText="plaintext",t.Markdown="markdown";function e(r){let n=r;return n===t.PlainText||n===t.Markdown}t.is=e})(Zc||(Zc={}));(function(t){function e(r){let n=r;return m.objectLiteral(r)&&Zc.is(n.kind)&&m.string(n.value)}t.is=e})(is||(is={}));(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})(Yf||(Yf={}));(function(t){t.PlainText=1,t.Snippet=2})(Xf||(Xf={}));(function(t){t.Deprecated=1})(Jf||(Jf={}));(function(t){function e(n,i,s){return{newText:n,insert:i,replace:s}}t.create=e;function r(n){let i=n;return i&&m.string(i.newText)&&ie.is(i.insert)&&ie.is(i.replace)}t.is=r})(Qf||(Qf={}));(function(t){t.asIs=1,t.adjustIndentation=2})(Zf||(Zf={}));(function(t){function e(r){let n=r;return n&&(m.string(n.detail)||n.detail===void 0)&&(m.string(n.description)||n.description===void 0)}t.is=e})(ed||(ed={}));(function(t){function e(r){return{label:r}}t.create=e})(td||(td={}));(function(t){function e(r,n){return{items:r||[],isIncomplete:!!n}}t.create=e})(rd||(rd={}));(function(t){function e(n){return n.replace(/[\\`*_{}[\]()#+\-.!]/g,"\\$&")}t.fromPlainText=e;function r(n){let i=n;return m.string(i)||m.objectLiteral(i)&&m.string(i.language)&&m.string(i.value)}t.is=r})(Ma||(Ma={}));(function(t){function e(r){let n=r;return!!n&&m.objectLiteral(n)&&(is.is(n.contents)||Ma.is(n.contents)||m.typedArray(n.contents,Ma.is))&&(r.range===void 0||ie.is(r.range))}t.is=e})(nd||(nd={}));(function(t){function e(r,n){return n?{label:r,documentation:n}:{label:r}}t.create=e})(id||(id={}));(function(t){function e(r,n,...i){let s={label:r};return m.defined(n)&&(s.documentation=n),m.defined(i)?s.parameters=i:s.parameters=[],s}t.create=e})(sd||(sd={}));(function(t){t.Text=1,t.Read=2,t.Write=3})(ad||(ad={}));(function(t){function e(r,n){let i={range:r};return m.number(n)&&(i.kind=n),i}t.create=e})(od||(od={}));(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})(cd||(cd={}));(function(t){t.Deprecated=1})(ld||(ld={}));(function(t){function e(r,n,i,s,a){let o={name:r,kind:n,location:{uri:s,range:i}};return a&&(o.containerName=a),o}t.create=e})(ud||(ud={}));(function(t){function e(r,n,i,s){return s!==void 0?{name:r,kind:n,location:{uri:i,range:s}}:{name:r,kind:n,location:{uri:i}}}t.create=e})(fd||(fd={}));(function(t){function e(n,i,s,a,o,c){let l={name:n,detail:i,kind:s,range:a,selectionRange:o};return c!==void 0&&(l.children=c),l}t.create=e;function r(n){let i=n;return i&&m.string(i.name)&&m.number(i.kind)&&ie.is(i.range)&&ie.is(i.selectionRange)&&(i.detail===void 0||m.string(i.detail))&&(i.deprecated===void 0||m.boolean(i.deprecated))&&(i.children===void 0||Array.isArray(i.children))&&(i.tags===void 0||Array.isArray(i.tags))}t.is=r})(dd||(dd={}));(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"})(pd||(pd={}));(function(t){t.Invoked=1,t.Automatic=2})(Fa||(Fa={}));(function(t){function e(n,i,s){let a={diagnostics:n};return i!=null&&(a.only=i),s!=null&&(a.triggerKind=s),a}t.create=e;function r(n){let i=n;return m.defined(i)&&m.typedArray(i.diagnostics,Oa.is)&&(i.only===void 0||m.typedArray(i.only,m.string))&&(i.triggerKind===void 0||i.triggerKind===Fa.Invoked||i.triggerKind===Fa.Automatic)}t.is=r})(hd||(hd={}));(function(t){function e(n,i,s){let a={title:n},o=!0;return typeof i=="string"?(o=!1,a.kind=i):ti.is(i)?a.command=i:a.edit=i,o&&s!==void 0&&(a.kind=s),a}t.create=e;function r(n){let i=n;return i&&m.string(i.title)&&(i.diagnostics===void 0||m.typedArray(i.diagnostics,Oa.is))&&(i.kind===void 0||m.string(i.kind))&&(i.edit!==void 0||i.command!==void 0)&&(i.command===void 0||ti.is(i.command))&&(i.isPreferred===void 0||m.boolean(i.isPreferred))&&(i.edit===void 0||Jc.is(i.edit))}t.is=r})(md||(md={}));(function(t){function e(n,i){let s={range:n};return m.defined(i)&&(s.data=i),s}t.create=e;function r(n){let i=n;return m.defined(i)&&ie.is(i.range)&&(m.undefined(i.command)||ti.is(i.command))}t.is=r})(gd||(gd={}));(function(t){function e(n,i){return{tabSize:n,insertSpaces:i}}t.create=e;function r(n){let i=n;return m.defined(i)&&m.uinteger(i.tabSize)&&m.boolean(i.insertSpaces)}t.is=r})(yd||(yd={}));(function(t){function e(n,i,s){return{range:n,target:i,data:s}}t.create=e;function r(n){let i=n;return m.defined(i)&&ie.is(i.range)&&(m.undefined(i.target)||m.string(i.target))}t.is=r})(Td||(Td={}));(function(t){function e(n,i){return{range:n,parent:i}}t.create=e;function r(n){let i=n;return m.objectLiteral(i)&&ie.is(i.range)&&(i.parent===void 0||t.is(i.parent))}t.is=r})(Rd||(Rd={}));(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"})(xd||(xd={}));(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"})(vd||(vd={}));(function(t){function e(r){let n=r;return m.objectLiteral(n)&&(n.resultId===void 0||typeof n.resultId=="string")&&Array.isArray(n.data)&&(n.data.length===0||typeof n.data[0]=="number")}t.is=e})(Ed||(Ed={}));(function(t){function e(n,i){return{range:n,text:i}}t.create=e;function r(n){let i=n;return i!=null&&ie.is(i.range)&&m.string(i.text)}t.is=r})(Ad||(Ad={}));(function(t){function e(n,i,s){return{range:n,variableName:i,caseSensitiveLookup:s}}t.create=e;function r(n){let i=n;return i!=null&&ie.is(i.range)&&m.boolean(i.caseSensitiveLookup)&&(m.string(i.variableName)||i.variableName===void 0)}t.is=r})($d||($d={}));(function(t){function e(n,i){return{range:n,expression:i}}t.create=e;function r(n){let i=n;return i!=null&&ie.is(i.range)&&(m.string(i.expression)||i.expression===void 0)}t.is=r})(Sd||(Sd={}));(function(t){function e(n,i){return{frameId:n,stoppedLocation:i}}t.create=e;function r(n){let i=n;return m.defined(i)&&ie.is(n.stoppedLocation)}t.is=r})(kd||(kd={}));(function(t){t.Type=1,t.Parameter=2;function e(r){return r===1||r===2}t.is=e})(el||(el={}));(function(t){function e(n){return{value:n}}t.create=e;function r(n){let i=n;return m.objectLiteral(i)&&(i.tooltip===void 0||m.string(i.tooltip)||is.is(i.tooltip))&&(i.location===void 0||Pa.is(i.location))&&(i.command===void 0||ti.is(i.command))}t.is=r})(tl||(tl={}));(function(t){function e(n,i,s){let a={position:n,label:i};return s!==void 0&&(a.kind=s),a}t.create=e;function r(n){let i=n;return m.objectLiteral(i)&&ce.is(i.position)&&(m.string(i.label)||m.typedArray(i.label,tl.is))&&(i.kind===void 0||el.is(i.kind))&&i.textEdits===void 0||m.typedArray(i.textEdits,vr.is)&&(i.tooltip===void 0||m.string(i.tooltip)||is.is(i.tooltip))&&(i.paddingLeft===void 0||m.boolean(i.paddingLeft))&&(i.paddingRight===void 0||m.boolean(i.paddingRight))}t.is=r})(Nd||(Nd={}));(function(t){function e(r){return{kind:"snippet",value:r}}t.createSnippet=e})(Cd||(Cd={}));(function(t){function e(r,n,i,s){return{insertText:r,filterText:n,range:i,command:s}}t.create=e})(wd||(wd={}));(function(t){function e(r){return{items:r}}t.create=e})(Id||(Id={}));(function(t){t.Invoked=0,t.Automatic=1})(_d||(_d={}));(function(t){function e(r,n){return{range:r,text:n}}t.create=e})(bd||(bd={}));(function(t){function e(r,n){return{triggerKind:r,selectedCompletionInfo:n}}t.create=e})(Pd||(Pd={}));(function(t){function e(r){let n=r;return m.objectLiteral(n)&&Hc.is(n.uri)&&m.string(n.name)}t.is=e})(Od||(Od={}));NA=[`
|
|
2
|
+
`,`\r
|
|
3
|
+
`,"\r"];(function(t){function e(s,a,o,c){return new Dd(s,a,o,c)}t.create=e;function r(s){let a=s;return!!(m.defined(a)&&m.string(a.uri)&&(m.undefined(a.languageId)||m.string(a.languageId))&&m.uinteger(a.lineCount)&&m.func(a.getText)&&m.func(a.positionAt)&&m.func(a.offsetAt))}t.is=r;function n(s,a){let o=s.getText(),c=i(a,(f,p)=>{let h=f.range.start.line-p.range.start.line;return h===0?f.range.start.character-p.range.start.character:h}),l=o.length;for(let f=c.length-1;f>=0;f--){let p=c[f],h=s.offsetAt(p.range.start),g=s.offsetAt(p.range.end);if(g<=l)o=o.substring(0,h)+p.newText+o.substring(g,o.length);else throw new Error("Overlapping edit");l=h}return o}t.applyEdits=n;function i(s,a){if(s.length<=1)return s;let o=s.length/2|0,c=s.slice(0,o),l=s.slice(o);i(c,a),i(l,a);let f=0,p=0,h=0;for(;f<c.length&&p<l.length;)a(c[f],l[p])<=0?s[h++]=c[f++]:s[h++]=l[p++];for(;f<c.length;)s[h++]=c[f++];for(;p<l.length;)s[h++]=l[p++];return s}})(Ld||(Ld={}));Dd=class{constructor(e,r,n,i){this._uri=e,this._languageId=r,this._version=n,this._content=i,this._lineOffsets=void 0}get uri(){return this._uri}get languageId(){return this._languageId}get version(){return this._version}getText(e){if(e){let r=this.offsetAt(e.start),n=this.offsetAt(e.end);return this._content.substring(r,n)}return this._content}update(e,r){this._content=e.text,this._version=r,this._lineOffsets=void 0}getLineOffsets(){if(this._lineOffsets===void 0){let e=[],r=this._content,n=!0;for(let i=0;i<r.length;i++){n&&(e.push(i),n=!1);let s=r.charAt(i);n=s==="\r"||s===`
|
|
4
|
+
`,s==="\r"&&i+1<r.length&&r.charAt(i+1)===`
|
|
5
|
+
`&&i++}n&&r.length>0&&e.push(r.length),this._lineOffsets=e}return this._lineOffsets}positionAt(e){e=Math.max(Math.min(e,this._content.length),0);let r=this.getLineOffsets(),n=0,i=r.length;if(i===0)return ce.create(0,e);for(;n<i;){let a=Math.floor((n+i)/2);r[a]>e?i=a:n=a+1}let s=n-1;return ce.create(s,e-r[s])}offsetAt(e){let r=this.getLineOffsets();if(e.line>=r.length)return this._content.length;if(e.line<0)return 0;let n=r[e.line],i=e.line+1<r.length?r[e.line+1]:this._content.length;return Math.max(Math.min(n+e.character,i),n)}get lineCount(){return this.getLineOffsets().length}};(function(t){let e=Object.prototype.toString;function r(g){return typeof g<"u"}t.defined=r;function n(g){return typeof g>"u"}t.undefined=n;function i(g){return g===!0||g===!1}t.boolean=i;function s(g){return e.call(g)==="[object String]"}t.string=s;function a(g){return e.call(g)==="[object Number]"}t.number=a;function o(g,k,N){return e.call(g)==="[object Number]"&&k<=g&&g<=N}t.numberRange=o;function c(g){return e.call(g)==="[object Number]"&&-2147483648<=g&&g<=2147483647}t.integer=c;function l(g){return e.call(g)==="[object Number]"&&0<=g&&g<=2147483647}t.uinteger=l;function f(g){return e.call(g)==="[object Function]"}t.func=f;function p(g){return g!==null&&typeof g=="object"}t.objectLiteral=p;function h(g,k){return Array.isArray(g)&&g.every(k)}t.typedArray=h})(m||(m={}))});var yn=X(Vd=>{"use strict";Object.defineProperty(Vd,"__esModule",{value:!0});var Bd;function Wd(){if(Bd===void 0)throw new Error("No runtime abstraction layer installed");return Bd}(function(t){function e(r){if(r===void 0)throw new Error("No runtime abstraction layer provided");Bd=r}t.install=e})(Wd||(Wd={}));Vd.default=Wd});var cs=X(mt=>{"use strict";Object.defineProperty(mt,"__esModule",{value:!0});mt.stringArray=mt.array=mt.func=mt.error=mt.number=mt.string=mt.boolean=void 0;function GA(t){return t===!0||t===!1}mt.boolean=GA;function Wg(t){return typeof t=="string"||t instanceof String}mt.string=Wg;function UA(t){return typeof t=="number"||t instanceof Number}mt.number=UA;function qA(t){return t instanceof Error}mt.error=qA;function zA(t){return typeof t=="function"}mt.func=zA;function Vg(t){return Array.isArray(t)}mt.array=Vg;function jA(t){return Vg(t)&&t.every(e=>Wg(e))}mt.stringArray=jA});var ai=X(ls=>{"use strict";Object.defineProperty(ls,"__esModule",{value:!0});ls.Emitter=ls.Event=void 0;var BA=yn(),Kg;(function(t){let e={dispose(){}};t.None=function(){return e}})(Kg||(ls.Event=Kg={}));var Kd=class{add(e,r=null,n){this._callbacks||(this._callbacks=[],this._contexts=[]),this._callbacks.push(e),this._contexts.push(r),Array.isArray(n)&&n.push({dispose:()=>this.remove(e,r)})}remove(e,r=null){if(!this._callbacks)return;let n=!1;for(let i=0,s=this._callbacks.length;i<s;i++)if(this._callbacks[i]===e)if(this._contexts[i]===r){this._callbacks.splice(i,1),this._contexts.splice(i,1);return}else n=!0;if(n)throw new Error("When adding a listener with a context, you should remove it with the same context")}invoke(...e){if(!this._callbacks)return[];let r=[],n=this._callbacks.slice(0),i=this._contexts.slice(0);for(let s=0,a=n.length;s<a;s++)try{r.push(n[s].apply(i[s],e))}catch(o){(0,BA.default)().console.error(o)}return r}isEmpty(){return!this._callbacks||this._callbacks.length===0}dispose(){this._callbacks=void 0,this._contexts=void 0}},ol=class t{constructor(e){this._options=e}get event(){return this._event||(this._event=(e,r,n)=>{this._callbacks||(this._callbacks=new Kd),this._options&&this._options.onFirstListenerAdd&&this._callbacks.isEmpty()&&this._options.onFirstListenerAdd(this),this._callbacks.add(e,r);let i={dispose:()=>{this._callbacks&&(this._callbacks.remove(e,r),i.dispose=t._noop,this._options&&this._options.onLastListenerRemove&&this._callbacks.isEmpty()&&this._options.onLastListenerRemove(this))}};return Array.isArray(n)&&n.push(i),i}),this._event}fire(e){this._callbacks&&this._callbacks.invoke.call(this._callbacks,e)}dispose(){this._callbacks&&(this._callbacks.dispose(),this._callbacks=void 0)}};ls.Emitter=ol;ol._noop=function(){}});var Wa=X(us=>{"use strict";Object.defineProperty(us,"__esModule",{value:!0});us.CancellationTokenSource=us.CancellationToken=void 0;var WA=yn(),VA=cs(),Hd=ai(),cl;(function(t){t.None=Object.freeze({isCancellationRequested:!1,onCancellationRequested:Hd.Event.None}),t.Cancelled=Object.freeze({isCancellationRequested:!0,onCancellationRequested:Hd.Event.None});function e(r){let n=r;return n&&(n===t.None||n===t.Cancelled||VA.boolean(n.isCancellationRequested)&&!!n.onCancellationRequested)}t.is=e})(cl||(us.CancellationToken=cl={}));var KA=Object.freeze(function(t,e){let r=(0,WA.default)().timer.setTimeout(t.bind(e),0);return{dispose(){r.dispose()}}}),ll=class{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?KA:(this._emitter||(this._emitter=new Hd.Emitter),this._emitter.event)}dispose(){this._emitter&&(this._emitter.dispose(),this._emitter=void 0)}},Yd=class{get token(){return this._token||(this._token=new ll),this._token}cancel(){this._token?this._token.cancel():this._token=cl.Cancelled}dispose(){this._token?this._token instanceof ll&&this._token.dispose():this._token=cl.None}};us.CancellationTokenSource=Yd});var $p=X(z=>{"use strict";Object.defineProperty(z,"__esModule",{value:!0});z.Message=z.NotificationType9=z.NotificationType8=z.NotificationType7=z.NotificationType6=z.NotificationType5=z.NotificationType4=z.NotificationType3=z.NotificationType2=z.NotificationType1=z.NotificationType0=z.NotificationType=z.RequestType9=z.RequestType8=z.RequestType7=z.RequestType6=z.RequestType5=z.RequestType4=z.RequestType3=z.RequestType2=z.RequestType1=z.RequestType=z.RequestType0=z.AbstractMessageSignature=z.ParameterStructures=z.ResponseError=z.ErrorCodes=void 0;var fi=cs(),ep;(function(t){t.ParseError=-32700,t.InvalidRequest=-32600,t.MethodNotFound=-32601,t.InvalidParams=-32602,t.InternalError=-32603,t.jsonrpcReservedErrorRangeStart=-32099,t.serverErrorStart=-32099,t.MessageWriteError=-32099,t.MessageReadError=-32098,t.PendingResponseRejected=-32097,t.ConnectionInactive=-32096,t.ServerNotInitialized=-32002,t.UnknownErrorCode=-32001,t.jsonrpcReservedErrorRangeEnd=-32e3,t.serverErrorEnd=-32e3})(ep||(z.ErrorCodes=ep={}));var tp=class t extends Error{constructor(e,r,n){super(r),this.code=fi.number(e)?e:ep.UnknownErrorCode,this.data=n,Object.setPrototypeOf(this,t.prototype)}toJson(){let e={code:this.code,message:this.message};return this.data!==void 0&&(e.data=this.data),e}};z.ResponseError=tp;var Pt=class t{constructor(e){this.kind=e}static is(e){return e===t.auto||e===t.byName||e===t.byPosition}toString(){return this.kind}};z.ParameterStructures=Pt;Pt.auto=new Pt("auto");Pt.byPosition=new Pt("byPosition");Pt.byName=new Pt("byName");var ke=class{constructor(e,r){this.method=e,this.numberOfParams=r}get parameterStructures(){return Pt.auto}};z.AbstractMessageSignature=ke;var rp=class extends ke{constructor(e){super(e,0)}};z.RequestType0=rp;var np=class extends ke{constructor(e,r=Pt.auto){super(e,1),this._parameterStructures=r}get parameterStructures(){return this._parameterStructures}};z.RequestType=np;var ip=class extends ke{constructor(e,r=Pt.auto){super(e,1),this._parameterStructures=r}get parameterStructures(){return this._parameterStructures}};z.RequestType1=ip;var sp=class extends ke{constructor(e){super(e,2)}};z.RequestType2=sp;var ap=class extends ke{constructor(e){super(e,3)}};z.RequestType3=ap;var op=class extends ke{constructor(e){super(e,4)}};z.RequestType4=op;var cp=class extends ke{constructor(e){super(e,5)}};z.RequestType5=cp;var lp=class extends ke{constructor(e){super(e,6)}};z.RequestType6=lp;var up=class extends ke{constructor(e){super(e,7)}};z.RequestType7=up;var fp=class extends ke{constructor(e){super(e,8)}};z.RequestType8=fp;var dp=class extends ke{constructor(e){super(e,9)}};z.RequestType9=dp;var pp=class extends ke{constructor(e,r=Pt.auto){super(e,1),this._parameterStructures=r}get parameterStructures(){return this._parameterStructures}};z.NotificationType=pp;var hp=class extends ke{constructor(e){super(e,0)}};z.NotificationType0=hp;var mp=class extends ke{constructor(e,r=Pt.auto){super(e,1),this._parameterStructures=r}get parameterStructures(){return this._parameterStructures}};z.NotificationType1=mp;var gp=class extends ke{constructor(e){super(e,2)}};z.NotificationType2=gp;var yp=class extends ke{constructor(e){super(e,3)}};z.NotificationType3=yp;var Tp=class extends ke{constructor(e){super(e,4)}};z.NotificationType4=Tp;var Rp=class extends ke{constructor(e){super(e,5)}};z.NotificationType5=Rp;var xp=class extends ke{constructor(e){super(e,6)}};z.NotificationType6=xp;var vp=class extends ke{constructor(e){super(e,7)}};z.NotificationType7=vp;var Ep=class extends ke{constructor(e){super(e,8)}};z.NotificationType8=Ep;var Ap=class extends ke{constructor(e){super(e,9)}};z.NotificationType9=Ap;var sy;(function(t){function e(i){let s=i;return s&&fi.string(s.method)&&(fi.string(s.id)||fi.number(s.id))}t.isRequest=e;function r(i){let s=i;return s&&fi.string(s.method)&&i.id===void 0}t.isNotification=r;function n(i){let s=i;return s&&(s.result!==void 0||!!s.error)&&(fi.string(s.id)||fi.number(s.id)||s.id===null)}t.isResponse=n})(sy||(z.Message=sy={}))});var kp=X(Tn=>{"use strict";var ay;Object.defineProperty(Tn,"__esModule",{value:!0});Tn.LRUCache=Tn.LinkedMap=Tn.Touch=void 0;var yt;(function(t){t.None=0,t.First=1,t.AsOld=t.First,t.Last=2,t.AsNew=t.Last})(yt||(Tn.Touch=yt={}));var gl=class{constructor(){this[ay]="LinkedMap",this._map=new Map,this._head=void 0,this._tail=void 0,this._size=0,this._state=0}clear(){this._map.clear(),this._head=void 0,this._tail=void 0,this._size=0,this._state++}isEmpty(){return!this._head&&!this._tail}get size(){return this._size}get first(){return this._head?.value}get last(){return this._tail?.value}has(e){return this._map.has(e)}get(e,r=yt.None){let n=this._map.get(e);if(n)return r!==yt.None&&this.touch(n,r),n.value}set(e,r,n=yt.None){let i=this._map.get(e);if(i)i.value=r,n!==yt.None&&this.touch(i,n);else{switch(i={key:e,value:r,next:void 0,previous:void 0},n){case yt.None:this.addItemLast(i);break;case yt.First:this.addItemFirst(i);break;case yt.Last:this.addItemLast(i);break;default:this.addItemLast(i);break}this._map.set(e,i),this._size++}return this}delete(e){return!!this.remove(e)}remove(e){let r=this._map.get(e);if(r)return this._map.delete(e),this.removeItem(r),this._size--,r.value}shift(){if(!this._head&&!this._tail)return;if(!this._head||!this._tail)throw new Error("Invalid list");let e=this._head;return this._map.delete(e.key),this.removeItem(e),this._size--,e.value}forEach(e,r){let n=this._state,i=this._head;for(;i;){if(r?e.bind(r)(i.value,i.key,this):e(i.value,i.key,this),this._state!==n)throw new Error("LinkedMap got modified during iteration.");i=i.next}}keys(){let e=this._state,r=this._head,n={[Symbol.iterator]:()=>n,next:()=>{if(this._state!==e)throw new Error("LinkedMap got modified during iteration.");if(r){let i={value:r.key,done:!1};return r=r.next,i}else return{value:void 0,done:!0}}};return n}values(){let e=this._state,r=this._head,n={[Symbol.iterator]:()=>n,next:()=>{if(this._state!==e)throw new Error("LinkedMap got modified during iteration.");if(r){let i={value:r.value,done:!1};return r=r.next,i}else return{value:void 0,done:!0}}};return n}entries(){let e=this._state,r=this._head,n={[Symbol.iterator]:()=>n,next:()=>{if(this._state!==e)throw new Error("LinkedMap got modified during iteration.");if(r){let i={value:[r.key,r.value],done:!1};return r=r.next,i}else return{value:void 0,done:!0}}};return n}[(ay=Symbol.toStringTag,Symbol.iterator)](){return this.entries()}trimOld(e){if(e>=this.size)return;if(e===0){this.clear();return}let r=this._head,n=this.size;for(;r&&n>e;)this._map.delete(r.key),r=r.next,n--;this._head=r,this._size=n,r&&(r.previous=void 0),this._state++}addItemFirst(e){if(!this._head&&!this._tail)this._tail=e;else if(this._head)e.next=this._head,this._head.previous=e;else throw new Error("Invalid list");this._head=e,this._state++}addItemLast(e){if(!this._head&&!this._tail)this._head=e;else if(this._tail)e.previous=this._tail,this._tail.next=e;else throw new Error("Invalid list");this._tail=e,this._state++}removeItem(e){if(e===this._head&&e===this._tail)this._head=void 0,this._tail=void 0;else if(e===this._head){if(!e.next)throw new Error("Invalid list");e.next.previous=void 0,this._head=e.next}else if(e===this._tail){if(!e.previous)throw new Error("Invalid list");e.previous.next=void 0,this._tail=e.previous}else{let r=e.next,n=e.previous;if(!r||!n)throw new Error("Invalid list");r.previous=n,n.next=r}e.next=void 0,e.previous=void 0,this._state++}touch(e,r){if(!this._head||!this._tail)throw new Error("Invalid list");if(!(r!==yt.First&&r!==yt.Last)){if(r===yt.First){if(e===this._head)return;let n=e.next,i=e.previous;e===this._tail?(i.next=void 0,this._tail=i):(n.previous=i,i.next=n),e.previous=void 0,e.next=this._head,this._head.previous=e,this._head=e,this._state++}else if(r===yt.Last){if(e===this._tail)return;let n=e.next,i=e.previous;e===this._head?(n.previous=void 0,this._head=n):(n.previous=i,i.next=n),e.next=void 0,e.previous=this._tail,this._tail.next=e,this._tail=e,this._state++}}}toJSON(){let e=[];return this.forEach((r,n)=>{e.push([n,r])}),e}fromJSON(e){this.clear();for(let[r,n]of e)this.set(r,n)}};Tn.LinkedMap=gl;var Sp=class extends gl{constructor(e,r=1){super(),this._limit=e,this._ratio=Math.min(Math.max(0,r),1)}get limit(){return this._limit}set limit(e){this._limit=e,this.checkTrim()}get ratio(){return this._ratio}set ratio(e){this._ratio=Math.min(Math.max(0,e),1),this.checkTrim()}get(e,r=yt.AsNew){return super.get(e,r)}peek(e){return super.get(e,yt.None)}set(e,r){return super.set(e,r,yt.Last),this.checkTrim(),this}checkTrim(){this.size>this._limit&&this.trimOld(Math.round(this._limit*this._ratio))}};Tn.LRUCache=Sp});var cy=X(yl=>{"use strict";Object.defineProperty(yl,"__esModule",{value:!0});yl.Disposable=void 0;var oy;(function(t){function e(r){return{dispose:r}}t.create=e})(oy||(yl.Disposable=oy={}))});var ly=X(ys=>{"use strict";Object.defineProperty(ys,"__esModule",{value:!0});ys.SharedArrayReceiverStrategy=ys.SharedArraySenderStrategy=void 0;var XA=Wa(),lo;(function(t){t.Continue=0,t.Cancelled=1})(lo||(lo={}));var Np=class{constructor(){this.buffers=new Map}enableCancellation(e){if(e.id===null)return;let r=new SharedArrayBuffer(4),n=new Int32Array(r,0,1);n[0]=lo.Continue,this.buffers.set(e.id,r),e.$cancellationData=r}async sendCancellation(e,r){let n=this.buffers.get(r);if(n===void 0)return;let i=new Int32Array(n,0,1);Atomics.store(i,0,lo.Cancelled)}cleanup(e){this.buffers.delete(e)}dispose(){this.buffers.clear()}};ys.SharedArraySenderStrategy=Np;var Cp=class{constructor(e){this.data=new Int32Array(e,0,1)}get isCancellationRequested(){return Atomics.load(this.data,0)===lo.Cancelled}get onCancellationRequested(){throw new Error("Cancellation over SharedArrayBuffer doesn't support cancellation events")}},wp=class{constructor(e){this.token=new Cp(e)}cancel(){}dispose(){}},Ip=class{constructor(){this.kind="request"}createCancellationTokenSource(e){let r=e.$cancellationData;return r===void 0?new XA.CancellationTokenSource:new wp(r)}};ys.SharedArrayReceiverStrategy=Ip});var bp=X(Tl=>{"use strict";Object.defineProperty(Tl,"__esModule",{value:!0});Tl.Semaphore=void 0;var JA=yn(),_p=class{constructor(e=1){if(e<=0)throw new Error("Capacity must be greater than 0");this._capacity=e,this._active=0,this._waiting=[]}lock(e){return new Promise((r,n)=>{this._waiting.push({thunk:e,resolve:r,reject:n}),this.runNext()})}get active(){return this._active}runNext(){this._waiting.length===0||this._active===this._capacity||(0,JA.default)().timer.setImmediate(()=>this.doRunNext())}doRunNext(){if(this._waiting.length===0||this._active===this._capacity)return;let e=this._waiting.shift();if(this._active++,this._active>this._capacity)throw new Error("To many thunks active");try{let r=e.thunk();r instanceof Promise?r.then(n=>{this._active--,e.resolve(n),this.runNext()},n=>{this._active--,e.reject(n),this.runNext()}):(this._active--,e.resolve(r),this.runNext())}catch(r){this._active--,e.reject(r),this.runNext()}}};Tl.Semaphore=_p});var fy=X(Rn=>{"use strict";Object.defineProperty(Rn,"__esModule",{value:!0});Rn.ReadableStreamMessageReader=Rn.AbstractMessageReader=Rn.MessageReader=void 0;var Op=yn(),Ts=cs(),Pp=ai(),QA=bp(),uy;(function(t){function e(r){let n=r;return n&&Ts.func(n.listen)&&Ts.func(n.dispose)&&Ts.func(n.onError)&&Ts.func(n.onClose)&&Ts.func(n.onPartialMessage)}t.is=e})(uy||(Rn.MessageReader=uy={}));var Rl=class{constructor(){this.errorEmitter=new Pp.Emitter,this.closeEmitter=new Pp.Emitter,this.partialMessageEmitter=new Pp.Emitter}dispose(){this.errorEmitter.dispose(),this.closeEmitter.dispose()}get onError(){return this.errorEmitter.event}fireError(e){this.errorEmitter.fire(this.asError(e))}get onClose(){return this.closeEmitter.event}fireClose(){this.closeEmitter.fire(void 0)}get onPartialMessage(){return this.partialMessageEmitter.event}firePartialMessage(e){this.partialMessageEmitter.fire(e)}asError(e){return e instanceof Error?e:new Error(`Reader received error. Reason: ${Ts.string(e.message)?e.message:"unknown"}`)}};Rn.AbstractMessageReader=Rl;var Lp;(function(t){function e(r){let n,i,s,a=new Map,o,c=new Map;if(r===void 0||typeof r=="string")n=r??"utf-8";else{if(n=r.charset??"utf-8",r.contentDecoder!==void 0&&(s=r.contentDecoder,a.set(s.name,s)),r.contentDecoders!==void 0)for(let l of r.contentDecoders)a.set(l.name,l);if(r.contentTypeDecoder!==void 0&&(o=r.contentTypeDecoder,c.set(o.name,o)),r.contentTypeDecoders!==void 0)for(let l of r.contentTypeDecoders)c.set(l.name,l)}return o===void 0&&(o=(0,Op.default)().applicationJson.decoder,c.set(o.name,o)),{charset:n,contentDecoder:s,contentDecoders:a,contentTypeDecoder:o,contentTypeDecoders:c}}t.fromOptions=e})(Lp||(Lp={}));var Dp=class extends Rl{constructor(e,r){super(),this.readable=e,this.options=Lp.fromOptions(r),this.buffer=(0,Op.default)().messageBuffer.create(this.options.charset),this._partialMessageTimeout=1e4,this.nextMessageLength=-1,this.messageToken=0,this.readSemaphore=new QA.Semaphore(1)}set partialMessageTimeout(e){this._partialMessageTimeout=e}get partialMessageTimeout(){return this._partialMessageTimeout}listen(e){this.nextMessageLength=-1,this.messageToken=0,this.partialMessageTimer=void 0,this.callback=e;let r=this.readable.onData(n=>{this.onData(n)});return this.readable.onError(n=>this.fireError(n)),this.readable.onClose(()=>this.fireClose()),r}onData(e){try{for(this.buffer.append(e);;){if(this.nextMessageLength===-1){let n=this.buffer.tryReadHeaders(!0);if(!n)return;let i=n.get("content-length");if(!i){this.fireError(new Error(`Header must provide a Content-Length property.
|
|
6
|
+
${JSON.stringify(Object.fromEntries(n))}`));return}let s=parseInt(i);if(isNaN(s)){this.fireError(new Error(`Content-Length value must be a number. Got ${i}`));return}this.nextMessageLength=s}let r=this.buffer.tryReadBody(this.nextMessageLength);if(r===void 0){this.setPartialMessageTimer();return}this.clearPartialMessageTimer(),this.nextMessageLength=-1,this.readSemaphore.lock(async()=>{let n=this.options.contentDecoder!==void 0?await this.options.contentDecoder.decode(r):r,i=await this.options.contentTypeDecoder.decode(n,this.options);this.callback(i)}).catch(n=>{this.fireError(n)})}}catch(r){this.fireError(r)}}clearPartialMessageTimer(){this.partialMessageTimer&&(this.partialMessageTimer.dispose(),this.partialMessageTimer=void 0)}setPartialMessageTimer(){this.clearPartialMessageTimer(),!(this._partialMessageTimeout<=0)&&(this.partialMessageTimer=(0,Op.default)().timer.setTimeout((e,r)=>{this.partialMessageTimer=void 0,e===this.messageToken&&(this.firePartialMessage({messageToken:e,waitingTime:r}),this.setPartialMessageTimer())},this._partialMessageTimeout,this.messageToken,this._partialMessageTimeout))}};Rn.ReadableStreamMessageReader=Dp});var gy=X(xn=>{"use strict";Object.defineProperty(xn,"__esModule",{value:!0});xn.WriteableStreamMessageWriter=xn.AbstractMessageWriter=xn.MessageWriter=void 0;var dy=yn(),uo=cs(),ZA=bp(),py=ai(),e$="Content-Length: ",hy=`\r
|
|
7
|
+
`,my;(function(t){function e(r){let n=r;return n&&uo.func(n.dispose)&&uo.func(n.onClose)&&uo.func(n.onError)&&uo.func(n.write)}t.is=e})(my||(xn.MessageWriter=my={}));var xl=class{constructor(){this.errorEmitter=new py.Emitter,this.closeEmitter=new py.Emitter}dispose(){this.errorEmitter.dispose(),this.closeEmitter.dispose()}get onError(){return this.errorEmitter.event}fireError(e,r,n){this.errorEmitter.fire([this.asError(e),r,n])}get onClose(){return this.closeEmitter.event}fireClose(){this.closeEmitter.fire(void 0)}asError(e){return e instanceof Error?e:new Error(`Writer received error. Reason: ${uo.string(e.message)?e.message:"unknown"}`)}};xn.AbstractMessageWriter=xl;var Mp;(function(t){function e(r){return r===void 0||typeof r=="string"?{charset:r??"utf-8",contentTypeEncoder:(0,dy.default)().applicationJson.encoder}:{charset:r.charset??"utf-8",contentEncoder:r.contentEncoder,contentTypeEncoder:r.contentTypeEncoder??(0,dy.default)().applicationJson.encoder}}t.fromOptions=e})(Mp||(Mp={}));var Fp=class extends xl{constructor(e,r){super(),this.writable=e,this.options=Mp.fromOptions(r),this.errorCount=0,this.writeSemaphore=new ZA.Semaphore(1),this.writable.onError(n=>this.fireError(n)),this.writable.onClose(()=>this.fireClose())}async write(e){return this.writeSemaphore.lock(async()=>this.options.contentTypeEncoder.encode(e,this.options).then(n=>this.options.contentEncoder!==void 0?this.options.contentEncoder.encode(n):n).then(n=>{let i=[];return i.push(e$,n.byteLength.toString(),hy),i.push(hy),this.doWrite(e,i,n)},n=>{throw this.fireError(n),n}))}async doWrite(e,r,n){try{return await this.writable.write(r.join(""),"ascii"),this.writable.write(n)}catch(i){return this.handleError(i,e),Promise.reject(i)}}handleError(e,r){this.errorCount++,this.fireError(e,r,this.errorCount)}end(){this.writable.end()}};xn.WriteableStreamMessageWriter=Fp});var yy=X(vl=>{"use strict";Object.defineProperty(vl,"__esModule",{value:!0});vl.AbstractMessageBuffer=void 0;var t$=13,r$=10,n$=`\r
|
|
8
|
+
`,Gp=class{constructor(e="utf-8"){this._encoding=e,this._chunks=[],this._totalLength=0}get encoding(){return this._encoding}append(e){let r=typeof e=="string"?this.fromString(e,this._encoding):e;this._chunks.push(r),this._totalLength+=r.byteLength}tryReadHeaders(e=!1){if(this._chunks.length===0)return;let r=0,n=0,i=0,s=0;e:for(;n<this._chunks.length;){let l=this._chunks[n];for(i=0;i<l.length;){switch(l[i]){case t$:switch(r){case 0:r=1;break;case 2:r=3;break;default:r=0}break;case r$:switch(r){case 1:r=2;break;case 3:r=4,i++;break e;default:r=0}break;default:r=0}i++}s+=l.byteLength,n++}if(r!==4)return;let a=this._read(s+i),o=new Map,c=this.toString(a,"ascii").split(n$);if(c.length<2)return o;for(let l=0;l<c.length-2;l++){let f=c[l],p=f.indexOf(":");if(p===-1)throw new Error(`Message header must separate key and value using ':'
|
|
9
|
+
${f}`);let h=f.substr(0,p),g=f.substr(p+1).trim();o.set(e?h.toLowerCase():h,g)}return o}tryReadBody(e){if(!(this._totalLength<e))return this._read(e)}get numberOfBytes(){return this._totalLength}_read(e){if(e===0)return this.emptyBuffer();if(e>this._totalLength)throw new Error("Cannot read so many bytes!");if(this._chunks[0].byteLength===e){let s=this._chunks[0];return this._chunks.shift(),this._totalLength-=e,this.asNative(s)}if(this._chunks[0].byteLength>e){let s=this._chunks[0],a=this.asNative(s,e);return this._chunks[0]=s.slice(e),this._totalLength-=e,a}let r=this.allocNative(e),n=0,i=0;for(;e>0;){let s=this._chunks[i];if(s.byteLength>e){let a=s.slice(0,e);r.set(a,n),n+=e,this._chunks[i]=s.slice(e),this._totalLength-=e,e-=e}else r.set(s,n),n+=s.byteLength,this._chunks.shift(),this._totalLength-=s.byteLength,e-=s.byteLength}return r}};vl.AbstractMessageBuffer=Gp});var Ey=X(Q=>{"use strict";Object.defineProperty(Q,"__esModule",{value:!0});Q.createMessageConnection=Q.ConnectionOptions=Q.MessageStrategy=Q.CancellationStrategy=Q.CancellationSenderStrategy=Q.CancellationReceiverStrategy=Q.RequestCancellationReceiverStrategy=Q.IdCancellationReceiverStrategy=Q.ConnectionStrategy=Q.ConnectionError=Q.ConnectionErrors=Q.LogTraceNotification=Q.SetTraceNotification=Q.TraceFormat=Q.TraceValues=Q.Trace=Q.NullLogger=Q.ProgressType=Q.ProgressToken=void 0;var Ty=yn(),De=cs(),K=$p(),Ry=kp(),fo=ai(),Up=Wa(),mo;(function(t){t.type=new K.NotificationType("$/cancelRequest")})(mo||(mo={}));var qp;(function(t){function e(r){return typeof r=="string"||typeof r=="number"}t.is=e})(qp||(Q.ProgressToken=qp={}));var po;(function(t){t.type=new K.NotificationType("$/progress")})(po||(po={}));var zp=class{constructor(){}};Q.ProgressType=zp;var jp;(function(t){function e(r){return De.func(r)}t.is=e})(jp||(jp={}));Q.NullLogger=Object.freeze({error:()=>{},warn:()=>{},info:()=>{},log:()=>{}});var ue;(function(t){t[t.Off=0]="Off",t[t.Messages=1]="Messages",t[t.Compact=2]="Compact",t[t.Verbose=3]="Verbose"})(ue||(Q.Trace=ue={}));var xy;(function(t){t.Off="off",t.Messages="messages",t.Compact="compact",t.Verbose="verbose"})(xy||(Q.TraceValues=xy={}));(function(t){function e(n){if(!De.string(n))return t.Off;switch(n=n.toLowerCase(),n){case"off":return t.Off;case"messages":return t.Messages;case"compact":return t.Compact;case"verbose":return t.Verbose;default:return t.Off}}t.fromString=e;function r(n){switch(n){case t.Off:return"off";case t.Messages:return"messages";case t.Compact:return"compact";case t.Verbose:return"verbose";default:return"off"}}t.toString=r})(ue||(Q.Trace=ue={}));var Bt;(function(t){t.Text="text",t.JSON="json"})(Bt||(Q.TraceFormat=Bt={}));(function(t){function e(r){return De.string(r)?(r=r.toLowerCase(),r==="json"?t.JSON:t.Text):t.Text}t.fromString=e})(Bt||(Q.TraceFormat=Bt={}));var Bp;(function(t){t.type=new K.NotificationType("$/setTrace")})(Bp||(Q.SetTraceNotification=Bp={}));var El;(function(t){t.type=new K.NotificationType("$/logTrace")})(El||(Q.LogTraceNotification=El={}));var ho;(function(t){t[t.Closed=1]="Closed",t[t.Disposed=2]="Disposed",t[t.AlreadyListening=3]="AlreadyListening"})(ho||(Q.ConnectionErrors=ho={}));var Rs=class t extends Error{constructor(e,r){super(r),this.code=e,Object.setPrototypeOf(this,t.prototype)}};Q.ConnectionError=Rs;var Wp;(function(t){function e(r){let n=r;return n&&De.func(n.cancelUndispatched)}t.is=e})(Wp||(Q.ConnectionStrategy=Wp={}));var Al;(function(t){function e(r){let n=r;return n&&(n.kind===void 0||n.kind==="id")&&De.func(n.createCancellationTokenSource)&&(n.dispose===void 0||De.func(n.dispose))}t.is=e})(Al||(Q.IdCancellationReceiverStrategy=Al={}));var Vp;(function(t){function e(r){let n=r;return n&&n.kind==="request"&&De.func(n.createCancellationTokenSource)&&(n.dispose===void 0||De.func(n.dispose))}t.is=e})(Vp||(Q.RequestCancellationReceiverStrategy=Vp={}));var $l;(function(t){t.Message=Object.freeze({createCancellationTokenSource(r){return new Up.CancellationTokenSource}});function e(r){return Al.is(r)||Vp.is(r)}t.is=e})($l||(Q.CancellationReceiverStrategy=$l={}));var Sl;(function(t){t.Message=Object.freeze({sendCancellation(r,n){return r.sendNotification(mo.type,{id:n})},cleanup(r){}});function e(r){let n=r;return n&&De.func(n.sendCancellation)&&De.func(n.cleanup)}t.is=e})(Sl||(Q.CancellationSenderStrategy=Sl={}));var kl;(function(t){t.Message=Object.freeze({receiver:$l.Message,sender:Sl.Message});function e(r){let n=r;return n&&$l.is(n.receiver)&&Sl.is(n.sender)}t.is=e})(kl||(Q.CancellationStrategy=kl={}));var Nl;(function(t){function e(r){let n=r;return n&&De.func(n.handleMessage)}t.is=e})(Nl||(Q.MessageStrategy=Nl={}));var vy;(function(t){function e(r){let n=r;return n&&(kl.is(n.cancellationStrategy)||Wp.is(n.connectionStrategy)||Nl.is(n.messageStrategy))}t.is=e})(vy||(Q.ConnectionOptions=vy={}));var cr;(function(t){t[t.New=1]="New",t[t.Listening=2]="Listening",t[t.Closed=3]="Closed",t[t.Disposed=4]="Disposed"})(cr||(cr={}));function i$(t,e,r,n){let i=r!==void 0?r:Q.NullLogger,s=0,a=0,o=0,c="2.0",l,f=new Map,p,h=new Map,g=new Map,k,N=new Ry.LinkedMap,U=new Map,_=new Set,L=new Map,A=ue.Off,D=Bt.Text,Y,ve=cr.New,Rt=new fo.Emitter,ct=new fo.Emitter,Mt=new fo.Emitter,nt=new fo.Emitter,S=new fo.Emitter,y=n&&n.cancellationStrategy?n.cancellationStrategy:kl.Message;function P(d){if(d===null)throw new Error("Can't send requests with id null since the response can't be correlated.");return"req-"+d.toString()}function O(d){return d===null?"res-unknown-"+(++o).toString():"res-"+d.toString()}function T(){return"not-"+(++a).toString()}function x(d,v){K.Message.isRequest(v)?d.set(P(v.id),v):K.Message.isResponse(v)?d.set(O(v.id),v):d.set(T(),v)}function E(d){}function b(){return ve===cr.Listening}function F(){return ve===cr.Closed}function I(){return ve===cr.Disposed}function H(){(ve===cr.New||ve===cr.Listening)&&(ve=cr.Closed,ct.fire(void 0))}function W(d){Rt.fire([d,void 0,void 0])}function qe(d){Rt.fire(d)}t.onClose(H),t.onError(W),e.onClose(H),e.onError(qe);function J(){k||N.size===0||(k=(0,Ty.default)().timer.setImmediate(()=>{k=void 0,Qt()}))}function Ne(d){K.Message.isRequest(d)?wt(d):K.Message.isNotification(d)?Zt(d):K.Message.isResponse(d)?fr(d):_r(d)}function Qt(){if(N.size===0)return;let d=N.shift();try{let v=n?.messageStrategy;Nl.is(v)?v.handleMessage(d,Ne):Ne(d)}finally{J()}}let it=d=>{try{if(K.Message.isNotification(d)&&d.method===mo.type.method){let v=d.params.id,C=P(v),q=N.get(C);if(K.Message.isRequest(q)){let he=n?.connectionStrategy,Me=he&&he.cancelUndispatched?he.cancelUndispatched(q,E):void 0;if(Me&&(Me.error!==void 0||Me.result!==void 0)){N.delete(C),L.delete(v),Me.id=q.id,Lo(Me,d.method,Date.now()),e.write(Me).catch(()=>i.error("Sending response for canceled message failed."));return}}let Ee=L.get(v);if(Ee!==void 0){Ee.cancel(),ou(d);return}else _.add(v)}x(N,d)}finally{J()}};function wt(d){if(I())return;function v(oe,be,pe){let He={jsonrpc:c,id:d.id};oe instanceof K.ResponseError?He.error=oe.toJson():He.result=oe===void 0?null:oe,Lo(He,be,pe),e.write(He).catch(()=>i.error("Sending response failed."))}function C(oe,be,pe){let He={jsonrpc:c,id:d.id,error:oe.toJson()};Lo(He,be,pe),e.write(He).catch(()=>i.error("Sending response failed."))}function q(oe,be,pe){oe===void 0&&(oe=null);let He={jsonrpc:c,id:d.id,result:oe};Lo(He,be,pe),e.write(He).catch(()=>i.error("Sending response failed."))}Yx(d);let Ee=f.get(d.method),he,Me;Ee&&(he=Ee.type,Me=Ee.handler);let ze=Date.now();if(Me||l){let oe=d.id??String(Date.now()),be=Al.is(y.receiver)?y.receiver.createCancellationTokenSource(oe):y.receiver.createCancellationTokenSource(d);d.id!==null&&_.has(d.id)&&be.cancel(),d.id!==null&&L.set(oe,be);try{let pe;if(Me)if(d.params===void 0){if(he!==void 0&&he.numberOfParams!==0){C(new K.ResponseError(K.ErrorCodes.InvalidParams,`Request ${d.method} defines ${he.numberOfParams} params but received none.`),d.method,ze);return}pe=Me(be.token)}else if(Array.isArray(d.params)){if(he!==void 0&&he.parameterStructures===K.ParameterStructures.byName){C(new K.ResponseError(K.ErrorCodes.InvalidParams,`Request ${d.method} defines parameters by name but received parameters by position`),d.method,ze);return}pe=Me(...d.params,be.token)}else{if(he!==void 0&&he.parameterStructures===K.ParameterStructures.byPosition){C(new K.ResponseError(K.ErrorCodes.InvalidParams,`Request ${d.method} defines parameters by position but received parameters by name`),d.method,ze);return}pe=Me(d.params,be.token)}else l&&(pe=l(d.method,d.params,be.token));let He=pe;pe?He.then?He.then(xt=>{L.delete(oe),v(xt,d.method,ze)},xt=>{L.delete(oe),xt instanceof K.ResponseError?C(xt,d.method,ze):xt&&De.string(xt.message)?C(new K.ResponseError(K.ErrorCodes.InternalError,`Request ${d.method} failed with message: ${xt.message}`),d.method,ze):C(new K.ResponseError(K.ErrorCodes.InternalError,`Request ${d.method} failed unexpectedly without providing any details.`),d.method,ze)}):(L.delete(oe),v(pe,d.method,ze)):(L.delete(oe),q(pe,d.method,ze))}catch(pe){L.delete(oe),pe instanceof K.ResponseError?v(pe,d.method,ze):pe&&De.string(pe.message)?C(new K.ResponseError(K.ErrorCodes.InternalError,`Request ${d.method} failed with message: ${pe.message}`),d.method,ze):C(new K.ResponseError(K.ErrorCodes.InternalError,`Request ${d.method} failed unexpectedly without providing any details.`),d.method,ze)}}else C(new K.ResponseError(K.ErrorCodes.MethodNotFound,`Unhandled method ${d.method}`),d.method,ze)}function fr(d){if(!I())if(d.id===null)d.error?i.error(`Received response message without id: Error is:
|
|
10
|
+
${JSON.stringify(d.error,void 0,4)}`):i.error("Received response message without id. No further error information provided.");else{let v=d.id,C=U.get(v);if(Xx(d,C),C!==void 0){U.delete(v);try{if(d.error){let q=d.error;C.reject(new K.ResponseError(q.code,q.message,q.data))}else if(d.result!==void 0)C.resolve(d.result);else throw new Error("Should never happen.")}catch(q){q.message?i.error(`Response handler '${C.method}' failed with message: ${q.message}`):i.error(`Response handler '${C.method}' failed unexpectedly.`)}}}}function Zt(d){if(I())return;let v,C;if(d.method===mo.type.method){let q=d.params.id;_.delete(q),ou(d);return}else{let q=h.get(d.method);q&&(C=q.handler,v=q.type)}if(C||p)try{if(ou(d),C)if(d.params===void 0)v!==void 0&&v.numberOfParams!==0&&v.parameterStructures!==K.ParameterStructures.byName&&i.error(`Notification ${d.method} defines ${v.numberOfParams} params but received none.`),C();else if(Array.isArray(d.params)){let q=d.params;d.method===po.type.method&&q.length===2&&qp.is(q[0])?C({token:q[0],value:q[1]}):(v!==void 0&&(v.parameterStructures===K.ParameterStructures.byName&&i.error(`Notification ${d.method} defines parameters by name but received parameters by position`),v.numberOfParams!==d.params.length&&i.error(`Notification ${d.method} defines ${v.numberOfParams} params but received ${q.length} arguments`)),C(...q))}else v!==void 0&&v.parameterStructures===K.ParameterStructures.byPosition&&i.error(`Notification ${d.method} defines parameters by position but received parameters by name`),C(d.params);else p&&p(d.method,d.params)}catch(q){q.message?i.error(`Notification handler '${d.method}' failed with message: ${q.message}`):i.error(`Notification handler '${d.method}' failed unexpectedly.`)}else Mt.fire(d)}function _r(d){if(!d){i.error("Received empty message.");return}i.error(`Received message which is neither a response nor a notification message:
|
|
11
|
+
${JSON.stringify(d,null,4)}`);let v=d;if(De.string(v.id)||De.number(v.id)){let C=v.id,q=U.get(C);q&&q.reject(new Error("The received response has neither a result nor an error property."))}}function Vt(d){if(d!=null)switch(A){case ue.Verbose:return JSON.stringify(d,null,4);case ue.Compact:return JSON.stringify(d);default:return}}function Oo(d){if(!(A===ue.Off||!Y))if(D===Bt.Text){let v;(A===ue.Verbose||A===ue.Compact)&&d.params&&(v=`Params: ${Vt(d.params)}
|
|
12
|
+
|
|
13
|
+
`),Y.log(`Sending request '${d.method} - (${d.id})'.`,v)}else Ri("send-request",d)}function Hx(d){if(!(A===ue.Off||!Y))if(D===Bt.Text){let v;(A===ue.Verbose||A===ue.Compact)&&(d.params?v=`Params: ${Vt(d.params)}
|
|
14
|
+
|
|
15
|
+
`:v=`No parameters provided.
|
|
16
|
+
|
|
17
|
+
`),Y.log(`Sending notification '${d.method}'.`,v)}else Ri("send-notification",d)}function Lo(d,v,C){if(!(A===ue.Off||!Y))if(D===Bt.Text){let q;(A===ue.Verbose||A===ue.Compact)&&(d.error&&d.error.data?q=`Error data: ${Vt(d.error.data)}
|
|
18
|
+
|
|
19
|
+
`:d.result?q=`Result: ${Vt(d.result)}
|
|
20
|
+
|
|
21
|
+
`:d.error===void 0&&(q=`No result returned.
|
|
22
|
+
|
|
23
|
+
`)),Y.log(`Sending response '${v} - (${d.id})'. Processing request took ${Date.now()-C}ms`,q)}else Ri("send-response",d)}function Yx(d){if(!(A===ue.Off||!Y))if(D===Bt.Text){let v;(A===ue.Verbose||A===ue.Compact)&&d.params&&(v=`Params: ${Vt(d.params)}
|
|
24
|
+
|
|
25
|
+
`),Y.log(`Received request '${d.method} - (${d.id})'.`,v)}else Ri("receive-request",d)}function ou(d){if(!(A===ue.Off||!Y||d.method===El.type.method))if(D===Bt.Text){let v;(A===ue.Verbose||A===ue.Compact)&&(d.params?v=`Params: ${Vt(d.params)}
|
|
26
|
+
|
|
27
|
+
`:v=`No parameters provided.
|
|
28
|
+
|
|
29
|
+
`),Y.log(`Received notification '${d.method}'.`,v)}else Ri("receive-notification",d)}function Xx(d,v){if(!(A===ue.Off||!Y))if(D===Bt.Text){let C;if((A===ue.Verbose||A===ue.Compact)&&(d.error&&d.error.data?C=`Error data: ${Vt(d.error.data)}
|
|
30
|
+
|
|
31
|
+
`:d.result?C=`Result: ${Vt(d.result)}
|
|
32
|
+
|
|
33
|
+
`:d.error===void 0&&(C=`No result returned.
|
|
34
|
+
|
|
35
|
+
`)),v){let q=d.error?` Request failed: ${d.error.message} (${d.error.code}).`:"";Y.log(`Received response '${v.method} - (${d.id})' in ${Date.now()-v.timerStart}ms.${q}`,C)}else Y.log(`Received response ${d.id} without active response promise.`,C)}else Ri("receive-response",d)}function Ri(d,v){if(!Y||A===ue.Off)return;let C={isLSPMessage:!0,type:d,message:v,timestamp:Date.now()};Y.log(C)}function qs(){if(F())throw new Rs(ho.Closed,"Connection is closed.");if(I())throw new Rs(ho.Disposed,"Connection is disposed.")}function Jx(){if(b())throw new Rs(ho.AlreadyListening,"Connection is already listening")}function Qx(){if(!b())throw new Error("Call listen() first.")}function zs(d){return d===void 0?null:d}function Hh(d){if(d!==null)return d}function Yh(d){return d!=null&&!Array.isArray(d)&&typeof d=="object"}function cu(d,v){switch(d){case K.ParameterStructures.auto:return Yh(v)?Hh(v):[zs(v)];case K.ParameterStructures.byName:if(!Yh(v))throw new Error("Received parameters by name but param is not an object literal.");return Hh(v);case K.ParameterStructures.byPosition:return[zs(v)];default:throw new Error(`Unknown parameter structure ${d.toString()}`)}}function Xh(d,v){let C,q=d.numberOfParams;switch(q){case 0:C=void 0;break;case 1:C=cu(d.parameterStructures,v[0]);break;default:C=[];for(let Ee=0;Ee<v.length&&Ee<q;Ee++)C.push(zs(v[Ee]));if(v.length<q)for(let Ee=v.length;Ee<q;Ee++)C.push(null);break}return C}let xi={sendNotification:(d,...v)=>{qs();let C,q;if(De.string(d)){C=d;let he=v[0],Me=0,ze=K.ParameterStructures.auto;K.ParameterStructures.is(he)&&(Me=1,ze=he);let oe=v.length,be=oe-Me;switch(be){case 0:q=void 0;break;case 1:q=cu(ze,v[Me]);break;default:if(ze===K.ParameterStructures.byName)throw new Error(`Received ${be} parameters for 'by Name' notification parameter structure.`);q=v.slice(Me,oe).map(pe=>zs(pe));break}}else{let he=v;C=d.method,q=Xh(d,he)}let Ee={jsonrpc:c,method:C,params:q};return Hx(Ee),e.write(Ee).catch(he=>{throw i.error("Sending notification failed."),he})},onNotification:(d,v)=>{qs();let C;return De.func(d)?p=d:v&&(De.string(d)?(C=d,h.set(d,{type:void 0,handler:v})):(C=d.method,h.set(d.method,{type:d,handler:v}))),{dispose:()=>{C!==void 0?h.delete(C):p=void 0}}},onProgress:(d,v,C)=>{if(g.has(v))throw new Error(`Progress handler for token ${v} already registered`);return g.set(v,C),{dispose:()=>{g.delete(v)}}},sendProgress:(d,v,C)=>xi.sendNotification(po.type,{token:v,value:C}),onUnhandledProgress:nt.event,sendRequest:(d,...v)=>{qs(),Qx();let C,q,Ee;if(De.string(d)){C=d;let oe=v[0],be=v[v.length-1],pe=0,He=K.ParameterStructures.auto;K.ParameterStructures.is(oe)&&(pe=1,He=oe);let xt=v.length;Up.CancellationToken.is(be)&&(xt=xt-1,Ee=be);let dr=xt-pe;switch(dr){case 0:q=void 0;break;case 1:q=cu(He,v[pe]);break;default:if(He===K.ParameterStructures.byName)throw new Error(`Received ${dr} parameters for 'by Name' request parameter structure.`);q=v.slice(pe,xt).map(Zx=>zs(Zx));break}}else{let oe=v;C=d.method,q=Xh(d,oe);let be=d.numberOfParams;Ee=Up.CancellationToken.is(oe[be])?oe[be]:void 0}let he=s++,Me;Ee&&(Me=Ee.onCancellationRequested(()=>{let oe=y.sender.sendCancellation(xi,he);return oe===void 0?(i.log(`Received no promise from cancellation strategy when cancelling id ${he}`),Promise.resolve()):oe.catch(()=>{i.log(`Sending cancellation messages for id ${he} failed`)})}));let ze={jsonrpc:c,id:he,method:C,params:q};return Oo(ze),typeof y.sender.enableCancellation=="function"&&y.sender.enableCancellation(ze),new Promise(async(oe,be)=>{let pe=dr=>{oe(dr),y.sender.cleanup(he),Me?.dispose()},He=dr=>{be(dr),y.sender.cleanup(he),Me?.dispose()},xt={method:C,timerStart:Date.now(),resolve:pe,reject:He};try{await e.write(ze),U.set(he,xt)}catch(dr){throw i.error("Sending request failed."),xt.reject(new K.ResponseError(K.ErrorCodes.MessageWriteError,dr.message?dr.message:"Unknown reason")),dr}})},onRequest:(d,v)=>{qs();let C=null;return jp.is(d)?(C=void 0,l=d):De.string(d)?(C=null,v!==void 0&&(C=d,f.set(d,{handler:v,type:void 0}))):v!==void 0&&(C=d.method,f.set(d.method,{type:d,handler:v})),{dispose:()=>{C!==null&&(C!==void 0?f.delete(C):l=void 0)}}},hasPendingResponse:()=>U.size>0,trace:async(d,v,C)=>{let q=!1,Ee=Bt.Text;C!==void 0&&(De.boolean(C)?q=C:(q=C.sendNotification||!1,Ee=C.traceFormat||Bt.Text)),A=d,D=Ee,A===ue.Off?Y=void 0:Y=v,q&&!F()&&!I()&&await xi.sendNotification(Bp.type,{value:ue.toString(d)})},onError:Rt.event,onClose:ct.event,onUnhandledNotification:Mt.event,onDispose:S.event,end:()=>{e.end()},dispose:()=>{if(I())return;ve=cr.Disposed,S.fire(void 0);let d=new K.ResponseError(K.ErrorCodes.PendingResponseRejected,"Pending response rejected since connection got disposed");for(let v of U.values())v.reject(d);U=new Map,L=new Map,_=new Set,N=new Ry.LinkedMap,De.func(e.dispose)&&e.dispose(),De.func(t.dispose)&&t.dispose()},listen:()=>{qs(),Jx(),ve=cr.Listening,t.listen(it)},inspect:()=>{(0,Ty.default)().console.log("inspect")}};return xi.onNotification(El.type,d=>{if(A===ue.Off||!Y)return;let v=A===ue.Verbose||A===ue.Compact;Y.log(d.message,v?d.verbose:void 0)}),xi.onNotification(po.type,d=>{let v=g.get(d.token);v?v(d.value):nt.fire(d)}),xi}Q.createMessageConnection=i$});var Cl=X(R=>{"use strict";Object.defineProperty(R,"__esModule",{value:!0});R.ProgressType=R.ProgressToken=R.createMessageConnection=R.NullLogger=R.ConnectionOptions=R.ConnectionStrategy=R.AbstractMessageBuffer=R.WriteableStreamMessageWriter=R.AbstractMessageWriter=R.MessageWriter=R.ReadableStreamMessageReader=R.AbstractMessageReader=R.MessageReader=R.SharedArrayReceiverStrategy=R.SharedArraySenderStrategy=R.CancellationToken=R.CancellationTokenSource=R.Emitter=R.Event=R.Disposable=R.LRUCache=R.Touch=R.LinkedMap=R.ParameterStructures=R.NotificationType9=R.NotificationType8=R.NotificationType7=R.NotificationType6=R.NotificationType5=R.NotificationType4=R.NotificationType3=R.NotificationType2=R.NotificationType1=R.NotificationType0=R.NotificationType=R.ErrorCodes=R.ResponseError=R.RequestType9=R.RequestType8=R.RequestType7=R.RequestType6=R.RequestType5=R.RequestType4=R.RequestType3=R.RequestType2=R.RequestType1=R.RequestType0=R.RequestType=R.Message=R.RAL=void 0;R.MessageStrategy=R.CancellationStrategy=R.CancellationSenderStrategy=R.CancellationReceiverStrategy=R.ConnectionError=R.ConnectionErrors=R.LogTraceNotification=R.SetTraceNotification=R.TraceFormat=R.TraceValues=R.Trace=void 0;var xe=$p();Object.defineProperty(R,"Message",{enumerable:!0,get:function(){return xe.Message}});Object.defineProperty(R,"RequestType",{enumerable:!0,get:function(){return xe.RequestType}});Object.defineProperty(R,"RequestType0",{enumerable:!0,get:function(){return xe.RequestType0}});Object.defineProperty(R,"RequestType1",{enumerable:!0,get:function(){return xe.RequestType1}});Object.defineProperty(R,"RequestType2",{enumerable:!0,get:function(){return xe.RequestType2}});Object.defineProperty(R,"RequestType3",{enumerable:!0,get:function(){return xe.RequestType3}});Object.defineProperty(R,"RequestType4",{enumerable:!0,get:function(){return xe.RequestType4}});Object.defineProperty(R,"RequestType5",{enumerable:!0,get:function(){return xe.RequestType5}});Object.defineProperty(R,"RequestType6",{enumerable:!0,get:function(){return xe.RequestType6}});Object.defineProperty(R,"RequestType7",{enumerable:!0,get:function(){return xe.RequestType7}});Object.defineProperty(R,"RequestType8",{enumerable:!0,get:function(){return xe.RequestType8}});Object.defineProperty(R,"RequestType9",{enumerable:!0,get:function(){return xe.RequestType9}});Object.defineProperty(R,"ResponseError",{enumerable:!0,get:function(){return xe.ResponseError}});Object.defineProperty(R,"ErrorCodes",{enumerable:!0,get:function(){return xe.ErrorCodes}});Object.defineProperty(R,"NotificationType",{enumerable:!0,get:function(){return xe.NotificationType}});Object.defineProperty(R,"NotificationType0",{enumerable:!0,get:function(){return xe.NotificationType0}});Object.defineProperty(R,"NotificationType1",{enumerable:!0,get:function(){return xe.NotificationType1}});Object.defineProperty(R,"NotificationType2",{enumerable:!0,get:function(){return xe.NotificationType2}});Object.defineProperty(R,"NotificationType3",{enumerable:!0,get:function(){return xe.NotificationType3}});Object.defineProperty(R,"NotificationType4",{enumerable:!0,get:function(){return xe.NotificationType4}});Object.defineProperty(R,"NotificationType5",{enumerable:!0,get:function(){return xe.NotificationType5}});Object.defineProperty(R,"NotificationType6",{enumerable:!0,get:function(){return xe.NotificationType6}});Object.defineProperty(R,"NotificationType7",{enumerable:!0,get:function(){return xe.NotificationType7}});Object.defineProperty(R,"NotificationType8",{enumerable:!0,get:function(){return xe.NotificationType8}});Object.defineProperty(R,"NotificationType9",{enumerable:!0,get:function(){return xe.NotificationType9}});Object.defineProperty(R,"ParameterStructures",{enumerable:!0,get:function(){return xe.ParameterStructures}});var Kp=kp();Object.defineProperty(R,"LinkedMap",{enumerable:!0,get:function(){return Kp.LinkedMap}});Object.defineProperty(R,"LRUCache",{enumerable:!0,get:function(){return Kp.LRUCache}});Object.defineProperty(R,"Touch",{enumerable:!0,get:function(){return Kp.Touch}});var s$=cy();Object.defineProperty(R,"Disposable",{enumerable:!0,get:function(){return s$.Disposable}});var Ay=ai();Object.defineProperty(R,"Event",{enumerable:!0,get:function(){return Ay.Event}});Object.defineProperty(R,"Emitter",{enumerable:!0,get:function(){return Ay.Emitter}});var $y=Wa();Object.defineProperty(R,"CancellationTokenSource",{enumerable:!0,get:function(){return $y.CancellationTokenSource}});Object.defineProperty(R,"CancellationToken",{enumerable:!0,get:function(){return $y.CancellationToken}});var Sy=ly();Object.defineProperty(R,"SharedArraySenderStrategy",{enumerable:!0,get:function(){return Sy.SharedArraySenderStrategy}});Object.defineProperty(R,"SharedArrayReceiverStrategy",{enumerable:!0,get:function(){return Sy.SharedArrayReceiverStrategy}});var Hp=fy();Object.defineProperty(R,"MessageReader",{enumerable:!0,get:function(){return Hp.MessageReader}});Object.defineProperty(R,"AbstractMessageReader",{enumerable:!0,get:function(){return Hp.AbstractMessageReader}});Object.defineProperty(R,"ReadableStreamMessageReader",{enumerable:!0,get:function(){return Hp.ReadableStreamMessageReader}});var Yp=gy();Object.defineProperty(R,"MessageWriter",{enumerable:!0,get:function(){return Yp.MessageWriter}});Object.defineProperty(R,"AbstractMessageWriter",{enumerable:!0,get:function(){return Yp.AbstractMessageWriter}});Object.defineProperty(R,"WriteableStreamMessageWriter",{enumerable:!0,get:function(){return Yp.WriteableStreamMessageWriter}});var a$=yy();Object.defineProperty(R,"AbstractMessageBuffer",{enumerable:!0,get:function(){return a$.AbstractMessageBuffer}});var ot=Ey();Object.defineProperty(R,"ConnectionStrategy",{enumerable:!0,get:function(){return ot.ConnectionStrategy}});Object.defineProperty(R,"ConnectionOptions",{enumerable:!0,get:function(){return ot.ConnectionOptions}});Object.defineProperty(R,"NullLogger",{enumerable:!0,get:function(){return ot.NullLogger}});Object.defineProperty(R,"createMessageConnection",{enumerable:!0,get:function(){return ot.createMessageConnection}});Object.defineProperty(R,"ProgressToken",{enumerable:!0,get:function(){return ot.ProgressToken}});Object.defineProperty(R,"ProgressType",{enumerable:!0,get:function(){return ot.ProgressType}});Object.defineProperty(R,"Trace",{enumerable:!0,get:function(){return ot.Trace}});Object.defineProperty(R,"TraceValues",{enumerable:!0,get:function(){return ot.TraceValues}});Object.defineProperty(R,"TraceFormat",{enumerable:!0,get:function(){return ot.TraceFormat}});Object.defineProperty(R,"SetTraceNotification",{enumerable:!0,get:function(){return ot.SetTraceNotification}});Object.defineProperty(R,"LogTraceNotification",{enumerable:!0,get:function(){return ot.LogTraceNotification}});Object.defineProperty(R,"ConnectionErrors",{enumerable:!0,get:function(){return ot.ConnectionErrors}});Object.defineProperty(R,"ConnectionError",{enumerable:!0,get:function(){return ot.ConnectionError}});Object.defineProperty(R,"CancellationReceiverStrategy",{enumerable:!0,get:function(){return ot.CancellationReceiverStrategy}});Object.defineProperty(R,"CancellationSenderStrategy",{enumerable:!0,get:function(){return ot.CancellationSenderStrategy}});Object.defineProperty(R,"CancellationStrategy",{enumerable:!0,get:function(){return ot.CancellationStrategy}});Object.defineProperty(R,"MessageStrategy",{enumerable:!0,get:function(){return ot.MessageStrategy}});var o$=yn();R.RAL=o$.default});var Ny=X(Zp=>{"use strict";Object.defineProperty(Zp,"__esModule",{value:!0});var Sr=Cl(),wl=class t extends Sr.AbstractMessageBuffer{constructor(e="utf-8"){super(e),this.asciiDecoder=new TextDecoder("ascii")}emptyBuffer(){return t.emptyBuffer}fromString(e,r){return new TextEncoder().encode(e)}toString(e,r){return r==="ascii"?this.asciiDecoder.decode(e):new TextDecoder(r).decode(e)}asNative(e,r){return r===void 0?e:e.slice(0,r)}allocNative(e){return new Uint8Array(e)}};wl.emptyBuffer=new Uint8Array(0);var Xp=class{constructor(e){this.socket=e,this._onData=new Sr.Emitter,this._messageListener=r=>{r.data.arrayBuffer().then(i=>{this._onData.fire(new Uint8Array(i))},()=>{(0,Sr.RAL)().console.error("Converting blob to array buffer failed.")})},this.socket.addEventListener("message",this._messageListener)}onClose(e){return this.socket.addEventListener("close",e),Sr.Disposable.create(()=>this.socket.removeEventListener("close",e))}onError(e){return this.socket.addEventListener("error",e),Sr.Disposable.create(()=>this.socket.removeEventListener("error",e))}onEnd(e){return this.socket.addEventListener("end",e),Sr.Disposable.create(()=>this.socket.removeEventListener("end",e))}onData(e){return this._onData.event(e)}},Jp=class{constructor(e){this.socket=e}onClose(e){return this.socket.addEventListener("close",e),Sr.Disposable.create(()=>this.socket.removeEventListener("close",e))}onError(e){return this.socket.addEventListener("error",e),Sr.Disposable.create(()=>this.socket.removeEventListener("error",e))}onEnd(e){return this.socket.addEventListener("end",e),Sr.Disposable.create(()=>this.socket.removeEventListener("end",e))}write(e,r){if(typeof e=="string"){if(r!==void 0&&r!=="utf-8")throw new Error(`In a Browser environments only utf-8 text encoding is supported. But got encoding: ${r}`);this.socket.send(e)}else this.socket.send(e);return Promise.resolve()}end(){this.socket.close()}},c$=new TextEncoder,ky=Object.freeze({messageBuffer:Object.freeze({create:t=>new wl(t)}),applicationJson:Object.freeze({encoder:Object.freeze({name:"application/json",encode:(t,e)=>{if(e.charset!=="utf-8")throw new Error(`In a Browser environments only utf-8 text encoding is supported. But got encoding: ${e.charset}`);return Promise.resolve(c$.encode(JSON.stringify(t,void 0,0)))}}),decoder:Object.freeze({name:"application/json",decode:(t,e)=>{if(!(t instanceof Uint8Array))throw new Error("In a Browser environments only Uint8Arrays are supported.");return Promise.resolve(JSON.parse(new TextDecoder(e.charset).decode(t)))}})}),stream:Object.freeze({asReadableStream:t=>new Xp(t),asWritableStream:t=>new Jp(t)}),console,timer:Object.freeze({setTimeout(t,e,...r){let n=setTimeout(t,e,...r);return{dispose:()=>clearTimeout(n)}},setImmediate(t,...e){let r=setTimeout(t,0,...e);return{dispose:()=>clearTimeout(r)}},setInterval(t,e,...r){let n=setInterval(t,e,...r);return{dispose:()=>clearInterval(n)}}})});function Qp(){return ky}(function(t){function e(){Sr.RAL.install(ky)}t.install=e})(Qp||(Qp={}));Zp.default=Qp});var di=X(Wt=>{"use strict";var l$=Wt&&Wt.__createBinding||(Object.create?(function(t,e,r,n){n===void 0&&(n=r);var i=Object.getOwnPropertyDescriptor(e,r);(!i||("get"in i?!e.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,i)}):(function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]})),u$=Wt&&Wt.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&l$(e,t,r)};Object.defineProperty(Wt,"__esModule",{value:!0});Wt.createMessageConnection=Wt.BrowserMessageWriter=Wt.BrowserMessageReader=void 0;var f$=Ny();f$.default.install();var xs=Cl();u$(Cl(),Wt);var eh=class extends xs.AbstractMessageReader{constructor(e){super(),this._onData=new xs.Emitter,this._messageListener=r=>{this._onData.fire(r.data)},e.addEventListener("error",r=>this.fireError(r)),e.onmessage=this._messageListener}listen(e){return this._onData.event(e)}};Wt.BrowserMessageReader=eh;var th=class extends xs.AbstractMessageWriter{constructor(e){super(),this.port=e,this.errorCount=0,e.addEventListener("error",r=>this.fireError(r))}write(e){try{return this.port.postMessage(e),Promise.resolve()}catch(r){return this.handleError(r,e),Promise.reject(r)}}handleError(e,r){this.errorCount++,this.fireError(e,r,this.errorCount)}end(){}};Wt.BrowserMessageWriter=th;function d$(t,e,r,n){return r===void 0&&(r=xs.NullLogger),xs.ConnectionStrategy.is(n)&&(n={connectionStrategy:n}),(0,xs.createMessageConnection)(t,e,r,n)}Wt.createMessageConnection=d$});var rh=X((Db,Cy)=>{"use strict";Cy.exports=di()});var _e=X(Ot=>{"use strict";Object.defineProperty(Ot,"__esModule",{value:!0});Ot.ProtocolNotificationType=Ot.ProtocolNotificationType0=Ot.ProtocolRequestType=Ot.ProtocolRequestType0=Ot.RegistrationType=Ot.MessageDirection=void 0;var vs=di(),wy;(function(t){t.clientToServer="clientToServer",t.serverToClient="serverToClient",t.both="both"})(wy||(Ot.MessageDirection=wy={}));var nh=class{constructor(e){this.method=e}};Ot.RegistrationType=nh;var ih=class extends vs.RequestType0{constructor(e){super(e)}};Ot.ProtocolRequestType0=ih;var sh=class extends vs.RequestType{constructor(e){super(e,vs.ParameterStructures.byName)}};Ot.ProtocolRequestType=sh;var ah=class extends vs.NotificationType0{constructor(e){super(e)}};Ot.ProtocolNotificationType0=ah;var oh=class extends vs.NotificationType{constructor(e){super(e,vs.ParameterStructures.byName)}};Ot.ProtocolNotificationType=oh});var Il=X(Ke=>{"use strict";Object.defineProperty(Ke,"__esModule",{value:!0});Ke.objectLiteral=Ke.typedArray=Ke.stringArray=Ke.array=Ke.func=Ke.error=Ke.number=Ke.string=Ke.boolean=void 0;function p$(t){return t===!0||t===!1}Ke.boolean=p$;function Iy(t){return typeof t=="string"||t instanceof String}Ke.string=Iy;function h$(t){return typeof t=="number"||t instanceof Number}Ke.number=h$;function m$(t){return t instanceof Error}Ke.error=m$;function g$(t){return typeof t=="function"}Ke.func=g$;function _y(t){return Array.isArray(t)}Ke.array=_y;function y$(t){return _y(t)&&t.every(e=>Iy(e))}Ke.stringArray=y$;function T$(t,e){return Array.isArray(t)&&t.every(e)}Ke.typedArray=T$;function R$(t){return t!==null&&typeof t=="object"}Ke.objectLiteral=R$});var Oy=X(_l=>{"use strict";Object.defineProperty(_l,"__esModule",{value:!0});_l.ImplementationRequest=void 0;var by=_e(),Py;(function(t){t.method="textDocument/implementation",t.messageDirection=by.MessageDirection.clientToServer,t.type=new by.ProtocolRequestType(t.method)})(Py||(_l.ImplementationRequest=Py={}))});var My=X(bl=>{"use strict";Object.defineProperty(bl,"__esModule",{value:!0});bl.TypeDefinitionRequest=void 0;var Ly=_e(),Dy;(function(t){t.method="textDocument/typeDefinition",t.messageDirection=Ly.MessageDirection.clientToServer,t.type=new Ly.ProtocolRequestType(t.method)})(Dy||(bl.TypeDefinitionRequest=Dy={}))});var Uy=X(Es=>{"use strict";Object.defineProperty(Es,"__esModule",{value:!0});Es.DidChangeWorkspaceFoldersNotification=Es.WorkspaceFoldersRequest=void 0;var Pl=_e(),Fy;(function(t){t.method="workspace/workspaceFolders",t.messageDirection=Pl.MessageDirection.serverToClient,t.type=new Pl.ProtocolRequestType0(t.method)})(Fy||(Es.WorkspaceFoldersRequest=Fy={}));var Gy;(function(t){t.method="workspace/didChangeWorkspaceFolders",t.messageDirection=Pl.MessageDirection.clientToServer,t.type=new Pl.ProtocolNotificationType(t.method)})(Gy||(Es.DidChangeWorkspaceFoldersNotification=Gy={}))});var jy=X(Ol=>{"use strict";Object.defineProperty(Ol,"__esModule",{value:!0});Ol.ConfigurationRequest=void 0;var qy=_e(),zy;(function(t){t.method="workspace/configuration",t.messageDirection=qy.MessageDirection.serverToClient,t.type=new qy.ProtocolRequestType(t.method)})(zy||(Ol.ConfigurationRequest=zy={}))});var Vy=X(As=>{"use strict";Object.defineProperty(As,"__esModule",{value:!0});As.ColorPresentationRequest=As.DocumentColorRequest=void 0;var Ll=_e(),By;(function(t){t.method="textDocument/documentColor",t.messageDirection=Ll.MessageDirection.clientToServer,t.type=new Ll.ProtocolRequestType(t.method)})(By||(As.DocumentColorRequest=By={}));var Wy;(function(t){t.method="textDocument/colorPresentation",t.messageDirection=Ll.MessageDirection.clientToServer,t.type=new Ll.ProtocolRequestType(t.method)})(Wy||(As.ColorPresentationRequest=Wy={}))});var Yy=X($s=>{"use strict";Object.defineProperty($s,"__esModule",{value:!0});$s.FoldingRangeRefreshRequest=$s.FoldingRangeRequest=void 0;var Dl=_e(),Ky;(function(t){t.method="textDocument/foldingRange",t.messageDirection=Dl.MessageDirection.clientToServer,t.type=new Dl.ProtocolRequestType(t.method)})(Ky||($s.FoldingRangeRequest=Ky={}));var Hy;(function(t){t.method="workspace/foldingRange/refresh",t.messageDirection=Dl.MessageDirection.serverToClient,t.type=new Dl.ProtocolRequestType0(t.method)})(Hy||($s.FoldingRangeRefreshRequest=Hy={}))});var Qy=X(Ml=>{"use strict";Object.defineProperty(Ml,"__esModule",{value:!0});Ml.DeclarationRequest=void 0;var Xy=_e(),Jy;(function(t){t.method="textDocument/declaration",t.messageDirection=Xy.MessageDirection.clientToServer,t.type=new Xy.ProtocolRequestType(t.method)})(Jy||(Ml.DeclarationRequest=Jy={}))});var tT=X(Fl=>{"use strict";Object.defineProperty(Fl,"__esModule",{value:!0});Fl.SelectionRangeRequest=void 0;var Zy=_e(),eT;(function(t){t.method="textDocument/selectionRange",t.messageDirection=Zy.MessageDirection.clientToServer,t.type=new Zy.ProtocolRequestType(t.method)})(eT||(Fl.SelectionRangeRequest=eT={}))});var sT=X(vn=>{"use strict";Object.defineProperty(vn,"__esModule",{value:!0});vn.WorkDoneProgressCancelNotification=vn.WorkDoneProgressCreateRequest=vn.WorkDoneProgress=void 0;var x$=di(),Gl=_e(),rT;(function(t){t.type=new x$.ProgressType;function e(r){return r===t.type}t.is=e})(rT||(vn.WorkDoneProgress=rT={}));var nT;(function(t){t.method="window/workDoneProgress/create",t.messageDirection=Gl.MessageDirection.serverToClient,t.type=new Gl.ProtocolRequestType(t.method)})(nT||(vn.WorkDoneProgressCreateRequest=nT={}));var iT;(function(t){t.method="window/workDoneProgress/cancel",t.messageDirection=Gl.MessageDirection.clientToServer,t.type=new Gl.ProtocolNotificationType(t.method)})(iT||(vn.WorkDoneProgressCancelNotification=iT={}))});var lT=X(En=>{"use strict";Object.defineProperty(En,"__esModule",{value:!0});En.CallHierarchyOutgoingCallsRequest=En.CallHierarchyIncomingCallsRequest=En.CallHierarchyPrepareRequest=void 0;var Ss=_e(),aT;(function(t){t.method="textDocument/prepareCallHierarchy",t.messageDirection=Ss.MessageDirection.clientToServer,t.type=new Ss.ProtocolRequestType(t.method)})(aT||(En.CallHierarchyPrepareRequest=aT={}));var oT;(function(t){t.method="callHierarchy/incomingCalls",t.messageDirection=Ss.MessageDirection.clientToServer,t.type=new Ss.ProtocolRequestType(t.method)})(oT||(En.CallHierarchyIncomingCallsRequest=oT={}));var cT;(function(t){t.method="callHierarchy/outgoingCalls",t.messageDirection=Ss.MessageDirection.clientToServer,t.type=new Ss.ProtocolRequestType(t.method)})(cT||(En.CallHierarchyOutgoingCallsRequest=cT={}))});var mT=X(Lt=>{"use strict";Object.defineProperty(Lt,"__esModule",{value:!0});Lt.SemanticTokensRefreshRequest=Lt.SemanticTokensRangeRequest=Lt.SemanticTokensDeltaRequest=Lt.SemanticTokensRequest=Lt.SemanticTokensRegistrationType=Lt.TokenFormat=void 0;var Xr=_e(),uT;(function(t){t.Relative="relative"})(uT||(Lt.TokenFormat=uT={}));var go;(function(t){t.method="textDocument/semanticTokens",t.type=new Xr.RegistrationType(t.method)})(go||(Lt.SemanticTokensRegistrationType=go={}));var fT;(function(t){t.method="textDocument/semanticTokens/full",t.messageDirection=Xr.MessageDirection.clientToServer,t.type=new Xr.ProtocolRequestType(t.method),t.registrationMethod=go.method})(fT||(Lt.SemanticTokensRequest=fT={}));var dT;(function(t){t.method="textDocument/semanticTokens/full/delta",t.messageDirection=Xr.MessageDirection.clientToServer,t.type=new Xr.ProtocolRequestType(t.method),t.registrationMethod=go.method})(dT||(Lt.SemanticTokensDeltaRequest=dT={}));var pT;(function(t){t.method="textDocument/semanticTokens/range",t.messageDirection=Xr.MessageDirection.clientToServer,t.type=new Xr.ProtocolRequestType(t.method),t.registrationMethod=go.method})(pT||(Lt.SemanticTokensRangeRequest=pT={}));var hT;(function(t){t.method="workspace/semanticTokens/refresh",t.messageDirection=Xr.MessageDirection.serverToClient,t.type=new Xr.ProtocolRequestType0(t.method)})(hT||(Lt.SemanticTokensRefreshRequest=hT={}))});var TT=X(Ul=>{"use strict";Object.defineProperty(Ul,"__esModule",{value:!0});Ul.ShowDocumentRequest=void 0;var gT=_e(),yT;(function(t){t.method="window/showDocument",t.messageDirection=gT.MessageDirection.serverToClient,t.type=new gT.ProtocolRequestType(t.method)})(yT||(Ul.ShowDocumentRequest=yT={}))});var vT=X(ql=>{"use strict";Object.defineProperty(ql,"__esModule",{value:!0});ql.LinkedEditingRangeRequest=void 0;var RT=_e(),xT;(function(t){t.method="textDocument/linkedEditingRange",t.messageDirection=RT.MessageDirection.clientToServer,t.type=new RT.ProtocolRequestType(t.method)})(xT||(ql.LinkedEditingRangeRequest=xT={}))});var wT=X(Tt=>{"use strict";Object.defineProperty(Tt,"__esModule",{value:!0});Tt.WillDeleteFilesRequest=Tt.DidDeleteFilesNotification=Tt.DidRenameFilesNotification=Tt.WillRenameFilesRequest=Tt.DidCreateFilesNotification=Tt.WillCreateFilesRequest=Tt.FileOperationPatternKind=void 0;var Xt=_e(),ET;(function(t){t.file="file",t.folder="folder"})(ET||(Tt.FileOperationPatternKind=ET={}));var AT;(function(t){t.method="workspace/willCreateFiles",t.messageDirection=Xt.MessageDirection.clientToServer,t.type=new Xt.ProtocolRequestType(t.method)})(AT||(Tt.WillCreateFilesRequest=AT={}));var $T;(function(t){t.method="workspace/didCreateFiles",t.messageDirection=Xt.MessageDirection.clientToServer,t.type=new Xt.ProtocolNotificationType(t.method)})($T||(Tt.DidCreateFilesNotification=$T={}));var ST;(function(t){t.method="workspace/willRenameFiles",t.messageDirection=Xt.MessageDirection.clientToServer,t.type=new Xt.ProtocolRequestType(t.method)})(ST||(Tt.WillRenameFilesRequest=ST={}));var kT;(function(t){t.method="workspace/didRenameFiles",t.messageDirection=Xt.MessageDirection.clientToServer,t.type=new Xt.ProtocolNotificationType(t.method)})(kT||(Tt.DidRenameFilesNotification=kT={}));var NT;(function(t){t.method="workspace/didDeleteFiles",t.messageDirection=Xt.MessageDirection.clientToServer,t.type=new Xt.ProtocolNotificationType(t.method)})(NT||(Tt.DidDeleteFilesNotification=NT={}));var CT;(function(t){t.method="workspace/willDeleteFiles",t.messageDirection=Xt.MessageDirection.clientToServer,t.type=new Xt.ProtocolRequestType(t.method)})(CT||(Tt.WillDeleteFilesRequest=CT={}))});var OT=X(An=>{"use strict";Object.defineProperty(An,"__esModule",{value:!0});An.MonikerRequest=An.MonikerKind=An.UniquenessLevel=void 0;var IT=_e(),_T;(function(t){t.document="document",t.project="project",t.group="group",t.scheme="scheme",t.global="global"})(_T||(An.UniquenessLevel=_T={}));var bT;(function(t){t.$import="import",t.$export="export",t.local="local"})(bT||(An.MonikerKind=bT={}));var PT;(function(t){t.method="textDocument/moniker",t.messageDirection=IT.MessageDirection.clientToServer,t.type=new IT.ProtocolRequestType(t.method)})(PT||(An.MonikerRequest=PT={}))});var FT=X($n=>{"use strict";Object.defineProperty($n,"__esModule",{value:!0});$n.TypeHierarchySubtypesRequest=$n.TypeHierarchySupertypesRequest=$n.TypeHierarchyPrepareRequest=void 0;var ks=_e(),LT;(function(t){t.method="textDocument/prepareTypeHierarchy",t.messageDirection=ks.MessageDirection.clientToServer,t.type=new ks.ProtocolRequestType(t.method)})(LT||($n.TypeHierarchyPrepareRequest=LT={}));var DT;(function(t){t.method="typeHierarchy/supertypes",t.messageDirection=ks.MessageDirection.clientToServer,t.type=new ks.ProtocolRequestType(t.method)})(DT||($n.TypeHierarchySupertypesRequest=DT={}));var MT;(function(t){t.method="typeHierarchy/subtypes",t.messageDirection=ks.MessageDirection.clientToServer,t.type=new ks.ProtocolRequestType(t.method)})(MT||($n.TypeHierarchySubtypesRequest=MT={}))});var qT=X(Ns=>{"use strict";Object.defineProperty(Ns,"__esModule",{value:!0});Ns.InlineValueRefreshRequest=Ns.InlineValueRequest=void 0;var zl=_e(),GT;(function(t){t.method="textDocument/inlineValue",t.messageDirection=zl.MessageDirection.clientToServer,t.type=new zl.ProtocolRequestType(t.method)})(GT||(Ns.InlineValueRequest=GT={}));var UT;(function(t){t.method="workspace/inlineValue/refresh",t.messageDirection=zl.MessageDirection.serverToClient,t.type=new zl.ProtocolRequestType0(t.method)})(UT||(Ns.InlineValueRefreshRequest=UT={}))});var WT=X(Sn=>{"use strict";Object.defineProperty(Sn,"__esModule",{value:!0});Sn.InlayHintRefreshRequest=Sn.InlayHintResolveRequest=Sn.InlayHintRequest=void 0;var Cs=_e(),zT;(function(t){t.method="textDocument/inlayHint",t.messageDirection=Cs.MessageDirection.clientToServer,t.type=new Cs.ProtocolRequestType(t.method)})(zT||(Sn.InlayHintRequest=zT={}));var jT;(function(t){t.method="inlayHint/resolve",t.messageDirection=Cs.MessageDirection.clientToServer,t.type=new Cs.ProtocolRequestType(t.method)})(jT||(Sn.InlayHintResolveRequest=jT={}));var BT;(function(t){t.method="workspace/inlayHint/refresh",t.messageDirection=Cs.MessageDirection.serverToClient,t.type=new Cs.ProtocolRequestType0(t.method)})(BT||(Sn.InlayHintRefreshRequest=BT={}))});var QT=X(Jt=>{"use strict";Object.defineProperty(Jt,"__esModule",{value:!0});Jt.DiagnosticRefreshRequest=Jt.WorkspaceDiagnosticRequest=Jt.DocumentDiagnosticRequest=Jt.DocumentDiagnosticReportKind=Jt.DiagnosticServerCancellationData=void 0;var JT=di(),v$=Il(),ws=_e(),VT;(function(t){function e(r){let n=r;return n&&v$.boolean(n.retriggerRequest)}t.is=e})(VT||(Jt.DiagnosticServerCancellationData=VT={}));var KT;(function(t){t.Full="full",t.Unchanged="unchanged"})(KT||(Jt.DocumentDiagnosticReportKind=KT={}));var HT;(function(t){t.method="textDocument/diagnostic",t.messageDirection=ws.MessageDirection.clientToServer,t.type=new ws.ProtocolRequestType(t.method),t.partialResult=new JT.ProgressType})(HT||(Jt.DocumentDiagnosticRequest=HT={}));var YT;(function(t){t.method="workspace/diagnostic",t.messageDirection=ws.MessageDirection.clientToServer,t.type=new ws.ProtocolRequestType(t.method),t.partialResult=new JT.ProgressType})(YT||(Jt.WorkspaceDiagnosticRequest=YT={}));var XT;(function(t){t.method="workspace/diagnostic/refresh",t.messageDirection=ws.MessageDirection.serverToClient,t.type=new ws.ProtocolRequestType0(t.method)})(XT||(Jt.DiagnosticRefreshRequest=XT={}))});var sR=X(Ue=>{"use strict";Object.defineProperty(Ue,"__esModule",{value:!0});Ue.DidCloseNotebookDocumentNotification=Ue.DidSaveNotebookDocumentNotification=Ue.DidChangeNotebookDocumentNotification=Ue.NotebookCellArrayChange=Ue.DidOpenNotebookDocumentNotification=Ue.NotebookDocumentSyncRegistrationType=Ue.NotebookDocument=Ue.NotebookCell=Ue.ExecutionSummary=Ue.NotebookCellKind=void 0;var yo=(ss(),uu(rl)),lr=Il(),kr=_e(),ch;(function(t){t.Markup=1,t.Code=2;function e(r){return r===1||r===2}t.is=e})(ch||(Ue.NotebookCellKind=ch={}));var lh;(function(t){function e(i,s){let a={executionOrder:i};return(s===!0||s===!1)&&(a.success=s),a}t.create=e;function r(i){let s=i;return lr.objectLiteral(s)&&yo.uinteger.is(s.executionOrder)&&(s.success===void 0||lr.boolean(s.success))}t.is=r;function n(i,s){return i===s?!0:i==null||s===null||s===void 0?!1:i.executionOrder===s.executionOrder&&i.success===s.success}t.equals=n})(lh||(Ue.ExecutionSummary=lh={}));var jl;(function(t){function e(s,a){return{kind:s,document:a}}t.create=e;function r(s){let a=s;return lr.objectLiteral(a)&&ch.is(a.kind)&&yo.DocumentUri.is(a.document)&&(a.metadata===void 0||lr.objectLiteral(a.metadata))}t.is=r;function n(s,a){let o=new Set;return s.document!==a.document&&o.add("document"),s.kind!==a.kind&&o.add("kind"),s.executionSummary!==a.executionSummary&&o.add("executionSummary"),(s.metadata!==void 0||a.metadata!==void 0)&&!i(s.metadata,a.metadata)&&o.add("metadata"),(s.executionSummary!==void 0||a.executionSummary!==void 0)&&!lh.equals(s.executionSummary,a.executionSummary)&&o.add("executionSummary"),o}t.diff=n;function i(s,a){if(s===a)return!0;if(s==null||a===null||a===void 0||typeof s!=typeof a||typeof s!="object")return!1;let o=Array.isArray(s),c=Array.isArray(a);if(o!==c)return!1;if(o&&c){if(s.length!==a.length)return!1;for(let l=0;l<s.length;l++)if(!i(s[l],a[l]))return!1}if(lr.objectLiteral(s)&&lr.objectLiteral(a)){let l=Object.keys(s),f=Object.keys(a);if(l.length!==f.length||(l.sort(),f.sort(),!i(l,f)))return!1;for(let p=0;p<l.length;p++){let h=l[p];if(!i(s[h],a[h]))return!1}}return!0}})(jl||(Ue.NotebookCell=jl={}));var ZT;(function(t){function e(n,i,s,a){return{uri:n,notebookType:i,version:s,cells:a}}t.create=e;function r(n){let i=n;return lr.objectLiteral(i)&&lr.string(i.uri)&&yo.integer.is(i.version)&&lr.typedArray(i.cells,jl.is)}t.is=r})(ZT||(Ue.NotebookDocument=ZT={}));var Is;(function(t){t.method="notebookDocument/sync",t.messageDirection=kr.MessageDirection.clientToServer,t.type=new kr.RegistrationType(t.method)})(Is||(Ue.NotebookDocumentSyncRegistrationType=Is={}));var eR;(function(t){t.method="notebookDocument/didOpen",t.messageDirection=kr.MessageDirection.clientToServer,t.type=new kr.ProtocolNotificationType(t.method),t.registrationMethod=Is.method})(eR||(Ue.DidOpenNotebookDocumentNotification=eR={}));var tR;(function(t){function e(n){let i=n;return lr.objectLiteral(i)&&yo.uinteger.is(i.start)&&yo.uinteger.is(i.deleteCount)&&(i.cells===void 0||lr.typedArray(i.cells,jl.is))}t.is=e;function r(n,i,s){let a={start:n,deleteCount:i};return s!==void 0&&(a.cells=s),a}t.create=r})(tR||(Ue.NotebookCellArrayChange=tR={}));var rR;(function(t){t.method="notebookDocument/didChange",t.messageDirection=kr.MessageDirection.clientToServer,t.type=new kr.ProtocolNotificationType(t.method),t.registrationMethod=Is.method})(rR||(Ue.DidChangeNotebookDocumentNotification=rR={}));var nR;(function(t){t.method="notebookDocument/didSave",t.messageDirection=kr.MessageDirection.clientToServer,t.type=new kr.ProtocolNotificationType(t.method),t.registrationMethod=Is.method})(nR||(Ue.DidSaveNotebookDocumentNotification=nR={}));var iR;(function(t){t.method="notebookDocument/didClose",t.messageDirection=kr.MessageDirection.clientToServer,t.type=new kr.ProtocolNotificationType(t.method),t.registrationMethod=Is.method})(iR||(Ue.DidCloseNotebookDocumentNotification=iR={}))});var cR=X(Bl=>{"use strict";Object.defineProperty(Bl,"__esModule",{value:!0});Bl.InlineCompletionRequest=void 0;var aR=_e(),oR;(function(t){t.method="textDocument/inlineCompletion",t.messageDirection=aR.MessageDirection.clientToServer,t.type=new aR.ProtocolRequestType(t.method)})(oR||(Bl.InlineCompletionRequest=oR={}))});var vx=X(u=>{"use strict";Object.defineProperty(u,"__esModule",{value:!0});u.WorkspaceSymbolRequest=u.CodeActionResolveRequest=u.CodeActionRequest=u.DocumentSymbolRequest=u.DocumentHighlightRequest=u.ReferencesRequest=u.DefinitionRequest=u.SignatureHelpRequest=u.SignatureHelpTriggerKind=u.HoverRequest=u.CompletionResolveRequest=u.CompletionRequest=u.CompletionTriggerKind=u.PublishDiagnosticsNotification=u.WatchKind=u.RelativePattern=u.FileChangeType=u.DidChangeWatchedFilesNotification=u.WillSaveTextDocumentWaitUntilRequest=u.WillSaveTextDocumentNotification=u.TextDocumentSaveReason=u.DidSaveTextDocumentNotification=u.DidCloseTextDocumentNotification=u.DidChangeTextDocumentNotification=u.TextDocumentContentChangeEvent=u.DidOpenTextDocumentNotification=u.TextDocumentSyncKind=u.TelemetryEventNotification=u.LogMessageNotification=u.ShowMessageRequest=u.ShowMessageNotification=u.MessageType=u.DidChangeConfigurationNotification=u.ExitNotification=u.ShutdownRequest=u.InitializedNotification=u.InitializeErrorCodes=u.InitializeRequest=u.WorkDoneProgressOptions=u.TextDocumentRegistrationOptions=u.StaticRegistrationOptions=u.PositionEncodingKind=u.FailureHandlingKind=u.ResourceOperationKind=u.UnregistrationRequest=u.RegistrationRequest=u.DocumentSelector=u.NotebookCellTextDocumentFilter=u.NotebookDocumentFilter=u.TextDocumentFilter=void 0;u.MonikerRequest=u.MonikerKind=u.UniquenessLevel=u.WillDeleteFilesRequest=u.DidDeleteFilesNotification=u.WillRenameFilesRequest=u.DidRenameFilesNotification=u.WillCreateFilesRequest=u.DidCreateFilesNotification=u.FileOperationPatternKind=u.LinkedEditingRangeRequest=u.ShowDocumentRequest=u.SemanticTokensRegistrationType=u.SemanticTokensRefreshRequest=u.SemanticTokensRangeRequest=u.SemanticTokensDeltaRequest=u.SemanticTokensRequest=u.TokenFormat=u.CallHierarchyPrepareRequest=u.CallHierarchyOutgoingCallsRequest=u.CallHierarchyIncomingCallsRequest=u.WorkDoneProgressCancelNotification=u.WorkDoneProgressCreateRequest=u.WorkDoneProgress=u.SelectionRangeRequest=u.DeclarationRequest=u.FoldingRangeRefreshRequest=u.FoldingRangeRequest=u.ColorPresentationRequest=u.DocumentColorRequest=u.ConfigurationRequest=u.DidChangeWorkspaceFoldersNotification=u.WorkspaceFoldersRequest=u.TypeDefinitionRequest=u.ImplementationRequest=u.ApplyWorkspaceEditRequest=u.ExecuteCommandRequest=u.PrepareRenameRequest=u.RenameRequest=u.PrepareSupportDefaultBehavior=u.DocumentOnTypeFormattingRequest=u.DocumentRangesFormattingRequest=u.DocumentRangeFormattingRequest=u.DocumentFormattingRequest=u.DocumentLinkResolveRequest=u.DocumentLinkRequest=u.CodeLensRefreshRequest=u.CodeLensResolveRequest=u.CodeLensRequest=u.WorkspaceSymbolResolveRequest=void 0;u.InlineCompletionRequest=u.DidCloseNotebookDocumentNotification=u.DidSaveNotebookDocumentNotification=u.DidChangeNotebookDocumentNotification=u.NotebookCellArrayChange=u.DidOpenNotebookDocumentNotification=u.NotebookDocumentSyncRegistrationType=u.NotebookDocument=u.NotebookCell=u.ExecutionSummary=u.NotebookCellKind=u.DiagnosticRefreshRequest=u.WorkspaceDiagnosticRequest=u.DocumentDiagnosticRequest=u.DocumentDiagnosticReportKind=u.DiagnosticServerCancellationData=u.InlayHintRefreshRequest=u.InlayHintResolveRequest=u.InlayHintRequest=u.InlineValueRefreshRequest=u.InlineValueRequest=u.TypeHierarchySupertypesRequest=u.TypeHierarchySubtypesRequest=u.TypeHierarchyPrepareRequest=void 0;var $=_e(),lR=(ss(),uu(rl)),rt=Il(),E$=Oy();Object.defineProperty(u,"ImplementationRequest",{enumerable:!0,get:function(){return E$.ImplementationRequest}});var A$=My();Object.defineProperty(u,"TypeDefinitionRequest",{enumerable:!0,get:function(){return A$.TypeDefinitionRequest}});var yx=Uy();Object.defineProperty(u,"WorkspaceFoldersRequest",{enumerable:!0,get:function(){return yx.WorkspaceFoldersRequest}});Object.defineProperty(u,"DidChangeWorkspaceFoldersNotification",{enumerable:!0,get:function(){return yx.DidChangeWorkspaceFoldersNotification}});var $$=jy();Object.defineProperty(u,"ConfigurationRequest",{enumerable:!0,get:function(){return $$.ConfigurationRequest}});var Tx=Vy();Object.defineProperty(u,"DocumentColorRequest",{enumerable:!0,get:function(){return Tx.DocumentColorRequest}});Object.defineProperty(u,"ColorPresentationRequest",{enumerable:!0,get:function(){return Tx.ColorPresentationRequest}});var Rx=Yy();Object.defineProperty(u,"FoldingRangeRequest",{enumerable:!0,get:function(){return Rx.FoldingRangeRequest}});Object.defineProperty(u,"FoldingRangeRefreshRequest",{enumerable:!0,get:function(){return Rx.FoldingRangeRefreshRequest}});var S$=Qy();Object.defineProperty(u,"DeclarationRequest",{enumerable:!0,get:function(){return S$.DeclarationRequest}});var k$=tT();Object.defineProperty(u,"SelectionRangeRequest",{enumerable:!0,get:function(){return k$.SelectionRangeRequest}});var hh=sT();Object.defineProperty(u,"WorkDoneProgress",{enumerable:!0,get:function(){return hh.WorkDoneProgress}});Object.defineProperty(u,"WorkDoneProgressCreateRequest",{enumerable:!0,get:function(){return hh.WorkDoneProgressCreateRequest}});Object.defineProperty(u,"WorkDoneProgressCancelNotification",{enumerable:!0,get:function(){return hh.WorkDoneProgressCancelNotification}});var mh=lT();Object.defineProperty(u,"CallHierarchyIncomingCallsRequest",{enumerable:!0,get:function(){return mh.CallHierarchyIncomingCallsRequest}});Object.defineProperty(u,"CallHierarchyOutgoingCallsRequest",{enumerable:!0,get:function(){return mh.CallHierarchyOutgoingCallsRequest}});Object.defineProperty(u,"CallHierarchyPrepareRequest",{enumerable:!0,get:function(){return mh.CallHierarchyPrepareRequest}});var _s=mT();Object.defineProperty(u,"TokenFormat",{enumerable:!0,get:function(){return _s.TokenFormat}});Object.defineProperty(u,"SemanticTokensRequest",{enumerable:!0,get:function(){return _s.SemanticTokensRequest}});Object.defineProperty(u,"SemanticTokensDeltaRequest",{enumerable:!0,get:function(){return _s.SemanticTokensDeltaRequest}});Object.defineProperty(u,"SemanticTokensRangeRequest",{enumerable:!0,get:function(){return _s.SemanticTokensRangeRequest}});Object.defineProperty(u,"SemanticTokensRefreshRequest",{enumerable:!0,get:function(){return _s.SemanticTokensRefreshRequest}});Object.defineProperty(u,"SemanticTokensRegistrationType",{enumerable:!0,get:function(){return _s.SemanticTokensRegistrationType}});var N$=TT();Object.defineProperty(u,"ShowDocumentRequest",{enumerable:!0,get:function(){return N$.ShowDocumentRequest}});var C$=vT();Object.defineProperty(u,"LinkedEditingRangeRequest",{enumerable:!0,get:function(){return C$.LinkedEditingRangeRequest}});var pi=wT();Object.defineProperty(u,"FileOperationPatternKind",{enumerable:!0,get:function(){return pi.FileOperationPatternKind}});Object.defineProperty(u,"DidCreateFilesNotification",{enumerable:!0,get:function(){return pi.DidCreateFilesNotification}});Object.defineProperty(u,"WillCreateFilesRequest",{enumerable:!0,get:function(){return pi.WillCreateFilesRequest}});Object.defineProperty(u,"DidRenameFilesNotification",{enumerable:!0,get:function(){return pi.DidRenameFilesNotification}});Object.defineProperty(u,"WillRenameFilesRequest",{enumerable:!0,get:function(){return pi.WillRenameFilesRequest}});Object.defineProperty(u,"DidDeleteFilesNotification",{enumerable:!0,get:function(){return pi.DidDeleteFilesNotification}});Object.defineProperty(u,"WillDeleteFilesRequest",{enumerable:!0,get:function(){return pi.WillDeleteFilesRequest}});var gh=OT();Object.defineProperty(u,"UniquenessLevel",{enumerable:!0,get:function(){return gh.UniquenessLevel}});Object.defineProperty(u,"MonikerKind",{enumerable:!0,get:function(){return gh.MonikerKind}});Object.defineProperty(u,"MonikerRequest",{enumerable:!0,get:function(){return gh.MonikerRequest}});var yh=FT();Object.defineProperty(u,"TypeHierarchyPrepareRequest",{enumerable:!0,get:function(){return yh.TypeHierarchyPrepareRequest}});Object.defineProperty(u,"TypeHierarchySubtypesRequest",{enumerable:!0,get:function(){return yh.TypeHierarchySubtypesRequest}});Object.defineProperty(u,"TypeHierarchySupertypesRequest",{enumerable:!0,get:function(){return yh.TypeHierarchySupertypesRequest}});var xx=qT();Object.defineProperty(u,"InlineValueRequest",{enumerable:!0,get:function(){return xx.InlineValueRequest}});Object.defineProperty(u,"InlineValueRefreshRequest",{enumerable:!0,get:function(){return xx.InlineValueRefreshRequest}});var Th=WT();Object.defineProperty(u,"InlayHintRequest",{enumerable:!0,get:function(){return Th.InlayHintRequest}});Object.defineProperty(u,"InlayHintResolveRequest",{enumerable:!0,get:function(){return Th.InlayHintResolveRequest}});Object.defineProperty(u,"InlayHintRefreshRequest",{enumerable:!0,get:function(){return Th.InlayHintRefreshRequest}});var To=QT();Object.defineProperty(u,"DiagnosticServerCancellationData",{enumerable:!0,get:function(){return To.DiagnosticServerCancellationData}});Object.defineProperty(u,"DocumentDiagnosticReportKind",{enumerable:!0,get:function(){return To.DocumentDiagnosticReportKind}});Object.defineProperty(u,"DocumentDiagnosticRequest",{enumerable:!0,get:function(){return To.DocumentDiagnosticRequest}});Object.defineProperty(u,"WorkspaceDiagnosticRequest",{enumerable:!0,get:function(){return To.WorkspaceDiagnosticRequest}});Object.defineProperty(u,"DiagnosticRefreshRequest",{enumerable:!0,get:function(){return To.DiagnosticRefreshRequest}});var Nr=sR();Object.defineProperty(u,"NotebookCellKind",{enumerable:!0,get:function(){return Nr.NotebookCellKind}});Object.defineProperty(u,"ExecutionSummary",{enumerable:!0,get:function(){return Nr.ExecutionSummary}});Object.defineProperty(u,"NotebookCell",{enumerable:!0,get:function(){return Nr.NotebookCell}});Object.defineProperty(u,"NotebookDocument",{enumerable:!0,get:function(){return Nr.NotebookDocument}});Object.defineProperty(u,"NotebookDocumentSyncRegistrationType",{enumerable:!0,get:function(){return Nr.NotebookDocumentSyncRegistrationType}});Object.defineProperty(u,"DidOpenNotebookDocumentNotification",{enumerable:!0,get:function(){return Nr.DidOpenNotebookDocumentNotification}});Object.defineProperty(u,"NotebookCellArrayChange",{enumerable:!0,get:function(){return Nr.NotebookCellArrayChange}});Object.defineProperty(u,"DidChangeNotebookDocumentNotification",{enumerable:!0,get:function(){return Nr.DidChangeNotebookDocumentNotification}});Object.defineProperty(u,"DidSaveNotebookDocumentNotification",{enumerable:!0,get:function(){return Nr.DidSaveNotebookDocumentNotification}});Object.defineProperty(u,"DidCloseNotebookDocumentNotification",{enumerable:!0,get:function(){return Nr.DidCloseNotebookDocumentNotification}});var w$=cR();Object.defineProperty(u,"InlineCompletionRequest",{enumerable:!0,get:function(){return w$.InlineCompletionRequest}});var uh;(function(t){function e(r){let n=r;return rt.string(n)||rt.string(n.language)||rt.string(n.scheme)||rt.string(n.pattern)}t.is=e})(uh||(u.TextDocumentFilter=uh={}));var fh;(function(t){function e(r){let n=r;return rt.objectLiteral(n)&&(rt.string(n.notebookType)||rt.string(n.scheme)||rt.string(n.pattern))}t.is=e})(fh||(u.NotebookDocumentFilter=fh={}));var dh;(function(t){function e(r){let n=r;return rt.objectLiteral(n)&&(rt.string(n.notebook)||fh.is(n.notebook))&&(n.language===void 0||rt.string(n.language))}t.is=e})(dh||(u.NotebookCellTextDocumentFilter=dh={}));var ph;(function(t){function e(r){if(!Array.isArray(r))return!1;for(let n of r)if(!rt.string(n)&&!uh.is(n)&&!dh.is(n))return!1;return!0}t.is=e})(ph||(u.DocumentSelector=ph={}));var uR;(function(t){t.method="client/registerCapability",t.messageDirection=$.MessageDirection.serverToClient,t.type=new $.ProtocolRequestType(t.method)})(uR||(u.RegistrationRequest=uR={}));var fR;(function(t){t.method="client/unregisterCapability",t.messageDirection=$.MessageDirection.serverToClient,t.type=new $.ProtocolRequestType(t.method)})(fR||(u.UnregistrationRequest=fR={}));var dR;(function(t){t.Create="create",t.Rename="rename",t.Delete="delete"})(dR||(u.ResourceOperationKind=dR={}));var pR;(function(t){t.Abort="abort",t.Transactional="transactional",t.TextOnlyTransactional="textOnlyTransactional",t.Undo="undo"})(pR||(u.FailureHandlingKind=pR={}));var hR;(function(t){t.UTF8="utf-8",t.UTF16="utf-16",t.UTF32="utf-32"})(hR||(u.PositionEncodingKind=hR={}));var mR;(function(t){function e(r){let n=r;return n&&rt.string(n.id)&&n.id.length>0}t.hasId=e})(mR||(u.StaticRegistrationOptions=mR={}));var gR;(function(t){function e(r){let n=r;return n&&(n.documentSelector===null||ph.is(n.documentSelector))}t.is=e})(gR||(u.TextDocumentRegistrationOptions=gR={}));var yR;(function(t){function e(n){let i=n;return rt.objectLiteral(i)&&(i.workDoneProgress===void 0||rt.boolean(i.workDoneProgress))}t.is=e;function r(n){let i=n;return i&&rt.boolean(i.workDoneProgress)}t.hasWorkDoneProgress=r})(yR||(u.WorkDoneProgressOptions=yR={}));var TR;(function(t){t.method="initialize",t.messageDirection=$.MessageDirection.clientToServer,t.type=new $.ProtocolRequestType(t.method)})(TR||(u.InitializeRequest=TR={}));var RR;(function(t){t.unknownProtocolVersion=1})(RR||(u.InitializeErrorCodes=RR={}));var xR;(function(t){t.method="initialized",t.messageDirection=$.MessageDirection.clientToServer,t.type=new $.ProtocolNotificationType(t.method)})(xR||(u.InitializedNotification=xR={}));var vR;(function(t){t.method="shutdown",t.messageDirection=$.MessageDirection.clientToServer,t.type=new $.ProtocolRequestType0(t.method)})(vR||(u.ShutdownRequest=vR={}));var ER;(function(t){t.method="exit",t.messageDirection=$.MessageDirection.clientToServer,t.type=new $.ProtocolNotificationType0(t.method)})(ER||(u.ExitNotification=ER={}));var AR;(function(t){t.method="workspace/didChangeConfiguration",t.messageDirection=$.MessageDirection.clientToServer,t.type=new $.ProtocolNotificationType(t.method)})(AR||(u.DidChangeConfigurationNotification=AR={}));var $R;(function(t){t.Error=1,t.Warning=2,t.Info=3,t.Log=4,t.Debug=5})($R||(u.MessageType=$R={}));var SR;(function(t){t.method="window/showMessage",t.messageDirection=$.MessageDirection.serverToClient,t.type=new $.ProtocolNotificationType(t.method)})(SR||(u.ShowMessageNotification=SR={}));var kR;(function(t){t.method="window/showMessageRequest",t.messageDirection=$.MessageDirection.serverToClient,t.type=new $.ProtocolRequestType(t.method)})(kR||(u.ShowMessageRequest=kR={}));var NR;(function(t){t.method="window/logMessage",t.messageDirection=$.MessageDirection.serverToClient,t.type=new $.ProtocolNotificationType(t.method)})(NR||(u.LogMessageNotification=NR={}));var CR;(function(t){t.method="telemetry/event",t.messageDirection=$.MessageDirection.serverToClient,t.type=new $.ProtocolNotificationType(t.method)})(CR||(u.TelemetryEventNotification=CR={}));var wR;(function(t){t.None=0,t.Full=1,t.Incremental=2})(wR||(u.TextDocumentSyncKind=wR={}));var IR;(function(t){t.method="textDocument/didOpen",t.messageDirection=$.MessageDirection.clientToServer,t.type=new $.ProtocolNotificationType(t.method)})(IR||(u.DidOpenTextDocumentNotification=IR={}));var _R;(function(t){function e(n){let i=n;return i!=null&&typeof i.text=="string"&&i.range!==void 0&&(i.rangeLength===void 0||typeof i.rangeLength=="number")}t.isIncremental=e;function r(n){let i=n;return i!=null&&typeof i.text=="string"&&i.range===void 0&&i.rangeLength===void 0}t.isFull=r})(_R||(u.TextDocumentContentChangeEvent=_R={}));var bR;(function(t){t.method="textDocument/didChange",t.messageDirection=$.MessageDirection.clientToServer,t.type=new $.ProtocolNotificationType(t.method)})(bR||(u.DidChangeTextDocumentNotification=bR={}));var PR;(function(t){t.method="textDocument/didClose",t.messageDirection=$.MessageDirection.clientToServer,t.type=new $.ProtocolNotificationType(t.method)})(PR||(u.DidCloseTextDocumentNotification=PR={}));var OR;(function(t){t.method="textDocument/didSave",t.messageDirection=$.MessageDirection.clientToServer,t.type=new $.ProtocolNotificationType(t.method)})(OR||(u.DidSaveTextDocumentNotification=OR={}));var LR;(function(t){t.Manual=1,t.AfterDelay=2,t.FocusOut=3})(LR||(u.TextDocumentSaveReason=LR={}));var DR;(function(t){t.method="textDocument/willSave",t.messageDirection=$.MessageDirection.clientToServer,t.type=new $.ProtocolNotificationType(t.method)})(DR||(u.WillSaveTextDocumentNotification=DR={}));var MR;(function(t){t.method="textDocument/willSaveWaitUntil",t.messageDirection=$.MessageDirection.clientToServer,t.type=new $.ProtocolRequestType(t.method)})(MR||(u.WillSaveTextDocumentWaitUntilRequest=MR={}));var FR;(function(t){t.method="workspace/didChangeWatchedFiles",t.messageDirection=$.MessageDirection.clientToServer,t.type=new $.ProtocolNotificationType(t.method)})(FR||(u.DidChangeWatchedFilesNotification=FR={}));var GR;(function(t){t.Created=1,t.Changed=2,t.Deleted=3})(GR||(u.FileChangeType=GR={}));var UR;(function(t){function e(r){let n=r;return rt.objectLiteral(n)&&(lR.URI.is(n.baseUri)||lR.WorkspaceFolder.is(n.baseUri))&&rt.string(n.pattern)}t.is=e})(UR||(u.RelativePattern=UR={}));var qR;(function(t){t.Create=1,t.Change=2,t.Delete=4})(qR||(u.WatchKind=qR={}));var zR;(function(t){t.method="textDocument/publishDiagnostics",t.messageDirection=$.MessageDirection.serverToClient,t.type=new $.ProtocolNotificationType(t.method)})(zR||(u.PublishDiagnosticsNotification=zR={}));var jR;(function(t){t.Invoked=1,t.TriggerCharacter=2,t.TriggerForIncompleteCompletions=3})(jR||(u.CompletionTriggerKind=jR={}));var BR;(function(t){t.method="textDocument/completion",t.messageDirection=$.MessageDirection.clientToServer,t.type=new $.ProtocolRequestType(t.method)})(BR||(u.CompletionRequest=BR={}));var WR;(function(t){t.method="completionItem/resolve",t.messageDirection=$.MessageDirection.clientToServer,t.type=new $.ProtocolRequestType(t.method)})(WR||(u.CompletionResolveRequest=WR={}));var VR;(function(t){t.method="textDocument/hover",t.messageDirection=$.MessageDirection.clientToServer,t.type=new $.ProtocolRequestType(t.method)})(VR||(u.HoverRequest=VR={}));var KR;(function(t){t.Invoked=1,t.TriggerCharacter=2,t.ContentChange=3})(KR||(u.SignatureHelpTriggerKind=KR={}));var HR;(function(t){t.method="textDocument/signatureHelp",t.messageDirection=$.MessageDirection.clientToServer,t.type=new $.ProtocolRequestType(t.method)})(HR||(u.SignatureHelpRequest=HR={}));var YR;(function(t){t.method="textDocument/definition",t.messageDirection=$.MessageDirection.clientToServer,t.type=new $.ProtocolRequestType(t.method)})(YR||(u.DefinitionRequest=YR={}));var XR;(function(t){t.method="textDocument/references",t.messageDirection=$.MessageDirection.clientToServer,t.type=new $.ProtocolRequestType(t.method)})(XR||(u.ReferencesRequest=XR={}));var JR;(function(t){t.method="textDocument/documentHighlight",t.messageDirection=$.MessageDirection.clientToServer,t.type=new $.ProtocolRequestType(t.method)})(JR||(u.DocumentHighlightRequest=JR={}));var QR;(function(t){t.method="textDocument/documentSymbol",t.messageDirection=$.MessageDirection.clientToServer,t.type=new $.ProtocolRequestType(t.method)})(QR||(u.DocumentSymbolRequest=QR={}));var ZR;(function(t){t.method="textDocument/codeAction",t.messageDirection=$.MessageDirection.clientToServer,t.type=new $.ProtocolRequestType(t.method)})(ZR||(u.CodeActionRequest=ZR={}));var ex;(function(t){t.method="codeAction/resolve",t.messageDirection=$.MessageDirection.clientToServer,t.type=new $.ProtocolRequestType(t.method)})(ex||(u.CodeActionResolveRequest=ex={}));var tx;(function(t){t.method="workspace/symbol",t.messageDirection=$.MessageDirection.clientToServer,t.type=new $.ProtocolRequestType(t.method)})(tx||(u.WorkspaceSymbolRequest=tx={}));var rx;(function(t){t.method="workspaceSymbol/resolve",t.messageDirection=$.MessageDirection.clientToServer,t.type=new $.ProtocolRequestType(t.method)})(rx||(u.WorkspaceSymbolResolveRequest=rx={}));var nx;(function(t){t.method="textDocument/codeLens",t.messageDirection=$.MessageDirection.clientToServer,t.type=new $.ProtocolRequestType(t.method)})(nx||(u.CodeLensRequest=nx={}));var ix;(function(t){t.method="codeLens/resolve",t.messageDirection=$.MessageDirection.clientToServer,t.type=new $.ProtocolRequestType(t.method)})(ix||(u.CodeLensResolveRequest=ix={}));var sx;(function(t){t.method="workspace/codeLens/refresh",t.messageDirection=$.MessageDirection.serverToClient,t.type=new $.ProtocolRequestType0(t.method)})(sx||(u.CodeLensRefreshRequest=sx={}));var ax;(function(t){t.method="textDocument/documentLink",t.messageDirection=$.MessageDirection.clientToServer,t.type=new $.ProtocolRequestType(t.method)})(ax||(u.DocumentLinkRequest=ax={}));var ox;(function(t){t.method="documentLink/resolve",t.messageDirection=$.MessageDirection.clientToServer,t.type=new $.ProtocolRequestType(t.method)})(ox||(u.DocumentLinkResolveRequest=ox={}));var cx;(function(t){t.method="textDocument/formatting",t.messageDirection=$.MessageDirection.clientToServer,t.type=new $.ProtocolRequestType(t.method)})(cx||(u.DocumentFormattingRequest=cx={}));var lx;(function(t){t.method="textDocument/rangeFormatting",t.messageDirection=$.MessageDirection.clientToServer,t.type=new $.ProtocolRequestType(t.method)})(lx||(u.DocumentRangeFormattingRequest=lx={}));var ux;(function(t){t.method="textDocument/rangesFormatting",t.messageDirection=$.MessageDirection.clientToServer,t.type=new $.ProtocolRequestType(t.method)})(ux||(u.DocumentRangesFormattingRequest=ux={}));var fx;(function(t){t.method="textDocument/onTypeFormatting",t.messageDirection=$.MessageDirection.clientToServer,t.type=new $.ProtocolRequestType(t.method)})(fx||(u.DocumentOnTypeFormattingRequest=fx={}));var dx;(function(t){t.Identifier=1})(dx||(u.PrepareSupportDefaultBehavior=dx={}));var px;(function(t){t.method="textDocument/rename",t.messageDirection=$.MessageDirection.clientToServer,t.type=new $.ProtocolRequestType(t.method)})(px||(u.RenameRequest=px={}));var hx;(function(t){t.method="textDocument/prepareRename",t.messageDirection=$.MessageDirection.clientToServer,t.type=new $.ProtocolRequestType(t.method)})(hx||(u.PrepareRenameRequest=hx={}));var mx;(function(t){t.method="workspace/executeCommand",t.messageDirection=$.MessageDirection.clientToServer,t.type=new $.ProtocolRequestType(t.method)})(mx||(u.ExecuteCommandRequest=mx={}));var gx;(function(t){t.method="workspace/applyEdit",t.messageDirection=$.MessageDirection.serverToClient,t.type=new $.ProtocolRequestType("workspace/applyEdit")})(gx||(u.ApplyWorkspaceEditRequest=gx={}))});var Ax=X(Wl=>{"use strict";Object.defineProperty(Wl,"__esModule",{value:!0});Wl.createProtocolConnection=void 0;var Ex=di();function I$(t,e,r,n){return Ex.ConnectionStrategy.is(n)&&(n={connectionStrategy:n}),(0,Ex.createMessageConnection)(t,e,r,n)}Wl.createProtocolConnection=I$});var Sx=X(Dt=>{"use strict";var _$=Dt&&Dt.__createBinding||(Object.create?(function(t,e,r,n){n===void 0&&(n=r);var i=Object.getOwnPropertyDescriptor(e,r);(!i||("get"in i?!e.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,i)}):(function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]})),Vl=Dt&&Dt.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&_$(e,t,r)};Object.defineProperty(Dt,"__esModule",{value:!0});Dt.LSPErrorCodes=Dt.createProtocolConnection=void 0;Vl(di(),Dt);Vl((ss(),uu(rl)),Dt);Vl(_e(),Dt);Vl(vx(),Dt);var b$=Ax();Object.defineProperty(Dt,"createProtocolConnection",{enumerable:!0,get:function(){return b$.createProtocolConnection}});var $x;(function(t){t.lspReservedErrorRangeStart=-32899,t.RequestFailed=-32803,t.ServerCancelled=-32802,t.ContentModified=-32801,t.RequestCancelled=-32800,t.lspReservedErrorRangeEnd=-32800})($x||(Dt.LSPErrorCodes=$x={}))});var Nx=X(Cr=>{"use strict";var P$=Cr&&Cr.__createBinding||(Object.create?(function(t,e,r,n){n===void 0&&(n=r);var i=Object.getOwnPropertyDescriptor(e,r);(!i||("get"in i?!e.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,i)}):(function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]})),kx=Cr&&Cr.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&P$(e,t,r)};Object.defineProperty(Cr,"__esModule",{value:!0});Cr.createProtocolConnection=void 0;var O$=rh();kx(rh(),Cr);kx(Sx(),Cr);function L$(t,e,r,n){return(0,O$.createMessageConnection)(t,e,r,n)}Cr.createProtocolConnection=L$});var Ge={};Qr(Ge,{AbstractAstReflection:()=>wn,AbstractCstNode:()=>Ua,AbstractLangiumParser:()=>qa,AbstractParserErrorMessageProvider:()=>il,AbstractThreadedAsyncParser:()=>kh,AstUtils:()=>Go,BiMap:()=>ci,Cancellation:()=>B,CompositeCstNodeImpl:()=>ni,ContextCache:()=>li,CstNodeBuilder:()=>Ga,CstUtils:()=>sc,DEFAULT_TOKENIZE_OPTIONS:()=>Kl,DONE_RESULT:()=>pt,DatatypeSymbol:()=>nl,DefaultAstNodeDescriptionProvider:()=>so,DefaultAstNodeLocator:()=>oo,DefaultAsyncParser:()=>No,DefaultCommentProvider:()=>ko,DefaultConfigurationProvider:()=>co,DefaultDocumentBuilder:()=>Ro,DefaultDocumentValidator:()=>io,DefaultHydrator:()=>wo,DefaultIndexManager:()=>xo,DefaultJsonSerializer:()=>to,DefaultLangiumDocumentFactory:()=>Va,DefaultLangiumDocuments:()=>Ka,DefaultLangiumProfiler:()=>Oh,DefaultLexer:()=>hi,DefaultLexerErrorMessageProvider:()=>Eo,DefaultLinker:()=>Ha,DefaultNameProvider:()=>Ya,DefaultReferenceDescriptionProvider:()=>ao,DefaultReferences:()=>Xa,DefaultScopeComputation:()=>Ja,DefaultScopeProvider:()=>eo,DefaultServiceRegistry:()=>ro,DefaultTokenBuilder:()=>Yr,DefaultValueConverter:()=>si,DefaultWorkspaceLock:()=>Co,DefaultWorkspaceManager:()=>vo,Deferred:()=>Ct,Disposable:()=>kn,DisposableCache:()=>ms,DocumentCache:()=>pl,DocumentState:()=>Z,DocumentValidator:()=>Yt,EMPTY_SCOPE:()=>YA,EMPTY_STREAM:()=>tn,EmptyFileSystem:()=>Ph,EmptyFileSystemProvider:()=>Zl,ErrorWithLocation:()=>Bn,GrammarAST:()=>na,GrammarUtils:()=>fc,IndentationAwareLexer:()=>bh,IndentationAwareTokenBuilder:()=>Ql,JSDocDocumentationProvider:()=>So,LangiumCompletionParser:()=>ja,LangiumParser:()=>za,LangiumParserErrorMessageProvider:()=>os,LeafCstNodeImpl:()=>ri,LexingMode:()=>mi,MapScope:()=>Qd,Module:()=>Ih,MultiMap:()=>gt,MultiMapScope:()=>Qa,OperationCancelled:()=>Ht,ParserWorker:()=>Nh,ProfilingTask:()=>eu,Reduction:()=>vi,RefResolving:()=>oi,RegExpUtils:()=>cc,RootCstNodeImpl:()=>as,SimpleCache:()=>Za,StreamImpl:()=>Ut,StreamScope:()=>hs,TextDocument:()=>fs,TreeStreamImpl:()=>mr,URI:()=>Ze,UriTrie:()=>ps,UriUtils:()=>je,VALIDATE_EACH_NODE:()=>ry,ValidationCategory:()=>hl,ValidationRegistry:()=>no,ValueConverter:()=>Ar,WorkspaceCache:()=>gs,assertCondition:()=>cm,assertUnreachable:()=>Tr,createCompletionParser:()=>zd,createDefaultCoreModule:()=>Ch,createDefaultSharedCoreModule:()=>wh,createGrammarConfig:()=>rf,createLangiumParser:()=>jd,createParser:()=>Ba,delayNextTick:()=>Xd,diagnosticData:()=>ui,eagerLoad:()=>Mx,getDiagnosticRange:()=>ny,indentationBuilderDefaultOptions:()=>_h,inject:()=>Jl,interruptAndCheck:()=>Le,isAstNode:()=>Oe,isAstNodeDescription:()=>du,isAstNodeWithComment:()=>Zd,isCompositeCstNode:()=>tr,isIMultiModeLexerDefinition:()=>xh,isJSDoc:()=>$h,isLeafCstNode:()=>en,isLinkingError:()=>In,isMultiReference:()=>Gt,isNamed:()=>ey,isOperationCancelled:()=>$r,isReference:()=>Je,isRootCstNode:()=>Ws,isTokenTypeArray:()=>Hl,isTokenTypeDictionary:()=>Rh,loadGrammarFromJson:()=>wr,parseJSDoc:()=>Ah,prepareLangiumParser:()=>Bg,setInterruptionPeriod:()=>Yg,startCancelableOperation:()=>fl,stream:()=>te,toDiagnosticData:()=>iy,toDiagnosticSeverity:()=>ml});var sc={};Qr(sc,{DefaultNameRegexp:()=>ic,RangeComparison:()=>yr,compareRange:()=>im,findCommentNode:()=>Mu,findDeclarationNodeAtOffset:()=>Av,findLeafNodeAtOffset:()=>Fu,findLeafNodeBeforeOffset:()=>sm,flattenCst:()=>Ev,getDatatypeNode:()=>vv,getInteriorNodes:()=>kv,getNextNode:()=>$v,getPreviousNode:()=>om,getStartlineNode:()=>Sv,inRange:()=>gu,isChildNode:()=>Du,isCommentNode:()=>Lu,streamCst:()=>zn,toDocumentSegment:()=>jn,tokenToRange:()=>bi});function Oe(t){return typeof t=="object"&&t!==null&&typeof t.$type=="string"}function Je(t){return typeof t=="object"&&t!==null&&typeof t.$refText=="string"&&"ref"in t}function Gt(t){return typeof t=="object"&&t!==null&&typeof t.$refText=="string"&&"items"in t}function du(t){return typeof t=="object"&&t!==null&&typeof t.name=="string"&&typeof t.type=="string"&&typeof t.path=="string"}function In(t){return typeof t=="object"&&t!==null&&typeof t.info=="object"&&typeof t.message=="string"}var wn=class{constructor(){this.subtypes={},this.allSubtypes={}}getAllTypes(){return Object.keys(this.types)}getReferenceType(e){let r=this.types[e.container.$type];if(!r)throw new Error(`Type ${e.container.$type||"undefined"} not found.`);let n=r.properties[e.property]?.referenceType;if(!n)throw new Error(`Property ${e.property||"undefined"} of type ${e.container.$type} is not a reference.`);return n}getTypeMetaData(e){let r=this.types[e];return r||{name:e,properties:{},superTypes:[]}}isInstance(e,r){return Oe(e)&&this.isSubtype(e.$type,r)}isSubtype(e,r){if(e===r)return!0;let n=this.subtypes[e];n||(n=this.subtypes[e]={});let i=n[r];if(i!==void 0)return i;{let s=this.types[e],a=s?s.superTypes.some(o=>this.isSubtype(o,r)):!1;return n[r]=a,a}}getAllSubTypes(e){let r=this.allSubtypes[e];if(r)return r;{let n=this.getAllTypes(),i=[];for(let s of n)this.isSubtype(s,e)&&i.push(s);return this.allSubtypes[e]=i,i}}};function tr(t){return typeof t=="object"&&t!==null&&Array.isArray(t.content)}function en(t){return typeof t=="object"&&t!==null&&typeof t.tokenType=="object"}function Ws(t){return tr(t)&&typeof t.fullText=="string"}var Ut=class t{constructor(e,r){this.startFn=e,this.nextFn=r}iterator(){let 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(){let e=this.iterator(),r=0,n=e.next();for(;!n.done;)r++,n=e.next();return r}toArray(){let e=[],r=this.iterator(),n;do n=r.next(),n.value!==void 0&&e.push(n.value);while(!n.done);return e}toSet(){return new Set(this)}toMap(e,r){let n=this.map(i=>[e?e(i):i,r?r(i):i]);return new Map(n)}toString(){return this.join()}concat(e){return new t(()=>({first:this.startFn(),firstDone:!1,iterator:e[Symbol.iterator]()}),r=>{let n;if(!r.firstDone){do if(n=this.nextFn(r.first),!n.done)return n;while(!n.done);r.firstDone=!0}do if(n=r.iterator.next(),!n.done)return n;while(!n.done);return pt})}join(e=","){let r=this.iterator(),n="",i,s=!1;do i=r.next(),i.done||(s&&(n+=e),n+=rv(i.value)),s=!0;while(!i.done);return n}indexOf(e,r=0){let n=this.iterator(),i=0,s=n.next();for(;!s.done;){if(i>=r&&s.value===e)return i;s=n.next(),i++}return-1}every(e){let r=this.iterator(),n=r.next();for(;!n.done;){if(!e(n.value))return!1;n=r.next()}return!0}some(e){let r=this.iterator(),n=r.next();for(;!n.done;){if(e(n.value))return!0;n=r.next()}return!1}forEach(e){let r=this.iterator(),n=0,i=r.next();for(;!i.done;)e(i.value,n),i=r.next(),n++}map(e){return new t(this.startFn,r=>{let{done:n,value:i}=this.nextFn(r);return n?pt:{done:!1,value:e(i)}})}filter(e){return new t(this.startFn,r=>{let n;do if(n=this.nextFn(r),!n.done&&e(n.value))return n;while(!n.done);return pt})}nonNullable(){return this.filter(e=>e!=null)}reduce(e,r){let n=this.iterator(),i=r,s=n.next();for(;!s.done;)i===void 0?i=s.value:i=e(i,s.value),s=n.next();return i}reduceRight(e,r){return this.recursiveReduce(this.iterator(),e,r)}recursiveReduce(e,r,n){let i=e.next();if(i.done)return n;let s=this.recursiveReduce(e,r,n);return s===void 0?i.value:r(s,i.value)}find(e){let r=this.iterator(),n=r.next();for(;!n.done;){if(e(n.value))return n.value;n=r.next()}}findIndex(e){let r=this.iterator(),n=0,i=r.next();for(;!i.done;){if(e(i.value))return n;i=r.next(),n++}return-1}includes(e){let r=this.iterator(),n=r.next();for(;!n.done;){if(n.value===e)return!0;n=r.next()}return!1}flatMap(e){return new t(()=>({this:this.startFn()}),r=>{do{if(r.iterator){let s=r.iterator.next();if(s.done)r.iterator=void 0;else return s}let{done:n,value:i}=this.nextFn(r.this);if(!n){let s=e(i);if(Mo(s))r.iterator=s[Symbol.iterator]();else return{done:!1,value:s}}}while(r.iterator);return pt})}flat(e){if(e===void 0&&(e=1),e<=0)return this;let r=e>1?this.flat(e-1):this;return new t(()=>({this:r.startFn()}),n=>{do{if(n.iterator){let a=n.iterator.next();if(a.done)n.iterator=void 0;else return a}let{done:i,value:s}=r.nextFn(n.this);if(!i)if(Mo(s))n.iterator=s[Symbol.iterator]();else return{done:!1,value:s}}while(n.iterator);return pt})}head(){let r=this.iterator().next();if(!r.done)return r.value}tail(e=1){return new t(()=>{let r=this.startFn();for(let n=0;n<e;n++)if(this.nextFn(r).done)return r;return r},this.nextFn)}limit(e){return new t(()=>({size:0,state:this.startFn()}),r=>(r.size++,r.size>e?pt:this.nextFn(r.state)))}distinct(e){return new t(()=>({set:new Set,internalState:this.startFn()}),r=>{let n;do if(n=this.nextFn(r.internalState),!n.done){let i=e?e(n.value):n.value;if(!r.set.has(i))return r.set.add(i),n}while(!n.done);return pt})}exclude(e,r){let n=new Set;for(let i of e){let s=r?r(i):i;n.add(s)}return this.filter(i=>{let s=r?r(i):i;return!n.has(s)})}};function rv(t){return typeof t=="string"?t:typeof t>"u"?"undefined":typeof t.toString=="function"?t.toString():Object.prototype.toString.call(t)}function Mo(t){return!!t&&typeof t[Symbol.iterator]=="function"}var tn=new Ut(()=>{},()=>pt),pt=Object.freeze({done:!0,value:void 0});function te(...t){if(t.length===1){let e=t[0];if(e instanceof Ut)return e;if(Mo(e))return new Ut(()=>e[Symbol.iterator](),r=>r.next());if(typeof e.length=="number")return new Ut(()=>({index:0}),r=>r.index<e.length?{done:!1,value:e[r.index++]}:pt)}return t.length>1?new Ut(()=>({collIndex:0,arrIndex:0}),e=>{do{if(e.iterator){let r=e.iterator.next();if(!r.done)return r;e.iterator=void 0}if(e.array){if(e.arrIndex<e.array.length)return{done:!1,value:e.array[e.arrIndex++]};e.array=void 0,e.arrIndex=0}if(e.collIndex<t.length){let r=t[e.collIndex++];Mo(r)?e.iterator=r[Symbol.iterator]():r&&typeof r.length=="number"&&(e.array=r)}}while(e.iterator||e.array||e.collIndex<t.length);return pt}):tn}var mr=class extends Ut{constructor(e,r,n){super(()=>({iterators:n?.includeRoot?[[e][Symbol.iterator]()]:[r(e)[Symbol.iterator]()],pruned:!1}),i=>{for(i.pruned&&(i.iterators.pop(),i.pruned=!1);i.iterators.length>0;){let a=i.iterators[i.iterators.length-1].next();if(a.done)i.iterators.pop();else return i.iterators.push(r(a.value)[Symbol.iterator]()),a}return pt})}iterator(){let e={state:this.startFn(),next:()=>this.nextFn(e.state),prune:()=>{e.state.pruned=!0},[Symbol.iterator]:()=>e};return e}},vi;(function(t){function e(s){return s.reduce((a,o)=>a+o,0)}t.sum=e;function r(s){return s.reduce((a,o)=>a*o,0)}t.product=r;function n(s){return s.reduce((a,o)=>Math.min(a,o))}t.min=n;function i(s){return s.reduce((a,o)=>Math.max(a,o))}t.max=i})(vi||(vi={}));var Go={};Qr(Go,{assignMandatoryProperties:()=>mu,copyAstNode:()=>hu,findRootNode:()=>Ai,getContainerOfType:()=>Lr,getDocument:()=>ht,getReferenceNodes:()=>Fo,hasContainerOfType:()=>nv,linkContentToContainer:()=>Ei,streamAllContents:()=>rr,streamAst:()=>At,streamContents:()=>Vs,streamReferences:()=>rn});function Ei(t,e={}){for(let[r,n]of Object.entries(t))r.startsWith("$")||(Array.isArray(n)?n.forEach((i,s)=>{Oe(i)&&(i.$container=t,i.$containerProperty=r,i.$containerIndex=s,e.deep&&Ei(i,e))}):Oe(n)&&(n.$container=t,n.$containerProperty=r,e.deep&&Ei(n,e)))}function Lr(t,e){let r=t;for(;r;){if(e(r))return r;r=r.$container}}function nv(t,e){let r=t;for(;r;){if(e(r))return!0;r=r.$container}return!1}function ht(t){let r=Ai(t).$document;if(!r)throw new Error("AST node has no document.");return r}function Ai(t){for(;t.$container;)t=t.$container;return t}function Fo(t){return Je(t)?t.ref?[t.ref]:[]:Gt(t)?t.items.map(e=>e.ref):[]}function Vs(t,e){if(!t)throw new Error("Node must be an AstNode.");let r=e?.range;return new Ut(()=>({keys:Object.keys(t),keyIndex:0,arrayIndex:0}),n=>{for(;n.keyIndex<n.keys.length;){let i=n.keys[n.keyIndex];if(!i.startsWith("$")){let s=t[i];if(Oe(s)){if(n.keyIndex++,pu(s,r))return{done:!1,value:s}}else if(Array.isArray(s)){for(;n.arrayIndex<s.length;){let a=n.arrayIndex++,o=s[a];if(Oe(o)&&pu(o,r))return{done:!1,value:o}}n.arrayIndex=0}}n.keyIndex++}return pt})}function rr(t,e){if(!t)throw new Error("Root node must be an AstNode.");return new mr(t,r=>Vs(r,e))}function At(t,e){if(t){if(e?.range&&!pu(t,e.range))return new mr(t,()=>[])}else throw new Error("Root node must be an AstNode.");return new mr(t,r=>Vs(r,e),{includeRoot:!0})}function pu(t,e){if(!e)return!0;let r=t.$cstNode?.range;return r?gu(r,e):!1}function rn(t){return new Ut(()=>({keys:Object.keys(t),keyIndex:0,arrayIndex:0}),e=>{for(;e.keyIndex<e.keys.length;){let r=e.keys[e.keyIndex];if(!r.startsWith("$")){let n=t[r];if(Je(n)||Gt(n))return e.keyIndex++,{done:!1,value:{reference:n,container:t,property:r}};if(Array.isArray(n)){for(;e.arrayIndex<n.length;){let i=e.arrayIndex++,s=n[i];if(Je(s)||Gt(n))return{done:!1,value:{reference:s,container:t,property:r,index:i}}}e.arrayIndex=0}}e.keyIndex++}return pt})}function mu(t,e){let r=t.getTypeMetaData(e.$type),n=e;for(let i of Object.values(r.properties))i.defaultValue!==void 0&&n[i.name]===void 0&&(n[i.name]=rm(i.defaultValue))}function rm(t){return Array.isArray(t)?[...t.map(rm)]:t}function hu(t,e,r){let n={$type:t.$type};r&&(r.set(t,n),r.set(n,t));for(let[i,s]of Object.entries(t))if(!i.startsWith("$"))if(Oe(s))n[i]=hu(s,e,r);else if(Je(s))n[i]=e(n,i,s.$refNode,s.$refText,s);else if(Array.isArray(s)){let a=[];for(let o of s)Oe(o)?a.push(hu(o,e,r)):Je(o)?a.push(e(n,i,o.$refNode,o.$refText,o)):a.push(o);n[i]=a}else n[i]=s;return Ei(n,{deep:!0}),n}var na={};Qr(na,{AbstractElement:()=>It,AbstractParserRule:()=>Ks,AbstractRule:()=>$i,AbstractType:()=>qt,Action:()=>nn,Alternatives:()=>Hs,ArrayLiteral:()=>Uo,ArrayType:()=>qo,Assignment:()=>sn,BooleanLiteral:()=>zo,CharacterRange:()=>an,Condition:()=>on,Conjunction:()=>Ys,CrossReference:()=>cn,Disjunction:()=>Xs,EndOfFile:()=>jo,Grammar:()=>Dr,GrammarImport:()=>Bo,Group:()=>_n,InferredType:()=>Wo,InfixRule:()=>gr,InfixRuleOperatorList:()=>Js,InfixRuleOperators:()=>Vo,Interface:()=>Si,Keyword:()=>ki,LangiumGrammarAstReflection:()=>_i,LangiumGrammarTerminals:()=>iv,NamedArgument:()=>Ni,NegatedToken:()=>bn,Negation:()=>Ko,NumberLiteral:()=>Ho,Parameter:()=>Ci,ParameterReference:()=>Yo,ParserRule:()=>nr,ReferenceType:()=>Qs,RegexToken:()=>Pn,ReturnType:()=>Xo,RuleCall:()=>On,SimpleType:()=>wi,StringLiteral:()=>Jo,TerminalAlternatives:()=>Ln,TerminalElement:()=>_t,TerminalGroup:()=>Dn,TerminalRule:()=>Mr,TerminalRuleCall:()=>Mn,Type:()=>Zs,TypeAttribute:()=>Fn,TypeDefinition:()=>Gn,UnionType:()=>Qo,UnorderedGroup:()=>ea,UntilToken:()=>Un,ValueLiteral:()=>qn,Wildcard:()=>Ii,isAbstractElement:()=>ta,isAbstractParserRule:()=>Fr,isAbstractRule:()=>sv,isAbstractType:()=>av,isAction:()=>Gr,isAlternatives:()=>Zo,isArrayLiteral:()=>ov,isArrayType:()=>yu,isAssignment:()=>ir,isBooleanLiteral:()=>Tu,isCharacterRange:()=>Ru,isCondition:()=>cv,isConjunction:()=>xu,isCrossReference:()=>sr,isDisjunction:()=>vu,isEndOfFile:()=>Eu,isGrammar:()=>lv,isGrammarImport:()=>uv,isGroup:()=>ln,isInferredType:()=>ra,isInfixRule:()=>un,isInfixRuleOperatorList:()=>fv,isInfixRuleOperators:()=>dv,isInterface:()=>Au,isKeyword:()=>Kt,isNamedArgument:()=>pv,isNegatedToken:()=>$u,isNegation:()=>Su,isNumberLiteral:()=>hv,isParameter:()=>mv,isParameterReference:()=>ku,isParserRule:()=>et,isReferenceType:()=>Nu,isRegexToken:()=>Cu,isReturnType:()=>wu,isRuleCall:()=>ar,isSimpleType:()=>ec,isStringLiteral:()=>gv,isTerminalAlternatives:()=>Iu,isTerminalElement:()=>yv,isTerminalGroup:()=>_u,isTerminalRule:()=>$t,isTerminalRuleCall:()=>tc,isType:()=>rc,isTypeAttribute:()=>Tv,isTypeDefinition:()=>Rv,isUnionType:()=>bu,isUnorderedGroup:()=>nc,isUntilToken:()=>Pu,isValueLiteral:()=>xv,isWildcard:()=>Ou,reflection:()=>j});var iv={ID:/\^?[_a-zA-Z][\w_]*/,STRING:/"(\\.|[^"\\])*"|'(\\.|[^'\\])*'/,NUMBER:/NaN|-?((\d*\.\d+|\d+)([Ee][+-]?\d+)?|Infinity)/,RegexLiteral:/\/(?![*+?])(?:[^\r\n\[/\\]|\\.|\[(?:[^\r\n\]\\]|\\.)*\])+\/[a-z]*/,WS:/\s+/,ML_COMMENT:/\/\*[\s\S]*?\*\//,SL_COMMENT:/\/\/[^\n\r]*/},It={$type:"AbstractElement",cardinality:"cardinality"};function ta(t){return j.isInstance(t,It.$type)}var Ks={$type:"AbstractParserRule"};function Fr(t){return j.isInstance(t,Ks.$type)}var $i={$type:"AbstractRule"};function sv(t){return j.isInstance(t,$i.$type)}var qt={$type:"AbstractType"};function av(t){return j.isInstance(t,qt.$type)}var nn={$type:"Action",cardinality:"cardinality",feature:"feature",inferredType:"inferredType",operator:"operator",type:"type"};function Gr(t){return j.isInstance(t,nn.$type)}var Hs={$type:"Alternatives",cardinality:"cardinality",elements:"elements"};function Zo(t){return j.isInstance(t,Hs.$type)}var Uo={$type:"ArrayLiteral",elements:"elements"};function ov(t){return j.isInstance(t,Uo.$type)}var qo={$type:"ArrayType",elementType:"elementType"};function yu(t){return j.isInstance(t,qo.$type)}var sn={$type:"Assignment",cardinality:"cardinality",feature:"feature",operator:"operator",predicate:"predicate",terminal:"terminal"};function ir(t){return j.isInstance(t,sn.$type)}var zo={$type:"BooleanLiteral",true:"true"};function Tu(t){return j.isInstance(t,zo.$type)}var an={$type:"CharacterRange",cardinality:"cardinality",left:"left",lookahead:"lookahead",parenthesized:"parenthesized",right:"right"};function Ru(t){return j.isInstance(t,an.$type)}var on={$type:"Condition"};function cv(t){return j.isInstance(t,on.$type)}var Ys={$type:"Conjunction",left:"left",right:"right"};function xu(t){return j.isInstance(t,Ys.$type)}var cn={$type:"CrossReference",cardinality:"cardinality",deprecatedSyntax:"deprecatedSyntax",isMulti:"isMulti",terminal:"terminal",type:"type"};function sr(t){return j.isInstance(t,cn.$type)}var Xs={$type:"Disjunction",left:"left",right:"right"};function vu(t){return j.isInstance(t,Xs.$type)}var jo={$type:"EndOfFile",cardinality:"cardinality"};function Eu(t){return j.isInstance(t,jo.$type)}var Dr={$type:"Grammar",imports:"imports",interfaces:"interfaces",isDeclared:"isDeclared",name:"name",rules:"rules",types:"types"};function lv(t){return j.isInstance(t,Dr.$type)}var Bo={$type:"GrammarImport",path:"path"};function uv(t){return j.isInstance(t,Bo.$type)}var _n={$type:"Group",cardinality:"cardinality",elements:"elements",guardCondition:"guardCondition",predicate:"predicate"};function ln(t){return j.isInstance(t,_n.$type)}var Wo={$type:"InferredType",name:"name"};function ra(t){return j.isInstance(t,Wo.$type)}var gr={$type:"InfixRule",call:"call",dataType:"dataType",inferredType:"inferredType",name:"name",operators:"operators",parameters:"parameters",returnType:"returnType"};function un(t){return j.isInstance(t,gr.$type)}var Js={$type:"InfixRuleOperatorList",associativity:"associativity",operators:"operators"};function fv(t){return j.isInstance(t,Js.$type)}var Vo={$type:"InfixRuleOperators",precedences:"precedences"};function dv(t){return j.isInstance(t,Vo.$type)}var Si={$type:"Interface",attributes:"attributes",name:"name",superTypes:"superTypes"};function Au(t){return j.isInstance(t,Si.$type)}var ki={$type:"Keyword",cardinality:"cardinality",predicate:"predicate",value:"value"};function Kt(t){return j.isInstance(t,ki.$type)}var Ni={$type:"NamedArgument",calledByName:"calledByName",parameter:"parameter",value:"value"};function pv(t){return j.isInstance(t,Ni.$type)}var bn={$type:"NegatedToken",cardinality:"cardinality",lookahead:"lookahead",parenthesized:"parenthesized",terminal:"terminal"};function $u(t){return j.isInstance(t,bn.$type)}var Ko={$type:"Negation",value:"value"};function Su(t){return j.isInstance(t,Ko.$type)}var Ho={$type:"NumberLiteral",value:"value"};function hv(t){return j.isInstance(t,Ho.$type)}var Ci={$type:"Parameter",name:"name"};function mv(t){return j.isInstance(t,Ci.$type)}var Yo={$type:"ParameterReference",parameter:"parameter"};function ku(t){return j.isInstance(t,Yo.$type)}var nr={$type:"ParserRule",dataType:"dataType",definition:"definition",entry:"entry",fragment:"fragment",inferredType:"inferredType",name:"name",parameters:"parameters",returnType:"returnType"};function et(t){return j.isInstance(t,nr.$type)}var Qs={$type:"ReferenceType",isMulti:"isMulti",referenceType:"referenceType"};function Nu(t){return j.isInstance(t,Qs.$type)}var Pn={$type:"RegexToken",cardinality:"cardinality",lookahead:"lookahead",parenthesized:"parenthesized",regex:"regex"};function Cu(t){return j.isInstance(t,Pn.$type)}var Xo={$type:"ReturnType",name:"name"};function wu(t){return j.isInstance(t,Xo.$type)}var On={$type:"RuleCall",arguments:"arguments",cardinality:"cardinality",predicate:"predicate",rule:"rule"};function ar(t){return j.isInstance(t,On.$type)}var wi={$type:"SimpleType",primitiveType:"primitiveType",stringType:"stringType",typeRef:"typeRef"};function ec(t){return j.isInstance(t,wi.$type)}var Jo={$type:"StringLiteral",value:"value"};function gv(t){return j.isInstance(t,Jo.$type)}var Ln={$type:"TerminalAlternatives",cardinality:"cardinality",elements:"elements",lookahead:"lookahead",parenthesized:"parenthesized"};function Iu(t){return j.isInstance(t,Ln.$type)}var _t={$type:"TerminalElement",cardinality:"cardinality",lookahead:"lookahead",parenthesized:"parenthesized"};function yv(t){return j.isInstance(t,_t.$type)}var Dn={$type:"TerminalGroup",cardinality:"cardinality",elements:"elements",lookahead:"lookahead",parenthesized:"parenthesized"};function _u(t){return j.isInstance(t,Dn.$type)}var Mr={$type:"TerminalRule",definition:"definition",fragment:"fragment",hidden:"hidden",name:"name",type:"type"};function $t(t){return j.isInstance(t,Mr.$type)}var Mn={$type:"TerminalRuleCall",cardinality:"cardinality",lookahead:"lookahead",parenthesized:"parenthesized",rule:"rule"};function tc(t){return j.isInstance(t,Mn.$type)}var Zs={$type:"Type",name:"name",type:"type"};function rc(t){return j.isInstance(t,Zs.$type)}var Fn={$type:"TypeAttribute",defaultValue:"defaultValue",isOptional:"isOptional",name:"name",type:"type"};function Tv(t){return j.isInstance(t,Fn.$type)}var Gn={$type:"TypeDefinition"};function Rv(t){return j.isInstance(t,Gn.$type)}var Qo={$type:"UnionType",types:"types"};function bu(t){return j.isInstance(t,Qo.$type)}var ea={$type:"UnorderedGroup",cardinality:"cardinality",elements:"elements"};function nc(t){return j.isInstance(t,ea.$type)}var Un={$type:"UntilToken",cardinality:"cardinality",lookahead:"lookahead",parenthesized:"parenthesized",terminal:"terminal"};function Pu(t){return j.isInstance(t,Un.$type)}var qn={$type:"ValueLiteral"};function xv(t){return j.isInstance(t,qn.$type)}var Ii={$type:"Wildcard",cardinality:"cardinality",lookahead:"lookahead",parenthesized:"parenthesized"};function Ou(t){return j.isInstance(t,Ii.$type)}var _i=class extends wn{constructor(){super(...arguments),this.types={AbstractElement:{name:It.$type,properties:{cardinality:{name:It.cardinality}},superTypes:[]},AbstractParserRule:{name:Ks.$type,properties:{},superTypes:[$i.$type,qt.$type]},AbstractRule:{name:$i.$type,properties:{},superTypes:[]},AbstractType:{name:qt.$type,properties:{},superTypes:[]},Action:{name:nn.$type,properties:{cardinality:{name:nn.cardinality},feature:{name:nn.feature},inferredType:{name:nn.inferredType},operator:{name:nn.operator},type:{name:nn.type,referenceType:qt.$type}},superTypes:[It.$type]},Alternatives:{name:Hs.$type,properties:{cardinality:{name:Hs.cardinality},elements:{name:Hs.elements,defaultValue:[]}},superTypes:[It.$type]},ArrayLiteral:{name:Uo.$type,properties:{elements:{name:Uo.elements,defaultValue:[]}},superTypes:[qn.$type]},ArrayType:{name:qo.$type,properties:{elementType:{name:qo.elementType}},superTypes:[Gn.$type]},Assignment:{name:sn.$type,properties:{cardinality:{name:sn.cardinality},feature:{name:sn.feature},operator:{name:sn.operator},predicate:{name:sn.predicate},terminal:{name:sn.terminal}},superTypes:[It.$type]},BooleanLiteral:{name:zo.$type,properties:{true:{name:zo.true,defaultValue:!1}},superTypes:[on.$type,qn.$type]},CharacterRange:{name:an.$type,properties:{cardinality:{name:an.cardinality},left:{name:an.left},lookahead:{name:an.lookahead},parenthesized:{name:an.parenthesized,defaultValue:!1},right:{name:an.right}},superTypes:[_t.$type]},Condition:{name:on.$type,properties:{},superTypes:[]},Conjunction:{name:Ys.$type,properties:{left:{name:Ys.left},right:{name:Ys.right}},superTypes:[on.$type]},CrossReference:{name:cn.$type,properties:{cardinality:{name:cn.cardinality},deprecatedSyntax:{name:cn.deprecatedSyntax,defaultValue:!1},isMulti:{name:cn.isMulti,defaultValue:!1},terminal:{name:cn.terminal},type:{name:cn.type,referenceType:qt.$type}},superTypes:[It.$type]},Disjunction:{name:Xs.$type,properties:{left:{name:Xs.left},right:{name:Xs.right}},superTypes:[on.$type]},EndOfFile:{name:jo.$type,properties:{cardinality:{name:jo.cardinality}},superTypes:[It.$type]},Grammar:{name:Dr.$type,properties:{imports:{name:Dr.imports,defaultValue:[]},interfaces:{name:Dr.interfaces,defaultValue:[]},isDeclared:{name:Dr.isDeclared,defaultValue:!1},name:{name:Dr.name},rules:{name:Dr.rules,defaultValue:[]},types:{name:Dr.types,defaultValue:[]}},superTypes:[]},GrammarImport:{name:Bo.$type,properties:{path:{name:Bo.path}},superTypes:[]},Group:{name:_n.$type,properties:{cardinality:{name:_n.cardinality},elements:{name:_n.elements,defaultValue:[]},guardCondition:{name:_n.guardCondition},predicate:{name:_n.predicate}},superTypes:[It.$type]},InferredType:{name:Wo.$type,properties:{name:{name:Wo.name}},superTypes:[qt.$type]},InfixRule:{name:gr.$type,properties:{call:{name:gr.call},dataType:{name:gr.dataType},inferredType:{name:gr.inferredType},name:{name:gr.name},operators:{name:gr.operators},parameters:{name:gr.parameters,defaultValue:[]},returnType:{name:gr.returnType,referenceType:qt.$type}},superTypes:[Ks.$type]},InfixRuleOperatorList:{name:Js.$type,properties:{associativity:{name:Js.associativity},operators:{name:Js.operators,defaultValue:[]}},superTypes:[]},InfixRuleOperators:{name:Vo.$type,properties:{precedences:{name:Vo.precedences,defaultValue:[]}},superTypes:[]},Interface:{name:Si.$type,properties:{attributes:{name:Si.attributes,defaultValue:[]},name:{name:Si.name},superTypes:{name:Si.superTypes,defaultValue:[],referenceType:qt.$type}},superTypes:[qt.$type]},Keyword:{name:ki.$type,properties:{cardinality:{name:ki.cardinality},predicate:{name:ki.predicate},value:{name:ki.value}},superTypes:[It.$type]},NamedArgument:{name:Ni.$type,properties:{calledByName:{name:Ni.calledByName,defaultValue:!1},parameter:{name:Ni.parameter,referenceType:Ci.$type},value:{name:Ni.value}},superTypes:[]},NegatedToken:{name:bn.$type,properties:{cardinality:{name:bn.cardinality},lookahead:{name:bn.lookahead},parenthesized:{name:bn.parenthesized,defaultValue:!1},terminal:{name:bn.terminal}},superTypes:[_t.$type]},Negation:{name:Ko.$type,properties:{value:{name:Ko.value}},superTypes:[on.$type]},NumberLiteral:{name:Ho.$type,properties:{value:{name:Ho.value}},superTypes:[qn.$type]},Parameter:{name:Ci.$type,properties:{name:{name:Ci.name}},superTypes:[]},ParameterReference:{name:Yo.$type,properties:{parameter:{name:Yo.parameter,referenceType:Ci.$type}},superTypes:[on.$type]},ParserRule:{name:nr.$type,properties:{dataType:{name:nr.dataType},definition:{name:nr.definition},entry:{name:nr.entry,defaultValue:!1},fragment:{name:nr.fragment,defaultValue:!1},inferredType:{name:nr.inferredType},name:{name:nr.name},parameters:{name:nr.parameters,defaultValue:[]},returnType:{name:nr.returnType,referenceType:qt.$type}},superTypes:[Ks.$type]},ReferenceType:{name:Qs.$type,properties:{isMulti:{name:Qs.isMulti,defaultValue:!1},referenceType:{name:Qs.referenceType}},superTypes:[Gn.$type]},RegexToken:{name:Pn.$type,properties:{cardinality:{name:Pn.cardinality},lookahead:{name:Pn.lookahead},parenthesized:{name:Pn.parenthesized,defaultValue:!1},regex:{name:Pn.regex}},superTypes:[_t.$type]},ReturnType:{name:Xo.$type,properties:{name:{name:Xo.name}},superTypes:[]},RuleCall:{name:On.$type,properties:{arguments:{name:On.arguments,defaultValue:[]},cardinality:{name:On.cardinality},predicate:{name:On.predicate},rule:{name:On.rule,referenceType:$i.$type}},superTypes:[It.$type]},SimpleType:{name:wi.$type,properties:{primitiveType:{name:wi.primitiveType},stringType:{name:wi.stringType},typeRef:{name:wi.typeRef,referenceType:qt.$type}},superTypes:[Gn.$type]},StringLiteral:{name:Jo.$type,properties:{value:{name:Jo.value}},superTypes:[qn.$type]},TerminalAlternatives:{name:Ln.$type,properties:{cardinality:{name:Ln.cardinality},elements:{name:Ln.elements,defaultValue:[]},lookahead:{name:Ln.lookahead},parenthesized:{name:Ln.parenthesized,defaultValue:!1}},superTypes:[_t.$type]},TerminalElement:{name:_t.$type,properties:{cardinality:{name:_t.cardinality},lookahead:{name:_t.lookahead},parenthesized:{name:_t.parenthesized,defaultValue:!1}},superTypes:[It.$type]},TerminalGroup:{name:Dn.$type,properties:{cardinality:{name:Dn.cardinality},elements:{name:Dn.elements,defaultValue:[]},lookahead:{name:Dn.lookahead},parenthesized:{name:Dn.parenthesized,defaultValue:!1}},superTypes:[_t.$type]},TerminalRule:{name:Mr.$type,properties:{definition:{name:Mr.definition},fragment:{name:Mr.fragment,defaultValue:!1},hidden:{name:Mr.hidden,defaultValue:!1},name:{name:Mr.name},type:{name:Mr.type}},superTypes:[$i.$type]},TerminalRuleCall:{name:Mn.$type,properties:{cardinality:{name:Mn.cardinality},lookahead:{name:Mn.lookahead},parenthesized:{name:Mn.parenthesized,defaultValue:!1},rule:{name:Mn.rule,referenceType:Mr.$type}},superTypes:[_t.$type]},Type:{name:Zs.$type,properties:{name:{name:Zs.name},type:{name:Zs.type}},superTypes:[qt.$type]},TypeAttribute:{name:Fn.$type,properties:{defaultValue:{name:Fn.defaultValue},isOptional:{name:Fn.isOptional,defaultValue:!1},name:{name:Fn.name},type:{name:Fn.type}},superTypes:[]},TypeDefinition:{name:Gn.$type,properties:{},superTypes:[]},UnionType:{name:Qo.$type,properties:{types:{name:Qo.types,defaultValue:[]}},superTypes:[Gn.$type]},UnorderedGroup:{name:ea.$type,properties:{cardinality:{name:ea.cardinality},elements:{name:ea.elements,defaultValue:[]}},superTypes:[It.$type]},UntilToken:{name:Un.$type,properties:{cardinality:{name:Un.cardinality},lookahead:{name:Un.lookahead},parenthesized:{name:Un.parenthesized,defaultValue:!1},terminal:{name:Un.terminal}},superTypes:[_t.$type]},ValueLiteral:{name:qn.$type,properties:{},superTypes:[]},Wildcard:{name:Ii.$type,properties:{cardinality:{name:Ii.cardinality},lookahead:{name:Ii.lookahead},parenthesized:{name:Ii.parenthesized,defaultValue:!1}},superTypes:[_t.$type]}}}},j=new _i;function vv(t){let e=t,r=!1;for(;e;){let n=Lr(e.grammarSource,et);if(n&&n.dataType)e=e.container,r=!0;else return r?e:void 0}}function zn(t){return new mr(t,e=>tr(e)?e.content:[],{includeRoot:!0})}function Ev(t){return zn(t).filter(en)}function Du(t,e){for(;t.container;)if(t=t.container,t===e)return!0;return!1}function bi(t){return{start:{character:t.startColumn-1,line:t.startLine-1},end:{character:t.endColumn,line:t.endLine-1}}}function jn(t){if(!t)return;let{offset:e,end:r,range:n}=t;return{range:n,offset:e,end:r,length:r-e}}var yr;(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"})(yr||(yr={}));function im(t,e){if(t.end.line<e.start.line||t.end.line===e.start.line&&t.end.character<=e.start.character)return yr.Before;if(t.start.line>e.end.line||t.start.line===e.end.line&&t.start.character>=e.end.character)return yr.After;let r=t.start.line>e.start.line||t.start.line===e.start.line&&t.start.character>=e.start.character,n=t.end.line<e.end.line||t.end.line===e.end.line&&t.end.character<=e.end.character;return r&&n?yr.Inside:r?yr.OverlapBack:n?yr.OverlapFront:yr.Outside}function gu(t,e){return im(t,e)>yr.After}var ic=/^[\w\p{L}]$/u;function Av(t,e,r=ic){if(t){if(e>0){let n=e-t.offset,i=t.text.charAt(n);r.test(i)||e--}return Fu(t,e)}}function Mu(t,e){if(t){let r=om(t,!0);if(r&&Lu(r,e))return r;if(Ws(t)){let n=t.content.findIndex(i=>!i.hidden);for(let i=n-1;i>=0;i--){let s=t.content[i];if(Lu(s,e))return s}}}}function Lu(t,e){return en(t)&&e.includes(t.tokenType.name)}function Fu(t,e){if(en(t))return t;if(tr(t)){let r=am(t,e,!1);if(r)return Fu(r,e)}}function sm(t,e){if(en(t))return t;if(tr(t)){let r=am(t,e,!0);if(r)return sm(r,e)}}function am(t,e,r){let n=0,i=t.content.length-1,s;for(;n<=i;){let a=Math.floor((n+i)/2),o=t.content[a];if(o.offset<=e&&o.end>e)return o;o.end<=e?(s=r?o:void 0,n=a+1):i=a-1}return s}function om(t,e=!0){for(;t.container;){let r=t.container,n=r.content.indexOf(t);for(;n>0;){n--;let i=r.content[n];if(e||!i.hidden)return i}t=r}}function $v(t,e=!0){for(;t.container;){let r=t.container,n=r.content.indexOf(t),i=r.content.length-1;for(;n<i;){n++;let s=r.content[n];if(e||!s.hidden)return s}t=r}}function Sv(t){if(t.range.start.character===0)return t;let e=t.range.start.line,r=t,n;for(;t.container;){let i=t.container,s=n??i.content.indexOf(t);if(s===0?(t=i,n=void 0):(n=s-1,t=i.content[n]),t.range.start.line!==e)break;r=t}return r}function kv(t,e){let r=Nv(t,e);return r?r.parent.content.slice(r.a+1,r.b):[]}function Nv(t,e){let r=nm(t),n=nm(e),i;for(let s=0;s<r.length&&s<n.length;s++){let a=r[s],o=n[s];if(a.parent===o.parent)i={parent:a.parent,a:a.index,b:o.index};else break}return i}function nm(t){let e=[];for(;t.container;){let r=t.container,n=r.content.indexOf(t);e.push({parent:r,index:n}),t=r}return e.reverse()}var fc={};Qr(fc,{findAssignment:()=>Zu,findNameAssignment:()=>lc,findNodeForKeyword:()=>Ju,findNodeForProperty:()=>la,findNodesForKeyword:()=>bv,findNodesForKeywordInternal:()=>Qu,findNodesForProperty:()=>Yu,getActionAtElement:()=>gm,getActionType:()=>Tm,getAllReachableRules:()=>ca,getAllRulesUsedForCrossReferences:()=>_v,getCrossReferenceTerminal:()=>Ku,getEntryRule:()=>dm,getExplicitRuleType:()=>uc,getHiddenRules:()=>pm,getRuleType:()=>ef,getRuleTypeName:()=>Mv,getTypeName:()=>dn,isArrayCardinality:()=>Ov,isArrayOperator:()=>Lv,isCommentTerminal:()=>Hu,isDataType:()=>Dv,isDataTypeRule:()=>ua,isOptionalCardinality:()=>Pv,terminalRegex:()=>Oi});var Bn=class extends Error{constructor(e,r){super(e?`${r} at ${e.range.start.line}:${e.range.start.character}`:r)}};function Tr(t,e="Error: Got unexpected value."){throw new Error(e)}function cm(t,e="Error: Condition is violated."){if(!t)throw new Error(e)}var cc={};Qr(cc,{NEWLINE_REGEXP:()=>zu,escapeRegExp:()=>fn,getTerminalParts:()=>Iv,isMultilineComment:()=>ju,isWhitespace:()=>oa,partialMatches:()=>Bu,partialRegExp:()=>fm,whitespaceCharacters:()=>um});function V(t){return t.charCodeAt(0)}function ac(t,e){Array.isArray(t)?t.forEach(function(r){e.push(r)}):e.push(t)}function Pi(t,e){if(t[e]===!0)throw"duplicate flag "+e;let r=t[e];t[e]=!0}function Wn(t){if(t===void 0)throw Error("Internal Error - Should never get here!");return!0}function ia(){throw Error("Internal Error - Should never get here!")}function Gu(t){return t.type==="Character"}var sa=[];for(let t=V("0");t<=V("9");t++)sa.push(t);var aa=[V("_")].concat(sa);for(let t=V("a");t<=V("z");t++)aa.push(t);for(let t=V("A");t<=V("Z");t++)aa.push(t);var Uu=[V(" "),V("\f"),V(`
|
|
36
|
+
`),V("\r"),V(" "),V("\v"),V(" "),V("\xA0"),V("\u1680"),V("\u2000"),V("\u2001"),V("\u2002"),V("\u2003"),V("\u2004"),V("\u2005"),V("\u2006"),V("\u2007"),V("\u2008"),V("\u2009"),V("\u200A"),V("\u2028"),V("\u2029"),V("\u202F"),V("\u205F"),V("\u3000"),V("\uFEFF")];var Cv=/[0-9a-fA-F]/,oc=/[0-9]/,wv=/[1-9]/,Vn=class{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("/");let r=this.disjunction();this.consumeChar("/");let n={type:"Flags",loc:{begin:this.idx,end:e.length},global:!1,ignoreCase:!1,multiLine:!1,unicode:!1,sticky:!1};for(;this.isRegExpFlag();)switch(this.popChar()){case"g":Pi(n,"global");break;case"i":Pi(n,"ignoreCase");break;case"m":Pi(n,"multiLine");break;case"u":Pi(n,"unicode");break;case"y":Pi(n,"sticky");break}if(this.idx!==this.input.length)throw Error("Redundant input: "+this.input.substring(this.idx));return{type:"Pattern",flags:n,value:r,loc:this.loc(0)}}disjunction(){let e=[],r=this.idx;for(e.push(this.alternative());this.peekChar()==="|";)this.consumeChar("|"),e.push(this.alternative());return{type:"Disjunction",value:e,loc:this.loc(r)}}alternative(){let e=[],r=this.idx;for(;this.isTerm();)e.push(this.term());return{type:"Alternative",value:e,loc:this.loc(r)}}term(){return this.isAssertion()?this.assertion():this.atom()}assertion(){let e=this.idx;switch(this.popChar()){case"^":return{type:"StartAnchor",loc:this.loc(e)};case"$":return{type:"EndAnchor",loc:this.loc(e)};case"\\":switch(this.popChar()){case"b":return{type:"WordBoundary",loc:this.loc(e)};case"B":return{type:"NonWordBoundary",loc:this.loc(e)}}throw Error("Invalid Assertion Escape");case"(":this.consumeChar("?");let r;switch(this.popChar()){case"=":r="Lookahead";break;case"!":r="NegativeLookahead";break;case"<":{switch(this.popChar()){case"=":r="Lookbehind";break;case"!":r="NegativeLookbehind"}break}}Wn(r);let n=this.disjunction();return this.consumeChar(")"),{type:r,value:n,loc:this.loc(e)}}return ia()}quantifier(e=!1){let r,n=this.idx;switch(this.popChar()){case"*":r={atLeast:0,atMost:1/0};break;case"+":r={atLeast:1,atMost:1/0};break;case"?":r={atLeast:0,atMost:1};break;case"{":let i=this.integerIncludingZero();switch(this.popChar()){case"}":r={atLeast:i,atMost:i};break;case",":let s;this.isDigit()?(s=this.integerIncludingZero(),r={atLeast:i,atMost:s}):r={atLeast:i,atMost:1/0},this.consumeChar("}");break}if(e===!0&&r===void 0)return;Wn(r);break}if(!(e===!0&&r===void 0)&&Wn(r))return this.peekChar(0)==="?"?(this.consumeChar("?"),r.greedy=!1):r.greedy=!0,r.type="Quantifier",r.loc=this.loc(n),r}atom(){let e,r=this.idx;switch(this.peekChar()){case".":e=this.dotAll();break;case"\\":e=this.atomEscape();break;case"[":e=this.characterClass();break;case"(":e=this.group();break}return e===void 0&&this.isPatternCharacter()&&(e=this.patternCharacter()),Wn(e)?(e.loc=this.loc(r),this.isQuantifier()&&(e.quantifier=this.quantifier()),e):ia()}dotAll(){return this.consumeChar("."),{type:"Set",complement:!0,value:[V(`
|
|
37
|
+
`),V("\r"),V("\u2028"),V("\u2029")]}}atomEscape(){switch(this.consumeChar("\\"),this.peekChar()){case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":return this.decimalEscapeAtom();case"d":case"D":case"s":case"S":case"w":case"W":return this.characterClassEscape();case"f":case"n":case"r":case"t":case"v":return this.controlEscapeAtom();case"c":return this.controlLetterEscapeAtom();case"0":return this.nulCharacterAtom();case"x":return this.hexEscapeSequenceAtom();case"u":return this.regExpUnicodeEscapeSequenceAtom();default:return this.identityEscapeAtom()}}decimalEscapeAtom(){return{type:"GroupBackReference",value:this.positiveInteger()}}characterClassEscape(){let e,r=!1;switch(this.popChar()){case"d":e=sa;break;case"D":e=sa,r=!0;break;case"s":e=Uu;break;case"S":e=Uu,r=!0;break;case"w":e=aa;break;case"W":e=aa,r=!0;break}return Wn(e)?{type:"Set",value:e,complement:r}:ia()}controlEscapeAtom(){let e;switch(this.popChar()){case"f":e=V("\f");break;case"n":e=V(`
|
|
38
|
+
`);break;case"r":e=V("\r");break;case"t":e=V(" ");break;case"v":e=V("\v");break}return Wn(e)?{type:"Character",value:e}:ia()}controlLetterEscapeAtom(){this.consumeChar("c");let 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:V("\0")}}hexEscapeSequenceAtom(){return this.consumeChar("x"),this.parseHexDigits(2)}regExpUnicodeEscapeSequenceAtom(){return this.consumeChar("u"),this.parseHexDigits(4)}identityEscapeAtom(){let e=this.popChar();return{type:"Character",value:V(e)}}classPatternCharacterAtom(){switch(this.peekChar()){case`
|
|
39
|
+
`:case"\r":case"\u2028":case"\u2029":case"\\":case"]":throw Error("TBD");default:let e=this.popChar();return{type:"Character",value:V(e)}}}characterClass(){let e=[],r=!1;for(this.consumeChar("["),this.peekChar(0)==="^"&&(this.consumeChar("^"),r=!0);this.isClassAtom();){let n=this.classAtom(),i=n.type==="Character";if(Gu(n)&&this.isRangeDash()){this.consumeChar("-");let s=this.classAtom(),a=s.type==="Character";if(Gu(s)){if(s.value<n.value)throw Error("Range out of order in character class");e.push({from:n.value,to:s.value})}else ac(n.value,e),e.push(V("-")),ac(s.value,e)}else ac(n.value,e)}return this.consumeChar("]"),{type:"Set",complement:r,value:e}}classAtom(){switch(this.peekChar()){case"]":case`
|
|
40
|
+
`: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:V("\b")};case"d":case"D":case"s":case"S":case"w":case"W":return this.characterClassEscape();case"f":case"n":case"r":case"t":case"v":return this.controlEscapeAtom();case"c":return this.controlLetterEscapeAtom();case"0":return this.nulCharacterAtom();case"x":return this.hexEscapeSequenceAtom();case"u":return this.regExpUnicodeEscapeSequenceAtom();default:return this.identityEscapeAtom()}}group(){let e=!0;this.consumeChar("("),this.peekChar(0)==="?"?(this.consumeChar("?"),this.consumeChar(":"),e=!1):this.groupIdx++;let r=this.disjunction();this.consumeChar(")");let n={type:"Group",capturing:e,value:r};return e&&(n.idx=this.groupIdx),n}positiveInteger(){let e=this.popChar();if(wv.test(e)===!1)throw Error("Expecting a positive integer");for(;oc.test(this.peekChar(0));)e+=this.popChar();return parseInt(e,10)}integerIncludingZero(){let e=this.popChar();if(oc.test(e)===!1)throw Error("Expecting an integer");for(;oc.test(this.peekChar(0));)e+=this.popChar();return parseInt(e,10)}patternCharacter(){let e=this.popChar();switch(e){case`
|
|
41
|
+
`: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:V(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 oc.test(this.peekChar(0))}isClassAtom(e=0){switch(this.peekChar(e)){case"]":case`
|
|
42
|
+
`: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(){let 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`
|
|
43
|
+
`:case"\r":case"\u2028":case"\u2029":return!1;default:return!0}}parseHexDigits(e){let r="";for(let i=0;i<e;i++){let s=this.popChar();if(Cv.test(s)===!1)throw Error("Expecting a HexDecimal digits");r+=s}return{type:"Character",value:parseInt(r,16)}}peekChar(e=0){return this.input[this.idx+e]}popChar(){let 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}}};var Rr=class{visitChildren(e){for(let r in e){let n=e[r];e.hasOwnProperty(r)&&(n.type!==void 0?this.visit(n):Array.isArray(n)&&n.forEach(i=>{this.visit(i)},this))}}visit(e){switch(e.type){case"Pattern":this.visitPattern(e);break;case"Flags":this.visitFlags(e);break;case"Disjunction":this.visitDisjunction(e);break;case"Alternative":this.visitAlternative(e);break;case"StartAnchor":this.visitStartAnchor(e);break;case"EndAnchor":this.visitEndAnchor(e);break;case"WordBoundary":this.visitWordBoundary(e);break;case"NonWordBoundary":this.visitNonWordBoundary(e);break;case"Lookahead":this.visitLookahead(e);break;case"NegativeLookahead":this.visitNegativeLookahead(e);break;case"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){}};var zu=/\r?\n/gm,lm=new Vn,qu=class extends Rr{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){let r=String.fromCharCode(e.value);if(!this.multiline&&r===`
|
|
44
|
+
`&&(this.multiline=!0),e.quantifier)this.isStarting=!1,this.endRegexpStack=[];else{let n=fn(r);this.endRegexpStack.push(n),this.isStarting&&(this.startRegexp+=n)}}visitSet(e){if(!this.multiline){let r=this.regex.substring(e.loc.begin,e.loc.end),n=new RegExp(r);this.multiline=!!`
|
|
45
|
+
`.match(n)}if(e.quantifier)this.isStarting=!1,this.endRegexpStack=[];else{let r=this.regex.substring(e.loc.begin,e.loc.end);this.endRegexpStack.push(r),this.isStarting&&(this.startRegexp+=r)}}visitChildren(e){e.type==="Group"&&e.quantifier||super.visitChildren(e)}},Kn=new qu;function Iv(t){try{typeof t!="string"&&(t=t.source),t=`/${t}/`;let e=lm.pattern(t),r=[];for(let n of e.value.value)Kn.reset(t),Kn.visit(n),r.push({start:Kn.startRegexp,end:Kn.endRegex});return r}catch{return[]}}function ju(t){try{return typeof t=="string"&&(t=new RegExp(t)),t=t.toString(),Kn.reset(t),Kn.visit(lm.pattern(t)),Kn.multiline}catch{return!1}}var um=`\f
|
|
46
|
+
\r \v \xA0\u1680\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u2028\u2029\u202F\u205F\u3000\uFEFF`.split("");function oa(t){let e=typeof t=="string"?new RegExp(t):t;return um.some(r=>e.test(r))}function fn(t){return t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function Bu(t,e){let r=fm(t),n=e.match(r);return!!n&&n[0].length>0}function fm(t){typeof t=="string"&&(t=new RegExp(t));let e=t,r=t.source,n=0;function i(){let s="",a;function o(l){s+=r.substr(n,l),n+=l}function c(l){s+="(?:"+r.substr(n,l)+"|$)",n+=l}for(;n<r.length;)switch(r[n]){case"\\":switch(r[n+1]){case"c":c(3);break;case"x":c(4);break;case"u":e.unicode?r[n+2]==="{"?c(r.indexOf("}",n)-n+1):c(6):c(2);break;case"p":case"P":e.unicode?c(r.indexOf("}",n)-n+1):c(2);break;case"k":c(r.indexOf(">",n)-n+1);break;default:c(2);break}break;case"[":a=/\[(?:\\.|.)*?\]/g,a.lastIndex=n,a=a.exec(r)||[],c(a[0].length);break;case"|":case"^":case"$":case"*":case"+":case"?":o(1);break;case"{":a=/\{\d+,?\d*\}/g,a.lastIndex=n,a=a.exec(r),a?o(a[0].length):c(1);break;case"(":if(r[n+1]==="?")switch(r[n+2]){case":":s+="(?:",n+=3,s+=i()+"|$)";break;case"=":s+="(?=",n+=3,s+=i()+")";break;case"!":a=n,n+=3,i(),s+=r.substr(a,n-a);break;case"<":switch(r[n+3]){case"=":case"!":a=n,n+=4,i(),s+=r.substr(a,n-a);break;default:o(r.indexOf(">",n)-n+1),s+=i()+"|$)";break}break}else o(1),s+=i()+"|$)";break;case")":return++n,s;default:c(1);break}return s}return new RegExp(i(),t.flags)}function dm(t){return t.rules.find(e=>et(e)&&e.entry)}function pm(t){return t.rules.filter(e=>$t(e)&&e.hidden)}function ca(t,e){let r=new Set,n=dm(t);if(!n)return new Set(t.rules);let i=[n].concat(pm(t));for(let a of i)hm(a,r,e);let s=new Set;for(let a of t.rules)(r.has(a.name)||$t(a)&&a.hidden)&&s.add(a);return s}function hm(t,e,r){e.add(t.name),rr(t).forEach(n=>{if(ar(n)||r&&tc(n)){let i=n.rule.ref;i&&!e.has(i.name)&&hm(i,e,r)}})}function _v(t){let e=new Set;return rr(t).forEach(r=>{sr(r)&&(et(r.type.ref)&&e.add(r.type.ref),ra(r.type.ref)&&et(r.type.ref.$container)&&e.add(r.type.ref.$container))}),e}function Ku(t){if(t.terminal)return t.terminal;if(t.type.ref)return lc(t.type.ref)?.terminal}function Hu(t){return t.hidden&&!oa(Oi(t))}function Yu(t,e){return!t||!e?[]:Xu(t,e,t.astNode,!0)}function la(t,e,r){if(!t||!e)return;let n=Xu(t,e,t.astNode,!0);if(n.length!==0)return r!==void 0?r=Math.max(0,Math.min(r,n.length-1)):r=0,n[r]}function Xu(t,e,r,n){if(!n){let i=Lr(t.grammarSource,ir);if(i&&i.feature===e)return[t]}return tr(t)&&t.astNode===r?t.content.flatMap(i=>Xu(i,e,r,!1)):[]}function bv(t,e){return t?Qu(t,e,t?.astNode):[]}function Ju(t,e,r){if(!t)return;let n=Qu(t,e,t?.astNode);if(n.length!==0)return r!==void 0?r=Math.max(0,Math.min(r,n.length-1)):r=0,n[r]}function Qu(t,e,r){if(t.astNode!==r)return[];if(Kt(t.grammarSource)&&t.grammarSource.value===e)return[t];let n=zn(t).iterator(),i,s=[];do if(i=n.next(),!i.done){let a=i.value;a.astNode===r?Kt(a.grammarSource)&&a.grammarSource.value===e&&s.push(a):n.prune()}while(!i.done);return s}function Zu(t){let e=t.astNode;for(;e===t.container?.astNode;){let r=Lr(t.grammarSource,ir);if(r)return r;t=t.container}}function lc(t){let e=t;return ra(e)&&(Gr(e.$container)?e=e.$container.$container:Fr(e.$container)?e=e.$container:Tr(e.$container)),mm(t,e,new Map)}function mm(t,e,r){function n(i,s){let a;return Lr(i,ir)||(a=mm(s,s,r)),r.set(t,a),a}if(r.has(t))return r.get(t);r.set(t,void 0);for(let i of rr(e)){if(ir(i)&&i.feature.toLowerCase()==="name")return r.set(t,i),i;if(ar(i)&&et(i.rule.ref))return n(i,i.rule.ref);if(ec(i)&&i.typeRef?.ref)return n(i,i.typeRef.ref)}}function gm(t){let e=t.$container;if(ln(e)){let r=e.elements,n=r.indexOf(t);for(let i=n-1;i>=0;i--){let s=r[i];if(Gr(s))return s;{let a=rr(r[i]).find(Gr);if(a)return a}}}if(ta(e))return gm(e)}function Pv(t,e){return t==="?"||t==="*"||ln(e)&&!!e.guardCondition}function Ov(t){return t==="*"||t==="+"}function Lv(t){return t==="+="}function ua(t){return ym(t,new Set)}function ym(t,e){if(e.has(t))return!0;e.add(t);for(let r of rr(t))if(ar(r)){if(!r.rule.ref||et(r.rule.ref)&&!ym(r.rule.ref,e)||un(r.rule.ref))return!1}else{if(ir(r))return!1;if(Gr(r))return!1}return!!t.definition}function Dv(t){return Vu(t.type,new Set)}function Vu(t,e){if(e.has(t))return!0;if(e.add(t),yu(t))return!1;if(Nu(t))return!1;if(bu(t))return t.types.every(r=>Vu(r,e));if(ec(t)){if(t.primitiveType!==void 0)return!0;if(t.stringType!==void 0)return!0;if(t.typeRef!==void 0){let r=t.typeRef.ref;return rc(r)?Vu(r.type,e):!1}else return!1}else return!1}function uc(t){if(!$t(t)){if(t.inferredType)return t.inferredType.name;if(t.dataType)return t.dataType;if(t.returnType){let e=t.returnType.ref;if(e)return e.name}}}function dn(t){if(Fr(t))return et(t)&&ua(t)?t.name:uc(t)??t.name;if(Au(t)||rc(t)||wu(t))return t.name;if(Gr(t)){let e=Tm(t);if(e)return e}else if(ra(t))return t.name;throw new Error("Cannot get name of Unknown Type")}function Tm(t){if(t.inferredType)return t.inferredType.name;if(t.type?.ref)return dn(t.type.ref)}function Mv(t){return $t(t)?t.type?.name??"string":et(t)&&ua(t)?t.name:uc(t)??t.name}function ef(t){return $t(t)?t.type?.name??"string":uc(t)??t.name}function Oi(t){let e={s:!1,i:!1,u:!1},r=Li(t.definition,e),n=Object.entries(e).filter(([,i])=>i).map(([i])=>i).join("");return new RegExp(r,n)}var tf=/[\s\S]/.source;function Li(t,e){if(Iu(t))return Fv(t);if(_u(t))return Gv(t);if(Ru(t))return zv(t);if(tc(t)){let r=t.rule.ref;if(!r)throw new Error("Missing rule reference.");return Ur(Li(r.definition),{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized})}else{if($u(t))return qv(t);if(Pu(t))return Uv(t);if(Cu(t)){let r=t.regex.lastIndexOf("/"),n=t.regex.substring(1,r),i=t.regex.substring(r+1);return e&&(e.i=i.includes("i"),e.s=i.includes("s"),e.u=i.includes("u")),Ur(n,{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized,wrap:!1})}else{if(Ou(t))return Ur(tf,{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized});throw new Error(`Invalid terminal element: ${t?.$type}, ${t?.$cstNode?.text}`)}}}function Fv(t){return Ur(t.elements.map(e=>Li(e)).join("|"),{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized,wrap:!1})}function Gv(t){return Ur(t.elements.map(e=>Li(e)).join(""),{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized,wrap:!1})}function Uv(t){return Ur(`${tf}*?${Li(t.terminal)}`,{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized})}function qv(t){return Ur(`(?!${Li(t.terminal)})${tf}*?`,{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized})}function zv(t){return t.right?Ur(`[${Wu(t.left)}-${Wu(t.right)}]`,{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized,wrap:!1}):Ur(Wu(t.left),{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized,wrap:!1})}function Wu(t){return fn(t.value)}function Ur(t,e){return(e.parenthesized||e.lookahead||e.wrap!==!1)&&(t=`(${e.lookahead??(e.parenthesized?"":"?:")}${t})`),e.cardinality?`${t}${e.cardinality}`:t}function rf(t){let e=[],r=t.Grammar;for(let n of r.rules)$t(n)&&Hu(n)&&ju(Oi(n))&&e.push(n.name);return{multilineCommentRules:e,nameRegexp:ic}}function Di(t){console&&console.error&&console.error(`Error: ${t}`)}function fa(t){console&&console.warn&&console.warn(`Warning: ${t}`)}function da(t){let e=new Date().getTime(),r=t();return{time:new Date().getTime()-e,value:r}}function pa(t){function e(){}e.prototype=t;let r=new e;function n(){return typeof r.bar}return n(),n(),t;(0,eval)(t)}function jv(t){return Bv(t)?t.LABEL:t.name}function Bv(t){return dt(t.LABEL)&&t.LABEL!==""}var zt=class{get definition(){return this._definition}set definition(e){this._definition=e}constructor(e){this._definition=e}accept(e){e.visit(this),M(this.definition,r=>{r.accept(e)})}},fe=class extends zt{constructor(e){super([]),this.idx=1,lt(this,Ft(e,r=>r!==void 0))}set definition(e){}get definition(){return this.referencedRule!==void 0?this.referencedRule.definition:[]}accept(e){e.visit(this)}},St=class extends zt{constructor(e){super(e.definition),this.orgText="",lt(this,Ft(e,r=>r!==void 0))}},ye=class extends zt{constructor(e){super(e.definition),this.ignoreAmbiguities=!1,lt(this,Ft(e,r=>r!==void 0))}},de=class extends zt{constructor(e){super(e.definition),this.idx=1,lt(this,Ft(e,r=>r!==void 0))}},Te=class extends zt{constructor(e){super(e.definition),this.idx=1,lt(this,Ft(e,r=>r!==void 0))}},Re=class extends zt{constructor(e){super(e.definition),this.idx=1,lt(this,Ft(e,r=>r!==void 0))}},se=class extends zt{constructor(e){super(e.definition),this.idx=1,lt(this,Ft(e,r=>r!==void 0))}},me=class extends zt{constructor(e){super(e.definition),this.idx=1,lt(this,Ft(e,r=>r!==void 0))}},ge=class extends zt{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,lt(this,Ft(e,r=>r!==void 0))}},re=class{constructor(e){this.idx=1,lt(this,Ft(e,r=>r!==void 0))}accept(e){e.visit(this)}};function dc(t){return w(t,Mi)}function Mi(t){function e(r){return w(r,Mi)}if(t instanceof fe){let r={type:"NonTerminal",name:t.nonTerminalName,idx:t.idx};return dt(t.label)&&(r.label=t.label),r}else{if(t instanceof ye)return{type:"Alternative",definition:e(t.definition)};if(t instanceof de)return{type:"Option",idx:t.idx,definition:e(t.definition)};if(t instanceof Te)return{type:"RepetitionMandatory",idx:t.idx,definition:e(t.definition)};if(t instanceof Re)return{type:"RepetitionMandatoryWithSeparator",idx:t.idx,separator:Mi(new re({terminalType:t.separator})),definition:e(t.definition)};if(t instanceof me)return{type:"RepetitionWithSeparator",idx:t.idx,separator:Mi(new re({terminalType:t.separator})),definition:e(t.definition)};if(t instanceof se)return{type:"Repetition",idx:t.idx,definition:e(t.definition)};if(t instanceof ge)return{type:"Alternation",idx:t.idx,definition:e(t.definition)};if(t instanceof re){let r={type:"Terminal",name:t.terminalType.name,label:jv(t.terminalType),idx:t.idx};dt(t.label)&&(r.terminalLabel=t.label);let n=t.terminalType.PATTERN;return t.terminalType.PATTERN&&(r.pattern=er(n)?n.source:n),r}else{if(t instanceof St)return{type:"Rule",name:t.name,orgText:t.orgText,definition:e(t.definition)};throw Error("non exhaustive match")}}}var kt=class{visit(e){let r=e;switch(r.constructor){case fe:return this.visitNonTerminal(r);case ye:return this.visitAlternative(r);case de:return this.visitOption(r);case Te:return this.visitRepetitionMandatory(r);case Re:return this.visitRepetitionMandatoryWithSeparator(r);case me:return this.visitRepetitionWithSeparator(r);case se:return this.visitRepetition(r);case ge:return this.visitAlternation(r);case re:return this.visitTerminal(r);case St:return this.visitRule(r);default:throw Error("non exhaustive match")}}visitNonTerminal(e){}visitAlternative(e){}visitOption(e){}visitRepetition(e){}visitRepetitionMandatory(e){}visitRepetitionMandatoryWithSeparator(e){}visitRepetitionWithSeparator(e){}visitAlternation(e){}visitTerminal(e){}visitRule(e){}};function nf(t){return t instanceof ye||t instanceof de||t instanceof se||t instanceof Te||t instanceof Re||t instanceof me||t instanceof re||t instanceof St}function Hn(t,e=[]){return t instanceof de||t instanceof se||t instanceof me?!0:t instanceof ge?Do(t.definition,n=>Hn(n,e)):t instanceof fe&&Pe(e,t)?!1:t instanceof zt?(t instanceof fe&&e.push(t),vt(t.definition,n=>Hn(n,e))):!1}function sf(t){return t instanceof ge}function bt(t){if(t instanceof fe)return"SUBRULE";if(t instanceof de)return"OPTION";if(t instanceof ge)return"OR";if(t instanceof Te)return"AT_LEAST_ONE";if(t instanceof Re)return"AT_LEAST_ONE_SEP";if(t instanceof me)return"MANY_SEP";if(t instanceof se)return"MANY";if(t instanceof re)return"CONSUME";throw Error("non exhaustive match")}var qr=class{walk(e,r=[]){M(e.definition,(n,i)=>{let s=We(e.definition,i+1);if(n instanceof fe)this.walkProdRef(n,s,r);else if(n instanceof re)this.walkTerminal(n,s,r);else if(n instanceof ye)this.walkFlat(n,s,r);else if(n instanceof de)this.walkOption(n,s,r);else if(n instanceof Te)this.walkAtLeastOne(n,s,r);else if(n instanceof Re)this.walkAtLeastOneSep(n,s,r);else if(n instanceof me)this.walkManySep(n,s,r);else if(n instanceof se)this.walkMany(n,s,r);else if(n instanceof ge)this.walkOr(n,s,r);else throw Error("non exhaustive match")})}walkTerminal(e,r,n){}walkProdRef(e,r,n){}walkFlat(e,r,n){let i=r.concat(n);this.walk(e,i)}walkOption(e,r,n){let i=r.concat(n);this.walk(e,i)}walkAtLeastOne(e,r,n){let i=[new de({definition:e.definition})].concat(r,n);this.walk(e,i)}walkAtLeastOneSep(e,r,n){let i=Rm(e,r,n);this.walk(e,i)}walkMany(e,r,n){let i=[new de({definition:e.definition})].concat(r,n);this.walk(e,i)}walkManySep(e,r,n){let i=Rm(e,r,n);this.walk(e,i)}walkOr(e,r,n){let i=r.concat(n);M(e.definition,s=>{let a=new ye({definition:[s]});this.walk(a,i)})}};function Rm(t,e,r){return[new de({definition:[new re({terminalType:t.separator})].concat(t.definition)})].concat(e,r)}function Yn(t){if(t instanceof fe)return Yn(t.referencedRule);if(t instanceof re)return Kv(t);if(nf(t))return Wv(t);if(sf(t))return Vv(t);throw Error("non exhaustive match")}function Wv(t){let e=[],r=t.definition,n=0,i=r.length>n,s,a=!0;for(;i&&a;)s=r[n],a=Hn(s),e=e.concat(Yn(s)),n=n+1,i=r.length>n;return Bs(e)}function Vv(t){let e=w(t.definition,r=>Yn(r));return Bs(Be(e))}function Kv(t){return[t.terminalType]}var pc="_~IN~_";var af=class extends qr{constructor(e){super(),this.topProd=e,this.follows={}}startWalking(){return this.walk(this.topProd),this.follows}walkTerminal(e,r,n){}walkProdRef(e,r,n){let i=Hv(e.referencedRule,e.idx)+this.topProd.name,s=r.concat(n),a=new ye({definition:s}),o=Yn(a);this.follows[i]=o}};function xm(t){let e={};return M(t,r=>{let n=new af(r).startWalking();lt(e,n)}),e}function Hv(t,e){return t.name+e+pc}var hc={},Yv=new Vn;function Fi(t){let e=t.toString();if(hc.hasOwnProperty(e))return hc[e];{let r=Yv.pattern(e);return hc[e]=r,r}}function vm(){hc={}}var Am="Complement Sets are not supported for first char optimization",ha=`Unable to use "first char" lexer optimizations:
|
|
47
|
+
`;function $m(t,e=!1){try{let r=Fi(t);return of(r.value,{},r.flags.ignoreCase)}catch(r){if(r.message===Am)e&&fa(`${ha} Unable to optimize: < ${t.toString()} >
|
|
48
|
+
Complement Sets cannot be automatically optimized.
|
|
49
|
+
This will disable the lexer's first char optimizations.
|
|
50
|
+
See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#COMPLEMENT for details.`);else{let n="";e&&(n=`
|
|
51
|
+
This will disable the lexer's first char optimizations.
|
|
52
|
+
See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#REGEXP_PARSING for details.`),Di(`${ha}
|
|
53
|
+
Failed parsing: < ${t.toString()} >
|
|
54
|
+
Using the @chevrotain/regexp-to-ast library
|
|
55
|
+
Please open an issue at: https://github.com/chevrotain/chevrotain/issues`+n)}}return[]}function of(t,e,r){switch(t.type){case"Disjunction":for(let i=0;i<t.value.length;i++)of(t.value[i],e,r);break;case"Alternative":let n=t.value;for(let i=0;i<n.length;i++){let s=n[i];switch(s.type){case"EndAnchor":case"GroupBackReference":case"Lookahead":case"NegativeLookahead":case"Lookbehind":case"NegativeLookbehind":case"StartAnchor":case"WordBoundary":case"NonWordBoundary":continue}let a=s;switch(a.type){case"Character":mc(a.value,e,r);break;case"Set":if(a.complement===!0)throw Error(Am);M(a.value,c=>{if(typeof c=="number")mc(c,e,r);else{let l=c;if(r===!0)for(let f=l.from;f<=l.to;f++)mc(f,e,r);else{for(let f=l.from;f<=l.to&&f<Gi;f++)mc(f,e,r);if(l.to>=Gi){let f=l.from>=Gi?l.from:Gi,p=l.to,h=xr(f),g=xr(p);for(let k=h;k<=g;k++)e[k]=k}}}});break;case"Group":of(a.value,e,r);break;default:throw Error("Non Exhaustive Match")}let o=a.quantifier!==void 0&&a.quantifier.atLeast===0;if(a.type==="Group"&&cf(a)===!1||a.type!=="Group"&&o===!1)break}break;default:throw Error("non exhaustive match!")}return $e(e)}function mc(t,e,r){let n=xr(t);e[n]=n,r===!0&&Xv(t,e)}function Xv(t,e){let r=String.fromCharCode(t),n=r.toUpperCase();if(n!==r){let i=xr(n.charCodeAt(0));e[i]=i}else{let i=r.toLowerCase();if(i!==r){let s=xr(i.charCodeAt(0));e[s]=s}}}function Em(t,e){return Or(t.value,r=>{if(typeof r=="number")return Pe(e,r);{let n=r;return Or(e,i=>n.from<=i&&i<=n.to)!==void 0}})}function cf(t){let e=t.quantifier;return e&&e.atLeast===0?!0:t.value?Ye(t.value)?vt(t.value,cf):cf(t.value):!1}var lf=class extends Rr{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){Pe(this.targetCharCodes,e.value)&&(this.found=!0)}visitSet(e){e.complement?Em(e,this.targetCharCodes)===void 0&&(this.found=!0):Em(e,this.targetCharCodes)!==void 0&&(this.found=!0)}};function gc(t,e){if(e instanceof RegExp){let r=Fi(e),n=new lf(t);return n.visit(r),n.found}else return Or(e,r=>Pe(t,r.charCodeAt(0)))!==void 0}var Xn="PATTERN",Ui="defaultMode",yc="modes";function km(t,e){e=js(e,{debug:!1,safeMode:!1,positionTracking:"full",lineTerminatorCharacters:["\r",`
|
|
56
|
+
`],tracer:(L,A)=>A()});let r=e.tracer;r("initCharCodeToOptimizedIndexMap",()=>{mE()});let n;r("Reject Lexer.NA",()=>{n=Cn(t,L=>L[Xn]===we.NA)});let i=!1,s;r("Transform Patterns",()=>{i=!1,s=w(n,L=>{let A=L[Xn];if(er(A)){let D=A.source;return D.length===1&&D!=="^"&&D!=="$"&&D!=="."&&!A.ignoreCase?D:D.length===2&&D[0]==="\\"&&!Pe(["d","D","s","S","t","r","n","t","0","c","b","B","f","v","w","W"],D[1])?D[1]:Sm(A)}else{if(pr(A))return i=!0,{exec:A};if(typeof A=="object")return i=!0,A;if(typeof A=="string"){if(A.length===1)return A;{let D=A.replace(/[\\^$.*+?()[\]{}|]/g,"\\$&"),Y=new RegExp(D);return Sm(Y)}}else throw Error("non exhaustive match")}})});let a,o,c,l,f;r("misc mapping",()=>{a=w(n,L=>L.tokenTypeIdx),o=w(n,L=>{let A=L.GROUP;if(A!==we.SKIPPED){if(dt(A))return A;if(Et(A))return!1;throw Error("non exhaustive match")}}),c=w(n,L=>{let A=L.LONGER_ALT;if(A)return Ye(A)?w(A,Y=>fu(n,Y)):[fu(n,A)]}),l=w(n,L=>L.PUSH_MODE),f=w(n,L=>G(L,"POP_MODE"))});let p;r("Line Terminator Handling",()=>{let L=Om(e.lineTerminatorCharacters);p=w(n,A=>!1),e.positionTracking!=="onlyOffset"&&(p=w(n,A=>G(A,"LINE_BREAKS")?!!A.LINE_BREAKS:Pm(A,L)===!1&&gc(L,A.PATTERN)))});let h,g,k,N;r("Misc Mapping #2",()=>{h=w(n,_m),g=w(s,pE),k=Fe(n,(L,A)=>{let D=A.GROUP;return dt(D)&&D!==we.SKIPPED&&(L[D]=[]),L},{}),N=w(s,(L,A)=>({pattern:s[A],longerAlt:c[A],canLineTerminator:p[A],isCustom:h[A],short:g[A],group:o[A],push:l[A],pop:f[A],tokenTypeIdx:a[A],tokenType:n[A]}))});let U=!0,_=[];return e.safeMode||r("First Char Optimization",()=>{_=Fe(n,(L,A,D)=>{if(typeof A.PATTERN=="string"){let Y=A.PATTERN.charCodeAt(0),ve=xr(Y);uf(L,ve,N[D])}else if(Ye(A.START_CHARS_HINT)){let Y;M(A.START_CHARS_HINT,ve=>{let Rt=typeof ve=="string"?ve.charCodeAt(0):ve,ct=xr(Rt);Y!==ct&&(Y=ct,uf(L,ct,N[D]))})}else if(er(A.PATTERN))if(A.PATTERN.unicode)U=!1,e.ensureOptimizations&&Di(`${ha} Unable to analyze < ${A.PATTERN.toString()} > pattern.
|
|
57
|
+
The regexp unicode flag is not currently supported by the regexp-to-ast library.
|
|
58
|
+
This will disable the lexer's first char optimizations.
|
|
59
|
+
For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#UNICODE_OPTIMIZE`);else{let Y=$m(A.PATTERN,e.ensureOptimizations);ee(Y)&&(U=!1),M(Y,ve=>{uf(L,ve,N[D])})}else e.ensureOptimizations&&Di(`${ha} TokenType: <${A.name}> is using a custom token pattern without providing <start_chars_hint> parameter.
|
|
60
|
+
This will disable the lexer's first char optimizations.
|
|
61
|
+
For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#CUSTOM_OPTIMIZE`),U=!1;return L},[])}),{emptyGroups:k,patternIdxToConfig:N,charCodeToPatternIdxToConfig:_,hasCustom:i,canBeOptimized:U}}function Nm(t,e){let r=[],n=Qv(t);r=r.concat(n.errors);let i=Zv(n.valid),s=i.valid;return r=r.concat(i.errors),r=r.concat(Jv(s)),r=r.concat(oE(s)),r=r.concat(cE(s,e)),r=r.concat(lE(s)),r}function Jv(t){let e=[],r=st(t,n=>er(n[Xn]));return e=e.concat(tE(r)),e=e.concat(iE(r)),e=e.concat(sE(r)),e=e.concat(aE(r)),e=e.concat(rE(r)),e}function Qv(t){let e=st(t,i=>!G(i,Xn)),r=w(e,i=>({message:"Token Type: ->"+i.name+"<- missing static 'PATTERN' property",type:Ce.MISSING_PATTERN,tokenTypes:[i]})),n=Nn(t,e);return{errors:r,valid:n}}function Zv(t){let e=st(t,i=>{let s=i[Xn];return!er(s)&&!pr(s)&&!G(s,"exec")&&!dt(s)}),r=w(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:Ce.INVALID_PATTERN,tokenTypes:[i]})),n=Nn(t,e);return{errors:r,valid:n}}var eE=/[^\\][$]/;function tE(t){class e extends Rr{constructor(){super(...arguments),this.found=!1}visitEndAnchor(s){this.found=!0}}let r=st(t,i=>{let s=i.PATTERN;try{let a=Fi(s),o=new e;return o.visit(a),o.found}catch{return eE.test(s.source)}});return w(r,i=>({message:`Unexpected RegExp Anchor Error:
|
|
62
|
+
Token Type: ->`+i.name+`<- static 'PATTERN' cannot contain end of input anchor '$'
|
|
63
|
+
See chevrotain.io/docs/guide/resolving_lexer_errors.html#ANCHORS for details.`,type:Ce.EOI_ANCHOR_FOUND,tokenTypes:[i]}))}function rE(t){let e=st(t,n=>n.PATTERN.test(""));return w(e,n=>({message:"Token Type: ->"+n.name+"<- static 'PATTERN' must not match an empty string",type:Ce.EMPTY_MATCH_PATTERN,tokenTypes:[n]}))}var nE=/[^\\[][\^]|^\^/;function iE(t){class e extends Rr{constructor(){super(...arguments),this.found=!1}visitStartAnchor(s){this.found=!0}}let r=st(t,i=>{let s=i.PATTERN;try{let a=Fi(s),o=new e;return o.visit(a),o.found}catch{return nE.test(s.source)}});return w(r,i=>({message:`Unexpected RegExp Anchor Error:
|
|
64
|
+
Token Type: ->`+i.name+`<- static 'PATTERN' cannot contain start of input anchor '^'
|
|
65
|
+
See https://chevrotain.io/docs/guide/resolving_lexer_errors.html#ANCHORS for details.`,type:Ce.SOI_ANCHOR_FOUND,tokenTypes:[i]}))}function sE(t){let e=st(t,n=>{let i=n[Xn];return i instanceof RegExp&&(i.multiline||i.global)});return w(e,n=>({message:"Token Type: ->"+n.name+"<- static 'PATTERN' may NOT contain global('g') or multiline('m')",type:Ce.UNSUPPORTED_FLAGS_FOUND,tokenTypes:[n]}))}function aE(t){let e=[],r=w(t,s=>Fe(t,(a,o)=>(s.PATTERN.source===o.PATTERN.source&&!Pe(e,o)&&o.PATTERN!==we.NA&&(e.push(o),a.push(o)),a),[]));r=Pr(r);let n=st(r,s=>s.length>1);return w(n,s=>{let a=w(s,c=>c.name);return{message:`The same RegExp pattern ->${ut(s).PATTERN}<-has been used in all of the following Token Types: ${a.join(", ")} <-`,type:Ce.DUPLICATE_PATTERNS_FOUND,tokenTypes:s}})}function oE(t){let e=st(t,n=>{if(!G(n,"GROUP"))return!1;let i=n.GROUP;return i!==we.SKIPPED&&i!==we.NA&&!dt(i)});return w(e,n=>({message:"Token Type: ->"+n.name+"<- static 'GROUP' can only be Lexer.SKIPPED/Lexer.NA/A String",type:Ce.INVALID_GROUP_TYPE_FOUND,tokenTypes:[n]}))}function cE(t,e){let r=st(t,i=>i.PUSH_MODE!==void 0&&!Pe(e,i.PUSH_MODE));return w(r,i=>({message:`Token Type: ->${i.name}<- static 'PUSH_MODE' value cannot refer to a Lexer Mode ->${i.PUSH_MODE}<-which does not exist`,type:Ce.PUSH_MODE_DOES_NOT_EXIST,tokenTypes:[i]}))}function lE(t){let e=[],r=Fe(t,(n,i,s)=>{let a=i.PATTERN;return a===we.NA||(dt(a)?n.push({str:a,idx:s,tokenType:i}):er(a)&&fE(a)&&n.push({str:a.source,idx:s,tokenType:i})),n},[]);return M(t,(n,i)=>{M(r,({str:s,idx:a,tokenType:o})=>{if(i<a&&uE(s,n.PATTERN)){let c=`Token: ->${o.name}<- can never be matched.
|
|
66
|
+
Because it appears AFTER the Token Type ->${n.name}<-in the lexer's definition.
|
|
67
|
+
See https://chevrotain.io/docs/guide/resolving_lexer_errors.html#UNREACHABLE`;e.push({message:c,type:Ce.UNREACHABLE_PATTERN,tokenTypes:[n,o]})}})}),e}function uE(t,e){if(er(e)){if(dE(e))return!1;let r=e.exec(t);return r!==null&&r.index===0}else{if(pr(e))return e(t,0,[],{});if(G(e,"exec"))return e.exec(t,0,[],{});if(typeof e=="string")return e===t;throw Error("non exhaustive match")}}function fE(t){return Or([".","\\","[","]","|","^","$","(",")","?","*","+","{"],r=>t.source.indexOf(r)!==-1)===void 0}function dE(t){return/(\(\?=)|(\(\?!)|(\(\?<=)|(\(\?<!)/.test(t.source)}function Sm(t){let e=t.ignoreCase?"iy":"y";return new RegExp(`${t.source}`,e)}function Cm(t,e,r){let n=[];return G(t,Ui)||n.push({message:"A MultiMode Lexer cannot be initialized without a <"+Ui+`> property in its definition
|
|
68
|
+
`,type:Ce.MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE}),G(t,yc)||n.push({message:"A MultiMode Lexer cannot be initialized without a <"+yc+`> property in its definition
|
|
69
|
+
`,type:Ce.MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY}),G(t,yc)&&G(t,Ui)&&!G(t.modes,t.defaultMode)&&n.push({message:`A MultiMode Lexer cannot be initialized with a ${Ui}: <${t.defaultMode}>which does not exist
|
|
70
|
+
`,type:Ce.MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST}),G(t,yc)&&M(t.modes,(i,s)=>{M(i,(a,o)=>{if(Et(a))n.push({message:`A Lexer cannot be initialized using an undefined Token Type. Mode:<${s}> at index: <${o}>
|
|
71
|
+
`,type:Ce.LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED});else if(G(a,"LONGER_ALT")){let c=Ye(a.LONGER_ALT)?a.LONGER_ALT:[a.LONGER_ALT];M(c,l=>{!Et(l)&&!Pe(i,l)&&n.push({message:`A MultiMode Lexer cannot be initialized with a longer_alt <${l.name}> on token <${a.name}> outside of mode <${s}>
|
|
72
|
+
`,type:Ce.MULTI_MODE_LEXER_LONGER_ALT_NOT_IN_CURRENT_MODE})})}})}),n}function wm(t,e,r){let n=[],i=!1,s=Pr(Be($e(t.modes))),a=Cn(s,c=>c[Xn]===we.NA),o=Om(r);return e&&M(a,c=>{let l=Pm(c,o);if(l!==!1){let p={message:hE(c,l),type:l.issue,tokenType:c};n.push(p)}else G(c,"LINE_BREAKS")?c.LINE_BREAKS===!0&&(i=!0):gc(o,c.PATTERN)&&(i=!0)}),e&&!i&&n.push({message:`Warning: No LINE_BREAKS Found.
|
|
73
|
+
This Lexer has been defined to track line and column information,
|
|
74
|
+
But none of the Token Types can be identified as matching a line terminator.
|
|
75
|
+
See https://chevrotain.io/docs/guide/resolving_lexer_errors.html#LINE_BREAKS
|
|
76
|
+
for details.`,type:Ce.NO_LINE_BREAKS_FLAGS}),n}function Im(t){let e={},r=br(t);return M(r,n=>{let i=t[n];if(Ye(i))e[n]=[];else throw Error("non exhaustive match")}),e}function _m(t){let e=t.PATTERN;if(er(e))return!1;if(pr(e))return!0;if(G(e,"exec"))return!0;if(dt(e))return!1;throw Error("non exhaustive match")}function pE(t){return dt(t)&&t.length===1?t.charCodeAt(0):!1}var bm={test:function(t){let e=t.length;for(let r=this.lastIndex;r<e;r++){let n=t.charCodeAt(r);if(n===10)return this.lastIndex=r+1,!0;if(n===13)return t.charCodeAt(r+1)===10?this.lastIndex=r+2:this.lastIndex=r+1,!0}return!1},lastIndex:0};function Pm(t,e){if(G(t,"LINE_BREAKS"))return!1;if(er(t.PATTERN)){try{gc(e,t.PATTERN)}catch(r){return{issue:Ce.IDENTIFY_TERMINATOR,errMsg:r.message}}return!1}else{if(dt(t.PATTERN))return!1;if(_m(t))return{issue:Ce.CUSTOM_LINE_BREAK};throw Error("non exhaustive match")}}function hE(t,e){if(e.issue===Ce.IDENTIFY_TERMINATOR)return`Warning: unable to identify line terminator usage in pattern.
|
|
77
|
+
The problem is in the <${t.name}> Token Type
|
|
78
|
+
Root cause: ${e.errMsg}.
|
|
79
|
+
For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#IDENTIFY_TERMINATOR`;if(e.issue===Ce.CUSTOM_LINE_BREAK)return`Warning: A Custom Token Pattern should specify the <line_breaks> option.
|
|
80
|
+
The problem is in the <${t.name}> Token Type
|
|
81
|
+
For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#CUSTOM_LINE_BREAK`;throw Error("non exhaustive match")}function Om(t){return w(t,r=>dt(r)?r.charCodeAt(0):r)}function uf(t,e,r){t[e]===void 0?t[e]=[r]:t[e].push(r)}var Gi=256,Tc=[];function xr(t){return t<Gi?t:Tc[t]}function mE(){if(ee(Tc)){Tc=new Array(65536);for(let t=0;t<65536;t++)Tc[t]=t>255?255+~~(t/255):t}}function zr(t,e){let r=t.tokenTypeIdx;return r===e.tokenTypeIdx?!0:e.isParent===!0&&e.categoryMatchesMap[r]===!0}function qi(t,e){return t.tokenTypeIdx===e.tokenTypeIdx}var Lm=1,Mm={};function jr(t){let e=gE(t);yE(e),RE(e),TE(e),M(e,r=>{r.isParent=r.categoryMatches.length>0})}function gE(t){let e=Ae(t),r=t,n=!0;for(;n;){r=Pr(Be(w(r,s=>s.CATEGORIES)));let i=Nn(r,e);e=e.concat(i),ee(i)?n=!1:r=i}return e}function yE(t){M(t,e=>{ff(e)||(Mm[Lm]=e,e.tokenTypeIdx=Lm++),Dm(e)&&!Ye(e.CATEGORIES)&&(e.CATEGORIES=[e.CATEGORIES]),Dm(e)||(e.CATEGORIES=[]),xE(e)||(e.categoryMatches=[]),vE(e)||(e.categoryMatchesMap={})})}function TE(t){M(t,e=>{e.categoryMatches=[],M(e.categoryMatchesMap,(r,n)=>{e.categoryMatches.push(Mm[n].tokenTypeIdx)})})}function RE(t){M(t,e=>{Fm([],e)})}function Fm(t,e){M(t,r=>{e.categoryMatchesMap[r.tokenTypeIdx]=!0}),M(e.CATEGORIES,r=>{let n=t.concat(e);Pe(n,r)||Fm(n,r)})}function ff(t){return G(t,"tokenTypeIdx")}function Dm(t){return G(t,"CATEGORIES")}function xE(t){return G(t,"categoryMatches")}function vE(t){return G(t,"categoryMatchesMap")}function Gm(t){return G(t,"tokenTypeIdx")}var zi={buildUnableToPopLexerModeMessage(t){return`Unable to pop Lexer Mode after encountering Token ->${t.image}<- The Mode Stack is empty`},buildUnexpectedCharactersMessage(t,e,r,n,i,s){return`unexpected character: ->${t.charAt(e)}<- at offset: ${e}, skipped ${r} characters.`}};var Ce;(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"})(Ce||(Ce={}));var ma={deferDefinitionErrorsHandling:!1,positionTracking:"full",lineTerminatorsPattern:/\n|\r\n?/g,lineTerminatorCharacters:[`
|
|
82
|
+
`,"\r"],ensureOptimizations:!1,safeMode:!1,errorMessageProvider:zi,traceInitPerf:!1,skipValidations:!1,recoveryEnabled:!0};Object.freeze(ma);var we=class{constructor(e,r=ma){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++;let a=new Array(this.traceInitIndent+1).join(" ");this.traceInitIndent<this.traceInitMaxIdent&&console.log(`${a}--> <${i}>`);let{time:o,value:c}=da(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 r=="boolean")throw Error(`The second argument to the Lexer constructor is now an ILexerConfig Object.
|
|
83
|
+
a boolean 2nd argument is no longer supported`);this.config=lt({},ma,r);let n=this.config.traceInitPerf;n===!0?(this.traceInitMaxIdent=1/0,this.traceInitPerf=!0):typeof n=="number"&&(this.traceInitMaxIdent=n,this.traceInitPerf=!0),this.traceInitIndent=-1,this.TRACE_INIT("Lexer Constructor",()=>{let i,s=!0;this.TRACE_INIT("Lexer Config handling",()=>{if(this.config.lineTerminatorsPattern===ma.lineTerminatorsPattern)this.config.lineTerminatorsPattern=bm;else if(this.config.lineTerminatorCharacters===ma.lineTerminatorCharacters)throw Error(`Error: Missing <lineTerminatorCharacters> property on the Lexer config.
|
|
84
|
+
For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#MISSING_LINE_TERM_CHARS`);if(r.safeMode&&r.ensureOptimizations)throw Error('"safeMode" and "ensureOptimizations" flags are mutually exclusive.');this.trackStartLines=/full|onlyStart/i.test(this.config.positionTracking),this.trackEndLines=/full/i.test(this.config.positionTracking),Ye(e)?i={modes:{defaultMode:Ae(e)},defaultMode:Ui}:(s=!1,i=Ae(e))}),this.config.skipValidations===!1&&(this.TRACE_INIT("performRuntimeChecks",()=>{this.lexerDefinitionErrors=this.lexerDefinitionErrors.concat(Cm(i,this.trackStartLines,this.config.lineTerminatorCharacters))}),this.TRACE_INIT("performWarningRuntimeChecks",()=>{this.lexerDefinitionWarning=this.lexerDefinitionWarning.concat(wm(i,this.trackStartLines,this.config.lineTerminatorCharacters))})),i.modes=i.modes?i.modes:{},M(i.modes,(o,c)=>{i.modes[c]=Cn(o,l=>Et(l))});let a=br(i.modes);if(M(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(Nm(o,a))}),ee(this.lexerDefinitionErrors)){jr(o);let l;this.TRACE_INIT("analyzeTokenTypes",()=>{l=km(o,{lineTerminatorCharacters:this.config.lineTerminatorCharacters,positionTracking:r.positionTracking,ensureOptimizations:r.ensureOptimizations,safeMode:r.safeMode,tracer:this.TRACE_INIT})}),this.patternIdxToConfig[c]=l.patternIdxToConfig,this.charCodeToPatternIdxToConfig[c]=l.charCodeToPatternIdxToConfig,this.emptyGroups=lt({},this.emptyGroups,l.emptyGroups),this.hasCustom=l.hasCustom||this.hasCustom,this.canModeBeOptimized[c]=l.canBeOptimized}})}),this.defaultMode=i.defaultMode,!ee(this.lexerDefinitionErrors)&&!this.config.deferDefinitionErrorsHandling){let c=w(this.lexerDefinitionErrors,l=>l.message).join(`-----------------------
|
|
85
|
+
`);throw new Error(`Errors detected in definition of Lexer:
|
|
86
|
+
`+c)}M(this.lexerDefinitionWarning,o=>{fa(o.message)}),this.TRACE_INIT("Choosing sub-methods implementations",()=>{if(s&&(this.handleModes=Xe),this.trackStartLines===!1&&(this.computeNewColumn=Qh),this.trackEndLines===!1&&(this.updateTokenEndLineColumnLocation=Xe),/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",()=>{let o=Fe(this.canModeBeOptimized,(c,l,f)=>(l===!1&&c.push(f),c),[]);if(r.ensureOptimizations&&!ee(o))throw Error(`Lexer Modes: < ${o.join(", ")} > cannot be optimized.
|
|
87
|
+
Disable the "ensureOptimizations" lexer config flag to silently ignore this and run the lexer in an un-optimized mode.
|
|
88
|
+
Or inspect the console log for details on how to resolve these issues.`)}),this.TRACE_INIT("clearRegExpParserCache",()=>{vm()}),this.TRACE_INIT("toFastProperties",()=>{pa(this)})})}tokenize(e,r=this.defaultMode){if(!ee(this.lexerDefinitionErrors)){let i=w(this.lexerDefinitionErrors,s=>s.message).join(`-----------------------
|
|
89
|
+
`);throw new Error(`Unable to Tokenize because Errors detected in definition of Lexer:
|
|
90
|
+
`+i)}return this.tokenizeInternal(e,r)}tokenizeInternal(e,r){let n,i,s,a,o,c,l,f,p,h,g,k,N,U,_,L=e,A=L.length,D=0,Y=0,ve=this.hasCustom?0:Math.floor(e.length/10),Rt=new Array(ve),ct=[],Mt=this.trackStartLines?1:void 0,nt=this.trackStartLines?1:void 0,S=Im(this.emptyGroups),y=this.trackStartLines,P=this.config.lineTerminatorsPattern,O=0,T=[],x=[],E=[],b=[];Object.freeze(b);let F=!1,I=J=>{if(E.length===1&&J.tokenType.PUSH_MODE===void 0){let Ne=this.config.errorMessageProvider.buildUnableToPopLexerModeMessage(J);ct.push({offset:J.startOffset,line:J.startLine,column:J.startColumn,length:J.image.length,message:Ne})}else{E.pop();let Ne=hr(E);T=this.patternIdxToConfig[Ne],x=this.charCodeToPatternIdxToConfig[Ne],O=T.length;let Qt=this.canModeBeOptimized[Ne]&&this.config.safeMode===!1;x&&Qt?F=!0:F=!1}};function H(J){E.push(J),x=this.charCodeToPatternIdxToConfig[J],T=this.patternIdxToConfig[J],O=T.length,O=T.length;let Ne=this.canModeBeOptimized[J]&&this.config.safeMode===!1;x&&Ne?F=!0:F=!1}H.call(this,r);let W,qe=this.config.recoveryEnabled;for(;D<A;){c=null,p=-1;let J=L.charCodeAt(D),Ne;if(F){let it=xr(J),wt=x[it];Ne=wt!==void 0?wt:b}else Ne=T;let Qt=Ne.length;for(n=0;n<Qt;n++){W=Ne[n];let it=W.pattern;l=null;let wt=W.short;if(wt!==!1?J===wt&&(p=1,c=it):W.isCustom===!0?(_=it.exec(L,D,Rt,S),_!==null?(c=_[0],p=c.length,_.payload!==void 0&&(l=_.payload)):c=null):(it.lastIndex=D,p=this.matchLength(it,e,D)),p!==-1){if(o=W.longerAlt,o!==void 0){c=e.substring(D,D+p);let fr=o.length;for(s=0;s<fr;s++){let Zt=T[o[s]],_r=Zt.pattern;if(f=null,Zt.isCustom===!0?(_=_r.exec(L,D,Rt,S),_!==null?(a=_[0],_.payload!==void 0&&(f=_.payload)):a=null):(_r.lastIndex=D,a=this.match(_r,e,D)),a&&a.length>c.length){c=a,p=a.length,l=f,W=Zt;break}}}break}}if(p!==-1){if(h=W.group,h!==void 0&&(c=c!==null?c:e.substring(D,D+p),g=W.tokenTypeIdx,k=this.createTokenInstance(c,D,g,W.tokenType,Mt,nt,p),this.handlePayload(k,l),h===!1?Y=this.addToken(Rt,Y,k):S[h].push(k)),y===!0&&W.canLineTerminator===!0){let it=0,wt,fr;P.lastIndex=0;do c=c!==null?c:e.substring(D,D+p),wt=P.test(c),wt===!0&&(fr=P.lastIndex-1,it++);while(wt===!0);it!==0?(Mt=Mt+it,nt=p-fr,this.updateTokenEndLineColumnLocation(k,h,fr,it,Mt,nt,p)):nt=this.computeNewColumn(nt,p)}else nt=this.computeNewColumn(nt,p);D=D+p,this.handleModes(W,I,H,k)}else{let it=D,wt=Mt,fr=nt,Zt=qe===!1;for(;Zt===!1&&D<A;)for(D++,i=0;i<O;i++){let _r=T[i],Vt=_r.pattern,Oo=_r.short;if(Oo!==!1?L.charCodeAt(D)===Oo&&(Zt=!0):_r.isCustom===!0?Zt=Vt.exec(L,D,Rt,S)!==null:(Vt.lastIndex=D,Zt=Vt.exec(e)!==null),Zt===!0)break}if(N=D-it,nt=this.computeNewColumn(nt,N),U=this.config.errorMessageProvider.buildUnexpectedCharactersMessage(L,it,N,wt,fr,hr(E)),ct.push({offset:it,line:wt,column:fr,length:N,message:U}),qe===!1)break}}return this.hasCustom||(Rt.length=Y),{tokens:Rt,groups:S,errors:ct}}handleModes(e,r,n,i){if(e.pop===!0){let s=e.push;r(i),s!==void 0&&n.call(this,s)}else e.push!==void 0&&n.call(this,e.push)}updateTokenEndLineColumnLocation(e,r,n,i,s,a,o){let c,l;r!==void 0&&(c=n===o-1,l=c?-1:0,i===1&&c===!0||(e.endLine=s+l,e.endColumn=a-1+-l))}computeNewColumn(e,r){return e+r}createOffsetOnlyToken(e,r,n,i){return{image:e,startOffset:r,tokenTypeIdx:n,tokenType:i}}createStartOnlyToken(e,r,n,i,s,a){return{image:e,startOffset:r,startLine:s,startColumn:a,tokenTypeIdx:n,tokenType:i}}createFullToken(e,r,n,i,s,a,o){return{image:e,startOffset:r,endOffset:r+o-1,startLine:s,endLine:s,startColumn:a,endColumn:a+o-1,tokenTypeIdx:n,tokenType:i}}addTokenUsingPush(e,r,n){return e.push(n),r}addTokenUsingMemberAccess(e,r,n){return e[r]=n,r++,r}handlePayloadNoCustom(e,r){}handlePayloadWithCustom(e,r){r!==null&&(e.payload=r)}match(e,r,n){return e.test(r)===!0?r.substring(n,e.lastIndex):null}matchLength(e,r,n){return e.test(r)===!0?e.lastIndex-n:-1}};we.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.";we.NA=/NOT_APPLICABLE/;function Br(t){return df(t)?t.LABEL:t.name}function df(t){return dt(t.LABEL)&&t.LABEL!==""}var EE="parent",Um="categories",qm="label",zm="group",jm="push_mode",Bm="pop_mode",Wm="longer_alt",Vm="line_breaks",Km="start_chars_hint";function pn(t){return AE(t)}function AE(t){let e=t.pattern,r={};if(r.name=t.name,Et(e)||(r.PATTERN=e),G(t,EE))throw`The parent property is no longer supported.
|
|
91
|
+
See: https://github.com/chevrotain/chevrotain/issues/564#issuecomment-349062346 for details.`;return G(t,Um)&&(r.CATEGORIES=t[Um]),jr([r]),G(t,qm)&&(r.LABEL=t[qm]),G(t,zm)&&(r.GROUP=t[zm]),G(t,Bm)&&(r.POP_MODE=t[Bm]),G(t,jm)&&(r.PUSH_MODE=t[jm]),G(t,Wm)&&(r.LONGER_ALT=t[Wm]),G(t,Vm)&&(r.LINE_BREAKS=t[Vm]),G(t,Km)&&(r.START_CHARS_HINT=t[Km]),r}var jt=pn({name:"EOF",pattern:we.NA});jr([jt]);function Wr(t,e,r,n,i,s,a,o){return{image:e,startOffset:r,endOffset:n,startLine:i,endLine:s,startColumn:a,endColumn:o,tokenTypeIdx:t.tokenTypeIdx,tokenType:t}}function ga(t,e){return zr(t,e)}var Vr={buildMismatchTokenMessage({expected:t,actual:e,previous:r,ruleName:n}){return`Expecting ${df(t)?`--> ${Br(t)} <--`:`token of type --> ${t.name} <--`} but found --> '${e.image}' <--`},buildNotAllInputParsedMessage({firstRedundant:t,ruleName:e}){return"Redundant input, expecting EOF but found: "+t.image},buildNoViableAltMessage({expectedPathsPerAlt:t,actual:e,previous:r,customUserDescription:n,ruleName:i}){let s="Expecting: ",o=`
|
|
92
|
+
but found: '`+ut(e).image+"'";if(n)return s+n+o;{let c=Fe(t,(h,g)=>h.concat(g),[]),l=w(c,h=>`[${w(h,g=>Br(g)).join(", ")}]`),p=`one of these possible Token sequences:
|
|
93
|
+
${w(l,(h,g)=>` ${g+1}. ${h}`).join(`
|
|
94
|
+
`)}`;return s+p+o}},buildEarlyExitMessage({expectedIterationPaths:t,actual:e,customUserDescription:r,ruleName:n}){let i="Expecting: ",a=`
|
|
95
|
+
but found: '`+ut(e).image+"'";if(r)return i+r+a;{let c=`expecting at least one iteration which starts with one of these possible Token sequences::
|
|
96
|
+
<${w(t,l=>`[${w(l,f=>Br(f)).join(",")}]`).join(" ,")}>`;return i+c+a}}};Object.freeze(Vr);var Hm={buildRuleNotFoundError(t,e){return"Invalid grammar, reference to a rule which is not defined: ->"+e.nonTerminalName+`<-
|
|
97
|
+
inside top level rule: ->`+t.name+"<-"}},or={buildDuplicateFoundError(t,e){function r(f){return f instanceof re?f.terminalType.name:f instanceof fe?f.nonTerminalName:""}let n=t.name,i=ut(e),s=i.idx,a=bt(i),o=r(i),c=s>0,l=`->${a}${c?s:""}<- ${o?`with argument: ->${o}<-`:""}
|
|
98
|
+
appears more than once (${e.length} times) in the top level rule: ->${n}<-.
|
|
99
|
+
For further details see: https://chevrotain.io/docs/FAQ.html#NUMERICAL_SUFFIXES
|
|
100
|
+
`;return l=l.replace(/[ \t]+/g," "),l=l.replace(/\s\s+/g,`
|
|
101
|
+
`),l},buildNamespaceConflictError(t){return`Namespace conflict found in grammar.
|
|
102
|
+
The grammar has both a Terminal(Token) and a Non-Terminal(Rule) named: <${t.name}>.
|
|
103
|
+
To resolve this make sure each Terminal and Non-Terminal names are unique
|
|
104
|
+
This is easy to accomplish by using the convention that Terminal names start with an uppercase letter
|
|
105
|
+
and Non-Terminal names start with a lower case letter.`},buildAlternationPrefixAmbiguityError(t){let e=w(t.prefixPath,i=>Br(i)).join(", "),r=t.alternation.idx===0?"":t.alternation.idx;return`Ambiguous alternatives: <${t.ambiguityIndices.join(" ,")}> due to common lookahead prefix
|
|
106
|
+
in <OR${r}> inside <${t.topLevelRule.name}> Rule,
|
|
107
|
+
<${e}> may appears as a prefix path in all these alternatives.
|
|
108
|
+
See: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#COMMON_PREFIX
|
|
109
|
+
For Further details.`},buildAlternationAmbiguityError(t){let e=t.alternation.idx===0?"":t.alternation.idx,r=t.prefixPath.length===0,n=`Ambiguous Alternatives Detected: <${t.ambiguityIndices.join(" ,")}> in <OR${e}> inside <${t.topLevelRule.name}> Rule,
|
|
110
|
+
`;if(r)n+=`These alternatives are all empty (match no tokens), making them indistinguishable.
|
|
111
|
+
Only the last alternative may be empty.
|
|
112
|
+
`;else{let i=w(t.prefixPath,s=>Br(s)).join(", ");n+=`<${i}> may appears as a prefix path in all these alternatives.
|
|
113
|
+
`}return n+=`See: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#AMBIGUOUS_ALTERNATIVES
|
|
114
|
+
For Further details.`,n},buildEmptyRepetitionError(t){let e=bt(t.repetition);return t.repetition.idx!==0&&(e+=t.repetition.idx),`The repetition <${e}> within Rule <${t.topLevelRule.name}> can never consume any tokens.
|
|
115
|
+
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.
|
|
116
|
+
Only the last alternative may be an empty alternative.`},buildTooManyAlternativesError(t){return`An Alternation cannot have more than 256 alternatives:
|
|
117
|
+
<OR${t.alternation.idx}> inside <${t.topLevelRule.name}> Rule.
|
|
118
|
+
has ${t.alternation.definition.length+1} alternatives.`},buildLeftRecursionError(t){let e=t.topLevelRule.name,r=w(t.leftRecursionPath,s=>s.name),n=`${e} --> ${r.concat([e]).join(" --> ")}`;return`Left Recursion found in grammar.
|
|
119
|
+
rule: <${e}> can be invoked from itself (directly or indirectly)
|
|
120
|
+
without consuming any Tokens. The grammar path that causes this is:
|
|
121
|
+
${n}
|
|
122
|
+
To fix this refactor your grammar to remove the left recursion.
|
|
123
|
+
see: https://en.wikipedia.org/wiki/LL_parser#Left_factoring.`},buildInvalidRuleNameError(t){return"deprecated"},buildDuplicateRuleNameError(t){let e;return t.topLevelRule instanceof St?e=t.topLevelRule.name:e=t.topLevelRule,`Duplicate definition, rule: ->${e}<- is already defined in the grammar: ->${t.grammarName}<-`}};function Ym(t,e){let r=new pf(t,e);return r.resolveRefs(),r.errors}var pf=class extends kt{constructor(e,r){super(),this.nameToTopRule=e,this.errMsgProvider=r,this.errors=[]}resolveRefs(){M($e(this.nameToTopRule),e=>{this.currTopLevel=e,e.accept(this)})}visitNonTerminal(e){let r=this.nameToTopRule[e.nonTerminalName];if(r)e.referencedRule=r;else{let n=this.errMsgProvider.buildRuleNotFoundError(this.currTopLevel,e);this.errors.push({message:n,type:Qe.UNRESOLVED_SUBRULE_REF,ruleName:this.currTopLevel.name,unresolvedRefName:e.nonTerminalName})}}};var hf=class extends qr{constructor(e,r){super(),this.topProd=e,this.path=r,this.possibleTokTypes=[],this.nextProductionName="",this.nextProductionOccurrence=0,this.found=!1,this.isAtEndOfPath=!1}startWalking(){if(this.found=!1,this.path.ruleStack[0]!==this.topProd.name)throw Error("The path does not start with the walker's top Rule!");return this.ruleStack=Ae(this.path.ruleStack).reverse(),this.occurrenceStack=Ae(this.path.occurrenceStack).reverse(),this.ruleStack.pop(),this.occurrenceStack.pop(),this.updateExpectedNext(),this.walk(this.topProd),this.possibleTokTypes}walk(e,r=[]){this.found||super.walk(e,r)}walkProdRef(e,r,n){if(e.referencedRule.name===this.nextProductionName&&e.idx===this.nextProductionOccurrence){let i=r.concat(n);this.updateExpectedNext(),this.walk(e.referencedRule,i)}}updateExpectedNext(){ee(this.ruleStack)?(this.nextProductionName="",this.nextProductionOccurrence=0,this.isAtEndOfPath=!0):(this.nextProductionName=this.ruleStack.pop(),this.nextProductionOccurrence=this.occurrenceStack.pop())}},Rc=class extends hf{constructor(e,r){super(e,r),this.path=r,this.nextTerminalName="",this.nextTerminalOccurrence=0,this.nextTerminalName=this.path.lastTok.name,this.nextTerminalOccurrence=this.path.lastTokOccurrence}walkTerminal(e,r,n){if(this.isAtEndOfPath&&e.terminalType.name===this.nextTerminalName&&e.idx===this.nextTerminalOccurrence&&!this.found){let i=r.concat(n),s=new ye({definition:i});this.possibleTokTypes=Yn(s),this.found=!0}}},ji=class extends qr{constructor(e,r){super(),this.topRule=e,this.occurrence=r,this.result={token:void 0,occurrence:void 0,isEndOfRule:void 0}}startWalking(){return this.walk(this.topRule),this.result}},xc=class extends ji{walkMany(e,r,n){if(e.idx===this.occurrence){let i=ut(r.concat(n));this.result.isEndOfRule=i===void 0,i instanceof re&&(this.result.token=i.terminalType,this.result.occurrence=i.idx)}else super.walkMany(e,r,n)}},ya=class extends ji{walkManySep(e,r,n){if(e.idx===this.occurrence){let i=ut(r.concat(n));this.result.isEndOfRule=i===void 0,i instanceof re&&(this.result.token=i.terminalType,this.result.occurrence=i.idx)}else super.walkManySep(e,r,n)}},vc=class extends ji{walkAtLeastOne(e,r,n){if(e.idx===this.occurrence){let i=ut(r.concat(n));this.result.isEndOfRule=i===void 0,i instanceof re&&(this.result.token=i.terminalType,this.result.occurrence=i.idx)}else super.walkAtLeastOne(e,r,n)}},Ta=class extends ji{walkAtLeastOneSep(e,r,n){if(e.idx===this.occurrence){let i=ut(r.concat(n));this.result.isEndOfRule=i===void 0,i instanceof re&&(this.result.token=i.terminalType,this.result.occurrence=i.idx)}else super.walkAtLeastOneSep(e,r,n)}};function Ec(t,e,r=[]){r=Ae(r);let n=[],i=0;function s(o){return o.concat(We(t,i+1))}function a(o){let c=Ec(s(o),e,r);return n.concat(c)}for(;r.length<e&&i<t.length;){let o=t[i];if(o instanceof ye)return a(o.definition);if(o instanceof fe)return a(o.definition);if(o instanceof de)n=a(o.definition);else if(o instanceof Te){let c=o.definition.concat([new se({definition:o.definition})]);return a(c)}else if(o instanceof Re){let c=[new ye({definition:o.definition}),new se({definition:[new re({terminalType:o.separator})].concat(o.definition)})];return a(c)}else if(o instanceof me){let c=o.definition.concat([new se({definition:[new re({terminalType:o.separator})].concat(o.definition)})]);n=a(c)}else if(o instanceof se){let c=o.definition.concat([new se({definition:o.definition})]);n=a(c)}else{if(o instanceof ge)return M(o.definition,c=>{ee(c.definition)===!1&&(n=a(c.definition))}),n;if(o instanceof re)r.push(o.terminalType);else throw Error("non exhaustive match")}i++}return n.push({partialPath:r,suffixDef:We(t,i)}),n}function Ac(t,e,r,n){let i="EXIT_NONE_TERMINAL",s=[i],a="EXIT_ALTERNATIVE",o=!1,c=e.length,l=c-n-1,f=[],p=[];for(p.push({idx:-1,def:t,ruleStack:[],occurrenceStack:[]});!ee(p);){let h=p.pop();if(h===a){o&&hr(p).idx<=l&&p.pop();continue}let g=h.def,k=h.idx,N=h.ruleStack,U=h.occurrenceStack;if(ee(g))continue;let _=g[0];if(_===i){let L={idx:k,def:We(g),ruleStack:Zr(N),occurrenceStack:Zr(U)};p.push(L)}else if(_ instanceof re)if(k<c-1){let L=k+1,A=e[L];if(r(A,_.terminalType)){let D={idx:L,def:We(g),ruleStack:N,occurrenceStack:U};p.push(D)}}else if(k===c-1)f.push({nextTokenType:_.terminalType,nextTokenOccurrence:_.idx,ruleStack:N,occurrenceStack:U}),o=!0;else throw Error("non exhaustive match");else if(_ instanceof fe){let L=Ae(N);L.push(_.nonTerminalName);let A=Ae(U);A.push(_.idx);let D={idx:k,def:_.definition.concat(s,We(g)),ruleStack:L,occurrenceStack:A};p.push(D)}else if(_ instanceof de){let L={idx:k,def:We(g),ruleStack:N,occurrenceStack:U};p.push(L),p.push(a);let A={idx:k,def:_.definition.concat(We(g)),ruleStack:N,occurrenceStack:U};p.push(A)}else if(_ instanceof Te){let L=new se({definition:_.definition,idx:_.idx}),A=_.definition.concat([L],We(g)),D={idx:k,def:A,ruleStack:N,occurrenceStack:U};p.push(D)}else if(_ instanceof Re){let L=new re({terminalType:_.separator}),A=new se({definition:[L].concat(_.definition),idx:_.idx}),D=_.definition.concat([A],We(g)),Y={idx:k,def:D,ruleStack:N,occurrenceStack:U};p.push(Y)}else if(_ instanceof me){let L={idx:k,def:We(g),ruleStack:N,occurrenceStack:U};p.push(L),p.push(a);let A=new re({terminalType:_.separator}),D=new se({definition:[A].concat(_.definition),idx:_.idx}),Y=_.definition.concat([D],We(g)),ve={idx:k,def:Y,ruleStack:N,occurrenceStack:U};p.push(ve)}else if(_ instanceof se){let L={idx:k,def:We(g),ruleStack:N,occurrenceStack:U};p.push(L),p.push(a);let A=new se({definition:_.definition,idx:_.idx}),D=_.definition.concat([A],We(g)),Y={idx:k,def:D,ruleStack:N,occurrenceStack:U};p.push(Y)}else if(_ instanceof ge)for(let L=_.definition.length-1;L>=0;L--){let A=_.definition[L],D={idx:k,def:A.definition.concat(We(g)),ruleStack:N,occurrenceStack:U};p.push(D),p.push(a)}else if(_ instanceof ye)p.push({idx:k,def:_.definition.concat(We(g)),ruleStack:N,occurrenceStack:U});else if(_ instanceof St)p.push($E(_,k,N,U));else throw Error("non exhaustive match")}return f}function $E(t,e,r,n){let i=Ae(r);i.push(t.name);let s=Ae(n);return s.push(1),{idx:e,def:t.definition,ruleStack:i,occurrenceStack:s}}var Ie;(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"})(Ie||(Ie={}));function Ra(t){if(t instanceof de||t==="Option")return Ie.OPTION;if(t instanceof se||t==="Repetition")return Ie.REPETITION;if(t instanceof Te||t==="RepetitionMandatory")return Ie.REPETITION_MANDATORY;if(t instanceof Re||t==="RepetitionMandatoryWithSeparator")return Ie.REPETITION_MANDATORY_WITH_SEPARATOR;if(t instanceof me||t==="RepetitionWithSeparator")return Ie.REPETITION_WITH_SEPARATOR;if(t instanceof ge||t==="Alternation")return Ie.ALTERNATION;throw Error("non exhaustive match")}function Sc(t){let{occurrence:e,rule:r,prodType:n,maxLookahead:i}=t,s=Ra(n);return s===Ie.ALTERNATION?Bi(e,r,i):Wi(e,r,s,i)}function Jm(t,e,r,n,i,s){let a=Bi(t,e,r),o=ng(a)?qi:zr;return s(a,n,o,i)}function Qm(t,e,r,n,i,s){let a=Wi(t,e,i,r),o=ng(a)?qi:zr;return s(a[0],o,n)}function Zm(t,e,r,n){let i=t.length,s=vt(t,a=>vt(a,o=>o.length===1));if(e)return function(a){let o=w(a,c=>c.GATE);for(let c=0;c<i;c++){let l=t[c],f=l.length,p=o[c];if(!(p!==void 0&&p.call(this)===!1))e:for(let h=0;h<f;h++){let g=l[h],k=g.length;for(let N=0;N<k;N++){let U=this.LA(N+1);if(r(U,g[N])===!1)continue e}return c}}};if(s&&!n){let a=w(t,c=>Be(c)),o=Fe(a,(c,l,f)=>(M(l,p=>{G(c,p.tokenTypeIdx)||(c[p.tokenTypeIdx]=f),M(p.categoryMatches,h=>{G(c,h)||(c[h]=f)})}),c),{});return function(){let c=this.LA(1);return o[c.tokenTypeIdx]}}else return function(){for(let a=0;a<i;a++){let o=t[a],c=o.length;e:for(let l=0;l<c;l++){let f=o[l],p=f.length;for(let h=0;h<p;h++){let g=this.LA(h+1);if(r(g,f[h])===!1)continue e}return a}}}}function eg(t,e,r){let n=vt(t,s=>s.length===1),i=t.length;if(n&&!r){let s=Be(t);if(s.length===1&&ee(s[0].categoryMatches)){let o=s[0].tokenTypeIdx;return function(){return this.LA(1).tokenTypeIdx===o}}else{let a=Fe(s,(o,c,l)=>(o[c.tokenTypeIdx]=!0,M(c.categoryMatches,f=>{o[f]=!0}),o),[]);return function(){let o=this.LA(1);return a[o.tokenTypeIdx]===!0}}}else return function(){e:for(let s=0;s<i;s++){let a=t[s],o=a.length;for(let c=0;c<o;c++){let l=this.LA(c+1);if(e(l,a[c])===!1)continue e}return!0}return!1}}var gf=class extends qr{constructor(e,r,n){super(),this.topProd=e,this.targetOccurrence=r,this.targetProdType=n}startWalking(){return this.walk(this.topProd),this.restDef}checkIsTarget(e,r,n,i){return e.idx===this.targetOccurrence&&this.targetProdType===r?(this.restDef=n.concat(i),!0):!1}walkOption(e,r,n){this.checkIsTarget(e,Ie.OPTION,r,n)||super.walkOption(e,r,n)}walkAtLeastOne(e,r,n){this.checkIsTarget(e,Ie.REPETITION_MANDATORY,r,n)||super.walkOption(e,r,n)}walkAtLeastOneSep(e,r,n){this.checkIsTarget(e,Ie.REPETITION_MANDATORY_WITH_SEPARATOR,r,n)||super.walkOption(e,r,n)}walkMany(e,r,n){this.checkIsTarget(e,Ie.REPETITION,r,n)||super.walkOption(e,r,n)}walkManySep(e,r,n){this.checkIsTarget(e,Ie.REPETITION_WITH_SEPARATOR,r,n)||super.walkOption(e,r,n)}},$c=class extends kt{constructor(e,r,n){super(),this.targetOccurrence=e,this.targetProdType=r,this.targetRef=n,this.result=[]}checkIsTarget(e,r){e.idx===this.targetOccurrence&&this.targetProdType===r&&(this.targetRef===void 0||e===this.targetRef)&&(this.result=e.definition)}visitOption(e){this.checkIsTarget(e,Ie.OPTION)}visitRepetition(e){this.checkIsTarget(e,Ie.REPETITION)}visitRepetitionMandatory(e){this.checkIsTarget(e,Ie.REPETITION_MANDATORY)}visitRepetitionMandatoryWithSeparator(e){this.checkIsTarget(e,Ie.REPETITION_MANDATORY_WITH_SEPARATOR)}visitRepetitionWithSeparator(e){this.checkIsTarget(e,Ie.REPETITION_WITH_SEPARATOR)}visitAlternation(e){this.checkIsTarget(e,Ie.ALTERNATION)}};function Xm(t){let e=new Array(t);for(let r=0;r<t;r++)e[r]=[];return e}function mf(t){let e=[""];for(let r=0;r<t.length;r++){let n=t[r],i=[];for(let s=0;s<e.length;s++){let a=e[s];i.push(a+"_"+n.tokenTypeIdx);for(let o=0;o<n.categoryMatches.length;o++){let c="_"+n.categoryMatches[o];i.push(a+c)}}e=i}return e}function SE(t,e,r){for(let n=0;n<t.length;n++){if(n===r)continue;let i=t[n];for(let s=0;s<e.length;s++){let a=e[s];if(i[a]===!0)return!1}}return!0}function tg(t,e){let r=w(t,a=>Ec([a],1)),n=Xm(r.length),i=w(r,a=>{let o={};return M(a,c=>{let l=mf(c.partialPath);M(l,f=>{o[f]=!0})}),o}),s=r;for(let a=1;a<=e;a++){let o=s;s=Xm(o.length);for(let c=0;c<o.length;c++){let l=o[c];for(let f=0;f<l.length;f++){let p=l[f].partialPath,h=l[f].suffixDef,g=mf(p);if(SE(i,g,c)||ee(h)||p.length===e){let N=n[c];if(kc(N,p)===!1){N.push(p);for(let U=0;U<g.length;U++){let _=g[U];i[c][_]=!0}}}else{let N=Ec(h,a+1,p);s[c]=s[c].concat(N),M(N,U=>{let _=mf(U.partialPath);M(_,L=>{i[c][L]=!0})})}}}}return n}function Bi(t,e,r,n){let i=new $c(t,Ie.ALTERNATION,n);return e.accept(i),tg(i.result,r)}function Wi(t,e,r,n){let i=new $c(t,r);e.accept(i);let s=i.result,o=new gf(e,t,r).startWalking(),c=new ye({definition:s}),l=new ye({definition:o});return tg([c,l],n)}function kc(t,e){e:for(let r=0;r<t.length;r++){let n=t[r];if(n.length===e.length){for(let i=0;i<n.length;i++){let s=e[i],a=n[i];if((s===a||a.categoryMatchesMap[s.tokenTypeIdx]!==void 0)===!1)continue e}return!0}}return!1}function rg(t,e){return t.length<e.length&&vt(t,(r,n)=>{let i=e[n];return r===i||i.categoryMatchesMap[r.tokenTypeIdx]})}function ng(t){return vt(t,e=>vt(e,r=>vt(r,n=>ee(n.categoryMatches))))}function ig(t){let e=t.lookaheadStrategy.validate({rules:t.rules,tokenTypes:t.tokenTypes,grammarName:t.grammarName});return w(e,r=>Object.assign({type:Qe.CUSTOM_LOOKAHEAD_VALIDATION},r))}function sg(t,e,r,n){let i=ft(t,c=>kE(c,r)),s=bE(t,e,r),a=ft(t,c=>wE(c,r)),o=ft(t,c=>CE(c,t,n,r));return i.concat(s,a,o)}function kE(t,e){let r=new yf;t.accept(r);let n=r.allProductions,i=Zh(n,NE),s=Ft(i,o=>o.length>1);return w($e(s),o=>{let c=ut(o),l=e.buildDuplicateFoundError(t,o),f=bt(c),p={message:l,type:Qe.DUPLICATE_PRODUCTIONS,ruleName:t.name,dslName:f,occurrence:c.idx},h=ag(c);return h&&(p.parameter=h),p})}function NE(t){return`${bt(t)}_#_${t.idx}_#_${ag(t)}`}function ag(t){return t instanceof re?t.terminalType.name:t instanceof fe?t.nonTerminalName:""}var yf=class extends kt{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 CE(t,e,r,n){let i=[];if(Fe(e,(a,o)=>o.name===t.name?a+1:a,0)>1){let a=n.buildDuplicateRuleNameError({topLevelRule:t,grammarName:r});i.push({message:a,type:Qe.DUPLICATE_RULE_NAME,ruleName:t.name})}return i}function og(t,e,r){let n=[],i;return Pe(e,t)||(i=`Invalid rule override, rule: ->${t}<- cannot be overridden in the grammar: ->${r}<-as it is not defined in any of the super grammars `,n.push({message:i,type:Qe.INVALID_RULE_OVERRIDE,ruleName:t})),n}function Rf(t,e,r,n=[]){let i=[],s=Nc(e.definition);if(ee(s))return[];{let a=t.name;Pe(s,t)&&i.push({message:r.buildLeftRecursionError({topLevelRule:t,leftRecursionPath:n}),type:Qe.LEFT_RECURSION,ruleName:a});let c=Nn(s,n.concat([t])),l=ft(c,f=>{let p=Ae(n);return p.push(f),Rf(t,f,r,p)});return i.concat(l)}}function Nc(t){let e=[];if(ee(t))return e;let r=ut(t);if(r instanceof fe)e.push(r.referencedRule);else if(r instanceof ye||r instanceof de||r instanceof Te||r instanceof Re||r instanceof me||r instanceof se)e=e.concat(Nc(r.definition));else if(r instanceof ge)e=Be(w(r.definition,s=>Nc(s.definition)));else if(!(r instanceof re))throw Error("non exhaustive match");let n=Hn(r),i=t.length>1;if(n&&i){let s=We(t);return e.concat(Nc(s))}else return e}var xa=class extends kt{constructor(){super(...arguments),this.alternations=[]}visitAlternation(e){this.alternations.push(e)}};function cg(t,e){let r=new xa;t.accept(r);let n=r.alternations;return ft(n,s=>{let a=Zr(s.definition);return ft(a,(o,c)=>{let l=Ac([o],[],zr,1);return ee(l)?[{message:e.buildEmptyAlternationError({topLevelRule:t,alternation:s,emptyChoiceIdx:c}),type:Qe.NONE_LAST_EMPTY_ALT,ruleName:t.name,occurrence:s.idx,alternative:c+1}]:[]})})}function lg(t,e,r){let n=new xa;t.accept(n);let i=n.alternations;return i=Cn(i,a=>a.ignoreAmbiguities===!0),ft(i,a=>{let o=a.idx,c=a.maxLookahead||e,l=Bi(o,t,c,a),f=IE(l,a,t,r),p=_E(l,a,t,r);return f.concat(p)})}var Tf=class extends kt{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 wE(t,e){let r=new xa;t.accept(r);let n=r.alternations;return ft(n,s=>s.definition.length>255?[{message:e.buildTooManyAlternativesError({topLevelRule:t,alternation:s}),type:Qe.TOO_MANY_ALTS,ruleName:t.name,occurrence:s.idx}]:[])}function ug(t,e,r){let n=[];return M(t,i=>{let s=new Tf;i.accept(s);let a=s.allProductions;M(a,o=>{let c=Ra(o),l=o.maxLookahead||e,f=o.idx,h=Wi(f,i,c,l)[0];if(ee(Be(h))){let g=r.buildEmptyRepetitionError({topLevelRule:i,repetition:o});n.push({message:g,type:Qe.NO_NON_EMPTY_LOOKAHEAD,ruleName:i.name})}})}),n}function IE(t,e,r,n){let i=[],s=Fe(t,(o,c,l)=>(e.definition[l].ignoreAmbiguities===!0||M(c,f=>{let p=[l];M(t,(h,g)=>{l!==g&&kc(h,f)&&e.definition[g].ignoreAmbiguities!==!0&&p.push(g)}),p.length>1&&!kc(i,f)&&(i.push(f),o.push({alts:p,path:f}))}),o),[]);return w(s,o=>{let c=w(o.alts,f=>f+1);return{message:n.buildAlternationAmbiguityError({topLevelRule:r,alternation:e,ambiguityIndices:c,prefixPath:o.path}),type:Qe.AMBIGUOUS_ALTS,ruleName:r.name,occurrence:e.idx,alternatives:o.alts}})}function _E(t,e,r,n){let i=Fe(t,(a,o,c)=>{let l=w(o,f=>({idx:c,path:f}));return a.concat(l)},[]);return Pr(ft(i,a=>{if(e.definition[a.idx].ignoreAmbiguities===!0)return[];let c=a.idx,l=a.path,f=st(i,h=>e.definition[h.idx].ignoreAmbiguities!==!0&&h.idx<c&&rg(h.path,l));return w(f,h=>{let g=[h.idx+1,c+1],k=e.idx===0?"":e.idx;return{message:n.buildAlternationPrefixAmbiguityError({topLevelRule:r,alternation:e,ambiguityIndices:g,prefixPath:h.path}),type:Qe.AMBIGUOUS_PREFIX_ALTS,ruleName:r.name,occurrence:k,alternatives:g}})}))}function bE(t,e,r){let n=[],i=w(e,s=>s.name);return M(t,s=>{let a=s.name;if(Pe(i,a)){let o=r.buildNamespaceConflictError(s);n.push({message:o,type:Qe.CONFLICT_TOKENS_RULES_NAMESPACE,ruleName:a})}}),n}function fg(t){let e=js(t,{errMsgProvider:Hm}),r={};return M(t.rules,n=>{r[n.name]=n}),Ym(r,e.errMsgProvider)}function dg(t){return t=js(t,{errMsgProvider:or}),sg(t.rules,t.tokenTypes,t.errMsgProvider,t.grammarName)}var pg="MismatchedTokenException",hg="NoViableAltException",mg="EarlyExitException",gg="NotAllInputParsedException",yg=[pg,hg,mg,gg];Object.freeze(yg);function hn(t){return Pe(yg,t.name)}var Vi=class extends Error{constructor(e,r){super(e),this.token=r,this.resyncedTokens=[],Object.setPrototypeOf(this,new.target.prototype),Error.captureStackTrace&&Error.captureStackTrace(this,this.constructor)}},Jn=class extends Vi{constructor(e,r,n){super(e,r),this.previousToken=n,this.name=pg}},va=class extends Vi{constructor(e,r,n){super(e,r),this.previousToken=n,this.name=hg}},Ea=class extends Vi{constructor(e,r){super(e,r),this.name=gg}},Aa=class extends Vi{constructor(e,r,n){super(e,r),this.previousToken=n,this.name=mg}};var xf={},Ef="InRuleRecoveryException",vf=class extends Error{constructor(e){super(e),this.name=Ef}},Cc=class{initRecoverable(e){this.firstAfterRepMap={},this.resyncFollows={},this.recoveryEnabled=G(e,"recoveryEnabled")?e.recoveryEnabled:Nt.recoveryEnabled,this.recoveryEnabled&&(this.attemptInRepetitionRecovery=PE)}getTokenToInsert(e){let r=Wr(e,"",NaN,NaN,NaN,NaN,NaN,NaN);return r.isInsertedInRecovery=!0,r}canTokenTypeBeInsertedInRecovery(e){return!0}canTokenTypeBeDeletedInRecovery(e){return!0}tryInRepetitionRecovery(e,r,n,i){let s=this.findReSyncTokenType(),a=this.exportLexerState(),o=[],c=!1,l=this.LA(1),f=this.LA(1),p=()=>{let h=this.LA(0),g=this.errorMessageProvider.buildMismatchTokenMessage({expected:i,actual:l,previous:h,ruleName:this.getCurrRuleFullName()}),k=new Jn(g,l,this.LA(0));k.resyncedTokens=Zr(o),this.SAVE_ERROR(k)};for(;!c;)if(this.tokenMatcher(f,i)){p();return}else if(n.call(this)){p(),e.apply(this,r);return}else this.tokenMatcher(f,s)?c=!0:(f=this.SKIP_TOKEN(),this.addToResyncTokens(f,o));this.importLexerState(a)}shouldInRepetitionRecoveryBeTried(e,r,n){return!(n===!1||this.tokenMatcher(this.LA(1),e)||this.isBackTracking()||this.canPerformInRuleRecovery(e,this.getFollowsForInRuleRecovery(e,r)))}getFollowsForInRuleRecovery(e,r){let n=this.getCurrentGrammarPath(e,r);return this.getNextPossibleTokenTypes(n)}tryInRuleRecovery(e,r){if(this.canRecoverWithSingleTokenInsertion(e,r))return this.getTokenToInsert(e);if(this.canRecoverWithSingleTokenDeletion(e)){let n=this.SKIP_TOKEN();return this.consumeToken(),n}throw new vf("sad sad panda")}canPerformInRuleRecovery(e,r){return this.canRecoverWithSingleTokenInsertion(e,r)||this.canRecoverWithSingleTokenDeletion(e)}canRecoverWithSingleTokenInsertion(e,r){if(!this.canTokenTypeBeInsertedInRecovery(e)||ee(r))return!1;let n=this.LA(1);return Or(r,s=>this.tokenMatcher(n,s))!==void 0}canRecoverWithSingleTokenDeletion(e){return this.canTokenTypeBeDeletedInRecovery(e)?this.tokenMatcher(this.LA(2),e):!1}isInCurrentRuleReSyncSet(e){let r=this.getCurrFollowKey(),n=this.getFollowSetFromFollowKey(r);return Pe(n,e)}findReSyncTokenType(){let e=this.flattenFollowSet(),r=this.LA(1),n=2;for(;;){let i=Or(e,s=>ga(r,s));if(i!==void 0)return i;r=this.LA(n),n++}}getCurrFollowKey(){if(this.RULE_STACK.length===1)return xf;let e=this.getLastExplicitRuleShortName(),r=this.getLastExplicitRuleOccurrenceIndex(),n=this.getPreviousExplicitRuleShortName();return{ruleName:this.shortRuleNameToFullName(e),idxInCallingRule:r,inRule:this.shortRuleNameToFullName(n)}}buildFullFollowKeyStack(){let e=this.RULE_STACK,r=this.RULE_OCCURRENCE_STACK;return w(e,(n,i)=>i===0?xf:{ruleName:this.shortRuleNameToFullName(n),idxInCallingRule:r[i],inRule:this.shortRuleNameToFullName(e[i-1])})}flattenFollowSet(){let e=w(this.buildFullFollowKeyStack(),r=>this.getFollowSetFromFollowKey(r));return Be(e)}getFollowSetFromFollowKey(e){if(e===xf)return[jt];let r=e.ruleName+e.idxInCallingRule+pc+e.inRule;return this.resyncFollows[r]}addToResyncTokens(e,r){return this.tokenMatcher(e,jt)||r.push(e),r}reSyncTo(e){let r=[],n=this.LA(1);for(;this.tokenMatcher(n,e)===!1;)n=this.SKIP_TOKEN(),this.addToResyncTokens(n,r);return Zr(r)}attemptInRepetitionRecovery(e,r,n,i,s,a,o){}getCurrentGrammarPath(e,r){let n=this.getHumanReadableRuleStack(),i=Ae(this.RULE_OCCURRENCE_STACK);return{ruleStack:n,occurrenceStack:i,lastTok:e,lastTokOccurrence:r}}getHumanReadableRuleStack(){return w(this.RULE_STACK,e=>this.shortRuleNameToFullName(e))}};function PE(t,e,r,n,i,s,a){let o=this.getKeyForAutomaticLookahead(n,i),c=this.firstAfterRepMap[o];if(c===void 0){let h=this.getCurrRuleFullName(),g=this.getGAstProductions()[h];c=new s(g,i).startWalking(),this.firstAfterRepMap[o]=c}let l=c.token,f=c.occurrence,p=c.isEndOfRule;this.RULE_STACK.length===1&&p&&l===void 0&&(l=jt,f=1),!(l===void 0||f===void 0)&&this.shouldInRepetitionRecoveryBeTried(l,f,a)&&this.tryInRepetitionRecovery(t,e,r,l)}function wc(t,e,r){return r|e|t}var Kr=class{constructor(e){var r;this.maxLookahead=(r=e?.maxLookahead)!==null&&r!==void 0?r:Nt.maxLookahead}validate(e){let r=this.validateNoLeftRecursion(e.rules);if(ee(r)){let n=this.validateEmptyOrAlternatives(e.rules),i=this.validateAmbiguousAlternationAlternatives(e.rules,this.maxLookahead),s=this.validateSomeNonEmptyLookaheadPath(e.rules,this.maxLookahead);return[...r,...n,...i,...s]}return r}validateNoLeftRecursion(e){return ft(e,r=>Rf(r,r,or))}validateEmptyOrAlternatives(e){return ft(e,r=>cg(r,or))}validateAmbiguousAlternationAlternatives(e,r){return ft(e,n=>lg(n,r,or))}validateSomeNonEmptyLookaheadPath(e,r){return ug(e,r,or)}buildLookaheadForAlternation(e){return Jm(e.prodOccurrence,e.rule,e.maxLookahead,e.hasPredicates,e.dynamicTokensEnabled,Zm)}buildLookaheadForOptional(e){return Qm(e.prodOccurrence,e.rule,e.maxLookahead,e.dynamicTokensEnabled,Ra(e.prodType),eg)}};var _c=class{initLooksAhead(e){this.dynamicTokensEnabled=G(e,"dynamicTokensEnabled")?e.dynamicTokensEnabled:Nt.dynamicTokensEnabled,this.maxLookahead=G(e,"maxLookahead")?e.maxLookahead:Nt.maxLookahead,this.lookaheadStrategy=G(e,"lookaheadStrategy")?e.lookaheadStrategy:new Kr({maxLookahead:this.maxLookahead}),this.lookAheadFuncsCache=new Map}preComputeLookaheadFunctions(e){M(e,r=>{this.TRACE_INIT(`${r.name} Rule Lookahead`,()=>{let{alternation:n,repetition:i,option:s,repetitionMandatory:a,repetitionMandatoryWithSeparator:o,repetitionWithSeparator:c}=OE(r);M(n,l=>{let f=l.idx===0?"":l.idx;this.TRACE_INIT(`${bt(l)}${f}`,()=>{let p=this.lookaheadStrategy.buildLookaheadForAlternation({prodOccurrence:l.idx,rule:r,maxLookahead:l.maxLookahead||this.maxLookahead,hasPredicates:l.hasPredicates,dynamicTokensEnabled:this.dynamicTokensEnabled}),h=wc(this.fullRuleNameToShort[r.name],256,l.idx);this.setLaFuncCache(h,p)})}),M(i,l=>{this.computeLookaheadFunc(r,l.idx,768,"Repetition",l.maxLookahead,bt(l))}),M(s,l=>{this.computeLookaheadFunc(r,l.idx,512,"Option",l.maxLookahead,bt(l))}),M(a,l=>{this.computeLookaheadFunc(r,l.idx,1024,"RepetitionMandatory",l.maxLookahead,bt(l))}),M(o,l=>{this.computeLookaheadFunc(r,l.idx,1536,"RepetitionMandatoryWithSeparator",l.maxLookahead,bt(l))}),M(c,l=>{this.computeLookaheadFunc(r,l.idx,1280,"RepetitionWithSeparator",l.maxLookahead,bt(l))})})})}computeLookaheadFunc(e,r,n,i,s,a){this.TRACE_INIT(`${a}${r===0?"":r}`,()=>{let o=this.lookaheadStrategy.buildLookaheadForOptional({prodOccurrence:r,rule:e,maxLookahead:s||this.maxLookahead,dynamicTokensEnabled:this.dynamicTokensEnabled,prodType:i}),c=wc(this.fullRuleNameToShort[e.name],n,r);this.setLaFuncCache(c,o)})}getKeyForAutomaticLookahead(e,r){let n=this.getLastExplicitRuleShortName();return wc(n,e,r)}getLaFuncFromCache(e){return this.lookAheadFuncsCache.get(e)}setLaFuncCache(e,r){this.lookAheadFuncsCache.set(e,r)}},Af=class extends kt{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)}},Ic=new Af;function OE(t){Ic.reset(),t.accept(Ic);let e=Ic.dslMethods;return Ic.reset(),e}function kf(t,e){isNaN(t.startOffset)===!0?(t.startOffset=e.startOffset,t.endOffset=e.endOffset):t.endOffset<e.endOffset&&(t.endOffset=e.endOffset)}function Nf(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 Tg(t,e,r){t.children[r]===void 0?t.children[r]=[e]:t.children[r].push(e)}function Rg(t,e,r){t.children[e]===void 0?t.children[e]=[r]:t.children[e].push(r)}var LE="name";function Cf(t,e){Object.defineProperty(t,LE,{enumerable:!1,configurable:!0,writable:!1,value:e})}function DE(t,e){let r=br(t),n=r.length;for(let i=0;i<n;i++){let s=r[i],a=t[s],o=a.length;for(let c=0;c<o;c++){let l=a[c];l.tokenTypeIdx===void 0&&this[l.name](l.children,e)}}}function xg(t,e){let r=function(){};Cf(r,t+"BaseSemantics");let n={visit:function(i,s){if(Ye(i)&&(i=i[0]),!Et(i))return this[i.name](i.children,s)},validateVisitor:function(){let i=ME(this,e);if(!ee(i)){let s=w(i,a=>a.msg);throw Error(`Errors Detected in CST Visitor <${this.constructor.name}>:
|
|
124
|
+
${s.join(`
|
|
125
|
+
|
|
126
|
+
`).replace(/\n/g,`
|
|
127
|
+
`)}`)}}};return r.prototype=n,r.prototype.constructor=r,r._RULE_NAMES=e,r}function vg(t,e,r){let n=function(){};Cf(n,t+"BaseSemanticsWithDefaults");let i=Object.create(r.prototype);return M(e,s=>{i[s]=DE}),n.prototype=i,n.prototype.constructor=n,n}var wf;(function(t){t[t.REDUNDANT_METHOD=0]="REDUNDANT_METHOD",t[t.MISSING_METHOD=1]="MISSING_METHOD"})(wf||(wf={}));function ME(t,e){return FE(t,e)}function FE(t,e){let r=st(e,i=>pr(t[i])===!1),n=w(r,i=>({msg:`Missing visitor method: <${i}> on ${t.constructor.name} CST Visitor.`,type:wf.MISSING_METHOD,methodName:i}));return Pr(n)}var Lc=class{initTreeBuilder(e){if(this.CST_STACK=[],this.outputCst=e.outputCst,this.nodeLocationTracking=G(e,"nodeLocationTracking")?e.nodeLocationTracking:Nt.nodeLocationTracking,!this.outputCst)this.cstInvocationStateUpdate=Xe,this.cstFinallyStateUpdate=Xe,this.cstPostTerminal=Xe,this.cstPostNonTerminal=Xe,this.cstPostRule=Xe;else if(/full/i.test(this.nodeLocationTracking))this.recoveryEnabled?(this.setNodeLocationFromToken=Nf,this.setNodeLocationFromNode=Nf,this.cstPostRule=Xe,this.setInitialNodeLocation=this.setInitialNodeLocationFullRecovery):(this.setNodeLocationFromToken=Xe,this.setNodeLocationFromNode=Xe,this.cstPostRule=this.cstPostRuleFull,this.setInitialNodeLocation=this.setInitialNodeLocationFullRegular);else if(/onlyOffset/i.test(this.nodeLocationTracking))this.recoveryEnabled?(this.setNodeLocationFromToken=kf,this.setNodeLocationFromNode=kf,this.cstPostRule=Xe,this.setInitialNodeLocation=this.setInitialNodeLocationOnlyOffsetRecovery):(this.setNodeLocationFromToken=Xe,this.setNodeLocationFromNode=Xe,this.cstPostRule=this.cstPostRuleOnlyOffset,this.setInitialNodeLocation=this.setInitialNodeLocationOnlyOffsetRegular);else if(/none/i.test(this.nodeLocationTracking))this.setNodeLocationFromToken=Xe,this.setNodeLocationFromNode=Xe,this.cstPostRule=Xe,this.setInitialNodeLocation=Xe;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){let r=this.LA(1);e.location={startOffset:r.startOffset,startLine:r.startLine,startColumn:r.startColumn,endOffset:NaN,endLine:NaN,endColumn:NaN}}cstInvocationStateUpdate(e){let r={name:e,children:Object.create(null)};this.setInitialNodeLocation(r),this.CST_STACK.push(r)}cstFinallyStateUpdate(){this.CST_STACK.pop()}cstPostRuleFull(e){let r=this.LA(0),n=e.location;n.startOffset<=r.startOffset?(n.endOffset=r.endOffset,n.endLine=r.endLine,n.endColumn=r.endColumn):(n.startOffset=NaN,n.startLine=NaN,n.startColumn=NaN)}cstPostRuleOnlyOffset(e){let r=this.LA(0),n=e.location;n.startOffset<=r.startOffset?n.endOffset=r.endOffset:n.startOffset=NaN}cstPostTerminal(e,r){let n=this.CST_STACK[this.CST_STACK.length-1];Tg(n,r,e),this.setNodeLocationFromToken(n.location,r)}cstPostNonTerminal(e,r){let n=this.CST_STACK[this.CST_STACK.length-1];Rg(n,r,e),this.setNodeLocationFromNode(n.location,e.location)}getBaseCstVisitorConstructor(){if(Et(this.baseCstVisitorConstructor)){let e=xg(this.className,br(this.gastProductionsCache));return this.baseCstVisitorConstructor=e,e}return this.baseCstVisitorConstructor}getBaseCstVisitorConstructorWithDefaults(){if(Et(this.baseCstVisitorWithDefaultsConstructor)){let e=vg(this.className,br(this.gastProductionsCache),this.getBaseCstVisitorConstructor());return this.baseCstVisitorWithDefaultsConstructor=e,e}return this.baseCstVisitorWithDefaultsConstructor}getLastExplicitRuleShortName(){let e=this.RULE_STACK;return e[e.length-1]}getPreviousExplicitRuleShortName(){let e=this.RULE_STACK;return e[e.length-2]}getLastExplicitRuleOccurrenceIndex(){let e=this.RULE_OCCURRENCE_STACK;return e[e.length-1]}};var Dc=class{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)):Ki}LA(e){let r=this.currIdx+e;return r<0||this.tokVectorLength<=r?Ki:this.tokVector[r]}consumeToken(){this.currIdx++}exportLexerState(){return this.currIdx}importLexerState(e){this.currIdx=e}resetLexerState(){this.currIdx=-1}moveToTerminatedState(){this.currIdx=this.tokVector.length-1}getLexerPosition(){return this.exportLexerState()}};var Mc=class{ACTION(e){return e.call(this)}consume(e,r,n){return this.consumeInternal(r,e,n)}subrule(e,r,n){return this.subruleInternal(r,e,n)}option(e,r){return this.optionInternal(r,e)}or(e,r){return this.orInternal(r,e)}many(e,r){return this.manyInternal(e,r)}atLeastOne(e,r){return this.atLeastOneInternal(e,r)}CONSUME(e,r){return this.consumeInternal(e,0,r)}CONSUME1(e,r){return this.consumeInternal(e,1,r)}CONSUME2(e,r){return this.consumeInternal(e,2,r)}CONSUME3(e,r){return this.consumeInternal(e,3,r)}CONSUME4(e,r){return this.consumeInternal(e,4,r)}CONSUME5(e,r){return this.consumeInternal(e,5,r)}CONSUME6(e,r){return this.consumeInternal(e,6,r)}CONSUME7(e,r){return this.consumeInternal(e,7,r)}CONSUME8(e,r){return this.consumeInternal(e,8,r)}CONSUME9(e,r){return this.consumeInternal(e,9,r)}SUBRULE(e,r){return this.subruleInternal(e,0,r)}SUBRULE1(e,r){return this.subruleInternal(e,1,r)}SUBRULE2(e,r){return this.subruleInternal(e,2,r)}SUBRULE3(e,r){return this.subruleInternal(e,3,r)}SUBRULE4(e,r){return this.subruleInternal(e,4,r)}SUBRULE5(e,r){return this.subruleInternal(e,5,r)}SUBRULE6(e,r){return this.subruleInternal(e,6,r)}SUBRULE7(e,r){return this.subruleInternal(e,7,r)}SUBRULE8(e,r){return this.subruleInternal(e,8,r)}SUBRULE9(e,r){return this.subruleInternal(e,9,r)}OPTION(e){return this.optionInternal(e,0)}OPTION1(e){return this.optionInternal(e,1)}OPTION2(e){return this.optionInternal(e,2)}OPTION3(e){return this.optionInternal(e,3)}OPTION4(e){return this.optionInternal(e,4)}OPTION5(e){return this.optionInternal(e,5)}OPTION6(e){return this.optionInternal(e,6)}OPTION7(e){return this.optionInternal(e,7)}OPTION8(e){return this.optionInternal(e,8)}OPTION9(e){return this.optionInternal(e,9)}OR(e){return this.orInternal(e,0)}OR1(e){return this.orInternal(e,1)}OR2(e){return this.orInternal(e,2)}OR3(e){return this.orInternal(e,3)}OR4(e){return this.orInternal(e,4)}OR5(e){return this.orInternal(e,5)}OR6(e){return this.orInternal(e,6)}OR7(e){return this.orInternal(e,7)}OR8(e){return this.orInternal(e,8)}OR9(e){return this.orInternal(e,9)}MANY(e){this.manyInternal(0,e)}MANY1(e){this.manyInternal(1,e)}MANY2(e){this.manyInternal(2,e)}MANY3(e){this.manyInternal(3,e)}MANY4(e){this.manyInternal(4,e)}MANY5(e){this.manyInternal(5,e)}MANY6(e){this.manyInternal(6,e)}MANY7(e){this.manyInternal(7,e)}MANY8(e){this.manyInternal(8,e)}MANY9(e){this.manyInternal(9,e)}MANY_SEP(e){this.manySepFirstInternal(0,e)}MANY_SEP1(e){this.manySepFirstInternal(1,e)}MANY_SEP2(e){this.manySepFirstInternal(2,e)}MANY_SEP3(e){this.manySepFirstInternal(3,e)}MANY_SEP4(e){this.manySepFirstInternal(4,e)}MANY_SEP5(e){this.manySepFirstInternal(5,e)}MANY_SEP6(e){this.manySepFirstInternal(6,e)}MANY_SEP7(e){this.manySepFirstInternal(7,e)}MANY_SEP8(e){this.manySepFirstInternal(8,e)}MANY_SEP9(e){this.manySepFirstInternal(9,e)}AT_LEAST_ONE(e){this.atLeastOneInternal(0,e)}AT_LEAST_ONE1(e){return this.atLeastOneInternal(1,e)}AT_LEAST_ONE2(e){this.atLeastOneInternal(2,e)}AT_LEAST_ONE3(e){this.atLeastOneInternal(3,e)}AT_LEAST_ONE4(e){this.atLeastOneInternal(4,e)}AT_LEAST_ONE5(e){this.atLeastOneInternal(5,e)}AT_LEAST_ONE6(e){this.atLeastOneInternal(6,e)}AT_LEAST_ONE7(e){this.atLeastOneInternal(7,e)}AT_LEAST_ONE8(e){this.atLeastOneInternal(8,e)}AT_LEAST_ONE9(e){this.atLeastOneInternal(9,e)}AT_LEAST_ONE_SEP(e){this.atLeastOneSepFirstInternal(0,e)}AT_LEAST_ONE_SEP1(e){this.atLeastOneSepFirstInternal(1,e)}AT_LEAST_ONE_SEP2(e){this.atLeastOneSepFirstInternal(2,e)}AT_LEAST_ONE_SEP3(e){this.atLeastOneSepFirstInternal(3,e)}AT_LEAST_ONE_SEP4(e){this.atLeastOneSepFirstInternal(4,e)}AT_LEAST_ONE_SEP5(e){this.atLeastOneSepFirstInternal(5,e)}AT_LEAST_ONE_SEP6(e){this.atLeastOneSepFirstInternal(6,e)}AT_LEAST_ONE_SEP7(e){this.atLeastOneSepFirstInternal(7,e)}AT_LEAST_ONE_SEP8(e){this.atLeastOneSepFirstInternal(8,e)}AT_LEAST_ONE_SEP9(e){this.atLeastOneSepFirstInternal(9,e)}RULE(e,r,n=Hi){if(Pe(this.definedRulesNames,e)){let a={message:or.buildDuplicateRuleNameError({topLevelRule:e,grammarName:this.className}),type:Qe.DUPLICATE_RULE_NAME,ruleName:e};this.definitionErrors.push(a)}this.definedRulesNames.push(e);let i=this.defineRule(e,r,n);return this[e]=i,i}OVERRIDE_RULE(e,r,n=Hi){let i=og(e,this.definedRulesNames,this.className);this.definitionErrors=this.definitionErrors.concat(i);let s=this.defineRule(e,r,n);return this[e]=s,s}BACKTRACK(e,r){return function(){this.isBackTrackingStack.push(1);let n=this.saveRecogState();try{return e.apply(this,r),!0}catch(i){if(hn(i))return!1;throw i}finally{this.reloadRecogState(n),this.isBackTrackingStack.pop()}}}getGAstProductions(){return this.gastProductionsCache}getSerializedGastProductions(){return dc($e(this.gastProductionsCache))}};var Fc=class{initRecognizerEngine(e,r){if(this.className=this.constructor.name,this.shortRuleNameToFull={},this.fullRuleNameToShort={},this.ruleShortNameIdx=256,this.tokenMatcher=qi,this.subruleIdx=0,this.definedRulesNames=[],this.tokensMap={},this.isBackTrackingStack=[],this.RULE_STACK=[],this.RULE_OCCURRENCE_STACK=[],this.gastProductionsCache={},G(r,"serializedGrammar"))throw Error(`The Parser's configuration can no longer contain a <serializedGrammar> property.
|
|
128
|
+
See: https://chevrotain.io/docs/changes/BREAKING_CHANGES.html#_6-0-0
|
|
129
|
+
For Further details.`);if(Ye(e)){if(ee(e))throw Error(`A Token Vocabulary cannot be empty.
|
|
130
|
+
Note that the first argument for the parser constructor
|
|
131
|
+
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.
|
|
132
|
+
See: https://chevrotain.io/docs/changes/BREAKING_CHANGES.html#_4-0-0
|
|
133
|
+
For Further details.`)}if(Ye(e))this.tokensMap=Fe(e,(s,a)=>(s[a.name]=a,s),{});else if(G(e,"modes")&&vt(Be($e(e.modes)),Gm)){let s=Be($e(e.modes)),a=Bs(s);this.tokensMap=Fe(a,(o,c)=>(o[c.name]=c,o),{})}else if(Jh(e))this.tokensMap=Ae(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=jt;let n=G(e,"modes")?Be($e(e.modes)):$e(e),i=vt(n,s=>ee(s.categoryMatches));this.tokenMatcher=i?qi:zr,jr($e(this.tokensMap))}defineRule(e,r,n){if(this.selfAnalysisDone)throw Error(`Grammar rule <${e}> may not be defined after the 'performSelfAnalysis' method has been called'
|
|
134
|
+
Make sure that all grammar rule definitions are done before 'performSelfAnalysis' is called.`);let i=G(n,"resyncEnabled")?n.resyncEnabled:Hi.resyncEnabled,s=G(n,"recoveryValueFunc")?n.recoveryValueFunc:Hi.recoveryValueFunc,a=this.ruleShortNameIdx<<12;this.ruleShortNameIdx++,this.shortRuleNameToFull[a]=e,this.fullRuleNameToShort[e]=a;let o;return this.outputCst===!0?o=function(...f){try{this.ruleInvocationStateUpdate(a,e,this.subruleIdx),r.apply(this,f);let p=this.CST_STACK[this.CST_STACK.length-1];return this.cstPostRule(p),p}catch(p){return this.invokeRuleCatch(p,i,s)}finally{this.ruleFinallyStateUpdate()}}:o=function(...f){try{return this.ruleInvocationStateUpdate(a,e,this.subruleIdx),r.apply(this,f)}catch(p){return this.invokeRuleCatch(p,i,s)}finally{this.ruleFinallyStateUpdate()}},Object.assign(o,{ruleName:e,originalGrammarAction:r})}invokeRuleCatch(e,r,n){let i=this.RULE_STACK.length===1,s=r&&!this.isBackTracking()&&this.recoveryEnabled;if(hn(e)){let a=e;if(s){let o=this.findReSyncTokenType();if(this.isInCurrentRuleReSyncSet(o))if(a.resyncedTokens=this.reSyncTo(o),this.outputCst){let c=this.CST_STACK[this.CST_STACK.length-1];return c.recoveredNode=!0,c}else return n(e);else{if(this.outputCst){let c=this.CST_STACK[this.CST_STACK.length-1];c.recoveredNode=!0,a.partialCstResult=c}throw a}}else{if(i)return this.moveToTerminatedState(),n(e);throw a}}else throw e}optionInternal(e,r){let n=this.getKeyForAutomaticLookahead(512,r);return this.optionInternalLogic(e,r,n)}optionInternalLogic(e,r,n){let i=this.getLaFuncFromCache(n),s;if(typeof e!="function"){s=e.DEF;let a=e.GATE;if(a!==void 0){let o=i;i=()=>a.call(this)&&o.call(this)}}else s=e;if(i.call(this)===!0)return s.call(this)}atLeastOneInternal(e,r){let n=this.getKeyForAutomaticLookahead(1024,e);return this.atLeastOneInternalLogic(e,r,n)}atLeastOneInternalLogic(e,r,n){let i=this.getLaFuncFromCache(n),s;if(typeof r!="function"){s=r.DEF;let a=r.GATE;if(a!==void 0){let o=i;i=()=>a.call(this)&&o.call(this)}}else s=r;if(i.call(this)===!0){let a=this.doSingleRepetition(s);for(;i.call(this)===!0&&a===!0;)a=this.doSingleRepetition(s)}else throw this.raiseEarlyExitException(e,Ie.REPETITION_MANDATORY,r.ERR_MSG);this.attemptInRepetitionRecovery(this.atLeastOneInternal,[e,r],i,1024,e,vc)}atLeastOneSepFirstInternal(e,r){let n=this.getKeyForAutomaticLookahead(1536,e);this.atLeastOneSepFirstInternalLogic(e,r,n)}atLeastOneSepFirstInternalLogic(e,r,n){let i=r.DEF,s=r.SEP;if(this.getLaFuncFromCache(n).call(this)===!0){i.call(this);let 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,Ta],o,1536,e,Ta)}else throw this.raiseEarlyExitException(e,Ie.REPETITION_MANDATORY_WITH_SEPARATOR,r.ERR_MSG)}manyInternal(e,r){let n=this.getKeyForAutomaticLookahead(768,e);return this.manyInternalLogic(e,r,n)}manyInternalLogic(e,r,n){let i=this.getLaFuncFromCache(n),s;if(typeof r!="function"){s=r.DEF;let o=r.GATE;if(o!==void 0){let c=i;i=()=>o.call(this)&&c.call(this)}}else s=r;let a=!0;for(;i.call(this)===!0&&a===!0;)a=this.doSingleRepetition(s);this.attemptInRepetitionRecovery(this.manyInternal,[e,r],i,768,e,xc,a)}manySepFirstInternal(e,r){let n=this.getKeyForAutomaticLookahead(1280,e);this.manySepFirstInternalLogic(e,r,n)}manySepFirstInternalLogic(e,r,n){let i=r.DEF,s=r.SEP;if(this.getLaFuncFromCache(n).call(this)===!0){i.call(this);let 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,ya],o,1280,e,ya)}}repetitionSepSecondInternal(e,r,n,i,s){for(;n();)this.CONSUME(r),i.call(this);this.attemptInRepetitionRecovery(this.repetitionSepSecondInternal,[e,r,n,i,s],n,1536,e,s)}doSingleRepetition(e){let r=this.getLexerPosition();return e.call(this),this.getLexerPosition()>r}orInternal(e,r){let n=this.getKeyForAutomaticLookahead(256,r),i=Ye(e)?e:e.DEF,a=this.getLaFuncFromCache(n).call(this,i);if(a!==void 0)return i[a].ALT.call(this);this.raiseNoAltException(r,e.ERR_MSG)}ruleFinallyStateUpdate(){if(this.RULE_STACK.pop(),this.RULE_OCCURRENCE_STACK.pop(),this.cstFinallyStateUpdate(),this.RULE_STACK.length===0&&this.isAtEndOfInput()===!1){let e=this.LA(1),r=this.errorMessageProvider.buildNotAllInputParsedMessage({firstRedundant:e,ruleName:this.getCurrRuleFullName()});this.SAVE_ERROR(new Ea(r,e))}}subruleInternal(e,r,n){let i;try{let s=n!==void 0?n.ARGS:void 0;return this.subruleIdx=r,i=e.apply(this,s),this.cstPostNonTerminal(i,n!==void 0&&n.LABEL!==void 0?n.LABEL:e.ruleName),i}catch(s){throw this.subruleInternalError(s,n,e.ruleName)}}subruleInternalError(e,r,n){throw hn(e)&&e.partialCstResult!==void 0&&(this.cstPostNonTerminal(e.partialCstResult,r!==void 0&&r.LABEL!==void 0?r.LABEL:n),delete e.partialCstResult),e}consumeInternal(e,r,n){let i;try{let s=this.LA(1);this.tokenMatcher(s,e)===!0?(this.consumeToken(),i=s):this.consumeInternalError(e,s,n)}catch(s){i=this.consumeInternalRecovery(e,r,s)}return this.cstPostTerminal(n!==void 0&&n.LABEL!==void 0?n.LABEL:e.name,i),i}consumeInternalError(e,r,n){let i,s=this.LA(0);throw n!==void 0&&n.ERR_MSG?i=n.ERR_MSG:i=this.errorMessageProvider.buildMismatchTokenMessage({expected:e,actual:r,previous:s,ruleName:this.getCurrRuleFullName()}),this.SAVE_ERROR(new Jn(i,r,s))}consumeInternalRecovery(e,r,n){if(this.recoveryEnabled&&n.name==="MismatchedTokenException"&&!this.isBackTracking()){let i=this.getFollowsForInRuleRecovery(e,r);try{return this.tryInRuleRecovery(e,i)}catch(s){throw s.name===Ef?n:s}}else throw n}saveRecogState(){let e=this.errors,r=Ae(this.RULE_STACK);return{errors:e,lexerState:this.exportLexerState(),RULE_STACK:r,CST_STACK:this.CST_STACK}}reloadRecogState(e){this.errors=e.errors,this.importLexerState(e.lexerState),this.RULE_STACK=e.RULE_STACK}ruleInvocationStateUpdate(e,r,n){this.RULE_OCCURRENCE_STACK.push(n),this.RULE_STACK.push(e),this.cstInvocationStateUpdate(r)}isBackTracking(){return this.isBackTrackingStack.length!==0}getCurrRuleFullName(){let e=this.getLastExplicitRuleShortName();return this.shortRuleNameToFull[e]}shortRuleNameToFullName(e){return this.shortRuleNameToFull[e]}isAtEndOfInput(){return this.tokenMatcher(this.LA(1),jt)}reset(){this.resetLexerState(),this.subruleIdx=0,this.isBackTrackingStack=[],this.errors=[],this.RULE_STACK=[],this.CST_STACK=[],this.RULE_OCCURRENCE_STACK=[]}};var Gc=class{initErrorHandler(e){this._errors=[],this.errorMessageProvider=G(e,"errorMessageProvider")?e.errorMessageProvider:Nt.errorMessageProvider}SAVE_ERROR(e){if(hn(e))return e.context={ruleStack:this.getHumanReadableRuleStack(),ruleOccurrenceStack:Ae(this.RULE_OCCURRENCE_STACK)},this._errors.push(e),e;throw Error("Trying to save an Error which is not a RecognitionException")}get errors(){return Ae(this._errors)}set errors(e){this._errors=e}raiseEarlyExitException(e,r,n){let i=this.getCurrRuleFullName(),s=this.getGAstProductions()[i],o=Wi(e,s,r,this.maxLookahead)[0],c=[];for(let f=1;f<=this.maxLookahead;f++)c.push(this.LA(f));let l=this.errorMessageProvider.buildEarlyExitMessage({expectedIterationPaths:o,actual:c,previous:this.LA(0),customUserDescription:n,ruleName:i});throw this.SAVE_ERROR(new Aa(l,this.LA(1),this.LA(0)))}raiseNoAltException(e,r){let n=this.getCurrRuleFullName(),i=this.getGAstProductions()[n],s=Bi(e,i,this.maxLookahead),a=[];for(let l=1;l<=this.maxLookahead;l++)a.push(this.LA(l));let o=this.LA(0),c=this.errorMessageProvider.buildNoViableAltMessage({expectedPathsPerAlt:s,actual:a,previous:o,customUserDescription:r,ruleName:this.getCurrRuleFullName()});throw this.SAVE_ERROR(new va(c,this.LA(1),o))}};var Uc=class{initContentAssist(){}computeContentAssist(e,r){let n=this.gastProductionsCache[e];if(Et(n))throw Error(`Rule ->${e}<- does not exist in this grammar.`);return Ac([n],r,this.tokenMatcher,this.maxLookahead)}getNextPossibleTokenTypes(e){let r=ut(e.ruleStack),i=this.getGAstProductions()[r];return new Rc(i,e).startWalking()}};var jc={description:"This Object indicates the Parser is during Recording Phase"};Object.freeze(jc);var Eg=!0,Ag=Math.pow(2,8)-1,Sg=pn({name:"RECORDING_PHASE_TOKEN",pattern:we.NA});jr([Sg]);var kg=Wr(Sg,`This IToken indicates the Parser is in Recording Phase
|
|
135
|
+
See: https://chevrotain.io/docs/guide/internals.html#grammar-recording for details`,-1,-1,-1,-1,-1,-1);Object.freeze(kg);var UE={name:`This CSTNode indicates the Parser is in Recording Phase
|
|
136
|
+
See: https://chevrotain.io/docs/guide/internals.html#grammar-recording for details`,children:{}},qc=class{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++){let r=e>0?e:"";this[`CONSUME${r}`]=function(n,i){return this.consumeInternalRecord(n,e,i)},this[`SUBRULE${r}`]=function(n,i){return this.subruleInternalRecord(n,e,i)},this[`OPTION${r}`]=function(n){return this.optionInternalRecord(n,e)},this[`OR${r}`]=function(n){return this.orInternalRecord(n,e)},this[`MANY${r}`]=function(n){this.manyInternalRecord(e,n)},this[`MANY_SEP${r}`]=function(n){this.manySepFirstInternalRecord(e,n)},this[`AT_LEAST_ONE${r}`]=function(n){this.atLeastOneInternalRecord(e,n)},this[`AT_LEAST_ONE_SEP${r}`]=function(n){this.atLeastOneSepFirstInternalRecord(e,n)}}this.consume=function(e,r,n){return this.consumeInternalRecord(r,e,n)},this.subrule=function(e,r,n){return this.subruleInternalRecord(r,e,n)},this.option=function(e,r){return this.optionInternalRecord(r,e)},this.or=function(e,r){return this.orInternalRecord(r,e)},this.many=function(e,r){this.manyInternalRecord(e,r)},this.atLeastOne=function(e,r){this.atLeastOneInternalRecord(e,r)},this.ACTION=this.ACTION_RECORD,this.BACKTRACK=this.BACKTRACK_RECORD,this.LA=this.LA_RECORD})}disableRecording(){this.RECORDING_PHASE=!1,this.TRACE_INIT("Deleting Recording methods",()=>{let e=this;for(let r=0;r<10;r++){let n=r>0?r:"";delete e[`CONSUME${n}`],delete e[`SUBRULE${n}`],delete e[`OPTION${n}`],delete e[`OR${n}`],delete e[`MANY${n}`],delete e[`MANY_SEP${n}`],delete e[`AT_LEAST_ONE${n}`],delete e[`AT_LEAST_ONE_SEP${n}`]}delete e.consume,delete e.subrule,delete e.option,delete e.or,delete e.many,delete e.atLeastOne,delete e.ACTION,delete e.BACKTRACK,delete e.LA})}ACTION_RECORD(e){}BACKTRACK_RECORD(e,r){return()=>!0}LA_RECORD(e){return Ki}topLevelRuleRecord(e,r){try{let n=new St({definition:[],name:e});return n.name=e,this.recordingProdStack.push(n),r.call(this),this.recordingProdStack.pop(),n}catch(n){if(n.KNOWN_RECORDER_ERROR!==!0)try{n.message=n.message+`
|
|
137
|
+
This error was thrown during the "grammar recording phase" For more info see:
|
|
138
|
+
https://chevrotain.io/docs/guide/internals.html#grammar-recording`}catch{throw n}throw n}}optionInternalRecord(e,r){return Sa.call(this,de,e,r)}atLeastOneInternalRecord(e,r){Sa.call(this,Te,r,e)}atLeastOneSepFirstInternalRecord(e,r){Sa.call(this,Re,r,e,Eg)}manyInternalRecord(e,r){Sa.call(this,se,r,e)}manySepFirstInternalRecord(e,r){Sa.call(this,me,r,e,Eg)}orInternalRecord(e,r){return qE.call(this,e,r)}subruleInternalRecord(e,r,n){if(zc(r),!e||G(e,"ruleName")===!1){let o=new Error(`<SUBRULE${$g(r)}> argument is invalid expecting a Parser method reference but got: <${JSON.stringify(e)}>
|
|
139
|
+
inside top level rule: <${this.recordingProdStack[0].name}>`);throw o.KNOWN_RECORDER_ERROR=!0,o}let i=hr(this.recordingProdStack),s=e.ruleName,a=new fe({idx:r,nonTerminalName:s,label:n?.LABEL,referencedRule:void 0});return i.definition.push(a),this.outputCst?UE:jc}consumeInternalRecord(e,r,n){if(zc(r),!ff(e)){let a=new Error(`<CONSUME${$g(r)}> argument is invalid expecting a TokenType reference but got: <${JSON.stringify(e)}>
|
|
140
|
+
inside top level rule: <${this.recordingProdStack[0].name}>`);throw a.KNOWN_RECORDER_ERROR=!0,a}let i=hr(this.recordingProdStack),s=new re({idx:r,terminalType:e,label:n?.LABEL});return i.definition.push(s),kg}};function Sa(t,e,r,n=!1){zc(r);let i=hr(this.recordingProdStack),s=pr(e)?e:e.DEF,a=new t({definition:[],idx:r});return n&&(a.separator=e.SEP),G(e,"MAX_LOOKAHEAD")&&(a.maxLookahead=e.MAX_LOOKAHEAD),this.recordingProdStack.push(a),s.call(this),i.definition.push(a),this.recordingProdStack.pop(),jc}function qE(t,e){zc(e);let r=hr(this.recordingProdStack),n=Ye(t)===!1,i=n===!1?t:t.DEF,s=new ge({definition:[],idx:e,ignoreAmbiguities:n&&t.IGNORE_AMBIGUITIES===!0});G(t,"MAX_LOOKAHEAD")&&(s.maxLookahead=t.MAX_LOOKAHEAD);let a=Do(i,o=>pr(o.GATE));return s.hasPredicates=a,r.definition.push(s),M(i,o=>{let c=new ye({definition:[]});s.definition.push(c),G(o,"IGNORE_AMBIGUITIES")?c.ignoreAmbiguities=o.IGNORE_AMBIGUITIES:G(o,"GATE")&&(c.ignoreAmbiguities=!0),this.recordingProdStack.push(c),o.ALT.call(this),this.recordingProdStack.pop()}),jc}function $g(t){return t===0?"":`${t}`}function zc(t){if(t<0||t>Ag){let e=new Error(`Invalid DSL Method idx value: <${t}>
|
|
141
|
+
Idx value must be a none negative value smaller than ${Ag+1}`);throw e.KNOWN_RECORDER_ERROR=!0,e}}var Bc=class{initPerformanceTracer(e){if(G(e,"traceInitPerf")){let r=e.traceInitPerf,n=typeof r=="number";this.traceInitMaxIdent=n?r:1/0,this.traceInitPerf=n?r>0:r}else this.traceInitMaxIdent=0,this.traceInitPerf=Nt.traceInitPerf;this.traceInitIndent=-1}TRACE_INIT(e,r){if(this.traceInitPerf===!0){this.traceInitIndent++;let n=new Array(this.traceInitIndent+1).join(" ");this.traceInitIndent<this.traceInitMaxIdent&&console.log(`${n}--> <${e}>`);let{time:i,value:s}=da(r),a=i>10?console.warn:console.log;return this.traceInitIndent<this.traceInitMaxIdent&&a(`${n}<-- <${e}> time: ${i}ms`),this.traceInitIndent--,s}else return r()}};function Ng(t,e){e.forEach(r=>{let n=r.prototype;Object.getOwnPropertyNames(n).forEach(i=>{if(i==="constructor")return;let s=Object.getOwnPropertyDescriptor(n,i);s&&(s.get||s.set)?Object.defineProperty(t.prototype,i,s):t.prototype[i]=r.prototype[i]})})}var Ki=Wr(jt,"",NaN,NaN,NaN,NaN,NaN,NaN);Object.freeze(Ki);var Nt=Object.freeze({recoveryEnabled:!1,maxLookahead:3,dynamicTokensEnabled:!1,outputCst:!0,errorMessageProvider:Vr,nodeLocationTracking:"none",traceInitPerf:!1,skipValidations:!1}),Hi=Object.freeze({recoveryValueFunc:()=>{},resyncEnabled:!0}),Qe;(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"})(Qe||(Qe={}));function Wc(t=void 0){return function(){return t}}var ka=class t{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;let r=this.className;this.TRACE_INIT("toFastProps",()=>{pa(this)}),this.TRACE_INIT("Grammar Recording",()=>{try{this.enableRecording(),M(this.definedRulesNames,i=>{let a=this[i].originalGrammarAction,o;this.TRACE_INIT(`${i} Rule`,()=>{o=this.topLevelRuleRecord(i,a)}),this.gastProductionsCache[i]=o})}finally{this.disableRecording()}});let n=[];if(this.TRACE_INIT("Grammar Resolving",()=>{n=fg({rules:$e(this.gastProductionsCache)}),this.definitionErrors=this.definitionErrors.concat(n)}),this.TRACE_INIT("Grammar Validations",()=>{if(ee(n)&&this.skipValidations===!1){let i=dg({rules:$e(this.gastProductionsCache),tokenTypes:$e(this.tokensMap),errMsgProvider:or,grammarName:r}),s=ig({lookaheadStrategy:this.lookaheadStrategy,rules:$e(this.gastProductionsCache),tokenTypes:$e(this.tokensMap),grammarName:r});this.definitionErrors=this.definitionErrors.concat(i,s)}}),ee(this.definitionErrors)&&(this.recoveryEnabled&&this.TRACE_INIT("computeAllProdsFollows",()=>{let i=xm($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))})),!t.DEFER_DEFINITION_ERRORS_HANDLING&&!ee(this.definitionErrors))throw e=w(this.definitionErrors,i=>i.message),new Error(`Parser Definition Errors detected:
|
|
142
|
+
${e.join(`
|
|
143
|
+
-------------------------------
|
|
144
|
+
`)}`)})}constructor(e,r){this.definitionErrors=[],this.selfAnalysisDone=!1;let n=this;if(n.initErrorHandler(r),n.initLexerAdapter(),n.initLooksAhead(r),n.initRecognizerEngine(e,r),n.initRecoverable(r),n.initTreeBuilder(r),n.initContentAssist(),n.initGastRecorder(r),n.initPerformanceTracer(r),G(r,"ignoredIssues"))throw new Error(`The <ignoredIssues> IParserConfig property has been deprecated.
|
|
145
|
+
Please use the <IGNORE_AMBIGUITIES> flag on the relevant DSL method instead.
|
|
146
|
+
See: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#IGNORING_AMBIGUITIES
|
|
147
|
+
For further details.`);this.skipValidations=G(r,"skipValidations")?r.skipValidations:Nt.skipValidations}};ka.DEFER_DEFINITION_ERRORS_HANDLING=!1;Ng(ka,[Cc,_c,Lc,Dc,Fc,Mc,Gc,Uc,qc,Bc]);var Na=class extends ka{constructor(e,r=Nt){let n=Ae(r);n.outputCst=!1,super(e,n)}};function Qn(t,e,r){return`${t.name}_${e}_${r}`}var mn=1,jE=2,Cg=4,wg=5;var Ji=7,BE=8,WE=9,VE=10,KE=11,Ig=12,Ca=class{constructor(e){this.target=e}isEpsilon(){return!1}},Yi=class extends Ca{constructor(e,r){super(e),this.tokenType=r}},wa=class extends Ca{constructor(e){super(e)}isEpsilon(){return!0}},Xi=class extends Ca{constructor(e,r,n){super(e),this.rule=r,this.followState=n}isEpsilon(){return!0}};function _g(t){let e={decisionMap:{},decisionStates:[],ruleToStartState:new Map,ruleToStopState:new Map,states:[]};HE(e,t);let r=t.length;for(let n=0;n<r;n++){let i=t[n],s=Zn(e,i,i);s!==void 0&&sA(e,i,s)}return e}function HE(t,e){let r=e.length;for(let n=0;n<r;n++){let i=e[n],s=tt(t,i,void 0,{type:jE}),a=tt(t,i,void 0,{type:Ji});s.stop=a,t.ruleToStartState.set(i,s),t.ruleToStopState.set(i,a)}}function bg(t,e,r){return r instanceof re?_f(t,e,r.terminalType,r):r instanceof fe?iA(t,e,r):r instanceof ge?ZE(t,e,r):r instanceof de?eA(t,e,r):r instanceof se?YE(t,e,r):r instanceof me?XE(t,e,r):r instanceof Te?JE(t,e,r):r instanceof Re?QE(t,e,r):Zn(t,e,r)}function YE(t,e,r){let n=tt(t,e,r,{type:wg});gn(t,n);let i=Qi(t,e,n,r,Zn(t,e,r));return Og(t,e,r,i)}function XE(t,e,r){let n=tt(t,e,r,{type:wg});gn(t,n);let i=Qi(t,e,n,r,Zn(t,e,r)),s=_f(t,e,r.separator,r);return Og(t,e,r,i,s)}function JE(t,e,r){let n=tt(t,e,r,{type:Cg});gn(t,n);let i=Qi(t,e,n,r,Zn(t,e,r));return Pg(t,e,r,i)}function QE(t,e,r){let n=tt(t,e,r,{type:Cg});gn(t,n);let i=Qi(t,e,n,r,Zn(t,e,r)),s=_f(t,e,r.separator,r);return Pg(t,e,r,i,s)}function ZE(t,e,r){let n=tt(t,e,r,{type:mn});gn(t,n);let i=w(r.definition,a=>bg(t,e,a));return Qi(t,e,n,r,...i)}function eA(t,e,r){let n=tt(t,e,r,{type:mn});gn(t,n);let i=Qi(t,e,n,r,Zn(t,e,r));return tA(t,e,r,i)}function Zn(t,e,r){let n=st(w(r.definition,i=>bg(t,e,i)),i=>i!==void 0);return n.length===1?n[0]:n.length===0?void 0:nA(t,n)}function Pg(t,e,r,n,i){let s=n.left,a=n.right,o=tt(t,e,r,{type:KE});gn(t,o);let c=tt(t,e,r,{type:Ig});return s.loopback=o,c.loopback=o,t.decisionMap[Qn(e,i?"RepetitionMandatoryWithSeparator":"RepetitionMandatory",r.idx)]=o,Ve(a,o),i===void 0?(Ve(o,s),Ve(o,c)):(Ve(o,c),Ve(o,i.left),Ve(i.right,s)),{left:s,right:c}}function Og(t,e,r,n,i){let s=n.left,a=n.right,o=tt(t,e,r,{type:VE});gn(t,o);let c=tt(t,e,r,{type:Ig}),l=tt(t,e,r,{type:WE});return o.loopback=l,c.loopback=l,Ve(o,s),Ve(o,c),Ve(a,l),i!==void 0?(Ve(l,c),Ve(l,i.left),Ve(i.right,s)):Ve(l,o),t.decisionMap[Qn(e,i?"RepetitionWithSeparator":"Repetition",r.idx)]=o,{left:o,right:c}}function tA(t,e,r,n){let i=n.left,s=n.right;return Ve(i,s),t.decisionMap[Qn(e,"Option",r.idx)]=i,n}function gn(t,e){return t.decisionStates.push(e),e.decision=t.decisionStates.length-1,e.decision}function Qi(t,e,r,n,...i){let s=tt(t,e,n,{type:BE,start:r});r.end=s;for(let o of i)o!==void 0?(Ve(r,o.left),Ve(o.right,s)):Ve(r,s);let a={left:r,right:s};return t.decisionMap[Qn(e,rA(n),n.idx)]=r,a}function rA(t){if(t instanceof ge)return"Alternation";if(t instanceof de)return"Option";if(t instanceof se)return"Repetition";if(t instanceof me)return"RepetitionWithSeparator";if(t instanceof Te)return"RepetitionMandatory";if(t instanceof Re)return"RepetitionMandatoryWithSeparator";throw new Error("Invalid production type encountered")}function nA(t,e){let r=e.length;for(let s=0;s<r-1;s++){let a=e[s],o;a.left.transitions.length===1&&(o=a.left.transitions[0]);let c=o instanceof Xi,l=o,f=e[s+1].left;a.left.type===mn&&a.right.type===mn&&o!==void 0&&(c&&l.followState===a.right||o.target===a.right)?(c?l.followState=f:o.target=f,aA(t,a.right)):Ve(a.right,f)}let n=e[0],i=e[r-1];return{left:n.left,right:i.right}}function _f(t,e,r,n){let i=tt(t,e,n,{type:mn}),s=tt(t,e,n,{type:mn});return bf(i,new Yi(s,r)),{left:i,right:s}}function iA(t,e,r){let n=r.referencedRule,i=t.ruleToStartState.get(n),s=tt(t,e,r,{type:mn}),a=tt(t,e,r,{type:mn}),o=new Xi(i,n,a);return bf(s,o),{left:s,right:a}}function sA(t,e,r){let n=t.ruleToStartState.get(e);Ve(n,r.left);let i=t.ruleToStopState.get(e);return Ve(r.right,i),{left:n,right:i}}function Ve(t,e){let r=new wa(e);bf(t,r)}function tt(t,e,r,n){let i=Object.assign({atn:t,production:r,epsilonOnlyTransitions:!1,rule:e,transitions:[],nextTokenWithinRule:[],stateNumber:t.states.length},n);return t.states.push(i),i}function bf(t,e){t.transitions.length===0&&(t.epsilonOnlyTransitions=e.isEpsilon()),t.transitions.push(e)}function aA(t,e){t.states.splice(t.states.indexOf(e),1)}var Ia={},Zi=class{constructor(){this.map={},this.configs=[]}get size(){return this.configs.length}finalize(){this.map={}}add(e){let r=Pf(e);r in this.map||(this.map[r]=this.configs.length,this.configs.push(e))}get elements(){return this.configs}get alts(){return w(this.configs,e=>e.alt)}get key(){let e="";for(let r in this.map)e+=r+":";return e}};function Pf(t,e=!0){return`${e?`a${t.alt}`:""}s${t.state.stateNumber}:${t.stack.map(r=>r.stateNumber.toString()).join("_")}`}function oA(t,e){let r={};return n=>{let i=n.toString(),s=r[i];return s!==void 0||(s={atnStartState:t,decision:e,states:{}},r[i]=s),s}}var Vc=class{constructor(){this.predicates=[]}is(e){return e>=this.predicates.length||this.predicates[e]}set(e,r){this.predicates[e]=r}toString(){let e="",r=this.predicates.length;for(let n=0;n<r;n++)e+=this.predicates[n]===!0?"1":"0";return e}},Lg=new Vc,_a=class extends Kr{constructor(e){var r;super(),this.logging=(r=e?.logging)!==null&&r!==void 0?r:(n=>console.log(n))}initialize(e){this.atn=_g(e.rules),this.dfas=cA(this.atn)}validateAmbiguousAlternationAlternatives(){return[]}validateEmptyOrAlternatives(){return[]}buildLookaheadForAlternation(e){let{prodOccurrence:r,rule:n,hasPredicates:i,dynamicTokensEnabled:s}=e,a=this.dfas,o=this.logging,c=Qn(n,"Alternation",r),f=this.atn.decisionMap[c].decision,p=w(Sc({maxLookahead:1,occurrence:r,prodType:"Alternation",rule:n}),h=>w(h,g=>g[0]));if(Dg(p,!1)&&!s){let h=Fe(p,(g,k,N)=>(M(k,U=>{U&&(g[U.tokenTypeIdx]=N,M(U.categoryMatches,_=>{g[_]=N}))}),g),{});return i?function(g){var k;let N=this.LA(1),U=h[N.tokenTypeIdx];if(g!==void 0&&U!==void 0){let _=(k=g[U])===null||k===void 0?void 0:k.GATE;if(_!==void 0&&_.call(this)===!1)return}return U}:function(){let g=this.LA(1);return h[g.tokenTypeIdx]}}else return i?function(h){let g=new Vc,k=h===void 0?0:h.length;for(let U=0;U<k;U++){let _=h?.[U].GATE;g.set(U,_===void 0||_.call(this))}let N=Of.call(this,a,f,g,o);return typeof N=="number"?N:void 0}:function(){let h=Of.call(this,a,f,Lg,o);return typeof h=="number"?h:void 0}}buildLookaheadForOptional(e){let{prodOccurrence:r,rule:n,prodType:i,dynamicTokensEnabled:s}=e,a=this.dfas,o=this.logging,c=Qn(n,i,r),f=this.atn.decisionMap[c].decision,p=w(Sc({maxLookahead:1,occurrence:r,prodType:i,rule:n}),h=>w(h,g=>g[0]));if(Dg(p)&&p[0][0]&&!s){let h=p[0],g=Be(h);if(g.length===1&&ee(g[0].categoryMatches)){let N=g[0].tokenTypeIdx;return function(){return this.LA(1).tokenTypeIdx===N}}else{let k=Fe(g,(N,U)=>(U!==void 0&&(N[U.tokenTypeIdx]=!0,M(U.categoryMatches,_=>{N[_]=!0})),N),{});return function(){let N=this.LA(1);return k[N.tokenTypeIdx]===!0}}}return function(){let h=Of.call(this,a,f,Lg,o);return typeof h=="object"?!1:h===0}}};function Dg(t,e=!0){let r=new Set;for(let n of t){let i=new Set;for(let s of n){if(s===void 0){if(e)break;return!1}let a=[s.tokenTypeIdx].concat(s.categoryMatches);for(let o of a)if(r.has(o)){if(!i.has(o))return!1}else r.add(o),i.add(o)}}return!0}function cA(t){let e=t.decisionStates.length,r=Array(e);for(let n=0;n<e;n++)r[n]=oA(t.decisionStates[n],n);return r}function Of(t,e,r,n){let i=t[e](r),s=i.start;if(s===void 0){let o=RA(i.atnStartState);s=Gg(i,Fg(o)),i.start=s}return lA.apply(this,[i,s,r,n])}function lA(t,e,r,n){let i=e,s=1,a=[],o=this.LA(s++);for(;;){let c=mA(i,o);if(c===void 0&&(c=uA.apply(this,[t,i,o,s,r,n])),c===Ia)return hA(a,i,o);if(c.isAcceptState===!0)return c.prediction;i=c,a.push(o),o=this.LA(s++)}}function uA(t,e,r,n,i,s){let a=gA(e.configs,r,i);if(a.size===0)return Mg(t,e,r,Ia),Ia;let o=Fg(a),c=TA(a,i);if(c!==void 0)o.isAcceptState=!0,o.prediction=c,o.configs.uniqueAlt=c;else if(AA(a)){let l=em(a.alts);o.isAcceptState=!0,o.prediction=l,o.configs.uniqueAlt=l,fA.apply(this,[t,n,a.alts,s])}return o=Mg(t,e,r,o),o}function fA(t,e,r,n){let i=[];for(let l=1;l<=e;l++)i.push(this.LA(l).tokenType);let s=t.atnStartState,a=s.rule,o=s.production,c=dA({topLevelRule:a,ambiguityIndices:r,production:o,prefixPath:i});n(c)}function dA(t){let e=w(t.prefixPath,i=>Br(i)).join(", "),r=t.production.idx===0?"":t.production.idx,n=`Ambiguous Alternatives Detected: <${t.ambiguityIndices.join(", ")}> in <${pA(t.production)}${r}> inside <${t.topLevelRule.name}> Rule,
|
|
148
|
+
<${e}> may appears as a prefix path in all these alternatives.
|
|
149
|
+
`;return n=n+`See: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#AMBIGUOUS_ALTERNATIVES
|
|
150
|
+
For Further details.`,n}function pA(t){if(t instanceof fe)return"SUBRULE";if(t instanceof de)return"OPTION";if(t instanceof ge)return"OR";if(t instanceof Te)return"AT_LEAST_ONE";if(t instanceof Re)return"AT_LEAST_ONE_SEP";if(t instanceof me)return"MANY_SEP";if(t instanceof se)return"MANY";if(t instanceof re)return"CONSUME";throw Error("non exhaustive match")}function hA(t,e,r){let n=ft(e.configs.elements,s=>s.state.transitions),i=tm(n.filter(s=>s instanceof Yi).map(s=>s.tokenType),s=>s.tokenTypeIdx);return{actualToken:r,possibleTokenTypes:i,tokenPath:t}}function mA(t,e){return t.edges[e.tokenTypeIdx]}function gA(t,e,r){let n=new Zi,i=[];for(let a of t.elements){if(r.is(a.alt)===!1)continue;if(a.state.type===Ji){i.push(a);continue}let o=a.state.transitions.length;for(let c=0;c<o;c++){let l=a.state.transitions[c],f=yA(l,e);f!==void 0&&n.add({state:f,alt:a.alt,stack:a.stack})}}let s;if(i.length===0&&n.size===1&&(s=n),s===void 0){s=new Zi;for(let a of n.elements)Kc(a,s)}if(i.length>0&&!vA(s))for(let a of i)s.add(a);return s}function yA(t,e){if(t instanceof Yi&&ga(e,t.tokenType))return t.target}function TA(t,e){let r;for(let n of t.elements)if(e.is(n.alt)===!0){if(r===void 0)r=n.alt;else if(r!==n.alt)return}return r}function Fg(t){return{configs:t,edges:{},isAcceptState:!1,prediction:-1}}function Mg(t,e,r,n){return n=Gg(t,n),e.edges[r.tokenTypeIdx]=n,n}function Gg(t,e){if(e===Ia)return e;let r=e.configs.key,n=t.states[r];return n!==void 0?n:(e.configs.finalize(),t.states[r]=e,e)}function RA(t){let e=new Zi,r=t.transitions.length;for(let n=0;n<r;n++){let s={state:t.transitions[n].target,alt:n,stack:[]};Kc(s,e)}return e}function Kc(t,e){let r=t.state;if(r.type===Ji){if(t.stack.length>0){let i=[...t.stack],a={state:i.pop(),alt:t.alt,stack:i};Kc(a,e)}else e.add(t);return}r.epsilonOnlyTransitions||e.add(t);let n=r.transitions.length;for(let i=0;i<n;i++){let s=r.transitions[i],a=xA(t,s);a!==void 0&&Kc(a,e)}}function xA(t,e){if(e instanceof wa)return{state:e.target,alt:t.alt,stack:t.stack};if(e instanceof Xi){let r=[...t.stack,e.followState];return{state:e.target,alt:t.alt,stack:r}}}function vA(t){for(let e of t.elements)if(e.state.type===Ji)return!0;return!1}function EA(t){for(let e of t.elements)if(e.state.type!==Ji)return!1;return!0}function AA(t){if(EA(t))return!0;let e=$A(t.elements);return SA(e)&&!kA(e)}function $A(t){let e=new Map;for(let r of t){let n=Pf(r,!1),i=e.get(n);i===void 0&&(i={},e.set(n,i)),i[r.alt]=!0}return e}function SA(t){for(let e of Array.from(t.values()))if(Object.keys(e).length>1)return!0;return!1}function kA(t){for(let e of Array.from(t.values()))if(Object.keys(e).length===1)return!0;return!1}ss();var Ga=class{constructor(){this.nodeStack=[]}get current(){return this.nodeStack[this.nodeStack.length-1]??this.rootNode}buildRootNode(e){return this.rootNode=new as(e),this.rootNode.root=this.rootNode,this.nodeStack=[this.rootNode],this.rootNode}buildCompositeNode(e){let r=new ni;return r.grammarSource=e,r.root=this.rootNode,this.current.content.push(r),this.nodeStack.push(r),r}buildLeafNode(e,r){let n=new ri(e.startOffset,e.image.length,bi(e),e.tokenType,!r);return n.grammarSource=r,n.root=this.rootNode,this.current.content.push(n),n}removeNode(e){let r=e.container;if(r){let n=r.content.indexOf(e);n>=0&&r.content.splice(n,1)}}addHiddenNodes(e){let r=[];for(let s of e){let a=new ri(s.startOffset,s.image.length,bi(s),s.tokenType,!0);a.root=this.rootNode,r.push(a)}let n=this.current,i=!1;if(n.content.length>0){n.content.push(...r);return}for(;n.container;){let s=n.container.content.indexOf(n);if(s>0){n.container.content.splice(s,0,...r),i=!0;break}n=n.container}i||this.rootNode.content.unshift(...r)}construct(e){let r=this.current;typeof e.$type=="string"&&!e.$infixName&&(this.current.astNode=e),e.$cstNode=r;let n=this.nodeStack.pop();n?.content.length===0&&this.removeNode(n)}},Ua=class{get hidden(){return!1}get astNode(){let e=typeof this._astNode?.$type=="string"?this._astNode:this.container?.astNode;if(!e)throw new Error("This node has no associated AST element");return e}set astNode(e){this._astNode=e}get text(){return this.root.fullText.substring(this.offset,this.end)}},ri=class extends Ua{get offset(){return this._offset}get length(){return this._length}get end(){return this._offset+this._length}get hidden(){return this._hidden}get tokenType(){return this._tokenType}get range(){return this._range}constructor(e,r,n,i,s=!1){super(),this._hidden=s,this._offset=e,this._tokenType=i,this._length=r,this._range=n}},ni=class extends Ua{constructor(){super(...arguments),this.content=new Md(this)}get offset(){return this.firstNonHiddenNode?.offset??0}get length(){return this.end-this.offset}get end(){return this.lastNonHiddenNode?.end??0}get range(){let e=this.firstNonHiddenNode,r=this.lastNonHiddenNode;if(e&&r){if(this._rangeCache===void 0){let{range:n}=e,{range:i}=r;this._rangeCache={start:n.start,end:i.end.line<n.start.line?n.start:i.end}}return this._rangeCache}else return{start:ce.create(0,0),end:ce.create(0,0)}}get firstNonHiddenNode(){for(let 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--){let r=this.content[e];if(!r.hidden)return r}return this.content[this.content.length-1]}},Md=class t extends Array{constructor(e){super(),this.parent=e,Object.setPrototypeOf(this,t.prototype)}push(...e){return this.addParents(e),super.push(...e)}unshift(...e){return this.addParents(e),super.unshift(...e)}splice(e,r,...n){return this.addParents(n),super.splice(e,r,...n)}addParents(e){for(let r of e)r.container=this.parent}},as=class extends ni{get text(){return this._text.substring(this.offset,this.end)}get fullText(){return this._text}constructor(e){super(),this._text="",this._text=e??""}};var nl=Symbol("Datatype");function Fd(t){return t.$type===nl}var Ug="\u200B",qg=t=>t.endsWith(Ug)?t:t+Ug,qa=class{constructor(e){this._unorderedGroups=new Map,this.allRules=new Map,this.lexer=e.parser.Lexer;let r=this.lexer.definition,n=e.LanguageMetaData.mode==="production";e.shared.profilers.LangiumProfiler?.isActive("parsing")?this.wrapper=new Gd(r,{...e.parser.ParserConfig,skipValidations:n,errorMessageProvider:e.parser.ParserErrorMessageProvider},e.shared.profilers.LangiumProfiler.createTask("parsing",e.LanguageMetaData.languageId)):this.wrapper=new sl(r,{...e.parser.ParserConfig,skipValidations:n,errorMessageProvider:e.parser.ParserErrorMessageProvider})}alternatives(e,r){this.wrapper.wrapOr(e,r)}optional(e,r){this.wrapper.wrapOption(e,r)}many(e,r){this.wrapper.wrapMany(e,r)}atLeastOne(e,r){this.wrapper.wrapAtLeastOne(e,r)}getRule(e){return this.allRules.get(e)}isRecording(){return this.wrapper.IS_RECORDING}get unorderedGroups(){return this._unorderedGroups}getRuleStack(){return this.wrapper.RULE_STACK}finalize(){this.wrapper.wrapSelfAnalysis()}},za=class extends qa{get current(){return this.stack[this.stack.length-1]}constructor(e){super(e),this.nodeBuilder=new Ga,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,r){let n=this.computeRuleType(e),i;un(e)&&(i=e.name,this.registerPrecedenceMap(e));let s=this.wrapper.DEFINE_RULE(qg(e.name),this.startImplementation(n,i,r).bind(this));return this.allRules.set(e.name,s),et(e)&&e.entry&&(this.mainRule=s),s}registerPrecedenceMap(e){let r=e.name,n=new Map;for(let i=0;i<e.operators.precedences.length;i++){let s=e.operators.precedences[i];for(let a of s.operators)n.set(a.value,{precedence:i,rightAssoc:s.associativity==="right"})}this.operatorPrecedence.set(r,n)}computeRuleType(e){return un(e)?dn(e):e.fragment?void 0:ua(e)?nl:dn(e)}parse(e,r={}){this.nodeBuilder.buildRootNode(e);let n=this.lexerResult=this.lexer.tokenize(e);this.wrapper.input=n.tokens;let i=r.rule?this.allRules.get(r.rule):this.mainRule;if(!i)throw new Error(r.rule?`No rule found with name '${r.rule}'`:"No main rule available.");let s=this.doParse(i);return this.nodeBuilder.addHiddenNodes(n.hidden),this.unorderedGroups.clear(),this.lexerResult=void 0,Ei(s,{deep:!0}),{value:s,lexerErrors:n.errors,lexerReport:n.report,parserErrors:this.wrapper.errors}}doParse(e){let r=this.wrapper.rule(e);if(this.stack.length>0&&(r=this.construct()),r===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 r}startImplementation(e,r,n){return i=>{let s=!this.isRecording()&&e!==void 0;if(s){let a={$type:e};this.stack.push(a),e===nl?a.value="":r!==void 0&&(a.$infixName=r)}return n(i),s?this.construct():void 0}}extractHiddenTokens(e){let r=this.lexerResult.hidden;if(!r.length)return[];let n=e.startOffset;for(let i=0;i<r.length;i++)if(r[i].startOffset>n)return r.splice(0,i);return r.splice(0,r.length)}consume(e,r,n){let i=this.wrapper.wrapConsume(e,r);if(!this.isRecording()&&this.isValidToken(i)){let s=this.extractHiddenTokens(i);this.nodeBuilder.addHiddenNodes(s);let a=this.nodeBuilder.buildLeafNode(i,n),{assignment:o,crossRef:c}=this.getAssignment(n),l=this.current;if(o){let f=Kt(n)?i.image:this.converter.convert(i.image,a);this.assign(o.operator,o.feature,f,a,c)}else if(Fd(l)){let f=i.image;Kt(n)||(f=this.converter.convert(f,a).toString()),l.value+=f}}}isValidToken(e){return!e.isInsertedInRecovery&&!isNaN(e.startOffset)&&typeof e.endOffset=="number"&&!isNaN(e.endOffset)}subrule(e,r,n,i,s){let a;!this.isRecording()&&!n&&(a=this.nodeBuilder.buildCompositeNode(i));let o;try{o=this.wrapper.wrapSubrule(e,r,s)}finally{this.isRecording()||(o===void 0&&!n&&(o=this.construct()),o!==void 0&&a&&a.length>0&&this.performSubruleAssignment(o,i,a))}}performSubruleAssignment(e,r,n){let{assignment:i,crossRef:s}=this.getAssignment(r);if(i)this.assign(i.operator,i.feature,e,n,s);else if(!i){let a=this.current;if(Fd(a))a.value+=e.toString();else if(typeof e=="object"&&e){let c=this.assignWithoutOverride(e,a);this.stack.pop(),this.stack.push(c)}}}action(e,r){if(!this.isRecording()){let n=this.current;if(r.feature&&r.operator){n=this.construct(),this.nodeBuilder.removeNode(n.$cstNode),this.nodeBuilder.buildCompositeNode(r).content.push(n.$cstNode);let s={$type:e};this.stack.push(s),this.assign(r.operator,r.feature,n,n.$cstNode)}else n.$type=e}}construct(){if(this.isRecording())return;let e=this.stack.pop();return this.nodeBuilder.construct(e),"$infixName"in e?this.constructInfix(e,this.operatorPrecedence.get(e.$infixName)):Fd(e)?this.converter.convert(e.value,e.$cstNode):(mu(this.astReflection,e),e)}constructInfix(e,r){let n=e.parts;if(!Array.isArray(n)||n.length===0)return;let i=e.operators;if(!Array.isArray(i)||n.length<2)return n[0];let s=0,a=-1;for(let N=0;N<i.length;N++){let U=i[N],_=r.get(U)??{precedence:1/0,rightAssoc:!1};_.precedence>a?(a=_.precedence,s=N):_.precedence===a&&(_.rightAssoc||(s=N))}let o=i.slice(0,s),c=i.slice(s+1),l=n.slice(0,s+1),f=n.slice(s+1),p={$infixName:e.$infixName,$type:e.$type,$cstNode:e.$cstNode,parts:l,operators:o},h={$infixName:e.$infixName,$type:e.$type,$cstNode:e.$cstNode,parts:f,operators:c},g=this.constructInfix(p,r),k=this.constructInfix(h,r);return{$type:e.$type,$cstNode:e.$cstNode,left:g,operator:i[s],right:k}}getAssignment(e){if(!this.assignmentMap.has(e)){let r=Lr(e,ir);this.assignmentMap.set(e,{assignment:r,crossRef:r&&sr(r.terminal)?r.terminal.isMulti?"multi":"single":void 0})}return this.assignmentMap.get(e)}assign(e,r,n,i,s){let a=this.current,o;switch(s==="single"&&typeof n=="string"?o=this.linker.buildReference(a,r,i,n):s==="multi"&&typeof n=="string"?o=this.linker.buildMultiReference(a,r,i,n):o=n,e){case"=":{a[r]=o;break}case"?=":{a[r]=!0;break}case"+=":Array.isArray(a[r])||(a[r]=[]),a[r].push(o)}}assignWithoutOverride(e,r){for(let[i,s]of Object.entries(r)){let a=e[i];a===void 0?e[i]=s:Array.isArray(a)&&Array.isArray(s)&&(s.push(...a),e[i]=s)}let n=e.$cstNode;return n&&(n.astNode=void 0,e.$cstNode=void 0),e}get definitionErrors(){return this.wrapper.definitionErrors}},il=class{buildMismatchTokenMessage(e){return Vr.buildMismatchTokenMessage(e)}buildNotAllInputParsedMessage(e){return Vr.buildNotAllInputParsedMessage(e)}buildNoViableAltMessage(e){return Vr.buildNoViableAltMessage(e)}buildEarlyExitMessage(e){return Vr.buildEarlyExitMessage(e)}},os=class extends il{buildMismatchTokenMessage({expected:e,actual:r}){return`Expecting ${e.LABEL?"`"+e.LABEL+"`":e.name.endsWith(":KW")?`keyword '${e.name.substring(0,e.name.length-3)}'`:`token of type '${e.name}'`} but found \`${r.image}\`.`}buildNotAllInputParsedMessage({firstRedundant:e}){return`Expecting end of file but found \`${e.image}\`.`}},ja=class extends qa{constructor(){super(...arguments),this.tokens=[],this.elementStack=[],this.lastElementStack=[],this.nextTokenIndex=0,this.stackSize=0}action(){}construct(){}parse(e){this.resetState();let r=this.lexer.tokenize(e,{mode:"partial"});return this.tokens=r.tokens,this.wrapper.input=[...this.tokens],this.mainRule.call(this.wrapper,{}),this.unorderedGroups.clear(),{tokens:this.tokens,elementStack:[...this.lastElementStack],tokenIndex:this.nextTokenIndex}}rule(e,r){let n=this.wrapper.DEFINE_RULE(qg(e.name),this.startImplementation(r).bind(this));return this.allRules.set(e.name,n),e.entry&&(this.mainRule=n),n}resetState(){this.elementStack=[],this.lastElementStack=[],this.nextTokenIndex=0,this.stackSize=0}startImplementation(e){return r=>{let n=this.keepStackSize();try{e(r)}finally{this.resetStackSize(n)}}}removeUnexpectedElements(){this.elementStack.splice(this.stackSize)}keepStackSize(){let e=this.elementStack.length;return this.stackSize=e,e}resetStackSize(e){this.removeUnexpectedElements(),this.stackSize=e}consume(e,r,n){this.wrapper.wrapConsume(e,r),this.isRecording()||(this.lastElementStack=[...this.elementStack,n],this.nextTokenIndex=this.currIdx+1)}subrule(e,r,n,i,s){this.before(i),this.wrapper.wrapSubrule(e,r,s),this.after(i)}before(e){this.isRecording()||this.elementStack.push(e)}after(e){if(!this.isRecording()){let r=this.elementStack.lastIndexOf(e);r>=0&&this.elementStack.splice(r)}}get currIdx(){return this.wrapper.currIdx}},CA={recoveryEnabled:!0,nodeLocationTracking:"full",skipValidations:!0,errorMessageProvider:new os},sl=class extends Na{constructor(e,r){let n=r&&"maxLookahead"in r;super(e,{...CA,lookaheadStrategy:n?new Kr({maxLookahead:r.maxLookahead}):new _a({logging:r.skipValidations?()=>{}:void 0}),...r})}get IS_RECORDING(){return this.RECORDING_PHASE}DEFINE_RULE(e,r,n){return this.RULE(e,r,n)}wrapSelfAnalysis(){this.performSelfAnalysis()}wrapConsume(e,r){return this.consume(e,r,void 0)}wrapSubrule(e,r,n){return this.subrule(e,r,{ARGS:[n]})}wrapOr(e,r){this.or(e,r)}wrapOption(e,r){this.option(e,r)}wrapMany(e,r){this.many(e,r)}wrapAtLeastOne(e,r){this.atLeastOne(e,r)}rule(e){return e.call(this,{})}},Gd=class extends sl{constructor(e,r,n){super(e,r),this.task=n}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,r,n){this.task.startSubTask(this.ruleName(r));try{return super.subrule(e,r,n)}finally{this.task.stopSubTask(this.ruleName(r))}}};function Ba(t,e,r){return wA({parser:e,tokens:r,ruleNames:new Map},t),e}function wA(t,e){let r=ca(e,!1),n=te(e.rules).filter(et).filter(s=>r.has(s));for(let s of n){let a={...t,consume:1,optional:1,subrule:1,many:1,or:1};t.parser.rule(s,ii(a,s.definition))}let i=te(e.rules).filter(un).filter(s=>r.has(s));for(let s of i)t.parser.rule(s,IA(t,s))}function IA(t,e){let r=e.call.rule.ref;if(!r)throw new Error("Could not resolve reference to infix operator rule: "+e.call.rule.$refText);if($t(r))throw new Error("Cannot use terminal rule in infix expression");let n=e.operators.precedences.flatMap(g=>g.operators),i={$type:"Group",elements:[]},s={$container:i,$type:"Assignment",feature:"parts",operator:"+=",terminal:e.call},a={$container:i,$type:"Group",elements:[],cardinality:"*"};i.elements.push(s,a);let c={$container:a,$type:"Assignment",feature:"operators",operator:"+=",terminal:{$type:"Alternatives",elements:n}},l={...s,$container:a};a.elements.push(c,l);let p=n.map(g=>t.tokens[g.value]).map((g,k)=>({ALT:()=>t.parser.consume(k,g,c)})),h;return g=>{h??(h=qd(t,r)),t.parser.subrule(0,h,!1,s,g),t.parser.many(0,{DEF:()=>{t.parser.alternatives(0,p),t.parser.subrule(1,h,!1,l,g)}})}}function ii(t,e,r=!1){let n;if(Kt(e))n=MA(t,e);else if(Gr(e))n=_A(t,e);else if(ir(e))n=ii(t,e.terminal);else if(sr(e))n=zg(t,e);else if(ar(e))n=bA(t,e);else if(Zo(e))n=OA(t,e);else if(nc(e))n=LA(t,e);else if(ln(e))n=DA(t,e);else if(Eu(e)){let i=t.consume++;n=()=>t.parser.consume(i,jt,e)}else throw new Bn(e.$cstNode,`Unexpected element type: ${e.$type}`);return jg(t,r?void 0:al(e),n,e.cardinality)}function _A(t,e){let r=dn(e);return()=>t.parser.action(r,e)}function bA(t,e){let r=e.rule.ref;if(Fr(r)){let n=t.subrule++,i=et(r)&&r.fragment,s=e.arguments.length>0?PA(r,e.arguments):()=>({}),a;return o=>{a??(a=qd(t,r)),t.parser.subrule(n,a,i,e,s(o))}}else if($t(r)){let n=t.consume++,i=Ud(t,r.name);return()=>t.parser.consume(n,i,e)}else if(r)Tr(r);else throw new Bn(e.$cstNode,`Undefined rule: ${e.rule.$refText}`)}function PA(t,e){if(e.some(n=>n.calledByName)){let n=e.map(i=>({parameterName:i.parameter?.ref?.name,predicate:Er(i.value)}));return i=>{let s={};for(let{parameterName:a,predicate:o}of n)a&&(s[a]=o(i));return s}}else{let n=e.map(i=>Er(i.value));return i=>{let s={};for(let a=0;a<n.length;a++)if(a<t.parameters.length){let o=t.parameters[a].name,c=n[a];s[o]=c(i)}return s}}}function Er(t){if(vu(t)){let e=Er(t.left),r=Er(t.right);return n=>e(n)||r(n)}else if(xu(t)){let e=Er(t.left),r=Er(t.right);return n=>e(n)&&r(n)}else if(Su(t)){let e=Er(t.value);return r=>!e(r)}else if(ku(t)){let e=t.parameter.ref.name;return r=>r!==void 0&&r[e]===!0}else if(Tu(t)){let e=!!t.true;return()=>e}Tr(t)}function OA(t,e){if(e.elements.length===1)return ii(t,e.elements[0]);{let r=[];for(let i of e.elements){let s={ALT:ii(t,i,!0)},a=al(i);a&&(s.GATE=Er(a)),r.push(s)}let n=t.or++;return i=>t.parser.alternatives(n,r.map(s=>{let a={ALT:()=>s.ALT(i)},o=s.GATE;return o&&(a.GATE=()=>o(i)),a}))}}function LA(t,e){if(e.elements.length===1)return ii(t,e.elements[0]);let r=[];for(let o of e.elements){let c={ALT:ii(t,o,!0)},l=al(o);l&&(c.GATE=Er(l)),r.push(c)}let n=t.or++,i=(o,c)=>{let l=c.getRuleStack().join("-");return`uGroup_${o}_${l}`},s=o=>t.parser.alternatives(n,r.map((c,l)=>{let f={ALT:()=>!0},p=t.parser;f.ALT=()=>{if(c.ALT(o),!p.isRecording()){let g=i(n,p);p.unorderedGroups.get(g)||p.unorderedGroups.set(g,[]);let k=p.unorderedGroups.get(g);typeof k?.[l]>"u"&&(k[l]=!0)}};let h=c.GATE;return h?f.GATE=()=>h(o):f.GATE=()=>!p.unorderedGroups.get(i(n,p))?.[l],f})),a=jg(t,al(e),s,"*");return o=>{a(o),t.parser.isRecording()||t.parser.unorderedGroups.delete(i(n,t.parser))}}function DA(t,e){let r=e.elements.map(n=>ii(t,n));return n=>r.forEach(i=>i(n))}function al(t){if(ln(t))return t.guardCondition}function zg(t,e,r=e.terminal){if(r)if(ar(r)&&et(r.rule.ref)){let n=r.rule.ref,i=t.subrule++,s;return a=>{s??(s=qd(t,n)),t.parser.subrule(i,s,!1,e,a)}}else if(ar(r)&&$t(r.rule.ref)){let n=t.consume++,i=Ud(t,r.rule.ref.name);return()=>t.parser.consume(n,i,e)}else if(Kt(r)){let n=t.consume++,i=Ud(t,r.value);return()=>t.parser.consume(n,i,e)}else throw new Error("Could not build cross reference parser");else{if(!e.type.ref)throw new Error("Could not resolve reference to type: "+e.type.$refText);let i=lc(e.type.ref)?.terminal;if(!i)throw new Error("Could not find name assignment for type: "+dn(e.type.ref));return zg(t,e,i)}}function MA(t,e){let r=t.consume++,n=t.tokens[e.value];if(!n)throw new Error("Could not find token for keyword: "+e.value);return()=>t.parser.consume(r,n,e)}function jg(t,e,r,n){let i=e&&Er(e);if(!n)if(i){let s=t.or++;return a=>t.parser.alternatives(s,[{ALT:()=>r(a),GATE:()=>i(a)},{ALT:Wc(),GATE:()=>!i(a)}])}else return r;if(n==="*"){let s=t.many++;return a=>t.parser.many(s,{DEF:()=>r(a),GATE:i?()=>i(a):void 0})}else if(n==="+"){let s=t.many++;if(i){let a=t.or++;return o=>t.parser.alternatives(a,[{ALT:()=>t.parser.atLeastOne(s,{DEF:()=>r(o)}),GATE:()=>i(o)},{ALT:Wc(),GATE:()=>!i(o)}])}else return a=>t.parser.atLeastOne(s,{DEF:()=>r(a)})}else if(n==="?"){let s=t.optional++;return a=>t.parser.optional(s,{DEF:()=>r(a),GATE:i?()=>i(a):void 0})}else Tr(n)}function qd(t,e){let r=FA(t,e),n=t.parser.getRule(r);if(!n)throw new Error(`Rule "${r}" not found."`);return n}function FA(t,e){if(Fr(e))return e.name;if(t.ruleNames.has(e))return t.ruleNames.get(e);{let r=e,n=r.$container,i=e.$type;for(;!et(n);)(ln(n)||Zo(n)||nc(n))&&(i=n.elements.indexOf(r).toString()+":"+i),r=n,n=n.$container;return i=n.name+":"+i,t.ruleNames.set(e,i),i}}function Ud(t,e){let r=t.tokens[e];if(!r)throw new Error(`Token "${e}" not found."`);return r}function zd(t){let e=t.Grammar,r=t.parser.Lexer,n=new ja(t);return Ba(e,n,r.definition),n.finalize(),n}function jd(t){let e=Bg(t);return e.finalize(),e}function Bg(t){let e=t.Grammar,r=t.parser.Lexer,n=new za(t);return Ba(e,n,r.definition)}var Yr=class{constructor(){this.diagnostics=[]}buildTokens(e,r){let n=te(ca(e,!1)),i=this.buildTerminalTokens(n),s=this.buildKeywordTokens(n,i,r);return s.push(...i),s}flushLexingReport(e){return{diagnostics:this.popDiagnostics()}}popDiagnostics(){let e=[...this.diagnostics];return this.diagnostics=[],e}buildTerminalTokens(e){return e.filter($t).filter(r=>!r.fragment).map(r=>this.buildTerminalToken(r)).toArray()}buildTerminalToken(e){let r=Oi(e),n=this.requiresCustomPattern(r)?this.regexPatternFunction(r):r,i={name:e.name,PATTERN:n};return typeof n=="function"&&(i.LINE_BREAKS=!0),e.hidden&&(i.GROUP=oa(r)?we.SKIPPED:"hidden"),i}requiresCustomPattern(e){return!!(e.flags.includes("u")||e.flags.includes("s"))}regexPatternFunction(e){let r=new RegExp(e,e.flags+"y");return(n,i)=>(r.lastIndex=i,r.exec(n))}buildKeywordTokens(e,r,n){return e.filter(Fr).flatMap(i=>rr(i).filter(Kt)).distinct(i=>i.value).toArray().sort((i,s)=>s.value.length-i.value.length).map(i=>this.buildKeywordToken(i,r,!!n?.caseInsensitive))}buildKeywordToken(e,r,n){let i=this.buildKeywordPattern(e,n),s={name:e.value,PATTERN:i,LONGER_ALT:this.findLongerAlt(e,r)};return typeof i=="function"&&(s.LINE_BREAKS=!0),s}buildKeywordPattern(e,r){return r?new RegExp(fn(e.value),"i"):e.value}findLongerAlt(e,r){return r.reduce((n,i)=>{let s=i?.PATTERN;return s?.source&&Bu("^"+s.source+"$",e.value)&&n.push(i),n},[])}};var si=class{convert(e,r){let n=r.grammarSource;if(sr(n)&&(n=Ku(n)),ar(n)){let i=n.rule.ref;if(!i)throw new Error("This cst node was not parsed by a rule.");return this.runConverter(i,e,r)}return e}runConverter(e,r,n){switch(e.name.toUpperCase()){case"INT":return Ar.convertInt(r);case"STRING":return Ar.convertString(r);case"ID":return Ar.convertID(r)}switch(ef(e)?.toLowerCase()){case"number":return Ar.convertNumber(r);case"boolean":return Ar.convertBoolean(r);case"bigint":return Ar.convertBigint(r);case"date":return Ar.convertDate(r);default:return r}}},Ar;(function(t){function e(l){let f="";for(let p=1;p<l.length-1;p++){let h=l.charAt(p);if(h==="\\"){let g=l.charAt(++p);f+=r(g)}else f+=h}return f}t.convertString=e;function r(l){switch(l){case"b":return"\b";case"f":return"\f";case"n":return`
|
|
151
|
+
`;case"r":return"\r";case"t":return" ";case"v":return"\v";case"0":return"\0";default:return l}}function n(l){return l.charAt(0)==="^"?l.substring(1):l}t.convertID=n;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})(Ar||(Ar={}));var B={};ae(B,lu(Wa(),1));function Xd(){return new Promise(t=>{typeof setImmediate>"u"?setTimeout(t,0):setImmediate(t)})}var ul=0,Hg=10;function fl(){return ul=performance.now(),new B.CancellationTokenSource}function Yg(t){Hg=t}var Ht=Symbol("OperationCancelled");function $r(t){return t===Ht}async function Le(t){if(t===B.CancellationToken.None)return;let e=performance.now();if(e-ul>=Hg&&(ul=e,await Xd(),ul=performance.now()),t.isCancellationRequested)throw Ht}var Ct=class{constructor(){this.promise=new Promise((e,r)=>{this.resolve=n=>(e(n),this),this.reject=n=>(r(n),this)})}};var dl=class t{constructor(e,r,n,i){this._uri=e,this._languageId=r,this._version=n,this._content=i,this._lineOffsets=void 0}get uri(){return this._uri}get languageId(){return this._languageId}get version(){return this._version}getText(e){if(e){let r=this.offsetAt(e.start),n=this.offsetAt(e.end);return this._content.substring(r,n)}return this._content}update(e,r){for(let n of e)if(t.isIncremental(n)){let i=Qg(n.range),s=this.offsetAt(i.start),a=this.offsetAt(i.end);this._content=this._content.substring(0,s)+n.text+this._content.substring(a,this._content.length);let o=Math.max(i.start.line,0),c=Math.max(i.end.line,0),l=this._lineOffsets,f=Xg(n.text,!1,s);if(c-o===f.length)for(let h=0,g=f.length;h<g;h++)l[h+o+1]=f[h];else f.length<1e4?l.splice(o+1,c-o,...f):this._lineOffsets=l=l.slice(0,o+1).concat(f,l.slice(c+1));let p=n.text.length-(a-s);if(p!==0)for(let h=o+1+f.length,g=l.length;h<g;h++)l[h]=l[h]+p}else if(t.isFull(n))this._content=n.text,this._lineOffsets=void 0;else throw new Error("Unknown change event received");this._version=r}getLineOffsets(){return this._lineOffsets===void 0&&(this._lineOffsets=Xg(this._content,!0)),this._lineOffsets}positionAt(e){e=Math.max(Math.min(e,this._content.length),0);let r=this.getLineOffsets(),n=0,i=r.length;if(i===0)return{line:0,character:e};for(;n<i;){let a=Math.floor((n+i)/2);r[a]>e?i=a:n=a+1}let s=n-1;return e=this.ensureBeforeEOL(e,r[s]),{line:s,character:e-r[s]}}offsetAt(e){let r=this.getLineOffsets();if(e.line>=r.length)return this._content.length;if(e.line<0)return 0;let n=r[e.line];if(e.character<=0)return n;let i=e.line+1<r.length?r[e.line+1]:this._content.length,s=Math.min(n+e.character,i);return this.ensureBeforeEOL(s,n)}ensureBeforeEOL(e,r){for(;e>r&&Jg(this._content.charCodeAt(e-1));)e--;return e}get lineCount(){return this.getLineOffsets().length}static isIncremental(e){let r=e;return r!=null&&typeof r.text=="string"&&r.range!==void 0&&(r.rangeLength===void 0||typeof r.rangeLength=="number")}static isFull(e){let r=e;return r!=null&&typeof r.text=="string"&&r.range===void 0&&r.rangeLength===void 0}},fs;(function(t){function e(i,s,a,o){return new dl(i,s,a,o)}t.create=e;function r(i,s,a){if(i instanceof dl)return i.update(s,a),i;throw new Error("TextDocument.update: document must be created by TextDocument.create")}t.update=r;function n(i,s){let a=i.getText(),o=Jd(s.map(HA),(f,p)=>{let h=f.range.start.line-p.range.start.line;return h===0?f.range.start.character-p.range.start.character:h}),c=0,l=[];for(let f of o){let p=i.offsetAt(f.range.start);if(p<c)throw new Error("Overlapping edit");p>c&&l.push(a.substring(c,p)),f.newText.length&&l.push(f.newText),c=i.offsetAt(f.range.end)}return l.push(a.substr(c)),l.join("")}t.applyEdits=n})(fs||(fs={}));function Jd(t,e){if(t.length<=1)return t;let r=t.length/2|0,n=t.slice(0,r),i=t.slice(r);Jd(n,e),Jd(i,e);let s=0,a=0,o=0;for(;s<n.length&&a<i.length;)e(n[s],i[a])<=0?t[o++]=n[s++]:t[o++]=i[a++];for(;s<n.length;)t[o++]=n[s++];for(;a<i.length;)t[o++]=i[a++];return t}function Xg(t,e,r=0){let n=e?[r]:[];for(let i=0;i<t.length;i++){let s=t.charCodeAt(i);Jg(s)&&(s===13&&i+1<t.length&&t.charCodeAt(i+1)===10&&i++,n.push(r+i+1))}return n}function Jg(t){return t===13||t===10}function Qg(t){let e=t.start,r=t.end;return e.line>r.line||e.line===r.line&&e.character>r.character?{start:r,end:e}:t}function HA(t){let e=Qg(t.range);return e!==t.range?{newText:t.newText,range:e}:t}var Zg;(()=>{"use strict";var t={975:S=>{function y(T){if(typeof T!="string")throw new TypeError("Path must be a string. Received "+JSON.stringify(T))}function P(T,x){for(var E,b="",F=0,I=-1,H=0,W=0;W<=T.length;++W){if(W<T.length)E=T.charCodeAt(W);else{if(E===47)break;E=47}if(E===47){if(!(I===W-1||H===1))if(I!==W-1&&H===2){if(b.length<2||F!==2||b.charCodeAt(b.length-1)!==46||b.charCodeAt(b.length-2)!==46){if(b.length>2){var qe=b.lastIndexOf("/");if(qe!==b.length-1){qe===-1?(b="",F=0):F=(b=b.slice(0,qe)).length-1-b.lastIndexOf("/"),I=W,H=0;continue}}else if(b.length===2||b.length===1){b="",F=0,I=W,H=0;continue}}x&&(b.length>0?b+="/..":b="..",F=2)}else b.length>0?b+="/"+T.slice(I+1,W):b=T.slice(I+1,W),F=W-I-1;I=W,H=0}else E===46&&H!==-1?++H:H=-1}return b}var O={resolve:function(){for(var T,x="",E=!1,b=arguments.length-1;b>=-1&&!E;b--){var F;b>=0?F=arguments[b]:(T===void 0&&(T=process.cwd()),F=T),y(F),F.length!==0&&(x=F+"/"+x,E=F.charCodeAt(0)===47)}return x=P(x,!E),E?x.length>0?"/"+x:"/":x.length>0?x:"."},normalize:function(T){if(y(T),T.length===0)return".";var x=T.charCodeAt(0)===47,E=T.charCodeAt(T.length-1)===47;return(T=P(T,!x)).length!==0||x||(T="."),T.length>0&&E&&(T+="/"),x?"/"+T:T},isAbsolute:function(T){return y(T),T.length>0&&T.charCodeAt(0)===47},join:function(){if(arguments.length===0)return".";for(var T,x=0;x<arguments.length;++x){var E=arguments[x];y(E),E.length>0&&(T===void 0?T=E:T+="/"+E)}return T===void 0?".":O.normalize(T)},relative:function(T,x){if(y(T),y(x),T===x||(T=O.resolve(T))===(x=O.resolve(x)))return"";for(var E=1;E<T.length&&T.charCodeAt(E)===47;++E);for(var b=T.length,F=b-E,I=1;I<x.length&&x.charCodeAt(I)===47;++I);for(var H=x.length-I,W=F<H?F:H,qe=-1,J=0;J<=W;++J){if(J===W){if(H>W){if(x.charCodeAt(I+J)===47)return x.slice(I+J+1);if(J===0)return x.slice(I+J)}else F>W&&(T.charCodeAt(E+J)===47?qe=J:J===0&&(qe=0));break}var Ne=T.charCodeAt(E+J);if(Ne!==x.charCodeAt(I+J))break;Ne===47&&(qe=J)}var Qt="";for(J=E+qe+1;J<=b;++J)J!==b&&T.charCodeAt(J)!==47||(Qt.length===0?Qt+="..":Qt+="/..");return Qt.length>0?Qt+x.slice(I+qe):(I+=qe,x.charCodeAt(I)===47&&++I,x.slice(I))},_makeLong:function(T){return T},dirname:function(T){if(y(T),T.length===0)return".";for(var x=T.charCodeAt(0),E=x===47,b=-1,F=!0,I=T.length-1;I>=1;--I)if((x=T.charCodeAt(I))===47){if(!F){b=I;break}}else F=!1;return b===-1?E?"/":".":E&&b===1?"//":T.slice(0,b)},basename:function(T,x){if(x!==void 0&&typeof x!="string")throw new TypeError('"ext" argument must be a string');y(T);var E,b=0,F=-1,I=!0;if(x!==void 0&&x.length>0&&x.length<=T.length){if(x.length===T.length&&x===T)return"";var H=x.length-1,W=-1;for(E=T.length-1;E>=0;--E){var qe=T.charCodeAt(E);if(qe===47){if(!I){b=E+1;break}}else W===-1&&(I=!1,W=E+1),H>=0&&(qe===x.charCodeAt(H)?--H==-1&&(F=E):(H=-1,F=W))}return b===F?F=W:F===-1&&(F=T.length),T.slice(b,F)}for(E=T.length-1;E>=0;--E)if(T.charCodeAt(E)===47){if(!I){b=E+1;break}}else F===-1&&(I=!1,F=E+1);return F===-1?"":T.slice(b,F)},extname:function(T){y(T);for(var x=-1,E=0,b=-1,F=!0,I=0,H=T.length-1;H>=0;--H){var W=T.charCodeAt(H);if(W!==47)b===-1&&(F=!1,b=H+1),W===46?x===-1?x=H:I!==1&&(I=1):x!==-1&&(I=-1);else if(!F){E=H+1;break}}return x===-1||b===-1||I===0||I===1&&x===b-1&&x===E+1?"":T.slice(x,b)},format:function(T){if(T===null||typeof T!="object")throw new TypeError('The "pathObject" argument must be of type Object. Received type '+typeof T);return(function(x,E){var b=E.dir||E.root,F=E.base||(E.name||"")+(E.ext||"");return b?b===E.root?b+F:b+"/"+F:F})(0,T)},parse:function(T){y(T);var x={root:"",dir:"",base:"",ext:"",name:""};if(T.length===0)return x;var E,b=T.charCodeAt(0),F=b===47;F?(x.root="/",E=1):E=0;for(var I=-1,H=0,W=-1,qe=!0,J=T.length-1,Ne=0;J>=E;--J)if((b=T.charCodeAt(J))!==47)W===-1&&(qe=!1,W=J+1),b===46?I===-1?I=J:Ne!==1&&(Ne=1):I!==-1&&(Ne=-1);else if(!qe){H=J+1;break}return I===-1||W===-1||Ne===0||Ne===1&&I===W-1&&I===H+1?W!==-1&&(x.base=x.name=H===0&&F?T.slice(1,W):T.slice(H,W)):(H===0&&F?(x.name=T.slice(1,I),x.base=T.slice(1,W)):(x.name=T.slice(H,I),x.base=T.slice(H,W)),x.ext=T.slice(I,W)),H>0?x.dir=T.slice(0,H-1):F&&(x.dir="/"),x},sep:"/",delimiter:":",win32:null,posix:null};O.posix=O,S.exports=O}},e={};function r(S){var y=e[S];if(y!==void 0)return y.exports;var P=e[S]={exports:{}};return t[S](P,P.exports,r),P.exports}r.d=(S,y)=>{for(var P in y)r.o(y,P)&&!r.o(S,P)&&Object.defineProperty(S,P,{enumerable:!0,get:y[P]})},r.o=(S,y)=>Object.prototype.hasOwnProperty.call(S,y),r.r=S=>{typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty(S,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(S,"__esModule",{value:!0})};var n={};let i;r.r(n),r.d(n,{URI:()=>h,Utils:()=>nt}),typeof process=="object"?i=process.platform==="win32":typeof navigator=="object"&&(i=navigator.userAgent.indexOf("Windows")>=0);let s=/^\w[\w\d+.-]*$/,a=/^\//,o=/^\/\//;function c(S,y){if(!S.scheme&&y)throw new Error(`[UriError]: Scheme is missing: {scheme: "", authority: "${S.authority}", path: "${S.path}", query: "${S.query}", fragment: "${S.fragment}"}`);if(S.scheme&&!s.test(S.scheme))throw new Error("[UriError]: Scheme contains illegal characters.");if(S.path){if(S.authority){if(!a.test(S.path))throw new Error('[UriError]: If a URI contains an authority component, then the path component must either be empty or begin with a slash ("/") character')}else if(o.test(S.path))throw new Error('[UriError]: If a URI does not contain an authority component, then the path cannot begin with two slash characters ("//")')}}let l="",f="/",p=/^(([^:/?#]+?):)?(\/\/([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?/;class h{static isUri(y){return y instanceof h||!!y&&typeof y.authority=="string"&&typeof y.fragment=="string"&&typeof y.path=="string"&&typeof y.query=="string"&&typeof y.scheme=="string"&&typeof y.fsPath=="string"&&typeof y.with=="function"&&typeof y.toString=="function"}scheme;authority;path;query;fragment;constructor(y,P,O,T,x,E=!1){typeof y=="object"?(this.scheme=y.scheme||l,this.authority=y.authority||l,this.path=y.path||l,this.query=y.query||l,this.fragment=y.fragment||l):(this.scheme=(function(b,F){return b||F?b:"file"})(y,E),this.authority=P||l,this.path=(function(b,F){switch(b){case"https":case"http":case"file":F?F[0]!==f&&(F=f+F):F=f}return F})(this.scheme,O||l),this.query=T||l,this.fragment=x||l,c(this,E))}get fsPath(){return L(this,!1)}with(y){if(!y)return this;let{scheme:P,authority:O,path:T,query:x,fragment:E}=y;return P===void 0?P=this.scheme:P===null&&(P=l),O===void 0?O=this.authority:O===null&&(O=l),T===void 0?T=this.path:T===null&&(T=l),x===void 0?x=this.query:x===null&&(x=l),E===void 0?E=this.fragment:E===null&&(E=l),P===this.scheme&&O===this.authority&&T===this.path&&x===this.query&&E===this.fragment?this:new k(P,O,T,x,E)}static parse(y,P=!1){let O=p.exec(y);return O?new k(O[2]||l,ve(O[4]||l),ve(O[5]||l),ve(O[7]||l),ve(O[9]||l),P):new k(l,l,l,l,l)}static file(y){let P=l;if(i&&(y=y.replace(/\\/g,f)),y[0]===f&&y[1]===f){let O=y.indexOf(f,2);O===-1?(P=y.substring(2),y=f):(P=y.substring(2,O),y=y.substring(O)||f)}return new k("file",P,y,l,l)}static from(y){let P=new k(y.scheme,y.authority,y.path,y.query,y.fragment);return c(P,!0),P}toString(y=!1){return A(this,y)}toJSON(){return this}static revive(y){if(y){if(y instanceof h)return y;{let P=new k(y);return P._formatted=y.external,P._fsPath=y._sep===g?y.fsPath:null,P}}return y}}let g=i?1:void 0;class k extends h{_formatted=null;_fsPath=null;get fsPath(){return this._fsPath||(this._fsPath=L(this,!1)),this._fsPath}toString(y=!1){return y?A(this,!0):(this._formatted||(this._formatted=A(this,!1)),this._formatted)}toJSON(){let y={$mid:1};return this._fsPath&&(y.fsPath=this._fsPath,y._sep=g),this._formatted&&(y.external=this._formatted),this.path&&(y.path=this.path),this.scheme&&(y.scheme=this.scheme),this.authority&&(y.authority=this.authority),this.query&&(y.query=this.query),this.fragment&&(y.fragment=this.fragment),y}}let N={58:"%3A",47:"%2F",63:"%3F",35:"%23",91:"%5B",93:"%5D",64:"%40",33:"%21",36:"%24",38:"%26",39:"%27",40:"%28",41:"%29",42:"%2A",43:"%2B",44:"%2C",59:"%3B",61:"%3D",32:"%20"};function U(S,y,P){let O,T=-1;for(let x=0;x<S.length;x++){let E=S.charCodeAt(x);if(E>=97&&E<=122||E>=65&&E<=90||E>=48&&E<=57||E===45||E===46||E===95||E===126||y&&E===47||P&&E===91||P&&E===93||P&&E===58)T!==-1&&(O+=encodeURIComponent(S.substring(T,x)),T=-1),O!==void 0&&(O+=S.charAt(x));else{O===void 0&&(O=S.substr(0,x));let b=N[E];b!==void 0?(T!==-1&&(O+=encodeURIComponent(S.substring(T,x)),T=-1),O+=b):T===-1&&(T=x)}}return T!==-1&&(O+=encodeURIComponent(S.substring(T))),O!==void 0?O:S}function _(S){let y;for(let P=0;P<S.length;P++){let O=S.charCodeAt(P);O===35||O===63?(y===void 0&&(y=S.substr(0,P)),y+=N[O]):y!==void 0&&(y+=S[P])}return y!==void 0?y:S}function L(S,y){let P;return P=S.authority&&S.path.length>1&&S.scheme==="file"?`//${S.authority}${S.path}`:S.path.charCodeAt(0)===47&&(S.path.charCodeAt(1)>=65&&S.path.charCodeAt(1)<=90||S.path.charCodeAt(1)>=97&&S.path.charCodeAt(1)<=122)&&S.path.charCodeAt(2)===58?y?S.path.substr(1):S.path[1].toLowerCase()+S.path.substr(2):S.path,i&&(P=P.replace(/\//g,"\\")),P}function A(S,y){let P=y?_:U,O="",{scheme:T,authority:x,path:E,query:b,fragment:F}=S;if(T&&(O+=T,O+=":"),(x||T==="file")&&(O+=f,O+=f),x){let I=x.indexOf("@");if(I!==-1){let H=x.substr(0,I);x=x.substr(I+1),I=H.lastIndexOf(":"),I===-1?O+=P(H,!1,!1):(O+=P(H.substr(0,I),!1,!1),O+=":",O+=P(H.substr(I+1),!1,!0)),O+="@"}x=x.toLowerCase(),I=x.lastIndexOf(":"),I===-1?O+=P(x,!1,!0):(O+=P(x.substr(0,I),!1,!0),O+=x.substr(I))}if(E){if(E.length>=3&&E.charCodeAt(0)===47&&E.charCodeAt(2)===58){let I=E.charCodeAt(1);I>=65&&I<=90&&(E=`/${String.fromCharCode(I+32)}:${E.substr(3)}`)}else if(E.length>=2&&E.charCodeAt(1)===58){let I=E.charCodeAt(0);I>=65&&I<=90&&(E=`${String.fromCharCode(I+32)}:${E.substr(2)}`)}O+=P(E,!0,!1)}return b&&(O+="?",O+=P(b,!1,!1)),F&&(O+="#",O+=y?F:U(F,!1,!1)),O}function D(S){try{return decodeURIComponent(S)}catch{return S.length>3?S.substr(0,3)+D(S.substr(3)):S}}let Y=/(%[0-9A-Za-z][0-9A-Za-z])+/g;function ve(S){return S.match(Y)?S.replace(Y,(y=>D(y))):S}var Rt=r(975);let ct=Rt.posix||Rt,Mt="/";var nt;(function(S){S.joinPath=function(y,...P){return y.with({path:ct.join(y.path,...P)})},S.resolvePath=function(y,...P){let O=y.path,T=!1;O[0]!==Mt&&(O=Mt+O,T=!0);let x=ct.resolve(O,...P);return T&&x[0]===Mt&&!y.authority&&(x=x.substring(1)),y.with({path:x})},S.dirname=function(y){if(y.path.length===0||y.path===Mt)return y;let P=ct.dirname(y.path);return P.length===1&&P.charCodeAt(0)===46&&(P=""),y.with({path:P})},S.basename=function(y){return ct.basename(y.path)},S.extname=function(y){return ct.extname(y.path)}})(nt||(nt={})),Zg=n})();var{URI:Ze,Utils:ds}=Zg;var je;(function(t){t.basename=ds.basename,t.dirname=ds.dirname,t.extname=ds.extname,t.joinPath=ds.joinPath,t.resolvePath=ds.resolvePath;let e=typeof process=="object"&&process?.platform==="win32";function r(a,o){return a?.toString()===o?.toString()}t.equals=r;function n(a,o){let c=typeof a=="string"?Ze.parse(a).path:a.path,l=typeof o=="string"?Ze.parse(o).path:o.path,f=c.split("/").filter(N=>N.length>0),p=l.split("/").filter(N=>N.length>0);if(e){let N=/^[A-Z]:$/;if(f[0]&&N.test(f[0])&&(f[0]=f[0].toLowerCase()),p[0]&&N.test(p[0])&&(p[0]=p[0].toLowerCase()),f[0]!==p[0])return l.substring(1)}let h=0;for(;h<f.length&&f[h]===p[h];h++);let g="../".repeat(f.length-h),k=p.slice(h).join("/");return g+k}t.relative=n;function i(a){return Ze.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})(je||(je={}));var ps=class{constructor(){this.root={name:"",children:new Map}}normalizeUri(e){return je.normalize(e)}clear(){this.root.children.clear()}insert(e,r){let n=this.getNode(this.normalizeUri(e),!0);n.element=r}delete(e){let r=this.getNode(this.normalizeUri(e),!1);r?.parent&&r.parent.children.delete(r.name)}has(e){return this.getNode(this.normalizeUri(e),!1)?.element!==void 0}hasNode(e){return this.getNode(this.normalizeUri(e),!1)!==void 0}find(e){return this.getNode(this.normalizeUri(e),!1)?.element}findNode(e){let r=this.normalizeUri(e),n=this.getNode(r,!1);if(n)return{name:n.name,uri:je.joinPath(Ze.parse(r),n.name).toString(),element:n.element}}findChildren(e){let r=this.normalizeUri(e),n=this.getNode(r,!1);return n?Array.from(n.children.values()).map(i=>({name:i.name,uri:je.joinPath(Ze.parse(r),i.name).toString(),element:i.element})):[]}all(){return this.collectValues(this.root)}findAll(e){let r=this.getNode(je.normalize(e),!1);return r?this.collectValues(r):[]}getNode(e,r){let n=e.split("/");e.charAt(e.length-1)==="/"&&n.pop();let i=this.root;for(let s of n){let a=i.children.get(s);if(!a)if(r)a={name:s,children:new Map,parent:i},i.children.set(s,a);else return;i=a}return i}collectValues(e){let r=[];e.element&&r.push(e.element);for(let n of e.children.values())r.push(...this.collectValues(n));return r}};var Z;(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"})(Z||(Z={}));var Va=class{constructor(e){this.serviceRegistry=e.ServiceRegistry,this.textDocuments=e.workspace.TextDocuments,this.fileSystemProvider=e.workspace.FileSystemProvider}async fromUri(e,r=B.CancellationToken.None){let n=await this.fileSystemProvider.readFile(e);return this.createAsync(e,n,r)}fromTextDocument(e,r,n){return r=r??Ze.parse(e.uri),B.CancellationToken.is(n)?this.createAsync(r,e,n):this.create(r,e,n)}fromString(e,r,n){return B.CancellationToken.is(n)?this.createAsync(r,e,n):this.create(r,e,n)}fromModel(e,r){return this.create(r,{$model:e})}create(e,r,n){if(typeof r=="string"){let i=this.parse(e,r,n);return this.createLangiumDocument(i,e,void 0,r)}else if("$model"in r){let i={value:r.$model,parserErrors:[],lexerErrors:[]};return this.createLangiumDocument(i,e)}else{let i=this.parse(e,r.getText(),n);return this.createLangiumDocument(i,e,r)}}async createAsync(e,r,n){if(typeof r=="string"){let i=await this.parseAsync(e,r,n);return this.createLangiumDocument(i,e,void 0,r)}else{let i=await this.parseAsync(e,r.getText(),n);return this.createLangiumDocument(i,e,r)}}createLangiumDocument(e,r,n,i){let s;if(n)s={parseResult:e,uri:r,state:Z.Parsed,references:[],textDocument:n};else{let a=this.createTextDocumentGetter(r,i);s={parseResult:e,uri:r,state:Z.Parsed,references:[],get textDocument(){return a()}}}return e.value.$document=s,s}async update(e,r){let n=e.parseResult.value.$cstNode?.root.fullText,i=this.textDocuments?.get(e.uri.toString()),s=i?i.getText():await this.fileSystemProvider.readFile(e.uri);if(i)Object.defineProperty(e,"textDocument",{value:i});else{let a=this.createTextDocumentGetter(e.uri,s);Object.defineProperty(e,"textDocument",{get:a})}return n!==s&&(e.parseResult=await this.parseAsync(e.uri,s,r),e.parseResult.value.$document=e),e.state=Z.Parsed,e}parse(e,r,n){return this.serviceRegistry.getServices(e).parser.LangiumParser.parse(r,n)}parseAsync(e,r,n){return this.serviceRegistry.getServices(e).parser.AsyncParser.parse(r,n)}createTextDocumentGetter(e,r){let n=this.serviceRegistry,i;return()=>i??(i=fs.create(e.toString(),n.getServices(e).LanguageMetaData.languageId,0,r??""))}},Ka=class{constructor(e){this.documentTrie=new ps,this.services=e,this.langiumDocumentFactory=e.workspace.LangiumDocumentFactory,this.documentBuilder=()=>e.workspace.DocumentBuilder}get all(){return te(this.documentTrie.all())}addDocument(e){let r=e.uri.toString();if(this.documentTrie.has(r))throw new Error(`A document with the URI '${r}' is already present.`);this.documentTrie.insert(r,e)}getDocument(e){let r=e.toString();return this.documentTrie.find(r)}getDocuments(e){let r=e.toString();return this.documentTrie.findAll(r)}async getOrCreateDocument(e,r){let n=this.getDocument(e);return n||(n=await this.langiumDocumentFactory.fromUri(e,r),this.addDocument(n),n)}createDocument(e,r,n){if(n)return this.langiumDocumentFactory.fromString(r,e,n).then(i=>(this.addDocument(i),i));{let i=this.langiumDocumentFactory.fromString(r,e);return this.addDocument(i),i}}hasDocument(e){return this.documentTrie.has(e.toString())}invalidateDocument(e){let r=e.toString(),n=this.documentTrie.find(r);return n&&this.documentBuilder().resetToState(n,Z.Changed),n}deleteDocument(e){let r=e.toString(),n=this.documentTrie.find(r);return n&&(n.state=Z.Changed,this.documentTrie.delete(r)),n}deleteDocuments(e){let r=e.toString(),n=this.documentTrie.findAll(r);for(let i of n)i.state=Z.Changed;return this.documentTrie.delete(r),n}};var oi=Symbol("RefResolving"),Ha=class{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,r=B.CancellationToken.None){if(this.profiler?.isActive("linking")){let n=this.profiler.createTask("linking",this.languageId);n.start();try{for(let i of At(e.parseResult.value))await Le(r),rn(i).forEach(s=>{let a=`${i.$type}:${s.property}`;n.startSubTask(a);try{this.doLink(s,e)}finally{n.stopSubTask(a)}})}finally{n.stop()}}else for(let n of At(e.parseResult.value))await Le(r),rn(n).forEach(i=>this.doLink(i,e))}doLink(e,r){let n=e.reference;if("_ref"in n&&n._ref===void 0){n._ref=oi;try{let i=this.getCandidate(e);if(In(i))n._ref=i;else{n._nodeDescription=i;let s=this.loadAstNode(i);n._ref=s??this.createLinkingError(e,i)}}catch(i){console.error(`An error occurred while resolving reference to '${n.$refText}':`,i);let s=i.message??String(i);n._ref={info:e,message:`An error occurred while resolving reference to '${n.$refText}': ${s}`}}r.references.push(n)}else if("_items"in n&&n._items===void 0){n._items=oi;try{let i=this.getCandidates(e),s=[];if(In(i))n._linkingError=i;else for(let a of i){let o=this.loadAstNode(a);o&&s.push({ref:o,$nodeDescription:a})}n._items=s}catch(i){n._linkingError={info:e,message:`An error occurred while resolving reference to '${n.$refText}': ${i}`},n._items=[]}r.references.push(n)}}unlink(e){for(let r of e.references)"_ref"in r?(r._ref=void 0,delete r._nodeDescription):"_items"in r&&(r._items=void 0,delete r._linkingError);e.references=[]}getCandidate(e){return this.scopeProvider.getScope(e).getElement(e.reference.$refText)??this.createLinkingError(e)}getCandidates(e){let n=this.scopeProvider.getScope(e).getElements(e.reference.$refText).distinct(i=>`${i.documentUri}#${i.path}`).toArray();return n.length>0?n:this.createLinkingError(e)}buildReference(e,r,n,i){let s=this,a={$refNode:n,$refText:i,_ref:void 0,get ref(){if(Oe(this._ref))return this._ref;if(du(this._nodeDescription)){let o=s.loadAstNode(this._nodeDescription);this._ref=o??s.createLinkingError({reference:a,container:e,property:r},this._nodeDescription)}else if(this._ref===void 0){this._ref=oi;let o=Ai(e).$document,c=s.getLinkedNode({reference:a,container:e,property:r});if(c.error&&o&&o.state<Z.ComputedScopes)return this._ref=void 0;this._ref=c.node??c.error,this._nodeDescription=c.descr,o?.references.push(this)}else this._ref===oi&&s.throwCyclicReferenceError(e,r,i);return Oe(this._ref)?this._ref:void 0},get $nodeDescription(){return this._nodeDescription},get error(){return In(this._ref)?this._ref:void 0}};return a}buildMultiReference(e,r,n,i){let s=this,a={$refNode:n,$refText:i,_items:void 0,get items(){if(Array.isArray(this._items))return this._items;if(this._items===void 0){this._items=oi;let o=Ai(e).$document,c=s.getCandidates({reference:a,container:e,property:r}),l=[];if(In(c))this._linkingError=c;else for(let f of c){let p=s.loadAstNode(f);p&&l.push({ref:p,$nodeDescription:f})}this._items=l,o?.references.push(this)}else this._items===oi&&s.throwCyclicReferenceError(e,r,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:r})}};return a}throwCyclicReferenceError(e,r,n){throw new Error(`Cyclic reference resolution detected: ${this.astNodeLocator.getAstNodePath(e)}/${r} (symbol '${n}')`)}getLinkedNode(e){try{let r=this.getCandidate(e);if(In(r))return{error:r};let n=this.loadAstNode(r);return n?{node:n,descr:r}:{descr:r,error:this.createLinkingError(e,r)}}catch(r){console.error(`An error occurred while resolving reference to '${e.reference.$refText}':`,r);let n=r.message??String(r);return{error:{info:e,message:`An error occurred while resolving reference to '${e.reference.$refText}': ${n}`}}}}loadAstNode(e){if(e.node)return e.node;let r=this.langiumDocuments().getDocument(e.documentUri);if(r)return this.astNodeLocator.getAstNode(r.parseResult.value,e.path)}createLinkingError(e,r){let n=Ai(e.container).$document;n&&n.state<Z.ComputedScopes&&console.warn(`Attempted reference resolution before document reached ComputedScopes state (${n.uri}).`);let i=this.reflection.getReferenceType(e);return{info:e,message:`Could not resolve reference to ${i} named '${e.reference.$refText}'.`,targetDescription:r}}};function ey(t){return typeof t.name=="string"}var Ya=class{getName(e){if(ey(e))return e.name}getNameNode(e){return la(e.$cstNode,"name")}};var Xa=class{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=At(e.Grammar).some(r=>sr(r)&&r.isMulti)}findDeclarations(e){if(e){let r=Zu(e),n=e.astNode;if(r&&n){let i=n[r.feature];if(Je(i)||Gt(i))return Fo(i);if(Array.isArray(i)){for(let s of i)if((Je(s)||Gt(s))&&s.$refNode&&s.$refNode.offset<=e.offset&&s.$refNode.end>=e.end)return Fo(s)}}if(n){let i=this.nameProvider.getNameNode(n);if(i&&(i===e||Du(e,i)))return this.getSelfNodes(n)}}return[]}getSelfNodes(e){if(this.hasMultiReference){let r=this.index.findAllReferences(e,this.nodeLocator.getAstNodePath(e)),n=this.getNodeFromReferenceDescription(r.head());if(n){for(let i of rn(n))if(Gt(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;let r=this.documents.getDocument(e.sourceUri);if(r)return this.nodeLocator.getAstNode(r.parseResult.value,e.sourcePath)}findDeclarationNodes(e){let r=this.findDeclarations(e),n=[];for(let i of r){let s=this.nameProvider.getNameNode(i)??i.$cstNode;s&&n.push(s)}return n}findReferences(e,r){let n=[];r.includeDeclaration&&n.push(...this.getSelfReferences(e));let i=this.index.findAllReferences(e,this.nodeLocator.getAstNodePath(e));return r.documentUri&&(i=i.filter(s=>je.equals(s.sourceUri,r.documentUri))),n.push(...i),te(n)}getSelfReferences(e){let r=this.getSelfNodes(e),n=[];for(let i of r){let s=this.nameProvider.getNameNode(i);if(s){let a=ht(i),o=this.nodeLocator.getAstNodePath(i);n.push({sourceUri:a.uri,sourcePath:o,targetUri:a.uri,targetPath:o,segment:jn(s),local:!0})}}return n}};var gt=class{constructor(e){if(this.map=new Map,e)for(let[r,n]of e)this.add(r,n)}get size(){return vi.sum(te(this.map.values()).map(e=>e.length))}clear(){this.map.clear()}delete(e,r){if(r===void 0)return this.map.delete(e);{let n=this.map.get(e);if(n){let i=n.indexOf(r);if(i>=0)return n.length===1?this.map.delete(e):n.splice(i,1),!0}return!1}}get(e){return this.map.get(e)??[]}getStream(e){let r=this.map.get(e);return r?te(r):tn}has(e,r){if(r===void 0)return this.map.has(e);{let n=this.map.get(e);return n?n.indexOf(r)>=0:!1}}add(e,r){return this.map.has(e)?this.map.get(e).push(r):this.map.set(e,[r]),this}addAll(e,r){return this.map.has(e)?this.map.get(e).push(...r):this.map.set(e,Array.from(r)),this}forEach(e){this.map.forEach((r,n)=>r.forEach(i=>e(i,n,this)))}[Symbol.iterator](){return this.entries().iterator()}entries(){return te(this.map.entries()).flatMap(([e,r])=>r.map(n=>[e,n]))}keys(){return te(this.map.keys())}values(){return te(this.map.values()).flat()}entriesGroupedByKey(){return te(this.map.entries())}},ci=class{get size(){return this.map.size}constructor(e){if(this.map=new Map,this.inverse=new Map,e)for(let[r,n]of e)this.set(r,n)}clear(){this.map.clear(),this.inverse.clear()}set(e,r){return this.map.set(e,r),this.inverse.set(r,e),this}get(e){return this.map.get(e)}getKey(e){return this.inverse.get(e)}delete(e){let r=this.map.get(e);return r!==void 0?(this.map.delete(e),this.inverse.delete(r),!0):!1}};var Ja=class{constructor(e){this.nameProvider=e.references.NameProvider,this.descriptions=e.workspace.AstNodeDescriptionProvider}async collectExportedSymbols(e,r=B.CancellationToken.None){return this.collectExportedSymbolsForNode(e.parseResult.value,e,void 0,r)}async collectExportedSymbolsForNode(e,r,n=Vs,i=B.CancellationToken.None){let s=[];this.addExportedSymbol(e,s,r);for(let a of n(e))await Le(i),this.addExportedSymbol(a,s,r);return s}addExportedSymbol(e,r,n){let i=this.nameProvider.getName(e);i&&r.push(this.descriptions.createDescription(e,i,n))}async collectLocalSymbols(e,r=B.CancellationToken.None){let n=e.parseResult.value,i=new gt;for(let s of rr(n))await Le(r),this.addLocalSymbol(s,e,i);return i}addLocalSymbol(e,r,n){let i=e.$container;if(i){let s=this.nameProvider.getName(e);s&&n.add(i,this.descriptions.createDescription(e,s,r))}}};var hs=class{constructor(e,r,n){this.elements=e,this.outerScope=r,this.caseInsensitive=n?.caseInsensitive??!1,this.concatOuterScope=n?.concatOuterScope??!0}getAllElements(){return this.outerScope?this.elements.concat(this.outerScope.getAllElements()):this.elements}getElement(e){let r=this.caseInsensitive?e.toLowerCase():e,n=this.caseInsensitive?this.elements.find(i=>i.name.toLowerCase()===r):this.elements.find(i=>i.name===e);if(n)return n;if(this.outerScope)return this.outerScope.getElement(e)}getElements(e){let r=this.caseInsensitive?e.toLowerCase():e,n=this.caseInsensitive?this.elements.filter(i=>i.name.toLowerCase()===r):this.elements.filter(i=>i.name===e);return(this.concatOuterScope||n.isEmpty())&&this.outerScope?n.concat(this.outerScope.getElements(e)):n}},Qd=class{constructor(e,r,n){this.elements=new Map,this.caseInsensitive=n?.caseInsensitive??!1,this.concatOuterScope=n?.concatOuterScope??!0;for(let i of e){let s=this.caseInsensitive?i.name.toLowerCase():i.name;this.elements.set(s,i)}this.outerScope=r}getElement(e){let r=this.caseInsensitive?e.toLowerCase():e,n=this.elements.get(r);if(n)return n;if(this.outerScope)return this.outerScope.getElement(e)}getElements(e){let r=this.caseInsensitive?e.toLowerCase():e,n=this.elements.get(r),i=n?[n]:[];return(this.concatOuterScope||i.length>0)&&this.outerScope?te(i).concat(this.outerScope.getElements(e)):te(i)}getAllElements(){let e=te(this.elements.values());return this.outerScope&&(e=e.concat(this.outerScope.getAllElements())),e}},Qa=class{constructor(e,r,n){this.elements=new gt,this.caseInsensitive=n?.caseInsensitive??!1,this.concatOuterScope=n?.concatOuterScope??!0;for(let i of e){let s=this.caseInsensitive?i.name.toLowerCase():i.name;this.elements.add(s,i)}this.outerScope=r}getElement(e){let r=this.caseInsensitive?e.toLowerCase():e,n=this.elements.get(r)[0];if(n)return n;if(this.outerScope)return this.outerScope.getElement(e)}getElements(e){let r=this.caseInsensitive?e.toLowerCase():e,n=this.elements.get(r);return(this.concatOuterScope||n.length===0)&&this.outerScope?te(n).concat(this.outerScope.getElements(e)):te(n)}getAllElements(){let e=te(this.elements.values());return this.outerScope&&(e=e.concat(this.outerScope.getAllElements())),e}},YA={getElement(){},getElements(){return tn},getAllElements(){return tn}};var ms=class{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")}},Za=class extends ms{constructor(){super(...arguments),this.cache=new Map}has(e){return this.throwIfDisposed(),this.cache.has(e)}set(e,r){this.throwIfDisposed(),this.cache.set(e,r)}get(e,r){if(this.throwIfDisposed(),this.cache.has(e))return this.cache.get(e);if(r){let n=r();return this.cache.set(e,n),n}else return}delete(e){return this.throwIfDisposed(),this.cache.delete(e)}clear(){this.throwIfDisposed(),this.cache.clear()}},li=class extends ms{constructor(e){super(),this.cache=new Map,this.converter=e??(r=>r)}has(e,r){return this.throwIfDisposed(),this.cacheForContext(e).has(r)}set(e,r,n){this.throwIfDisposed(),this.cacheForContext(e).set(r,n)}get(e,r,n){this.throwIfDisposed();let i=this.cacheForContext(e);if(i.has(r))return i.get(r);if(n){let s=n();return i.set(r,s),s}else return}delete(e,r){return this.throwIfDisposed(),this.cacheForContext(e).delete(r)}clear(e){if(this.throwIfDisposed(),e){let r=this.converter(e);this.cache.delete(r)}else this.cache.clear()}cacheForContext(e){let r=this.converter(e),n=this.cache.get(r);return n||(n=new Map,this.cache.set(r,n)),n}},pl=class extends li{constructor(e,r){super(n=>n.toString()),r?(this.toDispose.push(e.workspace.DocumentBuilder.onDocumentPhase(r,n=>{this.clear(n.uri.toString())})),this.toDispose.push(e.workspace.DocumentBuilder.onUpdate((n,i)=>{for(let s of i)this.clear(s)}))):this.toDispose.push(e.workspace.DocumentBuilder.onUpdate((n,i)=>{let s=n.concat(i);for(let a of s)this.clear(a)}))}},gs=class extends Za{constructor(e,r){super(),r?(this.toDispose.push(e.workspace.DocumentBuilder.onBuildPhase(r,()=>{this.clear()})),this.toDispose.push(e.workspace.DocumentBuilder.onUpdate((n,i)=>{i.length>0&&this.clear()}))):this.toDispose.push(e.workspace.DocumentBuilder.onUpdate(()=>{this.clear()}))}};var eo=class{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 gs(e.shared)}getScope(e){let r=[],n=this.reflection.getReferenceType(e),i=ht(e.container).localSymbols;if(i){let a=e.container;do i.has(a)&&r.push(i.getStream(a).filter(o=>this.reflection.isSubtype(o.type,n))),a=a.$container;while(a)}let s=this.getGlobalScope(n,e);for(let a=r.length-1;a>=0;a--)s=this.createScope(r[a],s);return s}createScope(e,r,n){return new hs(te(e),r,n)}createScopeForNodes(e,r,n){let i=te(e).map(s=>{let a=this.nameProvider.getName(s);if(a)return this.descriptions.createDescription(s,a)}).nonNullable();return new hs(i,r,n)}getGlobalScope(e,r){return this.globalScopeCache.get(e,()=>new Qa(this.indexManager.allElements(e)))}};function Zd(t){return typeof t.$comment=="string"}function ty(t){return typeof t=="object"&&!!t&&("$ref"in t||"$error"in t)}var to=class{constructor(e){this.ignoreProperties=new Set(["$container","$containerProperty","$containerIndex","$document","$cstNode"]),this.langiumDocuments=e.shared.workspace.LangiumDocuments,this.astNodeLocator=e.workspace.AstNodeLocator,this.nameProvider=e.references.NameProvider,this.commentProvider=e.documentation.CommentProvider}serialize(e,r){let n=r??{},i=r?.replacer,s=(o,c)=>this.replacer(o,c,n),a=i?(o,c)=>i(o,c,s):s;try{return this.currentDocument=ht(e),JSON.stringify(e,a,r?.space)}finally{this.currentDocument=void 0}}deserialize(e,r){let n=r??{},i=JSON.parse(e);return this.linkNode(i,i,n),i}replacer(e,r,{refText:n,sourceText:i,textRegions:s,comments:a,uriConverter:o}){if(!this.ignoreProperties.has(e))if(Je(r)){let c=r.ref,l=n?r.$refText:void 0;if(c){let f=ht(c),p="";this.currentDocument&&this.currentDocument!==f&&(o?p=o(f.uri,c):p=f.uri.toString());let h=this.astNodeLocator.getAstNodePath(c);return{$ref:`${p}#${h}`,$refText:l}}else return{$error:r.error?.message??"Could not resolve reference",$refText:l}}else if(Gt(r)){let c=n?r.$refText:void 0,l=[];for(let f of r.items){let p=f.ref,h=ht(f.ref),g="";this.currentDocument&&this.currentDocument!==h&&(o?g=o(h.uri,p):g=h.uri.toString());let k=this.astNodeLocator.getAstNodePath(p);l.push(`${g}#${k}`)}return{$refs:l,$refText:c}}else if(Oe(r)){let c;if(s&&(c=this.addAstNodeRegionWithAssignmentsTo({...r}),(!e||r.$document)&&c?.$textRegion&&(c.$textRegion.documentURI=this.currentDocument?.uri.toString())),i&&!e&&(c??(c={...r}),c.$sourceText=r.$cstNode?.text),a){c??(c={...r});let l=this.commentProvider.getComment(r);l&&(c.$comment=l.replace(/\r/g,""))}return c??r}else return r}addAstNodeRegionWithAssignmentsTo(e){let r=n=>({offset:n.offset,end:n.end,length:n.length,range:n.range});if(e.$cstNode){let n=e.$textRegion=r(e.$cstNode),i=n.assignments={};return Object.keys(e).filter(s=>!s.startsWith("$")).forEach(s=>{let a=Yu(e.$cstNode,s).map(r);a.length!==0&&(i[s]=a)}),e}}linkNode(e,r,n,i,s,a){for(let[c,l]of Object.entries(e))if(Array.isArray(l))for(let f=0;f<l.length;f++){let p=l[f];ty(p)?l[f]=this.reviveReference(e,c,r,p,n):Oe(p)&&this.linkNode(p,r,n,e,c,f)}else ty(l)?e[c]=this.reviveReference(e,c,r,l,n):Oe(l)&&this.linkNode(l,r,n,e,c);let o=e;o.$container=i,o.$containerProperty=s,o.$containerIndex=a}reviveReference(e,r,n,i,s){let a=i.$refText,o=i.$error,c;if(i.$ref){let l=this.getRefNode(n,i.$ref,s.uriConverter);if(Oe(l))return a||(a=this.nameProvider.getName(l)),{$refText:a??"",ref:l};o=l}else if(i.$refs){let l=[];for(let f of i.$refs){let p=this.getRefNode(n,f,s.uriConverter);Oe(p)&&l.push({ref:p})}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:r,reference:c},message:o},c}getRefNode(e,r,n){try{let i=r.indexOf("#");if(i===0){let c=this.astNodeLocator.getAstNode(e,r.substring(1));return c||"Could not resolve path: "+r}if(i<0){let c=n?n(r):Ze.parse(r),l=this.langiumDocuments.getDocument(c);return l?l.parseResult.value:"Could not find document for URI: "+r}let s=n?n(r.substring(0,i)):Ze.parse(r.substring(0,i)),a=this.langiumDocuments.getDocument(s);if(!a)return"Could not find document for URI: "+r;if(i===r.length-1)return a.parseResult.value;let o=this.astNodeLocator.getAstNode(a.parseResult.value,r.substring(i+1));return o||"Could not resolve URI: "+r}catch(i){return String(i)}}};var ro=class{get map(){return this.fileExtensionMap}constructor(e){this.languageIdMap=new Map,this.fileExtensionMap=new Map,this.fileNameMap=new Map,this.textDocuments=e?.workspace.TextDocuments}register(e){let r=e.LanguageMetaData;for(let n of r.fileExtensions)this.fileExtensionMap.has(n)&&console.warn(`The file extension ${n} is used by multiple languages. It is now assigned to '${r.languageId}'.`),this.fileExtensionMap.set(n,e);if(r.fileNames)for(let n of r.fileNames)this.fileNameMap.has(n)&&console.warn(`The file name ${n} is used by multiple languages. It is now assigned to '${r.languageId}'.`),this.fileNameMap.set(n,e);this.languageIdMap.set(r.languageId,e)}getServices(e){if(this.languageIdMap.size===0)throw new Error("The service registry is empty. Use `register` to register the services of a language.");let r=this.textDocuments?.get(e)?.languageId;if(r!==void 0){let a=this.languageIdMap.get(r);if(a)return a}let n=je.extname(e),i=je.basename(e),s=this.fileNameMap.get(i)??this.fileExtensionMap.get(n);if(!s)throw r?new Error(`The service registry contains no services for the extension '${n}' for language '${r}'.`):new Error(`The service registry contains no services for the extension '${n}'.`);return s}hasServices(e){try{return this.getServices(e),!0}catch{return!1}}get all(){return Array.from(this.languageIdMap.values())}};function ui(t){return{code:t}}var hl;(function(t){t.defaults=["fast","slow","built-in"],t.all=t.defaults})(hl||(hl={}));var no=class{constructor(e){this.entries=new gt,this.knownCategories=new Set(hl.defaults),this.entriesBefore=[],this.entriesAfter=[],this.reflection=e.shared.AstReflection}register(e,r=this,n="fast"){if(n==="built-in")throw new Error("The 'built-in' category is reserved for lexer, parser, and linker errors.");this.knownCategories.add(n);for(let[i,s]of Object.entries(e)){let a=s;if(Array.isArray(a))for(let o of a){let c={check:this.wrapValidationException(o,r),category:n};this.addEntry(i,c)}else if(typeof a=="function"){let o={check:this.wrapValidationException(a,r),category:n};this.addEntry(i,o)}else Tr(a)}}wrapValidationException(e,r){return async(n,i,s)=>{await this.handleException(()=>e.call(r,n,i,s),"An error occurred during validation",i,n)}}async handleException(e,r,n,i){try{await e()}catch(s){if($r(s))throw s;console.error(`${r}:`,s),s instanceof Error&&s.stack&&console.error(s.stack);let a=s instanceof Error?s.message:String(s);n("error",`${r}: ${a}`,{node:i})}}addEntry(e,r){if(e==="AstNode"){this.entries.add("AstNode",r);return}for(let n of this.reflection.getAllSubTypes(e))this.entries.add(n,r)}getChecks(e,r){let n=te(this.entries.get(e)).concat(this.entries.get("AstNode"));return r&&(n=n.filter(i=>r.includes(i.category))),n.map(i=>i.check)}registerBeforeDocument(e,r=this){this.entriesBefore.push(this.wrapPreparationException(e,"An error occurred during set-up of the validation",r))}registerAfterDocument(e,r=this){this.entriesAfter.push(this.wrapPreparationException(e,"An error occurred during tear-down of the validation",r))}wrapPreparationException(e,r,n){return async(i,s,a,o)=>{await this.handleException(()=>e.call(n,i,s,a,o),r,s,i)}}get checksBefore(){return this.entriesBefore}get checksAfter(){return this.entriesAfter}getAllValidationCategories(e){return this.knownCategories}};var ry=Object.freeze({validateNode:!0,validateChildren:!0}),io=class{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,r={},n=B.CancellationToken.None){let i=e.parseResult,s=[];if(await Le(n),(!r.categories||r.categories.includes("built-in"))&&(this.processLexingErrors(i,s,r),r.stopAfterLexingErrors&&s.some(a=>a.data?.code===Yt.LexingError)||(this.processParsingErrors(i,s,r),r.stopAfterParsingErrors&&s.some(a=>a.data?.code===Yt.ParsingError))||(this.processLinkingErrors(e,s,r),r.stopAfterLinkingErrors&&s.some(a=>a.data?.code===Yt.LinkingError))))return s;try{s.push(...await this.validateAst(i.value,r,n))}catch(a){if($r(a))throw a;console.error("An error occurred during validation:",a)}return await Le(n),s}processLexingErrors(e,r,n){let i=[...e.lexerErrors,...e.lexerReport?.diagnostics??[]];for(let s of i){let a=s.severity??"error",o={severity:ml(a),range:{start:{line:s.line-1,character:s.column-1},end:{line:s.line-1,character:s.column+s.length-1}},message:s.message,data:iy(a),source:this.getSource()};r.push(o)}}processParsingErrors(e,r,n){for(let i of e.parserErrors){let s;if(isNaN(i.token.startOffset)){if("previousToken"in i){let a=i.previousToken;if(isNaN(a.startOffset)){let o={line:0,character:0};s={start:o,end:o}}else{let o={line:a.endLine-1,character:a.endColumn};s={start:o,end:o}}}}else s=bi(i.token);if(s){let a={severity:ml("error"),range:s,message:i.message,data:ui(Yt.ParsingError),source:this.getSource()};r.push(a)}}}processLinkingErrors(e,r,n){for(let i of e.references){let s=i.error;if(s){let a={node:s.info.container,range:i.$refNode?.range,property:s.info.property,index:s.info.index,data:{code:Yt.LinkingError,containerType:s.info.container.$type,property:s.info.property,refText:s.info.reference.$refText}};r.push(this.toDiagnostic("error",s.message,a))}}}async validateAst(e,r,n=B.CancellationToken.None){let i=[],s=(a,o,c)=>{i.push(this.toDiagnostic(a,o,c))};return await this.validateAstBefore(e,r,s,n),await this.validateAstNodes(e,r,s,n),await this.validateAstAfter(e,r,s,n),i}async validateAstBefore(e,r,n,i=B.CancellationToken.None){let s=this.validationRegistry.checksBefore;for(let a of s)await Le(i),await a(e,n,r.categories??[],i)}async validateAstNodes(e,r,n,i=B.CancellationToken.None){if(this.profiler?.isActive("validating")){let s=this.profiler.createTask("validating",this.languageId);s.start();try{let a=At(e).iterator();for(let o of a){s.startSubTask(o.$type);let c=this.validateSingleNodeOptions(o,r);if(c.validateNode)try{let l=this.validationRegistry.getChecks(o.$type,r.categories);for(let f of l)await f(o,n,i)}finally{s.stopSubTask(o.$type)}c.validateChildren||a.prune()}}finally{s.stop()}}else{let s=At(e).iterator();for(let a of s){await Le(i);let o=this.validateSingleNodeOptions(a,r);if(o.validateNode){let c=this.validationRegistry.getChecks(a.$type,r.categories);for(let l of c)await l(a,n,i)}o.validateChildren||s.prune()}}}validateSingleNodeOptions(e,r){return ry}async validateAstAfter(e,r,n,i=B.CancellationToken.None){let s=this.validationRegistry.checksAfter;for(let a of s)await Le(i),await a(e,n,r.categories??[],i)}toDiagnostic(e,r,n){return{message:r,range:ny(n),severity:ml(e),code:n.code,codeDescription:n.codeDescription,tags:n.tags,relatedInformation:n.relatedInformation,data:n.data,source:this.getSource()}}getSource(){return this.metadata.languageId}};function ny(t){if(t.range)return t.range;let e;return typeof t.property=="string"?e=la(t.node.$cstNode,t.property,t.index):typeof t.keyword=="string"&&(e=Ju(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 ml(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 iy(t){switch(t){case"error":return ui(Yt.LexingError);case"warning":return ui(Yt.LexingWarning);case"info":return ui(Yt.LexingInfo);case"hint":return ui(Yt.LexingHint);default:throw new Error("Invalid diagnostic severity: "+t)}}var Yt;(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"})(Yt||(Yt={}));var so=class{constructor(e){this.astNodeLocator=e.workspace.AstNodeLocator,this.nameProvider=e.references.NameProvider}createDescription(e,r,n){let i=n??ht(e);r??(r=this.nameProvider.getName(e));let s=this.astNodeLocator.getAstNodePath(e);if(!r)throw new Error(`Node at path ${s} has no name.`);let a,o=()=>a??(a=jn(this.nameProvider.getNameNode(e)??e.$cstNode));return{node:e,name:r,get nameSegment(){return o()},selectionSegment:jn(e.$cstNode),type:e.$type,documentUri:i.uri,path:s}}},ao=class{constructor(e){this.nodeLocator=e.workspace.AstNodeLocator}async createDescriptions(e,r=B.CancellationToken.None){let n=[],i=e.parseResult.value;for(let s of At(i))await Le(r),rn(s).forEach(a=>{a.reference.error||n.push(...this.createInfoDescriptions(a))});return n}createInfoDescriptions(e){let r=e.reference;if(r.error||!r.$refNode)return[];let n=[];Je(r)&&r.$nodeDescription?n=[r.$nodeDescription]:Gt(r)&&(n=r.items.map(c=>c.$nodeDescription).filter(c=>c!==void 0));let i=ht(e.container).uri,s=this.nodeLocator.getAstNodePath(e.container),a=[],o=jn(r.$refNode);for(let c of n)a.push({sourceUri:i,sourcePath:s,targetUri:c.documentUri,targetPath:c.path,segment:o,local:je.equals(c.documentUri,i)});return a}};var oo=class{constructor(){this.segmentSeparator="/",this.indexSeparator="@"}getAstNodePath(e){if(e.$container){let r=this.getAstNodePath(e.$container),n=this.getPathSegment(e);return r+this.segmentSeparator+n}return""}getPathSegment({$containerProperty:e,$containerIndex:r}){if(!e)throw new Error("Missing '$containerProperty' in AST node.");return r!==void 0?e+this.indexSeparator+r:e}getAstNode(e,r){return r.split(this.segmentSeparator).reduce((i,s)=>{if(!i||s.length===0)return i;let a=s.indexOf(this.indexSeparator);if(a>0){let o=s.substring(0,a),c=parseInt(s.substring(a+1));return i[o]?.[c]}return i[s]},e)}};var Se={};ae(Se,lu(ai(),1));var co=class{constructor(e){this._ready=new Ct,this.onConfigurationSectionUpdateEmitter=new Se.Emitter,this.settings={},this.workspaceConfig=!1,this.serviceRegistry=e.ServiceRegistry}get ready(){return this._ready.promise}initialize(e){this.workspaceConfig=e.capabilities.workspace?.configuration??!1}async initialized(e){if(this.workspaceConfig){if(e.register){let r=this.serviceRegistry.all;e.register({section:r.map(n=>this.toSectionName(n.LanguageMetaData.languageId))})}if(e.fetchConfiguration){let r=this.serviceRegistry.all.map(i=>({section:this.toSectionName(i.LanguageMetaData.languageId)})),n=await e.fetchConfiguration(r);r.forEach((i,s)=>{this.updateSectionConfiguration(i.section,n[s])})}}this._ready.resolve()}updateConfiguration(e){typeof e.settings!="object"||e.settings===null||Object.entries(e.settings).forEach(([r,n])=>{this.updateSectionConfiguration(r,n),this.onConfigurationSectionUpdateEmitter.fire({section:r,configuration:n})})}updateSectionConfiguration(e,r){this.settings[e]=r}async getConfiguration(e,r){await this.ready;let n=this.toSectionName(e);if(this.settings[n])return this.settings[n][r]}toSectionName(e){return`${e}`}get onConfigurationSectionUpdate(){return this.onConfigurationSectionUpdateEmitter.event}};var bs=lu(Nx(),1);var kn;(function(t){function e(r){return{dispose:async()=>await r()}}t.create=e})(kn||(kn={}));var Ro=class{constructor(e){this.updateBuildOptions={validation:{categories:["built-in","fast"]}},this.updateListeners=[],this.buildPhaseListeners=new gt,this.documentPhaseListeners=new gt,this.buildState=new Map,this.documentBuildWaiters=new Map,this.currentState=Z.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,r={},n=B.CancellationToken.None){for(let i of e){let s=i.uri.toString();if(i.state===Z.Validated){if(typeof r.validation=="boolean"&&r.validation)this.resetToState(i,Z.IndexedReferences);else if(typeof r.validation=="object"){let a=this.findMissingValidationCategories(i,r);a.length>0&&(this.buildState.set(s,{completed:!1,options:{validation:{categories:a}},result:this.buildState.get(s)?.result}),i.state=Z.IndexedReferences)}}else this.buildState.delete(s)}this.currentState=Z.Changed,await this.emitUpdate(e.map(i=>i.uri),[]),await this.buildDocuments(e,r,n)}async update(e,r,n=B.CancellationToken.None){this.currentState=Z.Changed;let i=[];for(let c of r){let l=this.langiumDocuments.deleteDocuments(c);for(let f of l)i.push(f.uri),this.cleanUpDeleted(f)}let s=(await Promise.all(e.map(c=>this.findChangedUris(c)))).flat();for(let c of s){let l=this.langiumDocuments.getDocument(c);l===void 0&&(l=this.langiumDocumentFactory.fromModel({$type:"INVALID"},c),l.state=Z.Changed,this.langiumDocuments.addDocument(l)),this.resetToState(l,Z.Changed)}let a=te(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,Z.ComputedScopes)),await this.emitUpdate(s,i),await Le(n);let o=this.sortDocuments(this.langiumDocuments.all.filter(c=>c.state<Z.Validated||!this.buildState.get(c.uri.toString())?.completed||this.resultsAreIncomplete(c,this.updateBuildOptions)).toArray());await this.buildDocuments(o,this.updateBuildOptions,n)}resultsAreIncomplete(e,r){return this.findMissingValidationCategories(e,r).length>=1}findMissingValidationCategories(e,r){let n=this.buildState.get(e.uri.toString()),i=this.serviceRegistry.getServices(e.uri).validation.ValidationRegistry.getAllValidationCategories(e),s=n?.result?.validationChecks?new Set(n?.result?.validationChecks):n?.completed?i:new Set,a=r===void 0||r.validation===!0?i:typeof r.validation=="object"?r.validation.categories??i:[];return te(a).filter(o=>!s.has(o)).toArray()}async findChangedUris(e){if(this.langiumDocuments.getDocument(e)??this.textDocuments?.get(e))return[e];try{let n=await this.fileSystemProvider.stat(e);if(n.isDirectory)return await this.workspaceManager().searchFolder(e);if(this.workspaceManager().shouldIncludeEntry(n))return[e]}catch{}return[]}async emitUpdate(e,r){await Promise.all(this.updateListeners.map(n=>n(e,r)))}sortDocuments(e){let r=0,n=e.length-1;for(;r<n;){for(;r<e.length&&this.hasTextDocument(e[r]);)r++;for(;n>=0&&!this.hasTextDocument(e[n]);)n--;r<n&&([e[r],e[n]]=[e[n],e[r]])}return e}hasTextDocument(e){return!!this.textDocuments?.get(e.uri)}shouldRelink(e,r){return e.references.some(n=>n.error!==void 0)?!0:this.indexManager.isAffected(e,r)}onUpdate(e){return this.updateListeners.push(e),kn.create(()=>{let r=this.updateListeners.indexOf(e);r>=0&&this.updateListeners.splice(r,1)})}resetToState(e,r){switch(r){case Z.Changed:case Z.Parsed:this.indexManager.removeContent(e.uri);case Z.IndexedContent:e.localSymbols=void 0;case Z.ComputedScopes:this.serviceRegistry.getServices(e.uri).references.Linker.unlink(e);case Z.Linked:this.indexManager.removeReferences(e.uri);case Z.IndexedReferences:e.diagnostics=void 0,this.buildState.delete(e.uri.toString());case Z.Validated:}e.state>r&&(e.state=r)}cleanUpDeleted(e){this.buildState.delete(e.uri.toString()),this.indexManager.remove(e.uri),e.state=Z.Changed}async buildDocuments(e,r,n){this.prepareBuild(e,r),await this.runCancelable(e,Z.Parsed,n,a=>this.langiumDocumentFactory.update(a,n)),await this.runCancelable(e,Z.IndexedContent,n,a=>this.indexManager.updateContent(a,n)),await this.runCancelable(e,Z.ComputedScopes,n,async a=>{let o=this.serviceRegistry.getServices(a.uri).references.ScopeComputation;a.localSymbols=await o.collectLocalSymbols(a,n)});let i=e.filter(a=>this.shouldLink(a));await this.runCancelable(i,Z.Linked,n,a=>this.serviceRegistry.getServices(a.uri).references.Linker.link(a,n)),await this.runCancelable(i,Z.IndexedReferences,n,a=>this.indexManager.updateReferences(a,n));let s=e.filter(a=>this.shouldValidate(a)?!0:(this.markAsCompleted(a),!1));await this.runCancelable(s,Z.Validated,n,async a=>{await this.validate(a,n),this.markAsCompleted(a)})}markAsCompleted(e){let r=this.buildState.get(e.uri.toString());r&&(r.completed=!0)}prepareBuild(e,r){for(let n of e){let i=n.uri.toString(),s=this.buildState.get(i);(!s||s.completed)&&this.buildState.set(i,{completed:!1,options:r,result:s?.result})}}async runCancelable(e,r,n,i){for(let a of e)a.state<r&&(await Le(n),await i(a),a.state=r,await this.notifyDocumentPhase(a,r,n));let s=e.filter(a=>a.state===r);await this.notifyBuildPhase(s,r,n),this.currentState=r}onBuildPhase(e,r){return this.buildPhaseListeners.add(e,r),kn.create(()=>{this.buildPhaseListeners.delete(e,r)})}onDocumentPhase(e,r){return this.documentPhaseListeners.add(e,r),kn.create(()=>{this.documentPhaseListeners.delete(e,r)})}waitUntil(e,r,n){let i;return r&&"path"in r?i=r:n=r,n??(n=B.CancellationToken.None),i?this.awaitDocumentState(e,i,n):this.awaitBuilderState(e,n)}awaitDocumentState(e,r,n){let i=this.langiumDocuments.getDocument(r);if(i){if(i.state>=e)return Promise.resolve(r);if(n.isCancellationRequested)return Promise.reject(Ht);if(this.currentState>=e&&e>i.state)return Promise.reject(new bs.ResponseError(bs.LSPErrorCodes.RequestFailed,`Document state of ${r.toString()} is ${Z[i.state]}, requiring ${Z[e]}, but workspace state is already ${Z[this.currentState]}. Returning undefined.`))}else return Promise.reject(new bs.ResponseError(bs.LSPErrorCodes.ServerCancelled,`No document found for URI: ${r.toString()}`));return new Promise((s,a)=>{let o=this.onDocumentPhase(e,l=>{je.equals(l.uri,r)&&(o.dispose(),c.dispose(),s(l.uri))}),c=n.onCancellationRequested(()=>{o.dispose(),c.dispose(),a(Ht)})})}awaitBuilderState(e,r){return this.currentState>=e?Promise.resolve():r.isCancellationRequested?Promise.reject(Ht):new Promise((n,i)=>{let s=this.onBuildPhase(e,()=>{s.dispose(),a.dispose(),n()}),a=r.onCancellationRequested(()=>{s.dispose(),a.dispose(),i(Ht)})})}async notifyDocumentPhase(e,r,n){let s=this.documentPhaseListeners.get(r).slice();for(let a of s)try{await Le(n),await a(e,n)}catch(o){if(!$r(o))throw o}}async notifyBuildPhase(e,r,n){if(e.length===0)return;let s=this.buildPhaseListeners.get(r).slice();for(let a of s)await Le(n),await a(e,n)}shouldLink(e){return this.getBuildOptions(e).eagerLinking??!0}shouldValidate(e){return!!this.getBuildOptions(e).validation}async validate(e,r){let n=this.serviceRegistry.getServices(e.uri).validation.DocumentValidator,i=this.getBuildOptions(e),s=typeof i.validation=="object"?{...i.validation}:{};s.categories=this.findMissingValidationCategories(e,i);let a=await n.validateDocument(e,s,r);e.diagnostics?e.diagnostics.push(...a):e.diagnostics=a;let o=this.buildState.get(e.uri.toString());o&&(o.result??(o.result={}),o.result.validationChecks?o.result.validationChecks=te(o.result.validationChecks).concat(s.categories).distinct().toArray():o.result.validationChecks=[...s.categories])}getBuildOptions(e){return this.buildState.get(e.uri.toString())?.options??{}}};var xo=class{constructor(e){this.symbolIndex=new Map,this.symbolByTypeIndex=new li,this.referenceIndex=new Map,this.documents=e.workspace.LangiumDocuments,this.serviceRegistry=e.ServiceRegistry,this.astReflection=e.AstReflection}findAllReferences(e,r){let n=ht(e).uri,i=[];return this.referenceIndex.forEach(s=>{s.forEach(a=>{je.equals(a.targetUri,n)&&a.targetPath===r&&i.push(a)})}),te(i)}allElements(e,r){let n=te(this.symbolIndex.keys());return r&&(n=n.filter(i=>!r||r.has(i))),n.map(i=>this.getFileDescriptions(i,e)).flat()}getFileDescriptions(e,r){return r?this.symbolByTypeIndex.get(e,r,()=>(this.symbolIndex.get(e)??[]).filter(s=>this.astReflection.isSubtype(s.type,r))):this.symbolIndex.get(e)??[]}remove(e){this.removeContent(e),this.removeReferences(e)}removeContent(e){let r=e.toString();this.symbolIndex.delete(r),this.symbolByTypeIndex.clear(r)}removeReferences(e){let r=e.toString();this.referenceIndex.delete(r)}async updateContent(e,r=B.CancellationToken.None){let i=await this.serviceRegistry.getServices(e.uri).references.ScopeComputation.collectExportedSymbols(e,r),s=e.uri.toString();this.symbolIndex.set(s,i),this.symbolByTypeIndex.clear(s)}async updateReferences(e,r=B.CancellationToken.None){let i=await this.serviceRegistry.getServices(e.uri).workspace.ReferenceDescriptionProvider.createDescriptions(e,r);this.referenceIndex.set(e.uri.toString(),i)}isAffected(e,r){let n=this.referenceIndex.get(e.uri.toString());return n?n.some(i=>!i.local&&r.has(i.targetUri.toString())):!1}};var vo=class{constructor(e){this.initialBuildOptions={},this._ready=new Ct,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(r=>this.initializeWorkspace(this.folders??[],r))}async initializeWorkspace(e,r=B.CancellationToken.None){let n=await this.performStartup(e);await Le(r),await this.documentBuilder.build(n,this.initialBuildOptions,r)}async performStartup(e){let r=[],n=a=>{r.push(a),this.langiumDocuments.hasDocument(a.uri)||this.langiumDocuments.addDocument(a)};await this.loadAdditionalDocuments(e,n);let i=[];await Promise.all(e.map(a=>this.getRootFolder(a)).map(async a=>this.traverseFolder(a,i)));let s=te(i).distinct(a=>a.toString()).filter(a=>!this.langiumDocuments.hasDocument(a));return await this.loadWorkspaceDocuments(s,n),this._ready.resolve(),r}async loadWorkspaceDocuments(e,r){await Promise.all(e.map(async n=>{let i=await this.langiumDocuments.getOrCreateDocument(n);r(i)}))}loadAdditionalDocuments(e,r){return Promise.resolve()}getRootFolder(e){return Ze.parse(e.uri)}async traverseFolder(e,r){try{let n=await this.fileSystemProvider.readDirectory(e);await Promise.all(n.map(async i=>{this.shouldIncludeEntry(i)&&(i.isDirectory?await this.traverseFolder(i.uri,r):i.isFile&&r.push(i.uri))}))}catch(n){console.error("Failure to read directory content of "+e.toString(!0),n)}}async searchFolder(e){let r=[];return await this.traverseFolder(e,r),r}shouldIncludeEntry(e){let r=je.basename(e.uri);return r.startsWith(".")?!1:e.isDirectory?r!=="node_modules"&&r!=="out":e.isFile?this.serviceRegistry.hasServices(e.uri):!1}};var Eo=class{buildUnexpectedCharactersMessage(e,r,n,i,s){return zi.buildUnexpectedCharactersMessage(e,r,n,i,s)}buildUnableToPopLexerModeMessage(e){return zi.buildUnableToPopLexerModeMessage(e)}},Kl={mode:"full"},hi=class{constructor(e){this.errorMessageProvider=e.parser.LexerErrorMessageProvider,this.tokenBuilder=e.parser.TokenBuilder;let r=this.tokenBuilder.buildTokens(e.Grammar,{caseInsensitive:e.LanguageMetaData.caseInsensitive});this.tokenTypes=this.toTokenTypeDictionary(r);let n=Rh(r)?Object.values(r):r,i=e.LanguageMetaData.mode==="production";this.chevrotainLexer=new we(n,{positionTracking:"full",skipValidations:i,errorMessageProvider:this.errorMessageProvider})}get definition(){return this.tokenTypes}tokenize(e,r=Kl){let n=this.chevrotainLexer.tokenize(e);return{tokens:n.tokens,errors:n.errors,hidden:n.groups.hidden??[],report:this.tokenBuilder.flushLexingReport?.(e)}}toTokenTypeDictionary(e){if(Rh(e))return e;let r=xh(e)?Object.values(e.modes).flat():e,n={};return r.forEach(i=>n[i.name]=i),n}};function Hl(t){return Array.isArray(t)&&(t.length===0||"name"in t[0])}function xh(t){return t&&"modes"in t&&"defaultMode"in t}function Rh(t){return!Hl(t)&&!xh(t)}ss();function Ah(t,e,r){let n,i;typeof t=="string"?(i=e,n=r):(i=t.range.start,n=e),i||(i=ce.create(0,0));let s=Ix(t),a=Sh(n),o=M$({lines:s,position:i,options:a});return z$({index:0,tokens:o,position:i})}function $h(t,e){let r=Sh(e),n=Ix(t);if(n.length===0)return!1;let i=n[0],s=n[n.length-1],a=r.start,o=r.end;return!!a?.exec(i)&&!!o?.exec(s)}function Ix(t){let e="";return typeof t=="string"?e=t:e=t.text,e.split(zu)}var Cx=/\s*(@([\p{L}][\p{L}\p{N}]*)?)/uy,D$=/\{(@[\p{L}][\p{L}\p{N}]*)(\s*)([^\r\n}]+)?\}/gu;function M$(t){let e=[],r=t.position.line,n=t.position.character;for(let i=0;i<t.lines.length;i++){let s=i===0,a=i===t.lines.length-1,o=t.lines[i],c=0;if(s&&t.options.start){let f=t.options.start?.exec(o);f&&(c=f.index+f[0].length)}else{let f=t.options.line?.exec(o);f&&(c=f.index+f[0].length)}if(a){let f=t.options.end?.exec(o);f&&(o=o.substring(0,f.index))}if(o=o.substring(0,q$(o)),Eh(o,c)>=o.length){if(e.length>0){let f=ce.create(r,n);e.push({type:"break",content:"",range:ie.create(f,f)})}}else{Cx.lastIndex=c;let f=Cx.exec(o);if(f){let p=f[0],h=f[1],g=ce.create(r,n+c),k=ce.create(r,n+c+p.length);e.push({type:"tag",content:h,range:ie.create(g,k)}),c+=p.length,c=Eh(o,c)}if(c<o.length){let p=o.substring(c),h=Array.from(p.matchAll(D$));e.push(...F$(h,p,r,n+c))}}r++,n=0}return e.length>0&&e[e.length-1].type==="break"?e.slice(0,-1):e}function F$(t,e,r,n){let i=[];if(t.length===0){let s=ce.create(r,n),a=ce.create(r,n+e.length);i.push({type:"text",content:e,range:ie.create(s,a)})}else{let s=0;for(let o of t){let c=o.index,l=e.substring(s,c);l.length>0&&i.push({type:"text",content:e.substring(s,c),range:ie.create(ce.create(r,s+n),ce.create(r,c+n))});let f=l.length+1,p=o[1];if(i.push({type:"inline-tag",content:p,range:ie.create(ce.create(r,s+f+n),ce.create(r,s+f+p.length+n))}),f+=p.length,o.length===4){f+=o[2].length;let h=o[3];i.push({type:"text",content:h,range:ie.create(ce.create(r,s+f+n),ce.create(r,s+f+h.length+n))})}else i.push({type:"text",content:"",range:ie.create(ce.create(r,s+f+n),ce.create(r,s+f+n))});s=c+o[0].length}let a=e.substring(s);a.length>0&&i.push({type:"text",content:a,range:ie.create(ce.create(r,s+n),ce.create(r,s+n+a.length))})}return i}var G$=/\S/,U$=/\s*$/;function Eh(t,e){let r=t.substring(e).match(G$);return r?e+r.index:t.length}function q$(t){let e=t.match(U$);if(e&&typeof e.index=="number")return e.index}function z$(t){let e=ce.create(t.position.line,t.position.character);if(t.tokens.length===0)return new Yl([],ie.create(e,e));let r=[];for(;t.index<t.tokens.length;){let s=j$(t,r[r.length-1]);s&&r.push(s)}let n=r[0]?.range.start??e,i=r[r.length-1]?.range.end??e;return new Yl(r,ie.create(n,i))}function j$(t,e){let r=t.tokens[t.index];if(r.type==="tag")return bx(t,!1);if(r.type==="text"||r.type==="inline-tag")return _x(t);B$(r,e),t.index++}function B$(t,e){if(e){let r=new Xl("",t.range);"inlines"in e?e.inlines.push(r):e.content.inlines.push(r)}}function _x(t){let e=t.tokens[t.index],r=e,n=e,i=[];for(;e&&e.type!=="break"&&e.type!=="tag";)i.push(W$(t)),n=e,e=t.tokens[t.index];return new $o(i,ie.create(r.range.start,n.range.end))}function W$(t){return t.tokens[t.index].type==="inline-tag"?bx(t,!0):Px(t)}function bx(t,e){let r=t.tokens[t.index++],n=r.content.substring(1);if(t.tokens[t.index]?.type==="text")if(e){let s=Px(t);return new Ao(n,new $o([s],s.range),e,ie.create(r.range.start,s.range.end))}else{let s=_x(t);return new Ao(n,s,e,ie.create(r.range.start,s.range.end))}else{let s=r.range;return new Ao(n,new $o([],s),e,s)}}function Px(t){let e=t.tokens[t.index++];return new Xl(e.content,e.range)}function Sh(t){if(!t)return Sh({start:"/**",end:"*/",line:"*"});let{start:e,end:r,line:n}=t;return{start:vh(e,!0),end:vh(r,!1),line:vh(n,!0)}}function vh(t,e){if(typeof t=="string"||typeof t=="object"){let r=typeof t=="string"?fn(t):t.source;return e?new RegExp(`^\\s*${r}`):new RegExp(`\\s*${r}\\s*$`)}else return t}var Yl=class{constructor(e,r){this.elements=e,this.range=r}getTag(e){return this.getAllTags().find(r=>r.name===e)}getTags(e){return this.getAllTags().filter(r=>r.name===e)}getAllTags(){return this.elements.filter(e=>"name"in e)}toString(){let e="";for(let r of this.elements)if(e.length===0)e=r.toString();else{let n=r.toString();e+=wx(e)+n}return e.trim()}toMarkdown(e){let r="";for(let n of this.elements)if(r.length===0)r=n.toMarkdown(e);else{let i=n.toMarkdown(e);r+=wx(r)+i}return r.trim()}},Ao=class{constructor(e,r,n,i){this.name=e,this.content=r,this.inline=n,this.range=i}toString(){let e=`@${this.name}`,r=this.content.toString();return this.content.inlines.length===1?e=`${e} ${r}`:this.content.inlines.length>1&&(e=`${e}
|
|
152
|
+
${r}`),this.inline?`{${e}}`:e}toMarkdown(e){return e?.renderTag?.(this)??this.toMarkdownDefault(e)}toMarkdownDefault(e){let r=this.content.toMarkdown(e);if(this.inline){let s=V$(this.name,r,e??{});if(typeof s=="string")return s}let n="";e?.tag==="italic"||e?.tag===void 0?n="*":e?.tag==="bold"?n="**":e?.tag==="bold-italic"&&(n="***");let i=`${n}@${this.name}${n}`;return this.content.inlines.length===1?i=`${i} \u2014 ${r}`:this.content.inlines.length>1&&(i=`${i}
|
|
153
|
+
${r}`),this.inline?`{${i}}`:i}};function V$(t,e,r){if(t==="linkplain"||t==="linkcode"||t==="link"){let n=e.indexOf(" "),i=e;if(n>0){let a=Eh(e,n);i=e.substring(a),e=e.substring(0,n)}return(t==="linkcode"||t==="link"&&r.link==="code")&&(i=`\`${i}\``),r.renderLink?.(e,i)??K$(e,i)}}function K$(t,e){try{return Ze.parse(t,!0),`[${e}](${t})`}catch{return t}}var $o=class{constructor(e,r){this.inlines=e,this.range=r}toString(){let e="";for(let r=0;r<this.inlines.length;r++){let n=this.inlines[r],i=this.inlines[r+1];e+=n.toString(),i&&i.range.start.line>n.range.start.line&&(e+=`
|
|
154
|
+
`)}return e}toMarkdown(e){let r="";for(let n=0;n<this.inlines.length;n++){let i=this.inlines[n],s=this.inlines[n+1];r+=i.toMarkdown(e),s&&s.range.start.line>i.range.start.line&&(r+=`
|
|
155
|
+
`)}return r}},Xl=class{constructor(e,r){this.text=e,this.range=r}toString(){return this.text}toMarkdown(){return this.text}};function wx(t){return t.endsWith(`
|
|
156
|
+
`)?`
|
|
157
|
+
`:`
|
|
158
|
+
|
|
159
|
+
`}var So=class{constructor(e){this.indexManager=e.shared.workspace.IndexManager,this.commentProvider=e.documentation.CommentProvider}getDocumentation(e){let r=this.commentProvider.getComment(e);if(r&&$h(r))return Ah(r).toMarkdown({renderLink:(i,s)=>this.documentationLinkRenderer(e,i,s),renderTag:i=>this.documentationTagRenderer(e,i)})}documentationLinkRenderer(e,r,n){let i=this.findNameInLocalSymbols(e,r)??this.findNameInGlobalScope(e,r);if(i&&i.nameSegment){let s=i.nameSegment.range.start.line+1,a=i.nameSegment.range.start.character+1,o=i.documentUri.with({fragment:`L${s},${a}`});return`[${n}](${o.toString()})`}else return}documentationTagRenderer(e,r){}findNameInLocalSymbols(e,r){let i=ht(e).localSymbols;if(!i)return;let s=e;do{let o=i.getStream(s).find(c=>c.name===r);if(o)return o;s=s.$container}while(s)}findNameInGlobalScope(e,r){return this.indexManager.allElements().find(i=>i.name===r)}};var ko=class{constructor(e){this.grammarConfig=()=>e.parser.GrammarConfig}getComment(e){return Zd(e)?e.$comment:Mu(e.$cstNode,this.grammarConfig().multilineCommentRules)?.text}};var No=class{constructor(e){this.syncParser=e.parser.LangiumParser}parse(e,r){return Promise.resolve(this.syncParser.parse(e))}},kh=class{constructor(e){this.threadCount=8,this.terminationDelay=200,this.workerPool=[],this.queue=[],this.hydrator=e.serializer.Hydrator}initializeWorkers(){for(;this.workerPool.length<this.threadCount;){let e=this.createWorker();e.onReady(()=>{if(this.queue.length>0){let r=this.queue.shift();r&&(e.lock(),r.resolve(e))}}),this.workerPool.push(e)}}async parse(e,r){let n=await this.acquireParserWorker(r),i=new Ct,s,a=r.onCancellationRequested(()=>{s=setTimeout(()=>{this.terminateWorker(n)},this.terminationDelay)});return n.parse(e).then(o=>{let c=this.hydrator.hydrate(o);i.resolve(c)}).catch(o=>{i.reject(o)}).finally(()=>{a.dispose(),clearTimeout(s)}),i.promise}terminateWorker(e){e.terminate();let r=this.workerPool.indexOf(e);r>=0&&this.workerPool.splice(r,1)}async acquireParserWorker(e){this.initializeWorkers();for(let n of this.workerPool)if(n.ready)return n.lock(),n;let r=new Ct;return e.onCancellationRequested(()=>{let n=this.queue.indexOf(r);n>=0&&this.queue.splice(n,1),r.reject(Ht)}),this.queue.push(r),r.promise}},Nh=class{get ready(){return this._ready}get onReady(){return this.onReadyEmitter.event}constructor(e,r,n,i){this.onReadyEmitter=new Se.Emitter,this.deferred=new Ct,this._ready=!0,this._parsing=!1,this.sendMessage=e,this._terminate=i,r(s=>{let a=s;this.deferred.resolve(a),this.unlock()}),n(s=>{this.deferred.reject(s),this.unlock()})}terminate(){this.deferred.reject(Ht),this._terminate()}lock(){this._ready=!1}unlock(){this._parsing=!1,this._ready=!0,this.onReadyEmitter.fire()}parse(e){if(this._parsing)throw new Error("Parser worker is busy");return this._parsing=!0,this.deferred=new Ct,this.sendMessage(e),this.deferred.promise}};var Co=class{constructor(){this.previousTokenSource=new B.CancellationTokenSource,this.writeQueue=[],this.readQueue=[],this.done=!0}write(e){this.cancelWrite();let r=fl();return this.previousTokenSource=r,this.enqueue(this.writeQueue,e,r.token)}read(e){return this.enqueue(this.readQueue,e)}enqueue(e,r,n=B.CancellationToken.None){let i=new Ct,s={action:r,deferred:i,cancellationToken:n};return e.push(s),this.performNextOperation(),i.promise}async performNextOperation(){if(!this.done)return;let e=[];if(this.writeQueue.length>0)e.push(this.writeQueue.shift());else if(this.readQueue.length>0)e.push(...this.readQueue.splice(0,this.readQueue.length));else return;this.done=!1,await Promise.all(e.map(async({action:r,deferred:n,cancellationToken:i})=>{try{let s=await Promise.resolve().then(()=>r(i));n.resolve(s)}catch(s){$r(s)?n.resolve(void 0):n.reject(s)}})),this.done=!0,this.performNextOperation()}cancelWrite(){this.previousTokenSource.cancel()}};var wo=class{constructor(e){this.grammarElementIdMap=new ci,this.tokenTypeIdMap=new ci,this.grammar=e.Grammar,this.lexer=e.parser.Lexer,this.linker=e.references.Linker}dehydrate(e){return{lexerErrors:e.lexerErrors,lexerReport:e.lexerReport?this.dehydrateLexerReport(e.lexerReport):void 0,parserErrors:e.parserErrors.map(r=>({...r,message:r.message})),value:this.dehydrateAstNode(e.value,this.createDehyrationContext(e.value))}}dehydrateLexerReport(e){return e}createDehyrationContext(e){let r=new Map,n=new Map;for(let i of At(e))r.set(i,{});if(e.$cstNode)for(let i of zn(e.$cstNode))n.set(i,{});return{astNodes:r,cstNodes:n}}dehydrateAstNode(e,r){let n=r.astNodes.get(e);n.$type=e.$type,n.$containerIndex=e.$containerIndex,n.$containerProperty=e.$containerProperty,e.$cstNode!==void 0&&(n.$cstNode=this.dehydrateCstNode(e.$cstNode,r));for(let[i,s]of Object.entries(e))if(!i.startsWith("$"))if(Array.isArray(s)){let a=[];n[i]=a;for(let o of s)Oe(o)?a.push(this.dehydrateAstNode(o,r)):Je(o)?a.push(this.dehydrateReference(o,r)):a.push(o)}else Oe(s)?n[i]=this.dehydrateAstNode(s,r):Je(s)?n[i]=this.dehydrateReference(s,r):s!==void 0&&(n[i]=s);return n}dehydrateReference(e,r){let n={};return n.$refText=e.$refText,e.$refNode&&(n.$refNode=r.cstNodes.get(e.$refNode)),n}dehydrateCstNode(e,r){let n=r.cstNodes.get(e);return Ws(e)?n.fullText=e.fullText:n.grammarSource=this.getGrammarElementId(e.grammarSource),n.hidden=e.hidden,n.astNode=r.astNodes.get(e.astNode),tr(e)?n.content=e.content.map(i=>this.dehydrateCstNode(i,r)):en(e)&&(n.tokenType=e.tokenType.name,n.offset=e.offset,n.length=e.length,n.startLine=e.range.start.line,n.startColumn=e.range.start.character,n.endLine=e.range.end.line,n.endColumn=e.range.end.character),n}hydrate(e){let r=e.value,n=this.createHydrationContext(r);return"$cstNode"in r&&this.hydrateCstNode(r.$cstNode,n),{lexerErrors:e.lexerErrors,lexerReport:e.lexerReport,parserErrors:e.parserErrors,value:this.hydrateAstNode(r,n)}}createHydrationContext(e){let r=new Map,n=new Map;for(let s of At(e))r.set(s,{});let i;if(e.$cstNode)for(let s of zn(e.$cstNode)){let a;"fullText"in s?(a=new as(s.fullText),i=a):"content"in s?a=new ni:"tokenType"in s&&(a=this.hydrateCstLeafNode(s)),a&&(n.set(s,a),a.root=i)}return{astNodes:r,cstNodes:n}}hydrateAstNode(e,r){let n=r.astNodes.get(e);n.$type=e.$type,n.$containerIndex=e.$containerIndex,n.$containerProperty=e.$containerProperty,e.$cstNode&&(n.$cstNode=r.cstNodes.get(e.$cstNode));for(let[i,s]of Object.entries(e))if(!i.startsWith("$"))if(Array.isArray(s)){let a=[];n[i]=a;for(let o of s)Oe(o)?a.push(this.setParent(this.hydrateAstNode(o,r),n)):Je(o)?a.push(this.hydrateReference(o,n,i,r)):a.push(o)}else Oe(s)?n[i]=this.setParent(this.hydrateAstNode(s,r),n):Je(s)?n[i]=this.hydrateReference(s,n,i,r):s!==void 0&&(n[i]=s);return n}setParent(e,r){return e.$container=r,e}hydrateReference(e,r,n,i){return this.linker.buildReference(r,n,i.cstNodes.get(e.$refNode),e.$refText)}hydrateCstNode(e,r,n=0){let i=r.cstNodes.get(e);if(typeof e.grammarSource=="number"&&(i.grammarSource=this.getGrammarElement(e.grammarSource)),i.astNode=r.astNodes.get(e.astNode),tr(i))for(let s of e.content){let a=this.hydrateCstNode(s,r,n++);i.content.push(a)}return i}hydrateCstLeafNode(e){let r=this.getTokenType(e.tokenType),n=e.offset,i=e.length,s=e.startLine,a=e.startColumn,o=e.endLine,c=e.endColumn,l=e.hidden;return new ri(n,i,{start:{line:s,character:a},end:{line:o,character:c}},r,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(let r of At(this.grammar))ta(r)&&this.grammarElementIdMap.set(r,e++)}};function Ch(t){return{documentation:{CommentProvider:e=>new ko(e),DocumentationProvider:e=>new So(e)},parser:{AsyncParser:e=>new No(e),GrammarConfig:e=>rf(e),LangiumParser:e=>jd(e),CompletionParser:e=>zd(e),ValueConverter:()=>new si,TokenBuilder:()=>new Yr,Lexer:e=>new hi(e),ParserErrorMessageProvider:()=>new os,LexerErrorMessageProvider:()=>new Eo},workspace:{AstNodeLocator:()=>new oo,AstNodeDescriptionProvider:e=>new so(e),ReferenceDescriptionProvider:e=>new ao(e)},references:{Linker:e=>new Ha(e),NameProvider:()=>new Ya,ScopeProvider:e=>new eo(e),ScopeComputation:e=>new Ja(e),References:e=>new Xa(e)},serializer:{Hydrator:e=>new wo(e),JsonSerializer:e=>new to(e)},validation:{DocumentValidator:e=>new io(e),ValidationRegistry:e=>new no(e)},shared:()=>t.shared}}function wh(t){return{ServiceRegistry:e=>new ro(e),workspace:{LangiumDocuments:e=>new Ka(e),LangiumDocumentFactory:e=>new Va(e),DocumentBuilder:e=>new Ro(e),IndexManager:e=>new xo(e),WorkspaceManager:e=>new vo(e),FileSystemProvider:e=>t.fileSystemProvider(e),WorkspaceLock:()=>new Co,ConfigurationProvider:e=>new co(e)},profilers:{}}}var Ih;(function(t){t.merge=(e,r)=>Io(Io({},e),r)})(Ih||(Ih={}));function Jl(t,e,r,n,i,s,a,o,c){let l=[t,e,r,n,i,s,a,o,c].reduce(Io,{});return Fx(l)}var Dx=Symbol("isProxy");function Mx(t){if(t&&t[Dx])for(let e of Object.values(t))Mx(e);return t}function Fx(t,e){let r=new Proxy({},{deleteProperty:()=>!1,set:()=>{throw new Error("Cannot set property on injected service container")},get:(n,i)=>i===Dx?!0:Lx(n,i,t,e||r),getOwnPropertyDescriptor:(n,i)=>(Lx(n,i,t,e||r),Object.getOwnPropertyDescriptor(n,i)),has:(n,i)=>i in t,ownKeys:()=>[...Object.getOwnPropertyNames(t)]});return r}var Ox=Symbol();function Lx(t,e,r,n){if(e in t){if(t[e]instanceof Error)throw new Error("Construction failure. Please make sure that your dependencies are constructable. Cause: "+t[e]);if(t[e]===Ox)throw new Error('Cycle detected. Please make "'+String(e)+'" lazy. Visit https://langium.org/docs/reference/configuration-services/#resolving-cyclic-dependencies');return t[e]}else if(e in r){let i=r[e];t[e]=Ox;try{t[e]=typeof i=="function"?i(n):Fx(i,n)}catch(s){throw t[e]=s instanceof Error?s:void 0,s}return t[e]}else return}function Io(t,e){if(e){for(let[r,n]of Object.entries(e))if(n!=null)if(typeof n=="object"){let i=t[r];typeof i=="object"&&i!==null?t[r]=Io(i,n):t[r]=Io({},n)}else t[r]=n}return t}var _h={indentTokenName:"INDENT",dedentTokenName:"DEDENT",whitespaceTokenName:"WS",ignoreIndentationDelimiters:[]},mi;(function(t){t.REGULAR="indentation-sensitive",t.IGNORE_INDENTATION="ignore-indentation"})(mi||(mi={}));var Ql=class extends Yr{constructor(e=_h){super(),this.indentationStack=[0],this.whitespaceRegExp=/[ \t]+/y,this.options={..._h,...e},this.indentTokenType=pn({name:this.options.indentTokenName,pattern:this.indentMatcher.bind(this),line_breaks:!1}),this.dedentTokenType=pn({name:this.options.dedentTokenName,pattern:this.dedentMatcher.bind(this),line_breaks:!1})}buildTokens(e,r){let n=super.buildTokens(e,r);if(!Hl(n))throw new Error("Invalid tokens built by default builder");let{indentTokenName:i,dedentTokenName:s,whitespaceTokenName:a,ignoreIndentationDelimiters:o}=this.options,c,l,f,p=[];for(let h of n){for(let[g,k]of o)h.name===g?h.PUSH_MODE=mi.IGNORE_INDENTATION:h.name===k&&(h.POP_MODE=!0);h.name===s?c=h:h.name===i?l=h:h.name===a?f=h:p.push(h)}if(!c||!l||!f)throw new Error("Some indentation/whitespace tokens not found!");return o.length>0?{modes:{[mi.REGULAR]:[c,l,...p,f],[mi.IGNORE_INDENTATION]:[...p,f]},defaultMode:mi.REGULAR}:[c,l,f,...p]}flushLexingReport(e){return{...super.flushLexingReport(e),remainingDedents:this.flushRemainingDedents(e)}}isStartOfLine(e,r){return r===0||`\r
|
|
160
|
+
`.includes(e[r-1])}matchWhitespace(e,r,n,i){this.whitespaceRegExp.lastIndex=r;let s=this.whitespaceRegExp.exec(e);return{currIndentLevel:s?.[0].length??0,prevIndentLevel:this.indentationStack.at(-1),match:s}}createIndentationTokenInstance(e,r,n,i){let s=this.getLineNumber(r,i);return Wr(e,n,i,i+n.length,s,s,1,n.length)}getLineNumber(e,r){return e.substring(0,r).split(/\r\n|\r|\n/).length}indentMatcher(e,r,n,i){if(!this.isStartOfLine(e,r))return null;let{currIndentLevel:s,prevIndentLevel:a,match:o}=this.matchWhitespace(e,r,n,i);return s<=a?null:(this.indentationStack.push(s),o)}dedentMatcher(e,r,n,i){if(!this.isStartOfLine(e,r))return null;let{currIndentLevel:s,prevIndentLevel:a,match:o}=this.matchWhitespace(e,r,n,i);if(s>=a)return null;let c=this.indentationStack.lastIndexOf(s);if(c===-1)return this.diagnostics.push({severity:"error",message:`Invalid dedent level ${s} at offset: ${r}. Current indentation stack: ${this.indentationStack}`,offset:r,length:o?.[0]?.length??0,line:this.getLineNumber(e,r),column:1}),null;let l=this.indentationStack.length-c-1,f=e.substring(0,r).match(/[\r\n]+$/)?.[0].length??1;for(let p=0;p<l;p++){let h=this.createIndentationTokenInstance(this.dedentTokenType,e,"",r-(f-1));n.push(h),this.indentationStack.pop()}return null}buildTerminalToken(e){let r=super.buildTerminalToken(e),{indentTokenName:n,dedentTokenName:i,whitespaceTokenName:s}=this.options;return r.name===n?this.indentTokenType:r.name===i?this.dedentTokenType:r.name===s?pn({name:s,pattern:this.whitespaceRegExp,group:we.SKIPPED}):r}flushRemainingDedents(e){let r=[];for(;this.indentationStack.length>1;)r.push(this.createIndentationTokenInstance(this.dedentTokenType,e,"",e.length)),this.indentationStack.pop();return this.indentationStack=[0],r}},bh=class extends hi{constructor(e){if(super(e),e.parser.TokenBuilder instanceof Ql)this.indentationTokenBuilder=e.parser.TokenBuilder;else throw new Error("IndentationAwareLexer requires an accompanying IndentationAwareTokenBuilder")}tokenize(e,r=Kl){let n=super.tokenize(e),i=n.report;r?.mode==="full"&&n.tokens.push(...i.remainingDedents),i.remainingDedents=[];let{indentTokenType:s,dedentTokenType:a}=this.indentationTokenBuilder,o=s.tokenTypeIdx,c=a.tokenTypeIdx,l=[],f=n.tokens.length-1;for(let p=0;p<f;p++){let h=n.tokens[p],g=n.tokens[p+1];if(h.tokenTypeIdx===o&&g.tokenTypeIdx===c){p++;continue}l.push(h)}return f>=0&&l.push(n.tokens[f]),n.tokens=l,n}};var le={};Qr(le,{AstUtils:()=>Go,BiMap:()=>ci,Cancellation:()=>B,ContextCache:()=>li,CstUtils:()=>sc,DONE_RESULT:()=>pt,Deferred:()=>Ct,Disposable:()=>kn,DisposableCache:()=>ms,DocumentCache:()=>pl,EMPTY_STREAM:()=>tn,ErrorWithLocation:()=>Bn,GrammarUtils:()=>fc,MultiMap:()=>gt,OperationCancelled:()=>Ht,Reduction:()=>vi,RegExpUtils:()=>cc,SimpleCache:()=>Za,StreamImpl:()=>Ut,TreeStreamImpl:()=>mr,URI:()=>Ze,UriTrie:()=>ps,UriUtils:()=>je,WorkspaceCache:()=>gs,assertCondition:()=>cm,assertUnreachable:()=>Tr,delayNextTick:()=>Xd,interruptAndCheck:()=>Le,isOperationCancelled:()=>$r,loadGrammarFromJson:()=>wr,setInterruptionPeriod:()=>Yg,startCancelableOperation:()=>fl,stream:()=>te});ae(le,Se);var Zl=class{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[]}},Ph={fileSystemProvider:()=>new Zl};var H$={Grammar:()=>{},LanguageMetaData:()=>({caseInsensitive:!1,fileExtensions:[".langium"],languageId:"langium"})},Y$={AstReflection:()=>new _i};function X$(){let t=Jl(wh(Ph),Y$),e=Jl(Ch({shared:t}),H$);return t.ServiceRegistry.register(e),e}function wr(t){let e=X$(),r=e.serializer.JsonSerializer.deserialize(t);return e.shared.workspace.LangiumDocumentFactory.fromModel(r,Ze.parse(`memory:/${r.name??"grammar"}.langium`)),r}ae(Ge,le);var Oh=class{constructor(e){this.activeCategories=new Set,this.allCategories=new Set(["validating","parsing","linking"]),this.activeCategories=e??new Set(this.allCategories),this.records=new gt}isActive(e){return this.activeCategories.has(e)}start(...e){e?e.forEach(r=>this.activeCategories.add(r)):this.activeCategories=new Set(this.allCategories)}stop(...e){e?e.forEach(r=>this.activeCategories.delete(r)):this.activeCategories.clear()}createTask(e,r){if(!this.isActive(e))throw new Error(`Category "${e}" is not active.`);return console.log(`Creating profiling task for '${e}.${r}'.`),new eu(n=>this.records.add(e,this.dumpRecord(e,n)),r)}dumpRecord(e,r){console.info(`Task ${e}.${r.identifier} executed in ${r.duration.toFixed(2)}ms and ended at ${r.date.toISOString()}`);let n=[];for(let a of r.entries.keys()){let o=r.entries.get(a),c=o.reduce((l,f)=>l+f);n.push({name:`${r.identifier}.${a}`,count:o.length,duration:c})}let i=r.duration-n.map(a=>a.duration).reduce((a,o)=>a+o,0);n.push({name:r.identifier,count:1,duration:i}),n.sort((a,o)=>o.duration-a.duration);function s(a){return Math.round(100*a)/100}return console.table(n.map(a=>({Element:a.name,Count:a.count,"Self %":s(100*a.duration/r.duration),"Time (ms)":s(a.duration)}))),r}getRecords(...e){return e.length===0?this.records.values():this.records.entries().filter(r=>e.some(n=>n===r[0])).flatMap(r=>r[1])}},eu=class{constructor(e,r){this.stack=[],this.entries=new gt,this.addRecord=e,this.identifier=r}start(){if(this.startTime!==void 0)throw new Error(`Task "${this.identifier}" is already started.`);this.startTime=performance.now()}stop(){if(this.startTime===void 0)throw new Error(`Task "${this.identifier}" was not started.`);if(this.stack.length!==0)throw new Error(`Task "${this.identifier}" cannot be stopped before sub-task(s): ${this.stack.map(r=>r.id).join(", ")}.`);let e={identifier:this.identifier,date:new Date,duration:performance.now()-this.startTime,entries:this.entries};this.addRecord(e),this.startTime=void 0,this.entries.clear()}startSubTask(e){this.stack.push({id:e,start:performance.now(),content:0})}stopSubTask(e){let r=this.stack.pop();if(!r)throw new Error(`Task "${this.identifier}.${e}" was not started.`);if(r.id!==e)throw new Error(`Sub-Task "${r.id}" is not already stopped.`);let n=performance.now()-r.start;this.stack.at(-1)!==void 0&&(this.stack[this.stack.length-1].content+=n);let i=n-r.content;this.entries.add(e,i)}};var J$=Object.defineProperty,ne=(t,e)=>J$(t,"name",{value:e,configurable:!0}),qh;(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 ]+)\]/}})(qh||(qh={}));var zh;(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])?/}})(zh||(zh={}));var jh;(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]*/}})(jh||(jh={}));var Bh;(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]*/}})(Bh||(Bh={}));var Wh;(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]*/}})(Wh||(Wh={}));var Vh;(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]*/}})(Vh||(Vh={}));var Kh;(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:/"[^"]*"|'[^']*'/}})(Kh||(Kh={}));var fL={...qh.Terminals,...zh.Terminals,...jh.Terminals,...Bh.Terminals,...Wh.Terminals,...Vh.Terminals,...Kh.Terminals},Jr={$type:"Architecture",accDescr:"accDescr",accTitle:"accTitle",edges:"edges",groups:"groups",junctions:"junctions",services:"services",title:"title"};function Q$(t){return ur.isInstance(t,Jr.$type)}ne(Q$,"isArchitecture");var tu={$type:"Axis",label:"label",name:"name"},su={$type:"Branch",name:"name",order:"order"};function Z$(t){return ur.isInstance(t,su.$type)}ne(Z$,"isBranch");var Gx={$type:"Checkout",branch:"branch"},ru={$type:"CherryPicking",id:"id",parent:"parent",tags:"tags"},Lh={$type:"ClassDefStatement",className:"className",styleText:"styleText"},Ds={$type:"Commit",id:"id",message:"message",tags:"tags",type:"type"};function eS(t){return ur.isInstance(t,Ds.$type)}ne(eS,"isCommit");var nu={$type:"Curve",entries:"entries",label:"label",name:"name"},Ps={$type:"Direction",accDescr:"accDescr",accTitle:"accTitle",dir:"dir",statements:"statements",title:"title"},Ir={$type:"Edge",lhsDir:"lhsDir",lhsGroup:"lhsGroup",lhsId:"lhsId",lhsInto:"lhsInto",rhsDir:"rhsDir",rhsGroup:"rhsGroup",rhsId:"rhsId",rhsInto:"rhsInto",title:"title"},Dh={$type:"Entry",axis:"axis",value:"value"},yi={$type:"GitGraph",accDescr:"accDescr",accTitle:"accTitle",statements:"statements",title:"title"};function tS(t){return ur.isInstance(t,yi.$type)}ne(tS,"isGitGraph");var _o={$type:"Group",icon:"icon",id:"id",in:"in",title:"title"},Po={$type:"Info",accDescr:"accDescr",accTitle:"accTitle",title:"title"};function rS(t){return ur.isInstance(t,Po.$type)}ne(rS,"isInfo");var bo={$type:"Item",classSelector:"classSelector",name:"name"},Mh={$type:"Junction",id:"id",in:"in"},iu={$type:"Leaf",classSelector:"classSelector",name:"name",value:"value"},Ms={$type:"Merge",branch:"branch",id:"id",tags:"tags",type:"type"};function nS(t){return ur.isInstance(t,Ms.$type)}ne(nS,"isMerge");var Fh={$type:"Option",name:"name",value:"value"},Fs={$type:"Packet",accDescr:"accDescr",accTitle:"accTitle",blocks:"blocks",title:"title"};function iS(t){return ur.isInstance(t,Fs.$type)}ne(iS,"isPacket");var Gs={$type:"PacketBlock",bits:"bits",end:"end",label:"label",start:"start"};function sS(t){return ur.isInstance(t,Gs.$type)}ne(sS,"isPacketBlock");var Ti={$type:"Pie",accDescr:"accDescr",accTitle:"accTitle",sections:"sections",showData:"showData",title:"title"};function aS(t){return ur.isInstance(t,Ti.$type)}ne(aS,"isPie");var au={$type:"PieSection",label:"label",value:"value"};function oS(t){return ur.isInstance(t,au.$type)}ne(oS,"isPieSection");var gi={$type:"Radar",accDescr:"accDescr",accTitle:"accTitle",axes:"axes",curves:"curves",options:"options",title:"title"},Gh={$type:"Section",classSelector:"classSelector",name:"name"},Os={$type:"Service",icon:"icon",iconText:"iconText",id:"id",in:"in",title:"title"},Ls={$type:"Statement"},Us={$type:"Treemap",accDescr:"accDescr",accTitle:"accTitle",title:"title",TreemapRows:"TreemapRows"};function cS(t){return ur.isInstance(t,Us.$type)}ne(cS,"isTreemap");var Uh={$type:"TreemapRow",indent:"indent",item:"item"},Kx=class extends wn{constructor(){super(...arguments),this.types={Architecture:{name:Jr.$type,properties:{accDescr:{name:Jr.accDescr},accTitle:{name:Jr.accTitle},edges:{name:Jr.edges,defaultValue:[]},groups:{name:Jr.groups,defaultValue:[]},junctions:{name:Jr.junctions,defaultValue:[]},services:{name:Jr.services,defaultValue:[]},title:{name:Jr.title}},superTypes:[]},Axis:{name:tu.$type,properties:{label:{name:tu.label},name:{name:tu.name}},superTypes:[]},Branch:{name:su.$type,properties:{name:{name:su.name},order:{name:su.order}},superTypes:[Ls.$type]},Checkout:{name:Gx.$type,properties:{branch:{name:Gx.branch}},superTypes:[Ls.$type]},CherryPicking:{name:ru.$type,properties:{id:{name:ru.id},parent:{name:ru.parent},tags:{name:ru.tags,defaultValue:[]}},superTypes:[Ls.$type]},ClassDefStatement:{name:Lh.$type,properties:{className:{name:Lh.className},styleText:{name:Lh.styleText}},superTypes:[]},Commit:{name:Ds.$type,properties:{id:{name:Ds.id},message:{name:Ds.message},tags:{name:Ds.tags,defaultValue:[]},type:{name:Ds.type}},superTypes:[Ls.$type]},Curve:{name:nu.$type,properties:{entries:{name:nu.entries,defaultValue:[]},label:{name:nu.label},name:{name:nu.name}},superTypes:[]},Direction:{name:Ps.$type,properties:{accDescr:{name:Ps.accDescr},accTitle:{name:Ps.accTitle},dir:{name:Ps.dir},statements:{name:Ps.statements,defaultValue:[]},title:{name:Ps.title}},superTypes:[yi.$type]},Edge:{name:Ir.$type,properties:{lhsDir:{name:Ir.lhsDir},lhsGroup:{name:Ir.lhsGroup,defaultValue:!1},lhsId:{name:Ir.lhsId},lhsInto:{name:Ir.lhsInto,defaultValue:!1},rhsDir:{name:Ir.rhsDir},rhsGroup:{name:Ir.rhsGroup,defaultValue:!1},rhsId:{name:Ir.rhsId},rhsInto:{name:Ir.rhsInto,defaultValue:!1},title:{name:Ir.title}},superTypes:[]},Entry:{name:Dh.$type,properties:{axis:{name:Dh.axis,referenceType:tu.$type},value:{name:Dh.value}},superTypes:[]},GitGraph:{name:yi.$type,properties:{accDescr:{name:yi.accDescr},accTitle:{name:yi.accTitle},statements:{name:yi.statements,defaultValue:[]},title:{name:yi.title}},superTypes:[]},Group:{name:_o.$type,properties:{icon:{name:_o.icon},id:{name:_o.id},in:{name:_o.in},title:{name:_o.title}},superTypes:[]},Info:{name:Po.$type,properties:{accDescr:{name:Po.accDescr},accTitle:{name:Po.accTitle},title:{name:Po.title}},superTypes:[]},Item:{name:bo.$type,properties:{classSelector:{name:bo.classSelector},name:{name:bo.name}},superTypes:[]},Junction:{name:Mh.$type,properties:{id:{name:Mh.id},in:{name:Mh.in}},superTypes:[]},Leaf:{name:iu.$type,properties:{classSelector:{name:iu.classSelector},name:{name:iu.name},value:{name:iu.value}},superTypes:[bo.$type]},Merge:{name:Ms.$type,properties:{branch:{name:Ms.branch},id:{name:Ms.id},tags:{name:Ms.tags,defaultValue:[]},type:{name:Ms.type}},superTypes:[Ls.$type]},Option:{name:Fh.$type,properties:{name:{name:Fh.name},value:{name:Fh.value,defaultValue:!1}},superTypes:[]},Packet:{name:Fs.$type,properties:{accDescr:{name:Fs.accDescr},accTitle:{name:Fs.accTitle},blocks:{name:Fs.blocks,defaultValue:[]},title:{name:Fs.title}},superTypes:[]},PacketBlock:{name:Gs.$type,properties:{bits:{name:Gs.bits},end:{name:Gs.end},label:{name:Gs.label},start:{name:Gs.start}},superTypes:[]},Pie:{name:Ti.$type,properties:{accDescr:{name:Ti.accDescr},accTitle:{name:Ti.accTitle},sections:{name:Ti.sections,defaultValue:[]},showData:{name:Ti.showData,defaultValue:!1},title:{name:Ti.title}},superTypes:[]},PieSection:{name:au.$type,properties:{label:{name:au.label},value:{name:au.value}},superTypes:[]},Radar:{name:gi.$type,properties:{accDescr:{name:gi.accDescr},accTitle:{name:gi.accTitle},axes:{name:gi.axes,defaultValue:[]},curves:{name:gi.curves,defaultValue:[]},options:{name:gi.options,defaultValue:[]},title:{name:gi.title}},superTypes:[]},Section:{name:Gh.$type,properties:{classSelector:{name:Gh.classSelector},name:{name:Gh.name}},superTypes:[bo.$type]},Service:{name:Os.$type,properties:{icon:{name:Os.icon},iconText:{name:Os.iconText},id:{name:Os.id},in:{name:Os.in},title:{name:Os.title}},superTypes:[]},Statement:{name:Ls.$type,properties:{},superTypes:[]},Treemap:{name:Us.$type,properties:{accDescr:{name:Us.accDescr},accTitle:{name:Us.accTitle},title:{name:Us.title},TreemapRows:{name:Us.TreemapRows,defaultValue:[]}},superTypes:[]},TreemapRow:{name:Uh.$type,properties:{indent:{name:Uh.indent},item:{name:Uh.item}},superTypes:[]}}}static{ne(this,"MermaidAstReflection")}},ur=new Kx,Ux,lS=ne(()=>Ux??(Ux=wr(`{"$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"),qx,uS=ne(()=>qx??(qx=wr(`{"$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"),zx,fS=ne(()=>zx??(zx=wr(`{"$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"),jx,dS=ne(()=>jx??(jx=wr(`{"$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"),Bx,pS=ne(()=>Bx??(Bx=wr(`{"$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"),Wx,hS=ne(()=>Wx??(Wx=wr(`{"$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"),Vx,mS=ne(()=>Vx??(Vx=wr(`{"$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"),gS={languageId:"architecture",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},yS={languageId:"gitGraph",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},TS={languageId:"info",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},RS={languageId:"packet",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},xS={languageId:"pie",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},vS={languageId:"radar",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},ES={languageId:"treemap",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},pL={AstReflection:ne(()=>new Kx,"AstReflection")},hL={Grammar:ne(()=>lS(),"Grammar"),LanguageMetaData:ne(()=>gS,"LanguageMetaData"),parser:{}},mL={Grammar:ne(()=>uS(),"Grammar"),LanguageMetaData:ne(()=>yS,"LanguageMetaData"),parser:{}},gL={Grammar:ne(()=>fS(),"Grammar"),LanguageMetaData:ne(()=>TS,"LanguageMetaData"),parser:{}},yL={Grammar:ne(()=>dS(),"Grammar"),LanguageMetaData:ne(()=>RS,"LanguageMetaData"),parser:{}},TL={Grammar:ne(()=>pS(),"Grammar"),LanguageMetaData:ne(()=>xS,"LanguageMetaData"),parser:{}},RL={Grammar:ne(()=>hS(),"Grammar"),LanguageMetaData:ne(()=>vS,"LanguageMetaData"),parser:{}},xL={Grammar:ne(()=>mS(),"Grammar"),LanguageMetaData:ne(()=>ES,"LanguageMetaData"),parser:{}},AS=/accDescr(?:[\t ]*:([^\n\r]*)|\s*{([^}]*)})/,$S=/accTitle[\t ]*:([^\n\r]*)/,SS=/title([\t ][^\n\r]*|)/,kS={ACC_DESCR:AS,ACC_TITLE:$S,TITLE:SS},NS=class extends si{static{ne(this,"AbstractMermaidValueConverter")}runConverter(t,e,r){let n=this.runCommonConverter(t,e,r);return n===void 0&&(n=this.runCustomConverter(t,e,r)),n===void 0?super.runConverter(t,e,r):n}runCommonConverter(t,e,r){let n=kS[t.name];if(n===void 0)return;let i=n.exec(e);if(i!==null){if(i[1]!==void 0)return i[1].trim().replace(/[\t ]{2,}/gm," ");if(i[2]!==void 0)return i[2].replace(/^\s*/gm,"").replace(/\s+$/gm,"").replace(/[\t ]{2,}/gm," ").replace(/[\n\r]{2,}/gm,`
|
|
161
|
+
`)}}},EL=class extends NS{static{ne(this,"CommonValueConverter")}runCustomConverter(t,e,r){}},CS=class extends Yr{static{ne(this,"AbstractMermaidTokenBuilder")}constructor(t){super(),this.keywords=new Set(t)}buildKeywordTokens(t,e,r){let n=super.buildKeywordTokens(t,e,r);return n.forEach(i=>{this.keywords.has(i.name)&&i.PATTERN!==void 0&&(i.PATTERN=new RegExp(i.PATTERN.toString()+"(?:(?=%%)|(?!\\S))"))}),n}},$L=class extends CS{static{ne(this,"CommonTokenBuilder")}};export{Ch as a,wh as b,Jl as c,Ph as d,Ge as e,ne as f,pL as g,hL as h,mL as i,gL as j,yL as k,TL as l,RL as m,xL as n,NS as o,EL as p,CS as q};
|