From 5aecb6a072449eb73ce35a6c85c796f5f27423db Mon Sep 17 00:00:00 2001 From: Will McGugan Date: Mon, 17 Jun 2024 12:53:20 +0100 Subject: [PATCH] resources --- .gitignore | 2 +- examples/dictionary.py | 79 ++++++ examples/dictionary.tcss | 25 ++ pyproject.toml | 1 + requirements-dev.lock | 1 + requirements.lock | 1 + src/textual_serve/server.py | 121 ++++++++ src/textual_serve/static/.DS_Store | Bin 0 -> 6148 bytes src/textual_serve/static/css/xterm.css | 191 +++++++++++++ .../RobotoMono-Italic-VariableFont_wght.ttf | Bin 0 -> 197012 bytes .../fonts/RobotoMono-VariableFont_wght.ttf | Bin 0 -> 184172 bytes .../static/images/background.png | Bin 0 -> 59616 bytes src/textual_serve/static/index.html | 1 + src/textual_serve/static/js/textual.js | 263 ++++++++++++++++++ src/textual_serve/templates/app_index.html | 160 +++++++++++ 15 files changed, 844 insertions(+), 1 deletion(-) create mode 100644 examples/dictionary.py create mode 100644 examples/dictionary.tcss create mode 100644 src/textual_serve/server.py create mode 100644 src/textual_serve/static/.DS_Store create mode 100644 src/textual_serve/static/css/xterm.css create mode 100644 src/textual_serve/static/fonts/RobotoMono-Italic-VariableFont_wght.ttf create mode 100644 src/textual_serve/static/fonts/RobotoMono-VariableFont_wght.ttf create mode 100644 src/textual_serve/static/images/background.png create mode 100644 src/textual_serve/static/index.html create mode 100644 src/textual_serve/static/js/textual.js create mode 100644 src/textual_serve/templates/app_index.html diff --git a/.gitignore b/.gitignore index 67c3cf0..2be5544 100644 --- a/.gitignore +++ b/.gitignore @@ -3,7 +3,7 @@ __pycache__/ *.py[cod] *$py.class - +.DS_Store # C extensions *.so diff --git a/examples/dictionary.py b/examples/dictionary.py new file mode 100644 index 0000000..609f984 --- /dev/null +++ b/examples/dictionary.py @@ -0,0 +1,79 @@ +from __future__ import annotations + +try: + import httpx +except ImportError: + raise ImportError("Please install httpx with 'pip install httpx' ") + + +from textual import work +from textual.app import App, ComposeResult +from textual.containers import VerticalScroll +from textual.widgets import Input, Markdown + + +class DictionaryApp(App): + """Searches a dictionary API as-you-type.""" + + CSS_PATH = "dictionary.tcss" + + def compose(self) -> ComposeResult: + yield Input(placeholder="Search for a word") + with VerticalScroll(id="results-container"): + yield Markdown(id="results") + + def on_mount(self) -> None: + """Called when app starts.""" + # Give the input focus, so we can start typing straight away + self.query_one(Input).focus() + + async def on_input_changed(self, message: Input.Changed) -> None: + """A coroutine to handle a text changed message.""" + if message.value: + self.lookup_word(message.value) + else: + # Clear the results + await self.query_one("#results", Markdown).update("") + + @work(exclusive=True) + async def lookup_word(self, word: str) -> None: + """Looks up a word.""" + url = f"https://api.dictionaryapi.dev/api/v2/entries/en/{word}" + + async with httpx.AsyncClient() as client: + response = await client.get(url) + try: + results = response.json() + except Exception: + self.query_one("#results", Markdown).update(response.text) + return + + if word == self.query_one(Input).value: + markdown = self.make_word_markdown(results) + self.query_one("#results", Markdown).update(markdown) + + def make_word_markdown(self, results: object) -> str: + """Convert the results in to markdown.""" + lines = [] + if isinstance(results, dict): + lines.append(f"# {results['title']}") + lines.append(results["message"]) + elif isinstance(results, list): + for result in results: + lines.append(f"# {result['word']}") + lines.append("") + for meaning in result.get("meanings", []): + lines.append(f"_{meaning['partOfSpeech']}_") + lines.append("") + for definition in meaning.get("definitions", []): + lines.append(f" - {definition['definition']}") + lines.append("---") + + return "\n".join(lines) + + +if __name__ == "__main__": + from textual_serve.server import Server + + server = Server(DictionaryApp) + server.serve() diff --git a/examples/dictionary.tcss b/examples/dictionary.tcss new file mode 100644 index 0000000..79d7851 --- /dev/null +++ b/examples/dictionary.tcss @@ -0,0 +1,25 @@ +Screen { + background: $panel; +} + +Input { + dock: top; + margin: 1 0; +} + +#results { + width: 100%; + height: auto; +} + +#results-container { + background: $background 50%; + margin: 0 0 1 0; + height: 100%; + overflow: hidden auto; + border: tall $background; +} + +#results-container:focus { + border: tall $accent; +} diff --git a/pyproject.toml b/pyproject.toml index 4321456..3c1a2bf 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -9,6 +9,7 @@ dependencies = [ "textual>=0.66.0", "aiohttp>=3.9.5", "aiohttp-jinja2>=1.6", + "jinja2>=3.1.4", ] readme = "README.md" requires-python = ">= 3.8" diff --git a/requirements-dev.lock b/requirements-dev.lock index c3af3cf..9b14ec3 100644 --- a/requirements-dev.lock +++ b/requirements-dev.lock @@ -25,6 +25,7 @@ idna==3.7 # via yarl jinja2==3.1.4 # via aiohttp-jinja2 + # via textual-serve linkify-it-py==2.0.3 # via markdown-it-py markdown-it-py==3.0.0 diff --git a/requirements.lock b/requirements.lock index c3af3cf..9b14ec3 100644 --- a/requirements.lock +++ b/requirements.lock @@ -25,6 +25,7 @@ idna==3.7 # via yarl jinja2==3.1.4 # via aiohttp-jinja2 + # via textual-serve linkify-it-py==2.0.3 # via markdown-it-py markdown-it-py==3.0.0 diff --git a/src/textual_serve/server.py b/src/textual_serve/server.py new file mode 100644 index 0000000..4d33eaf --- /dev/null +++ b/src/textual_serve/server.py @@ -0,0 +1,121 @@ +from __future__ import annotations + +import asyncio +import logging +import os +from pathlib import Path +import signal +from typing import Any, Callable + + +import aiohttp_jinja2 +from aiohttp import web +from aiohttp.web_runner import GracefulExit +import jinja2 + +from textual.app import App + +log = logging.getLogger("textual") + + +class Server: + """Serve a Textual app.""" + + def __init__( + self, + app_factory: Callable[[], App], + host: str = "0.0.0.0", + port: int = 8000, + name: str = "Textual App", + public_url: str | None = None, + statics_path: str | os.PathLike = "./static", + templates_path: str | os.PathLike = "./templates", + ): + """_summary_ + + Args: + app_factory: A callable that returns a new App instance. + host: Host of web application. + port: Port for server. + statics_path: Path to statics folder. May be absolute or relative to server.py. + templates_path" Path to templates folder. May be absolute or relative to server.py. + """ + self.app_factory = app_factory + self.host = host + self.port = port + self.name = name + + if public_url is None: + if self.port == 80: + self.public_url = f"http://{self.host}" + else: + self.public_url = f"http://{self.host}:{self.port}" + else: + self.public_url = public_url + + base_path = (Path(__file__) / "../").resolve().absolute() + self.statics_path = base_path / statics_path + self.templates_path = base_path / templates_path + + def request_exit(self, reason: str | None = None) -> None: + """Gracefully exit the application, optionally supplying a reason. + + Args: + reason: The reason for exiting which will be included in the Ganglion server log. + """ + log.info(f"Exiting - {reason if reason else ''}") + raise GracefulExit() + + async def _make_app(self) -> web.Application: + """Make the aiohttp web.Application. + + Returns: + New aiohttp application. + """ + app = web.Application() + + aiohttp_jinja2.setup(app, loader=jinja2.FileSystemLoader(self.templates_path)) + + ROUTES = [ + web.get("/", self.handle_index, name="index"), + web.get("/ws", self.handle_websocket, name="websocket"), + web.static("/static", self.statics_path, show_index=True, name="static"), + ] + app.add_routes(ROUTES) + return app + + async def on_shutdown(self, app: web.Application) -> None: + pass + + def serve(self) -> None: + loop = asyncio.get_event_loop() + loop.add_signal_handler(signal.SIGINT, self.request_exit) + loop.add_signal_handler(signal.SIGTERM, self.request_exit) + web.run_app(self._make_app(), port=self.port, handle_signals=False, loop=loop) + + @aiohttp_jinja2.template("app_index.html") + async def handle_index(self, request: web.Request) -> dict[str, Any]: + router = request.app.router + + def get_url(route: str, **args) -> str: + path = router[route].url_for(**args) + return f"{self.public_url}{path}" + + context = { + "font_size": 14, + "app_websocket_url": get_url("websocket"), + } + context["config"] = { + "static": { + "url": get_url("static", filename="/") + "/", + }, + } + context["application"] = { + "name": self.name, + } + + print(context) + return context + + async def handle_websocket(self, request: web.Request) -> web.Response: + return web.Response() diff --git a/src/textual_serve/static/.DS_Store b/src/textual_serve/static/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..490e2a8d86d9a73bcbac1fb20f5a2088b07920ff GIT binary patch literal 6148 zcmeHK%}(1u5S|SI+d@b_6qTbTjv$dBsD!w^8wE1xfEw%2ABb6;Kdj)FB^OP#dhF@nE__ttujFG2M?9dH&|&@uMQkk3xL=} zw-U6em!KNYpl`6!h!GT_OA&RcFfE4A<>>cJo^P zBah4gGf-z>MNeJ2|4;tk|JRFn#tbk6?}`D@>;~Nq9?9ITONXPo)MF)ux{9|@m7w1v1JO5FX+#eS{}E6$@W2ebDg%!N4sLb; literal 0 HcmV?d00001 diff --git a/src/textual_serve/static/css/xterm.css b/src/textual_serve/static/css/xterm.css new file mode 100644 index 0000000..a28d433 --- /dev/null +++ b/src/textual_serve/static/css/xterm.css @@ -0,0 +1,191 @@ +/** + * Copyright (c) 2014 The xterm.js authors. All rights reserved. + * Copyright (c) 2012-2013, Christopher Jeffrey (MIT License) + * https://github.com/chjj/term.js + * @license MIT + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + * THE SOFTWARE. + * + * Originally forked from (with the author's permission): + * Fabrice Bellard's javascript vt100 for jslinux: + * http://bellard.org/jslinux/ + * Copyright (c) 2011 Fabrice Bellard + * The original design remains. The terminal itself + * has been extended to include xterm CSI codes, among + * other features. + */ + +/** + * Default styles for xterm.js + */ + + .xterm { + cursor: text; + position: relative; + user-select: none; + -ms-user-select: none; + -webkit-user-select: none; +} + +.xterm.focus, +.xterm:focus { + outline: none; +} + +.xterm .xterm-helpers { + position: absolute; + top: 0; + /** + * The z-index of the helpers must be higher than the canvases in order for + * IMEs to appear on top. + */ + z-index: 5; +} + +.xterm .xterm-helper-textarea { + padding: 0; + border: 0; + margin: 0; + /* Move textarea out of the screen to the far left, so that the cursor is not visible */ + position: absolute; + opacity: 0; + left: -9999em; + top: 0; + width: 0; + height: 0; + z-index: -5; + /** Prevent wrapping so the IME appears against the textarea at the correct position */ + white-space: nowrap; + overflow: hidden; + resize: none; +} + +.xterm .composition-view { + /* TODO: Composition position got messed up somewhere */ + background: #000; + color: #FFF; + display: none; + position: absolute; + white-space: nowrap; + z-index: 1; +} + +.xterm .composition-view.active { + display: block; +} + +.xterm .xterm-viewport { + /* On OS X this is required in order for the scroll bar to appear fully opaque */ + background-color: #000; + overflow-y: scroll; + cursor: default; + position: absolute; + right: 0; + left: 0; + top: 0; + bottom: 0; +} + +.xterm .xterm-screen { + position: relative; +} + +.xterm .xterm-screen canvas { + position: absolute; + left: 0; + top: 0; +} + +.xterm .xterm-scroll-area { + visibility: hidden; +} + +.xterm-char-measure-element { + display: inline-block; + visibility: hidden; + position: absolute; + top: 0; + left: -9999em; + line-height: normal; +} + +.xterm.enable-mouse-events { + /* When mouse events are enabled (eg. tmux), revert to the standard pointer cursor */ + cursor: default; +} + +.xterm.xterm-cursor-pointer, +.xterm .xterm-cursor-pointer { + cursor: pointer; +} + +.xterm.column-select.focus { + /* Column selection mode */ + cursor: crosshair; +} + +.xterm .xterm-accessibility, +.xterm .xterm-message { + position: absolute; + left: 0; + top: 0; + bottom: 0; + z-index: 10; + color: transparent; +} + +.xterm .live-region { + position: absolute; + left: -9999px; + width: 1px; + height: 1px; + overflow: hidden; +} + +.xterm-dim { + opacity: 0.5; +} + +.xterm-underline-1 { text-decoration: underline; } +.xterm-underline-2 { text-decoration: double underline; } +.xterm-underline-3 { text-decoration: wavy underline; } +.xterm-underline-4 { text-decoration: dotted underline; } +.xterm-underline-5 { text-decoration: dashed underline; } + +.xterm-strikethrough { + text-decoration: line-through; +} + +.xterm-screen .xterm-decoration-container .xterm-decoration { + z-index: 6; + position: absolute; +} + +.xterm-decoration-overview-ruler { + z-index: 7; + position: absolute; + top: 0; + right: 0; + pointer-events: none; +} + +.xterm-decoration-top { + z-index: 2; + position: relative; +} diff --git a/src/textual_serve/static/fonts/RobotoMono-Italic-VariableFont_wght.ttf b/src/textual_serve/static/fonts/RobotoMono-Italic-VariableFont_wght.ttf new file mode 100644 index 0000000000000000000000000000000000000000..1a4d6948d68a5049624d9cd1124041afed10e130 GIT binary patch literal 197012 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

a$#XdMFvp+2{@_)8r-GwnY-GTe4OZqq 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 D+5m9O literal 0 HcmV?d00001 diff --git a/src/textual_serve/static/fonts/RobotoMono-VariableFont_wght.ttf b/src/textual_serve/static/fonts/RobotoMono-VariableFont_wght.ttf new file mode 100644 index 0000000000000000000000000000000000000000..fc02de43ec4a896bc5eca47399b17bbb47eaca5c GIT binary patch literal 184172 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%0D3Od)Jh2ZPZDqbUF2UY&wFYTK;rzm#oMKkoRXfR} zQ?eaur|z!Kj;@}5xI<1+c#k1KBO*3Yuh)gAq-MflD{FazY)*nS3s6aE^~i9)Y18VA zWUZe;1ZYNN1H;=DVG}_jT|x|EP;iz71+H9`zh+Htc6vgz#x^xQ>(W=buZ*X`kZI4A z@k@|_=k&lXSTQZ zf=7Gtjv6!C8F1BEBk3o(Pm_L*;&;@a7-!s<+sMvR$rzjS72)|l`TvLF&aG^!2agBW zyt#49hZ%Wb?AFbJ2u>}xCN9bV|SK`-+{FQtw_r1L%2aSLW?0n5X_9{&60#BHS2 zIHP+h&-?H=sAe2r_MW(vAIFHUd+B*UMpWl|jk=W|1N|Znu%-0~aC^3T*?~8)`=(s< zOIXoov9g1oeRkirRsNju%90cBy%!x5s!<|w9YT@eG;{jR&F~@A+x(CnBFUCv%eFlX z?8}!!-umm?UwvCU%~vDs+2fDjuJ0TiXY-|jA>lB;S?j-Ek3#ps6E4q|Z~FneaxU?Q zjAFRq^k;|v@|VASaO|r}_@<9d&J;#2%)(V&9G{$;92W@JwCIEseeBBJ`wk#+;-e32 zPSR@Ca3d=OF1lYt+~((B-UP?c-&21;+|_TXLpWCdNWDrwAIoT~s=7xId??d|Mx|wU zcQ!S2%n8F%l1XALuCbCNuiuWIudr>heJ}KE8!J5{BRbfZD_~nj`flHfih-AePHO4C z)6vt@^WjF@zuML>wk@7qEJ0?AINLt<8^?;Pm=%(+%$$6vqO#MH!gWB4PzWF+kTg{$ ziQ4|~Q!o7Vhd+Ahr_VfcU&!R0n^z(DFP2r-8{xQ*6vc%CyKidTlmCj8YlVWJ?Onbi zGd&{_sdI?5^IV7jcn^7&^`yA1j+4mbc*nKg-RL5mpEl?W{z3bmb^bFHxBBO>tlC^B z`akpA|NG0hjm{VMzaGl>pXVO2Q~v<_EN#wsr|?1BOfR6|WkRnJ0VWZYVDw-nlVGE>}uP94LwU zFd$nOms2RRjG2rR6HRBoJc>-SW^P1MW5Cy(9i zp<$?dkyup3KYsGkjoJZ5<4V$FzMG_{r3bNIHoDNCXsKtQ8lOW-W@yYgKy8dnTao9? zH2crYpBo1`kbV_d`1bYZMrUxBV7a8?|6!ezaCz?h$7{~5l{1imk*-$U=(9L`5UuCv z6}d;)PkrA}+|(@#jOUr3L_LKf)_=4P+-e>}iwj=HTY~W-1DgjQZsP=KMcqsJQ-j`B zd(r*<>b=m}l!EG}8a&DaXbTE0C;gx4vu7DMj*Zw~ z98QVpMqh+1nEA)Dz^$YWHJH7e>&&pvxn-1;C!A2?pt zi4gP_FMSZ82X}7^|J$0`SZVdHUb(e6iW-`|tiW!RA9AfIvMR`%50}LryQX;vD`4sT z3-F63FD(#B;kd_3i2%>$1_g(?Kvy=O1?@;-tQ{uR`Uboi?z<0 z3Ei%tfQ8S&=3a_x=gvL;zv%b^vF9Fq3k3gtyv%SST$)F{(1|_^VeKCE_`u%K;)Naw z9*?>B>^8p{n3pOqS|tq?ig|awiQLM^Q96`&((jFI$}uvFmzD)shjlKx7+exzPZt0T z0DQvEeubcr(6(Nh<=_@@9~>p{OZq6_3XrfH4s z`_zBZJ$!nwn`YVUHQwEMYiut8SG$1fb?hv9jAnW8ECxN9bJ@_{`gj^Vn4moG=--F5 zuJBTRKR8+HrMw>UROIE>5rsLqd*ZuBiiKdc--ISzBX#SM89UMB+KF!K=LA_lcbw~o z)Z~yEKO^K3m&|ZmKfiM@bAoc9m%G(;g#4t~S(97KL$It2c-f7_0F?IV&lv8HQ!YB;oYOW0 zXkc=vIaZS!fBr`JbHm9WH;(?&!BIY?Eg+g5*K8J0&p5tVjRb!7Z`^n)LctK%S>Zfvbrc7mG^e6V~w3BbX*OV(mx~gSx@?5LXY*N+ePC=PkIn3-|k62Md%t& z`UOG{_M|^W=wEo!e?aJ8x#;(1+V&Fp!XJOR=F>6WZwT4PRsJ4-aQYNbc-~owm3@bfqGFC8|NQfml&-Fnl)94h-(Evp;`Phti|YU_ zRoBc9%|!S^W+=a^~c%=+0rLxk%uB=Q+L4U1dgUwA1H_I-;NjD`pI0#U^<4wgMe|U)WHzp$^C#R*w zW@~9_=$xEq!~K;#KiS!klateMqv$k&**bB$=te^h!y1>%k>5f-K3*6EXb_DqYT5EE z*x2ByF%HF#zb-b@o}SsEm;HaS&pzO@k6X4%p7}RsWrXrKyvhSqWeSzT3(FKY8XGft zg0CsT5bh=vS=RyB`2jkL&$CZF&{ki2uTOhk`=0Apd>(-l#D^zO6Ch47jW@tOLvaTj za~p{^fv_l(!pKQJj-o8e%@L9>tT0vV3fWabGJ6^g{F;GRsaFT6}NBno=v2yr`UNXN}_s&!v^{TkNvU2TO64CU+3p;`JyLqR9vKqMW z9!a^oXc$#zPEKlL{xjP;{Bv@`!g6wu;n&!S!gXb@aD!J{ttyp)tx{R7&UdG~#GEUp z&&uew8G6Cr-Us*Zd=Jx~%jlk2+Sl=&+g`o~-2qMcJGkOTKMeYe7y5C~*k<0QQXEHUz_~THmu)Xo=M22##}x{iRxpat&@H<2z+e<_xN~w~ z;MOf*7PFMt*KBcOqS(MoNl_|oHfMft)b4EI_U%J$KNY;0@~lw!blmHlmwOH~tn|7% z1NDx9U00W$ZlGQ?Q0a^!GICqiHCx8juZD-ex|(IXmbKNfgOt!|)h8X%G#vvRlg zwzfCxzRN$7_MBY)MC_Za=Q@r!Bo1}LDRijE4O9xFNKD+5+$vu?QfjfBAIg(7>-RIP yF{#u*&h>DZWoDkBMS9ku_RoVM>Qk7l%c$fwh#y^NG}40 zPB;RB)F@R#6A&VV9w2nSl>|J;;Jx>Ip8MbX9v&fNv$OYFGqYxX^P5@Q;47EaxVG?b z;o#ulQonFki-Tjk2nWXoqfHyYk;$8$&ERF7)hW$W931IkTjx#JgZG?HT56{`QfmeK z!JEzY7xbMtIJWXKzBxI?p{b3~{e<7o(|Ge`3KQ@}S<+vINDBd@}K)P{1a?g{Osv<99jvYIh zdxEI#`GZHBe$OJ-aGE+_kF9>S*R|g0+}lS1_q6u(JyDtRi5eMp^WCym^qW;?T64AZ z+?fpZDEJ|7l`x{6ud%LIMi$X3GBw3>AH`@aiEt_3#%UBsXl}*I+c}kucDpYP{UpsuIZ5{mrn1?vyrB|5lj`G7Hhn7p$$g3QSaK?Qhi*QPs-GF za1{2)P$Ee)%ILrk^~snYXyYEj7y1wNFPH)5_t3*aVT(9;^KrcddbadfQ(3OYLD)lb zsR6DG+Y(t@{f2k;nPNV&r&>If{64Zm{zY&v`i3LI)ym4K0rE!+Rv+yhf&F;YaBEwO zjs(nFaEp2;rm2q_GU5=TrpS90mG_(|79Mp5$(wKh++=7PKji|m7FUj#j6qF)!JNN_ zOUw3#&*c%t_yPrB)>8`_sO|xEMWSs6ej+svnLFIOUvztgDCvS5syJl5E2Ne@jo7V@ zdSYjbZStpFIwd@VTbBq zJ{hRyF8S;{0jR2jEHC|l2vv)yI?I>=*>1`i(PRQk;4t&@4&yLugY`d76)7N!Z7+Vk z!{opwk@J^0B)iF8MjVoT_-m-{5p^8ZnzJ-V;@v(&x(>?l;8`t!qH963`#*eeSsvVB zm;WDwdmmXP=z!oe;08n0s;%yBROTEDlFlUlP!9uRX{B!xDQm}U$^CeEL3zrB5IoLr z`j(@6DM>8k?Z^(*hwq_lg09k;Qas}K6~6l`YGX5Pdunt_2o822DMY{_8c5N8-^jT; zI9N35V*6l=8ewefy$h-9+w8x(O~foT0`s4Q&5y5I2S3Q0M5c^T5mlw9Q2Q6jV2CuA z4Czee#1JQ}{QD?uZj1DBp!PJeA$)hNSV$Zg&0rY0?a+6=X9r@n%g`Y=*O)ah1RMi2 z@-RO1yjP*tGK99UAFcIUaH336LL&3|+ zuT%J_&biiS?l#eMT>+n&4ii*&N(lHleNx3P0z0V#d^Qu(ps#?B&k8l1hgW(GsgHOh zKBpSr=L_uVj1OsZ%F2X_6&VU-NbhLq>+c{(xU&${6NO~Erru<7>Gxr~hU5K<9!~Qk zHq=3lb)EH36ebM0y$G%VQFNopAKM9=J1K)25rka2Zv*rzb`yV8%$KXU#W!Lh1!CS8 z;r!m6(PAM)7P6@G8AkU_#(+qr?_Jyjf^8z+nOLZdqzSan4UgzgDL)}AX&cCPF1S1v zSLC&0M4i`#P#Tg~mm3p-b!kS_V)ezFE2#N4AWA-oI(f7KKr_K&ES7wBmIg^ULn8P| zXZ}Ffg}xOF$r!;lW6qlhc!%M4!uo9z06<`%J7S+_-SDeW5EhS+>j9)7Lao{d_X@~$ zmw7+_h9J31{LwbJcZe>-SqehjBZGq*H>?TrRs&GLW*z5QZ|<~<0I#r=;Iofl&Hdm9 znt{#kyasdVM0b%k*<==T`O|Y+q$@$-EPFdg2_~OyC;{*Ls1|bQvRUc!8vGZ>Osi5A zyLCKsd1AX%ALcWEKxgspo?3)2nDHb!xC6job3K`hweP?|eBcMB+F$WTI@aE=#$lz$Gwb6Zv>KN))m6kz6h!7A;P9VTp1)a@66i(bd2+{>Y=b%Rz zxpb0to+I6kw00d&&!GBxp1HW6fUzi;3?xBSZ;XX|YH^kZJ>ZKSj2uc119DCT7$myE zA(Ns{2p-!1p$0!@eDFQo8Gxm0jDhb(qiXYBpU7Lgma~+2z;Dl(>>Um>Um)bVA52s? zzI7sIO^~OSPcP#R{p$H~!3i~XQ%b7S(#7QW>v={bIVCH}f{Ih!nr>n?i(4hOikvU4 z!SA4-Fp@(nNI&>7ccYc15i&XF^@-zPdef8;4l|RejX*)o09XOJGIZ*bi@(MpISk~L zD0U7$8%|X(*_fx>AL_Gr zci@#kd>Sss*cEc8Ol)Sc(MUkkx`1#P(!3EIAs-BEK-T-#Br;S%q!0{Qb_sAdz}^kD zU*}G_D)f)(GLW_s;p9|#Xa2Bz2H#?uuQ$#K>kg3Xv{k5d=B*UxND&!dXDxg(!nfMkntch`$2zk7Q?-5G z;_&V!bv=f;eavsW=^C?5qFY4P z{QD?}<|K!i4*REfsIL3vB+qL2b4Sz2oot7t)&%`>nrfIQM|wDpm;E$RuUl(=#gv~# z?{Pmce|D9ZZH%!zss(cab`=dDUV|wL}2)0Q-0!w42B9UDwmo^Cp z91db1o;LHS6Z>I^hUzxXv#YF;M|GR_YHPf`rhC;G65y)ItJW-7P3zbU|1$fX!+4ap ziI%RiZS5#Oy;T+}$!=s<1(O~I@VsFY$mfIX^4`={^6oObN5IZhXw|O!)%CnO1M}1S zgKZhzD4saOE}HGD?DoF-voG)1r^{Hm?8f)wgo=Kp{~@+9%2;xiV%UXqp3M$_NUG@X zVjG=8qnOBbr&St_Wf;C_sae+y!FBB~-s^(p?=-EvjT*xy$43bpd6L-Yd5nFGVZbfR z+~a|-5--!0J@BVAlevDmzsRmw;Q)^A2zG;I*r4cHHYfM$u!hS2_j&^QJ+b~Oo3L(e z=_+yFg*UO0`{nk24f7VVyPvbo_47{VpxR2iAGQB-I)@ew^VU$0ebyNE&odlNWK=S{ z6psBqCY0=4J<)YMB?_yYT%TA{|GJfPzgczA8|@ovT_yJvxP;`krkj~dKk@}XU2YZQ5{P?xVts8$LvXi!J0W*z^TyZdO?`ifAq55jq1zv4W78NrlA3}e zTSxkJ?K zCv=~q9t#E)w51+yJlep0VWi}uv0U@9ioD6(?82TiRn*SMN=sqFTWoTP#nduSU31jM zj!x%Gdc6~4WanqCP2;mvOgXi_ymxX0>obh%a#8lcrzVWgCM5J)Jge7v=`l6bHTHa0 zQ{WR)Ra1w>&|#&ysltl6NkYM535r^KySJ*pM-4;bBB>}$wYA=#>7CqK(Q|sXpn&M^ z?XeL2y>N7oa#L<)ii`JD!D2e^Oj(qTl0X(?4C$VGl8ocB37)oaX?)+FDnbM+`zi5;j>T4 zXX`P_DNHKWn`@z9CIBxpfS*X1l~q-PAMx8G!CAV}{LC)HSEca;;%a)1f21O@~Gb zt?Ain&4<#Ohf*IB4|zx=XAdVrk{S$0HrZHtqrUFCE}Jdtp&XvC*hJc>ve3;+ud&Ug0zCpZE>iJOey&7n;*xtIcNsFWJ2ojd zA))ez^SIuhPaW$+2$|{1kG#Z{hL2ps=u{3_8=$jw&(p<50$t+0HJ>|XiwP?}Q4+!? z_k}`8BNv5A!tGMET4{qW{er?K{Z5H6-@ako^R!JLN_sx-Mil>{`tX5(L(d_&|4ug`r3JbXV`|Jqr1ZnOQer_?6XtveT|TFYKAOaEC>wzm+A$r?liYuRwbPHz zixb@{Ql=vyNBG!+Nen5B(?)ZQ!QzbPC5o0lg_Zj(bqR+Rjy2gC&6c$iUHX@ZRAC=6 zrN#X3lSMWKm!rg}by+SIHA|z4Ei|{}cO5N+j%QwryA;8xyDDg-dyK6{j0%fAJGaG$~iPDj3j2&9#eA19w4?+7iUy|YE33r@~_O~F*q%JNcd_T5S@=>Zp0<0pkVr^e(*csH=bJ%7XBT!sehcI*c{&C@D_K@F=;XnyS}u@}70# ze$!9!J6XZhuhZ{!Vb$)m7VXLuvXSfBKL<93;$AREd@WZPv#co9tn>b4sbl6d> z<)2$chV={DZ2!><0O%RX$b2RpWW8smh+LNcFG#jXfM%abpJ7rT@1! zVFMP$Z+(uzURgHJb&K7ZdfxlJ4{X>bGR#h6@z-&5FD9}tQ(%<;FH7cd?{)U2hjm_K z_J=AvFLdi7SYT;=$H|%Qx$FxJNUHERR9WB8{Aa~7MKBDDXZJ6B>^Zs+V+BZYIy9m# z9ax{s79i@%kY(g^7w=VV=H6_`MkNHH2Z)zMLotn!vH z8gI>(Kp8JR_Vsx|F8!GMkUTmtv4{jIDEL{Dds3R32Kp;Ny<)(~pmmowH!@o6TxT>C z@XnP-f2a$?460ltOe5vz`&-DMQ{}QxF4V%RJHEy$4@vv{0=c^tOB;DCWrL{glY3#-GD5Z!u%Szge3-V^8$Q8oWtf?P^;Z7h8;TUQ9vUt z6;-8%8wqZqW)#zG(rit9r{~F4#TW5b!f;`M5&!aRv9wm*S)bR7iBR6VDs5vxQ z#WhuhUL=dpRtcDlEi2C;RT#UaP0@XuC>Fw0<1~XVC*$m5Y9B?;n4UaE7a+wgO^Cf{ zn^`(IdEq*Z62h#(G<47|DS&>S#=l5QtWevf0QEfQgcNyAP(ls#v%Mcu$x881$wov>;c@N(_2{ujAW0)DeVxh# zi2f?-3I6@U9F|<#b4@F7W4=#E#1>e8H0sno(7uwq)6wZMPhjABp6FfMQ-x7mh4cJC z4eLhFx4c4Skj8)erZ7+zM+rC$YE=dTMXEt1)9x`iq`m(<^5DZDWJoZh}vT#X(< zk3m2+=Bdd;f$c-EqY;fVYl6D0DyQ$N5J4MTk>F)|_v zaF+6%-zHjeeNTFL)taCea>~yGwhIVTw+m$jZeKdn%_#eoB~8-zp$$fU+sHT~y8+ZpcW19HwI0>kkX_sXmG(u`0+*8|UsD^$#8h@9nClD1Xu;omo5U6lIW%NL~PxoG4a`YXs3nqw2 z>c}VMDdhY}!IPy$ljf!2i&U4RO59-^h33Zccy@07YX|39MoS%v+uq zP@`|oeJGvjZqs83*$&qGA-{M~cw`hG@8jPWIm27(F=a+zC}4&hW`J?K&sjS9*YGpL zgN8S&YKurwDTN;XA zR!I`Wp?w3ti?x@({yDR2fYp2pjhld7os5Z_i1{+b_{jtor4}>|%l6pFw{0WsH>T3= z{K}fUfFxsP?X#{aB|Tr2c54F4jGEe_vkL2ij96|+ zoE?51GhMT)E_CWQ=|b~ha$g5~3Sa>pN!`e^3V$&K+VMW~X={Pam}CAgRcDTv(;Q#e z#Zc0Rt;{>YxwDSKq=}YO$p|p4|qt|4=r}wziUG&y!{RHwQ679nS5T zu`OGf;~L1t%-IvBFOZA zjz@0f#;UCMF#D1a0x>Ab&UjVsS;;O?wU>VGHMOg9lT}sURe7Q4Z-=*8G?d8B0DQW~ zv8uiuXffNRz`pSB{?^7pU4ORk?GAS1V5dtwS1m(^ZEfc)t;y$;$Yx8ykKp{=dpE9j zFO?9H#g3F-F81687)1sDZ@kMY`(&i+nVCn}Wb^*FV*_^2URHe%!dn{AV^s#bTEFZL zBaGn#!OCN2a*m1mt?HmywP+u&|Lt89k`TKC*_Z6<()*{?B!s4J&GGFfzYzpueg&)N zmmt1+l+KNV-J`OKt2-A~GceAdAR@mryKdku{-0L<;ngdjqgysVkzKG4*gZ!WLn>)4 z*6fa8Rb?44Ck#)b>ubMCpTC>$dym+R;qb^+L>C}7R_Wlk_OvQ6F@(MN?O$OnsMF{lm{2PHHK0c9gfXajHD5sI3gO$>|L6Vu=z{O zW_RaUu&^yz$IEmMwN)aNfiw#4kd+u6e06PeVng1}gp)@3H{W)2)|MIwP^2CkipdR( z1(DCjEmRNgutHp&ajr{K>aG?ilbz`&00tSgcSKBG=$X^cYJhC#wxl~KwItR=EksIZ zzC_mzr@bYC6be*6Y-mAvnM$%n=g0)i;m1s#hZgEhuFoaUx@1V01*5_k?^<PVKzh zuilfW+3IjFR+`buQCsK^^B;AWw`oKzT}1s;7Zv>bqo^R! zyYGQYVRr|7;YZ%>cK!K9%S=VSK&vOdn!X6MrO}j^+Z@^0q|3a8Hn=cYxHg0!;bCNQ zY2QekFz!MJ{JOi(#IDrt(z?+v)Z(6Qdv~9LF=O}Jg`Kl{3q21|B!iLcv?|0$ALsTcm8tP(UDUqxqLdWc5`kh8e}+zfKU$@&$oql* z{`=`X3MJ(3XHZVgWff)JX8XxE2>lX_p2W0dpaf>Y&cS^?n0zS8{fFAf%-K3j?9qO> z%5|^)$adJmUrrNCEqnhS&I)@wLWn%-9C0{;x`4IscqbDPsr_DsJIr+G0^aHG`Vb;YnqDEVx1zl%4o?v zzDJ^Zu#mn{Zh#3wCu6?OHS3|C2>CKh;_MAvX04@J7r>nrD)yk3HtvK~i^QJO$Emd< zY4MGu}2QY^9s1@CqYw1^}-Fr^PR><~O+vyLQb&SgkDG(hG& ztxZ6|`F-=jBn-K<3yztS&nvRM3~Xlff)Pj5`FgMjI775rWUe zp8>yY5q00#yu&He%D1uXgNtDCher8);G3Q zU$bY3TdPjY*kMAm!ThR-VhzTv|cSOv{nu~MLfx`48=8&4mcc|9txUs-b~%I(jY z`7@YFS+_GDJwp`~e~Q`@(n+bk*AE-H9ZJJ|?z%Or(&vTVm#78K8bfRsn2FspvW$73C$6ENObyIqx!wn8BzlcDU$E z2n%uF6H@W;Inht0M@27jC%Ig{QfW!$e$t$eaSE7n^6x`NoU$O5%$)Irewj)iOx|x4 z5~c~y?x?DT7Nboy5BbJEBBu5go15kl>zey%vpp8Aw4sV9?Ckr)`H%rYb%O3oMT| z?WLxTe7)YmgSSe{q#R8#Gp`Zzg(MGp%<8$@o|&V~mOm+{%Pne*yTv7qoh;8^Bo2B^ z`Ap>wMZHL+yA|3l?jy-AbquRCFLsg_JAFD|j~LN|Rc00&?k-JklvAD`EixK9-{uZ> zD9yuaYVcs!7N{G89Djk)MBDpp5_Iu0*`n=Th(z=fl}_a>Js31ShW2?GRkWapQ;CpB z>ulBQni1a3*NG?M6N?r{ueG8>=(w;Dg4oP-;1jy?Q;kgkriYgKle`{N2M{B1);x4*WKAcHCI6 zhR#o&O-OAH*`@6EmSS3%Hm0D2ppw74WciFVQ97Q(iV&`2L%1j9nnt9O@P$t_9AI$Y z4bPW`l{0(pLEru0f=x2mY2~d8qK?C-J0eJ4VZi@HRlW4v1De&bAH^d5ZYfwk&A`E0 z#jb(g<9x6yY63J(z&m*d#`@8|N{bb|5~!tX<6(WEOZl3BX!flXnUjD>d#42qkUub# zqg$Vs2khG7Ff;6|2MLXHWjwlWY8J@1_Ja${g=BD;Z4wrW^fm31Hkt3=h2#zFD~h1J z*zyHzubM`O<6v`%P+R1Ky8_$i!T{%3d6WtY#mkgNe|f04?-31Uuh9>_-k=7(yyKCK z_Br#f{c@#LnpJ*nbuE}cpF-|}VP7(Env9P7Bkh2JAb_@^Pqo$LxU7@X4~oQOIVFq9 zGLWK9^qk5F&{z@r+Xu99CFmj0#trvB^##4aGGJLW?oge-&tZ1kJ8W~1w-z9y+=+1n zI4IUUtR!s{@fpVu8r!Q}KbpQJAKY!f`zxTR1w*X00t?+1N4pK|7Rry>woiuXR!7di z5G4f1L5a2v0Vaje)W(JYUDp(ZZo^jZFsfX`c~ofIIDE-^IM%n|P0n0Y#~X0wXL>xB zryx3v{0fRJNzxI3JzV^Qa8;mTL$jSjbKi8xrRIIDV}^?zkxTQwi6LnMpzrEFRSuj% zIECWS@&^oYTps1%&>H@G>b|ceHEt#s}#p`kHhQ_Wx?g7!0&^DSB58QlL#LT^a6rUzdF8-Cob+%ZvSak z=|jXt?R7!dh1V---nK{P)*R{L%tYb6hKBfdO}MU;=)D{lDz?#;(L%k6mxmiPpr|e9 zkT-7%+GwaMJvL#Xya8sZ#?KZgLu$dkVL7YYBe->@@_Dzr6z7;HGb8j1I1RcLMg8Pu zb@m?HiPyJO16TID{WFi>ww-mF5NPE-totXctF~bu9+ZXsS8~E_k9yP@CB>I=%#zrx zmyt$-tlH(R-4KxuVxiPZx^wryN-iv83G(qxtSo&KsJ(o)SSbMQ5!pJ^3z8D|(@f^z zlg2?_9=E|i?N<5}ML@ClpqISoN?ZDd^L)#E#x2%Oe;}5D_cpx0m*pjgf@K*ttPN@e zwcnre16hd^?}L)%Om0I7LzU?$Qs`D@U$7=G?}Ibi+RL>uKaEYyiTqSfs5z$5X7{)b zOFGX_a5|KSj+gcKv$~@nDdeOSfY2DWoNWF5w>*9Yq$>ckcv^(mVVUGmhM6rV94CN897Ij_v1*5axk|tCXKyTqRS@NAyZWb{yo`S3 zGAHx*H@#0_TLhyYKN13JSZ|$|RmyX3a}ZE>wzY$zYA z7$7j^p&A$*{PFdP1^c|4Om$yzb3U^9XXSmZrD;J%@7FA=ayTm!!k*xiT5c?#~U^82z`*mFM?u z^cu|1{U38&$v&N5URV<}xjCq@ttrLodMl&zUqnN-z#DD(&uU~{GOR_$Pp^_y8D$hA zKU*A@lS`Ms&0?2so&Y6MhGFhb+s$Ma`5_R#z*yj*Sf7RfJKLGK!g=1bXRXnRKX>9y z1d3U`@~RL(XZ##tS^7Uh5XJ+YL9OR>o?nWA&W`KjOLYSgNbfjW?cOKN`GY1!6Jx0i)yGQZ{)ee8lK;` zTfhOXWY8y6ir~qX04`wo$GQHBgjnM?MY+|9s zP6D9^|1n8>K{)6@XZ;cIxor+k9??u1LbcCc8S5vnzub)A$LTmvPip2XXRTJUM)mRS zZ+Us*SZ@bb}V z@sAko>7_rt!QZCKEauH`U`euOe;L#W%+)-4oc}n@>U-F<-S(*6@~#}e501B!y@vi} zx|$%6`u7K}a9%uuwasE8LMx~LwF4p|)Cyt6T+oSsiO~tlnhcMic!QY8iWI)dL-h-@ z;29m4wQ?Nj`T8@7Pm1Bey#{uX-LqvY|ye>;!UJ}0@B{j5ymPaElH zGdos`)&v6zgahMP*%hO@!dc%H1E${73;LQ@(2$0z_(8Cxfb$NI{(yHY z>*?L2G@u1zJEqJ345CWY+U5QxmyKI{xj-;#3q7>V8t>s*@fo(P(|1Bd0{*Rf{0;t- zPXT0lSC~<|5(|NtyWK&206yZ?Ti^s(;Z*bA5d#?9qqI<#v_YSv*=sOP22fnqy!ZL5O56$fPEG8S3~u-%oK8cp%-t*nNtJ=^p-(pj6GEXZqv46^b1CJB@!fGHqZm{kK~)d(JU$DIzVIFMo~uXWVAM-^Uhfx>xqq0lbMzHWq*^ zuL;olrgvc_-1L3R8V@*w`KbvJh9t4tl$7i6^m0cu{at~}45egUYU2cB5X}=tgmw_Uf_@AuCD8E<` zh(P6+p*G-A%b##`gWTYHHS0v69EPVde|d+c=5-shpUDXxzQ*)p92__OSV#p1&|3XU zA??aCfL8c79ALl^*17v2fN5qRfqL~#|EwE(cck_AE3a329Jf6J{+a=WSPnB5Afc_x z3z%s$fsp0s48~v&&>_n;1p;~DQz2bvnA3SR%vj$md-2vX;uKiC-IJ_yfn~G&`KK7p z((lRNeoR#=ELUUhc73&&B>y{LB!M89`=)W^Gz%`tfS~#Jx+`o7S?D6}zuLIsKV8wTUSxMge7d#IH zYq!t#PrK#LM@IBWyL~cisKtSmki<5vD`ll;kHBtSJFv=O|MqgXSaHWscW|PfK!8!f zhG#|IQz)W7x{y4fgSrmLETq%?bWw6Efue|`AEf@ZadFaD2X_I9Y535rDclH|xsf4# zwV`hfp+A~@u&NfM+ssD@5w7Cg=kPP_oeS;xuHII(;vrIzCW^U385SQ>NSU8nbUoBT z{;|*)pxZE)q**}tGMB_fA%?mNtEqr)n}_(Px?U*n?%3Y+{J124wDL53NgZs}jt>D( zD+(inm#4a4G5E!c$C@*D9@}Cv%cRYW?-MT_gFA_mgF_uTjN$! zBu{&64mOl@5~u5rf?|O0AmQmQK0<{RYW{6i* zrnEy--vlp#i@CR(*>fga4<0AraSl9PKxUZiHD-rgIyn(-3R|3pA3w|onnO}l$e>YV zc0Qwt7BxBjAT^3Uqe30wN~@w3E5BG_&S%a;Kup zx3_Z2Q+h*{8~ccEtqU88=x?v{eP8+-GW%B;JuHc0jAsgYSb|LtupZF&GHpXkFE{S+ zq9yFk3Y;A7ULtk0Z`8lubtQxTP%Nn4KzsASLjC={SC<0@$o(6V91e<>AkE(B*OVC@mG*Up*X%-m zyd`rgGp1YEEsE0Sln0L@u9bdDE~=-^T!Z1!cAa=rd=!0ZMtNa=c&0B`qC+`9l|PBU zXWC6rzQ?3!p`u>5{Y3t8;V@E|Y+0~%vL;DU8Ad7X`?}bWS3myeNRbjuqBB)UK&Cc1 zq(19-fiEI&X+U5@NL*7Sj_7JjG!l#o7f?aBW8!w3*gT}AdX7(QtsA@2)6Lm4sVgiW zol|J-+K$Uo)(IVV^&F(sN9BsbtYq4SHN$qBYx{mrBf;>tCU|`Q;ZAtA%CyN+*OPqZ ziG?aBnyKyS2ERRl8%qBsq_;?m1C~)o07o|a?Dw@eydp;Gu$snNvw3nG{k4@s5q)vQ zwxUPQx68mT$GoR{be}+e39Wp1)aV5XFWqrczQOl4;zM&^xyD$*ES=;F&z`cX4eN_) zDKc5g$91+EO}OcHN-q_*pYxsSUYf#k`u1t`bmoqZ)PzyKEXmdS4ox|JPiw~u;qra; zmljbU9T3w^GPajU9=@}S1~jmFrzAUcGAuiW(sn~xOeL%5xt*Jj&3wKt#i3J8R-`gU z(0aJ#FeV^bb78k~cw4tcU1SJEo-k8U>s|Pz##8kX`8&J<)l`NcJtCyPKEVfUD5FJs zDo=xESdAd*F^+vB3E*HQb$(wvG-mS@@x+;8#VDWV+@8*P|7UVFuGim=)eW`RUa}i- z4fUn`^|+_g=jM0I{;8_E9-I1w_uTKC96blWdujB%H*;2ud(l(v81YO<#m2z5AW!g& z^?aMl#`Cr9O+(+u!ex$sIskM1&}2(_9tJxZF2Ft4(<-;r5jtWN3)%`H&(IcH7InRN@Pgfm zb#AfLVhPa)rEI@MZ?>Bc88M73CwYDApFG<6WuI~G!ne0Y)%HRX31Jh{WBn&- z*;WCx1usKPSTn^OWvHTZ`Lc=1$$fD2+~CQ^A>_QXY+cWcd*9?j&(W-Xf(n_g^Yngq z*Re@#S7wp}YUpLzmD!HhRIAwo?ZTHkwfB)OmDB2)AM_B~ySCm3MmeJ^ELfSHVMd0E{;diTq+uhpaIj-`|@ZC-j@TtN=ERJR!}n@1}7YXjfi4W)cd8jxq|C(ZbI zdYb#p6FA4Bvwi6UXXHd`#gQ_%p<^|2y*1moZ6^%c_T=O^j9#e;AT3#KLk0*owCOFl zL6?RRJ>Oq1&P64i%D8n!9LGfs3DW5?_5Qx0)ThLBNFJ(ke?zJBWJ&jyAbuW8tx$RT zE!BtmxX4t$JyICtolGIsXs9Ko_1;ktVDz+sr_h~crkPgX2JJGfrd_a}sATNN1WlTY zxe+9w9f}Tk%b8wCPQ(}!sVy(oLn~5a8plKgqU>ubaFU%(uPuc+?>aRzz(YieI+xoA7;uv%*M;@Z4%(#Ew}Hu z;LKQl+4j)IseHVTZsWapPDupQG`B}>D0S@>0=lv}KwmfGaR8Ggfgum>eE}X2V?%ol zhoQSP=?mJFfH{1B!PM}`!eCLJZD&Gx`_r;l<|mC^7n+UnVN0pdadVHI*=g$8Y5kq4 zWeL_1PlOZ+4*82;+uW;&+N29%l*e{a9_`=8GOgz|JTEWkJ)D41p3`aR{FJzIQc)_j zLrW1_cFuafd;+%nSvI%q@x628swF3d>jyf850{rYtAx!C4J`gmx!vYApr^1%hIRTb zgm!wy(q4znYx9$wg=RHIDDzsP8@Pi0vN6xJ(&Oi0x#f3V@BC#k>cA9UZYZ4wJHJzf ziBsC#^P|OZ*yx~t(URhl`z%^+(BxS;toK%j&xoi{ew;&c*jRdzVwR^5aiN2gbh05z z`iFabQU0P8_beJuMGq{6(6>#ybvV7G)y=!9G#5=?=`k;wThN6)LXN8@sxQ9VkG%%z z{p1+7;Vky)fvOnAMud9vS{dIBNg=@UQbV}>9TGH|R`p^&KEG^30Kfi zRg6xgZQ)YOq(|HMn3aSfVIiS0DQm=_T}7ENTS^fyNa`UrTE&`6jt`|wn)^l=JoN5O zKRJ~`l;0QSJ7@q44_&xg)Gln0B$=0{^gO$&XUe$^FC-D#xKQTaY5H(que-^tv}?og z(w}94c1k&YJ;J`O3*{r14(wYRtzQ~(VXPdBI%vJ$pP2oa${2BLNX=5cVE;i=|HB5J zbd@&61bv*!w1(YVY_Pt7n7yQia+BgIlv$-fbU4A|W};gJR^Kysdky*P-$G}6mToww zPF=7|!EU~RbN0E3cy4SwdJX6L7^vhszSmeFR}FFwcm&3KY4hQ*adPsWrwcV2ZDhR{ z!KYB&83?`?vY9!`)-~edHV6l<8`7D787+U}v3e`Ry#l{_4Z8qnuPoYh!-R> zvGBP?onCI7G43!{=GrhevCuX4JN`4_G1~0YUNw}NRb4lw2ETX}67mc^U_LI1l|iDu z<3+F&60_KAsOPq@zuN+nYwo{+p!u50tJfuJn(MvT?1WE-o*GI_!D{MDKXAntWX(vI zhwFbP52hdIJ(rHiV!Uzst0#QKx~ck3+C~}UOZh_2)k}KuFk0GS=>r(YJy>T_G2`LQ zCosd0nSa=7q9|qkPU8r@v??a7S*l-%y8g9vKVAxR89o_+E8%{#Csqt?C2P~O@hXTd z--ElpRCFj1Ku~Hg)D9=iv<-Lg15rBe3n#Rgrysl5meZQ7=@TU_&3T9PimcS8*jg=K zD2D&BuQj=*1j#$sb_2o{iLP5yZ14Rk#?)tficQn`;b4q94hZH>L*Ex4hz`yVJKNm@V$P7rCP97$47q%VG^UB))uPT1dktgI zrlEimR?E>)C>(_yGgO-ze z^i?%T$P2W%VR?Pqy94ynq#Ebk6X9WeYCRTOx^WK=7oG3xAjP6$w@l%);wz3BXM7C?S+guC?kzU7R&nP?saT5tOts0ZE$RwRcNU%4^PaBZ9*d z9*`aVP51(ORW_97fT<-zeg5J(-RP%h7p{f-Mro3=KI%w%s=;4rfkh9DxH-Zj$T9+5 zy?A%5^F`F@bnKA{GUsMucoD7L}#RDqL?@O@qt zdd?cNK@EkWGY+SF@qN3%p03L%WnDy_Kjljt@ka+5En&O8epksWatv?IF2s41d+p7< z)2N0G1pQiqLuxFv;GL6f<{RTru-eWm0?f{y;j01`f=;ZSps;AD)I+aeay%FEE=>+} z{WNUAHh_mbg7?wT|M4FEzX|>)f&V1%zf}V7TT9Q5yzD!16j}1P84|*Bp5$cUB~PKA zd!Qnc61W`0$RhOk5VCysdEgmy)ldy(Z3j#e8P0KCLddpg=%+>GU5)!Jcln9&kZMP6 zl{e(U$N?^u>!F3cqa}X^ltUN*Xaym{t~Md;P)f=z1}Kn}Czj-u^N-kIki5ma-RPGS zkXntDt@&shfC%Rd6VEKTV9N0c9SMvuPaZ&^gfvH-5Rh9aq2WjrVogMx=0vCt?s+f% ze4!9V{S2ZG`6))yiDd2w|3UV;JiNIJUZs%;l{zeypmARVIXqJ_>j`#rXB1(B4FsrC zlJT0~0HS%|g}+^se2xGx;9ZdNGa}Lav?J-g#u1F89@aT;D*UPd_9^9sZy?l&h={eU zv&X*I2a);{6=GTEiHdE6T!WyRVn4;81vIaLn7m$_E9kXNX12qcI8Mo0^*eo^Uyc_~ zcHCIoZ7jCg^!xeGg&}=cwl?OFDtVmg62q3A%?9q*orxHzk zsdNyX|1^1Lzi$RsgCKn)v`}|%8mq0JcZ_oZT$eox4CmZ1i2Ob%@zAoH(mIAvZ6LEC z3Y8!)S<)|&mG z%K!rF8sjMi4*0$oiYew@3ic>*!)yo`M7oW+gN!YZ+@9O9PnaA}^};yf|87*hxl##7 zMaoDpfJy=A#<=ewcekg&2U}tF1hb)@W3d<^Oun^#D`I z+W;A?m;{Cz8|zt)#lC$({hS<9*1l(aPB#5`p{g{B1ni5C&S75$lfeHn38=jlbNv@JrR?iF60@Fw9f+Kr4DJ9$CsmZI zED}=|<@+YP5-=(%9gPM_P)YBZ4;=&Z%GV!`!-j%4GCVd1WsP=WPk0)xTnwF5Q(cGt z{>dDU7&IFLYrJFpz8|yLa@H>A7*T(jGi-t=-g%zez-GY;uLM?qo=T^IrvGBm`I;1jh_=}RMkF-%9+XVB!B z^(hlMj3XQ;l>j8+xDM-_SRIpZQ5O%Gi;#R{5&F977;PktH)`&1+Jm6+jV%o(yp3M~ zg9iZ4%NfVSsl3A`ib&prCfh+x=Jkm(Dx~*WAt7&&fZ$7n&UoLp8-ms3X*{C8FF;&x zj8#h1-1afNrNPT+{HuA5xHBYW;9BD#oWbgS#}Bw%L&LDxJp^phrIX+B@`=qCz2h|_ zG!*E0hi#%Ojs=uEK_YKV6Cs!l2{mUHChyFW_Aw9{3hY3FT!t9gr#_dq9zHgD$^Wa^ zW+*x1>Vc<>K70|gRbw&li{IBoKpL*A1asw8 z#$2Ac5&^iVi;xf^kN`kY#E7}WPQo>BAaaZvDZo_OF++GW78EGA;UuWKTrP(m>CI#i5!ai_cJbUTuoW6Gu^b^GYZL$z+YsC2 zr^iK=I@M7>V1ocP^@}d+OJ{W^!D6V50dM8#G6HQfA{&xJk_P=Vo-~xPq8kOS?qyAXl$T&@4O-=rwDoAb_?~)|s4u_5J{)#2`-@2+;w| z?d1Dgs`G<|g+R{z_f4;$>NdA+k&cE6-blU6NX{}Nz=MV~QSPP`B;s7*BXmU3YbZ$8 zkayca3Mbzu#2~%`gw;?MduCYs<0y9NHcoc>7<85Cb+h>9Uhu!pq(Y75(rvVbYj<=< z6v=irHvoGY)&WnL8^g!`N0t3A3%LJH_df~zFOq;bAq_qeYP~)44OGwr1%Y@Tt$s+h zzm>ZkIMMhT$J7ufS;8q$SNJXj{#Prp#YsGdKoxY!l@};0Shg#Pnkim zfpbC0ZhA*!UlMO&S095XOVgaHMK<-3RK6HkBFvilsxXC(0BCy8yapA+;Qlngk6AbM z9c8g&RW7%h`Xt;YFUv}EcGL?o>aBftb#oD*HwKrc!9ZQ2eA@sy_Djc0@2FJ&i%L;U zSv5=tMHI&bB-Fg%2My4V(8U&j$|A-dMl| zG-&!f={=&!t6fiet0O*Q{9-1wshUMfc+_ZsP8=|%vT*DqhmUh^dG)6lL1T!Hz%tqM zOntWns|PWYS#_cu1YI`xg8&yX@x*7k3|CM}BA}=C0Mro%xVQauaXP440`jik@e_lL zY3#cc(j20Ra*#^k`akV`cT`hZ*EfiY3JNo*AYGjYW(EZmqz7U{Q7K{p1VKPRdant^ ziVgy!Q7NIQAc!ClFw%>HM3I2>PJ{@d2MiDbB>B!wh|UxIs#+PtQiUS-kf{R zKKq=r%Wv-;d9qUa(o}VuW7Dm77=RmlqXrOlPt?4-CUz|7bU8MjZ-Xo)!14Etw<&~2 zufNyc5#S-&kevf6`~OgqT|t{ozKBNM(2(EgB0^me+SCy1LycR2c-DQzCkjY9OCJEZ z)~C@2*r;~1a7oJ=E(IfTK*o+g)m_$%?q0r3stCg>12}5ya6AT>&K9~mO~e`>*IvZl z0g_P_=_8OcUa)L6pj;}zS>e;cXdv(#czLgg3P`jMBnmKKfO!%ZzFyF^nn0kL$7E+# zGhm#LdGkV{u@pNMcjyDN;5~!5lT)<&r^HLtfOqcH*w}-UdQ{+d%f|1+51XK2_8lw4 zIOjf}WAjIEqQ&2o%V?P8ImiYICIC1u0~}2^-_G-m1)o}>CN;}|*mjy_NVK?rDv_C~ z39I@|6gGkZQUAs*|!M)Yv^Z=u(^*TSxzWC5`Tul9Qbt{u`+b=|#C^EaV# zdwJ&M*vkVDNWiQ#L>{t=iR!dvT>S4LK(@_<*82FRG>eA+GSONA76ZCXE+i?wO|$@i zuFNC^zhXnU{yP`k|3|yhzeD|(0{>Fr|1S!d+c90u$l$1nA9)Gf2xQC@Ik`0l-yt7@ z1C|^tEjzg}Wu8W0l3KF&6%!NMi1s#matcTnY-*C-_hQ-F<4lp_?+U7gQ}n zuM5oW4;~LJL~2QqOBthcfo@4VD(vk8g9f}m+xOLWjK}&%l1q^DNyEOLO0}oF%O>-$ zA1=)3c`r7;g^)BwnmIYjnD@)6)o$+iRutyu=wXGfePhTUnY-812GLeOeQq?U?OdPT z-Di3GU}}$Q9Y%v`0n%|9I3+`zx>cyx$bDC*TOFD92du;012tj=nu%>QWvYrr71~I~ zo9l;3&+MfSkLH2UiCc|ExB?70Rz-rC`N_L3nm^LW2zQ`uMvCr@ED1;IX5jv^7gzcN zSEs7hM|=6{O&>iun-J0wSa=pACE#_?TD=sJ`IVZtxO5@JEjnT2Y4icSFK?8)w^1${ zNPWT23mbrO0Y69?DFCL19JsHAntA{TAESYK0U%5ChT4#b;#gC({d&4CFk56B?p?BsyJP!SJTp`> zZ~rM@8QhHn1e6o@as99qhZetO`hxdbh`3lB>`EcX8oY{W??7-A4-Ll>c);PAutaOh#1ii zu&eu>iOYuWmrb{*P&;uuQ9hRwTBXqeP}Gd2&;3^|28UjEPtfo(Wjobn&V#^+n7}Pt zq)LjtY*7R6NSjOa&bS_#P?w3x%y{?omwgAe^(V%V6(xiT7bTAFw$o}jAe&M9wy@G+ zJ_(uRdgN3gW-snsG4ITagnXKpEz!2^ZoGt$x^<5yyq2vl-&-dC3=2tJ$E#og6iKsMh6_5+NK0P{`yx+MBGUj>6y}Tu4z44&|^J`k8 z_3S8>NzdSKS@_Cd;oIe&W}Mn4L(p*5k;1ji%;(8BP7$UEGO0@!=y{BpDZhGR%stPF z7eN!v-S(r6qXdS&=5|IxUb;!*$W_#%;ax#+~AMW;+ zelnYEsguaWQyR1BrAilNwaj+_B1LaBuUE{P>(g!jVj8qmXd@A zF<{nS5dSlpXJ^$RBbte$n5RmA+D)i(P`adNL{1 zBNZLfCU(MxSv=cm0)n4BKNXfHn`JIx6l3*J(w~Sq5+%t69wUUtLYs#%!AS|y+A1=X zprxz#TAHaz0o7k-zRk{|K#ZG_QK4~8>}+TEEH>_0&-y z24grKDs^~#y+#snmZyi7#DplUHOn-dL& zQp^F8778PCumV5?6W|;G3!?JumA3}(jLhJIX6SF5Zqw=_MPwEt6&SeirGcBJxx_rCL_T^kPxA$iLP0l{J5~AiBW~-FOo%U)E|>W;U*ydOx*x}FmZX64wzEDbAcv4i9vrGoqS&oGVf; zH_PfpejB_(B>mkh@?1?scb|@*9M(%p1*MkwE9Aw=oGH0yz~^XMEN?AmIM+$B)GJyL zYT*~v4eANRFlsQ%^oMkzZAm*6buW3@2W!IuEa#qFf8XJ_9Vs^OMQGnC8wK4B-V8or z5?P4xxO$OD7lOHkH7@i2(GdP&u-^CX`|vPE#UlTo(ql_o=u{=fm)bGSD7}R|?deAP z79(c9Gn zJ~59Lj%wO_jLAUq*@>&ytM5uVCv9_1ZD)$6x}$ccXj)J3(XQL^o>U2;(xKypAY|1& zDX0YrBGPo~4R06k$h!i5M~((9_m0e?f1ykUHh|E!7y2GLr#43x(_V=eZ}gs<&*z;9 zfUNbSMoS&lkXAbRA${H(coV*`i~*7N41}_In+y&mJ*7Rk_F3Mmn0KEI&5MfBRk`3c zkNgbwIE|#=UN8Sh5=*=p`QZzDANZgS!Fs5d`vV zQ9&)5Bo#sar*i98XQuAN8^|n8Q#(k*)%<5vdQ)PTr>{|?!3iWzv}Z1Oj!}h3u5Co^ zEi<8QoijRAp*gG+UktvIViGjA<^yt$C-Ev@Rmda7o4gI6n*dvG-AOw9vk?4!VQ`xO@F;@H-7C_9G1rSr3(CN;3F1kO90%hO> z|NV_@dOoJL(CSX8K$)GkPE|~NNz`s0zB+SyGdrz6+@_Kj#411fv}H>I z)RZ|x{}>fGTg*Ikm7lV*I>etjAlqMT%iQ6}Emxa%o7nO0O&fG)f5lU@7v7alH*%Q zaz_dv%f%FSc7)y9@K*(vG}ZS{ zqQ4O}gP+=bd-Sj%o-^o~Iy}FAZf82XOT|n1*ImDD6UMQ-2xtmkahm;xZGS1qdW;76 zh}dyv3QWzgf~?CwdheoJZ+1`>$`JNydG8gtAFJb!_gC05yOHZ^q{P{Evm@@aM_6)p z^X=d(tgjEBHG`M=Rx?ysv%$mj_Z%2Jh<0~|?na~?Y>FsyKF{jMD-#cR*=~2)&nq)| zc7-t<4)P5~vtAIEOcDjW- z=G4JrTadyBL9pU`%DP$A^cVo-U36Pn@7eQsh2~fO6c@&oSAoH8C?yIY?d1XjKl5?508IOOGdS&qV~$_0b}Z0Y#l?+RRacH=?I93M*0OLL-PWD z@)_H}RIt8Y)nx1EM;Plxve%XQC1f=N%O(a7Pb=6~?E40ER#t7A^IkZcEsnQEjBr-! zQ8ve31RcWkA}{?WwDQVQCGDb&qBVn^yqqPs35=jN;d^rsNim~rj^6%)vr>6@p4Y3d zOoHTQpf6@h6P#<<_crok#8;+;dX5EB`-x8cs(?AKb6!(|Ks)Z#ze0??nCDkZHm&b#3Jj~Tf8-Vth_z1c6{Zr>!*9of3ABi1+Bw~CocRo1p&|k z13xE@^6a}QEkyXqaa(hm``zX~#GW+lt2J_cY``+ZYY=L z#zQ=I;wyvGjEJv}-LPNqPpx9a8vQwFHde*D%8DRweLFtsQ8d1nUbeeGGCxv#IcD$D_*TXR&PC0L1(Up$m$|KP10*V7=c2-cR@v$8!1)L=C=Op_Z;n

o7bv$MFd%~`uIEaS~f$0eFn^U79Whoh*ff@ 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 T0j^rM?bnX8DeZmA+ literal 0 HcmV?d00001 diff --git a/src/textual_serve/static/index.html b/src/textual_serve/static/index.html new file mode 100644 index 0000000..65dee23 --- /dev/null +++ b/src/textual_serve/static/index.html @@ -0,0 +1 @@ +

Hello from Static

diff --git a/src/textual_serve/static/js/textual.js b/src/textual_serve/static/js/textual.js new file mode 100644 index 0000000..5e9666d --- /dev/null +++ b/src/textual_serve/static/js/textual.js @@ -0,0 +1,263 @@ +/* + * ATTENTION: The "eval" devtool has been used (maybe by default in mode: "development"). + * This devtool is neither made for production nor for readable output files. + * It uses "eval()" calls to create a separate source file in the browser devtools. + * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) + * or disable the default devtool with "devtool: false". + * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). + */ +/******/ (() => { // webpackBootstrap +/******/ var __webpack_modules__ = ({ + +/***/ "./node_modules/css-loader/dist/cjs.js!./node_modules/sass-loader/dist/cjs.js!./src/styles.scss": +/*!******************************************************************************************************!*\ + !*** ./node_modules/css-loader/dist/cjs.js!./node_modules/sass-loader/dist/cjs.js!./src/styles.scss ***! + \******************************************************************************************************/ +/***/ ((module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../node_modules/css-loader/dist/runtime/noSourceMaps.js */ \"./node_modules/css-loader/dist/runtime/noSourceMaps.js\");\n/* harmony import */ var _node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../node_modules/css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\n/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__);\n// Imports\n\n\nvar ___CSS_LOADER_EXPORT___ = _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()((_node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default()));\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `h1 {\n color: white;\n background-color: black; }\n\nbody {\n margin: 0;\n padding: 0; }\n\n.textual-terminal {\n width: 100vw;\n height: 100vh; }\n`, \"\"]);\n// Exports\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___);\n\n\n//# sourceURL=webpack://textual/./src/styles.scss?./node_modules/css-loader/dist/cjs.js!./node_modules/sass-loader/dist/cjs.js"); + +/***/ }), + +/***/ "./node_modules/css-loader/dist/runtime/api.js": +/*!*****************************************************!*\ + !*** ./node_modules/css-loader/dist/runtime/api.js ***! + \*****************************************************/ +/***/ ((module) => { + +"use strict"; +eval("\n\n/*\n MIT License http://www.opensource.org/licenses/mit-license.php\n Author Tobias Koppers @sokra\n*/\nmodule.exports = function (cssWithMappingToString) {\n var list = [];\n\n // return the list of modules as css string\n list.toString = function toString() {\n return this.map(function (item) {\n var content = \"\";\n var needLayer = typeof item[5] !== \"undefined\";\n if (item[4]) {\n content += \"@supports (\".concat(item[4], \") {\");\n }\n if (item[2]) {\n content += \"@media \".concat(item[2], \" {\");\n }\n if (needLayer) {\n content += \"@layer\".concat(item[5].length > 0 ? \" \".concat(item[5]) : \"\", \" {\");\n }\n content += cssWithMappingToString(item);\n if (needLayer) {\n content += \"}\";\n }\n if (item[2]) {\n content += \"}\";\n }\n if (item[4]) {\n content += \"}\";\n }\n return content;\n }).join(\"\");\n };\n\n // import a list of modules into the list\n list.i = function i(modules, media, dedupe, supports, layer) {\n if (typeof modules === \"string\") {\n modules = [[null, modules, undefined]];\n }\n var alreadyImportedModules = {};\n if (dedupe) {\n for (var k = 0; k < this.length; k++) {\n var id = this[k][0];\n if (id != null) {\n alreadyImportedModules[id] = true;\n }\n }\n }\n for (var _k = 0; _k < modules.length; _k++) {\n var item = [].concat(modules[_k]);\n if (dedupe && alreadyImportedModules[item[0]]) {\n continue;\n }\n if (typeof layer !== \"undefined\") {\n if (typeof item[5] === \"undefined\") {\n item[5] = layer;\n } else {\n item[1] = \"@layer\".concat(item[5].length > 0 ? \" \".concat(item[5]) : \"\", \" {\").concat(item[1], \"}\");\n item[5] = layer;\n }\n }\n if (media) {\n if (!item[2]) {\n item[2] = media;\n } else {\n item[1] = \"@media \".concat(item[2], \" {\").concat(item[1], \"}\");\n item[2] = media;\n }\n }\n if (supports) {\n if (!item[4]) {\n item[4] = \"\".concat(supports);\n } else {\n item[1] = \"@supports (\".concat(item[4], \") {\").concat(item[1], \"}\");\n item[4] = supports;\n }\n }\n list.push(item);\n }\n };\n return list;\n};\n\n//# sourceURL=webpack://textual/./node_modules/css-loader/dist/runtime/api.js?"); + +/***/ }), + +/***/ "./node_modules/css-loader/dist/runtime/noSourceMaps.js": +/*!**************************************************************!*\ + !*** ./node_modules/css-loader/dist/runtime/noSourceMaps.js ***! + \**************************************************************/ +/***/ ((module) => { + +"use strict"; +eval("\n\nmodule.exports = function (i) {\n return i[1];\n};\n\n//# sourceURL=webpack://textual/./node_modules/css-loader/dist/runtime/noSourceMaps.js?"); + +/***/ }), + +/***/ "./src/styles.scss": +/*!*************************!*\ + !*** ./src/styles.scss ***! + \*************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! !../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js */ \"./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\");\n/* harmony import */ var _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! !../node_modules/style-loader/dist/runtime/styleDomAPI.js */ \"./node_modules/style-loader/dist/runtime/styleDomAPI.js\");\n/* harmony import */ var _node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! !../node_modules/style-loader/dist/runtime/insertBySelector.js */ \"./node_modules/style-loader/dist/runtime/insertBySelector.js\");\n/* harmony import */ var _node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! !../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js */ \"./node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\");\n/* harmony import */ var _node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var _node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! !../node_modules/style-loader/dist/runtime/insertStyleElement.js */ \"./node_modules/style-loader/dist/runtime/insertStyleElement.js\");\n/* harmony import */ var _node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var _node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! !../node_modules/style-loader/dist/runtime/styleTagTransform.js */ \"./node_modules/style-loader/dist/runtime/styleTagTransform.js\");\n/* harmony import */ var _node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var _node_modules_css_loader_dist_cjs_js_node_modules_sass_loader_dist_cjs_js_styles_scss__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! !!../node_modules/css-loader/dist/cjs.js!../node_modules/sass-loader/dist/cjs.js!./styles.scss */ \"./node_modules/css-loader/dist/cjs.js!./node_modules/sass-loader/dist/cjs.js!./src/styles.scss\");\n\n \n \n \n \n \n \n \n \n \n\nvar options = {};\n\noptions.styleTagTransform = (_node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5___default());\noptions.setAttributes = (_node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3___default());\n\n options.insert = _node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2___default().bind(null, \"head\");\n \noptions.domAPI = (_node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1___default());\noptions.insertStyleElement = (_node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4___default());\n\nvar update = _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default()(_node_modules_css_loader_dist_cjs_js_node_modules_sass_loader_dist_cjs_js_styles_scss__WEBPACK_IMPORTED_MODULE_6__[\"default\"], options);\n\n\n\n\n /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (_node_modules_css_loader_dist_cjs_js_node_modules_sass_loader_dist_cjs_js_styles_scss__WEBPACK_IMPORTED_MODULE_6__[\"default\"] && _node_modules_css_loader_dist_cjs_js_node_modules_sass_loader_dist_cjs_js_styles_scss__WEBPACK_IMPORTED_MODULE_6__[\"default\"].locals ? _node_modules_css_loader_dist_cjs_js_node_modules_sass_loader_dist_cjs_js_styles_scss__WEBPACK_IMPORTED_MODULE_6__[\"default\"].locals : undefined);\n\n\n//# sourceURL=webpack://textual/./src/styles.scss?"); + +/***/ }), + +/***/ "./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js": +/*!****************************************************************************!*\ + !*** ./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js ***! + \****************************************************************************/ +/***/ ((module) => { + +"use strict"; +eval("\n\nvar stylesInDOM = [];\nfunction getIndexByIdentifier(identifier) {\n var result = -1;\n for (var i = 0; i < stylesInDOM.length; i++) {\n if (stylesInDOM[i].identifier === identifier) {\n result = i;\n break;\n }\n }\n return result;\n}\nfunction modulesToDom(list, options) {\n var idCountMap = {};\n var identifiers = [];\n for (var i = 0; i < list.length; i++) {\n var item = list[i];\n var id = options.base ? item[0] + options.base : item[0];\n var count = idCountMap[id] || 0;\n var identifier = \"\".concat(id, \" \").concat(count);\n idCountMap[id] = count + 1;\n var indexByIdentifier = getIndexByIdentifier(identifier);\n var obj = {\n css: item[1],\n media: item[2],\n sourceMap: item[3],\n supports: item[4],\n layer: item[5]\n };\n if (indexByIdentifier !== -1) {\n stylesInDOM[indexByIdentifier].references++;\n stylesInDOM[indexByIdentifier].updater(obj);\n } else {\n var updater = addElementStyle(obj, options);\n options.byIndex = i;\n stylesInDOM.splice(i, 0, {\n identifier: identifier,\n updater: updater,\n references: 1\n });\n }\n identifiers.push(identifier);\n }\n return identifiers;\n}\nfunction addElementStyle(obj, options) {\n var api = options.domAPI(options);\n api.update(obj);\n var updater = function updater(newObj) {\n if (newObj) {\n if (newObj.css === obj.css && newObj.media === obj.media && newObj.sourceMap === obj.sourceMap && newObj.supports === obj.supports && newObj.layer === obj.layer) {\n return;\n }\n api.update(obj = newObj);\n } else {\n api.remove();\n }\n };\n return updater;\n}\nmodule.exports = function (list, options) {\n options = options || {};\n list = list || [];\n var lastIdentifiers = modulesToDom(list, options);\n return function update(newList) {\n newList = newList || [];\n for (var i = 0; i < lastIdentifiers.length; i++) {\n var identifier = lastIdentifiers[i];\n var index = getIndexByIdentifier(identifier);\n stylesInDOM[index].references--;\n }\n var newLastIdentifiers = modulesToDom(newList, options);\n for (var _i = 0; _i < lastIdentifiers.length; _i++) {\n var _identifier = lastIdentifiers[_i];\n var _index = getIndexByIdentifier(_identifier);\n if (stylesInDOM[_index].references === 0) {\n stylesInDOM[_index].updater();\n stylesInDOM.splice(_index, 1);\n }\n }\n lastIdentifiers = newLastIdentifiers;\n };\n};\n\n//# sourceURL=webpack://textual/./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js?"); + +/***/ }), + +/***/ "./node_modules/style-loader/dist/runtime/insertBySelector.js": +/*!********************************************************************!*\ + !*** ./node_modules/style-loader/dist/runtime/insertBySelector.js ***! + \********************************************************************/ +/***/ ((module) => { + +"use strict"; +eval("\n\nvar memo = {};\n\n/* istanbul ignore next */\nfunction getTarget(target) {\n if (typeof memo[target] === \"undefined\") {\n var styleTarget = document.querySelector(target);\n\n // Special case to return head of iframe instead of iframe itself\n if (window.HTMLIFrameElement && styleTarget instanceof window.HTMLIFrameElement) {\n try {\n // This will throw an exception if access to iframe is blocked\n // due to cross-origin restrictions\n styleTarget = styleTarget.contentDocument.head;\n } catch (e) {\n // istanbul ignore next\n styleTarget = null;\n }\n }\n memo[target] = styleTarget;\n }\n return memo[target];\n}\n\n/* istanbul ignore next */\nfunction insertBySelector(insert, style) {\n var target = getTarget(insert);\n if (!target) {\n throw new Error(\"Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.\");\n }\n target.appendChild(style);\n}\nmodule.exports = insertBySelector;\n\n//# sourceURL=webpack://textual/./node_modules/style-loader/dist/runtime/insertBySelector.js?"); + +/***/ }), + +/***/ "./node_modules/style-loader/dist/runtime/insertStyleElement.js": +/*!**********************************************************************!*\ + !*** ./node_modules/style-loader/dist/runtime/insertStyleElement.js ***! + \**********************************************************************/ +/***/ ((module) => { + +"use strict"; +eval("\n\n/* istanbul ignore next */\nfunction insertStyleElement(options) {\n var element = document.createElement(\"style\");\n options.setAttributes(element, options.attributes);\n options.insert(element, options.options);\n return element;\n}\nmodule.exports = insertStyleElement;\n\n//# sourceURL=webpack://textual/./node_modules/style-loader/dist/runtime/insertStyleElement.js?"); + +/***/ }), + +/***/ "./node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js": +/*!**********************************************************************************!*\ + !*** ./node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js ***! + \**********************************************************************************/ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + +"use strict"; +eval("\n\n/* istanbul ignore next */\nfunction setAttributesWithoutAttributes(styleElement) {\n var nonce = true ? __webpack_require__.nc : 0;\n if (nonce) {\n styleElement.setAttribute(\"nonce\", nonce);\n }\n}\nmodule.exports = setAttributesWithoutAttributes;\n\n//# sourceURL=webpack://textual/./node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js?"); + +/***/ }), + +/***/ "./node_modules/style-loader/dist/runtime/styleDomAPI.js": +/*!***************************************************************!*\ + !*** ./node_modules/style-loader/dist/runtime/styleDomAPI.js ***! + \***************************************************************/ +/***/ ((module) => { + +"use strict"; +eval("\n\n/* istanbul ignore next */\nfunction apply(styleElement, options, obj) {\n var css = \"\";\n if (obj.supports) {\n css += \"@supports (\".concat(obj.supports, \") {\");\n }\n if (obj.media) {\n css += \"@media \".concat(obj.media, \" {\");\n }\n var needLayer = typeof obj.layer !== \"undefined\";\n if (needLayer) {\n css += \"@layer\".concat(obj.layer.length > 0 ? \" \".concat(obj.layer) : \"\", \" {\");\n }\n css += obj.css;\n if (needLayer) {\n css += \"}\";\n }\n if (obj.media) {\n css += \"}\";\n }\n if (obj.supports) {\n css += \"}\";\n }\n var sourceMap = obj.sourceMap;\n if (sourceMap && typeof btoa !== \"undefined\") {\n css += \"\\n/*# sourceMappingURL=data:application/json;base64,\".concat(btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap)))), \" */\");\n }\n\n // For old IE\n /* istanbul ignore if */\n options.styleTagTransform(css, styleElement, options.options);\n}\nfunction removeStyleElement(styleElement) {\n // istanbul ignore if\n if (styleElement.parentNode === null) {\n return false;\n }\n styleElement.parentNode.removeChild(styleElement);\n}\n\n/* istanbul ignore next */\nfunction domAPI(options) {\n if (typeof document === \"undefined\") {\n return {\n update: function update() {},\n remove: function remove() {}\n };\n }\n var styleElement = options.insertStyleElement(options);\n return {\n update: function update(obj) {\n apply(styleElement, options, obj);\n },\n remove: function remove() {\n removeStyleElement(styleElement);\n }\n };\n}\nmodule.exports = domAPI;\n\n//# sourceURL=webpack://textual/./node_modules/style-loader/dist/runtime/styleDomAPI.js?"); + +/***/ }), + +/***/ "./node_modules/style-loader/dist/runtime/styleTagTransform.js": +/*!*********************************************************************!*\ + !*** ./node_modules/style-loader/dist/runtime/styleTagTransform.js ***! + \*********************************************************************/ +/***/ ((module) => { + +"use strict"; +eval("\n\n/* istanbul ignore next */\nfunction styleTagTransform(css, styleElement) {\n if (styleElement.styleSheet) {\n styleElement.styleSheet.cssText = css;\n } else {\n while (styleElement.firstChild) {\n styleElement.removeChild(styleElement.firstChild);\n }\n styleElement.appendChild(document.createTextNode(css));\n }\n}\nmodule.exports = styleTagTransform;\n\n//# sourceURL=webpack://textual/./node_modules/style-loader/dist/runtime/styleTagTransform.js?"); + +/***/ }), + +/***/ "./node_modules/xterm-addon-canvas/lib/xterm-addon-canvas.js": +/*!*******************************************************************!*\ + !*** ./node_modules/xterm-addon-canvas/lib/xterm-addon-canvas.js ***! + \*******************************************************************/ +/***/ ((module) => { + +eval("!function(e,t){ true?module.exports=t():0}(self,(()=>(()=>{\"use strict\";var e={903:(e,t,i)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.BaseRenderLayer=void 0;const s=i(627),r=i(237),o=i(860),n=i(374),a=i(296),h=i(855),l=i(274),c=i(859),d=i(399),_=i(345);class u extends c.Disposable{constructor(e,t,i,s,r,o,n,h,d,u){super(),this._terminal=e,this._container=t,this._alpha=r,this._themeService=o,this._bufferService=n,this._optionsService=h,this._decorationService=d,this._coreBrowserService=u,this._deviceCharWidth=0,this._deviceCharHeight=0,this._deviceCellWidth=0,this._deviceCellHeight=0,this._deviceCharLeft=0,this._deviceCharTop=0,this._selectionModel=(0,a.createSelectionRenderModel)(),this._bitmapGenerator=[],this._onAddTextureAtlasCanvas=this.register(new _.EventEmitter),this.onAddTextureAtlasCanvas=this._onAddTextureAtlasCanvas.event,this._cellColorResolver=new l.CellColorResolver(this._terminal,this._selectionModel,this._decorationService,this._coreBrowserService,this._themeService),this._canvas=document.createElement(\"canvas\"),this._canvas.classList.add(`xterm-${i}-layer`),this._canvas.style.zIndex=s.toString(),this._initCanvas(),this._container.appendChild(this._canvas),this._refreshCharAtlas(this._themeService.colors),this.register(this._themeService.onChangeColors((e=>{this._refreshCharAtlas(e),this.reset(),this.handleSelectionChanged(this._selectionModel.selectionStart,this._selectionModel.selectionEnd,this._selectionModel.columnSelectMode)}))),this.register((0,c.toDisposable)((()=>{var e;this._canvas.remove(),null===(e=this._charAtlas)||void 0===e||e.dispose()})))}get canvas(){return this._canvas}get cacheCanvas(){var e;return null===(e=this._charAtlas)||void 0===e?void 0:e.pages[0].canvas}_initCanvas(){this._ctx=(0,n.throwIfFalsy)(this._canvas.getContext(\"2d\",{alpha:this._alpha})),this._alpha||this._clearAll()}handleBlur(){}handleFocus(){}handleCursorMove(){}handleGridChanged(e,t){}handleSelectionChanged(e,t,i=!1){this._selectionModel.update(this._terminal,e,t,i)}_setTransparency(e){if(e===this._alpha)return;const t=this._canvas;this._alpha=e,this._canvas=this._canvas.cloneNode(),this._initCanvas(),this._container.replaceChild(this._canvas,t),this._refreshCharAtlas(this._themeService.colors),this.handleGridChanged(0,this._bufferService.rows-1)}_refreshCharAtlas(e){var t;if(!(this._deviceCharWidth<=0&&this._deviceCharHeight<=0)){null===(t=this._charAtlasDisposable)||void 0===t||t.dispose(),this._charAtlas=(0,s.acquireTextureAtlas)(this._terminal,this._optionsService.rawOptions,e,this._deviceCellWidth,this._deviceCellHeight,this._deviceCharWidth,this._deviceCharHeight,this._coreBrowserService.dpr),this._charAtlasDisposable=(0,_.forwardEvent)(this._charAtlas.onAddTextureAtlasCanvas,this._onAddTextureAtlasCanvas),this._charAtlas.warmUp();for(let e=0;e1?this._charAtlas.getRasterizedGlyphCombinedChar(a,this._cellColorResolver.result.bg,this._cellColorResolver.result.fg,this._cellColorResolver.result.ext):this._charAtlas.getRasterizedGlyph(e.getCode()||h.WHITESPACE_CELL_CODE,this._cellColorResolver.result.bg,this._cellColorResolver.result.fg,this._cellColorResolver.result.ext),l.size.x&&l.size.y&&(this._ctx.save(),this._clipRow(i),this._bitmapGenerator[l.texturePage]&&this._charAtlas.pages[l.texturePage].canvas!==this._bitmapGenerator[l.texturePage].canvas&&(null===(r=null===(s=this._bitmapGenerator[l.texturePage])||void 0===s?void 0:s.bitmap)||void 0===r||r.close(),delete this._bitmapGenerator[l.texturePage]),this._charAtlas.pages[l.texturePage].version!==(null===(o=this._bitmapGenerator[l.texturePage])||void 0===o?void 0:o.version)&&(this._bitmapGenerator[l.texturePage]||(this._bitmapGenerator[l.texturePage]=new g(this._charAtlas.pages[l.texturePage].canvas)),this._bitmapGenerator[l.texturePage].refresh(),this._bitmapGenerator[l.texturePage].version=this._charAtlas.pages[l.texturePage].version),this._ctx.drawImage((null===(n=this._bitmapGenerator[l.texturePage])||void 0===n?void 0:n.bitmap)||this._charAtlas.pages[l.texturePage].canvas,l.texturePosition.x,l.texturePosition.y,l.size.x,l.size.y,t*this._deviceCellWidth+this._deviceCharLeft-l.offset.x,i*this._deviceCellHeight+this._deviceCharTop-l.offset.y,l.size.x,l.size.y),this._ctx.restore())}_clipRow(e){this._ctx.beginPath(),this._ctx.rect(0,e*this._deviceCellHeight,this._bufferService.cols*this._deviceCellWidth,this._deviceCellHeight),this._ctx.clip()}_getFont(e,t){return`${t?\"italic\":\"\"} ${e?this._optionsService.rawOptions.fontWeightBold:this._optionsService.rawOptions.fontWeight} ${this._optionsService.rawOptions.fontSize*this._coreBrowserService.dpr}px ${this._optionsService.rawOptions.fontFamily}`}}t.BaseRenderLayer=u;class g{constructor(e){this.canvas=e,this._state=0,this._commitTimeout=void 0,this._bitmap=void 0,this.version=-1}get bitmap(){return this._bitmap}refresh(){var e;null===(e=this._bitmap)||void 0===e||e.close(),this._bitmap=void 0,d.isSafari||(void 0===this._commitTimeout&&(this._commitTimeout=window.setTimeout((()=>this._generate()),100)),1===this._state&&(this._state=2))}_generate(){var e;0===this._state&&(null===(e=this._bitmap)||void 0===e||e.close(),this._bitmap=void 0,this._state=1,window.createImageBitmap(this.canvas).then((e=>{2===this._state?this.refresh():this._bitmap=e,this._state=0})),this._commitTimeout&&(this._commitTimeout=void 0))}}},949:(e,t,i)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.CanvasRenderer=void 0;const s=i(627),r=i(56),o=i(374),n=i(345),a=i(859),h=i(873),l=i(43),c=i(630),d=i(744);class _ extends a.Disposable{constructor(e,t,i,_,u,g,f,v,C,p,x){super(),this._terminal=e,this._screenElement=t,this._bufferService=_,this._charSizeService=u,this._optionsService=g,this._coreBrowserService=C,this._themeService=x,this._onRequestRedraw=this.register(new n.EventEmitter),this.onRequestRedraw=this._onRequestRedraw.event,this._onChangeTextureAtlas=this.register(new n.EventEmitter),this.onChangeTextureAtlas=this._onChangeTextureAtlas.event,this._onAddTextureAtlasCanvas=this.register(new n.EventEmitter),this.onAddTextureAtlasCanvas=this._onAddTextureAtlasCanvas.event;const m=this._optionsService.rawOptions.allowTransparency;this._renderLayers=[new d.TextRenderLayer(this._terminal,this._screenElement,0,m,this._bufferService,this._optionsService,f,p,this._coreBrowserService,x),new c.SelectionRenderLayer(this._terminal,this._screenElement,1,this._bufferService,this._coreBrowserService,p,this._optionsService,x),new l.LinkRenderLayer(this._terminal,this._screenElement,2,i,this._bufferService,this._optionsService,p,this._coreBrowserService,x),new h.CursorRenderLayer(this._terminal,this._screenElement,3,this._onRequestRedraw,this._bufferService,this._optionsService,v,this._coreBrowserService,p,x)];for(const e of this._renderLayers)(0,n.forwardEvent)(e.onAddTextureAtlasCanvas,this._onAddTextureAtlasCanvas);this.dimensions=(0,o.createRenderDimensions)(),this._devicePixelRatio=this._coreBrowserService.dpr,this._updateDimensions(),this.register((0,r.observeDevicePixelDimensions)(this._renderLayers[0].canvas,this._coreBrowserService.window,((e,t)=>this._setCanvasDevicePixelDimensions(e,t)))),this.register((0,a.toDisposable)((()=>{for(const e of this._renderLayers)e.dispose();(0,s.removeTerminalFromCache)(this._terminal)})))}get textureAtlas(){return this._renderLayers[0].cacheCanvas}handleDevicePixelRatioChange(){this._devicePixelRatio!==this._coreBrowserService.dpr&&(this._devicePixelRatio=this._coreBrowserService.dpr,this.handleResize(this._bufferService.cols,this._bufferService.rows))}handleResize(e,t){this._updateDimensions();for(const e of this._renderLayers)e.resize(this.dimensions);this._screenElement.style.width=`${this.dimensions.css.canvas.width}px`,this._screenElement.style.height=`${this.dimensions.css.canvas.height}px`}handleCharSizeChanged(){this.handleResize(this._bufferService.cols,this._bufferService.rows)}handleBlur(){this._runOperation((e=>e.handleBlur()))}handleFocus(){this._runOperation((e=>e.handleFocus()))}handleSelectionChanged(e,t,i=!1){this._runOperation((s=>s.handleSelectionChanged(e,t,i))),this._themeService.colors.selectionForeground&&this._onRequestRedraw.fire({start:0,end:this._bufferService.rows-1})}handleCursorMove(){this._runOperation((e=>e.handleCursorMove()))}clear(){this._runOperation((e=>e.reset()))}_runOperation(e){for(const t of this._renderLayers)e(t)}renderRows(e,t){for(const i of this._renderLayers)i.handleGridChanged(e,t)}clearTextureAtlas(){for(const e of this._renderLayers)e.clearTextureAtlas()}_updateDimensions(){if(!this._charSizeService.hasValidSize)return;const e=this._coreBrowserService.dpr;this.dimensions.device.char.width=Math.floor(this._charSizeService.width*e),this.dimensions.device.char.height=Math.ceil(this._charSizeService.height*e),this.dimensions.device.cell.height=Math.floor(this.dimensions.device.char.height*this._optionsService.rawOptions.lineHeight),this.dimensions.device.char.top=1===this._optionsService.rawOptions.lineHeight?0:Math.round((this.dimensions.device.cell.height-this.dimensions.device.char.height)/2),this.dimensions.device.cell.width=this.dimensions.device.char.width+Math.round(this._optionsService.rawOptions.letterSpacing),this.dimensions.device.char.left=Math.floor(this._optionsService.rawOptions.letterSpacing/2),this.dimensions.device.canvas.height=this._bufferService.rows*this.dimensions.device.cell.height,this.dimensions.device.canvas.width=this._bufferService.cols*this.dimensions.device.cell.width,this.dimensions.css.canvas.height=Math.round(this.dimensions.device.canvas.height/e),this.dimensions.css.canvas.width=Math.round(this.dimensions.device.canvas.width/e),this.dimensions.css.cell.height=this.dimensions.css.canvas.height/this._bufferService.rows,this.dimensions.css.cell.width=this.dimensions.css.canvas.width/this._bufferService.cols}_setCanvasDevicePixelDimensions(e,t){this.dimensions.device.canvas.height=t,this.dimensions.device.canvas.width=e;for(const e of this._renderLayers)e.resize(this.dimensions);this._requestRedrawViewport()}_requestRedrawViewport(){this._onRequestRedraw.fire({start:0,end:this._bufferService.rows-1})}}t.CanvasRenderer=_},873:(e,t,i)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.CursorRenderLayer=void 0;const s=i(903),r=i(782),o=i(859),n=i(399);class a extends s.BaseRenderLayer{constructor(e,t,i,s,n,a,h,l,c,d){super(e,t,\"cursor\",i,!0,d,n,a,c,l),this._onRequestRedraw=s,this._coreService=h,this._cell=new r.CellData,this._state={x:0,y:0,isFocused:!1,style:\"\",width:0},this._cursorRenderers={bar:this._renderBarCursor.bind(this),block:this._renderBlockCursor.bind(this),underline:this._renderUnderlineCursor.bind(this)},this.register(a.onOptionChange((()=>this._handleOptionsChanged()))),this.register((0,o.toDisposable)((()=>{var e;null===(e=this._cursorBlinkStateManager)||void 0===e||e.dispose(),this._cursorBlinkStateManager=void 0})))}resize(e){super.resize(e),this._state={x:0,y:0,isFocused:!1,style:\"\",width:0}}reset(){var e;this._clearCursor(),null===(e=this._cursorBlinkStateManager)||void 0===e||e.restartBlinkAnimation(),this._handleOptionsChanged()}handleBlur(){var e;null===(e=this._cursorBlinkStateManager)||void 0===e||e.pause(),this._onRequestRedraw.fire({start:this._bufferService.buffer.y,end:this._bufferService.buffer.y})}handleFocus(){var e;null===(e=this._cursorBlinkStateManager)||void 0===e||e.resume(),this._onRequestRedraw.fire({start:this._bufferService.buffer.y,end:this._bufferService.buffer.y})}_handleOptionsChanged(){var e;this._optionsService.rawOptions.cursorBlink?this._cursorBlinkStateManager||(this._cursorBlinkStateManager=new h(this._coreBrowserService.isFocused,(()=>{this._render(!0)}),this._coreBrowserService)):(null===(e=this._cursorBlinkStateManager)||void 0===e||e.dispose(),this._cursorBlinkStateManager=void 0),this._onRequestRedraw.fire({start:this._bufferService.buffer.y,end:this._bufferService.buffer.y})}handleCursorMove(){var e;null===(e=this._cursorBlinkStateManager)||void 0===e||e.restartBlinkAnimation()}handleGridChanged(e,t){!this._cursorBlinkStateManager||this._cursorBlinkStateManager.isPaused?this._render(!1):this._cursorBlinkStateManager.restartBlinkAnimation()}_render(e){if(!this._coreService.isCursorInitialized||this._coreService.isCursorHidden)return void this._clearCursor();const t=this._bufferService.buffer.ybase+this._bufferService.buffer.y,i=t-this._bufferService.buffer.ydisp;if(i<0||i>=this._bufferService.rows)return void this._clearCursor();const s=Math.min(this._bufferService.buffer.x,this._bufferService.cols-1);if(this._bufferService.buffer.lines.get(t).loadCell(s,this._cell),void 0!==this._cell.content){if(!this._coreBrowserService.isFocused){this._clearCursor(),this._ctx.save(),this._ctx.fillStyle=this._themeService.colors.cursor.css;const e=this._optionsService.rawOptions.cursorStyle;return this._renderBlurCursor(s,i,this._cell),this._ctx.restore(),this._state.x=s,this._state.y=i,this._state.isFocused=!1,this._state.style=e,void(this._state.width=this._cell.getWidth())}if(!this._cursorBlinkStateManager||this._cursorBlinkStateManager.isCursorVisible){if(this._state){if(this._state.x===s&&this._state.y===i&&this._state.isFocused===this._coreBrowserService.isFocused&&this._state.style===this._optionsService.rawOptions.cursorStyle&&this._state.width===this._cell.getWidth())return;this._clearCursor()}this._ctx.save(),this._cursorRenderers[this._optionsService.rawOptions.cursorStyle||\"block\"](s,i,this._cell),this._ctx.restore(),this._state.x=s,this._state.y=i,this._state.isFocused=!1,this._state.style=this._optionsService.rawOptions.cursorStyle,this._state.width=this._cell.getWidth()}else this._clearCursor()}}_clearCursor(){this._state&&(n.isFirefox||this._coreBrowserService.dpr<1?this._clearAll():this._clearCells(this._state.x,this._state.y,this._state.width,1),this._state={x:0,y:0,isFocused:!1,style:\"\",width:0})}_renderBarCursor(e,t,i){this._ctx.save(),this._ctx.fillStyle=this._themeService.colors.cursor.css,this._fillLeftLineAtCell(e,t,this._optionsService.rawOptions.cursorWidth),this._ctx.restore()}_renderBlockCursor(e,t,i){this._ctx.save(),this._ctx.fillStyle=this._themeService.colors.cursor.css,this._fillCells(e,t,i.getWidth(),1),this._ctx.fillStyle=this._themeService.colors.cursorAccent.css,this._fillCharTrueColor(i,e,t),this._ctx.restore()}_renderUnderlineCursor(e,t,i){this._ctx.save(),this._ctx.fillStyle=this._themeService.colors.cursor.css,this._fillBottomLineAtCells(e,t),this._ctx.restore()}_renderBlurCursor(e,t,i){this._ctx.save(),this._ctx.strokeStyle=this._themeService.colors.cursor.css,this._strokeRectAtCell(e,t,i.getWidth(),1),this._ctx.restore()}}t.CursorRenderLayer=a;class h{constructor(e,t,i){this._renderCallback=t,this._coreBrowserService=i,this.isCursorVisible=!0,e&&this._restartInterval()}get isPaused(){return!(this._blinkStartTimeout||this._blinkInterval)}dispose(){this._blinkInterval&&(this._coreBrowserService.window.clearInterval(this._blinkInterval),this._blinkInterval=void 0),this._blinkStartTimeout&&(this._coreBrowserService.window.clearTimeout(this._blinkStartTimeout),this._blinkStartTimeout=void 0),this._animationFrame&&(this._coreBrowserService.window.cancelAnimationFrame(this._animationFrame),this._animationFrame=void 0)}restartBlinkAnimation(){this.isPaused||(this._animationTimeRestarted=Date.now(),this.isCursorVisible=!0,this._animationFrame||(this._animationFrame=this._coreBrowserService.window.requestAnimationFrame((()=>{this._renderCallback(),this._animationFrame=void 0}))))}_restartInterval(e=600){this._blinkInterval&&(this._coreBrowserService.window.clearInterval(this._blinkInterval),this._blinkInterval=void 0),this._blinkStartTimeout=this._coreBrowserService.window.setTimeout((()=>{if(this._animationTimeRestarted){const e=600-(Date.now()-this._animationTimeRestarted);if(this._animationTimeRestarted=void 0,e>0)return void this._restartInterval(e)}this.isCursorVisible=!1,this._animationFrame=this._coreBrowserService.window.requestAnimationFrame((()=>{this._renderCallback(),this._animationFrame=void 0})),this._blinkInterval=this._coreBrowserService.window.setInterval((()=>{if(this._animationTimeRestarted){const e=600-(Date.now()-this._animationTimeRestarted);return this._animationTimeRestarted=void 0,void this._restartInterval(e)}this.isCursorVisible=!this.isCursorVisible,this._animationFrame=this._coreBrowserService.window.requestAnimationFrame((()=>{this._renderCallback(),this._animationFrame=void 0}))}),600)}),e)}pause(){this.isCursorVisible=!0,this._blinkInterval&&(this._coreBrowserService.window.clearInterval(this._blinkInterval),this._blinkInterval=void 0),this._blinkStartTimeout&&(this._coreBrowserService.window.clearTimeout(this._blinkStartTimeout),this._blinkStartTimeout=void 0),this._animationFrame&&(this._coreBrowserService.window.cancelAnimationFrame(this._animationFrame),this._animationFrame=void 0)}resume(){this.pause(),this._animationTimeRestarted=void 0,this._restartInterval(),this.restartBlinkAnimation()}}},574:(e,t)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.GridCache=void 0,t.GridCache=class{constructor(){this.cache=[]}resize(e,t){for(let i=0;i{Object.defineProperty(t,\"__esModule\",{value:!0}),t.LinkRenderLayer=void 0;const s=i(903),r=i(237),o=i(197);class n extends s.BaseRenderLayer{constructor(e,t,i,s,r,o,n,a,h){super(e,t,\"link\",i,!0,h,r,o,n,a),this.register(s.onShowLinkUnderline((e=>this._handleShowLinkUnderline(e)))),this.register(s.onHideLinkUnderline((e=>this._handleHideLinkUnderline(e))))}resize(e){super.resize(e),this._state=void 0}reset(){this._clearCurrentLink()}_clearCurrentLink(){if(this._state){this._clearCells(this._state.x1,this._state.y1,this._state.cols-this._state.x1,1);const e=this._state.y2-this._state.y1-1;e>0&&this._clearCells(0,this._state.y1+1,this._state.cols,e),this._clearCells(0,this._state.y2,this._state.x2,1),this._state=void 0}}_handleShowLinkUnderline(e){if(e.fg===r.INVERTED_DEFAULT_COLOR?this._ctx.fillStyle=this._themeService.colors.background.css:e.fg&&(0,o.is256Color)(e.fg)?this._ctx.fillStyle=this._themeService.colors.ansi[e.fg].css:this._ctx.fillStyle=this._themeService.colors.foreground.css,e.y1===e.y2)this._fillBottomLineAtCells(e.x1,e.y1,e.x2-e.x1);else{this._fillBottomLineAtCells(e.x1,e.y1,e.cols-e.x1);for(let t=e.y1+1;t{Object.defineProperty(t,\"__esModule\",{value:!0}),t.SelectionRenderLayer=void 0;const s=i(903);class r extends s.BaseRenderLayer{constructor(e,t,i,s,r,o,n,a){super(e,t,\"selection\",i,!0,a,s,n,o,r),this._clearState()}_clearState(){this._state={start:void 0,end:void 0,columnSelectMode:void 0,ydisp:void 0}}resize(e){super.resize(e),this._selectionModel.selectionStart&&this._selectionModel.selectionEnd&&(this._clearState(),this._redrawSelection(this._selectionModel.selectionStart,this._selectionModel.selectionEnd,this._selectionModel.columnSelectMode))}reset(){this._state.start&&this._state.end&&(this._clearState(),this._clearAll())}handleBlur(){this.reset(),this._redrawSelection(this._selectionModel.selectionStart,this._selectionModel.selectionEnd,this._selectionModel.columnSelectMode)}handleFocus(){this.reset(),this._redrawSelection(this._selectionModel.selectionStart,this._selectionModel.selectionEnd,this._selectionModel.columnSelectMode)}handleSelectionChanged(e,t,i){super.handleSelectionChanged(e,t,i),this._redrawSelection(e,t,i)}_redrawSelection(e,t,i){if(!this._didStateChange(e,t,i,this._bufferService.buffer.ydisp))return;if(this._clearAll(),!e||!t)return void this._clearState();const s=e[1]-this._bufferService.buffer.ydisp,r=t[1]-this._bufferService.buffer.ydisp,o=Math.max(s,0),n=Math.min(r,this._bufferService.rows-1);if(o>=this._bufferService.rows||n<0)this._state.ydisp=this._bufferService.buffer.ydisp;else{if(this._ctx.fillStyle=(this._coreBrowserService.isFocused?this._themeService.colors.selectionBackgroundTransparent:this._themeService.colors.selectionInactiveBackgroundTransparent).css,i){const i=e[0],s=t[0]-i,r=n-o+1;this._fillCells(i,o,s,r)}else{const i=s===o?e[0]:0,a=o===r?t[0]:this._bufferService.cols;this._fillCells(i,o,a-i,1);const h=Math.max(n-o-1,0);if(this._fillCells(0,o+1,this._bufferService.cols,h),o!==n){const e=r===n?t[0]:this._bufferService.cols;this._fillCells(0,n,e,1)}}this._state.start=[e[0],e[1]],this._state.end=[t[0],t[1]],this._state.columnSelectMode=i,this._state.ydisp=this._bufferService.buffer.ydisp}}_didStateChange(e,t,i,s){return!this._areCoordinatesEqual(e,this._state.start)||!this._areCoordinatesEqual(t,this._state.end)||i!==this._state.columnSelectMode||s!==this._state.ydisp}_areCoordinatesEqual(e,t){return!(!e||!t)&&e[0]===t[0]&&e[1]===t[1]}}t.SelectionRenderLayer=r},744:(e,t,i)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.TextRenderLayer=void 0;const s=i(574),r=i(903),o=i(147),n=i(855),a=i(782),h=i(577);class l extends r.BaseRenderLayer{constructor(e,t,i,r,o,n,h,l,c,d){super(e,t,\"text\",i,r,d,o,n,l,c),this._characterJoinerService=h,this._characterWidth=0,this._characterFont=\"\",this._characterOverlapCache={},this._workCell=new a.CellData,this._state=new s.GridCache,this.register(n.onSpecificOptionChange(\"allowTransparency\",(e=>this._setTransparency(e))))}resize(e){super.resize(e);const t=this._getFont(!1,!1);this._characterWidth===e.device.char.width&&this._characterFont===t||(this._characterWidth=e.device.char.width,this._characterFont=t,this._characterOverlapCache={}),this._state.clear(),this._state.resize(this._bufferService.cols,this._bufferService.rows)}reset(){this._state.clear(),this._clearAll()}_forEachCell(e,t,i){for(let s=e;s<=t;s++){const e=s+this._bufferService.buffer.ydisp,t=this._bufferService.buffer.lines.get(e),r=this._characterJoinerService.getJoinedCharacters(e);for(let e=0;e0&&e===r[0][0]){a=!0;const e=r.shift();o=new h.JoinedCellData(this._workCell,t.translateToString(!0,e[0],e[1]),e[1]-e[0]),l=e[1]-1}!a&&this._isOverlapping(o)&&l{let l=null;e.isInverse()?l=e.isFgDefault()?this._themeService.colors.foreground.css:e.isFgRGB()?`rgb(${o.AttributeData.toColorRGB(e.getFgColor()).join(\",\")})`:this._themeService.colors.ansi[e.getFgColor()].css:e.isBgRGB()?l=`rgb(${o.AttributeData.toColorRGB(e.getBgColor()).join(\",\")})`:e.isBgPalette()&&(l=this._themeService.colors.ansi[e.getBgColor()].css);let c=!1;this._decorationService.forEachDecorationAtCell(t,this._bufferService.buffer.ydisp+h,void 0,(e=>{\"top\"!==e.options.layer&&c||(e.backgroundColorRGB&&(l=e.backgroundColorRGB.css),c=\"top\"===e.options.layer)})),null===a&&(r=t,n=h),h!==n?(i.fillStyle=a||\"\",this._fillCells(r,n,s-r,1),r=t,n=h):a!==l&&(i.fillStyle=a||\"\",this._fillCells(r,n,t-r,1),r=t,n=h),a=l})),null!==a&&(i.fillStyle=a,this._fillCells(r,n,s-r,1)),i.restore()}_drawForeground(e,t){this._forEachCell(e,t,((e,t,i)=>this._drawChars(e,t,i)))}handleGridChanged(e,t){0!==this._state.cache.length&&(this._charAtlas&&this._charAtlas.beginFrame(),this._clearCells(0,e,this._bufferService.cols,t-e+1),this._drawBackground(e,t),this._drawForeground(e,t))}_isOverlapping(e){if(1!==e.getWidth())return!1;if(e.getCode()<256)return!1;const t=e.getChars();if(this._characterOverlapCache.hasOwnProperty(t))return this._characterOverlapCache[t];this._ctx.save(),this._ctx.font=this._characterFont;const i=Math.floor(this._ctx.measureText(t).width)>this._characterWidth;return this._ctx.restore(),this._characterOverlapCache[t]=i,i}}t.TextRenderLayer=l},274:(e,t)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.CellColorResolver=void 0;let i,s=0,r=0,o=!1,n=!1,a=!1;t.CellColorResolver=class{constructor(e,t,i,s,r){this._terminal=e,this._selectionRenderModel=t,this._decorationService=i,this._coreBrowserService=s,this._themeService=r,this.result={fg:0,bg:0,ext:0}}resolve(e,t,h){this.result.bg=e.bg,this.result.fg=e.fg,this.result.ext=268435456&e.bg?e.extended.ext:0,r=0,s=0,n=!1,o=!1,a=!1,i=this._themeService.colors,this._decorationService.forEachDecorationAtCell(t,h,\"bottom\",(e=>{e.backgroundColorRGB&&(r=e.backgroundColorRGB.rgba>>8&16777215,n=!0),e.foregroundColorRGB&&(s=e.foregroundColorRGB.rgba>>8&16777215,o=!0)})),a=this._selectionRenderModel.isCellSelected(this._terminal,t,h),a&&(r=(this._coreBrowserService.isFocused?i.selectionBackgroundOpaque:i.selectionInactiveBackgroundOpaque).rgba>>8&16777215,n=!0,i.selectionForeground&&(s=i.selectionForeground.rgba>>8&16777215,o=!0)),this._decorationService.forEachDecorationAtCell(t,h,\"top\",(e=>{e.backgroundColorRGB&&(r=e.backgroundColorRGB.rgba>>8&16777215,n=!0),e.foregroundColorRGB&&(s=e.foregroundColorRGB.rgba>>8&16777215,o=!0)})),n&&(r=a?-16777216&e.bg&-134217729|r|50331648:-16777216&e.bg|r|50331648),o&&(s=-16777216&e.fg&-67108865|s|50331648),67108864&this.result.fg&&(n&&!o&&(s=0==(50331648&this.result.bg)?-134217728&this.result.fg|16777215&i.background.rgba>>8|50331648:-134217728&this.result.fg|67108863&this.result.bg,o=!0),!n&&o&&(r=0==(50331648&this.result.fg)?-67108864&this.result.bg|16777215&i.foreground.rgba>>8|50331648:-67108864&this.result.bg|67108863&this.result.fg,n=!0)),i=void 0,this.result.bg=n?r:this.result.bg,this.result.fg=o?s:this.result.fg}}},627:(e,t,i)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.removeTerminalFromCache=t.acquireTextureAtlas=void 0;const s=i(509),r=i(197),o=[];t.acquireTextureAtlas=function(e,t,i,n,a,h,l,c){const d=(0,r.generateConfig)(n,a,h,l,t,i,c);for(let t=0;t=0){if((0,r.configEquals)(i.config,d))return i.atlas;1===i.ownedBy.length?(i.atlas.dispose(),o.splice(t,1)):i.ownedBy.splice(s,1);break}}for(let t=0;t{Object.defineProperty(t,\"__esModule\",{value:!0}),t.is256Color=t.configEquals=t.generateConfig=void 0;const s=i(160);t.generateConfig=function(e,t,i,r,o,n,a){const h={foreground:n.foreground,background:n.background,cursor:s.NULL_COLOR,cursorAccent:s.NULL_COLOR,selectionForeground:s.NULL_COLOR,selectionBackgroundTransparent:s.NULL_COLOR,selectionBackgroundOpaque:s.NULL_COLOR,selectionInactiveBackgroundTransparent:s.NULL_COLOR,selectionInactiveBackgroundOpaque:s.NULL_COLOR,ansi:n.ansi.slice(),contrastCache:n.contrastCache};return{customGlyphs:o.customGlyphs,devicePixelRatio:a,letterSpacing:o.letterSpacing,lineHeight:o.lineHeight,deviceCellWidth:e,deviceCellHeight:t,deviceCharWidth:i,deviceCharHeight:r,fontFamily:o.fontFamily,fontSize:o.fontSize,fontWeight:o.fontWeight,fontWeightBold:o.fontWeightBold,allowTransparency:o.allowTransparency,drawBoldTextInBrightColors:o.drawBoldTextInBrightColors,minimumContrastRatio:o.minimumContrastRatio,colors:h}},t.configEquals=function(e,t){for(let i=0;i{Object.defineProperty(t,\"__esModule\",{value:!0}),t.TEXT_BASELINE=t.DIM_OPACITY=t.INVERTED_DEFAULT_COLOR=void 0;const s=i(399);t.INVERTED_DEFAULT_COLOR=257,t.DIM_OPACITY=.5,t.TEXT_BASELINE=s.isFirefox||s.isLegacyEdge?\"bottom\":\"ideographic\"},860:(e,t,i)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.tryDrawCustomChar=t.powerlineDefinitions=t.boxDrawingDefinitions=t.blockElementDefinitions=void 0;const s=i(374);t.blockElementDefinitions={\"▀\":[{x:0,y:0,w:8,h:4}],\"▁\":[{x:0,y:7,w:8,h:1}],\"▂\":[{x:0,y:6,w:8,h:2}],\"▃\":[{x:0,y:5,w:8,h:3}],\"▄\":[{x:0,y:4,w:8,h:4}],\"▅\":[{x:0,y:3,w:8,h:5}],\"▆\":[{x:0,y:2,w:8,h:6}],\"▇\":[{x:0,y:1,w:8,h:7}],\"█\":[{x:0,y:0,w:8,h:8}],\"▉\":[{x:0,y:0,w:7,h:8}],\"▊\":[{x:0,y:0,w:6,h:8}],\"▋\":[{x:0,y:0,w:5,h:8}],\"▌\":[{x:0,y:0,w:4,h:8}],\"▍\":[{x:0,y:0,w:3,h:8}],\"▎\":[{x:0,y:0,w:2,h:8}],\"▏\":[{x:0,y:0,w:1,h:8}],\"▐\":[{x:4,y:0,w:4,h:8}],\"▔\":[{x:0,y:0,w:8,h:1}],\"▕\":[{x:7,y:0,w:1,h:8}],\"▖\":[{x:0,y:4,w:4,h:4}],\"▗\":[{x:4,y:4,w:4,h:4}],\"▘\":[{x:0,y:0,w:4,h:4}],\"▙\":[{x:0,y:0,w:4,h:8},{x:0,y:4,w:8,h:4}],\"▚\":[{x:0,y:0,w:4,h:4},{x:4,y:4,w:4,h:4}],\"▛\":[{x:0,y:0,w:4,h:8},{x:4,y:0,w:4,h:4}],\"▜\":[{x:0,y:0,w:8,h:4},{x:4,y:0,w:4,h:8}],\"▝\":[{x:4,y:0,w:4,h:4}],\"▞\":[{x:4,y:0,w:4,h:4},{x:0,y:4,w:4,h:4}],\"▟\":[{x:4,y:0,w:4,h:8},{x:0,y:4,w:8,h:4}],\"🭰\":[{x:1,y:0,w:1,h:8}],\"🭱\":[{x:2,y:0,w:1,h:8}],\"🭲\":[{x:3,y:0,w:1,h:8}],\"🭳\":[{x:4,y:0,w:1,h:8}],\"🭴\":[{x:5,y:0,w:1,h:8}],\"🭵\":[{x:6,y:0,w:1,h:8}],\"🭶\":[{x:0,y:1,w:8,h:1}],\"🭷\":[{x:0,y:2,w:8,h:1}],\"🭸\":[{x:0,y:3,w:8,h:1}],\"🭹\":[{x:0,y:4,w:8,h:1}],\"🭺\":[{x:0,y:5,w:8,h:1}],\"🭻\":[{x:0,y:6,w:8,h:1}],\"🭼\":[{x:0,y:0,w:1,h:8},{x:0,y:7,w:8,h:1}],\"🭽\":[{x:0,y:0,w:1,h:8},{x:0,y:0,w:8,h:1}],\"🭾\":[{x:7,y:0,w:1,h:8},{x:0,y:0,w:8,h:1}],\"🭿\":[{x:7,y:0,w:1,h:8},{x:0,y:7,w:8,h:1}],\"🮀\":[{x:0,y:0,w:8,h:1},{x:0,y:7,w:8,h:1}],\"🮁\":[{x:0,y:0,w:8,h:1},{x:0,y:2,w:8,h:1},{x:0,y:4,w:8,h:1},{x:0,y:7,w:8,h:1}],\"🮂\":[{x:0,y:0,w:8,h:2}],\"🮃\":[{x:0,y:0,w:8,h:3}],\"🮄\":[{x:0,y:0,w:8,h:5}],\"🮅\":[{x:0,y:0,w:8,h:6}],\"🮆\":[{x:0,y:0,w:8,h:7}],\"🮇\":[{x:6,y:0,w:2,h:8}],\"🮈\":[{x:5,y:0,w:3,h:8}],\"🮉\":[{x:3,y:0,w:5,h:8}],\"🮊\":[{x:2,y:0,w:6,h:8}],\"🮋\":[{x:1,y:0,w:7,h:8}],\"🮕\":[{x:0,y:0,w:2,h:2},{x:4,y:0,w:2,h:2},{x:2,y:2,w:2,h:2},{x:6,y:2,w:2,h:2},{x:0,y:4,w:2,h:2},{x:4,y:4,w:2,h:2},{x:2,y:6,w:2,h:2},{x:6,y:6,w:2,h:2}],\"🮖\":[{x:2,y:0,w:2,h:2},{x:6,y:0,w:2,h:2},{x:0,y:2,w:2,h:2},{x:4,y:2,w:2,h:2},{x:2,y:4,w:2,h:2},{x:6,y:4,w:2,h:2},{x:0,y:6,w:2,h:2},{x:4,y:6,w:2,h:2}],\"🮗\":[{x:0,y:2,w:8,h:2},{x:0,y:6,w:8,h:2}]};const r={\"░\":[[1,0,0,0],[0,0,0,0],[0,0,1,0],[0,0,0,0]],\"▒\":[[1,0],[0,0],[0,1],[0,0]],\"▓\":[[0,1],[1,1],[1,0],[1,1]]};t.boxDrawingDefinitions={\"─\":{1:\"M0,.5 L1,.5\"},\"━\":{3:\"M0,.5 L1,.5\"},\"│\":{1:\"M.5,0 L.5,1\"},\"┃\":{3:\"M.5,0 L.5,1\"},\"┌\":{1:\"M0.5,1 L.5,.5 L1,.5\"},\"┏\":{3:\"M0.5,1 L.5,.5 L1,.5\"},\"┐\":{1:\"M0,.5 L.5,.5 L.5,1\"},\"┓\":{3:\"M0,.5 L.5,.5 L.5,1\"},\"└\":{1:\"M.5,0 L.5,.5 L1,.5\"},\"┗\":{3:\"M.5,0 L.5,.5 L1,.5\"},\"┘\":{1:\"M.5,0 L.5,.5 L0,.5\"},\"┛\":{3:\"M.5,0 L.5,.5 L0,.5\"},\"├\":{1:\"M.5,0 L.5,1 M.5,.5 L1,.5\"},\"┣\":{3:\"M.5,0 L.5,1 M.5,.5 L1,.5\"},\"┤\":{1:\"M.5,0 L.5,1 M.5,.5 L0,.5\"},\"┫\":{3:\"M.5,0 L.5,1 M.5,.5 L0,.5\"},\"┬\":{1:\"M0,.5 L1,.5 M.5,.5 L.5,1\"},\"┳\":{3:\"M0,.5 L1,.5 M.5,.5 L.5,1\"},\"┴\":{1:\"M0,.5 L1,.5 M.5,.5 L.5,0\"},\"┻\":{3:\"M0,.5 L1,.5 M.5,.5 L.5,0\"},\"┼\":{1:\"M0,.5 L1,.5 M.5,0 L.5,1\"},\"╋\":{3:\"M0,.5 L1,.5 M.5,0 L.5,1\"},\"╴\":{1:\"M.5,.5 L0,.5\"},\"╸\":{3:\"M.5,.5 L0,.5\"},\"╵\":{1:\"M.5,.5 L.5,0\"},\"╹\":{3:\"M.5,.5 L.5,0\"},\"╶\":{1:\"M.5,.5 L1,.5\"},\"╺\":{3:\"M.5,.5 L1,.5\"},\"╷\":{1:\"M.5,.5 L.5,1\"},\"╻\":{3:\"M.5,.5 L.5,1\"},\"═\":{1:(e,t)=>`M0,${.5-t} L1,${.5-t} M0,${.5+t} L1,${.5+t}`},\"║\":{1:(e,t)=>`M${.5-e},0 L${.5-e},1 M${.5+e},0 L${.5+e},1`},\"╒\":{1:(e,t)=>`M.5,1 L.5,${.5-t} L1,${.5-t} M.5,${.5+t} L1,${.5+t}`},\"╓\":{1:(e,t)=>`M${.5-e},1 L${.5-e},.5 L1,.5 M${.5+e},.5 L${.5+e},1`},\"╔\":{1:(e,t)=>`M1,${.5-t} L${.5-e},${.5-t} L${.5-e},1 M1,${.5+t} L${.5+e},${.5+t} L${.5+e},1`},\"╕\":{1:(e,t)=>`M0,${.5-t} L.5,${.5-t} L.5,1 M0,${.5+t} L.5,${.5+t}`},\"╖\":{1:(e,t)=>`M${.5+e},1 L${.5+e},.5 L0,.5 M${.5-e},.5 L${.5-e},1`},\"╗\":{1:(e,t)=>`M0,${.5+t} L${.5-e},${.5+t} L${.5-e},1 M0,${.5-t} L${.5+e},${.5-t} L${.5+e},1`},\"╘\":{1:(e,t)=>`M.5,0 L.5,${.5+t} L1,${.5+t} M.5,${.5-t} L1,${.5-t}`},\"╙\":{1:(e,t)=>`M1,.5 L${.5-e},.5 L${.5-e},0 M${.5+e},.5 L${.5+e},0`},\"╚\":{1:(e,t)=>`M1,${.5-t} L${.5+e},${.5-t} L${.5+e},0 M1,${.5+t} L${.5-e},${.5+t} L${.5-e},0`},\"╛\":{1:(e,t)=>`M0,${.5+t} L.5,${.5+t} L.5,0 M0,${.5-t} L.5,${.5-t}`},\"╜\":{1:(e,t)=>`M0,.5 L${.5+e},.5 L${.5+e},0 M${.5-e},.5 L${.5-e},0`},\"╝\":{1:(e,t)=>`M0,${.5-t} L${.5-e},${.5-t} L${.5-e},0 M0,${.5+t} L${.5+e},${.5+t} L${.5+e},0`},\"╞\":{1:(e,t)=>`M.5,0 L.5,1 M.5,${.5-t} L1,${.5-t} M.5,${.5+t} L1,${.5+t}`},\"╟\":{1:(e,t)=>`M${.5-e},0 L${.5-e},1 M${.5+e},0 L${.5+e},1 M${.5+e},.5 L1,.5`},\"╠\":{1:(e,t)=>`M${.5-e},0 L${.5-e},1 M1,${.5+t} L${.5+e},${.5+t} L${.5+e},1 M1,${.5-t} L${.5+e},${.5-t} L${.5+e},0`},\"╡\":{1:(e,t)=>`M.5,0 L.5,1 M0,${.5-t} L.5,${.5-t} M0,${.5+t} L.5,${.5+t}`},\"╢\":{1:(e,t)=>`M0,.5 L${.5-e},.5 M${.5-e},0 L${.5-e},1 M${.5+e},0 L${.5+e},1`},\"╣\":{1:(e,t)=>`M${.5+e},0 L${.5+e},1 M0,${.5+t} L${.5-e},${.5+t} L${.5-e},1 M0,${.5-t} L${.5-e},${.5-t} L${.5-e},0`},\"╤\":{1:(e,t)=>`M0,${.5-t} L1,${.5-t} M0,${.5+t} L1,${.5+t} M.5,${.5+t} L.5,1`},\"╥\":{1:(e,t)=>`M0,.5 L1,.5 M${.5-e},.5 L${.5-e},1 M${.5+e},.5 L${.5+e},1`},\"╦\":{1:(e,t)=>`M0,${.5-t} L1,${.5-t} M0,${.5+t} L${.5-e},${.5+t} L${.5-e},1 M1,${.5+t} L${.5+e},${.5+t} L${.5+e},1`},\"╧\":{1:(e,t)=>`M.5,0 L.5,${.5-t} M0,${.5-t} L1,${.5-t} M0,${.5+t} L1,${.5+t}`},\"╨\":{1:(e,t)=>`M0,.5 L1,.5 M${.5-e},.5 L${.5-e},0 M${.5+e},.5 L${.5+e},0`},\"╩\":{1:(e,t)=>`M0,${.5+t} L1,${.5+t} M0,${.5-t} L${.5-e},${.5-t} L${.5-e},0 M1,${.5-t} L${.5+e},${.5-t} L${.5+e},0`},\"╪\":{1:(e,t)=>`M.5,0 L.5,1 M0,${.5-t} L1,${.5-t} M0,${.5+t} L1,${.5+t}`},\"╫\":{1:(e,t)=>`M0,.5 L1,.5 M${.5-e},0 L${.5-e},1 M${.5+e},0 L${.5+e},1`},\"╬\":{1:(e,t)=>`M0,${.5+t} L${.5-e},${.5+t} L${.5-e},1 M1,${.5+t} L${.5+e},${.5+t} L${.5+e},1 M0,${.5-t} L${.5-e},${.5-t} L${.5-e},0 M1,${.5-t} L${.5+e},${.5-t} L${.5+e},0`},\"╱\":{1:\"M1,0 L0,1\"},\"╲\":{1:\"M0,0 L1,1\"},\"╳\":{1:\"M1,0 L0,1 M0,0 L1,1\"},\"╼\":{1:\"M.5,.5 L0,.5\",3:\"M.5,.5 L1,.5\"},\"╽\":{1:\"M.5,.5 L.5,0\",3:\"M.5,.5 L.5,1\"},\"╾\":{1:\"M.5,.5 L1,.5\",3:\"M.5,.5 L0,.5\"},\"╿\":{1:\"M.5,.5 L.5,1\",3:\"M.5,.5 L.5,0\"},\"┍\":{1:\"M.5,.5 L.5,1\",3:\"M.5,.5 L1,.5\"},\"┎\":{1:\"M.5,.5 L1,.5\",3:\"M.5,.5 L.5,1\"},\"┑\":{1:\"M.5,.5 L.5,1\",3:\"M.5,.5 L0,.5\"},\"┒\":{1:\"M.5,.5 L0,.5\",3:\"M.5,.5 L.5,1\"},\"┕\":{1:\"M.5,.5 L.5,0\",3:\"M.5,.5 L1,.5\"},\"┖\":{1:\"M.5,.5 L1,.5\",3:\"M.5,.5 L.5,0\"},\"┙\":{1:\"M.5,.5 L.5,0\",3:\"M.5,.5 L0,.5\"},\"┚\":{1:\"M.5,.5 L0,.5\",3:\"M.5,.5 L.5,0\"},\"┝\":{1:\"M.5,0 L.5,1\",3:\"M.5,.5 L1,.5\"},\"┞\":{1:\"M0.5,1 L.5,.5 L1,.5\",3:\"M.5,.5 L.5,0\"},\"┟\":{1:\"M.5,0 L.5,.5 L1,.5\",3:\"M.5,.5 L.5,1\"},\"┠\":{1:\"M.5,.5 L1,.5\",3:\"M.5,0 L.5,1\"},\"┡\":{1:\"M.5,.5 L.5,1\",3:\"M.5,0 L.5,.5 L1,.5\"},\"┢\":{1:\"M.5,.5 L.5,0\",3:\"M0.5,1 L.5,.5 L1,.5\"},\"┥\":{1:\"M.5,0 L.5,1\",3:\"M.5,.5 L0,.5\"},\"┦\":{1:\"M0,.5 L.5,.5 L.5,1\",3:\"M.5,.5 L.5,0\"},\"┧\":{1:\"M.5,0 L.5,.5 L0,.5\",3:\"M.5,.5 L.5,1\"},\"┨\":{1:\"M.5,.5 L0,.5\",3:\"M.5,0 L.5,1\"},\"┩\":{1:\"M.5,.5 L.5,1\",3:\"M.5,0 L.5,.5 L0,.5\"},\"┪\":{1:\"M.5,.5 L.5,0\",3:\"M0,.5 L.5,.5 L.5,1\"},\"┭\":{1:\"M0.5,1 L.5,.5 L1,.5\",3:\"M.5,.5 L0,.5\"},\"┮\":{1:\"M0,.5 L.5,.5 L.5,1\",3:\"M.5,.5 L1,.5\"},\"┯\":{1:\"M.5,.5 L.5,1\",3:\"M0,.5 L1,.5\"},\"┰\":{1:\"M0,.5 L1,.5\",3:\"M.5,.5 L.5,1\"},\"┱\":{1:\"M.5,.5 L1,.5\",3:\"M0,.5 L.5,.5 L.5,1\"},\"┲\":{1:\"M.5,.5 L0,.5\",3:\"M0.5,1 L.5,.5 L1,.5\"},\"┵\":{1:\"M.5,0 L.5,.5 L1,.5\",3:\"M.5,.5 L0,.5\"},\"┶\":{1:\"M.5,0 L.5,.5 L0,.5\",3:\"M.5,.5 L1,.5\"},\"┷\":{1:\"M.5,.5 L.5,0\",3:\"M0,.5 L1,.5\"},\"┸\":{1:\"M0,.5 L1,.5\",3:\"M.5,.5 L.5,0\"},\"┹\":{1:\"M.5,.5 L1,.5\",3:\"M.5,0 L.5,.5 L0,.5\"},\"┺\":{1:\"M.5,.5 L0,.5\",3:\"M.5,0 L.5,.5 L1,.5\"},\"┽\":{1:\"M.5,0 L.5,1 M.5,.5 L1,.5\",3:\"M.5,.5 L0,.5\"},\"┾\":{1:\"M.5,0 L.5,1 M.5,.5 L0,.5\",3:\"M.5,.5 L1,.5\"},\"┿\":{1:\"M.5,0 L.5,1\",3:\"M0,.5 L1,.5\"},\"╀\":{1:\"M0,.5 L1,.5 M.5,.5 L.5,1\",3:\"M.5,.5 L.5,0\"},\"╁\":{1:\"M.5,.5 L.5,0 M0,.5 L1,.5\",3:\"M.5,.5 L.5,1\"},\"╂\":{1:\"M0,.5 L1,.5\",3:\"M.5,0 L.5,1\"},\"╃\":{1:\"M0.5,1 L.5,.5 L1,.5\",3:\"M.5,0 L.5,.5 L0,.5\"},\"╄\":{1:\"M0,.5 L.5,.5 L.5,1\",3:\"M.5,0 L.5,.5 L1,.5\"},\"╅\":{1:\"M.5,0 L.5,.5 L1,.5\",3:\"M0,.5 L.5,.5 L.5,1\"},\"╆\":{1:\"M.5,0 L.5,.5 L0,.5\",3:\"M0.5,1 L.5,.5 L1,.5\"},\"╇\":{1:\"M.5,.5 L.5,1\",3:\"M.5,.5 L.5,0 M0,.5 L1,.5\"},\"╈\":{1:\"M.5,.5 L.5,0\",3:\"M0,.5 L1,.5 M.5,.5 L.5,1\"},\"╉\":{1:\"M.5,.5 L1,.5\",3:\"M.5,0 L.5,1 M.5,.5 L0,.5\"},\"╊\":{1:\"M.5,.5 L0,.5\",3:\"M.5,0 L.5,1 M.5,.5 L1,.5\"},\"╌\":{1:\"M.1,.5 L.4,.5 M.6,.5 L.9,.5\"},\"╍\":{3:\"M.1,.5 L.4,.5 M.6,.5 L.9,.5\"},\"┄\":{1:\"M.0667,.5 L.2667,.5 M.4,.5 L.6,.5 M.7333,.5 L.9333,.5\"},\"┅\":{3:\"M.0667,.5 L.2667,.5 M.4,.5 L.6,.5 M.7333,.5 L.9333,.5\"},\"┈\":{1:\"M.05,.5 L.2,.5 M.3,.5 L.45,.5 M.55,.5 L.7,.5 M.8,.5 L.95,.5\"},\"┉\":{3:\"M.05,.5 L.2,.5 M.3,.5 L.45,.5 M.55,.5 L.7,.5 M.8,.5 L.95,.5\"},\"╎\":{1:\"M.5,.1 L.5,.4 M.5,.6 L.5,.9\"},\"╏\":{3:\"M.5,.1 L.5,.4 M.5,.6 L.5,.9\"},\"┆\":{1:\"M.5,.0667 L.5,.2667 M.5,.4 L.5,.6 M.5,.7333 L.5,.9333\"},\"┇\":{3:\"M.5,.0667 L.5,.2667 M.5,.4 L.5,.6 M.5,.7333 L.5,.9333\"},\"┊\":{1:\"M.5,.05 L.5,.2 M.5,.3 L.5,.45 L.5,.55 M.5,.7 L.5,.95\"},\"┋\":{3:\"M.5,.05 L.5,.2 M.5,.3 L.5,.45 L.5,.55 M.5,.7 L.5,.95\"},\"╭\":{1:(e,t)=>`M.5,1 L.5,${.5+t/.15*.5} C.5,${.5+t/.15*.5},.5,.5,1,.5`},\"╮\":{1:(e,t)=>`M.5,1 L.5,${.5+t/.15*.5} C.5,${.5+t/.15*.5},.5,.5,0,.5`},\"╯\":{1:(e,t)=>`M.5,0 L.5,${.5-t/.15*.5} C.5,${.5-t/.15*.5},.5,.5,0,.5`},\"╰\":{1:(e,t)=>`M.5,0 L.5,${.5-t/.15*.5} C.5,${.5-t/.15*.5},.5,.5,1,.5`}},t.powerlineDefinitions={\"\":{d:\"M0,0 L1,.5 L0,1\",type:0,rightPadding:2},\"\":{d:\"M-1,-.5 L1,.5 L-1,1.5\",type:1,leftPadding:1,rightPadding:1},\"\":{d:\"M1,0 L0,.5 L1,1\",type:0,leftPadding:2},\"\":{d:\"M2,-.5 L0,.5 L2,1.5\",type:1,leftPadding:1,rightPadding:1},\"\":{d:\"M0,0 L0,1 C0.552,1,1,0.776,1,.5 C1,0.224,0.552,0,0,0\",type:0,rightPadding:1},\"\":{d:\"M0,1 C0.552,1,1,0.776,1,.5 C1,0.224,0.552,0,0,0\",type:1,rightPadding:1},\"\":{d:\"M1,0 L1,1 C0.448,1,0,0.776,0,.5 C0,0.224,0.448,0,1,0\",type:0,leftPadding:1},\"\":{d:\"M1,1 C0.448,1,0,0.776,0,.5 C0,0.224,0.448,0,1,0\",type:1,leftPadding:1},\"\":{d:\"M-.5,-.5 L1.5,1.5 L-.5,1.5\",type:0},\"\":{d:\"M-.5,-.5 L1.5,1.5\",type:1,leftPadding:1,rightPadding:1},\"\":{d:\"M1.5,-.5 L-.5,1.5 L1.5,1.5\",type:0},\"\":{d:\"M1.5,-.5 L-.5,1.5 L-.5,-.5\",type:0},\"\":{d:\"M1.5,-.5 L-.5,1.5\",type:1,leftPadding:1,rightPadding:1},\"\":{d:\"M-.5,-.5 L1.5,1.5 L1.5,-.5\",type:0}},t.powerlineDefinitions[\"\"]=t.powerlineDefinitions[\"\"],t.powerlineDefinitions[\"\"]=t.powerlineDefinitions[\"\"],t.tryDrawCustomChar=function(e,i,n,l,c,d,_,u){const g=t.blockElementDefinitions[i];if(g)return function(e,t,i,s,r,o){for(let n=0;n7&&parseInt(l.slice(7,9),16)||1;else{if(!l.startsWith(\"rgba\"))throw new Error(`Unexpected fillStyle color format \"${l}\" when drawing pattern glyph`);[d,_,u,g]=l.substring(5,l.length-1).split(\",\").map((e=>parseFloat(e)))}for(let e=0;ee.bezierCurveTo(t[0],t[1],t[2],t[3],t[4],t[5]),L:(e,t)=>e.lineTo(t[0],t[1]),M:(e,t)=>e.moveTo(t[0],t[1])};function h(e,t,i,s,r,o,a,h=0,l=0){const c=e.map((e=>parseFloat(e)||parseInt(e)));if(c.length<2)throw new Error(\"Too few arguments for instruction\");for(let e=0;e{Object.defineProperty(t,\"__esModule\",{value:!0}),t.observeDevicePixelDimensions=void 0;const s=i(859);t.observeDevicePixelDimensions=function(e,t,i){let r=new t.ResizeObserver((t=>{const s=t.find((t=>t.target===e));if(!s)return;if(!(\"devicePixelContentBoxSize\"in s))return null==r||r.disconnect(),void(r=void 0);const o=s.devicePixelContentBoxSize[0].inlineSize,n=s.devicePixelContentBoxSize[0].blockSize;o>0&&n>0&&i(o,n)}));try{r.observe(e,{box:[\"device-pixel-content-box\"]})}catch(e){r.disconnect(),r=void 0}return(0,s.toDisposable)((()=>null==r?void 0:r.disconnect()))}},374:(e,t)=>{function i(e){return 57508<=e&&e<=57558}Object.defineProperty(t,\"__esModule\",{value:!0}),t.createRenderDimensions=t.excludeFromContrastRatioDemands=t.isRestrictedPowerlineGlyph=t.isPowerlineGlyph=t.throwIfFalsy=void 0,t.throwIfFalsy=function(e){if(!e)throw new Error(\"value must not be falsy\");return e},t.isPowerlineGlyph=i,t.isRestrictedPowerlineGlyph=function(e){return 57520<=e&&e<=57527},t.excludeFromContrastRatioDemands=function(e){return i(e)||function(e){return 9472<=e&&e<=9631}(e)},t.createRenderDimensions=function(){return{css:{canvas:{width:0,height:0},cell:{width:0,height:0}},device:{canvas:{width:0,height:0},cell:{width:0,height:0},char:{width:0,height:0,left:0,top:0}}}}},296:(e,t)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.createSelectionRenderModel=void 0;class i{constructor(){this.clear()}clear(){this.hasSelection=!1,this.columnSelectMode=!1,this.viewportStartRow=0,this.viewportEndRow=0,this.viewportCappedStartRow=0,this.viewportCappedEndRow=0,this.startCol=0,this.endCol=0,this.selectionStart=void 0,this.selectionEnd=void 0}update(e,t,i,s=!1){if(this.selectionStart=t,this.selectionEnd=i,!t||!i||t[0]===i[0]&&t[1]===i[1])return void this.clear();const r=t[1]-e.buffer.active.viewportY,o=i[1]-e.buffer.active.viewportY,n=Math.max(r,0),a=Math.min(o,e.rows-1);n>=e.rows||a<0?this.clear():(this.hasSelection=!0,this.columnSelectMode=s,this.viewportStartRow=r,this.viewportEndRow=o,this.viewportCappedStartRow=n,this.viewportCappedEndRow=a,this.startCol=t[0],this.endCol=i[0])}isCellSelected(e,t,i){return!!this.hasSelection&&(i-=e.buffer.active.viewportY,this.columnSelectMode?this.startCol<=this.endCol?t>=this.startCol&&i>=this.viewportCappedStartRow&&t=this.viewportCappedStartRow&&t>=this.endCol&&i<=this.viewportCappedEndRow:i>this.viewportStartRow&&i=this.startCol&&t=this.startCol)}}t.createSelectionRenderModel=function(){return new i}},509:(e,t,i)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.TextureAtlas=void 0;const s=i(237),r=i(855),o=i(147),n=i(160),a=i(860),h=i(374),l=i(485),c=i(385),d=i(345),_={texturePage:0,texturePosition:{x:0,y:0},texturePositionClipSpace:{x:0,y:0},offset:{x:0,y:0},size:{x:0,y:0},sizeClipSpace:{x:0,y:0}};let u;class g{constructor(e,t,i){this._document=e,this._config=t,this._unicodeService=i,this._didWarmUp=!1,this._cacheMap=new l.FourKeyMap,this._cacheMapCombined=new l.FourKeyMap,this._pages=[],this._activePages=[],this._workBoundingBox={top:0,left:0,bottom:0,right:0},this._workAttributeData=new o.AttributeData,this._textureSize=512,this._onAddTextureAtlasCanvas=new d.EventEmitter,this.onAddTextureAtlasCanvas=this._onAddTextureAtlasCanvas.event,this._onRemoveTextureAtlasCanvas=new d.EventEmitter,this.onRemoveTextureAtlasCanvas=this._onRemoveTextureAtlasCanvas.event,this._requestClearModel=!1,this._createNewPage(),this._tmpCanvas=C(e,4*this._config.deviceCellWidth+4,this._config.deviceCellHeight+4),this._tmpCtx=(0,h.throwIfFalsy)(this._tmpCanvas.getContext(\"2d\",{alpha:this._config.allowTransparency,willReadFrequently:!0}))}get pages(){return this._pages}dispose(){for(const e of this.pages)e.canvas.remove();this._onAddTextureAtlasCanvas.dispose()}warmUp(){this._didWarmUp||(this._doWarmUp(),this._didWarmUp=!0)}_doWarmUp(){const e=new c.IdleTaskQueue;for(let t=33;t<126;t++)e.enqueue((()=>{if(!this._cacheMap.get(t,r.DEFAULT_COLOR,r.DEFAULT_COLOR,r.DEFAULT_EXT)){const e=this._drawToCache(t,r.DEFAULT_COLOR,r.DEFAULT_COLOR,r.DEFAULT_EXT);this._cacheMap.set(t,r.DEFAULT_COLOR,r.DEFAULT_COLOR,r.DEFAULT_EXT,e)}}))}beginFrame(){return this._requestClearModel}clearTexture(){if(0!==this._pages[0].currentRow.x||0!==this._pages[0].currentRow.y){for(const e of this._pages)e.clear();this._cacheMap.clear(),this._cacheMapCombined.clear(),this._didWarmUp=!1}}_createNewPage(){g.maxAtlasPages&&this._pages.length>=Math.max(4,g.maxAtlasPages/2)&&queueMicrotask((()=>{const e=this._pages.filter((e=>2*e.canvas.width<=(g.maxTextureSize||4096))).sort(((e,t)=>t.canvas.width!==e.canvas.width?t.canvas.width-e.canvas.width:t.percentageUsed-e.percentageUsed));let t=-1,i=0;for(let s=0;se.glyphs[0].texturePage)).sort(((e,t)=>e>t?1:-1)),o=r[0],n=this._mergePages(s,o);n.version++,this._pages[o]=n;for(let e=r.length-1;e>=1;e--)this._deletePage(r[e]);this._requestClearModel=!0,this._onAddTextureAtlasCanvas.fire(n.canvas)}));const e=new f(this._document,this._textureSize);return this._pages.push(e),this._activePages.push(e),this._onAddTextureAtlasCanvas.fire(e.canvas),e}_mergePages(e,t){const i=2*e[0].canvas.width,s=new f(this._document,i,e);for(const[r,o]of e.entries()){const e=r*o.canvas.width%i,n=Math.floor(r/2)*o.canvas.height;s.ctx.drawImage(o.canvas,e,n);for(const s of o.glyphs)s.texturePage=t,s.sizeClipSpace.x=s.size.x/i,s.sizeClipSpace.y=s.size.y/i,s.texturePosition.x+=e,s.texturePosition.y+=n,s.texturePositionClipSpace.x=s.texturePosition.x/i,s.texturePositionClipSpace.y=s.texturePosition.y/i;this._onRemoveTextureAtlasCanvas.fire(o.canvas);const a=this._activePages.indexOf(o);-1!==a&&this._activePages.splice(a,1)}return s}_deletePage(e){this._pages.splice(e,1);for(let t=e;t=this._config.colors.ansi.length)throw new Error(\"No color found for idx \"+e);return this._config.colors.ansi[e]}_getBackgroundColor(e,t,i,s){if(this._config.allowTransparency)return n.NULL_COLOR;let r;switch(e){case 16777216:case 33554432:r=this._getColorFromAnsiIndex(t);break;case 50331648:const e=o.AttributeData.toColorRGB(t);r=n.rgba.toColor(e[0],e[1],e[2]);break;default:r=i?this._config.colors.foreground:this._config.colors.background}return r}_getForegroundColor(e,t,i,r,a,h,l,c,d,_){const u=this._getMinimumContrastColor(e,t,i,r,a,h,!1,d,_);if(u)return u;let g;switch(a){case 16777216:case 33554432:this._config.drawBoldTextInBrightColors&&d&&h<8&&(h+=8),g=this._getColorFromAnsiIndex(h);break;case 50331648:const e=o.AttributeData.toColorRGB(h);g=n.rgba.toColor(e[0],e[1],e[2]);break;default:g=l?this._config.colors.background:this._config.colors.foreground}return this._config.allowTransparency&&(g=n.color.opaque(g)),c&&(g=n.color.multiplyOpacity(g,s.DIM_OPACITY)),g}_resolveBackgroundRgba(e,t,i){switch(e){case 16777216:case 33554432:return this._getColorFromAnsiIndex(t).rgba;case 50331648:return t<<8;default:return i?this._config.colors.foreground.rgba:this._config.colors.background.rgba}}_resolveForegroundRgba(e,t,i,s){switch(e){case 16777216:case 33554432:return this._config.drawBoldTextInBrightColors&&s&&t<8&&(t+=8),this._getColorFromAnsiIndex(t).rgba;case 50331648:return t<<8;default:return i?this._config.colors.background.rgba:this._config.colors.foreground.rgba}}_getMinimumContrastColor(e,t,i,s,r,o,a,h,l){if(1===this._config.minimumContrastRatio||l)return;const c=this._config.colors.contrastCache.getColor(e,s);if(void 0!==c)return c||void 0;const d=this._resolveBackgroundRgba(t,i,a),_=this._resolveForegroundRgba(r,o,a,h),u=n.rgba.ensureContrastRatio(d,_,this._config.minimumContrastRatio);if(!u)return void this._config.colors.contrastCache.setColor(e,s,null);const g=n.rgba.toColor(u>>24&255,u>>16&255,u>>8&255);return this._config.colors.contrastCache.setColor(e,s,g),g}_drawToCache(e,t,i,r){const n=\"number\"==typeof e?String.fromCharCode(e):e,l=Math.min(this._config.deviceCellWidth*Math.max(n.length,2)+4,this._textureSize);this._tmpCanvas.width=12&&!this._config.allowTransparency&&\" \"!==n){this._tmpCtx.save(),this._tmpCtx.textBaseline=\"alphabetic\";const t=this._tmpCtx.measureText(n);if(this._tmpCtx.restore(),\"actualBoundingBoxDescent\"in t&&t.actualBoundingBoxDescent>0){this._tmpCtx.save();const t=new Path2D;t.rect(i,s-Math.ceil(e/2),this._config.deviceCellWidth*$,a-s+Math.ceil(e/2)),this._tmpCtx.clip(t),this._tmpCtx.lineWidth=3*this._config.devicePixelRatio,this._tmpCtx.strokeStyle=M.css,this._tmpCtx.strokeText(n,D,D+this._config.deviceCharHeight),this._tmpCtx.restore()}}}if(x){const e=Math.max(1,Math.floor(this._config.fontSize*this._config.devicePixelRatio/15)),t=e%2==1?.5:0;this._tmpCtx.lineWidth=e,this._tmpCtx.strokeStyle=this._tmpCtx.fillStyle,this._tmpCtx.beginPath(),this._tmpCtx.moveTo(D,D+t),this._tmpCtx.lineTo(D+this._config.deviceCharWidth*$,D+t),this._tmpCtx.stroke()}if(k||this._tmpCtx.fillText(n,D,D+this._config.deviceCharHeight),\"_\"===n&&!this._config.allowTransparency){let e=v(this._tmpCtx.getImageData(D,D,this._config.deviceCellWidth,this._config.deviceCellHeight),M,T,B);if(e)for(let t=1;t<=5&&(this._tmpCtx.save(),this._tmpCtx.fillStyle=M.css,this._tmpCtx.fillRect(0,0,this._tmpCanvas.width,this._tmpCanvas.height),this._tmpCtx.restore(),this._tmpCtx.fillText(n,D,D+this._config.deviceCharHeight-t),e=v(this._tmpCtx.getImageData(D,D,this._config.deviceCellWidth,this._config.deviceCellHeight),M,T,B),e);t++);}if(p){const e=Math.max(1,Math.floor(this._config.fontSize*this._config.devicePixelRatio/10)),t=this._tmpCtx.lineWidth%2==1?.5:0;this._tmpCtx.lineWidth=e,this._tmpCtx.strokeStyle=this._tmpCtx.fillStyle,this._tmpCtx.beginPath(),this._tmpCtx.moveTo(D,D+Math.floor(this._config.deviceCharHeight/2)-t),this._tmpCtx.lineTo(D+this._config.deviceCharWidth*$,D+Math.floor(this._config.deviceCharHeight/2)-t),this._tmpCtx.stroke()}this._tmpCtx.restore();const E=this._tmpCtx.getImageData(0,0,this._tmpCanvas.width,this._tmpCanvas.height);let P;if(P=this._config.allowTransparency?function(e){for(let t=0;t0)return!1;return!0}(E):v(E,M,T,B),P)return _;const I=this._findGlyphBoundingBox(E,this._workBoundingBox,l,A,k,D);let O,F;for(;;){if(0===this._activePages.length){const e=this._createNewPage();O=e,F=e.currentRow,F.height=I.size.y;break}O=this._activePages[this._activePages.length-1],F=O.currentRow;for(const e of this._activePages)I.size.y<=e.currentRow.height&&(O=e,F=e.currentRow);for(let e=this._activePages.length-1;e>=0;e--)for(const t of this._activePages[e].fixedRows)t.height<=F.height&&I.size.y<=t.height&&(O=this._activePages[e],F=t);if(F.y+I.size.y>=O.canvas.height||F.height>I.size.y+2){let e=!1;if(O.currentRow.y+O.currentRow.height+I.size.y>=O.canvas.height){let t;for(const e of this._activePages)if(e.currentRow.y+e.currentRow.height+I.size.y0&&O.fixedRows.push(O.currentRow),F={x:0,y:O.currentRow.y+O.currentRow.height,height:I.size.y},O.fixedRows.push(F),O.currentRow={x:0,y:F.y+F.height,height:0})}if(F.x+I.size.x<=O.canvas.width)break;F===O.currentRow?(F.x=0,F.y+=F.height,F.height=0):O.fixedRows.splice(O.fixedRows.indexOf(F),1)}return I.texturePage=this._pages.indexOf(O),I.texturePosition.x=F.x,I.texturePosition.y=F.y,I.texturePositionClipSpace.x=F.x/O.canvas.width,I.texturePositionClipSpace.y=F.y/O.canvas.height,I.sizeClipSpace.x/=O.canvas.width,I.sizeClipSpace.y/=O.canvas.height,F.height=Math.max(F.height,I.size.y),F.x+=I.size.x,O.ctx.putImageData(E,I.texturePosition.x-this._workBoundingBox.left,I.texturePosition.y-this._workBoundingBox.top,this._workBoundingBox.left,this._workBoundingBox.top,I.size.x,I.size.y),O.addGlyph(I),O.version++,I}_findGlyphBoundingBox(e,t,i,s,r,o){t.top=0;const n=s?this._config.deviceCellHeight:this._tmpCanvas.height,a=s?this._config.deviceCellWidth:i;let h=!1;for(let i=0;i=o;i--){for(let s=0;s=0;i--){for(let s=0;s>>24,o=t.rgba>>>16&255,n=t.rgba>>>8&255,a=i.rgba>>>24,h=i.rgba>>>16&255,l=i.rgba>>>8&255,c=Math.floor((Math.abs(r-a)+Math.abs(o-h)+Math.abs(n-l))/12);let d=!0;for(let t=0;t=0;a--)(r=e[a])&&(n=(o<3?r(n):o>3?r(t,i,n):r(t,i))||n);return o>3&&n&&Object.defineProperty(t,i,n),n},r=this&&this.__param||function(e,t){return function(i,s){t(i,s,e)}};Object.defineProperty(t,\"__esModule\",{value:!0}),t.CharacterJoinerService=t.JoinedCellData=void 0;const o=i(147),n=i(855),a=i(782),h=i(97);class l extends o.AttributeData{constructor(e,t,i){super(),this.content=0,this.combinedData=\"\",this.fg=e.fg,this.bg=e.bg,this.combinedData=t,this._width=i}isCombined(){return 2097152}getWidth(){return this._width}getChars(){return this.combinedData}getCode(){return 2097151}setFromCharData(e){throw new Error(\"not implemented\")}getAsCharData(){return[this.fg,this.getChars(),this.getWidth(),this.getCode()]}}t.JoinedCellData=l;let c=class e{constructor(e){this._bufferService=e,this._characterJoiners=[],this._nextCharacterJoinerId=0,this._workCell=new a.CellData}register(e){const t={id:this._nextCharacterJoinerId++,handler:e};return this._characterJoiners.push(t),t.id}deregister(e){for(let t=0;t1){const e=this._getJoinedRanges(s,a,o,t,r);for(let t=0;t1){const e=this._getJoinedRanges(s,a,o,t,r);for(let t=0;t{Object.defineProperty(t,\"__esModule\",{value:!0}),t.contrastRatio=t.toPaddedHex=t.rgba=t.rgb=t.css=t.color=t.channels=t.NULL_COLOR=void 0;const s=i(399);let r=0,o=0,n=0,a=0;var h,l,c;function d(e){const t=e.toString(16);return t.length<2?\"0\"+t:t}function _(e,t){return e>>0}}(h=t.channels||(t.channels={})),function(e){function t(e,t){return a=Math.round(255*t),[r,o,n]=c.toChannels(e.rgba),{css:h.toCss(r,o,n,a),rgba:h.toRgba(r,o,n,a)}}e.blend=function(e,t){if(a=(255&t.rgba)/255,1===a)return{css:t.css,rgba:t.rgba};const i=t.rgba>>24&255,s=t.rgba>>16&255,l=t.rgba>>8&255,c=e.rgba>>24&255,d=e.rgba>>16&255,_=e.rgba>>8&255;return r=c+Math.round((i-c)*a),o=d+Math.round((s-d)*a),n=_+Math.round((l-_)*a),{css:h.toCss(r,o,n),rgba:h.toRgba(r,o,n)}},e.isOpaque=function(e){return 255==(255&e.rgba)},e.ensureContrastRatio=function(e,t,i){const s=c.ensureContrastRatio(e.rgba,t.rgba,i);if(s)return c.toColor(s>>24&255,s>>16&255,s>>8&255)},e.opaque=function(e){const t=(255|e.rgba)>>>0;return[r,o,n]=c.toChannels(t),{css:h.toCss(r,o,n),rgba:t}},e.opacity=t,e.multiplyOpacity=function(e,i){return a=255&e.rgba,t(e,a*i/255)},e.toColorRGB=function(e){return[e.rgba>>24&255,e.rgba>>16&255,e.rgba>>8&255]}}(t.color||(t.color={})),function(e){let t,i;if(!s.isNode){const e=document.createElement(\"canvas\");e.width=1,e.height=1;const s=e.getContext(\"2d\",{willReadFrequently:!0});s&&(t=s,t.globalCompositeOperation=\"copy\",i=t.createLinearGradient(0,0,1,1))}e.toColor=function(e){if(e.match(/#[\\da-f]{3,8}/i))switch(e.length){case 4:return r=parseInt(e.slice(1,2).repeat(2),16),o=parseInt(e.slice(2,3).repeat(2),16),n=parseInt(e.slice(3,4).repeat(2),16),c.toColor(r,o,n);case 5:return r=parseInt(e.slice(1,2).repeat(2),16),o=parseInt(e.slice(2,3).repeat(2),16),n=parseInt(e.slice(3,4).repeat(2),16),a=parseInt(e.slice(4,5).repeat(2),16),c.toColor(r,o,n,a);case 7:return{css:e,rgba:(parseInt(e.slice(1),16)<<8|255)>>>0};case 9:return{css:e,rgba:parseInt(e.slice(1),16)>>>0}}const s=e.match(/rgba?\\(\\s*(\\d{1,3})\\s*,\\s*(\\d{1,3})\\s*,\\s*(\\d{1,3})\\s*(,\\s*(0|1|\\d?\\.(\\d+))\\s*)?\\)/);if(s)return r=parseInt(s[1]),o=parseInt(s[2]),n=parseInt(s[3]),a=Math.round(255*(void 0===s[5]?1:parseFloat(s[5]))),c.toColor(r,o,n,a);if(!t||!i)throw new Error(\"css.toColor: Unsupported css format\");if(t.fillStyle=i,t.fillStyle=e,\"string\"!=typeof t.fillStyle)throw new Error(\"css.toColor: Unsupported css format\");if(t.fillRect(0,0,1,1),[r,o,n,a]=t.getImageData(0,0,1,1).data,255!==a)throw new Error(\"css.toColor: Unsupported css format\");return{rgba:h.toRgba(r,o,n,a),css:e}}}(t.css||(t.css={})),function(e){function t(e,t,i){const s=e/255,r=t/255,o=i/255;return.2126*(s<=.03928?s/12.92:Math.pow((s+.055)/1.055,2.4))+.7152*(r<=.03928?r/12.92:Math.pow((r+.055)/1.055,2.4))+.0722*(o<=.03928?o/12.92:Math.pow((o+.055)/1.055,2.4))}e.relativeLuminance=function(e){return t(e>>16&255,e>>8&255,255&e)},e.relativeLuminance2=t}(l=t.rgb||(t.rgb={})),function(e){function t(e,t,i){const s=e>>24&255,r=e>>16&255,o=e>>8&255;let n=t>>24&255,a=t>>16&255,h=t>>8&255,c=_(l.relativeLuminance2(n,a,h),l.relativeLuminance2(s,r,o));for(;c0||a>0||h>0);)n-=Math.max(0,Math.ceil(.1*n)),a-=Math.max(0,Math.ceil(.1*a)),h-=Math.max(0,Math.ceil(.1*h)),c=_(l.relativeLuminance2(n,a,h),l.relativeLuminance2(s,r,o));return(n<<24|a<<16|h<<8|255)>>>0}function i(e,t,i){const s=e>>24&255,r=e>>16&255,o=e>>8&255;let n=t>>24&255,a=t>>16&255,h=t>>8&255,c=_(l.relativeLuminance2(n,a,h),l.relativeLuminance2(s,r,o));for(;c>>0}e.ensureContrastRatio=function(e,s,r){const o=l.relativeLuminance(e>>8),n=l.relativeLuminance(s>>8);if(_(o,n)>8));if(a_(o,l.relativeLuminance(t>>8))?n:t}return n}const a=i(e,s,r),h=_(o,l.relativeLuminance(a>>8));if(h_(o,l.relativeLuminance(i>>8))?a:i}return a}},e.reduceLuminance=t,e.increaseLuminance=i,e.toChannels=function(e){return[e>>24&255,e>>16&255,e>>8&255,255&e]},e.toColor=function(e,t,i,s){return{css:h.toCss(e,t,i,s),rgba:h.toRgba(e,t,i,s)}}}(c=t.rgba||(t.rgba={})),t.toPaddedHex=d,t.contrastRatio=_},345:(e,t)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.forwardEvent=t.EventEmitter=void 0,t.EventEmitter=class{constructor(){this._listeners=[],this._disposed=!1}get event(){return this._event||(this._event=e=>(this._listeners.push(e),{dispose:()=>{if(!this._disposed)for(let t=0;tt.fire(e)))}},859:(e,t)=>{function i(e){for(const t of e)t.dispose();e.length=0}Object.defineProperty(t,\"__esModule\",{value:!0}),t.getDisposeArrayDisposable=t.disposeArray=t.toDisposable=t.Disposable=void 0,t.Disposable=class{constructor(){this._disposables=[],this._isDisposed=!1}dispose(){this._isDisposed=!0;for(const e of this._disposables)e.dispose();this._disposables.length=0}register(e){return this._disposables.push(e),e}unregister(e){const t=this._disposables.indexOf(e);-1!==t&&this._disposables.splice(t,1)}},t.toDisposable=function(e){return{dispose:e}},t.disposeArray=i,t.getDisposeArrayDisposable=function(e){return{dispose:()=>i(e)}}},485:(e,t)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.FourKeyMap=t.TwoKeyMap=void 0;class i{constructor(){this._data={}}set(e,t,i){this._data[e]||(this._data[e]={}),this._data[e][t]=i}get(e,t){return this._data[e]?this._data[e][t]:void 0}clear(){this._data={}}}t.TwoKeyMap=i,t.FourKeyMap=class{constructor(){this._data=new i}set(e,t,s,r,o){this._data.get(e,t)||this._data.set(e,t,new i),this._data.get(e,t).set(s,r,o)}get(e,t,i,s){var r;return null===(r=this._data.get(e,t))||void 0===r?void 0:r.get(i,s)}clear(){this._data.clear()}}},399:(e,t)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.isChromeOS=t.isLinux=t.isWindows=t.isIphone=t.isIpad=t.isMac=t.getSafariVersion=t.isSafari=t.isLegacyEdge=t.isFirefox=t.isNode=void 0,t.isNode=\"undefined\"==typeof navigator;const i=t.isNode?\"node\":navigator.userAgent,s=t.isNode?\"node\":navigator.platform;t.isFirefox=i.includes(\"Firefox\"),t.isLegacyEdge=i.includes(\"Edge\"),t.isSafari=/^((?!chrome|android).)*safari/i.test(i),t.getSafariVersion=function(){if(!t.isSafari)return 0;const e=i.match(/Version\\/(\\d+)/);return null===e||e.length<2?0:parseInt(e[1])},t.isMac=[\"Macintosh\",\"MacIntel\",\"MacPPC\",\"Mac68K\"].includes(s),t.isIpad=\"iPad\"===s,t.isIphone=\"iPhone\"===s,t.isWindows=[\"Windows\",\"Win16\",\"Win32\",\"WinCE\"].includes(s),t.isLinux=s.indexOf(\"Linux\")>=0,t.isChromeOS=/\\bCrOS\\b/.test(i)},385:(e,t,i)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.DebouncedIdleTask=t.IdleTaskQueue=t.PriorityTaskQueue=void 0;const s=i(399);class r{constructor(){this._tasks=[],this._i=0}enqueue(e){this._tasks.push(e),this._start()}flush(){for(;this._ir)return s-t<-20&&console.warn(`task queue exceeded allotted deadline by ${Math.abs(Math.round(s-t))}ms`),void this._start();s=r}this.clear()}}class o extends r{_requestCallback(e){return setTimeout((()=>e(this._createDeadline(16))))}_cancelCallback(e){clearTimeout(e)}_createDeadline(e){const t=Date.now()+e;return{timeRemaining:()=>Math.max(0,t-Date.now())}}}t.PriorityTaskQueue=o,t.IdleTaskQueue=!s.isNode&&\"requestIdleCallback\"in window?class extends r{_requestCallback(e){return requestIdleCallback(e)}_cancelCallback(e){cancelIdleCallback(e)}}:o,t.DebouncedIdleTask=class{constructor(){this._queue=new t.IdleTaskQueue}set(e){this._queue.clear(),this._queue.enqueue(e)}flush(){this._queue.flush()}}},147:(e,t)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.ExtendedAttrs=t.AttributeData=void 0;class i{constructor(){this.fg=0,this.bg=0,this.extended=new s}static toColorRGB(e){return[e>>>16&255,e>>>8&255,255&e]}static fromColorRGB(e){return(255&e[0])<<16|(255&e[1])<<8|255&e[2]}clone(){const e=new i;return e.fg=this.fg,e.bg=this.bg,e.extended=this.extended.clone(),e}isInverse(){return 67108864&this.fg}isBold(){return 134217728&this.fg}isUnderline(){return this.hasExtendedAttrs()&&0!==this.extended.underlineStyle?1:268435456&this.fg}isBlink(){return 536870912&this.fg}isInvisible(){return 1073741824&this.fg}isItalic(){return 67108864&this.bg}isDim(){return 134217728&this.bg}isStrikethrough(){return 2147483648&this.fg}isProtected(){return 536870912&this.bg}isOverline(){return 1073741824&this.bg}getFgColorMode(){return 50331648&this.fg}getBgColorMode(){return 50331648&this.bg}isFgRGB(){return 50331648==(50331648&this.fg)}isBgRGB(){return 50331648==(50331648&this.bg)}isFgPalette(){return 16777216==(50331648&this.fg)||33554432==(50331648&this.fg)}isBgPalette(){return 16777216==(50331648&this.bg)||33554432==(50331648&this.bg)}isFgDefault(){return 0==(50331648&this.fg)}isBgDefault(){return 0==(50331648&this.bg)}isAttributeDefault(){return 0===this.fg&&0===this.bg}getFgColor(){switch(50331648&this.fg){case 16777216:case 33554432:return 255&this.fg;case 50331648:return 16777215&this.fg;default:return-1}}getBgColor(){switch(50331648&this.bg){case 16777216:case 33554432:return 255&this.bg;case 50331648:return 16777215&this.bg;default:return-1}}hasExtendedAttrs(){return 268435456&this.bg}updateExtended(){this.extended.isEmpty()?this.bg&=-268435457:this.bg|=268435456}getUnderlineColor(){if(268435456&this.bg&&~this.extended.underlineColor)switch(50331648&this.extended.underlineColor){case 16777216:case 33554432:return 255&this.extended.underlineColor;case 50331648:return 16777215&this.extended.underlineColor;default:return this.getFgColor()}return this.getFgColor()}getUnderlineColorMode(){return 268435456&this.bg&&~this.extended.underlineColor?50331648&this.extended.underlineColor:this.getFgColorMode()}isUnderlineColorRGB(){return 268435456&this.bg&&~this.extended.underlineColor?50331648==(50331648&this.extended.underlineColor):this.isFgRGB()}isUnderlineColorPalette(){return 268435456&this.bg&&~this.extended.underlineColor?16777216==(50331648&this.extended.underlineColor)||33554432==(50331648&this.extended.underlineColor):this.isFgPalette()}isUnderlineColorDefault(){return 268435456&this.bg&&~this.extended.underlineColor?0==(50331648&this.extended.underlineColor):this.isFgDefault()}getUnderlineStyle(){return 268435456&this.fg?268435456&this.bg?this.extended.underlineStyle:1:0}}t.AttributeData=i;class s{constructor(e=0,t=0){this._ext=0,this._urlId=0,this._ext=e,this._urlId=t}get ext(){return this._urlId?-469762049&this._ext|this.underlineStyle<<26:this._ext}set ext(e){this._ext=e}get underlineStyle(){return this._urlId?5:(469762048&this._ext)>>26}set underlineStyle(e){this._ext&=-469762049,this._ext|=e<<26&469762048}get underlineColor(){return 67108863&this._ext}set underlineColor(e){this._ext&=-67108864,this._ext|=67108863&e}get urlId(){return this._urlId}set urlId(e){this._urlId=e}clone(){return new s(this._ext,this._urlId)}isEmpty(){return 0===this.underlineStyle&&0===this._urlId}}t.ExtendedAttrs=s},782:(e,t,i)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.CellData=void 0;const s=i(133),r=i(855),o=i(147);class n extends o.AttributeData{constructor(){super(...arguments),this.content=0,this.fg=0,this.bg=0,this.extended=new o.ExtendedAttrs,this.combinedData=\"\"}static fromCharData(e){const t=new n;return t.setFromCharData(e),t}isCombined(){return 2097152&this.content}getWidth(){return this.content>>22}getChars(){return 2097152&this.content?this.combinedData:2097151&this.content?(0,s.stringFromCodePoint)(2097151&this.content):\"\"}getCode(){return this.isCombined()?this.combinedData.charCodeAt(this.combinedData.length-1):2097151&this.content}setFromCharData(e){this.fg=e[r.CHAR_DATA_ATTR_INDEX],this.bg=0;let t=!1;if(e[r.CHAR_DATA_CHAR_INDEX].length>2)t=!0;else if(2===e[r.CHAR_DATA_CHAR_INDEX].length){const i=e[r.CHAR_DATA_CHAR_INDEX].charCodeAt(0);if(55296<=i&&i<=56319){const s=e[r.CHAR_DATA_CHAR_INDEX].charCodeAt(1);56320<=s&&s<=57343?this.content=1024*(i-55296)+s-56320+65536|e[r.CHAR_DATA_WIDTH_INDEX]<<22:t=!0}else t=!0}else this.content=e[r.CHAR_DATA_CHAR_INDEX].charCodeAt(0)|e[r.CHAR_DATA_WIDTH_INDEX]<<22;t&&(this.combinedData=e[r.CHAR_DATA_CHAR_INDEX],this.content=2097152|e[r.CHAR_DATA_WIDTH_INDEX]<<22)}getAsCharData(){return[this.fg,this.getChars(),this.getWidth(),this.getCode()]}}t.CellData=n},855:(e,t)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.WHITESPACE_CELL_CODE=t.WHITESPACE_CELL_WIDTH=t.WHITESPACE_CELL_CHAR=t.NULL_CELL_CODE=t.NULL_CELL_WIDTH=t.NULL_CELL_CHAR=t.CHAR_DATA_CODE_INDEX=t.CHAR_DATA_WIDTH_INDEX=t.CHAR_DATA_CHAR_INDEX=t.CHAR_DATA_ATTR_INDEX=t.DEFAULT_EXT=t.DEFAULT_ATTR=t.DEFAULT_COLOR=void 0,t.DEFAULT_COLOR=0,t.DEFAULT_ATTR=256|t.DEFAULT_COLOR<<9,t.DEFAULT_EXT=0,t.CHAR_DATA_ATTR_INDEX=0,t.CHAR_DATA_CHAR_INDEX=1,t.CHAR_DATA_WIDTH_INDEX=2,t.CHAR_DATA_CODE_INDEX=3,t.NULL_CELL_CHAR=\"\",t.NULL_CELL_WIDTH=1,t.NULL_CELL_CODE=0,t.WHITESPACE_CELL_CHAR=\" \",t.WHITESPACE_CELL_WIDTH=1,t.WHITESPACE_CELL_CODE=32},133:(e,t)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.Utf8ToUtf32=t.StringToUtf32=t.utf32ToString=t.stringFromCodePoint=void 0,t.stringFromCodePoint=function(e){return e>65535?(e-=65536,String.fromCharCode(55296+(e>>10))+String.fromCharCode(e%1024+56320)):String.fromCharCode(e)},t.utf32ToString=function(e,t=0,i=e.length){let s=\"\";for(let r=t;r65535?(t-=65536,s+=String.fromCharCode(55296+(t>>10))+String.fromCharCode(t%1024+56320)):s+=String.fromCharCode(t)}return s},t.StringToUtf32=class{constructor(){this._interim=0}clear(){this._interim=0}decode(e,t){const i=e.length;if(!i)return 0;let s=0,r=0;if(this._interim){const i=e.charCodeAt(r++);56320<=i&&i<=57343?t[s++]=1024*(this._interim-55296)+i-56320+65536:(t[s++]=this._interim,t[s++]=i),this._interim=0}for(let o=r;o=i)return this._interim=r,s;const n=e.charCodeAt(o);56320<=n&&n<=57343?t[s++]=1024*(r-55296)+n-56320+65536:(t[s++]=r,t[s++]=n)}else 65279!==r&&(t[s++]=r)}return s}},t.Utf8ToUtf32=class{constructor(){this.interim=new Uint8Array(3)}clear(){this.interim.fill(0)}decode(e,t){const i=e.length;if(!i)return 0;let s,r,o,n,a=0,h=0,l=0;if(this.interim[0]){let s=!1,r=this.interim[0];r&=192==(224&r)?31:224==(240&r)?15:7;let o,n=0;for(;(o=63&this.interim[++n])&&n<4;)r<<=6,r|=o;const h=192==(224&this.interim[0])?2:224==(240&this.interim[0])?3:4,c=h-n;for(;l=i)return 0;if(o=e[l++],128!=(192&o)){l--,s=!0;break}this.interim[n++]=o,r<<=6,r|=63&o}s||(2===h?r<128?l--:t[a++]=r:3===h?r<2048||r>=55296&&r<=57343||65279===r||(t[a++]=r):r<65536||r>1114111||(t[a++]=r)),this.interim.fill(0)}const c=i-4;let d=l;for(;d=i)return this.interim[0]=s,a;if(r=e[d++],128!=(192&r)){d--;continue}if(h=(31&s)<<6|63&r,h<128){d--;continue}t[a++]=h}else if(224==(240&s)){if(d>=i)return this.interim[0]=s,a;if(r=e[d++],128!=(192&r)){d--;continue}if(d>=i)return this.interim[0]=s,this.interim[1]=r,a;if(o=e[d++],128!=(192&o)){d--;continue}if(h=(15&s)<<12|(63&r)<<6|63&o,h<2048||h>=55296&&h<=57343||65279===h)continue;t[a++]=h}else if(240==(248&s)){if(d>=i)return this.interim[0]=s,a;if(r=e[d++],128!=(192&r)){d--;continue}if(d>=i)return this.interim[0]=s,this.interim[1]=r,a;if(o=e[d++],128!=(192&o)){d--;continue}if(d>=i)return this.interim[0]=s,this.interim[1]=r,this.interim[2]=o,a;if(n=e[d++],128!=(192&n)){d--;continue}if(h=(7&s)<<18|(63&r)<<12|(63&o)<<6|63&n,h<65536||h>1114111)continue;t[a++]=h}}return a}}},726:(e,t)=>{function i(e,t,i){t.di$target===t?t.di$dependencies.push({id:e,index:i}):(t.di$dependencies=[{id:e,index:i}],t.di$target=t)}Object.defineProperty(t,\"__esModule\",{value:!0}),t.createDecorator=t.getServiceDependencies=t.serviceRegistry=void 0,t.serviceRegistry=new Map,t.getServiceDependencies=function(e){return e.di$dependencies||[]},t.createDecorator=function(e){if(t.serviceRegistry.has(e))return t.serviceRegistry.get(e);const s=function(e,t,r){if(3!==arguments.length)throw new Error(\"@IServiceName-decorator can only be used to decorate a parameter\");i(s,e,r)};return s.toString=()=>e,t.serviceRegistry.set(e,s),s}},97:(e,t,i)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.IDecorationService=t.IUnicodeService=t.IOscLinkService=t.IOptionsService=t.ILogService=t.LogLevelEnum=t.IInstantiationService=t.ICharsetService=t.ICoreService=t.ICoreMouseService=t.IBufferService=void 0;const s=i(726);var r;t.IBufferService=(0,s.createDecorator)(\"BufferService\"),t.ICoreMouseService=(0,s.createDecorator)(\"CoreMouseService\"),t.ICoreService=(0,s.createDecorator)(\"CoreService\"),t.ICharsetService=(0,s.createDecorator)(\"CharsetService\"),t.IInstantiationService=(0,s.createDecorator)(\"InstantiationService\"),(r=t.LogLevelEnum||(t.LogLevelEnum={}))[r.DEBUG=0]=\"DEBUG\",r[r.INFO=1]=\"INFO\",r[r.WARN=2]=\"WARN\",r[r.ERROR=3]=\"ERROR\",r[r.OFF=4]=\"OFF\",t.ILogService=(0,s.createDecorator)(\"LogService\"),t.IOptionsService=(0,s.createDecorator)(\"OptionsService\"),t.IOscLinkService=(0,s.createDecorator)(\"OscLinkService\"),t.IUnicodeService=(0,s.createDecorator)(\"UnicodeService\"),t.IDecorationService=(0,s.createDecorator)(\"DecorationService\")}},t={};function i(s){var r=t[s];if(void 0!==r)return r.exports;var o=t[s]={exports:{}};return e[s].call(o.exports,o,o.exports,i),o.exports}var s={};return(()=>{var e=s;Object.defineProperty(e,\"__esModule\",{value:!0}),e.CanvasAddon=void 0;const t=i(949),r=i(345),o=i(859);class n extends o.Disposable{constructor(){super(...arguments),this._onChangeTextureAtlas=this.register(new r.EventEmitter),this.onChangeTextureAtlas=this._onChangeTextureAtlas.event,this._onAddTextureAtlasCanvas=this.register(new r.EventEmitter),this.onAddTextureAtlasCanvas=this._onAddTextureAtlasCanvas.event}get textureAtlas(){var e;return null===(e=this._renderer)||void 0===e?void 0:e.textureAtlas}activate(e){const i=e._core;if(!e.element)return void this.register(i.onWillOpen((()=>this.activate(e))));this._terminal=e;const s=i.coreService,n=i.optionsService,a=i.screenElement,h=i.linkifier2,l=i,c=l._bufferService,d=l._renderService,_=l._characterJoinerService,u=l._charSizeService,g=l._coreBrowserService,f=l._decorationService,v=l._themeService;this._renderer=new t.CanvasRenderer(e,a,h,c,u,n,_,s,g,f,v),this.register((0,r.forwardEvent)(this._renderer.onChangeTextureAtlas,this._onChangeTextureAtlas)),this.register((0,r.forwardEvent)(this._renderer.onAddTextureAtlasCanvas,this._onAddTextureAtlasCanvas)),d.setRenderer(this._renderer),d.handleResize(c.cols,c.rows),this.register((0,o.toDisposable)((()=>{var t;d.setRenderer(this._terminal._core._createRenderer()),d.handleResize(e.cols,e.rows),null===(t=this._renderer)||void 0===t||t.dispose(),this._renderer=void 0})))}}e.CanvasAddon=n})(),s})()));\n//# sourceMappingURL=xterm-addon-canvas.js.map\n\n//# sourceURL=webpack://textual/./node_modules/xterm-addon-canvas/lib/xterm-addon-canvas.js?"); + +/***/ }), + +/***/ "./node_modules/xterm-addon-fit/lib/xterm-addon-fit.js": +/*!*************************************************************!*\ + !*** ./node_modules/xterm-addon-fit/lib/xterm-addon-fit.js ***! + \*************************************************************/ +/***/ ((module) => { + +eval("!function(e,t){ true?module.exports=t():0}(self,(function(){return(()=>{\"use strict\";var e={};return(()=>{var t=e;Object.defineProperty(t,\"__esModule\",{value:!0}),t.FitAddon=void 0,t.FitAddon=class{constructor(){}activate(e){this._terminal=e}dispose(){}fit(){const e=this.proposeDimensions();if(!e||!this._terminal||isNaN(e.cols)||isNaN(e.rows))return;const t=this._terminal._core;this._terminal.rows===e.rows&&this._terminal.cols===e.cols||(t._renderService.clear(),this._terminal.resize(e.cols,e.rows))}proposeDimensions(){if(!this._terminal)return;if(!this._terminal.element||!this._terminal.element.parentElement)return;const e=this._terminal._core,t=e._renderService.dimensions;if(0===t.css.cell.width||0===t.css.cell.height)return;const r=0===this._terminal.options.scrollback?0:e.viewport.scrollBarWidth,i=window.getComputedStyle(this._terminal.element.parentElement),o=parseInt(i.getPropertyValue(\"height\")),s=Math.max(0,parseInt(i.getPropertyValue(\"width\"))),n=window.getComputedStyle(this._terminal.element),l=o-(parseInt(n.getPropertyValue(\"padding-top\"))+parseInt(n.getPropertyValue(\"padding-bottom\"))),a=s-(parseInt(n.getPropertyValue(\"padding-right\"))+parseInt(n.getPropertyValue(\"padding-left\")))-r;return{cols:Math.max(2,Math.floor(a/t.css.cell.width)),rows:Math.max(1,Math.floor(l/t.css.cell.height))}}}})(),e})()}));\n//# sourceMappingURL=xterm-addon-fit.js.map\n\n//# sourceURL=webpack://textual/./node_modules/xterm-addon-fit/lib/xterm-addon-fit.js?"); + +/***/ }), + +/***/ "./node_modules/xterm-addon-unicode11/lib/xterm-addon-unicode11.js": +/*!*************************************************************************!*\ + !*** ./node_modules/xterm-addon-unicode11/lib/xterm-addon-unicode11.js ***! + \*************************************************************************/ +/***/ (function(module) { + +eval("!function(e,t){ true?module.exports=t():0}(this,(()=>(()=>{\"use strict\";var e={433:(e,t)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.UnicodeV11=void 0;const o=[[768,879],[1155,1161],[1425,1469],[1471,1471],[1473,1474],[1476,1477],[1479,1479],[1536,1541],[1552,1562],[1564,1564],[1611,1631],[1648,1648],[1750,1757],[1759,1764],[1767,1768],[1770,1773],[1807,1807],[1809,1809],[1840,1866],[1958,1968],[2027,2035],[2045,2045],[2070,2073],[2075,2083],[2085,2087],[2089,2093],[2137,2139],[2259,2306],[2362,2362],[2364,2364],[2369,2376],[2381,2381],[2385,2391],[2402,2403],[2433,2433],[2492,2492],[2497,2500],[2509,2509],[2530,2531],[2558,2558],[2561,2562],[2620,2620],[2625,2626],[2631,2632],[2635,2637],[2641,2641],[2672,2673],[2677,2677],[2689,2690],[2748,2748],[2753,2757],[2759,2760],[2765,2765],[2786,2787],[2810,2815],[2817,2817],[2876,2876],[2879,2879],[2881,2884],[2893,2893],[2902,2902],[2914,2915],[2946,2946],[3008,3008],[3021,3021],[3072,3072],[3076,3076],[3134,3136],[3142,3144],[3146,3149],[3157,3158],[3170,3171],[3201,3201],[3260,3260],[3263,3263],[3270,3270],[3276,3277],[3298,3299],[3328,3329],[3387,3388],[3393,3396],[3405,3405],[3426,3427],[3530,3530],[3538,3540],[3542,3542],[3633,3633],[3636,3642],[3655,3662],[3761,3761],[3764,3772],[3784,3789],[3864,3865],[3893,3893],[3895,3895],[3897,3897],[3953,3966],[3968,3972],[3974,3975],[3981,3991],[3993,4028],[4038,4038],[4141,4144],[4146,4151],[4153,4154],[4157,4158],[4184,4185],[4190,4192],[4209,4212],[4226,4226],[4229,4230],[4237,4237],[4253,4253],[4448,4607],[4957,4959],[5906,5908],[5938,5940],[5970,5971],[6002,6003],[6068,6069],[6071,6077],[6086,6086],[6089,6099],[6109,6109],[6155,6158],[6277,6278],[6313,6313],[6432,6434],[6439,6440],[6450,6450],[6457,6459],[6679,6680],[6683,6683],[6742,6742],[6744,6750],[6752,6752],[6754,6754],[6757,6764],[6771,6780],[6783,6783],[6832,6846],[6912,6915],[6964,6964],[6966,6970],[6972,6972],[6978,6978],[7019,7027],[7040,7041],[7074,7077],[7080,7081],[7083,7085],[7142,7142],[7144,7145],[7149,7149],[7151,7153],[7212,7219],[7222,7223],[7376,7378],[7380,7392],[7394,7400],[7405,7405],[7412,7412],[7416,7417],[7616,7673],[7675,7679],[8203,8207],[8234,8238],[8288,8292],[8294,8303],[8400,8432],[11503,11505],[11647,11647],[11744,11775],[12330,12333],[12441,12442],[42607,42610],[42612,42621],[42654,42655],[42736,42737],[43010,43010],[43014,43014],[43019,43019],[43045,43046],[43204,43205],[43232,43249],[43263,43263],[43302,43309],[43335,43345],[43392,43394],[43443,43443],[43446,43449],[43452,43453],[43493,43493],[43561,43566],[43569,43570],[43573,43574],[43587,43587],[43596,43596],[43644,43644],[43696,43696],[43698,43700],[43703,43704],[43710,43711],[43713,43713],[43756,43757],[43766,43766],[44005,44005],[44008,44008],[44013,44013],[64286,64286],[65024,65039],[65056,65071],[65279,65279],[65529,65531]],n=[[66045,66045],[66272,66272],[66422,66426],[68097,68099],[68101,68102],[68108,68111],[68152,68154],[68159,68159],[68325,68326],[68900,68903],[69446,69456],[69633,69633],[69688,69702],[69759,69761],[69811,69814],[69817,69818],[69821,69821],[69837,69837],[69888,69890],[69927,69931],[69933,69940],[70003,70003],[70016,70017],[70070,70078],[70089,70092],[70191,70193],[70196,70196],[70198,70199],[70206,70206],[70367,70367],[70371,70378],[70400,70401],[70459,70460],[70464,70464],[70502,70508],[70512,70516],[70712,70719],[70722,70724],[70726,70726],[70750,70750],[70835,70840],[70842,70842],[70847,70848],[70850,70851],[71090,71093],[71100,71101],[71103,71104],[71132,71133],[71219,71226],[71229,71229],[71231,71232],[71339,71339],[71341,71341],[71344,71349],[71351,71351],[71453,71455],[71458,71461],[71463,71467],[71727,71735],[71737,71738],[72148,72151],[72154,72155],[72160,72160],[72193,72202],[72243,72248],[72251,72254],[72263,72263],[72273,72278],[72281,72283],[72330,72342],[72344,72345],[72752,72758],[72760,72765],[72767,72767],[72850,72871],[72874,72880],[72882,72883],[72885,72886],[73009,73014],[73018,73018],[73020,73021],[73023,73029],[73031,73031],[73104,73105],[73109,73109],[73111,73111],[73459,73460],[78896,78904],[92912,92916],[92976,92982],[94031,94031],[94095,94098],[113821,113822],[113824,113827],[119143,119145],[119155,119170],[119173,119179],[119210,119213],[119362,119364],[121344,121398],[121403,121452],[121461,121461],[121476,121476],[121499,121503],[121505,121519],[122880,122886],[122888,122904],[122907,122913],[122915,122916],[122918,122922],[123184,123190],[123628,123631],[125136,125142],[125252,125258],[917505,917505],[917536,917631],[917760,917999]],r=[[4352,4447],[8986,8987],[9001,9002],[9193,9196],[9200,9200],[9203,9203],[9725,9726],[9748,9749],[9800,9811],[9855,9855],[9875,9875],[9889,9889],[9898,9899],[9917,9918],[9924,9925],[9934,9934],[9940,9940],[9962,9962],[9970,9971],[9973,9973],[9978,9978],[9981,9981],[9989,9989],[9994,9995],[10024,10024],[10060,10060],[10062,10062],[10067,10069],[10071,10071],[10133,10135],[10160,10160],[10175,10175],[11035,11036],[11088,11088],[11093,11093],[11904,11929],[11931,12019],[12032,12245],[12272,12283],[12288,12329],[12334,12350],[12353,12438],[12443,12543],[12549,12591],[12593,12686],[12688,12730],[12736,12771],[12784,12830],[12832,12871],[12880,19903],[19968,42124],[42128,42182],[43360,43388],[44032,55203],[63744,64255],[65040,65049],[65072,65106],[65108,65126],[65128,65131],[65281,65376],[65504,65510]],i=[[94176,94179],[94208,100343],[100352,101106],[110592,110878],[110928,110930],[110948,110951],[110960,111355],[126980,126980],[127183,127183],[127374,127374],[127377,127386],[127488,127490],[127504,127547],[127552,127560],[127568,127569],[127584,127589],[127744,127776],[127789,127797],[127799,127868],[127870,127891],[127904,127946],[127951,127955],[127968,127984],[127988,127988],[127992,128062],[128064,128064],[128066,128252],[128255,128317],[128331,128334],[128336,128359],[128378,128378],[128405,128406],[128420,128420],[128507,128591],[128640,128709],[128716,128716],[128720,128722],[128725,128725],[128747,128748],[128756,128762],[128992,129003],[129293,129393],[129395,129398],[129402,129442],[129445,129450],[129454,129482],[129485,129535],[129648,129651],[129656,129658],[129664,129666],[129680,129685],[131072,196605],[196608,262141]];let d;function c(e,t){let o,n=0,r=t.length-1;if(et[r][1])return!1;for(;r>=n;)if(o=n+r>>1,e>t[o][1])n=o+1;else{if(!(e{var e=n;Object.defineProperty(e,\"__esModule\",{value:!0}),e.Unicode11Addon=void 0;const t=o(433);e.Unicode11Addon=class{activate(e){e.unicode.register(new t.UnicodeV11)}dispose(){}}})(),n})()));\n//# sourceMappingURL=xterm-addon-unicode11.js.map\n\n//# sourceURL=webpack://textual/./node_modules/xterm-addon-unicode11/lib/xterm-addon-unicode11.js?"); + +/***/ }), + +/***/ "./node_modules/xterm-addon-webgl/lib/xterm-addon-webgl.js": +/*!*****************************************************************!*\ + !*** ./node_modules/xterm-addon-webgl/lib/xterm-addon-webgl.js ***! + \*****************************************************************/ +/***/ ((module) => { + +eval("!function(e,t){ true?module.exports=t():0}(self,(()=>(()=>{\"use strict\";var e={965:(e,t,i)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.GlyphRenderer=void 0;const s=i(381),r=i(855),o=i(859),n=i(374),a=i(509),h=11,l=h*Float32Array.BYTES_PER_ELEMENT;let c,d=0,_=0,u=0;class g extends o.Disposable{constructor(e,t,i){super(),this._terminal=e,this._gl=t,this._dimensions=i,this._activeBuffer=0,this._vertices={count:0,attributes:new Float32Array(0),attributesBuffers:[new Float32Array(0),new Float32Array(0)]};const r=this._gl;void 0===a.TextureAtlas.maxAtlasPages&&(a.TextureAtlas.maxAtlasPages=Math.min(32,(0,n.throwIfFalsy)(r.getParameter(r.MAX_TEXTURE_IMAGE_UNITS))),a.TextureAtlas.maxTextureSize=(0,n.throwIfFalsy)(r.getParameter(r.MAX_TEXTURE_SIZE))),this._program=(0,n.throwIfFalsy)((0,s.createProgram)(r,\"#version 300 es\\nlayout (location = 0) in vec2 a_unitquad;\\nlayout (location = 1) in vec2 a_cellpos;\\nlayout (location = 2) in vec2 a_offset;\\nlayout (location = 3) in vec2 a_size;\\nlayout (location = 4) in float a_texpage;\\nlayout (location = 5) in vec2 a_texcoord;\\nlayout (location = 6) in vec2 a_texsize;\\n\\nuniform mat4 u_projection;\\nuniform vec2 u_resolution;\\n\\nout vec2 v_texcoord;\\nflat out int v_texpage;\\n\\nvoid main() {\\n vec2 zeroToOne = (a_offset / u_resolution) + a_cellpos + (a_unitquad * a_size);\\n gl_Position = u_projection * vec4(zeroToOne, 0.0, 1.0);\\n v_texpage = int(a_texpage);\\n v_texcoord = a_texcoord + a_unitquad * a_texsize;\\n}\",function(e){let t=\"\";for(let i=1;ir.deleteProgram(this._program)))),this._projectionLocation=(0,n.throwIfFalsy)(r.getUniformLocation(this._program,\"u_projection\")),this._resolutionLocation=(0,n.throwIfFalsy)(r.getUniformLocation(this._program,\"u_resolution\")),this._textureLocation=(0,n.throwIfFalsy)(r.getUniformLocation(this._program,\"u_texture\")),this._vertexArrayObject=r.createVertexArray(),r.bindVertexArray(this._vertexArrayObject);const h=new Float32Array([0,0,1,0,0,1,1,1]),c=r.createBuffer();this.register((0,o.toDisposable)((()=>r.deleteBuffer(c)))),r.bindBuffer(r.ARRAY_BUFFER,c),r.bufferData(r.ARRAY_BUFFER,h,r.STATIC_DRAW),r.enableVertexAttribArray(0),r.vertexAttribPointer(0,2,this._gl.FLOAT,!1,0,0);const d=new Uint8Array([0,1,2,3]),_=r.createBuffer();this.register((0,o.toDisposable)((()=>r.deleteBuffer(_)))),r.bindBuffer(r.ELEMENT_ARRAY_BUFFER,_),r.bufferData(r.ELEMENT_ARRAY_BUFFER,d,r.STATIC_DRAW),this._attributesBuffer=(0,n.throwIfFalsy)(r.createBuffer()),this.register((0,o.toDisposable)((()=>r.deleteBuffer(this._attributesBuffer)))),r.bindBuffer(r.ARRAY_BUFFER,this._attributesBuffer),r.enableVertexAttribArray(2),r.vertexAttribPointer(2,2,r.FLOAT,!1,l,0),r.vertexAttribDivisor(2,1),r.enableVertexAttribArray(3),r.vertexAttribPointer(3,2,r.FLOAT,!1,l,2*Float32Array.BYTES_PER_ELEMENT),r.vertexAttribDivisor(3,1),r.enableVertexAttribArray(4),r.vertexAttribPointer(4,1,r.FLOAT,!1,l,4*Float32Array.BYTES_PER_ELEMENT),r.vertexAttribDivisor(4,1),r.enableVertexAttribArray(5),r.vertexAttribPointer(5,2,r.FLOAT,!1,l,5*Float32Array.BYTES_PER_ELEMENT),r.vertexAttribDivisor(5,1),r.enableVertexAttribArray(6),r.vertexAttribPointer(6,2,r.FLOAT,!1,l,7*Float32Array.BYTES_PER_ELEMENT),r.vertexAttribDivisor(6,1),r.enableVertexAttribArray(1),r.vertexAttribPointer(1,2,r.FLOAT,!1,l,9*Float32Array.BYTES_PER_ELEMENT),r.vertexAttribDivisor(1,1),r.useProgram(this._program);const u=new Int32Array(a.TextureAtlas.maxAtlasPages);for(let e=0;er.deleteTexture(t.texture)))),r.activeTexture(r.TEXTURE0+e),r.bindTexture(r.TEXTURE_2D,t.texture),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_WRAP_S,r.CLAMP_TO_EDGE),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_WRAP_T,r.CLAMP_TO_EDGE),r.texImage2D(r.TEXTURE_2D,0,r.RGBA,1,1,0,r.RGBA,r.UNSIGNED_BYTE,new Uint8Array([255,0,0,255])),this._atlasTextures[e]=t}r.enable(r.BLEND),r.blendFunc(r.SRC_ALPHA,r.ONE_MINUS_SRC_ALPHA),this.handleResize()}beginFrame(){return!this._atlas||this._atlas.beginFrame()}updateCell(e,t,i,s,r,o,n,a){this._updateCell(this._vertices.attributes,e,t,i,s,r,o,n,a)}_updateCell(e,t,i,s,o,n,a,l,g){d=(i*this._terminal.cols+t)*h,s!==r.NULL_CELL_CODE&&void 0!==s?this._atlas&&(c=l&&l.length>1?this._atlas.getRasterizedGlyphCombinedChar(l,o,n,a):this._atlas.getRasterizedGlyph(s,o,n,a),_=Math.floor((this._dimensions.device.cell.width-this._dimensions.device.char.width)/2),o!==g&&c.offset.x>_?(u=c.offset.x-_,e[d]=-(c.offset.x-u)+this._dimensions.device.char.left,e[d+1]=-c.offset.y+this._dimensions.device.char.top,e[d+2]=(c.size.x-u)/this._dimensions.device.canvas.width,e[d+3]=c.size.y/this._dimensions.device.canvas.height,e[d+4]=c.texturePage,e[d+5]=c.texturePositionClipSpace.x+u/this._atlas.pages[c.texturePage].canvas.width,e[d+6]=c.texturePositionClipSpace.y,e[d+7]=c.sizeClipSpace.x-u/this._atlas.pages[c.texturePage].canvas.width,e[d+8]=c.sizeClipSpace.y):(e[d]=-c.offset.x+this._dimensions.device.char.left,e[d+1]=-c.offset.y+this._dimensions.device.char.top,e[d+2]=c.size.x/this._dimensions.device.canvas.width,e[d+3]=c.size.y/this._dimensions.device.canvas.height,e[d+4]=c.texturePage,e[d+5]=c.texturePositionClipSpace.x,e[d+6]=c.texturePositionClipSpace.y,e[d+7]=c.sizeClipSpace.x,e[d+8]=c.sizeClipSpace.y)):e.fill(0,d,d+h-1-2)}clear(){const e=this._terminal,t=e.cols*e.rows*h;this._vertices.count!==t?this._vertices.attributes=new Float32Array(t):this._vertices.attributes.fill(0);let i=0;for(;i{Object.defineProperty(t,\"__esModule\",{value:!0}),t.RectangleRenderer=void 0;const s=i(381),r=i(310),o=i(859),n=i(374),a=8*Float32Array.BYTES_PER_ELEMENT;let h=0,l=!1,c=0,d=0,_=0,u=0,g=0,v=0;class f extends o.Disposable{constructor(e,t,i,r){super(),this._terminal=e,this._gl=t,this._dimensions=i,this._themeService=r,this._vertices={count:0,attributes:new Float32Array(160)};const h=this._gl;this._program=(0,n.throwIfFalsy)((0,s.createProgram)(h,\"#version 300 es\\nlayout (location = 0) in vec2 a_position;\\nlayout (location = 1) in vec2 a_size;\\nlayout (location = 2) in vec4 a_color;\\nlayout (location = 3) in vec2 a_unitquad;\\n\\nuniform mat4 u_projection;\\n\\nout vec4 v_color;\\n\\nvoid main() {\\n vec2 zeroToOne = a_position + (a_unitquad * a_size);\\n gl_Position = u_projection * vec4(zeroToOne, 0.0, 1.0);\\n v_color = a_color;\\n}\",\"#version 300 es\\nprecision lowp float;\\n\\nin vec4 v_color;\\n\\nout vec4 outColor;\\n\\nvoid main() {\\n outColor = v_color;\\n}\")),this.register((0,o.toDisposable)((()=>h.deleteProgram(this._program)))),this._projectionLocation=(0,n.throwIfFalsy)(h.getUniformLocation(this._program,\"u_projection\")),this._vertexArrayObject=h.createVertexArray(),h.bindVertexArray(this._vertexArrayObject);const l=new Float32Array([0,0,1,0,0,1,1,1]),c=h.createBuffer();this.register((0,o.toDisposable)((()=>h.deleteBuffer(c)))),h.bindBuffer(h.ARRAY_BUFFER,c),h.bufferData(h.ARRAY_BUFFER,l,h.STATIC_DRAW),h.enableVertexAttribArray(3),h.vertexAttribPointer(3,2,this._gl.FLOAT,!1,0,0);const d=new Uint8Array([0,1,2,3]),_=h.createBuffer();this.register((0,o.toDisposable)((()=>h.deleteBuffer(_)))),h.bindBuffer(h.ELEMENT_ARRAY_BUFFER,_),h.bufferData(h.ELEMENT_ARRAY_BUFFER,d,h.STATIC_DRAW),this._attributesBuffer=(0,n.throwIfFalsy)(h.createBuffer()),this.register((0,o.toDisposable)((()=>h.deleteBuffer(this._attributesBuffer)))),h.bindBuffer(h.ARRAY_BUFFER,this._attributesBuffer),h.enableVertexAttribArray(0),h.vertexAttribPointer(0,2,h.FLOAT,!1,a,0),h.vertexAttribDivisor(0,1),h.enableVertexAttribArray(1),h.vertexAttribPointer(1,2,h.FLOAT,!1,a,2*Float32Array.BYTES_PER_ELEMENT),h.vertexAttribDivisor(1,1),h.enableVertexAttribArray(2),h.vertexAttribPointer(2,4,h.FLOAT,!1,a,4*Float32Array.BYTES_PER_ELEMENT),h.vertexAttribDivisor(2,1),this._updateCachedColors(r.colors),this.register(this._themeService.onChangeColors((e=>{this._updateCachedColors(e),this._updateViewportRectangle()})))}render(){const e=this._gl;e.useProgram(this._program),e.bindVertexArray(this._vertexArrayObject),e.uniformMatrix4fv(this._projectionLocation,!1,s.PROJECTION_MATRIX),e.bindBuffer(e.ARRAY_BUFFER,this._attributesBuffer),e.bufferData(e.ARRAY_BUFFER,this._vertices.attributes,e.DYNAMIC_DRAW),e.drawElementsInstanced(this._gl.TRIANGLE_STRIP,4,e.UNSIGNED_BYTE,0,this._vertices.count)}handleResize(){this._updateViewportRectangle()}setDimensions(e){this._dimensions=e}_updateCachedColors(e){this._bgFloat=this._colorToFloat32Array(e.background)}_updateViewportRectangle(){this._addRectangleFloat(this._vertices.attributes,0,0,0,this._terminal.cols*this._dimensions.device.cell.width,this._terminal.rows*this._dimensions.device.cell.height,this._bgFloat)}updateBackgrounds(e){const t=this._terminal,i=this._vertices;let s,o,n,a,h,l,c,d,_,u,g,v=1;for(s=0;s>24&255)/255,u=(h>>16&255)/255,g=(h>>8&255)/255,v=1,this._addRectangle(e.attributes,t,c,d,(n-o)*this._dimensions.device.cell.width,this._dimensions.device.cell.height,_,u,g,v)}_addRectangle(e,t,i,s,r,o,n,a,h,l){e[t]=i/this._dimensions.device.canvas.width,e[t+1]=s/this._dimensions.device.canvas.height,e[t+2]=r/this._dimensions.device.canvas.width,e[t+3]=o/this._dimensions.device.canvas.height,e[t+4]=n,e[t+5]=a,e[t+6]=h,e[t+7]=l}_addRectangleFloat(e,t,i,s,r,o,n){e[t]=i/this._dimensions.device.canvas.width,e[t+1]=s/this._dimensions.device.canvas.height,e[t+2]=r/this._dimensions.device.canvas.width,e[t+3]=o/this._dimensions.device.canvas.height,e[t+4]=n[0],e[t+5]=n[1],e[t+6]=n[2],e[t+7]=n[3]}_colorToFloat32Array(e){return new Float32Array([(e.rgba>>24&255)/255,(e.rgba>>16&255)/255,(e.rgba>>8&255)/255,(255&e.rgba)/255])}}t.RectangleRenderer=f},310:(e,t,i)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.RenderModel=t.COMBINED_CHAR_BIT_MASK=t.RENDER_MODEL_EXT_OFFSET=t.RENDER_MODEL_FG_OFFSET=t.RENDER_MODEL_BG_OFFSET=t.RENDER_MODEL_INDICIES_PER_CELL=void 0;const s=i(296);t.RENDER_MODEL_INDICIES_PER_CELL=4,t.RENDER_MODEL_BG_OFFSET=1,t.RENDER_MODEL_FG_OFFSET=2,t.RENDER_MODEL_EXT_OFFSET=3,t.COMBINED_CHAR_BIT_MASK=2147483648,t.RenderModel=class{constructor(){this.cells=new Uint32Array(0),this.lineLengths=new Uint32Array(0),this.selection=(0,s.createSelectionRenderModel)()}resize(e,i){const s=e*i*t.RENDER_MODEL_INDICIES_PER_CELL;s!==this.cells.length&&(this.cells=new Uint32Array(s),this.lineLengths=new Uint32Array(i))}clear(){this.cells.fill(0,0),this.lineLengths.fill(0,0)}}},666:(e,t,i)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.JoinedCellData=t.WebglRenderer=void 0;const s=i(820),r=i(274),o=i(627),n=i(56),a=i(374),h=i(147),l=i(782),c=i(855),d=i(345),_=i(859),u=i(965),g=i(742),v=i(461),f=i(733),C=i(310);class p extends _.Disposable{constructor(e,t,i,h,c,u,g,p,m){super(),this._terminal=e,this._characterJoinerService=t,this._charSizeService=i,this._coreBrowserService=h,this._decorationService=u,this._optionsService=g,this._themeService=p,this._model=new C.RenderModel,this._workCell=new l.CellData,this._onChangeTextureAtlas=this.register(new d.EventEmitter),this.onChangeTextureAtlas=this._onChangeTextureAtlas.event,this._onAddTextureAtlasCanvas=this.register(new d.EventEmitter),this.onAddTextureAtlasCanvas=this._onAddTextureAtlasCanvas.event,this._onRemoveTextureAtlasCanvas=this.register(new d.EventEmitter),this.onRemoveTextureAtlasCanvas=this._onRemoveTextureAtlasCanvas.event,this._onRequestRedraw=this.register(new d.EventEmitter),this.onRequestRedraw=this._onRequestRedraw.event,this._onContextLoss=this.register(new d.EventEmitter),this.onContextLoss=this._onContextLoss.event,this.register(this._themeService.onChangeColors((()=>this._handleColorChange()))),this._cellColorResolver=new r.CellColorResolver(this._terminal,this._model.selection,this._decorationService,this._coreBrowserService,this._themeService),this._core=this._terminal._core,this._renderLayers=[new f.LinkRenderLayer(this._core.screenElement,2,this._terminal,this._core.linkifier2,this._coreBrowserService,g,this._themeService),new v.CursorRenderLayer(e,this._core.screenElement,3,this._onRequestRedraw,this._coreBrowserService,c,g,this._themeService)],this.dimensions=(0,a.createRenderDimensions)(),this._devicePixelRatio=this._coreBrowserService.dpr,this._updateDimensions(),this.register(g.onOptionChange((()=>this._handleOptionsChanged()))),this._canvas=document.createElement(\"canvas\");const x={antialias:!1,depth:!1,preserveDrawingBuffer:m};if(this._gl=this._canvas.getContext(\"webgl2\",x),!this._gl)throw new Error(\"WebGL2 not supported \"+this._gl);this.register((0,s.addDisposableDomListener)(this._canvas,\"webglcontextlost\",(e=>{console.log(\"webglcontextlost event received\"),e.preventDefault(),this._contextRestorationTimeout=setTimeout((()=>{this._contextRestorationTimeout=void 0,console.warn(\"webgl context not restored; firing onContextLoss\"),this._onContextLoss.fire(e)}),3e3)}))),this.register((0,s.addDisposableDomListener)(this._canvas,\"webglcontextrestored\",(e=>{console.warn(\"webglcontextrestored event received\"),clearTimeout(this._contextRestorationTimeout),this._contextRestorationTimeout=void 0,(0,o.removeTerminalFromCache)(this._terminal),this._initializeWebGLState(),this._requestRedrawViewport()}))),this.register((0,n.observeDevicePixelDimensions)(this._canvas,this._coreBrowserService.window,((e,t)=>this._setCanvasDevicePixelDimensions(e,t)))),this._core.screenElement.appendChild(this._canvas),[this._rectangleRenderer,this._glyphRenderer]=this._initializeWebGLState(),this._isAttached=this._coreBrowserService.window.document.body.contains(this._core.screenElement),this.register((0,_.toDisposable)((()=>{var e;for(const e of this._renderLayers)e.dispose();null===(e=this._canvas.parentElement)||void 0===e||e.removeChild(this._canvas),(0,o.removeTerminalFromCache)(this._terminal)})))}get textureAtlas(){var e;return null===(e=this._charAtlas)||void 0===e?void 0:e.pages[0].canvas}_handleColorChange(){this._refreshCharAtlas(),this._clearModel(!0)}handleDevicePixelRatioChange(){this._devicePixelRatio!==this._coreBrowserService.dpr&&(this._devicePixelRatio=this._coreBrowserService.dpr,this.handleResize(this._terminal.cols,this._terminal.rows))}handleResize(e,t){var i,s,r,o;this._updateDimensions(),this._model.resize(this._terminal.cols,this._terminal.rows);for(const e of this._renderLayers)e.resize(this._terminal,this.dimensions);this._canvas.width=this.dimensions.device.canvas.width,this._canvas.height=this.dimensions.device.canvas.height,this._canvas.style.width=`${this.dimensions.css.canvas.width}px`,this._canvas.style.height=`${this.dimensions.css.canvas.height}px`,this._core.screenElement.style.width=`${this.dimensions.css.canvas.width}px`,this._core.screenElement.style.height=`${this.dimensions.css.canvas.height}px`,null===(i=this._rectangleRenderer)||void 0===i||i.setDimensions(this.dimensions),null===(s=this._rectangleRenderer)||void 0===s||s.handleResize(),null===(r=this._glyphRenderer)||void 0===r||r.setDimensions(this.dimensions),null===(o=this._glyphRenderer)||void 0===o||o.handleResize(),this._refreshCharAtlas(),this._clearModel(!1)}handleCharSizeChanged(){this.handleResize(this._terminal.cols,this._terminal.rows)}handleBlur(){for(const e of this._renderLayers)e.handleBlur(this._terminal);this._requestRedrawViewport()}handleFocus(){for(const e of this._renderLayers)e.handleFocus(this._terminal);this._requestRedrawViewport()}handleSelectionChanged(e,t,i){for(const s of this._renderLayers)s.handleSelectionChanged(this._terminal,e,t,i);this._model.selection.update(this._terminal,e,t,i),this._requestRedrawViewport()}handleCursorMove(){for(const e of this._renderLayers)e.handleCursorMove(this._terminal)}_handleOptionsChanged(){this._updateDimensions(),this._refreshCharAtlas()}_initializeWebGLState(){var e,t;return null===(e=this._rectangleRenderer)||void 0===e||e.dispose(),null===(t=this._glyphRenderer)||void 0===t||t.dispose(),this._rectangleRenderer=this.register(new g.RectangleRenderer(this._terminal,this._gl,this.dimensions,this._themeService)),this._glyphRenderer=this.register(new u.GlyphRenderer(this._terminal,this._gl,this.dimensions)),this.handleCharSizeChanged(),[this._rectangleRenderer,this._glyphRenderer]}_refreshCharAtlas(){var e,t;if(this.dimensions.device.char.width<=0&&this.dimensions.device.char.height<=0)return void(this._isAttached=!1);const i=(0,o.acquireTextureAtlas)(this._terminal,this._optionsService.rawOptions,this._themeService.colors,this.dimensions.device.cell.width,this.dimensions.device.cell.height,this.dimensions.device.char.width,this.dimensions.device.char.height,this._coreBrowserService.dpr);this._charAtlas!==i&&(null===(e=this._charAtlasDisposable)||void 0===e||e.dispose(),this._onChangeTextureAtlas.fire(i.pages[0].canvas),this._charAtlasDisposable=(0,_.getDisposeArrayDisposable)([(0,d.forwardEvent)(i.onAddTextureAtlasCanvas,this._onAddTextureAtlasCanvas),(0,d.forwardEvent)(i.onRemoveTextureAtlasCanvas,this._onRemoveTextureAtlasCanvas)])),this._charAtlas=i,this._charAtlas.warmUp(),null===(t=this._glyphRenderer)||void 0===t||t.setAtlas(this._charAtlas)}_clearModel(e){var t;this._model.clear(),e&&(null===(t=this._glyphRenderer)||void 0===t||t.clear())}clearTextureAtlas(){var e;null===(e=this._charAtlas)||void 0===e||e.clearTexture(),this._clearModel(!0),this._requestRedrawViewport()}clear(){this._clearModel(!0);for(const e of this._renderLayers)e.reset(this._terminal)}registerCharacterJoiner(e){return-1}deregisterCharacterJoiner(e){return!1}renderRows(e,t){var i,s;if(!this._isAttached){if(!(this._coreBrowserService.window.document.body.contains(this._core.screenElement)&&this._charSizeService.width&&this._charSizeService.height))return;this._updateDimensions(),this._refreshCharAtlas(),this._isAttached=!0}for(const i of this._renderLayers)i.handleGridChanged(this._terminal,e,t);this._glyphRenderer&&this._rectangleRenderer&&(this._glyphRenderer.beginFrame()?(this._clearModel(!0),this._updateModel(0,this._terminal.rows-1)):this._updateModel(e,t),null===(i=this._rectangleRenderer)||void 0===i||i.render(),null===(s=this._glyphRenderer)||void 0===s||s.render(this._model))}_updateModel(e,t){const i=this._core;let s,r,o,n,a,h,l,d,_,u,g,v,f,p=this._workCell;for(e=x(e,i.rows-1,0),t=x(t,i.rows-1,0),r=e;r<=t;r++)for(o=r+i.buffer.ydisp,n=i.buffer.lines.get(o),this._model.lineLengths[r]=0,a=this._characterJoinerService.getJoinedCharacters(o),v=0;v0&&v===a[0][0]&&(h=!0,d=a.shift(),p=new m(p,n.translateToString(!0,d[0],d[1]),d[1]-d[0]),l=d[1]-1),_=p.getChars(),u=p.getCode(),g=(r*i.cols+v)*C.RENDER_MODEL_INDICIES_PER_CELL,this._cellColorResolver.resolve(p,v,o),u!==c.NULL_CELL_CODE&&(this._model.lineLengths[r]=v+1),(this._model.cells[g]!==u||this._model.cells[g+C.RENDER_MODEL_BG_OFFSET]!==this._cellColorResolver.result.bg||this._model.cells[g+C.RENDER_MODEL_FG_OFFSET]!==this._cellColorResolver.result.fg||this._model.cells[g+C.RENDER_MODEL_EXT_OFFSET]!==this._cellColorResolver.result.ext)&&(_.length>1&&(u|=C.COMBINED_CHAR_BIT_MASK),this._model.cells[g]=u,this._model.cells[g+C.RENDER_MODEL_BG_OFFSET]=this._cellColorResolver.result.bg,this._model.cells[g+C.RENDER_MODEL_FG_OFFSET]=this._cellColorResolver.result.fg,this._model.cells[g+C.RENDER_MODEL_EXT_OFFSET]=this._cellColorResolver.result.ext,this._glyphRenderer.updateCell(v,r,u,this._cellColorResolver.result.bg,this._cellColorResolver.result.fg,this._cellColorResolver.result.ext,_,s),h))for(p=this._workCell,v++;v{Object.defineProperty(t,\"__esModule\",{value:!0}),t.GLTexture=t.expandFloat32Array=t.createShader=t.createProgram=t.PROJECTION_MATRIX=void 0;const s=i(374);function r(e,t,i){const r=(0,s.throwIfFalsy)(e.createShader(t));if(e.shaderSource(r,i),e.compileShader(r),e.getShaderParameter(r,e.COMPILE_STATUS))return r;console.error(e.getShaderInfoLog(r)),e.deleteShader(r)}t.PROJECTION_MATRIX=new Float32Array([2,0,0,0,0,-2,0,0,0,0,1,0,-1,1,0,1]),t.createProgram=function(e,t,i){const o=(0,s.throwIfFalsy)(e.createProgram());if(e.attachShader(o,(0,s.throwIfFalsy)(r(e,e.VERTEX_SHADER,t))),e.attachShader(o,(0,s.throwIfFalsy)(r(e,e.FRAGMENT_SHADER,i))),e.linkProgram(o),e.getProgramParameter(o,e.LINK_STATUS))return o;console.error(e.getProgramInfoLog(o)),e.deleteProgram(o)},t.createShader=r,t.expandFloat32Array=function(e,t){const i=Math.min(2*e.length,t),s=new Float32Array(i);for(let t=0;t{Object.defineProperty(t,\"__esModule\",{value:!0}),t.BaseRenderLayer=void 0;const s=i(627),r=i(237),o=i(374),n=i(859);class a extends n.Disposable{constructor(e,t,i,s,r,o,a,h){super(),this._container=t,this._alpha=r,this._coreBrowserService=o,this._optionsService=a,this._themeService=h,this._deviceCharWidth=0,this._deviceCharHeight=0,this._deviceCellWidth=0,this._deviceCellHeight=0,this._deviceCharLeft=0,this._deviceCharTop=0,this._canvas=document.createElement(\"canvas\"),this._canvas.classList.add(`xterm-${i}-layer`),this._canvas.style.zIndex=s.toString(),this._initCanvas(),this._container.appendChild(this._canvas),this.register(this._themeService.onChangeColors((t=>{this._refreshCharAtlas(e,t),this.reset(e)}))),this.register((0,n.toDisposable)((()=>{var e;this._canvas.remove(),null===(e=this._charAtlas)||void 0===e||e.dispose()})))}_initCanvas(){this._ctx=(0,o.throwIfFalsy)(this._canvas.getContext(\"2d\",{alpha:this._alpha})),this._alpha||this._clearAll()}handleBlur(e){}handleFocus(e){}handleCursorMove(e){}handleGridChanged(e,t,i){}handleSelectionChanged(e,t,i,s=!1){}_setTransparency(e,t){if(t===this._alpha)return;const i=this._canvas;this._alpha=t,this._canvas=this._canvas.cloneNode(),this._initCanvas(),this._container.replaceChild(this._canvas,i),this._refreshCharAtlas(e,this._themeService.colors),this.handleGridChanged(e,0,e.rows-1)}_refreshCharAtlas(e,t){this._deviceCharWidth<=0&&this._deviceCharHeight<=0||(this._charAtlas=(0,s.acquireTextureAtlas)(e,this._optionsService.rawOptions,t,this._deviceCellWidth,this._deviceCellHeight,this._deviceCharWidth,this._deviceCharHeight,this._coreBrowserService.dpr),this._charAtlas.warmUp())}resize(e,t){this._deviceCellWidth=t.device.cell.width,this._deviceCellHeight=t.device.cell.height,this._deviceCharWidth=t.device.char.width,this._deviceCharHeight=t.device.char.height,this._deviceCharLeft=t.device.char.left,this._deviceCharTop=t.device.char.top,this._canvas.width=t.device.canvas.width,this._canvas.height=t.device.canvas.height,this._canvas.style.width=`${t.css.canvas.width}px`,this._canvas.style.height=`${t.css.canvas.height}px`,this._alpha||this._clearAll(),this._refreshCharAtlas(e,this._themeService.colors)}_fillCells(e,t,i,s){this._ctx.fillRect(e*this._deviceCellWidth,t*this._deviceCellHeight,i*this._deviceCellWidth,s*this._deviceCellHeight)}_fillBottomLineAtCells(e,t,i=1){this._ctx.fillRect(e*this._deviceCellWidth,(t+1)*this._deviceCellHeight-this._coreBrowserService.dpr-1,i*this._deviceCellWidth,this._coreBrowserService.dpr)}_fillLeftLineAtCell(e,t,i){this._ctx.fillRect(e*this._deviceCellWidth,t*this._deviceCellHeight,this._coreBrowserService.dpr*i,this._deviceCellHeight)}_strokeRectAtCell(e,t,i,s){this._ctx.lineWidth=this._coreBrowserService.dpr,this._ctx.strokeRect(e*this._deviceCellWidth+this._coreBrowserService.dpr/2,t*this._deviceCellHeight+this._coreBrowserService.dpr/2,i*this._deviceCellWidth-this._coreBrowserService.dpr,s*this._deviceCellHeight-this._coreBrowserService.dpr)}_clearAll(){this._alpha?this._ctx.clearRect(0,0,this._canvas.width,this._canvas.height):(this._ctx.fillStyle=this._themeService.colors.background.css,this._ctx.fillRect(0,0,this._canvas.width,this._canvas.height))}_clearCells(e,t,i,s){this._alpha?this._ctx.clearRect(e*this._deviceCellWidth,t*this._deviceCellHeight,i*this._deviceCellWidth,s*this._deviceCellHeight):(this._ctx.fillStyle=this._themeService.colors.background.css,this._ctx.fillRect(e*this._deviceCellWidth,t*this._deviceCellHeight,i*this._deviceCellWidth,s*this._deviceCellHeight))}_fillCharTrueColor(e,t,i,s){this._ctx.font=this._getFont(e,!1,!1),this._ctx.textBaseline=r.TEXT_BASELINE,this._clipCell(i,s,t.getWidth()),this._ctx.fillText(t.getChars(),i*this._deviceCellWidth+this._deviceCharLeft,s*this._deviceCellHeight+this._deviceCharTop+this._deviceCharHeight)}_clipCell(e,t,i){this._ctx.beginPath(),this._ctx.rect(e*this._deviceCellWidth,t*this._deviceCellHeight,i*this._deviceCellWidth,this._deviceCellHeight),this._ctx.clip()}_getFont(e,t,i){return`${i?\"italic\":\"\"} ${t?e.options.fontWeightBold:e.options.fontWeight} ${e.options.fontSize*this._coreBrowserService.dpr}px ${e.options.fontFamily}`}}t.BaseRenderLayer=a},461:(e,t,i)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.CursorRenderLayer=void 0;const s=i(592),r=i(782),o=i(859),n=i(399);class a extends s.BaseRenderLayer{constructor(e,t,i,s,n,a,h,l){super(e,t,\"cursor\",i,!0,n,h,l),this._onRequestRefreshRowsEvent=s,this._coreService=a,this._cell=new r.CellData,this._state={x:0,y:0,isFocused:!1,style:\"\",width:0},this._cursorRenderers={bar:this._renderBarCursor.bind(this),block:this._renderBlockCursor.bind(this),underline:this._renderUnderlineCursor.bind(this)},this._handleOptionsChanged(e),this.register(h.onOptionChange((()=>this._handleOptionsChanged(e)))),this.register((0,o.toDisposable)((()=>{var e;null===(e=this._cursorBlinkStateManager)||void 0===e||e.dispose(),this._cursorBlinkStateManager=void 0})))}resize(e,t){super.resize(e,t),this._state={x:0,y:0,isFocused:!1,style:\"\",width:0}}reset(e){var t;this._clearCursor(),null===(t=this._cursorBlinkStateManager)||void 0===t||t.restartBlinkAnimation(e),this._handleOptionsChanged(e)}handleBlur(e){var t;null===(t=this._cursorBlinkStateManager)||void 0===t||t.pause(),this._onRequestRefreshRowsEvent.fire({start:e.buffer.active.cursorY,end:e.buffer.active.cursorY})}handleFocus(e){var t;null===(t=this._cursorBlinkStateManager)||void 0===t||t.resume(e),this._onRequestRefreshRowsEvent.fire({start:e.buffer.active.cursorY,end:e.buffer.active.cursorY})}_handleOptionsChanged(e){var t;e.options.cursorBlink?this._cursorBlinkStateManager||(this._cursorBlinkStateManager=new h((()=>{this._render(e,!0)}),this._coreBrowserService)):(null===(t=this._cursorBlinkStateManager)||void 0===t||t.dispose(),this._cursorBlinkStateManager=void 0),this._onRequestRefreshRowsEvent.fire({start:e.buffer.active.cursorY,end:e.buffer.active.cursorY})}handleCursorMove(e){var t;null===(t=this._cursorBlinkStateManager)||void 0===t||t.restartBlinkAnimation(e)}handleGridChanged(e,t,i){!this._cursorBlinkStateManager||this._cursorBlinkStateManager.isPaused?this._render(e,!1):this._cursorBlinkStateManager.restartBlinkAnimation(e)}_render(e,t){if(!this._coreService.isCursorInitialized||this._coreService.isCursorHidden)return void this._clearCursor();const i=e.buffer.active.baseY+e.buffer.active.cursorY,s=i-e.buffer.active.viewportY,r=Math.min(e.buffer.active.cursorX,e.cols-1);if(s<0||s>=e.rows)this._clearCursor();else if(e._core.buffer.lines.get(i).loadCell(r,this._cell),void 0!==this._cell.content){if(!this._coreBrowserService.isFocused){this._clearCursor(),this._ctx.save(),this._ctx.fillStyle=this._themeService.colors.cursor.css;const t=e.options.cursorStyle;return this._renderBlurCursor(e,r,s,this._cell),this._ctx.restore(),this._state.x=r,this._state.y=s,this._state.isFocused=!1,this._state.style=t,void(this._state.width=this._cell.getWidth())}if(!this._cursorBlinkStateManager||this._cursorBlinkStateManager.isCursorVisible){if(this._state){if(this._state.x===r&&this._state.y===s&&this._state.isFocused===this._coreBrowserService.isFocused&&this._state.style===e.options.cursorStyle&&this._state.width===this._cell.getWidth())return;this._clearCursor()}this._ctx.save(),this._cursorRenderers[e.options.cursorStyle||\"block\"](e,r,s,this._cell),this._ctx.restore(),this._state.x=r,this._state.y=s,this._state.isFocused=!1,this._state.style=e.options.cursorStyle,this._state.width=this._cell.getWidth()}else this._clearCursor()}}_clearCursor(){this._state&&(n.isFirefox||this._coreBrowserService.dpr<1?this._clearAll():this._clearCells(this._state.x,this._state.y,this._state.width,1),this._state={x:0,y:0,isFocused:!1,style:\"\",width:0})}_renderBarCursor(e,t,i,s){this._ctx.save(),this._ctx.fillStyle=this._themeService.colors.cursor.css,this._fillLeftLineAtCell(t,i,this._optionsService.rawOptions.cursorWidth),this._ctx.restore()}_renderBlockCursor(e,t,i,s){this._ctx.save(),this._ctx.fillStyle=this._themeService.colors.cursor.css,this._fillCells(t,i,s.getWidth(),1),this._ctx.fillStyle=this._themeService.colors.cursorAccent.css,this._fillCharTrueColor(e,s,t,i),this._ctx.restore()}_renderUnderlineCursor(e,t,i,s){this._ctx.save(),this._ctx.fillStyle=this._themeService.colors.cursor.css,this._fillBottomLineAtCells(t,i),this._ctx.restore()}_renderBlurCursor(e,t,i,s){this._ctx.save(),this._ctx.strokeStyle=this._themeService.colors.cursor.css,this._strokeRectAtCell(t,i,s.getWidth(),1),this._ctx.restore()}}t.CursorRenderLayer=a;class h{constructor(e,t){this._renderCallback=e,this._coreBrowserService=t,this.isCursorVisible=!0,this._coreBrowserService.isFocused&&this._restartInterval()}get isPaused(){return!(this._blinkStartTimeout||this._blinkInterval)}dispose(){this._blinkInterval&&(this._coreBrowserService.window.clearInterval(this._blinkInterval),this._blinkInterval=void 0),this._blinkStartTimeout&&(this._coreBrowserService.window.clearTimeout(this._blinkStartTimeout),this._blinkStartTimeout=void 0),this._animationFrame&&(this._coreBrowserService.window.cancelAnimationFrame(this._animationFrame),this._animationFrame=void 0)}restartBlinkAnimation(e){this.isPaused||(this._animationTimeRestarted=Date.now(),this.isCursorVisible=!0,this._animationFrame||(this._animationFrame=this._coreBrowserService.window.requestAnimationFrame((()=>{this._renderCallback(),this._animationFrame=void 0}))))}_restartInterval(e=600){this._blinkInterval&&(this._coreBrowserService.window.clearInterval(this._blinkInterval),this._blinkInterval=void 0),this._blinkStartTimeout=this._coreBrowserService.window.setTimeout((()=>{if(this._animationTimeRestarted){const e=600-(Date.now()-this._animationTimeRestarted);if(this._animationTimeRestarted=void 0,e>0)return void this._restartInterval(e)}this.isCursorVisible=!1,this._animationFrame=this._coreBrowserService.window.requestAnimationFrame((()=>{this._renderCallback(),this._animationFrame=void 0})),this._blinkInterval=this._coreBrowserService.window.setInterval((()=>{if(this._animationTimeRestarted){const e=600-(Date.now()-this._animationTimeRestarted);return this._animationTimeRestarted=void 0,void this._restartInterval(e)}this.isCursorVisible=!this.isCursorVisible,this._animationFrame=this._coreBrowserService.window.requestAnimationFrame((()=>{this._renderCallback(),this._animationFrame=void 0}))}),600)}),e)}pause(){this.isCursorVisible=!0,this._blinkInterval&&(this._coreBrowserService.window.clearInterval(this._blinkInterval),this._blinkInterval=void 0),this._blinkStartTimeout&&(this._coreBrowserService.window.clearTimeout(this._blinkStartTimeout),this._blinkStartTimeout=void 0),this._animationFrame&&(this._coreBrowserService.window.cancelAnimationFrame(this._animationFrame),this._animationFrame=void 0)}resume(e){this.pause(),this._animationTimeRestarted=void 0,this._restartInterval(),this.restartBlinkAnimation(e)}}},733:(e,t,i)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.LinkRenderLayer=void 0;const s=i(197),r=i(237),o=i(592);class n extends o.BaseRenderLayer{constructor(e,t,i,s,r,o,n){super(i,e,\"link\",t,!0,r,o,n),this.register(s.onShowLinkUnderline((e=>this._handleShowLinkUnderline(e)))),this.register(s.onHideLinkUnderline((e=>this._handleHideLinkUnderline(e))))}resize(e,t){super.resize(e,t),this._state=void 0}reset(e){this._clearCurrentLink()}_clearCurrentLink(){if(this._state){this._clearCells(this._state.x1,this._state.y1,this._state.cols-this._state.x1,1);const e=this._state.y2-this._state.y1-1;e>0&&this._clearCells(0,this._state.y1+1,this._state.cols,e),this._clearCells(0,this._state.y2,this._state.x2,1),this._state=void 0}}_handleShowLinkUnderline(e){if(e.fg===r.INVERTED_DEFAULT_COLOR?this._ctx.fillStyle=this._themeService.colors.background.css:void 0!==e.fg&&(0,s.is256Color)(e.fg)?this._ctx.fillStyle=this._themeService.colors.ansi[e.fg].css:this._ctx.fillStyle=this._themeService.colors.foreground.css,e.y1===e.y2)this._fillBottomLineAtCells(e.x1,e.y1,e.x2-e.x1);else{this._fillBottomLineAtCells(e.x1,e.y1,e.cols-e.x1);for(let t=e.y1+1;t{Object.defineProperty(t,\"__esModule\",{value:!0}),t.addDisposableDomListener=void 0,t.addDisposableDomListener=function(e,t,i,s){e.addEventListener(t,i,s);let r=!1;return{dispose:()=>{r||(r=!0,e.removeEventListener(t,i,s))}}}},274:(e,t)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.CellColorResolver=void 0;let i,s=0,r=0,o=!1,n=!1,a=!1;t.CellColorResolver=class{constructor(e,t,i,s,r){this._terminal=e,this._selectionRenderModel=t,this._decorationService=i,this._coreBrowserService=s,this._themeService=r,this.result={fg:0,bg:0,ext:0}}resolve(e,t,h){this.result.bg=e.bg,this.result.fg=e.fg,this.result.ext=268435456&e.bg?e.extended.ext:0,r=0,s=0,n=!1,o=!1,a=!1,i=this._themeService.colors,this._decorationService.forEachDecorationAtCell(t,h,\"bottom\",(e=>{e.backgroundColorRGB&&(r=e.backgroundColorRGB.rgba>>8&16777215,n=!0),e.foregroundColorRGB&&(s=e.foregroundColorRGB.rgba>>8&16777215,o=!0)})),a=this._selectionRenderModel.isCellSelected(this._terminal,t,h),a&&(r=(this._coreBrowserService.isFocused?i.selectionBackgroundOpaque:i.selectionInactiveBackgroundOpaque).rgba>>8&16777215,n=!0,i.selectionForeground&&(s=i.selectionForeground.rgba>>8&16777215,o=!0)),this._decorationService.forEachDecorationAtCell(t,h,\"top\",(e=>{e.backgroundColorRGB&&(r=e.backgroundColorRGB.rgba>>8&16777215,n=!0),e.foregroundColorRGB&&(s=e.foregroundColorRGB.rgba>>8&16777215,o=!0)})),n&&(r=a?-16777216&e.bg&-134217729|r|50331648:-16777216&e.bg|r|50331648),o&&(s=-16777216&e.fg&-67108865|s|50331648),67108864&this.result.fg&&(n&&!o&&(s=0==(50331648&this.result.bg)?-134217728&this.result.fg|16777215&i.background.rgba>>8|50331648:-134217728&this.result.fg|67108863&this.result.bg,o=!0),!n&&o&&(r=0==(50331648&this.result.fg)?-67108864&this.result.bg|16777215&i.foreground.rgba>>8|50331648:-67108864&this.result.bg|67108863&this.result.fg,n=!0)),i=void 0,this.result.bg=n?r:this.result.bg,this.result.fg=o?s:this.result.fg}}},627:(e,t,i)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.removeTerminalFromCache=t.acquireTextureAtlas=void 0;const s=i(509),r=i(197),o=[];t.acquireTextureAtlas=function(e,t,i,n,a,h,l,c){const d=(0,r.generateConfig)(n,a,h,l,t,i,c);for(let t=0;t=0){if((0,r.configEquals)(i.config,d))return i.atlas;1===i.ownedBy.length?(i.atlas.dispose(),o.splice(t,1)):i.ownedBy.splice(s,1);break}}for(let t=0;t{Object.defineProperty(t,\"__esModule\",{value:!0}),t.is256Color=t.configEquals=t.generateConfig=void 0;const s=i(160);t.generateConfig=function(e,t,i,r,o,n,a){const h={foreground:n.foreground,background:n.background,cursor:s.NULL_COLOR,cursorAccent:s.NULL_COLOR,selectionForeground:s.NULL_COLOR,selectionBackgroundTransparent:s.NULL_COLOR,selectionBackgroundOpaque:s.NULL_COLOR,selectionInactiveBackgroundTransparent:s.NULL_COLOR,selectionInactiveBackgroundOpaque:s.NULL_COLOR,ansi:n.ansi.slice(),contrastCache:n.contrastCache};return{customGlyphs:o.customGlyphs,devicePixelRatio:a,letterSpacing:o.letterSpacing,lineHeight:o.lineHeight,deviceCellWidth:e,deviceCellHeight:t,deviceCharWidth:i,deviceCharHeight:r,fontFamily:o.fontFamily,fontSize:o.fontSize,fontWeight:o.fontWeight,fontWeightBold:o.fontWeightBold,allowTransparency:o.allowTransparency,drawBoldTextInBrightColors:o.drawBoldTextInBrightColors,minimumContrastRatio:o.minimumContrastRatio,colors:h}},t.configEquals=function(e,t){for(let i=0;i{Object.defineProperty(t,\"__esModule\",{value:!0}),t.TEXT_BASELINE=t.DIM_OPACITY=t.INVERTED_DEFAULT_COLOR=void 0;const s=i(399);t.INVERTED_DEFAULT_COLOR=257,t.DIM_OPACITY=.5,t.TEXT_BASELINE=s.isFirefox||s.isLegacyEdge?\"bottom\":\"ideographic\"},860:(e,t,i)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.tryDrawCustomChar=t.powerlineDefinitions=t.boxDrawingDefinitions=t.blockElementDefinitions=void 0;const s=i(374);t.blockElementDefinitions={\"▀\":[{x:0,y:0,w:8,h:4}],\"▁\":[{x:0,y:7,w:8,h:1}],\"▂\":[{x:0,y:6,w:8,h:2}],\"▃\":[{x:0,y:5,w:8,h:3}],\"▄\":[{x:0,y:4,w:8,h:4}],\"▅\":[{x:0,y:3,w:8,h:5}],\"▆\":[{x:0,y:2,w:8,h:6}],\"▇\":[{x:0,y:1,w:8,h:7}],\"█\":[{x:0,y:0,w:8,h:8}],\"▉\":[{x:0,y:0,w:7,h:8}],\"▊\":[{x:0,y:0,w:6,h:8}],\"▋\":[{x:0,y:0,w:5,h:8}],\"▌\":[{x:0,y:0,w:4,h:8}],\"▍\":[{x:0,y:0,w:3,h:8}],\"▎\":[{x:0,y:0,w:2,h:8}],\"▏\":[{x:0,y:0,w:1,h:8}],\"▐\":[{x:4,y:0,w:4,h:8}],\"▔\":[{x:0,y:0,w:8,h:1}],\"▕\":[{x:7,y:0,w:1,h:8}],\"▖\":[{x:0,y:4,w:4,h:4}],\"▗\":[{x:4,y:4,w:4,h:4}],\"▘\":[{x:0,y:0,w:4,h:4}],\"▙\":[{x:0,y:0,w:4,h:8},{x:0,y:4,w:8,h:4}],\"▚\":[{x:0,y:0,w:4,h:4},{x:4,y:4,w:4,h:4}],\"▛\":[{x:0,y:0,w:4,h:8},{x:4,y:0,w:4,h:4}],\"▜\":[{x:0,y:0,w:8,h:4},{x:4,y:0,w:4,h:8}],\"▝\":[{x:4,y:0,w:4,h:4}],\"▞\":[{x:4,y:0,w:4,h:4},{x:0,y:4,w:4,h:4}],\"▟\":[{x:4,y:0,w:4,h:8},{x:0,y:4,w:8,h:4}],\"🭰\":[{x:1,y:0,w:1,h:8}],\"🭱\":[{x:2,y:0,w:1,h:8}],\"🭲\":[{x:3,y:0,w:1,h:8}],\"🭳\":[{x:4,y:0,w:1,h:8}],\"🭴\":[{x:5,y:0,w:1,h:8}],\"🭵\":[{x:6,y:0,w:1,h:8}],\"🭶\":[{x:0,y:1,w:8,h:1}],\"🭷\":[{x:0,y:2,w:8,h:1}],\"🭸\":[{x:0,y:3,w:8,h:1}],\"🭹\":[{x:0,y:4,w:8,h:1}],\"🭺\":[{x:0,y:5,w:8,h:1}],\"🭻\":[{x:0,y:6,w:8,h:1}],\"🭼\":[{x:0,y:0,w:1,h:8},{x:0,y:7,w:8,h:1}],\"🭽\":[{x:0,y:0,w:1,h:8},{x:0,y:0,w:8,h:1}],\"🭾\":[{x:7,y:0,w:1,h:8},{x:0,y:0,w:8,h:1}],\"🭿\":[{x:7,y:0,w:1,h:8},{x:0,y:7,w:8,h:1}],\"🮀\":[{x:0,y:0,w:8,h:1},{x:0,y:7,w:8,h:1}],\"🮁\":[{x:0,y:0,w:8,h:1},{x:0,y:2,w:8,h:1},{x:0,y:4,w:8,h:1},{x:0,y:7,w:8,h:1}],\"🮂\":[{x:0,y:0,w:8,h:2}],\"🮃\":[{x:0,y:0,w:8,h:3}],\"🮄\":[{x:0,y:0,w:8,h:5}],\"🮅\":[{x:0,y:0,w:8,h:6}],\"🮆\":[{x:0,y:0,w:8,h:7}],\"🮇\":[{x:6,y:0,w:2,h:8}],\"🮈\":[{x:5,y:0,w:3,h:8}],\"🮉\":[{x:3,y:0,w:5,h:8}],\"🮊\":[{x:2,y:0,w:6,h:8}],\"🮋\":[{x:1,y:0,w:7,h:8}],\"🮕\":[{x:0,y:0,w:2,h:2},{x:4,y:0,w:2,h:2},{x:2,y:2,w:2,h:2},{x:6,y:2,w:2,h:2},{x:0,y:4,w:2,h:2},{x:4,y:4,w:2,h:2},{x:2,y:6,w:2,h:2},{x:6,y:6,w:2,h:2}],\"🮖\":[{x:2,y:0,w:2,h:2},{x:6,y:0,w:2,h:2},{x:0,y:2,w:2,h:2},{x:4,y:2,w:2,h:2},{x:2,y:4,w:2,h:2},{x:6,y:4,w:2,h:2},{x:0,y:6,w:2,h:2},{x:4,y:6,w:2,h:2}],\"🮗\":[{x:0,y:2,w:8,h:2},{x:0,y:6,w:8,h:2}]};const r={\"░\":[[1,0,0,0],[0,0,0,0],[0,0,1,0],[0,0,0,0]],\"▒\":[[1,0],[0,0],[0,1],[0,0]],\"▓\":[[0,1],[1,1],[1,0],[1,1]]};t.boxDrawingDefinitions={\"─\":{1:\"M0,.5 L1,.5\"},\"━\":{3:\"M0,.5 L1,.5\"},\"│\":{1:\"M.5,0 L.5,1\"},\"┃\":{3:\"M.5,0 L.5,1\"},\"┌\":{1:\"M0.5,1 L.5,.5 L1,.5\"},\"┏\":{3:\"M0.5,1 L.5,.5 L1,.5\"},\"┐\":{1:\"M0,.5 L.5,.5 L.5,1\"},\"┓\":{3:\"M0,.5 L.5,.5 L.5,1\"},\"└\":{1:\"M.5,0 L.5,.5 L1,.5\"},\"┗\":{3:\"M.5,0 L.5,.5 L1,.5\"},\"┘\":{1:\"M.5,0 L.5,.5 L0,.5\"},\"┛\":{3:\"M.5,0 L.5,.5 L0,.5\"},\"├\":{1:\"M.5,0 L.5,1 M.5,.5 L1,.5\"},\"┣\":{3:\"M.5,0 L.5,1 M.5,.5 L1,.5\"},\"┤\":{1:\"M.5,0 L.5,1 M.5,.5 L0,.5\"},\"┫\":{3:\"M.5,0 L.5,1 M.5,.5 L0,.5\"},\"┬\":{1:\"M0,.5 L1,.5 M.5,.5 L.5,1\"},\"┳\":{3:\"M0,.5 L1,.5 M.5,.5 L.5,1\"},\"┴\":{1:\"M0,.5 L1,.5 M.5,.5 L.5,0\"},\"┻\":{3:\"M0,.5 L1,.5 M.5,.5 L.5,0\"},\"┼\":{1:\"M0,.5 L1,.5 M.5,0 L.5,1\"},\"╋\":{3:\"M0,.5 L1,.5 M.5,0 L.5,1\"},\"╴\":{1:\"M.5,.5 L0,.5\"},\"╸\":{3:\"M.5,.5 L0,.5\"},\"╵\":{1:\"M.5,.5 L.5,0\"},\"╹\":{3:\"M.5,.5 L.5,0\"},\"╶\":{1:\"M.5,.5 L1,.5\"},\"╺\":{3:\"M.5,.5 L1,.5\"},\"╷\":{1:\"M.5,.5 L.5,1\"},\"╻\":{3:\"M.5,.5 L.5,1\"},\"═\":{1:(e,t)=>`M0,${.5-t} L1,${.5-t} M0,${.5+t} L1,${.5+t}`},\"║\":{1:(e,t)=>`M${.5-e},0 L${.5-e},1 M${.5+e},0 L${.5+e},1`},\"╒\":{1:(e,t)=>`M.5,1 L.5,${.5-t} L1,${.5-t} M.5,${.5+t} L1,${.5+t}`},\"╓\":{1:(e,t)=>`M${.5-e},1 L${.5-e},.5 L1,.5 M${.5+e},.5 L${.5+e},1`},\"╔\":{1:(e,t)=>`M1,${.5-t} L${.5-e},${.5-t} L${.5-e},1 M1,${.5+t} L${.5+e},${.5+t} L${.5+e},1`},\"╕\":{1:(e,t)=>`M0,${.5-t} L.5,${.5-t} L.5,1 M0,${.5+t} L.5,${.5+t}`},\"╖\":{1:(e,t)=>`M${.5+e},1 L${.5+e},.5 L0,.5 M${.5-e},.5 L${.5-e},1`},\"╗\":{1:(e,t)=>`M0,${.5+t} L${.5-e},${.5+t} L${.5-e},1 M0,${.5-t} L${.5+e},${.5-t} L${.5+e},1`},\"╘\":{1:(e,t)=>`M.5,0 L.5,${.5+t} L1,${.5+t} M.5,${.5-t} L1,${.5-t}`},\"╙\":{1:(e,t)=>`M1,.5 L${.5-e},.5 L${.5-e},0 M${.5+e},.5 L${.5+e},0`},\"╚\":{1:(e,t)=>`M1,${.5-t} L${.5+e},${.5-t} L${.5+e},0 M1,${.5+t} L${.5-e},${.5+t} L${.5-e},0`},\"╛\":{1:(e,t)=>`M0,${.5+t} L.5,${.5+t} L.5,0 M0,${.5-t} L.5,${.5-t}`},\"╜\":{1:(e,t)=>`M0,.5 L${.5+e},.5 L${.5+e},0 M${.5-e},.5 L${.5-e},0`},\"╝\":{1:(e,t)=>`M0,${.5-t} L${.5-e},${.5-t} L${.5-e},0 M0,${.5+t} L${.5+e},${.5+t} L${.5+e},0`},\"╞\":{1:(e,t)=>`M.5,0 L.5,1 M.5,${.5-t} L1,${.5-t} M.5,${.5+t} L1,${.5+t}`},\"╟\":{1:(e,t)=>`M${.5-e},0 L${.5-e},1 M${.5+e},0 L${.5+e},1 M${.5+e},.5 L1,.5`},\"╠\":{1:(e,t)=>`M${.5-e},0 L${.5-e},1 M1,${.5+t} L${.5+e},${.5+t} L${.5+e},1 M1,${.5-t} L${.5+e},${.5-t} L${.5+e},0`},\"╡\":{1:(e,t)=>`M.5,0 L.5,1 M0,${.5-t} L.5,${.5-t} M0,${.5+t} L.5,${.5+t}`},\"╢\":{1:(e,t)=>`M0,.5 L${.5-e},.5 M${.5-e},0 L${.5-e},1 M${.5+e},0 L${.5+e},1`},\"╣\":{1:(e,t)=>`M${.5+e},0 L${.5+e},1 M0,${.5+t} L${.5-e},${.5+t} L${.5-e},1 M0,${.5-t} L${.5-e},${.5-t} L${.5-e},0`},\"╤\":{1:(e,t)=>`M0,${.5-t} L1,${.5-t} M0,${.5+t} L1,${.5+t} M.5,${.5+t} L.5,1`},\"╥\":{1:(e,t)=>`M0,.5 L1,.5 M${.5-e},.5 L${.5-e},1 M${.5+e},.5 L${.5+e},1`},\"╦\":{1:(e,t)=>`M0,${.5-t} L1,${.5-t} M0,${.5+t} L${.5-e},${.5+t} L${.5-e},1 M1,${.5+t} L${.5+e},${.5+t} L${.5+e},1`},\"╧\":{1:(e,t)=>`M.5,0 L.5,${.5-t} M0,${.5-t} L1,${.5-t} M0,${.5+t} L1,${.5+t}`},\"╨\":{1:(e,t)=>`M0,.5 L1,.5 M${.5-e},.5 L${.5-e},0 M${.5+e},.5 L${.5+e},0`},\"╩\":{1:(e,t)=>`M0,${.5+t} L1,${.5+t} M0,${.5-t} L${.5-e},${.5-t} L${.5-e},0 M1,${.5-t} L${.5+e},${.5-t} L${.5+e},0`},\"╪\":{1:(e,t)=>`M.5,0 L.5,1 M0,${.5-t} L1,${.5-t} M0,${.5+t} L1,${.5+t}`},\"╫\":{1:(e,t)=>`M0,.5 L1,.5 M${.5-e},0 L${.5-e},1 M${.5+e},0 L${.5+e},1`},\"╬\":{1:(e,t)=>`M0,${.5+t} L${.5-e},${.5+t} L${.5-e},1 M1,${.5+t} L${.5+e},${.5+t} L${.5+e},1 M0,${.5-t} L${.5-e},${.5-t} L${.5-e},0 M1,${.5-t} L${.5+e},${.5-t} L${.5+e},0`},\"╱\":{1:\"M1,0 L0,1\"},\"╲\":{1:\"M0,0 L1,1\"},\"╳\":{1:\"M1,0 L0,1 M0,0 L1,1\"},\"╼\":{1:\"M.5,.5 L0,.5\",3:\"M.5,.5 L1,.5\"},\"╽\":{1:\"M.5,.5 L.5,0\",3:\"M.5,.5 L.5,1\"},\"╾\":{1:\"M.5,.5 L1,.5\",3:\"M.5,.5 L0,.5\"},\"╿\":{1:\"M.5,.5 L.5,1\",3:\"M.5,.5 L.5,0\"},\"┍\":{1:\"M.5,.5 L.5,1\",3:\"M.5,.5 L1,.5\"},\"┎\":{1:\"M.5,.5 L1,.5\",3:\"M.5,.5 L.5,1\"},\"┑\":{1:\"M.5,.5 L.5,1\",3:\"M.5,.5 L0,.5\"},\"┒\":{1:\"M.5,.5 L0,.5\",3:\"M.5,.5 L.5,1\"},\"┕\":{1:\"M.5,.5 L.5,0\",3:\"M.5,.5 L1,.5\"},\"┖\":{1:\"M.5,.5 L1,.5\",3:\"M.5,.5 L.5,0\"},\"┙\":{1:\"M.5,.5 L.5,0\",3:\"M.5,.5 L0,.5\"},\"┚\":{1:\"M.5,.5 L0,.5\",3:\"M.5,.5 L.5,0\"},\"┝\":{1:\"M.5,0 L.5,1\",3:\"M.5,.5 L1,.5\"},\"┞\":{1:\"M0.5,1 L.5,.5 L1,.5\",3:\"M.5,.5 L.5,0\"},\"┟\":{1:\"M.5,0 L.5,.5 L1,.5\",3:\"M.5,.5 L.5,1\"},\"┠\":{1:\"M.5,.5 L1,.5\",3:\"M.5,0 L.5,1\"},\"┡\":{1:\"M.5,.5 L.5,1\",3:\"M.5,0 L.5,.5 L1,.5\"},\"┢\":{1:\"M.5,.5 L.5,0\",3:\"M0.5,1 L.5,.5 L1,.5\"},\"┥\":{1:\"M.5,0 L.5,1\",3:\"M.5,.5 L0,.5\"},\"┦\":{1:\"M0,.5 L.5,.5 L.5,1\",3:\"M.5,.5 L.5,0\"},\"┧\":{1:\"M.5,0 L.5,.5 L0,.5\",3:\"M.5,.5 L.5,1\"},\"┨\":{1:\"M.5,.5 L0,.5\",3:\"M.5,0 L.5,1\"},\"┩\":{1:\"M.5,.5 L.5,1\",3:\"M.5,0 L.5,.5 L0,.5\"},\"┪\":{1:\"M.5,.5 L.5,0\",3:\"M0,.5 L.5,.5 L.5,1\"},\"┭\":{1:\"M0.5,1 L.5,.5 L1,.5\",3:\"M.5,.5 L0,.5\"},\"┮\":{1:\"M0,.5 L.5,.5 L.5,1\",3:\"M.5,.5 L1,.5\"},\"┯\":{1:\"M.5,.5 L.5,1\",3:\"M0,.5 L1,.5\"},\"┰\":{1:\"M0,.5 L1,.5\",3:\"M.5,.5 L.5,1\"},\"┱\":{1:\"M.5,.5 L1,.5\",3:\"M0,.5 L.5,.5 L.5,1\"},\"┲\":{1:\"M.5,.5 L0,.5\",3:\"M0.5,1 L.5,.5 L1,.5\"},\"┵\":{1:\"M.5,0 L.5,.5 L1,.5\",3:\"M.5,.5 L0,.5\"},\"┶\":{1:\"M.5,0 L.5,.5 L0,.5\",3:\"M.5,.5 L1,.5\"},\"┷\":{1:\"M.5,.5 L.5,0\",3:\"M0,.5 L1,.5\"},\"┸\":{1:\"M0,.5 L1,.5\",3:\"M.5,.5 L.5,0\"},\"┹\":{1:\"M.5,.5 L1,.5\",3:\"M.5,0 L.5,.5 L0,.5\"},\"┺\":{1:\"M.5,.5 L0,.5\",3:\"M.5,0 L.5,.5 L1,.5\"},\"┽\":{1:\"M.5,0 L.5,1 M.5,.5 L1,.5\",3:\"M.5,.5 L0,.5\"},\"┾\":{1:\"M.5,0 L.5,1 M.5,.5 L0,.5\",3:\"M.5,.5 L1,.5\"},\"┿\":{1:\"M.5,0 L.5,1\",3:\"M0,.5 L1,.5\"},\"╀\":{1:\"M0,.5 L1,.5 M.5,.5 L.5,1\",3:\"M.5,.5 L.5,0\"},\"╁\":{1:\"M.5,.5 L.5,0 M0,.5 L1,.5\",3:\"M.5,.5 L.5,1\"},\"╂\":{1:\"M0,.5 L1,.5\",3:\"M.5,0 L.5,1\"},\"╃\":{1:\"M0.5,1 L.5,.5 L1,.5\",3:\"M.5,0 L.5,.5 L0,.5\"},\"╄\":{1:\"M0,.5 L.5,.5 L.5,1\",3:\"M.5,0 L.5,.5 L1,.5\"},\"╅\":{1:\"M.5,0 L.5,.5 L1,.5\",3:\"M0,.5 L.5,.5 L.5,1\"},\"╆\":{1:\"M.5,0 L.5,.5 L0,.5\",3:\"M0.5,1 L.5,.5 L1,.5\"},\"╇\":{1:\"M.5,.5 L.5,1\",3:\"M.5,.5 L.5,0 M0,.5 L1,.5\"},\"╈\":{1:\"M.5,.5 L.5,0\",3:\"M0,.5 L1,.5 M.5,.5 L.5,1\"},\"╉\":{1:\"M.5,.5 L1,.5\",3:\"M.5,0 L.5,1 M.5,.5 L0,.5\"},\"╊\":{1:\"M.5,.5 L0,.5\",3:\"M.5,0 L.5,1 M.5,.5 L1,.5\"},\"╌\":{1:\"M.1,.5 L.4,.5 M.6,.5 L.9,.5\"},\"╍\":{3:\"M.1,.5 L.4,.5 M.6,.5 L.9,.5\"},\"┄\":{1:\"M.0667,.5 L.2667,.5 M.4,.5 L.6,.5 M.7333,.5 L.9333,.5\"},\"┅\":{3:\"M.0667,.5 L.2667,.5 M.4,.5 L.6,.5 M.7333,.5 L.9333,.5\"},\"┈\":{1:\"M.05,.5 L.2,.5 M.3,.5 L.45,.5 M.55,.5 L.7,.5 M.8,.5 L.95,.5\"},\"┉\":{3:\"M.05,.5 L.2,.5 M.3,.5 L.45,.5 M.55,.5 L.7,.5 M.8,.5 L.95,.5\"},\"╎\":{1:\"M.5,.1 L.5,.4 M.5,.6 L.5,.9\"},\"╏\":{3:\"M.5,.1 L.5,.4 M.5,.6 L.5,.9\"},\"┆\":{1:\"M.5,.0667 L.5,.2667 M.5,.4 L.5,.6 M.5,.7333 L.5,.9333\"},\"┇\":{3:\"M.5,.0667 L.5,.2667 M.5,.4 L.5,.6 M.5,.7333 L.5,.9333\"},\"┊\":{1:\"M.5,.05 L.5,.2 M.5,.3 L.5,.45 L.5,.55 M.5,.7 L.5,.95\"},\"┋\":{3:\"M.5,.05 L.5,.2 M.5,.3 L.5,.45 L.5,.55 M.5,.7 L.5,.95\"},\"╭\":{1:(e,t)=>`M.5,1 L.5,${.5+t/.15*.5} C.5,${.5+t/.15*.5},.5,.5,1,.5`},\"╮\":{1:(e,t)=>`M.5,1 L.5,${.5+t/.15*.5} C.5,${.5+t/.15*.5},.5,.5,0,.5`},\"╯\":{1:(e,t)=>`M.5,0 L.5,${.5-t/.15*.5} C.5,${.5-t/.15*.5},.5,.5,0,.5`},\"╰\":{1:(e,t)=>`M.5,0 L.5,${.5-t/.15*.5} C.5,${.5-t/.15*.5},.5,.5,1,.5`}},t.powerlineDefinitions={\"\":{d:\"M0,0 L1,.5 L0,1\",type:0,rightPadding:2},\"\":{d:\"M-1,-.5 L1,.5 L-1,1.5\",type:1,leftPadding:1,rightPadding:1},\"\":{d:\"M1,0 L0,.5 L1,1\",type:0,leftPadding:2},\"\":{d:\"M2,-.5 L0,.5 L2,1.5\",type:1,leftPadding:1,rightPadding:1},\"\":{d:\"M0,0 L0,1 C0.552,1,1,0.776,1,.5 C1,0.224,0.552,0,0,0\",type:0,rightPadding:1},\"\":{d:\"M0,1 C0.552,1,1,0.776,1,.5 C1,0.224,0.552,0,0,0\",type:1,rightPadding:1},\"\":{d:\"M1,0 L1,1 C0.448,1,0,0.776,0,.5 C0,0.224,0.448,0,1,0\",type:0,leftPadding:1},\"\":{d:\"M1,1 C0.448,1,0,0.776,0,.5 C0,0.224,0.448,0,1,0\",type:1,leftPadding:1},\"\":{d:\"M-.5,-.5 L1.5,1.5 L-.5,1.5\",type:0},\"\":{d:\"M-.5,-.5 L1.5,1.5\",type:1,leftPadding:1,rightPadding:1},\"\":{d:\"M1.5,-.5 L-.5,1.5 L1.5,1.5\",type:0},\"\":{d:\"M1.5,-.5 L-.5,1.5 L-.5,-.5\",type:0},\"\":{d:\"M1.5,-.5 L-.5,1.5\",type:1,leftPadding:1,rightPadding:1},\"\":{d:\"M-.5,-.5 L1.5,1.5 L1.5,-.5\",type:0}},t.powerlineDefinitions[\"\"]=t.powerlineDefinitions[\"\"],t.powerlineDefinitions[\"\"]=t.powerlineDefinitions[\"\"],t.tryDrawCustomChar=function(e,i,n,l,c,d,_,u){const g=t.blockElementDefinitions[i];if(g)return function(e,t,i,s,r,o){for(let n=0;n7&&parseInt(l.slice(7,9),16)||1;else{if(!l.startsWith(\"rgba\"))throw new Error(`Unexpected fillStyle color format \"${l}\" when drawing pattern glyph`);[d,_,u,g]=l.substring(5,l.length-1).split(\",\").map((e=>parseFloat(e)))}for(let e=0;ee.bezierCurveTo(t[0],t[1],t[2],t[3],t[4],t[5]),L:(e,t)=>e.lineTo(t[0],t[1]),M:(e,t)=>e.moveTo(t[0],t[1])};function h(e,t,i,s,r,o,a,h=0,l=0){const c=e.map((e=>parseFloat(e)||parseInt(e)));if(c.length<2)throw new Error(\"Too few arguments for instruction\");for(let e=0;e{Object.defineProperty(t,\"__esModule\",{value:!0}),t.observeDevicePixelDimensions=void 0;const s=i(859);t.observeDevicePixelDimensions=function(e,t,i){let r=new t.ResizeObserver((t=>{const s=t.find((t=>t.target===e));if(!s)return;if(!(\"devicePixelContentBoxSize\"in s))return null==r||r.disconnect(),void(r=void 0);const o=s.devicePixelContentBoxSize[0].inlineSize,n=s.devicePixelContentBoxSize[0].blockSize;o>0&&n>0&&i(o,n)}));try{r.observe(e,{box:[\"device-pixel-content-box\"]})}catch(e){r.disconnect(),r=void 0}return(0,s.toDisposable)((()=>null==r?void 0:r.disconnect()))}},374:(e,t)=>{function i(e){return 57508<=e&&e<=57558}Object.defineProperty(t,\"__esModule\",{value:!0}),t.createRenderDimensions=t.excludeFromContrastRatioDemands=t.isRestrictedPowerlineGlyph=t.isPowerlineGlyph=t.throwIfFalsy=void 0,t.throwIfFalsy=function(e){if(!e)throw new Error(\"value must not be falsy\");return e},t.isPowerlineGlyph=i,t.isRestrictedPowerlineGlyph=function(e){return 57520<=e&&e<=57527},t.excludeFromContrastRatioDemands=function(e){return i(e)||function(e){return 9472<=e&&e<=9631}(e)},t.createRenderDimensions=function(){return{css:{canvas:{width:0,height:0},cell:{width:0,height:0}},device:{canvas:{width:0,height:0},cell:{width:0,height:0},char:{width:0,height:0,left:0,top:0}}}}},296:(e,t)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.createSelectionRenderModel=void 0;class i{constructor(){this.clear()}clear(){this.hasSelection=!1,this.columnSelectMode=!1,this.viewportStartRow=0,this.viewportEndRow=0,this.viewportCappedStartRow=0,this.viewportCappedEndRow=0,this.startCol=0,this.endCol=0,this.selectionStart=void 0,this.selectionEnd=void 0}update(e,t,i,s=!1){if(this.selectionStart=t,this.selectionEnd=i,!t||!i||t[0]===i[0]&&t[1]===i[1])return void this.clear();const r=t[1]-e.buffer.active.viewportY,o=i[1]-e.buffer.active.viewportY,n=Math.max(r,0),a=Math.min(o,e.rows-1);n>=e.rows||a<0?this.clear():(this.hasSelection=!0,this.columnSelectMode=s,this.viewportStartRow=r,this.viewportEndRow=o,this.viewportCappedStartRow=n,this.viewportCappedEndRow=a,this.startCol=t[0],this.endCol=i[0])}isCellSelected(e,t,i){return!!this.hasSelection&&(i-=e.buffer.active.viewportY,this.columnSelectMode?this.startCol<=this.endCol?t>=this.startCol&&i>=this.viewportCappedStartRow&&t=this.viewportCappedStartRow&&t>=this.endCol&&i<=this.viewportCappedEndRow:i>this.viewportStartRow&&i=this.startCol&&t=this.startCol)}}t.createSelectionRenderModel=function(){return new i}},509:(e,t,i)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.TextureAtlas=void 0;const s=i(237),r=i(855),o=i(147),n=i(160),a=i(860),h=i(374),l=i(485),c=i(385),d=i(345),_={texturePage:0,texturePosition:{x:0,y:0},texturePositionClipSpace:{x:0,y:0},offset:{x:0,y:0},size:{x:0,y:0},sizeClipSpace:{x:0,y:0}};let u;class g{constructor(e,t,i){this._document=e,this._config=t,this._unicodeService=i,this._didWarmUp=!1,this._cacheMap=new l.FourKeyMap,this._cacheMapCombined=new l.FourKeyMap,this._pages=[],this._activePages=[],this._workBoundingBox={top:0,left:0,bottom:0,right:0},this._workAttributeData=new o.AttributeData,this._textureSize=512,this._onAddTextureAtlasCanvas=new d.EventEmitter,this.onAddTextureAtlasCanvas=this._onAddTextureAtlasCanvas.event,this._onRemoveTextureAtlasCanvas=new d.EventEmitter,this.onRemoveTextureAtlasCanvas=this._onRemoveTextureAtlasCanvas.event,this._requestClearModel=!1,this._createNewPage(),this._tmpCanvas=C(e,4*this._config.deviceCellWidth+4,this._config.deviceCellHeight+4),this._tmpCtx=(0,h.throwIfFalsy)(this._tmpCanvas.getContext(\"2d\",{alpha:this._config.allowTransparency,willReadFrequently:!0}))}get pages(){return this._pages}dispose(){for(const e of this.pages)e.canvas.remove();this._onAddTextureAtlasCanvas.dispose()}warmUp(){this._didWarmUp||(this._doWarmUp(),this._didWarmUp=!0)}_doWarmUp(){const e=new c.IdleTaskQueue;for(let t=33;t<126;t++)e.enqueue((()=>{if(!this._cacheMap.get(t,r.DEFAULT_COLOR,r.DEFAULT_COLOR,r.DEFAULT_EXT)){const e=this._drawToCache(t,r.DEFAULT_COLOR,r.DEFAULT_COLOR,r.DEFAULT_EXT);this._cacheMap.set(t,r.DEFAULT_COLOR,r.DEFAULT_COLOR,r.DEFAULT_EXT,e)}}))}beginFrame(){return this._requestClearModel}clearTexture(){if(0!==this._pages[0].currentRow.x||0!==this._pages[0].currentRow.y){for(const e of this._pages)e.clear();this._cacheMap.clear(),this._cacheMapCombined.clear(),this._didWarmUp=!1}}_createNewPage(){g.maxAtlasPages&&this._pages.length>=Math.max(4,g.maxAtlasPages/2)&&queueMicrotask((()=>{const e=this._pages.filter((e=>2*e.canvas.width<=(g.maxTextureSize||4096))).sort(((e,t)=>t.canvas.width!==e.canvas.width?t.canvas.width-e.canvas.width:t.percentageUsed-e.percentageUsed));let t=-1,i=0;for(let s=0;se.glyphs[0].texturePage)).sort(((e,t)=>e>t?1:-1)),o=r[0],n=this._mergePages(s,o);n.version++,this._pages[o]=n;for(let e=r.length-1;e>=1;e--)this._deletePage(r[e]);this._requestClearModel=!0,this._onAddTextureAtlasCanvas.fire(n.canvas)}));const e=new v(this._document,this._textureSize);return this._pages.push(e),this._activePages.push(e),this._onAddTextureAtlasCanvas.fire(e.canvas),e}_mergePages(e,t){const i=2*e[0].canvas.width,s=new v(this._document,i,e);for(const[r,o]of e.entries()){const e=r*o.canvas.width%i,n=Math.floor(r/2)*o.canvas.height;s.ctx.drawImage(o.canvas,e,n);for(const s of o.glyphs)s.texturePage=t,s.sizeClipSpace.x=s.size.x/i,s.sizeClipSpace.y=s.size.y/i,s.texturePosition.x+=e,s.texturePosition.y+=n,s.texturePositionClipSpace.x=s.texturePosition.x/i,s.texturePositionClipSpace.y=s.texturePosition.y/i;this._onRemoveTextureAtlasCanvas.fire(o.canvas);const a=this._activePages.indexOf(o);-1!==a&&this._activePages.splice(a,1)}return s}_deletePage(e){this._pages.splice(e,1);for(let t=e;t=this._config.colors.ansi.length)throw new Error(\"No color found for idx \"+e);return this._config.colors.ansi[e]}_getBackgroundColor(e,t,i,s){if(this._config.allowTransparency)return n.NULL_COLOR;let r;switch(e){case 16777216:case 33554432:r=this._getColorFromAnsiIndex(t);break;case 50331648:const e=o.AttributeData.toColorRGB(t);r=n.rgba.toColor(e[0],e[1],e[2]);break;default:r=i?this._config.colors.foreground:this._config.colors.background}return r}_getForegroundColor(e,t,i,r,a,h,l,c,d,_){const u=this._getMinimumContrastColor(e,t,i,r,a,h,!1,d,_);if(u)return u;let g;switch(a){case 16777216:case 33554432:this._config.drawBoldTextInBrightColors&&d&&h<8&&(h+=8),g=this._getColorFromAnsiIndex(h);break;case 50331648:const e=o.AttributeData.toColorRGB(h);g=n.rgba.toColor(e[0],e[1],e[2]);break;default:g=l?this._config.colors.background:this._config.colors.foreground}return this._config.allowTransparency&&(g=n.color.opaque(g)),c&&(g=n.color.multiplyOpacity(g,s.DIM_OPACITY)),g}_resolveBackgroundRgba(e,t,i){switch(e){case 16777216:case 33554432:return this._getColorFromAnsiIndex(t).rgba;case 50331648:return t<<8;default:return i?this._config.colors.foreground.rgba:this._config.colors.background.rgba}}_resolveForegroundRgba(e,t,i,s){switch(e){case 16777216:case 33554432:return this._config.drawBoldTextInBrightColors&&s&&t<8&&(t+=8),this._getColorFromAnsiIndex(t).rgba;case 50331648:return t<<8;default:return i?this._config.colors.background.rgba:this._config.colors.foreground.rgba}}_getMinimumContrastColor(e,t,i,s,r,o,a,h,l){if(1===this._config.minimumContrastRatio||l)return;const c=this._config.colors.contrastCache.getColor(e,s);if(void 0!==c)return c||void 0;const d=this._resolveBackgroundRgba(t,i,a),_=this._resolveForegroundRgba(r,o,a,h),u=n.rgba.ensureContrastRatio(d,_,this._config.minimumContrastRatio);if(!u)return void this._config.colors.contrastCache.setColor(e,s,null);const g=n.rgba.toColor(u>>24&255,u>>16&255,u>>8&255);return this._config.colors.contrastCache.setColor(e,s,g),g}_drawToCache(e,t,i,r){const n=\"number\"==typeof e?String.fromCharCode(e):e,l=Math.min(this._config.deviceCellWidth*Math.max(n.length,2)+4,this._textureSize);this._tmpCanvas.width=12&&!this._config.allowTransparency&&\" \"!==n){this._tmpCtx.save(),this._tmpCtx.textBaseline=\"alphabetic\";const t=this._tmpCtx.measureText(n);if(this._tmpCtx.restore(),\"actualBoundingBoxDescent\"in t&&t.actualBoundingBoxDescent>0){this._tmpCtx.save();const t=new Path2D;t.rect(i,s-Math.ceil(e/2),this._config.deviceCellWidth*B,a-s+Math.ceil(e/2)),this._tmpCtx.clip(t),this._tmpCtx.lineWidth=3*this._config.devicePixelRatio,this._tmpCtx.strokeStyle=M.css,this._tmpCtx.strokeText(n,S,S+this._config.deviceCharHeight),this._tmpCtx.restore()}}}if(m){const e=Math.max(1,Math.floor(this._config.fontSize*this._config.devicePixelRatio/15)),t=e%2==1?.5:0;this._tmpCtx.lineWidth=e,this._tmpCtx.strokeStyle=this._tmpCtx.fillStyle,this._tmpCtx.beginPath(),this._tmpCtx.moveTo(S,S+t),this._tmpCtx.lineTo(S+this._config.deviceCharWidth*B,S+t),this._tmpCtx.stroke()}if(D||this._tmpCtx.fillText(n,S,S+this._config.deviceCharHeight),\"_\"===n&&!this._config.allowTransparency){let e=f(this._tmpCtx.getImageData(S,S,this._config.deviceCellWidth,this._config.deviceCellHeight),M,T,P);if(e)for(let t=1;t<=5&&(this._tmpCtx.save(),this._tmpCtx.fillStyle=M.css,this._tmpCtx.fillRect(0,0,this._tmpCanvas.width,this._tmpCanvas.height),this._tmpCtx.restore(),this._tmpCtx.fillText(n,S,S+this._config.deviceCharHeight-t),e=f(this._tmpCtx.getImageData(S,S,this._config.deviceCellWidth,this._config.deviceCellHeight),M,T,P),e);t++);}if(p){const e=Math.max(1,Math.floor(this._config.fontSize*this._config.devicePixelRatio/10)),t=this._tmpCtx.lineWidth%2==1?.5:0;this._tmpCtx.lineWidth=e,this._tmpCtx.strokeStyle=this._tmpCtx.fillStyle,this._tmpCtx.beginPath(),this._tmpCtx.moveTo(S,S+Math.floor(this._config.deviceCharHeight/2)-t),this._tmpCtx.lineTo(S+this._config.deviceCharWidth*B,S+Math.floor(this._config.deviceCharHeight/2)-t),this._tmpCtx.stroke()}this._tmpCtx.restore();const F=this._tmpCtx.getImageData(0,0,this._tmpCanvas.width,this._tmpCanvas.height);let I;if(I=this._config.allowTransparency?function(e){for(let t=0;t0)return!1;return!0}(F):f(F,M,T,P),I)return _;const $=this._findGlyphBoundingBox(F,this._workBoundingBox,l,E,D,S);let k,O;for(;;){if(0===this._activePages.length){const e=this._createNewPage();k=e,O=e.currentRow,O.height=$.size.y;break}k=this._activePages[this._activePages.length-1],O=k.currentRow;for(const e of this._activePages)$.size.y<=e.currentRow.height&&(k=e,O=e.currentRow);for(let e=this._activePages.length-1;e>=0;e--)for(const t of this._activePages[e].fixedRows)t.height<=O.height&&$.size.y<=t.height&&(k=this._activePages[e],O=t);if(O.y+$.size.y>=k.canvas.height||O.height>$.size.y+2){let e=!1;if(k.currentRow.y+k.currentRow.height+$.size.y>=k.canvas.height){let t;for(const e of this._activePages)if(e.currentRow.y+e.currentRow.height+$.size.y0&&k.fixedRows.push(k.currentRow),O={x:0,y:k.currentRow.y+k.currentRow.height,height:$.size.y},k.fixedRows.push(O),k.currentRow={x:0,y:O.y+O.height,height:0})}if(O.x+$.size.x<=k.canvas.width)break;O===k.currentRow?(O.x=0,O.y+=O.height,O.height=0):k.fixedRows.splice(k.fixedRows.indexOf(O),1)}return $.texturePage=this._pages.indexOf(k),$.texturePosition.x=O.x,$.texturePosition.y=O.y,$.texturePositionClipSpace.x=O.x/k.canvas.width,$.texturePositionClipSpace.y=O.y/k.canvas.height,$.sizeClipSpace.x/=k.canvas.width,$.sizeClipSpace.y/=k.canvas.height,O.height=Math.max(O.height,$.size.y),O.x+=$.size.x,k.ctx.putImageData(F,$.texturePosition.x-this._workBoundingBox.left,$.texturePosition.y-this._workBoundingBox.top,this._workBoundingBox.left,this._workBoundingBox.top,$.size.x,$.size.y),k.addGlyph($),k.version++,$}_findGlyphBoundingBox(e,t,i,s,r,o){t.top=0;const n=s?this._config.deviceCellHeight:this._tmpCanvas.height,a=s?this._config.deviceCellWidth:i;let h=!1;for(let i=0;i=o;i--){for(let s=0;s=0;i--){for(let s=0;s>>24,o=t.rgba>>>16&255,n=t.rgba>>>8&255,a=i.rgba>>>24,h=i.rgba>>>16&255,l=i.rgba>>>8&255,c=Math.floor((Math.abs(r-a)+Math.abs(o-h)+Math.abs(n-l))/12);let d=!0;for(let t=0;t{Object.defineProperty(t,\"__esModule\",{value:!0}),t.contrastRatio=t.toPaddedHex=t.rgba=t.rgb=t.css=t.color=t.channels=t.NULL_COLOR=void 0;const s=i(399);let r=0,o=0,n=0,a=0;var h,l,c;function d(e){const t=e.toString(16);return t.length<2?\"0\"+t:t}function _(e,t){return e>>0}}(h=t.channels||(t.channels={})),function(e){function t(e,t){return a=Math.round(255*t),[r,o,n]=c.toChannels(e.rgba),{css:h.toCss(r,o,n,a),rgba:h.toRgba(r,o,n,a)}}e.blend=function(e,t){if(a=(255&t.rgba)/255,1===a)return{css:t.css,rgba:t.rgba};const i=t.rgba>>24&255,s=t.rgba>>16&255,l=t.rgba>>8&255,c=e.rgba>>24&255,d=e.rgba>>16&255,_=e.rgba>>8&255;return r=c+Math.round((i-c)*a),o=d+Math.round((s-d)*a),n=_+Math.round((l-_)*a),{css:h.toCss(r,o,n),rgba:h.toRgba(r,o,n)}},e.isOpaque=function(e){return 255==(255&e.rgba)},e.ensureContrastRatio=function(e,t,i){const s=c.ensureContrastRatio(e.rgba,t.rgba,i);if(s)return c.toColor(s>>24&255,s>>16&255,s>>8&255)},e.opaque=function(e){const t=(255|e.rgba)>>>0;return[r,o,n]=c.toChannels(t),{css:h.toCss(r,o,n),rgba:t}},e.opacity=t,e.multiplyOpacity=function(e,i){return a=255&e.rgba,t(e,a*i/255)},e.toColorRGB=function(e){return[e.rgba>>24&255,e.rgba>>16&255,e.rgba>>8&255]}}(t.color||(t.color={})),function(e){let t,i;if(!s.isNode){const e=document.createElement(\"canvas\");e.width=1,e.height=1;const s=e.getContext(\"2d\",{willReadFrequently:!0});s&&(t=s,t.globalCompositeOperation=\"copy\",i=t.createLinearGradient(0,0,1,1))}e.toColor=function(e){if(e.match(/#[\\da-f]{3,8}/i))switch(e.length){case 4:return r=parseInt(e.slice(1,2).repeat(2),16),o=parseInt(e.slice(2,3).repeat(2),16),n=parseInt(e.slice(3,4).repeat(2),16),c.toColor(r,o,n);case 5:return r=parseInt(e.slice(1,2).repeat(2),16),o=parseInt(e.slice(2,3).repeat(2),16),n=parseInt(e.slice(3,4).repeat(2),16),a=parseInt(e.slice(4,5).repeat(2),16),c.toColor(r,o,n,a);case 7:return{css:e,rgba:(parseInt(e.slice(1),16)<<8|255)>>>0};case 9:return{css:e,rgba:parseInt(e.slice(1),16)>>>0}}const s=e.match(/rgba?\\(\\s*(\\d{1,3})\\s*,\\s*(\\d{1,3})\\s*,\\s*(\\d{1,3})\\s*(,\\s*(0|1|\\d?\\.(\\d+))\\s*)?\\)/);if(s)return r=parseInt(s[1]),o=parseInt(s[2]),n=parseInt(s[3]),a=Math.round(255*(void 0===s[5]?1:parseFloat(s[5]))),c.toColor(r,o,n,a);if(!t||!i)throw new Error(\"css.toColor: Unsupported css format\");if(t.fillStyle=i,t.fillStyle=e,\"string\"!=typeof t.fillStyle)throw new Error(\"css.toColor: Unsupported css format\");if(t.fillRect(0,0,1,1),[r,o,n,a]=t.getImageData(0,0,1,1).data,255!==a)throw new Error(\"css.toColor: Unsupported css format\");return{rgba:h.toRgba(r,o,n,a),css:e}}}(t.css||(t.css={})),function(e){function t(e,t,i){const s=e/255,r=t/255,o=i/255;return.2126*(s<=.03928?s/12.92:Math.pow((s+.055)/1.055,2.4))+.7152*(r<=.03928?r/12.92:Math.pow((r+.055)/1.055,2.4))+.0722*(o<=.03928?o/12.92:Math.pow((o+.055)/1.055,2.4))}e.relativeLuminance=function(e){return t(e>>16&255,e>>8&255,255&e)},e.relativeLuminance2=t}(l=t.rgb||(t.rgb={})),function(e){function t(e,t,i){const s=e>>24&255,r=e>>16&255,o=e>>8&255;let n=t>>24&255,a=t>>16&255,h=t>>8&255,c=_(l.relativeLuminance2(n,a,h),l.relativeLuminance2(s,r,o));for(;c0||a>0||h>0);)n-=Math.max(0,Math.ceil(.1*n)),a-=Math.max(0,Math.ceil(.1*a)),h-=Math.max(0,Math.ceil(.1*h)),c=_(l.relativeLuminance2(n,a,h),l.relativeLuminance2(s,r,o));return(n<<24|a<<16|h<<8|255)>>>0}function i(e,t,i){const s=e>>24&255,r=e>>16&255,o=e>>8&255;let n=t>>24&255,a=t>>16&255,h=t>>8&255,c=_(l.relativeLuminance2(n,a,h),l.relativeLuminance2(s,r,o));for(;c>>0}e.ensureContrastRatio=function(e,s,r){const o=l.relativeLuminance(e>>8),n=l.relativeLuminance(s>>8);if(_(o,n)>8));if(a_(o,l.relativeLuminance(t>>8))?n:t}return n}const a=i(e,s,r),h=_(o,l.relativeLuminance(a>>8));if(h_(o,l.relativeLuminance(i>>8))?a:i}return a}},e.reduceLuminance=t,e.increaseLuminance=i,e.toChannels=function(e){return[e>>24&255,e>>16&255,e>>8&255,255&e]},e.toColor=function(e,t,i,s){return{css:h.toCss(e,t,i,s),rgba:h.toRgba(e,t,i,s)}}}(c=t.rgba||(t.rgba={})),t.toPaddedHex=d,t.contrastRatio=_},345:(e,t)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.forwardEvent=t.EventEmitter=void 0,t.EventEmitter=class{constructor(){this._listeners=[],this._disposed=!1}get event(){return this._event||(this._event=e=>(this._listeners.push(e),{dispose:()=>{if(!this._disposed)for(let t=0;tt.fire(e)))}},859:(e,t)=>{function i(e){for(const t of e)t.dispose();e.length=0}Object.defineProperty(t,\"__esModule\",{value:!0}),t.getDisposeArrayDisposable=t.disposeArray=t.toDisposable=t.Disposable=void 0,t.Disposable=class{constructor(){this._disposables=[],this._isDisposed=!1}dispose(){this._isDisposed=!0;for(const e of this._disposables)e.dispose();this._disposables.length=0}register(e){return this._disposables.push(e),e}unregister(e){const t=this._disposables.indexOf(e);-1!==t&&this._disposables.splice(t,1)}},t.toDisposable=function(e){return{dispose:e}},t.disposeArray=i,t.getDisposeArrayDisposable=function(e){return{dispose:()=>i(e)}}},485:(e,t)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.FourKeyMap=t.TwoKeyMap=void 0;class i{constructor(){this._data={}}set(e,t,i){this._data[e]||(this._data[e]={}),this._data[e][t]=i}get(e,t){return this._data[e]?this._data[e][t]:void 0}clear(){this._data={}}}t.TwoKeyMap=i,t.FourKeyMap=class{constructor(){this._data=new i}set(e,t,s,r,o){this._data.get(e,t)||this._data.set(e,t,new i),this._data.get(e,t).set(s,r,o)}get(e,t,i,s){var r;return null===(r=this._data.get(e,t))||void 0===r?void 0:r.get(i,s)}clear(){this._data.clear()}}},399:(e,t)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.isChromeOS=t.isLinux=t.isWindows=t.isIphone=t.isIpad=t.isMac=t.getSafariVersion=t.isSafari=t.isLegacyEdge=t.isFirefox=t.isNode=void 0,t.isNode=\"undefined\"==typeof navigator;const i=t.isNode?\"node\":navigator.userAgent,s=t.isNode?\"node\":navigator.platform;t.isFirefox=i.includes(\"Firefox\"),t.isLegacyEdge=i.includes(\"Edge\"),t.isSafari=/^((?!chrome|android).)*safari/i.test(i),t.getSafariVersion=function(){if(!t.isSafari)return 0;const e=i.match(/Version\\/(\\d+)/);return null===e||e.length<2?0:parseInt(e[1])},t.isMac=[\"Macintosh\",\"MacIntel\",\"MacPPC\",\"Mac68K\"].includes(s),t.isIpad=\"iPad\"===s,t.isIphone=\"iPhone\"===s,t.isWindows=[\"Windows\",\"Win16\",\"Win32\",\"WinCE\"].includes(s),t.isLinux=s.indexOf(\"Linux\")>=0,t.isChromeOS=/\\bCrOS\\b/.test(i)},385:(e,t,i)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.DebouncedIdleTask=t.IdleTaskQueue=t.PriorityTaskQueue=void 0;const s=i(399);class r{constructor(){this._tasks=[],this._i=0}enqueue(e){this._tasks.push(e),this._start()}flush(){for(;this._ir)return s-t<-20&&console.warn(`task queue exceeded allotted deadline by ${Math.abs(Math.round(s-t))}ms`),void this._start();s=r}this.clear()}}class o extends r{_requestCallback(e){return setTimeout((()=>e(this._createDeadline(16))))}_cancelCallback(e){clearTimeout(e)}_createDeadline(e){const t=Date.now()+e;return{timeRemaining:()=>Math.max(0,t-Date.now())}}}t.PriorityTaskQueue=o,t.IdleTaskQueue=!s.isNode&&\"requestIdleCallback\"in window?class extends r{_requestCallback(e){return requestIdleCallback(e)}_cancelCallback(e){cancelIdleCallback(e)}}:o,t.DebouncedIdleTask=class{constructor(){this._queue=new t.IdleTaskQueue}set(e){this._queue.clear(),this._queue.enqueue(e)}flush(){this._queue.flush()}}},147:(e,t)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.ExtendedAttrs=t.AttributeData=void 0;class i{constructor(){this.fg=0,this.bg=0,this.extended=new s}static toColorRGB(e){return[e>>>16&255,e>>>8&255,255&e]}static fromColorRGB(e){return(255&e[0])<<16|(255&e[1])<<8|255&e[2]}clone(){const e=new i;return e.fg=this.fg,e.bg=this.bg,e.extended=this.extended.clone(),e}isInverse(){return 67108864&this.fg}isBold(){return 134217728&this.fg}isUnderline(){return this.hasExtendedAttrs()&&0!==this.extended.underlineStyle?1:268435456&this.fg}isBlink(){return 536870912&this.fg}isInvisible(){return 1073741824&this.fg}isItalic(){return 67108864&this.bg}isDim(){return 134217728&this.bg}isStrikethrough(){return 2147483648&this.fg}isProtected(){return 536870912&this.bg}isOverline(){return 1073741824&this.bg}getFgColorMode(){return 50331648&this.fg}getBgColorMode(){return 50331648&this.bg}isFgRGB(){return 50331648==(50331648&this.fg)}isBgRGB(){return 50331648==(50331648&this.bg)}isFgPalette(){return 16777216==(50331648&this.fg)||33554432==(50331648&this.fg)}isBgPalette(){return 16777216==(50331648&this.bg)||33554432==(50331648&this.bg)}isFgDefault(){return 0==(50331648&this.fg)}isBgDefault(){return 0==(50331648&this.bg)}isAttributeDefault(){return 0===this.fg&&0===this.bg}getFgColor(){switch(50331648&this.fg){case 16777216:case 33554432:return 255&this.fg;case 50331648:return 16777215&this.fg;default:return-1}}getBgColor(){switch(50331648&this.bg){case 16777216:case 33554432:return 255&this.bg;case 50331648:return 16777215&this.bg;default:return-1}}hasExtendedAttrs(){return 268435456&this.bg}updateExtended(){this.extended.isEmpty()?this.bg&=-268435457:this.bg|=268435456}getUnderlineColor(){if(268435456&this.bg&&~this.extended.underlineColor)switch(50331648&this.extended.underlineColor){case 16777216:case 33554432:return 255&this.extended.underlineColor;case 50331648:return 16777215&this.extended.underlineColor;default:return this.getFgColor()}return this.getFgColor()}getUnderlineColorMode(){return 268435456&this.bg&&~this.extended.underlineColor?50331648&this.extended.underlineColor:this.getFgColorMode()}isUnderlineColorRGB(){return 268435456&this.bg&&~this.extended.underlineColor?50331648==(50331648&this.extended.underlineColor):this.isFgRGB()}isUnderlineColorPalette(){return 268435456&this.bg&&~this.extended.underlineColor?16777216==(50331648&this.extended.underlineColor)||33554432==(50331648&this.extended.underlineColor):this.isFgPalette()}isUnderlineColorDefault(){return 268435456&this.bg&&~this.extended.underlineColor?0==(50331648&this.extended.underlineColor):this.isFgDefault()}getUnderlineStyle(){return 268435456&this.fg?268435456&this.bg?this.extended.underlineStyle:1:0}}t.AttributeData=i;class s{constructor(e=0,t=0){this._ext=0,this._urlId=0,this._ext=e,this._urlId=t}get ext(){return this._urlId?-469762049&this._ext|this.underlineStyle<<26:this._ext}set ext(e){this._ext=e}get underlineStyle(){return this._urlId?5:(469762048&this._ext)>>26}set underlineStyle(e){this._ext&=-469762049,this._ext|=e<<26&469762048}get underlineColor(){return 67108863&this._ext}set underlineColor(e){this._ext&=-67108864,this._ext|=67108863&e}get urlId(){return this._urlId}set urlId(e){this._urlId=e}clone(){return new s(this._ext,this._urlId)}isEmpty(){return 0===this.underlineStyle&&0===this._urlId}}t.ExtendedAttrs=s},782:(e,t,i)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.CellData=void 0;const s=i(133),r=i(855),o=i(147);class n extends o.AttributeData{constructor(){super(...arguments),this.content=0,this.fg=0,this.bg=0,this.extended=new o.ExtendedAttrs,this.combinedData=\"\"}static fromCharData(e){const t=new n;return t.setFromCharData(e),t}isCombined(){return 2097152&this.content}getWidth(){return this.content>>22}getChars(){return 2097152&this.content?this.combinedData:2097151&this.content?(0,s.stringFromCodePoint)(2097151&this.content):\"\"}getCode(){return this.isCombined()?this.combinedData.charCodeAt(this.combinedData.length-1):2097151&this.content}setFromCharData(e){this.fg=e[r.CHAR_DATA_ATTR_INDEX],this.bg=0;let t=!1;if(e[r.CHAR_DATA_CHAR_INDEX].length>2)t=!0;else if(2===e[r.CHAR_DATA_CHAR_INDEX].length){const i=e[r.CHAR_DATA_CHAR_INDEX].charCodeAt(0);if(55296<=i&&i<=56319){const s=e[r.CHAR_DATA_CHAR_INDEX].charCodeAt(1);56320<=s&&s<=57343?this.content=1024*(i-55296)+s-56320+65536|e[r.CHAR_DATA_WIDTH_INDEX]<<22:t=!0}else t=!0}else this.content=e[r.CHAR_DATA_CHAR_INDEX].charCodeAt(0)|e[r.CHAR_DATA_WIDTH_INDEX]<<22;t&&(this.combinedData=e[r.CHAR_DATA_CHAR_INDEX],this.content=2097152|e[r.CHAR_DATA_WIDTH_INDEX]<<22)}getAsCharData(){return[this.fg,this.getChars(),this.getWidth(),this.getCode()]}}t.CellData=n},855:(e,t)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.WHITESPACE_CELL_CODE=t.WHITESPACE_CELL_WIDTH=t.WHITESPACE_CELL_CHAR=t.NULL_CELL_CODE=t.NULL_CELL_WIDTH=t.NULL_CELL_CHAR=t.CHAR_DATA_CODE_INDEX=t.CHAR_DATA_WIDTH_INDEX=t.CHAR_DATA_CHAR_INDEX=t.CHAR_DATA_ATTR_INDEX=t.DEFAULT_EXT=t.DEFAULT_ATTR=t.DEFAULT_COLOR=void 0,t.DEFAULT_COLOR=0,t.DEFAULT_ATTR=256|t.DEFAULT_COLOR<<9,t.DEFAULT_EXT=0,t.CHAR_DATA_ATTR_INDEX=0,t.CHAR_DATA_CHAR_INDEX=1,t.CHAR_DATA_WIDTH_INDEX=2,t.CHAR_DATA_CODE_INDEX=3,t.NULL_CELL_CHAR=\"\",t.NULL_CELL_WIDTH=1,t.NULL_CELL_CODE=0,t.WHITESPACE_CELL_CHAR=\" \",t.WHITESPACE_CELL_WIDTH=1,t.WHITESPACE_CELL_CODE=32},133:(e,t)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.Utf8ToUtf32=t.StringToUtf32=t.utf32ToString=t.stringFromCodePoint=void 0,t.stringFromCodePoint=function(e){return e>65535?(e-=65536,String.fromCharCode(55296+(e>>10))+String.fromCharCode(e%1024+56320)):String.fromCharCode(e)},t.utf32ToString=function(e,t=0,i=e.length){let s=\"\";for(let r=t;r65535?(t-=65536,s+=String.fromCharCode(55296+(t>>10))+String.fromCharCode(t%1024+56320)):s+=String.fromCharCode(t)}return s},t.StringToUtf32=class{constructor(){this._interim=0}clear(){this._interim=0}decode(e,t){const i=e.length;if(!i)return 0;let s=0,r=0;if(this._interim){const i=e.charCodeAt(r++);56320<=i&&i<=57343?t[s++]=1024*(this._interim-55296)+i-56320+65536:(t[s++]=this._interim,t[s++]=i),this._interim=0}for(let o=r;o=i)return this._interim=r,s;const n=e.charCodeAt(o);56320<=n&&n<=57343?t[s++]=1024*(r-55296)+n-56320+65536:(t[s++]=r,t[s++]=n)}else 65279!==r&&(t[s++]=r)}return s}},t.Utf8ToUtf32=class{constructor(){this.interim=new Uint8Array(3)}clear(){this.interim.fill(0)}decode(e,t){const i=e.length;if(!i)return 0;let s,r,o,n,a=0,h=0,l=0;if(this.interim[0]){let s=!1,r=this.interim[0];r&=192==(224&r)?31:224==(240&r)?15:7;let o,n=0;for(;(o=63&this.interim[++n])&&n<4;)r<<=6,r|=o;const h=192==(224&this.interim[0])?2:224==(240&this.interim[0])?3:4,c=h-n;for(;l=i)return 0;if(o=e[l++],128!=(192&o)){l--,s=!0;break}this.interim[n++]=o,r<<=6,r|=63&o}s||(2===h?r<128?l--:t[a++]=r:3===h?r<2048||r>=55296&&r<=57343||65279===r||(t[a++]=r):r<65536||r>1114111||(t[a++]=r)),this.interim.fill(0)}const c=i-4;let d=l;for(;d=i)return this.interim[0]=s,a;if(r=e[d++],128!=(192&r)){d--;continue}if(h=(31&s)<<6|63&r,h<128){d--;continue}t[a++]=h}else if(224==(240&s)){if(d>=i)return this.interim[0]=s,a;if(r=e[d++],128!=(192&r)){d--;continue}if(d>=i)return this.interim[0]=s,this.interim[1]=r,a;if(o=e[d++],128!=(192&o)){d--;continue}if(h=(15&s)<<12|(63&r)<<6|63&o,h<2048||h>=55296&&h<=57343||65279===h)continue;t[a++]=h}else if(240==(248&s)){if(d>=i)return this.interim[0]=s,a;if(r=e[d++],128!=(192&r)){d--;continue}if(d>=i)return this.interim[0]=s,this.interim[1]=r,a;if(o=e[d++],128!=(192&o)){d--;continue}if(d>=i)return this.interim[0]=s,this.interim[1]=r,this.interim[2]=o,a;if(n=e[d++],128!=(192&n)){d--;continue}if(h=(7&s)<<18|(63&r)<<12|(63&o)<<6|63&n,h<65536||h>1114111)continue;t[a++]=h}}return a}}}},t={};function i(s){var r=t[s];if(void 0!==r)return r.exports;var o=t[s]={exports:{}};return e[s](o,o.exports,i),o.exports}var s={};return(()=>{var e=s;Object.defineProperty(e,\"__esModule\",{value:!0}),e.WebglAddon=void 0;const t=i(345),r=i(859),o=i(399),n=i(666);class a extends r.Disposable{constructor(e){if(o.isSafari&&(0,o.getSafariVersion)()<16)throw new Error(\"Webgl2 is only supported on Safari 16 and above\");super(),this._preserveDrawingBuffer=e,this._onChangeTextureAtlas=this.register(new t.EventEmitter),this.onChangeTextureAtlas=this._onChangeTextureAtlas.event,this._onAddTextureAtlasCanvas=this.register(new t.EventEmitter),this.onAddTextureAtlasCanvas=this._onAddTextureAtlasCanvas.event,this._onRemoveTextureAtlasCanvas=this.register(new t.EventEmitter),this.onRemoveTextureAtlasCanvas=this._onRemoveTextureAtlasCanvas.event,this._onContextLoss=this.register(new t.EventEmitter),this.onContextLoss=this._onContextLoss.event}activate(e){const i=e._core;if(!e.element)return void this.register(i.onWillOpen((()=>this.activate(e))));this._terminal=e;const s=i.coreService,o=i.optionsService,a=i,h=a._renderService,l=a._characterJoinerService,c=a._charSizeService,d=a._coreBrowserService,_=a._decorationService,u=a._themeService;this._renderer=this.register(new n.WebglRenderer(e,l,c,d,s,_,o,u,this._preserveDrawingBuffer)),this.register((0,t.forwardEvent)(this._renderer.onContextLoss,this._onContextLoss)),this.register((0,t.forwardEvent)(this._renderer.onChangeTextureAtlas,this._onChangeTextureAtlas)),this.register((0,t.forwardEvent)(this._renderer.onAddTextureAtlasCanvas,this._onAddTextureAtlasCanvas)),this.register((0,t.forwardEvent)(this._renderer.onRemoveTextureAtlasCanvas,this._onRemoveTextureAtlasCanvas)),h.setRenderer(this._renderer),this.register((0,r.toDisposable)((()=>{const t=this._terminal._core._renderService;t.setRenderer(this._terminal._core._createRenderer()),t.handleResize(e.cols,e.rows)})))}get textureAtlas(){var e;return null===(e=this._renderer)||void 0===e?void 0:e.textureAtlas}clearTextureAtlas(){var e;null===(e=this._renderer)||void 0===e||e.clearTextureAtlas()}}e.WebglAddon=a})(),s})()));\n//# sourceMappingURL=xterm-addon-webgl.js.map\n\n//# sourceURL=webpack://textual/./node_modules/xterm-addon-webgl/lib/xterm-addon-webgl.js?"); + +/***/ }), + +/***/ "./node_modules/xterm/lib/xterm.js": +/*!*****************************************!*\ + !*** ./node_modules/xterm/lib/xterm.js ***! + \*****************************************/ +/***/ ((module) => { + +eval("!function(e,t){if(true)module.exports=t();else { var s, i; }}(self,(()=>(()=>{\"use strict\";var e={4567:function(e,t,i){var s=this&&this.__decorate||function(e,t,i,s){var r,n=arguments.length,o=n<3?t:null===s?s=Object.getOwnPropertyDescriptor(t,i):s;if(\"object\"==typeof Reflect&&\"function\"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,s);else for(var a=e.length-1;a>=0;a--)(r=e[a])&&(o=(n<3?r(o):n>3?r(t,i,o):r(t,i))||o);return n>3&&o&&Object.defineProperty(t,i,o),o},r=this&&this.__param||function(e,t){return function(i,s){t(i,s,e)}};Object.defineProperty(t,\"__esModule\",{value:!0}),t.AccessibilityManager=void 0;const n=i(9042),o=i(6114),a=i(9924),h=i(844),c=i(5596),l=i(4725),d=i(3656);let _=t.AccessibilityManager=class extends h.Disposable{constructor(e,t){super(),this._terminal=e,this._renderService=t,this._liveRegionLineCount=0,this._charsToConsume=[],this._charsToAnnounce=\"\",this._accessibilityContainer=document.createElement(\"div\"),this._accessibilityContainer.classList.add(\"xterm-accessibility\"),this._rowContainer=document.createElement(\"div\"),this._rowContainer.setAttribute(\"role\",\"list\"),this._rowContainer.classList.add(\"xterm-accessibility-tree\"),this._rowElements=[];for(let e=0;ethis._handleBoundaryFocus(e,0),this._bottomBoundaryFocusListener=e=>this._handleBoundaryFocus(e,1),this._rowElements[0].addEventListener(\"focus\",this._topBoundaryFocusListener),this._rowElements[this._rowElements.length-1].addEventListener(\"focus\",this._bottomBoundaryFocusListener),this._refreshRowsDimensions(),this._accessibilityContainer.appendChild(this._rowContainer),this._liveRegion=document.createElement(\"div\"),this._liveRegion.classList.add(\"live-region\"),this._liveRegion.setAttribute(\"aria-live\",\"assertive\"),this._accessibilityContainer.appendChild(this._liveRegion),this._liveRegionDebouncer=this.register(new a.TimeBasedDebouncer(this._renderRows.bind(this))),!this._terminal.element)throw new Error(\"Cannot enable accessibility before Terminal.open\");this._terminal.element.insertAdjacentElement(\"afterbegin\",this._accessibilityContainer),this.register(this._terminal.onResize((e=>this._handleResize(e.rows)))),this.register(this._terminal.onRender((e=>this._refreshRows(e.start,e.end)))),this.register(this._terminal.onScroll((()=>this._refreshRows()))),this.register(this._terminal.onA11yChar((e=>this._handleChar(e)))),this.register(this._terminal.onLineFeed((()=>this._handleChar(\"\\n\")))),this.register(this._terminal.onA11yTab((e=>this._handleTab(e)))),this.register(this._terminal.onKey((e=>this._handleKey(e.key)))),this.register(this._terminal.onBlur((()=>this._clearLiveRegion()))),this.register(this._renderService.onDimensionsChange((()=>this._refreshRowsDimensions()))),this._screenDprMonitor=new c.ScreenDprMonitor(window),this.register(this._screenDprMonitor),this._screenDprMonitor.setListener((()=>this._refreshRowsDimensions())),this.register((0,d.addDisposableDomListener)(window,\"resize\",(()=>this._refreshRowsDimensions()))),this._refreshRows(),this.register((0,h.toDisposable)((()=>{this._accessibilityContainer.remove(),this._rowElements.length=0})))}_handleTab(e){for(let t=0;t0?this._charsToConsume.shift()!==e&&(this._charsToAnnounce+=e):this._charsToAnnounce+=e,\"\\n\"===e&&(this._liveRegionLineCount++,21===this._liveRegionLineCount&&(this._liveRegion.textContent+=n.tooMuchOutput)),o.isMac&&this._liveRegion.textContent&&this._liveRegion.textContent.length>0&&!this._liveRegion.parentNode&&setTimeout((()=>{this._accessibilityContainer.appendChild(this._liveRegion)}),0))}_clearLiveRegion(){this._liveRegion.textContent=\"\",this._liveRegionLineCount=0,o.isMac&&this._liveRegion.remove()}_handleKey(e){this._clearLiveRegion(),/\\p{Control}/u.test(e)||this._charsToConsume.push(e)}_refreshRows(e,t){this._liveRegionDebouncer.refresh(e,t,this._terminal.rows)}_renderRows(e,t){const i=this._terminal.buffer,s=i.lines.length.toString();for(let r=e;r<=t;r++){const e=i.translateBufferLineToString(i.ydisp+r,!0),t=(i.ydisp+r+1).toString(),n=this._rowElements[r];n&&(0===e.length?n.innerText=\" \":n.textContent=e,n.setAttribute(\"aria-posinset\",t),n.setAttribute(\"aria-setsize\",s))}this._announceCharacters()}_announceCharacters(){0!==this._charsToAnnounce.length&&(this._liveRegion.textContent+=this._charsToAnnounce,this._charsToAnnounce=\"\")}_handleBoundaryFocus(e,t){const i=e.target,s=this._rowElements[0===t?1:this._rowElements.length-2];if(i.getAttribute(\"aria-posinset\")===(0===t?\"1\":`${this._terminal.buffer.lines.length}`))return;if(e.relatedTarget!==s)return;let r,n;if(0===t?(r=i,n=this._rowElements.pop(),this._rowContainer.removeChild(n)):(r=this._rowElements.shift(),n=i,this._rowContainer.removeChild(r)),r.removeEventListener(\"focus\",this._topBoundaryFocusListener),n.removeEventListener(\"focus\",this._bottomBoundaryFocusListener),0===t){const e=this._createAccessibilityTreeNode();this._rowElements.unshift(e),this._rowContainer.insertAdjacentElement(\"afterbegin\",e)}else{const e=this._createAccessibilityTreeNode();this._rowElements.push(e),this._rowContainer.appendChild(e)}this._rowElements[0].addEventListener(\"focus\",this._topBoundaryFocusListener),this._rowElements[this._rowElements.length-1].addEventListener(\"focus\",this._bottomBoundaryFocusListener),this._terminal.scrollLines(0===t?-1:1),this._rowElements[0===t?1:this._rowElements.length-2].focus(),e.preventDefault(),e.stopImmediatePropagation()}_handleResize(e){this._rowElements[this._rowElements.length-1].removeEventListener(\"focus\",this._bottomBoundaryFocusListener);for(let e=this._rowContainer.children.length;ee;)this._rowContainer.removeChild(this._rowElements.pop());this._rowElements[this._rowElements.length-1].addEventListener(\"focus\",this._bottomBoundaryFocusListener),this._refreshRowsDimensions()}_createAccessibilityTreeNode(){const e=document.createElement(\"div\");return e.setAttribute(\"role\",\"listitem\"),e.tabIndex=-1,this._refreshRowDimensions(e),e}_refreshRowsDimensions(){if(this._renderService.dimensions.css.cell.height){this._accessibilityContainer.style.width=`${this._renderService.dimensions.css.canvas.width}px`,this._rowElements.length!==this._terminal.rows&&this._handleResize(this._terminal.rows);for(let e=0;e{function i(e){return e.replace(/\\r?\\n/g,\"\\r\")}function s(e,t){return t?\"\u001b[200~\"+e+\"\u001b[201~\":e}function r(e,t,r,n){e=s(e=i(e),r.decPrivateModes.bracketedPasteMode&&!0!==n.rawOptions.ignoreBracketedPasteMode),r.triggerDataEvent(e,!0),t.value=\"\"}function n(e,t,i){const s=i.getBoundingClientRect(),r=e.clientX-s.left-10,n=e.clientY-s.top-10;t.style.width=\"20px\",t.style.height=\"20px\",t.style.left=`${r}px`,t.style.top=`${n}px`,t.style.zIndex=\"1000\",t.focus()}Object.defineProperty(t,\"__esModule\",{value:!0}),t.rightClickHandler=t.moveTextAreaUnderMouseCursor=t.paste=t.handlePasteEvent=t.copyHandler=t.bracketTextForPaste=t.prepareTextForTerminal=void 0,t.prepareTextForTerminal=i,t.bracketTextForPaste=s,t.copyHandler=function(e,t){e.clipboardData&&e.clipboardData.setData(\"text/plain\",t.selectionText),e.preventDefault()},t.handlePasteEvent=function(e,t,i,s){e.stopPropagation(),e.clipboardData&&r(e.clipboardData.getData(\"text/plain\"),t,i,s)},t.paste=r,t.moveTextAreaUnderMouseCursor=n,t.rightClickHandler=function(e,t,i,s,r){n(e,t,i),r&&s.rightClickSelect(e),t.value=s.selectionText,t.select()}},7239:(e,t,i)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.ColorContrastCache=void 0;const s=i(1505);t.ColorContrastCache=class{constructor(){this._color=new s.TwoKeyMap,this._css=new s.TwoKeyMap}setCss(e,t,i){this._css.set(e,t,i)}getCss(e,t){return this._css.get(e,t)}setColor(e,t,i){this._color.set(e,t,i)}getColor(e,t){return this._color.get(e,t)}clear(){this._color.clear(),this._css.clear()}}},3656:(e,t)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.addDisposableDomListener=void 0,t.addDisposableDomListener=function(e,t,i,s){e.addEventListener(t,i,s);let r=!1;return{dispose:()=>{r||(r=!0,e.removeEventListener(t,i,s))}}}},6465:function(e,t,i){var s=this&&this.__decorate||function(e,t,i,s){var r,n=arguments.length,o=n<3?t:null===s?s=Object.getOwnPropertyDescriptor(t,i):s;if(\"object\"==typeof Reflect&&\"function\"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,s);else for(var a=e.length-1;a>=0;a--)(r=e[a])&&(o=(n<3?r(o):n>3?r(t,i,o):r(t,i))||o);return n>3&&o&&Object.defineProperty(t,i,o),o},r=this&&this.__param||function(e,t){return function(i,s){t(i,s,e)}};Object.defineProperty(t,\"__esModule\",{value:!0}),t.Linkifier2=void 0;const n=i(3656),o=i(8460),a=i(844),h=i(2585);let c=t.Linkifier2=class extends a.Disposable{get currentLink(){return this._currentLink}constructor(e){super(),this._bufferService=e,this._linkProviders=[],this._linkCacheDisposables=[],this._isMouseOut=!0,this._wasResized=!1,this._activeLine=-1,this._onShowLinkUnderline=this.register(new o.EventEmitter),this.onShowLinkUnderline=this._onShowLinkUnderline.event,this._onHideLinkUnderline=this.register(new o.EventEmitter),this.onHideLinkUnderline=this._onHideLinkUnderline.event,this.register((0,a.getDisposeArrayDisposable)(this._linkCacheDisposables)),this.register((0,a.toDisposable)((()=>{this._lastMouseEvent=void 0}))),this.register(this._bufferService.onResize((()=>{this._clearCurrentLink(),this._wasResized=!0})))}registerLinkProvider(e){return this._linkProviders.push(e),{dispose:()=>{const t=this._linkProviders.indexOf(e);-1!==t&&this._linkProviders.splice(t,1)}}}attachToDom(e,t,i){this._element=e,this._mouseService=t,this._renderService=i,this.register((0,n.addDisposableDomListener)(this._element,\"mouseleave\",(()=>{this._isMouseOut=!0,this._clearCurrentLink()}))),this.register((0,n.addDisposableDomListener)(this._element,\"mousemove\",this._handleMouseMove.bind(this))),this.register((0,n.addDisposableDomListener)(this._element,\"mousedown\",this._handleMouseDown.bind(this))),this.register((0,n.addDisposableDomListener)(this._element,\"mouseup\",this._handleMouseUp.bind(this)))}_handleMouseMove(e){if(this._lastMouseEvent=e,!this._element||!this._mouseService)return;const t=this._positionFromMouseEvent(e,this._element,this._mouseService);if(!t)return;this._isMouseOut=!1;const i=e.composedPath();for(let e=0;e{null==e||e.forEach((e=>{e.link.dispose&&e.link.dispose()}))})),this._activeProviderReplies=new Map,this._activeLine=e.y);let r=!1;for(const[i,n]of this._linkProviders.entries())t?(null===(s=this._activeProviderReplies)||void 0===s?void 0:s.get(i))&&(r=this._checkLinkProviderResult(i,e,r)):n.provideLinks(e.y,(t=>{var s,n;if(this._isMouseOut)return;const o=null==t?void 0:t.map((e=>({link:e})));null===(s=this._activeProviderReplies)||void 0===s||s.set(i,o),r=this._checkLinkProviderResult(i,e,r),(null===(n=this._activeProviderReplies)||void 0===n?void 0:n.size)===this._linkProviders.length&&this._removeIntersectingLinks(e.y,this._activeProviderReplies)}))}_removeIntersectingLinks(e,t){const i=new Set;for(let s=0;se?this._bufferService.cols:s.link.range.end.x;for(let e=n;e<=o;e++){if(i.has(e)){r.splice(t--,1);break}i.add(e)}}}}_checkLinkProviderResult(e,t,i){var s;if(!this._activeProviderReplies)return i;const r=this._activeProviderReplies.get(e);let n=!1;for(let t=0;tthis._linkAtPosition(e.link,t)));e&&(i=!0,this._handleNewLink(e))}if(this._activeProviderReplies.size===this._linkProviders.length&&!i)for(let e=0;ethis._linkAtPosition(e.link,t)));if(r){i=!0,this._handleNewLink(r);break}}return i}_handleMouseDown(){this._mouseDownLink=this._currentLink}_handleMouseUp(e){if(!this._element||!this._mouseService||!this._currentLink)return;const t=this._positionFromMouseEvent(e,this._element,this._mouseService);t&&this._mouseDownLink===this._currentLink&&this._linkAtPosition(this._currentLink.link,t)&&this._currentLink.link.activate(e,this._currentLink.link.text)}_clearCurrentLink(e,t){this._element&&this._currentLink&&this._lastMouseEvent&&(!e||!t||this._currentLink.link.range.start.y>=e&&this._currentLink.link.range.end.y<=t)&&(this._linkLeave(this._element,this._currentLink.link,this._lastMouseEvent),this._currentLink=void 0,(0,a.disposeArray)(this._linkCacheDisposables))}_handleNewLink(e){if(!this._element||!this._lastMouseEvent||!this._mouseService)return;const t=this._positionFromMouseEvent(this._lastMouseEvent,this._element,this._mouseService);t&&this._linkAtPosition(e.link,t)&&(this._currentLink=e,this._currentLink.state={decorations:{underline:void 0===e.link.decorations||e.link.decorations.underline,pointerCursor:void 0===e.link.decorations||e.link.decorations.pointerCursor},isHovered:!0},this._linkHover(this._element,e.link,this._lastMouseEvent),e.link.decorations={},Object.defineProperties(e.link.decorations,{pointerCursor:{get:()=>{var e,t;return null===(t=null===(e=this._currentLink)||void 0===e?void 0:e.state)||void 0===t?void 0:t.decorations.pointerCursor},set:e=>{var t,i;(null===(t=this._currentLink)||void 0===t?void 0:t.state)&&this._currentLink.state.decorations.pointerCursor!==e&&(this._currentLink.state.decorations.pointerCursor=e,this._currentLink.state.isHovered&&(null===(i=this._element)||void 0===i||i.classList.toggle(\"xterm-cursor-pointer\",e)))}},underline:{get:()=>{var e,t;return null===(t=null===(e=this._currentLink)||void 0===e?void 0:e.state)||void 0===t?void 0:t.decorations.underline},set:t=>{var i,s,r;(null===(i=this._currentLink)||void 0===i?void 0:i.state)&&(null===(r=null===(s=this._currentLink)||void 0===s?void 0:s.state)||void 0===r?void 0:r.decorations.underline)!==t&&(this._currentLink.state.decorations.underline=t,this._currentLink.state.isHovered&&this._fireUnderlineEvent(e.link,t))}}}),this._renderService&&this._linkCacheDisposables.push(this._renderService.onRenderedViewportChange((e=>{if(!this._currentLink)return;const t=0===e.start?0:e.start+1+this._bufferService.buffer.ydisp,i=this._bufferService.buffer.ydisp+1+e.end;if(this._currentLink.link.range.start.y>=t&&this._currentLink.link.range.end.y<=i&&(this._clearCurrentLink(t,i),this._lastMouseEvent&&this._element)){const e=this._positionFromMouseEvent(this._lastMouseEvent,this._element,this._mouseService);e&&this._askForLink(e,!1)}}))))}_linkHover(e,t,i){var s;(null===(s=this._currentLink)||void 0===s?void 0:s.state)&&(this._currentLink.state.isHovered=!0,this._currentLink.state.decorations.underline&&this._fireUnderlineEvent(t,!0),this._currentLink.state.decorations.pointerCursor&&e.classList.add(\"xterm-cursor-pointer\")),t.hover&&t.hover(i,t.text)}_fireUnderlineEvent(e,t){const i=e.range,s=this._bufferService.buffer.ydisp,r=this._createLinkUnderlineEvent(i.start.x-1,i.start.y-s-1,i.end.x,i.end.y-s-1,void 0);(t?this._onShowLinkUnderline:this._onHideLinkUnderline).fire(r)}_linkLeave(e,t,i){var s;(null===(s=this._currentLink)||void 0===s?void 0:s.state)&&(this._currentLink.state.isHovered=!1,this._currentLink.state.decorations.underline&&this._fireUnderlineEvent(t,!1),this._currentLink.state.decorations.pointerCursor&&e.classList.remove(\"xterm-cursor-pointer\")),t.leave&&t.leave(i,t.text)}_linkAtPosition(e,t){const i=e.range.start.y*this._bufferService.cols+e.range.start.x,s=e.range.end.y*this._bufferService.cols+e.range.end.x,r=t.y*this._bufferService.cols+t.x;return i<=r&&r<=s}_positionFromMouseEvent(e,t,i){const s=i.getCoords(e,t,this._bufferService.cols,this._bufferService.rows);if(s)return{x:s[0],y:s[1]+this._bufferService.buffer.ydisp}}_createLinkUnderlineEvent(e,t,i,s,r){return{x1:e,y1:t,x2:i,y2:s,cols:this._bufferService.cols,fg:r}}};t.Linkifier2=c=s([r(0,h.IBufferService)],c)},9042:(e,t)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.tooMuchOutput=t.promptLabel=void 0,t.promptLabel=\"Terminal input\",t.tooMuchOutput=\"Too much output to announce, navigate to rows manually to read\"},3730:function(e,t,i){var s=this&&this.__decorate||function(e,t,i,s){var r,n=arguments.length,o=n<3?t:null===s?s=Object.getOwnPropertyDescriptor(t,i):s;if(\"object\"==typeof Reflect&&\"function\"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,s);else for(var a=e.length-1;a>=0;a--)(r=e[a])&&(o=(n<3?r(o):n>3?r(t,i,o):r(t,i))||o);return n>3&&o&&Object.defineProperty(t,i,o),o},r=this&&this.__param||function(e,t){return function(i,s){t(i,s,e)}};Object.defineProperty(t,\"__esModule\",{value:!0}),t.OscLinkProvider=void 0;const n=i(511),o=i(2585);let a=t.OscLinkProvider=class{constructor(e,t,i){this._bufferService=e,this._optionsService=t,this._oscLinkService=i}provideLinks(e,t){var i;const s=this._bufferService.buffer.lines.get(e-1);if(!s)return void t(void 0);const r=[],o=this._optionsService.rawOptions.linkHandler,a=new n.CellData,c=s.getTrimmedLength();let l=-1,d=-1,_=!1;for(let t=0;to?o.activate(e,t,i):h(0,t),hover:(e,t)=>{var s;return null===(s=null==o?void 0:o.hover)||void 0===s?void 0:s.call(o,e,t,i)},leave:(e,t)=>{var s;return null===(s=null==o?void 0:o.leave)||void 0===s?void 0:s.call(o,e,t,i)}})}_=!1,a.hasExtendedAttrs()&&a.extended.urlId?(d=t,l=a.extended.urlId):(d=-1,l=-1)}}t(r)}};function h(e,t){if(confirm(`Do you want to navigate to ${t}?\\n\\nWARNING: This link could potentially be dangerous`)){const e=window.open();if(e){try{e.opener=null}catch(e){}e.location.href=t}else console.warn(\"Opening link blocked as opener could not be cleared\")}}t.OscLinkProvider=a=s([r(0,o.IBufferService),r(1,o.IOptionsService),r(2,o.IOscLinkService)],a)},6193:(e,t)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.RenderDebouncer=void 0,t.RenderDebouncer=class{constructor(e,t){this._parentWindow=e,this._renderCallback=t,this._refreshCallbacks=[]}dispose(){this._animationFrame&&(this._parentWindow.cancelAnimationFrame(this._animationFrame),this._animationFrame=void 0)}addRefreshCallback(e){return this._refreshCallbacks.push(e),this._animationFrame||(this._animationFrame=this._parentWindow.requestAnimationFrame((()=>this._innerRefresh()))),this._animationFrame}refresh(e,t,i){this._rowCount=i,e=void 0!==e?e:0,t=void 0!==t?t:this._rowCount-1,this._rowStart=void 0!==this._rowStart?Math.min(this._rowStart,e):e,this._rowEnd=void 0!==this._rowEnd?Math.max(this._rowEnd,t):t,this._animationFrame||(this._animationFrame=this._parentWindow.requestAnimationFrame((()=>this._innerRefresh())))}_innerRefresh(){if(this._animationFrame=void 0,void 0===this._rowStart||void 0===this._rowEnd||void 0===this._rowCount)return void this._runRefreshCallbacks();const e=Math.max(this._rowStart,0),t=Math.min(this._rowEnd,this._rowCount-1);this._rowStart=void 0,this._rowEnd=void 0,this._renderCallback(e,t),this._runRefreshCallbacks()}_runRefreshCallbacks(){for(const e of this._refreshCallbacks)e(0);this._refreshCallbacks=[]}}},5596:(e,t,i)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.ScreenDprMonitor=void 0;const s=i(844);class r extends s.Disposable{constructor(e){super(),this._parentWindow=e,this._currentDevicePixelRatio=this._parentWindow.devicePixelRatio,this.register((0,s.toDisposable)((()=>{this.clearListener()})))}setListener(e){this._listener&&this.clearListener(),this._listener=e,this._outerListener=()=>{this._listener&&(this._listener(this._parentWindow.devicePixelRatio,this._currentDevicePixelRatio),this._updateDpr())},this._updateDpr()}_updateDpr(){var e;this._outerListener&&(null===(e=this._resolutionMediaMatchList)||void 0===e||e.removeListener(this._outerListener),this._currentDevicePixelRatio=this._parentWindow.devicePixelRatio,this._resolutionMediaMatchList=this._parentWindow.matchMedia(`screen and (resolution: ${this._parentWindow.devicePixelRatio}dppx)`),this._resolutionMediaMatchList.addListener(this._outerListener))}clearListener(){this._resolutionMediaMatchList&&this._listener&&this._outerListener&&(this._resolutionMediaMatchList.removeListener(this._outerListener),this._resolutionMediaMatchList=void 0,this._listener=void 0,this._outerListener=void 0)}}t.ScreenDprMonitor=r},3236:(e,t,i)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.Terminal=void 0;const s=i(3614),r=i(3656),n=i(6465),o=i(9042),a=i(3730),h=i(1680),c=i(3107),l=i(5744),d=i(2950),_=i(1296),u=i(428),f=i(4269),v=i(5114),p=i(8934),g=i(3230),m=i(9312),S=i(4725),C=i(6731),b=i(8055),y=i(8969),w=i(8460),E=i(844),k=i(6114),L=i(8437),D=i(2584),R=i(7399),x=i(5941),A=i(9074),B=i(2585),T=i(5435),M=i(4567),O=\"undefined\"!=typeof window?window.document:null;class P extends y.CoreTerminal{get onFocus(){return this._onFocus.event}get onBlur(){return this._onBlur.event}get onA11yChar(){return this._onA11yCharEmitter.event}get onA11yTab(){return this._onA11yTabEmitter.event}get onWillOpen(){return this._onWillOpen.event}constructor(e={}){super(e),this.browser=k,this._keyDownHandled=!1,this._keyDownSeen=!1,this._keyPressHandled=!1,this._unprocessedDeadKey=!1,this._accessibilityManager=this.register(new E.MutableDisposable),this._onCursorMove=this.register(new w.EventEmitter),this.onCursorMove=this._onCursorMove.event,this._onKey=this.register(new w.EventEmitter),this.onKey=this._onKey.event,this._onRender=this.register(new w.EventEmitter),this.onRender=this._onRender.event,this._onSelectionChange=this.register(new w.EventEmitter),this.onSelectionChange=this._onSelectionChange.event,this._onTitleChange=this.register(new w.EventEmitter),this.onTitleChange=this._onTitleChange.event,this._onBell=this.register(new w.EventEmitter),this.onBell=this._onBell.event,this._onFocus=this.register(new w.EventEmitter),this._onBlur=this.register(new w.EventEmitter),this._onA11yCharEmitter=this.register(new w.EventEmitter),this._onA11yTabEmitter=this.register(new w.EventEmitter),this._onWillOpen=this.register(new w.EventEmitter),this._setup(),this.linkifier2=this.register(this._instantiationService.createInstance(n.Linkifier2)),this.linkifier2.registerLinkProvider(this._instantiationService.createInstance(a.OscLinkProvider)),this._decorationService=this._instantiationService.createInstance(A.DecorationService),this._instantiationService.setService(B.IDecorationService,this._decorationService),this.register(this._inputHandler.onRequestBell((()=>this._onBell.fire()))),this.register(this._inputHandler.onRequestRefreshRows(((e,t)=>this.refresh(e,t)))),this.register(this._inputHandler.onRequestSendFocus((()=>this._reportFocus()))),this.register(this._inputHandler.onRequestReset((()=>this.reset()))),this.register(this._inputHandler.onRequestWindowsOptionsReport((e=>this._reportWindowsOptions(e)))),this.register(this._inputHandler.onColor((e=>this._handleColorEvent(e)))),this.register((0,w.forwardEvent)(this._inputHandler.onCursorMove,this._onCursorMove)),this.register((0,w.forwardEvent)(this._inputHandler.onTitleChange,this._onTitleChange)),this.register((0,w.forwardEvent)(this._inputHandler.onA11yChar,this._onA11yCharEmitter)),this.register((0,w.forwardEvent)(this._inputHandler.onA11yTab,this._onA11yTabEmitter)),this.register(this._bufferService.onResize((e=>this._afterResize(e.cols,e.rows)))),this.register((0,E.toDisposable)((()=>{var e,t;this._customKeyEventHandler=void 0,null===(t=null===(e=this.element)||void 0===e?void 0:e.parentNode)||void 0===t||t.removeChild(this.element)})))}_handleColorEvent(e){if(this._themeService)for(const t of e){let e,i=\"\";switch(t.index){case 256:e=\"foreground\",i=\"10\";break;case 257:e=\"background\",i=\"11\";break;case 258:e=\"cursor\",i=\"12\";break;default:e=\"ansi\",i=\"4;\"+t.index}switch(t.type){case 0:const s=b.color.toColorRGB(\"ansi\"===e?this._themeService.colors.ansi[t.index]:this._themeService.colors[e]);this.coreService.triggerDataEvent(`${D.C0.ESC}]${i};${(0,x.toRgbString)(s)}${D.C1_ESCAPED.ST}`);break;case 1:if(\"ansi\"===e)this._themeService.modifyColors((e=>e.ansi[t.index]=b.rgba.toColor(...t.color)));else{const i=e;this._themeService.modifyColors((e=>e[i]=b.rgba.toColor(...t.color)))}break;case 2:this._themeService.restoreColor(t.index)}}}_setup(){super._setup(),this._customKeyEventHandler=void 0}get buffer(){return this.buffers.active}focus(){this.textarea&&this.textarea.focus({preventScroll:!0})}_handleScreenReaderModeOptionChange(e){e?!this._accessibilityManager.value&&this._renderService&&(this._accessibilityManager.value=this._instantiationService.createInstance(M.AccessibilityManager,this)):this._accessibilityManager.clear()}_handleTextAreaFocus(e){this.coreService.decPrivateModes.sendFocus&&this.coreService.triggerDataEvent(D.C0.ESC+\"[I\"),this.updateCursorStyle(e),this.element.classList.add(\"focus\"),this._showCursor(),this._onFocus.fire()}blur(){var e;return null===(e=this.textarea)||void 0===e?void 0:e.blur()}_handleTextAreaBlur(){this.textarea.value=\"\",this.refresh(this.buffer.y,this.buffer.y),this.coreService.decPrivateModes.sendFocus&&this.coreService.triggerDataEvent(D.C0.ESC+\"[O\"),this.element.classList.remove(\"focus\"),this._onBlur.fire()}_syncTextArea(){if(!this.textarea||!this.buffer.isCursorInViewport||this._compositionHelper.isComposing||!this._renderService)return;const e=this.buffer.ybase+this.buffer.y,t=this.buffer.lines.get(e);if(!t)return;const i=Math.min(this.buffer.x,this.cols-1),s=this._renderService.dimensions.css.cell.height,r=t.getWidth(i),n=this._renderService.dimensions.css.cell.width*r,o=this.buffer.y*this._renderService.dimensions.css.cell.height,a=i*this._renderService.dimensions.css.cell.width;this.textarea.style.left=a+\"px\",this.textarea.style.top=o+\"px\",this.textarea.style.width=n+\"px\",this.textarea.style.height=s+\"px\",this.textarea.style.lineHeight=s+\"px\",this.textarea.style.zIndex=\"-5\"}_initGlobal(){this._bindKeys(),this.register((0,r.addDisposableDomListener)(this.element,\"copy\",(e=>{this.hasSelection()&&(0,s.copyHandler)(e,this._selectionService)})));const e=e=>(0,s.handlePasteEvent)(e,this.textarea,this.coreService,this.optionsService);this.register((0,r.addDisposableDomListener)(this.textarea,\"paste\",e)),this.register((0,r.addDisposableDomListener)(this.element,\"paste\",e)),k.isFirefox?this.register((0,r.addDisposableDomListener)(this.element,\"mousedown\",(e=>{2===e.button&&(0,s.rightClickHandler)(e,this.textarea,this.screenElement,this._selectionService,this.options.rightClickSelectsWord)}))):this.register((0,r.addDisposableDomListener)(this.element,\"contextmenu\",(e=>{(0,s.rightClickHandler)(e,this.textarea,this.screenElement,this._selectionService,this.options.rightClickSelectsWord)}))),k.isLinux&&this.register((0,r.addDisposableDomListener)(this.element,\"auxclick\",(e=>{1===e.button&&(0,s.moveTextAreaUnderMouseCursor)(e,this.textarea,this.screenElement)})))}_bindKeys(){this.register((0,r.addDisposableDomListener)(this.textarea,\"keyup\",(e=>this._keyUp(e)),!0)),this.register((0,r.addDisposableDomListener)(this.textarea,\"keydown\",(e=>this._keyDown(e)),!0)),this.register((0,r.addDisposableDomListener)(this.textarea,\"keypress\",(e=>this._keyPress(e)),!0)),this.register((0,r.addDisposableDomListener)(this.textarea,\"compositionstart\",(()=>this._compositionHelper.compositionstart()))),this.register((0,r.addDisposableDomListener)(this.textarea,\"compositionupdate\",(e=>this._compositionHelper.compositionupdate(e)))),this.register((0,r.addDisposableDomListener)(this.textarea,\"compositionend\",(()=>this._compositionHelper.compositionend()))),this.register((0,r.addDisposableDomListener)(this.textarea,\"input\",(e=>this._inputEvent(e)),!0)),this.register(this.onRender((()=>this._compositionHelper.updateCompositionElements())))}open(e){var t;if(!e)throw new Error(\"Terminal requires a parent element.\");e.isConnected||this._logService.debug(\"Terminal.open was called on an element that was not attached to the DOM\"),this._document=e.ownerDocument,this.element=this._document.createElement(\"div\"),this.element.dir=\"ltr\",this.element.classList.add(\"terminal\"),this.element.classList.add(\"xterm\"),e.appendChild(this.element);const i=O.createDocumentFragment();this._viewportElement=O.createElement(\"div\"),this._viewportElement.classList.add(\"xterm-viewport\"),i.appendChild(this._viewportElement),this._viewportScrollArea=O.createElement(\"div\"),this._viewportScrollArea.classList.add(\"xterm-scroll-area\"),this._viewportElement.appendChild(this._viewportScrollArea),this.screenElement=O.createElement(\"div\"),this.screenElement.classList.add(\"xterm-screen\"),this._helperContainer=O.createElement(\"div\"),this._helperContainer.classList.add(\"xterm-helpers\"),this.screenElement.appendChild(this._helperContainer),i.appendChild(this.screenElement),this.textarea=O.createElement(\"textarea\"),this.textarea.classList.add(\"xterm-helper-textarea\"),this.textarea.setAttribute(\"aria-label\",o.promptLabel),k.isChromeOS||this.textarea.setAttribute(\"aria-multiline\",\"false\"),this.textarea.setAttribute(\"autocorrect\",\"off\"),this.textarea.setAttribute(\"autocapitalize\",\"off\"),this.textarea.setAttribute(\"spellcheck\",\"false\"),this.textarea.tabIndex=0,this._coreBrowserService=this._instantiationService.createInstance(v.CoreBrowserService,this.textarea,null!==(t=this._document.defaultView)&&void 0!==t?t:window),this._instantiationService.setService(S.ICoreBrowserService,this._coreBrowserService),this.register((0,r.addDisposableDomListener)(this.textarea,\"focus\",(e=>this._handleTextAreaFocus(e)))),this.register((0,r.addDisposableDomListener)(this.textarea,\"blur\",(()=>this._handleTextAreaBlur()))),this._helperContainer.appendChild(this.textarea),this._charSizeService=this._instantiationService.createInstance(u.CharSizeService,this._document,this._helperContainer),this._instantiationService.setService(S.ICharSizeService,this._charSizeService),this._themeService=this._instantiationService.createInstance(C.ThemeService),this._instantiationService.setService(S.IThemeService,this._themeService),this._characterJoinerService=this._instantiationService.createInstance(f.CharacterJoinerService),this._instantiationService.setService(S.ICharacterJoinerService,this._characterJoinerService),this._renderService=this.register(this._instantiationService.createInstance(g.RenderService,this.rows,this.screenElement)),this._instantiationService.setService(S.IRenderService,this._renderService),this.register(this._renderService.onRenderedViewportChange((e=>this._onRender.fire(e)))),this.onResize((e=>this._renderService.resize(e.cols,e.rows))),this._compositionView=O.createElement(\"div\"),this._compositionView.classList.add(\"composition-view\"),this._compositionHelper=this._instantiationService.createInstance(d.CompositionHelper,this.textarea,this._compositionView),this._helperContainer.appendChild(this._compositionView),this.element.appendChild(i);try{this._onWillOpen.fire(this.element)}catch(e){}this._renderService.hasRenderer()||this._renderService.setRenderer(this._createRenderer()),this._mouseService=this._instantiationService.createInstance(p.MouseService),this._instantiationService.setService(S.IMouseService,this._mouseService),this.viewport=this._instantiationService.createInstance(h.Viewport,this._viewportElement,this._viewportScrollArea),this.viewport.onRequestScrollLines((e=>this.scrollLines(e.amount,e.suppressScrollEvent,1))),this.register(this._inputHandler.onRequestSyncScrollBar((()=>this.viewport.syncScrollArea()))),this.register(this.viewport),this.register(this.onCursorMove((()=>{this._renderService.handleCursorMove(),this._syncTextArea()}))),this.register(this.onResize((()=>this._renderService.handleResize(this.cols,this.rows)))),this.register(this.onBlur((()=>this._renderService.handleBlur()))),this.register(this.onFocus((()=>this._renderService.handleFocus()))),this.register(this._renderService.onDimensionsChange((()=>this.viewport.syncScrollArea()))),this._selectionService=this.register(this._instantiationService.createInstance(m.SelectionService,this.element,this.screenElement,this.linkifier2)),this._instantiationService.setService(S.ISelectionService,this._selectionService),this.register(this._selectionService.onRequestScrollLines((e=>this.scrollLines(e.amount,e.suppressScrollEvent)))),this.register(this._selectionService.onSelectionChange((()=>this._onSelectionChange.fire()))),this.register(this._selectionService.onRequestRedraw((e=>this._renderService.handleSelectionChanged(e.start,e.end,e.columnSelectMode)))),this.register(this._selectionService.onLinuxMouseSelection((e=>{this.textarea.value=e,this.textarea.focus(),this.textarea.select()}))),this.register(this._onScroll.event((e=>{this.viewport.syncScrollArea(),this._selectionService.refresh()}))),this.register((0,r.addDisposableDomListener)(this._viewportElement,\"scroll\",(()=>this._selectionService.refresh()))),this.linkifier2.attachToDom(this.screenElement,this._mouseService,this._renderService),this.register(this._instantiationService.createInstance(c.BufferDecorationRenderer,this.screenElement)),this.register((0,r.addDisposableDomListener)(this.element,\"mousedown\",(e=>this._selectionService.handleMouseDown(e)))),this.coreMouseService.areMouseEventsActive?(this._selectionService.disable(),this.element.classList.add(\"enable-mouse-events\")):this._selectionService.enable(),this.options.screenReaderMode&&(this._accessibilityManager.value=this._instantiationService.createInstance(M.AccessibilityManager,this)),this.register(this.optionsService.onSpecificOptionChange(\"screenReaderMode\",(e=>this._handleScreenReaderModeOptionChange(e)))),this.options.overviewRulerWidth&&(this._overviewRulerRenderer=this.register(this._instantiationService.createInstance(l.OverviewRulerRenderer,this._viewportElement,this.screenElement))),this.optionsService.onSpecificOptionChange(\"overviewRulerWidth\",(e=>{!this._overviewRulerRenderer&&e&&this._viewportElement&&this.screenElement&&(this._overviewRulerRenderer=this.register(this._instantiationService.createInstance(l.OverviewRulerRenderer,this._viewportElement,this.screenElement)))})),this._charSizeService.measure(),this.refresh(0,this.rows-1),this._initGlobal(),this.bindMouse()}_createRenderer(){return this._instantiationService.createInstance(_.DomRenderer,this.element,this.screenElement,this._viewportElement,this.linkifier2)}bindMouse(){const e=this,t=this.element;function i(t){const i=e._mouseService.getMouseReportCoords(t,e.screenElement);if(!i)return!1;let s,r;switch(t.overrideType||t.type){case\"mousemove\":r=32,void 0===t.buttons?(s=3,void 0!==t.button&&(s=t.button<3?t.button:3)):s=1&t.buttons?0:4&t.buttons?1:2&t.buttons?2:3;break;case\"mouseup\":r=0,s=t.button<3?t.button:3;break;case\"mousedown\":r=1,s=t.button<3?t.button:3;break;case\"wheel\":if(0===e.viewport.getLinesScrolled(t))return!1;r=t.deltaY<0?0:1,s=4;break;default:return!1}return!(void 0===r||void 0===s||s>4)&&e.coreMouseService.triggerMouseEvent({col:i.col,row:i.row,x:i.x,y:i.y,button:s,action:r,ctrl:t.ctrlKey,alt:t.altKey,shift:t.shiftKey})}const s={mouseup:null,wheel:null,mousedrag:null,mousemove:null},n={mouseup:e=>(i(e),e.buttons||(this._document.removeEventListener(\"mouseup\",s.mouseup),s.mousedrag&&this._document.removeEventListener(\"mousemove\",s.mousedrag)),this.cancel(e)),wheel:e=>(i(e),this.cancel(e,!0)),mousedrag:e=>{e.buttons&&i(e)},mousemove:e=>{e.buttons||i(e)}};this.register(this.coreMouseService.onProtocolChange((e=>{e?(\"debug\"===this.optionsService.rawOptions.logLevel&&this._logService.debug(\"Binding to mouse events:\",this.coreMouseService.explainEvents(e)),this.element.classList.add(\"enable-mouse-events\"),this._selectionService.disable()):(this._logService.debug(\"Unbinding from mouse events.\"),this.element.classList.remove(\"enable-mouse-events\"),this._selectionService.enable()),8&e?s.mousemove||(t.addEventListener(\"mousemove\",n.mousemove),s.mousemove=n.mousemove):(t.removeEventListener(\"mousemove\",s.mousemove),s.mousemove=null),16&e?s.wheel||(t.addEventListener(\"wheel\",n.wheel,{passive:!1}),s.wheel=n.wheel):(t.removeEventListener(\"wheel\",s.wheel),s.wheel=null),2&e?s.mouseup||(t.addEventListener(\"mouseup\",n.mouseup),s.mouseup=n.mouseup):(this._document.removeEventListener(\"mouseup\",s.mouseup),t.removeEventListener(\"mouseup\",s.mouseup),s.mouseup=null),4&e?s.mousedrag||(s.mousedrag=n.mousedrag):(this._document.removeEventListener(\"mousemove\",s.mousedrag),s.mousedrag=null)}))),this.coreMouseService.activeProtocol=this.coreMouseService.activeProtocol,this.register((0,r.addDisposableDomListener)(t,\"mousedown\",(e=>{if(e.preventDefault(),this.focus(),this.coreMouseService.areMouseEventsActive&&!this._selectionService.shouldForceSelection(e))return i(e),s.mouseup&&this._document.addEventListener(\"mouseup\",s.mouseup),s.mousedrag&&this._document.addEventListener(\"mousemove\",s.mousedrag),this.cancel(e)}))),this.register((0,r.addDisposableDomListener)(t,\"wheel\",(e=>{if(!s.wheel){if(!this.buffer.hasScrollback){const t=this.viewport.getLinesScrolled(e);if(0===t)return;const i=D.C0.ESC+(this.coreService.decPrivateModes.applicationCursorKeys?\"O\":\"[\")+(e.deltaY<0?\"A\":\"B\");let s=\"\";for(let e=0;e{if(!this.coreMouseService.areMouseEventsActive)return this.viewport.handleTouchStart(e),this.cancel(e)}),{passive:!0})),this.register((0,r.addDisposableDomListener)(t,\"touchmove\",(e=>{if(!this.coreMouseService.areMouseEventsActive)return this.viewport.handleTouchMove(e)?void 0:this.cancel(e)}),{passive:!1}))}refresh(e,t){var i;null===(i=this._renderService)||void 0===i||i.refreshRows(e,t)}updateCursorStyle(e){var t;(null===(t=this._selectionService)||void 0===t?void 0:t.shouldColumnSelect(e))?this.element.classList.add(\"column-select\"):this.element.classList.remove(\"column-select\")}_showCursor(){this.coreService.isCursorInitialized||(this.coreService.isCursorInitialized=!0,this.refresh(this.buffer.y,this.buffer.y))}scrollLines(e,t,i=0){var s;1===i?(super.scrollLines(e,t,i),this.refresh(0,this.rows-1)):null===(s=this.viewport)||void 0===s||s.scrollLines(e)}paste(e){(0,s.paste)(e,this.textarea,this.coreService,this.optionsService)}attachCustomKeyEventHandler(e){this._customKeyEventHandler=e}registerLinkProvider(e){return this.linkifier2.registerLinkProvider(e)}registerCharacterJoiner(e){if(!this._characterJoinerService)throw new Error(\"Terminal must be opened first\");const t=this._characterJoinerService.register(e);return this.refresh(0,this.rows-1),t}deregisterCharacterJoiner(e){if(!this._characterJoinerService)throw new Error(\"Terminal must be opened first\");this._characterJoinerService.deregister(e)&&this.refresh(0,this.rows-1)}get markers(){return this.buffer.markers}registerMarker(e){return this.buffer.addMarker(this.buffer.ybase+this.buffer.y+e)}registerDecoration(e){return this._decorationService.registerDecoration(e)}hasSelection(){return!!this._selectionService&&this._selectionService.hasSelection}select(e,t,i){this._selectionService.setSelection(e,t,i)}getSelection(){return this._selectionService?this._selectionService.selectionText:\"\"}getSelectionPosition(){if(this._selectionService&&this._selectionService.hasSelection)return{start:{x:this._selectionService.selectionStart[0],y:this._selectionService.selectionStart[1]},end:{x:this._selectionService.selectionEnd[0],y:this._selectionService.selectionEnd[1]}}}clearSelection(){var e;null===(e=this._selectionService)||void 0===e||e.clearSelection()}selectAll(){var e;null===(e=this._selectionService)||void 0===e||e.selectAll()}selectLines(e,t){var i;null===(i=this._selectionService)||void 0===i||i.selectLines(e,t)}_keyDown(e){if(this._keyDownHandled=!1,this._keyDownSeen=!0,this._customKeyEventHandler&&!1===this._customKeyEventHandler(e))return!1;const t=this.browser.isMac&&this.options.macOptionIsMeta&&e.altKey;if(!t&&!this._compositionHelper.keydown(e))return this.options.scrollOnUserInput&&this.buffer.ybase!==this.buffer.ydisp&&this.scrollToBottom(),!1;t||\"Dead\"!==e.key&&\"AltGraph\"!==e.key||(this._unprocessedDeadKey=!0);const i=(0,R.evaluateKeyboardEvent)(e,this.coreService.decPrivateModes.applicationCursorKeys,this.browser.isMac,this.options.macOptionIsMeta);if(this.updateCursorStyle(e),3===i.type||2===i.type){const t=this.rows-1;return this.scrollLines(2===i.type?-t:t),this.cancel(e,!0)}return 1===i.type&&this.selectAll(),!!this._isThirdLevelShift(this.browser,e)||(i.cancel&&this.cancel(e,!0),!i.key||!!(e.key&&!e.ctrlKey&&!e.altKey&&!e.metaKey&&1===e.key.length&&e.key.charCodeAt(0)>=65&&e.key.charCodeAt(0)<=90)||(this._unprocessedDeadKey?(this._unprocessedDeadKey=!1,!0):(i.key!==D.C0.ETX&&i.key!==D.C0.CR||(this.textarea.value=\"\"),this._onKey.fire({key:i.key,domEvent:e}),this._showCursor(),this.coreService.triggerDataEvent(i.key,!0),!this.optionsService.rawOptions.screenReaderMode||e.altKey||e.ctrlKey?this.cancel(e,!0):void(this._keyDownHandled=!0))))}_isThirdLevelShift(e,t){const i=e.isMac&&!this.options.macOptionIsMeta&&t.altKey&&!t.ctrlKey&&!t.metaKey||e.isWindows&&t.altKey&&t.ctrlKey&&!t.metaKey||e.isWindows&&t.getModifierState(\"AltGraph\");return\"keypress\"===t.type?i:i&&(!t.keyCode||t.keyCode>47)}_keyUp(e){this._keyDownSeen=!1,this._customKeyEventHandler&&!1===this._customKeyEventHandler(e)||(function(e){return 16===e.keyCode||17===e.keyCode||18===e.keyCode}(e)||this.focus(),this.updateCursorStyle(e),this._keyPressHandled=!1)}_keyPress(e){let t;if(this._keyPressHandled=!1,this._keyDownHandled)return!1;if(this._customKeyEventHandler&&!1===this._customKeyEventHandler(e))return!1;if(this.cancel(e),e.charCode)t=e.charCode;else if(null===e.which||void 0===e.which)t=e.keyCode;else{if(0===e.which||0===e.charCode)return!1;t=e.which}return!(!t||(e.altKey||e.ctrlKey||e.metaKey)&&!this._isThirdLevelShift(this.browser,e)||(t=String.fromCharCode(t),this._onKey.fire({key:t,domEvent:e}),this._showCursor(),this.coreService.triggerDataEvent(t,!0),this._keyPressHandled=!0,this._unprocessedDeadKey=!1,0))}_inputEvent(e){if(e.data&&\"insertText\"===e.inputType&&(!e.composed||!this._keyDownSeen)&&!this.optionsService.rawOptions.screenReaderMode){if(this._keyPressHandled)return!1;this._unprocessedDeadKey=!1;const t=e.data;return this.coreService.triggerDataEvent(t,!0),this.cancel(e),!0}return!1}resize(e,t){e!==this.cols||t!==this.rows?super.resize(e,t):this._charSizeService&&!this._charSizeService.hasValidSize&&this._charSizeService.measure()}_afterResize(e,t){var i,s;null===(i=this._charSizeService)||void 0===i||i.measure(),null===(s=this.viewport)||void 0===s||s.syncScrollArea(!0)}clear(){var e;if(0!==this.buffer.ybase||0!==this.buffer.y){this.buffer.clearAllMarkers(),this.buffer.lines.set(0,this.buffer.lines.get(this.buffer.ybase+this.buffer.y)),this.buffer.lines.length=1,this.buffer.ydisp=0,this.buffer.ybase=0,this.buffer.y=0;for(let e=1;e{Object.defineProperty(t,\"__esModule\",{value:!0}),t.TimeBasedDebouncer=void 0,t.TimeBasedDebouncer=class{constructor(e,t=1e3){this._renderCallback=e,this._debounceThresholdMS=t,this._lastRefreshMs=0,this._additionalRefreshRequested=!1}dispose(){this._refreshTimeoutID&&clearTimeout(this._refreshTimeoutID)}refresh(e,t,i){this._rowCount=i,e=void 0!==e?e:0,t=void 0!==t?t:this._rowCount-1,this._rowStart=void 0!==this._rowStart?Math.min(this._rowStart,e):e,this._rowEnd=void 0!==this._rowEnd?Math.max(this._rowEnd,t):t;const s=Date.now();if(s-this._lastRefreshMs>=this._debounceThresholdMS)this._lastRefreshMs=s,this._innerRefresh();else if(!this._additionalRefreshRequested){const e=s-this._lastRefreshMs,t=this._debounceThresholdMS-e;this._additionalRefreshRequested=!0,this._refreshTimeoutID=window.setTimeout((()=>{this._lastRefreshMs=Date.now(),this._innerRefresh(),this._additionalRefreshRequested=!1,this._refreshTimeoutID=void 0}),t)}}_innerRefresh(){if(void 0===this._rowStart||void 0===this._rowEnd||void 0===this._rowCount)return;const e=Math.max(this._rowStart,0),t=Math.min(this._rowEnd,this._rowCount-1);this._rowStart=void 0,this._rowEnd=void 0,this._renderCallback(e,t)}}},1680:function(e,t,i){var s=this&&this.__decorate||function(e,t,i,s){var r,n=arguments.length,o=n<3?t:null===s?s=Object.getOwnPropertyDescriptor(t,i):s;if(\"object\"==typeof Reflect&&\"function\"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,s);else for(var a=e.length-1;a>=0;a--)(r=e[a])&&(o=(n<3?r(o):n>3?r(t,i,o):r(t,i))||o);return n>3&&o&&Object.defineProperty(t,i,o),o},r=this&&this.__param||function(e,t){return function(i,s){t(i,s,e)}};Object.defineProperty(t,\"__esModule\",{value:!0}),t.Viewport=void 0;const n=i(3656),o=i(4725),a=i(8460),h=i(844),c=i(2585);let l=t.Viewport=class extends h.Disposable{constructor(e,t,i,s,r,o,h,c){super(),this._viewportElement=e,this._scrollArea=t,this._bufferService=i,this._optionsService=s,this._charSizeService=r,this._renderService=o,this._coreBrowserService=h,this.scrollBarWidth=0,this._currentRowHeight=0,this._currentDeviceCellHeight=0,this._lastRecordedBufferLength=0,this._lastRecordedViewportHeight=0,this._lastRecordedBufferHeight=0,this._lastTouchY=0,this._lastScrollTop=0,this._wheelPartialScroll=0,this._refreshAnimationFrame=null,this._ignoreNextScrollEvent=!1,this._smoothScrollState={startTime:0,origin:-1,target:-1},this._onRequestScrollLines=this.register(new a.EventEmitter),this.onRequestScrollLines=this._onRequestScrollLines.event,this.scrollBarWidth=this._viewportElement.offsetWidth-this._scrollArea.offsetWidth||15,this.register((0,n.addDisposableDomListener)(this._viewportElement,\"scroll\",this._handleScroll.bind(this))),this._activeBuffer=this._bufferService.buffer,this.register(this._bufferService.buffers.onBufferActivate((e=>this._activeBuffer=e.activeBuffer))),this._renderDimensions=this._renderService.dimensions,this.register(this._renderService.onDimensionsChange((e=>this._renderDimensions=e))),this._handleThemeChange(c.colors),this.register(c.onChangeColors((e=>this._handleThemeChange(e)))),this.register(this._optionsService.onSpecificOptionChange(\"scrollback\",(()=>this.syncScrollArea()))),setTimeout((()=>this.syncScrollArea()))}_handleThemeChange(e){this._viewportElement.style.backgroundColor=e.background.css}reset(){this._currentRowHeight=0,this._currentDeviceCellHeight=0,this._lastRecordedBufferLength=0,this._lastRecordedViewportHeight=0,this._lastRecordedBufferHeight=0,this._lastTouchY=0,this._lastScrollTop=0,this._coreBrowserService.window.requestAnimationFrame((()=>this.syncScrollArea()))}_refresh(e){if(e)return this._innerRefresh(),void(null!==this._refreshAnimationFrame&&this._coreBrowserService.window.cancelAnimationFrame(this._refreshAnimationFrame));null===this._refreshAnimationFrame&&(this._refreshAnimationFrame=this._coreBrowserService.window.requestAnimationFrame((()=>this._innerRefresh())))}_innerRefresh(){if(this._charSizeService.height>0){this._currentRowHeight=this._renderService.dimensions.device.cell.height/this._coreBrowserService.dpr,this._currentDeviceCellHeight=this._renderService.dimensions.device.cell.height,this._lastRecordedViewportHeight=this._viewportElement.offsetHeight;const e=Math.round(this._currentRowHeight*this._lastRecordedBufferLength)+(this._lastRecordedViewportHeight-this._renderService.dimensions.css.canvas.height);this._lastRecordedBufferHeight!==e&&(this._lastRecordedBufferHeight=e,this._scrollArea.style.height=this._lastRecordedBufferHeight+\"px\")}const e=this._bufferService.buffer.ydisp*this._currentRowHeight;this._viewportElement.scrollTop!==e&&(this._ignoreNextScrollEvent=!0,this._viewportElement.scrollTop=e),this._refreshAnimationFrame=null}syncScrollArea(e=!1){if(this._lastRecordedBufferLength!==this._bufferService.buffer.lines.length)return this._lastRecordedBufferLength=this._bufferService.buffer.lines.length,void this._refresh(e);this._lastRecordedViewportHeight===this._renderService.dimensions.css.canvas.height&&this._lastScrollTop===this._activeBuffer.ydisp*this._currentRowHeight&&this._renderDimensions.device.cell.height===this._currentDeviceCellHeight||this._refresh(e)}_handleScroll(e){if(this._lastScrollTop=this._viewportElement.scrollTop,!this._viewportElement.offsetParent)return;if(this._ignoreNextScrollEvent)return this._ignoreNextScrollEvent=!1,void this._onRequestScrollLines.fire({amount:0,suppressScrollEvent:!0});const t=Math.round(this._lastScrollTop/this._currentRowHeight)-this._bufferService.buffer.ydisp;this._onRequestScrollLines.fire({amount:t,suppressScrollEvent:!0})}_smoothScroll(){if(this._isDisposed||-1===this._smoothScrollState.origin||-1===this._smoothScrollState.target)return;const e=this._smoothScrollPercent();this._viewportElement.scrollTop=this._smoothScrollState.origin+Math.round(e*(this._smoothScrollState.target-this._smoothScrollState.origin)),e<1?this._coreBrowserService.window.requestAnimationFrame((()=>this._smoothScroll())):this._clearSmoothScrollState()}_smoothScrollPercent(){return this._optionsService.rawOptions.smoothScrollDuration&&this._smoothScrollState.startTime?Math.max(Math.min((Date.now()-this._smoothScrollState.startTime)/this._optionsService.rawOptions.smoothScrollDuration,1),0):1}_clearSmoothScrollState(){this._smoothScrollState.startTime=0,this._smoothScrollState.origin=-1,this._smoothScrollState.target=-1}_bubbleScroll(e,t){const i=this._viewportElement.scrollTop+this._lastRecordedViewportHeight;return!(t<0&&0!==this._viewportElement.scrollTop||t>0&&i0&&(s=e),r=\"\"}}return{bufferElements:n,cursorElement:s}}getLinesScrolled(e){if(0===e.deltaY||e.shiftKey)return 0;let t=this._applyScrollModifier(e.deltaY,e);return e.deltaMode===WheelEvent.DOM_DELTA_PIXEL?(t/=this._currentRowHeight+0,this._wheelPartialScroll+=t,t=Math.floor(Math.abs(this._wheelPartialScroll))*(this._wheelPartialScroll>0?1:-1),this._wheelPartialScroll%=1):e.deltaMode===WheelEvent.DOM_DELTA_PAGE&&(t*=this._bufferService.rows),t}_applyScrollModifier(e,t){const i=this._optionsService.rawOptions.fastScrollModifier;return\"alt\"===i&&t.altKey||\"ctrl\"===i&&t.ctrlKey||\"shift\"===i&&t.shiftKey?e*this._optionsService.rawOptions.fastScrollSensitivity*this._optionsService.rawOptions.scrollSensitivity:e*this._optionsService.rawOptions.scrollSensitivity}handleTouchStart(e){this._lastTouchY=e.touches[0].pageY}handleTouchMove(e){const t=this._lastTouchY-e.touches[0].pageY;return this._lastTouchY=e.touches[0].pageY,0!==t&&(this._viewportElement.scrollTop+=t,this._bubbleScroll(e,t))}};t.Viewport=l=s([r(2,c.IBufferService),r(3,c.IOptionsService),r(4,o.ICharSizeService),r(5,o.IRenderService),r(6,o.ICoreBrowserService),r(7,o.IThemeService)],l)},3107:function(e,t,i){var s=this&&this.__decorate||function(e,t,i,s){var r,n=arguments.length,o=n<3?t:null===s?s=Object.getOwnPropertyDescriptor(t,i):s;if(\"object\"==typeof Reflect&&\"function\"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,s);else for(var a=e.length-1;a>=0;a--)(r=e[a])&&(o=(n<3?r(o):n>3?r(t,i,o):r(t,i))||o);return n>3&&o&&Object.defineProperty(t,i,o),o},r=this&&this.__param||function(e,t){return function(i,s){t(i,s,e)}};Object.defineProperty(t,\"__esModule\",{value:!0}),t.BufferDecorationRenderer=void 0;const n=i(3656),o=i(4725),a=i(844),h=i(2585);let c=t.BufferDecorationRenderer=class extends a.Disposable{constructor(e,t,i,s){super(),this._screenElement=e,this._bufferService=t,this._decorationService=i,this._renderService=s,this._decorationElements=new Map,this._altBufferIsActive=!1,this._dimensionsChanged=!1,this._container=document.createElement(\"div\"),this._container.classList.add(\"xterm-decoration-container\"),this._screenElement.appendChild(this._container),this.register(this._renderService.onRenderedViewportChange((()=>this._doRefreshDecorations()))),this.register(this._renderService.onDimensionsChange((()=>{this._dimensionsChanged=!0,this._queueRefresh()}))),this.register((0,n.addDisposableDomListener)(window,\"resize\",(()=>this._queueRefresh()))),this.register(this._bufferService.buffers.onBufferActivate((()=>{this._altBufferIsActive=this._bufferService.buffer===this._bufferService.buffers.alt}))),this.register(this._decorationService.onDecorationRegistered((()=>this._queueRefresh()))),this.register(this._decorationService.onDecorationRemoved((e=>this._removeDecoration(e)))),this.register((0,a.toDisposable)((()=>{this._container.remove(),this._decorationElements.clear()})))}_queueRefresh(){void 0===this._animationFrame&&(this._animationFrame=this._renderService.addRefreshCallback((()=>{this._doRefreshDecorations(),this._animationFrame=void 0})))}_doRefreshDecorations(){for(const e of this._decorationService.decorations)this._renderDecoration(e);this._dimensionsChanged=!1}_renderDecoration(e){this._refreshStyle(e),this._dimensionsChanged&&this._refreshXPosition(e)}_createElement(e){var t,i;const s=document.createElement(\"div\");s.classList.add(\"xterm-decoration\"),s.classList.toggle(\"xterm-decoration-top-layer\",\"top\"===(null===(t=null==e?void 0:e.options)||void 0===t?void 0:t.layer)),s.style.width=`${Math.round((e.options.width||1)*this._renderService.dimensions.css.cell.width)}px`,s.style.height=(e.options.height||1)*this._renderService.dimensions.css.cell.height+\"px\",s.style.top=(e.marker.line-this._bufferService.buffers.active.ydisp)*this._renderService.dimensions.css.cell.height+\"px\",s.style.lineHeight=`${this._renderService.dimensions.css.cell.height}px`;const r=null!==(i=e.options.x)&&void 0!==i?i:0;return r&&r>this._bufferService.cols&&(s.style.display=\"none\"),this._refreshXPosition(e,s),s}_refreshStyle(e){const t=e.marker.line-this._bufferService.buffers.active.ydisp;if(t<0||t>=this._bufferService.rows)e.element&&(e.element.style.display=\"none\",e.onRenderEmitter.fire(e.element));else{let i=this._decorationElements.get(e);i||(i=this._createElement(e),e.element=i,this._decorationElements.set(e,i),this._container.appendChild(i),e.onDispose((()=>{this._decorationElements.delete(e),i.remove()}))),i.style.top=t*this._renderService.dimensions.css.cell.height+\"px\",i.style.display=this._altBufferIsActive?\"none\":\"block\",e.onRenderEmitter.fire(i)}}_refreshXPosition(e,t=e.element){var i;if(!t)return;const s=null!==(i=e.options.x)&&void 0!==i?i:0;\"right\"===(e.options.anchor||\"left\")?t.style.right=s?s*this._renderService.dimensions.css.cell.width+\"px\":\"\":t.style.left=s?s*this._renderService.dimensions.css.cell.width+\"px\":\"\"}_removeDecoration(e){var t;null===(t=this._decorationElements.get(e))||void 0===t||t.remove(),this._decorationElements.delete(e),e.dispose()}};t.BufferDecorationRenderer=c=s([r(1,h.IBufferService),r(2,h.IDecorationService),r(3,o.IRenderService)],c)},5871:(e,t)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.ColorZoneStore=void 0,t.ColorZoneStore=class{constructor(){this._zones=[],this._zonePool=[],this._zonePoolIndex=0,this._linePadding={full:0,left:0,center:0,right:0}}get zones(){return this._zonePool.length=Math.min(this._zonePool.length,this._zones.length),this._zones}clear(){this._zones.length=0,this._zonePoolIndex=0}addDecoration(e){if(e.options.overviewRulerOptions){for(const t of this._zones)if(t.color===e.options.overviewRulerOptions.color&&t.position===e.options.overviewRulerOptions.position){if(this._lineIntersectsZone(t,e.marker.line))return;if(this._lineAdjacentToZone(t,e.marker.line,e.options.overviewRulerOptions.position))return void this._addLineToZone(t,e.marker.line)}if(this._zonePoolIndex=e.startBufferLine&&t<=e.endBufferLine}_lineAdjacentToZone(e,t,i){return t>=e.startBufferLine-this._linePadding[i||\"full\"]&&t<=e.endBufferLine+this._linePadding[i||\"full\"]}_addLineToZone(e,t){e.startBufferLine=Math.min(e.startBufferLine,t),e.endBufferLine=Math.max(e.endBufferLine,t)}}},5744:function(e,t,i){var s=this&&this.__decorate||function(e,t,i,s){var r,n=arguments.length,o=n<3?t:null===s?s=Object.getOwnPropertyDescriptor(t,i):s;if(\"object\"==typeof Reflect&&\"function\"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,s);else for(var a=e.length-1;a>=0;a--)(r=e[a])&&(o=(n<3?r(o):n>3?r(t,i,o):r(t,i))||o);return n>3&&o&&Object.defineProperty(t,i,o),o},r=this&&this.__param||function(e,t){return function(i,s){t(i,s,e)}};Object.defineProperty(t,\"__esModule\",{value:!0}),t.OverviewRulerRenderer=void 0;const n=i(5871),o=i(3656),a=i(4725),h=i(844),c=i(2585),l={full:0,left:0,center:0,right:0},d={full:0,left:0,center:0,right:0},_={full:0,left:0,center:0,right:0};let u=t.OverviewRulerRenderer=class extends h.Disposable{get _width(){return this._optionsService.options.overviewRulerWidth||0}constructor(e,t,i,s,r,o,a){var c;super(),this._viewportElement=e,this._screenElement=t,this._bufferService=i,this._decorationService=s,this._renderService=r,this._optionsService=o,this._coreBrowseService=a,this._colorZoneStore=new n.ColorZoneStore,this._shouldUpdateDimensions=!0,this._shouldUpdateAnchor=!0,this._lastKnownBufferLength=0,this._canvas=document.createElement(\"canvas\"),this._canvas.classList.add(\"xterm-decoration-overview-ruler\"),this._refreshCanvasDimensions(),null===(c=this._viewportElement.parentElement)||void 0===c||c.insertBefore(this._canvas,this._viewportElement);const l=this._canvas.getContext(\"2d\");if(!l)throw new Error(\"Ctx cannot be null\");this._ctx=l,this._registerDecorationListeners(),this._registerBufferChangeListeners(),this._registerDimensionChangeListeners(),this.register((0,h.toDisposable)((()=>{var e;null===(e=this._canvas)||void 0===e||e.remove()})))}_registerDecorationListeners(){this.register(this._decorationService.onDecorationRegistered((()=>this._queueRefresh(void 0,!0)))),this.register(this._decorationService.onDecorationRemoved((()=>this._queueRefresh(void 0,!0))))}_registerBufferChangeListeners(){this.register(this._renderService.onRenderedViewportChange((()=>this._queueRefresh()))),this.register(this._bufferService.buffers.onBufferActivate((()=>{this._canvas.style.display=this._bufferService.buffer===this._bufferService.buffers.alt?\"none\":\"block\"}))),this.register(this._bufferService.onScroll((()=>{this._lastKnownBufferLength!==this._bufferService.buffers.normal.lines.length&&(this._refreshDrawHeightConstants(),this._refreshColorZonePadding())})))}_registerDimensionChangeListeners(){this.register(this._renderService.onRender((()=>{this._containerHeight&&this._containerHeight===this._screenElement.clientHeight||(this._queueRefresh(!0),this._containerHeight=this._screenElement.clientHeight)}))),this.register(this._optionsService.onSpecificOptionChange(\"overviewRulerWidth\",(()=>this._queueRefresh(!0)))),this.register((0,o.addDisposableDomListener)(this._coreBrowseService.window,\"resize\",(()=>this._queueRefresh(!0)))),this._queueRefresh(!0)}_refreshDrawConstants(){const e=Math.floor(this._canvas.width/3),t=Math.ceil(this._canvas.width/3);d.full=this._canvas.width,d.left=e,d.center=t,d.right=e,this._refreshDrawHeightConstants(),_.full=0,_.left=0,_.center=d.left,_.right=d.left+d.center}_refreshDrawHeightConstants(){l.full=Math.round(2*this._coreBrowseService.dpr);const e=this._canvas.height/this._bufferService.buffer.lines.length,t=Math.round(Math.max(Math.min(e,12),6)*this._coreBrowseService.dpr);l.left=t,l.center=t,l.right=t}_refreshColorZonePadding(){this._colorZoneStore.setPadding({full:Math.floor(this._bufferService.buffers.active.lines.length/(this._canvas.height-1)*l.full),left:Math.floor(this._bufferService.buffers.active.lines.length/(this._canvas.height-1)*l.left),center:Math.floor(this._bufferService.buffers.active.lines.length/(this._canvas.height-1)*l.center),right:Math.floor(this._bufferService.buffers.active.lines.length/(this._canvas.height-1)*l.right)}),this._lastKnownBufferLength=this._bufferService.buffers.normal.lines.length}_refreshCanvasDimensions(){this._canvas.style.width=`${this._width}px`,this._canvas.width=Math.round(this._width*this._coreBrowseService.dpr),this._canvas.style.height=`${this._screenElement.clientHeight}px`,this._canvas.height=Math.round(this._screenElement.clientHeight*this._coreBrowseService.dpr),this._refreshDrawConstants(),this._refreshColorZonePadding()}_refreshDecorations(){this._shouldUpdateDimensions&&this._refreshCanvasDimensions(),this._ctx.clearRect(0,0,this._canvas.width,this._canvas.height),this._colorZoneStore.clear();for(const e of this._decorationService.decorations)this._colorZoneStore.addDecoration(e);this._ctx.lineWidth=1;const e=this._colorZoneStore.zones;for(const t of e)\"full\"!==t.position&&this._renderColorZone(t);for(const t of e)\"full\"===t.position&&this._renderColorZone(t);this._shouldUpdateDimensions=!1,this._shouldUpdateAnchor=!1}_renderColorZone(e){this._ctx.fillStyle=e.color,this._ctx.fillRect(_[e.position||\"full\"],Math.round((this._canvas.height-1)*(e.startBufferLine/this._bufferService.buffers.active.lines.length)-l[e.position||\"full\"]/2),d[e.position||\"full\"],Math.round((this._canvas.height-1)*((e.endBufferLine-e.startBufferLine)/this._bufferService.buffers.active.lines.length)+l[e.position||\"full\"]))}_queueRefresh(e,t){this._shouldUpdateDimensions=e||this._shouldUpdateDimensions,this._shouldUpdateAnchor=t||this._shouldUpdateAnchor,void 0===this._animationFrame&&(this._animationFrame=this._coreBrowseService.window.requestAnimationFrame((()=>{this._refreshDecorations(),this._animationFrame=void 0})))}};t.OverviewRulerRenderer=u=s([r(2,c.IBufferService),r(3,c.IDecorationService),r(4,a.IRenderService),r(5,c.IOptionsService),r(6,a.ICoreBrowserService)],u)},2950:function(e,t,i){var s=this&&this.__decorate||function(e,t,i,s){var r,n=arguments.length,o=n<3?t:null===s?s=Object.getOwnPropertyDescriptor(t,i):s;if(\"object\"==typeof Reflect&&\"function\"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,s);else for(var a=e.length-1;a>=0;a--)(r=e[a])&&(o=(n<3?r(o):n>3?r(t,i,o):r(t,i))||o);return n>3&&o&&Object.defineProperty(t,i,o),o},r=this&&this.__param||function(e,t){return function(i,s){t(i,s,e)}};Object.defineProperty(t,\"__esModule\",{value:!0}),t.CompositionHelper=void 0;const n=i(4725),o=i(2585),a=i(2584);let h=t.CompositionHelper=class{get isComposing(){return this._isComposing}constructor(e,t,i,s,r,n){this._textarea=e,this._compositionView=t,this._bufferService=i,this._optionsService=s,this._coreService=r,this._renderService=n,this._isComposing=!1,this._isSendingComposition=!1,this._compositionPosition={start:0,end:0},this._dataAlreadySent=\"\"}compositionstart(){this._isComposing=!0,this._compositionPosition.start=this._textarea.value.length,this._compositionView.textContent=\"\",this._dataAlreadySent=\"\",this._compositionView.classList.add(\"active\")}compositionupdate(e){this._compositionView.textContent=e.data,this.updateCompositionElements(),setTimeout((()=>{this._compositionPosition.end=this._textarea.value.length}),0)}compositionend(){this._finalizeComposition(!0)}keydown(e){if(this._isComposing||this._isSendingComposition){if(229===e.keyCode)return!1;if(16===e.keyCode||17===e.keyCode||18===e.keyCode)return!1;this._finalizeComposition(!1)}return 229!==e.keyCode||(this._handleAnyTextareaChanges(),!1)}_finalizeComposition(e){if(this._compositionView.classList.remove(\"active\"),this._isComposing=!1,e){const e={start:this._compositionPosition.start,end:this._compositionPosition.end};this._isSendingComposition=!0,setTimeout((()=>{if(this._isSendingComposition){let t;this._isSendingComposition=!1,e.start+=this._dataAlreadySent.length,t=this._isComposing?this._textarea.value.substring(e.start,e.end):this._textarea.value.substring(e.start),t.length>0&&this._coreService.triggerDataEvent(t,!0)}}),0)}else{this._isSendingComposition=!1;const e=this._textarea.value.substring(this._compositionPosition.start,this._compositionPosition.end);this._coreService.triggerDataEvent(e,!0)}}_handleAnyTextareaChanges(){const e=this._textarea.value;setTimeout((()=>{if(!this._isComposing){const t=this._textarea.value,i=t.replace(e,\"\");this._dataAlreadySent=i,t.length>e.length?this._coreService.triggerDataEvent(i,!0):t.lengththis.updateCompositionElements(!0)),0)}}};t.CompositionHelper=h=s([r(2,o.IBufferService),r(3,o.IOptionsService),r(4,o.ICoreService),r(5,n.IRenderService)],h)},9806:(e,t)=>{function i(e,t,i){const s=i.getBoundingClientRect(),r=e.getComputedStyle(i),n=parseInt(r.getPropertyValue(\"padding-left\")),o=parseInt(r.getPropertyValue(\"padding-top\"));return[t.clientX-s.left-n,t.clientY-s.top-o]}Object.defineProperty(t,\"__esModule\",{value:!0}),t.getCoords=t.getCoordsRelativeToElement=void 0,t.getCoordsRelativeToElement=i,t.getCoords=function(e,t,s,r,n,o,a,h,c){if(!o)return;const l=i(e,t,s);return l?(l[0]=Math.ceil((l[0]+(c?a/2:0))/a),l[1]=Math.ceil(l[1]/h),l[0]=Math.min(Math.max(l[0],1),r+(c?1:0)),l[1]=Math.min(Math.max(l[1],1),n),l):void 0}},9504:(e,t,i)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.moveToCellSequence=void 0;const s=i(2584);function r(e,t,i,s){const r=e-n(e,i),a=t-n(t,i),l=Math.abs(r-a)-function(e,t,i){let s=0;const r=e-n(e,i),a=t-n(t,i);for(let n=0;n=0&&et?\"A\":\"B\"}function a(e,t,i,s,r,n){let o=e,a=t,h=\"\";for(;o!==i||a!==s;)o+=r?1:-1,r&&o>n.cols-1?(h+=n.buffer.translateBufferLineToString(a,!1,e,o),o=0,e=0,a++):!r&&o<0&&(h+=n.buffer.translateBufferLineToString(a,!1,0,e+1),o=n.cols-1,e=o,a--);return h+n.buffer.translateBufferLineToString(a,!1,e,o)}function h(e,t){const i=t?\"O\":\"[\";return s.C0.ESC+i+e}function c(e,t){e=Math.floor(e);let i=\"\";for(let s=0;s0?s-n(s,o):t;const _=s,u=function(e,t,i,s,o,a){let h;return h=r(i,s,o,a).length>0?s-n(s,o):t,e=i&&he?\"D\":\"C\",c(Math.abs(o-e),h(d,s));d=l>t?\"D\":\"C\";const _=Math.abs(l-t);return c(function(e,t){return t.cols-e}(l>t?e:o,i)+(_-1)*i.cols+1+((l>t?o:e)-1),h(d,s))}},1296:function(e,t,i){var s=this&&this.__decorate||function(e,t,i,s){var r,n=arguments.length,o=n<3?t:null===s?s=Object.getOwnPropertyDescriptor(t,i):s;if(\"object\"==typeof Reflect&&\"function\"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,s);else for(var a=e.length-1;a>=0;a--)(r=e[a])&&(o=(n<3?r(o):n>3?r(t,i,o):r(t,i))||o);return n>3&&o&&Object.defineProperty(t,i,o),o},r=this&&this.__param||function(e,t){return function(i,s){t(i,s,e)}};Object.defineProperty(t,\"__esModule\",{value:!0}),t.DomRenderer=void 0;const n=i(3787),o=i(2550),a=i(2223),h=i(6171),c=i(4725),l=i(8055),d=i(8460),_=i(844),u=i(2585),f=\"xterm-dom-renderer-owner-\",v=\"xterm-rows\",p=\"xterm-fg-\",g=\"xterm-bg-\",m=\"xterm-focus\",S=\"xterm-selection\";let C=1,b=t.DomRenderer=class extends _.Disposable{constructor(e,t,i,s,r,a,c,l,u,p){super(),this._element=e,this._screenElement=t,this._viewportElement=i,this._linkifier2=s,this._charSizeService=a,this._optionsService=c,this._bufferService=l,this._coreBrowserService=u,this._themeService=p,this._terminalClass=C++,this._rowElements=[],this.onRequestRedraw=this.register(new d.EventEmitter).event,this._rowContainer=document.createElement(\"div\"),this._rowContainer.classList.add(v),this._rowContainer.style.lineHeight=\"normal\",this._rowContainer.setAttribute(\"aria-hidden\",\"true\"),this._refreshRowElements(this._bufferService.cols,this._bufferService.rows),this._selectionContainer=document.createElement(\"div\"),this._selectionContainer.classList.add(S),this._selectionContainer.setAttribute(\"aria-hidden\",\"true\"),this.dimensions=(0,h.createRenderDimensions)(),this._updateDimensions(),this.register(this._optionsService.onOptionChange((()=>this._handleOptionsChanged()))),this.register(this._themeService.onChangeColors((e=>this._injectCss(e)))),this._injectCss(this._themeService.colors),this._rowFactory=r.createInstance(n.DomRendererRowFactory,document),this._element.classList.add(f+this._terminalClass),this._screenElement.appendChild(this._rowContainer),this._screenElement.appendChild(this._selectionContainer),this.register(this._linkifier2.onShowLinkUnderline((e=>this._handleLinkHover(e)))),this.register(this._linkifier2.onHideLinkUnderline((e=>this._handleLinkLeave(e)))),this.register((0,_.toDisposable)((()=>{this._element.classList.remove(f+this._terminalClass),this._rowContainer.remove(),this._selectionContainer.remove(),this._widthCache.dispose(),this._themeStyleElement.remove(),this._dimensionsStyleElement.remove()}))),this._widthCache=new o.WidthCache(document),this._widthCache.setFont(this._optionsService.rawOptions.fontFamily,this._optionsService.rawOptions.fontSize,this._optionsService.rawOptions.fontWeight,this._optionsService.rawOptions.fontWeightBold),this._setDefaultSpacing()}_updateDimensions(){const e=this._coreBrowserService.dpr;this.dimensions.device.char.width=this._charSizeService.width*e,this.dimensions.device.char.height=Math.ceil(this._charSizeService.height*e),this.dimensions.device.cell.width=this.dimensions.device.char.width+Math.round(this._optionsService.rawOptions.letterSpacing),this.dimensions.device.cell.height=Math.floor(this.dimensions.device.char.height*this._optionsService.rawOptions.lineHeight),this.dimensions.device.char.left=0,this.dimensions.device.char.top=0,this.dimensions.device.canvas.width=this.dimensions.device.cell.width*this._bufferService.cols,this.dimensions.device.canvas.height=this.dimensions.device.cell.height*this._bufferService.rows,this.dimensions.css.canvas.width=Math.round(this.dimensions.device.canvas.width/e),this.dimensions.css.canvas.height=Math.round(this.dimensions.device.canvas.height/e),this.dimensions.css.cell.width=this.dimensions.css.canvas.width/this._bufferService.cols,this.dimensions.css.cell.height=this.dimensions.css.canvas.height/this._bufferService.rows;for(const e of this._rowElements)e.style.width=`${this.dimensions.css.canvas.width}px`,e.style.height=`${this.dimensions.css.cell.height}px`,e.style.lineHeight=`${this.dimensions.css.cell.height}px`,e.style.overflow=\"hidden\";this._dimensionsStyleElement||(this._dimensionsStyleElement=document.createElement(\"style\"),this._screenElement.appendChild(this._dimensionsStyleElement));const t=`${this._terminalSelector} .${v} span { display: inline-block; height: 100%; vertical-align: top;}`;this._dimensionsStyleElement.textContent=t,this._selectionContainer.style.height=this._viewportElement.style.height,this._screenElement.style.width=`${this.dimensions.css.canvas.width}px`,this._screenElement.style.height=`${this.dimensions.css.canvas.height}px`}_injectCss(e){this._themeStyleElement||(this._themeStyleElement=document.createElement(\"style\"),this._screenElement.appendChild(this._themeStyleElement));let t=`${this._terminalSelector} .${v} { color: ${e.foreground.css}; font-family: ${this._optionsService.rawOptions.fontFamily}; font-size: ${this._optionsService.rawOptions.fontSize}px; font-kerning: none; white-space: pre}`;t+=`${this._terminalSelector} .${v} .xterm-dim { color: ${l.color.multiplyOpacity(e.foreground,.5).css};}`,t+=`${this._terminalSelector} span:not(.xterm-bold) { font-weight: ${this._optionsService.rawOptions.fontWeight};}${this._terminalSelector} span.xterm-bold { font-weight: ${this._optionsService.rawOptions.fontWeightBold};}${this._terminalSelector} span.xterm-italic { font-style: italic;}`,t+=\"@keyframes blink_box_shadow_\"+this._terminalClass+\" { 50% { border-bottom-style: hidden; }}\",t+=\"@keyframes blink_block_\"+this._terminalClass+\" { 0% {\"+` background-color: ${e.cursor.css};`+` color: ${e.cursorAccent.css}; } 50% { background-color: inherit;`+` color: ${e.cursor.css}; }}`,t+=`${this._terminalSelector} .${v}.${m} .xterm-cursor.xterm-cursor-blink:not(.xterm-cursor-block) { animation: blink_box_shadow_`+this._terminalClass+\" 1s step-end infinite;}\"+`${this._terminalSelector} .${v}.${m} .xterm-cursor.xterm-cursor-blink.xterm-cursor-block { animation: blink_block_`+this._terminalClass+\" 1s step-end infinite;}\"+`${this._terminalSelector} .${v} .xterm-cursor.xterm-cursor-block {`+` background-color: ${e.cursor.css};`+` color: ${e.cursorAccent.css};}`+`${this._terminalSelector} .${v} .xterm-cursor.xterm-cursor-outline {`+` outline: 1px solid ${e.cursor.css}; outline-offset: -1px;}`+`${this._terminalSelector} .${v} .xterm-cursor.xterm-cursor-bar {`+` box-shadow: ${this._optionsService.rawOptions.cursorWidth}px 0 0 ${e.cursor.css} inset;}`+`${this._terminalSelector} .${v} .xterm-cursor.xterm-cursor-underline {`+` border-bottom: 1px ${e.cursor.css}; border-bottom-style: solid; height: calc(100% - 1px);}`,t+=`${this._terminalSelector} .${S} { position: absolute; top: 0; left: 0; z-index: 1; pointer-events: none;}${this._terminalSelector}.focus .${S} div { position: absolute; background-color: ${e.selectionBackgroundOpaque.css};}${this._terminalSelector} .${S} div { position: absolute; background-color: ${e.selectionInactiveBackgroundOpaque.css};}`;for(const[i,s]of e.ansi.entries())t+=`${this._terminalSelector} .${p}${i} { color: ${s.css}; }${this._terminalSelector} .${p}${i}.xterm-dim { color: ${l.color.multiplyOpacity(s,.5).css}; }${this._terminalSelector} .${g}${i} { background-color: ${s.css}; }`;t+=`${this._terminalSelector} .${p}${a.INVERTED_DEFAULT_COLOR} { color: ${l.color.opaque(e.background).css}; }${this._terminalSelector} .${p}${a.INVERTED_DEFAULT_COLOR}.xterm-dim { color: ${l.color.multiplyOpacity(l.color.opaque(e.background),.5).css}; }${this._terminalSelector} .${g}${a.INVERTED_DEFAULT_COLOR} { background-color: ${e.foreground.css}; }`,this._themeStyleElement.textContent=t}_setDefaultSpacing(){const e=this.dimensions.css.cell.width-this._widthCache.get(\"W\",!1,!1);this._rowContainer.style.letterSpacing=`${e}px`,this._rowFactory.defaultSpacing=e}handleDevicePixelRatioChange(){this._updateDimensions(),this._widthCache.clear(),this._setDefaultSpacing()}_refreshRowElements(e,t){for(let e=this._rowElements.length;e<=t;e++){const e=document.createElement(\"div\");this._rowContainer.appendChild(e),this._rowElements.push(e)}for(;this._rowElements.length>t;)this._rowContainer.removeChild(this._rowElements.pop())}handleResize(e,t){this._refreshRowElements(e,t),this._updateDimensions()}handleCharSizeChanged(){this._updateDimensions(),this._widthCache.clear(),this._setDefaultSpacing()}handleBlur(){this._rowContainer.classList.remove(m)}handleFocus(){this._rowContainer.classList.add(m),this.renderRows(this._bufferService.buffer.y,this._bufferService.buffer.y)}handleSelectionChanged(e,t,i){if(this._selectionContainer.replaceChildren(),this._rowFactory.handleSelectionChanged(e,t,i),this.renderRows(0,this._bufferService.rows-1),!e||!t)return;const s=e[1]-this._bufferService.buffer.ydisp,r=t[1]-this._bufferService.buffer.ydisp,n=Math.max(s,0),o=Math.min(r,this._bufferService.rows-1);if(n>=this._bufferService.rows||o<0)return;const a=document.createDocumentFragment();if(i){const i=e[0]>t[0];a.appendChild(this._createSelectionElement(n,i?t[0]:e[0],i?e[0]:t[0],o-n+1))}else{const i=s===n?e[0]:0,h=n===r?t[0]:this._bufferService.cols;a.appendChild(this._createSelectionElement(n,i,h));const c=o-n-1;if(a.appendChild(this._createSelectionElement(n+1,0,this._bufferService.cols,c)),n!==o){const e=r===o?t[0]:this._bufferService.cols;a.appendChild(this._createSelectionElement(o,0,e))}}this._selectionContainer.appendChild(a)}_createSelectionElement(e,t,i,s=1){const r=document.createElement(\"div\");return r.style.height=s*this.dimensions.css.cell.height+\"px\",r.style.top=e*this.dimensions.css.cell.height+\"px\",r.style.left=t*this.dimensions.css.cell.width+\"px\",r.style.width=this.dimensions.css.cell.width*(i-t)+\"px\",r}handleCursorMove(){}_handleOptionsChanged(){this._updateDimensions(),this._injectCss(this._themeService.colors),this._widthCache.setFont(this._optionsService.rawOptions.fontFamily,this._optionsService.rawOptions.fontSize,this._optionsService.rawOptions.fontWeight,this._optionsService.rawOptions.fontWeightBold),this._setDefaultSpacing()}clear(){for(const e of this._rowElements)e.replaceChildren()}renderRows(e,t){const i=this._bufferService.buffer,s=i.ybase+i.y,r=Math.min(i.x,this._bufferService.cols-1),n=this._optionsService.rawOptions.cursorBlink,o=this._optionsService.rawOptions.cursorStyle,a=this._optionsService.rawOptions.cursorInactiveStyle;for(let h=e;h<=t;h++){const e=h+i.ydisp,t=this._rowElements[h],c=i.lines.get(e);if(!t||!c)break;t.replaceChildren(...this._rowFactory.createRow(c,e,e===s,o,a,r,n,this.dimensions.css.cell.width,this._widthCache,-1,-1))}}get _terminalSelector(){return`.${f}${this._terminalClass}`}_handleLinkHover(e){this._setCellUnderline(e.x1,e.x2,e.y1,e.y2,e.cols,!0)}_handleLinkLeave(e){this._setCellUnderline(e.x1,e.x2,e.y1,e.y2,e.cols,!1)}_setCellUnderline(e,t,i,s,r,n){i<0&&(e=0),s<0&&(t=0);const o=this._bufferService.rows-1;i=Math.max(Math.min(i,o),0),s=Math.max(Math.min(s,o),0),r=Math.min(r,this._bufferService.cols);const a=this._bufferService.buffer,h=a.ybase+a.y,c=Math.min(a.x,r-1),l=this._optionsService.rawOptions.cursorBlink,d=this._optionsService.rawOptions.cursorStyle,_=this._optionsService.rawOptions.cursorInactiveStyle;for(let o=i;o<=s;++o){const u=o+a.ydisp,f=this._rowElements[o],v=a.lines.get(u);if(!f||!v)break;f.replaceChildren(...this._rowFactory.createRow(v,u,u===h,d,_,c,l,this.dimensions.css.cell.width,this._widthCache,n?o===i?e:0:-1,n?(o===s?t:r)-1:-1))}}};t.DomRenderer=b=s([r(4,u.IInstantiationService),r(5,c.ICharSizeService),r(6,u.IOptionsService),r(7,u.IBufferService),r(8,c.ICoreBrowserService),r(9,c.IThemeService)],b)},3787:function(e,t,i){var s=this&&this.__decorate||function(e,t,i,s){var r,n=arguments.length,o=n<3?t:null===s?s=Object.getOwnPropertyDescriptor(t,i):s;if(\"object\"==typeof Reflect&&\"function\"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,s);else for(var a=e.length-1;a>=0;a--)(r=e[a])&&(o=(n<3?r(o):n>3?r(t,i,o):r(t,i))||o);return n>3&&o&&Object.defineProperty(t,i,o),o},r=this&&this.__param||function(e,t){return function(i,s){t(i,s,e)}};Object.defineProperty(t,\"__esModule\",{value:!0}),t.DomRendererRowFactory=void 0;const n=i(2223),o=i(643),a=i(511),h=i(2585),c=i(8055),l=i(4725),d=i(4269),_=i(6171),u=i(3734);let f=t.DomRendererRowFactory=class{constructor(e,t,i,s,r,n,o){this._document=e,this._characterJoinerService=t,this._optionsService=i,this._coreBrowserService=s,this._coreService=r,this._decorationService=n,this._themeService=o,this._workCell=new a.CellData,this._columnSelectMode=!1,this.defaultSpacing=0}handleSelectionChanged(e,t,i){this._selectionStart=e,this._selectionEnd=t,this._columnSelectMode=i}createRow(e,t,i,s,r,a,h,l,_,f,p){const g=[],m=this._characterJoinerService.getJoinedCharacters(t),S=this._themeService.colors;let C,b=e.getNoBgTrimmedLength();i&&b0&&M===m[0][0]){O=!0;const t=m.shift();I=new d.JoinedCellData(this._workCell,e.translateToString(!0,t[0],t[1]),t[1]-t[0]),P=t[1]-1,b=I.getWidth()}const H=this._isCellInSelection(M,t),F=i&&M===a,W=T&&M>=f&&M<=p;let U=!1;this._decorationService.forEachDecorationAtCell(M,t,void 0,(e=>{U=!0}));let N=I.getChars()||o.WHITESPACE_CELL_CHAR;if(\" \"===N&&(I.isUnderline()||I.isOverline())&&(N=\" \"),A=b*l-_.get(N,I.isBold(),I.isItalic()),C){if(y&&(H&&x||!H&&!x&&I.bg===E)&&(H&&x&&S.selectionForeground||I.fg===k)&&I.extended.ext===L&&W===D&&A===R&&!F&&!O&&!U){w+=N,y++;continue}y&&(C.textContent=w),C=this._document.createElement(\"span\"),y=0,w=\"\"}else C=this._document.createElement(\"span\");if(E=I.bg,k=I.fg,L=I.extended.ext,D=W,R=A,x=H,O&&a>=M&&a<=P&&(a=M),!this._coreService.isCursorHidden&&F)if(B.push(\"xterm-cursor\"),this._coreBrowserService.isFocused)h&&B.push(\"xterm-cursor-blink\"),B.push(\"bar\"===s?\"xterm-cursor-bar\":\"underline\"===s?\"xterm-cursor-underline\":\"xterm-cursor-block\");else if(r)switch(r){case\"outline\":B.push(\"xterm-cursor-outline\");break;case\"block\":B.push(\"xterm-cursor-block\");break;case\"bar\":B.push(\"xterm-cursor-bar\");break;case\"underline\":B.push(\"xterm-cursor-underline\")}if(I.isBold()&&B.push(\"xterm-bold\"),I.isItalic()&&B.push(\"xterm-italic\"),I.isDim()&&B.push(\"xterm-dim\"),w=I.isInvisible()?o.WHITESPACE_CELL_CHAR:I.getChars()||o.WHITESPACE_CELL_CHAR,I.isUnderline()&&(B.push(`xterm-underline-${I.extended.underlineStyle}`),\" \"===w&&(w=\" \"),!I.isUnderlineColorDefault()))if(I.isUnderlineColorRGB())C.style.textDecorationColor=`rgb(${u.AttributeData.toColorRGB(I.getUnderlineColor()).join(\",\")})`;else{let e=I.getUnderlineColor();this._optionsService.rawOptions.drawBoldTextInBrightColors&&I.isBold()&&e<8&&(e+=8),C.style.textDecorationColor=S.ansi[e].css}I.isOverline()&&(B.push(\"xterm-overline\"),\" \"===w&&(w=\" \")),I.isStrikethrough()&&B.push(\"xterm-strikethrough\"),W&&(C.style.textDecoration=\"underline\");let $=I.getFgColor(),j=I.getFgColorMode(),z=I.getBgColor(),K=I.getBgColorMode();const q=!!I.isInverse();if(q){const e=$;$=z,z=e;const t=j;j=K,K=t}let V,G,X,J=!1;switch(this._decorationService.forEachDecorationAtCell(M,t,void 0,(e=>{\"top\"!==e.options.layer&&J||(e.backgroundColorRGB&&(K=50331648,z=e.backgroundColorRGB.rgba>>8&16777215,V=e.backgroundColorRGB),e.foregroundColorRGB&&(j=50331648,$=e.foregroundColorRGB.rgba>>8&16777215,G=e.foregroundColorRGB),J=\"top\"===e.options.layer)})),!J&&H&&(V=this._coreBrowserService.isFocused?S.selectionBackgroundOpaque:S.selectionInactiveBackgroundOpaque,z=V.rgba>>8&16777215,K=50331648,J=!0,S.selectionForeground&&(j=50331648,$=S.selectionForeground.rgba>>8&16777215,G=S.selectionForeground)),J&&B.push(\"xterm-decoration-top\"),K){case 16777216:case 33554432:X=S.ansi[z],B.push(`xterm-bg-${z}`);break;case 50331648:X=c.rgba.toColor(z>>16,z>>8&255,255&z),this._addStyle(C,`background-color:#${v((z>>>0).toString(16),\"0\",6)}`);break;default:q?(X=S.foreground,B.push(`xterm-bg-${n.INVERTED_DEFAULT_COLOR}`)):X=S.background}switch(V||I.isDim()&&(V=c.color.multiplyOpacity(X,.5)),j){case 16777216:case 33554432:I.isBold()&&$<8&&this._optionsService.rawOptions.drawBoldTextInBrightColors&&($+=8),this._applyMinimumContrast(C,X,S.ansi[$],I,V,void 0)||B.push(`xterm-fg-${$}`);break;case 50331648:const e=c.rgba.toColor($>>16&255,$>>8&255,255&$);this._applyMinimumContrast(C,X,e,I,V,G)||this._addStyle(C,`color:#${v($.toString(16),\"0\",6)}`);break;default:this._applyMinimumContrast(C,X,S.foreground,I,V,void 0)||q&&B.push(`xterm-fg-${n.INVERTED_DEFAULT_COLOR}`)}B.length&&(C.className=B.join(\" \"),B.length=0),F||O||U?C.textContent=w:y++,A!==this.defaultSpacing&&(C.style.letterSpacing=`${A}px`),g.push(C),M=P}return C&&y&&(C.textContent=w),g}_applyMinimumContrast(e,t,i,s,r,n){if(1===this._optionsService.rawOptions.minimumContrastRatio||(0,_.excludeFromContrastRatioDemands)(s.getCode()))return!1;const o=this._getContrastCache(s);let a;if(r||n||(a=o.getColor(t.rgba,i.rgba)),void 0===a){const e=this._optionsService.rawOptions.minimumContrastRatio/(s.isDim()?2:1);a=c.color.ensureContrastRatio(r||t,n||i,e),o.setColor((r||t).rgba,(n||i).rgba,null!=a?a:null)}return!!a&&(this._addStyle(e,`color:${a.css}`),!0)}_getContrastCache(e){return e.isDim()?this._themeService.colors.halfContrastCache:this._themeService.colors.contrastCache}_addStyle(e,t){e.setAttribute(\"style\",`${e.getAttribute(\"style\")||\"\"}${t};`)}_isCellInSelection(e,t){const i=this._selectionStart,s=this._selectionEnd;return!(!i||!s)&&(this._columnSelectMode?i[0]<=s[0]?e>=i[0]&&t>=i[1]&&e=i[1]&&e>=s[0]&&t<=s[1]:t>i[1]&&t=i[0]&&e=i[0])}};function v(e,t,i){for(;e.length{Object.defineProperty(t,\"__esModule\",{value:!0}),t.WidthCache=void 0,t.WidthCache=class{constructor(e){this._flat=new Float32Array(256),this._font=\"\",this._fontSize=0,this._weight=\"normal\",this._weightBold=\"bold\",this._measureElements=[],this._container=e.createElement(\"div\"),this._container.style.position=\"absolute\",this._container.style.top=\"-50000px\",this._container.style.width=\"50000px\",this._container.style.whiteSpace=\"pre\",this._container.style.fontKerning=\"none\";const t=e.createElement(\"span\"),i=e.createElement(\"span\");i.style.fontWeight=\"bold\";const s=e.createElement(\"span\");s.style.fontStyle=\"italic\";const r=e.createElement(\"span\");r.style.fontWeight=\"bold\",r.style.fontStyle=\"italic\",this._measureElements=[t,i,s,r],this._container.appendChild(t),this._container.appendChild(i),this._container.appendChild(s),this._container.appendChild(r),e.body.appendChild(this._container),this.clear()}dispose(){this._container.remove(),this._measureElements.length=0,this._holey=void 0}clear(){this._flat.fill(-9999),this._holey=new Map}setFont(e,t,i,s){e===this._font&&t===this._fontSize&&i===this._weight&&s===this._weightBold||(this._font=e,this._fontSize=t,this._weight=i,this._weightBold=s,this._container.style.fontFamily=this._font,this._container.style.fontSize=`${this._fontSize}px`,this._measureElements[0].style.fontWeight=`${i}`,this._measureElements[1].style.fontWeight=`${s}`,this._measureElements[2].style.fontWeight=`${i}`,this._measureElements[3].style.fontWeight=`${s}`,this.clear())}get(e,t,i){let s=0;if(!t&&!i&&1===e.length&&(s=e.charCodeAt(0))<256)return-9999!==this._flat[s]?this._flat[s]:this._flat[s]=this._measure(e,0);let r=e;t&&(r+=\"B\"),i&&(r+=\"I\");let n=this._holey.get(r);if(void 0===n){let s=0;t&&(s|=1),i&&(s|=2),n=this._measure(e,s),this._holey.set(r,n)}return n}_measure(e,t){const i=this._measureElements[t];return i.textContent=e.repeat(32),i.offsetWidth/32}}},2223:(e,t,i)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.TEXT_BASELINE=t.DIM_OPACITY=t.INVERTED_DEFAULT_COLOR=void 0;const s=i(6114);t.INVERTED_DEFAULT_COLOR=257,t.DIM_OPACITY=.5,t.TEXT_BASELINE=s.isFirefox||s.isLegacyEdge?\"bottom\":\"ideographic\"},6171:(e,t)=>{function i(e){return 57508<=e&&e<=57558}Object.defineProperty(t,\"__esModule\",{value:!0}),t.createRenderDimensions=t.excludeFromContrastRatioDemands=t.isRestrictedPowerlineGlyph=t.isPowerlineGlyph=t.throwIfFalsy=void 0,t.throwIfFalsy=function(e){if(!e)throw new Error(\"value must not be falsy\");return e},t.isPowerlineGlyph=i,t.isRestrictedPowerlineGlyph=function(e){return 57520<=e&&e<=57527},t.excludeFromContrastRatioDemands=function(e){return i(e)||function(e){return 9472<=e&&e<=9631}(e)},t.createRenderDimensions=function(){return{css:{canvas:{width:0,height:0},cell:{width:0,height:0}},device:{canvas:{width:0,height:0},cell:{width:0,height:0},char:{width:0,height:0,left:0,top:0}}}}},456:(e,t)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.SelectionModel=void 0,t.SelectionModel=class{constructor(e){this._bufferService=e,this.isSelectAllActive=!1,this.selectionStartLength=0}clearSelection(){this.selectionStart=void 0,this.selectionEnd=void 0,this.isSelectAllActive=!1,this.selectionStartLength=0}get finalSelectionStart(){return this.isSelectAllActive?[0,0]:this.selectionEnd&&this.selectionStart&&this.areSelectionValuesReversed()?this.selectionEnd:this.selectionStart}get finalSelectionEnd(){if(this.isSelectAllActive)return[this._bufferService.cols,this._bufferService.buffer.ybase+this._bufferService.rows-1];if(this.selectionStart){if(!this.selectionEnd||this.areSelectionValuesReversed()){const e=this.selectionStart[0]+this.selectionStartLength;return e>this._bufferService.cols?e%this._bufferService.cols==0?[this._bufferService.cols,this.selectionStart[1]+Math.floor(e/this._bufferService.cols)-1]:[e%this._bufferService.cols,this.selectionStart[1]+Math.floor(e/this._bufferService.cols)]:[e,this.selectionStart[1]]}if(this.selectionStartLength&&this.selectionEnd[1]===this.selectionStart[1]){const e=this.selectionStart[0]+this.selectionStartLength;return e>this._bufferService.cols?[e%this._bufferService.cols,this.selectionStart[1]+Math.floor(e/this._bufferService.cols)]:[Math.max(e,this.selectionEnd[0]),this.selectionEnd[1]]}return this.selectionEnd}}areSelectionValuesReversed(){const e=this.selectionStart,t=this.selectionEnd;return!(!e||!t)&&(e[1]>t[1]||e[1]===t[1]&&e[0]>t[0])}handleTrim(e){return this.selectionStart&&(this.selectionStart[1]-=e),this.selectionEnd&&(this.selectionEnd[1]-=e),this.selectionEnd&&this.selectionEnd[1]<0?(this.clearSelection(),!0):(this.selectionStart&&this.selectionStart[1]<0&&(this.selectionStart[1]=0),!1)}}},428:function(e,t,i){var s=this&&this.__decorate||function(e,t,i,s){var r,n=arguments.length,o=n<3?t:null===s?s=Object.getOwnPropertyDescriptor(t,i):s;if(\"object\"==typeof Reflect&&\"function\"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,s);else for(var a=e.length-1;a>=0;a--)(r=e[a])&&(o=(n<3?r(o):n>3?r(t,i,o):r(t,i))||o);return n>3&&o&&Object.defineProperty(t,i,o),o},r=this&&this.__param||function(e,t){return function(i,s){t(i,s,e)}};Object.defineProperty(t,\"__esModule\",{value:!0}),t.CharSizeService=void 0;const n=i(2585),o=i(8460),a=i(844);let h=t.CharSizeService=class extends a.Disposable{get hasValidSize(){return this.width>0&&this.height>0}constructor(e,t,i){super(),this._optionsService=i,this.width=0,this.height=0,this._onCharSizeChange=this.register(new o.EventEmitter),this.onCharSizeChange=this._onCharSizeChange.event,this._measureStrategy=new c(e,t,this._optionsService),this.register(this._optionsService.onMultipleOptionChange([\"fontFamily\",\"fontSize\"],(()=>this.measure())))}measure(){const e=this._measureStrategy.measure();e.width===this.width&&e.height===this.height||(this.width=e.width,this.height=e.height,this._onCharSizeChange.fire())}};t.CharSizeService=h=s([r(2,n.IOptionsService)],h);class c{constructor(e,t,i){this._document=e,this._parentElement=t,this._optionsService=i,this._result={width:0,height:0},this._measureElement=this._document.createElement(\"span\"),this._measureElement.classList.add(\"xterm-char-measure-element\"),this._measureElement.textContent=\"W\".repeat(32),this._measureElement.setAttribute(\"aria-hidden\",\"true\"),this._measureElement.style.whiteSpace=\"pre\",this._measureElement.style.fontKerning=\"none\",this._parentElement.appendChild(this._measureElement)}measure(){this._measureElement.style.fontFamily=this._optionsService.rawOptions.fontFamily,this._measureElement.style.fontSize=`${this._optionsService.rawOptions.fontSize}px`;const e={height:Number(this._measureElement.offsetHeight),width:Number(this._measureElement.offsetWidth)};return 0!==e.width&&0!==e.height&&(this._result.width=e.width/32,this._result.height=Math.ceil(e.height)),this._result}}},4269:function(e,t,i){var s=this&&this.__decorate||function(e,t,i,s){var r,n=arguments.length,o=n<3?t:null===s?s=Object.getOwnPropertyDescriptor(t,i):s;if(\"object\"==typeof Reflect&&\"function\"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,s);else for(var a=e.length-1;a>=0;a--)(r=e[a])&&(o=(n<3?r(o):n>3?r(t,i,o):r(t,i))||o);return n>3&&o&&Object.defineProperty(t,i,o),o},r=this&&this.__param||function(e,t){return function(i,s){t(i,s,e)}};Object.defineProperty(t,\"__esModule\",{value:!0}),t.CharacterJoinerService=t.JoinedCellData=void 0;const n=i(3734),o=i(643),a=i(511),h=i(2585);class c extends n.AttributeData{constructor(e,t,i){super(),this.content=0,this.combinedData=\"\",this.fg=e.fg,this.bg=e.bg,this.combinedData=t,this._width=i}isCombined(){return 2097152}getWidth(){return this._width}getChars(){return this.combinedData}getCode(){return 2097151}setFromCharData(e){throw new Error(\"not implemented\")}getAsCharData(){return[this.fg,this.getChars(),this.getWidth(),this.getCode()]}}t.JoinedCellData=c;let l=t.CharacterJoinerService=class e{constructor(e){this._bufferService=e,this._characterJoiners=[],this._nextCharacterJoinerId=0,this._workCell=new a.CellData}register(e){const t={id:this._nextCharacterJoinerId++,handler:e};return this._characterJoiners.push(t),t.id}deregister(e){for(let t=0;t1){const e=this._getJoinedRanges(s,a,n,t,r);for(let t=0;t1){const e=this._getJoinedRanges(s,a,n,t,r);for(let t=0;t{Object.defineProperty(t,\"__esModule\",{value:!0}),t.CoreBrowserService=void 0,t.CoreBrowserService=class{constructor(e,t){this._textarea=e,this.window=t,this._isFocused=!1,this._cachedIsFocused=void 0,this._textarea.addEventListener(\"focus\",(()=>this._isFocused=!0)),this._textarea.addEventListener(\"blur\",(()=>this._isFocused=!1))}get dpr(){return this.window.devicePixelRatio}get isFocused(){return void 0===this._cachedIsFocused&&(this._cachedIsFocused=this._isFocused&&this._textarea.ownerDocument.hasFocus(),queueMicrotask((()=>this._cachedIsFocused=void 0))),this._cachedIsFocused}}},8934:function(e,t,i){var s=this&&this.__decorate||function(e,t,i,s){var r,n=arguments.length,o=n<3?t:null===s?s=Object.getOwnPropertyDescriptor(t,i):s;if(\"object\"==typeof Reflect&&\"function\"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,s);else for(var a=e.length-1;a>=0;a--)(r=e[a])&&(o=(n<3?r(o):n>3?r(t,i,o):r(t,i))||o);return n>3&&o&&Object.defineProperty(t,i,o),o},r=this&&this.__param||function(e,t){return function(i,s){t(i,s,e)}};Object.defineProperty(t,\"__esModule\",{value:!0}),t.MouseService=void 0;const n=i(4725),o=i(9806);let a=t.MouseService=class{constructor(e,t){this._renderService=e,this._charSizeService=t}getCoords(e,t,i,s,r){return(0,o.getCoords)(window,e,t,i,s,this._charSizeService.hasValidSize,this._renderService.dimensions.css.cell.width,this._renderService.dimensions.css.cell.height,r)}getMouseReportCoords(e,t){const i=(0,o.getCoordsRelativeToElement)(window,e,t);if(this._charSizeService.hasValidSize)return i[0]=Math.min(Math.max(i[0],0),this._renderService.dimensions.css.canvas.width-1),i[1]=Math.min(Math.max(i[1],0),this._renderService.dimensions.css.canvas.height-1),{col:Math.floor(i[0]/this._renderService.dimensions.css.cell.width),row:Math.floor(i[1]/this._renderService.dimensions.css.cell.height),x:Math.floor(i[0]),y:Math.floor(i[1])}}};t.MouseService=a=s([r(0,n.IRenderService),r(1,n.ICharSizeService)],a)},3230:function(e,t,i){var s=this&&this.__decorate||function(e,t,i,s){var r,n=arguments.length,o=n<3?t:null===s?s=Object.getOwnPropertyDescriptor(t,i):s;if(\"object\"==typeof Reflect&&\"function\"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,s);else for(var a=e.length-1;a>=0;a--)(r=e[a])&&(o=(n<3?r(o):n>3?r(t,i,o):r(t,i))||o);return n>3&&o&&Object.defineProperty(t,i,o),o},r=this&&this.__param||function(e,t){return function(i,s){t(i,s,e)}};Object.defineProperty(t,\"__esModule\",{value:!0}),t.RenderService=void 0;const n=i(3656),o=i(6193),a=i(5596),h=i(4725),c=i(8460),l=i(844),d=i(7226),_=i(2585);let u=t.RenderService=class extends l.Disposable{get dimensions(){return this._renderer.value.dimensions}constructor(e,t,i,s,r,h,_,u){if(super(),this._rowCount=e,this._charSizeService=s,this._renderer=this.register(new l.MutableDisposable),this._pausedResizeTask=new d.DebouncedIdleTask,this._isPaused=!1,this._needsFullRefresh=!1,this._isNextRenderRedrawOnly=!0,this._needsSelectionRefresh=!1,this._canvasWidth=0,this._canvasHeight=0,this._selectionState={start:void 0,end:void 0,columnSelectMode:!1},this._onDimensionsChange=this.register(new c.EventEmitter),this.onDimensionsChange=this._onDimensionsChange.event,this._onRenderedViewportChange=this.register(new c.EventEmitter),this.onRenderedViewportChange=this._onRenderedViewportChange.event,this._onRender=this.register(new c.EventEmitter),this.onRender=this._onRender.event,this._onRefreshRequest=this.register(new c.EventEmitter),this.onRefreshRequest=this._onRefreshRequest.event,this._renderDebouncer=new o.RenderDebouncer(_.window,((e,t)=>this._renderRows(e,t))),this.register(this._renderDebouncer),this._screenDprMonitor=new a.ScreenDprMonitor(_.window),this._screenDprMonitor.setListener((()=>this.handleDevicePixelRatioChange())),this.register(this._screenDprMonitor),this.register(h.onResize((()=>this._fullRefresh()))),this.register(h.buffers.onBufferActivate((()=>{var e;return null===(e=this._renderer.value)||void 0===e?void 0:e.clear()}))),this.register(i.onOptionChange((()=>this._handleOptionsChanged()))),this.register(this._charSizeService.onCharSizeChange((()=>this.handleCharSizeChanged()))),this.register(r.onDecorationRegistered((()=>this._fullRefresh()))),this.register(r.onDecorationRemoved((()=>this._fullRefresh()))),this.register(i.onMultipleOptionChange([\"customGlyphs\",\"drawBoldTextInBrightColors\",\"letterSpacing\",\"lineHeight\",\"fontFamily\",\"fontSize\",\"fontWeight\",\"fontWeightBold\",\"minimumContrastRatio\"],(()=>{this.clear(),this.handleResize(h.cols,h.rows),this._fullRefresh()}))),this.register(i.onMultipleOptionChange([\"cursorBlink\",\"cursorStyle\"],(()=>this.refreshRows(h.buffer.y,h.buffer.y,!0)))),this.register((0,n.addDisposableDomListener)(_.window,\"resize\",(()=>this.handleDevicePixelRatioChange()))),this.register(u.onChangeColors((()=>this._fullRefresh()))),\"IntersectionObserver\"in _.window){const e=new _.window.IntersectionObserver((e=>this._handleIntersectionChange(e[e.length-1])),{threshold:0});e.observe(t),this.register({dispose:()=>e.disconnect()})}}_handleIntersectionChange(e){this._isPaused=void 0===e.isIntersecting?0===e.intersectionRatio:!e.isIntersecting,this._isPaused||this._charSizeService.hasValidSize||this._charSizeService.measure(),!this._isPaused&&this._needsFullRefresh&&(this._pausedResizeTask.flush(),this.refreshRows(0,this._rowCount-1),this._needsFullRefresh=!1)}refreshRows(e,t,i=!1){this._isPaused?this._needsFullRefresh=!0:(i||(this._isNextRenderRedrawOnly=!1),this._renderDebouncer.refresh(e,t,this._rowCount))}_renderRows(e,t){this._renderer.value&&(e=Math.min(e,this._rowCount-1),t=Math.min(t,this._rowCount-1),this._renderer.value.renderRows(e,t),this._needsSelectionRefresh&&(this._renderer.value.handleSelectionChanged(this._selectionState.start,this._selectionState.end,this._selectionState.columnSelectMode),this._needsSelectionRefresh=!1),this._isNextRenderRedrawOnly||this._onRenderedViewportChange.fire({start:e,end:t}),this._onRender.fire({start:e,end:t}),this._isNextRenderRedrawOnly=!0)}resize(e,t){this._rowCount=t,this._fireOnCanvasResize()}_handleOptionsChanged(){this._renderer.value&&(this.refreshRows(0,this._rowCount-1),this._fireOnCanvasResize())}_fireOnCanvasResize(){this._renderer.value&&(this._renderer.value.dimensions.css.canvas.width===this._canvasWidth&&this._renderer.value.dimensions.css.canvas.height===this._canvasHeight||this._onDimensionsChange.fire(this._renderer.value.dimensions))}hasRenderer(){return!!this._renderer.value}setRenderer(e){this._renderer.value=e,this._renderer.value.onRequestRedraw((e=>this.refreshRows(e.start,e.end,!0))),this._needsSelectionRefresh=!0,this._fullRefresh()}addRefreshCallback(e){return this._renderDebouncer.addRefreshCallback(e)}_fullRefresh(){this._isPaused?this._needsFullRefresh=!0:this.refreshRows(0,this._rowCount-1)}clearTextureAtlas(){var e,t;this._renderer.value&&(null===(t=(e=this._renderer.value).clearTextureAtlas)||void 0===t||t.call(e),this._fullRefresh())}handleDevicePixelRatioChange(){this._charSizeService.measure(),this._renderer.value&&(this._renderer.value.handleDevicePixelRatioChange(),this.refreshRows(0,this._rowCount-1))}handleResize(e,t){this._renderer.value&&(this._isPaused?this._pausedResizeTask.set((()=>this._renderer.value.handleResize(e,t))):this._renderer.value.handleResize(e,t),this._fullRefresh())}handleCharSizeChanged(){var e;null===(e=this._renderer.value)||void 0===e||e.handleCharSizeChanged()}handleBlur(){var e;null===(e=this._renderer.value)||void 0===e||e.handleBlur()}handleFocus(){var e;null===(e=this._renderer.value)||void 0===e||e.handleFocus()}handleSelectionChanged(e,t,i){var s;this._selectionState.start=e,this._selectionState.end=t,this._selectionState.columnSelectMode=i,null===(s=this._renderer.value)||void 0===s||s.handleSelectionChanged(e,t,i)}handleCursorMove(){var e;null===(e=this._renderer.value)||void 0===e||e.handleCursorMove()}clear(){var e;null===(e=this._renderer.value)||void 0===e||e.clear()}};t.RenderService=u=s([r(2,_.IOptionsService),r(3,h.ICharSizeService),r(4,_.IDecorationService),r(5,_.IBufferService),r(6,h.ICoreBrowserService),r(7,h.IThemeService)],u)},9312:function(e,t,i){var s=this&&this.__decorate||function(e,t,i,s){var r,n=arguments.length,o=n<3?t:null===s?s=Object.getOwnPropertyDescriptor(t,i):s;if(\"object\"==typeof Reflect&&\"function\"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,s);else for(var a=e.length-1;a>=0;a--)(r=e[a])&&(o=(n<3?r(o):n>3?r(t,i,o):r(t,i))||o);return n>3&&o&&Object.defineProperty(t,i,o),o},r=this&&this.__param||function(e,t){return function(i,s){t(i,s,e)}};Object.defineProperty(t,\"__esModule\",{value:!0}),t.SelectionService=void 0;const n=i(9806),o=i(9504),a=i(456),h=i(4725),c=i(8460),l=i(844),d=i(6114),_=i(4841),u=i(511),f=i(2585),v=String.fromCharCode(160),p=new RegExp(v,\"g\");let g=t.SelectionService=class extends l.Disposable{constructor(e,t,i,s,r,n,o,h,d){super(),this._element=e,this._screenElement=t,this._linkifier=i,this._bufferService=s,this._coreService=r,this._mouseService=n,this._optionsService=o,this._renderService=h,this._coreBrowserService=d,this._dragScrollAmount=0,this._enabled=!0,this._workCell=new u.CellData,this._mouseDownTimeStamp=0,this._oldHasSelection=!1,this._oldSelectionStart=void 0,this._oldSelectionEnd=void 0,this._onLinuxMouseSelection=this.register(new c.EventEmitter),this.onLinuxMouseSelection=this._onLinuxMouseSelection.event,this._onRedrawRequest=this.register(new c.EventEmitter),this.onRequestRedraw=this._onRedrawRequest.event,this._onSelectionChange=this.register(new c.EventEmitter),this.onSelectionChange=this._onSelectionChange.event,this._onRequestScrollLines=this.register(new c.EventEmitter),this.onRequestScrollLines=this._onRequestScrollLines.event,this._mouseMoveListener=e=>this._handleMouseMove(e),this._mouseUpListener=e=>this._handleMouseUp(e),this._coreService.onUserInput((()=>{this.hasSelection&&this.clearSelection()})),this._trimListener=this._bufferService.buffer.lines.onTrim((e=>this._handleTrim(e))),this.register(this._bufferService.buffers.onBufferActivate((e=>this._handleBufferActivate(e)))),this.enable(),this._model=new a.SelectionModel(this._bufferService),this._activeSelectionMode=0,this.register((0,l.toDisposable)((()=>{this._removeMouseDownListeners()})))}reset(){this.clearSelection()}disable(){this.clearSelection(),this._enabled=!1}enable(){this._enabled=!0}get selectionStart(){return this._model.finalSelectionStart}get selectionEnd(){return this._model.finalSelectionEnd}get hasSelection(){const e=this._model.finalSelectionStart,t=this._model.finalSelectionEnd;return!(!e||!t||e[0]===t[0]&&e[1]===t[1])}get selectionText(){const e=this._model.finalSelectionStart,t=this._model.finalSelectionEnd;if(!e||!t)return\"\";const i=this._bufferService.buffer,s=[];if(3===this._activeSelectionMode){if(e[0]===t[0])return\"\";const r=e[0]e.replace(p,\" \"))).join(d.isWindows?\"\\r\\n\":\"\\n\")}clearSelection(){this._model.clearSelection(),this._removeMouseDownListeners(),this.refresh(),this._onSelectionChange.fire()}refresh(e){this._refreshAnimationFrame||(this._refreshAnimationFrame=this._coreBrowserService.window.requestAnimationFrame((()=>this._refresh()))),d.isLinux&&e&&this.selectionText.length&&this._onLinuxMouseSelection.fire(this.selectionText)}_refresh(){this._refreshAnimationFrame=void 0,this._onRedrawRequest.fire({start:this._model.finalSelectionStart,end:this._model.finalSelectionEnd,columnSelectMode:3===this._activeSelectionMode})}_isClickInSelection(e){const t=this._getMouseBufferCoords(e),i=this._model.finalSelectionStart,s=this._model.finalSelectionEnd;return!!(i&&s&&t)&&this._areCoordsInSelection(t,i,s)}isCellInSelection(e,t){const i=this._model.finalSelectionStart,s=this._model.finalSelectionEnd;return!(!i||!s)&&this._areCoordsInSelection([e,t],i,s)}_areCoordsInSelection(e,t,i){return e[1]>t[1]&&e[1]=t[0]&&e[0]=t[0]}_selectWordAtCursor(e,t){var i,s;const r=null===(s=null===(i=this._linkifier.currentLink)||void 0===i?void 0:i.link)||void 0===s?void 0:s.range;if(r)return this._model.selectionStart=[r.start.x-1,r.start.y-1],this._model.selectionStartLength=(0,_.getRangeLength)(r,this._bufferService.cols),this._model.selectionEnd=void 0,!0;const n=this._getMouseBufferCoords(e);return!!n&&(this._selectWordAt(n,t),this._model.selectionEnd=void 0,!0)}selectAll(){this._model.isSelectAllActive=!0,this.refresh(),this._onSelectionChange.fire()}selectLines(e,t){this._model.clearSelection(),e=Math.max(e,0),t=Math.min(t,this._bufferService.buffer.lines.length-1),this._model.selectionStart=[0,e],this._model.selectionEnd=[this._bufferService.cols,t],this.refresh(),this._onSelectionChange.fire()}_handleTrim(e){this._model.handleTrim(e)&&this.refresh()}_getMouseBufferCoords(e){const t=this._mouseService.getCoords(e,this._screenElement,this._bufferService.cols,this._bufferService.rows,!0);if(t)return t[0]--,t[1]--,t[1]+=this._bufferService.buffer.ydisp,t}_getMouseEventScrollAmount(e){let t=(0,n.getCoordsRelativeToElement)(this._coreBrowserService.window,e,this._screenElement)[1];const i=this._renderService.dimensions.css.canvas.height;return t>=0&&t<=i?0:(t>i&&(t-=i),t=Math.min(Math.max(t,-50),50),t/=50,t/Math.abs(t)+Math.round(14*t))}shouldForceSelection(e){return d.isMac?e.altKey&&this._optionsService.rawOptions.macOptionClickForcesSelection:e.shiftKey}handleMouseDown(e){if(this._mouseDownTimeStamp=e.timeStamp,(2!==e.button||!this.hasSelection)&&0===e.button){if(!this._enabled){if(!this.shouldForceSelection(e))return;e.stopPropagation()}e.preventDefault(),this._dragScrollAmount=0,this._enabled&&e.shiftKey?this._handleIncrementalClick(e):1===e.detail?this._handleSingleClick(e):2===e.detail?this._handleDoubleClick(e):3===e.detail&&this._handleTripleClick(e),this._addMouseDownListeners(),this.refresh(!0)}}_addMouseDownListeners(){this._screenElement.ownerDocument&&(this._screenElement.ownerDocument.addEventListener(\"mousemove\",this._mouseMoveListener),this._screenElement.ownerDocument.addEventListener(\"mouseup\",this._mouseUpListener)),this._dragScrollIntervalTimer=this._coreBrowserService.window.setInterval((()=>this._dragScroll()),50)}_removeMouseDownListeners(){this._screenElement.ownerDocument&&(this._screenElement.ownerDocument.removeEventListener(\"mousemove\",this._mouseMoveListener),this._screenElement.ownerDocument.removeEventListener(\"mouseup\",this._mouseUpListener)),this._coreBrowserService.window.clearInterval(this._dragScrollIntervalTimer),this._dragScrollIntervalTimer=void 0}_handleIncrementalClick(e){this._model.selectionStart&&(this._model.selectionEnd=this._getMouseBufferCoords(e))}_handleSingleClick(e){if(this._model.selectionStartLength=0,this._model.isSelectAllActive=!1,this._activeSelectionMode=this.shouldColumnSelect(e)?3:0,this._model.selectionStart=this._getMouseBufferCoords(e),!this._model.selectionStart)return;this._model.selectionEnd=void 0;const t=this._bufferService.buffer.lines.get(this._model.selectionStart[1]);t&&t.length!==this._model.selectionStart[0]&&0===t.hasWidth(this._model.selectionStart[0])&&this._model.selectionStart[0]++}_handleDoubleClick(e){this._selectWordAtCursor(e,!0)&&(this._activeSelectionMode=1)}_handleTripleClick(e){const t=this._getMouseBufferCoords(e);t&&(this._activeSelectionMode=2,this._selectLineAt(t[1]))}shouldColumnSelect(e){return e.altKey&&!(d.isMac&&this._optionsService.rawOptions.macOptionClickForcesSelection)}_handleMouseMove(e){if(e.stopImmediatePropagation(),!this._model.selectionStart)return;const t=this._model.selectionEnd?[this._model.selectionEnd[0],this._model.selectionEnd[1]]:null;if(this._model.selectionEnd=this._getMouseBufferCoords(e),!this._model.selectionEnd)return void this.refresh(!0);2===this._activeSelectionMode?this._model.selectionEnd[1]0?this._model.selectionEnd[0]=this._bufferService.cols:this._dragScrollAmount<0&&(this._model.selectionEnd[0]=0));const i=this._bufferService.buffer;if(this._model.selectionEnd[1]0?(3!==this._activeSelectionMode&&(this._model.selectionEnd[0]=this._bufferService.cols),this._model.selectionEnd[1]=Math.min(e.ydisp+this._bufferService.rows,e.lines.length-1)):(3!==this._activeSelectionMode&&(this._model.selectionEnd[0]=0),this._model.selectionEnd[1]=e.ydisp),this.refresh()}}_handleMouseUp(e){const t=e.timeStamp-this._mouseDownTimeStamp;if(this._removeMouseDownListeners(),this.selectionText.length<=1&&t<500&&e.altKey&&this._optionsService.rawOptions.altClickMovesCursor){if(this._bufferService.buffer.ybase===this._bufferService.buffer.ydisp){const t=this._mouseService.getCoords(e,this._element,this._bufferService.cols,this._bufferService.rows,!1);if(t&&void 0!==t[0]&&void 0!==t[1]){const e=(0,o.moveToCellSequence)(t[0]-1,t[1]-1,this._bufferService,this._coreService.decPrivateModes.applicationCursorKeys);this._coreService.triggerDataEvent(e,!0)}}}else this._fireEventIfSelectionChanged()}_fireEventIfSelectionChanged(){const e=this._model.finalSelectionStart,t=this._model.finalSelectionEnd,i=!(!e||!t||e[0]===t[0]&&e[1]===t[1]);i?e&&t&&(this._oldSelectionStart&&this._oldSelectionEnd&&e[0]===this._oldSelectionStart[0]&&e[1]===this._oldSelectionStart[1]&&t[0]===this._oldSelectionEnd[0]&&t[1]===this._oldSelectionEnd[1]||this._fireOnSelectionChange(e,t,i)):this._oldHasSelection&&this._fireOnSelectionChange(e,t,i)}_fireOnSelectionChange(e,t,i){this._oldSelectionStart=e,this._oldSelectionEnd=t,this._oldHasSelection=i,this._onSelectionChange.fire()}_handleBufferActivate(e){this.clearSelection(),this._trimListener.dispose(),this._trimListener=e.activeBuffer.lines.onTrim((e=>this._handleTrim(e)))}_convertViewportColToCharacterIndex(e,t){let i=t;for(let s=0;t>=s;s++){const r=e.loadCell(s,this._workCell).getChars().length;0===this._workCell.getWidth()?i--:r>1&&t!==s&&(i+=r-1)}return i}setSelection(e,t,i){this._model.clearSelection(),this._removeMouseDownListeners(),this._model.selectionStart=[e,t],this._model.selectionStartLength=i,this.refresh(),this._fireEventIfSelectionChanged()}rightClickSelect(e){this._isClickInSelection(e)||(this._selectWordAtCursor(e,!1)&&this.refresh(!0),this._fireEventIfSelectionChanged())}_getWordAt(e,t,i=!0,s=!0){if(e[0]>=this._bufferService.cols)return;const r=this._bufferService.buffer,n=r.lines.get(e[1]);if(!n)return;const o=r.translateBufferLineToString(e[1],!1);let a=this._convertViewportColToCharacterIndex(n,e[0]),h=a;const c=e[0]-a;let l=0,d=0,_=0,u=0;if(\" \"===o.charAt(a)){for(;a>0&&\" \"===o.charAt(a-1);)a--;for(;h1&&(u+=s-1,h+=s-1);t>0&&a>0&&!this._isCharWordSeparator(n.loadCell(t-1,this._workCell));){n.loadCell(t-1,this._workCell);const e=this._workCell.getChars().length;0===this._workCell.getWidth()?(l++,t--):e>1&&(_+=e-1,a-=e-1),a--,t--}for(;i1&&(u+=e-1,h+=e-1),h++,i++}}h++;let f=a+c-l+_,v=Math.min(this._bufferService.cols,h-a+l+d-_-u);if(t||\"\"!==o.slice(a,h).trim()){if(i&&0===f&&32!==n.getCodePoint(0)){const t=r.lines.get(e[1]-1);if(t&&n.isWrapped&&32!==t.getCodePoint(this._bufferService.cols-1)){const t=this._getWordAt([this._bufferService.cols-1,e[1]-1],!1,!0,!1);if(t){const e=this._bufferService.cols-t.start;f-=e,v+=e}}}if(s&&f+v===this._bufferService.cols&&32!==n.getCodePoint(this._bufferService.cols-1)){const t=r.lines.get(e[1]+1);if((null==t?void 0:t.isWrapped)&&32!==t.getCodePoint(0)){const t=this._getWordAt([0,e[1]+1],!1,!1,!0);t&&(v+=t.length)}}return{start:f,length:v}}}_selectWordAt(e,t){const i=this._getWordAt(e,t);if(i){for(;i.start<0;)i.start+=this._bufferService.cols,e[1]--;this._model.selectionStart=[i.start,e[1]],this._model.selectionStartLength=i.length}}_selectToWordAt(e){const t=this._getWordAt(e,!0);if(t){let i=e[1];for(;t.start<0;)t.start+=this._bufferService.cols,i--;if(!this._model.areSelectionValuesReversed())for(;t.start+t.length>this._bufferService.cols;)t.length-=this._bufferService.cols,i++;this._model.selectionEnd=[this._model.areSelectionValuesReversed()?t.start:t.start+t.length,i]}}_isCharWordSeparator(e){return 0!==e.getWidth()&&this._optionsService.rawOptions.wordSeparator.indexOf(e.getChars())>=0}_selectLineAt(e){const t=this._bufferService.buffer.getWrappedRangeForLine(e),i={start:{x:0,y:t.first},end:{x:this._bufferService.cols-1,y:t.last}};this._model.selectionStart=[0,t.first],this._model.selectionEnd=void 0,this._model.selectionStartLength=(0,_.getRangeLength)(i,this._bufferService.cols)}};t.SelectionService=g=s([r(3,f.IBufferService),r(4,f.ICoreService),r(5,h.IMouseService),r(6,f.IOptionsService),r(7,h.IRenderService),r(8,h.ICoreBrowserService)],g)},4725:(e,t,i)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.IThemeService=t.ICharacterJoinerService=t.ISelectionService=t.IRenderService=t.IMouseService=t.ICoreBrowserService=t.ICharSizeService=void 0;const s=i(8343);t.ICharSizeService=(0,s.createDecorator)(\"CharSizeService\"),t.ICoreBrowserService=(0,s.createDecorator)(\"CoreBrowserService\"),t.IMouseService=(0,s.createDecorator)(\"MouseService\"),t.IRenderService=(0,s.createDecorator)(\"RenderService\"),t.ISelectionService=(0,s.createDecorator)(\"SelectionService\"),t.ICharacterJoinerService=(0,s.createDecorator)(\"CharacterJoinerService\"),t.IThemeService=(0,s.createDecorator)(\"ThemeService\")},6731:function(e,t,i){var s=this&&this.__decorate||function(e,t,i,s){var r,n=arguments.length,o=n<3?t:null===s?s=Object.getOwnPropertyDescriptor(t,i):s;if(\"object\"==typeof Reflect&&\"function\"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,s);else for(var a=e.length-1;a>=0;a--)(r=e[a])&&(o=(n<3?r(o):n>3?r(t,i,o):r(t,i))||o);return n>3&&o&&Object.defineProperty(t,i,o),o},r=this&&this.__param||function(e,t){return function(i,s){t(i,s,e)}};Object.defineProperty(t,\"__esModule\",{value:!0}),t.ThemeService=t.DEFAULT_ANSI_COLORS=void 0;const n=i(7239),o=i(8055),a=i(8460),h=i(844),c=i(2585),l=o.css.toColor(\"#ffffff\"),d=o.css.toColor(\"#000000\"),_=o.css.toColor(\"#ffffff\"),u=o.css.toColor(\"#000000\"),f={css:\"rgba(255, 255, 255, 0.3)\",rgba:4294967117};t.DEFAULT_ANSI_COLORS=Object.freeze((()=>{const e=[o.css.toColor(\"#2e3436\"),o.css.toColor(\"#cc0000\"),o.css.toColor(\"#4e9a06\"),o.css.toColor(\"#c4a000\"),o.css.toColor(\"#3465a4\"),o.css.toColor(\"#75507b\"),o.css.toColor(\"#06989a\"),o.css.toColor(\"#d3d7cf\"),o.css.toColor(\"#555753\"),o.css.toColor(\"#ef2929\"),o.css.toColor(\"#8ae234\"),o.css.toColor(\"#fce94f\"),o.css.toColor(\"#729fcf\"),o.css.toColor(\"#ad7fa8\"),o.css.toColor(\"#34e2e2\"),o.css.toColor(\"#eeeeec\")],t=[0,95,135,175,215,255];for(let i=0;i<216;i++){const s=t[i/36%6|0],r=t[i/6%6|0],n=t[i%6];e.push({css:o.channels.toCss(s,r,n),rgba:o.channels.toRgba(s,r,n)})}for(let t=0;t<24;t++){const i=8+10*t;e.push({css:o.channels.toCss(i,i,i),rgba:o.channels.toRgba(i,i,i)})}return e})());let v=t.ThemeService=class extends h.Disposable{get colors(){return this._colors}constructor(e){super(),this._optionsService=e,this._contrastCache=new n.ColorContrastCache,this._halfContrastCache=new n.ColorContrastCache,this._onChangeColors=this.register(new a.EventEmitter),this.onChangeColors=this._onChangeColors.event,this._colors={foreground:l,background:d,cursor:_,cursorAccent:u,selectionForeground:void 0,selectionBackgroundTransparent:f,selectionBackgroundOpaque:o.color.blend(d,f),selectionInactiveBackgroundTransparent:f,selectionInactiveBackgroundOpaque:o.color.blend(d,f),ansi:t.DEFAULT_ANSI_COLORS.slice(),contrastCache:this._contrastCache,halfContrastCache:this._halfContrastCache},this._updateRestoreColors(),this._setTheme(this._optionsService.rawOptions.theme),this.register(this._optionsService.onSpecificOptionChange(\"minimumContrastRatio\",(()=>this._contrastCache.clear()))),this.register(this._optionsService.onSpecificOptionChange(\"theme\",(()=>this._setTheme(this._optionsService.rawOptions.theme))))}_setTheme(e={}){const i=this._colors;if(i.foreground=p(e.foreground,l),i.background=p(e.background,d),i.cursor=p(e.cursor,_),i.cursorAccent=p(e.cursorAccent,u),i.selectionBackgroundTransparent=p(e.selectionBackground,f),i.selectionBackgroundOpaque=o.color.blend(i.background,i.selectionBackgroundTransparent),i.selectionInactiveBackgroundTransparent=p(e.selectionInactiveBackground,i.selectionBackgroundTransparent),i.selectionInactiveBackgroundOpaque=o.color.blend(i.background,i.selectionInactiveBackgroundTransparent),i.selectionForeground=e.selectionForeground?p(e.selectionForeground,o.NULL_COLOR):void 0,i.selectionForeground===o.NULL_COLOR&&(i.selectionForeground=void 0),o.color.isOpaque(i.selectionBackgroundTransparent)){const e=.3;i.selectionBackgroundTransparent=o.color.opacity(i.selectionBackgroundTransparent,e)}if(o.color.isOpaque(i.selectionInactiveBackgroundTransparent)){const e=.3;i.selectionInactiveBackgroundTransparent=o.color.opacity(i.selectionInactiveBackgroundTransparent,e)}if(i.ansi=t.DEFAULT_ANSI_COLORS.slice(),i.ansi[0]=p(e.black,t.DEFAULT_ANSI_COLORS[0]),i.ansi[1]=p(e.red,t.DEFAULT_ANSI_COLORS[1]),i.ansi[2]=p(e.green,t.DEFAULT_ANSI_COLORS[2]),i.ansi[3]=p(e.yellow,t.DEFAULT_ANSI_COLORS[3]),i.ansi[4]=p(e.blue,t.DEFAULT_ANSI_COLORS[4]),i.ansi[5]=p(e.magenta,t.DEFAULT_ANSI_COLORS[5]),i.ansi[6]=p(e.cyan,t.DEFAULT_ANSI_COLORS[6]),i.ansi[7]=p(e.white,t.DEFAULT_ANSI_COLORS[7]),i.ansi[8]=p(e.brightBlack,t.DEFAULT_ANSI_COLORS[8]),i.ansi[9]=p(e.brightRed,t.DEFAULT_ANSI_COLORS[9]),i.ansi[10]=p(e.brightGreen,t.DEFAULT_ANSI_COLORS[10]),i.ansi[11]=p(e.brightYellow,t.DEFAULT_ANSI_COLORS[11]),i.ansi[12]=p(e.brightBlue,t.DEFAULT_ANSI_COLORS[12]),i.ansi[13]=p(e.brightMagenta,t.DEFAULT_ANSI_COLORS[13]),i.ansi[14]=p(e.brightCyan,t.DEFAULT_ANSI_COLORS[14]),i.ansi[15]=p(e.brightWhite,t.DEFAULT_ANSI_COLORS[15]),e.extendedAnsi){const s=Math.min(i.ansi.length-16,e.extendedAnsi.length);for(let r=0;r{Object.defineProperty(t,\"__esModule\",{value:!0}),t.CircularList=void 0;const s=i(8460),r=i(844);class n extends r.Disposable{constructor(e){super(),this._maxLength=e,this.onDeleteEmitter=this.register(new s.EventEmitter),this.onDelete=this.onDeleteEmitter.event,this.onInsertEmitter=this.register(new s.EventEmitter),this.onInsert=this.onInsertEmitter.event,this.onTrimEmitter=this.register(new s.EventEmitter),this.onTrim=this.onTrimEmitter.event,this._array=new Array(this._maxLength),this._startIndex=0,this._length=0}get maxLength(){return this._maxLength}set maxLength(e){if(this._maxLength===e)return;const t=new Array(e);for(let i=0;ithis._length)for(let t=this._length;t=e;t--)this._array[this._getCyclicIndex(t+i.length)]=this._array[this._getCyclicIndex(t)];for(let t=0;tthis._maxLength){const e=this._length+i.length-this._maxLength;this._startIndex+=e,this._length=this._maxLength,this.onTrimEmitter.fire(e)}else this._length+=i.length}trimStart(e){e>this._length&&(e=this._length),this._startIndex+=e,this._length-=e,this.onTrimEmitter.fire(e)}shiftElements(e,t,i){if(!(t<=0)){if(e<0||e>=this._length)throw new Error(\"start argument out of range\");if(e+i<0)throw new Error(\"Cannot shift elements in list beyond index 0\");if(i>0){for(let s=t-1;s>=0;s--)this.set(e+s+i,this.get(e+s));const s=e+t+i-this._length;if(s>0)for(this._length+=s;this._length>this._maxLength;)this._length--,this._startIndex++,this.onTrimEmitter.fire(1)}else for(let s=0;s{Object.defineProperty(t,\"__esModule\",{value:!0}),t.clone=void 0,t.clone=function e(t,i=5){if(\"object\"!=typeof t)return t;const s=Array.isArray(t)?[]:{};for(const r in t)s[r]=i<=1?t[r]:t[r]&&e(t[r],i-1);return s}},8055:(e,t,i)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.contrastRatio=t.toPaddedHex=t.rgba=t.rgb=t.css=t.color=t.channels=t.NULL_COLOR=void 0;const s=i(6114);let r=0,n=0,o=0,a=0;var h,c,l,d,_;function u(e){const t=e.toString(16);return t.length<2?\"0\"+t:t}function f(e,t){return e>>0}}(h||(t.channels=h={})),function(e){function t(e,t){return a=Math.round(255*t),[r,n,o]=_.toChannels(e.rgba),{css:h.toCss(r,n,o,a),rgba:h.toRgba(r,n,o,a)}}e.blend=function(e,t){if(a=(255&t.rgba)/255,1===a)return{css:t.css,rgba:t.rgba};const i=t.rgba>>24&255,s=t.rgba>>16&255,c=t.rgba>>8&255,l=e.rgba>>24&255,d=e.rgba>>16&255,_=e.rgba>>8&255;return r=l+Math.round((i-l)*a),n=d+Math.round((s-d)*a),o=_+Math.round((c-_)*a),{css:h.toCss(r,n,o),rgba:h.toRgba(r,n,o)}},e.isOpaque=function(e){return 255==(255&e.rgba)},e.ensureContrastRatio=function(e,t,i){const s=_.ensureContrastRatio(e.rgba,t.rgba,i);if(s)return _.toColor(s>>24&255,s>>16&255,s>>8&255)},e.opaque=function(e){const t=(255|e.rgba)>>>0;return[r,n,o]=_.toChannels(t),{css:h.toCss(r,n,o),rgba:t}},e.opacity=t,e.multiplyOpacity=function(e,i){return a=255&e.rgba,t(e,a*i/255)},e.toColorRGB=function(e){return[e.rgba>>24&255,e.rgba>>16&255,e.rgba>>8&255]}}(c||(t.color=c={})),function(e){let t,i;if(!s.isNode){const e=document.createElement(\"canvas\");e.width=1,e.height=1;const s=e.getContext(\"2d\",{willReadFrequently:!0});s&&(t=s,t.globalCompositeOperation=\"copy\",i=t.createLinearGradient(0,0,1,1))}e.toColor=function(e){if(e.match(/#[\\da-f]{3,8}/i))switch(e.length){case 4:return r=parseInt(e.slice(1,2).repeat(2),16),n=parseInt(e.slice(2,3).repeat(2),16),o=parseInt(e.slice(3,4).repeat(2),16),_.toColor(r,n,o);case 5:return r=parseInt(e.slice(1,2).repeat(2),16),n=parseInt(e.slice(2,3).repeat(2),16),o=parseInt(e.slice(3,4).repeat(2),16),a=parseInt(e.slice(4,5).repeat(2),16),_.toColor(r,n,o,a);case 7:return{css:e,rgba:(parseInt(e.slice(1),16)<<8|255)>>>0};case 9:return{css:e,rgba:parseInt(e.slice(1),16)>>>0}}const s=e.match(/rgba?\\(\\s*(\\d{1,3})\\s*,\\s*(\\d{1,3})\\s*,\\s*(\\d{1,3})\\s*(,\\s*(0|1|\\d?\\.(\\d+))\\s*)?\\)/);if(s)return r=parseInt(s[1]),n=parseInt(s[2]),o=parseInt(s[3]),a=Math.round(255*(void 0===s[5]?1:parseFloat(s[5]))),_.toColor(r,n,o,a);if(!t||!i)throw new Error(\"css.toColor: Unsupported css format\");if(t.fillStyle=i,t.fillStyle=e,\"string\"!=typeof t.fillStyle)throw new Error(\"css.toColor: Unsupported css format\");if(t.fillRect(0,0,1,1),[r,n,o,a]=t.getImageData(0,0,1,1).data,255!==a)throw new Error(\"css.toColor: Unsupported css format\");return{rgba:h.toRgba(r,n,o,a),css:e}}}(l||(t.css=l={})),function(e){function t(e,t,i){const s=e/255,r=t/255,n=i/255;return.2126*(s<=.03928?s/12.92:Math.pow((s+.055)/1.055,2.4))+.7152*(r<=.03928?r/12.92:Math.pow((r+.055)/1.055,2.4))+.0722*(n<=.03928?n/12.92:Math.pow((n+.055)/1.055,2.4))}e.relativeLuminance=function(e){return t(e>>16&255,e>>8&255,255&e)},e.relativeLuminance2=t}(d||(t.rgb=d={})),function(e){function t(e,t,i){const s=e>>24&255,r=e>>16&255,n=e>>8&255;let o=t>>24&255,a=t>>16&255,h=t>>8&255,c=f(d.relativeLuminance2(o,a,h),d.relativeLuminance2(s,r,n));for(;c0||a>0||h>0);)o-=Math.max(0,Math.ceil(.1*o)),a-=Math.max(0,Math.ceil(.1*a)),h-=Math.max(0,Math.ceil(.1*h)),c=f(d.relativeLuminance2(o,a,h),d.relativeLuminance2(s,r,n));return(o<<24|a<<16|h<<8|255)>>>0}function i(e,t,i){const s=e>>24&255,r=e>>16&255,n=e>>8&255;let o=t>>24&255,a=t>>16&255,h=t>>8&255,c=f(d.relativeLuminance2(o,a,h),d.relativeLuminance2(s,r,n));for(;c>>0}e.ensureContrastRatio=function(e,s,r){const n=d.relativeLuminance(e>>8),o=d.relativeLuminance(s>>8);if(f(n,o)>8));if(af(n,d.relativeLuminance(t>>8))?o:t}return o}const a=i(e,s,r),h=f(n,d.relativeLuminance(a>>8));if(hf(n,d.relativeLuminance(i>>8))?a:i}return a}},e.reduceLuminance=t,e.increaseLuminance=i,e.toChannels=function(e){return[e>>24&255,e>>16&255,e>>8&255,255&e]},e.toColor=function(e,t,i,s){return{css:h.toCss(e,t,i,s),rgba:h.toRgba(e,t,i,s)}}}(_||(t.rgba=_={})),t.toPaddedHex=u,t.contrastRatio=f},8969:(e,t,i)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.CoreTerminal=void 0;const s=i(844),r=i(2585),n=i(4348),o=i(7866),a=i(744),h=i(7302),c=i(6975),l=i(8460),d=i(1753),_=i(1480),u=i(7994),f=i(9282),v=i(5435),p=i(5981),g=i(2660);let m=!1;class S extends s.Disposable{get onScroll(){return this._onScrollApi||(this._onScrollApi=this.register(new l.EventEmitter),this._onScroll.event((e=>{var t;null===(t=this._onScrollApi)||void 0===t||t.fire(e.position)}))),this._onScrollApi.event}get cols(){return this._bufferService.cols}get rows(){return this._bufferService.rows}get buffers(){return this._bufferService.buffers}get options(){return this.optionsService.options}set options(e){for(const t in e)this.optionsService.options[t]=e[t]}constructor(e){super(),this._windowsWrappingHeuristics=this.register(new s.MutableDisposable),this._onBinary=this.register(new l.EventEmitter),this.onBinary=this._onBinary.event,this._onData=this.register(new l.EventEmitter),this.onData=this._onData.event,this._onLineFeed=this.register(new l.EventEmitter),this.onLineFeed=this._onLineFeed.event,this._onResize=this.register(new l.EventEmitter),this.onResize=this._onResize.event,this._onWriteParsed=this.register(new l.EventEmitter),this.onWriteParsed=this._onWriteParsed.event,this._onScroll=this.register(new l.EventEmitter),this._instantiationService=new n.InstantiationService,this.optionsService=this.register(new h.OptionsService(e)),this._instantiationService.setService(r.IOptionsService,this.optionsService),this._bufferService=this.register(this._instantiationService.createInstance(a.BufferService)),this._instantiationService.setService(r.IBufferService,this._bufferService),this._logService=this.register(this._instantiationService.createInstance(o.LogService)),this._instantiationService.setService(r.ILogService,this._logService),this.coreService=this.register(this._instantiationService.createInstance(c.CoreService)),this._instantiationService.setService(r.ICoreService,this.coreService),this.coreMouseService=this.register(this._instantiationService.createInstance(d.CoreMouseService)),this._instantiationService.setService(r.ICoreMouseService,this.coreMouseService),this.unicodeService=this.register(this._instantiationService.createInstance(_.UnicodeService)),this._instantiationService.setService(r.IUnicodeService,this.unicodeService),this._charsetService=this._instantiationService.createInstance(u.CharsetService),this._instantiationService.setService(r.ICharsetService,this._charsetService),this._oscLinkService=this._instantiationService.createInstance(g.OscLinkService),this._instantiationService.setService(r.IOscLinkService,this._oscLinkService),this._inputHandler=this.register(new v.InputHandler(this._bufferService,this._charsetService,this.coreService,this._logService,this.optionsService,this._oscLinkService,this.coreMouseService,this.unicodeService)),this.register((0,l.forwardEvent)(this._inputHandler.onLineFeed,this._onLineFeed)),this.register(this._inputHandler),this.register((0,l.forwardEvent)(this._bufferService.onResize,this._onResize)),this.register((0,l.forwardEvent)(this.coreService.onData,this._onData)),this.register((0,l.forwardEvent)(this.coreService.onBinary,this._onBinary)),this.register(this.coreService.onRequestScrollToBottom((()=>this.scrollToBottom()))),this.register(this.coreService.onUserInput((()=>this._writeBuffer.handleUserInput()))),this.register(this.optionsService.onMultipleOptionChange([\"windowsMode\",\"windowsPty\"],(()=>this._handleWindowsPtyOptionChange()))),this.register(this._bufferService.onScroll((e=>{this._onScroll.fire({position:this._bufferService.buffer.ydisp,source:0}),this._inputHandler.markRangeDirty(this._bufferService.buffer.scrollTop,this._bufferService.buffer.scrollBottom)}))),this.register(this._inputHandler.onScroll((e=>{this._onScroll.fire({position:this._bufferService.buffer.ydisp,source:0}),this._inputHandler.markRangeDirty(this._bufferService.buffer.scrollTop,this._bufferService.buffer.scrollBottom)}))),this._writeBuffer=this.register(new p.WriteBuffer(((e,t)=>this._inputHandler.parse(e,t)))),this.register((0,l.forwardEvent)(this._writeBuffer.onWriteParsed,this._onWriteParsed))}write(e,t){this._writeBuffer.write(e,t)}writeSync(e,t){this._logService.logLevel<=r.LogLevelEnum.WARN&&!m&&(this._logService.warn(\"writeSync is unreliable and will be removed soon.\"),m=!0),this._writeBuffer.writeSync(e,t)}resize(e,t){isNaN(e)||isNaN(t)||(e=Math.max(e,a.MINIMUM_COLS),t=Math.max(t,a.MINIMUM_ROWS),this._bufferService.resize(e,t))}scroll(e,t=!1){this._bufferService.scroll(e,t)}scrollLines(e,t,i){this._bufferService.scrollLines(e,t,i)}scrollPages(e){this.scrollLines(e*(this.rows-1))}scrollToTop(){this.scrollLines(-this._bufferService.buffer.ydisp)}scrollToBottom(){this.scrollLines(this._bufferService.buffer.ybase-this._bufferService.buffer.ydisp)}scrollToLine(e){const t=e-this._bufferService.buffer.ydisp;0!==t&&this.scrollLines(t)}registerEscHandler(e,t){return this._inputHandler.registerEscHandler(e,t)}registerDcsHandler(e,t){return this._inputHandler.registerDcsHandler(e,t)}registerCsiHandler(e,t){return this._inputHandler.registerCsiHandler(e,t)}registerOscHandler(e,t){return this._inputHandler.registerOscHandler(e,t)}_setup(){this._handleWindowsPtyOptionChange()}reset(){this._inputHandler.reset(),this._bufferService.reset(),this._charsetService.reset(),this.coreService.reset(),this.coreMouseService.reset()}_handleWindowsPtyOptionChange(){let e=!1;const t=this.optionsService.rawOptions.windowsPty;t&&void 0!==t.buildNumber&&void 0!==t.buildNumber?e=!!(\"conpty\"===t.backend&&t.buildNumber<21376):this.optionsService.rawOptions.windowsMode&&(e=!0),e?this._enableWindowsWrappingHeuristics():this._windowsWrappingHeuristics.clear()}_enableWindowsWrappingHeuristics(){if(!this._windowsWrappingHeuristics.value){const e=[];e.push(this.onLineFeed(f.updateWindowsModeWrappedState.bind(null,this._bufferService))),e.push(this.registerCsiHandler({final:\"H\"},(()=>((0,f.updateWindowsModeWrappedState)(this._bufferService),!1)))),this._windowsWrappingHeuristics.value=(0,s.toDisposable)((()=>{for(const t of e)t.dispose()}))}}}t.CoreTerminal=S},8460:(e,t)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.forwardEvent=t.EventEmitter=void 0,t.EventEmitter=class{constructor(){this._listeners=[],this._disposed=!1}get event(){return this._event||(this._event=e=>(this._listeners.push(e),{dispose:()=>{if(!this._disposed)for(let t=0;tt.fire(e)))}},5435:function(e,t,i){var s=this&&this.__decorate||function(e,t,i,s){var r,n=arguments.length,o=n<3?t:null===s?s=Object.getOwnPropertyDescriptor(t,i):s;if(\"object\"==typeof Reflect&&\"function\"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,s);else for(var a=e.length-1;a>=0;a--)(r=e[a])&&(o=(n<3?r(o):n>3?r(t,i,o):r(t,i))||o);return n>3&&o&&Object.defineProperty(t,i,o),o},r=this&&this.__param||function(e,t){return function(i,s){t(i,s,e)}};Object.defineProperty(t,\"__esModule\",{value:!0}),t.InputHandler=t.WindowsOptionsReportType=void 0;const n=i(2584),o=i(7116),a=i(2015),h=i(844),c=i(482),l=i(8437),d=i(8460),_=i(643),u=i(511),f=i(3734),v=i(2585),p=i(6242),g=i(6351),m=i(5941),S={\"(\":0,\")\":1,\"*\":2,\"+\":3,\"-\":1,\".\":2},C=131072;function b(e,t){if(e>24)return t.setWinLines||!1;switch(e){case 1:return!!t.restoreWin;case 2:return!!t.minimizeWin;case 3:return!!t.setWinPosition;case 4:return!!t.setWinSizePixels;case 5:return!!t.raiseWin;case 6:return!!t.lowerWin;case 7:return!!t.refreshWin;case 8:return!!t.setWinSizeChars;case 9:return!!t.maximizeWin;case 10:return!!t.fullscreenWin;case 11:return!!t.getWinState;case 13:return!!t.getWinPosition;case 14:return!!t.getWinSizePixels;case 15:return!!t.getScreenSizePixels;case 16:return!!t.getCellSizePixels;case 18:return!!t.getWinSizeChars;case 19:return!!t.getScreenSizeChars;case 20:return!!t.getIconTitle;case 21:return!!t.getWinTitle;case 22:return!!t.pushTitle;case 23:return!!t.popTitle;case 24:return!!t.setWinLines}return!1}var y;!function(e){e[e.GET_WIN_SIZE_PIXELS=0]=\"GET_WIN_SIZE_PIXELS\",e[e.GET_CELL_SIZE_PIXELS=1]=\"GET_CELL_SIZE_PIXELS\"}(y||(t.WindowsOptionsReportType=y={}));let w=0;class E extends h.Disposable{getAttrData(){return this._curAttrData}constructor(e,t,i,s,r,h,_,f,v=new a.EscapeSequenceParser){super(),this._bufferService=e,this._charsetService=t,this._coreService=i,this._logService=s,this._optionsService=r,this._oscLinkService=h,this._coreMouseService=_,this._unicodeService=f,this._parser=v,this._parseBuffer=new Uint32Array(4096),this._stringDecoder=new c.StringToUtf32,this._utf8Decoder=new c.Utf8ToUtf32,this._workCell=new u.CellData,this._windowTitle=\"\",this._iconName=\"\",this._windowTitleStack=[],this._iconNameStack=[],this._curAttrData=l.DEFAULT_ATTR_DATA.clone(),this._eraseAttrDataInternal=l.DEFAULT_ATTR_DATA.clone(),this._onRequestBell=this.register(new d.EventEmitter),this.onRequestBell=this._onRequestBell.event,this._onRequestRefreshRows=this.register(new d.EventEmitter),this.onRequestRefreshRows=this._onRequestRefreshRows.event,this._onRequestReset=this.register(new d.EventEmitter),this.onRequestReset=this._onRequestReset.event,this._onRequestSendFocus=this.register(new d.EventEmitter),this.onRequestSendFocus=this._onRequestSendFocus.event,this._onRequestSyncScrollBar=this.register(new d.EventEmitter),this.onRequestSyncScrollBar=this._onRequestSyncScrollBar.event,this._onRequestWindowsOptionsReport=this.register(new d.EventEmitter),this.onRequestWindowsOptionsReport=this._onRequestWindowsOptionsReport.event,this._onA11yChar=this.register(new d.EventEmitter),this.onA11yChar=this._onA11yChar.event,this._onA11yTab=this.register(new d.EventEmitter),this.onA11yTab=this._onA11yTab.event,this._onCursorMove=this.register(new d.EventEmitter),this.onCursorMove=this._onCursorMove.event,this._onLineFeed=this.register(new d.EventEmitter),this.onLineFeed=this._onLineFeed.event,this._onScroll=this.register(new d.EventEmitter),this.onScroll=this._onScroll.event,this._onTitleChange=this.register(new d.EventEmitter),this.onTitleChange=this._onTitleChange.event,this._onColor=this.register(new d.EventEmitter),this.onColor=this._onColor.event,this._parseStack={paused:!1,cursorStartX:0,cursorStartY:0,decodedLength:0,position:0},this._specialColors=[256,257,258],this.register(this._parser),this._dirtyRowTracker=new k(this._bufferService),this._activeBuffer=this._bufferService.buffer,this.register(this._bufferService.buffers.onBufferActivate((e=>this._activeBuffer=e.activeBuffer))),this._parser.setCsiHandlerFallback(((e,t)=>{this._logService.debug(\"Unknown CSI code: \",{identifier:this._parser.identToString(e),params:t.toArray()})})),this._parser.setEscHandlerFallback((e=>{this._logService.debug(\"Unknown ESC code: \",{identifier:this._parser.identToString(e)})})),this._parser.setExecuteHandlerFallback((e=>{this._logService.debug(\"Unknown EXECUTE code: \",{code:e})})),this._parser.setOscHandlerFallback(((e,t,i)=>{this._logService.debug(\"Unknown OSC code: \",{identifier:e,action:t,data:i})})),this._parser.setDcsHandlerFallback(((e,t,i)=>{\"HOOK\"===t&&(i=i.toArray()),this._logService.debug(\"Unknown DCS code: \",{identifier:this._parser.identToString(e),action:t,payload:i})})),this._parser.setPrintHandler(((e,t,i)=>this.print(e,t,i))),this._parser.registerCsiHandler({final:\"@\"},(e=>this.insertChars(e))),this._parser.registerCsiHandler({intermediates:\" \",final:\"@\"},(e=>this.scrollLeft(e))),this._parser.registerCsiHandler({final:\"A\"},(e=>this.cursorUp(e))),this._parser.registerCsiHandler({intermediates:\" \",final:\"A\"},(e=>this.scrollRight(e))),this._parser.registerCsiHandler({final:\"B\"},(e=>this.cursorDown(e))),this._parser.registerCsiHandler({final:\"C\"},(e=>this.cursorForward(e))),this._parser.registerCsiHandler({final:\"D\"},(e=>this.cursorBackward(e))),this._parser.registerCsiHandler({final:\"E\"},(e=>this.cursorNextLine(e))),this._parser.registerCsiHandler({final:\"F\"},(e=>this.cursorPrecedingLine(e))),this._parser.registerCsiHandler({final:\"G\"},(e=>this.cursorCharAbsolute(e))),this._parser.registerCsiHandler({final:\"H\"},(e=>this.cursorPosition(e))),this._parser.registerCsiHandler({final:\"I\"},(e=>this.cursorForwardTab(e))),this._parser.registerCsiHandler({final:\"J\"},(e=>this.eraseInDisplay(e,!1))),this._parser.registerCsiHandler({prefix:\"?\",final:\"J\"},(e=>this.eraseInDisplay(e,!0))),this._parser.registerCsiHandler({final:\"K\"},(e=>this.eraseInLine(e,!1))),this._parser.registerCsiHandler({prefix:\"?\",final:\"K\"},(e=>this.eraseInLine(e,!0))),this._parser.registerCsiHandler({final:\"L\"},(e=>this.insertLines(e))),this._parser.registerCsiHandler({final:\"M\"},(e=>this.deleteLines(e))),this._parser.registerCsiHandler({final:\"P\"},(e=>this.deleteChars(e))),this._parser.registerCsiHandler({final:\"S\"},(e=>this.scrollUp(e))),this._parser.registerCsiHandler({final:\"T\"},(e=>this.scrollDown(e))),this._parser.registerCsiHandler({final:\"X\"},(e=>this.eraseChars(e))),this._parser.registerCsiHandler({final:\"Z\"},(e=>this.cursorBackwardTab(e))),this._parser.registerCsiHandler({final:\"`\"},(e=>this.charPosAbsolute(e))),this._parser.registerCsiHandler({final:\"a\"},(e=>this.hPositionRelative(e))),this._parser.registerCsiHandler({final:\"b\"},(e=>this.repeatPrecedingCharacter(e))),this._parser.registerCsiHandler({final:\"c\"},(e=>this.sendDeviceAttributesPrimary(e))),this._parser.registerCsiHandler({prefix:\">\",final:\"c\"},(e=>this.sendDeviceAttributesSecondary(e))),this._parser.registerCsiHandler({final:\"d\"},(e=>this.linePosAbsolute(e))),this._parser.registerCsiHandler({final:\"e\"},(e=>this.vPositionRelative(e))),this._parser.registerCsiHandler({final:\"f\"},(e=>this.hVPosition(e))),this._parser.registerCsiHandler({final:\"g\"},(e=>this.tabClear(e))),this._parser.registerCsiHandler({final:\"h\"},(e=>this.setMode(e))),this._parser.registerCsiHandler({prefix:\"?\",final:\"h\"},(e=>this.setModePrivate(e))),this._parser.registerCsiHandler({final:\"l\"},(e=>this.resetMode(e))),this._parser.registerCsiHandler({prefix:\"?\",final:\"l\"},(e=>this.resetModePrivate(e))),this._parser.registerCsiHandler({final:\"m\"},(e=>this.charAttributes(e))),this._parser.registerCsiHandler({final:\"n\"},(e=>this.deviceStatus(e))),this._parser.registerCsiHandler({prefix:\"?\",final:\"n\"},(e=>this.deviceStatusPrivate(e))),this._parser.registerCsiHandler({intermediates:\"!\",final:\"p\"},(e=>this.softReset(e))),this._parser.registerCsiHandler({intermediates:\" \",final:\"q\"},(e=>this.setCursorStyle(e))),this._parser.registerCsiHandler({final:\"r\"},(e=>this.setScrollRegion(e))),this._parser.registerCsiHandler({final:\"s\"},(e=>this.saveCursor(e))),this._parser.registerCsiHandler({final:\"t\"},(e=>this.windowOptions(e))),this._parser.registerCsiHandler({final:\"u\"},(e=>this.restoreCursor(e))),this._parser.registerCsiHandler({intermediates:\"'\",final:\"}\"},(e=>this.insertColumns(e))),this._parser.registerCsiHandler({intermediates:\"'\",final:\"~\"},(e=>this.deleteColumns(e))),this._parser.registerCsiHandler({intermediates:'\"',final:\"q\"},(e=>this.selectProtected(e))),this._parser.registerCsiHandler({intermediates:\"$\",final:\"p\"},(e=>this.requestMode(e,!0))),this._parser.registerCsiHandler({prefix:\"?\",intermediates:\"$\",final:\"p\"},(e=>this.requestMode(e,!1))),this._parser.setExecuteHandler(n.C0.BEL,(()=>this.bell())),this._parser.setExecuteHandler(n.C0.LF,(()=>this.lineFeed())),this._parser.setExecuteHandler(n.C0.VT,(()=>this.lineFeed())),this._parser.setExecuteHandler(n.C0.FF,(()=>this.lineFeed())),this._parser.setExecuteHandler(n.C0.CR,(()=>this.carriageReturn())),this._parser.setExecuteHandler(n.C0.BS,(()=>this.backspace())),this._parser.setExecuteHandler(n.C0.HT,(()=>this.tab())),this._parser.setExecuteHandler(n.C0.SO,(()=>this.shiftOut())),this._parser.setExecuteHandler(n.C0.SI,(()=>this.shiftIn())),this._parser.setExecuteHandler(n.C1.IND,(()=>this.index())),this._parser.setExecuteHandler(n.C1.NEL,(()=>this.nextLine())),this._parser.setExecuteHandler(n.C1.HTS,(()=>this.tabSet())),this._parser.registerOscHandler(0,new p.OscHandler((e=>(this.setTitle(e),this.setIconName(e),!0)))),this._parser.registerOscHandler(1,new p.OscHandler((e=>this.setIconName(e)))),this._parser.registerOscHandler(2,new p.OscHandler((e=>this.setTitle(e)))),this._parser.registerOscHandler(4,new p.OscHandler((e=>this.setOrReportIndexedColor(e)))),this._parser.registerOscHandler(8,new p.OscHandler((e=>this.setHyperlink(e)))),this._parser.registerOscHandler(10,new p.OscHandler((e=>this.setOrReportFgColor(e)))),this._parser.registerOscHandler(11,new p.OscHandler((e=>this.setOrReportBgColor(e)))),this._parser.registerOscHandler(12,new p.OscHandler((e=>this.setOrReportCursorColor(e)))),this._parser.registerOscHandler(104,new p.OscHandler((e=>this.restoreIndexedColor(e)))),this._parser.registerOscHandler(110,new p.OscHandler((e=>this.restoreFgColor(e)))),this._parser.registerOscHandler(111,new p.OscHandler((e=>this.restoreBgColor(e)))),this._parser.registerOscHandler(112,new p.OscHandler((e=>this.restoreCursorColor(e)))),this._parser.registerEscHandler({final:\"7\"},(()=>this.saveCursor())),this._parser.registerEscHandler({final:\"8\"},(()=>this.restoreCursor())),this._parser.registerEscHandler({final:\"D\"},(()=>this.index())),this._parser.registerEscHandler({final:\"E\"},(()=>this.nextLine())),this._parser.registerEscHandler({final:\"H\"},(()=>this.tabSet())),this._parser.registerEscHandler({final:\"M\"},(()=>this.reverseIndex())),this._parser.registerEscHandler({final:\"=\"},(()=>this.keypadApplicationMode())),this._parser.registerEscHandler({final:\">\"},(()=>this.keypadNumericMode())),this._parser.registerEscHandler({final:\"c\"},(()=>this.fullReset())),this._parser.registerEscHandler({final:\"n\"},(()=>this.setgLevel(2))),this._parser.registerEscHandler({final:\"o\"},(()=>this.setgLevel(3))),this._parser.registerEscHandler({final:\"|\"},(()=>this.setgLevel(3))),this._parser.registerEscHandler({final:\"}\"},(()=>this.setgLevel(2))),this._parser.registerEscHandler({final:\"~\"},(()=>this.setgLevel(1))),this._parser.registerEscHandler({intermediates:\"%\",final:\"@\"},(()=>this.selectDefaultCharset())),this._parser.registerEscHandler({intermediates:\"%\",final:\"G\"},(()=>this.selectDefaultCharset()));for(const e in o.CHARSETS)this._parser.registerEscHandler({intermediates:\"(\",final:e},(()=>this.selectCharset(\"(\"+e))),this._parser.registerEscHandler({intermediates:\")\",final:e},(()=>this.selectCharset(\")\"+e))),this._parser.registerEscHandler({intermediates:\"*\",final:e},(()=>this.selectCharset(\"*\"+e))),this._parser.registerEscHandler({intermediates:\"+\",final:e},(()=>this.selectCharset(\"+\"+e))),this._parser.registerEscHandler({intermediates:\"-\",final:e},(()=>this.selectCharset(\"-\"+e))),this._parser.registerEscHandler({intermediates:\".\",final:e},(()=>this.selectCharset(\".\"+e))),this._parser.registerEscHandler({intermediates:\"/\",final:e},(()=>this.selectCharset(\"/\"+e)));this._parser.registerEscHandler({intermediates:\"#\",final:\"8\"},(()=>this.screenAlignmentPattern())),this._parser.setErrorHandler((e=>(this._logService.error(\"Parsing error: \",e),e))),this._parser.registerDcsHandler({intermediates:\"$\",final:\"q\"},new g.DcsHandler(((e,t)=>this.requestStatusString(e,t))))}_preserveStack(e,t,i,s){this._parseStack.paused=!0,this._parseStack.cursorStartX=e,this._parseStack.cursorStartY=t,this._parseStack.decodedLength=i,this._parseStack.position=s}_logSlowResolvingAsync(e){this._logService.logLevel<=v.LogLevelEnum.WARN&&Promise.race([e,new Promise(((e,t)=>setTimeout((()=>t(\"#SLOW_TIMEOUT\")),5e3)))]).catch((e=>{if(\"#SLOW_TIMEOUT\"!==e)throw e;console.warn(\"async parser handler taking longer than 5000 ms\")}))}_getCurrentLinkId(){return this._curAttrData.extended.urlId}parse(e,t){let i,s=this._activeBuffer.x,r=this._activeBuffer.y,n=0;const o=this._parseStack.paused;if(o){if(i=this._parser.parse(this._parseBuffer,this._parseStack.decodedLength,t))return this._logSlowResolvingAsync(i),i;s=this._parseStack.cursorStartX,r=this._parseStack.cursorStartY,this._parseStack.paused=!1,e.length>C&&(n=this._parseStack.position+C)}if(this._logService.logLevel<=v.LogLevelEnum.DEBUG&&this._logService.debug(\"parsing data\"+(\"string\"==typeof e?` \"${e}\"`:` \"${Array.prototype.map.call(e,(e=>String.fromCharCode(e))).join(\"\")}\"`),\"string\"==typeof e?e.split(\"\").map((e=>e.charCodeAt(0))):e),this._parseBuffer.lengthC)for(let t=n;t0&&2===u.getWidth(this._activeBuffer.x-1)&&u.setCellFromCodePoint(this._activeBuffer.x-1,0,1,d.fg,d.bg,d.extended);for(let f=t;f=a)if(h){for(;this._activeBuffer.x=this._bufferService.rows&&(this._activeBuffer.y=this._bufferService.rows-1),this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y).isWrapped=!0),u=this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y)}else if(this._activeBuffer.x=a-1,2===r)continue;if(l&&(u.insertCells(this._activeBuffer.x,r,this._activeBuffer.getNullCell(d),d),2===u.getWidth(a-1)&&u.setCellFromCodePoint(a-1,_.NULL_CELL_CODE,_.NULL_CELL_WIDTH,d.fg,d.bg,d.extended)),u.setCellFromCodePoint(this._activeBuffer.x++,s,r,d.fg,d.bg,d.extended),r>0)for(;--r;)u.setCellFromCodePoint(this._activeBuffer.x++,0,0,d.fg,d.bg,d.extended)}else u.getWidth(this._activeBuffer.x-1)?u.addCodepointToCell(this._activeBuffer.x-1,s):u.addCodepointToCell(this._activeBuffer.x-2,s)}i-t>0&&(u.loadCell(this._activeBuffer.x-1,this._workCell),2===this._workCell.getWidth()||this._workCell.getCode()>65535?this._parser.precedingCodepoint=0:this._workCell.isCombined()?this._parser.precedingCodepoint=this._workCell.getChars().charCodeAt(0):this._parser.precedingCodepoint=this._workCell.content),this._activeBuffer.x0&&0===u.getWidth(this._activeBuffer.x)&&!u.hasContent(this._activeBuffer.x)&&u.setCellFromCodePoint(this._activeBuffer.x,0,1,d.fg,d.bg,d.extended),this._dirtyRowTracker.markDirty(this._activeBuffer.y)}registerCsiHandler(e,t){return\"t\"!==e.final||e.prefix||e.intermediates?this._parser.registerCsiHandler(e,t):this._parser.registerCsiHandler(e,(e=>!b(e.params[0],this._optionsService.rawOptions.windowOptions)||t(e)))}registerDcsHandler(e,t){return this._parser.registerDcsHandler(e,new g.DcsHandler(t))}registerEscHandler(e,t){return this._parser.registerEscHandler(e,t)}registerOscHandler(e,t){return this._parser.registerOscHandler(e,new p.OscHandler(t))}bell(){return this._onRequestBell.fire(),!0}lineFeed(){return this._dirtyRowTracker.markDirty(this._activeBuffer.y),this._optionsService.rawOptions.convertEol&&(this._activeBuffer.x=0),this._activeBuffer.y++,this._activeBuffer.y===this._activeBuffer.scrollBottom+1?(this._activeBuffer.y--,this._bufferService.scroll(this._eraseAttrData())):this._activeBuffer.y>=this._bufferService.rows?this._activeBuffer.y=this._bufferService.rows-1:this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y).isWrapped=!1,this._activeBuffer.x>=this._bufferService.cols&&this._activeBuffer.x--,this._dirtyRowTracker.markDirty(this._activeBuffer.y),this._onLineFeed.fire(),!0}carriageReturn(){return this._activeBuffer.x=0,!0}backspace(){var e;if(!this._coreService.decPrivateModes.reverseWraparound)return this._restrictCursor(),this._activeBuffer.x>0&&this._activeBuffer.x--,!0;if(this._restrictCursor(this._bufferService.cols),this._activeBuffer.x>0)this._activeBuffer.x--;else if(0===this._activeBuffer.x&&this._activeBuffer.y>this._activeBuffer.scrollTop&&this._activeBuffer.y<=this._activeBuffer.scrollBottom&&(null===(e=this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y))||void 0===e?void 0:e.isWrapped)){this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y).isWrapped=!1,this._activeBuffer.y--,this._activeBuffer.x=this._bufferService.cols-1;const e=this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y);e.hasWidth(this._activeBuffer.x)&&!e.hasContent(this._activeBuffer.x)&&this._activeBuffer.x--}return this._restrictCursor(),!0}tab(){if(this._activeBuffer.x>=this._bufferService.cols)return!0;const e=this._activeBuffer.x;return this._activeBuffer.x=this._activeBuffer.nextStop(),this._optionsService.rawOptions.screenReaderMode&&this._onA11yTab.fire(this._activeBuffer.x-e),!0}shiftOut(){return this._charsetService.setgLevel(1),!0}shiftIn(){return this._charsetService.setgLevel(0),!0}_restrictCursor(e=this._bufferService.cols-1){this._activeBuffer.x=Math.min(e,Math.max(0,this._activeBuffer.x)),this._activeBuffer.y=this._coreService.decPrivateModes.origin?Math.min(this._activeBuffer.scrollBottom,Math.max(this._activeBuffer.scrollTop,this._activeBuffer.y)):Math.min(this._bufferService.rows-1,Math.max(0,this._activeBuffer.y)),this._dirtyRowTracker.markDirty(this._activeBuffer.y)}_setCursor(e,t){this._dirtyRowTracker.markDirty(this._activeBuffer.y),this._coreService.decPrivateModes.origin?(this._activeBuffer.x=e,this._activeBuffer.y=this._activeBuffer.scrollTop+t):(this._activeBuffer.x=e,this._activeBuffer.y=t),this._restrictCursor(),this._dirtyRowTracker.markDirty(this._activeBuffer.y)}_moveCursor(e,t){this._restrictCursor(),this._setCursor(this._activeBuffer.x+e,this._activeBuffer.y+t)}cursorUp(e){const t=this._activeBuffer.y-this._activeBuffer.scrollTop;return t>=0?this._moveCursor(0,-Math.min(t,e.params[0]||1)):this._moveCursor(0,-(e.params[0]||1)),!0}cursorDown(e){const t=this._activeBuffer.scrollBottom-this._activeBuffer.y;return t>=0?this._moveCursor(0,Math.min(t,e.params[0]||1)):this._moveCursor(0,e.params[0]||1),!0}cursorForward(e){return this._moveCursor(e.params[0]||1,0),!0}cursorBackward(e){return this._moveCursor(-(e.params[0]||1),0),!0}cursorNextLine(e){return this.cursorDown(e),this._activeBuffer.x=0,!0}cursorPrecedingLine(e){return this.cursorUp(e),this._activeBuffer.x=0,!0}cursorCharAbsolute(e){return this._setCursor((e.params[0]||1)-1,this._activeBuffer.y),!0}cursorPosition(e){return this._setCursor(e.length>=2?(e.params[1]||1)-1:0,(e.params[0]||1)-1),!0}charPosAbsolute(e){return this._setCursor((e.params[0]||1)-1,this._activeBuffer.y),!0}hPositionRelative(e){return this._moveCursor(e.params[0]||1,0),!0}linePosAbsolute(e){return this._setCursor(this._activeBuffer.x,(e.params[0]||1)-1),!0}vPositionRelative(e){return this._moveCursor(0,e.params[0]||1),!0}hVPosition(e){return this.cursorPosition(e),!0}tabClear(e){const t=e.params[0];return 0===t?delete this._activeBuffer.tabs[this._activeBuffer.x]:3===t&&(this._activeBuffer.tabs={}),!0}cursorForwardTab(e){if(this._activeBuffer.x>=this._bufferService.cols)return!0;let t=e.params[0]||1;for(;t--;)this._activeBuffer.x=this._activeBuffer.nextStop();return!0}cursorBackwardTab(e){if(this._activeBuffer.x>=this._bufferService.cols)return!0;let t=e.params[0]||1;for(;t--;)this._activeBuffer.x=this._activeBuffer.prevStop();return!0}selectProtected(e){const t=e.params[0];return 1===t&&(this._curAttrData.bg|=536870912),2!==t&&0!==t||(this._curAttrData.bg&=-536870913),!0}_eraseInBufferLine(e,t,i,s=!1,r=!1){const n=this._activeBuffer.lines.get(this._activeBuffer.ybase+e);n.replaceCells(t,i,this._activeBuffer.getNullCell(this._eraseAttrData()),this._eraseAttrData(),r),s&&(n.isWrapped=!1)}_resetBufferLine(e,t=!1){const i=this._activeBuffer.lines.get(this._activeBuffer.ybase+e);i&&(i.fill(this._activeBuffer.getNullCell(this._eraseAttrData()),t),this._bufferService.buffer.clearMarkers(this._activeBuffer.ybase+e),i.isWrapped=!1)}eraseInDisplay(e,t=!1){let i;switch(this._restrictCursor(this._bufferService.cols),e.params[0]){case 0:for(i=this._activeBuffer.y,this._dirtyRowTracker.markDirty(i),this._eraseInBufferLine(i++,this._activeBuffer.x,this._bufferService.cols,0===this._activeBuffer.x,t);i=this._bufferService.cols&&(this._activeBuffer.lines.get(i+1).isWrapped=!1);i--;)this._resetBufferLine(i,t);this._dirtyRowTracker.markDirty(0);break;case 2:for(i=this._bufferService.rows,this._dirtyRowTracker.markDirty(i-1);i--;)this._resetBufferLine(i,t);this._dirtyRowTracker.markDirty(0);break;case 3:const e=this._activeBuffer.lines.length-this._bufferService.rows;e>0&&(this._activeBuffer.lines.trimStart(e),this._activeBuffer.ybase=Math.max(this._activeBuffer.ybase-e,0),this._activeBuffer.ydisp=Math.max(this._activeBuffer.ydisp-e,0),this._onScroll.fire(0))}return!0}eraseInLine(e,t=!1){switch(this._restrictCursor(this._bufferService.cols),e.params[0]){case 0:this._eraseInBufferLine(this._activeBuffer.y,this._activeBuffer.x,this._bufferService.cols,0===this._activeBuffer.x,t);break;case 1:this._eraseInBufferLine(this._activeBuffer.y,0,this._activeBuffer.x+1,!1,t);break;case 2:this._eraseInBufferLine(this._activeBuffer.y,0,this._bufferService.cols,!0,t)}return this._dirtyRowTracker.markDirty(this._activeBuffer.y),!0}insertLines(e){this._restrictCursor();let t=e.params[0]||1;if(this._activeBuffer.y>this._activeBuffer.scrollBottom||this._activeBuffer.ythis._activeBuffer.scrollBottom||this._activeBuffer.ythis._activeBuffer.scrollBottom||this._activeBuffer.ythis._activeBuffer.scrollBottom||this._activeBuffer.ythis._activeBuffer.scrollBottom||this._activeBuffer.ythis._activeBuffer.scrollBottom||this._activeBuffer.y0||(this._is(\"xterm\")||this._is(\"rxvt-unicode\")||this._is(\"screen\")?this._coreService.triggerDataEvent(n.C0.ESC+\"[?1;2c\"):this._is(\"linux\")&&this._coreService.triggerDataEvent(n.C0.ESC+\"[?6c\")),!0}sendDeviceAttributesSecondary(e){return e.params[0]>0||(this._is(\"xterm\")?this._coreService.triggerDataEvent(n.C0.ESC+\"[>0;276;0c\"):this._is(\"rxvt-unicode\")?this._coreService.triggerDataEvent(n.C0.ESC+\"[>85;95;0c\"):this._is(\"linux\")?this._coreService.triggerDataEvent(e.params[0]+\"c\"):this._is(\"screen\")&&this._coreService.triggerDataEvent(n.C0.ESC+\"[>83;40003;0c\")),!0}_is(e){return 0===(this._optionsService.rawOptions.termName+\"\").indexOf(e)}setMode(e){for(let t=0;te?1:2,u=e.params[0];return f=u,v=t?2===u?4:4===u?_(o.modes.insertMode):12===u?3:20===u?_(d.convertEol):0:1===u?_(i.applicationCursorKeys):3===u?d.windowOptions.setWinLines?80===h?2:132===h?1:0:0:6===u?_(i.origin):7===u?_(i.wraparound):8===u?3:9===u?_(\"X10\"===s):12===u?_(d.cursorBlink):25===u?_(!o.isCursorHidden):45===u?_(i.reverseWraparound):66===u?_(i.applicationKeypad):67===u?4:1e3===u?_(\"VT200\"===s):1002===u?_(\"DRAG\"===s):1003===u?_(\"ANY\"===s):1004===u?_(i.sendFocus):1005===u?4:1006===u?_(\"SGR\"===r):1015===u?4:1016===u?_(\"SGR_PIXELS\"===r):1048===u?1:47===u||1047===u||1049===u?_(c===l):2004===u?_(i.bracketedPasteMode):0,o.triggerDataEvent(`${n.C0.ESC}[${t?\"\":\"?\"}${f};${v}$y`),!0;var f,v}_updateAttrColor(e,t,i,s,r){return 2===t?(e|=50331648,e&=-16777216,e|=f.AttributeData.fromColorRGB([i,s,r])):5===t&&(e&=-50331904,e|=33554432|255&i),e}_extractColor(e,t,i){const s=[0,0,-1,0,0,0];let r=0,n=0;do{if(s[n+r]=e.params[t+n],e.hasSubParams(t+n)){const i=e.getSubParams(t+n);let o=0;do{5===s[1]&&(r=1),s[n+o+1+r]=i[o]}while(++o=2||2===s[1]&&n+r>=5)break;s[1]&&(r=1)}while(++n+t5)&&(e=1),t.extended.underlineStyle=e,t.fg|=268435456,0===e&&(t.fg&=-268435457),t.updateExtended()}_processSGR0(e){e.fg=l.DEFAULT_ATTR_DATA.fg,e.bg=l.DEFAULT_ATTR_DATA.bg,e.extended=e.extended.clone(),e.extended.underlineStyle=0,e.extended.underlineColor&=-67108864,e.updateExtended()}charAttributes(e){if(1===e.length&&0===e.params[0])return this._processSGR0(this._curAttrData),!0;const t=e.length;let i;const s=this._curAttrData;for(let r=0;r=30&&i<=37?(s.fg&=-50331904,s.fg|=16777216|i-30):i>=40&&i<=47?(s.bg&=-50331904,s.bg|=16777216|i-40):i>=90&&i<=97?(s.fg&=-50331904,s.fg|=16777224|i-90):i>=100&&i<=107?(s.bg&=-50331904,s.bg|=16777224|i-100):0===i?this._processSGR0(s):1===i?s.fg|=134217728:3===i?s.bg|=67108864:4===i?(s.fg|=268435456,this._processUnderline(e.hasSubParams(r)?e.getSubParams(r)[0]:1,s)):5===i?s.fg|=536870912:7===i?s.fg|=67108864:8===i?s.fg|=1073741824:9===i?s.fg|=2147483648:2===i?s.bg|=134217728:21===i?this._processUnderline(2,s):22===i?(s.fg&=-134217729,s.bg&=-134217729):23===i?s.bg&=-67108865:24===i?(s.fg&=-268435457,this._processUnderline(0,s)):25===i?s.fg&=-536870913:27===i?s.fg&=-67108865:28===i?s.fg&=-1073741825:29===i?s.fg&=2147483647:39===i?(s.fg&=-67108864,s.fg|=16777215&l.DEFAULT_ATTR_DATA.fg):49===i?(s.bg&=-67108864,s.bg|=16777215&l.DEFAULT_ATTR_DATA.bg):38===i||48===i||58===i?r+=this._extractColor(e,r,s):53===i?s.bg|=1073741824:55===i?s.bg&=-1073741825:59===i?(s.extended=s.extended.clone(),s.extended.underlineColor=-1,s.updateExtended()):100===i?(s.fg&=-67108864,s.fg|=16777215&l.DEFAULT_ATTR_DATA.fg,s.bg&=-67108864,s.bg|=16777215&l.DEFAULT_ATTR_DATA.bg):this._logService.debug(\"Unknown SGR attribute: %d.\",i);return!0}deviceStatus(e){switch(e.params[0]){case 5:this._coreService.triggerDataEvent(`${n.C0.ESC}[0n`);break;case 6:const e=this._activeBuffer.y+1,t=this._activeBuffer.x+1;this._coreService.triggerDataEvent(`${n.C0.ESC}[${e};${t}R`)}return!0}deviceStatusPrivate(e){if(6===e.params[0]){const e=this._activeBuffer.y+1,t=this._activeBuffer.x+1;this._coreService.triggerDataEvent(`${n.C0.ESC}[?${e};${t}R`)}return!0}softReset(e){return this._coreService.isCursorHidden=!1,this._onRequestSyncScrollBar.fire(),this._activeBuffer.scrollTop=0,this._activeBuffer.scrollBottom=this._bufferService.rows-1,this._curAttrData=l.DEFAULT_ATTR_DATA.clone(),this._coreService.reset(),this._charsetService.reset(),this._activeBuffer.savedX=0,this._activeBuffer.savedY=this._activeBuffer.ybase,this._activeBuffer.savedCurAttrData.fg=this._curAttrData.fg,this._activeBuffer.savedCurAttrData.bg=this._curAttrData.bg,this._activeBuffer.savedCharset=this._charsetService.charset,this._coreService.decPrivateModes.origin=!1,!0}setCursorStyle(e){const t=e.params[0]||1;switch(t){case 1:case 2:this._optionsService.options.cursorStyle=\"block\";break;case 3:case 4:this._optionsService.options.cursorStyle=\"underline\";break;case 5:case 6:this._optionsService.options.cursorStyle=\"bar\"}const i=t%2==1;return this._optionsService.options.cursorBlink=i,!0}setScrollRegion(e){const t=e.params[0]||1;let i;return(e.length<2||(i=e.params[1])>this._bufferService.rows||0===i)&&(i=this._bufferService.rows),i>t&&(this._activeBuffer.scrollTop=t-1,this._activeBuffer.scrollBottom=i-1,this._setCursor(0,0)),!0}windowOptions(e){if(!b(e.params[0],this._optionsService.rawOptions.windowOptions))return!0;const t=e.length>1?e.params[1]:0;switch(e.params[0]){case 14:2!==t&&this._onRequestWindowsOptionsReport.fire(y.GET_WIN_SIZE_PIXELS);break;case 16:this._onRequestWindowsOptionsReport.fire(y.GET_CELL_SIZE_PIXELS);break;case 18:this._bufferService&&this._coreService.triggerDataEvent(`${n.C0.ESC}[8;${this._bufferService.rows};${this._bufferService.cols}t`);break;case 22:0!==t&&2!==t||(this._windowTitleStack.push(this._windowTitle),this._windowTitleStack.length>10&&this._windowTitleStack.shift()),0!==t&&1!==t||(this._iconNameStack.push(this._iconName),this._iconNameStack.length>10&&this._iconNameStack.shift());break;case 23:0!==t&&2!==t||this._windowTitleStack.length&&this.setTitle(this._windowTitleStack.pop()),0!==t&&1!==t||this._iconNameStack.length&&this.setIconName(this._iconNameStack.pop())}return!0}saveCursor(e){return this._activeBuffer.savedX=this._activeBuffer.x,this._activeBuffer.savedY=this._activeBuffer.ybase+this._activeBuffer.y,this._activeBuffer.savedCurAttrData.fg=this._curAttrData.fg,this._activeBuffer.savedCurAttrData.bg=this._curAttrData.bg,this._activeBuffer.savedCharset=this._charsetService.charset,!0}restoreCursor(e){return this._activeBuffer.x=this._activeBuffer.savedX||0,this._activeBuffer.y=Math.max(this._activeBuffer.savedY-this._activeBuffer.ybase,0),this._curAttrData.fg=this._activeBuffer.savedCurAttrData.fg,this._curAttrData.bg=this._activeBuffer.savedCurAttrData.bg,this._charsetService.charset=this._savedCharset,this._activeBuffer.savedCharset&&(this._charsetService.charset=this._activeBuffer.savedCharset),this._restrictCursor(),!0}setTitle(e){return this._windowTitle=e,this._onTitleChange.fire(e),!0}setIconName(e){return this._iconName=e,!0}setOrReportIndexedColor(e){const t=[],i=e.split(\";\");for(;i.length>1;){const e=i.shift(),s=i.shift();if(/^\\d+$/.exec(e)){const i=parseInt(e);if(L(i))if(\"?\"===s)t.push({type:0,index:i});else{const e=(0,m.parseColor)(s);e&&t.push({type:1,index:i,color:e})}}}return t.length&&this._onColor.fire(t),!0}setHyperlink(e){const t=e.split(\";\");return!(t.length<2)&&(t[1]?this._createHyperlink(t[0],t[1]):!t[0]&&this._finishHyperlink())}_createHyperlink(e,t){this._getCurrentLinkId()&&this._finishHyperlink();const i=e.split(\":\");let s;const r=i.findIndex((e=>e.startsWith(\"id=\")));return-1!==r&&(s=i[r].slice(3)||void 0),this._curAttrData.extended=this._curAttrData.extended.clone(),this._curAttrData.extended.urlId=this._oscLinkService.registerLink({id:s,uri:t}),this._curAttrData.updateExtended(),!0}_finishHyperlink(){return this._curAttrData.extended=this._curAttrData.extended.clone(),this._curAttrData.extended.urlId=0,this._curAttrData.updateExtended(),!0}_setOrReportSpecialColor(e,t){const i=e.split(\";\");for(let e=0;e=this._specialColors.length);++e,++t)if(\"?\"===i[e])this._onColor.fire([{type:0,index:this._specialColors[t]}]);else{const s=(0,m.parseColor)(i[e]);s&&this._onColor.fire([{type:1,index:this._specialColors[t],color:s}])}return!0}setOrReportFgColor(e){return this._setOrReportSpecialColor(e,0)}setOrReportBgColor(e){return this._setOrReportSpecialColor(e,1)}setOrReportCursorColor(e){return this._setOrReportSpecialColor(e,2)}restoreIndexedColor(e){if(!e)return this._onColor.fire([{type:2}]),!0;const t=[],i=e.split(\";\");for(let e=0;e=this._bufferService.rows&&(this._activeBuffer.y=this._bufferService.rows-1),this._restrictCursor(),!0}tabSet(){return this._activeBuffer.tabs[this._activeBuffer.x]=!0,!0}reverseIndex(){if(this._restrictCursor(),this._activeBuffer.y===this._activeBuffer.scrollTop){const e=this._activeBuffer.scrollBottom-this._activeBuffer.scrollTop;this._activeBuffer.lines.shiftElements(this._activeBuffer.ybase+this._activeBuffer.y,e,1),this._activeBuffer.lines.set(this._activeBuffer.ybase+this._activeBuffer.y,this._activeBuffer.getBlankLine(this._eraseAttrData())),this._dirtyRowTracker.markRangeDirty(this._activeBuffer.scrollTop,this._activeBuffer.scrollBottom)}else this._activeBuffer.y--,this._restrictCursor();return!0}fullReset(){return this._parser.reset(),this._onRequestReset.fire(),!0}reset(){this._curAttrData=l.DEFAULT_ATTR_DATA.clone(),this._eraseAttrDataInternal=l.DEFAULT_ATTR_DATA.clone()}_eraseAttrData(){return this._eraseAttrDataInternal.bg&=-67108864,this._eraseAttrDataInternal.bg|=67108863&this._curAttrData.bg,this._eraseAttrDataInternal}setgLevel(e){return this._charsetService.setgLevel(e),!0}screenAlignmentPattern(){const e=new u.CellData;e.content=1<<22|\"E\".charCodeAt(0),e.fg=this._curAttrData.fg,e.bg=this._curAttrData.bg,this._setCursor(0,0);for(let t=0;t(this._coreService.triggerDataEvent(`${n.C0.ESC}${e}${n.C0.ESC}\\\\`),!0))('\"q'===e?`P1$r${this._curAttrData.isProtected()?1:0}\"q`:'\"p'===e?'P1$r61;1\"p':\"r\"===e?`P1$r${i.scrollTop+1};${i.scrollBottom+1}r`:\"m\"===e?\"P1$r0m\":\" q\"===e?`P1$r${{block:2,underline:4,bar:6}[s.cursorStyle]-(s.cursorBlink?1:0)} q`:\"P0$r\")}markRangeDirty(e,t){this._dirtyRowTracker.markRangeDirty(e,t)}}t.InputHandler=E;let k=class{constructor(e){this._bufferService=e,this.clearRange()}clearRange(){this.start=this._bufferService.buffer.y,this.end=this._bufferService.buffer.y}markDirty(e){ethis.end&&(this.end=e)}markRangeDirty(e,t){e>t&&(w=e,e=t,t=w),ethis.end&&(this.end=t)}markAllDirty(){this.markRangeDirty(0,this._bufferService.rows-1)}};function L(e){return 0<=e&&e<256}k=s([r(0,v.IBufferService)],k)},844:(e,t)=>{function i(e){for(const t of e)t.dispose();e.length=0}Object.defineProperty(t,\"__esModule\",{value:!0}),t.getDisposeArrayDisposable=t.disposeArray=t.toDisposable=t.MutableDisposable=t.Disposable=void 0,t.Disposable=class{constructor(){this._disposables=[],this._isDisposed=!1}dispose(){this._isDisposed=!0;for(const e of this._disposables)e.dispose();this._disposables.length=0}register(e){return this._disposables.push(e),e}unregister(e){const t=this._disposables.indexOf(e);-1!==t&&this._disposables.splice(t,1)}},t.MutableDisposable=class{constructor(){this._isDisposed=!1}get value(){return this._isDisposed?void 0:this._value}set value(e){var t;this._isDisposed||e===this._value||(null===(t=this._value)||void 0===t||t.dispose(),this._value=e)}clear(){this.value=void 0}dispose(){var e;this._isDisposed=!0,null===(e=this._value)||void 0===e||e.dispose(),this._value=void 0}},t.toDisposable=function(e){return{dispose:e}},t.disposeArray=i,t.getDisposeArrayDisposable=function(e){return{dispose:()=>i(e)}}},1505:(e,t)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.FourKeyMap=t.TwoKeyMap=void 0;class i{constructor(){this._data={}}set(e,t,i){this._data[e]||(this._data[e]={}),this._data[e][t]=i}get(e,t){return this._data[e]?this._data[e][t]:void 0}clear(){this._data={}}}t.TwoKeyMap=i,t.FourKeyMap=class{constructor(){this._data=new i}set(e,t,s,r,n){this._data.get(e,t)||this._data.set(e,t,new i),this._data.get(e,t).set(s,r,n)}get(e,t,i,s){var r;return null===(r=this._data.get(e,t))||void 0===r?void 0:r.get(i,s)}clear(){this._data.clear()}}},6114:(e,t)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.isChromeOS=t.isLinux=t.isWindows=t.isIphone=t.isIpad=t.isMac=t.getSafariVersion=t.isSafari=t.isLegacyEdge=t.isFirefox=t.isNode=void 0,t.isNode=\"undefined\"==typeof navigator;const i=t.isNode?\"node\":navigator.userAgent,s=t.isNode?\"node\":navigator.platform;t.isFirefox=i.includes(\"Firefox\"),t.isLegacyEdge=i.includes(\"Edge\"),t.isSafari=/^((?!chrome|android).)*safari/i.test(i),t.getSafariVersion=function(){if(!t.isSafari)return 0;const e=i.match(/Version\\/(\\d+)/);return null===e||e.length<2?0:parseInt(e[1])},t.isMac=[\"Macintosh\",\"MacIntel\",\"MacPPC\",\"Mac68K\"].includes(s),t.isIpad=\"iPad\"===s,t.isIphone=\"iPhone\"===s,t.isWindows=[\"Windows\",\"Win16\",\"Win32\",\"WinCE\"].includes(s),t.isLinux=s.indexOf(\"Linux\")>=0,t.isChromeOS=/\\bCrOS\\b/.test(i)},6106:(e,t)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.SortedList=void 0;let i=0;t.SortedList=class{constructor(e){this._getKey=e,this._array=[]}clear(){this._array.length=0}insert(e){0!==this._array.length?(i=this._search(this._getKey(e)),this._array.splice(i,0,e)):this._array.push(e)}delete(e){if(0===this._array.length)return!1;const t=this._getKey(e);if(void 0===t)return!1;if(i=this._search(t),-1===i)return!1;if(this._getKey(this._array[i])!==t)return!1;do{if(this._array[i]===e)return this._array.splice(i,1),!0}while(++i=this._array.length)&&this._getKey(this._array[i])===e))do{yield this._array[i]}while(++i=this._array.length)&&this._getKey(this._array[i])===e))do{t(this._array[i])}while(++i=t;){let s=t+i>>1;const r=this._getKey(this._array[s]);if(r>e)i=s-1;else{if(!(r0&&this._getKey(this._array[s-1])===e;)s--;return s}t=s+1}}return t}}},7226:(e,t,i)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.DebouncedIdleTask=t.IdleTaskQueue=t.PriorityTaskQueue=void 0;const s=i(6114);class r{constructor(){this._tasks=[],this._i=0}enqueue(e){this._tasks.push(e),this._start()}flush(){for(;this._ir)return s-t<-20&&console.warn(`task queue exceeded allotted deadline by ${Math.abs(Math.round(s-t))}ms`),void this._start();s=r}this.clear()}}class n extends r{_requestCallback(e){return setTimeout((()=>e(this._createDeadline(16))))}_cancelCallback(e){clearTimeout(e)}_createDeadline(e){const t=Date.now()+e;return{timeRemaining:()=>Math.max(0,t-Date.now())}}}t.PriorityTaskQueue=n,t.IdleTaskQueue=!s.isNode&&\"requestIdleCallback\"in window?class extends r{_requestCallback(e){return requestIdleCallback(e)}_cancelCallback(e){cancelIdleCallback(e)}}:n,t.DebouncedIdleTask=class{constructor(){this._queue=new t.IdleTaskQueue}set(e){this._queue.clear(),this._queue.enqueue(e)}flush(){this._queue.flush()}}},9282:(e,t,i)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.updateWindowsModeWrappedState=void 0;const s=i(643);t.updateWindowsModeWrappedState=function(e){const t=e.buffer.lines.get(e.buffer.ybase+e.buffer.y-1),i=null==t?void 0:t.get(e.cols-1),r=e.buffer.lines.get(e.buffer.ybase+e.buffer.y);r&&i&&(r.isWrapped=i[s.CHAR_DATA_CODE_INDEX]!==s.NULL_CELL_CODE&&i[s.CHAR_DATA_CODE_INDEX]!==s.WHITESPACE_CELL_CODE)}},3734:(e,t)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.ExtendedAttrs=t.AttributeData=void 0;class i{constructor(){this.fg=0,this.bg=0,this.extended=new s}static toColorRGB(e){return[e>>>16&255,e>>>8&255,255&e]}static fromColorRGB(e){return(255&e[0])<<16|(255&e[1])<<8|255&e[2]}clone(){const e=new i;return e.fg=this.fg,e.bg=this.bg,e.extended=this.extended.clone(),e}isInverse(){return 67108864&this.fg}isBold(){return 134217728&this.fg}isUnderline(){return this.hasExtendedAttrs()&&0!==this.extended.underlineStyle?1:268435456&this.fg}isBlink(){return 536870912&this.fg}isInvisible(){return 1073741824&this.fg}isItalic(){return 67108864&this.bg}isDim(){return 134217728&this.bg}isStrikethrough(){return 2147483648&this.fg}isProtected(){return 536870912&this.bg}isOverline(){return 1073741824&this.bg}getFgColorMode(){return 50331648&this.fg}getBgColorMode(){return 50331648&this.bg}isFgRGB(){return 50331648==(50331648&this.fg)}isBgRGB(){return 50331648==(50331648&this.bg)}isFgPalette(){return 16777216==(50331648&this.fg)||33554432==(50331648&this.fg)}isBgPalette(){return 16777216==(50331648&this.bg)||33554432==(50331648&this.bg)}isFgDefault(){return 0==(50331648&this.fg)}isBgDefault(){return 0==(50331648&this.bg)}isAttributeDefault(){return 0===this.fg&&0===this.bg}getFgColor(){switch(50331648&this.fg){case 16777216:case 33554432:return 255&this.fg;case 50331648:return 16777215&this.fg;default:return-1}}getBgColor(){switch(50331648&this.bg){case 16777216:case 33554432:return 255&this.bg;case 50331648:return 16777215&this.bg;default:return-1}}hasExtendedAttrs(){return 268435456&this.bg}updateExtended(){this.extended.isEmpty()?this.bg&=-268435457:this.bg|=268435456}getUnderlineColor(){if(268435456&this.bg&&~this.extended.underlineColor)switch(50331648&this.extended.underlineColor){case 16777216:case 33554432:return 255&this.extended.underlineColor;case 50331648:return 16777215&this.extended.underlineColor;default:return this.getFgColor()}return this.getFgColor()}getUnderlineColorMode(){return 268435456&this.bg&&~this.extended.underlineColor?50331648&this.extended.underlineColor:this.getFgColorMode()}isUnderlineColorRGB(){return 268435456&this.bg&&~this.extended.underlineColor?50331648==(50331648&this.extended.underlineColor):this.isFgRGB()}isUnderlineColorPalette(){return 268435456&this.bg&&~this.extended.underlineColor?16777216==(50331648&this.extended.underlineColor)||33554432==(50331648&this.extended.underlineColor):this.isFgPalette()}isUnderlineColorDefault(){return 268435456&this.bg&&~this.extended.underlineColor?0==(50331648&this.extended.underlineColor):this.isFgDefault()}getUnderlineStyle(){return 268435456&this.fg?268435456&this.bg?this.extended.underlineStyle:1:0}}t.AttributeData=i;class s{get ext(){return this._urlId?-469762049&this._ext|this.underlineStyle<<26:this._ext}set ext(e){this._ext=e}get underlineStyle(){return this._urlId?5:(469762048&this._ext)>>26}set underlineStyle(e){this._ext&=-469762049,this._ext|=e<<26&469762048}get underlineColor(){return 67108863&this._ext}set underlineColor(e){this._ext&=-67108864,this._ext|=67108863&e}get urlId(){return this._urlId}set urlId(e){this._urlId=e}constructor(e=0,t=0){this._ext=0,this._urlId=0,this._ext=e,this._urlId=t}clone(){return new s(this._ext,this._urlId)}isEmpty(){return 0===this.underlineStyle&&0===this._urlId}}t.ExtendedAttrs=s},9092:(e,t,i)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.Buffer=t.MAX_BUFFER_SIZE=void 0;const s=i(6349),r=i(7226),n=i(3734),o=i(8437),a=i(4634),h=i(511),c=i(643),l=i(4863),d=i(7116);t.MAX_BUFFER_SIZE=4294967295,t.Buffer=class{constructor(e,t,i){this._hasScrollback=e,this._optionsService=t,this._bufferService=i,this.ydisp=0,this.ybase=0,this.y=0,this.x=0,this.tabs={},this.savedY=0,this.savedX=0,this.savedCurAttrData=o.DEFAULT_ATTR_DATA.clone(),this.savedCharset=d.DEFAULT_CHARSET,this.markers=[],this._nullCell=h.CellData.fromCharData([0,c.NULL_CELL_CHAR,c.NULL_CELL_WIDTH,c.NULL_CELL_CODE]),this._whitespaceCell=h.CellData.fromCharData([0,c.WHITESPACE_CELL_CHAR,c.WHITESPACE_CELL_WIDTH,c.WHITESPACE_CELL_CODE]),this._isClearing=!1,this._memoryCleanupQueue=new r.IdleTaskQueue,this._memoryCleanupPosition=0,this._cols=this._bufferService.cols,this._rows=this._bufferService.rows,this.lines=new s.CircularList(this._getCorrectBufferLength(this._rows)),this.scrollTop=0,this.scrollBottom=this._rows-1,this.setupTabStops()}getNullCell(e){return e?(this._nullCell.fg=e.fg,this._nullCell.bg=e.bg,this._nullCell.extended=e.extended):(this._nullCell.fg=0,this._nullCell.bg=0,this._nullCell.extended=new n.ExtendedAttrs),this._nullCell}getWhitespaceCell(e){return e?(this._whitespaceCell.fg=e.fg,this._whitespaceCell.bg=e.bg,this._whitespaceCell.extended=e.extended):(this._whitespaceCell.fg=0,this._whitespaceCell.bg=0,this._whitespaceCell.extended=new n.ExtendedAttrs),this._whitespaceCell}getBlankLine(e,t){return new o.BufferLine(this._bufferService.cols,this.getNullCell(e),t)}get hasScrollback(){return this._hasScrollback&&this.lines.maxLength>this._rows}get isCursorInViewport(){const e=this.ybase+this.y-this.ydisp;return e>=0&&et.MAX_BUFFER_SIZE?t.MAX_BUFFER_SIZE:i}fillViewportRows(e){if(0===this.lines.length){void 0===e&&(e=o.DEFAULT_ATTR_DATA);let t=this._rows;for(;t--;)this.lines.push(this.getBlankLine(e))}}clear(){this.ydisp=0,this.ybase=0,this.y=0,this.x=0,this.lines=new s.CircularList(this._getCorrectBufferLength(this._rows)),this.scrollTop=0,this.scrollBottom=this._rows-1,this.setupTabStops()}resize(e,t){const i=this.getNullCell(o.DEFAULT_ATTR_DATA);let s=0;const r=this._getCorrectBufferLength(t);if(r>this.lines.maxLength&&(this.lines.maxLength=r),this.lines.length>0){if(this._cols0&&this.lines.length<=this.ybase+this.y+n+1?(this.ybase--,n++,this.ydisp>0&&this.ydisp--):this.lines.push(new o.BufferLine(e,i)));else for(let e=this._rows;e>t;e--)this.lines.length>t+this.ybase&&(this.lines.length>this.ybase+this.y+1?this.lines.pop():(this.ybase++,this.ydisp++));if(r0&&(this.lines.trimStart(e),this.ybase=Math.max(this.ybase-e,0),this.ydisp=Math.max(this.ydisp-e,0),this.savedY=Math.max(this.savedY-e,0)),this.lines.maxLength=r}this.x=Math.min(this.x,e-1),this.y=Math.min(this.y,t-1),n&&(this.y+=n),this.savedX=Math.min(this.savedX,e-1),this.scrollTop=0}if(this.scrollBottom=t-1,this._isReflowEnabled&&(this._reflow(e,t),this._cols>e))for(let t=0;t.1*this.lines.length&&(this._memoryCleanupPosition=0,this._memoryCleanupQueue.enqueue((()=>this._batchedMemoryCleanup())))}_batchedMemoryCleanup(){let e=!0;this._memoryCleanupPosition>=this.lines.length&&(this._memoryCleanupPosition=0,e=!1);let t=0;for(;this._memoryCleanupPosition100)return!0;return e}get _isReflowEnabled(){const e=this._optionsService.rawOptions.windowsPty;return e&&e.buildNumber?this._hasScrollback&&\"conpty\"===e.backend&&e.buildNumber>=21376:this._hasScrollback&&!this._optionsService.rawOptions.windowsMode}_reflow(e,t){this._cols!==e&&(e>this._cols?this._reflowLarger(e,t):this._reflowSmaller(e,t))}_reflowLarger(e,t){const i=(0,a.reflowLargerGetLinesToRemove)(this.lines,this._cols,e,this.ybase+this.y,this.getNullCell(o.DEFAULT_ATTR_DATA));if(i.length>0){const s=(0,a.reflowLargerCreateNewLayout)(this.lines,i);(0,a.reflowLargerApplyNewLayout)(this.lines,s.layout),this._reflowLargerAdjustViewport(e,t,s.countRemoved)}}_reflowLargerAdjustViewport(e,t,i){const s=this.getNullCell(o.DEFAULT_ATTR_DATA);let r=i;for(;r-- >0;)0===this.ybase?(this.y>0&&this.y--,this.lines.length=0;n--){let h=this.lines.get(n);if(!h||!h.isWrapped&&h.getTrimmedLength()<=e)continue;const c=[h];for(;h.isWrapped&&n>0;)h=this.lines.get(--n),c.unshift(h);const l=this.ybase+this.y;if(l>=n&&l0&&(s.push({start:n+c.length+r,newLines:v}),r+=v.length),c.push(...v);let p=_.length-1,g=_[p];0===g&&(p--,g=_[p]);let m=c.length-u-1,S=d;for(;m>=0;){const e=Math.min(S,g);if(void 0===c[p])break;if(c[p].copyCellsFrom(c[m],S-e,g-e,e,!0),g-=e,0===g&&(p--,g=_[p]),S-=e,0===S){m--;const e=Math.max(m,0);S=(0,a.getWrappedLineTrimmedLength)(c,e,this._cols)}}for(let t=0;t0;)0===this.ybase?this.y0){const e=[],t=[];for(let e=0;e=0;c--)if(a&&a.start>n+h){for(let e=a.newLines.length-1;e>=0;e--)this.lines.set(c--,a.newLines[e]);c++,e.push({index:n+1,amount:a.newLines.length}),h+=a.newLines.length,a=s[++o]}else this.lines.set(c,t[n--]);let c=0;for(let t=e.length-1;t>=0;t--)e[t].index+=c,this.lines.onInsertEmitter.fire(e[t]),c+=e[t].amount;const l=Math.max(0,i+r-this.lines.maxLength);l>0&&this.lines.onTrimEmitter.fire(l)}}translateBufferLineToString(e,t,i=0,s){const r=this.lines.get(e);return r?r.translateToString(t,i,s):\"\"}getWrappedRangeForLine(e){let t=e,i=e;for(;t>0&&this.lines.get(t).isWrapped;)t--;for(;i+10;);return e>=this._cols?this._cols-1:e<0?0:e}nextStop(e){for(null==e&&(e=this.x);!this.tabs[++e]&&e=this._cols?this._cols-1:e<0?0:e}clearMarkers(e){this._isClearing=!0;for(let t=0;t{t.line-=e,t.line<0&&t.dispose()}))),t.register(this.lines.onInsert((e=>{t.line>=e.index&&(t.line+=e.amount)}))),t.register(this.lines.onDelete((e=>{t.line>=e.index&&t.linee.index&&(t.line-=e.amount)}))),t.register(t.onDispose((()=>this._removeMarker(t)))),t}_removeMarker(e){this._isClearing||this.markers.splice(this.markers.indexOf(e),1)}}},8437:(e,t,i)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.BufferLine=t.DEFAULT_ATTR_DATA=void 0;const s=i(3734),r=i(511),n=i(643),o=i(482);t.DEFAULT_ATTR_DATA=Object.freeze(new s.AttributeData);let a=0;class h{constructor(e,t,i=!1){this.isWrapped=i,this._combined={},this._extendedAttrs={},this._data=new Uint32Array(3*e);const s=t||r.CellData.fromCharData([0,n.NULL_CELL_CHAR,n.NULL_CELL_WIDTH,n.NULL_CELL_CODE]);for(let t=0;t>22,2097152&t?this._combined[e].charCodeAt(this._combined[e].length-1):i]}set(e,t){this._data[3*e+1]=t[n.CHAR_DATA_ATTR_INDEX],t[n.CHAR_DATA_CHAR_INDEX].length>1?(this._combined[e]=t[1],this._data[3*e+0]=2097152|e|t[n.CHAR_DATA_WIDTH_INDEX]<<22):this._data[3*e+0]=t[n.CHAR_DATA_CHAR_INDEX].charCodeAt(0)|t[n.CHAR_DATA_WIDTH_INDEX]<<22}getWidth(e){return this._data[3*e+0]>>22}hasWidth(e){return 12582912&this._data[3*e+0]}getFg(e){return this._data[3*e+1]}getBg(e){return this._data[3*e+2]}hasContent(e){return 4194303&this._data[3*e+0]}getCodePoint(e){const t=this._data[3*e+0];return 2097152&t?this._combined[e].charCodeAt(this._combined[e].length-1):2097151&t}isCombined(e){return 2097152&this._data[3*e+0]}getString(e){const t=this._data[3*e+0];return 2097152&t?this._combined[e]:2097151&t?(0,o.stringFromCodePoint)(2097151&t):\"\"}isProtected(e){return 536870912&this._data[3*e+2]}loadCell(e,t){return a=3*e,t.content=this._data[a+0],t.fg=this._data[a+1],t.bg=this._data[a+2],2097152&t.content&&(t.combinedData=this._combined[e]),268435456&t.bg&&(t.extended=this._extendedAttrs[e]),t}setCell(e,t){2097152&t.content&&(this._combined[e]=t.combinedData),268435456&t.bg&&(this._extendedAttrs[e]=t.extended),this._data[3*e+0]=t.content,this._data[3*e+1]=t.fg,this._data[3*e+2]=t.bg}setCellFromCodePoint(e,t,i,s,r,n){268435456&r&&(this._extendedAttrs[e]=n),this._data[3*e+0]=t|i<<22,this._data[3*e+1]=s,this._data[3*e+2]=r}addCodepointToCell(e,t){let i=this._data[3*e+0];2097152&i?this._combined[e]+=(0,o.stringFromCodePoint)(t):(2097151&i?(this._combined[e]=(0,o.stringFromCodePoint)(2097151&i)+(0,o.stringFromCodePoint)(t),i&=-2097152,i|=2097152):i=t|1<<22,this._data[3*e+0]=i)}insertCells(e,t,i,n){if((e%=this.length)&&2===this.getWidth(e-1)&&this.setCellFromCodePoint(e-1,0,1,(null==n?void 0:n.fg)||0,(null==n?void 0:n.bg)||0,(null==n?void 0:n.extended)||new s.ExtendedAttrs),t=0;--i)this.setCell(e+t+i,this.loadCell(e+i,s));for(let s=0;sthis.length){if(this._data.buffer.byteLength>=4*i)this._data=new Uint32Array(this._data.buffer,0,i);else{const e=new Uint32Array(i);e.set(this._data),this._data=e}for(let i=this.length;i=e&&delete this._combined[s]}const s=Object.keys(this._extendedAttrs);for(let t=0;t=e&&delete this._extendedAttrs[i]}}return this.length=e,4*i*2=0;--e)if(4194303&this._data[3*e+0])return e+(this._data[3*e+0]>>22);return 0}getNoBgTrimmedLength(){for(let e=this.length-1;e>=0;--e)if(4194303&this._data[3*e+0]||50331648&this._data[3*e+2])return e+(this._data[3*e+0]>>22);return 0}copyCellsFrom(e,t,i,s,r){const n=e._data;if(r)for(let r=s-1;r>=0;r--){for(let e=0;e<3;e++)this._data[3*(i+r)+e]=n[3*(t+r)+e];268435456&n[3*(t+r)+2]&&(this._extendedAttrs[i+r]=e._extendedAttrs[t+r])}else for(let r=0;r=t&&(this._combined[r-t+i]=e._combined[r])}}translateToString(e=!1,t=0,i=this.length){e&&(i=Math.min(i,this.getTrimmedLength()));let s=\"\";for(;t>22||1}return s}}t.BufferLine=h},4841:(e,t)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.getRangeLength=void 0,t.getRangeLength=function(e,t){if(e.start.y>e.end.y)throw new Error(`Buffer range end (${e.end.x}, ${e.end.y}) cannot be before start (${e.start.x}, ${e.start.y})`);return t*(e.end.y-e.start.y)+(e.end.x-e.start.x+1)}},4634:(e,t)=>{function i(e,t,i){if(t===e.length-1)return e[t].getTrimmedLength();const s=!e[t].hasContent(i-1)&&1===e[t].getWidth(i-1),r=2===e[t+1].getWidth(0);return s&&r?i-1:i}Object.defineProperty(t,\"__esModule\",{value:!0}),t.getWrappedLineTrimmedLength=t.reflowSmallerGetNewLineLengths=t.reflowLargerApplyNewLayout=t.reflowLargerCreateNewLayout=t.reflowLargerGetLinesToRemove=void 0,t.reflowLargerGetLinesToRemove=function(e,t,s,r,n){const o=[];for(let a=0;a=a&&r0&&(e>d||0===l[e].getTrimmedLength());e--)v++;v>0&&(o.push(a+l.length-v),o.push(v)),a+=l.length-1}return o},t.reflowLargerCreateNewLayout=function(e,t){const i=[];let s=0,r=t[s],n=0;for(let o=0;oi(e,r,t))).reduce(((e,t)=>e+t));let o=0,a=0,h=0;for(;hc&&(o-=c,a++);const l=2===e[a].getWidth(o-1);l&&o--;const d=l?s-1:s;r.push(d),h+=d}return r},t.getWrappedLineTrimmedLength=i},5295:(e,t,i)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.BufferSet=void 0;const s=i(8460),r=i(844),n=i(9092);class o extends r.Disposable{constructor(e,t){super(),this._optionsService=e,this._bufferService=t,this._onBufferActivate=this.register(new s.EventEmitter),this.onBufferActivate=this._onBufferActivate.event,this.reset(),this.register(this._optionsService.onSpecificOptionChange(\"scrollback\",(()=>this.resize(this._bufferService.cols,this._bufferService.rows)))),this.register(this._optionsService.onSpecificOptionChange(\"tabStopWidth\",(()=>this.setupTabStops())))}reset(){this._normal=new n.Buffer(!0,this._optionsService,this._bufferService),this._normal.fillViewportRows(),this._alt=new n.Buffer(!1,this._optionsService,this._bufferService),this._activeBuffer=this._normal,this._onBufferActivate.fire({activeBuffer:this._normal,inactiveBuffer:this._alt}),this.setupTabStops()}get alt(){return this._alt}get active(){return this._activeBuffer}get normal(){return this._normal}activateNormalBuffer(){this._activeBuffer!==this._normal&&(this._normal.x=this._alt.x,this._normal.y=this._alt.y,this._alt.clearAllMarkers(),this._alt.clear(),this._activeBuffer=this._normal,this._onBufferActivate.fire({activeBuffer:this._normal,inactiveBuffer:this._alt}))}activateAltBuffer(e){this._activeBuffer!==this._alt&&(this._alt.fillViewportRows(e),this._alt.x=this._normal.x,this._alt.y=this._normal.y,this._activeBuffer=this._alt,this._onBufferActivate.fire({activeBuffer:this._alt,inactiveBuffer:this._normal}))}resize(e,t){this._normal.resize(e,t),this._alt.resize(e,t),this.setupTabStops(e)}setupTabStops(e){this._normal.setupTabStops(e),this._alt.setupTabStops(e)}}t.BufferSet=o},511:(e,t,i)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.CellData=void 0;const s=i(482),r=i(643),n=i(3734);class o extends n.AttributeData{constructor(){super(...arguments),this.content=0,this.fg=0,this.bg=0,this.extended=new n.ExtendedAttrs,this.combinedData=\"\"}static fromCharData(e){const t=new o;return t.setFromCharData(e),t}isCombined(){return 2097152&this.content}getWidth(){return this.content>>22}getChars(){return 2097152&this.content?this.combinedData:2097151&this.content?(0,s.stringFromCodePoint)(2097151&this.content):\"\"}getCode(){return this.isCombined()?this.combinedData.charCodeAt(this.combinedData.length-1):2097151&this.content}setFromCharData(e){this.fg=e[r.CHAR_DATA_ATTR_INDEX],this.bg=0;let t=!1;if(e[r.CHAR_DATA_CHAR_INDEX].length>2)t=!0;else if(2===e[r.CHAR_DATA_CHAR_INDEX].length){const i=e[r.CHAR_DATA_CHAR_INDEX].charCodeAt(0);if(55296<=i&&i<=56319){const s=e[r.CHAR_DATA_CHAR_INDEX].charCodeAt(1);56320<=s&&s<=57343?this.content=1024*(i-55296)+s-56320+65536|e[r.CHAR_DATA_WIDTH_INDEX]<<22:t=!0}else t=!0}else this.content=e[r.CHAR_DATA_CHAR_INDEX].charCodeAt(0)|e[r.CHAR_DATA_WIDTH_INDEX]<<22;t&&(this.combinedData=e[r.CHAR_DATA_CHAR_INDEX],this.content=2097152|e[r.CHAR_DATA_WIDTH_INDEX]<<22)}getAsCharData(){return[this.fg,this.getChars(),this.getWidth(),this.getCode()]}}t.CellData=o},643:(e,t)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.WHITESPACE_CELL_CODE=t.WHITESPACE_CELL_WIDTH=t.WHITESPACE_CELL_CHAR=t.NULL_CELL_CODE=t.NULL_CELL_WIDTH=t.NULL_CELL_CHAR=t.CHAR_DATA_CODE_INDEX=t.CHAR_DATA_WIDTH_INDEX=t.CHAR_DATA_CHAR_INDEX=t.CHAR_DATA_ATTR_INDEX=t.DEFAULT_EXT=t.DEFAULT_ATTR=t.DEFAULT_COLOR=void 0,t.DEFAULT_COLOR=0,t.DEFAULT_ATTR=256|t.DEFAULT_COLOR<<9,t.DEFAULT_EXT=0,t.CHAR_DATA_ATTR_INDEX=0,t.CHAR_DATA_CHAR_INDEX=1,t.CHAR_DATA_WIDTH_INDEX=2,t.CHAR_DATA_CODE_INDEX=3,t.NULL_CELL_CHAR=\"\",t.NULL_CELL_WIDTH=1,t.NULL_CELL_CODE=0,t.WHITESPACE_CELL_CHAR=\" \",t.WHITESPACE_CELL_WIDTH=1,t.WHITESPACE_CELL_CODE=32},4863:(e,t,i)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.Marker=void 0;const s=i(8460),r=i(844);class n{get id(){return this._id}constructor(e){this.line=e,this.isDisposed=!1,this._disposables=[],this._id=n._nextId++,this._onDispose=this.register(new s.EventEmitter),this.onDispose=this._onDispose.event}dispose(){this.isDisposed||(this.isDisposed=!0,this.line=-1,this._onDispose.fire(),(0,r.disposeArray)(this._disposables),this._disposables.length=0)}register(e){return this._disposables.push(e),e}}t.Marker=n,n._nextId=1},7116:(e,t)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.DEFAULT_CHARSET=t.CHARSETS=void 0,t.CHARSETS={},t.DEFAULT_CHARSET=t.CHARSETS.B,t.CHARSETS[0]={\"`\":\"◆\",a:\"▒\",b:\"␉\",c:\"␌\",d:\"␍\",e:\"␊\",f:\"°\",g:\"±\",h:\"␤\",i:\"␋\",j:\"┘\",k:\"┐\",l:\"┌\",m:\"└\",n:\"┼\",o:\"⎺\",p:\"⎻\",q:\"─\",r:\"⎼\",s:\"⎽\",t:\"├\",u:\"┤\",v:\"┴\",w:\"┬\",x:\"│\",y:\"≤\",z:\"≥\",\"{\":\"π\",\"|\":\"≠\",\"}\":\"£\",\"~\":\"·\"},t.CHARSETS.A={\"#\":\"£\"},t.CHARSETS.B=void 0,t.CHARSETS[4]={\"#\":\"£\",\"@\":\"¾\",\"[\":\"ij\",\"\\\\\":\"½\",\"]\":\"|\",\"{\":\"¨\",\"|\":\"f\",\"}\":\"¼\",\"~\":\"´\"},t.CHARSETS.C=t.CHARSETS[5]={\"[\":\"Ä\",\"\\\\\":\"Ö\",\"]\":\"Å\",\"^\":\"Ü\",\"`\":\"é\",\"{\":\"ä\",\"|\":\"ö\",\"}\":\"å\",\"~\":\"ü\"},t.CHARSETS.R={\"#\":\"£\",\"@\":\"à\",\"[\":\"°\",\"\\\\\":\"ç\",\"]\":\"§\",\"{\":\"é\",\"|\":\"ù\",\"}\":\"è\",\"~\":\"¨\"},t.CHARSETS.Q={\"@\":\"à\",\"[\":\"â\",\"\\\\\":\"ç\",\"]\":\"ê\",\"^\":\"î\",\"`\":\"ô\",\"{\":\"é\",\"|\":\"ù\",\"}\":\"è\",\"~\":\"û\"},t.CHARSETS.K={\"@\":\"§\",\"[\":\"Ä\",\"\\\\\":\"Ö\",\"]\":\"Ü\",\"{\":\"ä\",\"|\":\"ö\",\"}\":\"ü\",\"~\":\"ß\"},t.CHARSETS.Y={\"#\":\"£\",\"@\":\"§\",\"[\":\"°\",\"\\\\\":\"ç\",\"]\":\"é\",\"`\":\"ù\",\"{\":\"à\",\"|\":\"ò\",\"}\":\"è\",\"~\":\"ì\"},t.CHARSETS.E=t.CHARSETS[6]={\"@\":\"Ä\",\"[\":\"Æ\",\"\\\\\":\"Ø\",\"]\":\"Å\",\"^\":\"Ü\",\"`\":\"ä\",\"{\":\"æ\",\"|\":\"ø\",\"}\":\"å\",\"~\":\"ü\"},t.CHARSETS.Z={\"#\":\"£\",\"@\":\"§\",\"[\":\"¡\",\"\\\\\":\"Ñ\",\"]\":\"¿\",\"{\":\"°\",\"|\":\"ñ\",\"}\":\"ç\"},t.CHARSETS.H=t.CHARSETS[7]={\"@\":\"É\",\"[\":\"Ä\",\"\\\\\":\"Ö\",\"]\":\"Å\",\"^\":\"Ü\",\"`\":\"é\",\"{\":\"ä\",\"|\":\"ö\",\"}\":\"å\",\"~\":\"ü\"},t.CHARSETS[\"=\"]={\"#\":\"ù\",\"@\":\"à\",\"[\":\"é\",\"\\\\\":\"ç\",\"]\":\"ê\",\"^\":\"î\",_:\"è\",\"`\":\"ô\",\"{\":\"ä\",\"|\":\"ö\",\"}\":\"ü\",\"~\":\"û\"}},2584:(e,t)=>{var i,s,r;Object.defineProperty(t,\"__esModule\",{value:!0}),t.C1_ESCAPED=t.C1=t.C0=void 0,function(e){e.NUL=\"\\0\",e.SOH=\"\u0001\",e.STX=\"\u0002\",e.ETX=\"\u0003\",e.EOT=\"\u0004\",e.ENQ=\"\u0005\",e.ACK=\"\u0006\",e.BEL=\"\u0007\",e.BS=\"\\b\",e.HT=\"\\t\",e.LF=\"\\n\",e.VT=\"\\v\",e.FF=\"\\f\",e.CR=\"\\r\",e.SO=\"\u000e\",e.SI=\"\u000f\",e.DLE=\"\u0010\",e.DC1=\"\u0011\",e.DC2=\"\u0012\",e.DC3=\"\u0013\",e.DC4=\"\u0014\",e.NAK=\"\u0015\",e.SYN=\"\u0016\",e.ETB=\"\u0017\",e.CAN=\"\u0018\",e.EM=\"\u0019\",e.SUB=\"\u001a\",e.ESC=\"\u001b\",e.FS=\"\u001c\",e.GS=\"\u001d\",e.RS=\"\u001e\",e.US=\"\u001f\",e.SP=\" \",e.DEL=\"\"}(i||(t.C0=i={})),function(e){e.PAD=\"€\",e.HOP=\"\",e.BPH=\"‚\",e.NBH=\"ƒ\",e.IND=\"„\",e.NEL=\"…\",e.SSA=\"†\",e.ESA=\"‡\",e.HTS=\"ˆ\",e.HTJ=\"‰\",e.VTS=\"Š\",e.PLD=\"‹\",e.PLU=\"Œ\",e.RI=\"\",e.SS2=\"Ž\",e.SS3=\"\",e.DCS=\"\",e.PU1=\"‘\",e.PU2=\"’\",e.STS=\"“\",e.CCH=\"”\",e.MW=\"•\",e.SPA=\"–\",e.EPA=\"—\",e.SOS=\"˜\",e.SGCI=\"™\",e.SCI=\"š\",e.CSI=\"›\",e.ST=\"œ\",e.OSC=\"\",e.PM=\"ž\",e.APC=\"Ÿ\"}(s||(t.C1=s={})),function(e){e.ST=`${i.ESC}\\\\`}(r||(t.C1_ESCAPED=r={}))},7399:(e,t,i)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.evaluateKeyboardEvent=void 0;const s=i(2584),r={48:[\"0\",\")\"],49:[\"1\",\"!\"],50:[\"2\",\"@\"],51:[\"3\",\"#\"],52:[\"4\",\"$\"],53:[\"5\",\"%\"],54:[\"6\",\"^\"],55:[\"7\",\"&\"],56:[\"8\",\"*\"],57:[\"9\",\"(\"],186:[\";\",\":\"],187:[\"=\",\"+\"],188:[\",\",\"<\"],189:[\"-\",\"_\"],190:[\".\",\">\"],191:[\"/\",\"?\"],192:[\"`\",\"~\"],219:[\"[\",\"{\"],220:[\"\\\\\",\"|\"],221:[\"]\",\"}\"],222:[\"'\",'\"']};t.evaluateKeyboardEvent=function(e,t,i,n){const o={type:0,cancel:!1,key:void 0},a=(e.shiftKey?1:0)|(e.altKey?2:0)|(e.ctrlKey?4:0)|(e.metaKey?8:0);switch(e.keyCode){case 0:\"UIKeyInputUpArrow\"===e.key?o.key=t?s.C0.ESC+\"OA\":s.C0.ESC+\"[A\":\"UIKeyInputLeftArrow\"===e.key?o.key=t?s.C0.ESC+\"OD\":s.C0.ESC+\"[D\":\"UIKeyInputRightArrow\"===e.key?o.key=t?s.C0.ESC+\"OC\":s.C0.ESC+\"[C\":\"UIKeyInputDownArrow\"===e.key&&(o.key=t?s.C0.ESC+\"OB\":s.C0.ESC+\"[B\");break;case 8:if(e.altKey){o.key=s.C0.ESC+s.C0.DEL;break}o.key=s.C0.DEL;break;case 9:if(e.shiftKey){o.key=s.C0.ESC+\"[Z\";break}o.key=s.C0.HT,o.cancel=!0;break;case 13:o.key=e.altKey?s.C0.ESC+s.C0.CR:s.C0.CR,o.cancel=!0;break;case 27:o.key=s.C0.ESC,e.altKey&&(o.key=s.C0.ESC+s.C0.ESC),o.cancel=!0;break;case 37:if(e.metaKey)break;a?(o.key=s.C0.ESC+\"[1;\"+(a+1)+\"D\",o.key===s.C0.ESC+\"[1;3D\"&&(o.key=s.C0.ESC+(i?\"b\":\"[1;5D\"))):o.key=t?s.C0.ESC+\"OD\":s.C0.ESC+\"[D\";break;case 39:if(e.metaKey)break;a?(o.key=s.C0.ESC+\"[1;\"+(a+1)+\"C\",o.key===s.C0.ESC+\"[1;3C\"&&(o.key=s.C0.ESC+(i?\"f\":\"[1;5C\"))):o.key=t?s.C0.ESC+\"OC\":s.C0.ESC+\"[C\";break;case 38:if(e.metaKey)break;a?(o.key=s.C0.ESC+\"[1;\"+(a+1)+\"A\",i||o.key!==s.C0.ESC+\"[1;3A\"||(o.key=s.C0.ESC+\"[1;5A\")):o.key=t?s.C0.ESC+\"OA\":s.C0.ESC+\"[A\";break;case 40:if(e.metaKey)break;a?(o.key=s.C0.ESC+\"[1;\"+(a+1)+\"B\",i||o.key!==s.C0.ESC+\"[1;3B\"||(o.key=s.C0.ESC+\"[1;5B\")):o.key=t?s.C0.ESC+\"OB\":s.C0.ESC+\"[B\";break;case 45:e.shiftKey||e.ctrlKey||(o.key=s.C0.ESC+\"[2~\");break;case 46:o.key=a?s.C0.ESC+\"[3;\"+(a+1)+\"~\":s.C0.ESC+\"[3~\";break;case 36:o.key=a?s.C0.ESC+\"[1;\"+(a+1)+\"H\":t?s.C0.ESC+\"OH\":s.C0.ESC+\"[H\";break;case 35:o.key=a?s.C0.ESC+\"[1;\"+(a+1)+\"F\":t?s.C0.ESC+\"OF\":s.C0.ESC+\"[F\";break;case 33:e.shiftKey?o.type=2:e.ctrlKey?o.key=s.C0.ESC+\"[5;\"+(a+1)+\"~\":o.key=s.C0.ESC+\"[5~\";break;case 34:e.shiftKey?o.type=3:e.ctrlKey?o.key=s.C0.ESC+\"[6;\"+(a+1)+\"~\":o.key=s.C0.ESC+\"[6~\";break;case 112:o.key=a?s.C0.ESC+\"[1;\"+(a+1)+\"P\":s.C0.ESC+\"OP\";break;case 113:o.key=a?s.C0.ESC+\"[1;\"+(a+1)+\"Q\":s.C0.ESC+\"OQ\";break;case 114:o.key=a?s.C0.ESC+\"[1;\"+(a+1)+\"R\":s.C0.ESC+\"OR\";break;case 115:o.key=a?s.C0.ESC+\"[1;\"+(a+1)+\"S\":s.C0.ESC+\"OS\";break;case 116:o.key=a?s.C0.ESC+\"[15;\"+(a+1)+\"~\":s.C0.ESC+\"[15~\";break;case 117:o.key=a?s.C0.ESC+\"[17;\"+(a+1)+\"~\":s.C0.ESC+\"[17~\";break;case 118:o.key=a?s.C0.ESC+\"[18;\"+(a+1)+\"~\":s.C0.ESC+\"[18~\";break;case 119:o.key=a?s.C0.ESC+\"[19;\"+(a+1)+\"~\":s.C0.ESC+\"[19~\";break;case 120:o.key=a?s.C0.ESC+\"[20;\"+(a+1)+\"~\":s.C0.ESC+\"[20~\";break;case 121:o.key=a?s.C0.ESC+\"[21;\"+(a+1)+\"~\":s.C0.ESC+\"[21~\";break;case 122:o.key=a?s.C0.ESC+\"[23;\"+(a+1)+\"~\":s.C0.ESC+\"[23~\";break;case 123:o.key=a?s.C0.ESC+\"[24;\"+(a+1)+\"~\":s.C0.ESC+\"[24~\";break;default:if(!e.ctrlKey||e.shiftKey||e.altKey||e.metaKey)if(i&&!n||!e.altKey||e.metaKey)!i||e.altKey||e.ctrlKey||e.shiftKey||!e.metaKey?e.key&&!e.ctrlKey&&!e.altKey&&!e.metaKey&&e.keyCode>=48&&1===e.key.length?o.key=e.key:e.key&&e.ctrlKey&&(\"_\"===e.key&&(o.key=s.C0.US),\"@\"===e.key&&(o.key=s.C0.NUL)):65===e.keyCode&&(o.type=1);else{const t=r[e.keyCode],i=null==t?void 0:t[e.shiftKey?1:0];if(i)o.key=s.C0.ESC+i;else if(e.keyCode>=65&&e.keyCode<=90){const t=e.ctrlKey?e.keyCode-64:e.keyCode+32;let i=String.fromCharCode(t);e.shiftKey&&(i=i.toUpperCase()),o.key=s.C0.ESC+i}else if(32===e.keyCode)o.key=s.C0.ESC+(e.ctrlKey?s.C0.NUL:\" \");else if(\"Dead\"===e.key&&e.code.startsWith(\"Key\")){let t=e.code.slice(3,4);e.shiftKey||(t=t.toLowerCase()),o.key=s.C0.ESC+t,o.cancel=!0}}else e.keyCode>=65&&e.keyCode<=90?o.key=String.fromCharCode(e.keyCode-64):32===e.keyCode?o.key=s.C0.NUL:e.keyCode>=51&&e.keyCode<=55?o.key=String.fromCharCode(e.keyCode-51+27):56===e.keyCode?o.key=s.C0.DEL:219===e.keyCode?o.key=s.C0.ESC:220===e.keyCode?o.key=s.C0.FS:221===e.keyCode&&(o.key=s.C0.GS)}return o}},482:(e,t)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.Utf8ToUtf32=t.StringToUtf32=t.utf32ToString=t.stringFromCodePoint=void 0,t.stringFromCodePoint=function(e){return e>65535?(e-=65536,String.fromCharCode(55296+(e>>10))+String.fromCharCode(e%1024+56320)):String.fromCharCode(e)},t.utf32ToString=function(e,t=0,i=e.length){let s=\"\";for(let r=t;r65535?(t-=65536,s+=String.fromCharCode(55296+(t>>10))+String.fromCharCode(t%1024+56320)):s+=String.fromCharCode(t)}return s},t.StringToUtf32=class{constructor(){this._interim=0}clear(){this._interim=0}decode(e,t){const i=e.length;if(!i)return 0;let s=0,r=0;if(this._interim){const i=e.charCodeAt(r++);56320<=i&&i<=57343?t[s++]=1024*(this._interim-55296)+i-56320+65536:(t[s++]=this._interim,t[s++]=i),this._interim=0}for(let n=r;n=i)return this._interim=r,s;const o=e.charCodeAt(n);56320<=o&&o<=57343?t[s++]=1024*(r-55296)+o-56320+65536:(t[s++]=r,t[s++]=o)}else 65279!==r&&(t[s++]=r)}return s}},t.Utf8ToUtf32=class{constructor(){this.interim=new Uint8Array(3)}clear(){this.interim.fill(0)}decode(e,t){const i=e.length;if(!i)return 0;let s,r,n,o,a=0,h=0,c=0;if(this.interim[0]){let s=!1,r=this.interim[0];r&=192==(224&r)?31:224==(240&r)?15:7;let n,o=0;for(;(n=63&this.interim[++o])&&o<4;)r<<=6,r|=n;const h=192==(224&this.interim[0])?2:224==(240&this.interim[0])?3:4,l=h-o;for(;c=i)return 0;if(n=e[c++],128!=(192&n)){c--,s=!0;break}this.interim[o++]=n,r<<=6,r|=63&n}s||(2===h?r<128?c--:t[a++]=r:3===h?r<2048||r>=55296&&r<=57343||65279===r||(t[a++]=r):r<65536||r>1114111||(t[a++]=r)),this.interim.fill(0)}const l=i-4;let d=c;for(;d=i)return this.interim[0]=s,a;if(r=e[d++],128!=(192&r)){d--;continue}if(h=(31&s)<<6|63&r,h<128){d--;continue}t[a++]=h}else if(224==(240&s)){if(d>=i)return this.interim[0]=s,a;if(r=e[d++],128!=(192&r)){d--;continue}if(d>=i)return this.interim[0]=s,this.interim[1]=r,a;if(n=e[d++],128!=(192&n)){d--;continue}if(h=(15&s)<<12|(63&r)<<6|63&n,h<2048||h>=55296&&h<=57343||65279===h)continue;t[a++]=h}else if(240==(248&s)){if(d>=i)return this.interim[0]=s,a;if(r=e[d++],128!=(192&r)){d--;continue}if(d>=i)return this.interim[0]=s,this.interim[1]=r,a;if(n=e[d++],128!=(192&n)){d--;continue}if(d>=i)return this.interim[0]=s,this.interim[1]=r,this.interim[2]=n,a;if(o=e[d++],128!=(192&o)){d--;continue}if(h=(7&s)<<18|(63&r)<<12|(63&n)<<6|63&o,h<65536||h>1114111)continue;t[a++]=h}}return a}}},225:(e,t)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.UnicodeV6=void 0;const i=[[768,879],[1155,1158],[1160,1161],[1425,1469],[1471,1471],[1473,1474],[1476,1477],[1479,1479],[1536,1539],[1552,1557],[1611,1630],[1648,1648],[1750,1764],[1767,1768],[1770,1773],[1807,1807],[1809,1809],[1840,1866],[1958,1968],[2027,2035],[2305,2306],[2364,2364],[2369,2376],[2381,2381],[2385,2388],[2402,2403],[2433,2433],[2492,2492],[2497,2500],[2509,2509],[2530,2531],[2561,2562],[2620,2620],[2625,2626],[2631,2632],[2635,2637],[2672,2673],[2689,2690],[2748,2748],[2753,2757],[2759,2760],[2765,2765],[2786,2787],[2817,2817],[2876,2876],[2879,2879],[2881,2883],[2893,2893],[2902,2902],[2946,2946],[3008,3008],[3021,3021],[3134,3136],[3142,3144],[3146,3149],[3157,3158],[3260,3260],[3263,3263],[3270,3270],[3276,3277],[3298,3299],[3393,3395],[3405,3405],[3530,3530],[3538,3540],[3542,3542],[3633,3633],[3636,3642],[3655,3662],[3761,3761],[3764,3769],[3771,3772],[3784,3789],[3864,3865],[3893,3893],[3895,3895],[3897,3897],[3953,3966],[3968,3972],[3974,3975],[3984,3991],[3993,4028],[4038,4038],[4141,4144],[4146,4146],[4150,4151],[4153,4153],[4184,4185],[4448,4607],[4959,4959],[5906,5908],[5938,5940],[5970,5971],[6002,6003],[6068,6069],[6071,6077],[6086,6086],[6089,6099],[6109,6109],[6155,6157],[6313,6313],[6432,6434],[6439,6440],[6450,6450],[6457,6459],[6679,6680],[6912,6915],[6964,6964],[6966,6970],[6972,6972],[6978,6978],[7019,7027],[7616,7626],[7678,7679],[8203,8207],[8234,8238],[8288,8291],[8298,8303],[8400,8431],[12330,12335],[12441,12442],[43014,43014],[43019,43019],[43045,43046],[64286,64286],[65024,65039],[65056,65059],[65279,65279],[65529,65531]],s=[[68097,68099],[68101,68102],[68108,68111],[68152,68154],[68159,68159],[119143,119145],[119155,119170],[119173,119179],[119210,119213],[119362,119364],[917505,917505],[917536,917631],[917760,917999]];let r;t.UnicodeV6=class{constructor(){if(this.version=\"6\",!r){r=new Uint8Array(65536),r.fill(1),r[0]=0,r.fill(0,1,32),r.fill(0,127,160),r.fill(2,4352,4448),r[9001]=2,r[9002]=2,r.fill(2,11904,42192),r[12351]=1,r.fill(2,44032,55204),r.fill(2,63744,64256),r.fill(2,65040,65050),r.fill(2,65072,65136),r.fill(2,65280,65377),r.fill(2,65504,65511);for(let e=0;et[r][1])return!1;for(;r>=s;)if(i=s+r>>1,e>t[i][1])s=i+1;else{if(!(e=131072&&e<=196605||e>=196608&&e<=262141?2:1}}},5981:(e,t,i)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.WriteBuffer=void 0;const s=i(8460),r=i(844);class n extends r.Disposable{constructor(e){super(),this._action=e,this._writeBuffer=[],this._callbacks=[],this._pendingData=0,this._bufferOffset=0,this._isSyncWriting=!1,this._syncCalls=0,this._didUserInput=!1,this._onWriteParsed=this.register(new s.EventEmitter),this.onWriteParsed=this._onWriteParsed.event}handleUserInput(){this._didUserInput=!0}writeSync(e,t){if(void 0!==t&&this._syncCalls>t)return void(this._syncCalls=0);if(this._pendingData+=e.length,this._writeBuffer.push(e),this._callbacks.push(void 0),this._syncCalls++,this._isSyncWriting)return;let i;for(this._isSyncWriting=!0;i=this._writeBuffer.shift();){this._action(i);const e=this._callbacks.shift();e&&e()}this._pendingData=0,this._bufferOffset=2147483647,this._isSyncWriting=!1,this._syncCalls=0}write(e,t){if(this._pendingData>5e7)throw new Error(\"write data discarded, use flow control to avoid losing data\");if(!this._writeBuffer.length){if(this._bufferOffset=0,this._didUserInput)return this._didUserInput=!1,this._pendingData+=e.length,this._writeBuffer.push(e),this._callbacks.push(t),void this._innerWrite();setTimeout((()=>this._innerWrite()))}this._pendingData+=e.length,this._writeBuffer.push(e),this._callbacks.push(t)}_innerWrite(e=0,t=!0){const i=e||Date.now();for(;this._writeBuffer.length>this._bufferOffset;){const e=this._writeBuffer[this._bufferOffset],s=this._action(e,t);if(s){const e=e=>Date.now()-i>=12?setTimeout((()=>this._innerWrite(0,e))):this._innerWrite(i,e);return void s.catch((e=>(queueMicrotask((()=>{throw e})),Promise.resolve(!1)))).then(e)}const r=this._callbacks[this._bufferOffset];if(r&&r(),this._bufferOffset++,this._pendingData-=e.length,Date.now()-i>=12)break}this._writeBuffer.length>this._bufferOffset?(this._bufferOffset>50&&(this._writeBuffer=this._writeBuffer.slice(this._bufferOffset),this._callbacks=this._callbacks.slice(this._bufferOffset),this._bufferOffset=0),setTimeout((()=>this._innerWrite()))):(this._writeBuffer.length=0,this._callbacks.length=0,this._pendingData=0,this._bufferOffset=0),this._onWriteParsed.fire()}}t.WriteBuffer=n},5941:(e,t)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.toRgbString=t.parseColor=void 0;const i=/^([\\da-f])\\/([\\da-f])\\/([\\da-f])$|^([\\da-f]{2})\\/([\\da-f]{2})\\/([\\da-f]{2})$|^([\\da-f]{3})\\/([\\da-f]{3})\\/([\\da-f]{3})$|^([\\da-f]{4})\\/([\\da-f]{4})\\/([\\da-f]{4})$/,s=/^[\\da-f]+$/;function r(e,t){const i=e.toString(16),s=i.length<2?\"0\"+i:i;switch(t){case 4:return i[0];case 8:return s;case 12:return(s+s).slice(0,3);default:return s+s}}t.parseColor=function(e){if(!e)return;let t=e.toLowerCase();if(0===t.indexOf(\"rgb:\")){t=t.slice(4);const e=i.exec(t);if(e){const t=e[1]?15:e[4]?255:e[7]?4095:65535;return[Math.round(parseInt(e[1]||e[4]||e[7]||e[10],16)/t*255),Math.round(parseInt(e[2]||e[5]||e[8]||e[11],16)/t*255),Math.round(parseInt(e[3]||e[6]||e[9]||e[12],16)/t*255)]}}else if(0===t.indexOf(\"#\")&&(t=t.slice(1),s.exec(t)&&[3,6,9,12].includes(t.length))){const e=t.length/3,i=[0,0,0];for(let s=0;s<3;++s){const r=parseInt(t.slice(e*s,e*s+e),16);i[s]=1===e?r<<4:2===e?r:3===e?r>>4:r>>8}return i}},t.toRgbString=function(e,t=16){const[i,s,n]=e;return`rgb:${r(i,t)}/${r(s,t)}/${r(n,t)}`}},5770:(e,t)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.PAYLOAD_LIMIT=void 0,t.PAYLOAD_LIMIT=1e7},6351:(e,t,i)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.DcsHandler=t.DcsParser=void 0;const s=i(482),r=i(8742),n=i(5770),o=[];t.DcsParser=class{constructor(){this._handlers=Object.create(null),this._active=o,this._ident=0,this._handlerFb=()=>{},this._stack={paused:!1,loopPosition:0,fallThrough:!1}}dispose(){this._handlers=Object.create(null),this._handlerFb=()=>{},this._active=o}registerHandler(e,t){void 0===this._handlers[e]&&(this._handlers[e]=[]);const i=this._handlers[e];return i.push(t),{dispose:()=>{const e=i.indexOf(t);-1!==e&&i.splice(e,1)}}}clearHandler(e){this._handlers[e]&&delete this._handlers[e]}setHandlerFallback(e){this._handlerFb=e}reset(){if(this._active.length)for(let e=this._stack.paused?this._stack.loopPosition-1:this._active.length-1;e>=0;--e)this._active[e].unhook(!1);this._stack.paused=!1,this._active=o,this._ident=0}hook(e,t){if(this.reset(),this._ident=e,this._active=this._handlers[e]||o,this._active.length)for(let e=this._active.length-1;e>=0;e--)this._active[e].hook(t);else this._handlerFb(this._ident,\"HOOK\",t)}put(e,t,i){if(this._active.length)for(let s=this._active.length-1;s>=0;s--)this._active[s].put(e,t,i);else this._handlerFb(this._ident,\"PUT\",(0,s.utf32ToString)(e,t,i))}unhook(e,t=!0){if(this._active.length){let i=!1,s=this._active.length-1,r=!1;if(this._stack.paused&&(s=this._stack.loopPosition-1,i=t,r=this._stack.fallThrough,this._stack.paused=!1),!r&&!1===i){for(;s>=0&&(i=this._active[s].unhook(e),!0!==i);s--)if(i instanceof Promise)return this._stack.paused=!0,this._stack.loopPosition=s,this._stack.fallThrough=!1,i;s--}for(;s>=0;s--)if(i=this._active[s].unhook(!1),i instanceof Promise)return this._stack.paused=!0,this._stack.loopPosition=s,this._stack.fallThrough=!0,i}else this._handlerFb(this._ident,\"UNHOOK\",e);this._active=o,this._ident=0}};const a=new r.Params;a.addParam(0),t.DcsHandler=class{constructor(e){this._handler=e,this._data=\"\",this._params=a,this._hitLimit=!1}hook(e){this._params=e.length>1||e.params[0]?e.clone():a,this._data=\"\",this._hitLimit=!1}put(e,t,i){this._hitLimit||(this._data+=(0,s.utf32ToString)(e,t,i),this._data.length>n.PAYLOAD_LIMIT&&(this._data=\"\",this._hitLimit=!0))}unhook(e){let t=!1;if(this._hitLimit)t=!1;else if(e&&(t=this._handler(this._data,this._params),t instanceof Promise))return t.then((e=>(this._params=a,this._data=\"\",this._hitLimit=!1,e)));return this._params=a,this._data=\"\",this._hitLimit=!1,t}}},2015:(e,t,i)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.EscapeSequenceParser=t.VT500_TRANSITION_TABLE=t.TransitionTable=void 0;const s=i(844),r=i(8742),n=i(6242),o=i(6351);class a{constructor(e){this.table=new Uint8Array(e)}setDefault(e,t){this.table.fill(e<<4|t)}add(e,t,i,s){this.table[t<<8|e]=i<<4|s}addMany(e,t,i,s){for(let r=0;rt)),i=(e,i)=>t.slice(e,i),s=i(32,127),r=i(0,24);r.push(25),r.push.apply(r,i(28,32));const n=i(0,14);let o;for(o in e.setDefault(1,0),e.addMany(s,0,2,0),n)e.addMany([24,26,153,154],o,3,0),e.addMany(i(128,144),o,3,0),e.addMany(i(144,152),o,3,0),e.add(156,o,0,0),e.add(27,o,11,1),e.add(157,o,4,8),e.addMany([152,158,159],o,0,7),e.add(155,o,11,3),e.add(144,o,11,9);return e.addMany(r,0,3,0),e.addMany(r,1,3,1),e.add(127,1,0,1),e.addMany(r,8,0,8),e.addMany(r,3,3,3),e.add(127,3,0,3),e.addMany(r,4,3,4),e.add(127,4,0,4),e.addMany(r,6,3,6),e.addMany(r,5,3,5),e.add(127,5,0,5),e.addMany(r,2,3,2),e.add(127,2,0,2),e.add(93,1,4,8),e.addMany(s,8,5,8),e.add(127,8,5,8),e.addMany([156,27,24,26,7],8,6,0),e.addMany(i(28,32),8,0,8),e.addMany([88,94,95],1,0,7),e.addMany(s,7,0,7),e.addMany(r,7,0,7),e.add(156,7,0,0),e.add(127,7,0,7),e.add(91,1,11,3),e.addMany(i(64,127),3,7,0),e.addMany(i(48,60),3,8,4),e.addMany([60,61,62,63],3,9,4),e.addMany(i(48,60),4,8,4),e.addMany(i(64,127),4,7,0),e.addMany([60,61,62,63],4,0,6),e.addMany(i(32,64),6,0,6),e.add(127,6,0,6),e.addMany(i(64,127),6,0,0),e.addMany(i(32,48),3,9,5),e.addMany(i(32,48),5,9,5),e.addMany(i(48,64),5,0,6),e.addMany(i(64,127),5,7,0),e.addMany(i(32,48),4,9,5),e.addMany(i(32,48),1,9,2),e.addMany(i(32,48),2,9,2),e.addMany(i(48,127),2,10,0),e.addMany(i(48,80),1,10,0),e.addMany(i(81,88),1,10,0),e.addMany([89,90,92],1,10,0),e.addMany(i(96,127),1,10,0),e.add(80,1,11,9),e.addMany(r,9,0,9),e.add(127,9,0,9),e.addMany(i(28,32),9,0,9),e.addMany(i(32,48),9,9,12),e.addMany(i(48,60),9,8,10),e.addMany([60,61,62,63],9,9,10),e.addMany(r,11,0,11),e.addMany(i(32,128),11,0,11),e.addMany(i(28,32),11,0,11),e.addMany(r,10,0,10),e.add(127,10,0,10),e.addMany(i(28,32),10,0,10),e.addMany(i(48,60),10,8,10),e.addMany([60,61,62,63],10,0,11),e.addMany(i(32,48),10,9,12),e.addMany(r,12,0,12),e.add(127,12,0,12),e.addMany(i(28,32),12,0,12),e.addMany(i(32,48),12,9,12),e.addMany(i(48,64),12,0,11),e.addMany(i(64,127),12,12,13),e.addMany(i(64,127),10,12,13),e.addMany(i(64,127),9,12,13),e.addMany(r,13,13,13),e.addMany(s,13,13,13),e.add(127,13,0,13),e.addMany([27,156,24,26],13,14,0),e.add(h,0,2,0),e.add(h,8,5,8),e.add(h,6,0,6),e.add(h,11,0,11),e.add(h,13,13,13),e}();class c extends s.Disposable{constructor(e=t.VT500_TRANSITION_TABLE){super(),this._transitions=e,this._parseStack={state:0,handlers:[],handlerPos:0,transition:0,chunkPos:0},this.initialState=0,this.currentState=this.initialState,this._params=new r.Params,this._params.addParam(0),this._collect=0,this.precedingCodepoint=0,this._printHandlerFb=(e,t,i)=>{},this._executeHandlerFb=e=>{},this._csiHandlerFb=(e,t)=>{},this._escHandlerFb=e=>{},this._errorHandlerFb=e=>e,this._printHandler=this._printHandlerFb,this._executeHandlers=Object.create(null),this._csiHandlers=Object.create(null),this._escHandlers=Object.create(null),this.register((0,s.toDisposable)((()=>{this._csiHandlers=Object.create(null),this._executeHandlers=Object.create(null),this._escHandlers=Object.create(null)}))),this._oscParser=this.register(new n.OscParser),this._dcsParser=this.register(new o.DcsParser),this._errorHandler=this._errorHandlerFb,this.registerEscHandler({final:\"\\\\\"},(()=>!0))}_identifier(e,t=[64,126]){let i=0;if(e.prefix){if(e.prefix.length>1)throw new Error(\"only one byte as prefix supported\");if(i=e.prefix.charCodeAt(0),i&&60>i||i>63)throw new Error(\"prefix must be in range 0x3c .. 0x3f\")}if(e.intermediates){if(e.intermediates.length>2)throw new Error(\"only two bytes as intermediates are supported\");for(let t=0;ts||s>47)throw new Error(\"intermediate must be in range 0x20 .. 0x2f\");i<<=8,i|=s}}if(1!==e.final.length)throw new Error(\"final must be a single byte\");const s=e.final.charCodeAt(0);if(t[0]>s||s>t[1])throw new Error(`final must be in range ${t[0]} .. ${t[1]}`);return i<<=8,i|=s,i}identToString(e){const t=[];for(;e;)t.push(String.fromCharCode(255&e)),e>>=8;return t.reverse().join(\"\")}setPrintHandler(e){this._printHandler=e}clearPrintHandler(){this._printHandler=this._printHandlerFb}registerEscHandler(e,t){const i=this._identifier(e,[48,126]);void 0===this._escHandlers[i]&&(this._escHandlers[i]=[]);const s=this._escHandlers[i];return s.push(t),{dispose:()=>{const e=s.indexOf(t);-1!==e&&s.splice(e,1)}}}clearEscHandler(e){this._escHandlers[this._identifier(e,[48,126])]&&delete this._escHandlers[this._identifier(e,[48,126])]}setEscHandlerFallback(e){this._escHandlerFb=e}setExecuteHandler(e,t){this._executeHandlers[e.charCodeAt(0)]=t}clearExecuteHandler(e){this._executeHandlers[e.charCodeAt(0)]&&delete this._executeHandlers[e.charCodeAt(0)]}setExecuteHandlerFallback(e){this._executeHandlerFb=e}registerCsiHandler(e,t){const i=this._identifier(e);void 0===this._csiHandlers[i]&&(this._csiHandlers[i]=[]);const s=this._csiHandlers[i];return s.push(t),{dispose:()=>{const e=s.indexOf(t);-1!==e&&s.splice(e,1)}}}clearCsiHandler(e){this._csiHandlers[this._identifier(e)]&&delete this._csiHandlers[this._identifier(e)]}setCsiHandlerFallback(e){this._csiHandlerFb=e}registerDcsHandler(e,t){return this._dcsParser.registerHandler(this._identifier(e),t)}clearDcsHandler(e){this._dcsParser.clearHandler(this._identifier(e))}setDcsHandlerFallback(e){this._dcsParser.setHandlerFallback(e)}registerOscHandler(e,t){return this._oscParser.registerHandler(e,t)}clearOscHandler(e){this._oscParser.clearHandler(e)}setOscHandlerFallback(e){this._oscParser.setHandlerFallback(e)}setErrorHandler(e){this._errorHandler=e}clearErrorHandler(){this._errorHandler=this._errorHandlerFb}reset(){this.currentState=this.initialState,this._oscParser.reset(),this._dcsParser.reset(),this._params.reset(),this._params.addParam(0),this._collect=0,this.precedingCodepoint=0,0!==this._parseStack.state&&(this._parseStack.state=2,this._parseStack.handlers=[])}_preserveStack(e,t,i,s,r){this._parseStack.state=e,this._parseStack.handlers=t,this._parseStack.handlerPos=i,this._parseStack.transition=s,this._parseStack.chunkPos=r}parse(e,t,i){let s,r=0,n=0,o=0;if(this._parseStack.state)if(2===this._parseStack.state)this._parseStack.state=0,o=this._parseStack.chunkPos+1;else{if(void 0===i||1===this._parseStack.state)throw this._parseStack.state=1,new Error(\"improper continuation due to previous async handler, giving up parsing\");const t=this._parseStack.handlers;let n=this._parseStack.handlerPos-1;switch(this._parseStack.state){case 3:if(!1===i&&n>-1)for(;n>=0&&(s=t[n](this._params),!0!==s);n--)if(s instanceof Promise)return this._parseStack.handlerPos=n,s;this._parseStack.handlers=[];break;case 4:if(!1===i&&n>-1)for(;n>=0&&(s=t[n](),!0!==s);n--)if(s instanceof Promise)return this._parseStack.handlerPos=n,s;this._parseStack.handlers=[];break;case 6:if(r=e[this._parseStack.chunkPos],s=this._dcsParser.unhook(24!==r&&26!==r,i),s)return s;27===r&&(this._parseStack.transition|=1),this._params.reset(),this._params.addParam(0),this._collect=0;break;case 5:if(r=e[this._parseStack.chunkPos],s=this._oscParser.end(24!==r&&26!==r,i),s)return s;27===r&&(this._parseStack.transition|=1),this._params.reset(),this._params.addParam(0),this._collect=0}this._parseStack.state=0,o=this._parseStack.chunkPos+1,this.precedingCodepoint=0,this.currentState=15&this._parseStack.transition}for(let i=o;i>4){case 2:for(let s=i+1;;++s){if(s>=t||(r=e[s])<32||r>126&&r=t||(r=e[s])<32||r>126&&r=t||(r=e[s])<32||r>126&&r=t||(r=e[s])<32||r>126&&r=0&&(s=o[a](this._params),!0!==s);a--)if(s instanceof Promise)return this._preserveStack(3,o,a,n,i),s;a<0&&this._csiHandlerFb(this._collect<<8|r,this._params),this.precedingCodepoint=0;break;case 8:do{switch(r){case 59:this._params.addParam(0);break;case 58:this._params.addSubParam(-1);break;default:this._params.addDigit(r-48)}}while(++i47&&r<60);i--;break;case 9:this._collect<<=8,this._collect|=r;break;case 10:const c=this._escHandlers[this._collect<<8|r];let l=c?c.length-1:-1;for(;l>=0&&(s=c[l](),!0!==s);l--)if(s instanceof Promise)return this._preserveStack(4,c,l,n,i),s;l<0&&this._escHandlerFb(this._collect<<8|r),this.precedingCodepoint=0;break;case 11:this._params.reset(),this._params.addParam(0),this._collect=0;break;case 12:this._dcsParser.hook(this._collect<<8|r,this._params);break;case 13:for(let s=i+1;;++s)if(s>=t||24===(r=e[s])||26===r||27===r||r>127&&r=t||(r=e[s])<32||r>127&&r{Object.defineProperty(t,\"__esModule\",{value:!0}),t.OscHandler=t.OscParser=void 0;const s=i(5770),r=i(482),n=[];t.OscParser=class{constructor(){this._state=0,this._active=n,this._id=-1,this._handlers=Object.create(null),this._handlerFb=()=>{},this._stack={paused:!1,loopPosition:0,fallThrough:!1}}registerHandler(e,t){void 0===this._handlers[e]&&(this._handlers[e]=[]);const i=this._handlers[e];return i.push(t),{dispose:()=>{const e=i.indexOf(t);-1!==e&&i.splice(e,1)}}}clearHandler(e){this._handlers[e]&&delete this._handlers[e]}setHandlerFallback(e){this._handlerFb=e}dispose(){this._handlers=Object.create(null),this._handlerFb=()=>{},this._active=n}reset(){if(2===this._state)for(let e=this._stack.paused?this._stack.loopPosition-1:this._active.length-1;e>=0;--e)this._active[e].end(!1);this._stack.paused=!1,this._active=n,this._id=-1,this._state=0}_start(){if(this._active=this._handlers[this._id]||n,this._active.length)for(let e=this._active.length-1;e>=0;e--)this._active[e].start();else this._handlerFb(this._id,\"START\")}_put(e,t,i){if(this._active.length)for(let s=this._active.length-1;s>=0;s--)this._active[s].put(e,t,i);else this._handlerFb(this._id,\"PUT\",(0,r.utf32ToString)(e,t,i))}start(){this.reset(),this._state=1}put(e,t,i){if(3!==this._state){if(1===this._state)for(;t0&&this._put(e,t,i)}}end(e,t=!0){if(0!==this._state){if(3!==this._state)if(1===this._state&&this._start(),this._active.length){let i=!1,s=this._active.length-1,r=!1;if(this._stack.paused&&(s=this._stack.loopPosition-1,i=t,r=this._stack.fallThrough,this._stack.paused=!1),!r&&!1===i){for(;s>=0&&(i=this._active[s].end(e),!0!==i);s--)if(i instanceof Promise)return this._stack.paused=!0,this._stack.loopPosition=s,this._stack.fallThrough=!1,i;s--}for(;s>=0;s--)if(i=this._active[s].end(!1),i instanceof Promise)return this._stack.paused=!0,this._stack.loopPosition=s,this._stack.fallThrough=!0,i}else this._handlerFb(this._id,\"END\",e);this._active=n,this._id=-1,this._state=0}}},t.OscHandler=class{constructor(e){this._handler=e,this._data=\"\",this._hitLimit=!1}start(){this._data=\"\",this._hitLimit=!1}put(e,t,i){this._hitLimit||(this._data+=(0,r.utf32ToString)(e,t,i),this._data.length>s.PAYLOAD_LIMIT&&(this._data=\"\",this._hitLimit=!0))}end(e){let t=!1;if(this._hitLimit)t=!1;else if(e&&(t=this._handler(this._data),t instanceof Promise))return t.then((e=>(this._data=\"\",this._hitLimit=!1,e)));return this._data=\"\",this._hitLimit=!1,t}}},8742:(e,t)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.Params=void 0;const i=2147483647;class s{static fromArray(e){const t=new s;if(!e.length)return t;for(let i=Array.isArray(e[0])?1:0;i256)throw new Error(\"maxSubParamsLength must not be greater than 256\");this.params=new Int32Array(e),this.length=0,this._subParams=new Int32Array(t),this._subParamsLength=0,this._subParamsIdx=new Uint16Array(e),this._rejectDigits=!1,this._rejectSubDigits=!1,this._digitIsSub=!1}clone(){const e=new s(this.maxLength,this.maxSubParamsLength);return e.params.set(this.params),e.length=this.length,e._subParams.set(this._subParams),e._subParamsLength=this._subParamsLength,e._subParamsIdx.set(this._subParamsIdx),e._rejectDigits=this._rejectDigits,e._rejectSubDigits=this._rejectSubDigits,e._digitIsSub=this._digitIsSub,e}toArray(){const e=[];for(let t=0;t>8,s=255&this._subParamsIdx[t];s-i>0&&e.push(Array.prototype.slice.call(this._subParams,i,s))}return e}reset(){this.length=0,this._subParamsLength=0,this._rejectDigits=!1,this._rejectSubDigits=!1,this._digitIsSub=!1}addParam(e){if(this._digitIsSub=!1,this.length>=this.maxLength)this._rejectDigits=!0;else{if(e<-1)throw new Error(\"values lesser than -1 are not allowed\");this._subParamsIdx[this.length]=this._subParamsLength<<8|this._subParamsLength,this.params[this.length++]=e>i?i:e}}addSubParam(e){if(this._digitIsSub=!0,this.length)if(this._rejectDigits||this._subParamsLength>=this.maxSubParamsLength)this._rejectSubDigits=!0;else{if(e<-1)throw new Error(\"values lesser than -1 are not allowed\");this._subParams[this._subParamsLength++]=e>i?i:e,this._subParamsIdx[this.length-1]++}}hasSubParams(e){return(255&this._subParamsIdx[e])-(this._subParamsIdx[e]>>8)>0}getSubParams(e){const t=this._subParamsIdx[e]>>8,i=255&this._subParamsIdx[e];return i-t>0?this._subParams.subarray(t,i):null}getSubParamsAll(){const e={};for(let t=0;t>8,s=255&this._subParamsIdx[t];s-i>0&&(e[t]=this._subParams.slice(i,s))}return e}addDigit(e){let t;if(this._rejectDigits||!(t=this._digitIsSub?this._subParamsLength:this.length)||this._digitIsSub&&this._rejectSubDigits)return;const s=this._digitIsSub?this._subParams:this.params,r=s[t-1];s[t-1]=~r?Math.min(10*r+e,i):e}}t.Params=s},5741:(e,t)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.AddonManager=void 0,t.AddonManager=class{constructor(){this._addons=[]}dispose(){for(let e=this._addons.length-1;e>=0;e--)this._addons[e].instance.dispose()}loadAddon(e,t){const i={instance:t,dispose:t.dispose,isDisposed:!1};this._addons.push(i),t.dispose=()=>this._wrappedAddonDispose(i),t.activate(e)}_wrappedAddonDispose(e){if(e.isDisposed)return;let t=-1;for(let i=0;i{Object.defineProperty(t,\"__esModule\",{value:!0}),t.BufferApiView=void 0;const s=i(3785),r=i(511);t.BufferApiView=class{constructor(e,t){this._buffer=e,this.type=t}init(e){return this._buffer=e,this}get cursorY(){return this._buffer.y}get cursorX(){return this._buffer.x}get viewportY(){return this._buffer.ydisp}get baseY(){return this._buffer.ybase}get length(){return this._buffer.lines.length}getLine(e){const t=this._buffer.lines.get(e);if(t)return new s.BufferLineApiView(t)}getNullCell(){return new r.CellData}}},3785:(e,t,i)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.BufferLineApiView=void 0;const s=i(511);t.BufferLineApiView=class{constructor(e){this._line=e}get isWrapped(){return this._line.isWrapped}get length(){return this._line.length}getCell(e,t){if(!(e<0||e>=this._line.length))return t?(this._line.loadCell(e,t),t):this._line.loadCell(e,new s.CellData)}translateToString(e,t,i){return this._line.translateToString(e,t,i)}}},8285:(e,t,i)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.BufferNamespaceApi=void 0;const s=i(8771),r=i(8460),n=i(844);class o extends n.Disposable{constructor(e){super(),this._core=e,this._onBufferChange=this.register(new r.EventEmitter),this.onBufferChange=this._onBufferChange.event,this._normal=new s.BufferApiView(this._core.buffers.normal,\"normal\"),this._alternate=new s.BufferApiView(this._core.buffers.alt,\"alternate\"),this._core.buffers.onBufferActivate((()=>this._onBufferChange.fire(this.active)))}get active(){if(this._core.buffers.active===this._core.buffers.normal)return this.normal;if(this._core.buffers.active===this._core.buffers.alt)return this.alternate;throw new Error(\"Active buffer is neither normal nor alternate\")}get normal(){return this._normal.init(this._core.buffers.normal)}get alternate(){return this._alternate.init(this._core.buffers.alt)}}t.BufferNamespaceApi=o},7975:(e,t)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.ParserApi=void 0,t.ParserApi=class{constructor(e){this._core=e}registerCsiHandler(e,t){return this._core.registerCsiHandler(e,(e=>t(e.toArray())))}addCsiHandler(e,t){return this.registerCsiHandler(e,t)}registerDcsHandler(e,t){return this._core.registerDcsHandler(e,((e,i)=>t(e,i.toArray())))}addDcsHandler(e,t){return this.registerDcsHandler(e,t)}registerEscHandler(e,t){return this._core.registerEscHandler(e,t)}addEscHandler(e,t){return this.registerEscHandler(e,t)}registerOscHandler(e,t){return this._core.registerOscHandler(e,t)}addOscHandler(e,t){return this.registerOscHandler(e,t)}}},7090:(e,t)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.UnicodeApi=void 0,t.UnicodeApi=class{constructor(e){this._core=e}register(e){this._core.unicodeService.register(e)}get versions(){return this._core.unicodeService.versions}get activeVersion(){return this._core.unicodeService.activeVersion}set activeVersion(e){this._core.unicodeService.activeVersion=e}}},744:function(e,t,i){var s=this&&this.__decorate||function(e,t,i,s){var r,n=arguments.length,o=n<3?t:null===s?s=Object.getOwnPropertyDescriptor(t,i):s;if(\"object\"==typeof Reflect&&\"function\"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,s);else for(var a=e.length-1;a>=0;a--)(r=e[a])&&(o=(n<3?r(o):n>3?r(t,i,o):r(t,i))||o);return n>3&&o&&Object.defineProperty(t,i,o),o},r=this&&this.__param||function(e,t){return function(i,s){t(i,s,e)}};Object.defineProperty(t,\"__esModule\",{value:!0}),t.BufferService=t.MINIMUM_ROWS=t.MINIMUM_COLS=void 0;const n=i(8460),o=i(844),a=i(5295),h=i(2585);t.MINIMUM_COLS=2,t.MINIMUM_ROWS=1;let c=t.BufferService=class extends o.Disposable{get buffer(){return this.buffers.active}constructor(e){super(),this.isUserScrolling=!1,this._onResize=this.register(new n.EventEmitter),this.onResize=this._onResize.event,this._onScroll=this.register(new n.EventEmitter),this.onScroll=this._onScroll.event,this.cols=Math.max(e.rawOptions.cols||0,t.MINIMUM_COLS),this.rows=Math.max(e.rawOptions.rows||0,t.MINIMUM_ROWS),this.buffers=this.register(new a.BufferSet(e,this))}resize(e,t){this.cols=e,this.rows=t,this.buffers.resize(e,t),this._onResize.fire({cols:e,rows:t})}reset(){this.buffers.reset(),this.isUserScrolling=!1}scroll(e,t=!1){const i=this.buffer;let s;s=this._cachedBlankLine,s&&s.length===this.cols&&s.getFg(0)===e.fg&&s.getBg(0)===e.bg||(s=i.getBlankLine(e,t),this._cachedBlankLine=s),s.isWrapped=t;const r=i.ybase+i.scrollTop,n=i.ybase+i.scrollBottom;if(0===i.scrollTop){const e=i.lines.isFull;n===i.lines.length-1?e?i.lines.recycle().copyFrom(s):i.lines.push(s.clone()):i.lines.splice(n+1,0,s.clone()),e?this.isUserScrolling&&(i.ydisp=Math.max(i.ydisp-1,0)):(i.ybase++,this.isUserScrolling||i.ydisp++)}else{const e=n-r+1;i.lines.shiftElements(r+1,e-1,-1),i.lines.set(n,s.clone())}this.isUserScrolling||(i.ydisp=i.ybase),this._onScroll.fire(i.ydisp)}scrollLines(e,t,i){const s=this.buffer;if(e<0){if(0===s.ydisp)return;this.isUserScrolling=!0}else e+s.ydisp>=s.ybase&&(this.isUserScrolling=!1);const r=s.ydisp;s.ydisp=Math.max(Math.min(s.ydisp+e,s.ybase),0),r!==s.ydisp&&(t||this._onScroll.fire(s.ydisp))}};t.BufferService=c=s([r(0,h.IOptionsService)],c)},7994:(e,t)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.CharsetService=void 0,t.CharsetService=class{constructor(){this.glevel=0,this._charsets=[]}reset(){this.charset=void 0,this._charsets=[],this.glevel=0}setgLevel(e){this.glevel=e,this.charset=this._charsets[e]}setgCharset(e,t){this._charsets[e]=t,this.glevel===e&&(this.charset=t)}}},1753:function(e,t,i){var s=this&&this.__decorate||function(e,t,i,s){var r,n=arguments.length,o=n<3?t:null===s?s=Object.getOwnPropertyDescriptor(t,i):s;if(\"object\"==typeof Reflect&&\"function\"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,s);else for(var a=e.length-1;a>=0;a--)(r=e[a])&&(o=(n<3?r(o):n>3?r(t,i,o):r(t,i))||o);return n>3&&o&&Object.defineProperty(t,i,o),o},r=this&&this.__param||function(e,t){return function(i,s){t(i,s,e)}};Object.defineProperty(t,\"__esModule\",{value:!0}),t.CoreMouseService=void 0;const n=i(2585),o=i(8460),a=i(844),h={NONE:{events:0,restrict:()=>!1},X10:{events:1,restrict:e=>4!==e.button&&1===e.action&&(e.ctrl=!1,e.alt=!1,e.shift=!1,!0)},VT200:{events:19,restrict:e=>32!==e.action},DRAG:{events:23,restrict:e=>32!==e.action||3!==e.button},ANY:{events:31,restrict:e=>!0}};function c(e,t){let i=(e.ctrl?16:0)|(e.shift?4:0)|(e.alt?8:0);return 4===e.button?(i|=64,i|=e.action):(i|=3&e.button,4&e.button&&(i|=64),8&e.button&&(i|=128),32===e.action?i|=32:0!==e.action||t||(i|=3)),i}const l=String.fromCharCode,d={DEFAULT:e=>{const t=[c(e,!1)+32,e.col+32,e.row+32];return t[0]>255||t[1]>255||t[2]>255?\"\":`\u001b[M${l(t[0])}${l(t[1])}${l(t[2])}`},SGR:e=>{const t=0===e.action&&4!==e.button?\"m\":\"M\";return`\u001b[<${c(e,!0)};${e.col};${e.row}${t}`},SGR_PIXELS:e=>{const t=0===e.action&&4!==e.button?\"m\":\"M\";return`\u001b[<${c(e,!0)};${e.x};${e.y}${t}`}};let _=t.CoreMouseService=class extends a.Disposable{constructor(e,t){super(),this._bufferService=e,this._coreService=t,this._protocols={},this._encodings={},this._activeProtocol=\"\",this._activeEncoding=\"\",this._lastEvent=null,this._onProtocolChange=this.register(new o.EventEmitter),this.onProtocolChange=this._onProtocolChange.event;for(const e of Object.keys(h))this.addProtocol(e,h[e]);for(const e of Object.keys(d))this.addEncoding(e,d[e]);this.reset()}addProtocol(e,t){this._protocols[e]=t}addEncoding(e,t){this._encodings[e]=t}get activeProtocol(){return this._activeProtocol}get areMouseEventsActive(){return 0!==this._protocols[this._activeProtocol].events}set activeProtocol(e){if(!this._protocols[e])throw new Error(`unknown protocol \"${e}\"`);this._activeProtocol=e,this._onProtocolChange.fire(this._protocols[e].events)}get activeEncoding(){return this._activeEncoding}set activeEncoding(e){if(!this._encodings[e])throw new Error(`unknown encoding \"${e}\"`);this._activeEncoding=e}reset(){this.activeProtocol=\"NONE\",this.activeEncoding=\"DEFAULT\",this._lastEvent=null}triggerMouseEvent(e){if(e.col<0||e.col>=this._bufferService.cols||e.row<0||e.row>=this._bufferService.rows)return!1;if(4===e.button&&32===e.action)return!1;if(3===e.button&&32!==e.action)return!1;if(4!==e.button&&(2===e.action||3===e.action))return!1;if(e.col++,e.row++,32===e.action&&this._lastEvent&&this._equalEvents(this._lastEvent,e,\"SGR_PIXELS\"===this._activeEncoding))return!1;if(!this._protocols[this._activeProtocol].restrict(e))return!1;const t=this._encodings[this._activeEncoding](e);return t&&(\"DEFAULT\"===this._activeEncoding?this._coreService.triggerBinaryEvent(t):this._coreService.triggerDataEvent(t,!0)),this._lastEvent=e,!0}explainEvents(e){return{down:!!(1&e),up:!!(2&e),drag:!!(4&e),move:!!(8&e),wheel:!!(16&e)}}_equalEvents(e,t,i){if(i){if(e.x!==t.x)return!1;if(e.y!==t.y)return!1}else{if(e.col!==t.col)return!1;if(e.row!==t.row)return!1}return e.button===t.button&&e.action===t.action&&e.ctrl===t.ctrl&&e.alt===t.alt&&e.shift===t.shift}};t.CoreMouseService=_=s([r(0,n.IBufferService),r(1,n.ICoreService)],_)},6975:function(e,t,i){var s=this&&this.__decorate||function(e,t,i,s){var r,n=arguments.length,o=n<3?t:null===s?s=Object.getOwnPropertyDescriptor(t,i):s;if(\"object\"==typeof Reflect&&\"function\"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,s);else for(var a=e.length-1;a>=0;a--)(r=e[a])&&(o=(n<3?r(o):n>3?r(t,i,o):r(t,i))||o);return n>3&&o&&Object.defineProperty(t,i,o),o},r=this&&this.__param||function(e,t){return function(i,s){t(i,s,e)}};Object.defineProperty(t,\"__esModule\",{value:!0}),t.CoreService=void 0;const n=i(1439),o=i(8460),a=i(844),h=i(2585),c=Object.freeze({insertMode:!1}),l=Object.freeze({applicationCursorKeys:!1,applicationKeypad:!1,bracketedPasteMode:!1,origin:!1,reverseWraparound:!1,sendFocus:!1,wraparound:!0});let d=t.CoreService=class extends a.Disposable{constructor(e,t,i){super(),this._bufferService=e,this._logService=t,this._optionsService=i,this.isCursorInitialized=!1,this.isCursorHidden=!1,this._onData=this.register(new o.EventEmitter),this.onData=this._onData.event,this._onUserInput=this.register(new o.EventEmitter),this.onUserInput=this._onUserInput.event,this._onBinary=this.register(new o.EventEmitter),this.onBinary=this._onBinary.event,this._onRequestScrollToBottom=this.register(new o.EventEmitter),this.onRequestScrollToBottom=this._onRequestScrollToBottom.event,this.modes=(0,n.clone)(c),this.decPrivateModes=(0,n.clone)(l)}reset(){this.modes=(0,n.clone)(c),this.decPrivateModes=(0,n.clone)(l)}triggerDataEvent(e,t=!1){if(this._optionsService.rawOptions.disableStdin)return;const i=this._bufferService.buffer;t&&this._optionsService.rawOptions.scrollOnUserInput&&i.ybase!==i.ydisp&&this._onRequestScrollToBottom.fire(),t&&this._onUserInput.fire(),this._logService.debug(`sending data \"${e}\"`,(()=>e.split(\"\").map((e=>e.charCodeAt(0))))),this._onData.fire(e)}triggerBinaryEvent(e){this._optionsService.rawOptions.disableStdin||(this._logService.debug(`sending binary \"${e}\"`,(()=>e.split(\"\").map((e=>e.charCodeAt(0))))),this._onBinary.fire(e))}};t.CoreService=d=s([r(0,h.IBufferService),r(1,h.ILogService),r(2,h.IOptionsService)],d)},9074:(e,t,i)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.DecorationService=void 0;const s=i(8055),r=i(8460),n=i(844),o=i(6106);let a=0,h=0;class c extends n.Disposable{get decorations(){return this._decorations.values()}constructor(){super(),this._decorations=new o.SortedList((e=>null==e?void 0:e.marker.line)),this._onDecorationRegistered=this.register(new r.EventEmitter),this.onDecorationRegistered=this._onDecorationRegistered.event,this._onDecorationRemoved=this.register(new r.EventEmitter),this.onDecorationRemoved=this._onDecorationRemoved.event,this.register((0,n.toDisposable)((()=>this.reset())))}registerDecoration(e){if(e.marker.isDisposed)return;const t=new l(e);if(t){const e=t.marker.onDispose((()=>t.dispose()));t.onDispose((()=>{t&&(this._decorations.delete(t)&&this._onDecorationRemoved.fire(t),e.dispose())})),this._decorations.insert(t),this._onDecorationRegistered.fire(t)}return t}reset(){for(const e of this._decorations.values())e.dispose();this._decorations.clear()}*getDecorationsAtCell(e,t,i){var s,r,n;let o=0,a=0;for(const h of this._decorations.getKeyIterator(t))o=null!==(s=h.options.x)&&void 0!==s?s:0,a=o+(null!==(r=h.options.width)&&void 0!==r?r:1),e>=o&&e{var r,n,o;a=null!==(r=t.options.x)&&void 0!==r?r:0,h=a+(null!==(n=t.options.width)&&void 0!==n?n:1),e>=a&&e{Object.defineProperty(t,\"__esModule\",{value:!0}),t.InstantiationService=t.ServiceCollection=void 0;const s=i(2585),r=i(8343);class n{constructor(...e){this._entries=new Map;for(const[t,i]of e)this.set(t,i)}set(e,t){const i=this._entries.get(e);return this._entries.set(e,t),i}forEach(e){for(const[t,i]of this._entries.entries())e(t,i)}has(e){return this._entries.has(e)}get(e){return this._entries.get(e)}}t.ServiceCollection=n,t.InstantiationService=class{constructor(){this._services=new n,this._services.set(s.IInstantiationService,this)}setService(e,t){this._services.set(e,t)}getService(e){return this._services.get(e)}createInstance(e,...t){const i=(0,r.getServiceDependencies)(e).sort(((e,t)=>e.index-t.index)),s=[];for(const t of i){const i=this._services.get(t.id);if(!i)throw new Error(`[createInstance] ${e.name} depends on UNKNOWN service ${t.id}.`);s.push(i)}const n=i.length>0?i[0].index:t.length;if(t.length!==n)throw new Error(`[createInstance] First service dependency of ${e.name} at position ${n+1} conflicts with ${t.length} static arguments`);return new e(...[...t,...s])}}},7866:function(e,t,i){var s=this&&this.__decorate||function(e,t,i,s){var r,n=arguments.length,o=n<3?t:null===s?s=Object.getOwnPropertyDescriptor(t,i):s;if(\"object\"==typeof Reflect&&\"function\"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,s);else for(var a=e.length-1;a>=0;a--)(r=e[a])&&(o=(n<3?r(o):n>3?r(t,i,o):r(t,i))||o);return n>3&&o&&Object.defineProperty(t,i,o),o},r=this&&this.__param||function(e,t){return function(i,s){t(i,s,e)}};Object.defineProperty(t,\"__esModule\",{value:!0}),t.traceCall=t.setTraceLogger=t.LogService=void 0;const n=i(844),o=i(2585),a={trace:o.LogLevelEnum.TRACE,debug:o.LogLevelEnum.DEBUG,info:o.LogLevelEnum.INFO,warn:o.LogLevelEnum.WARN,error:o.LogLevelEnum.ERROR,off:o.LogLevelEnum.OFF};let h,c=t.LogService=class extends n.Disposable{get logLevel(){return this._logLevel}constructor(e){super(),this._optionsService=e,this._logLevel=o.LogLevelEnum.OFF,this._updateLogLevel(),this.register(this._optionsService.onSpecificOptionChange(\"logLevel\",(()=>this._updateLogLevel()))),h=this}_updateLogLevel(){this._logLevel=a[this._optionsService.rawOptions.logLevel]}_evalLazyOptionalParams(e){for(let t=0;tJSON.stringify(e))).join(\", \")})`);const t=s.apply(this,e);return h.trace(`GlyphRenderer#${s.name} return`,t),t}}},7302:(e,t,i)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.OptionsService=t.DEFAULT_OPTIONS=void 0;const s=i(8460),r=i(844),n=i(6114);t.DEFAULT_OPTIONS={cols:80,rows:24,cursorBlink:!1,cursorStyle:\"block\",cursorWidth:1,cursorInactiveStyle:\"outline\",customGlyphs:!0,drawBoldTextInBrightColors:!0,fastScrollModifier:\"alt\",fastScrollSensitivity:5,fontFamily:\"courier-new, courier, monospace\",fontSize:15,fontWeight:\"normal\",fontWeightBold:\"bold\",ignoreBracketedPasteMode:!1,lineHeight:1,letterSpacing:0,linkHandler:null,logLevel:\"info\",logger:null,scrollback:1e3,scrollOnUserInput:!0,scrollSensitivity:1,screenReaderMode:!1,smoothScrollDuration:0,macOptionIsMeta:!1,macOptionClickForcesSelection:!1,minimumContrastRatio:1,disableStdin:!1,allowProposedApi:!1,allowTransparency:!1,tabStopWidth:8,theme:{},rightClickSelectsWord:n.isMac,windowOptions:{},windowsMode:!1,windowsPty:{},wordSeparator:\" ()[]{}',\\\"`\",altClickMovesCursor:!0,convertEol:!1,termName:\"xterm\",cancelEvents:!1,overviewRulerWidth:0};const o=[\"normal\",\"bold\",\"100\",\"200\",\"300\",\"400\",\"500\",\"600\",\"700\",\"800\",\"900\"];class a extends r.Disposable{constructor(e){super(),this._onOptionChange=this.register(new s.EventEmitter),this.onOptionChange=this._onOptionChange.event;const i=Object.assign({},t.DEFAULT_OPTIONS);for(const t in e)if(t in i)try{const s=e[t];i[t]=this._sanitizeAndValidateOption(t,s)}catch(e){console.error(e)}this.rawOptions=i,this.options=Object.assign({},i),this._setupOptions()}onSpecificOptionChange(e,t){return this.onOptionChange((i=>{i===e&&t(this.rawOptions[e])}))}onMultipleOptionChange(e,t){return this.onOptionChange((i=>{-1!==e.indexOf(i)&&t()}))}_setupOptions(){const e=e=>{if(!(e in t.DEFAULT_OPTIONS))throw new Error(`No option with key \"${e}\"`);return this.rawOptions[e]},i=(e,i)=>{if(!(e in t.DEFAULT_OPTIONS))throw new Error(`No option with key \"${e}\"`);i=this._sanitizeAndValidateOption(e,i),this.rawOptions[e]!==i&&(this.rawOptions[e]=i,this._onOptionChange.fire(e))};for(const t in this.rawOptions){const s={get:e.bind(this,t),set:i.bind(this,t)};Object.defineProperty(this.options,t,s)}}_sanitizeAndValidateOption(e,i){switch(e){case\"cursorStyle\":if(i||(i=t.DEFAULT_OPTIONS[e]),!function(e){return\"block\"===e||\"underline\"===e||\"bar\"===e}(i))throw new Error(`\"${i}\" is not a valid value for ${e}`);break;case\"wordSeparator\":i||(i=t.DEFAULT_OPTIONS[e]);break;case\"fontWeight\":case\"fontWeightBold\":if(\"number\"==typeof i&&1<=i&&i<=1e3)break;i=o.includes(i)?i:t.DEFAULT_OPTIONS[e];break;case\"cursorWidth\":i=Math.floor(i);case\"lineHeight\":case\"tabStopWidth\":if(i<1)throw new Error(`${e} cannot be less than 1, value: ${i}`);break;case\"minimumContrastRatio\":i=Math.max(1,Math.min(21,Math.round(10*i)/10));break;case\"scrollback\":if((i=Math.min(i,4294967295))<0)throw new Error(`${e} cannot be less than 0, value: ${i}`);break;case\"fastScrollSensitivity\":case\"scrollSensitivity\":if(i<=0)throw new Error(`${e} cannot be less than or equal to 0, value: ${i}`);break;case\"rows\":case\"cols\":if(!i&&0!==i)throw new Error(`${e} must be numeric, value: ${i}`);break;case\"windowsPty\":i=null!=i?i:{}}return i}}t.OptionsService=a},2660:function(e,t,i){var s=this&&this.__decorate||function(e,t,i,s){var r,n=arguments.length,o=n<3?t:null===s?s=Object.getOwnPropertyDescriptor(t,i):s;if(\"object\"==typeof Reflect&&\"function\"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,s);else for(var a=e.length-1;a>=0;a--)(r=e[a])&&(o=(n<3?r(o):n>3?r(t,i,o):r(t,i))||o);return n>3&&o&&Object.defineProperty(t,i,o),o},r=this&&this.__param||function(e,t){return function(i,s){t(i,s,e)}};Object.defineProperty(t,\"__esModule\",{value:!0}),t.OscLinkService=void 0;const n=i(2585);let o=t.OscLinkService=class{constructor(e){this._bufferService=e,this._nextId=1,this._entriesWithId=new Map,this._dataByLinkId=new Map}registerLink(e){const t=this._bufferService.buffer;if(void 0===e.id){const i=t.addMarker(t.ybase+t.y),s={data:e,id:this._nextId++,lines:[i]};return i.onDispose((()=>this._removeMarkerFromLink(s,i))),this._dataByLinkId.set(s.id,s),s.id}const i=e,s=this._getEntryIdKey(i),r=this._entriesWithId.get(s);if(r)return this.addLineToLink(r.id,t.ybase+t.y),r.id;const n=t.addMarker(t.ybase+t.y),o={id:this._nextId++,key:this._getEntryIdKey(i),data:i,lines:[n]};return n.onDispose((()=>this._removeMarkerFromLink(o,n))),this._entriesWithId.set(o.key,o),this._dataByLinkId.set(o.id,o),o.id}addLineToLink(e,t){const i=this._dataByLinkId.get(e);if(i&&i.lines.every((e=>e.line!==t))){const e=this._bufferService.buffer.addMarker(t);i.lines.push(e),e.onDispose((()=>this._removeMarkerFromLink(i,e)))}}getLinkData(e){var t;return null===(t=this._dataByLinkId.get(e))||void 0===t?void 0:t.data}_getEntryIdKey(e){return`${e.id};;${e.uri}`}_removeMarkerFromLink(e,t){const i=e.lines.indexOf(t);-1!==i&&(e.lines.splice(i,1),0===e.lines.length&&(void 0!==e.data.id&&this._entriesWithId.delete(e.key),this._dataByLinkId.delete(e.id)))}};t.OscLinkService=o=s([r(0,n.IBufferService)],o)},8343:(e,t)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.createDecorator=t.getServiceDependencies=t.serviceRegistry=void 0;const i=\"di$target\",s=\"di$dependencies\";t.serviceRegistry=new Map,t.getServiceDependencies=function(e){return e[s]||[]},t.createDecorator=function(e){if(t.serviceRegistry.has(e))return t.serviceRegistry.get(e);const r=function(e,t,n){if(3!==arguments.length)throw new Error(\"@IServiceName-decorator can only be used to decorate a parameter\");!function(e,t,r){t[i]===t?t[s].push({id:e,index:r}):(t[s]=[{id:e,index:r}],t[i]=t)}(r,e,n)};return r.toString=()=>e,t.serviceRegistry.set(e,r),r}},2585:(e,t,i)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.IDecorationService=t.IUnicodeService=t.IOscLinkService=t.IOptionsService=t.ILogService=t.LogLevelEnum=t.IInstantiationService=t.ICharsetService=t.ICoreService=t.ICoreMouseService=t.IBufferService=void 0;const s=i(8343);var r;t.IBufferService=(0,s.createDecorator)(\"BufferService\"),t.ICoreMouseService=(0,s.createDecorator)(\"CoreMouseService\"),t.ICoreService=(0,s.createDecorator)(\"CoreService\"),t.ICharsetService=(0,s.createDecorator)(\"CharsetService\"),t.IInstantiationService=(0,s.createDecorator)(\"InstantiationService\"),function(e){e[e.TRACE=0]=\"TRACE\",e[e.DEBUG=1]=\"DEBUG\",e[e.INFO=2]=\"INFO\",e[e.WARN=3]=\"WARN\",e[e.ERROR=4]=\"ERROR\",e[e.OFF=5]=\"OFF\"}(r||(t.LogLevelEnum=r={})),t.ILogService=(0,s.createDecorator)(\"LogService\"),t.IOptionsService=(0,s.createDecorator)(\"OptionsService\"),t.IOscLinkService=(0,s.createDecorator)(\"OscLinkService\"),t.IUnicodeService=(0,s.createDecorator)(\"UnicodeService\"),t.IDecorationService=(0,s.createDecorator)(\"DecorationService\")},1480:(e,t,i)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.UnicodeService=void 0;const s=i(8460),r=i(225);t.UnicodeService=class{constructor(){this._providers=Object.create(null),this._active=\"\",this._onChange=new s.EventEmitter,this.onChange=this._onChange.event;const e=new r.UnicodeV6;this.register(e),this._active=e.version,this._activeProvider=e}dispose(){this._onChange.dispose()}get versions(){return Object.keys(this._providers)}get activeVersion(){return this._active}set activeVersion(e){if(!this._providers[e])throw new Error(`unknown Unicode version \"${e}\"`);this._active=e,this._activeProvider=this._providers[e],this._onChange.fire(e)}register(e){this._providers[e.version]=e}wcwidth(e){return this._activeProvider.wcwidth(e)}getStringCellWidth(e){let t=0;const i=e.length;for(let s=0;s=i)return t+this.wcwidth(r);const n=e.charCodeAt(s);56320<=n&&n<=57343?r=1024*(r-55296)+n-56320+65536:t+=this.wcwidth(n)}t+=this.wcwidth(r)}return t}}}},t={};function i(s){var r=t[s];if(void 0!==r)return r.exports;var n=t[s]={exports:{}};return e[s].call(n.exports,n,n.exports,i),n.exports}var s={};return(()=>{var e=s;Object.defineProperty(e,\"__esModule\",{value:!0}),e.Terminal=void 0;const t=i(9042),r=i(3236),n=i(844),o=i(5741),a=i(8285),h=i(7975),c=i(7090),l=[\"cols\",\"rows\"];class d extends n.Disposable{constructor(e){super(),this._core=this.register(new r.Terminal(e)),this._addonManager=this.register(new o.AddonManager),this._publicOptions=Object.assign({},this._core.options);const t=e=>this._core.options[e],i=(e,t)=>{this._checkReadonlyOptions(e),this._core.options[e]=t};for(const e in this._core.options){const s={get:t.bind(this,e),set:i.bind(this,e)};Object.defineProperty(this._publicOptions,e,s)}}_checkReadonlyOptions(e){if(l.includes(e))throw new Error(`Option \"${e}\" can only be set in the constructor`)}_checkProposedApi(){if(!this._core.optionsService.rawOptions.allowProposedApi)throw new Error(\"You must set the allowProposedApi option to true to use proposed API\")}get onBell(){return this._core.onBell}get onBinary(){return this._core.onBinary}get onCursorMove(){return this._core.onCursorMove}get onData(){return this._core.onData}get onKey(){return this._core.onKey}get onLineFeed(){return this._core.onLineFeed}get onRender(){return this._core.onRender}get onResize(){return this._core.onResize}get onScroll(){return this._core.onScroll}get onSelectionChange(){return this._core.onSelectionChange}get onTitleChange(){return this._core.onTitleChange}get onWriteParsed(){return this._core.onWriteParsed}get element(){return this._core.element}get parser(){return this._parser||(this._parser=new h.ParserApi(this._core)),this._parser}get unicode(){return this._checkProposedApi(),new c.UnicodeApi(this._core)}get textarea(){return this._core.textarea}get rows(){return this._core.rows}get cols(){return this._core.cols}get buffer(){return this._buffer||(this._buffer=this.register(new a.BufferNamespaceApi(this._core))),this._buffer}get markers(){return this._checkProposedApi(),this._core.markers}get modes(){const e=this._core.coreService.decPrivateModes;let t=\"none\";switch(this._core.coreMouseService.activeProtocol){case\"X10\":t=\"x10\";break;case\"VT200\":t=\"vt200\";break;case\"DRAG\":t=\"drag\";break;case\"ANY\":t=\"any\"}return{applicationCursorKeysMode:e.applicationCursorKeys,applicationKeypadMode:e.applicationKeypad,bracketedPasteMode:e.bracketedPasteMode,insertMode:this._core.coreService.modes.insertMode,mouseTrackingMode:t,originMode:e.origin,reverseWraparoundMode:e.reverseWraparound,sendFocusMode:e.sendFocus,wraparoundMode:e.wraparound}}get options(){return this._publicOptions}set options(e){for(const t in e)this._publicOptions[t]=e[t]}blur(){this._core.blur()}focus(){this._core.focus()}resize(e,t){this._verifyIntegers(e,t),this._core.resize(e,t)}open(e){this._core.open(e)}attachCustomKeyEventHandler(e){this._core.attachCustomKeyEventHandler(e)}registerLinkProvider(e){return this._core.registerLinkProvider(e)}registerCharacterJoiner(e){return this._checkProposedApi(),this._core.registerCharacterJoiner(e)}deregisterCharacterJoiner(e){this._checkProposedApi(),this._core.deregisterCharacterJoiner(e)}registerMarker(e=0){return this._verifyIntegers(e),this._core.registerMarker(e)}registerDecoration(e){var t,i,s;return this._checkProposedApi(),this._verifyPositiveIntegers(null!==(t=e.x)&&void 0!==t?t:0,null!==(i=e.width)&&void 0!==i?i:0,null!==(s=e.height)&&void 0!==s?s:0),this._core.registerDecoration(e)}hasSelection(){return this._core.hasSelection()}select(e,t,i){this._verifyIntegers(e,t,i),this._core.select(e,t,i)}getSelection(){return this._core.getSelection()}getSelectionPosition(){return this._core.getSelectionPosition()}clearSelection(){this._core.clearSelection()}selectAll(){this._core.selectAll()}selectLines(e,t){this._verifyIntegers(e,t),this._core.selectLines(e,t)}dispose(){super.dispose()}scrollLines(e){this._verifyIntegers(e),this._core.scrollLines(e)}scrollPages(e){this._verifyIntegers(e),this._core.scrollPages(e)}scrollToTop(){this._core.scrollToTop()}scrollToBottom(){this._core.scrollToBottom()}scrollToLine(e){this._verifyIntegers(e),this._core.scrollToLine(e)}clear(){this._core.clear()}write(e,t){this._core.write(e,t)}writeln(e,t){this._core.write(e),this._core.write(\"\\r\\n\",t)}paste(e){this._core.paste(e)}refresh(e,t){this._verifyIntegers(e,t),this._core.refresh(e,t)}reset(){this._core.reset()}clearTextureAtlas(){this._core.clearTextureAtlas()}loadAddon(e){this._addonManager.loadAddon(this,e)}static get strings(){return t}_verifyIntegers(...e){for(const t of e)if(t===1/0||isNaN(t)||t%1!=0)throw new Error(\"This API only accepts integers\")}_verifyPositiveIntegers(...e){for(const t of e)if(t&&(t===1/0||isNaN(t)||t%1!=0||t<0))throw new Error(\"This API only accepts positive integers\")}}e.Terminal=d})(),s})()));\n//# sourceMappingURL=xterm.js.map\n\n//# sourceURL=webpack://textual/./node_modules/xterm/lib/xterm.js?"); + +/***/ }), + +/***/ "./src/index.js": +/*!**********************!*\ + !*** ./src/index.js ***! + \**********************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _styles_scss__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./styles.scss */ \"./src/styles.scss\");\n/* harmony import */ var xterm__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! xterm */ \"./node_modules/xterm/lib/xterm.js\");\n/* harmony import */ var xterm__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(xterm__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var xterm_addon_fit__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! xterm-addon-fit */ \"./node_modules/xterm-addon-fit/lib/xterm-addon-fit.js\");\n/* harmony import */ var xterm_addon_fit__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(xterm_addon_fit__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var xterm_addon_webgl__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! xterm-addon-webgl */ \"./node_modules/xterm-addon-webgl/lib/xterm-addon-webgl.js\");\n/* harmony import */ var xterm_addon_webgl__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(xterm_addon_webgl__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var xterm_addon_canvas__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! xterm-addon-canvas */ \"./node_modules/xterm-addon-canvas/lib/xterm-addon-canvas.js\");\n/* harmony import */ var xterm_addon_canvas__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(xterm_addon_canvas__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var xterm_addon_unicode11__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! xterm-addon-unicode11 */ \"./node_modules/xterm-addon-unicode11/lib/xterm-addon-unicode11.js\");\n/* harmony import */ var xterm_addon_unicode11__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(xterm_addon_unicode11__WEBPACK_IMPORTED_MODULE_5__);\n\n\n\n\n\n\n\n\nclass TextualTerminal {\n constructor(element, options) {\n const self = this;\n this.element = element;\n this.ping = options.ping;\n this.websocket_url = element.dataset.sessionWebsocketUrl;\n const font_size = element.dataset.fontSize;\n this.terminal = new xterm__WEBPACK_IMPORTED_MODULE_1__.Terminal({\n allowProposedApi: true,\n fontSize: font_size,\n scrollback: 0,\n // disableLigatures: true,\n // customGlyphs: true,\n fontFamily: \"'Roboto Mono', Monaco, 'Courier New', monospace\",\n });\n\n this.fitAddon = new xterm_addon_fit__WEBPACK_IMPORTED_MODULE_2__.FitAddon();\n this.terminal.loadAddon(this.fitAddon);\n this.webglAddon = new xterm_addon_webgl__WEBPACK_IMPORTED_MODULE_3__.WebglAddon();\n this.terminal.loadAddon(this.webglAddon);\n this.canvasAddon = new xterm_addon_canvas__WEBPACK_IMPORTED_MODULE_4__.CanvasAddon();\n this.terminal.loadAddon(this.canvasAddon);\n this.unicode11Addon = new xterm_addon_unicode11__WEBPACK_IMPORTED_MODULE_5__.Unicode11Addon();\n this.terminal.loadAddon(this.unicode11Addon);\n this.terminal.unicode.activeVersion = \"11\";\n this.terminal.open(element);\n\n this.socket = null;\n\n this.bufferedBytes = 0;\n this.refreshBytes = 0;\n this.size = null;\n\n this.terminal.element.querySelector(\".xterm-screen\").addEventListener(\n \"blur\",\n (event) => {\n self.onBlur();\n },\n true\n );\n\n this.terminal.element.querySelector(\".xterm-screen\").addEventListener(\n \"focus\",\n (event) => {\n self.onFocus();\n },\n true\n );\n\n this.terminal.onResize((event) => {\n self.size = { width: event.cols, height: event.rows };\n self.sendSize();\n });\n\n this.terminal.onData((data) => {\n this.socket.send(JSON.stringify([\"stdin\", data]));\n });\n\n window.onresize = () => {\n this.fit();\n };\n }\n\n sendSize() {\n const self = this;\n if (self.size) {\n const meta = JSON.stringify([\"resize\", self.size]);\n if (this.socket) {\n this.socket.send(meta);\n }\n }\n }\n\n sendPing() {\n const self = this;\n const epoch_milliseconds = new Date().getTime();\n const meta = JSON.stringify([\"ping\", \"\" + epoch_milliseconds]);\n if (this.socket) {\n this.socket.send(meta);\n }\n }\n\n onPong(pong_data) {\n const self = this;\n const epoch_milliseconds = new Date().getTime();\n const delta = epoch_milliseconds - parseInt(pong_data);\n console.log(\"ping=\" + delta + \"ms\");\n }\n\n onFocus() {\n const self = this;\n const meta = JSON.stringify([\"focus\"]);\n if (this.socket) {\n this.socket.send(meta);\n }\n }\n\n onBlur() {\n const self = this;\n const meta = JSON.stringify([\"blur\"]);\n if (this.socket) {\n this.socket.send(meta);\n }\n }\n\n fit() {\n const self = this;\n self.fitAddon.fit(self.element);\n }\n\n async connect() {\n const self = this;\n\n if (self.ping) {\n await fetch(self.ping, {\n method: \"GET\",\n mode: \"no-cors\",\n });\n }\n\n self.fit();\n const initial_size = self.fitAddon.proposeDimensions();\n this.socket = new WebSocket(\n this.websocket_url +\n \"?width=\" +\n initial_size.cols +\n \"&height=\" +\n initial_size.rows\n );\n this.socket.binaryType = \"arraybuffer\";\n\n // Connection opened\n this.socket.addEventListener(\"open\", (event) => {\n self.element.classList.add(\"-connected\");\n self.fit();\n self.sendSize();\n\n setTimeout(() => {\n self.sendPing();\n }, 3);\n\n document.querySelector(\"body\").classList.add(\"-loaded\");\n });\n\n this.socket.addEventListener(\"close\", (event) => {\n console.log(\"CLOSED\");\n document.querySelector(\"body\").classList.add(\"-closed\");\n });\n\n // Listen for messages\n this.socket.addEventListener(\"message\", (event) => {\n /* String messages are encoded as JSON */\n if (typeof event.data === \"string\") {\n var packet_data = JSON.parse(event.data);\n var packet_type = packet_data[0];\n var packet_payload = packet_data[1];\n switch (packet_type) {\n case \"log\":\n console.log(\"LOG\", packet_payload);\n case \"pong\":\n self.onPong(packet_payload);\n }\n } else {\n /* Binary messages are stdout data. */\n var bytearray = new Uint8Array(event.data);\n self.bufferedBytes += bytearray.length;\n self.refreshBytes += bytearray.length;\n this.terminal.write(bytearray, () => {\n self.bufferedBytes -= bytearray.length;\n });\n\n // console.log(bytearray.length);\n // if (self.refreshBytes > 50000) {\n // self.terminal.clearTextureAtlas();\n // self.refreshBytes = 0;\n // }\n if (bytearray.length > 10) {\n document.querySelector(\"body\").classList.add(\"-first-byte\");\n }\n }\n });\n }\n}\n\nwindow.onload = (event) => {\n const terminals = document.querySelectorAll(\".textual-terminal\");\n const urlParams = new URLSearchParams(window.location.search);\n const delay = urlParams.get(\"delay\");\n const ping = urlParams.get(\"ping\");\n\n if (delay) {\n document.querySelector(\"#start\").classList.add(\"-delay\");\n }\n terminals.forEach((terminal_element) => {\n var textual_terminal = new TextualTerminal(terminal_element, {\n ping: ping,\n });\n textual_terminal.fit();\n\n if (!delay) {\n textual_terminal.connect();\n }\n });\n};\n\n\n//# sourceURL=webpack://textual/./src/index.js?"); + +/***/ }) + +/******/ }); +/************************************************************************/ +/******/ // The module cache +/******/ var __webpack_module_cache__ = {}; +/******/ +/******/ // The require function +/******/ function __webpack_require__(moduleId) { +/******/ // Check if module is in cache +/******/ var cachedModule = __webpack_module_cache__[moduleId]; +/******/ if (cachedModule !== undefined) { +/******/ return cachedModule.exports; +/******/ } +/******/ // Create a new module (and put it into the cache) +/******/ var module = __webpack_module_cache__[moduleId] = { +/******/ id: moduleId, +/******/ // no module.loaded needed +/******/ exports: {} +/******/ }; +/******/ +/******/ // Execute the module function +/******/ __webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__); +/******/ +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } +/******/ +/************************************************************************/ +/******/ /* webpack/runtime/compat get default export */ +/******/ (() => { +/******/ // getDefaultExport function for compatibility with non-harmony modules +/******/ __webpack_require__.n = (module) => { +/******/ var getter = module && module.__esModule ? +/******/ () => (module['default']) : +/******/ () => (module); +/******/ __webpack_require__.d(getter, { a: getter }); +/******/ return getter; +/******/ }; +/******/ })(); +/******/ +/******/ /* webpack/runtime/define property getters */ +/******/ (() => { +/******/ // define getter functions for harmony exports +/******/ __webpack_require__.d = (exports, definition) => { +/******/ for(var key in definition) { +/******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) { +/******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] }); +/******/ } +/******/ } +/******/ }; +/******/ })(); +/******/ +/******/ /* webpack/runtime/hasOwnProperty shorthand */ +/******/ (() => { +/******/ __webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop)) +/******/ })(); +/******/ +/******/ /* webpack/runtime/make namespace object */ +/******/ (() => { +/******/ // define __esModule on exports +/******/ __webpack_require__.r = (exports) => { +/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { +/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); +/******/ } +/******/ Object.defineProperty(exports, '__esModule', { value: true }); +/******/ }; +/******/ })(); +/******/ +/******/ /* webpack/runtime/nonce */ +/******/ (() => { +/******/ __webpack_require__.nc = undefined; +/******/ })(); +/******/ +/************************************************************************/ +/******/ +/******/ // startup +/******/ // Load entry module and return exports +/******/ // This entry module can't be inlined because the eval devtool is used. +/******/ var __webpack_exports__ = __webpack_require__("./src/index.js"); +/******/ +/******/ })() +; \ No newline at end of file diff --git a/src/textual_serve/templates/app_index.html b/src/textual_serve/templates/app_index.html new file mode 100644 index 0000000..50f6dec --- /dev/null +++ b/src/textual_serve/templates/app_index.html @@ -0,0 +1,160 @@ + + + + + + + + + + + +
+
+
+ + + + +
{{ application.name or 'Textual Application' }}
+ +
+
+ +
+
+
+
Session ended.
+ +
+
+ +
+ +